Example usage for org.eclipse.jdt.internal.compiler.ast ArrayQualifiedTypeReference dimensions

List of usage examples for org.eclipse.jdt.internal.compiler.ast ArrayQualifiedTypeReference dimensions

Introduction

In this page you can find the example usage for org.eclipse.jdt.internal.compiler.ast ArrayQualifiedTypeReference dimensions.

Prototype

int dimensions

To view the source code for org.eclipse.jdt.internal.compiler.ast ArrayQualifiedTypeReference dimensions.

Click Source Link

Usage

From source file:org.eclipse.objectteams.otdt.internal.core.compiler.util.AstGenerator.java

License:Open Source License

/**
 * Wrap the baseclass reference from a tsuper role to a new type reference
 * yet using the original scope for resolving.
 * Also used for type references in callin wrappers
 *//*from   ww w.j a  v  a 2s  . c o m*/
public TypeReference alienScopeTypeReference(TypeReference original, Scope origScope) {
    if (original instanceof IAlienScopeTypeReference)
        origScope = ((IAlienScopeTypeReference) original).getAlienScope();
    //      if (origScope.parent.kind == Scope.CLASS_SCOPE)
    //         origScope = (ClassScope)origScope.parent;

    TypeReference result;
    if (original instanceof ParameterizedSingleTypeReference) {
        ParameterizedSingleTypeReference pstRef = (ParameterizedSingleTypeReference) original;
        TypeReference[] typeArguments = AstClone.copyTypeArguments(original, this.pos, pstRef.typeArguments);
        result = new AlienScopeParameterizedSingleTypeReference(pstRef.token, typeArguments, pstRef.dimensions,
                this.pos, origScope);
    } else if (original instanceof SingleTypeReference) {
        if (original instanceof ArrayTypeReference && original.dimensions() > 0) { // could be parameterized type reference
            ArrayTypeReference singleTypeRef = (ArrayTypeReference) original;
            result = new AlienScopeArrayTypeReference(singleTypeRef.token, this.pos, singleTypeRef.dimensions,
                    origScope);
        } else {
            SingleTypeReference singleTypeRef = (SingleTypeReference) original;
            result = new AlienScopeSingleTypeReference(singleTypeRef.token, this.pos, origScope);
        }
    } else if (original instanceof QualifiedTypeReference) {
        if (original instanceof ArrayQualifiedTypeReference && original.dimensions() > 0) { // could be parameterized type reference
            ArrayQualifiedTypeReference qTypeRef = (ArrayQualifiedTypeReference) original;
            result = new AlienScopeArrayQualifiedTypeReference(qTypeRef.tokens, qTypeRef.sourcePositions,
                    qTypeRef.dimensions(), origScope);
        } else if (original instanceof ParameterizedQualifiedTypeReference) {
            ParameterizedQualifiedTypeReference qTypeRef = (ParameterizedQualifiedTypeReference) original;
            result = new AlienScopeParameterizedQualifiedTypeReference(qTypeRef, origScope);
        } else {
            QualifiedTypeReference qTypeRef = (QualifiedTypeReference) original;
            result = new AlienScopeQualifiedTypeReference(qTypeRef.tokens, qTypeRef.sourcePositions, origScope);
        }
    } else {
        throw new InternalCompilerError("Unexpected type reference: " + original); //$NON-NLS-1$
    }
    result.setBaseclassDecapsulation(DecapsulationState.REPORTED);
    result.bits |= ASTNode.IgnoreRawTypeCheck;
    return result;
}

From source file:org.nabucco.framework.mda.template.java.extract.type.reference.JavaAstTypeReferenceExtractorImpl.java

License:Open Source License

/**
 * ArrayQualifiedTypeReference (Hierarchy level 2).
 * //from   w  ww .ja v a2  s .  co  m
 * @param typeReference
 *            the original type reference
 * 
 * @return the clone
 */
private ArrayQualifiedTypeReference createTypeReference(ArrayQualifiedTypeReference typeReference) {
    ArrayQualifiedTypeReference copy = null;

    if (typeReference instanceof ParameterizedQualifiedTypeReference) {
        copy = createTypeReference((ParameterizedQualifiedTypeReference) typeReference);
    } else {
        // Default.
        copy = new ArrayQualifiedTypeReference(AstUtil.copyTwoDimensionalCharArray(typeReference.tokens),
                typeReference.dimensions(), typeReference.sourcePositions.clone());
    }

    return copy;
}