@Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } if (!super.equals(o)) { return false; } ParameterItem that = (ParameterItem) o; return argIndex.equals(that.argIndex); }
@Override public int hashCode() { int result = super.hashCode(); result = 31 * result + argIndex.hashCode(); return result; }
MethodItem methodItem = new MethodItem(containingClass, ClassKind.CLASS, type, methodName, parameters, constructor); Item existing = findItem(containingClass, methodItem);
MethodItem methodItem = new MethodItem(containingClass, ClassKind.CLASS, type, methodName, parameters, constructor); Item existing = findItem(containingClass, methodItem);
@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()); }
@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()); }
@Override public boolean visit(ConstructorDeclaration constructorDeclaration, ClassScope scope) { Annotation[] annotations = constructorDeclaration.annotations; if (hasRelevantAnnotations(annotations)) { MethodBinding constructorBinding = constructorDeclaration.binding; if (constructorBinding == null) { return false; } String fqn = getFqn(scope); ClassKind kind = ClassKind.forType(scope.referenceContext); Item item = MethodItem.create(fqn, kind, constructorDeclaration, constructorBinding); if (item != null) { addItem(fqn, item); addAnnotations(annotations, item); } } Argument[] arguments = constructorDeclaration.arguments; if (arguments != null) { for (Argument argument : arguments) { argument.traverse(this, constructorDeclaration.scope); } } return false; }
@Override public boolean visit(ConstructorDeclaration constructorDeclaration, ClassScope scope) { Annotation[] annotations = constructorDeclaration.annotations; if (hasRelevantAnnotations(annotations)) { MethodBinding constructorBinding = constructorDeclaration.binding; if (constructorBinding == null) { return false; } String fqn = getFqn(scope); ClassKind kind = ClassKind.forType(scope.referenceContext); Item item = MethodItem.create(fqn, kind, constructorDeclaration, constructorBinding); if (item != null) { addItem(fqn, item); addAnnotations(annotations, item); } } Argument[] arguments = constructorDeclaration.arguments; if (arguments != null) { for (Argument argument : arguments) { argument.traverse(this, constructorDeclaration.scope); } } return false; }
@Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } if (!super.equals(o)) { return false; } ParameterItem that = (ParameterItem) o; return argIndex.equals(that.argIndex); }
@Override public String toString() { return "Parameter #" + argIndex + " in " + super.toString(); }
@NonNull @Override String getSignature() { return super.getSignature() + ' ' + argIndex; }
@Override public String toString() { return "Parameter #" + argIndex + " in " + super.toString(); }
@Override public int hashCode() { int result = super.hashCode(); result = 31 * result + argIndex.hashCode(); return result; }
@NonNull @Override String getSignature() { return super.getSignature() + ' ' + argIndex; }