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