Example usage for org.eclipse.jdt.core.dom Type isWildcardType

List of usage examples for org.eclipse.jdt.core.dom Type isWildcardType

Introduction

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

Prototype

public final boolean isWildcardType() 

Source Link

Document

Returns whether this type is a wildcard type ( WildcardType ).

Usage

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

License:Apache License

protected String typeName(final org.eclipse.jdt.core.dom.Type t) {
    if (t.isArrayType())
        return typeName((ArrayType) t);
    if (t.isParameterizedType())
        return typeName((ParameterizedType) t);
    if (t.isPrimitiveType())
        return typeName((PrimitiveType) t);
    if (t.isQualifiedType())
        return typeName((QualifiedType) t);
    if (t.isIntersectionType())
        return typeName((IntersectionType) t);
    if (t.isUnionType())
        return typeName((UnionType) t);
    if (t.isWildcardType())
        return typeName((WildcardType) t);
    return typeName((SimpleType) t);
}

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

License:Apache License

private String typeName(org.eclipse.jdt.core.dom.Type t) {
    if (t.isArrayType())
        return typeName(((ArrayType) t).getComponentType()) + "[]";
    if (t.isParameterizedType()) {
        String name = "";
        for (Object o : ((ParameterizedType) t).typeArguments()) {
            if (name.length() > 0)
                name += ", ";
            name += typeName((org.eclipse.jdt.core.dom.Type) o);
        }//from   w  ww . java2s. com
        return typeName(((ParameterizedType) t).getType()) + "<" + name + ">";
    }
    if (t.isPrimitiveType())
        return ((PrimitiveType) t).getPrimitiveTypeCode().toString();
    if (t.isQualifiedType())
        return typeName(((QualifiedType) t).getQualifier()) + "."
                + ((QualifiedType) t).getName().getFullyQualifiedName();
    if (t.isUnionType()) {
        String name = "";
        for (Object o : ((UnionType) t).types()) {
            if (name.length() > 0)
                name += " | ";
            name += typeName((org.eclipse.jdt.core.dom.Type) o);
        }
        return name;
    }
    if (t.isWildcardType()) {
        String name = "?";
        if (((WildcardType) t).getBound() != null) {
            name += " " + (((WildcardType) t).isUpperBound() ? "extends" : "super");
            name += " " + typeName(((WildcardType) t).getBound());
        }
        return name;
    }
    return ((SimpleType) t).getName().getFullyQualifiedName();
}

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   w ww . j a v a 2 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.halware.nakedide.eclipse.ext.annot.utils.AstUtils.java

License:Open Source License

/**
 * Doesn't support {@link SimpleType}s (so isn't much use).
 * /*  w w  w  .jav  a 2 s. c  o  m*/
 * @param type
 * @return
 */
public static boolean isValueType(Type type) {
    if (type.isArrayType()) {
        return false;
    }
    if (type.isParameterizedType()) {
        return false;
    }
    if (type.isPrimitiveType()) {
        return true;
    }
    if (type.isSimpleType()) {
        // because we can't tell which package the type is in :-(
        return false;
    }
    if (type.isQualifiedType()) {
        return MethodUtils.isBuiltInValueType(asString(type));
    }
    if (type.isWildcardType()) {
        return false;
    }
    return false;
}

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

License:Apache License

/**
 * @param type/*w ww. j  a va 2 s.co 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: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 w  w  .j  a  va  2s. 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);
    }
}

From source file:edu.uci.ics.sourcerer.tools.java.extractor.eclipse.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 w w.j av a 2 s. c o  m
    ITypeBinding binding = safeResolve(type);
    if (binding == null || binding.isRecovered()) {
        if (type.isPrimitiveType()) {
            return ((PrimitiveType) type).getPrimitiveTypeCode().toString();
        } else if (type.isSimpleType()) {
            return createUnknownFqn(((SimpleType) type).getName().getFullyQualifiedName());
        } else if (type.isArrayType()) {
            ArrayType arrayType = (ArrayType) type;
            Type elementType = arrayType.getElementType();
            if (elementType == null) {
                return createUnknownFqn(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 {
            if (type.isIntersectionType()) {
                IntersectionType iType = (IntersectionType) type;

                List<Type> list_types = iType.types();
                String res = "";
                for (Type tt : list_types) {
                    res += getTypeFqn(tt) + "&";
                }

                res = res.substring(0, res.length() - 1);
                return res;
            } else {
                logger.log(Level.SEVERE, "2 - Unexpected node type for unresolved type!" + type.toString());
                return UNKNOWN;
            }
        }
    } else {
        return getTypeFqn(binding);
    }
}

From source file:org.dyno.visual.swing.parser.listener.DelegationModel.java

License:Open Source License

protected boolean parse(WidgetAdapter adapter, EventSetDescriptor esd, MethodDescriptor mListener,
        ClassInstanceCreation instanceExpression) {
    AnonymousClassDeclaration acd = instanceExpression.getAnonymousClassDeclaration();
    List bodys = acd.bodyDeclarations();
    Method[] lMethods = esd.getListenerMethods();
    for (Object element : bodys) {
        if (!(element instanceof MethodDeclaration)) {
            return false;
        }//from w w w .jav a 2 s  . c  o m
        MethodDeclaration method = (MethodDeclaration) element;
        if (method.isConstructor())
            return false;
        List modifiers = method.modifiers();
        boolean isPublic = false;
        for (Object mod : modifiers) {
            IExtendedModifier exm = (IExtendedModifier) mod;
            if (exm instanceof Modifier) {
                Modifier m = (Modifier) exm;
                if (m.getKeyword().equals(ModifierKeyword.PUBLIC_KEYWORD)) {
                    isPublic = true;
                }
            }
        }
        if (!isPublic)
            return false;
        boolean isLM = false;
        List params = method.parameters();
        for (Method m : lMethods) {
            if (m.getName().equals(method.getName().getFullyQualifiedName())) {
                if (params != null && params.size() == 1) {
                    SingleVariableDeclaration svd = (SingleVariableDeclaration) params.get(0);
                    if (!svd.isVarargs()) {
                        Type type = svd.getType();
                        if (!type.isArrayType() && !type.isParameterizedType() && !type.isPrimitiveType()
                                && !type.isWildcardType()) {
                            Class<?>[] types = m.getParameterTypes();
                            Class evtType = types[0];
                            if (type.isQualifiedType()) {
                                QualifiedType qt = (QualifiedType) type;
                                if (qt.getName().getFullyQualifiedName().equals(evtType.getName())) {
                                    isLM = true;
                                }
                            } else if (type.isSimpleType()) {
                                SimpleType st = (SimpleType) type;
                                String name = st.getName().getFullyQualifiedName();
                                if (evtType.getName().indexOf(name) != -1) {
                                    isLM = true;
                                }
                            }
                        }
                    }
                }
            }
        }
        if (!isLM)
            return false;
    }
    for (Object element : bodys) {
        if (element instanceof MethodDeclaration) {
            if (processListenerMethod(adapter, esd, mListener, (MethodDeclaration) element)) {
                return true;
            }
        }
    }
    return false;
}

From source file:org.ebayopensource.dsf.javatojs.translate.DataTypeTranslator.java

License:Open Source License

public IJstType processType(final Type astType, final BaseJstNode jstNode) {
    boolean processed = false;
    if (astType == null) {
        return null;
    }//from w  ww. j  a  va 2  s  .  c o m
    IJstType processType = null;
    if (astType.isArrayType()) {
        return processArrayType((ArrayType) astType, jstNode);
    } else if (astType.isParameterizedType()) {
        return processTypeWithArgs((ParameterizedType) astType, jstNode);
    } else if (astType.isQualifiedType()) {
        return processQualifiedType((QualifiedType) astType, jstNode);
    } else if (astType.isWildcardType()) {
        return processWildcardType((WildcardType) astType, jstNode);
    } else if (astType.isSimpleType()) {
        return processName(((SimpleType) astType).getName(), jstNode);
    }

    JstType ownerType = jstNode.getOwnerType();
    String typeName = astType.toString();
    IJstType jstType = findJstType(typeName, jstNode);

    if (jstType == null) {
        jstType = getJstType(astType, typeName, ownerType, true);
    }

    if (processed) {
        return processType;
    }
    getCtx().getTranslateInfo(ownerType).setType(typeName, jstType);

    return jstType;
}

From source file:org.eclipse.emf.codegen.merge.java.facade.ast.ASTFacadeHelper.java

License:Open Source License

/**
 * Converts {@link Type} to string representation, erasing type parameters information.
 * <p>/*from w w w  .  jav a2  s .  c om*/
 * This method is used to create a method signature, and match methods by signature.
 * 
 * @param type
 * @return string representing the type
 */
public static String getTypeErasure(Type type) {
    if (type != null) {
        if (type.isArrayType()) {
            return getTypeErasure((ArrayType) type);
        } else if (type.isParameterizedType()) {
            return getTypeErasure((ParameterizedType) type);
        } else if (type.isPrimitiveType()) {
            return getTypeErasure((PrimitiveType) type);
        } else if (type.isQualifiedType()) {
            return getTypeErasure((QualifiedType) type);
        } else if (type.isSimpleType()) {
            return getTypeErasure((SimpleType) type);
        } else if (type.isWildcardType()) {
            return "";
        }
    }
    return "";
}