org.vishia.java2C
Class ClassData.MethodOverrideCheck

java.lang.Object
  extended by org.vishia.java2C.ClassData.MethodOverrideCheck
Enclosing class:
ClassData

private static class ClassData.MethodOverrideCheck
extends java.lang.Object

Instances of this class are created only temporary while running first pass of this class. This class stores some data about methods from super classes and interfaces. After finish first pass this informations are stored in the methods of the class. All methods, from supers and interfaces too, are stored finally in ClassData.methods and are provided by ClassData#searchMethod(String, List). to access it while running second passes (method call).


Nested Class Summary
static class ClassData.MethodOverrideCheck.MethodIndex
           
 
Field Summary
private  java.util.List<ClassData.MethodOverrideCheck.MethodIndex> listOccurence
          Index of all occurences of this method in superclasses and interfaces.
(package private)  Method method
          The method.
 java.lang.String sPathToBase
          If the method is declared in a base class or interface too, it is the path necessary to address the base class or interface started from ythis
(package private)  java.lang.String sPathToMtbl
          The path to the super method table for calling.
 
Constructor Summary
ClassData.MethodOverrideCheck(Method method, java.lang.String sPathToMtbl, java.lang.String sPathToBase)
          Creates.
 
Method Summary
(package private)  void addOccurence(ClassData.MethodOverrideable[] ref, int index)
          Adds a occurence of the method in any method table of superclasses or interfaces.
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

method

final Method method
The method. This element is null if the method is referenced in listOccurence, because the method is referenced there. It is only used for new methods of this class.


sPathToMtbl

final java.lang.String sPathToMtbl
The path to the super method table for calling.


sPathToBase

public final java.lang.String sPathToBase
If the method is declared in a base class or interface too, it is the path necessary to address the base class or interface started from ythis


listOccurence

private final java.util.List<ClassData.MethodOverrideCheck.MethodIndex> listOccurence
Index of all occurences of this method in superclasses and interfaces.

Constructor Detail

ClassData.MethodOverrideCheck

ClassData.MethodOverrideCheck(Method method,
                              java.lang.String sPathToMtbl,
                              java.lang.String sPathToBase)
Creates.

Parameters:
method - The method which is able to override
sNamePrimary - The primary name of the implementation. The instance will be create if the method is declared first.
Method Detail

addOccurence

void addOccurence(ClassData.MethodOverrideable[] ref,
                  int index)
Adds a occurence of the method in any method table of superclasses or interfaces. It is called on construction of a ClassData and takes informations from base classes and interfaces.

Parameters:
ref - reference in any ClassData.InheritanceInfo#methodTable2
index - index in the reference

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object