UNPKG

onelang

Version:

OneLang transpiler framework core

28 lines (27 loc) 1.04 kB
implements: - interface: { name: One.Reflect, minver: 0.1, maxver: 0.1 } language: ruby implementation: classes: OneReflect: includes: ["one"] template: "One::Reflect" templates: endClass: args: [class] template: |- {{if class.attributes["reflect"]}} One::Reflect::setup_class(One::Class.new({{class.name}}, [ {{for field in class.fields|sep=\n}} One::Field.new("{{field.name}}", {{field.static}}, "{{field.type}}"), {{/for}} ], [ {{for method in class.methods|sep=\n}} One::Method.new("{{method.name}}", {{method.static}}, "{{method.returnType}}", [ {{for param in method.parameters|sep=\n}} One::MethodArgument.new("{{param.name}}", "{{param.type}}"), {{/for}} ]), {{/for}} ])); {{/if}}