## Class MethodCall

    java.lang.Object
      |
      +--Statement
            |
            +--ExprStmt
                  |
                  +--Expr
                        |
                        +--MethodCall

public class MethodCall
extends Expr

Field Summary
`private ArgumentList` `arglist`
`private Method` `called_method`
`private java.lang.String` `class_name`
`private int` `counter`
`private de.dhbwstuttgart.typeinference.Menge` `exprtypes`
`private de.dhbwstuttgart.typeinference.Menge` `finde_method`
`private Receiver` `receiver`
`private java.util.Hashtable` `uebernachdurch`

Fields inherited from class Expr
`usedid`

Fields inherited from class ExprStmt
`type`

Constructor Summary
`MethodCall()`

Method Summary
`void` `add_Expr(Expr e)`
`void` `codegen(ClassFile classfile, CodeAttribute code, de.dhbwstuttgart.typeinference.Menge paralist)`
`java.lang.String` `get_Name()`
`void` `sc_check_get_Method(de.dhbwstuttgart.typeinference.Menge classlist, java.lang.String methodname, boolean ext, java.util.Hashtable parach, java.util.Hashtable parabh)`
`boolean` `sc_check_method_kleiner(de.dhbwstuttgart.typeinference.Menge classlist, java.lang.String ist, java.lang.String soll, boolean ext)`
`void` `sc_check_uebergabe(de.dhbwstuttgart.typeinference.Menge classlist, de.dhbwstuttgart.typeinference.Menge method, boolean ext, int paranum, java.util.Hashtable parach, java.util.Hashtable parabh)`
`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` `sc_init_extended_fcts(de.dhbwstuttgart.typeinference.Menge method, de.dhbwstuttgart.typeinference.Menge classlist, java.lang.String methodname, java.lang.String classname, boolean ext)`
`void` `set_ArgumentList(ArgumentList al)`
`void` `set_Expr_Menge(de.dhbwstuttgart.typeinference.Menge v)`
`void` `set_Receiver(Receiver rec)`
`void` `set_UsedId(UsedId u)`

Methods inherited from class Expr
`get_Name_Menge, get_Type_Menge, get_UsedId, set_Type`

Methods inherited from class ExprStmt
`get_Type`

Methods inherited from class Statement
`print_rec, print_rec, print_rec, print_rec`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### receiver

    private Receiver receiver

### arglist

    private ArgumentList arglist

### exprtypes

    private de.dhbwstuttgart.typeinference.Menge exprtypes

### class_name

    private java.lang.String class_name

### called_method

    private Method called_method

### uebernachdurch

    private java.util.Hashtable uebernachdurch

### finde_method

    private de.dhbwstuttgart.typeinference.Menge finde_method

### counter

    private int counter

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(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`
    `SCStatementException`

### sc_check_get_Method

    public void sc_check_get_Method(de.dhbwstuttgart.typeinference.Menge classlist,
                                    java.lang.String methodname,
                                    boolean ext,
                                    java.util.Hashtable parach,
                                    java.util.Hashtable parabh)
                             throws SCStatementException

    `SCStatementException`

### sc_check_uebergabe

    public void sc_check_uebergabe(de.dhbwstuttgart.typeinference.Menge classlist,
                                   de.dhbwstuttgart.typeinference.Menge method,
                                   boolean ext,
                                   int paranum,
                                   java.util.Hashtable parach,
                                   java.util.Hashtable parabh)
                            throws SCStatementException

    `SCStatementException`

### sc_check_method_kleiner

    public boolean sc_check_method_kleiner(de.dhbwstuttgart.typeinference.Menge classlist,
                                           java.lang.String ist,
                                           java.lang.String soll,
                                           boolean ext)

### sc_init_extended_fcts

    public void sc_init_extended_fcts(de.dhbwstuttgart.typeinference.Menge method,
                                      de.dhbwstuttgart.typeinference.Menge 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_Menge

    public void set_Expr_Menge(de.dhbwstuttgart.typeinference.Menge v)

### add_Expr

    public void add_Expr(Expr e)

### codegen

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

  Specified by:
    `codegen` in class `Statement`
    `JVMCodeException`