ASTOperandString class

Пакет: com.hypixel.hytale.server.npc.util.expression.compile.ast

Файл: com/hypixel/hytale/server/npc/util/expression/compile/ast/ASTOperandString.java

extends: ASTOperand

Поля (2)

МодификаторыТипИмя
final String constantString
ExecutionContext.Operand var1

Методы (2)

МодификаторыВозвратСигнатура
abstract throw new IllegalArgumentExceptionthrow new IllegalArgumentException("Value must be constant: " + var4)
abstract super super(ValueType.STRING, 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 ASTOperandString class="kw">extends ASTOperand {
   class="kw">protected class="kw">final String constantString;

   class="kw">public ASTOperandString(@Nonnull Token var1, int var2, String var3) {
      super(ValueType.STRING, var1, var2);
      this.constantString = var3;
      this.codeGen = var1x -> ExecutionContext.genPUSH(this.constantString);
   }

   class="kw">public ASTOperandString(@Nonnull Token var1, int var2, @Nonnull Scope var3, String var4) {
      this(var1, var2, var3.getString(var4));
      if (!var3.isConstant(var4)) {
         throw new IllegalArgumentException("Value must be constant: " + var4);
      }
   }

   @Override
   class="kw">public String getString() {
      class="kw">return this.constantString;
   }

   @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.constantString);
      class="kw">return var1;
   }
}