import haxe.macro.Context;

class Main3 {
	static function init() {
		Context.onAfterInitMacros(() -> {
			function defineType(name, kind) {
				Context.defineType({
					pack: [],
					name: name,
					pos: (macro 0).pos,
					kind: kind,
					fields: []
				});
			}

			defineType("lowercase", TDClass());

			defineType("0_class", TDClass());
			defineType("0_enum", TDEnum);
			defineType("0_struct", TDStructure);
			defineType("0_abstract", TDAbstract(TPath({pack: [], name: "Int"})));
		});
	}
}
