kmy.jint.compiler
Class CompilerHelper.Variable

java.lang.Object
  |
  +--kmy.jint.typer.AbstractVariable
        |
        +--kmy.jint.compiler.CompilerVariable
              |
              +--kmy.jint.compiler.CompilerHelper.Variable
Enclosing class:
CompilerHelper

class CompilerHelper.Variable
extends CompilerVariable


Field Summary
(package private)  BasicNode dcl
           
(package private)  JintField field
           
(package private)  boolean fieldMode
           
(package private)  boolean finalFlag
           
(package private)  Identifier name
           
(package private)  int offset
           
(package private)  JintClass scope
           
(package private)  AbstractClass type
           
(package private)  boolean virgin
           
 
Fields inherited from class kmy.jint.typer.AbstractVariable
NOT_CONST, NOTHING
 
Constructor Summary
(package private) CompilerHelper.Variable(JintClass scope, boolean fin, AbstractClass type, Identifier name, BasicNode dcl, int offset)
           
 
Method Summary
(package private)  void genGet(CodeGenerator gen, CompilerContext context)
           
(package private)  void genInit(CodeGenerator gen, CompilerContext context)
          Generate variable initialization code.
(package private)  void genPut(CodeGenerator gen, CompilerContext context)
           
(package private)  void genRet(CodeGenerator gen, CompilerContext context)
           
(package private)  AbstractClass getBase(CompilerContext context)
           
 java.lang.Object getConstValue()
           
 int getFilePos()
           
(package private)  int getRegister()
           
 AbstractClass getType()
           
private  void init(CompilerContext context)
           
 boolean isStatic()
           
 void mustBeField()
           
(package private)  void setFieldMode(boolean fieldMode)
           
(package private)  void setRegister(int reg)
           
 java.lang.String toString()
           
 
Methods inherited from class kmy.jint.typer.AbstractVariable
dscr
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, wait, wait, wait
 

Field Detail

scope

JintClass scope

type

AbstractClass type

finalFlag

boolean finalFlag

name

Identifier name

dcl

BasicNode dcl

offset

int offset

field

JintField field

virgin

boolean virgin

fieldMode

boolean fieldMode
Constructor Detail

CompilerHelper.Variable

CompilerHelper.Variable(JintClass scope,
                        boolean fin,
                        AbstractClass type,
                        Identifier name,
                        BasicNode dcl,
                        int offset)
Method Detail

init

private void init(CompilerContext context)

setFieldMode

void setFieldMode(boolean fieldMode)
Overrides:
setFieldMode in class CompilerVariable

genGet

void genGet(CodeGenerator gen,
            CompilerContext context)
      throws java.io.IOException
Overrides:
genGet in class CompilerVariable

genPut

void genPut(CodeGenerator gen,
            CompilerContext context)
      throws java.io.IOException
Overrides:
genPut in class CompilerVariable

genRet

void genRet(CodeGenerator gen,
            CompilerContext context)
      throws java.io.IOException
Overrides:
genRet in class CompilerVariable

genInit

void genInit(CodeGenerator gen,
             CompilerContext context)
       throws java.io.IOException
Description copied from class: CompilerVariable
Generate variable initialization code.
Overrides:
genInit in class CompilerVariable

setRegister

void setRegister(int reg)
Overrides:
setRegister in class CompilerVariable

getRegister

int getRegister()
Overrides:
getRegister in class CompilerVariable

getFilePos

public int getFilePos()
Overrides:
getFilePos in class CompilerVariable

getType

public AbstractClass getType()
Overrides:
getType in class AbstractVariable

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

isStatic

public boolean isStatic()
Overrides:
isStatic in class AbstractVariable

getConstValue

public java.lang.Object getConstValue()
Overrides:
getConstValue in class AbstractVariable

mustBeField

public void mustBeField()
Overrides:
mustBeField in class AbstractVariable

getBase

AbstractClass getBase(CompilerContext context)
Overrides:
getBase in class CompilerVariable