ReturnStmtCallStackUnwind mixin
Normal lua runtime behavior implementation for ReturnStmt.
Unwind the callstack on return by throwing a special exception LuaReturnValueException with the value to return. This value is unpacked correctly by the try-catch handler in function call statements by design.
- Superclass constraints
Properties
- context → LuaObject?
-
no setterinherited
- debugPath ↔ String?
-
getter/setter pairinherited
- global → Scope
-
finalinherited
- hasContext → bool
-
no setterinherited
- hashCode → int
-
The hash code for this object.
no setterinherited
- onIncludeImpl ↔ IncludeCallback?
-
getter/setter pairinherited
- results → BaseResults
-
finalinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- scope ↔ Scope
-
getter/setter pairinherited
Methods
-
addDiagnostic(
String info) → void -
inherited
-
addError(
String err) → void -
inherited
-
addWarning(
String warn) → void -
inherited
-
callLuaFunction(
LuaObject obj, {List< Object?> args = const []}) → LuaObject? -
Given a callable lua
objand a list ofargs, configure a new scope with the providedargsas parameters based on the LuaObject.funcDef record. Args exceeding the parameter list will be dropped. Any remaining parameters will be filled by LuaObject.nil values. Any exceptions are caught and tracked for the trace back later. The scope is popped and any return result LuaObject is returned.inherited -
debugSetPath(
String? path) → void -
inherited
-
defGlobal(
LuaObject value) → LuaObject -
inherited
-
defLocal(
LuaObject value) → LuaObject -
inherited
-
findOnSelf(
String field, {Object? or}) → LuaObject? -
First finds
fieldinside object "self" in Scope. If neither can be found,oris returned cast toLua. Iforis not provided, null is returned.inherited -
findVar(
String id) → LuaObject? -
inherited
-
findVarArgs(
) → List< LuaObject> ? -
inherited
-
lineInfo(
Token token) → String -
inherited
-
lineTag(
Token token) → String -
inherited
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
popScope(
) → void -
inherited
-
pushScope(
{LuaObject? context}) → void -
inherited
-
tokenId(
Token token, {String? prefix}) → String -
inherited
-
toString(
) → String -
A string representation of this object.
inherited
-
visitAssignExpr(
AssignExpr assignExpr) → Object? -
inherited
-
visitAssignMultiExpr(
AssignMultiExpr assignMultiExpr) → Object? -
inherited
-
visitAST(
AST ast) → Object? -
inherited
-
visitBinaryExpr(
BinaryExpr expr) → Object? -
inherited
-
visitBooleanLiteral(
BooleanLiteral boolean) → Object? -
inherited
-
visitBreakStmt(
BreakStmt stmt) → Object? -
inherited
-
visitDeclArg(
DeclArg declArg) → Object? -
inherited
-
visitDeclMultiVar(
DeclMultiVar declMultiVar) → Object? -
inherited
-
visitDeclVar(
DeclVar declVar) → Object? -
inherited
-
visitForIterLoopStmt(
ForIterLoopStmt forIterLoopStmt) → Object? -
inherited
-
visitForLoopStmt(
ForLoopStmt forLoopStmt) → Object? -
inherited
-
visitFuncExpr(
FuncExpr expr) → Object? -
inherited
-
visitGotoLabelStmt(
GotoLabelStmt stmt) → Object? -
inherited
-
visitGotoStmt(
GotoStmt stmt) → Object? -
inherited
-
visitGroupExpr(
GroupExpr groupExpr) → Object? -
inherited
-
visitIfStmt(
IfStmt stmt) → Object? -
inherited
-
visitKeyValStmt(
KeyValStmt keyval) → Object? -
inherited
-
visitMemoryAccess(
MemoryAccess memoryAccess) → Object? -
inherited
-
visitNilLiteral(
NilLiteral nil) → Object? -
inherited
-
visitNotExpr(
NotExpr notExpr) → Object? -
inherited
-
visitNumberLiteral(
NumberLiteral number) → Object? -
inherited
-
visitRawExpr(
RawExpr rawExpr) → Object? -
inherited
-
visitRepeatUntilLoopStmt(
RepeatUntilLoopStmt repeatUntilLoopStmt) → Object? -
inherited
-
visitReturnStmt(
ReturnStmt expr) → Object? -
override
-
visitSelfExpr(
SelfExpr selfExpr) → Object? -
inherited
-
visitStringLiteral(
StringLiteral string) → Object? -
inherited
-
visitTableLiteral(
TableLiteral table) → Object? -
inherited
-
visitUnaryExpr(
UnaryExpr expr) → Object? -
inherited
-
visitWhileLoopStmt(
WhileLoopStmt whileLoopStmt) → Object? -
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited