Compare commits
2 Commits
06dc01f629
...
77bf6cff62
Author | SHA1 | Date | |
---|---|---|---|
77bf6cff62 | |||
a97548c3ee |
@ -39,7 +39,7 @@ public class ASTGenerator extends DecafBaseVisitor<Node> {
|
|||||||
hasMain = false;
|
hasMain = false;
|
||||||
}
|
}
|
||||||
for (DecafParser.LocalVarDeclContext fieldDecl: ctx.localVarDecl()) {
|
for (DecafParser.LocalVarDeclContext fieldDecl: ctx.localVarDecl()) {
|
||||||
fieldDecls.add((FieldDecl) visit(fieldDecl));
|
fieldDecls.add((FieldDecl) generateFieldDecl(fieldDecl));
|
||||||
}
|
}
|
||||||
for (DecafParser.ConstuctorDeclContext constDecl: ctx.constuctorDecl()) {
|
for (DecafParser.ConstuctorDeclContext constDecl: ctx.constuctorDecl()) {
|
||||||
MethodDecl constructor = ((MethodDecl) visit(constDecl));
|
MethodDecl constructor = ((MethodDecl) visit(constDecl));
|
||||||
@ -54,9 +54,13 @@ public class ASTGenerator extends DecafBaseVisitor<Node> {
|
|||||||
return new RefType(name,fieldDecls, methodDecls, hasMain);
|
return new RefType(name,fieldDecls, methodDecls, hasMain);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Node generateFieldDecl(DecafParser.LocalVarDeclContext ctx) {
|
||||||
|
return new FieldDecl(ctx.type().getText(), ctx.Identifier().getText());
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Node visitLocalVarDecl(DecafParser.LocalVarDeclContext ctx) {
|
public Node visitLocalVarDecl(DecafParser.LocalVarDeclContext ctx) {
|
||||||
return new FieldDecl(ctx.type().getText(), ctx.Identifier().getText());
|
return new LocalVarDecl(ctx.type().getText(), ctx.Identifier().getText());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -108,6 +112,8 @@ public class ASTGenerator extends DecafBaseVisitor<Node> {
|
|||||||
return visitStmtExpr(ctx.stmtExpr());
|
return visitStmtExpr(ctx.stmtExpr());
|
||||||
} else if (ctx.emptyStatement() != null) {
|
} else if (ctx.emptyStatement() != null) {
|
||||||
return visitEmptyStatement(ctx.emptyStatement());
|
return visitEmptyStatement(ctx.emptyStatement());
|
||||||
|
} else if (ctx.localVarDecl() != null) {
|
||||||
|
return visitLocalVarDecl(ctx.localVarDecl());
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user