X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=Robust%2Fsrc%2FIR%2FMethodDescriptor.java;h=d8e2ea0d739f583aa5e578eb48f2b7137a149151;hb=7a0d4aea90f5e090be8341e7ab4a8d5e33c788f5;hp=79056252263b2468a6c773fde70d2547db2fcbcc;hpb=99765c020c0a00ee78467c17418c8bf851bb7a24;p=IRC.git diff --git a/Robust/src/IR/MethodDescriptor.java b/Robust/src/IR/MethodDescriptor.java index 79056252..d8e2ea0d 100644 --- a/Robust/src/IR/MethodDescriptor.java +++ b/Robust/src/IR/MethodDescriptor.java @@ -4,175 +4,252 @@ import IR.Tree.ExpressionNode; import java.util.Vector; /** - * Descriptor + * Descriptor * * represents a symbol in the language (var name, function name, etc). */ public class MethodDescriptor extends Descriptor { - protected Modifiers modifier; - protected TypeDescriptor returntype; - protected String identifier; - protected Vector params; - protected SymbolTable paramtable; - protected ClassDescriptor cd; - protected VarDescriptor thisvd; - protected boolean isglobal; - - public MethodDescriptor(Modifiers m, TypeDescriptor rt, String identifier) { - super(identifier); - this.modifier=m; - this.returntype=rt; - this.identifier=identifier; - this.safename = "___" + name + "___"; - this.uniqueid=count++; - params=new Vector(); - paramtable=new SymbolTable(); - thisvd=null; - } - - public Modifiers getModifiers() { - return modifier; - } - - public boolean matches(MethodDescriptor md) { - /* Check the name */ - if (!identifier.equals(md.identifier)) - return false; - if (numParameters()!=md.numParameters()) - return false; - for(int i=0;i