eXept Software AG Logo

Smalltalk/X Webserver

Documentation of class 'JavaScriptInnerFunctionNode':

Home

Documentation
www.exept.de
Everywhere
for:
[back]

Class: JavaScriptInnerFunctionNode


Inheritance:

   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

Instance protocol:

accessing
o  blockArgAccessed: aBoolean
set/clear the flag stating if any block (=function) argument is accessed in the function

o  home: anEnvironment

o  indexOfFirstTemp

o  indexOfFirstTemp: index

code generation
o  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

o  rememberOuterBlockVarAccess: aVariableNode
accessedOuterBlockVars isNil ifTrue:[

evaluation
o  _theReceiver

o  evaluateIn: anEnvironment

o  exitWith: something
return via return-statement

usage example(s):

home exitWith:something

queries
o  home

testing
o  isInlineBlock

o  isInnerFunction

o  isJavaScriptBlock

visiting
o  acceptVisitor: visitor
Double dispatch back to the visitor, passing my type encoded in
the selector (visitor pattern)



ST/X 7.2.0.0; WebServer 1.670 at bd0aa1f87cdd.unknown:8081; Tue, 17 May 2022 20:41:47 GMT