HyCodeYourTale
classpublicPriority 3

ExecutionContext

com.hypixel.hytale.server.npc.util.expression.ExecutionContext

64

Methods

64

Public Methods

6

Fields

2

Constructors

Constants

ExecutionContext.InstructionBITWISE_AND= context -> context.popPush(context.getInt(1) & context.getInt(0), 2)
ExecutionContext.InstructionBITWISE_NOT= context -> context.push(~context.popInt())
ExecutionContext.InstructionBITWISE_OR= context -> context.popPush(context.getInt(1) | context.getInt(0), 2)
ExecutionContext.InstructionBITWISE_XOR= context -> context.popPush(context.getInt(1) ^ context.getInt(0), 2)
ExecutionContext.InstructionDIVIDE= context -> context.popPush(context.getNumber(1) / context.getNumber(0), 2)
ExecutionContext.InstructionEQUAL= context -> context.popPush(context.getNumber(1) == context.getNumber(0), 2)
ExecutionContext.InstructionEQUAL_BOOL= context -> context.popPush(context.getBoolean(1) == context.getBoolean(0), 2)
ExecutionContext.InstructionEXPONENTIATION= context -> context.popPush(Math.pow(context.getNumber(1), context.getNumber(0)), 2)
ExecutionContext.InstructionGREATER= context -> context.popPush(context.getNumber(1) > context.getNumber(0), 2)
ExecutionContext.InstructionGREATER_EQUAL= context -> context.popPush(context.getNumber(1) >= context.getNumber(0), 2)
ExecutionContext.InstructionLESS= context -> context.popPush(context.getNumber(1) < context.getNumber(0), 2)
ExecutionContext.InstructionLESS_EQUAL= context -> context.popPush(context.getNumber(1) <= context.getNumber(0), 2)
ExecutionContext.InstructionLOGICAL_AND= context -> context.popPush(context.getBoolean(1) && context.getBoolean(0), 2)
ExecutionContext.InstructionLOGICAL_NOT= context -> context.push(!context.popBoolean())
ExecutionContext.InstructionLOGICAL_OR= context -> context.popPush(context.getBoolean(1) || context.getBoolean(0), 2)
ExecutionContext.InstructionMINUS= context -> context.popPush(context.getNumber(1) - context.getNumber(0), 2)
ExecutionContext.InstructionMULTIPLY= context -> context.popPush(context.getNumber(1) * context.getNumber(0), 2)
ExecutionContext.InstructionNOT_EQUAL= context -> context.popPush(context.getNumber(1) != context.getNumber(0), 2)
ExecutionContext.InstructionNOT_EQUAL_BOOL= context -> context.popPush(context.getBoolean(1) != context.getBoolean(0), 2)
ExecutionContext.InstructionPLUS= context -> context.popPush(context.getNumber(1) + context.getNumber(0), 2)
ExecutionContext.InstructionREMAINDER= context -> context.popPush(context.getNumber(1) % context.getNumber(0), 2)
intSTACK_GROW_INCREMENT= 8
ExecutionContext.InstructionUNARY_MINUS= context -> context.push(-context.popNumber())
ExecutionContext.InstructionUNARY_PLUS= context -> { }

Constructors

public
ExecutionContext(Scope scope)
public
ExecutionContext()

Methods

Public Methods (64)

public
ValueType execute(List<ExecutionContext.Instruction> instructions, Scope scope)
public
ValueType execute(List<ExecutionContext.Instruction> instructions)
public
ValueType execute(ExecutionContext.Instruction[] instructions, Scope scope)
public
ValueType execute(ExecutionContext.Instruction[] instructions)
publicstatic
ExecutionContext.Instruction genBooleanPACK(int size)
@Nonnull
publicstatic
ExecutionContext.Instruction genCALL(String ident, int numArgs, Scope scope)
@Nonnull
publicstatic
ExecutionContext.Instruction genNumberPACK(int size)
@Nonnull
publicstatic
ExecutionContext.Instruction genPACK(ValueType arrayType, int size)
@Nonnull
publicstatic
ExecutionContext.Instruction genPUSH(String value)
@Nonnull
publicstatic
ExecutionContext.Instruction genPUSH(double value)
@Nonnull
publicstatic
ExecutionContext.Instruction genPUSH(boolean value)
@Nonnull
publicstatic
ExecutionContext.Instruction genPUSH(String[] value)
@Nonnull
publicstatic
ExecutionContext.Instruction genPUSH(double[] value)
@Nonnull
publicstatic
ExecutionContext.Instruction genPUSH(boolean[] value)
@Nonnull
publicstatic
ExecutionContext.Instruction genPUSHEmptyArray()
@Nonnull
publicstatic
ExecutionContext.Instruction genREAD(String ident, ValueType type, Scope scope)
@Nonnull
publicstatic
ExecutionContext.Instruction genStringPACK(int size)
@Nonnull
public
boolean getBoolean(int index)
public
boolean[] getBooleanArray(int index)
public
String getCombatConfig()
public
int getInt(int index)
public
Map<String, String> getInteractionVars()
public
double getNumber(int index)
public
double[] getNumberArray(int index)
public
Scope getScope()
public
String getString(int index)
public
String[] getStringArray(int index)
@Nullable
public
ValueType getType()
public
String popAsString()
public
boolean popBoolean()
public
boolean[] popBooleanArray()
public
int popInt()
public
double popNumber()
public
double[] popNumberArray()
public
void popPush(String value, int popCount)
public
void popPush(double value, int popCount)
public
void popPush(int value, int popCount)
public
void popPush(boolean value, int popCount)
public
void popPush(String[] value, int popCount)
public
void popPush(double[] value, int popCount)
public
void popPush(boolean[] value, int popCount)
public
void popPushEmptyArray(int popCount)
public
String popString()
public
String[] popStringArray()
@Nullable
public
void push(String value)
public
void push(double value)
public
void push(int value)
public
void push(boolean value)
public
void push(String[] value)
public
void push(double[] value)
public
void push(boolean[] value)
public
void pushEmptyArray()
public
ValueType set(String value)
public
ValueType set(double value)
public
ValueType set(boolean value)
public
ValueType set(String[] value)
public
ValueType set(double[] value)
public
ValueType set(boolean[] value)
public
void setCombatConfig(String combatConfig)
public
ValueType setEmptyArray()
public
void setInteractionVars(Map<String, String> interactionVars)
public
Scope setScope(Scope scope)
public
String toString()
@Nonnull@Override
public
ExecutionContext.Operand top()

Fields

Protected Fields (6)

protectedString combatConfig
protectedMap<String, String> interactionVars
protectedValueType lastPushedType
protectedExecutionContext.Operand[] operandStack
protectedScope scope
protectedint stackTop

Related Classes

Used By