Compare commits
5 Commits
4d21d8e94e
...
4d5c0017b4
Author | SHA1 | Date | |
---|---|---|---|
|
4d5c0017b4 | ||
3e901ea254 | |||
85ae06048c | |||
cd845cd91c | |||
78d5528733 |
@ -60,13 +60,16 @@ public class ASTBuilder extends SimpleJavaBaseVisitor<ASTNode> {
|
|||||||
constructorNode.addParameter((ParameterNode) visit(parameter));
|
constructorNode.addParameter((ParameterNode) visit(parameter));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
constructorNode.block.addStatement(new ReturnNode(null));
|
||||||
return constructorNode;
|
return constructorNode;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ASTNode visitMethodDeclaration(SimpleJavaParser.MethodDeclarationContext ctx) {
|
public ASTNode visitMethodDeclaration(SimpleJavaParser.MethodDeclarationContext ctx) {
|
||||||
if(ctx.MainMethodDeclaration() != null) {
|
if(ctx.MainMethodDeclaration() != null) {
|
||||||
return new MainMethodNode((BlockNode) visit(ctx.blockStatement()));
|
MainMethodNode mainMethod = new MainMethodNode((BlockNode) visit(ctx.blockStatement()));
|
||||||
|
mainMethod.block.addStatement(new ReturnNode(null));
|
||||||
|
return mainMethod;
|
||||||
} else {
|
} else {
|
||||||
if(ctx.type() != null) {
|
if(ctx.type() != null) {
|
||||||
MethodNode methodNode = new MethodNode(ctx.AccessModifier().getText(), createTypeNode(ctx.type().getText()), false, ctx.Identifier().getText(), (BlockNode) visit(ctx.blockStatement()));
|
MethodNode methodNode = new MethodNode(ctx.AccessModifier().getText(), createTypeNode(ctx.type().getText()), false, ctx.Identifier().getText(), (BlockNode) visit(ctx.blockStatement()));
|
||||||
@ -83,6 +86,7 @@ public class ASTBuilder extends SimpleJavaBaseVisitor<ASTNode> {
|
|||||||
methodNode.addParameter((ParameterNode) visit(parameter));
|
methodNode.addParameter((ParameterNode) visit(parameter));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
methodNode.block.addStatement(new ReturnNode(null));
|
||||||
return methodNode;
|
return methodNode;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -133,16 +137,8 @@ public class ASTBuilder extends SimpleJavaBaseVisitor<ASTNode> {
|
|||||||
@Override
|
@Override
|
||||||
public ASTNode visitBlockStatement(SimpleJavaParser.BlockStatementContext ctx) {
|
public ASTNode visitBlockStatement(SimpleJavaParser.BlockStatementContext ctx) {
|
||||||
BlockNode blockNode = new BlockNode();
|
BlockNode blockNode = new BlockNode();
|
||||||
boolean hasReturnStatement = false;
|
|
||||||
for(SimpleJavaParser.StatementContext statement : ctx.statement()) {
|
for(SimpleJavaParser.StatementContext statement : ctx.statement()) {
|
||||||
IStatementNode statementNode = (IStatementNode) visit(statement);
|
blockNode.addStatement((IStatementNode) visit(statement));
|
||||||
if(statementNode instanceof ReturnNode) {
|
|
||||||
hasReturnStatement = true;
|
|
||||||
}
|
|
||||||
blockNode.addStatement(statementNode);
|
|
||||||
}
|
|
||||||
if(!hasReturnStatement) {
|
|
||||||
blockNode.addStatement(new ReturnNode(null));
|
|
||||||
}
|
}
|
||||||
return blockNode;
|
return blockNode;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user