| Package | Description |
|---|---|
| com.alibaba.qlexpress4.aparser | |
| com.alibaba.qlexpress4.aparser.compiletimefunction | |
| com.alibaba.qlexpress4.runtime | |
| com.alibaba.qlexpress4.runtime.instruction |
| Modifier and Type | Method and Description |
|---|---|
java.util.List<QLInstruction> |
QvmInstructionVisitor.getInstructions() |
java.util.List<QLInstruction> |
MacroDefine.getMacroInstructions() |
| Constructor and Description |
|---|
MacroDefine(java.util.List<QLInstruction> instructions,
boolean lastStmtExpress) |
| Modifier and Type | Method and Description |
|---|---|
void |
CodeGenerator.addInstruction(QLInstruction qlInstruction) |
| Modifier and Type | Method and Description |
|---|---|
QLInstruction[] |
QLambdaDefinitionInner.getInstructions() |
| Constructor and Description |
|---|
QLambdaDefinitionInner(java.lang.String name,
QLInstruction[] instructions,
java.util.List<QLambdaDefinitionInner.Param> paramsType,
int maxStackSize) |
| Constructor and Description |
|---|
QLambdaDefinitionInner(java.lang.String name,
java.util.List<QLInstruction> instructions,
java.util.List<QLambdaDefinitionInner.Param> paramsType,
int maxStackSize) |
| Modifier and Type | Class and Description |
|---|---|
class |
BreakContinueInstruction
Operation: return break object and exit lambda
Input: 0
Output: 0
|
class |
CallConstInstruction
Operation: call const lambda
Input: ${argNum}
Output: 1 const lambda result
|
class |
CallFunctionInstruction
Operation: call ql function from function table
Input: ${argNum}
Output: 1 function result
Author: DQinYuan
|
class |
CallInstruction
Operation: call a lambda with fixed number of arguments
Input: ${argNum} + 1
Output: 1, lambda return result
|
class |
CastInstruction
Operation: force cast value to specified type
Input: 2 targetCls and value
Output: 1 casted value
|
class |
CheckTimeOutInstruction
Operation: check if program timeout
Input: 0
Output: 0
|
class |
CloseScopeInstruction
Operation: close scope
Input: 0
Output: 0
Author: DQinYuan
|
class |
ConstInstruction
Operation: push constObj to stack
Input: 0
Output: 1
|
class |
DefineFunctionInstruction
Operation: define function
Input: 0
Output: 0
|
class |
DefineLocalInstruction
Operation: define a symbol in local scope
Input: 1 symbol init value
Output: 0
Author: DQinYuan
|
class |
ForEachInstruction
Operation: process each element in iterable object on top of stack,
Input: 1
Output: 0
Author: DQinYuan
|
class |
ForInstruction
Operation: traditional for loop
Input: 0
Output: 0
Author: DQinYuan
|
class |
GetFieldInstruction
Operation: get specified field of object on the top of stack
Input: 1
Output: 1
|
class |
GetMethodInstruction
Operation: get specified method of object on the top of stack
Input: 1
Output: 1
|
class |
IndexInstruction
Operation: extract value with index, like a[0], m['a']
Input: 2, indexable object and index
Output: 1
|
class |
JumpIfInstruction
Operation: if the element is ${expect}, jump to position, else execute next instruction as normal.
|
class |
JumpIfPopInstruction
Operation: pop the top of stack, if the element is ${expect}, jump to position, else execute next instruction as normal.
|
class |
JumpInstruction
Operation: jump to a position
Input: 0
Output: 0
Author: DQinYuan
|
class |
LoadInstruction
Operation: load variable from local to global scope, create when not exist
Input: 0
Output: 1 left value of local variable
Author: DQinYuan
|
class |
LoadLambdaInstruction
Operation: instantiate lambda definition on stack
Input: 0
Output: 1 lambda instance
Author: DQinYuan
|
class |
MethodInvokeInstruction
Operation: invoke specified method of object on the top of stack
Input: ${argNum} + 1
Output: 1, method return value, null for void method
|
class |
MultiNewArrayInstruction
new int[1][2][][]
Operation: new array with multi dims
Input: ${dims}
Output: 1
Author: DQinYuan
|
class |
NewArrayInstruction
new int[] {1,2,3}
Operation: new array with init items
Input: ${length}
Output: 1
Author: DQinYuan
|
class |
NewFilledInstanceInstruction
Operation: new a Map with top ${keys.length} stack element
Input: ${keys.length}
Output: 1
|
class |
NewInstanceInstruction
Operation: new an object of specified class
Input: ${argNum} + 1
Output: 1
|
class |
NewListInstruction
Operation: new a List with top ${initLength} stack element
Input: ${initLength}
Output: 1
|
class |
NewMapInstruction
Operation: new a Map with top ${keys.length} stack element
Input: ${keys.length}
Output: 1
|
class |
NewScopeInstruction
Operation: new scope
Input: 0
Output: 0
Author: DQinYuan
|
class |
OperatorInstruction
Operation: do middle operator +=,>>,>>>,<<,.
|
class |
PopInstruction
Operation: pop top element
Input: 1
Output: 0
|
class |
ReturnInstruction
Operation: return top element and exit lambda
Input: 1
Output: 0
|
class |
SliceInstruction
Operation: slice array or list, like a[2:4], a[4:-1], a[:4], a[5:], a[:]
Input: 0-2
Output: 1
|
class |
SpreadGetFieldInstruction
Operation: get field of each object in the list
Input: 1
Output: 1, a list composed of field values
Author: DQinYuan
|
class |
SpreadMethodInvokeInstruction
Operation: Invoke specified method of each object in the list
Input: ${argNum} + 1
Output: 1, a list composed of return values from methods.
|
class |
StringJoinInstruction
Operation: concat n string on the top of stack
Input: ${n}
Output: concat result
Author: DQinYuan
|
class |
ThrowInstruction
Operation: throw top element on the stack
Input: 1
Output: 0
|
class |
TraceEvaludatedInstruction
Operation: no op, only for marking evaludated as true
Input: 0
Output: 0
Author: DQinYuan
|
class |
TracePeekInstruction
Operation: no op, only for tracing peek value of stack
Input: 0
Output: 0
Author: DQinYuan
|
class |
TryCatchInstruction
Operation: try and catch throw element
Input: 0
Output: 1
Author: DQinYuan
|
class |
UnaryInstruction
Operation: do unary operator like, ++,--,!,~
Input: 1
Output: 1, unary result
Author: DQinYuan
|
class |
WhileInstruction
Operation: while (condition) do body
Input: 0
Output: 0
|
Copyright © 2012-2025 Alibaba Group. All Rights Reserved.