Add Return if Returntype is Void
Some checks are pending
Gitea Actions Demo / Explore-Gitea-Actions (push) Waiting to run
Some checks are pending
Gitea Actions Demo / Explore-Gitea-Actions (push) Waiting to run
This commit is contained in:
parent
cd845cd91c
commit
85ae06048c
@ -60,13 +60,16 @@ public class ASTBuilder extends SimpleJavaBaseVisitor<ASTNode> {
|
||||
constructorNode.addParameter((ParameterNode) visit(parameter));
|
||||
}
|
||||
}
|
||||
constructorNode.block.addStatement(new ReturnNode(null));
|
||||
return constructorNode;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ASTNode visitMethodDeclaration(SimpleJavaParser.MethodDeclarationContext ctx) {
|
||||
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 {
|
||||
if(ctx.type() != null) {
|
||||
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.block.addStatement(new ReturnNode(null));
|
||||
return methodNode;
|
||||
}
|
||||
}
|
||||
@ -133,16 +137,8 @@ public class ASTBuilder extends SimpleJavaBaseVisitor<ASTNode> {
|
||||
@Override
|
||||
public ASTNode visitBlockStatement(SimpleJavaParser.BlockStatementContext ctx) {
|
||||
BlockNode blockNode = new BlockNode();
|
||||
boolean hasReturnStatement = false;
|
||||
for(SimpleJavaParser.StatementContext statement : ctx.statement()) {
|
||||
IStatementNode statementNode = (IStatementNode) visit(statement);
|
||||
if(statementNode instanceof ReturnNode) {
|
||||
hasReturnStatement = true;
|
||||
}
|
||||
blockNode.addStatement(statementNode);
|
||||
}
|
||||
if(!hasReturnStatement) {
|
||||
blockNode.addStatement(new ReturnNode(null));
|
||||
blockNode.addStatement((IStatementNode) visit(statement));
|
||||
}
|
||||
return blockNode;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user