public abstract class JSSubtractNode extends JSBinaryNode implements Truncatable
leftNode, rightNodeINTERMEDIATE_VALUE| Modifier | Constructor and Description |
|---|---|
protected |
JSSubtractNode(boolean truncate,
JavaScriptNode left,
JavaScriptNode right) |
| Modifier and Type | Method and Description |
|---|---|
JavaScriptNode |
copyRecursive() |
protected JavaScriptNode |
copyUninitialized(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags) |
static JavaScriptNode |
create(JavaScriptNode left,
JavaScriptNode right) |
static JavaScriptNode |
create(JavaScriptNode left,
JavaScriptNode right,
boolean truncate) |
protected BigInt |
doBigInt(BigInt a,
BigInt b) |
protected double |
doDouble(double a,
double b) |
protected static Object |
doGeneric(Object a,
Object b,
com.oracle.truffle.api.nodes.Node node,
JSToNumericNode toNumericA,
JSToNumericNode toNumericB,
JavaScriptNode subtract,
com.oracle.truffle.api.profiles.InlinedBranchProfile mixedNumericTypes) |
protected int |
doInt(int a,
int b) |
protected Object |
doOverloaded(Object a,
Object b,
JSOverloadedBinaryNode overloadedOperatorNode) |
abstract Object |
execute(Object a,
Object b) |
protected com.oracle.truffle.api.strings.TruffleString |
getOverloadedOperatorName() |
void |
setTruncate() |
ensureBothSameNumericType, expressionToString, getLeft, getNodeObject, getRight, hasTag, largerThan2e32addCallTag, addExpressionTag, addRootBodyTag, addStatementTag, cloneUninitialized, cloneUninitialized, copy, createWrapper, execute, executeBoolean, executeDouble, executeInt, executeLong, executeVoid, findBlockScopeNode, getSourceSection, hasSourceSection, isInstrumentable, isResultAlwaysOfType, onReplace, removeSourceSection, setSourceSection, setSourceSection, toString, transferSourceSection, transferSourceSectionAddExpressionTag, transferSourceSectionAndTagsgetLanguage, getRealm, hasOverloadedOperatorsaccept, adoptChildren, atomic, atomic, deepCopy, getChildren, getCost, getDebugProperties, getDescription, getEncapsulatingSourceSection, getLock, getParent, getRootNode, insert, insert, isAdoptable, isSafelyReplaceableBy, notifyInserted, replace, replace, reportPolymorphicSpecializeclone, equals, getClass, hashCode, notify, notifyAll, wait, wait, waittruncateprotected JSSubtractNode(boolean truncate,
JavaScriptNode left,
JavaScriptNode right)
public static JavaScriptNode create(JavaScriptNode left, JavaScriptNode right, boolean truncate)
public static JavaScriptNode create(JavaScriptNode left, JavaScriptNode right)
protected int doInt(int a,
int b)
protected double doDouble(double a,
double b)
protected Object doOverloaded(Object a, Object b, JSOverloadedBinaryNode overloadedOperatorNode)
protected com.oracle.truffle.api.strings.TruffleString getOverloadedOperatorName()
protected static Object doGeneric(Object a, Object b, com.oracle.truffle.api.nodes.Node node, JSToNumericNode toNumericA, JSToNumericNode toNumericB, JavaScriptNode subtract, com.oracle.truffle.api.profiles.InlinedBranchProfile mixedNumericTypes)
public final JavaScriptNode copyRecursive()
public void setTruncate()
setTruncate in interface Truncatableprotected JavaScriptNode copyUninitialized(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags)
copyUninitialized in class JavaScriptNode