chore: remove trailing whitespace from README.md formatting
This commit is contained in:
+20
-4
@@ -125,11 +125,13 @@ static bool _rava_semantic_analyze_method(RavaSemanticAnalyzer_t *analyzer, Rava
|
||||
static bool _rava_semantic_analyze_field(RavaSemanticAnalyzer_t *analyzer, RavaASTNode_t *field_node) {
|
||||
if (field_node->type != RAVA_AST_FIELD_DECL) return false;
|
||||
|
||||
char *field_name = field_node->data.var_decl.name;
|
||||
RavaType_t *field_type = _rava_semantic_resolve_type(analyzer, field_node->data.var_decl.type);
|
||||
char *field_name = field_node->data.field_decl.name;
|
||||
RavaType_t *field_type = _rava_semantic_resolve_type(analyzer, field_node->data.field_decl.type);
|
||||
|
||||
RavaSymbol_t *field_symbol = rava_symbol_create(RAVA_SYMBOL_FIELD, field_name, field_type);
|
||||
field_symbol->declaration = field_node;
|
||||
field_symbol->modifiers = field_node->data.field_decl.modifiers;
|
||||
field_symbol->modifiers_count = field_node->data.field_decl.modifiers_count;
|
||||
|
||||
if (!rava_symbol_table_define(analyzer->symbol_table, field_symbol)) {
|
||||
char error_msg[256];
|
||||
@@ -139,8 +141,8 @@ static bool _rava_semantic_analyze_field(RavaSemanticAnalyzer_t *analyzer, RavaA
|
||||
return false;
|
||||
}
|
||||
|
||||
if (field_node->data.var_decl.initializer) {
|
||||
RavaType_t *init_type = _rava_semantic_check_expression(analyzer, field_node->data.var_decl.initializer);
|
||||
if (field_node->data.field_decl.initializer) {
|
||||
RavaType_t *init_type = _rava_semantic_check_expression(analyzer, field_node->data.field_decl.initializer);
|
||||
if (init_type && !rava_type_is_assignable_to(init_type, field_type)) {
|
||||
char error_msg[256];
|
||||
snprintf(error_msg, sizeof(error_msg),
|
||||
@@ -299,6 +301,20 @@ static RavaType_t* _rava_semantic_check_expression(RavaSemanticAnalyzer_t *analy
|
||||
return rava_type_create_primitive(RAVA_TYPE_LONG);
|
||||
}
|
||||
}
|
||||
if (member->data.member_access.object->type == RAVA_AST_IDENTIFIER_EXPR &&
|
||||
strcmp(member->data.member_access.object->data.identifier.name, "Math") == 0) {
|
||||
if (strcmp(method, "abs") == 0 || strcmp(method, "min") == 0 || strcmp(method, "max") == 0) {
|
||||
return rava_type_create_primitive(RAVA_TYPE_INT);
|
||||
} else if (strcmp(method, "round") == 0) {
|
||||
return rava_type_create_primitive(RAVA_TYPE_LONG);
|
||||
} else if (strcmp(method, "sqrt") == 0 || strcmp(method, "pow") == 0 ||
|
||||
strcmp(method, "floor") == 0 || strcmp(method, "ceil") == 0 ||
|
||||
strcmp(method, "sin") == 0 || strcmp(method, "cos") == 0 ||
|
||||
strcmp(method, "tan") == 0 || strcmp(method, "log") == 0 ||
|
||||
strcmp(method, "exp") == 0 || strcmp(method, "random") == 0) {
|
||||
return rava_type_create_primitive(RAVA_TYPE_DOUBLE);
|
||||
}
|
||||
}
|
||||
if (strcmp(method, "length") == 0) {
|
||||
return rava_type_create_primitive(RAVA_TYPE_INT);
|
||||
} else if (strcmp(method, "charAt") == 0) {
|
||||
|
||||
Reference in New Issue
Block a user