MainMixin.hx 639 B

123456789101112131415161718192021222324252627282930313233
  1. using jvm.NativeTools.NativeClassTools;
  2. @:annotation("RUNTIME")
  3. interface Mixin extends java.lang.annotation.Annotation {
  4. function value():java.NativeArray<Class<Dynamic>>;
  5. function targets():java.NativeArray<String>;
  6. function priority():Int;
  7. function remap():Bool;
  8. }
  9. class B {}
  10. @:strict(Mixin({
  11. value: [String, B],
  12. targets: ["here"],
  13. priority: 9001,
  14. remap: true
  15. }))
  16. class C {}
  17. class MainMixin {
  18. static function main() {
  19. var annot = C.native().getAnnotation(Mixin.native());
  20. for (v in annot.value()) {
  21. trace(v);
  22. }
  23. for (v in annot.targets()) {
  24. trace(v);
  25. }
  26. trace(annot.priority());
  27. trace(annot.remap());
  28. }
  29. }