public boolean hasMethod(String className, String methodName, String arguments) { // Perform raw lookup className = getRawClass(className); methodName = getRawMethod(methodName); arguments = getRawParameterList(arguments); Map<String, List<String>> methods = methodMap.get(className); if (methods != null) { List<String> strings = methods.get(methodName); if (strings != null && strings.contains(arguments)) { return true; } } List<String> inheritsFrom = this.inheritsFrom.get(className); if (inheritsFrom != null) { for (String clz : inheritsFrom) { if (hasMethod(clz, methodName, arguments)) { return true; } } } return false; }
@Override boolean isFiltered(@NonNull ApiDatabase database) { return !database.hasClass(containingClass); }
public boolean hasField(String className, String fieldName) { Set<String> fields = fieldMap.get(className); if (fields != null && fields.contains(fieldName)) { return true; } List<String> inheritsFrom = this.inheritsFrom.get(className); if (inheritsFrom != null) { for (String clz : inheritsFrom) { if (hasField(clz, fieldName)) { return true; } } } return false; }
memberMap = Maps.newHashMap(); methodMap.put(currentClass, memberMap); methodMap.put(getRawClass(currentClass), memberMap); signatures = Lists.newArrayList(); memberMap.put(methodName, signatures); memberMap.put(getRawMethod(methodName), signatures); String raw = getRawParameterList(signature); if (!signatures.contains(raw)) { signatures.add(raw); memberMap = Maps.newHashMap(); methodMap.put(currentClass, memberMap); methodMap.put(getRawClass(currentClass), memberMap); String constructor = methodName.substring(methodName.lastIndexOf('.') + 1); memberMap.put(constructor, signatures); memberMap.put(getRawMethod(methodName), signatures); memberMap.put(getRawMethod(constructor), signatures); String raw = getRawMethod(signature); if (!signatures.contains(raw)) { signatures.add(raw); addInheritsFrom(currentClass, from); addInheritsFrom(currentClass, superClass.trim());
classFqn = ApiDatabase.getRawClass(classFqn); methodName = ApiDatabase.getRawMethod(methodName);
Set<String> fields = apiFilter.getDeclaredIntFields(clsName); if ("java.util.zip.ZipEntry".equals(clsName)) { if (!found && reflectionFields != null && (apiFilter == null || apiFilter.hasClass(clsName))) {
@Override boolean isFiltered(@NonNull ApiDatabase database) { return !database.hasMethod(containingClass, methodName, parameterList); }
if (apiFilter != null && apiFilter.exists()) { try { database = new ApiDatabase(apiFilter); } catch (IOException e) { abort("Could not open API database " + apiFilter + ": " + e.getLocalizedMessage());
@NonNull static ClassItem create(@NonNull String classFqn, @NonNull ClassKind kind) { classFqn = ApiDatabase.getRawClass(classFqn); return new ClassItem(classFqn, kind); }
public ApiDatabase(@NonNull List<String> lines) { this.lines = lines; readApi(); }
memberMap = Maps.newHashMap(); methodMap.put(currentClass, memberMap); methodMap.put(getRawClass(currentClass), memberMap); signatures = Lists.newArrayList(); memberMap.put(methodName, signatures); memberMap.put(getRawMethod(methodName), signatures); String raw = getRawParameterList(signature); if (!signatures.contains(raw)) { signatures.add(raw); memberMap = Maps.newHashMap(); methodMap.put(currentClass, memberMap); methodMap.put(getRawClass(currentClass), memberMap); String constructor = methodName.substring(methodName.lastIndexOf('.') + 1); memberMap.put(constructor, signatures); memberMap.put(getRawMethod(methodName), signatures); memberMap.put(getRawMethod(constructor), signatures); String raw = getRawMethod(signature); if (!signatures.contains(raw)) { signatures.add(raw); addInheritsFrom(currentClass, from); addInheritsFrom(currentClass, superClass.trim());
classFqn = ApiDatabase.getRawClass(classFqn); methodName = ApiDatabase.getRawMethod(methodName);
Set<String> fields = apiFilter.getDeclaredIntFields(clsName); if ("java.util.zip.ZipEntry".equals(clsName)) { if (!found && reflectionFields != null && (apiFilter == null || apiFilter.hasClass(clsName))) {
@Override boolean isFiltered(@NonNull ApiDatabase database) { return !database.hasMethod(containingClass, methodName, parameterList); }
lines.addAll(Files.readLines(file, Charsets.UTF_8)); database = new ApiDatabase(lines); } catch (IOException e) { abort("Could not open API database " + apiFilters + ": " + e.getLocalizedMessage());
@NonNull static ClassItem create(@NonNull String classFqn, @NonNull ClassKind kind) { classFqn = ApiDatabase.getRawClass(classFqn); return new ClassItem(classFqn, kind); }
public ApiDatabase(@NonNull List<String> lines) { this.lines = lines; readApi(); }
public boolean hasMethod(String className, String methodName, String arguments) { // Perform raw lookup className = getRawClass(className); methodName = getRawMethod(methodName); arguments = getRawParameterList(arguments); Map<String, List<String>> methods = methodMap.get(className); if (methods != null) { List<String> strings = methods.get(methodName); if (strings != null && strings.contains(arguments)) { return true; } } List<String> inheritsFrom = this.inheritsFrom.get(className); if (inheritsFrom != null) { for (String clz : inheritsFrom) { if (hasMethod(clz, methodName, arguments)) { return true; } } } return false; }
@Nullable static MethodItem create(@Nullable String classFqn, @NonNull ClassKind classKind, @NonNull AbstractMethodDeclaration declaration, @Nullable MethodBinding binding) { if (classFqn == null || binding == null) { return null; } String returnType = getReturnType(binding); String methodName = getMethodName(binding); Argument[] arguments = declaration.arguments; boolean isVarargs = arguments != null && arguments.length > 0 && arguments[arguments.length - 1].isVarArgs(); String parameterList = getParameterList(binding, isVarargs); if (returnType == null || methodName == null) { return null; } //noinspection PointlessBooleanExpression,ConstantConditions if (!INCLUDE_TYPE_ARGS) { classFqn = ApiDatabase.getRawClass(classFqn); methodName = ApiDatabase.getRawMethod(methodName); } return new MethodItem(classFqn, classKind, returnType, methodName, parameterList, binding.isConstructor()); }
public boolean hasField(String className, String fieldName) { Set<String> fields = fieldMap.get(className); if (fields != null && fields.contains(fieldName)) { return true; } List<String> inheritsFrom = this.inheritsFrom.get(className); if (inheritsFrom != null) { for (String clz : inheritsFrom) { if (hasField(clz, fieldName)) { return true; } } } return false; }