From: bdemsky Date: Tue, 14 Nov 2006 22:01:40 +0000 (+0000) Subject: starting to work on supporting packages and import statements. X-Git-Tag: preEdgeChange~746 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=3ead6094d60e86cfba653227419a5cd50df1a189;p=IRC.git starting to work on supporting packages and import statements. --- diff --git a/Robust/src/IR/ClassDescriptor.java b/Robust/src/IR/ClassDescriptor.java index 3b51b536..b1e05b13 100644 --- a/Robust/src/IR/ClassDescriptor.java +++ b/Robust/src/IR/ClassDescriptor.java @@ -3,19 +3,12 @@ import java.util.*; import IR.Tree.*; public class ClassDescriptor extends Descriptor { - public ClassDescriptor(String classname) { - super(classname); - superclass=null; - flags=new SymbolTable(); - fields=new SymbolTable(); - methods=new SymbolTable(); - classid=UIDCount++; - } private static int UIDCount=0; private final int classid; String superclass; ClassDescriptor superdesc; boolean hasFlags=false; + String packagename; Modifiers modifiers; @@ -23,6 +16,20 @@ public class ClassDescriptor extends Descriptor { SymbolTable flags; SymbolTable methods; + public ClassDescriptor(String classname) { + this("", classname); + } + + public ClassDescriptor(String packagename, String classname) { + super(classname); + superclass=null; + flags=new SymbolTable(); + fields=new SymbolTable(); + methods=new SymbolTable(); + classid=UIDCount++; + this.packagename=packagename; + } + public int getId() { return classid; } diff --git a/Robust/src/IR/Tree/BuildIR.java b/Robust/src/IR/Tree/BuildIR.java index 636821f7..17eceb26 100644 --- a/Robust/src/IR/Tree/BuildIR.java +++ b/Robust/src/IR/Tree/BuildIR.java @@ -17,6 +17,26 @@ public class BuildIR { /** Parse the classes in this file */ public void parseFile(ParseNode pn) { + NameDescriptor packages; + Vector singleimports=new Vector(); + Vector multiimports=new Vector(); + + ParseNode ipn=pn.getChild("imports").getChild("import_decls_list"); + if (ipn!=null) { + ParseNodeVector pnv=ipn.getChildren(); + for(int i=0;i