OperatorUnary class
Пакет: com.hypixel.hytale.server.npc.util.expression.compile
Файл: com/hypixel/hytale/server/npc/util/expression/compile/OperatorUnary.java
Поля (1)
| Модификаторы | Тип | Имя |
|---|---|---|
private |
Token |
token |
Методы (5)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
|
|
for for(OperatorUnary var5 : operators) |
public |
Function<Scope, ExecutionContext.Instruction> |
getCodeGenFunction<Scope, ExecutionContext.Instruction> getCodeGen() |
public |
ValueType |
getResultTypeValueType getResultType() |
public |
boolean |
hasCodeGenboolean hasCodeGen() |
|
|
if if(var5.token == var0 && var5.argument == var1) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.server.npc.util.expression.compile;
class="kw">import com.hypixel.hytale.server.npc.util.expression.ExecutionContext;
class="kw">import com.hypixel.hytale.server.npc.util.expression.Scope;
class="kw">import com.hypixel.hytale.server.npc.util.expression.ValueType;
class="kw">import java.util.function.Function;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;
class="kw">public class OperatorUnary {
class="kw">private Token token;
class="kw">private ValueType argument;
class="kw">private ValueType result;
class="kw">private Function<Scope, ExecutionContext.Instruction> codeGen;
@Nonnull
class="kw">private class="kw">static OperatorUnary[] operators = new OperatorUnary[]{
of(Token.UNARY_PLUS, ValueType.NUMBER, ValueType.NUMBER, null),
of(Token.UNARY_MINUS, ValueType.NUMBER, ValueType.NUMBER, var0 -> ExecutionContext.UNARY_MINUS),
of(Token.LOGICAL_NOT, ValueType.BOOLEAN, ValueType.BOOLEAN, var0 -> ExecutionContext.LOGICAL_NOT),
of(Token.BITWISE_NOT, ValueType.NUMBER, ValueType.NUMBER, var0 -> ExecutionContext.BITWISE_NOT)
};
class="kw">private OperatorUnary(Token var1, ValueType var2, ValueType var3, Function<Scope, ExecutionContext.Instruction> var4) {
this.token = var1;
this.argument = var2;
this.result = var3;
this.codeGen = var4;
}
class="kw">public boolean hasCodeGen() {
class="kw">return this.codeGen != null;
}
class="kw">public ValueType getResultType() {
class="kw">return this.result;
}
class="kw">public Function<Scope, ExecutionContext.Instruction> getCodeGen() {
class="kw">return this.codeGen;
}
@Nonnull
class="kw">private class="kw">static OperatorUnary of(Token var0, ValueType var1, ValueType var2, Function<Scope, ExecutionContext.Instruction> var3) {
class="kw">return new OperatorUnary(var0, var1, var2, var3);
}
@Nullable
class="kw">public class="kw">static OperatorUnary findOperator(Token var0, ValueType var1) {
for (OperatorUnary var5 : operators) {
if (var5.token == var0 && var5.argument == var1) {
class="kw">return var5;
}
}
class="kw">return null;
}
}