mycompiler.mystatement
Class MethodCall

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

public class MethodCall
extends Expr


Field Summary
 
Fields inherited from class mycompiler.mystatement.Expr
usedid
 
Fields inherited from class mycompiler.mystatement.ExprStmt
type
 
Constructor Summary
MethodCall()
           
 
Method Summary
 void add_Expr(Expr e)
           
 void codegen(ClassFile classfile, CodeAttribute code, java.util.Vector paralist)
           
 java.lang.String get_Name()
           
 void sc_check_get_Method(java.util.Vector classlist, java.lang.String methodname, boolean ext, java.util.Hashtable parach, java.util.Hashtable parabh)
           
 boolean sc_check_method_kleiner(java.util.Vector classlist, java.lang.String ist, java.lang.String soll, boolean ext)
           
 void sc_check_uebergabe(java.util.Vector classlist, java.util.Vector method, boolean ext, int paranum, java.util.Hashtable parach, java.util.Hashtable parabh)
           
 void sc_check(java.util.Vector classname, java.util.Hashtable ch, java.util.Hashtable bh, boolean ext, java.util.Hashtable parach, java.util.Hashtable parabh)
           
 void sc_init_extended_fcts(java.util.Vector method, java.util.Vector classlist, java.lang.String methodname, java.lang.String classname, boolean ext)
           
 void set_ArgumentList(ArgumentList al)
           
 void set_Expr_Vector(java.util.Vector v)
           
 void set_Receiver(Receiver rec)
           
 void set_UsedId(UsedId u)
           
 CTripleSet TRExp(CSubstitutionSet sigma, CTypeAssumptionSet V, CSupportData supportData)
          Implementierung des Algorithmus 5.33 von Martin Plümicke
Author: Jörg Bäuerle
static CTripleSet TRMCallApp(CMultiplyTuple multiTuple, java.lang.String classOrIdentifierName, java.lang.String methodName, int paraCount, boolean isConstructorCall, CSupportData supportData)
          Implementierung des Algorithmus 5.34 von Martin Plümicke
 CTripleSet TRStatement(CSubstitutionSet sigma, CTypeAssumptionSet V, CSupportData supportData)
          Implementierung des Algorithmus 5.27 von Martin Plümicke
Author: Jörg Bäuerle
 
Methods inherited from class mycompiler.mystatement.Expr
get_Name_Vector, get_Type_Vector, get_UsedId, set_Type, 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

MethodCall

public MethodCall()
Method Detail

set_ArgumentList

public void set_ArgumentList(ArgumentList al)

get_Name

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

sc_check

public void sc_check(java.util.Vector 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

sc_check_get_Method

public void sc_check_get_Method(java.util.Vector classlist,
                                java.lang.String methodname,
                                boolean ext,
                                java.util.Hashtable parach,
                                java.util.Hashtable parabh)
                         throws SCStatementException
Throws:
SCStatementException

sc_check_uebergabe

public void sc_check_uebergabe(java.util.Vector classlist,
                               java.util.Vector method,
                               boolean ext,
                               int paranum,
                               java.util.Hashtable parach,
                               java.util.Hashtable parabh)
                        throws SCStatementException
Throws:
SCStatementException

sc_check_method_kleiner

public boolean sc_check_method_kleiner(java.util.Vector classlist,
                                       java.lang.String ist,
                                       java.lang.String soll,
                                       boolean ext)

sc_init_extended_fcts

public void sc_init_extended_fcts(java.util.Vector method,
                                  java.util.Vector classlist,
                                  java.lang.String methodname,
                                  java.lang.String classname,
                                  boolean ext)

set_Receiver

public void set_Receiver(Receiver rec)

set_UsedId

public void set_UsedId(UsedId u)
Overrides:
set_UsedId in class Expr

set_Expr_Vector

public void set_Expr_Vector(java.util.Vector v)

add_Expr

public void add_Expr(Expr e)

codegen

public void codegen(ClassFile classfile,
                    CodeAttribute code,
                    java.util.Vector paralist)
             throws JVMCodeException
Specified by:
codegen in class Statement
Throws:
JVMCodeException

TRStatement

public CTripleSet TRStatement(CSubstitutionSet sigma,
                              CTypeAssumptionSet V,
                              CSupportData supportData)
Implementierung des Algorithmus 5.27 von Martin Plümicke
Author: Jörg Bäuerle

Specified by:
TRStatement in class Statement
Parameters:
sigma -
V -
supportData -
Returns:

TRExp

public CTripleSet TRExp(CSubstitutionSet sigma,
                        CTypeAssumptionSet V,
                        CSupportData supportData)
Implementierung des Algorithmus 5.33 von Martin Plümicke
Author: Jörg Bäuerle

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

TRMCallApp

public static CTripleSet TRMCallApp(CMultiplyTuple multiTuple,
                                    java.lang.String classOrIdentifierName,
                                    java.lang.String methodName,
                                    int paraCount,
                                    boolean isConstructorCall,
                                    CSupportData supportData)
Implementierung des Algorithmus 5.34 von Martin Plümicke

Parameters:
multiTuple -
classOrIdentifierName -
methodName -
paraCount -
isConstructorCall -
supportData -
Returns: