// ino.module.CastExpr.8627.package package de.dhbwstuttgart.syntaxtree.statement; // ino.end // ino.module.CastExpr.8627.import import java.util.Hashtable; import java.util.Iterator; import java.util.Vector; import mycompiler.mybytecode.ClassFile; import mycompiler.mybytecode.CodeAttribute; import mycompiler.mybytecode.JVMCode; import mycompiler.myexception.CTypeReconstructionException; import mycompiler.myexception.JVMCodeException; import mycompiler.myexception.SCExcept; import mycompiler.myexception.SCStatementException; 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; import org.apache.log4j.Logger; // ino.end import de.dhbwstuttgart.core.SyntaxTreeNode; import de.dhbwstuttgart.syntaxtree.Class; import de.dhbwstuttgart.syntaxtree.type.GenericTypeVar; import de.dhbwstuttgart.syntaxtree.type.Type; import de.dhbwstuttgart.typeinference.ConstraintsSet; import de.dhbwstuttgart.typeinference.JavaCodeResult; import de.dhbwstuttgart.typeinference.ResultSet; import de.dhbwstuttgart.typeinference.assumptions.TypeAssumptions; // ino.class.CastExpr.25126.declaration public class CastExpr extends UnaryExpr // ino.end // ino.class.CastExpr.25126.body { // ino.method.CastExpr.25130.definition public CastExpr(int offset,int variableLength) // ino.end // ino.method.CastExpr.25130.body { super(offset,variableLength); } // ino.end // ino.attribute.type.25133.declaration private Type type; // ino.end // ino.attribute.expr.25136.declaration public Expr expr; // ino.end // ino.attribute.parserlog.25139.declaration protected static Logger parserlog = Logger.getLogger("parser"); // ino.end // ino.method.get_Name.25145.definition public String get_Name() // ino.end // ino.method.get_Name.25145.body { return null; } // ino.end // ino.method.set_Type.25148.definition public void set_Type(Type ty) // ino.end // ino.method.set_Type.25148.body { this.type = ty; } // ino.end // ino.method.set_Expr.25151.definition public void set_Expr(Expr ex) // ino.end // ino.method.set_Expr.25151.body { this.expr = ex; } // ino.end // ino.method.codegen.25154.definition public void codegen(ClassFile classfile, CodeAttribute code, Vector paralist) throws JVMCodeException // ino.end // ino.method.codegen.25154.body { int itype = JVMCode.get_nType(type.getName().toString()); int iexpr = JVMCode.get_nType(expr.getTypeName()); if(itype != iexpr) { if((itype == 4) || (iexpr == 4)) { throw new JVMCodeException("JVMCodeException: CastExpr: void codegen(ClassFile classfile, Code_attribute code)"); } else { expr.set_Type(type); code.add_code(JVMCode.n2n(expr.getTypeName(), type.getName().toString())); } } else if(itype == 4) expr.set_Type(type); } // ino.end // ino.method.wandleRefTypeAttributes2GenericAttributes.25163.definition public void wandleRefTypeAttributes2GenericAttributes(Vector paralist, Vector genericMethodParameters) // ino.end // ino.method.wandleRefTypeAttributes2GenericAttributes.25163.body { } // ino.end public void addOffsetsToExpression(CTypeAssumption localAssumption,String NameVariable,boolean isMemberVariable) { expr.addOffsetsToExpression(localAssumption,NameVariable,isMemberVariable); } @Override public ConstraintsSet TYPEExpr(TypeAssumptions assumptions) { // TODO Auto-generated method stub return null; } @Override public JavaCodeResult printJavaCode(ResultSet resultSet) { return new JavaCodeResult("(("+this.usedid+")").attach(this.expr.printJavaCode(resultSet)).attach(")"); } @Override public Vector getChildren() { Vector ret = new Vector(); ret.add(this.expr); return ret; } } // ino.end