public abstract class JSBitwiseOrConstantNode extends JSUnaryNode
Modifier and Type | Field and Description |
---|---|
protected boolean |
isInt |
protected BigInt |
rightBigIntValue |
protected int |
rightIntValue |
operandNode
INTERMEDIATE_VALUE
Modifier | Constructor and Description |
---|---|
protected |
JSBitwiseOrConstantNode(JavaScriptNode left,
Object rightValue) |
Modifier and Type | Method and Description |
---|---|
protected JavaScriptNode |
copyUninitialized(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags) |
static JavaScriptNode |
create(JavaScriptNode left,
Object rightValue) |
protected BigInt |
doBigInt(BigInt a) |
protected void |
doBigIntThrows(BigInt a) |
protected int |
doDouble(double a,
JSToInt32Node leftInt32) |
protected void |
doDoubleThrows(double a) |
protected BigInt |
doGenericBigIntCase(Object a,
JSToNumericNode toNumeric,
com.oracle.truffle.api.profiles.InlinedConditionProfile profileIsBigInt) |
protected Object |
doGenericIntCase(Object a,
JSToNumericNode toNumeric,
com.oracle.truffle.api.profiles.InlinedConditionProfile profileIsBigInt,
JavaScriptNode innerOrNode) |
protected int |
doInteger(int a) |
protected void |
doIntegerThrows(int a) |
protected Object |
doOverloaded(JSOverloadedOperatorsObject a,
JSOverloadedBinaryNode overloadedOperatorNode) |
protected int |
doSafeInteger(SafeInteger a) |
abstract Object |
executeObject(Object a) |
String |
expressionToString() |
protected com.oracle.truffle.api.strings.TruffleString |
getOverloadedOperatorName() |
boolean |
hasTag(Class<? extends com.oracle.truffle.api.instrumentation.Tag> tag) |
com.oracle.truffle.api.instrumentation.InstrumentableNode |
materializeInstrumentableNodes(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags) |
createWrapper, execute, getNodeObject, getOperand
addCallTag, addExpressionTag, addRootBodyTag, addStatementTag, cloneUninitialized, cloneUninitialized, copy, execute, executeBoolean, executeDouble, executeInt, executeLong, executeSafeInteger, executeVoid, findBlockScopeNode, getSourceSection, hasSourceSection, isInstrumentable, isResultAlwaysOfType, onReplace, removeSourceSection, setSourceSection, setSourceSection, toString, transferSourceSection, transferSourceSectionAddExpressionTag, transferSourceSectionAndTags
getLanguage, getRealm, hasOverloadedOperators
accept, adoptChildren, atomic, atomic, deepCopy, getChildren, getCost, getDebugProperties, getDescription, getEncapsulatingSourceSection, getLock, getParent, getRootNode, insert, insert, isAdoptable, isSafelyReplaceableBy, notifyInserted, replace, replace, reportPolymorphicSpecialize
protected final int rightIntValue
protected final BigInt rightBigIntValue
protected final boolean isInt
protected JSBitwiseOrConstantNode(JavaScriptNode left, Object rightValue)
public static JavaScriptNode create(JavaScriptNode left, Object rightValue)
public boolean hasTag(Class<? extends com.oracle.truffle.api.instrumentation.Tag> tag)
hasTag
in interface com.oracle.truffle.api.instrumentation.InstrumentableNode
hasTag
in class JavaScriptNode
public com.oracle.truffle.api.instrumentation.InstrumentableNode materializeInstrumentableNodes(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags)
protected int doInteger(int a)
protected int doSafeInteger(SafeInteger a)
protected int doDouble(double a, JSToInt32Node leftInt32)
protected void doIntegerThrows(int a)
protected void doDoubleThrows(double a)
protected void doBigIntThrows(BigInt a)
protected Object doOverloaded(JSOverloadedOperatorsObject a, JSOverloadedBinaryNode overloadedOperatorNode)
protected com.oracle.truffle.api.strings.TruffleString getOverloadedOperatorName()
protected Object doGenericIntCase(Object a, JSToNumericNode toNumeric, com.oracle.truffle.api.profiles.InlinedConditionProfile profileIsBigInt, JavaScriptNode innerOrNode)
protected BigInt doGenericBigIntCase(Object a, JSToNumericNode toNumeric, com.oracle.truffle.api.profiles.InlinedConditionProfile profileIsBigInt)
protected JavaScriptNode copyUninitialized(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags)
copyUninitialized
in class JavaScriptNode
public String expressionToString()
expressionToString
in class JSUnaryNode