Class OperatorSet
java.lang.Object
com.oracle.truffle.js.runtime.objects.OperatorSet
Instances of this class represent instances of the OperatorSet spec object. These hold the
definitions of any overloaded operators for a given type. Each such OperatorSet has a unique
numerical ID (
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).-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final org.graalvm.collections.EconomicSet<com.oracle.truffle.api.strings.TruffleString> static final OperatorSetstatic final org.graalvm.collections.EconomicSet<com.oracle.truffle.api.strings.TruffleString> static final OperatorSetstatic final OperatorSetstatic final org.graalvm.collections.EconomicSet<com.oracle.truffle.api.strings.TruffleString> -
Constructor Summary
ConstructorsConstructorDescriptionOperatorSet(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) -
Method Summary
Modifier and TypeMethodDescriptionintstatic ObjectgetOperatorImplementation(JSOverloadedOperatorsObject operand, com.oracle.truffle.api.strings.TruffleString operatorName) static ObjectgetOperatorImplementation(Object left, Object right, com.oracle.truffle.api.strings.TruffleString operatorName) static OperatorSetgetOperatorSet(Object object) booleanisOperatorOpen(com.oracle.truffle.api.strings.TruffleString operator)
-
Field Details
-
BINARY_OPERATORS
public static final org.graalvm.collections.EconomicSet<com.oracle.truffle.api.strings.TruffleString> BINARY_OPERATORS -
UNARY_OPERATORS
public static final org.graalvm.collections.EconomicSet<com.oracle.truffle.api.strings.TruffleString> UNARY_OPERATORS -
ALL_OPERATORS
public static final org.graalvm.collections.EconomicSet<com.oracle.truffle.api.strings.TruffleString> ALL_OPERATORS -
NUMBER_OPERATOR_SET
-
BIGINT_OPERATOR_SET
-
STRING_OPERATOR_SET
-
-
Constructor Details
-
OperatorSet
public OperatorSet(int operatorCounter, org.graalvm.collections.EconomicSet<com.oracle.truffle.api.strings.TruffleString> openOperators) -
OperatorSet
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)
-
-
Method Details
-
isOperatorOpen
public boolean isOperatorOpen(com.oracle.truffle.api.strings.TruffleString operator) -
getOperatorCounter
public int getOperatorCounter() -
getOperatorSet
-
getOperatorImplementation
public static Object getOperatorImplementation(JSOverloadedOperatorsObject operand, com.oracle.truffle.api.strings.TruffleString operatorName) -
getOperatorImplementation
-