private String getPathAndTypeStr(TypeReference typeRef) { String name = typeRef.getName(); String packageStr = typeRef.getPackageName(); TypeReference mostOuterTypeRef = getMostOuterTypeRef(typeRef); String mostOuterTypeName = mostOuterTypeRef.getName(); if (name != null && packageStr != null && mostOuterTypeName != null && name.trim().length() > 0 && mostOuterTypeName.trim().length() > 0) { String pathStr = packageStr.replaceAll("\\.", "/") + "/" + mostOuterTypeName; String typeStr = packageStr + "." + name.replace(".", "$"); return pathStr + "|" + typeStr; } return null; }
private TypeReference getMostOuterTypeRefBySlowLookuping(TypeReference typeRef) { String name = typeRef.getName(); if (name == null) return typeRef; String packageName = typeRef.getPackageName(); if (packageName == null) return typeRef; String[] nameParts = name.split("\\$"); String newName = ""; String sep = ""; for (int i = 0; i < nameParts.length - 1; i++) { newName = newName + sep + nameParts[i]; sep = "$"; String newInternalName = packageName.replaceAll("\\.", "/") + "/" + newName; TypeReference newTypeRef = metadataSystem.lookupType(newInternalName); if (newTypeRef != null) { TypeDefinition newTypeDef = newTypeRef.resolve(); if (newTypeDef != null) { return newTypeRef; } } } return typeRef; }
@Override public String getPackageName() { return _genericDefinition.getPackageName(); }
@Override public String getPackageName() { return _genericDefinition.getPackageName(); }
@Override public String getPackageName() { return _genericDefinition.getPackageName(); }
@Override public String getPackageName() { return _elementType.getPackageName(); }
public String getPackageName() { final TypeReference declaringType = getDeclaringType(); if (declaringType != null) { return declaringType.getPackageName(); } return _packageName != null ? _packageName : StringUtilities.EMPTY; }
public String getPackageName() { final TypeReference declaringType = getDeclaringType(); if (declaringType != null) { return declaringType.getPackageName(); } return _packageName != null ? _packageName : StringUtilities.EMPTY; }
@Override public String getPackageName() { exitIfNeeded(); return _genericDefinition.getPackageName(); }
public String getPackageName() { final TypeReference declaringType = getDeclaringType(); if (declaringType != null) { return declaringType.getPackageName(); } return _packageName != null ? _packageName : StringUtilities.EMPTY; }
@Override public String getPackageName() { exitIfNeeded(); return _genericDefinition.getPackageName(); }
private boolean isRandomInit(Expression expr) { if(expr.getCode() == AstCode.InitObject) { MethodReference ctor = (MethodReference) expr.getOperand(); // It seems ok to initialize cern.jet.random generators with new Random().nextInt() if(ctor.getDeclaringType().getPackageName().equals("cern.jet.random.engine")) return true; } return false; }
private boolean isStreamFilter(MethodReference mr) { if(!mr.getName().equals("filter") || mr.getParameters().size() != 1) return false; TypeReference type = mr.getParameters().get(0).getParameterType(); return type.getSimpleName().endsWith("Predicate") && type.getPackageName().equals("java.util.function") && Types.isBaseStream(mr.getDeclaringType()); } }
private void check(MethodHandle handle, TypeReference functionalInterface, MethodContext mc, Expression expr) { if(functionalInterface.getInternalName().equals("java/util/Comparator") && handle.getHandleType() == MethodHandleType.InvokeStatic) { MethodReference mr = handle.getMethod(); if((mr.getName().equals("min") || mr.getName().equals("max")) && mr.getDeclaringType().getPackageName().equals("java.lang")) { mc.report("MaxMinMethodReferenceForComparator", 0, expr, Roles.METHOD_REFERENCE.create(mr)); } } } }
UnresolvedType(final TypeReference declaringType, final String name, final String shortName) { _name = VerifyArgument.notNull(name, "name"); _shortName = shortName; setDeclaringType(VerifyArgument.notNull(declaringType, "declaringType")); _packageName = declaringType.getPackageName(); _genericParameters = new GenericParameterCollection(this); _genericParameters.freeze(); }
UnresolvedType(final TypeReference declaringType, final String name, final String shortName) { _name = VerifyArgument.notNull(name, "name"); _shortName = shortName; setDeclaringType(VerifyArgument.notNull(declaringType, "declaringType")); _packageName = declaringType.getPackageName(); _genericParameters = new GenericParameterCollection(this); _genericParameters.freeze(); }
UnresolvedType(final TypeReference declaringType, final String name, final String shortName) { _name = VerifyArgument.notNull(name, "name"); _shortName = shortName; setDeclaringType(VerifyArgument.notNull(declaringType, "declaringType")); _packageName = declaringType.getPackageName(); _genericParameters = new GenericParameterCollection(this); _genericParameters.freeze(); }
UnresolvedType(final TypeReference declaringType, final String name, final String shortName, final List<GenericParameter> genericParameters) { _name = VerifyArgument.notNull(name, "name"); _shortName = shortName; setDeclaringType(VerifyArgument.notNull(declaringType, "declaringType")); _packageName = declaringType.getPackageName(); _genericParameters = new GenericParameterCollection(this); for (final GenericParameter genericParameter : genericParameters) { _genericParameters.add(genericParameter); } _genericParameters.freeze(); }
UnresolvedType(final TypeReference declaringType, final String name, final String shortName, final List<GenericParameter> genericParameters) { _name = VerifyArgument.notNull(name, "name"); _shortName = shortName; setDeclaringType(VerifyArgument.notNull(declaringType, "declaringType")); _packageName = declaringType.getPackageName(); _genericParameters = new GenericParameterCollection(this); for (final GenericParameter genericParameter : genericParameters) { _genericParameters.add(genericParameter); } _genericParameters.freeze(); }
UnresolvedType(final TypeReference declaringType, final String name, final String shortName, final List<GenericParameter> genericParameters) { _name = VerifyArgument.notNull(name, "name"); _shortName = shortName; setDeclaringType(VerifyArgument.notNull(declaringType, "declaringType")); _packageName = declaringType.getPackageName(); _genericParameters = new GenericParameterCollection(this); for (final GenericParameter genericParameter : genericParameters) { _genericParameters.add(genericParameter); } _genericParameters.freeze(); }