ASTOperandNumber class
Пакет: com.hypixel.hytale.server.npc.util.expression.compile.ast
Файл: com/hypixel/hytale/server/npc/util/expression/compile/ast/ASTOperandNumber.java
extends: ASTOperand
Поля (2)
| Модификаторы | Тип | Имя |
|---|---|---|
final |
double |
constantNumber |
|
ExecutionContext.Operand |
var1 |
Методы (2)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
abstract |
throw new |
IllegalArgumentExceptionthrow new IllegalArgumentException("Value must be constant: " + var4) |
abstract |
|
super super(ValueType.NUMBER, var1, var2) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.server.npc.util.expression.compile.ast;
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 com.hypixel.hytale.server.npc.util.expression.compile.Token;
class="kw">import javax.annotation.Nonnull;
class="kw">public class ASTOperandNumber class="kw">extends ASTOperand {
class="kw">private class="kw">final double constantNumber;
class="kw">public ASTOperandNumber(@Nonnull Token var1, int var2, double var3) {
super(ValueType.NUMBER, var1, var2);
this.constantNumber = var3;
this.codeGen = var1x -> ExecutionContext.genPUSH(this.constantNumber);
}
class="kw">public ASTOperandNumber(@Nonnull Token var1, int var2, @Nonnull Scope var3, String var4) {
this(var1, var2, var3.getNumber(var4));
if (!var3.isConstant(var4)) {
throw new IllegalArgumentException("Value must be constant: " + var4);
}
}
@Override
class="kw">public double getNumber() {
class="kw">return this.constantNumber;
}
@Override
class="kw">public boolean isConstant() {
class="kw">return true;
}
@Nonnull
@Override
class="kw">public ExecutionContext.Operand asOperand() {
ExecutionContext.Operand var1 = new ExecutionContext.Operand();
var1.set(this.constantNumber);
class="kw">return var1;
}
}