InstructionGenerator

org.nlogo.generate.Generator.InstructionGenerator
class InstructionGenerator[A <: Instruction](original: A)

Attributes

Source
Generator.scala
Graph
Supertypes
class Object
trait Matchable
class Any

Members list

Value members

Concrete methods

def finish(): A

Attributes

Source
Generator.scala
def generate(): A

Attributes

Source
Generator.scala

Attributes

Source
Generator.scala

Attributes

Source
Generator.scala

We need the "init()" method of our GeneratedInstruction to call the init() method of the original instruction, so that all of the children on the tree get initialized to the right Workspace. This is necessary, unless we get to the point where we are doing total bytecode inlining of everything. (Remember that any Instructions that are called "old-style" with report() need to be inited too...) ~Forrest (3/12/2006)

We need the "init()" method of our GeneratedInstruction to call the init() method of the original instruction, so that all of the children on the tree get initialized to the right Workspace. This is necessary, unless we get to the point where we are doing total bytecode inlining of everything. (Remember that any Instructions that are called "old-style" with report() need to be inited too...) ~Forrest (3/12/2006)

Attributes

Source
Generator.scala
def generateInstruction(instr: Instruction, retTypeWanted: Class[_], parentInstrUID: Int, parentInstr: Instruction, argIndex: Int): Unit

Attributes

Source
Generator.scala

Attributes

Source
Generator.scala
def generateOldStyleCall(instr: Instruction, retTypeWanted: Class[_], parentInstrUID: Int, parentInstr: Instruction, argIndex: Int): Unit

Attributes

Source
Generator.scala

Attributes

Source
Generator.scala
def keep(fieldName: String, obj: Object, tpe: Type, accessCode: Int): Unit

Attributes

Source
Generator.scala
def keepAndLoadInstruction(obj: Instruction, instrUID: Int): Unit

Convenience method, for when you want to keep an object, and only load it once. If you want to be able to load it multiple times, then you should first call "keep" and save the index that is returned. Then call loadKept(index) whenever you want to load the object.

Convenience method, for when you want to keep an object, and only load it once. If you want to be able to load it multiple times, then you should first call "keep" and save the index that is returned. Then call loadKept(index) whenever you want to load the object.

Attributes

Source
Generator.scala
def keepAndLoadReporter(obj: Instruction, instrUID: Int): Unit

Attributes

Source
Generator.scala
def keepInstruction(obj: Instruction, instrUID: Int): String

returns the field name that the object will be stored in

returns the field name that the object will be stored in

Attributes

Source
Generator.scala
def keepInstructionWithType(obj: Instruction, instrUID: Int, keptType: Type): String

Attributes

Source
Generator.scala
def loadInstruction(instrUID: Int): Unit

Attributes

Source
Generator.scala
def loadKept(fieldName: String): Unit

Attributes

Source
Generator.scala
def remapFieldName(originalName: String, instrUID: Int): String

Attributes

Source
Generator.scala
def setAllKeptFields(resultInstr: Instruction): Unit

Attributes

Source
Generator.scala
def translateGetField(origFieldName: String, instrUID: Int, obj: Object, tpe: Type, accessCode: Int): Unit

Attributes

Source
Generator.scala
def translateGetStatic(origFieldName: String, instrUID: Int, obj: Object, tpe: Type, accessCode: Int): Unit

Attributes

Source
Generator.scala
def translatePutStatic(origFieldName: String, instrUID: Int, descriptor: String): Unit

Attributes

Source
Generator.scala

Concrete fields

val className: String

Attributes

Source
Generator.scala

Attributes

Source
Generator.scala
val cw: ClassWriter

Attributes

Source
Generator.scala

Attributes

Source
Generator.scala
val fullClassName: String

Attributes

Source
Generator.scala
val keptThings: HashMap[String, Object]

Attributes

Source
Generator.scala
val keptThingsAccessCodes: HashMap[String, Integer]

Attributes

Source
Generator.scala
val keptThingsTypes: HashMap[String, Type]

Attributes

Source
Generator.scala

Attributes

Source
Generator.scala

This is a kind of a hack, to create the synthetic method that javac creates to deal with code like "Turtle.class" ~Forrest (7/16/2006)

This is a kind of a hack, to create the synthetic method that javac creates to deal with code like "Turtle.class" ~Forrest (7/16/2006)

Attributes

Source
Generator.scala
val superClassFullName: String

Attributes

Source
Generator.scala