mycompiler.mystatement
Class NotExpr

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.NotExpr
All Implemented Interfaces:
ITypeReplacementListener

public class NotExpr
extends UnaryExpr


Field Summary
 
Fields inherited from class mycompiler.mystatement.Expr
usedid
 
Fields inherited from class mycompiler.mystatement.ExprStmt
type
 
Constructor Summary
NotExpr()
           
 
Method Summary
 void codegen(ClassFile classfile, CodeAttribute code, de.dhbwstuttgart.typeinference.Menge paralist)
           
 Expr get_Expr()
           
 java.lang.String get_Name()
           
 void not_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_UnaryNot(UnaryNot unot)
           
 CTripleSet TRExp(CSubstitutionSet sigma, CTypeAssumptionSet V, CSupportData supportData)
          Implementierung des Algorithmus 5.42 von Martin Pl�micke
Achtung Workaround: Wenn die BaseTypes endlich korrekt implementiert sind, dann sollte der RefType "Boolean" �berall durch den BaseType "BooleanType" 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

NotExpr

public NotExpr()
Method Detail

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

get_Name

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

get_Expr

public Expr get_Expr()

set_UnaryNot

public void set_UnaryNot(UnaryNot unot)

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

not_codegen

public void not_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.42 von Martin Pl�micke
Achtung Workaround: Wenn die BaseTypes endlich korrekt implementiert sind, dann sollte der RefType "Boolean" �berall durch den BaseType "BooleanType" 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