Merge pull request #506 from andrewcsmith/patch-2
[supercollider.git] / HelpSource / Classes / FunctionDef.schelp
blob81a23e3a8a1cb9158632f8adc91779f4f92e22d3
1 class::FunctionDef
2 summary:: FunctionDefs contain code which can be executed from a Function.
3 categories::Core>Kernel
5 instanceMethods::
7 subsection::Accessing
9 Even though it is possible to change the values in the various arrays that define the FunctionDef,
10 you should not do it, unless you like to crash.
12 method::code
14 Get the byte code array.
16 code::
17 { |a = 9, b = 10, c| a + b }.def.code;
20 method::sourceCode
22 Get the source code string.
23 code::
24 { |a = 9, b = 10, c| a + b }.def.sourceCode.postcs;
27 method::context
29 Get the enclosing FunctionDef or Method.
31 method::findReferences
33 return a list of all references to a given symbol.
35 method::argNames
37 Get the Array of Symbols of the argument names.
39 code::
40 { |a = 9, b = 10, c| a + b }.def.argNames;
42 method::prototypeFrame
44 Get the array of default values for argument and temporary variables.
46 code::
47 { |a = 9, b = 10, c| a + b }.def.prototypeFrame;
49 method::varNames
51 Get the Array of Symbols of the local variable names.
53 code::
54 { |a = 9, b = 10, c| var x = 9; a + b + x }.def.varNames;
56 method::argumentString
58 Return a string that contains  arguments and their default values for embedding in a string
60 code::
61 { |a = 9, b = 10, c| a + b }.def.argumentString;
64 method::makeEnvirFromArgs
66 Get the Array of Symbols of the local variable names.
68 code::
69 { |a = 9, b = 10, c| a + b }.def.makeEnvirFromArgs;
72 subsection::Utilities
74 method::dumpByteCodes
76 "Disassemble" and post the FunctionDef's byte code instructions to the text window.