public abstract class JSAddSubNumericUnitNode extends JSUnaryNode implements Truncatable
operandNodeINTERMEDIATE_VALUE| Modifier | Constructor and Description |
|---|---|
protected |
JSAddSubNumericUnitNode(JavaScriptNode operand,
boolean isAddition,
boolean truncate) |
| Modifier and Type | Method and Description |
|---|---|
protected JavaScriptNode |
copyUninitialized(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags) |
static JSAddSubNumericUnitNode |
create(JavaScriptNode operand,
boolean isAddition,
boolean truncate) |
protected BigInt |
doBigInt(BigInt a) |
protected double |
doDouble(double a) |
protected int |
doInt(int a) |
protected double |
doJavaNumber(Object a) |
protected Object |
doOverloaded(JSOverloadedOperatorsObject a,
JSOverloadedUnaryNode overloadedOperatorNode) |
abstract Object |
execute(Object a) |
Object |
getNodeObject() |
protected com.oracle.truffle.api.strings.TruffleString |
getOverloadedOperatorName() |
boolean |
hasTag(Class<? extends com.oracle.truffle.api.instrumentation.Tag> tag) |
void |
setTruncate() |
createWrapper, execute, expressionToString, getOperandaddCallTag, addExpressionTag, addRootBodyTag, addStatementTag, cloneUninitialized, cloneUninitialized, copy, 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 JSAddSubNumericUnitNode(JavaScriptNode operand, boolean isAddition, boolean truncate)
public boolean hasTag(Class<? extends com.oracle.truffle.api.instrumentation.Tag> tag)
hasTag in interface com.oracle.truffle.api.instrumentation.InstrumentableNodehasTag in class JavaScriptNodepublic Object getNodeObject()
getNodeObject in interface com.oracle.truffle.api.instrumentation.InstrumentableNodegetNodeObject in class JSUnaryNodeprotected int doInt(int a)
protected double doDouble(double a)
protected double doJavaNumber(Object a)
protected Object doOverloaded(JSOverloadedOperatorsObject a, JSOverloadedUnaryNode overloadedOperatorNode)
protected com.oracle.truffle.api.strings.TruffleString getOverloadedOperatorName()
public void setTruncate()
setTruncate in interface Truncatablepublic static JSAddSubNumericUnitNode create(JavaScriptNode operand, boolean isAddition, boolean truncate)
protected JavaScriptNode copyUninitialized(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags)
copyUninitialized in class JavaScriptNode