JavaPatternMatching/src/mycompiler/myoperator/MulOp.java

61 lines
1.9 KiB
Java
Raw Normal View History

2013-10-18 11:33:46 +00:00
// ino.module.MulOp.8605.package
package mycompiler.myoperator;
// ino.end
// ino.module.MulOp.8605.import
import java.util.Hashtable;
import java.util.Iterator;
import java.util.Vector;
import typinferenz.assumptions.TypeAssumptions;
import typinferenz.exceptions.DebugException;
2013-10-18 11:33:46 +00:00
import mycompiler.myexception.CTypeReconstructionException;
import mycompiler.mystatement.Binary;
import mycompiler.mytype.Pair;
import mycompiler.mytype.RefType;
import mycompiler.mytype.Type;
2013-10-18 11:33:46 +00:00
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.unify.Unify;
// ino.end
// ino.class.MulOp.24231.declaration
public abstract class MulOp extends Operator
// ino.end
// ino.class.MulOp.24231.body
{
// ino.method.MulOp.24235.definition
public MulOp(int offset, int variableLength)
// ino.end
// ino.method.MulOp.24235.body
{
super(offset, variableLength);
}
// ino.end
@Override
protected Hashtable<RefType, RefType> getOperatorTypes() {
Hashtable<RefType, RefType> types = new Hashtable<RefType, RefType>();
types.put(new RefType("java.lang.Integer",-1), new RefType("java.lang.Integer",-1));
types.put(new RefType("java.lang.Double",-1), new RefType("java.lang.Double",-1));
types.put(new RefType("java.lang.Float",-1), new RefType("java.lang.Float",-1));
types.put(new RefType("java.lang.Long",-1), new RefType("java.lang.Long",-1));
return types;
}
@Override
public Type getReturnType(RefType inputType, TypeAssumptions ass) {
Type iT = ass.getTypeFor(inputType);
Type ret = getOperatorTypes().get(iT);
return ret;
}
2013-10-18 11:33:46 +00:00
}
// ino.end