|
Class: JavaScriptInnerFunctionNode
Object
|
+--ParseNode
|
+--JavaScriptFunctionNode
|
+--JavaScriptInnerFunctionNode
- Package:
- stx:libjavascript
- Category:
- Languages-JavaScript-Compiling & Parsing
- Version:
- rev:
1.13
date: 2019/02/14 10:34:36
- user: cg
- file: JavaScriptInnerFunctionNode.st directory: libjavascript
- module: stx stc-classLibrary: libjavascript
accessing
-
blockArgAccessed: aBoolean
-
set/clear the flag stating if any block (=function) argument is accessed in the function
-
home: anEnvironment
-
-
indexOfFirstTemp
-
-
indexOfFirstTemp: index
-
code generation
-
codeOn: aStream inBlock: b for: aCompiler
-
this generates a block for the inner function;
Difference from block:
return is a local return;
if return is missing, retval is nil
-
rememberOuterBlockVarAccess: aVariableNode
-
accessedOuterBlockVars isNil ifTrue:[
evaluation
-
_theReceiver
-
-
evaluateIn: anEnvironment
-
-
exitWith: something
-
return via return-statement
usage example(s):
queries
-
home
-
testing
-
isInlineBlock
-
-
isInnerFunction
-
-
isJavaScriptBlock
-
visiting
-
acceptVisitor: visitor
-
Double dispatch back to the visitor, passing my type encoded in
the selector (visitor pattern)
|