summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorIru Cai <mytbk920423@gmail.com>2014-10-10 01:35:21 +0800
committerIru Cai <mytbk920423@gmail.com>2014-10-10 01:35:21 +0800
commitfea5f8c5c0137c85f86bafb45f512abeac2e78a7 (patch)
treea9f320c7c565f1d48e40b44085f0dd3326df8eb9 /src
parentedb150710a65d6237a5a81821f88610486842acf (diff)
downloadminijava-fea5f8c5c0137c85f86bafb45f512abeac2e78a7.tar.xz
fix several terrible mistake
Diffstat (limited to 'src')
-rw-r--r--src/minijava/visitor/BuildSymbolTableVisitor.java15
1 files changed, 6 insertions, 9 deletions
diff --git a/src/minijava/visitor/BuildSymbolTableVisitor.java b/src/minijava/visitor/BuildSymbolTableVisitor.java
index d8622df..768c905 100644
--- a/src/minijava/visitor/BuildSymbolTableVisitor.java
+++ b/src/minijava/visitor/BuildSymbolTableVisitor.java
@@ -402,12 +402,9 @@ public class BuildSymbolTableVisitor extends GJDepthFirst<MType, MType> {
public MType visit(ArrayAssignmentStatement n, MType argu) {
MStatementList m_list = (MStatementList) argu;
MStatement s = new MStatement(MStatement.Keyword.ArrAssign);
- MIdentifier m_id = (MIdentifier) n.f0.accept(this, null);
- MExpression m_expr1 = (MExpression) n.f2.accept(this, argu);
- MExpression m_expr2 = (MExpression) n.f5.accept(this, argu);
- s.s_id = m_id;
- s.e_first = m_expr1;
- s.e_second = m_expr2;
+ s.s_id = (MIdentifier) n.f0.accept(this, null);
+ s.e_first = (MExpression) n.f2.accept(this, null);
+ s.e_second = (MExpression) n.f5.accept(this, null);
if (m_list!=null) { // a statement list
m_list.addStatement(s);
}
@@ -426,7 +423,7 @@ public class BuildSymbolTableVisitor extends GJDepthFirst<MType, MType> {
public MType visit(IfStatement n, MType argu) {
MStatementList m_list = (MStatementList) argu;
MStatement s = new MStatement(MStatement.Keyword.If);
- s.s_id = (MIdentifier) n.f2.accept(this, argu);
+ s.e_first = (MExpression) n.f2.accept(this, null);
s.s_first = (MStatement) n.f4.accept(this, null);
s.s_second = (MStatement) n.f6.accept(this, null);
if (m_list!=null) { // a statement list
@@ -445,7 +442,7 @@ public class BuildSymbolTableVisitor extends GJDepthFirst<MType, MType> {
public MType visit(WhileStatement n, MType argu) {
MStatementList m_list = (MStatementList)argu;
MStatement s = new MStatement(MStatement.Keyword.While);
- s.e_first = (MExpression) n.f2.accept(this, argu);
+ s.e_first = (MExpression) n.f2.accept(this, null);
s.s_first = (MStatement) n.f4.accept(this, null);
if (m_list!=null) {
m_list.addStatement(s);
@@ -463,7 +460,7 @@ public class BuildSymbolTableVisitor extends GJDepthFirst<MType, MType> {
public MType visit(PrintStatement n, MType argu) {
MStatementList m_list = (MStatementList)argu;
MStatement s = new MStatement(MStatement.Keyword.Print);
- s.e_first = (MExpression) n.f2.accept(this, argu);
+ s.e_first = (MExpression) n.f2.accept(this, null);
if (m_list!=null) {
m_list.addStatement(s);
}