diff options
Diffstat (limited to 'src/minijava/symboltable/MMethod.java')
-rw-r--r-- | src/minijava/symboltable/MMethod.java | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/minijava/symboltable/MMethod.java b/src/minijava/symboltable/MMethod.java index f4b58fa..ea2a363 100644 --- a/src/minijava/symboltable/MMethod.java +++ b/src/minijava/symboltable/MMethod.java @@ -6,9 +6,10 @@ public class MMethod extends MLocalVarType { MClass method_class; MVarList paramList; - public MMethod(String m_name, int m_type, int m_column) { - super(m_type, m_column); + public MMethod(String m_name, String ret_type, int m_line, int m_column) { + super(m_line, m_column); this.name = m_name; + this.ret_type_name = ret_type; ret_type_name = null; paramList = new MVarList(); } @@ -24,4 +25,13 @@ public class MMethod extends MLocalVarType { vars.insertVar(var); return null; } + + public String addParam(MVariable var) { + String var_name = var.getName(); + if (paramList.findVar(var_name)!=-1) { + return "Parameter variable double declaration: " + var_name; + } + paramList.insertVar(var); + return null; + } } |