UNPKG

onelang

Version:

OneLang transpiler framework core

38 lines (37 loc) 1.44 kB
implements: - interface: { name: One.Reflect, minver: 0.1, maxver: 0.1 } language: go implementation: classes: OneReflect: includes: [one] template: "one.Reflect" templates: afterClasses: args: [] template: |- {{if reflectedClasses.length > 0}} func init() { {{for class in reflectedClasses|sep=\n\n}} one.Reflect_SetupClass((*{{class.name}})(nil), []*one.Field{ {{for field in class.fields}} {{if field.static}} one.Reflect_StaticField("{{field.name}}", &{{class.name}}{{field.name}}), {{else}} one.Reflect_InstanceField("{{field.name}}"), {{/if}} {{/for}} }, []*one.Method{ {{for method in class.methods}} {{if method.static}} one.Reflect_StaticMethod("{{method.name}}", {{class.name}}_{{method.name}}), {{else}} one.Reflect_InstanceMethod("{{method.name}}"), {{/if}} {{/for}} }); {{/for}} } {{/if}}