public abstract class JSLeftShiftConstantNode extends JSUnaryNode
Modifier and Type | Field and Description |
---|---|
protected int |
shiftValue |
operandNode
INTERMEDIATE_VALUE
Modifier | Constructor and Description |
---|---|
protected |
JSLeftShiftConstantNode(JavaScriptNode operand,
int shiftValue) |
Modifier and Type | Method and Description |
---|---|
protected JavaScriptNode |
copyUninitialized() |
static JavaScriptNode |
create(JavaScriptNode left,
JavaScriptNode right) |
protected void |
doBigInt(BigInt a) |
protected int |
doDouble(double a,
JSToInt32Node leftInt32Node) |
protected Object |
doGeneric(Object a,
JSToNumericNode leftToNumericNode,
JSLeftShiftConstantNode innerShiftNode) |
protected int |
doInteger(int a) |
protected int |
doLargeInteger(LargeInteger a) |
abstract int |
executeInt(Object a) |
String |
expressionToString() |
boolean |
hasTag(Class<? extends com.oracle.truffle.api.instrumentation.Tag> tag) |
boolean |
isResultAlwaysOfType(Class<?> clazz) |
protected JSLeftShiftConstantNode |
makeCopy() |
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, executeByte, executeCharacter, executeDouble, executeDynamicObject, executeFloat, executeInt, executeLargeInteger, executeLong, executeObjectArray, executeString, executeTruffleObject, executeVoid, getSourceSection, hasSourceSection, isInstrumentable, onReplace, removeSourceSection, setSourceSection, setSourceSection, toString, transferSourceSection, transferSourceSectionAddExpressionTag, transferSourceSectionAndTags
accept, adoptChildren, atomic, atomic, deepCopy, getChildren, getCost, getDebugProperties, getDescription, getEncapsulatingSourceSection, getLock, getParent, getRootNode, insert, insert, isAdoptable, isSafelyReplaceableBy, lookupContextReference, lookupLanguageReference, notifyInserted, replace, replace, reportPolymorphicSpecialize
protected JSLeftShiftConstantNode(JavaScriptNode operand, int shiftValue)
public static JavaScriptNode create(JavaScriptNode left, JavaScriptNode right)
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)
public abstract int executeInt(Object a)
protected int doInteger(int a)
protected int doLargeInteger(LargeInteger a)
protected int doDouble(double a, JSToInt32Node leftInt32Node)
protected void doBigInt(BigInt a)
protected Object doGeneric(Object a, JSToNumericNode leftToNumericNode, JSLeftShiftConstantNode innerShiftNode)
public boolean isResultAlwaysOfType(Class<?> clazz)
isResultAlwaysOfType
in class JavaScriptNode
protected JSLeftShiftConstantNode makeCopy()
protected JavaScriptNode copyUninitialized()
copyUninitialized
in class JavaScriptNode
public String expressionToString()
expressionToString
in class JSUnaryNode