// ino.module.NewArray.8641.package package de.dhbwstuttgart.syntaxtree.statement; // ino.end // ino.module.NewArray.8641.import import java.util.Hashtable; import org.apache.bcel.generic.ClassGen; import org.apache.bcel.generic.InstructionFactory; import org.apache.bcel.generic.InstructionList; import de.dhbwstuttgart.typeinference.Menge; import de.dhbwstuttgart.bytecode.ClassGenerator; import de.dhbwstuttgart.logger.Logger; import de.dhbwstuttgart.syntaxtree.Class; import de.dhbwstuttgart.syntaxtree.SyntaxTreeNode; 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.TypeinferenceResultSet; import de.dhbwstuttgart.typeinference.assumptions.TypeAssumptions; import de.dhbwstuttgart.typeinference.exceptions.NotImplementedException; // ino.class.NewArray.25787.declaration public class NewArray extends Expr // ino.end // ino.class.NewArray.25787.body { // ino.method.NewArray.25791.definition public NewArray(int offset,int variableLength) // ino.end // ino.method.NewArray.25791.body { super(offset,variableLength); } // ino.end // ino.attribute.type.25794.declaration private Type type; // ino.end // ino.attribute.expr.25797.declaration public Menge expr = new Menge(); // ino.end // ino.attribute.parserlog.25800.declaration protected static Logger parserlog = Logger.getLogger("parser"); // ino.end // ino.method.getType.25803.defdescription type=javadoc /** * Author: J�rg B�uerle
* @return Returns the type. */ // ino.end // ino.method.getType.25803.definition public Type getType() // ino.end // ino.method.getType.25803.body { return type; } // ino.end // ino.method.setType.25806.defdescription type=javadoc /** * Author: J�rg B�uerle
* @param type The type to set. */ // ino.end // ino.method.setType.25806.definition public void setType(Type type) // ino.end // ino.method.setType.25806.body { this.type = type; } // ino.end // ino.method.get_Name.25809.definition public String get_Name() // ino.end // ino.method.get_Name.25809.body { return null; } // ino.end /* // ino.method.sc_check.25812.definition public void sc_check(Menge classname, Hashtable bh, Hashtable ch,boolean ext, Hashtable parach, Hashtable parabh) // ino.end // ino.method.sc_check.25812.body { if(ext) parserlog.debug(" ---NewArray---"); } // ino.end */ // ino.method.wandleRefTypeAttributes2GenericAttributes.25827.definition public void wandleRefTypeAttributes2GenericAttributes(Menge paralist, Menge genericMethodParameters) // ino.end // ino.method.wandleRefTypeAttributes2GenericAttributes.25827.body { } // ino.end @Override public ConstraintsSet TYPEExpr(TypeAssumptions assumptions) { // TODO Auto-generated method stub return null; } @Override public JavaCodeResult printJavaCode(ResultSet resultSet) { // TODO Auto-generated method stub return null; } @Override public Menge getChildren() { Menge ret = new Menge(); ret.addAll(this.expr); return ret; } @Override public InstructionList genByteCode(ClassGenerator _cg, TypeinferenceResultSet rs) { InstructionFactory _factory = new InstructionFactory(_cg, _cg.getConstantPool()); InstructionList il = new InstructionList(); il.append(expr.elementAt(0).genByteCode(_cg, rs)); il.append(_factory.createNewArray( org.apache.bcel.generic.Type.getType(getTypeName()), (short)1)); return il; } } // ino.end