[apex] Add parser support for EmptyReferenceExpression
This commit is contained in:
1 parent
00c2d5cc6b
commit
c090bfbd8b
6 files changed
+43
-1
No files matched your search
+22
@@ -0,0 +1,22 @@
|
||||
/*
|
||||
* BSD-style license; for more info see http://pmd.sourceforge.net/license.html
|
||||
*/
|
||||
|
||||
package net.sourceforge.pmd.lang.apex.ast;
|
||||
|
||||
import apex.jorje.semantic.ast.expression.EmptyReferenceExpression;
|
||||
|
||||
public class ASTEmptyReferenceExpression extends AbstractApexNode<EmptyReferenceExpression> {
|
||||
|
||||
|
||||
ASTEmptyReferenceExpression(EmptyReferenceExpression node) {
|
||||
super(node);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public Object jjtAccept(ApexParserVisitor visitor, Object data) {
|
||||
return visitor.visit(this, data);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -203,4 +203,6 @@ public interface ApexParserVisitor {
|
||||
Object visit(ASTLiteralCase node, Object data);
|
||||
|
||||
Object visit(ASTIdentifierCase node, Object data);
|
||||
|
||||
Object visit(ASTEmptyReferenceExpression node, Object data);
|
||||
}
|
||||
@@ -498,4 +498,9 @@ public class ApexParserVisitorAdapter implements ApexParserVisitor {
|
||||
public Object visit(ASTLiteralCase node, Object data) {
|
||||
return visit((ApexNode<?>) node, data);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object visit(ASTEmptyReferenceExpression node, Object data) {
|
||||
return visit((ApexNode<?>) node, data);
|
||||
}
|
||||
}
|
||||
@@ -40,6 +40,7 @@ import apex.jorje.semantic.ast.expression.BindExpressions;
|
||||
import apex.jorje.semantic.ast.expression.BooleanExpression;
|
||||
import apex.jorje.semantic.ast.expression.CastExpression;
|
||||
import apex.jorje.semantic.ast.expression.ClassRefExpression;
|
||||
import apex.jorje.semantic.ast.expression.EmptyReferenceExpression;
|
||||
import apex.jorje.semantic.ast.expression.Expression;
|
||||
import apex.jorje.semantic.ast.expression.IllegalStoreExpression;
|
||||
import apex.jorje.semantic.ast.expression.InstanceOfExpression;
|
||||
@@ -221,6 +222,7 @@ public final class ApexTreeBuilder extends AstVisitor<AdditionalPassScope> {
|
||||
register(ValueWhenBlock.class, ASTValueWhenBlock.class);
|
||||
register(LiteralCase.class, ASTLiteralCase.class);
|
||||
register(IdentifierCase.class, ASTIdentifierCase.class);
|
||||
register(EmptyReferenceExpression.class, ASTEmptyReferenceExpression.class);
|
||||
}
|
||||
|
||||
private static <T extends AstNode> void register(Class<T> nodeType,
|
||||
@@ -849,4 +851,9 @@ public final class ApexTreeBuilder extends AstVisitor<AdditionalPassScope> {
|
||||
public boolean visit(IdentifierCase node, AdditionalPassScope scope) {
|
||||
return visit(node);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean visit(EmptyReferenceExpression node, AdditionalPassScope scope) {
|
||||
return visit(node);
|
||||
}
|
||||
}
|
||||
@@ -37,6 +37,7 @@ import net.sourceforge.pmd.lang.apex.ast.ASTDmlUpdateStatement;
|
||||
import net.sourceforge.pmd.lang.apex.ast.ASTDmlUpsertStatement;
|
||||
import net.sourceforge.pmd.lang.apex.ast.ASTDoLoopStatement;
|
||||
import net.sourceforge.pmd.lang.apex.ast.ASTElseWhenBlock;
|
||||
import net.sourceforge.pmd.lang.apex.ast.ASTEmptyReferenceExpression;
|
||||
import net.sourceforge.pmd.lang.apex.ast.ASTExpression;
|
||||
import net.sourceforge.pmd.lang.apex.ast.ASTExpressionStatement;
|
||||
import net.sourceforge.pmd.lang.apex.ast.ASTField;
|
||||
@@ -640,4 +641,9 @@ public abstract class AbstractApexRule extends AbstractRule
|
||||
public Object visit(ASTLiteralCase node, Object data) {
|
||||
return visit((ApexNode<?>) node, data);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object visit(ASTEmptyReferenceExpression node, Object data) {
|
||||
return visit((ApexNode<?>) node, data);
|
||||
}
|
||||
}
|
||||
@@ -179,7 +179,7 @@ public class ApexParserTest extends ApexParserTestBase {
|
||||
Assert.assertNotNull(rootNode);
|
||||
|
||||
int count = visitPosition(rootNode, 0);
|
||||
Assert.assertEquals(427, count);
|
||||
Assert.assertEquals(487, count);
|
||||
}
|
||||
|
||||
private int visitPosition(Node node, int count) {
|
||||
|
||||
Reference in new issue
Block a user