newCompiledCode

fun newCompiledCode(    nybbles: A_Tuple,     stackDepth: Int,     functionType: A_Type,     primitive: Primitive?,     returnTypeIfPrimitiveFails: A_Type,     literals: A_Tuple,     localVariableTypes: A_Tuple,     localConstantTypes: A_Tuple,     outerTypes: A_Tuple,     module: A_Module,     lineNumber: Int,     lineNumberEncodedDeltas: A_Tuple,     originatingPhraseIndex: Int,     originatingPhrase: A_Phrase,     packedDeclarationNames: A_String): AvailObject

Create a new compiled code object with the given properties.

Return

The new compiled code object.

Parameters

nybbles

The nybblecodes.

stackDepth

The maximum stack depth.

functionType

The type that the code's functions will have.

primitive

Which Primitive to invoke, or null.

returnTypeIfPrimitiveFails

The A_Type that will be returned by the body if this is not a primitive, or if the primitive fails.

literals

A tuple of literals.

localVariableTypes

A tuple of types of local variables.

localConstantTypes

A tuple of types of local constants.

outerTypes

A tuple of types of outer (captured) variables.

module

The module in which the code occurs, or nil.

lineNumber

The module line number on which this code starts.

lineNumberEncodedDeltas

A sequence of integers, one per L1 nybblecode instruction, encoding the delta to add to the running line number to get to the line on which the syntax that led to that nybblecode occurs. It starts at the given lineNumber. Each encoded value is shifted left from the delta magnitude, and the low bit is zero for a positive delta, and one for a negative delta. May be nil if line number information is not intended to be captured.

originatingPhraseIndex

Either the block A_Phrase from which this is built, an integer (A_Number) that can be used to fetch the phrase from the module, or nil if such a phrase does not exist.

packedDeclarationNames

A packed A_String containing the names of the block's arguments, locals, and constants.