home *** CD-ROM | disk | FTP | other *** search
- package koala.dynamicjava.interpreter;
-
- import koala.dynamicjava.classinfo.ClassFinder;
- import koala.dynamicjava.classinfo.TreeClassInfo;
- import koala.dynamicjava.interpreter.context.Context;
- import koala.dynamicjava.interpreter.context.GlobalContext;
- import koala.dynamicjava.interpreter.error.CatchedExceptionError;
- import koala.dynamicjava.tree.ClassDeclaration;
- import koala.dynamicjava.tree.ImportDeclaration;
- import koala.dynamicjava.tree.InterfaceDeclaration;
- import koala.dynamicjava.tree.PackageDeclaration;
- import koala.dynamicjava.tree.TypeDeclaration;
- import koala.dynamicjava.tree.visitor.VisitorObject;
-
- public class TreeCompiler$CompilationUnitVisitor extends VisitorObject {
- protected Context context;
- protected ClassFinder classFinder;
- // $FF: synthetic field
- private final TreeCompiler this$0;
-
- public Object visit(PackageDeclaration var1) {
- this.context.setCurrentPackage(var1.getName());
- return null;
- }
-
- public Object visit(ImportDeclaration var1) {
- if (var1.isPackage()) {
- this.context.declarePackageImport(var1.getName());
- } else {
- try {
- this.context.declareClassImport(var1.getName());
- } catch (ClassNotFoundException var3) {
- throw new CatchedExceptionError(var3, var1);
- } catch (TreeCompiler.PseudoError var4) {
- }
- }
-
- return null;
- }
-
- public Object visit(ClassDeclaration var1) {
- return this.visitType(var1);
- }
-
- public Object visit(InterfaceDeclaration var1) {
- return this.visitType(var1);
- }
-
- protected Object visitType(TypeDeclaration var1) {
- String var2 = this.classFinder.getCurrentPackage();
- var2 = (var2.equals("") ? "" : var2 + ".") + var1.getName();
- this.this$0.classPool.add(var2, new TreeClassInfo(var1, this.classFinder));
- return null;
- }
-
- TreeCompiler$CompilationUnitVisitor(TreeCompiler var1) {
- this.this$0 = var1;
- this.context = new GlobalContext(this.this$0.interpreter, this.this$0.classInfoLoader);
- this.classFinder = new TreeClassFinder(this.context, this.this$0.interpreter, this.this$0.classPool);
- }
- }
-