mycompiler.mystatement
Class NegativeExpr

java.lang.Object
  extended by mycompiler.mystatement.Statement
      extended by mycompiler.mystatement.ExprStmt
          extended by mycompiler.mystatement.Expr
              extended by mycompiler.mystatement.UnaryExpr
                  extended by mycompiler.mystatement.NegativeExpr
All Implemented Interfaces:
ITypeReplacementListener

public class NegativeExpr
extends UnaryExpr


Field Summary
 
Fields inherited from class mycompiler.mystatement.Expr
usedid
 
Fields inherited from class mycompiler.mystatement.ExprStmt
type
 
Constructor Summary
NegativeExpr()
           
 
Method Summary
 void codegen(ClassFile classfile, CodeAttribute code, de.dhbwstuttgart.typeinference.Menge paralist)
           
 java.lang.String get_Name()
           
 void neg_codegen(ClassFile classfile, CodeAttribute code, de.dhbwstuttgart.typeinference.Menge paralist)
           
 void sc_check(de.dhbwstuttgart.typeinference.Menge classname, java.util.Hashtable ch, java.util.Hashtable bh, boolean ext, java.util.Hashtable parach, java.util.Hashtable parabh)
           
 void set_Expr(Expr ex)
           
 void set_UnaryMinus(UnaryMinus umin)
           
 CTripleSet TRExp(CSubstitutionSet sigma, CTypeAssumptionSet V, CSupportData supportData)
          Implementierung des Algorithmus 5.41 von Martin Pl�micke
Achtung Workaround: Wenn die BaseTypes endlich korrekt implementiert sind, dann sollte der RefType "Integer" �berall durch den BaseType "IntegerType" ersetzt werden!!!
 CTripleSet TRStatement(CSubstitutionSet sigma, CTypeAssumptionSet V, CSupportData supportData)
           
 
Methods inherited from class mycompiler.mystatement.Expr
get_Name_Menge, get_Type_Menge, get_UsedId, set_Type, set_UsedId, TRMultiply, TRTuple
 
Methods inherited from class mycompiler.mystatement.ExprStmt
getType, getTypeLineNumber, getTypeName, replaceType, setType
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

NegativeExpr

public NegativeExpr()
Method Detail

get_Name

public java.lang.String get_Name()
Specified by:
get_Name in class Expr

sc_check

public void sc_check(de.dhbwstuttgart.typeinference.Menge classname,
                     java.util.Hashtable ch,
                     java.util.Hashtable bh,
                     boolean ext,
                     java.util.Hashtable parach,
                     java.util.Hashtable parabh)
              throws SCStatementException
Specified by:
sc_check in class Expr
Throws:
SCStatementException

set_UnaryMinus

public void set_UnaryMinus(UnaryMinus umin)

set_Expr

public void set_Expr(Expr ex)

codegen

public void codegen(ClassFile classfile,
                    CodeAttribute code,
                    de.dhbwstuttgart.typeinference.Menge paralist)
             throws JVMCodeException
Specified by:
codegen in class UnaryExpr
Throws:
JVMCodeException

neg_codegen

public void neg_codegen(ClassFile classfile,
                        CodeAttribute code,
                        de.dhbwstuttgart.typeinference.Menge paralist)
                 throws JVMCodeException
Throws:
JVMCodeException

TRExp

public CTripleSet TRExp(CSubstitutionSet sigma,
                        CTypeAssumptionSet V,
                        CSupportData supportData)
Implementierung des Algorithmus 5.41 von Martin Pl�micke
Achtung Workaround: Wenn die BaseTypes endlich korrekt implementiert sind, dann sollte der RefType "Integer" �berall durch den BaseType "IntegerType" ersetzt werden!!!
Author: J�rg B�uerle

Specified by:
TRExp in class Expr
Parameters:
sigma -
V -
supportData -
Returns:

TRStatement

public CTripleSet TRStatement(CSubstitutionSet sigma,
                              CTypeAssumptionSet V,
                              CSupportData supportData)
Specified by:
TRStatement in class Statement