Example usage for org.eclipse.jdt.internal.compiler.lookup TypeConstants JAVA_LANG_ANNOTATION_TARGET

List of usage examples for org.eclipse.jdt.internal.compiler.lookup TypeConstants JAVA_LANG_ANNOTATION_TARGET

Introduction

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

Prototype

null JAVA_LANG_ANNOTATION_TARGET

To view the source code for org.eclipse.jdt.internal.compiler.lookup TypeConstants JAVA_LANG_ANNOTATION_TARGET.

Click Source Link

Usage

From source file:com.codenvy.ide.ext.java.server.internal.core.BinaryMember.java

License:Open Source License

protected IAnnotation[] getStandardAnnotations(long tagBits) {
    if ((tagBits & TagBits.AllStandardAnnotationsMask) == 0)
        return Annotation.NO_ANNOTATIONS;
    ArrayList annotations = new ArrayList();

    if ((tagBits & TagBits.AnnotationTargetMASK) != 0) {
        annotations.add(getAnnotation(TypeConstants.JAVA_LANG_ANNOTATION_TARGET));
    }//from   ww w.  ja  va2s .  com
    if ((tagBits & TagBits.AnnotationRetentionMASK) != 0) {
        annotations.add(getAnnotation(TypeConstants.JAVA_LANG_ANNOTATION_RETENTION));
    }
    if ((tagBits & TagBits.AnnotationDeprecated) != 0) {
        annotations.add(getAnnotation(TypeConstants.JAVA_LANG_DEPRECATED));
    }
    if ((tagBits & TagBits.AnnotationDocumented) != 0) {
        annotations.add(getAnnotation(TypeConstants.JAVA_LANG_ANNOTATION_DOCUMENTED));
    }
    if ((tagBits & TagBits.AnnotationInherited) != 0) {
        annotations.add(getAnnotation(TypeConstants.JAVA_LANG_ANNOTATION_INHERITED));
    }
    if ((tagBits & TagBits.AnnotationPolymorphicSignature) != 0) {
        annotations.add(getAnnotation(TypeConstants.JAVA_LANG_INVOKE_METHODHANDLE_$_POLYMORPHICSIGNATURE));
    }
    if ((tagBits & TagBits.AnnotationSafeVarargs) != 0) {
        annotations.add(getAnnotation(TypeConstants.JAVA_LANG_SAFEVARARGS));
    }
    // note that JAVA_LANG_SUPPRESSWARNINGS and JAVA_LANG_OVERRIDE cannot appear in binaries
    return (IAnnotation[]) annotations.toArray(new IAnnotation[annotations.size()]);
}

From source file:com.codenvy.ide.ext.java.server.internal.core.ClassFileInfo.java

License:Open Source License

private void generateStandardAnnotationsInfos(JavaElement javaElement, char[] parameterName, long tagBits,
        HashMap newElements) {/*from w ww . ja  va 2 s . c  o m*/
    if ((tagBits & TagBits.AllStandardAnnotationsMask) == 0)
        return;
    if ((tagBits & TagBits.AnnotationTargetMASK) != 0) {
        generateStandardAnnotation(javaElement, TypeConstants.JAVA_LANG_ANNOTATION_TARGET,
                getTargetElementTypes(tagBits), newElements);
    }
    if ((tagBits & TagBits.AnnotationRetentionMASK) != 0) {
        generateStandardAnnotation(javaElement, TypeConstants.JAVA_LANG_ANNOTATION_RETENTION,
                getRetentionPolicy(tagBits), newElements);
    }
    if ((tagBits & TagBits.AnnotationDeprecated) != 0) {
        generateStandardAnnotation(javaElement, TypeConstants.JAVA_LANG_DEPRECATED,
                Annotation.NO_MEMBER_VALUE_PAIRS, newElements);
    }
    if ((tagBits & TagBits.AnnotationDocumented) != 0) {
        generateStandardAnnotation(javaElement, TypeConstants.JAVA_LANG_ANNOTATION_DOCUMENTED,
                Annotation.NO_MEMBER_VALUE_PAIRS, newElements);
    }
    if ((tagBits & TagBits.AnnotationInherited) != 0) {
        generateStandardAnnotation(javaElement, TypeConstants.JAVA_LANG_ANNOTATION_INHERITED,
                Annotation.NO_MEMBER_VALUE_PAIRS, newElements);
    }
    if ((tagBits & TagBits.AnnotationPolymorphicSignature) != 0) {
        generateStandardAnnotation(javaElement,
                TypeConstants.JAVA_LANG_INVOKE_METHODHANDLE_$_POLYMORPHICSIGNATURE,
                Annotation.NO_MEMBER_VALUE_PAIRS, newElements);
    }
    if ((tagBits & TagBits.AnnotationSafeVarargs) != 0) {
        generateStandardAnnotation(javaElement, TypeConstants.JAVA_LANG_SAFEVARARGS,
                Annotation.NO_MEMBER_VALUE_PAIRS, newElements);
    }
    // note that JAVA_LANG_SUPPRESSWARNINGS and JAVA_LANG_OVERRIDE cannot appear in binaries
}

From source file:com.codenvy.ide.ext.java.server.internal.core.search.indexing.BinaryIndexer.java

License:Open Source License

private void addBinaryStandardAnnotations(long annotationTagBits) {
    if ((annotationTagBits & TagBits.AllStandardAnnotationsMask) == 0) {
        return;/* ww  w . j a  v a 2s.  c  o m*/
    }
    if ((annotationTagBits & TagBits.AnnotationTargetMASK) != 0) {
        char[][] compoundName = TypeConstants.JAVA_LANG_ANNOTATION_TARGET;
        addAnnotationTypeReference(compoundName[compoundName.length - 1]);
        addBinaryTargetAnnotation(annotationTagBits);
    }
    if ((annotationTagBits & TagBits.AnnotationRetentionMASK) != 0) {
        char[][] compoundName = TypeConstants.JAVA_LANG_ANNOTATION_RETENTION;
        addAnnotationTypeReference(compoundName[compoundName.length - 1]);
        addBinaryRetentionAnnotation(annotationTagBits);
    }
    if ((annotationTagBits & TagBits.AnnotationDeprecated) != 0) {
        char[][] compoundName = TypeConstants.JAVA_LANG_DEPRECATED;
        addAnnotationTypeReference(compoundName[compoundName.length - 1]);
    }
    if ((annotationTagBits & TagBits.AnnotationDocumented) != 0) {
        char[][] compoundName = TypeConstants.JAVA_LANG_ANNOTATION_DOCUMENTED;
        addAnnotationTypeReference(compoundName[compoundName.length - 1]);
    }
    if ((annotationTagBits & TagBits.AnnotationInherited) != 0) {
        char[][] compoundName = TypeConstants.JAVA_LANG_ANNOTATION_INHERITED;
        addAnnotationTypeReference(compoundName[compoundName.length - 1]);
    }
    if ((annotationTagBits & TagBits.AnnotationOverride) != 0) {
        char[][] compoundName = TypeConstants.JAVA_LANG_OVERRIDE;
        addAnnotationTypeReference(compoundName[compoundName.length - 1]);
    }
    if ((annotationTagBits & TagBits.AnnotationSuppressWarnings) != 0) {
        char[][] compoundName = TypeConstants.JAVA_LANG_SUPPRESSWARNINGS;
        addAnnotationTypeReference(compoundName[compoundName.length - 1]);
    }
    if ((annotationTagBits & TagBits.AnnotationSafeVarargs) != 0) {
        char[][] compoundName = TypeConstants.JAVA_LANG_SAFEVARARGS;
        addAnnotationTypeReference(compoundName[compoundName.length - 1]);
    }
    if ((annotationTagBits & TagBits.AnnotationPolymorphicSignature) != 0) {
        char[][] compoundName = TypeConstants.JAVA_LANG_INVOKE_METHODHANDLE_$_POLYMORPHICSIGNATURE;
        addAnnotationTypeReference(compoundName[compoundName.length - 1]);
    }
}

From source file:com.codenvy.ide.ext.java.server.internal.core.search.matching.ClassFileMatchLocator.java

License:Open Source License

private boolean checkStandardAnnotations(long annotationTagBits, TypeReferencePattern pattern) {
    if ((annotationTagBits & TagBits.AllStandardAnnotationsMask) == 0) {
        return false;
    }//from ww  w  . j a  v  a 2 s.  co m
    if ((annotationTagBits & TagBits.AnnotationTargetMASK) != 0) {
        char[][] compoundName = TypeConstants.JAVA_LANG_ANNOTATION_TARGET;
        if (checkAnnotationTypeReference(CharOperation.concatWith(compoundName, '.'), pattern)
                || ((annotationTagBits & TARGET_ANNOTATION_BITS) != 0
                        && checkAnnotationTypeReference(JAVA_LANG_ANNOTATION_ELEMENTTYPE, pattern))) {
            return true;
        }
    }
    if ((annotationTagBits & TagBits.AnnotationRetentionMASK) != 0) {
        char[][] compoundName = TypeConstants.JAVA_LANG_ANNOTATION_RETENTION;
        if (checkAnnotationTypeReference(CharOperation.concatWith(compoundName, '.'), pattern)
                || checkAnnotationTypeReference(
                        CharOperation.concatWith(TypeConstants.JAVA_LANG_ANNOTATION_RETENTIONPOLICY, '.'),
                        pattern)) {
            return true;
        }
    }
    if ((annotationTagBits & TagBits.AnnotationDeprecated) != 0) {
        char[][] compoundName = TypeConstants.JAVA_LANG_DEPRECATED;
        if (checkAnnotationTypeReference(CharOperation.concatWith(compoundName, '.'), pattern)) {
            return true;
        }
    }
    if ((annotationTagBits & TagBits.AnnotationDocumented) != 0) {
        char[][] compoundName = TypeConstants.JAVA_LANG_ANNOTATION_DOCUMENTED;
        if (checkAnnotationTypeReference(CharOperation.concatWith(compoundName, '.'), pattern)) {
            return true;
        }
    }
    if ((annotationTagBits & TagBits.AnnotationInherited) != 0) {
        char[][] compoundName = TypeConstants.JAVA_LANG_ANNOTATION_INHERITED;
        if (checkAnnotationTypeReference(CharOperation.concatWith(compoundName, '.'), pattern)) {
            return true;
        }
    }
    if ((annotationTagBits & TagBits.AnnotationOverride) != 0) {
        char[][] compoundName = TypeConstants.JAVA_LANG_OVERRIDE;
        if (checkAnnotationTypeReference(CharOperation.concatWith(compoundName, '.'), pattern)) {
            return true;
        }
    }
    if ((annotationTagBits & TagBits.AnnotationSuppressWarnings) != 0) {
        char[][] compoundName = TypeConstants.JAVA_LANG_SUPPRESSWARNINGS;
        if (checkAnnotationTypeReference(CharOperation.concatWith(compoundName, '.'), pattern)) {
            return true;
        }
    }
    if ((annotationTagBits & TagBits.AnnotationSafeVarargs) != 0) {
        char[][] compoundName = TypeConstants.JAVA_LANG_SAFEVARARGS;
        if (checkAnnotationTypeReference(CharOperation.concatWith(compoundName, '.'), pattern)) {
            return true;
        }
    }
    if ((annotationTagBits & TagBits.AnnotationPolymorphicSignature) != 0) {
        char[][] compoundName = TypeConstants.JAVA_LANG_INVOKE_METHODHANDLE_$_POLYMORPHICSIGNATURE;
        if (checkAnnotationTypeReference(CharOperation.concatWith(compoundName, '.'), pattern)) {
            return true;
        }
    }
    return false;
}

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

License:Open Source License

public void computeId() {
    // try to avoid multiple checks against a package/type name
    switch (this.compoundName.length) {

    case 3:/*  w  w w .  j a va 2s .  co  m*/
        if (!CharOperation.equals(TypeConstants.JAVA, this.compoundName[0]))
            return;

        char[] packageName = this.compoundName[1];
        if (packageName.length == 0)
            return; // just to be safe
        char[] typeName = this.compoundName[2];
        if (typeName.length == 0)
            return; // just to be safe
        // remaining types MUST be in java.*.*
        if (!CharOperation.equals(TypeConstants.LANG, this.compoundName[1])) {
            switch (packageName[0]) {
            case 'i':
                if (CharOperation.equals(packageName, TypeConstants.IO)) {
                    switch (typeName[0]) {
                    case 'E':
                        if (CharOperation.equals(typeName, TypeConstants.JAVA_IO_EXTERNALIZABLE[2]))
                            this.id = TypeIds.T_JavaIoExternalizable;
                        return;
                    case 'I':
                        if (CharOperation.equals(typeName, TypeConstants.JAVA_IO_IOEXCEPTION[2]))
                            this.id = TypeIds.T_JavaIoException;
                        return;
                    case 'O':
                        if (CharOperation.equals(typeName, TypeConstants.JAVA_IO_OBJECTSTREAMEXCEPTION[2]))
                            this.id = TypeIds.T_JavaIoObjectStreamException;
                        return;
                    case 'P':
                        if (CharOperation.equals(typeName, TypeConstants.JAVA_IO_PRINTSTREAM[2]))
                            this.id = TypeIds.T_JavaIoPrintStream;
                        return;
                    case 'S':
                        if (CharOperation.equals(typeName, TypeConstants.JAVA_IO_SERIALIZABLE[2]))
                            this.id = TypeIds.T_JavaIoSerializable;
                        return;
                    }
                }
                return;
            case 'u':
                if (CharOperation.equals(packageName, TypeConstants.UTIL)) {
                    switch (typeName[0]) {
                    case 'C':
                        if (CharOperation.equals(typeName, TypeConstants.JAVA_UTIL_COLLECTION[2]))
                            this.id = TypeIds.T_JavaUtilCollection;
                        return;
                    case 'I':
                        if (CharOperation.equals(typeName, TypeConstants.JAVA_UTIL_ITERATOR[2]))
                            this.id = TypeIds.T_JavaUtilIterator;
                        return;
                    }
                }
                return;
            }
            return;
        }

        // remaining types MUST be in java.lang.*
        switch (typeName[0]) {
        case 'A':
            switch (typeName.length) {
            case 13:
                if (CharOperation.equals(typeName, TypeConstants.JAVA_LANG_AUTOCLOSEABLE[2]))
                    this.id = TypeIds.T_JavaLangAutoCloseable;
                return;
            case 14:
                if (CharOperation.equals(typeName, TypeConstants.JAVA_LANG_ASSERTIONERROR[2]))
                    this.id = TypeIds.T_JavaLangAssertionError;
                return;
            }
            return;
        case 'B':
            switch (typeName.length) {
            case 4:
                if (CharOperation.equals(typeName, TypeConstants.JAVA_LANG_BYTE[2]))
                    this.id = TypeIds.T_JavaLangByte;
                return;
            case 7:
                if (CharOperation.equals(typeName, TypeConstants.JAVA_LANG_BOOLEAN[2]))
                    this.id = TypeIds.T_JavaLangBoolean;
                return;
            }
            return;
        case 'C':
            switch (typeName.length) {
            case 5:
                if (CharOperation.equals(typeName, TypeConstants.JAVA_LANG_CLASS[2]))
                    this.id = TypeIds.T_JavaLangClass;
                return;
            case 9:
                if (CharOperation.equals(typeName, TypeConstants.JAVA_LANG_CHARACTER[2]))
                    this.id = TypeIds.T_JavaLangCharacter;
                else if (CharOperation.equals(typeName, TypeConstants.JAVA_LANG_CLONEABLE[2]))
                    this.id = TypeIds.T_JavaLangCloneable;
                return;
            case 22:
                if (CharOperation.equals(typeName, TypeConstants.JAVA_LANG_CLASSNOTFOUNDEXCEPTION[2]))
                    this.id = TypeIds.T_JavaLangClassNotFoundException;
                return;
            }
            return;
        case 'D':
            switch (typeName.length) {
            case 6:
                if (CharOperation.equals(typeName, TypeConstants.JAVA_LANG_DOUBLE[2]))
                    this.id = TypeIds.T_JavaLangDouble;
                return;
            case 10:
                if (CharOperation.equals(typeName, TypeConstants.JAVA_LANG_DEPRECATED[2]))
                    this.id = TypeIds.T_JavaLangDeprecated;
                return;
            }
            return;
        case 'E':
            switch (typeName.length) {
            case 4:
                if (CharOperation.equals(typeName, TypeConstants.JAVA_LANG_ENUM[2]))
                    this.id = TypeIds.T_JavaLangEnum;
                return;
            case 5:
                if (CharOperation.equals(typeName, TypeConstants.JAVA_LANG_ERROR[2]))
                    this.id = TypeIds.T_JavaLangError;
                return;
            case 9:
                if (CharOperation.equals(typeName, TypeConstants.JAVA_LANG_EXCEPTION[2]))
                    this.id = TypeIds.T_JavaLangException;
                return;
            }
            return;
        case 'F':
            if (CharOperation.equals(typeName, TypeConstants.JAVA_LANG_FLOAT[2]))
                this.id = TypeIds.T_JavaLangFloat;
            return;
        case 'I':
            switch (typeName.length) {
            case 7:
                if (CharOperation.equals(typeName, TypeConstants.JAVA_LANG_INTEGER[2]))
                    this.id = TypeIds.T_JavaLangInteger;
                return;
            case 8:
                if (CharOperation.equals(typeName, TypeConstants.JAVA_LANG_ITERABLE[2]))
                    this.id = TypeIds.T_JavaLangIterable;
                return;
            case 24:
                if (CharOperation.equals(typeName, TypeConstants.JAVA_LANG_ILLEGALARGUMENTEXCEPTION[2]))
                    this.id = TypeIds.T_JavaLangIllegalArgumentException;
                return;
            }
            return;
        case 'L':
            if (CharOperation.equals(typeName, TypeConstants.JAVA_LANG_LONG[2]))
                this.id = TypeIds.T_JavaLangLong;
            return;
        case 'N':
            if (CharOperation.equals(typeName, TypeConstants.JAVA_LANG_NOCLASSDEFERROR[2]))
                this.id = TypeIds.T_JavaLangNoClassDefError;
            return;
        case 'O':
            switch (typeName.length) {
            case 6:
                if (CharOperation.equals(typeName, TypeConstants.JAVA_LANG_OBJECT[2]))
                    this.id = TypeIds.T_JavaLangObject;
                return;
            case 8:
                if (CharOperation.equals(typeName, TypeConstants.JAVA_LANG_OVERRIDE[2]))
                    this.id = TypeIds.T_JavaLangOverride;
                return;
            }
            return;
        case 'R':
            if (CharOperation.equals(typeName, TypeConstants.JAVA_LANG_RUNTIMEEXCEPTION[2]))
                this.id = TypeIds.T_JavaLangRuntimeException;
            break;
        case 'S':
            switch (typeName.length) {
            case 5:
                if (CharOperation.equals(typeName, TypeConstants.JAVA_LANG_SHORT[2]))
                    this.id = TypeIds.T_JavaLangShort;
                return;
            case 6:
                if (CharOperation.equals(typeName, TypeConstants.JAVA_LANG_STRING[2]))
                    this.id = TypeIds.T_JavaLangString;
                else if (CharOperation.equals(typeName, TypeConstants.JAVA_LANG_SYSTEM[2]))
                    this.id = TypeIds.T_JavaLangSystem;
                return;
            case 11:
                if (CharOperation.equals(typeName, TypeConstants.JAVA_LANG_SAFEVARARGS[2]))
                    this.id = TypeIds.T_JavaLangSafeVarargs;
                return;
            case 12:
                if (CharOperation.equals(typeName, TypeConstants.JAVA_LANG_STRINGBUFFER[2]))
                    this.id = TypeIds.T_JavaLangStringBuffer;
                return;
            case 13:
                if (CharOperation.equals(typeName, TypeConstants.JAVA_LANG_STRINGBUILDER[2]))
                    this.id = TypeIds.T_JavaLangStringBuilder;
                return;
            case 16:
                if (CharOperation.equals(typeName, TypeConstants.JAVA_LANG_SUPPRESSWARNINGS[2]))
                    this.id = TypeIds.T_JavaLangSuppressWarnings;
                return;
            }
            return;
        case 'T':
            if (CharOperation.equals(typeName, TypeConstants.JAVA_LANG_THROWABLE[2]))
                this.id = TypeIds.T_JavaLangThrowable;
            return;
        case 'V':
            if (CharOperation.equals(typeName, TypeConstants.JAVA_LANG_VOID[2]))
                this.id = TypeIds.T_JavaLangVoid;
            return;
        }
        break;

    case 4:
        if (!CharOperation.equals(TypeConstants.JAVA, this.compoundName[0]))
            return;
        packageName = this.compoundName[1];
        if (packageName.length == 0)
            return; // just to be safe

        packageName = this.compoundName[2];
        if (packageName.length == 0)
            return; // just to be safe
        typeName = this.compoundName[3];
        if (typeName.length == 0)
            return; // just to be safe
        switch (packageName[0]) {
        case 'a':
            if (CharOperation.equals(packageName, TypeConstants.ANNOTATION)) {
                switch (typeName[0]) {
                case 'A':
                    if (CharOperation.equals(typeName, TypeConstants.JAVA_LANG_ANNOTATION_ANNOTATION[3]))
                        this.id = TypeIds.T_JavaLangAnnotationAnnotation;
                    return;
                case 'D':
                    if (CharOperation.equals(typeName, TypeConstants.JAVA_LANG_ANNOTATION_DOCUMENTED[3]))
                        this.id = TypeIds.T_JavaLangAnnotationDocumented;
                    return;
                case 'E':
                    if (CharOperation.equals(typeName, TypeConstants.JAVA_LANG_ANNOTATION_ELEMENTTYPE[3]))
                        this.id = TypeIds.T_JavaLangAnnotationElementType;
                    return;
                case 'I':
                    if (CharOperation.equals(typeName, TypeConstants.JAVA_LANG_ANNOTATION_INHERITED[3]))
                        this.id = TypeIds.T_JavaLangAnnotationInherited;
                    return;
                case 'R':
                    switch (typeName.length) {
                    case 9:
                        if (CharOperation.equals(typeName, TypeConstants.JAVA_LANG_ANNOTATION_RETENTION[3]))
                            this.id = TypeIds.T_JavaLangAnnotationRetention;
                        return;
                    case 15:
                        if (CharOperation.equals(typeName,
                                TypeConstants.JAVA_LANG_ANNOTATION_RETENTIONPOLICY[3]))
                            this.id = TypeIds.T_JavaLangAnnotationRetentionPolicy;
                        return;
                    }
                    return;
                case 'T':
                    if (CharOperation.equals(typeName, TypeConstants.JAVA_LANG_ANNOTATION_TARGET[3]))
                        this.id = TypeIds.T_JavaLangAnnotationTarget;
                    return;
                }
            }
            return;
        case 'i':
            if (CharOperation.equals(packageName, TypeConstants.INVOKE)) {
                if (typeName.length == 0)
                    return; // just to be safe
                switch (typeName[0]) {
                case 'M':
                    if (CharOperation.equals(typeName,
                            TypeConstants.JAVA_LANG_INVOKE_METHODHANDLE_$_POLYMORPHICSIGNATURE[3]))
                        this.id = TypeIds.T_JavaLangInvokeMethodHandlePolymorphicSignature;
                    return;
                }
            }
            return;
        case 'r':
            if (CharOperation.equals(packageName, TypeConstants.REFLECT)) {
                switch (typeName[0]) {
                case 'C':
                    if (CharOperation.equals(typeName, TypeConstants.JAVA_LANG_REFLECT_CONSTRUCTOR[2]))
                        this.id = TypeIds.T_JavaLangReflectConstructor;
                    return;
                case 'F':
                    if (CharOperation.equals(typeName, TypeConstants.JAVA_LANG_REFLECT_FIELD[2]))
                        this.id = TypeIds.T_JavaLangReflectField;
                    return;
                case 'M':
                    if (CharOperation.equals(typeName, TypeConstants.JAVA_LANG_REFLECT_METHOD[2]))
                        this.id = TypeIds.T_JavaLangReflectMethod;
                    return;
                }
            }
            return;
        }
        break;
    case 5:
        if (!CharOperation.equals(TypeConstants.JAVA, this.compoundName[0]))
            return;
        packageName = this.compoundName[1];
        if (packageName.length == 0)
            return; // just to be safe

        if (CharOperation.equals(TypeConstants.LANG, packageName)) {
            packageName = this.compoundName[2];
            if (packageName.length == 0)
                return; // just to be safe
            switch (packageName[0]) {
            case 'i':
                if (CharOperation.equals(packageName, TypeConstants.INVOKE)) {
                    typeName = this.compoundName[3];
                    if (typeName.length == 0)
                        return; // just to be safe
                    switch (typeName[0]) {
                    case 'M':
                        char[] memberTypeName = this.compoundName[4];
                        if (memberTypeName.length == 0)
                            return; // just to be safe
                        if (CharOperation.equals(typeName,
                                TypeConstants.JAVA_LANG_INVOKE_METHODHANDLE_POLYMORPHICSIGNATURE[3])
                                && CharOperation.equals(memberTypeName,
                                        TypeConstants.JAVA_LANG_INVOKE_METHODHANDLE_POLYMORPHICSIGNATURE[4]))
                            this.id = TypeIds.T_JavaLangInvokeMethodHandlePolymorphicSignature;
                        return;
                    }
                }
                return;
            }
            return;
        }
    }
}