125 lines
2 KiB
Racket
125 lines
2 KiB
Racket
#lang scribble/manual
|
|
@(require (for-label racket))
|
|
|
|
@title{FunctionDef}
|
|
FunctionDefs contain code which can be executed from a Function.@section{categories}
|
|
Core>Kernel
|
|
@section{related}
|
|
Classes/Function
|
|
|
|
@section{description}
|
|
|
|
|
|
@section{subsection}
|
|
Related Keywords
|
|
|
|
@section{method}
|
|
thisFunctionDef
|
|
The global pseudo-variable
|
|
@racketblock[thisFunctionDef:: always evaluates to the
|
|
current enclosing FunctionDef.
|
|
|
|
See also: link::Classes/Function#.thisFunction#thisFunction::
|
|
|
|
]
|
|
@section{instanceMethods}
|
|
|
|
|
|
@section{subsection}
|
|
Accessing
|
|
|
|
Even though it is possible to change the values in the various arrays that define the FunctionDef,
|
|
you should not do it, unless you like to crash.
|
|
|
|
@section{method}
|
|
code
|
|
|
|
Get the byte code array.
|
|
|
|
|
|
@racketblock[
|
|
{ |a = 9, b = 10, c| a + b }.def.code;
|
|
::
|
|
|
|
]
|
|
@section{method}
|
|
sourceCode
|
|
|
|
Get the source code string.
|
|
|
|
@racketblock[
|
|
{ |a = 9, b = 10, c| a + b }.def.sourceCode.postcs;
|
|
::
|
|
|
|
]
|
|
@section{method}
|
|
context
|
|
|
|
Get the enclosing FunctionDef or Method.
|
|
|
|
@section{method}
|
|
findReferences
|
|
|
|
return a list of all references to a given symbol.
|
|
|
|
@section{method}
|
|
argNames
|
|
|
|
Get the Array of Symbols of the argument names.
|
|
|
|
|
|
@racketblock[
|
|
{ |a = 9, b = 10, c| a + b }.def.argNames;
|
|
::
|
|
]
|
|
@section{method}
|
|
prototypeFrame
|
|
|
|
Get the array of default values for argument and temporary variables.
|
|
|
|
|
|
@racketblock[
|
|
{ |a = 9, b = 10, c| a + b }.def.prototypeFrame;
|
|
::
|
|
]
|
|
@section{method}
|
|
varNames
|
|
|
|
Get the Array of Symbols of the local variable names.
|
|
|
|
|
|
@racketblock[
|
|
{ |a = 9, b = 10, c| var x = 9; a + b + x }.def.varNames;
|
|
::
|
|
]
|
|
@section{method}
|
|
argumentString
|
|
|
|
Return a string that contains arguments and their default values for embedding in a string
|
|
|
|
|
|
@racketblock[
|
|
{ |a = 9, b = 10, c| a + b }.def.argumentString;
|
|
::
|
|
|
|
]
|
|
@section{method}
|
|
makeEnvirFromArgs
|
|
|
|
Get the Array of Symbols of the local variable names.
|
|
|
|
|
|
@racketblock[
|
|
{ |a = 9, b = 10, c| a + b }.def.makeEnvirFromArgs;
|
|
::
|
|
|
|
]
|
|
@section{subsection}
|
|
Utilities
|
|
|
|
@section{method}
|
|
dumpByteCodes
|
|
|
|
"Disassemble" and post the FunctionDef's byte code instructions to the text window.
|
|
|
|
|