Package org.kie.dmn.feel.lang.ast
Class InfixOpNode
- java.lang.Object
-
- org.kie.dmn.feel.lang.ast.BaseNode
-
- org.kie.dmn.feel.lang.ast.InfixOpNode
-
- All Implemented Interfaces:
org.kie.dmn.feel.lang.ast.ASTNode
public class InfixOpNode extends org.kie.dmn.feel.lang.ast.BaseNode
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classInfixOpNode.InfixOperator
-
Constructor Summary
Constructors Constructor Description InfixOpNode(org.antlr.v4.runtime.ParserRuleContext ctx, org.kie.dmn.feel.lang.ast.BaseNode left, String op, org.kie.dmn.feel.lang.ast.BaseNode right)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description <T> Taccept(org.kie.dmn.feel.lang.ast.Visitor<T> v)static Objectadd(Object left, Object right, org.kie.dmn.feel.lang.EvaluationContext ctx)static Objectand(Object left, Object right, org.kie.dmn.feel.lang.EvaluationContext ctx)Implements the ternary logic AND operationstatic Objectdiv(Object left, Object right, org.kie.dmn.feel.lang.EvaluationContext ctx)Objectevaluate(org.kie.dmn.feel.lang.EvaluationContext ctx)org.kie.dmn.feel.lang.ast.ASTNode[]getChildrenNode()org.kie.dmn.feel.lang.ast.BaseNodegetLeft()InfixOpNode.InfixOperatorgetOperator()org.kie.dmn.feel.lang.TypegetResultType()org.kie.dmn.feel.lang.ast.BaseNodegetRight()booleanisBoolean()static Objectmath(Object left, Object right, org.kie.dmn.feel.lang.EvaluationContext ctx, BinaryOperator<BigDecimal> op)static Objectmult(Object left, Object right, org.kie.dmn.feel.lang.EvaluationContext ctx)static Objector(Object left, Object right, org.kie.dmn.feel.lang.EvaluationContext ctx)Implements the ternary logic OR operationvoidsetLeft(org.kie.dmn.feel.lang.ast.BaseNode left)voidsetOperator(InfixOpNode.InfixOperator operator)voidsetRight(org.kie.dmn.feel.lang.ast.BaseNode right)static Objectsub(Object left, Object right, org.kie.dmn.feel.lang.EvaluationContext ctx)-
Methods inherited from class org.kie.dmn.feel.lang.ast.BaseNode
astEvent, astEvent, copyLocationAttributesFrom, getEndChar, getEndColumn, getEndLine, getStartChar, getStartColumn, getStartLine, getText, setEndChar, setEndColumn, setEndLine, setStartChar, setStartColumn, setStartLine, setText, toString
-
-
-
-
Constructor Detail
-
InfixOpNode
public InfixOpNode(org.antlr.v4.runtime.ParserRuleContext ctx, org.kie.dmn.feel.lang.ast.BaseNode left, String op, org.kie.dmn.feel.lang.ast.BaseNode right)
-
-
Method Detail
-
getOperator
public InfixOpNode.InfixOperator getOperator()
-
setOperator
public void setOperator(InfixOpNode.InfixOperator operator)
-
isBoolean
public boolean isBoolean()
-
getLeft
public org.kie.dmn.feel.lang.ast.BaseNode getLeft()
-
setLeft
public void setLeft(org.kie.dmn.feel.lang.ast.BaseNode left)
-
getRight
public org.kie.dmn.feel.lang.ast.BaseNode getRight()
-
setRight
public void setRight(org.kie.dmn.feel.lang.ast.BaseNode right)
-
getResultType
public org.kie.dmn.feel.lang.Type getResultType()
- Specified by:
getResultTypein interfaceorg.kie.dmn.feel.lang.ast.ASTNode- Overrides:
getResultTypein classorg.kie.dmn.feel.lang.ast.BaseNode
-
evaluate
public Object evaluate(org.kie.dmn.feel.lang.EvaluationContext ctx)
- Specified by:
evaluatein interfaceorg.kie.dmn.feel.lang.ast.ASTNode- Overrides:
evaluatein classorg.kie.dmn.feel.lang.ast.BaseNode
-
add
public static Object add(Object left, Object right, org.kie.dmn.feel.lang.EvaluationContext ctx)
-
sub
public static Object sub(Object left, Object right, org.kie.dmn.feel.lang.EvaluationContext ctx)
-
mult
public static Object mult(Object left, Object right, org.kie.dmn.feel.lang.EvaluationContext ctx)
-
div
public static Object div(Object left, Object right, org.kie.dmn.feel.lang.EvaluationContext ctx)
-
math
public static Object math(Object left, Object right, org.kie.dmn.feel.lang.EvaluationContext ctx, BinaryOperator<BigDecimal> op)
-
and
public static Object and(Object left, Object right, org.kie.dmn.feel.lang.EvaluationContext ctx)
Implements the ternary logic AND operation
-
or
public static Object or(Object left, Object right, org.kie.dmn.feel.lang.EvaluationContext ctx)
Implements the ternary logic OR operation
-
getChildrenNode
public org.kie.dmn.feel.lang.ast.ASTNode[] getChildrenNode()
- Specified by:
getChildrenNodein interfaceorg.kie.dmn.feel.lang.ast.ASTNode- Overrides:
getChildrenNodein classorg.kie.dmn.feel.lang.ast.BaseNode
-
accept
public <T> T accept(org.kie.dmn.feel.lang.ast.Visitor<T> v)
- Specified by:
acceptin interfaceorg.kie.dmn.feel.lang.ast.ASTNode- Overrides:
acceptin classorg.kie.dmn.feel.lang.ast.BaseNode
-
-