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

public class BuilderExpressionStaticEmptyArray extends BuilderExpression
{
    public static final BuilderExpressionStaticEmptyArray INSTANCE;
    
    @Nonnull
    @Override
    public ValueType getType() {
        return ValueType.EMPTY_ARRAY;
    }
    
    @Override
    public boolean isStatic() {
        return true;
    }
    
    @Override
    public double[] getNumberArray(final ExecutionContext executionContext) {
        return ArrayUtil.EMPTY_DOUBLE_ARRAY;
    }
    
    @Override
    public int[] getIntegerArray(final ExecutionContext executionContext) {
        return ArrayUtil.EMPTY_INT_ARRAY;
    }
    
    @Nonnull
    @Override
    public String[] getStringArray(final ExecutionContext executionContext) {
        return ArrayUtil.EMPTY_STRING_ARRAY;
    }
    
    @Override
    public boolean[] getBooleanArray(final ExecutionContext executionContext) {
        return ArrayUtil.EMPTY_BOOLEAN_ARRAY;
    }
    
    @Override
    public void addToScope(final String name, @Nonnull final StdScope scope) {
        scope.addConstEmptyArray(name);
    }
    
    @Override
    public void updateScope(@Nonnull final StdScope scope, final String name, final ExecutionContext executionContext) {
        scope.changeValueToEmptyArray(name);
    }
    
    static {
        INSTANCE = new BuilderExpressionStaticEmptyArray();
    }
}
