module_extends.java 715 B

1234567891011121314151617181920212223
  1. package kawa.standard;
  2. import kawa.lang.*;
  3. import gnu.expr.*;
  4. import gnu.lists.*;
  5. import gnu.bytecode.*;
  6. public class module_extends extends Syntax {
  7. public static final module_extends module_extends = new module_extends();
  8. static { module_extends.setName("module-extends"); }
  9. public void scanForm (Pair form, ScopeExp defs, Translator tr) {
  10. tr.getModule().setFlag(ModuleExp.SUPERTYPE_SPECIFIED);
  11. super.scanForm(form, defs, tr);
  12. }
  13. public Expression rewriteForm (Pair form, Translator tr) {
  14. Type base = tr.exp2Type((Pair) form.getCdr());
  15. ModuleExp module = tr.getModule();
  16. module.setSuperType((ClassType) base);
  17. return QuoteExp.voidExp;
  18. }
  19. }