forked from JavaTX/JavaCompilerCore
101 lines
3.0 KiB
Java
Executable File
101 lines
3.0 KiB
Java
Executable File
// ino.module.Literal.8636.package
|
||
package mycompiler.mystatement;
|
||
// ino.end
|
||
|
||
// ino.module.Literal.8636.import
|
||
import mycompiler.mybytecode.ClassFile;
|
||
import mycompiler.myexception.JVMCodeException;
|
||
import mycompiler.mytypereconstruction.CSupportData;
|
||
import mycompiler.mytypereconstruction.CTriple;
|
||
import mycompiler.mytypereconstruction.set.CSubstitutionSet;
|
||
import mycompiler.mytypereconstruction.set.CTripleSet;
|
||
import mycompiler.mytypereconstruction.set.CTypeAssumptionSet;
|
||
import mycompiler.mytypereconstruction.typeassumption.CTypeAssumption;
|
||
// ino.end
|
||
|
||
// ino.class.Literal.25490.declaration
|
||
public abstract class Literal extends Expr
|
||
// ino.end
|
||
// ino.class.Literal.25490.body
|
||
{
|
||
// ino.attribute.primitiveFlag.29399.decldescription type=line
|
||
// Gibt an, ob das Literal fuer einen Objekttyp oder
|
||
// als primitive Konstante generiert werden soll.
|
||
// Default: Konstanten werden als primitiver Typ generiert.
|
||
// ino.end
|
||
|
||
// ino.attribute.primitiveFlag.29399.declaration
|
||
private boolean primitiveFlag=true;
|
||
// ino.end
|
||
|
||
// ino.method.setPrimitiveFlag.29402.definition
|
||
public void setPrimitiveFlag(boolean b)
|
||
// ino.end
|
||
// ino.method.setPrimitiveFlag.29402.body
|
||
{
|
||
this.primitiveFlag=b;
|
||
}
|
||
// ino.end
|
||
// ino.method.getPrimitiveFlag.29405.definition
|
||
public boolean getPrimitiveFlag()
|
||
// ino.end
|
||
// ino.method.getPrimitiveFlag.29405.body
|
||
{
|
||
return(this.primitiveFlag);
|
||
}
|
||
// ino.end
|
||
|
||
|
||
// ino.method.Literal.25494.definition
|
||
public Literal(int offset,int variableLength)
|
||
// ino.end
|
||
// ino.method.Literal.25494.body
|
||
{
|
||
super(offset,variableLength);
|
||
}
|
||
// ino.end
|
||
|
||
// ino.method.TRExp.25497.defdescription type=javadoc
|
||
/**
|
||
* Implementierung des Algorithmus 5.40 von Martin Pl<50>micke
|
||
* <br>Author: J<>rg B<>uerle
|
||
* @param sigma
|
||
* @param V
|
||
* @param supportData
|
||
* @return
|
||
*/
|
||
// ino.end
|
||
// ino.method.TRExp.25497.definition
|
||
public CTripleSet TRExp(CSubstitutionSet sigma, CTypeAssumptionSet V, CSupportData supportData)
|
||
// ino.end
|
||
// ino.method.TRExp.25497.body
|
||
{
|
||
CTripleSet tripleSet = new CTripleSet();
|
||
tripleSet.addElement(new CTriple(sigma, this.getType(),V));
|
||
return tripleSet;
|
||
}
|
||
// ino.end
|
||
|
||
// ino.method.ConstantCodegen.25500.defdescription type=javadoc
|
||
/**
|
||
* Erzeugt die benoetigten Konstanteneintraege, die den Wert
|
||
* des Literals darstellen.
|
||
*/
|
||
// ino.end
|
||
// ino.method.ConstantCodegen.25500.definition
|
||
public short ConstantCodegen(ClassFile cf)
|
||
throws JVMCodeException
|
||
// ino.end
|
||
// ino.method.ConstantCodegen.25500.body
|
||
{
|
||
throw new JVMCodeException("Bytecodegenerierung fuer das Literal " + this.getClass().toString()
|
||
+ " wurde nicht implementiert!");
|
||
}
|
||
// ino.end
|
||
|
||
public void addOffsetsToExpression(CTypeAssumption localAssumption,String NameVariable,boolean isMemberVariable)
|
||
{
|
||
}
|
||
}
|
||
// ino.end
|