public class OperatorSet extends Object
OperatorSet.getOperatorCounter()), which are used for dispatching overloaded operators
between different classes (e.g. Matrix * Vector). An instance of this class is held in an
internal slot by the constructor of the class that overloads operators. This instance is then
also reachable from an internal slot of every instance of that class (we use a constant property
that is bound to the objects' Shape).| Modifier and Type | Field and Description |
|---|---|
static org.graalvm.collections.EconomicSet<com.oracle.truffle.api.strings.TruffleString> |
ALL_OPERATORS |
static OperatorSet |
BIGINT_OPERATOR_SET |
static org.graalvm.collections.EconomicSet<com.oracle.truffle.api.strings.TruffleString> |
BINARY_OPERATORS |
static OperatorSet |
NUMBER_OPERATOR_SET |
static OperatorSet |
STRING_OPERATOR_SET |
static org.graalvm.collections.EconomicSet<com.oracle.truffle.api.strings.TruffleString> |
UNARY_OPERATORS |
| Constructor and Description |
|---|
OperatorSet(int operatorCounter,
org.graalvm.collections.EconomicMap<com.oracle.truffle.api.strings.TruffleString,Object> selfOperatorDefinitions,
org.graalvm.collections.EconomicMap<com.oracle.truffle.api.strings.TruffleString,Object[]> leftOperatorDefinitions,
org.graalvm.collections.EconomicMap<com.oracle.truffle.api.strings.TruffleString,Object[]> rightOperatorDefinitions,
org.graalvm.collections.EconomicSet<com.oracle.truffle.api.strings.TruffleString> openOperators) |
OperatorSet(int operatorCounter,
org.graalvm.collections.EconomicSet<com.oracle.truffle.api.strings.TruffleString> openOperators) |
| Modifier and Type | Method and Description |
|---|---|
int |
getOperatorCounter() |
static Object |
getOperatorImplementation(JSOverloadedOperatorsObject operand,
com.oracle.truffle.api.strings.TruffleString operatorName) |
static Object |
getOperatorImplementation(Object left,
Object right,
com.oracle.truffle.api.strings.TruffleString operatorName) |
static OperatorSet |
getOperatorSet(Object object) |
boolean |
isOperatorOpen(com.oracle.truffle.api.strings.TruffleString operator) |
public static final org.graalvm.collections.EconomicSet<com.oracle.truffle.api.strings.TruffleString> BINARY_OPERATORS
public static final org.graalvm.collections.EconomicSet<com.oracle.truffle.api.strings.TruffleString> UNARY_OPERATORS
public static final org.graalvm.collections.EconomicSet<com.oracle.truffle.api.strings.TruffleString> ALL_OPERATORS
public static final OperatorSet NUMBER_OPERATOR_SET
public static final OperatorSet BIGINT_OPERATOR_SET
public static final OperatorSet STRING_OPERATOR_SET
public OperatorSet(int operatorCounter,
org.graalvm.collections.EconomicSet<com.oracle.truffle.api.strings.TruffleString> openOperators)
public OperatorSet(int operatorCounter,
org.graalvm.collections.EconomicMap<com.oracle.truffle.api.strings.TruffleString,Object> selfOperatorDefinitions,
org.graalvm.collections.EconomicMap<com.oracle.truffle.api.strings.TruffleString,Object[]> leftOperatorDefinitions,
org.graalvm.collections.EconomicMap<com.oracle.truffle.api.strings.TruffleString,Object[]> rightOperatorDefinitions,
org.graalvm.collections.EconomicSet<com.oracle.truffle.api.strings.TruffleString> openOperators)
public boolean isOperatorOpen(com.oracle.truffle.api.strings.TruffleString operator)
public int getOperatorCounter()
public static OperatorSet getOperatorSet(Object object)
public static Object getOperatorImplementation(JSOverloadedOperatorsObject operand, com.oracle.truffle.api.strings.TruffleString operatorName)