List of usage examples for org.eclipse.jdt.core.dom Type isWildcardType
public final boolean isWildcardType()
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 ""; }