Class ControllingCExpressionVisitor
java.lang.Object
org.antlr.v4.runtime.tree.AbstractParseTreeVisitor<org.prop4j.Node>
org.variantsync.diffdetective.feature.cpp.ControllingCExpressionVisitor
- All Implemented Interfaces:
org.antlr.v4.runtime.tree.ParseTreeVisitor<org.prop4j.Node>,CExpressionVisitor<org.prop4j.Node>
- Direct Known Subclasses:
MarlinControllingCExpressionVisitor
public class ControllingCExpressionVisitor
extends org.antlr.v4.runtime.tree.AbstractParseTreeVisitor<org.prop4j.Node>
implements CExpressionVisitor<org.prop4j.Node>
Visitor that controls how formulas given as an ANTLR parse tree are abstracted.
To this end, the visitor traverses the parse tree, searching for subtrees that should be abstracted.
If such a subtree is found, the visitor calls an
AbstractingCExpressionVisitor to abstract the entire subtree.
Only those parts of a formula are abstracted that require abstraction, leaving ancestors in the tree unchanged.-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final org.antlr.v4.runtime.tree.ParseTreeVisitor<StringBuilder> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected org.prop4j.NodeabstractToLiteral(org.antlr.v4.runtime.ParserRuleContext ctx) protected org.prop4j.NoderecurseOnSingleChild(org.antlr.v4.runtime.ParserRuleContext ctx) org.prop4j.NodeVisit a parse tree produced byCExpressionParser.additiveExpression().org.prop4j.NodeVisit a parse tree produced byCExpressionParser.andExpression().org.prop4j.NodeVisit a parse tree produced byCExpressionParser.argumentExpressionList().org.prop4j.NodeVisit a parse tree produced byCExpressionParser.assignmentExpression().org.prop4j.NodeVisit a parse tree produced byCExpressionParser.assignmentOperator().org.prop4j.NodeVisit a parse tree produced byCExpressionParser.conditionalExpression().org.prop4j.NodeVisit a parse tree produced byCExpressionParser.equalityExpression().org.prop4j.NodeVisit a parse tree produced byCExpressionParser.exclusiveOrExpression().org.prop4j.NodeVisit a parse tree produced byCExpressionParser.expression().org.prop4j.NodeVisit a parse tree produced byCExpressionParser.inclusiveOrExpression().org.prop4j.NodeVisit a parse tree produced byCExpressionParser.logicalAndExpression().protected org.prop4j.NodevisitLogicalExpression(org.antlr.v4.runtime.ParserRuleContext expressionContext, Function<org.prop4j.Node[], org.prop4j.Node> newLogicNode) org.prop4j.NodeVisit a parse tree produced byCExpressionParser.logicalOperand().org.prop4j.NodeVisit a parse tree produced byCExpressionParser.logicalOrExpression().org.prop4j.NodeVisit a parse tree produced byCExpressionParser.macroExpression().org.prop4j.NodeVisit a parse tree produced byCExpressionParser.multiplicativeExpression().org.prop4j.NodeVisit a parse tree produced byCExpressionParser.namespaceExpression().org.prop4j.NodeVisit a parse tree produced byCExpressionParser.primaryExpression().org.prop4j.NodeVisit a parse tree produced byCExpressionParser.relationalExpression().org.prop4j.NodeVisit a parse tree produced byCExpressionParser.shiftExpression().org.prop4j.NodeVisit a parse tree produced byCExpressionParser.specialOperator().org.prop4j.NodeVisit a parse tree produced byCExpressionParser.specialOperatorArgument().org.prop4j.NodeVisit a parse tree produced byCExpressionParser.unaryOperator().Methods inherited from class org.antlr.v4.runtime.tree.AbstractParseTreeVisitor
aggregateResult, defaultResult, shouldVisitNextChild, visit, visitChildren, visitErrorNode, visitTerminalMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.antlr.v4.runtime.tree.ParseTreeVisitor
visit, visitChildren, visitErrorNode, visitTerminal
-
Field Details
-
abstractingVisitor
-
-
Constructor Details
-
ControllingCExpressionVisitor
public ControllingCExpressionVisitor()
-
-
Method Details
-
visitConditionalExpression
public org.prop4j.Node visitConditionalExpression(CExpressionParser.ConditionalExpressionContext ctx) Description copied from interface:CExpressionVisitorVisit a parse tree produced byCExpressionParser.conditionalExpression().- Specified by:
visitConditionalExpressionin interfaceCExpressionVisitor<org.prop4j.Node>- Parameters:
ctx- the parse tree- Returns:
- the visitor result
-
visitPrimaryExpression
Description copied from interface:CExpressionVisitorVisit a parse tree produced byCExpressionParser.primaryExpression().- Specified by:
visitPrimaryExpressionin interfaceCExpressionVisitor<org.prop4j.Node>- Parameters:
ctx- the parse tree- Returns:
- the visitor result
-
visitUnaryOperator
Description copied from interface:CExpressionVisitorVisit a parse tree produced byCExpressionParser.unaryOperator().- Specified by:
visitUnaryOperatorin interfaceCExpressionVisitor<org.prop4j.Node>- Parameters:
ctx- the parse tree- Returns:
- the visitor result
-
visitNamespaceExpression
Description copied from interface:CExpressionVisitorVisit a parse tree produced byCExpressionParser.namespaceExpression().- Specified by:
visitNamespaceExpressionin interfaceCExpressionVisitor<org.prop4j.Node>- Parameters:
ctx- the parse tree- Returns:
- the visitor result
-
visitMultiplicativeExpression
public org.prop4j.Node visitMultiplicativeExpression(CExpressionParser.MultiplicativeExpressionContext ctx) Description copied from interface:CExpressionVisitorVisit a parse tree produced byCExpressionParser.multiplicativeExpression().- Specified by:
visitMultiplicativeExpressionin interfaceCExpressionVisitor<org.prop4j.Node>- Parameters:
ctx- the parse tree- Returns:
- the visitor result
-
visitAdditiveExpression
Description copied from interface:CExpressionVisitorVisit a parse tree produced byCExpressionParser.additiveExpression().- Specified by:
visitAdditiveExpressionin interfaceCExpressionVisitor<org.prop4j.Node>- Parameters:
ctx- the parse tree- Returns:
- the visitor result
-
visitShiftExpression
Description copied from interface:CExpressionVisitorVisit a parse tree produced byCExpressionParser.shiftExpression().- Specified by:
visitShiftExpressionin interfaceCExpressionVisitor<org.prop4j.Node>- Parameters:
ctx- the parse tree- Returns:
- the visitor result
-
visitRelationalExpression
Description copied from interface:CExpressionVisitorVisit a parse tree produced byCExpressionParser.relationalExpression().- Specified by:
visitRelationalExpressionin interfaceCExpressionVisitor<org.prop4j.Node>- Parameters:
ctx- the parse tree- Returns:
- the visitor result
-
visitEqualityExpression
Description copied from interface:CExpressionVisitorVisit a parse tree produced byCExpressionParser.equalityExpression().- Specified by:
visitEqualityExpressionin interfaceCExpressionVisitor<org.prop4j.Node>- Parameters:
ctx- the parse tree- Returns:
- the visitor result
-
visitSpecialOperator
Description copied from interface:CExpressionVisitorVisit a parse tree produced byCExpressionParser.specialOperator().- Specified by:
visitSpecialOperatorin interfaceCExpressionVisitor<org.prop4j.Node>- Parameters:
ctx- the parse tree- Returns:
- the visitor result
-
visitSpecialOperatorArgument
public org.prop4j.Node visitSpecialOperatorArgument(CExpressionParser.SpecialOperatorArgumentContext ctx) Description copied from interface:CExpressionVisitorVisit a parse tree produced byCExpressionParser.specialOperatorArgument().- Specified by:
visitSpecialOperatorArgumentin interfaceCExpressionVisitor<org.prop4j.Node>- Parameters:
ctx- the parse tree- Returns:
- the visitor result
-
visitMacroExpression
Description copied from interface:CExpressionVisitorVisit a parse tree produced byCExpressionParser.macroExpression().- Specified by:
visitMacroExpressionin interfaceCExpressionVisitor<org.prop4j.Node>- Parameters:
ctx- the parse tree- Returns:
- the visitor result
-
visitArgumentExpressionList
public org.prop4j.Node visitArgumentExpressionList(CExpressionParser.ArgumentExpressionListContext ctx) Description copied from interface:CExpressionVisitorVisit a parse tree produced byCExpressionParser.argumentExpressionList().- Specified by:
visitArgumentExpressionListin interfaceCExpressionVisitor<org.prop4j.Node>- Parameters:
ctx- the parse tree- Returns:
- the visitor result
-
visitAssignmentExpression
Description copied from interface:CExpressionVisitorVisit a parse tree produced byCExpressionParser.assignmentExpression().- Specified by:
visitAssignmentExpressionin interfaceCExpressionVisitor<org.prop4j.Node>- Parameters:
ctx- the parse tree- Returns:
- the visitor result
-
visitAssignmentOperator
Description copied from interface:CExpressionVisitorVisit a parse tree produced byCExpressionParser.assignmentOperator().- Specified by:
visitAssignmentOperatorin interfaceCExpressionVisitor<org.prop4j.Node>- Parameters:
ctx- the parse tree- Returns:
- the visitor result
-
visitExpression
Description copied from interface:CExpressionVisitorVisit a parse tree produced byCExpressionParser.expression().- Specified by:
visitExpressionin interfaceCExpressionVisitor<org.prop4j.Node>- Parameters:
ctx- the parse tree- Returns:
- the visitor result
-
visitAndExpression
Description copied from interface:CExpressionVisitorVisit a parse tree produced byCExpressionParser.andExpression().- Specified by:
visitAndExpressionin interfaceCExpressionVisitor<org.prop4j.Node>- Parameters:
ctx- the parse tree- Returns:
- the visitor result
-
visitExclusiveOrExpression
public org.prop4j.Node visitExclusiveOrExpression(CExpressionParser.ExclusiveOrExpressionContext ctx) Description copied from interface:CExpressionVisitorVisit a parse tree produced byCExpressionParser.exclusiveOrExpression().- Specified by:
visitExclusiveOrExpressionin interfaceCExpressionVisitor<org.prop4j.Node>- Parameters:
ctx- the parse tree- Returns:
- the visitor result
-
visitInclusiveOrExpression
public org.prop4j.Node visitInclusiveOrExpression(CExpressionParser.InclusiveOrExpressionContext ctx) Description copied from interface:CExpressionVisitorVisit a parse tree produced byCExpressionParser.inclusiveOrExpression().- Specified by:
visitInclusiveOrExpressionin interfaceCExpressionVisitor<org.prop4j.Node>- Parameters:
ctx- the parse tree- Returns:
- the visitor result
-
visitLogicalAndExpression
Description copied from interface:CExpressionVisitorVisit a parse tree produced byCExpressionParser.logicalAndExpression().- Specified by:
visitLogicalAndExpressionin interfaceCExpressionVisitor<org.prop4j.Node>- Parameters:
ctx- the parse tree- Returns:
- the visitor result
-
visitLogicalOrExpression
Description copied from interface:CExpressionVisitorVisit a parse tree produced byCExpressionParser.logicalOrExpression().- Specified by:
visitLogicalOrExpressionin interfaceCExpressionVisitor<org.prop4j.Node>- Parameters:
ctx- the parse tree- Returns:
- the visitor result
-
visitLogicalOperand
Description copied from interface:CExpressionVisitorVisit a parse tree produced byCExpressionParser.logicalOperand().- Specified by:
visitLogicalOperandin interfaceCExpressionVisitor<org.prop4j.Node>- Parameters:
ctx- the parse tree- Returns:
- the visitor result
-
visitLogicalExpression
protected org.prop4j.Node visitLogicalExpression(org.antlr.v4.runtime.ParserRuleContext expressionContext, Function<org.prop4j.Node[], org.prop4j.Node> newLogicNode) -
recurseOnSingleChild
protected org.prop4j.Node recurseOnSingleChild(org.antlr.v4.runtime.ParserRuleContext ctx) -
abstractToLiteral
protected org.prop4j.Node abstractToLiteral(org.antlr.v4.runtime.ParserRuleContext ctx)
-