forked from JavaTX/JavaCompilerCore
89 lines
2.3 KiB
Java
89 lines
2.3 KiB
Java
|
package mycompiler.myclass;
|
|||
|
|
|||
|
import java.util.Vector;
|
|||
|
|
|||
|
import mycompiler.mybytecode.ClassFile;
|
|||
|
import mycompiler.myexception.JVMCodeException;
|
|||
|
import mycompiler.mytype.Type;
|
|||
|
import mycompiler.mytypereconstruction.replacementlistener.CReplaceTypeEvent;
|
|||
|
import typinferenz.JavaCodeResult;
|
|||
|
import typinferenz.ResultSet;
|
|||
|
import typinferenz.Typable;
|
|||
|
import typinferenz.TypeInsertable;
|
|||
|
import typinferenz.assumptions.TypeAssumptions;
|
|||
|
|
|||
|
public abstract class Field implements TypeInsertable, Typable{
|
|||
|
// ino.attribute.declid.23370.declaration
|
|||
|
protected Vector<DeclId> declid = new Vector<DeclId>(); // Vector, da 'int a, b, c, ...' auch eingeparst werden muss
|
|||
|
|
|||
|
private Type typ;
|
|||
|
|
|||
|
@Override
|
|||
|
public void setTypeVariable(Type typ) {
|
|||
|
this.typ = typ;
|
|||
|
}
|
|||
|
@Override
|
|||
|
public Type getTypeVariable() {
|
|||
|
return typ;
|
|||
|
}
|
|||
|
|
|||
|
// ino.method.codegen.23376.declaration
|
|||
|
public abstract void codegen(ClassFile classfile, Vector paralist)
|
|||
|
throws JVMCodeException;
|
|||
|
// ino.end
|
|||
|
|
|||
|
|
|||
|
|
|||
|
// ino.method.set_DeclId.23379.definition
|
|||
|
public void set_DeclId(DeclId did)
|
|||
|
// ino.end
|
|||
|
// ino.method.set_DeclId.23379.body
|
|||
|
{
|
|||
|
this.declid.addElement(did);
|
|||
|
}
|
|||
|
// ino.end
|
|||
|
|
|||
|
|
|||
|
|
|||
|
// ino.method.get_Name.23382.definition
|
|||
|
public Vector<DeclId> get_Name()
|
|||
|
// ino.end
|
|||
|
// ino.method.get_Name.23382.body
|
|||
|
{
|
|||
|
return declid;
|
|||
|
}
|
|||
|
// ino.end
|
|||
|
|
|||
|
// ino.method.getDeclIdVector.23385.definition
|
|||
|
public Vector<DeclId> getDeclIdVector()
|
|||
|
// ino.end
|
|||
|
// ino.method.getDeclIdVector.23385.body
|
|||
|
{
|
|||
|
// otth: ganzer Vektor zur<75>ckgeben, um ihn zu kopieren (vgl. MyCompiler - Konstruktor in Methode umwandeln)
|
|||
|
return declid;
|
|||
|
}
|
|||
|
// ino.end
|
|||
|
|
|||
|
// ino.method.setDeclIdVector.23388.definition
|
|||
|
public void setDeclIdVector( Vector<DeclId> vDeclId )
|
|||
|
// ino.end
|
|||
|
// ino.method.setDeclIdVector.23388.body
|
|||
|
{
|
|||
|
// otth: kompletter Vektor setzen, um ihn zu kopieren (vgl. MyCompiler - Konstruktor in Methode umwandeln)
|
|||
|
declid = vDeclId;
|
|||
|
}
|
|||
|
// ino.end
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
public abstract JavaCodeResult printJavaCode(ResultSet resultSet);
|
|||
|
|
|||
|
/**
|
|||
|
* Diese Methode generiert die Assumptions f<EFBFBD>r dieses Feld der Klasse classmember
|
|||
|
* @param classmember
|
|||
|
* @return
|
|||
|
*/
|
|||
|
public abstract TypeAssumptions createTypeAssumptions(Class classmember);
|
|||
|
}
|