Example usage for org.eclipse.jdt.internal.compiler.lookup TypeVariableBinding superclass

List of usage examples for org.eclipse.jdt.internal.compiler.lookup TypeVariableBinding superclass

Introduction

In this page you can find the example usage for org.eclipse.jdt.internal.compiler.lookup TypeVariableBinding superclass.

Prototype

ReferenceBinding superclass

To view the source code for org.eclipse.jdt.internal.compiler.lookup TypeVariableBinding superclass.

Click Source Link

Usage

From source file:org.eclipse.jdt.internal.compiler.lookup.MethodVerifier15.java

License:Open Source License

void verify() {
    if (this.type.isAnnotationType())
        this.type.detectAnnotationCycle();

    super.verify();

    reportRawReferences();/* ww  w  .  j  a v  a  2  s  .  c  o  m*/

    for (int i = this.type.typeVariables.length; --i >= 0;) {
        TypeVariableBinding var = this.type.typeVariables[i];
        // must verify bounds if the variable has more than 1
        if (var.superInterfaces == Binding.NO_SUPERINTERFACES)
            continue;
        if (var.superInterfaces.length == 1 && var.superclass.id == TypeIds.T_JavaLangObject)
            continue;

        this.currentMethods = new HashtableOfObject(0);
        ReferenceBinding superclass = var.superclass();
        if (superclass.kind() == Binding.TYPE_PARAMETER)
            superclass = (ReferenceBinding) superclass.erasure();
        ReferenceBinding[] itsInterfaces = var.superInterfaces();
        ReferenceBinding[] superInterfaces = new ReferenceBinding[itsInterfaces.length];
        for (int j = itsInterfaces.length; --j >= 0;) {
            superInterfaces[j] = itsInterfaces[j].kind() == Binding.TYPE_PARAMETER
                    ? (ReferenceBinding) itsInterfaces[j].erasure()
                    : itsInterfaces[j];
        }
        computeInheritedMethods(superclass, superInterfaces);
        checkTypeVariableMethods(this.type.scope.referenceContext.typeParameters[i]);
    }
}