Sha256: ca7c94c7b03103ac7897fc2ccacaaa7015a09cad0f92a1be78cb5741d913f488

Contents?: true

Size: 1.03 KB

Versions: 4

Compression:

Stored size: 1.03 KB

Contents

#include "rbs_extension.h"

VALUE RBS_Parser;

VALUE RBS;
VALUE RBS_AST;
VALUE RBS_AST_Declarations;
VALUE RBS_AST_Directives;
VALUE RBS_AST_Members;
VALUE RBS_Parser;
VALUE RBS_Types;
VALUE RBS_Types_Bases;

<%- nodes.each do |node| -%>
VALUE <%= node.c_constant_name %>;
<%- end -%>

VALUE RBS_ParsingError;

#define IMPORT_CONSTANT(var, parent, name) { var = rb_const_get(parent, rb_intern(name)); rb_gc_register_mark_object(var); }

void rbs__init_constants(void) {
  IMPORT_CONSTANT(RBS, rb_cObject, "RBS");
  IMPORT_CONSTANT(RBS_ParsingError, RBS, "ParsingError");

  IMPORT_CONSTANT(RBS_AST, RBS, "AST");
  IMPORT_CONSTANT(RBS_AST_Declarations, RBS_AST, "Declarations");
  IMPORT_CONSTANT(RBS_AST_Directives, RBS_AST, "Directives");
  IMPORT_CONSTANT(RBS_AST_Members, RBS_AST, "Members");
  IMPORT_CONSTANT(RBS_Types, RBS, "Types");
  IMPORT_CONSTANT(RBS_Types_Bases, RBS_Types, "Bases");

  <%- nodes.each do |node| -%>
  IMPORT_CONSTANT(<%= node.c_constant_name %>, <%= node.c_parent_constant_name %>, "<%= node.ruby_class_name %>");
  <%- end -%>
}

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
rbs-3.8.1 templates/src/constants.c.erb
rbs-3.8.0 templates/src/constants.c.erb
rbs-3.8.0.pre.1 templates/src/constants.c.erb
rbs-3.7.0.pre.1 templates/src/constants.c.erb