Token enum
Пакет: com.hypixel.hytale.server.npc.util.expression.compile
Файл: com/hypixel/hytale/server/npc/util/expression/compile/Token.java
implements: Supplier<String>
Поля (1)
| Модификаторы | Тип | Имя |
|---|---|---|
final |
String |
text |
Методы (15)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
public |
boolean |
canBeUnaryboolean canBeUnary() |
public |
boolean |
containsAnyFlagboolean containsAnyFlag(@Nonnull EnumSet<TokenFlags> var1) |
public |
String |
getString get() |
public |
EnumSet<TokenFlags> |
getFlagsEnumSet<TokenFlags> getFlags() |
public |
int |
getPrecedenceint getPrecedence() |
public |
boolean |
isCloseBracketboolean isCloseBracket() |
public |
boolean |
isEndTokenboolean isEndToken() |
public |
boolean |
isListboolean isList() |
public |
boolean |
isLiteralboolean isLiteral() |
public |
boolean |
isOpenBracketboolean isOpenBracket() |
public |
boolean |
isOpenTupleboolean isOpenTuple() |
public |
boolean |
isOperandboolean isOperand() |
public |
boolean |
isOperatorboolean isOperator() |
public |
boolean |
isRightToLeftboolean isRightToLeft() |
public |
boolean |
isUnaryboolean isUnary() |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.server.npc.util.expression.compile;
class="kw">import java.util.Collections;
class="kw">import java.util.EnumSet;
class="kw">import java.util.function.Supplier;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;
class="kw">public enum Token class="kw">implements Supplier<String> {
INVALID(null, 0),
END(null, 0),
STRING(null, 0, EnumSet.of(TokenFlags.OPERAND, TokenFlags.LITERAL)),
NUMBER(null, 0, EnumSet.of(TokenFlags.OPERAND, TokenFlags.LITERAL)),
IDENTIFIER(null, 0, EnumSet.of(TokenFlags.OPERAND)),
OPEN_BRACKET("(", 20, EnumSet.of(TokenFlags.OPENING_BRACKET), null, null),
CLOSE_BRACKET(")", 20, EnumSet.of(TokenFlags.CLOSING_BRACKET), OPEN_BRACKET, null),
OPEN_SQUARE_BRACKET("[", 19, EnumSet.of(TokenFlags.OPENING_BRACKET, TokenFlags.OPENING_TUPLE), null, null),
CLOSE_SQUARE_BRACKET("]", 19, EnumSet.of(TokenFlags.CLOSING_BRACKET), OPEN_SQUARE_BRACKET, null),
COMMA(",", 20, EnumSet.of(TokenFlags.LIST)),
FUNCTION_CALL(null, 19),
UNARY_MINUS(null, 16, EnumSet.of(TokenFlags.OPERATOR, TokenFlags.RIGHT_TO_LEFT, TokenFlags.UNARY)),
UNARY_PLUS(null, 16, EnumSet.of(TokenFlags.OPERATOR, TokenFlags.RIGHT_TO_LEFT, TokenFlags.UNARY)),
LOGICAL_NOT("!", 16, EnumSet.of(TokenFlags.OPERATOR, TokenFlags.RIGHT_TO_LEFT, TokenFlags.UNARY)),
BITWISE_NOT("~", 16, EnumSet.of(TokenFlags.OPERATOR, TokenFlags.RIGHT_TO_LEFT, TokenFlags.UNARY)),
EXPONENTIATION("**", 15, EnumSet.of(TokenFlags.OPERATOR, TokenFlags.RIGHT_TO_LEFT)),
REMAINDER("%", 14, EnumSet.of(TokenFlags.OPERATOR)),
DIVIDE("/", 14, EnumSet.of(TokenFlags.OPERATOR)),
MULTIPLY("*", 14, EnumSet.of(TokenFlags.OPERATOR)),
MINUS("-", 13, EnumSet.of(TokenFlags.OPERATOR), null, UNARY_MINUS),
PLUS("+", 13, EnumSet.of(TokenFlags.OPERATOR), null, UNARY_PLUS),
GREATER_EQUAL(">=", 11, EnumSet.of(TokenFlags.OPERATOR)),
GREATER(">", 11, EnumSet.of(TokenFlags.OPERATOR)),
LESS_EQUAL("<=", 11, EnumSet.of(TokenFlags.OPERATOR)),
LESS("<", 11, EnumSet.of(TokenFlags.OPERATOR)),
NOT_EQUAL("!=", 10, EnumSet.of(TokenFlags.OPERATOR)),
EQUAL("==", 10, EnumSet.of(TokenFlags.OPERATOR)),
BITWISE_AND("&", 9, EnumSet.of(TokenFlags.OPERATOR)),
BITWISE_XOR("^", 8, EnumSet.of(TokenFlags.OPERATOR)),
BITWISE_OR("|", 7, EnumSet.of(TokenFlags.OPERATOR)),
LOGICAL_AND("&&", 6, EnumSet.of(TokenFlags.OPERATOR)),
LOGICAL_OR("||", 5, EnumSet.of(TokenFlags.OPERATOR));
class="kw">private class="kw">final String text;
class="kw">private class="kw">final int precedence;
class="kw">private class="kw">final EnumSet<TokenFlags> flags;
@Nullable
class="kw">private class="kw">final Token matchingBracket;
@Nullable
class="kw">private class="kw">final Token unaryVariant;
Token(String nullxx, int nullxxx) {
this.text = nullxx;
this.precedence = nullxxx;
this.flags = EnumSet.noneOf(TokenFlags.class);
this.matchingBracket = null;
this.unaryVariant = null;
}
Token(String nullxx, int nullxxx, EnumSet<TokenFlags> nullxxxx) {
this.text = nullxx;
this.precedence = nullxxx;
this.flags = nullxxxx;
this.matchingBracket = null;
this.unaryVariant = null;
}
Token(String nullxx, int nullxxx, EnumSet<TokenFlags> nullxxxx, Token nullxxxxx, Token nullxxxxxx) {
this.text = nullxx;
this.precedence = nullxxx;
this.flags = nullxxxx;
this.matchingBracket = nullxxxxx;
this.unaryVariant = nullxxxxxx;
}
class="kw">public String get() {
class="kw">return this.text;
}
class="kw">public int getPrecedence() {
class="kw">return this.precedence;
}
class="kw">public EnumSet<TokenFlags> getFlags() {
class="kw">return this.flags;
}
class="kw">public boolean containsAnyFlag(@Nonnull EnumSet<TokenFlags> var1) {
class="kw">return !Collections.disjoint(this.flags, var1);
}
class="kw">public boolean isEndToken() {
class="kw">return this == END;
}
class="kw">public boolean isOperand() {
class="kw">return this.flags.contains(TokenFlags.OPERAND);
}
class="kw">public boolean isLiteral() {
class="kw">return this.flags.contains(TokenFlags.LITERAL);
}
class="kw">public boolean isOperator() {
class="kw">return this.flags.contains(TokenFlags.OPERATOR);
}
class="kw">public boolean isRightToLeft() {
class="kw">return this.flags.contains(TokenFlags.RIGHT_TO_LEFT);
}
class="kw">public boolean canBeUnary() {
class="kw">return this.unaryVariant != null;
}
@Nullable
class="kw">public Token getUnaryVariant() {
class="kw">return this.unaryVariant;
}
class="kw">public boolean isUnary() {
class="kw">return this.flags.contains(TokenFlags.UNARY);
}
class="kw">public boolean isOpenBracket() {
class="kw">return this.flags.contains(TokenFlags.OPENING_BRACKET);
}
class="kw">public boolean isOpenTuple() {
class="kw">return this.flags.contains(TokenFlags.OPENING_TUPLE);
}
class="kw">public boolean isCloseBracket() {
class="kw">return this.flags.contains(TokenFlags.CLOSING_BRACKET);
}
@Nullable
class="kw">public Token getMatchingBracket() {
class="kw">return this.matchingBracket;
}
class="kw">public boolean isList() {
class="kw">return this.flags.contains(TokenFlags.LIST);
}
}