Example usage for org.eclipse.jdt.core.dom WildcardType isUpperBound

List of usage examples for org.eclipse.jdt.core.dom WildcardType isUpperBound

Introduction

In this page you can find the example usage for org.eclipse.jdt.core.dom WildcardType isUpperBound.

Prototype

boolean isUpperBound

To view the source code for org.eclipse.jdt.core.dom WildcardType isUpperBound.

Click Source Link

Document

Indicates whether the wildcard bound is an upper bound ("extends") as opposed to a lower bound ("super").

Usage

From source file:at.bestsolution.fxide.jdt.corext.dom.ASTFlattener.java

License:Open Source License

@Override
public boolean visit(WildcardType node) {
    printTypeAnnotations(node);/*from   w w  w.  ja v  a2s.c om*/
    this.fBuffer.append("?");//$NON-NLS-1$
    Type bound = node.getBound();
    if (bound != null) {
        if (node.isUpperBound()) {
            this.fBuffer.append(" extends ");//$NON-NLS-1$
        } else {
            this.fBuffer.append(" super ");//$NON-NLS-1$
        }
        bound.accept(this);
    }
    return false;
}

From source file:boa.datagen.util.Java7Visitor.java

License:Apache License

protected String typeName(final WildcardType t) {
    String name = "?";
    if (t.getBound() != null) {
        name += " " + (t.isUpperBound() ? "extends" : "super");
        name += " " + typeName(t.getBound());
    }/*from   ww  w.j ava 2s . com*/
    return name;
}

From source file:chibi.gumtreediff.gen.jdt.cd.CdJdtVisitor.java

License:Open Source License

@Override
public boolean visit(WildcardType node) {
    String bound = node.isUpperBound() ? "extends" : "super";
    pushNode(node, bound);//from  ww w  .j a v a2 s  .c om
    return true;
}

From source file:coloredide.utils.CopiedNaiveASTFlattener.java

License:Open Source License

public boolean visit(WildcardType node) {
    this.buffer.append("?");//$NON-NLS-1$
    Type bound = node.getBound();
    if (bound != null) {
        if (node.isUpperBound()) {
            this.buffer.append(" extends ");//$NON-NLS-1$
        } else {//ww  w .j  a  v a2s  . c om
            this.buffer.append(" super ");//$NON-NLS-1$
        }
        bound.accept(this);
    }
    return false;
}

From source file:com.google.googlejavaformat.java.JavaInputAstVisitor.java

License:Apache License

/** Visitor method for {@link WildcardType}s. */
@Override/* ww w.  j av a2 s  .  co  m*/
public boolean visit(WildcardType node) {
    sync(node);
    beforeAnnotatableType(node);
    builder.open(ZERO);
    token("?");
    if (node.getBound() != null) {
        builder.open(plusFour);
        builder.space();
        token(node.isUpperBound() ? "extends" : "super");
        builder.breakOp(" ");
        node.getBound().accept(this);
        builder.close();
    }
    builder.close();
    return false;
}

From source file:com.halware.nakedide.eclipse.ext.annot.utils.AstUtils.java

License:Open Source License

public static String asString(Type type) {
    if (type.isArrayType()) {
        ArrayType arrayType = (ArrayType) type;
        return asString(arrayType.getComponentType()) + "[]";
    }/*from   ww  w  .  j a v a2  s  .  c o  m*/
    if (type.isParameterizedType()) {
        ParameterizedType parameterizedType = (ParameterizedType) type;
        List<Type> typeArguments = Generics.asT(parameterizedType.typeArguments());
        class TypeToString implements ClosureUtil.IClosure<Type, String> {
            public String eval(Type type) {
                return asString(type);
            }
        }
        return asString(parameterizedType.getType()) + "<"
                + StringUtil.join(ClosureUtil.forEach(typeArguments, new TypeToString()), ", ") + ">";
    }
    if (type.isPrimitiveType()) {
        PrimitiveType primitiveType = (PrimitiveType) type;
        return primitiveType.getPrimitiveTypeCode().toString();
    }
    if (type.isQualifiedType()) {
        QualifiedType qualifiedType = (QualifiedType) type;
        return qualifiedType.getName().getFullyQualifiedName();
    }
    if (type.isSimpleType()) {
        SimpleType simpleType = (SimpleType) type;
        return simpleType.getName().getFullyQualifiedName();
    }
    if (type.isWildcardType()) {
        WildcardType wildcardType = (WildcardType) type;
        Type boundType = wildcardType.getBound();
        if (boundType != null) {
            if (wildcardType.isUpperBound()) {
                return "? extends " + asString(boundType);
            } else {
                return "? super " + asString(boundType);
            }
        } else {
            return "?";
        }
    }
    return "(unknown type)";
}

From source file:com.kodebeagle.javaparser.TypeResolver.java

License:Apache License

/**
 * @param type/*from  www  .ja  v  a2  s.  c o m*/
 * @return
 */
protected String getNameOfType(final Type type) {
    String nameOfType = "";
    if (type != null) {
        if (type.isPrimitiveType()) {
            nameOfType = type.toString();
        } else if (type.isParameterizedType()) {
            nameOfType = getParametrizedType((ParameterizedType) type);
        } else if (type.isArrayType()) {
            final ArrayType array = (ArrayType) type;
            nameOfType = getNameOfType(array.getElementType()) /*+ "[]"*/;
        } else if (type.isUnionType()) {
            // TODO: this is used for exceptions till now
            // So we will just capture the first type that we encounter
            final UnionType uType = (UnionType) type;
            final StringBuffer sb = new StringBuffer();
            for (final Object unionedType : uType.types()) {
                sb.append(getNameOfType(((Type) unionedType)));
                break;
                // sb.append(" | ");
            }
            // sb.delete(sb.length() - 3, sb.length());
            nameOfType = sb.toString();
        } else if (type.isWildcardType()) {
            final WildcardType wType = (WildcardType) type;
            nameOfType = (wType.isUpperBound() ? "? extends " : "? super ") + getNameOfType(wType.getBound());
        } else {
            nameOfType = getFullyQualifiedNameFor(type.toString());
        }
    }
    return nameOfType;
}

From source file:de.akra.idocit.java.services.ReflectionHelper.java

License:Apache License

/**
 * Returns the identifier from the {@link Type} depending on the containing type.
 * //from   w  w w .j av a 2 s.  c o  m
 * @param type
 *            [SOURCE]
 * 
 * @return [OBJECT]
 * @see Type
 * @thematicgrid Extracting Operations
 */
public static String extractIdentifierFrom(Type type) {
    switch (type.getNodeType()) {
    case ASTNode.PRIMITIVE_TYPE: {
        PrimitiveType primitiveType = (PrimitiveType) type;
        return primitiveType.getPrimitiveTypeCode().toString();
    }
    case ASTNode.ARRAY_TYPE: {
        ArrayType arrayType = (ArrayType) type;
        String name = extractIdentifierFrom(arrayType.getElementType());
        StringBuffer identifier = new StringBuffer(name);

        for (int i = 0; i < arrayType.getDimensions(); i++) {
            identifier.append("[]");
        }
        return identifier.toString();
    }
    case ASTNode.SIMPLE_TYPE: {
        SimpleType simpleType = (SimpleType) type;
        return simpleType.getName().getFullyQualifiedName();
    }
    case ASTNode.QUALIFIED_TYPE: {
        QualifiedType qType = (QualifiedType) type;
        return extractIdentifierFrom(qType.getQualifier()) + "." + qType.getName().getIdentifier();
    }
    case ASTNode.PARAMETERIZED_TYPE: {
        ParameterizedType paramType = (ParameterizedType) type;
        StringBuffer identifier = new StringBuffer(extractIdentifierFrom(paramType.getType()));
        identifier.append('<');

        @SuppressWarnings("unchecked")
        Iterator<Type> iterTypeArgs = (Iterator<Type>) paramType.typeArguments().iterator();
        while (iterTypeArgs.hasNext()) {
            Type typeArg = iterTypeArgs.next();
            identifier.append(extractIdentifierFrom(typeArg));
            if (iterTypeArgs.hasNext()) {
                identifier.append(',');
            }
        }

        identifier.append('>');
        return identifier.toString();
    }
    case ASTNode.WILDCARD_TYPE: {
        WildcardType wildcard = (WildcardType) type;
        String identifier = "? extends ";
        if (!wildcard.isUpperBound()) {
            identifier = "? super ";
        }
        return identifier + extractIdentifierFrom(wildcard.getBound());
    }
    }
    return SignatureElement.ANONYMOUS_IDENTIFIER;
}

From source file:de.fkoeberle.autocommit.message.java.helper.TypeUtil.java

License:Open Source License

/**
 * @return a string version of the specified type or another string
 *         indicating an error./*  w  w w  .  ja v a 2 s.c  o  m*/
 */
public static void appendTypeTo(Type type, StringBuilder builder) {
    if (type instanceof SimpleType) {
        SimpleType simpleType = (SimpleType) type;
        builder.append(simpleType.getName().getFullyQualifiedName());
    } else if (type instanceof PrimitiveType) {
        PrimitiveType primitiveType = (PrimitiveType) type;
        Code code = primitiveType.getPrimitiveTypeCode();
        builder.append(code.toString());
    } else if (type instanceof ArrayType) {
        ArrayType arrayType = (ArrayType) type;
        appendTypeTo(arrayType.getComponentType(), builder);
        builder.append("[]"); //$NON-NLS-1$
    } else if (type instanceof QualifiedType) {
        // There aren't test for this case,
        // since it seems to be impossible to get an instance of
        // QualifiedType.
        // Outer.Inner gets parsed as SimpleType
        QualifiedType qualifiedType = (QualifiedType) type;
        builder.append(qualifiedType.getQualifier());
        builder.append('.');
        builder.append(qualifiedType.getName().getIdentifier());
    } else if (type instanceof ParameterizedType) {
        ParameterizedType parameterizedType = (ParameterizedType) type;
        builder.append(parameterizedType.getType());
        builder.append("<"); //$NON-NLS-1$
        @SuppressWarnings("unchecked")
        List<Type> typeArguments = parameterizedType.typeArguments();
        boolean addComma = false;
        for (Type typeArg : typeArguments) {
            if (addComma) {
                builder.append(", ");
            } else {
                addComma = true;
            }
            appendTypeTo(typeArg, builder);
        }
        builder.append(">"); //$NON-NLS-1$
    } else if (type instanceof WildcardType) {
        WildcardType wildcardType = (WildcardType) type;
        Type bound = wildcardType.getBound();
        if (bound != null) {
            if (wildcardType.isUpperBound()) {
                builder.append("? extends "); //$NON-NLS-1$
            } else {
                builder.append("? super "); //$NON-NLS-1$
            }
            appendTypeTo(bound, builder);
        } else {
            builder.append("?"); //$NON-NLS-1$
        }
    } else {
        assert false : "Expected no other types"; //$NON-NLS-1$
    }
}

From source file:edu.uci.ics.sourcerer.extractor.ast.ReferenceExtractorVisitor.java

License:Open Source License

@SuppressWarnings("unchecked")
private String getTypeFqn(Type type) {
    if (type == null) {
        logger.log(Level.SEVERE, "Attempt to get type fqn of null type!");
        throw new NullPointerException("Attempt to get type fqn of null type!");
    }//from w ww. jav  a  2  s. c  o  m
    ITypeBinding binding = type.resolveBinding();
    if (binding == null) {
        if (type.isPrimitiveType()) {
            return ((PrimitiveType) type).getPrimitiveTypeCode().toString();
        } else if (type.isSimpleType()) {
            return getUnknownFqn(((SimpleType) type).getName().getFullyQualifiedName());
        } else if (type.isArrayType()) {
            ArrayType arrayType = (ArrayType) type;
            Type elementType = arrayType.getElementType();
            if (elementType == null) {
                return getUnknownFqn(BRACKETS.substring(0, 2 * arrayType.getDimensions()));
            } else {
                return getTypeFqn(elementType) + BRACKETS.substring(0, 2 * arrayType.getDimensions());
            }
        } else if (type.isParameterizedType()) {
            ParameterizedType pType = (ParameterizedType) type;
            StringBuilder fqn = new StringBuilder(getTypeFqn(pType.getType()));
            fqn.append("<");
            boolean isFirst = true;
            for (Type arg : (List<Type>) pType.typeArguments()) {
                if (isFirst) {
                    isFirst = false;
                } else {
                    fqn.append(",");
                }
                try {
                    fqn.append(getTypeFqn(arg));
                } catch (NullPointerException e) {
                    logger.log(Level.WARNING, "Eclipse NPE bug in parametrized type", e);
                    fqn.append(UNKNOWN);
                }
            }
            fqn.append(">");
            return fqn.toString();
        } else if (type.isWildcardType()) {
            WildcardType wType = (WildcardType) type;
            Type bound = wType.getBound();
            if (bound == null) {
                return "<?>";
            } else {
                return "<?" + (wType.isUpperBound() ? "+" : "-") + getTypeFqn(bound) + ">";
            }
        } else {
            logger.log(Level.SEVERE, "Unexpected node type for unresolved type!" + type.toString());
            return UNKNOWN;
        }
    } else {
        return getTypeFqn(binding);
    }
}