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 Object |
doGeneric(Object a,
Object b,
JSToNumericNode toNumericA,
JSToNumericNode toNumericB,
JavaScriptNode subtract,
com.oracle.truffle.api.profiles.BranchProfile mixedNumericTypes) |
protected int |
doInt(int a,
int b) |
abstract Object |
execute(Object a,
Object b) |
boolean |
isResultAlwaysOfType(Class<?> clazz) |
void |
setTruncate() |
ensureBothSameNumericType, expressionToString, getLeft, getNodeObject, getRight, hasTag, largerThan2e32addCallTag, addExpressionTag, addRootBodyTag, addStatementTag, cloneUninitialized, cloneUninitialized, copy, createWrapper, execute, executeBoolean, executeDouble, executeInt, executeLong, executeSafeInteger, executeString, executeVoid, findBlockScopeNode, getSourceSection, hasSourceSection, isInstrumentable, onReplace, removeSourceSection, setSourceSection, setSourceSection, toString, transferSourceSection, transferSourceSectionAddExpressionTag, transferSourceSectionAndTagsaccept, adoptChildren, atomic, atomic, deepCopy, getChildren, getCost, getDebugProperties, getDescription, getEncapsulatingSourceSection, getLock, getParent, getRootNode, insert, insert, isAdoptable, isSafelyReplaceableBy, lookupContextReference, lookupLanguageReference, notifyInserted, replace, replace, reportPolymorphicSpecializeclone, equals, finalize, 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 doGeneric(Object a, Object b, JSToNumericNode toNumericA, JSToNumericNode toNumericB, JavaScriptNode subtract, com.oracle.truffle.api.profiles.BranchProfile mixedNumericTypes)
public final JavaScriptNode copyRecursive()
public boolean isResultAlwaysOfType(Class<?> clazz)
isResultAlwaysOfType in class JavaScriptNodepublic void setTruncate()
setTruncate in interface Truncatableprotected JavaScriptNode copyUninitialized(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags)
copyUninitialized in class JavaScriptNode