KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > kawa > standard > module_implements


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_implements extends Syntax
8 {
9   public static final module_implements module_implements
10     = new module_implements();
11   static { module_implements.setName("module-implements"); }
12
13   public Expression rewriteForm (Pair form, Translator tr)
14   {
15     Object JavaDoc args = form.cdr;
16     int len = LList.listLength(args, false);
17     if (len < 0)
18       return tr.syntaxError("improper argument list for " + getName());
19     ClassType[] interfaces = new ClassType[len];
20     for (int i = 0; i < len; i++)
21       {
22     Pair pair = (Pair) args;
23     interfaces[i] = (ClassType) tr.exp2Type(pair);
24     args = pair.cdr;
25       }
26     ModuleExp module = tr.getModule();
27     module.setInterfaces(interfaces);
28     module.setFlag(ModuleExp.SUPERTYPE_SPECIFIED);
29     return QuoteExp.voidExp;
30   }
31 }
32
Popular Tags