// 
// 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.Nonnull;
import com.hypixel.hytale.server.npc.util.expression.ValueType;
import com.hypixel.hytale.server.npc.util.expression.ExecutionContext;

public class BuilderExpressionDynamicNumberArray extends BuilderExpressionDynamic
{
    public BuilderExpressionDynamicNumberArray(final String expression, final ExecutionContext.Instruction[] instructionSequence) {
        super(expression, instructionSequence);
    }
    
    @Nonnull
    @Override
    public ValueType getType() {
        return ValueType.NUMBER_ARRAY;
    }
    
    @Override
    public double[] getNumberArray(@Nonnull final ExecutionContext executionContext) {
        this.execute(executionContext);
        return executionContext.popNumberArray();
    }
    
    @Override
    public int[] getIntegerArray(@Nonnull final ExecutionContext executionContext) {
        return BuilderExpressionStaticNumberArray.convertDoubleToIntArray(this.getNumberArray(executionContext));
    }
    
    @Override
    public void updateScope(@Nonnull final StdScope scope, final String name, @Nonnull final ExecutionContext executionContext) {
        scope.changeValue(name, this.getNumberArray(executionContext));
    }
}
