ASTOperandStringArray class

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

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

extends: ASTOperand

Поля (2)

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

Методы (4)

МодификаторыВозвратСигнатура
abstract throw new IllegalArgumentExceptionthrow new IllegalArgumentException("Value must be constant: " + var4)
for for(int var6 = 0; var6 < var5; var6++)
abstract super super(ValueType.STRING_ARRAY, var1, var2)
abstract this this(var1, var2, new String[var5])

Исходный код

Показать/скрыть
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 java.util.Stack;
class="kw">import javax.annotation.Nonnull;

class="kw">public class ASTOperandStringArray class="kw">extends ASTOperand {
   class="kw">private class="kw">final String[] constantStringArray;

   class="kw">public ASTOperandStringArray(@Nonnull Token var1, int var2, String[] var3) {
      super(ValueType.STRING_ARRAY, var1, var2);
      this.constantStringArray = var3;
      this.codeGen = var1x -> ExecutionContext.genPUSH(this.constantStringArray);
   }

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

   class="kw">public ASTOperandStringArray(@Nonnull Token var1, int var2, @Nonnull Stack<AST> var3, int var4, int var5) {
      this(var1, var2, new String[var5]);

      for (int var6 = 0; var6 < var5; var6++) {
         this.constantStringArray[var6] = var3.get(var4 + var6).getString();
      }
   }

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