// 
// Decompiled by Procyon v0.6.0
// 

package com.hypixel.hytale.server.npc.asset.builder.expression;

import com.hypixel.hytale.server.npc.util.expression.StdScope;
import javax.annotation.Nullable;
import javax.annotation.Nonnull;
import com.hypixel.hytale.server.npc.util.expression.ValueType;
import com.hypixel.hytale.server.npc.util.expression.ExecutionContext;

public class BuilderExpressionDynamicStringArray extends BuilderExpressionDynamic
{
    public BuilderExpressionDynamicStringArray(final String expression, final ExecutionContext.Instruction[] instructionSequence) {
        super(expression, instructionSequence);
    }
    
    @Nonnull
    @Override
    public ValueType getType() {
        return ValueType.STRING_ARRAY;
    }
    
    @Nullable
    @Override
    public String[] getStringArray(@Nonnull final ExecutionContext executionContext) {
        this.execute(executionContext);
        return executionContext.popStringArray();
    }
    
    @Override
    public void updateScope(@Nonnull final StdScope scope, final String name, @Nonnull final ExecutionContext executionContext) {
        scope.changeValue(name, this.getStringArray(executionContext));
    }
}
