public abstract class JSAddNode extends JSBinaryNode implements Truncatable
leftNode, rightNodeINTERMEDIATE_VALUE| Modifier | Constructor and Description |
|---|---|
protected |
JSAddNode(boolean truncate,
JavaScriptNode left,
JavaScriptNode right) |
| Modifier and Type | Method and Description |
|---|---|
JSAddNode |
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) |
static JSAddNode |
createUnoptimized() |
static JavaScriptNode |
createUnoptimized(JavaScriptNode left,
JavaScriptNode right,
boolean truncate) |
protected BigInt |
doBigInt(BigInt left,
BigInt right) |
protected static double |
doDouble(double a,
double b) |
protected static int |
doInt(int a,
int b) |
protected static Object |
doIntOverflow(int a,
int b) |
protected static SafeInteger |
doIntSafeInteger(int a,
SafeInteger b) |
protected com.oracle.truffle.api.strings.TruffleString |
doIntString(int a,
com.oracle.truffle.api.strings.TruffleString b,
JSConcatStringsNode concatStringsNode,
com.oracle.truffle.api.strings.TruffleString.FromLongNode stringFromLongNode) |
protected static int |
doIntTruncate(int a,
int b) |
protected Object |
doNumberString(Object a,
com.oracle.truffle.api.strings.TruffleString b,
JSConcatStringsNode concatStringsNode,
JSDoubleToStringNode doubleToStringNode) |
protected Object |
doOverloaded(Object a,
Object b,
JSOverloadedBinaryNode overloadedOperatorNode) |
protected static Object |
doPrimitiveConversion(Object a,
Object b,
com.oracle.truffle.api.nodes.Node node,
JSToPrimitiveNode toPrimitiveA,
JSToPrimitiveNode toPrimitiveB,
JSToNumericNode toNumericA,
JSToNumericNode toNumericB,
JSToStringNode toStringA,
JSToStringNode toStringB,
com.oracle.truffle.api.profiles.InlinedConditionProfile profileA,
com.oracle.truffle.api.profiles.InlinedConditionProfile profileB,
JSAddNode add,
com.oracle.truffle.api.profiles.InlinedBranchProfile mixedNumericTypes) |
protected static SafeInteger |
doSafeInteger(SafeInteger a,
SafeInteger b) |
protected static SafeInteger |
doSafeIntegerInt(SafeInteger a,
int b) |
protected com.oracle.truffle.api.strings.TruffleString |
doString(com.oracle.truffle.api.strings.TruffleString a,
com.oracle.truffle.api.strings.TruffleString b,
JSConcatStringsNode concatStringsNode) |
protected com.oracle.truffle.api.strings.TruffleString |
doStringInt(com.oracle.truffle.api.strings.TruffleString a,
int b,
JSConcatStringsNode concatStringsNode,
com.oracle.truffle.api.strings.TruffleString.FromLongNode stringFromLongNode) |
protected Object |
doStringNumber(com.oracle.truffle.api.strings.TruffleString a,
Object b,
JSConcatStringsNode concatStringsNode,
JSDoubleToStringNode doubleToStringNode) |
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 JSAddNode(boolean truncate,
JavaScriptNode left,
JavaScriptNode right)
public static JavaScriptNode create(JavaScriptNode left, JavaScriptNode right, boolean truncate)
public static JavaScriptNode create(JavaScriptNode left, JavaScriptNode right)
public static JavaScriptNode createUnoptimized(JavaScriptNode left, JavaScriptNode right, boolean truncate)
public static JSAddNode createUnoptimized()
protected static int doIntTruncate(int a,
int b)
protected static int doInt(int a,
int b)
protected static Object doIntOverflow(int a, int b)
protected static SafeInteger doIntSafeInteger(int a, SafeInteger b)
protected static SafeInteger doSafeIntegerInt(SafeInteger a, int b)
protected static SafeInteger doSafeInteger(SafeInteger a, SafeInteger b)
protected static double doDouble(double a,
double b)
protected com.oracle.truffle.api.strings.TruffleString doString(com.oracle.truffle.api.strings.TruffleString a,
com.oracle.truffle.api.strings.TruffleString b,
JSConcatStringsNode concatStringsNode)
protected com.oracle.truffle.api.strings.TruffleString doStringInt(com.oracle.truffle.api.strings.TruffleString a,
int b,
JSConcatStringsNode concatStringsNode,
com.oracle.truffle.api.strings.TruffleString.FromLongNode stringFromLongNode)
protected com.oracle.truffle.api.strings.TruffleString doIntString(int a,
com.oracle.truffle.api.strings.TruffleString b,
JSConcatStringsNode concatStringsNode,
com.oracle.truffle.api.strings.TruffleString.FromLongNode stringFromLongNode)
protected Object doStringNumber(com.oracle.truffle.api.strings.TruffleString a, Object b, JSConcatStringsNode concatStringsNode, JSDoubleToStringNode doubleToStringNode)
protected Object doNumberString(Object a, com.oracle.truffle.api.strings.TruffleString b, JSConcatStringsNode concatStringsNode, JSDoubleToStringNode doubleToStringNode)
protected Object doOverloaded(Object a, Object b, JSOverloadedBinaryNode overloadedOperatorNode)
protected com.oracle.truffle.api.strings.TruffleString getOverloadedOperatorName()
protected static Object doPrimitiveConversion(Object a, Object b, com.oracle.truffle.api.nodes.Node node, JSToPrimitiveNode toPrimitiveA, JSToPrimitiveNode toPrimitiveB, JSToNumericNode toNumericA, JSToNumericNode toNumericB, JSToStringNode toStringA, JSToStringNode toStringB, com.oracle.truffle.api.profiles.InlinedConditionProfile profileA, com.oracle.truffle.api.profiles.InlinedConditionProfile profileB, JSAddNode add, com.oracle.truffle.api.profiles.InlinedBranchProfile mixedNumericTypes)
public final JSAddNode copyRecursive()
public void setTruncate()
setTruncate in interface Truncatableprotected JavaScriptNode copyUninitialized(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags)
copyUninitialized in class JavaScriptNode