public interface ParseTreeVisitor<T>
Together with the
ParseTreeNode.accept(ParseTreeVisitor)
method, an
class implementing this interface implements a visitor pattern, to allow
an algorithm to efficiently traverse a parse tree and perform an action at
each node dependent upon the type of each node.
Modifier and Type | Method and Description |
---|---|
T |
visit(AxisNode axis)
Visits an axis of a select statement.
|
T |
visit(CallNode call)
Visits a call to an operator or function.
|
T |
visit(CubeNode cubeNode)
Visits a use of a
Cube
in a select statement. |
T |
visit(DimensionNode dimensionNode)
Visits a use of a
Dimension
in a select statement. |
T |
visit(HierarchyNode hierarchyNode)
Visits a use of a
Hierarchy
in a select statement. |
T |
visit(IdentifierNode id)
Visits an identifier.
|
T |
visit(LevelNode levelNode)
Visits a use of a
Level
in a select statement. |
T |
visit(LiteralNode literalNode)
Visits a literal.
|
T |
visit(MemberNode memberNode)
Visits a use of a
Member
in a select statement. |
T |
visit(ParameterNode parameterNode)
Visits a parameter.
|
T |
visit(PropertyValueNode propertyValueNode)
Visits a property-value pair.
|
T |
visit(SelectNode selectNode)
Visits a select statement.
|
T |
visit(WithMemberNode calcMemberNode)
Visits a member declaration.
|
T |
visit(WithSetNode calcSetNode)
Visits a set declaration.
|
T visit(SelectNode selectNode)
selectNode
- Node representing a select statementSelectNode.accept(ParseTreeVisitor)
T visit(AxisNode axis)
axis
- Node representing an axisAxisNode.accept(ParseTreeVisitor)
T visit(WithMemberNode calcMemberNode)
calcMemberNode
- Node representing a member declarationWithMemberNode.accept(ParseTreeVisitor)
T visit(WithSetNode calcSetNode)
calcSetNode
- Node representing a set declarationWithSetNode.accept(ParseTreeVisitor)
T visit(CallNode call)
call
- Node representing a call to an operator or functionCallNode.accept(ParseTreeVisitor)
T visit(IdentifierNode id)
id
- Node representing an identifierIdentifierNode.accept(ParseTreeVisitor)
T visit(ParameterNode parameterNode)
parameterNode
- Node representing use of a parameterParameterNode.accept(ParseTreeVisitor)
T visit(CubeNode cubeNode)
Cube
in a select statement.cubeNode
- Node representing a use of a CubeCubeNode.accept(ParseTreeVisitor)
T visit(DimensionNode dimensionNode)
Dimension
in a select statement.dimensionNode
- Node representing a use of a DimensionDimensionNode.accept(ParseTreeVisitor)
T visit(HierarchyNode hierarchyNode)
Hierarchy
in a select statement.hierarchyNode
- Node representing a use of a HierarchyHierarchyNode.accept(ParseTreeVisitor)
T visit(LevelNode levelNode)
Level
in a select statement.levelNode
- Node representing a use of a LevelLevelNode.accept(ParseTreeVisitor)
T visit(MemberNode memberNode)
Member
in a select statement.memberNode
- Node representing a use of a MemberMemberNode.accept(ParseTreeVisitor)
T visit(LiteralNode literalNode)
literalNode
- Node representing a LiteralLiteralNode.accept(ParseTreeVisitor)
T visit(PropertyValueNode propertyValueNode)
propertyValueNode
- Node representing a property-value pairPropertyValueNode.accept(ParseTreeVisitor)