ext/rbs_extension/ruby_objs.c in rbs-3.0.0.dev.1 vs ext/rbs_extension/ruby_objs.c in rbs-3.0.0.dev.2

- old
+ new

@@ -338,21 +338,21 @@ 1, &args ); } -VALUE rbs_ast_decl_alias(VALUE name, VALUE type_params, VALUE type, VALUE annotations, VALUE location, VALUE comment) { +VALUE rbs_ast_decl_type_alias(VALUE name, VALUE type_params, VALUE type, VALUE annotations, VALUE location, VALUE comment) { VALUE args = rb_hash_new(); rb_hash_aset(args, ID2SYM(rb_intern("name")), name); rb_hash_aset(args, ID2SYM(rb_intern("type_params")), type_params); rb_hash_aset(args, ID2SYM(rb_intern("type")), type); rb_hash_aset(args, ID2SYM(rb_intern("annotations")), annotations); rb_hash_aset(args, ID2SYM(rb_intern("location")), location); rb_hash_aset(args, ID2SYM(rb_intern("comment")), comment); return CLASS_NEW_INSTANCE( - RBS_AST_Declarations_Alias, + RBS_AST_Declarations_TypeAlias, 1, &args ); } @@ -400,10 +400,38 @@ 1, &args ); } +VALUE rbs_ast_decl_class_alias(VALUE new_name, VALUE old_name, VALUE location, VALUE comment) { + VALUE args = rb_hash_new(); + rb_hash_aset(args, ID2SYM(rb_intern("new_name")), new_name); + rb_hash_aset(args, ID2SYM(rb_intern("old_name")), old_name); + rb_hash_aset(args, ID2SYM(rb_intern("location")), location); + rb_hash_aset(args, ID2SYM(rb_intern("comment")), comment); + + return CLASS_NEW_INSTANCE( + RBS_AST_Declarations_ClassAlias, + 1, + &args + ); +} + +VALUE rbs_ast_decl_module_alias(VALUE new_name, VALUE old_name, VALUE location, VALUE comment) { + VALUE args = rb_hash_new(); + rb_hash_aset(args, ID2SYM(rb_intern("new_name")), new_name); + rb_hash_aset(args, ID2SYM(rb_intern("old_name")), old_name); + rb_hash_aset(args, ID2SYM(rb_intern("location")), location); + rb_hash_aset(args, ID2SYM(rb_intern("comment")), comment); + + return CLASS_NEW_INSTANCE( + RBS_AST_Declarations_ModuleAlias, + 1, + &args + ); +} + VALUE rbs_ast_members_method_definition_overload(VALUE annotations, VALUE method_type) { VALUE args = rb_hash_new(); rb_hash_aset(args, ID2SYM(rb_intern("annotations")), annotations); rb_hash_aset(args, ID2SYM(rb_intern("method_type")), method_type); @@ -533,5 +561,31 @@ RBS_AST_Declarations_Class, 1, &kwargs ); } + +VALUE rbs_ast_directives_use(VALUE clauses, VALUE location) { + VALUE kwargs = rb_hash_new(); + rb_hash_aset(kwargs, ID2SYM(rb_intern("clauses")), clauses); + rb_hash_aset(kwargs, ID2SYM(rb_intern("location")), location); + + return CLASS_NEW_INSTANCE(RBS_AST_Directives_Use, 1, &kwargs); +} + +VALUE rbs_ast_directives_use_single_clause(VALUE type_name, VALUE new_name, VALUE location) { + VALUE kwargs = rb_hash_new(); + rb_hash_aset(kwargs, ID2SYM(rb_intern("type_name")), type_name); + rb_hash_aset(kwargs, ID2SYM(rb_intern("new_name")), new_name); + rb_hash_aset(kwargs, ID2SYM(rb_intern("location")), location); + + return CLASS_NEW_INSTANCE(RBS_AST_Directives_Use_SingleClause, 1, &kwargs); +} + +VALUE rbs_ast_directives_use_wildcard_clause(VALUE namespace, VALUE location) { + VALUE kwargs = rb_hash_new(); + rb_hash_aset(kwargs, ID2SYM(rb_intern("namespace")), namespace); + rb_hash_aset(kwargs, ID2SYM(rb_intern("location")), location); + + return CLASS_NEW_INSTANCE(RBS_AST_Directives_Use_WildcardClause, 1, &kwargs); +} +