diff --git a/semanticdb-javac/src/main/java/com/sourcegraph/semanticdb_javac/CompilerRange.java b/semanticdb-javac/src/main/java/com/sourcegraph/semanticdb_javac/CompilerRange.java index 54fb9d0b..d5ce770b 100644 --- a/semanticdb-javac/src/main/java/com/sourcegraph/semanticdb_javac/CompilerRange.java +++ b/semanticdb-javac/src/main/java/com/sourcegraph/semanticdb_javac/CompilerRange.java @@ -18,6 +18,12 @@ public enum CompilerRange { /** Map the compiler start/end positions to SemanticDB start/end positions. */ FROM_START_TO_END, + /** + * Map the compiler point position to SemanticDB end and use (point - symbol name length) for the + * SemanticDB start position. + */ + FROM_END_TO_SYMBOL_NAME, + /** * Map the compiler point position to SemanticDB start and use (point + symbol name length) for * the SemanticDB end position. @@ -59,6 +65,16 @@ public boolean isFromPoint() { } } + public boolean isFromEndPoint() { + switch (this) { + case FROM_END_TO_SYMBOL_NAME: + case FROM_END_WITH_TEXT_SEARCH: + return true; + default: + return false; + } + } + public boolean isFromTextSearch() { switch (this) { case FROM_TEXT_SEARCH: @@ -70,6 +86,15 @@ public boolean isFromTextSearch() { } } + public boolean isPlusOne() { + switch (this) { + case FROM_POINT_TO_SYMBOL_NAME_PLUS_ONE: + return true; + default: + return false; + } + } + public boolean isFromEnd() { return this == CompilerRange.FROM_END_WITH_TEXT_SEARCH; } diff --git a/semanticdb-javac/src/main/java/com/sourcegraph/semanticdb_javac/EmptyEndPosTable.java b/semanticdb-javac/src/main/java/com/sourcegraph/semanticdb_javac/EmptyEndPosTable.java deleted file mode 100644 index 4eb4a137..00000000 --- a/semanticdb-javac/src/main/java/com/sourcegraph/semanticdb_javac/EmptyEndPosTable.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.sourcegraph.semanticdb_javac; - -import com.sun.tools.javac.tree.EndPosTable; -import com.sun.tools.javac.tree.JCTree; -import com.sun.tools.javac.util.Position; - -/** A fallback implementation of EndPosTable when it's missing from the compiler. */ -public final class EmptyEndPosTable implements EndPosTable { - - @Override - public int getEndPos(JCTree tree) { - return Position.NOPOS; - } - - @Override - public void storeEnd(JCTree tree, int endpos) {} - - @Override - public int replaceTree(JCTree oldtree, JCTree newtree) { - return Position.NOPOS; - } -} diff --git a/semanticdb-javac/src/main/java/com/sourcegraph/semanticdb_javac/GlobalSymbolsCache.java b/semanticdb-javac/src/main/java/com/sourcegraph/semanticdb_javac/GlobalSymbolsCache.java index 2e6985e3..d32efa3a 100644 --- a/semanticdb-javac/src/main/java/com/sourcegraph/semanticdb_javac/GlobalSymbolsCache.java +++ b/semanticdb-javac/src/main/java/com/sourcegraph/semanticdb_javac/GlobalSymbolsCache.java @@ -1,25 +1,30 @@ package com.sourcegraph.semanticdb_javac; -import com.sun.tools.javac.code.Symbol; - import javax.lang.model.element.Element; import javax.lang.model.element.ElementKind; import javax.lang.model.element.ExecutableElement; -import java.util.*; +import javax.lang.model.element.TypeElement; +import javax.lang.model.element.PackageElement; +import javax.lang.model.element.TypeParameterElement; +import javax.lang.model.element.VariableElement; +import javax.lang.model.element.QualifiedNameable; +import javax.lang.model.type.NoType; +import java.util.IdentityHashMap; +import java.util.ArrayList; import static com.sourcegraph.semanticdb_javac.Debugging.pprint; /** Cache of SemanticDB symbols that can be referenced between files. */ public final class GlobalSymbolsCache { - private final IdentityHashMap globals = new IdentityHashMap<>(); + private final IdentityHashMap globals = new IdentityHashMap<>(); private final SemanticdbJavacOptions options; public GlobalSymbolsCache(SemanticdbJavacOptions options) { this.options = options; } - public String semanticdbSymbol(Symbol sym, LocalSymbolsCache locals) { + public String semanticdbSymbol(Element sym, LocalSymbolsCache locals) { String result = globals.get(sym); if (result != null) return result; String localResult = locals.get(sym); @@ -31,25 +36,46 @@ public String semanticdbSymbol(Symbol sym, LocalSymbolsCache locals) { return result; } - public String semanticdbSymbol(Element element, LocalSymbolsCache locals) { - return semanticdbSymbol((Symbol) element, locals); - } - - public boolean isNone(Symbol sym) { + public boolean isNone(Element sym) { return sym == null; } - private String uncachedSemanticdbSymbol(Symbol sym, LocalSymbolsCache locals) { - if (isNone(sym)) return SemanticdbSymbols.NONE; - String owner = semanticdbSymbol(sym.owner, locals); - if (owner.equals(SemanticdbSymbols.NONE)) { - return SemanticdbSymbols.ROOT_PACKAGE; - } else if (SemanticdbSymbols.isLocal(owner) || isAnonymousClass(sym) || isLocalVariable(sym)) { - return locals.put(sym); - } + private String uncachedSemanticdbSymbol(Element sym, LocalSymbolsCache locals) { + if (isNone(sym)) return SemanticdbSymbols.ROOT_PACKAGE; + + if (sym instanceof PackageElement) { + if (((PackageElement) sym).isUnnamed()) return SemanticdbSymbols.ROOT_PACKAGE; + + StringBuilder sb = new StringBuilder(); + String qualifiedName = ((PackageElement) sym).getQualifiedName().toString(); + int i = 0; + int j = 0; + while (j < qualifiedName.length()) { + if (i == qualifiedName.length() || qualifiedName.charAt(i) == '.') { + final String name = qualifiedName.substring(j, i); + SemanticdbSymbols.Descriptor desc = + new SemanticdbSymbols.Descriptor(SemanticdbSymbols.Descriptor.Kind.Package, name); + sb.append(desc.encode()); + j = i + 1; + } + i++; + } + + return sb.toString(); + } else + // check for Module without referring to Module as it doesn't exist < JDK 9 + if (sym.asType() instanceof NoType) return SemanticdbSymbols.ROOT_PACKAGE; + + if (isAnonymousClass(sym) || isLocalVariable(sym)) return locals.put(sym); + + String owner = semanticdbSymbol(sym.getEnclosingElement(), locals); + if (SemanticdbSymbols.isLocal(owner)) return locals.put(sym); + SemanticdbSymbols.Descriptor desc = semanticdbDescriptor(sym); if (options.verboseEnabled && desc.kind == SemanticdbSymbols.Descriptor.Kind.None) { - pprint(sym.getQualifiedName().toString()); + if (sym instanceof QualifiedNameable) + pprint(((QualifiedNameable) sym).getQualifiedName().toString()); + else pprint(sym.getSimpleName().toString()); pprint( String.format( "sym: %s (%s - superclass %s)", sym, sym.getClass(), sym.getClass().getSuperclass())); @@ -57,7 +83,7 @@ private String uncachedSemanticdbSymbol(Symbol sym, LocalSymbolsCache locals) { return SemanticdbSymbols.global(owner, desc); } - private boolean isLocalVariable(Symbol sym) { + private boolean isLocalVariable(Element sym) { switch (sym.getKind()) { case PARAMETER: case EXCEPTION_PARAMETER: @@ -68,28 +94,25 @@ private boolean isLocalVariable(Symbol sym) { } } - private boolean isAnonymousClass(Symbol sym) { - return sym instanceof Symbol.ClassSymbol && sym.name.isEmpty(); + private boolean isAnonymousClass(Element sym) { + return sym instanceof TypeElement && sym.getSimpleName().length() == 0; } - private SemanticdbSymbols.Descriptor semanticdbDescriptor(Symbol sym) { - if (sym instanceof Symbol.ClassSymbol) { + private SemanticdbSymbols.Descriptor semanticdbDescriptor(Element sym) { + if (sym instanceof TypeElement) { return new SemanticdbSymbols.Descriptor( - SemanticdbSymbols.Descriptor.Kind.Type, sym.name.toString()); - } else if (sym instanceof Symbol.MethodSymbol) { + SemanticdbSymbols.Descriptor.Kind.Type, sym.getSimpleName().toString()); + } else if (sym instanceof ExecutableElement) { return new SemanticdbSymbols.Descriptor( SemanticdbSymbols.Descriptor.Kind.Method, - sym.name.toString(), - methodDisambiguator((Symbol.MethodSymbol) sym)); - } else if (sym instanceof Symbol.PackageSymbol) { - return new SemanticdbSymbols.Descriptor( - SemanticdbSymbols.Descriptor.Kind.Package, sym.name.toString()); - } else if (sym instanceof Symbol.TypeVariableSymbol) { + sym.getSimpleName().toString(), + methodDisambiguator((ExecutableElement) sym)); + } else if (sym instanceof TypeParameterElement) { return new SemanticdbSymbols.Descriptor( - SemanticdbSymbols.Descriptor.Kind.TypeParameter, sym.name.toString()); - } else if (sym instanceof Symbol.VarSymbol) { + SemanticdbSymbols.Descriptor.Kind.TypeParameter, sym.getSimpleName().toString()); + } else if (sym instanceof VariableElement) { return new SemanticdbSymbols.Descriptor( - SemanticdbSymbols.Descriptor.Kind.Term, sym.name.toString()); + SemanticdbSymbols.Descriptor.Kind.Term, sym.getSimpleName().toString()); } else { return SemanticdbSymbols.Descriptor.NONE; } @@ -113,11 +136,11 @@ private SemanticdbSymbols.Descriptor semanticdbDescriptor(Symbol sym) { *

Link to * SemanticDB spec. */ - private String methodDisambiguator(Symbol.MethodSymbol sym) { - Iterable elements = sym.owner.getEnclosedElements(); + private String methodDisambiguator(ExecutableElement sym) { + Iterable elements = sym.getEnclosingElement().getEnclosedElements(); ArrayList methods = new ArrayList<>(); for (Element e : elements) { - if (e instanceof ExecutableElement && e.getSimpleName() == sym.name) { + if (e instanceof ExecutableElement && e.getSimpleName() == sym.getSimpleName()) { methods.add((ExecutableElement) e); } } diff --git a/semanticdb-javac/src/main/java/com/sourcegraph/semanticdb_javac/LocalSymbolsCache.java b/semanticdb-javac/src/main/java/com/sourcegraph/semanticdb_javac/LocalSymbolsCache.java index d72be8e7..db22699c 100644 --- a/semanticdb-javac/src/main/java/com/sourcegraph/semanticdb_javac/LocalSymbolsCache.java +++ b/semanticdb-javac/src/main/java/com/sourcegraph/semanticdb_javac/LocalSymbolsCache.java @@ -1,20 +1,20 @@ package com.sourcegraph.semanticdb_javac; -import com.sun.tools.javac.code.Symbol; +import javax.lang.model.element.Element; import java.util.IdentityHashMap; /** Cache of SemanticDB symbols that are local to a single file. */ public final class LocalSymbolsCache { - private final IdentityHashMap symbols = new IdentityHashMap<>(); + private final IdentityHashMap symbols = new IdentityHashMap<>(); private int localsCounter = -1; - public String get(Symbol sym) { + public String get(Element sym) { return symbols.get(sym); } - public String put(Symbol sym) { + public String put(Element sym) { localsCounter++; String result = SemanticdbSymbols.local(localsCounter); symbols.put(sym, result); diff --git a/semanticdb-javac/src/main/java/com/sourcegraph/semanticdb_javac/RangeFinder.java b/semanticdb-javac/src/main/java/com/sourcegraph/semanticdb_javac/RangeFinder.java index 96ef535d..27a325ce 100644 --- a/semanticdb-javac/src/main/java/com/sourcegraph/semanticdb_javac/RangeFinder.java +++ b/semanticdb-javac/src/main/java/com/sourcegraph/semanticdb_javac/RangeFinder.java @@ -1,60 +1,93 @@ package com.sourcegraph.semanticdb_javac; -import com.sun.source.tree.CompilationUnitTree; -import com.sun.source.tree.LineMap; -import com.sun.source.util.TreePath; -import com.sun.source.util.Trees; +import javax.tools.Diagnostic; import javax.lang.model.element.Element; -import javax.lang.model.element.Name; -import java.io.IOException; -import java.util.HashMap; import java.util.Optional; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -import static com.sourcegraph.semanticdb_javac.Debugging.pprint; public class RangeFinder { - public static Optional findRange( - TreePath path, - Trees trees, - CompilationUnitTree root, + public static class StartEndRange { + public int start; + public int end; + + StartEndRange(int start, int end) { + this.start = start; + this.end = end; + } + } + + public static Optional findRange( Element element, - int startPos, + String name, + int originalStartPos, + int originalEndPos, String source, boolean fromEnd) { - LineMap lineMap = root.getLineMap(); - Name name = element.getSimpleName(); - if (name.contentEquals("")) name = element.getEnclosingElement().getSimpleName(); - - int endPos = (int) trees.getSourcePositions().getEndPosition(root, path.getLeaf()); - // false for anonymous classes - if (name.length() != 0) { - startPos = findNameIn(name, fromEnd ? endPos : startPos, source, fromEnd); - endPos = startPos + name.length(); - } + int startPos = findNameIn(name, originalStartPos, originalEndPos, element, source, fromEnd); + int endPos = startPos + name.length(); if (endPos == -1 || startPos == -1) { return Optional.empty(); } - Semanticdb.Range range = - Semanticdb.Range.newBuilder() - .setStartLine((int) lineMap.getLineNumber(startPos) - 1) - .setStartCharacter((int) lineMap.getColumnNumber(startPos) - 1) - .setEndLine((int) lineMap.getLineNumber(endPos) - 1) - .setEndCharacter((int) lineMap.getColumnNumber(endPos) - 1) - .build(); - return Optional.of(range); + return Optional.of(new StartEndRange(startPos, endPos)); + } + + private static int findNameFromEnd( + String name, + int originalStartPos, + int originalEndPos, + int end, + Element element, + String source) { + if (end < 0) return -1; + int offset = source.lastIndexOf(name, end); + if (offset == -1 && originalStartPos != Diagnostic.NOPOS && originalEndPos != Diagnostic.NOPOS) + return originalStartPos; + if (offset == -1) { + return -1; + } + int endOfWord = offset + name.length(); + // found name in wrong word? e.g. finding `"A"` in `A("A")` + if (offset > 0 && Character.isJavaIdentifierPart(source.charAt(offset - 1))) + return findNameFromEnd(name, originalStartPos, originalEndPos, offset - 1, element, source); + if (endOfWord < source.length() && Character.isJavaIdentifierPart(source.charAt(endOfWord))) + return findNameFromEnd(name, originalStartPos, originalEndPos, offset - 1, element, source); + + return offset; + } + + private static int findNameFromStart( + String name, + int start, + int originalStartPos, + int originalEndPos, + Element element, + String source) { + if (start >= source.length()) return -1; + int offset = source.indexOf(name, start); + if (offset == -1 && originalStartPos != Diagnostic.NOPOS && originalEndPos != Diagnostic.NOPOS) + return originalStartPos; + if (offset == -1) { + return -1; + } + int end = offset + name.length(); + // found name in wrong word? e.g. finding `"A"` in `A("A")` + if (offset > 0 && Character.isJavaIdentifierPart(source.charAt(offset - 1))) + return findNameFromStart(name, end + 1, originalStartPos, originalEndPos, element, source); + if (end < source.length() && Character.isJavaIdentifierPart(source.charAt(end))) + return findNameFromStart(name, end + 1, originalStartPos, originalEndPos, element, source); + + return offset; } - private static int findNameIn(CharSequence name, int start, String source, boolean fromEnd) { - if (source.equals("")) return -1; + private static int findNameIn( + String name, int start, int end, Element element, String source, boolean fromEnd) { + if (source.length() == 0) return -1; int offset; - if (fromEnd) offset = source.lastIndexOf(name.toString(), start); - else offset = source.indexOf(name.toString(), start); + if (fromEnd) offset = findNameFromEnd(name, start, start, end, element, source); + else offset = findNameFromStart(name, start, end, end, element, source); if (offset > -1) { return offset; } diff --git a/semanticdb-javac/src/main/java/com/sourcegraph/semanticdb_javac/SemanticdbJavacOptions.java b/semanticdb-javac/src/main/java/com/sourcegraph/semanticdb_javac/SemanticdbJavacOptions.java index 53d5245f..b0523ad5 100644 --- a/semanticdb-javac/src/main/java/com/sourcegraph/semanticdb_javac/SemanticdbJavacOptions.java +++ b/semanticdb-javac/src/main/java/com/sourcegraph/semanticdb_javac/SemanticdbJavacOptions.java @@ -2,6 +2,7 @@ import java.io.ByteArrayOutputStream; import java.io.PrintStream; +import java.lang.reflect.Method; import java.nio.file.Path; import java.nio.file.Paths; import java.util.ArrayList; @@ -9,7 +10,7 @@ import javax.tools.JavaFileManager; import javax.tools.JavaFileObject; -import com.sun.tools.javac.util.Context; +import com.sun.source.util.JavacTask; import static javax.tools.StandardLocation.CLASS_OUTPUT; import static javax.tools.StandardLocation.SOURCE_OUTPUT; @@ -42,7 +43,7 @@ public static String missingRequiredDirectoryOption(String option) { public static String JAVAC_CLASSES_DIR_ARG = "javac-classes-directory"; - public static SemanticdbJavacOptions parse(String[] args, Context ctx) { + public static SemanticdbJavacOptions parse(String[] args, JavacTask task) { SemanticdbJavacOptions result = new SemanticdbJavacOptions(); boolean useJavacClassesDir = false; @@ -51,7 +52,7 @@ public static SemanticdbJavacOptions parse(String[] args, Context ctx) { String argValue = arg.substring("-targetroot:".length()); if (argValue.equals(JAVAC_CLASSES_DIR_ARG)) { useJavacClassesDir = true; - result.targetroot = getJavacClassesDir(result, ctx).classes; + result.targetroot = getJavacClassesDir(result, task).classes; } else { result.targetroot = Paths.get(argValue); } @@ -83,7 +84,7 @@ public static SemanticdbJavacOptions parse(String[] args, Context ctx) { } else if (arg.equals("-build-tool:bazel")) { result.uriScheme = UriScheme.BAZEL; useJavacClassesDir = true; - TargetPaths paths = getJavacClassesDir(result, ctx); + TargetPaths paths = getJavacClassesDir(result, task); result.targetroot = paths.classes; result.generatedTargetRoot = paths.sources; } else if (arg.equals("-text:on")) { @@ -122,12 +123,20 @@ private static boolean isSourcerootDefined(SemanticdbJavacOptions options) { return options.sourceroot != null; } - private static TargetPaths getJavacClassesDir(SemanticdbJavacOptions result, Context ctx) { + // warning - use of internal API + // requires --add-exports jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED + private static TargetPaths getJavacClassesDir(SemanticdbJavacOptions result, JavacTask task) { + // both Context and BasicJavacTask are internal JDK classes so not exported under >= JDK 17 + // com.sun.tools.javac.util.Context ctx = ((com.sun.tools.javac.api.BasicJavacTask) + // task).getContext(); // I'm not aware of a better way to get the class output directory from javac Path classOutputDir = null; Path sourceOutputDir = null; try { - JavaFileManager fm = ctx.get(JavaFileManager.class); + Method getContext = task.getClass().getMethod("getContext"); + Object context = getContext.invoke(task); + Method get = context.getClass().getMethod("get", Class.class); + JavaFileManager fm = (JavaFileManager) get.invoke(context, JavaFileManager.class); FileObject sourceOutputDirStub = fm.getJavaFileForOutput( SOURCE_OUTPUT, SemanticdbPlugin.stubClassName, JavaFileObject.Kind.SOURCE, null); diff --git a/semanticdb-javac/src/main/java/com/sourcegraph/semanticdb_javac/SemanticdbPlugin.java b/semanticdb-javac/src/main/java/com/sourcegraph/semanticdb_javac/SemanticdbPlugin.java index 816682c5..4aa782bd 100644 --- a/semanticdb-javac/src/main/java/com/sourcegraph/semanticdb_javac/SemanticdbPlugin.java +++ b/semanticdb-javac/src/main/java/com/sourcegraph/semanticdb_javac/SemanticdbPlugin.java @@ -1,10 +1,8 @@ package com.sourcegraph.semanticdb_javac; -import com.sun.source.util.*; -import com.sun.tools.javac.api.BasicJavacTask; -import com.sun.tools.javac.model.JavacTypes; -import com.sun.tools.javac.util.Context; -import com.sun.tools.javac.util.Options; +import com.sun.source.util.Plugin; +import com.sun.source.util.JavacTask; +import com.sun.source.util.Trees; /** Entrypoint of the semanticdb-javac compiler plugin. */ public class SemanticdbPlugin implements Plugin { @@ -18,12 +16,10 @@ public String getName() { @Override public void init(JavacTask task, String... args) { - Context ctx = ((BasicJavacTask) task).getContext(); - - SemanticdbReporter reporter = new SemanticdbReporter(Trees.instance(task)); - SemanticdbJavacOptions options = SemanticdbJavacOptions.parse(args, ctx); + Trees trees = Trees.instance(task); + SemanticdbReporter reporter = new SemanticdbReporter(trees); + SemanticdbJavacOptions options = SemanticdbJavacOptions.parse(args, task); GlobalSymbolsCache globals = new GlobalSymbolsCache(options); - JavacTypes javacTypes = JavacTypes.instance(ctx); - task.addTaskListener(new SemanticdbTaskListener(options, task, globals, reporter, javacTypes)); + task.addTaskListener(new SemanticdbTaskListener(options, task, trees, globals, reporter)); } } diff --git a/semanticdb-javac/src/main/java/com/sourcegraph/semanticdb_javac/SemanticdbSignatures.java b/semanticdb-javac/src/main/java/com/sourcegraph/semanticdb_javac/SemanticdbSignatures.java index 1a0c6a07..6e4fedf0 100644 --- a/semanticdb-javac/src/main/java/com/sourcegraph/semanticdb_javac/SemanticdbSignatures.java +++ b/semanticdb-javac/src/main/java/com/sourcegraph/semanticdb_javac/SemanticdbSignatures.java @@ -1,11 +1,15 @@ package com.sourcegraph.semanticdb_javac; -import com.sun.tools.javac.code.Symbol; -import com.sun.tools.javac.code.Type; import com.sourcegraph.semanticdb_javac.Semanticdb.*; import javax.lang.model.element.Element; -import javax.lang.model.type.*; +import javax.lang.model.element.TypeElement; +import javax.lang.model.element.ExecutableElement; +import javax.lang.model.element.VariableElement; +import javax.lang.model.element.TypeParameterElement; +import javax.lang.model.type.TypeVariable; +import javax.lang.model.type.TypeMirror; +import javax.lang.model.util.Types; import java.util.List; import java.util.stream.Collectors; @@ -15,43 +19,38 @@ public final class SemanticdbSignatures { private final GlobalSymbolsCache cache; private final LocalSymbolsCache locals; + private final Types types; - public SemanticdbSignatures(GlobalSymbolsCache cache, LocalSymbolsCache locals) { + public SemanticdbSignatures(GlobalSymbolsCache cache, LocalSymbolsCache locals, Types types) { this.cache = cache; this.locals = locals; + this.types = types; } - public Signature generateSignature(Symbol sym) { - if (sym instanceof Symbol.ClassSymbol) { - return generateClassSignature((Symbol.ClassSymbol) sym); - } else if (sym instanceof Symbol.MethodSymbol) { - return generateMethodSignature((Symbol.MethodSymbol) sym); - } else if (sym instanceof Symbol.VarSymbol) { - return generateFieldSignature((Symbol.VarSymbol) sym); - } else if (sym instanceof Symbol.TypeVariableSymbol) { - return generateTypeSignature((Symbol.TypeVariableSymbol) sym); + public Signature generateSignature(Element sym) { + if (sym instanceof TypeElement) { + return generateClassSignature((TypeElement) sym); + } else if (sym instanceof ExecutableElement) { + return generateMethodSignature((ExecutableElement) sym); + } else if (sym instanceof VariableElement) { + return generateFieldSignature((VariableElement) sym); + } else if (sym instanceof TypeParameterElement) { + return generateTypeSignature((TypeParameterElement) sym); } return null; } - private Signature generateClassSignature(Symbol.ClassSymbol sym) { + private Signature generateClassSignature(TypeElement sym) { ClassSignature.Builder builder = ClassSignature.newBuilder(); builder.setTypeParameters(generateScope(sym.getTypeParameters())); - if (sym.getSuperclass() != Type.noType) { - Semanticdb.Type superType = generateType(sym.getSuperclass()); - if (superType == null) { - superType = UNRESOLVED_TYPE_REF; + for (TypeMirror superType : types.directSupertypes(sym.asType())) { + Semanticdb.Type semanticdbType = generateType(superType); + if (semanticdbType == null) { + semanticdbType = UNRESOLVED_TYPE_REF; } - builder.addParents(superType); - } - for (Type iType : sym.getInterfaces()) { - Semanticdb.Type type = generateType(iType); - if (type == null) { - type = UNRESOLVED_TYPE_REF; - } - builder.addParents(type); + builder.addParents(semanticdbType); } builder.setDeclarations(generateScope(sym.getEnclosedElements())); @@ -59,12 +58,12 @@ private Signature generateClassSignature(Symbol.ClassSymbol sym) { return signature(builder); } - private Signature generateMethodSignature(Symbol.MethodSymbol sym) { + private Signature generateMethodSignature(ExecutableElement sym) { MethodSignature.Builder builder = MethodSignature.newBuilder(); builder.setTypeParameters(generateScope(sym.getTypeParameters())); - builder.addParameterLists(generateScope(sym.params())); + builder.addParameterLists(generateScope(sym.getParameters())); Semanticdb.Type returnType = generateType(sym.getReturnType()); if (returnType != null) { @@ -78,22 +77,27 @@ private Signature generateMethodSignature(Symbol.MethodSymbol sym) { return signature(builder); } - private Signature generateFieldSignature(Symbol.VarSymbol sym) { - Semanticdb.Type generateType = generateType(sym.type); + private Signature generateFieldSignature(VariableElement sym) { + Semanticdb.Type generateType = generateType(sym.asType()); if (generateType == null) { generateType = UNRESOLVED_TYPE_REF; } return signature(ValueSignature.newBuilder().setTpe(generateType)); } - private Signature generateTypeSignature(Symbol.TypeVariableSymbol sym) { + private Signature generateTypeSignature(TypeParameterElement sym) { TypeSignature.Builder builder = TypeSignature.newBuilder(); - builder.setTypeParameters(generateScope(sym.getTypeParameters())); + if (sym instanceof TypeElement) { + builder.setTypeParameters(generateScope(((TypeElement) sym).getTypeParameters())); + } - Semanticdb.Type upperBound = generateType(sym.type.getUpperBound()); - if (upperBound != null) builder.setUpperBound(upperBound); - else builder.setUpperBound(UNRESOLVED_TYPE_REF); + TypeMirror varType = sym.asType(); + if (varType instanceof TypeVariable) { + Semanticdb.Type upperBound = generateType(((TypeVariable) varType).getUpperBound()); + if (upperBound != null) builder.setUpperBound(upperBound); + else builder.setUpperBound(UNRESOLVED_TYPE_REF); + } else builder.setUpperBound(UNRESOLVED_TYPE_REF); return signature(builder); } @@ -107,6 +111,6 @@ private Scope generateScope(List elements) { } private Semanticdb.Type generateType(TypeMirror mirror) { - return new SemanticdbTypeVisitor(cache, locals).semanticdbType(mirror); + return new SemanticdbTypeVisitor(cache, locals, types).semanticdbType(mirror); } } diff --git a/semanticdb-javac/src/main/java/com/sourcegraph/semanticdb_javac/SemanticdbTaskListener.java b/semanticdb-javac/src/main/java/com/sourcegraph/semanticdb_javac/SemanticdbTaskListener.java index 19c75857..3844d0b3 100644 --- a/semanticdb-javac/src/main/java/com/sourcegraph/semanticdb_javac/SemanticdbTaskListener.java +++ b/semanticdb-javac/src/main/java/com/sourcegraph/semanticdb_javac/SemanticdbTaskListener.java @@ -4,7 +4,8 @@ import com.sun.source.util.TaskEvent; import com.sun.source.util.TaskListener; import com.sun.source.util.Trees; -import com.sun.tools.javac.model.JavacTypes; +import javax.lang.model.util.Elements; +import javax.lang.model.util.Types; import javax.tools.JavaFileObject; import java.io.ByteArrayOutputStream; @@ -21,25 +22,25 @@ */ public final class SemanticdbTaskListener implements TaskListener { private final SemanticdbJavacOptions options; - private final JavacTask task; private final GlobalSymbolsCache globals; private final SemanticdbReporter reporter; - private final JavacTypes javacTypes; + private final Types types; private final Trees trees; + private final Elements elements; private int noRelativePathCounter = 0; public SemanticdbTaskListener( SemanticdbJavacOptions options, JavacTask task, + Trees trees, GlobalSymbolsCache globals, - SemanticdbReporter reporter, - JavacTypes javacTypes) { + SemanticdbReporter reporter) { this.options = options; - this.task = task; this.globals = globals; this.reporter = reporter; - this.javacTypes = javacTypes; - this.trees = Trees.instance(task); + this.types = task.getTypes(); + this.trees = trees; + this.elements = task.getElements(); } @Override @@ -91,7 +92,7 @@ private void onFinishedAnalyze(TaskEvent e) { if (path != null) { if (path.isOk()) { Semanticdb.TextDocument textDocument = - new SemanticdbVisitor(task, globals, e, options, javacTypes) + new SemanticdbVisitor(globals, e.getCompilationUnit(), options, types, trees, elements) .buildTextDocument(e.getCompilationUnit()); writeSemanticdb(e, path.getOrThrow(), textDocument); } else { diff --git a/semanticdb-javac/src/main/java/com/sourcegraph/semanticdb_javac/SemanticdbTrees.java b/semanticdb-javac/src/main/java/com/sourcegraph/semanticdb_javac/SemanticdbTrees.java index 26c5e5d1..e817fe12 100644 --- a/semanticdb-javac/src/main/java/com/sourcegraph/semanticdb_javac/SemanticdbTrees.java +++ b/semanticdb-javac/src/main/java/com/sourcegraph/semanticdb_javac/SemanticdbTrees.java @@ -1,9 +1,26 @@ package com.sourcegraph.semanticdb_javac; import com.sun.source.tree.Tree; -import com.sun.tools.javac.code.Type; -import com.sun.tools.javac.tree.JCTree; - +import com.sun.source.util.Trees; +import javax.lang.model.element.Element; +import javax.lang.model.util.Types; +import com.sun.source.util.TreePath; +import com.sun.source.tree.Tree; +import com.sun.source.tree.Tree.Kind; +import com.sun.source.tree.BinaryTree; +import com.sun.source.tree.AssignmentTree; +import com.sun.source.tree.MemberSelectTree; +import com.sun.source.tree.ClassTree; +import com.sun.source.tree.VariableTree; +import com.sun.source.tree.MethodTree; +import com.sun.source.tree.ModifiersTree; +import com.sun.source.tree.IdentifierTree; +import com.sun.source.tree.ExpressionTree; +import com.sun.source.tree.LiteralTree; +import com.sun.source.tree.NewArrayTree; +import com.sun.source.tree.AnnotationTree; + +import java.util.HashMap; import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; @@ -13,135 +30,127 @@ public class SemanticdbTrees { public SemanticdbTrees( - GlobalSymbolsCache globals, LocalSymbolsCache locals, String semanticdbUri) { + GlobalSymbolsCache globals, + LocalSymbolsCache locals, + String semanticdbUri, + Types types, + Trees trees, + HashMap nodes) { this.globals = globals; this.locals = locals; this.semanticdbUri = semanticdbUri; + this.types = types; + this.trees = trees; + this.nodes = nodes; } private final GlobalSymbolsCache globals; private final LocalSymbolsCache locals; private final String semanticdbUri; + private final Types types; + private final Trees trees; + private final HashMap nodes; - public List annotations(JCTree node) { - if (!(node instanceof JCTree.JCClassDecl) - && !(node instanceof JCTree.JCVariableDecl) - && !(node instanceof JCTree.JCMethodDecl)) return null; + public List annotations(Tree node) { + if (!(node instanceof ClassTree) + && !(node instanceof MethodTree) + && !(node instanceof VariableTree)) return null; List annotations = new ArrayList<>(); - JCTree.JCModifiers mods; - if (node instanceof JCTree.JCClassDecl) { - mods = ((JCTree.JCClassDecl) node).getModifiers(); - } else if (node instanceof JCTree.JCMethodDecl) { - mods = ((JCTree.JCMethodDecl) node).getModifiers(); + ModifiersTree mods; + if (node instanceof ClassTree) { + mods = ((ClassTree) node).getModifiers(); + } else if (node instanceof MethodTree) { + mods = ((MethodTree) node).getModifiers(); } else { - mods = ((JCTree.JCVariableDecl) node).getModifiers(); + mods = ((VariableTree) node).getModifiers(); } - for (JCTree.JCAnnotation annotation : mods.getAnnotations()) { + for (AnnotationTree annotation : mods.getAnnotations()) { annotations.add(annotationBuilder(annotation)); } return annotations; } - private Semanticdb.AnnotationTree annotationBuilder(JCTree.JCAnnotation annotation) { - ArrayList params = new ArrayList<>(annotation.args.size()); - - for (JCTree.JCExpression param : annotation.args) { - // anecdotally not always JCAssign in some situations when a compilation unit can't resolve - // symbols fully - if (param instanceof JCTree.JCAssign) { - JCTree.JCAssign assign = (JCTree.JCAssign) param; - JCTree.JCExpression assignValue = assign.rhs; - - String symbol = globals.semanticdbSymbol(((JCTree.JCIdent) assign.lhs).sym, locals); + public Semanticdb.AnnotationTree annotationBuilder(AnnotationTree annotation) { + ArrayList params = new ArrayList<>(annotation.getArguments().size()); + + for (ExpressionTree param : annotation.getArguments()) { + // anecdotally not always AssignmentTree in some situations when a compilation unit can't + // resolve symbols fully + if (param instanceof AssignmentTree) { + AssignmentTree assign = (AssignmentTree) param; + ExpressionTree assignValue = assign.getExpression(); + TreePath variableTreePath = nodes.get(assign.getVariable()); + Element variableSym = trees.getElement(variableTreePath); + String symbol = globals.semanticdbSymbol(variableSym, locals); params.add(tree(assignTree(tree(idTree(symbol)), annotationParameter(assignValue)))); } else { params.add(annotationParameter(param)); } } + TreePath annotationTreePath = nodes.get(annotation); + Element annotationSym = trees.getElement(annotationTreePath); + Semanticdb.Type type = - new SemanticdbTypeVisitor(globals, locals).semanticdbType(annotation.type); + new SemanticdbTypeVisitor(globals, locals, types).semanticdbType(annotationSym.asType()); return annotationTree(type, params); } - private Semanticdb.Tree annotationParameter(JCTree.JCExpression expr) { - if (expr instanceof JCTree.JCFieldAccess) { - JCTree.JCFieldAccess rhs = (JCTree.JCFieldAccess) expr; - + private Semanticdb.Tree annotationParameter(ExpressionTree expr) { + if (expr instanceof MemberSelectTree) { + TreePath expressionTreePath = nodes.get(expr); + Element expressionSym = trees.getElement(expressionTreePath); return tree( selectTree( - tree(idTree(globals.semanticdbSymbol(rhs.sym.owner, locals))), - idTree(globals.semanticdbSymbol(rhs.sym, locals)))); - } else if (expr instanceof JCTree.JCNewArray) { - JCTree.JCNewArray rhs = (JCTree.JCNewArray) expr; + tree(idTree(globals.semanticdbSymbol(expressionSym.getEnclosingElement(), locals))), + idTree(globals.semanticdbSymbol(expressionSym, locals)))); + } else if (expr instanceof NewArrayTree) { + NewArrayTree rhs = (NewArrayTree) expr; return tree( applyTree( tree(idTree(ARRAY_SYMBOL)), - rhs.elems.stream().map(this::annotationParameter).collect(Collectors.toList()))); - } else if (expr instanceof JCTree.JCLiteral) { + rhs.getInitializers().stream() + .map(this::annotationParameter) + .collect(Collectors.toList()))); + } else if (expr instanceof LiteralTree) { // Literals can either be a primitive or String - JCTree.JCLiteral rhs = (JCTree.JCLiteral) expr; - - if (rhs.type instanceof Type.JCPrimitiveType) { - Type.JCPrimitiveType type = (Type.JCPrimitiveType) rhs.type; - switch (type.getKind()) { - case BOOLEAN: - return tree(literalTree(booleanConst(((Integer) rhs.value) == 1))); - case BYTE: - return tree(literalTree(byteConst((Byte) rhs.value))); - case SHORT: - return tree(literalTree(shortConst((Short) rhs.value))); - case INT: - return tree(literalTree(intConst((Integer) rhs.value))); - case LONG: - return tree(literalTree(longConst((Long) rhs.value))); - case CHAR: - return tree(literalTree(charConst((Character.forDigit((Integer) rhs.value, 10))))); - case FLOAT: - return tree(literalTree(floatConst((Float) rhs.value))); - case DOUBLE: - return tree(literalTree(doubleConst((Double) rhs.value))); - } - } else if (rhs.type instanceof Type.ClassType) { - if (rhs.value instanceof String) { - return tree(literalTree(stringConst((String) rhs.value))); - } else { - throw new IllegalStateException( - semanticdbUri - + ": annotation parameter rhs was of unexpected class type " - + rhs.value.getClass() - + "\n" - + rhs.value); - } - } else if (rhs.type instanceof Type.UnknownType) { - return tree(literalTree(stringConst("UNRESOLVED"))); - } else { + Object value = ((LiteralTree) expr).getValue(); + final Semanticdb.Constant constant; + if (value instanceof String) constant = stringConst((String) value); + else if (value instanceof Boolean) constant = booleanConst((Boolean) value); + else if (value instanceof Byte) constant = byteConst((Byte) value); + else if (value instanceof Short) constant = shortConst((Short) value); + else if (value instanceof Integer) constant = intConst((Integer) value); + else if (value instanceof Long) constant = longConst((Long) value); + else if (value instanceof Character) constant = charConst((Character) value); + else if (value instanceof Float) constant = floatConst((Float) value); + else if (value instanceof Double) constant = doubleConst((Double) value); + else throw new IllegalStateException( semanticdbUri - + ": annotation parameter rhs was of unexpected type " - + rhs.type.getClass() + + ": annotation parameter rhs was of unexpected class type " + + value.getClass() + "\n" - + rhs.type - + " " - + rhs); - } - } else if (expr instanceof JCTree.JCAnnotation) { - return tree(annotationBuilder((JCTree.JCAnnotation) expr)); - } else if (expr instanceof JCTree.JCIdent) { - return tree(idTree(globals.semanticdbSymbol(((JCTree.JCIdent) expr).sym, locals))); - } else if (expr instanceof JCTree.JCBinary) { - JCTree.JCBinary binExpr = (JCTree.JCBinary) expr; + + value); + return tree(literalTree(constant)); + } else if (expr instanceof AnnotationTree) { + return tree(annotationBuilder((AnnotationTree) expr)); + } else if (expr instanceof IdentifierTree) { + TreePath expressionTreePath = nodes.get(expr); + Element expressionSym = trees.getElement(expressionTreePath); + return tree(idTree(globals.semanticdbSymbol(expressionSym, locals))); + } else if (expr instanceof BinaryTree) { + BinaryTree binExpr = (BinaryTree) expr; return tree( binopTree( - annotationParameter(binExpr.lhs), + annotationParameter(binExpr.getLeftOperand()), semanticdbBinaryOperator(expr.getKind()), - annotationParameter(binExpr.rhs))); + annotationParameter(binExpr.getRightOperand()))); } - throw new IllegalArgumentException( semanticdbUri + ": annotation parameter rhs was of unexpected tree node type " diff --git a/semanticdb-javac/src/main/java/com/sourcegraph/semanticdb_javac/SemanticdbTypeVisitor.java b/semanticdb-javac/src/main/java/com/sourcegraph/semanticdb_javac/SemanticdbTypeVisitor.java index aba2cba3..0733dbbf 100644 --- a/semanticdb-javac/src/main/java/com/sourcegraph/semanticdb_javac/SemanticdbTypeVisitor.java +++ b/semanticdb-javac/src/main/java/com/sourcegraph/semanticdb_javac/SemanticdbTypeVisitor.java @@ -1,10 +1,17 @@ package com.sourcegraph.semanticdb_javac; -import com.sun.tools.javac.code.Type; -import com.sun.tools.javac.util.List; - -import javax.lang.model.type.*; +import javax.lang.model.element.Element; import javax.lang.model.util.SimpleTypeVisitor8; +import javax.lang.model.type.TypeMirror; +import javax.lang.model.type.DeclaredType; +import javax.lang.model.type.ArrayType; +import javax.lang.model.type.WildcardType; +import javax.lang.model.type.TypeVariable; +import javax.lang.model.type.IntersectionType; +import javax.lang.model.type.PrimitiveType; +import javax.lang.model.type.TypeKind; +import javax.lang.model.type.NoType; +import javax.lang.model.util.Types; import java.util.ArrayList; import static com.sourcegraph.semanticdb_javac.SemanticdbBuilders.*; @@ -17,10 +24,12 @@ class SemanticdbTypeVisitor extends SimpleTypeVisitor8 { private final GlobalSymbolsCache cache; private final LocalSymbolsCache locals; + private final Types types; - SemanticdbTypeVisitor(GlobalSymbolsCache cache, LocalSymbolsCache locals) { + SemanticdbTypeVisitor(GlobalSymbolsCache cache, LocalSymbolsCache locals, Types types) { this.cache = cache; this.locals = locals; + this.types = types; } public Semanticdb.Type semanticdbType(TypeMirror tpe) { @@ -56,7 +65,8 @@ public Semanticdb.Type visitDeclared(DeclaredType t, Void unused) { .setSymbol("local_wildcard") .setSignature(Semanticdb.Signature.newBuilder().setTypeSignature(typeSig))); } else { - declarations.addSymlinks(cache.semanticdbSymbol(((Type) type).asElement(), locals)); + Element element = types.asElement(type); + declarations.addSymlinks(cache.semanticdbSymbol(element, locals)); } } @@ -70,7 +80,9 @@ public Semanticdb.Type visitDeclared(DeclaredType t, Void unused) { @Override public Semanticdb.Type visitArray(ArrayType t, Void unused) { - return typeRef(ARRAY_SYMBOL, List.of(semanticdbType(t.getComponentType()))); + ArrayList types = new ArrayList(); + types.add(semanticdbType(t.getComponentType())); + return typeRef(ARRAY_SYMBOL, types); } @Override diff --git a/semanticdb-javac/src/main/java/com/sourcegraph/semanticdb_javac/SemanticdbVisitor.java b/semanticdb-javac/src/main/java/com/sourcegraph/semanticdb_javac/SemanticdbVisitor.java index efbdf3fe..3657989d 100644 --- a/semanticdb-javac/src/main/java/com/sourcegraph/semanticdb_javac/SemanticdbVisitor.java +++ b/semanticdb-javac/src/main/java/com/sourcegraph/semanticdb_javac/SemanticdbVisitor.java @@ -1,76 +1,102 @@ package com.sourcegraph.semanticdb_javac; -import com.sun.source.tree.*; -import com.sun.source.util.*; -import com.sun.tools.javac.code.Flags; -import com.sun.tools.javac.code.Symbol; -import com.sun.tools.javac.code.Type; -import com.sun.tools.javac.model.JavacTypes; -import com.sun.tools.javac.tree.EndPosTable; -import com.sun.tools.javac.tree.JCTree; -import com.sun.tools.javac.util.JCDiagnostic; -import com.sun.tools.javac.util.Position; +import com.sun.source.util.SourcePositions; +import com.sun.source.util.Trees; +import com.sun.source.util.TreePathScanner; +import com.sun.source.util.TreePath; +import com.sun.source.tree.CompilationUnitTree; +import com.sun.source.tree.MemberReferenceTree; +import com.sun.source.tree.IdentifierTree; +import com.sun.source.tree.VariableTree; +import com.sun.source.tree.ClassTree; +import com.sun.source.tree.Tree; +import com.sun.source.tree.MethodTree; +import com.sun.source.tree.LineMap; +import com.sun.source.tree.ExpressionTree; +import com.sun.source.tree.NewClassTree; +import com.sun.source.tree.MemberSelectTree; +import com.sun.source.tree.TypeParameterTree; +import com.sun.source.tree.ParameterizedTypeTree; + +import javax.tools.Diagnostic; +import javax.lang.model.element.Element; +import javax.lang.model.element.Modifier; +import javax.lang.model.element.Name; +import javax.lang.model.element.ElementKind; +import javax.lang.model.element.TypeElement; +import javax.lang.model.element.ExecutableElement; +import javax.lang.model.type.NoType; +import javax.lang.model.type.TypeMirror; +import javax.lang.model.type.DeclaredType; +import javax.lang.model.util.Types; +import javax.lang.model.util.Elements; import com.sourcegraph.semanticdb_javac.Semanticdb.SymbolInformation.Kind; import com.sourcegraph.semanticdb_javac.Semanticdb.SymbolInformation.Property; import com.sourcegraph.semanticdb_javac.Semanticdb.SymbolOccurrence.Role; -import javax.lang.model.element.ElementKind; -import javax.lang.model.util.Elements; import java.io.IOException; import java.nio.file.Path; -import java.nio.file.Paths; +import java.util.List; +import java.util.ArrayList; +import java.util.LinkedHashMap; +import java.util.Map; +import java.util.HashSet; +import java.util.Set; +import java.util.Objects; +import java.util.Optional; +import java.util.Iterator; import java.security.NoSuchAlgorithmException; -import java.util.*; import java.util.stream.Collectors; import static com.sourcegraph.semanticdb_javac.SemanticdbBuilders.*; -import static com.sourcegraph.semanticdb_javac.SemanticdbTypeVisitor.ARRAY_SYMBOL; /** Walks the AST of a typechecked compilation unit and generates a SemanticDB TextDocument. */ public class SemanticdbVisitor extends TreePathScanner { private final GlobalSymbolsCache globals; private final LocalSymbolsCache locals; - private final JavacTask task; - private final TaskEvent event; - private final JavacTypes javacTypes; + private final Types types; private final Trees trees; + private final CompilationUnitTree compUnitTree; + private final Elements elements; private final SemanticdbJavacOptions options; - private final EndPosTable endPosTable; private final ArrayList occurrences; private final ArrayList symbolInfos; private String source; + private String uri; + + private final LinkedHashMap nodes; public SemanticdbVisitor( - JavacTask task, GlobalSymbolsCache globals, - TaskEvent event, + CompilationUnitTree compUnitTree, SemanticdbJavacOptions options, - JavacTypes javacTypes) { - this.task = task; + Types types, + Trees trees, + Elements elements) { this.globals = globals; // Reused cache between compilation units. this.locals = new LocalSymbolsCache(); // Fresh cache per compilation unit. - this.event = event; this.options = options; - this.javacTypes = javacTypes; - this.trees = Trees.instance(task); - if (event.getCompilationUnit() instanceof JCTree.JCCompilationUnit) { - this.endPosTable = ((JCTree.JCCompilationUnit) event.getCompilationUnit()).endPositions; - } else { - this.endPosTable = new EmptyEndPosTable(); - } + this.types = types; + this.elements = elements; + this.trees = trees; + this.compUnitTree = compUnitTree; this.occurrences = new ArrayList<>(); this.symbolInfos = new ArrayList<>(); this.source = semanticdbText(); + this.uri = semanticdbUri(compUnitTree, options); + this.nodes = new LinkedHashMap<>(); } public Semanticdb.TextDocument buildTextDocument(CompilationUnitTree tree) { this.scan(tree, null); // Trigger recursive AST traversal to collect SemanticDB information. + resolveNodes(); + return Semanticdb.TextDocument.newBuilder() .setSchema(Semanticdb.Schema.SEMANTICDB4) .setLanguage(Semanticdb.Language.JAVA) - .setUri(semanticdbUri()) + .setUri(uri) .setText(options.includeText ? this.source : "") .setMd5(semanticdbMd5()) .addAllOccurrences(occurrences) @@ -78,49 +104,60 @@ public Semanticdb.TextDocument buildTextDocument(CompilationUnitTree tree) { .build(); } - private void emitSymbolOccurrence( - Symbol sym, T posTree, Role role, CompilerRange kind) { - if (sym == null) return; - Optional occ = semanticdbOccurrence(sym, posTree, kind, role); - occ.ifPresent(occurrences::add); + private Optional emitSymbolOccurrence( + Element sym, Tree tree, Name name, Role role, CompilerRange kind) { + if (sym == null || name == null) return Optional.empty(); + Optional range = semanticdbRange(tree, kind, sym, name.toString()); + emitSymbolOccurrence(sym, range, role); if (role == Role.DEFINITION) { // Only emit SymbolInformation for symbols that are defined in this compilation unit. - emitSymbolInformation(sym, posTree); + emitSymbolInformation(sym, tree); } + return range; + } + + private void emitSymbolOccurrence(Element sym, Optional range, Role role) { + if (sym == null) return; + Optional occ = semanticdbOccurrence(sym, range, role); + occ.ifPresent(occurrences::add); } - private void emitSymbolInformation(Symbol sym, JCTree tree) { - Semanticdb.SymbolInformation.Builder builder = symbolInformation(semanticdbSymbol(sym)); - Semanticdb.Documentation documentation = semanticdbDocumentation(sym); + private void emitSymbolInformation(Element sym, Tree tree) { + String symbol = semanticdbSymbol(sym); + Semanticdb.SymbolInformation.Builder builder = symbolInformation(symbol); + Semanticdb.Documentation documentation = semanticdbDocumentation(tree); if (documentation != null) builder.setDocumentation(documentation); Semanticdb.Signature signature = semanticdbSignature(sym); if (signature != null) builder.setSignature(signature); + List annotations = - new SemanticdbTrees(globals, locals, semanticdbUri()).annotations(tree); + new SemanticdbTrees(globals, locals, uri, types, trees, nodes).annotations(tree); if (annotations != null) builder.addAllAnnotations(annotations); builder .setProperties(semanticdbSymbolInfoProperties(sym)) - .setDisplayName(sym.name.toString()) + .setDisplayName(sym.getSimpleName().toString()) .setAccess(semanticdbAccess(sym)); switch (sym.getKind()) { case ENUM: case CLASS: builder.setKind(Kind.CLASS); - builder.addAllOverriddenSymbols(semanticdbParentSymbols(sym, new ArrayList<>())); + builder.addAllOverriddenSymbols(semanticdbParentSymbols((TypeElement) sym)); break; case INTERFACE: case ANNOTATION_TYPE: builder.setKind(Kind.INTERFACE); - builder.addAllOverriddenSymbols(semanticdbParentSymbols(sym, new ArrayList<>())); + builder.addAllOverriddenSymbols(semanticdbParentSymbols((TypeElement) sym)); break; case FIELD: builder.setKind(Kind.FIELD); break; case METHOD: builder.setKind(Kind.METHOD); - builder.addAllOverriddenSymbols(semanticdbOverrides(sym)); + builder.addAllOverriddenSymbols( + semanticdbOverrides( + (ExecutableElement) sym, sym.getEnclosingElement(), new HashSet<>())); break; case CONSTRUCTOR: builder.setKind(Kind.CONSTRUCTOR); @@ -130,9 +167,12 @@ private void emitSymbolInformation(Symbol sym, JCTree tree) { break; case ENUM_CONSTANT: // overwrite previous value here String args = - ((JCTree.JCNewClass) ((JCTree.JCVariableDecl) tree).init) - .args.stream().map(JCTree::toString).collect(Collectors.joining(", ")); - if (!args.isEmpty()) builder.setDisplayName(sym.name.toString() + "(" + args + ")"); + ((NewClassTree) ((VariableTree) tree).getInitializer()) + .getArguments().stream() + .map(ExpressionTree::toString) + .collect(Collectors.joining(", ")); + if (!args.isEmpty()) + builder.setDisplayName(sym.getSimpleName().toString() + "(" + args + ")"); } Semanticdb.SymbolInformation info = builder.build(); @@ -140,164 +180,227 @@ private void emitSymbolInformation(Symbol sym, JCTree tree) { symbolInfos.add(info); } + void resolveNodes() { + // ignore parts of NewClassTree. It would cause references to classes in addition to references + // to constructors. In these cases, the references to classes aren't wanted + HashSet ignoreNodes = new HashSet<>(); + for (Tree node : nodes.keySet()) + if (node instanceof NewClassTree) { + NewClassTree newClassTree = (NewClassTree) node; + if (newClassTree.getClassBody() == null) { + if (newClassTree.getIdentifier() instanceof ParameterizedTypeTree) { + ParameterizedTypeTree paramNode = (ParameterizedTypeTree) newClassTree.getIdentifier(); + ignoreNodes.add(paramNode.getType()); + } + ignoreNodes.add(newClassTree.getIdentifier()); + } + } + + for (Map.Entry entry : nodes.entrySet()) { + Tree node = entry.getKey(); + if (!ignoreNodes.contains(node)) { + if (node instanceof TypeParameterTree) { + resolveTypeParameterTree((TypeParameterTree) node, entry.getValue()); + } else if (node instanceof ClassTree) { + resolveClassTree((ClassTree) node, entry.getValue()); + } else if (node instanceof MethodTree) { + resolveMethodTree((MethodTree) node, entry.getValue()); + } else if (node instanceof VariableTree) { + resolveVariableTree((VariableTree) node, entry.getValue()); + } else if (node instanceof IdentifierTree) { + resolveIdentifierTree((IdentifierTree) node, entry.getValue()); + } else if (node instanceof MemberReferenceTree) { + resolveMemberReferenceTree((MemberReferenceTree) node, entry.getValue()); + } else if (node instanceof MemberSelectTree) { + resolveMemberSelectTree((MemberSelectTree) node, entry.getValue()); + } else if (node instanceof NewClassTree) { + resolveNewClassTree((NewClassTree) node, entry.getValue()); + } + } + } + } + // ======================================= // Overridden methods from TreePathScanner // ======================================= - @Override - public Void visitClass(ClassTree node, Void unused) { - if (node instanceof JCTree.JCClassDecl) { - JCTree.JCClassDecl cls = (JCTree.JCClassDecl) node; - if (cls.sym == null) return super.visitClass(node, unused); + public Void scan(Tree tree, Void unused) { + if (tree != null) { + TreePath path = new TreePath(getCurrentPath(), tree); + nodes.put(tree, path); + } + return super.scan(tree, unused); + } + + private boolean isAnonymous(Element sym) { + return sym.getSimpleName().length() == 0; + } + + public static B bar(A paramA, B paramB) { + return paramB; + } + + private void resolveClassTree(ClassTree node, TreePath treePath) { + Element sym = trees.getElement(treePath); + if (sym != null && sym.getSimpleName().length() > 0) { emitSymbolOccurrence( - cls.sym, cls, Role.DEFINITION, CompilerRange.FROM_POINT_WITH_TEXT_SEARCH); - - List typeParameters = cls.getTypeParameters(); - int i = 0; - for (Symbol.TypeVariableSymbol typeSym : cls.sym.getTypeParameters()) { - if (i >= typeParameters.size()) { - // Happens in testcontainers/testcontainers-java, see - // https://github.com/sourcegraph/scip-java/issues/319 - // Failed to reproduce with a minimal source file so we don't have a test case that hits - // this branch. - break; - } - emitSymbolOccurrence( - typeSym, - typeParameters.get(i), - Role.DEFINITION, - CompilerRange.FROM_POINT_TO_SYMBOL_NAME); - i++; - } + sym, + node, + sym.getSimpleName(), + Role.DEFINITION, + CompilerRange.FROM_POINT_WITH_TEXT_SEARCH); } - return super.visitClass(node, unused); } - @Override - public Void visitMethod(MethodTree node, Void unused) { - if (node instanceof JCTree.JCMethodDecl) { - JCTree.JCMethodDecl meth = (JCTree.JCMethodDecl) node; - if (meth.sym == null) return super.visitMethod(node, unused); - CompilerRange range = CompilerRange.FROM_POINT_TO_SYMBOL_NAME; - if (meth.sym.isConstructor()) { - if (meth.sym.owner.isAnonymous()) return null; - range = CompilerRange.FROM_POINT_WITH_TEXT_SEARCH; - } - emitSymbolOccurrence(meth.sym, meth, Role.DEFINITION, range); + private void resolveTypeParameterTree(TypeParameterTree node, TreePath treePath) { + Element sym = trees.getElement(treePath); + if (sym != null && sym.getSimpleName().length() > 0) { + emitSymbolOccurrence( + sym, node, sym.getSimpleName(), Role.DEFINITION, CompilerRange.FROM_POINT_TO_SYMBOL_NAME); + } + } + + private void resolveMethodTree(MethodTree node, TreePath treePath) { + Element sym = trees.getElement(treePath); + if (sym != null) { + Element enclosingElement = sym.getEnclosingElement(); + if (sym.getKind() != ElementKind.CONSTRUCTOR || !isAnonymous(enclosingElement)) { + Name name; + if (sym.getKind() == ElementKind.CONSTRUCTOR) name = enclosingElement.getSimpleName(); + else name = sym.getSimpleName(); - List typeParameters = meth.getTypeParameters(); - int i = 0; - for (Symbol.TypeVariableSymbol typeSym : meth.sym.getTypeParameters()) { emitSymbolOccurrence( - typeSym, - typeParameters.get(i), - Role.DEFINITION, - CompilerRange.FROM_POINT_TO_SYMBOL_NAME); - i++; + sym, node, name, Role.DEFINITION, CompilerRange.FROM_POINT_WITH_TEXT_SEARCH); } } - return super.visitMethod(node, unused); } - @Override - public Void visitVariable(VariableTree node, Void unused) { - if (node instanceof JCTree.JCVariableDecl) { - JCTree.JCVariableDecl decl = (JCTree.JCVariableDecl) node; - emitSymbolOccurrence( - decl.sym, decl, Role.DEFINITION, CompilerRange.FROM_POINT_TO_SYMBOL_NAME); + private void resolveVariableTree(VariableTree node, TreePath treePath) { + Element sym = trees.getElement(treePath); + if (sym != null) { + Optional range = + emitSymbolOccurrence( + sym, + node, + sym.getSimpleName(), + Role.DEFINITION, + CompilerRange.FROM_POINT_WITH_TEXT_SEARCH); + if (sym.getKind() == ElementKind.ENUM_CONSTANT) { + TreePath typeTreePath = nodes.get(node.getInitializer()); + Element typeSym = trees.getElement(typeTreePath); + if (typeSym != null) emitSymbolOccurrence(typeSym, range, Role.REFERENCE); + } } - return super.visitVariable(node, unused); } - @Override - public Void visitIdentifier(IdentifierTree node, Void unused) { - if (node instanceof JCTree.JCIdent) { - JCTree.JCIdent ident = (JCTree.JCIdent) node; - if (ident.name == null || ident.sym == null) return null; - if (ident.name.toString().equals("this") && ident.sym.getKind() != ElementKind.CONSTRUCTOR) - return null; - emitSymbolOccurrence(ident.sym, ident, Role.REFERENCE, CompilerRange.FROM_START_TO_END); + private void resolveIdentifierTree(IdentifierTree node, TreePath treePath) { + Name nodeName = node.getName(); + if (nodeName != null) { + Element sym = trees.getElement(treePath); + if (sym != null) { + boolean isThis = nodeName.toString().equals("this"); + boolean isSuper = !isThis && nodeName.toString().equals("super"); + // exclude `this.` references but include `this(` and `super(` references + if (((sym.getKind() == ElementKind.CONSTRUCTOR) == isThis) || (isSuper)) { + TreePath parentPath = treePath.getParentPath(); + Element parentSym = trees.getElement(parentPath); + if (parentSym == null || parentSym.getKind() != null) { + emitSymbolOccurrence( + sym, node, sym.getSimpleName(), Role.REFERENCE, CompilerRange.FROM_START_TO_END); + } + } + } } - return super.visitIdentifier(node, unused); } - @Override - public Void visitMemberReference(MemberReferenceTree node, Void unused) { - if (node instanceof JCTree.JCMemberReference) { - JCTree.JCMemberReference ref = (JCTree.JCMemberReference) node; - emitSymbolOccurrence(ref.sym, ref, Role.REFERENCE, CompilerRange.FROM_END_WITH_TEXT_SEARCH); + private void resolveMemberReferenceTree(MemberReferenceTree node, TreePath treePath) { + Element sym = trees.getElement(treePath); + if (sym != null) { + emitSymbolOccurrence( + sym, node, sym.getSimpleName(), Role.REFERENCE, CompilerRange.FROM_END_TO_SYMBOL_NAME); } - return super.visitMemberReference(node, unused); } - @Override - public Void visitMemberSelect(MemberSelectTree node, Void unused) { - if (node instanceof JCTree.JCFieldAccess) { - JCTree.JCFieldAccess select = (JCTree.JCFieldAccess) node; + private void resolveMemberSelectTree(MemberSelectTree node, TreePath treePath) { + Element sym = trees.getElement(treePath); + if (sym != null) { emitSymbolOccurrence( - select.sym, select, Role.REFERENCE, CompilerRange.FROM_POINT_TO_SYMBOL_NAME_PLUS_ONE); + sym, node, sym.getSimpleName(), Role.REFERENCE, CompilerRange.FROM_END_TO_SYMBOL_NAME); } - return super.visitMemberSelect(node, unused); } - @Override - public Void visitNewClass(NewClassTree node, Void unused) { - if (node instanceof JCTree.JCNewClass) { - JCTree.JCNewClass cls = (JCTree.JCNewClass) node; - if (cls.type != null && cls.type.tsym != null && !cls.type.tsym.isAnonymous()) { - emitSymbolOccurrence(cls.constructor, cls, Role.REFERENCE, CompilerRange.FROM_TEXT_SEARCH); + private void resolveNewClassTree(NewClassTree node, TreePath treePath) { + // ignore anonymous classes - otherwise there will be a local reference to itself + if (node.getIdentifier() != null && node.getClassBody() == null) { + Element sym = trees.getElement(treePath); + if (sym != null) { + TreePath parentPath = treePath.getParentPath(); + Element parentSym = trees.getElement(parentPath); + + if (parentSym == null || parentSym.getKind() != ElementKind.ENUM_CONSTANT) { + TreePath identifierTreePath = nodes.get(node.getIdentifier()); + Element identifierSym = trees.getElement(identifierTreePath); + emitSymbolOccurrence( + sym, + node, + identifierSym.getSimpleName(), + Role.REFERENCE, + CompilerRange.FROM_TEXT_SEARCH); + } } } - - // to avoid emitting a reference to the class itself, we manually scan everything - // except the identifier - scan(node.getTypeArguments(), unused); - scan(node.getArguments(), unused); - return scan(node.getClassBody(), unused); } // ================================================= // Utilities to generate SemanticDB data structures. // ================================================= - private Semanticdb.Signature semanticdbSignature(Symbol sym) { + private Semanticdb.Signature semanticdbSignature(Element sym) { - return new SemanticdbSignatures(globals, locals).generateSignature(sym); + return new SemanticdbSignatures(globals, locals, types).generateSignature(sym); } - private String semanticdbSymbol(Symbol sym) { + private String semanticdbSymbol(Element sym) { return globals.semanticdbSymbol(sym, locals); } private Optional semanticdbRange( - JCDiagnostic.DiagnosticPosition pos, CompilerRange kind, Symbol sym) { - LineMap lineMap = event.getCompilationUnit().getLineMap(); + Tree tree, CompilerRange kind, Element sym, String name) { if (sym == null) return Optional.empty(); - int start, end; - if (kind.isFromPoint() && sym.name != null) { - start = pos.getPreferredPosition(); - if (kind == CompilerRange.FROM_POINT_TO_SYMBOL_NAME_PLUS_ONE) { - start++; + + SourcePositions sourcePositions = trees.getSourcePositions(); + int start = (int) sourcePositions.getStartPosition(compUnitTree, tree); + int end = (int) sourcePositions.getEndPosition(compUnitTree, tree); + if (kind.isPlusOne()) start++; + + if (name != null) { + if (kind.isFromTextSearch() && name.length() > 0) { + Optional startEndRange = + RangeFinder.findRange(sym, name, start, end, this.source, kind.isFromEnd()); + if (startEndRange.isPresent()) { + start = startEndRange.get().start; + end = startEndRange.get().end; + } + } else if (kind.isFromPoint()) { + if (start != Diagnostic.NOPOS) { + // text may not exist or may be out of bounds (e.g. generated source like Lombok) + int testEnd = start + name.length(); + if (source.length() > testEnd && source.substring(start, testEnd).equals(name)) + end = testEnd; + } + } else if (kind.isFromEndPoint()) { + if (end != Diagnostic.NOPOS) { + // text may not exist or may be out of bounds (e.g. generated source like Lombok) + int testStart = end - name.length(); + if (testStart >= 0 + && source.length() > end + && source.substring(testStart, end).equals(name)) start = testStart; + } } - end = start + sym.name.length(); - } else { - start = pos.getStartPosition(); - end = pos.getEndPosition(endPosTable); } - if (kind.isFromTextSearch() && sym.name.length() > 0) { - Optional range = - RangeFinder.findRange( - getCurrentPath(), - trees, - getCurrentPath().getCompilationUnit(), - sym, - start, - this.source, - kind.isFromEnd()); - if (range.isPresent()) return Optional.of(correctForTabs(range.get(), lineMap, start)); - else return range; - } else if (start != Position.NOPOS && end != Position.NOPOS && end > start) { + if (start != Diagnostic.NOPOS && end != Diagnostic.NOPOS && end > start) { + LineMap lineMap = compUnitTree.getLineMap(); Semanticdb.Range range = Semanticdb.Range.newBuilder() .setStartLine((int) lineMap.getLineNumber(start) - 1) @@ -310,7 +413,6 @@ private Optional semanticdbRange( return Optional.of(range); } - return Optional.empty(); } @@ -337,8 +439,7 @@ private Semanticdb.Range correctForTabs(Semanticdb.Range range, LineMap lineMap, } private Optional semanticdbOccurrence( - Symbol sym, JCDiagnostic.DiagnosticPosition pos, CompilerRange kind, Role role) { - Optional range = semanticdbRange(pos, kind, sym); + Element sym, Optional range, Role role) { if (range.isPresent()) { String ssym = semanticdbSymbol(sym); if (!ssym.equals(SemanticdbSymbols.NONE)) { @@ -355,7 +456,7 @@ private Optional semanticdbOccurrence( private String semanticdbText() { if (source != null) return source; try { - source = event.getSourceFile().getCharContent(true).toString(); + source = compUnitTree.getSourceFile().getCharContent(true).toString(); } catch (IOException e) { source = ""; } @@ -364,78 +465,113 @@ private String semanticdbText() { private String semanticdbMd5() { try { - return MD5.digest(event.getSourceFile().getCharContent(true).toString()); + return MD5.digest(compUnitTree.getSourceFile().getCharContent(true).toString()); } catch (IOException | NoSuchAlgorithmException e) { return ""; } } - private int semanticdbSymbolInfoProperties(Symbol sym) { + private int semanticdbSymbolInfoProperties(Element sym) { int properties = 0; - properties |= sym.isEnum() ? Property.ENUM_VALUE : 0; - properties |= sym.isStatic() ? Property.STATIC_VALUE : 0; - // for default interface methods, Flags.ABSTRACT is also set... - boolean abstractNotDefault = - ((sym.flags() & Flags.ABSTRACT) > 0) && ((sym.flags() & Flags.DEFAULT) == 0); - properties |= abstractNotDefault ? Property.ABSTRACT_VALUE : 0; - properties |= (sym.flags() & Flags.FINAL) > 0 ? Property.FINAL_VALUE : 0; - properties |= (sym.flags() & Flags.DEFAULT) > 0 ? Property.DEFAULT_VALUE : 0; + properties |= + sym.getKind() == ElementKind.ENUM || sym.getKind() == ElementKind.ENUM_CONSTANT + ? Property.ENUM_VALUE + : 0; + for (Modifier modifier : sym.getModifiers()) { + if (modifier == Modifier.STATIC) properties |= Property.STATIC_VALUE; + else if (modifier == Modifier.DEFAULT) properties |= Property.DEFAULT_VALUE; + else if (modifier == Modifier.FINAL) properties |= Property.FINAL_VALUE; + else if (modifier == Modifier.ABSTRACT) properties |= Property.ABSTRACT_VALUE; + } + // for default interface methods, Modifier.ABSTRACT is also set... + if (((properties & Property.ABSTRACT_VALUE) > 0) && ((properties & Property.DEFAULT_VALUE) > 0)) + properties ^= Property.ABSTRACT_VALUE; return properties; } - private List semanticdbParentSymbols(Symbol sym, List result) { - if (!(sym instanceof Symbol.ClassSymbol)) { - return result; - } - Symbol.ClassSymbol csym = (Symbol.ClassSymbol) sym; - if (csym.getSuperclass() != Type.noType) { - semanticdbParentSymbol(csym.getSuperclass().tsym, result); + private List semanticdbParentSymbols(TypeElement typeElement) { + ArrayList parentSymbols = new ArrayList<>(); + Set parentElements = semanticdbParentTypeElements(typeElement, new HashSet<>()); + for (TypeElement parentElement : parentElements) { + String ssym = semanticdbSymbol(parentElement); + if (!Objects.equals(ssym, SemanticdbSymbols.NONE)) { + parentSymbols.add(ssym); + } } - for (Type iType : csym.getInterfaces()) { - semanticdbParentSymbol(iType.tsym, result); + return parentSymbols; + } + + private Set semanticdbParentTypeElements( + TypeElement typeElement, Set result) { + TypeMirror superType = typeElement.getSuperclass(); + semanticdbParentSymbol(superType, result); + for (TypeMirror interfaceType : typeElement.getInterfaces()) { + semanticdbParentSymbol(interfaceType, result); } + return result; } - private void semanticdbParentSymbol(Symbol sym, List result) { - if (sym == null) { - return; - } - String ssym = semanticdbSymbol(sym); - if (!Objects.equals(ssym, SemanticdbSymbols.NONE)) { - result.add(ssym); - semanticdbParentSymbols(sym, result); + private void semanticdbParentSymbol(TypeMirror elementType, Set result) { + if (!(elementType instanceof NoType)) { + Element superElement = types.asElement(elementType); + if (superElement != null && superElement instanceof TypeElement) { + result.add((TypeElement) superElement); + semanticdbParentTypeElements((TypeElement) superElement, result); + } } } - private List semanticdbOverrides(Symbol sym) { - ArrayList overriddenSymbols = new ArrayList<>(); - Set overriddenMethods = javacTypes.getOverriddenMethods(sym); - - for (Symbol.MethodSymbol meth : overriddenMethods) { - overriddenSymbols.add(semanticdbSymbol(meth)); + private Set semanticdbOverrides( + ExecutableElement sym, Element enclosingElement, HashSet overriddenSymbols) { + if (enclosingElement instanceof TypeElement) { + List superTypes = types.directSupertypes(enclosingElement.asType()); + // iterate through all super types + for (TypeMirror superType : superTypes) { + if (superType instanceof DeclaredType) { + Element superElement = ((DeclaredType) superType).asElement(); + // find all elements of super class + if (superElement instanceof TypeElement) { + boolean methodFound = false; + List enclosedElements = + ((TypeElement) superElement).getEnclosedElements(); + for (Element enclosedElement : enclosedElements) { + // check the element is a method + if (enclosedElement instanceof ExecutableElement) { + ExecutableElement enclosedExecutableElement = (ExecutableElement) enclosedElement; + // check the method overrides the original method + if (elements.overrides( + sym, enclosedExecutableElement, (TypeElement) sym.getEnclosingElement())) { + String symbol = semanticdbSymbol(enclosedExecutableElement); + overriddenSymbols.add(symbol); + methodFound = true; + semanticdbOverrides(enclosedExecutableElement, superElement, overriddenSymbols); + } + } + } + if (!methodFound) { + semanticdbOverrides(sym, superElement, overriddenSymbols); + } + } + } + } } - return overriddenSymbols; } - private Semanticdb.Access semanticdbAccess(Symbol sym) { - switch ((int) sym.flags() & Flags.AccessFlags) { - case Flags.PRIVATE: - return privateAccess(); - case Flags.PUBLIC: - return publicAccess(); - case Flags.PROTECTED: - return protectedAccess(); - case 0: - return privateWithinAccess(semanticdbSymbol(sym.owner)); - default: - throw new IllegalStateException("access flag " + (sym.flags() & Flags.AccessFlags)); + private Semanticdb.Access semanticdbAccess(Element sym) { + for (Modifier modifier : sym.getModifiers()) { + if (modifier == Modifier.PRIVATE) return privateAccess(); + if (modifier == Modifier.PUBLIC) return publicAccess(); + if (modifier == Modifier.PROTECTED) return protectedAccess(); } + return privateWithinAccess(semanticdbSymbol(sym.getEnclosingElement())); } - private String semanticdbUri() { - Path absolutePath = SemanticdbTaskListener.absolutePathFromUri(options, event.getSourceFile()); + private static String semanticdbUri( + CompilationUnitTree compUnitTree, SemanticdbJavacOptions options) { + Path absolutePath = + SemanticdbTaskListener.absolutePathFromUri(options, compUnitTree.getSourceFile()); Path uriPath = absolutePath.startsWith(options.sourceroot) ? options.sourceroot.relativize(absolutePath) @@ -450,16 +586,10 @@ private String semanticdbUri() { return out.toString(); } - private Path semanticdbPath() { - return SemanticdbTaskListener.absolutePathFromUri(options, event.getSourceFile()); - } - - private Semanticdb.Documentation semanticdbDocumentation(Symbol sym) { + private Semanticdb.Documentation semanticdbDocumentation(Tree tree) { try { - Elements elements = task.getElements(); - if (elements == null) return null; - - String doc = elements.getDocComment(sym); + TreePath treePath = nodes.get(tree); + String doc = trees.getDocComment(treePath); if (doc == null) return null; return Semanticdb.Documentation.newBuilder() diff --git a/tests/snapshots/src/main/generated/com/airbnb/epoxy/AsyncEpoxyController.java b/tests/snapshots/src/main/generated/com/airbnb/epoxy/AsyncEpoxyController.java index b663f6f2..ef66a1ff 100644 --- a/tests/snapshots/src/main/generated/com/airbnb/epoxy/AsyncEpoxyController.java +++ b/tests/snapshots/src/main/generated/com/airbnb/epoxy/AsyncEpoxyController.java @@ -26,8 +26,8 @@ public abstract class AsyncEpoxyController extends EpoxyController { // ^^^^^^^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/AsyncEpoxyController# // documentation ```java\npublic abstract class AsyncEpoxyController\n``` // documentation A subclass of {@link EpoxyController} that makes it easy to do model building and diffing in\n the background.\n

\n See https://github.com/airbnb/epoxy/wiki/Epoxy-Controller#asynchronous-support\n -// relationship is_implementation semanticdb maven . . ``/ModelCollector# -// relationship is_implementation semanticdb maven . . ``/StickyHeaderCallbacks# +// relationship is_implementation semanticdb maven . . ModelCollector# +// relationship is_implementation semanticdb maven . . StickyHeaderCallbacks# // relationship is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxyController# // ^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyController# @@ -78,7 +78,7 @@ public AsyncEpoxyController(boolean enableAsyncModelBuilding, boolean enableAsyn } private static Handler getHandler(boolean enableAsync) { -// ^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^ reference semanticdb maven . . Handler# // ^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/AsyncEpoxyController#getHandler(). // documentation ```java\nprivate static unresolved_type getHandler(boolean enableAsync)\n``` // ^^^^^^^^^^^ definition local 3 diff --git a/tests/snapshots/src/main/generated/com/airbnb/epoxy/AsyncEpoxyDiffer.java b/tests/snapshots/src/main/generated/com/airbnb/epoxy/AsyncEpoxyDiffer.java index 2cfaba4f..b0315e3a 100644 --- a/tests/snapshots/src/main/generated/com/airbnb/epoxy/AsyncEpoxyDiffer.java +++ b/tests/snapshots/src/main/generated/com/airbnb/epoxy/AsyncEpoxyDiffer.java @@ -76,7 +76,7 @@ interface ResultCallback { // ^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/AsyncEpoxyDiffer#resultCallback. // documentation ```java\nprivate final ResultCallback resultCallback\n``` private final ItemCallback> diffCallback; -// ^^^^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^^^^ reference semanticdb maven . . ItemCallback# // ^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel# // ^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/AsyncEpoxyDiffer#diffCallback. // documentation ```java\nprivate final unresolved_type diffCallback\n``` @@ -91,7 +91,7 @@ interface ResultCallback { // documentation ```java\nAsyncEpoxyDiffer(unresolved_type handler, ResultCallback resultCallback, unresolved_type diffCallback)\n``` @NonNull Handler handler, // ^^^^^^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/NonNull# -// ^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^ reference semanticdb maven . . Handler# // ^^^^^^^ definition local 1 // documentation ```java\n@NonNull\nunresolved_type handler\n``` @NonNull ResultCallback resultCallback, @@ -101,7 +101,7 @@ interface ResultCallback { // documentation ```java\n@NonNull\nResultCallback resultCallback\n``` @NonNull ItemCallback> diffCallback // ^^^^^^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/NonNull# -// ^^^^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^^^^ reference semanticdb maven . . ItemCallback# // ^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel# // ^^^^^^^^^^^^ definition local 3 // documentation ```java\n@NonNull\nunresolved_type diffCallback\n``` @@ -351,16 +351,16 @@ public void submitList(@Nullable final List> newList) { @Override // ^^^^^^^^ reference semanticdb maven jdk 11 java/lang/Override# public void run() { -// ^^^ definition local 14 +// ^^^ definition local 13 // documentation ```java\n@Override\npublic void run()\n``` // relationship is_reference is_implementation semanticdb maven jdk 11 java/lang/Runnable#run(). DiffUtil.DiffResult result = DiffUtil.calculateDiff(wrappedCallback); // ^^^^^^^^ reference semanticdb maven . . DiffUtil/ // ^^^^^^^^^^ reference semanticdb maven . . DiffUtil/DiffResult# -// ^^^^^^ definition local 15 +// ^^^^^^ definition local 14 // documentation ```java\nunresolved_type result\n``` -// ^^^^^^^^ reference semanticdb maven . . _root_/ -// ^^^^^^^^^^^^^ reference semanticdb maven . . calculateDiff# +// ^^^^^^^^ reference semanticdb maven . . DiffUtil# +// ^^^^^^^^^^^^^ reference semanticdb maven . . DiffUtil#calculateDiff# // ^^^^^^^^^^^^^^^ reference local 11 onRunCompleted(runGeneration, newList, DiffResult.diff(previousList, newList, result)); // ^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/AsyncEpoxyDiffer#onRunCompleted(). @@ -370,7 +370,7 @@ public void run() { // ^^^^ reference semanticdb maven . . com/airbnb/epoxy/DiffResult#diff(). // ^^^^^^^^^^^^ reference local 9 // ^^^^^^^ reference local 7 -// ^^^^^^ reference local 15 +// ^^^^^^ reference local 14 } }); } @@ -379,18 +379,18 @@ private void onRunCompleted( // ^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/AsyncEpoxyDiffer#onRunCompleted(). // documentation ```java\nprivate void onRunCompleted(int runGeneration, List> newList, DiffResult result)\n``` final int runGeneration, -// ^^^^^^^^^^^^^ definition local 16 +// ^^^^^^^^^^^^^ definition local 15 // documentation ```java\nfinal int runGeneration\n``` @Nullable final List> newList, // ^^^^^^^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/Nullable# // ^^^^ reference semanticdb maven jdk 11 java/util/List# // ^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel# -// ^^^^^^^ definition local 17 +// ^^^^^^^ definition local 16 // documentation ```java\n@Nullable\nfinal List> newList\n``` @Nullable final DiffResult result // ^^^^^^^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/Nullable# // ^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/DiffResult# -// ^^^^^^ definition local 18 +// ^^^^^^ definition local 17 // documentation ```java\n@Nullable\nfinal DiffResult result\n``` ) { @@ -404,22 +404,22 @@ private void onRunCompleted( @Override // ^^^^^^^^ reference semanticdb maven jdk 11 java/lang/Override# public void run() { -// ^^^ definition local 21 +// ^^^ definition local 19 // documentation ```java\n@Override\npublic void run()\n``` // relationship is_reference is_implementation semanticdb maven jdk 11 java/lang/Runnable#run(). final boolean dispatchResult = tryLatchList(newList, runGeneration); -// ^^^^^^^^^^^^^^ definition local 22 +// ^^^^^^^^^^^^^^ definition local 20 // documentation ```java\nfinal boolean dispatchResult\n``` // ^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/AsyncEpoxyDiffer#tryLatchList(). -// ^^^^^^^ reference local 17 -// ^^^^^^^^^^^^^ reference local 16 +// ^^^^^^^ reference local 16 +// ^^^^^^^^^^^^^ reference local 15 if (result != null && dispatchResult) { -// ^^^^^^ reference local 18 -// ^^^^^^^^^^^^^^ reference local 22 +// ^^^^^^ reference local 17 +// ^^^^^^^^^^^^^^ reference local 20 resultCallback.onResult(result); // ^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/AsyncEpoxyDiffer#resultCallback. // ^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/AsyncEpoxyDiffer#ResultCallback#onResult(). -// ^^^^^^ reference local 18 +// ^^^^^^ reference local 17 } } }); @@ -440,21 +440,21 @@ private synchronized boolean tryLatchList(@Nullable List // ^^^^^^^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/Nullable# // ^^^^ reference semanticdb maven jdk 11 java/util/List# // ^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel# -// ^^^^^^^ definition local 23 +// ^^^^^^^ definition local 21 // documentation ```java\n@Nullable\nList> newList\n``` int runGeneration) { -// ^^^^^^^^^^^^^ definition local 24 +// ^^^^^^^^^^^^^ definition local 22 // documentation ```java\nint runGeneration\n``` if (generationTracker.finishGeneration(runGeneration)) { // ^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/AsyncEpoxyDiffer#generationTracker. // ^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/AsyncEpoxyDiffer#GenerationTracker#finishGeneration(). -// ^^^^^^^^^^^^^ reference local 24 +// ^^^^^^^^^^^^^ reference local 22 list = newList; // ^^^^ reference semanticdb maven . . com/airbnb/epoxy/AsyncEpoxyDiffer#list. -// ^^^^^^^ reference local 23 +// ^^^^^^^ reference local 21 if (newList == null) { -// ^^^^^^^ reference local 23 +// ^^^^^^^ reference local 21 readOnlyList = Collections.emptyList(); // ^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/AsyncEpoxyDiffer#readOnlyList. // ^^^^^^^^^^^ reference semanticdb maven jdk 11 java/util/Collections# @@ -464,7 +464,7 @@ private synchronized boolean tryLatchList(@Nullable List // ^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/AsyncEpoxyDiffer#readOnlyList. // ^^^^^^^^^^^ reference semanticdb maven jdk 11 java/util/Collections# // ^^^^^^^^^^^^^^^^ reference semanticdb maven jdk 11 java/util/Collections#unmodifiableList(). -// ^^^^^^^ reference local 23 +// ^^^^^^^ reference local 21 } return true; @@ -510,14 +510,14 @@ synchronized boolean finishMaxGeneration() { // ^^^^^^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/AsyncEpoxyDiffer#GenerationTracker#finishMaxGeneration(). // documentation ```java\nboolean finishMaxGeneration()\n``` boolean isInterrupting = hasUnfinishedGeneration(); -// ^^^^^^^^^^^^^^ definition local 25 +// ^^^^^^^^^^^^^^ definition local 23 // documentation ```java\nboolean isInterrupting\n``` // ^^^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/AsyncEpoxyDiffer#GenerationTracker#hasUnfinishedGeneration(). maxFinishedGeneration = maxScheduledGeneration; // ^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/AsyncEpoxyDiffer#GenerationTracker#maxFinishedGeneration. // ^^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/AsyncEpoxyDiffer#GenerationTracker#maxScheduledGeneration. return isInterrupting; -// ^^^^^^^^^^^^^^ reference local 25 +// ^^^^^^^^^^^^^^ reference local 23 } synchronized boolean hasUnfinishedGeneration() { @@ -531,26 +531,26 @@ synchronized boolean hasUnfinishedGeneration() { synchronized boolean finishGeneration(int runGeneration) { // ^^^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/AsyncEpoxyDiffer#GenerationTracker#finishGeneration(). // documentation ```java\nboolean finishGeneration(int runGeneration)\n``` -// ^^^^^^^^^^^^^ definition local 26 +// ^^^^^^^^^^^^^ definition local 24 // documentation ```java\nint runGeneration\n``` boolean isLatestGeneration = -// ^^^^^^^^^^^^^^^^^^ definition local 27 +// ^^^^^^^^^^^^^^^^^^ definition local 25 // documentation ```java\nboolean isLatestGeneration\n``` maxScheduledGeneration == runGeneration && runGeneration > maxFinishedGeneration; // ^^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/AsyncEpoxyDiffer#GenerationTracker#maxScheduledGeneration. -// ^^^^^^^^^^^^^ reference local 26 -// ^^^^^^^^^^^^^ reference local 26 +// ^^^^^^^^^^^^^ reference local 24 +// ^^^^^^^^^^^^^ reference local 24 // ^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/AsyncEpoxyDiffer#GenerationTracker#maxFinishedGeneration. if (isLatestGeneration) { -// ^^^^^^^^^^^^^^^^^^ reference local 27 +// ^^^^^^^^^^^^^^^^^^ reference local 25 maxFinishedGeneration = runGeneration; // ^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/AsyncEpoxyDiffer#GenerationTracker#maxFinishedGeneration. -// ^^^^^^^^^^^^^ reference local 26 +// ^^^^^^^^^^^^^ reference local 24 } return isLatestGeneration; -// ^^^^^^^^^^^^^^^^^^ reference local 27 +// ^^^^^^^^^^^^^^^^^^ reference local 25 } } @@ -572,7 +572,7 @@ private static class DiffCallback extends DiffUtil.Callback { // ^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/AsyncEpoxyDiffer#DiffCallback#newList. // documentation ```java\nfinal List> newList\n``` private final ItemCallback> diffCallback; -// ^^^^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^^^^ reference semanticdb maven . . ItemCallback# // ^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel# // ^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/AsyncEpoxyDiffer#DiffCallback#diffCallback. // documentation ```java\nprivate final unresolved_type diffCallback\n``` @@ -582,26 +582,26 @@ private static class DiffCallback extends DiffUtil.Callback { // documentation ```java\nDiffCallback(List> oldList, List> newList, unresolved_type diffCallback)\n``` // ^^^^ reference semanticdb maven jdk 11 java/util/List# // ^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel# -// ^^^^^^^ definition local 28 +// ^^^^^^^ definition local 26 // documentation ```java\nList> oldList\n``` // ^^^^ reference semanticdb maven jdk 11 java/util/List# // ^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel# -// ^^^^^^^ definition local 29 +// ^^^^^^^ definition local 27 // documentation ```java\nList> newList\n``` ItemCallback> diffCallback) { -// ^^^^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^^^^ reference semanticdb maven . . ItemCallback# // ^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel# -// ^^^^^^^^^^^^ definition local 30 +// ^^^^^^^^^^^^ definition local 28 // documentation ```java\nunresolved_type diffCallback\n``` this.oldList = oldList; // ^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/AsyncEpoxyDiffer#DiffCallback#oldList. -// ^^^^^^^ reference local 28 +// ^^^^^^^ reference local 26 this.newList = newList; // ^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/AsyncEpoxyDiffer#DiffCallback#newList. -// ^^^^^^^ reference local 29 +// ^^^^^^^ reference local 27 this.diffCallback = diffCallback; // ^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/AsyncEpoxyDiffer#DiffCallback#diffCallback. -// ^^^^^^^^^^^^ reference local 30 +// ^^^^^^^^^^^^ reference local 28 } @Override @@ -629,9 +629,9 @@ public int getNewListSize() { public boolean areItemsTheSame(int oldItemPosition, int newItemPosition) { // ^^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/AsyncEpoxyDiffer#DiffCallback#areItemsTheSame(). // documentation ```java\n@Override\npublic boolean areItemsTheSame(int oldItemPosition, int newItemPosition)\n``` -// ^^^^^^^^^^^^^^^ definition local 31 +// ^^^^^^^^^^^^^^^ definition local 29 // documentation ```java\nint oldItemPosition\n``` -// ^^^^^^^^^^^^^^^ definition local 32 +// ^^^^^^^^^^^^^^^ definition local 30 // documentation ```java\nint newItemPosition\n``` return diffCallback.areItemsTheSame( // ^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/AsyncEpoxyDiffer#DiffCallback#diffCallback. @@ -639,11 +639,11 @@ public boolean areItemsTheSame(int oldItemPosition, int newItemPosition) { oldList.get(oldItemPosition), // ^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/AsyncEpoxyDiffer#DiffCallback#oldList. // ^^^ reference semanticdb maven jdk 11 java/util/List#get(). -// ^^^^^^^^^^^^^^^ reference local 31 +// ^^^^^^^^^^^^^^^ reference local 29 newList.get(newItemPosition) // ^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/AsyncEpoxyDiffer#DiffCallback#newList. // ^^^ reference semanticdb maven jdk 11 java/util/List#get(). -// ^^^^^^^^^^^^^^^ reference local 32 +// ^^^^^^^^^^^^^^^ reference local 30 ); } @@ -652,9 +652,9 @@ public boolean areItemsTheSame(int oldItemPosition, int newItemPosition) { public boolean areContentsTheSame(int oldItemPosition, int newItemPosition) { // ^^^^^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/AsyncEpoxyDiffer#DiffCallback#areContentsTheSame(). // documentation ```java\n@Override\npublic boolean areContentsTheSame(int oldItemPosition, int newItemPosition)\n``` -// ^^^^^^^^^^^^^^^ definition local 33 +// ^^^^^^^^^^^^^^^ definition local 31 // documentation ```java\nint oldItemPosition\n``` -// ^^^^^^^^^^^^^^^ definition local 34 +// ^^^^^^^^^^^^^^^ definition local 32 // documentation ```java\nint newItemPosition\n``` return diffCallback.areContentsTheSame( // ^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/AsyncEpoxyDiffer#DiffCallback#diffCallback. @@ -662,11 +662,11 @@ public boolean areContentsTheSame(int oldItemPosition, int newItemPosition) { oldList.get(oldItemPosition), // ^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/AsyncEpoxyDiffer#DiffCallback#oldList. // ^^^ reference semanticdb maven jdk 11 java/util/List#get(). -// ^^^^^^^^^^^^^^^ reference local 33 +// ^^^^^^^^^^^^^^^ reference local 31 newList.get(newItemPosition) // ^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/AsyncEpoxyDiffer#DiffCallback#newList. // ^^^ reference semanticdb maven jdk 11 java/util/List#get(). -// ^^^^^^^^^^^^^^^ reference local 34 +// ^^^^^^^^^^^^^^^ reference local 32 ); } @@ -678,9 +678,9 @@ public Object getChangePayload(int oldItemPosition, int newItemPosition) { // ^^^^^^ reference semanticdb maven jdk 11 java/lang/Object# // ^^^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/AsyncEpoxyDiffer#DiffCallback#getChangePayload(). // documentation ```java\n@Nullable\n@Override\npublic Object getChangePayload(int oldItemPosition, int newItemPosition)\n``` -// ^^^^^^^^^^^^^^^ definition local 35 +// ^^^^^^^^^^^^^^^ definition local 33 // documentation ```java\nint oldItemPosition\n``` -// ^^^^^^^^^^^^^^^ definition local 36 +// ^^^^^^^^^^^^^^^ definition local 34 // documentation ```java\nint newItemPosition\n``` return diffCallback.getChangePayload( // ^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/AsyncEpoxyDiffer#DiffCallback#diffCallback. @@ -688,11 +688,11 @@ public Object getChangePayload(int oldItemPosition, int newItemPosition) { oldList.get(oldItemPosition), // ^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/AsyncEpoxyDiffer#DiffCallback#oldList. // ^^^ reference semanticdb maven jdk 11 java/util/List#get(). -// ^^^^^^^^^^^^^^^ reference local 35 +// ^^^^^^^^^^^^^^^ reference local 33 newList.get(newItemPosition) // ^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/AsyncEpoxyDiffer#DiffCallback#newList. // ^^^ reference semanticdb maven jdk 11 java/util/List#get(). -// ^^^^^^^^^^^^^^^ reference local 36 +// ^^^^^^^^^^^^^^^ reference local 34 ); } } diff --git a/tests/snapshots/src/main/generated/com/airbnb/epoxy/BaseEpoxyAdapter.java b/tests/snapshots/src/main/generated/com/airbnb/epoxy/BaseEpoxyAdapter.java index 386901bc..6e93bc4c 100644 --- a/tests/snapshots/src/main/generated/com/airbnb/epoxy/BaseEpoxyAdapter.java +++ b/tests/snapshots/src/main/generated/com/airbnb/epoxy/BaseEpoxyAdapter.java @@ -63,13 +63,13 @@ public abstract class BaseEpoxyAdapter // ^^^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/BaseEpoxyAdapter# // documentation ```java\npublic abstract class BaseEpoxyAdapter\n``` // relationship is_implementation semanticdb maven . . RecyclerView/Adapter# -// relationship is_implementation semanticdb maven . . ``/StickyHeaderCallbacks# +// relationship is_implementation semanticdb maven . . StickyHeaderCallbacks# extends RecyclerView.Adapter // ^^^^^^^^^^^^ reference semanticdb maven . . RecyclerView/ // ^^^^^^^ reference semanticdb maven . . RecyclerView/Adapter# // ^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyViewHolder# implements StickyHeaderCallbacks { -// ^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . StickyHeaderCallbacks# private static final String SAVED_STATE_ARG_VIEW_HOLDERS = "saved_state_view_holders"; // ^^^^^^ reference semanticdb maven jdk 11 java/lang/String# @@ -102,9 +102,10 @@ public abstract class BaseEpoxyAdapter // ^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/ViewHolderState#``(). private final SpanSizeLookup spanSizeLookup = new SpanSizeLookup() { -// ^^^^^^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^^^^^^ reference semanticdb maven . . SpanSizeLookup# // ^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/BaseEpoxyAdapter#spanSizeLookup. // documentation ```java\nprivate final unresolved_type spanSizeLookup\n``` +// ^^^^^^^^^^^^^^ reference semanticdb maven . . SpanSizeLookup# @Override public int getSpanSize(int position) { @@ -134,7 +135,7 @@ public BaseEpoxyAdapter() { // ^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/BaseEpoxyAdapter#setHasStableIds# spanSizeLookup.setSpanIndexCacheEnabled(true); // ^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/BaseEpoxyAdapter#spanSizeLookup. -// ^^^^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . setSpanIndexCacheEnabled# +// ^^^^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . SpanSizeLookup#setSpanIndexCacheEnabled# } /** @@ -218,7 +219,7 @@ public EpoxyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { // ^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyViewHolder# // ^^^^^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/BaseEpoxyAdapter#onCreateViewHolder(). // documentation ```java\n@Override\npublic EpoxyViewHolder onCreateViewHolder(unresolved_type parent, int viewType)\n``` -// ^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^ reference semanticdb maven . . ViewGroup# // ^^^^^^ definition local 3 // documentation ```java\nunresolved_type parent\n``` // ^^^^^^^^ definition local 4 @@ -231,7 +232,7 @@ public EpoxyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { // ^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/ViewTypeManager#getModelForViewType(). // ^^^^^^^^ reference local 4 View view = model.buildView(parent); -// ^^^^ reference semanticdb maven . . _root_/ +// ^^^^ reference semanticdb maven . . View# // ^^^^ definition local 6 // documentation ```java\nunresolved_type view\n``` // ^^^^^ reference local 5 @@ -491,7 +492,7 @@ public void onDetachedFromRecyclerView(@NonNull RecyclerView recyclerView) { // documentation ```java\n@CallSuper\n@Override\npublic void onDetachedFromRecyclerView(unresolved_type recyclerView)\n``` // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxyControllerAdapter#onDetachedFromRecyclerView(). // ^^^^^^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/NonNull# -// ^^^^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^^^^ reference semanticdb maven . . RecyclerView# // ^^^^^^^^^^^^ definition local 28 // documentation ```java\n@NonNull\nunresolved_type recyclerView\n``` // The last model is saved for optimization, but holding onto it can leak anything saved inside @@ -585,7 +586,7 @@ public void onViewDetachedFromWindow(EpoxyViewHolder holder) { public void onSaveInstanceState(Bundle outState) { // ^^^^^^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/BaseEpoxyAdapter#onSaveInstanceState(). // documentation ```java\npublic void onSaveInstanceState(unresolved_type outState)\n``` -// ^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^ reference semanticdb maven . . Bundle# // ^^^^^^^^ definition local 34 // documentation ```java\nunresolved_type outState\n``` // Save the state of currently bound views first so they are included. Views that were @@ -612,7 +613,7 @@ public void onSaveInstanceState(Bundle outState) { outState.putParcelable(SAVED_STATE_ARG_VIEW_HOLDERS, viewHolderState); // ^^^^^^^^ reference local 34 -// ^^^^^^^^^^^^^ reference semanticdb maven . . putParcelable# +// ^^^^^^^^^^^^^ reference semanticdb maven . . Bundle#putParcelable# // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/BaseEpoxyAdapter#SAVED_STATE_ARG_VIEW_HOLDERS. // ^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/BaseEpoxyAdapter#viewHolderState. } @@ -621,7 +622,7 @@ public void onRestoreInstanceState(@Nullable Bundle inState) { // ^^^^^^^^^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/BaseEpoxyAdapter#onRestoreInstanceState(). // documentation ```java\npublic void onRestoreInstanceState(unresolved_type inState)\n``` // ^^^^^^^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/Nullable# -// ^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^ reference semanticdb maven . . Bundle# // ^^^^^^^ definition local 36 // documentation ```java\n@Nullable\nunresolved_type inState\n``` // To simplify things we enforce that state is restored before views are bound, otherwise it @@ -640,7 +641,7 @@ public void onRestoreInstanceState(@Nullable Bundle inState) { viewHolderState = inState.getParcelable(SAVED_STATE_ARG_VIEW_HOLDERS); // ^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/BaseEpoxyAdapter#viewHolderState. // ^^^^^^^ reference local 36 -// ^^^^^^^^^^^^^ reference semanticdb maven . . getParcelable# +// ^^^^^^^^^^^^^ reference semanticdb maven . . Bundle#getParcelable# // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/BaseEpoxyAdapter#SAVED_STATE_ARG_VIEW_HOLDERS. if (viewHolderState == null) { // ^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/BaseEpoxyAdapter#viewHolderState. @@ -698,7 +699,7 @@ protected int getModelPosition(EpoxyModel model) { * the span count is correct. */ public SpanSizeLookup getSpanSizeLookup() { -// ^^^^^^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^^^^^^ reference semanticdb maven . . SpanSizeLookup# // ^^^^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/BaseEpoxyAdapter#getSpanSizeLookup(). // documentation ```java\npublic unresolved_type getSpanSizeLookup()\n``` // documentation For use with a grid layout manager - use this to get the {@link SpanSizeLookup} for models in\n this adapter. This will delegate span look up calls to each model's {@link\n EpoxyModel#getSpanSize(int, int, int)}. Make sure to also call {@link #setSpanCount(int)} so\n the span count is correct.\n @@ -755,7 +756,7 @@ public void setupStickyHeaderView(@NotNull View stickyHeader) { // documentation Optional callback to setup the sticky view,\n by default it doesn't do anything.\n

\n The sub-classes should override the function if they are\n using sticky header feature.\n // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxyControllerAdapter#setupStickyHeaderView(). // ^^^^^^^ reference semanticdb maven maven/org.jetbrains/annotations 13.0 org/jetbrains/annotations/NotNull# -// ^^^^ reference semanticdb maven . . _root_/ +// ^^^^ reference semanticdb maven . . View# // ^^^^^^^^^^^^ definition local 41 // documentation ```java\n@NotNull\nunresolved_type stickyHeader\n``` // no-op @@ -776,7 +777,7 @@ public void teardownStickyHeaderView(@NotNull View stickyHeader) { // documentation Optional callback to perform tear down operation on the\n sticky view, by default it doesn't do anything.\n

\n The sub-classes should override the function if they are\n using sticky header feature.\n // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxyControllerAdapter#teardownStickyHeaderView(). // ^^^^^^^ reference semanticdb maven maven/org.jetbrains/annotations 13.0 org/jetbrains/annotations/NotNull# -// ^^^^ reference semanticdb maven . . _root_/ +// ^^^^ reference semanticdb maven . . View# // ^^^^^^^^^^^^ definition local 42 // documentation ```java\n@NotNull\nunresolved_type stickyHeader\n``` // no-op diff --git a/tests/snapshots/src/main/generated/com/airbnb/epoxy/BaseEpoxyTouchCallback.java b/tests/snapshots/src/main/generated/com/airbnb/epoxy/BaseEpoxyTouchCallback.java index 99ff12ed..37c471b0 100644 --- a/tests/snapshots/src/main/generated/com/airbnb/epoxy/BaseEpoxyTouchCallback.java +++ b/tests/snapshots/src/main/generated/com/airbnb/epoxy/BaseEpoxyTouchCallback.java @@ -57,7 +57,7 @@ interface BaseEpoxyTouchCallback { // ^ reference semanticdb maven . . com/airbnb/epoxy/BaseEpoxyTouchCallback#[T] // ^^^^^ definition local 2 // documentation ```java\nT model\n``` -// ^^^^ reference semanticdb maven . . _root_/ +// ^^^^ reference semanticdb maven . . View# // ^^^^^^^^ definition local 3 // documentation ```java\nunresolved_type itemView\n``` } diff --git a/tests/snapshots/src/main/generated/com/airbnb/epoxy/Carousel.java b/tests/snapshots/src/main/generated/com/airbnb/epoxy/Carousel.java index 17c4636a..ccb27768 100644 --- a/tests/snapshots/src/main/generated/com/airbnb/epoxy/Carousel.java +++ b/tests/snapshots/src/main/generated/com/airbnb/epoxy/Carousel.java @@ -113,8 +113,8 @@ public class Carousel extends EpoxyRecyclerView { // ^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/Carousel# // documentation ```java\n@ModelView(saveViewState = true, autoLayout = Size.MATCH_WIDTH_WRAP_HEIGHT)\npublic class Carousel\n``` // documentation This feature is in Beta - please report bugs, feature requests, or other feedback at\n https://github.com/airbnb/epoxy by creating a new issue. Thanks!\n\n

This is intended as a plug and play "Carousel" view - a Recyclerview with horizontal\n scrolling. It comes with common defaults and performance optimizations and can be either used as\n a top level RecyclerView, or nested within a vertical recyclerview.\n\n

This class provides:\n\n

1. Automatic integration with Epoxy. A {@link CarouselModel_} is generated from this class,\n which you can use in your EpoxyController. Just call {@link #setModels(List)} to provide the list\n of models to show in the carousel.\n\n

2. Default padding for carousel peeking, and an easy way to change this padding - {@link\n #setPaddingDp(int)}\n\n

3. Easily control how many items are shown on screen in the carousel at a time - {@link\n #setNumViewsToShowOnScreen(float)}\n\n

4. Easy snap support. By default a {@link LinearSnapHelper} is used, but you can set a global\n default for all Carousels with {@link #setDefaultGlobalSnapHelperFactory(SnapHelperFactory)}\n\n

5. All of the benefits of {@link EpoxyRecyclerView}\n\n

If you need further flexibility you can subclass this view to change its width, height,\n scrolling direction, etc. You can annotate a subclass with {@link ModelView} to generate a new\n EpoxyModel.\n -// relationship is_implementation semanticdb maven . . ``/EpoxyRecyclerView# -// ^^^^^^^^^^^^^^^^^ reference semanticdb maven . . _root_/ +// relationship is_implementation semanticdb maven . . EpoxyRecyclerView# +// ^^^^^^^^^^^^^^^^^ reference semanticdb maven . . EpoxyRecyclerView# public static final int NO_VALUE_SET = -1; // ^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/Carousel#NO_VALUE_SET. // documentation ```java\npublic static final int NO_VALUE_SET\n``` @@ -131,12 +131,12 @@ public class Carousel extends EpoxyRecyclerView { @NonNull // ^^^^^^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/NonNull# public SnapHelper buildSnapHelper(Context context) { -// ^^^^^^^^^^ reference semanticdb maven . . _root_/ -// ^^^^^^^^^^^^^^^ definition local 2 +// ^^^^^^^^^^ reference semanticdb maven . . SnapHelper# +// ^^^^^^^^^^^^^^^ definition local 1 // documentation ```java\n@Override\n@NonNull\npublic unresolved_type buildSnapHelper(unresolved_type context)\n``` // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/Carousel#SnapHelperFactory#buildSnapHelper(). -// ^^^^^^^ reference semanticdb maven . . _root_/ -// ^^^^^^^ definition local 3 +// ^^^^^^^ reference semanticdb maven . . Context# +// ^^^^^^^ definition local 2 // documentation ```java\nunresolved_type context\n``` return new LinearSnapHelper(); } @@ -158,44 +158,44 @@ public SnapHelper buildSnapHelper(Context context) { public Carousel(Context context) { // ^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/Carousel#``(). // documentation ```java\npublic Carousel(unresolved_type context)\n``` -// ^^^^^^^ reference semanticdb maven . . _root_/ -// ^^^^^^^ definition local 4 +// ^^^^^^^ reference semanticdb maven . . Context# +// ^^^^^^^ definition local 3 // documentation ```java\nunresolved_type context\n``` super(context); -// ^^^^^^^ reference local 4 +// ^^^^^^^ reference local 3 } public Carousel(Context context, @Nullable AttributeSet attrs) { // ^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/Carousel#``(+1). // documentation ```java\npublic Carousel(unresolved_type context, unresolved_type attrs)\n``` -// ^^^^^^^ reference semanticdb maven . . _root_/ -// ^^^^^^^ definition local 5 +// ^^^^^^^ reference semanticdb maven . . Context# +// ^^^^^^^ definition local 4 // documentation ```java\nunresolved_type context\n``` // ^^^^^^^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/Nullable# -// ^^^^^^^^^^^^ reference semanticdb maven . . _root_/ -// ^^^^^ definition local 6 +// ^^^^^^^^^^^^ reference semanticdb maven . . AttributeSet# +// ^^^^^ definition local 5 // documentation ```java\n@Nullable\nunresolved_type attrs\n``` super(context, attrs); -// ^^^^^^^ reference local 5 -// ^^^^^ reference local 6 +// ^^^^^^^ reference local 4 +// ^^^^^ reference local 5 } public Carousel(Context context, @Nullable AttributeSet attrs, int defStyle) { // ^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/Carousel#``(+2). // documentation ```java\npublic Carousel(unresolved_type context, unresolved_type attrs, int defStyle)\n``` -// ^^^^^^^ reference semanticdb maven . . _root_/ -// ^^^^^^^ definition local 7 +// ^^^^^^^ reference semanticdb maven . . Context# +// ^^^^^^^ definition local 6 // documentation ```java\nunresolved_type context\n``` // ^^^^^^^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/Nullable# -// ^^^^^^^^^^^^ reference semanticdb maven . . _root_/ -// ^^^^^ definition local 8 +// ^^^^^^^^^^^^ reference semanticdb maven . . AttributeSet# +// ^^^^^ definition local 7 // documentation ```java\n@Nullable\nunresolved_type attrs\n``` -// ^^^^^^^^ definition local 9 +// ^^^^^^^^ definition local 8 // documentation ```java\nint defStyle\n``` super(context, attrs, defStyle); -// ^^^^^^^ reference local 7 -// ^^^^^ reference local 8 -// ^^^^^^^^ reference local 9 +// ^^^^^^^ reference local 6 +// ^^^^^ reference local 7 +// ^^^^^^^^ reference local 8 } @Override @@ -204,19 +204,19 @@ protected void init() { // ^^^^ definition semanticdb maven . . com/airbnb/epoxy/Carousel#init(). // documentation ```java\n@Override\nprotected void init()\n``` super.init(); -// ^^^^^ reference semanticdb maven . . _root_/ -// ^^^^ reference semanticdb maven . . init# +// ^^^^^ reference semanticdb maven . . super# +// ^^^^ reference semanticdb maven . . super#init# // When used as a model the padding can't be set via xml so we set it programmatically int defaultSpacingDp = getDefaultSpacingBetweenItemsDp(); -// ^^^^^^^^^^^^^^^^ definition local 10 +// ^^^^^^^^^^^^^^^^ definition local 9 // documentation ```java\nint defaultSpacingDp\n``` // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#getDefaultSpacingBetweenItemsDp(). if (defaultSpacingDp >= 0) { -// ^^^^^^^^^^^^^^^^ reference local 10 +// ^^^^^^^^^^^^^^^^ reference local 9 setItemSpacingDp(defaultSpacingDp); // ^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#setItemSpacingDp# -// ^^^^^^^^^^^^^^^^ reference local 10 +// ^^^^^^^^^^^^^^^^ reference local 9 if (getPaddingLeft() == 0 // ^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#getPaddingLeft# @@ -229,19 +229,19 @@ && getPaddingBottom() == 0) { // Use the item spacing as the default padding if no other padding has been set setPaddingDp(defaultSpacingDp); // ^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#setPaddingDp(). -// ^^^^^^^^^^^^^^^^ reference local 10 +// ^^^^^^^^^^^^^^^^ reference local 9 } } SnapHelperFactory snapHelperFactory = getSnapHelperFactory(); // ^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#SnapHelperFactory# -// ^^^^^^^^^^^^^^^^^ definition local 11 +// ^^^^^^^^^^^^^^^^^ definition local 10 // documentation ```java\nSnapHelperFactory snapHelperFactory\n``` // ^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#getSnapHelperFactory(). if (snapHelperFactory != null) { -// ^^^^^^^^^^^^^^^^^ reference local 11 +// ^^^^^^^^^^^^^^^^^ reference local 10 snapHelperFactory.buildSnapHelper(getContext()).attachToRecyclerView(this); -// ^^^^^^^^^^^^^^^^^ reference local 11 +// ^^^^^^^^^^^^^^^^^ reference local 10 // ^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#SnapHelperFactory#buildSnapHelper(). // ^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#getContext# // ^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . ``#attachToRecyclerView# @@ -282,11 +282,11 @@ public static void setDefaultGlobalSnapHelperFactory(@Nullable SnapHelperFactory // documentation Set a {@link SnapHelperFactory} instance to use with all Carousels by default. The {@link\n SnapHelper} created by the factory will be attached to each Carousel on view creation. Set null\n for no snap helper to be attached automatically.\n\n

A Carousel subclass can implement {@link #getSnapHelperFactory()} to override the global\n default.\n // ^^^^^^^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/Nullable# // ^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#SnapHelperFactory# -// ^^^^^^^ definition local 12 +// ^^^^^^^ definition local 11 // documentation ```java\n@Nullable\nSnapHelperFactory factory\n``` defaultGlobalSnapHelperFactory = factory; // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#defaultGlobalSnapHelperFactory. -// ^^^^^^^ reference local 12 +// ^^^^^^^ reference local 11 } @ModelProp @@ -296,12 +296,12 @@ public static void setDefaultGlobalSnapHelperFactory(@Nullable SnapHelperFactory public void setHasFixedSize(boolean hasFixedSize) { // ^^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/Carousel#setHasFixedSize(). // documentation ```java\n@ModelProp\n@Override\npublic void setHasFixedSize(boolean hasFixedSize)\n``` -// ^^^^^^^^^^^^ definition local 13 +// ^^^^^^^^^^^^ definition local 12 // documentation ```java\nboolean hasFixedSize\n``` super.setHasFixedSize(hasFixedSize); -// ^^^^^ reference semanticdb maven . . _root_/ -// ^^^^^^^^^^^^^^^ reference semanticdb maven . . setHasFixedSize# -// ^^^^^^^^^^^^ reference local 13 +// ^^^^^ reference semanticdb maven . . super# +// ^^^^^^^^^^^^^^^ reference semanticdb maven . . super#setHasFixedSize# +// ^^^^^^^^^^^^ reference local 12 } /** @@ -329,16 +329,16 @@ public void setNumViewsToShowOnScreen(float viewCount) { // ^^^^^^^^^^^^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/Carousel#setNumViewsToShowOnScreen(). // documentation ```java\n@ModelProp(group = "prefetch")\npublic void setNumViewsToShowOnScreen(float viewCount)\n``` // documentation Set the number of views to show on screen in this carousel at a time, partial numbers are\n allowed.\n\n

This is useful where you want to easily control for the number of items on screen,\n regardless of screen size. For example, you could set this to 1.2f so that one view is shown in\n full and 20% of the next view "peeks" from the edge to indicate that there is more content to\n scroll to.\n\n

Another pattern is setting a different view count depending on whether the device is phone\n or tablet.\n\n

Additionally, if a LinearLayoutManager is used this value will be forwarded to {@link\n LinearLayoutManager#setInitialPrefetchItemCount(int)} as a performance optimization.\n\n

If you want to only change the prefetch count without changing the view size you can simply\n use {@link #setInitialPrefetchItemCount(int)}\n -// ^^^^^^^^^ definition local 14 +// ^^^^^^^^^ definition local 13 // documentation ```java\nfloat viewCount\n``` numViewsToShowOnScreen = viewCount; // ^^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#numViewsToShowOnScreen. -// ^^^^^^^^^ reference local 14 +// ^^^^^^^^^ reference local 13 setInitialPrefetchItemCount((int) Math.ceil(viewCount)); // ^^^^^^^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#setInitialPrefetchItemCount(). // ^^^^ reference semanticdb maven jdk 11 java/lang/Math# // ^^^^ reference semanticdb maven jdk 11 java/lang/Math#ceil(). -// ^^^^^^^^^ reference local 14 +// ^^^^^^^^^ reference local 13 } /** @@ -366,34 +366,34 @@ public void setInitialPrefetchItemCount(int numItemsToPrefetch) { // ^^^^^^^^^^^^^^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/Carousel#setInitialPrefetchItemCount(). // documentation ```java\n@ModelProp(group = "prefetch")\npublic void setInitialPrefetchItemCount(int numItemsToPrefetch)\n``` // documentation If you are using a Linear or Grid layout manager you can use this to set the item prefetch\n count. Only use this if you are not using {@link #setNumViewsToShowOnScreen(float)}\n\n @see #setNumViewsToShowOnScreen(float)\n @see LinearLayoutManager#setInitialPrefetchItemCount(int)\n -// ^^^^^^^^^^^^^^^^^^ definition local 15 +// ^^^^^^^^^^^^^^^^^^ definition local 14 // documentation ```java\nint numItemsToPrefetch\n``` if (numItemsToPrefetch < 0) { -// ^^^^^^^^^^^^^^^^^^ reference local 15 +// ^^^^^^^^^^^^^^^^^^ reference local 14 throw new IllegalStateException("numItemsToPrefetch must be greater than 0"); // ^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven jdk 11 java/lang/IllegalStateException#``(+1). } // Use the linearlayoutmanager default of 2 if the user did not specify one int prefetchCount = numItemsToPrefetch == 0 ? 2 : numItemsToPrefetch; -// ^^^^^^^^^^^^^ definition local 16 +// ^^^^^^^^^^^^^ definition local 15 // documentation ```java\nint prefetchCount\n``` -// ^^^^^^^^^^^^^^^^^^ reference local 15 -// ^^^^^^^^^^^^^^^^^^ reference local 15 +// ^^^^^^^^^^^^^^^^^^ reference local 14 +// ^^^^^^^^^^^^^^^^^^ reference local 14 LayoutManager layoutManager = getLayoutManager(); -// ^^^^^^^^^^^^^ reference semanticdb maven . . _root_/ -// ^^^^^^^^^^^^^ definition local 17 +// ^^^^^^^^^^^^^ reference semanticdb maven . . LayoutManager# +// ^^^^^^^^^^^^^ definition local 16 // documentation ```java\nunresolved_type layoutManager\n``` // ^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#getLayoutManager# if (layoutManager instanceof LinearLayoutManager) { -// ^^^^^^^^^^^^^ reference local 17 -// ^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^^^^^ reference local 16 +// ^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . LinearLayoutManager# ((LinearLayoutManager) layoutManager).setInitialPrefetchItemCount(prefetchCount); -// ^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . _root_/ -// ^^^^^^^^^^^^^ reference local 17 -// ^^^^^^^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . setInitialPrefetchItemCount# -// ^^^^^^^^^^^^^ reference local 16 +// ^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . LinearLayoutManager# +// ^^^^^^^^^^^^^ reference local 16 +// ^^^^^^^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . LinearLayoutManager#setInitialPrefetchItemCount# +// ^^^^^^^^^^^^^ reference local 15 } } @@ -402,71 +402,71 @@ public void setInitialPrefetchItemCount(int numItemsToPrefetch) { public void onChildAttachedToWindow(View child) { // ^^^^^^^^^^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/Carousel#onChildAttachedToWindow(). // documentation ```java\n@Override\npublic void onChildAttachedToWindow(unresolved_type child)\n``` -// ^^^^ reference semanticdb maven . . _root_/ -// ^^^^^ definition local 18 +// ^^^^ reference semanticdb maven . . View# +// ^^^^^ definition local 17 // documentation ```java\nunresolved_type child\n``` if (numViewsToShowOnScreen > 0) { // ^^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#numViewsToShowOnScreen. ViewGroup.LayoutParams childLayoutParams = child.getLayoutParams(); // ^^^^^^^^^ reference semanticdb maven . . ViewGroup/ // ^^^^^^^^^^^^ reference semanticdb maven . . ViewGroup/LayoutParams# -// ^^^^^^^^^^^^^^^^^ definition local 19 +// ^^^^^^^^^^^^^^^^^ definition local 18 // documentation ```java\nunresolved_type childLayoutParams\n``` -// ^^^^^ reference local 18 -// ^^^^^^^^^^^^^^^ reference semanticdb maven . . getLayoutParams# +// ^^^^^ reference local 17 +// ^^^^^^^^^^^^^^^ reference semanticdb maven . . View#getLayoutParams# child.setTag(R.id.epoxy_recycler_view_child_initial_size_id, childLayoutParams.width); -// ^^^^^ reference local 18 -// ^^^^^^ reference semanticdb maven . . setTag# +// ^^^^^ reference local 17 +// ^^^^^^ reference semanticdb maven . . View#setTag# // ^ reference semanticdb maven . . R/ // ^^ reference semanticdb maven . . R/id# // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . R/id#epoxy_recycler_view_child_initial_size_id# -// ^^^^^^^^^^^^^^^^^ reference local 19 +// ^^^^^^^^^^^^^^^^^ reference local 18 // ^^^^^ reference semanticdb maven . . ViewGroup/LayoutParams#width# int itemSpacingPx = getSpacingDecorator().getPxBetweenItems(); -// ^^^^^^^^^^^^^ definition local 20 +// ^^^^^^^^^^^^^ definition local 19 // documentation ```java\nint itemSpacingPx\n``` // ^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#getSpacingDecorator# // ^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#getSpacingDecorator#getPxBetweenItems# int spaceBetweenItems = 0; -// ^^^^^^^^^^^^^^^^^ definition local 21 +// ^^^^^^^^^^^^^^^^^ definition local 20 // documentation ```java\nint spaceBetweenItems\n``` if (itemSpacingPx > 0) { -// ^^^^^^^^^^^^^ reference local 20 +// ^^^^^^^^^^^^^ reference local 19 // The item decoration space is not counted in the width of the view spaceBetweenItems = (int) (itemSpacingPx * numViewsToShowOnScreen); -// ^^^^^^^^^^^^^^^^^ reference local 21 -// ^^^^^^^^^^^^^ reference local 20 +// ^^^^^^^^^^^^^^^^^ reference local 20 +// ^^^^^^^^^^^^^ reference local 19 // ^^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#numViewsToShowOnScreen. } boolean isScrollingHorizontally = getLayoutManager().canScrollHorizontally(); -// ^^^^^^^^^^^^^^^^^^^^^^^ definition local 22 +// ^^^^^^^^^^^^^^^^^^^^^^^ definition local 21 // documentation ```java\nboolean isScrollingHorizontally\n``` // ^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#getLayoutManager# // ^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#getLayoutManager#canScrollHorizontally# int itemSizeInScrollingDirection = -// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ definition local 23 +// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ definition local 22 // documentation ```java\nint itemSizeInScrollingDirection\n``` (int) ((getSpaceForChildren(isScrollingHorizontally) - spaceBetweenItems) // ^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#getSpaceForChildren(). -// ^^^^^^^^^^^^^^^^^^^^^^^ reference local 22 -// ^^^^^^^^^^^^^^^^^ reference local 21 +// ^^^^^^^^^^^^^^^^^^^^^^^ reference local 21 +// ^^^^^^^^^^^^^^^^^ reference local 20 / numViewsToShowOnScreen); // ^^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#numViewsToShowOnScreen. if (isScrollingHorizontally) { -// ^^^^^^^^^^^^^^^^^^^^^^^ reference local 22 +// ^^^^^^^^^^^^^^^^^^^^^^^ reference local 21 childLayoutParams.width = itemSizeInScrollingDirection; -// ^^^^^^^^^^^^^^^^^ reference local 19 +// ^^^^^^^^^^^^^^^^^ reference local 18 // ^^^^^ reference semanticdb maven . . ViewGroup/LayoutParams#width# -// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ reference local 23 +// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ reference local 22 } else { childLayoutParams.height = itemSizeInScrollingDirection; -// ^^^^^^^^^^^^^^^^^ reference local 19 +// ^^^^^^^^^^^^^^^^^ reference local 18 // ^^^^^^ reference semanticdb maven . . ViewGroup/LayoutParams#height# -// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ reference local 23 +// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ reference local 22 } // We don't need to request layout because the layout manager will do that for us next @@ -476,10 +476,10 @@ public void onChildAttachedToWindow(View child) { private int getSpaceForChildren(boolean horizontal) { // ^^^^^^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/Carousel#getSpaceForChildren(). // documentation ```java\nprivate int getSpaceForChildren(boolean horizontal)\n``` -// ^^^^^^^^^^ definition local 24 +// ^^^^^^^^^^ definition local 23 // documentation ```java\nboolean horizontal\n``` if (horizontal) { -// ^^^^^^^^^^ reference local 24 +// ^^^^^^^^^^ reference local 23 return getTotalWidthPx(this) // ^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#getTotalWidthPx(). - getPaddingLeft() @@ -506,38 +506,38 @@ private int getSpaceForChildren(boolean horizontal) { private static int getTotalWidthPx(View view) { // ^^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/Carousel#getTotalWidthPx(). // documentation ```java\n@Px\nprivate static int getTotalWidthPx(unresolved_type view)\n``` -// ^^^^ reference semanticdb maven . . _root_/ -// ^^^^ definition local 25 +// ^^^^ reference semanticdb maven . . View# +// ^^^^ definition local 24 // documentation ```java\nunresolved_type view\n``` if (view.getWidth() > 0) { -// ^^^^ reference local 25 -// ^^^^^^^^ reference semanticdb maven . . getWidth# +// ^^^^ reference local 24 +// ^^^^^^^^ reference semanticdb maven . . View#getWidth# // Can only get a width if we are laid out return view.getWidth(); -// ^^^^ reference local 25 -// ^^^^^^^^ reference semanticdb maven . . getWidth# +// ^^^^ reference local 24 +// ^^^^^^^^ reference semanticdb maven . . View#getWidth# } if (view.getMeasuredWidth() > 0) { -// ^^^^ reference local 25 -// ^^^^^^^^^^^^^^^^ reference semanticdb maven . . getMeasuredWidth# +// ^^^^ reference local 24 +// ^^^^^^^^^^^^^^^^ reference semanticdb maven . . View#getMeasuredWidth# return view.getMeasuredWidth(); -// ^^^^ reference local 25 -// ^^^^^^^^^^^^^^^^ reference semanticdb maven . . getMeasuredWidth# +// ^^^^ reference local 24 +// ^^^^^^^^^^^^^^^^ reference semanticdb maven . . View#getMeasuredWidth# } // Fall back to assuming we want the full screen width DisplayMetrics metrics = view.getContext().getResources().getDisplayMetrics(); -// ^^^^^^^^^^^^^^ reference semanticdb maven . . _root_/ -// ^^^^^^^ definition local 26 +// ^^^^^^^^^^^^^^ reference semanticdb maven . . DisplayMetrics# +// ^^^^^^^ definition local 25 // documentation ```java\nunresolved_type metrics\n``` -// ^^^^ reference local 25 -// ^^^^^^^^^^ reference semanticdb maven . . getContext# -// ^^^^^^^^^^^^ reference semanticdb maven . . getContext#getResources# -// ^^^^^^^^^^^^^^^^^ reference semanticdb maven . . getContext#getResources#getDisplayMetrics# +// ^^^^ reference local 24 +// ^^^^^^^^^^ reference semanticdb maven . . View#getContext# +// ^^^^^^^^^^^^ reference semanticdb maven . . View#getContext#getResources# +// ^^^^^^^^^^^^^^^^^ reference semanticdb maven . . View#getContext#getResources#getDisplayMetrics# return metrics.widthPixels; -// ^^^^^^^ reference local 26 -// ^^^^^^^^^^^ reference semanticdb maven . . widthPixels# +// ^^^^^^^ reference local 25 +// ^^^^^^^^^^^ reference semanticdb maven . . DisplayMetrics#widthPixels# } @Px @@ -545,37 +545,37 @@ private static int getTotalWidthPx(View view) { private static int getTotalHeightPx(View view) { // ^^^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/Carousel#getTotalHeightPx(). // documentation ```java\n@Px\nprivate static int getTotalHeightPx(unresolved_type view)\n``` -// ^^^^ reference semanticdb maven . . _root_/ -// ^^^^ definition local 27 +// ^^^^ reference semanticdb maven . . View# +// ^^^^ definition local 26 // documentation ```java\nunresolved_type view\n``` if (view.getHeight() > 0) { -// ^^^^ reference local 27 -// ^^^^^^^^^ reference semanticdb maven . . getHeight# +// ^^^^ reference local 26 +// ^^^^^^^^^ reference semanticdb maven . . View#getHeight# return view.getHeight(); -// ^^^^ reference local 27 -// ^^^^^^^^^ reference semanticdb maven . . getHeight# +// ^^^^ reference local 26 +// ^^^^^^^^^ reference semanticdb maven . . View#getHeight# } if (view.getMeasuredHeight() > 0) { -// ^^^^ reference local 27 -// ^^^^^^^^^^^^^^^^^ reference semanticdb maven . . getMeasuredHeight# +// ^^^^ reference local 26 +// ^^^^^^^^^^^^^^^^^ reference semanticdb maven . . View#getMeasuredHeight# return view.getMeasuredHeight(); -// ^^^^ reference local 27 -// ^^^^^^^^^^^^^^^^^ reference semanticdb maven . . getMeasuredHeight# +// ^^^^ reference local 26 +// ^^^^^^^^^^^^^^^^^ reference semanticdb maven . . View#getMeasuredHeight# } // Fall back to assuming we want the full screen width DisplayMetrics metrics = view.getContext().getResources().getDisplayMetrics(); -// ^^^^^^^^^^^^^^ reference semanticdb maven . . _root_/ -// ^^^^^^^ definition local 28 +// ^^^^^^^^^^^^^^ reference semanticdb maven . . DisplayMetrics# +// ^^^^^^^ definition local 27 // documentation ```java\nunresolved_type metrics\n``` -// ^^^^ reference local 27 -// ^^^^^^^^^^ reference semanticdb maven . . getContext# -// ^^^^^^^^^^^^ reference semanticdb maven . . getContext#getResources# -// ^^^^^^^^^^^^^^^^^ reference semanticdb maven . . getContext#getResources#getDisplayMetrics# +// ^^^^ reference local 26 +// ^^^^^^^^^^ reference semanticdb maven . . View#getContext# +// ^^^^^^^^^^^^ reference semanticdb maven . . View#getContext#getResources# +// ^^^^^^^^^^^^^^^^^ reference semanticdb maven . . View#getContext#getResources#getDisplayMetrics# return metrics.heightPixels; -// ^^^^^^^ reference local 28 -// ^^^^^^^^^^^^ reference semanticdb maven . . heightPixels# +// ^^^^^^^ reference local 27 +// ^^^^^^^^^^^^ reference semanticdb maven . . DisplayMetrics#heightPixels# } @Override @@ -583,37 +583,37 @@ private static int getTotalHeightPx(View view) { public void onChildDetachedFromWindow(View child) { // ^^^^^^^^^^^^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/Carousel#onChildDetachedFromWindow(). // documentation ```java\n@Override\npublic void onChildDetachedFromWindow(unresolved_type child)\n``` -// ^^^^ reference semanticdb maven . . _root_/ -// ^^^^^ definition local 29 +// ^^^^ reference semanticdb maven . . View# +// ^^^^^ definition local 28 // documentation ```java\nunresolved_type child\n``` // Restore the view width that existed before we modified it Object initialWidth = child.getTag(R.id.epoxy_recycler_view_child_initial_size_id); // ^^^^^^ reference semanticdb maven jdk 11 java/lang/Object# -// ^^^^^^^^^^^^ definition local 30 +// ^^^^^^^^^^^^ definition local 29 // documentation ```java\nObject initialWidth\n``` -// ^^^^^ reference local 29 -// ^^^^^^ reference semanticdb maven . . getTag# +// ^^^^^ reference local 28 +// ^^^^^^ reference semanticdb maven . . View#getTag# // ^ reference semanticdb maven . . R/ // ^^ reference semanticdb maven . . R/id# // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . R/id#epoxy_recycler_view_child_initial_size_id# if (initialWidth instanceof Integer) { -// ^^^^^^^^^^^^ reference local 30 +// ^^^^^^^^^^^^ reference local 29 // ^^^^^^^ reference semanticdb maven jdk 11 java/lang/Integer# ViewGroup.LayoutParams params = child.getLayoutParams(); // ^^^^^^^^^ reference semanticdb maven . . ViewGroup/ // ^^^^^^^^^^^^ reference semanticdb maven . . ViewGroup/LayoutParams# -// ^^^^^^ definition local 31 +// ^^^^^^ definition local 30 // documentation ```java\nunresolved_type params\n``` -// ^^^^^ reference local 29 -// ^^^^^^^^^^^^^^^ reference semanticdb maven . . getLayoutParams# +// ^^^^^ reference local 28 +// ^^^^^^^^^^^^^^^ reference semanticdb maven . . View#getLayoutParams# params.width = (int) initialWidth; -// ^^^^^^ reference local 31 +// ^^^^^^ reference local 30 // ^^^^^ reference semanticdb maven . . ViewGroup/LayoutParams#width# -// ^^^^^^^^^^^^ reference local 30 +// ^^^^^^^^^^^^ reference local 29 child.setTag(R.id.epoxy_recycler_view_child_initial_size_id, null); -// ^^^^^ reference local 29 -// ^^^^^^ reference semanticdb maven . . setTag# +// ^^^^^ reference local 28 +// ^^^^^^ reference semanticdb maven . . View#setTag# // ^ reference semanticdb maven . . R/ // ^^ reference semanticdb maven . . R/id# // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . R/id#epoxy_recycler_view_child_initial_size_id# @@ -633,11 +633,11 @@ public static void setDefaultItemSpacingDp(@Dimension(unit = Dimension.DP) int d // ^^^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/Dimension#unit(). // ^^^^^^^^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/Dimension# // ^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/Dimension#DP. -// ^^ definition local 32 +// ^^ definition local 31 // documentation ```java\n@Dimension(unit = Dimension.DP)\nint dp\n``` defaultSpacingBetweenItemsDp = dp; // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#defaultSpacingBetweenItemsDp. -// ^^ reference local 32 +// ^^ reference local 31 } /** @@ -671,22 +671,22 @@ public void setPaddingRes(@DimenRes int paddingRes) { // documentation ```java\n@ModelProp(group = "padding")\npublic void setPaddingRes(int paddingRes)\n``` // documentation Set a dimension resource to specify the padding value to use on each side of the carousel and\n in between carousel items.\n // ^^^^^^^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/DimenRes# -// ^^^^^^^^^^ definition local 33 +// ^^^^^^^^^^ definition local 32 // documentation ```java\n@DimenRes\nint paddingRes\n``` int px = resToPx(paddingRes); -// ^^ definition local 34 +// ^^ definition local 33 // documentation ```java\nint px\n``` // ^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#resToPx# -// ^^^^^^^^^^ reference local 33 +// ^^^^^^^^^^ reference local 32 setPadding(px, px, px, px); // ^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#setPadding# -// ^^ reference local 34 -// ^^ reference local 34 -// ^^ reference local 34 -// ^^ reference local 34 +// ^^ reference local 33 +// ^^ reference local 33 +// ^^ reference local 33 +// ^^ reference local 33 setItemSpacingPx(px); // ^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#setItemSpacingPx# -// ^^ reference local 34 +// ^^ reference local 33 } /** @@ -707,25 +707,25 @@ public void setPaddingDp(@Dimension(unit = Dimension.DP) int paddingDp) { // ^^^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/Dimension#unit(). // ^^^^^^^^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/Dimension# // ^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/Dimension#DP. -// ^^^^^^^^^ definition local 35 +// ^^^^^^^^^ definition local 34 // documentation ```java\n@Dimension(unit = Dimension.DP)\nint paddingDp\n``` int px = dpToPx(paddingDp != NO_VALUE_SET ? paddingDp : getDefaultSpacingBetweenItemsDp()); -// ^^ definition local 36 +// ^^ definition local 35 // documentation ```java\nint px\n``` // ^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#dpToPx# -// ^^^^^^^^^ reference local 35 +// ^^^^^^^^^ reference local 34 // ^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#NO_VALUE_SET. -// ^^^^^^^^^ reference local 35 +// ^^^^^^^^^ reference local 34 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#getDefaultSpacingBetweenItemsDp(). setPadding(px, px, px, px); // ^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#setPadding# -// ^^ reference local 36 -// ^^ reference local 36 -// ^^ reference local 36 -// ^^ reference local 36 +// ^^ reference local 35 +// ^^ reference local 35 +// ^^ reference local 35 +// ^^ reference local 35 setItemSpacingPx(px); // ^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#setItemSpacingPx# -// ^^ reference local 36 +// ^^ reference local 35 } /** @@ -743,34 +743,34 @@ public void setPadding(@Nullable Padding padding) { // documentation Use the {@link Padding} class to specify individual padding values for each side of the\n carousel, as well as item spacing.\n\n

A value of null will set all padding and item spacing to 0.\n // ^^^^^^^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/Nullable# // ^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#Padding# -// ^^^^^^^ definition local 37 +// ^^^^^^^ definition local 36 // documentation ```java\n@Nullable\nPadding padding\n``` if (padding == null) { -// ^^^^^^^ reference local 37 +// ^^^^^^^ reference local 36 setPaddingDp(0); // ^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#setPaddingDp(). } else if (padding.paddingType == Padding.PaddingType.PX) { -// ^^^^^^^ reference local 37 +// ^^^^^^^ reference local 36 // ^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#Padding#paddingType. // ^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#Padding# // ^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#Padding#PaddingType# // ^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#Padding#PaddingType#PX. setPadding(padding.left, padding.top, padding.right, padding.bottom); // ^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#setPadding# -// ^^^^^^^ reference local 37 +// ^^^^^^^ reference local 36 // ^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#Padding#left. -// ^^^^^^^ reference local 37 +// ^^^^^^^ reference local 36 // ^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#Padding#top. -// ^^^^^^^ reference local 37 +// ^^^^^^^ reference local 36 // ^^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#Padding#right. -// ^^^^^^^ reference local 37 +// ^^^^^^^ reference local 36 // ^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#Padding#bottom. setItemSpacingPx(padding.itemSpacing); // ^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#setItemSpacingPx# -// ^^^^^^^ reference local 37 +// ^^^^^^^ reference local 36 // ^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#Padding#itemSpacing. } else if (padding.paddingType == Padding.PaddingType.DP) { -// ^^^^^^^ reference local 37 +// ^^^^^^^ reference local 36 // ^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#Padding#paddingType. // ^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#Padding# // ^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#Padding#PaddingType# @@ -779,24 +779,24 @@ public void setPadding(@Nullable Padding padding) { // ^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#setPadding# dpToPx(padding.left), dpToPx(padding.top), dpToPx(padding.right), dpToPx(padding.bottom)); // ^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#dpToPx# -// ^^^^^^^ reference local 37 +// ^^^^^^^ reference local 36 // ^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#Padding#left. // ^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#dpToPx# -// ^^^^^^^ reference local 37 +// ^^^^^^^ reference local 36 // ^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#Padding#top. // ^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#dpToPx# -// ^^^^^^^ reference local 37 +// ^^^^^^^ reference local 36 // ^^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#Padding#right. // ^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#dpToPx# -// ^^^^^^^ reference local 37 +// ^^^^^^^ reference local 36 // ^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#Padding#bottom. setItemSpacingPx(dpToPx(padding.itemSpacing)); // ^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#setItemSpacingPx# // ^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#dpToPx# -// ^^^^^^^ reference local 37 +// ^^^^^^^ reference local 36 // ^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#Padding#itemSpacing. } else if (padding.paddingType == Padding.PaddingType.RESOURCE) { -// ^^^^^^^ reference local 37 +// ^^^^^^^ reference local 36 // ^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#Padding#paddingType. // ^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#Padding# // ^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#Padding#PaddingType# @@ -805,24 +805,24 @@ public void setPadding(@Nullable Padding padding) { // ^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#setPadding# resToPx(padding.left), // ^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#resToPx# -// ^^^^^^^ reference local 37 +// ^^^^^^^ reference local 36 // ^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#Padding#left. resToPx(padding.top), // ^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#resToPx# -// ^^^^^^^ reference local 37 +// ^^^^^^^ reference local 36 // ^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#Padding#top. resToPx(padding.right), // ^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#resToPx# -// ^^^^^^^ reference local 37 +// ^^^^^^^ reference local 36 // ^^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#Padding#right. resToPx(padding.bottom)); // ^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#resToPx# -// ^^^^^^^ reference local 37 +// ^^^^^^^ reference local 36 // ^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#Padding#bottom. setItemSpacingPx(resToPx(padding.itemSpacing)); // ^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#setItemSpacingPx# // ^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#resToPx# -// ^^^^^^^ reference local 37 +// ^^^^^^^ reference local 36 // ^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#Padding#itemSpacing. } } @@ -867,12 +867,15 @@ enum PaddingType { PX, // ^^ definition semanticdb maven . . com/airbnb/epoxy/Carousel#Padding#PaddingType#PX. // documentation ```java\nPaddingType.PX /* ordinal 0 */\n``` +// ^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#Padding#PaddingType#``(). DP, // ^^ definition semanticdb maven . . com/airbnb/epoxy/Carousel#Padding#PaddingType#DP. // documentation ```java\nPaddingType.DP /* ordinal 1 */\n``` +// ^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#Padding#PaddingType#``(). RESOURCE // ^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/Carousel#Padding#PaddingType#RESOURCE. // documentation ```java\nPaddingType.RESOURCE /* ordinal 2 */\n``` +// ^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#Padding#PaddingType#``(). } /** @@ -886,23 +889,20 @@ public static Padding resource(@DimenRes int paddingRes, @DimenRes int itemSpaci // documentation ```java\npublic static Padding resource(int paddingRes, int itemSpacingRes)\n``` // documentation @param paddingRes Padding as dimension resource.\n @param itemSpacingRes Space as dimension resource to add between each carousel item. Will be\n implemented via an item decoration.\n // ^^^^^^^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/DimenRes# -// ^^^^^^^^^^ definition local 38 +// ^^^^^^^^^^ definition local 37 // documentation ```java\n@DimenRes\nint paddingRes\n``` // ^^^^^^^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/DimenRes# -// ^^^^^^^^^^^^^^ definition local 39 +// ^^^^^^^^^^^^^^ definition local 38 // documentation ```java\n@DimenRes\nint itemSpacingRes\n``` return new Padding( // ^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#Padding#``(+2). paddingRes, paddingRes, paddingRes, paddingRes, itemSpacingRes, PaddingType.RESOURCE); -// ^^^^^^^^^^ reference local 38 -// ^^^^^^^^^^ reference local 38 -// ^^^^^^^^^^ reference local 38 -// ^^^^^^^^^^ reference local 38 -// ^^^^^^^^^^^^^^ reference local 39 +// ^^^^^^^^^^ reference local 37 +// ^^^^^^^^^^ reference local 37 +// ^^^^^^^^^^ reference local 37 +// ^^^^^^^^^^ reference local 37 +// ^^^^^^^^^^^^^^ reference local 38 // ^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#Padding#PaddingType# -// ^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#Padding#PaddingType#``(). -// ^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#Padding#PaddingType#``(). -// ^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#Padding#PaddingType#``(). // ^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#Padding#PaddingType#RESOURCE. } @@ -921,32 +921,32 @@ public static Padding resource( // documentation @param leftRes Left padding as dimension resource.\n @param topRes Top padding as dimension resource.\n @param rightRes Right padding as dimension resource.\n @param bottomRes Bottom padding as dimension resource.\n @param itemSpacingRes Space as dimension resource to add between each carousel item. Will be\n implemented via an item decoration.\n @DimenRes int leftRes, // ^^^^^^^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/DimenRes# -// ^^^^^^^ definition local 40 +// ^^^^^^^ definition local 39 // documentation ```java\n@DimenRes\nint leftRes\n``` @DimenRes int topRes, // ^^^^^^^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/DimenRes# -// ^^^^^^ definition local 41 +// ^^^^^^ definition local 40 // documentation ```java\n@DimenRes\nint topRes\n``` @DimenRes int rightRes, // ^^^^^^^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/DimenRes# -// ^^^^^^^^ definition local 42 +// ^^^^^^^^ definition local 41 // documentation ```java\n@DimenRes\nint rightRes\n``` @DimenRes int bottomRes, // ^^^^^^^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/DimenRes# -// ^^^^^^^^^ definition local 43 +// ^^^^^^^^^ definition local 42 // documentation ```java\n@DimenRes\nint bottomRes\n``` @DimenRes int itemSpacingRes) { // ^^^^^^^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/DimenRes# -// ^^^^^^^^^^^^^^ definition local 44 +// ^^^^^^^^^^^^^^ definition local 43 // documentation ```java\n@DimenRes\nint itemSpacingRes\n``` return new Padding( // ^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#Padding#``(+2). leftRes, topRes, rightRes, bottomRes, itemSpacingRes, PaddingType.RESOURCE); -// ^^^^^^^ reference local 40 -// ^^^^^^ reference local 41 -// ^^^^^^^^ reference local 42 -// ^^^^^^^^^ reference local 43 -// ^^^^^^^^^^^^^^ reference local 44 +// ^^^^^^^ reference local 39 +// ^^^^^^ reference local 40 +// ^^^^^^^^ reference local 41 +// ^^^^^^^^^ reference local 42 +// ^^^^^^^^^^^^^^ reference local 43 // ^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#Padding#PaddingType# // ^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#Padding#PaddingType#RESOURCE. } @@ -966,22 +966,22 @@ public static Padding dp( // ^^^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/Dimension#unit(). // ^^^^^^^^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/Dimension# // ^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/Dimension#DP. -// ^^^^^^^^^ definition local 45 +// ^^^^^^^^^ definition local 44 // documentation ```java\n@Dimension(unit = Dimension.DP)\nint paddingDp\n``` @Dimension(unit = Dimension.DP) int itemSpacingDp) { // ^^^^^^^^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/Dimension# // ^^^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/Dimension#unit(). // ^^^^^^^^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/Dimension# // ^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/Dimension#DP. -// ^^^^^^^^^^^^^ definition local 46 +// ^^^^^^^^^^^^^ definition local 45 // documentation ```java\n@Dimension(unit = Dimension.DP)\nint itemSpacingDp\n``` return new Padding(paddingDp, paddingDp, paddingDp, paddingDp, itemSpacingDp, PaddingType.DP); // ^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#Padding#``(+2). -// ^^^^^^^^^ reference local 45 -// ^^^^^^^^^ reference local 45 -// ^^^^^^^^^ reference local 45 -// ^^^^^^^^^ reference local 45 -// ^^^^^^^^^^^^^ reference local 46 +// ^^^^^^^^^ reference local 44 +// ^^^^^^^^^ reference local 44 +// ^^^^^^^^^ reference local 44 +// ^^^^^^^^^ reference local 44 +// ^^^^^^^^^^^^^ reference local 45 // ^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#Padding#PaddingType# // ^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#Padding#PaddingType#DP. } @@ -1004,43 +1004,43 @@ public static Padding dp( // ^^^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/Dimension#unit(). // ^^^^^^^^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/Dimension# // ^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/Dimension#DP. -// ^^^^^^ definition local 47 +// ^^^^^^ definition local 46 // documentation ```java\n@Dimension(unit = Dimension.DP)\nint leftDp\n``` @Dimension(unit = Dimension.DP) int topDp, // ^^^^^^^^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/Dimension# // ^^^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/Dimension#unit(). // ^^^^^^^^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/Dimension# // ^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/Dimension#DP. -// ^^^^^ definition local 48 +// ^^^^^ definition local 47 // documentation ```java\n@Dimension(unit = Dimension.DP)\nint topDp\n``` @Dimension(unit = Dimension.DP) int rightDp, // ^^^^^^^^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/Dimension# // ^^^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/Dimension#unit(). // ^^^^^^^^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/Dimension# // ^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/Dimension#DP. -// ^^^^^^^ definition local 49 +// ^^^^^^^ definition local 48 // documentation ```java\n@Dimension(unit = Dimension.DP)\nint rightDp\n``` @Dimension(unit = Dimension.DP) int bottomDp, // ^^^^^^^^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/Dimension# // ^^^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/Dimension#unit(). // ^^^^^^^^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/Dimension# // ^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/Dimension#DP. -// ^^^^^^^^ definition local 50 +// ^^^^^^^^ definition local 49 // documentation ```java\n@Dimension(unit = Dimension.DP)\nint bottomDp\n``` @Dimension(unit = Dimension.DP) int itemSpacingDp) { // ^^^^^^^^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/Dimension# // ^^^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/Dimension#unit(). // ^^^^^^^^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/Dimension# // ^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/Dimension#DP. -// ^^^^^^^^^^^^^ definition local 51 +// ^^^^^^^^^^^^^ definition local 50 // documentation ```java\n@Dimension(unit = Dimension.DP)\nint itemSpacingDp\n``` return new Padding(leftDp, topDp, rightDp, bottomDp, itemSpacingDp, PaddingType.DP); // ^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#Padding#``(+2). -// ^^^^^^ reference local 47 -// ^^^^^ reference local 48 -// ^^^^^^^ reference local 49 -// ^^^^^^^^ reference local 50 -// ^^^^^^^^^^^^^ reference local 51 +// ^^^^^^ reference local 46 +// ^^^^^ reference local 47 +// ^^^^^^^ reference local 48 +// ^^^^^^^^ reference local 49 +// ^^^^^^^^^^^^^ reference local 50 // ^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#Padding#PaddingType# // ^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#Padding#PaddingType#DP. } @@ -1055,18 +1055,18 @@ public Padding(@Px int paddingPx, @Px int itemSpacingPx) { // documentation ```java\npublic Padding(int paddingPx, int itemSpacingPx)\n``` // documentation @param paddingPx Padding in pixels to add on all sides of the carousel\n @param itemSpacingPx Space in pixels to add between each carousel item. Will be implemented\n via an item decoration.\n // ^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/Px# -// ^^^^^^^^^ definition local 52 +// ^^^^^^^^^ definition local 51 // documentation ```java\n@Px\nint paddingPx\n``` // ^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/Px# -// ^^^^^^^^^^^^^ definition local 53 +// ^^^^^^^^^^^^^ definition local 52 // documentation ```java\n@Px\nint itemSpacingPx\n``` this(paddingPx, paddingPx, paddingPx, paddingPx, itemSpacingPx, PaddingType.PX); // ^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#Padding#``(+2). -// ^^^^^^^^^ reference local 52 -// ^^^^^^^^^ reference local 52 -// ^^^^^^^^^ reference local 52 -// ^^^^^^^^^ reference local 52 -// ^^^^^^^^^^^^^ reference local 53 +// ^^^^^^^^^ reference local 51 +// ^^^^^^^^^ reference local 51 +// ^^^^^^^^^ reference local 51 +// ^^^^^^^^^ reference local 51 +// ^^^^^^^^^^^^^ reference local 52 // ^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#Padding#PaddingType# // ^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#Padding#PaddingType#PX. } @@ -1085,27 +1085,27 @@ public Padding( // documentation @param leftPx Left padding in pixels.\n @param topPx Top padding in pixels.\n @param rightPx Right padding in pixels.\n @param bottomPx Bottom padding in pixels.\n @param itemSpacingPx Space in pixels to add between each carousel item. Will be implemented\n via an item decoration.\n @Px int leftPx, @Px int topPx, @Px int rightPx, @Px int bottomPx, @Px int itemSpacingPx) { // ^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/Px# -// ^^^^^^ definition local 54 +// ^^^^^^ definition local 53 // documentation ```java\n@Px\nint leftPx\n``` // ^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/Px# -// ^^^^^ definition local 55 +// ^^^^^ definition local 54 // documentation ```java\n@Px\nint topPx\n``` // ^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/Px# -// ^^^^^^^ definition local 56 +// ^^^^^^^ definition local 55 // documentation ```java\n@Px\nint rightPx\n``` // ^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/Px# -// ^^^^^^^^ definition local 57 +// ^^^^^^^^ definition local 56 // documentation ```java\n@Px\nint bottomPx\n``` // ^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/Px# -// ^^^^^^^^^^^^^ definition local 58 +// ^^^^^^^^^^^^^ definition local 57 // documentation ```java\n@Px\nint itemSpacingPx\n``` this(leftPx, topPx, rightPx, bottomPx, itemSpacingPx, PaddingType.PX); // ^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#Padding#``(+2). -// ^^^^^^ reference local 54 -// ^^^^^ reference local 55 -// ^^^^^^^ reference local 56 -// ^^^^^^^^ reference local 57 -// ^^^^^^^^^^^^^ reference local 58 +// ^^^^^^ reference local 53 +// ^^^^^ reference local 54 +// ^^^^^^^ reference local 55 +// ^^^^^^^^ reference local 56 +// ^^^^^^^^^^^^^ reference local 57 // ^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#Padding#PaddingType# // ^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#Padding#PaddingType#PX. } @@ -1124,38 +1124,38 @@ private Padding( // documentation ```java\nprivate Padding(int left, int top, int right, int bottom, int itemSpacing, PaddingType paddingType)\n``` // documentation @param left Left padding.\n @param top Top padding.\n @param right Right padding.\n @param bottom Bottom padding.\n @param itemSpacing Space to add between each carousel item. Will be implemented via an item\n decoration.\n @param paddingType Unit / Type of the given paddings/ itemspacing.\n int left, int top, int right, int bottom, int itemSpacing, PaddingType paddingType) { -// ^^^^ definition local 59 +// ^^^^ definition local 58 // documentation ```java\nint left\n``` -// ^^^ definition local 60 +// ^^^ definition local 59 // documentation ```java\nint top\n``` -// ^^^^^ definition local 61 +// ^^^^^ definition local 60 // documentation ```java\nint right\n``` -// ^^^^^^ definition local 62 +// ^^^^^^ definition local 61 // documentation ```java\nint bottom\n``` -// ^^^^^^^^^^^ definition local 63 +// ^^^^^^^^^^^ definition local 62 // documentation ```java\nint itemSpacing\n``` // ^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#Padding#PaddingType# -// ^^^^^^^^^^^ definition local 64 +// ^^^^^^^^^^^ definition local 63 // documentation ```java\nPaddingType paddingType\n``` this.left = left; // ^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#Padding#left. -// ^^^^ reference local 59 +// ^^^^ reference local 58 this.top = top; // ^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#Padding#top. -// ^^^ reference local 60 +// ^^^ reference local 59 this.right = right; // ^^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#Padding#right. -// ^^^^^ reference local 61 +// ^^^^^ reference local 60 this.bottom = bottom; // ^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#Padding#bottom. -// ^^^^^^ reference local 62 +// ^^^^^^ reference local 61 this.itemSpacing = itemSpacing; // ^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#Padding#itemSpacing. -// ^^^^^^^^^^^ reference local 63 +// ^^^^^^^^^^^ reference local 62 this.paddingType = paddingType; // ^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#Padding#paddingType. -// ^^^^^^^^^^^ reference local 64 +// ^^^^^^^^^^^ reference local 63 } @Override @@ -1165,54 +1165,54 @@ public boolean equals(Object o) { // documentation ```java\n@Override\npublic boolean equals(Object o)\n``` // relationship is_reference is_implementation semanticdb maven jdk 11 java/lang/Object#equals(). // ^^^^^^ reference semanticdb maven jdk 11 java/lang/Object# -// ^ definition local 65 +// ^ definition local 64 // documentation ```java\nObject o\n``` if (this == o) { -// ^ reference local 65 +// ^ reference local 64 return true; } if (o == null || getClass() != o.getClass()) { -// ^ reference local 65 +// ^ reference local 64 // ^^^^^^^^ reference semanticdb maven jdk 11 java/lang/Object#getClass(). -// ^ reference local 65 +// ^ reference local 64 // ^^^^^^^^ reference semanticdb maven jdk 11 java/lang/Object#getClass(). return false; } Padding padding = (Padding) o; // ^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#Padding# -// ^^^^^^^ definition local 66 +// ^^^^^^^ definition local 65 // documentation ```java\nPadding padding\n``` // ^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#Padding# -// ^ reference local 65 +// ^ reference local 64 if (left != padding.left) { // ^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#Padding#left. -// ^^^^^^^ reference local 66 +// ^^^^^^^ reference local 65 // ^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#Padding#left. return false; } if (top != padding.top) { // ^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#Padding#top. -// ^^^^^^^ reference local 66 +// ^^^^^^^ reference local 65 // ^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#Padding#top. return false; } if (right != padding.right) { // ^^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#Padding#right. -// ^^^^^^^ reference local 66 +// ^^^^^^^ reference local 65 // ^^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#Padding#right. return false; } if (bottom != padding.bottom) { // ^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#Padding#bottom. -// ^^^^^^^ reference local 66 +// ^^^^^^^ reference local 65 // ^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#Padding#bottom. return false; } return itemSpacing == padding.itemSpacing; // ^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#Padding#itemSpacing. -// ^^^^^^^ reference local 66 +// ^^^^^^^ reference local 65 // ^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#Padding#itemSpacing. } @@ -1223,27 +1223,27 @@ public int hashCode() { // documentation ```java\n@Override\npublic int hashCode()\n``` // relationship is_reference is_implementation semanticdb maven jdk 11 java/lang/Object#hashCode(). int result = left; -// ^^^^^^ definition local 67 +// ^^^^^^ definition local 66 // documentation ```java\nint result\n``` // ^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#Padding#left. result = 31 * result + top; -// ^^^^^^ reference local 67 -// ^^^^^^ reference local 67 +// ^^^^^^ reference local 66 +// ^^^^^^ reference local 66 // ^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#Padding#top. result = 31 * result + right; -// ^^^^^^ reference local 67 -// ^^^^^^ reference local 67 +// ^^^^^^ reference local 66 +// ^^^^^^ reference local 66 // ^^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#Padding#right. result = 31 * result + bottom; -// ^^^^^^ reference local 67 -// ^^^^^^ reference local 67 +// ^^^^^^ reference local 66 +// ^^^^^^ reference local 66 // ^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#Padding#bottom. result = 31 * result + itemSpacing; -// ^^^^^^ reference local 67 -// ^^^^^^ reference local 67 +// ^^^^^^ reference local 66 +// ^^^^^^ reference local 66 // ^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/Carousel#Padding#itemSpacing. return result; -// ^^^^^^ reference local 67 +// ^^^^^^ reference local 66 } } @@ -1255,12 +1255,12 @@ public void setModels(@NonNull List> models) { // ^^^^^^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/NonNull# // ^^^^ reference semanticdb maven jdk 11 java/util/List# // ^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel# -// ^^^^^^ definition local 68 +// ^^^^^^ definition local 67 // documentation ```java\n@NonNull\nList> models\n``` super.setModels(models); -// ^^^^^ reference semanticdb maven . . _root_/ -// ^^^^^^^^^ reference semanticdb maven . . setModels# -// ^^^^^^ reference local 68 +// ^^^^^ reference semanticdb maven . . super# +// ^^^^^^^^^ reference semanticdb maven . . super#setModels# +// ^^^^^^ reference local 67 } @OnViewRecycled @@ -1269,8 +1269,8 @@ public void clear() { // ^^^^^ definition semanticdb maven . . com/airbnb/epoxy/Carousel#clear(). // documentation ```java\n@OnViewRecycled\npublic void clear()\n``` super.clear(); -// ^^^^^ reference semanticdb maven . . _root_/ -// ^^^^^ reference semanticdb maven . . clear# +// ^^^^^ reference semanticdb maven . . super# +// ^^^^^ reference semanticdb maven . . super#clear# } /** Provide a SnapHelper implementation you want to use with a Carousel. */ @@ -1287,12 +1287,12 @@ public abstract static class SnapHelperFactory { @NonNull // ^^^^^^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/NonNull# public abstract SnapHelper buildSnapHelper(Context context); -// ^^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^^ reference semanticdb maven . . SnapHelper# // ^^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/Carousel#SnapHelperFactory#buildSnapHelper(). // documentation ```java\n@NonNull\npublic abstract unresolved_type buildSnapHelper(unresolved_type context)\n``` // documentation Create and return a new instance of a {@link androidx.recyclerview.widget.SnapHelper} for use\n with a Carousel.\n -// ^^^^^^^ reference semanticdb maven . . _root_/ -// ^^^^^^^ definition local 69 +// ^^^^^^^ reference semanticdb maven . . Context# +// ^^^^^^^ definition local 68 // documentation ```java\nunresolved_type context\n``` } } diff --git a/tests/snapshots/src/main/generated/com/airbnb/epoxy/ControllerModelList.java b/tests/snapshots/src/main/generated/com/airbnb/epoxy/ControllerModelList.java index 88f2f8e3..17a25d6e 100644 --- a/tests/snapshots/src/main/generated/com/airbnb/epoxy/ControllerModelList.java +++ b/tests/snapshots/src/main/generated/com/airbnb/epoxy/ControllerModelList.java @@ -15,15 +15,10 @@ class ControllerModelList extends ModelList { // relationship is_implementation semanticdb maven jdk 11 java/io/Serializable# // relationship is_implementation semanticdb maven jdk 11 java/lang/Cloneable# // relationship is_implementation semanticdb maven jdk 11 java/lang/Iterable# -// relationship is_implementation semanticdb maven jdk 11 java/lang/Iterable# -// relationship is_implementation semanticdb maven jdk 11 java/lang/Iterable# // relationship is_implementation semanticdb maven jdk 11 java/util/AbstractCollection# // relationship is_implementation semanticdb maven jdk 11 java/util/AbstractList# // relationship is_implementation semanticdb maven jdk 11 java/util/ArrayList# // relationship is_implementation semanticdb maven jdk 11 java/util/Collection# -// relationship is_implementation semanticdb maven jdk 11 java/util/Collection# -// relationship is_implementation semanticdb maven jdk 11 java/util/Collection# -// relationship is_implementation semanticdb maven jdk 11 java/util/List# // relationship is_implementation semanticdb maven jdk 11 java/util/List# // relationship is_implementation semanticdb maven jdk 11 java/util/RandomAccess# // ^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/ModelList# @@ -36,12 +31,12 @@ class ControllerModelList extends ModelList { @Override // ^^^^^^^^ reference semanticdb maven jdk 11 java/lang/Override# public void onItemRangeInserted(int positionStart, int itemCount) { -// ^^^^^^^^^^^^^^^^^^^ definition local 2 +// ^^^^^^^^^^^^^^^^^^^ definition local 1 // documentation ```java\n@Override\npublic void onItemRangeInserted(int positionStart, int itemCount)\n``` // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/ModelList#ModelListObserver#onItemRangeInserted(). -// ^^^^^^^^^^^^^ definition local 4 +// ^^^^^^^^^^^^^ definition local 2 // documentation ```java\nint positionStart\n``` -// ^^^^^^^^^ definition local 5 +// ^^^^^^^^^ definition local 3 // documentation ```java\nint itemCount\n``` throw new IllegalStateException( // ^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven jdk 11 java/lang/IllegalStateException#``(+1). @@ -51,12 +46,12 @@ public void onItemRangeInserted(int positionStart, int itemCount) { @Override // ^^^^^^^^ reference semanticdb maven jdk 11 java/lang/Override# public void onItemRangeRemoved(int positionStart, int itemCount) { -// ^^^^^^^^^^^^^^^^^^ definition local 3 +// ^^^^^^^^^^^^^^^^^^ definition local 4 // documentation ```java\n@Override\npublic void onItemRangeRemoved(int positionStart, int itemCount)\n``` // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/ModelList#ModelListObserver#onItemRangeRemoved(). -// ^^^^^^^^^^^^^ definition local 6 +// ^^^^^^^^^^^^^ definition local 5 // documentation ```java\nint positionStart\n``` -// ^^^^^^^^^ definition local 7 +// ^^^^^^^^^ definition local 6 // documentation ```java\nint itemCount\n``` throw new IllegalStateException( // ^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven jdk 11 java/lang/IllegalStateException#``(+1). @@ -67,11 +62,11 @@ public void onItemRangeRemoved(int positionStart, int itemCount) { ControllerModelList(int expectedModelCount) { //^^^^^^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/ControllerModelList#``(). // documentation ```java\nControllerModelList(int expectedModelCount)\n``` -// ^^^^^^^^^^^^^^^^^^ definition local 8 +// ^^^^^^^^^^^^^^^^^^ definition local 7 // documentation ```java\nint expectedModelCount\n``` super(expectedModelCount); // ^^^^^ reference semanticdb maven . . com/airbnb/epoxy/ModelList#``(). -// ^^^^^^^^^^^^^^^^^^ reference local 8 +// ^^^^^^^^^^^^^^^^^^ reference local 7 pauseNotifications(); // ^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/ModelList#pauseNotifications(). } diff --git a/tests/snapshots/src/main/generated/com/airbnb/epoxy/DebugTimer.java b/tests/snapshots/src/main/generated/com/airbnb/epoxy/DebugTimer.java index 4cc4d8dd..bea3f61e 100644 --- a/tests/snapshots/src/main/generated/com/airbnb/epoxy/DebugTimer.java +++ b/tests/snapshots/src/main/generated/com/airbnb/epoxy/DebugTimer.java @@ -88,8 +88,8 @@ public void stop() { // ^^^^^^^^ reference semanticdb maven jdk 11 java/lang/System#nanoTime(). // ^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/DebugTimer#startTime. Log.d(tag, String.format(sectionName + ": %.3fms", durationMs)); -// ^^^ reference semanticdb maven . . _root_/ -// ^ reference semanticdb maven . . d# +// ^^^ reference semanticdb maven . . Log# +// ^ reference semanticdb maven . . Log#d# // ^^^ reference semanticdb maven . . com/airbnb/epoxy/DebugTimer#tag. // ^^^^^^ reference semanticdb maven jdk 11 java/lang/String# // ^^^^^^ reference semanticdb maven jdk 11 java/lang/String#format(). diff --git a/tests/snapshots/src/main/generated/com/airbnb/epoxy/DiffHelper.java b/tests/snapshots/src/main/generated/com/airbnb/epoxy/DiffHelper.java index 968e9069..5d438301 100644 --- a/tests/snapshots/src/main/generated/com/airbnb/epoxy/DiffHelper.java +++ b/tests/snapshots/src/main/generated/com/airbnb/epoxy/DiffHelper.java @@ -101,6 +101,8 @@ class DiffHelper { // ^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . RecyclerView/AdapterDataObserver# // ^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/DiffHelper#observer. // documentation ```java\nprivate final unresolved_type observer\n``` +// ^^^^^^^^^^^^ reference semanticdb maven . . RecyclerView/ +// ^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . RecyclerView/AdapterDataObserver# @Override public void onChanged() { throw new UnsupportedOperationException( diff --git a/tests/snapshots/src/main/generated/com/airbnb/epoxy/DiffResult.java b/tests/snapshots/src/main/generated/com/airbnb/epoxy/DiffResult.java index d0f3e895..19483061 100644 --- a/tests/snapshots/src/main/generated/com/airbnb/epoxy/DiffResult.java +++ b/tests/snapshots/src/main/generated/com/airbnb/epoxy/DiffResult.java @@ -205,7 +205,7 @@ private DiffResult( public void dispatchTo(Adapter adapter) { // ^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/DiffResult#dispatchTo(). // documentation ```java\npublic void dispatchTo(unresolved_type adapter)\n``` -// ^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^ reference semanticdb maven . . Adapter# // ^^^^^^^ definition local 9 // documentation ```java\nunresolved_type adapter\n``` dispatchTo(new AdapterListUpdateCallback(adapter)); @@ -216,7 +216,7 @@ public void dispatchTo(Adapter adapter) { public void dispatchTo(ListUpdateCallback callback) { // ^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/DiffResult#dispatchTo(+1). // documentation ```java\npublic void dispatchTo(unresolved_type callback)\n``` -// ^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . ListUpdateCallback# // ^^^^^^^^ definition local 10 // documentation ```java\nunresolved_type callback\n``` if (differResult != null) { @@ -232,7 +232,7 @@ public void dispatchTo(ListUpdateCallback callback) { // ^^^^^^^ reference semanticdb maven jdk 11 java/util/List#isEmpty(). callback.onRemoved(0, previousModels.size()); // ^^^^^^^^ reference local 10 -// ^^^^^^^^^ reference semanticdb maven . . onRemoved# +// ^^^^^^^^^ reference semanticdb maven . . ListUpdateCallback#onRemoved# // ^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/DiffResult#previousModels. // ^^^^ reference semanticdb maven jdk 11 java/util/List#size(). } else if (!newModels.isEmpty() && previousModels.isEmpty()) { @@ -242,7 +242,7 @@ public void dispatchTo(ListUpdateCallback callback) { // ^^^^^^^ reference semanticdb maven jdk 11 java/util/List#isEmpty(). callback.onInserted(0, newModels.size()); // ^^^^^^^^ reference local 10 -// ^^^^^^^^^^ reference semanticdb maven . . onInserted# +// ^^^^^^^^^^ reference semanticdb maven . . ListUpdateCallback#onInserted# // ^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/DiffResult#newModels. // ^^^^ reference semanticdb maven jdk 11 java/util/List#size(). } diff --git a/tests/snapshots/src/main/generated/com/airbnb/epoxy/EpoxyAdapter.java b/tests/snapshots/src/main/generated/com/airbnb/epoxy/EpoxyAdapter.java index 11a47fc0..cbbf7cec 100644 --- a/tests/snapshots/src/main/generated/com/airbnb/epoxy/EpoxyAdapter.java +++ b/tests/snapshots/src/main/generated/com/airbnb/epoxy/EpoxyAdapter.java @@ -39,7 +39,7 @@ public abstract class EpoxyAdapter extends BaseEpoxyAdapter { // documentation ```java\n@SuppressWarnings("WeakerAccess")\npublic abstract class EpoxyAdapter\n``` // documentation Allows you to easily combine different view types in the same adapter, and handles view holder\n creation, binding, and ids for you. Subclasses just need to add their desired {@link EpoxyModel}\n objects and the rest is done automatically.\n

\n {@link androidx.recyclerview.widget.RecyclerView.Adapter#setHasStableIds(boolean)} is set to true\n by default, since {@link EpoxyModel} makes it easy to support unique ids. If you don't want to\n support this then disable it in your base class (not recommended).\n // relationship is_implementation semanticdb maven . . RecyclerView/Adapter# -// relationship is_implementation semanticdb maven . . ``/StickyHeaderCallbacks# +// relationship is_implementation semanticdb maven . . StickyHeaderCallbacks# // relationship is_implementation semanticdb maven . . com/airbnb/epoxy/BaseEpoxyAdapter# // ^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/EpoxyAdapter#``(). // documentation ```java\npublic EpoxyAdapter()\n``` @@ -262,7 +262,7 @@ protected void addModels(EpoxyModel... modelsToAdd) { // ^^^^^^^^^^^^^^ definition local 10 // documentation ```java\nint numModelsToAdd\n``` // ^^^^^^^^^^^ reference local 8 -// ^^^^^^ reference semanticdb maven . . length. +// ^^^^^^ reference semanticdb maven . . Array#length. ((ModelList) models).ensureCapacity(initialSize + numModelsToAdd); // ^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/ModelList# diff --git a/tests/snapshots/src/main/generated/com/airbnb/epoxy/EpoxyAsyncUtil.java b/tests/snapshots/src/main/generated/com/airbnb/epoxy/EpoxyAsyncUtil.java index 583580f8..7699b8fb 100644 --- a/tests/snapshots/src/main/generated/com/airbnb/epoxy/EpoxyAsyncUtil.java +++ b/tests/snapshots/src/main/generated/com/airbnb/epoxy/EpoxyAsyncUtil.java @@ -47,14 +47,14 @@ private EpoxyAsyncUtil() { * A Handler class that uses the main thread's Looper. */ public static final Handler MAIN_THREAD_HANDLER = -// ^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^ reference semanticdb maven . . Handler# // ^^^^^^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/EpoxyAsyncUtil#MAIN_THREAD_HANDLER. // documentation ```java\npublic static final unresolved_type MAIN_THREAD_HANDLER\n``` // documentation A Handler class that uses the main thread's Looper.\n createHandler(Looper.getMainLooper(), false); // ^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyAsyncUtil#createHandler(). -// ^^^^^^ reference semanticdb maven . . _root_/ -// ^^^^^^^^^^^^^ reference semanticdb maven . . getMainLooper# +// ^^^^^^ reference semanticdb maven . . Looper# +// ^^^^^^^^^^^^^ reference semanticdb maven . . Looper#getMainLooper# /** * A Handler class that uses the main thread's Looper. Additionally, this handler calls @@ -62,17 +62,17 @@ private EpoxyAsyncUtil() { * each {@link Message} that is sent to it or {@link Runnable} that is posted to it */ public static final Handler AYSNC_MAIN_THREAD_HANDLER = -// ^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^ reference semanticdb maven . . Handler# // ^^^^^^^^^^^^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/EpoxyAsyncUtil#AYSNC_MAIN_THREAD_HANDLER. // documentation ```java\npublic static final unresolved_type AYSNC_MAIN_THREAD_HANDLER\n``` // documentation A Handler class that uses the main thread's Looper. Additionally, this handler calls\n {@link Message#setAsynchronous(boolean)} for\n each {@link Message} that is sent to it or {@link Runnable} that is posted to it\n createHandler(Looper.getMainLooper(), true); // ^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyAsyncUtil#createHandler(). -// ^^^^^^ reference semanticdb maven . . _root_/ -// ^^^^^^^^^^^^^ reference semanticdb maven . . getMainLooper# +// ^^^^^^ reference semanticdb maven . . Looper# +// ^^^^^^^^^^^^^ reference semanticdb maven . . Looper#getMainLooper# private static Handler asyncBackgroundHandler; -// ^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^ reference semanticdb maven . . Handler# // ^^^^^^^^^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/EpoxyAsyncUtil#asyncBackgroundHandler. // documentation ```java\nprivate static unresolved_type asyncBackgroundHandler\n``` @@ -84,7 +84,7 @@ private EpoxyAsyncUtil() { @MainThread // ^^^^^^^^^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/MainThread# public static Handler getAsyncBackgroundHandler() { -// ^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^ reference semanticdb maven . . Handler# // ^^^^^^^^^^^^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/EpoxyAsyncUtil#getAsyncBackgroundHandler(). // documentation ```java\n@MainThread\npublic static unresolved_type getAsyncBackgroundHandler()\n``` // documentation A Handler class that uses a separate background thread dedicated to Epoxy. Additionally,\n this handler calls {@link Message#setAsynchronous(boolean)} for\n each {@link Message} that is sent to it or {@link Runnable} that is posted to it\n @@ -109,11 +109,11 @@ public static Handler getAsyncBackgroundHandler() { * each {@link Message} that is sent to it or {@link Runnable} that is posted to it. */ public static Handler createHandler(Looper looper, boolean async) { -// ^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^ reference semanticdb maven . . Handler# // ^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/EpoxyAsyncUtil#createHandler(). // documentation ```java\npublic static unresolved_type createHandler(unresolved_type looper, boolean async)\n``` // documentation Create a Handler with the given Looper\n\n @param async If true the Handler will calls {@link Message#setAsynchronous(boolean)} for\n each {@link Message} that is sent to it or {@link Runnable} that is posted to it.\n -// ^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^ reference semanticdb maven . . Looper# // ^^^^^^ definition local 0 // documentation ```java\nunresolved_type looper\n``` // ^^^^^ definition local 1 @@ -132,8 +132,8 @@ public static Handler createHandler(Looper looper, boolean async) { // ^^^^^^^ reference semanticdb maven . . Build/VERSION# // ^^^^^^^ reference semanticdb maven . . Build/VERSION#SDK_INT# return Handler.createAsync(looper); -// ^^^^^^^ reference semanticdb maven . . _root_/ -// ^^^^^^^^^^^ reference semanticdb maven . . createAsync# +// ^^^^^^^ reference semanticdb maven . . Handler# +// ^^^^^^^^^^^ reference semanticdb maven . . Handler#createAsync# // ^^^^^^ reference local 0 } if (Build.VERSION.SDK_INT >= 16) { @@ -143,13 +143,13 @@ public static Handler createHandler(Looper looper, boolean async) { try { //noinspection JavaReflectionMemberAccess return Handler.class.getDeclaredConstructor(Looper.class, Callback.class, boolean.class) -// ^^^^^^^ reference semanticdb maven . . _root_/ -// ^^^^^ reference semanticdb maven . . class# -// ^^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . class#getDeclaredConstructor# -// ^^^^^^ reference semanticdb maven . . _root_/ -// ^^^^^ reference semanticdb maven . . class# -// ^^^^^^^^ reference semanticdb maven . . _root_/ -// ^^^^^ reference semanticdb maven . . class# +// ^^^^^^^ reference semanticdb maven . . Handler# +// ^^^^^ reference semanticdb maven . . Handler#class# +// ^^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . Handler#class#getDeclaredConstructor# +// ^^^^^^ reference semanticdb maven . . Looper# +// ^^^^^ reference semanticdb maven . . Looper#class# +// ^^^^^^^^ reference semanticdb maven . . Callback# +// ^^^^^ reference semanticdb maven . . Callback#class# // ^^^^^ reference semanticdb maven . . boolean#class. .newInstance(looper, null, true); // ^^^^^^^^^^^ reference semanticdb maven . . ``#newInstance# @@ -169,7 +169,7 @@ public static Handler createHandler(Looper looper, boolean async) { * Create a new looper that runs on a new background thread. */ public static Looper buildBackgroundLooper(String threadName) { -// ^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^ reference semanticdb maven . . Looper# // ^^^^^^^^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/EpoxyAsyncUtil#buildBackgroundLooper(). // documentation ```java\npublic static unresolved_type buildBackgroundLooper(String threadName)\n``` // documentation Create a new looper that runs on a new background thread.\n @@ -177,15 +177,15 @@ public static Looper buildBackgroundLooper(String threadName) { // ^^^^^^^^^^ definition local 3 // documentation ```java\nString threadName\n``` HandlerThread handlerThread = new HandlerThread(threadName); -// ^^^^^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^^^^^ reference semanticdb maven . . HandlerThread# // ^^^^^^^^^^^^^ definition local 4 // documentation ```java\nunresolved_type handlerThread\n``` // ^^^^^^^^^^ reference local 3 handlerThread.start(); // ^^^^^^^^^^^^^ reference local 4 -// ^^^^^ reference semanticdb maven . . start# +// ^^^^^ reference semanticdb maven . . HandlerThread#start# return handlerThread.getLooper(); // ^^^^^^^^^^^^^ reference local 4 -// ^^^^^^^^^ reference semanticdb maven . . getLooper# +// ^^^^^^^^^ reference semanticdb maven . . HandlerThread#getLooper# } } diff --git a/tests/snapshots/src/main/generated/com/airbnb/epoxy/EpoxyController.java b/tests/snapshots/src/main/generated/com/airbnb/epoxy/EpoxyController.java index 3b390e91..f425d7d6 100644 --- a/tests/snapshots/src/main/generated/com/airbnb/epoxy/EpoxyController.java +++ b/tests/snapshots/src/main/generated/com/airbnb/epoxy/EpoxyController.java @@ -115,10 +115,10 @@ public abstract class EpoxyController implements ModelCollector, StickyHeaderCal // ^^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/EpoxyController# // documentation ```java\npublic abstract class EpoxyController\n``` // documentation A controller for easily combining {@link EpoxyModel} instances in a {@link RecyclerView.Adapter}.\n Simply implement {@link #buildModels()} to declare which models should be used, and in which\n order. Call {@link #requestModelBuild()} whenever your data changes, and the controller will call\n {@link #buildModels()}, update the adapter with the new models, and notify any changes between\n the new and old models.\n

\n The controller maintains a {@link androidx.recyclerview.widget.RecyclerView.Adapter} with the\n latest models, which you can get via {@link #getAdapter()} to set on your RecyclerView.\n

\n All data change notifications are applied automatically via Epoxy's diffing algorithm. All of\n your models must have a unique id set on them for diffing to work. You may choose to use {@link\n AutoModel} annotations to have the controller create models with unique ids for you\n automatically.\n

\n Once a model is created and added to the controller in {@link #buildModels()} it should be\n treated as immutable and never modified again. This is necessary for adapter updates to be\n accurate.\n -// relationship is_implementation semanticdb maven . . ``/ModelCollector# -// relationship is_implementation semanticdb maven . . ``/StickyHeaderCallbacks# -// ^^^^^^^^^^^^^^ reference semanticdb maven . . _root_/ -// ^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . _root_/ +// relationship is_implementation semanticdb maven . . ModelCollector# +// relationship is_implementation semanticdb maven . . StickyHeaderCallbacks# +// ^^^^^^^^^^^^^^ reference semanticdb maven . . ModelCollector# +// ^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . StickyHeaderCallbacks# /** * We check that the adapter is not connected to multiple recyclerviews, but when a fragment has @@ -138,14 +138,14 @@ public abstract class EpoxyController implements ModelCollector, StickyHeaderCal // ^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/NoOpTimer#``(). public static Handler defaultModelBuildingHandler = MainThreadExecutor.INSTANCE.handler; -// ^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^ reference semanticdb maven . . Handler# // ^^^^^^^^^^^^^^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/EpoxyController#defaultModelBuildingHandler. // documentation ```java\npublic static unresolved_type defaultModelBuildingHandler\n``` // ^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/MainThreadExecutor# // ^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/MainThreadExecutor#INSTANCE. // ^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/HandlerExecutor#handler. public static Handler defaultDiffingHandler = MainThreadExecutor.INSTANCE.handler; -// ^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^ reference semanticdb maven . . Handler# // ^^^^^^^^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/EpoxyController#defaultDiffingHandler. // documentation ```java\npublic static unresolved_type defaultDiffingHandler\n``` // ^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/MainThreadExecutor# @@ -170,7 +170,7 @@ public abstract class EpoxyController implements ModelCollector, StickyHeaderCal // ^^^^^^^^^^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/EpoxyController#recyclerViewAttachCount. // documentation ```java\nprivate int recyclerViewAttachCount\n``` private final Handler modelBuildHandler; -// ^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^ reference semanticdb maven . . Handler# // ^^^^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/EpoxyController#modelBuildHandler. // documentation ```java\nprivate final unresolved_type modelBuildHandler\n``` @@ -260,10 +260,10 @@ public EpoxyController() { public EpoxyController(Handler modelBuildingHandler, Handler diffingHandler) { // ^^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/EpoxyController#``(+1). // documentation ```java\npublic EpoxyController(unresolved_type modelBuildingHandler, unresolved_type diffingHandler)\n``` -// ^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^ reference semanticdb maven . . Handler# // ^^^^^^^^^^^^^^^^^^^^ definition local 0 // documentation ```java\nunresolved_type modelBuildingHandler\n``` -// ^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^ reference semanticdb maven . . Handler# // ^^^^^^^^^^^^^^ definition local 1 // documentation ```java\nunresolved_type diffingHandler\n``` adapter = new EpoxyControllerAdapter(this, diffingHandler); @@ -300,6 +300,9 @@ public EpoxyController(Handler modelBuildingHandler, Handler diffingHandler) { // ^^^^^^ reference semanticdb maven jdk 11 java/lang/annotation/RetentionPolicy#SOURCE. @IntDef({RequestedModelBuildType.NONE, // ^^^^^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/IntDef# +// ^^^^^^^^^^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/EpoxyController#RequestedModelBuildType# +// documentation ```java\n@Retention(RetentionPolicy.SOURCE)\n@IntDef({RequestedModelBuildType.NONE, RequestedModelBuildType.NEXT_FRAME, RequestedModelBuildType.DELAYED})\nprivate @interface RequestedModelBuildType\n``` +// relationship is_reference is_implementation semanticdb maven jdk 11 java/lang/annotation/Annotation# // ^^^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyController#RequestedModelBuildType# // ^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyController#RequestedModelBuildType#NONE. RequestedModelBuildType.NEXT_FRAME, @@ -309,9 +312,6 @@ public EpoxyController(Handler modelBuildingHandler, Handler diffingHandler) { // ^^^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyController#RequestedModelBuildType# // ^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyController#RequestedModelBuildType#DELAYED. private @interface RequestedModelBuildType { -// ^^^^^^^^^^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/EpoxyController#RequestedModelBuildType# -// documentation ```java\n@Retention(RetentionPolicy.SOURCE)\n@IntDef({RequestedModelBuildType.NONE, RequestedModelBuildType.NEXT_FRAME, RequestedModelBuildType.DELAYED})\nprivate @interface RequestedModelBuildType\n``` -// relationship is_reference is_implementation semanticdb maven jdk 11 java/lang/annotation/Annotation# int NONE = 0; // ^^^^ definition semanticdb maven . . com/airbnb/epoxy/EpoxyController#RequestedModelBuildType#NONE. // documentation ```java\npublic static final int NONE\n``` @@ -492,7 +492,7 @@ public synchronized void requestDelayedModelBuild(int delayMs) { modelBuildHandler.postDelayed(buildModelsRunnable, delayMs); // ^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyController#modelBuildHandler. -// ^^^^^^^^^^^ reference semanticdb maven . . postDelayed# +// ^^^^^^^^^^^ reference semanticdb maven . . Handler#postDelayed# // ^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyController#buildModelsRunnable. // ^^^^^^^ reference local 4 } @@ -521,7 +521,7 @@ public synchronized void cancelPendingModelBuild() { // ^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyController#RequestedModelBuildType#NONE. modelBuildHandler.removeCallbacks(buildModelsRunnable); // ^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyController#modelBuildHandler. -// ^^^^^^^^^^^^^^^ reference semanticdb maven . . removeCallbacks# +// ^^^^^^^^^^^^^^^ reference semanticdb maven . . Handler#removeCallbacks# // ^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyController#buildModelsRunnable. } } @@ -534,7 +534,7 @@ public synchronized void cancelPendingModelBuild() { @Override // ^^^^^^^^ reference semanticdb maven jdk 11 java/lang/Override# public void run() { -// ^^^ definition local 7 +// ^^^ definition local 6 // documentation ```java\n@Override\npublic void run()\n``` // relationship is_reference is_implementation semanticdb maven jdk 11 java/lang/Runnable#run(). // Do this first to mark the controller as being in the model building process. @@ -572,7 +572,7 @@ public void run() { // ^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyController#buildModels(). } catch (Throwable throwable) { // ^^^^^^^^^ reference semanticdb maven jdk 11 java/lang/Throwable# -// ^^^^^^^^^ definition local 8 +// ^^^^^^^^^ definition local 7 // documentation ```java\nThrowable throwable\n``` timer.stop(); // ^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyController#timer. @@ -586,7 +586,7 @@ public void run() { stagedModel = null; // ^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyController#stagedModel. throw throwable; -// ^^^^^^^^^ reference local 8 +// ^^^^^^^^^ reference local 7 } addCurrentlyStagedModelIfExists(); @@ -631,13 +631,13 @@ private int getExpectedModelCount() { // documentation ```java\nprivate int getExpectedModelCount()\n``` // documentation An estimate for how many models will be built in the next {@link #buildModels()} phase. int currentModelCount = adapter.getItemCount(); -// ^^^^^^^^^^^^^^^^^ definition local 9 +// ^^^^^^^^^^^^^^^^^ definition local 8 // documentation ```java\nint currentModelCount\n``` // ^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyController#adapter. // ^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyControllerAdapter#getItemCount(). return currentModelCount != 0 ? currentModelCount : 25; -// ^^^^^^^^^^^^^^^^^ reference local 9 -// ^^^^^^^^^^^^^^^^^ reference local 9 +// ^^^^^^^^^^^^^^^^^ reference local 8 +// ^^^^^^^^^^^^^^^^^ reference local 8 } /** @@ -667,29 +667,29 @@ int getFirstIndexOfModelInBuildingList(EpoxyModel model) { // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/EpoxyController#getFirstIndexOfModelInBuildingList(). // documentation ```java\nint getFirstIndexOfModelInBuildingList(EpoxyModel model)\n``` // ^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel# -// ^^^^^ definition local 10 +// ^^^^^ definition local 9 // documentation ```java\nEpoxyModel model\n``` assertIsBuildingModels(); // ^^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyController#assertIsBuildingModels(). int size = modelsBeingBuilt.size(); -// ^^^^ definition local 11 +// ^^^^ definition local 10 // documentation ```java\nint size\n``` // ^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyController#modelsBeingBuilt. // ^^^^ reference semanticdb maven jdk 11 java/util/ArrayList#size(). for (int i = 0; i < size; i++) { -// ^ definition local 12 +// ^ definition local 11 // documentation ```java\nint i\n``` -// ^ reference local 12 -// ^^^^ reference local 11 -// ^ reference local 12 +// ^ reference local 11 +// ^^^^ reference local 10 +// ^ reference local 11 if (modelsBeingBuilt.get(i) == model) { // ^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyController#modelsBeingBuilt. // ^^^ reference semanticdb maven jdk 11 java/util/ArrayList#get(). -// ^ reference local 12 -// ^^^^^ reference local 10 +// ^ reference local 11 +// ^^^^^ reference local 9 return i; -// ^ reference local 12 +// ^ reference local 11 } } @@ -700,44 +700,44 @@ boolean isModelAddedMultipleTimes(EpoxyModel model) { // ^^^^^^^^^^^^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/EpoxyController#isModelAddedMultipleTimes(). // documentation ```java\nboolean isModelAddedMultipleTimes(EpoxyModel model)\n``` // ^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel# -// ^^^^^ definition local 13 +// ^^^^^ definition local 12 // documentation ```java\nEpoxyModel model\n``` assertIsBuildingModels(); // ^^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyController#assertIsBuildingModels(). int modelCount = 0; -// ^^^^^^^^^^ definition local 14 +// ^^^^^^^^^^ definition local 13 // documentation ```java\nint modelCount\n``` int size = modelsBeingBuilt.size(); -// ^^^^ definition local 15 +// ^^^^ definition local 14 // documentation ```java\nint size\n``` // ^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyController#modelsBeingBuilt. // ^^^^ reference semanticdb maven jdk 11 java/util/ArrayList#size(). for (int i = 0; i < size; i++) { -// ^ definition local 16 +// ^ definition local 15 // documentation ```java\nint i\n``` -// ^ reference local 16 -// ^^^^ reference local 15 -// ^ reference local 16 +// ^ reference local 15 +// ^^^^ reference local 14 +// ^ reference local 15 if (modelsBeingBuilt.get(i) == model) { // ^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyController#modelsBeingBuilt. // ^^^ reference semanticdb maven jdk 11 java/util/ArrayList#get(). -// ^ reference local 16 -// ^^^^^ reference local 13 +// ^ reference local 15 +// ^^^^^ reference local 12 modelCount++; -// ^^^^^^^^^^ reference local 14 +// ^^^^^^^^^^ reference local 13 } } return modelCount > 1; -// ^^^^^^^^^^ reference local 14 +// ^^^^^^^^^^ reference local 13 } void addAfterInterceptorCallback(ModelInterceptorCallback callback) { // ^^^^^^^^^^^^^^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/EpoxyController#addAfterInterceptorCallback(). // documentation ```java\nvoid addAfterInterceptorCallback(ModelInterceptorCallback callback)\n``` // ^^^^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyController#ModelInterceptorCallback# -// ^^^^^^^^ definition local 17 +// ^^^^^^^^ definition local 16 // documentation ```java\nModelInterceptorCallback callback\n``` assertIsBuildingModels(); // ^^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyController#assertIsBuildingModels(). @@ -752,7 +752,7 @@ void addAfterInterceptorCallback(ModelInterceptorCallback callback) { modelInterceptorCallbacks.add(callback); // ^^^^^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyController#modelInterceptorCallbacks. // ^^^ reference semanticdb maven jdk 11 java/util/List#add(). -// ^^^^^^^^ reference local 17 +// ^^^^^^^^ reference local 16 } /** @@ -767,13 +767,13 @@ interface ModelInterceptorCallback { // ^^^^^^^^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/EpoxyController#ModelInterceptorCallback#onInterceptorsStarted(). // documentation ```java\npublic abstract void onInterceptorsStarted(EpoxyController controller)\n``` // ^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyController# -// ^^^^^^^^^^ definition local 18 +// ^^^^^^^^^^ definition local 17 // documentation ```java\nEpoxyController controller\n``` void onInterceptorsFinished(EpoxyController controller); // ^^^^^^^^^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/EpoxyController#ModelInterceptorCallback#onInterceptorsFinished(). // documentation ```java\npublic abstract void onInterceptorsFinished(EpoxyController controller)\n``` // ^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyController# -// ^^^^^^^^^^ definition local 19 +// ^^^^^^^^^^ definition local 18 // documentation ```java\nEpoxyController controller\n``` } @@ -787,11 +787,11 @@ private void runInterceptors() { // ^^^^^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyController#modelInterceptorCallbacks. for (ModelInterceptorCallback callback : modelInterceptorCallbacks) { // ^^^^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyController#ModelInterceptorCallback# -// ^^^^^^^^ definition local 20 +// ^^^^^^^^ definition local 19 // documentation ```java\nModelInterceptorCallback callback\n``` // ^^^^^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyController#modelInterceptorCallbacks. callback.onInterceptorsStarted(this); -// ^^^^^^^^ reference local 20 +// ^^^^^^^^ reference local 19 // ^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyController#ModelInterceptorCallback#onInterceptorsStarted(). } } @@ -802,11 +802,11 @@ private void runInterceptors() { for (Interceptor interceptor : interceptors) { // ^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyController#Interceptor# -// ^^^^^^^^^^^ definition local 21 +// ^^^^^^^^^^^ definition local 20 // documentation ```java\nInterceptor interceptor\n``` // ^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyController#interceptors. interceptor.intercept(modelsBeingBuilt); -// ^^^^^^^^^^^ reference local 21 +// ^^^^^^^^^^^ reference local 20 // ^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyController#Interceptor#intercept(). // ^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyController#modelsBeingBuilt. } @@ -819,11 +819,11 @@ private void runInterceptors() { // ^^^^^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyController#modelInterceptorCallbacks. for (ModelInterceptorCallback callback : modelInterceptorCallbacks) { // ^^^^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyController#ModelInterceptorCallback# -// ^^^^^^^^ definition local 22 +// ^^^^^^^^ definition local 21 // documentation ```java\nModelInterceptorCallback callback\n``` // ^^^^^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyController#modelInterceptorCallbacks. callback.onInterceptorsFinished(this); -// ^^^^^^^^ reference local 22 +// ^^^^^^^^ reference local 21 // ^^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyController#ModelInterceptorCallback#onInterceptorsFinished(). } } @@ -858,7 +858,7 @@ public interface Interceptor { // ^^^^^^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/NonNull# // ^^^^ reference semanticdb maven jdk 11 java/util/List# // ^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel# -// ^^^^^^ definition local 23 +// ^^^^^^ definition local 22 // documentation ```java\n@NonNull\nList> models\n``` } @@ -876,12 +876,12 @@ public void addInterceptor(@NonNull Interceptor interceptor) { // documentation Add an interceptor callback to be run after models are built, to make any last changes before\n they are set on the adapter. Interceptors are run in the order they are added.\n

\n Interceptors are run on the same thread that models are built on.\n\n @see Interceptor#intercept(List)\n // ^^^^^^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/NonNull# // ^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyController#Interceptor# -// ^^^^^^^^^^^ definition local 24 +// ^^^^^^^^^^^ definition local 23 // documentation ```java\n@NonNull\nInterceptor interceptor\n``` interceptors.add(interceptor); // ^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyController#interceptors. // ^^^ reference semanticdb maven jdk 11 java/util/List#add(). -// ^^^^^^^^^^^ reference local 24 +// ^^^^^^^^^^^ reference local 23 } /** Remove an interceptor that was added with {@link #addInterceptor(Interceptor)}. */ @@ -891,12 +891,12 @@ public void removeInterceptor(@NonNull Interceptor interceptor) { // documentation Remove an interceptor that was added with {@link #addInterceptor(Interceptor)}. // ^^^^^^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/NonNull# // ^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyController#Interceptor# -// ^^^^^^^^^^^ definition local 25 +// ^^^^^^^^^^^ definition local 24 // documentation ```java\n@NonNull\nInterceptor interceptor\n``` interceptors.remove(interceptor); // ^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyController#interceptors. // ^^^^^^ reference semanticdb maven jdk 11 java/util/List#remove(). -// ^^^^^^^^^^^ reference local 25 +// ^^^^^^^^^^^ reference local 24 } /** @@ -948,10 +948,10 @@ public void add(@NonNull EpoxyModel model) { // documentation Add the model to this controller. Can only be called from inside {@link\n EpoxyController#buildModels()}.\n // ^^^^^^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/NonNull# // ^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel# -// ^^^^^ definition local 26 +// ^^^^^ definition local 25 // documentation ```java\n@NonNull\nEpoxyModel model\n``` model.addTo(this); -// ^^^^^ reference local 26 +// ^^^^^ reference local 25 // ^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel#addTo(). } @@ -965,24 +965,24 @@ protected void add(@NonNull EpoxyModel... modelsToAdd) { // documentation Add the models to this controller. Can only be called from inside {@link\n EpoxyController#buildModels()}.\n // ^^^^^^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/NonNull# // ^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel# -// ^^^^^^^^^^^ definition local 27 +// ^^^^^^^^^^^ definition local 26 // documentation ```java\n@NonNull\nEpoxyModel[] modelsToAdd\n``` modelsBeingBuilt.ensureCapacity(modelsBeingBuilt.size() + modelsToAdd.length); // ^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyController#modelsBeingBuilt. // ^^^^^^^^^^^^^^ reference semanticdb maven jdk 11 java/util/ArrayList#ensureCapacity(). // ^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyController#modelsBeingBuilt. // ^^^^ reference semanticdb maven jdk 11 java/util/ArrayList#size(). -// ^^^^^^^^^^^ reference local 27 -// ^^^^^^ reference semanticdb maven . . length. +// ^^^^^^^^^^^ reference local 26 +// ^^^^^^ reference semanticdb maven . . Array#length. for (EpoxyModel model : modelsToAdd) { // ^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel# -// ^^^^^ definition local 28 +// ^^^^^ definition local 27 // documentation ```java\nEpoxyModel model\n``` -// ^^^^^^^^^^^ reference local 27 +// ^^^^^^^^^^^ reference local 26 add(model); // ^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyController#add(). -// ^^^^^ reference local 28 +// ^^^^^ reference local 27 } } @@ -997,24 +997,24 @@ protected void add(@NonNull List> modelsToAdd) { // ^^^^^^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/NonNull# // ^^^^ reference semanticdb maven jdk 11 java/util/List# // ^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel# -// ^^^^^^^^^^^ definition local 29 +// ^^^^^^^^^^^ definition local 28 // documentation ```java\n@NonNull\nList> modelsToAdd\n``` modelsBeingBuilt.ensureCapacity(modelsBeingBuilt.size() + modelsToAdd.size()); // ^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyController#modelsBeingBuilt. // ^^^^^^^^^^^^^^ reference semanticdb maven jdk 11 java/util/ArrayList#ensureCapacity(). // ^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyController#modelsBeingBuilt. // ^^^^ reference semanticdb maven jdk 11 java/util/ArrayList#size(). -// ^^^^^^^^^^^ reference local 29 +// ^^^^^^^^^^^ reference local 28 // ^^^^ reference semanticdb maven jdk 11 java/util/List#size(). for (EpoxyModel model : modelsToAdd) { // ^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel# -// ^^^^^ definition local 30 +// ^^^^^ definition local 29 // documentation ```java\nEpoxyModel model\n``` -// ^^^^^^^^^^^ reference local 29 +// ^^^^^^^^^^^ reference local 28 add(model); // ^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyController#add(). -// ^^^^^ reference local 30 +// ^^^^^ reference local 29 } } @@ -1027,13 +1027,13 @@ void addInternal(EpoxyModel modelToAdd) { // documentation ```java\nvoid addInternal(EpoxyModel modelToAdd)\n``` // documentation Method to actually add the model to the list being built. Should be called after all\n validations are done.\n // ^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel# -// ^^^^^^^^^^ definition local 31 +// ^^^^^^^^^^ definition local 30 // documentation ```java\nEpoxyModel modelToAdd\n``` assertIsBuildingModels(); // ^^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyController#assertIsBuildingModels(). if (modelToAdd.hasDefaultId()) { -// ^^^^^^^^^^ reference local 31 +// ^^^^^^^^^^ reference local 30 // ^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel#hasDefaultId(). throw new IllegalEpoxyUsage( // ^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/IllegalEpoxyUsage#``(). @@ -1042,7 +1042,7 @@ void addInternal(EpoxyModel modelToAdd) { } if (!modelToAdd.isShown()) { -// ^^^^^^^^^^ reference local 31 +// ^^^^^^^^^^ reference local 30 // ^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel#isShown(). throw new IllegalEpoxyUsage( // ^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/IllegalEpoxyUsage#``(). @@ -1054,14 +1054,14 @@ void addInternal(EpoxyModel modelToAdd) { // In that case we may have a previously staged model that still needs to be added. clearModelFromStaging(modelToAdd); // ^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyController#clearModelFromStaging(). -// ^^^^^^^^^^ reference local 31 +// ^^^^^^^^^^ reference local 30 modelToAdd.controllerToStageTo = null; -// ^^^^^^^^^^ reference local 31 +// ^^^^^^^^^^ reference local 30 // ^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel#controllerToStageTo. modelsBeingBuilt.add(modelToAdd); // ^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyController#modelsBeingBuilt. // ^^^ reference semanticdb maven . . com/airbnb/epoxy/ModelList#add(). -// ^^^^^^^^^^ reference local 31 +// ^^^^^^^^^^ reference local 30 } /** @@ -1079,10 +1079,10 @@ void setStagedModel(EpoxyModel model) { // documentation ```java\nvoid setStagedModel(EpoxyModel model)\n``` // documentation Staging models allows them to be implicitly added after the user finishes modifying them. This\n means that if a user has modified a model, and then moves on to modifying a different model,\n the first model is automatically added as soon as the second model is modified.\n

\n There are some edge cases for handling models that are added without modification, or models\n that are modified but then fail an `addIf` check.\n

\n This only works for AutoModels, and only if implicitly adding is enabled in configuration.\n // ^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel# -// ^^^^^ definition local 32 +// ^^^^^ definition local 31 // documentation ```java\nEpoxyModel model\n``` if (model != stagedModel) { -// ^^^^^ reference local 32 +// ^^^^^ reference local 31 // ^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyController#stagedModel. addCurrentlyStagedModelIfExists(); // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyController#addCurrentlyStagedModelIfExists(). @@ -1090,7 +1090,7 @@ void setStagedModel(EpoxyModel model) { stagedModel = model; // ^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyController#stagedModel. -// ^^^^^ reference local 32 +// ^^^^^ reference local 31 } void addCurrentlyStagedModelIfExists() { @@ -1110,11 +1110,11 @@ void clearModelFromStaging(EpoxyModel model) { // ^^^^^^^^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/EpoxyController#clearModelFromStaging(). // documentation ```java\nvoid clearModelFromStaging(EpoxyModel model)\n``` // ^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel# -// ^^^^^ definition local 33 +// ^^^^^ definition local 32 // documentation ```java\nEpoxyModel model\n``` if (stagedModel != model) { // ^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyController#stagedModel. -// ^^^^^ reference local 33 +// ^^^^^ reference local 32 addCurrentlyStagedModelIfExists(); // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyController#addCurrentlyStagedModelIfExists(). } @@ -1138,7 +1138,7 @@ private void filterDuplicatesIfNeeded(List> models) { // documentation ```java\nprivate void filterDuplicatesIfNeeded(List> models)\n``` // ^^^^ reference semanticdb maven jdk 11 java/util/List# // ^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel# -// ^^^^^^ definition local 34 +// ^^^^^^ definition local 33 // documentation ```java\nList> models\n``` if (!filterDuplicates) { // ^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyController#filterDuplicates. @@ -1151,61 +1151,61 @@ private void filterDuplicatesIfNeeded(List> models) { Set modelIds = new HashSet<>(models.size()); // ^^^ reference semanticdb maven jdk 11 java/util/Set# // ^^^^ reference semanticdb maven jdk 11 java/lang/Long# -// ^^^^^^^^ definition local 35 +// ^^^^^^^^ definition local 34 // documentation ```java\nSet modelIds\n``` // ^^^^^^^ reference semanticdb maven jdk 11 java/util/HashSet#``(+3). -// ^^^^^^ reference local 34 +// ^^^^^^ reference local 33 // ^^^^ reference semanticdb maven jdk 11 java/util/List#size(). ListIterator> modelIterator = models.listIterator(); // ^^^^^^^^^^^^ reference semanticdb maven jdk 11 java/util/ListIterator# // ^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel# -// ^^^^^^^^^^^^^ definition local 36 +// ^^^^^^^^^^^^^ definition local 35 // documentation ```java\nListIterator> modelIterator\n``` -// ^^^^^^ reference local 34 +// ^^^^^^ reference local 33 // ^^^^^^^^^^^^ reference semanticdb maven jdk 11 java/util/List#listIterator(). while (modelIterator.hasNext()) { -// ^^^^^^^^^^^^^ reference local 36 +// ^^^^^^^^^^^^^ reference local 35 // ^^^^^^^ reference semanticdb maven jdk 11 java/util/ListIterator#hasNext(). EpoxyModel model = modelIterator.next(); // ^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel# -// ^^^^^ definition local 37 +// ^^^^^ definition local 36 // documentation ```java\nEpoxyModel model\n``` -// ^^^^^^^^^^^^^ reference local 36 +// ^^^^^^^^^^^^^ reference local 35 // ^^^^ reference semanticdb maven jdk 11 java/util/ListIterator#next(). if (!modelIds.add(model.id())) { -// ^^^^^^^^ reference local 35 +// ^^^^^^^^ reference local 34 // ^^^ reference semanticdb maven jdk 11 java/util/Set#add(). -// ^^^^^ reference local 37 +// ^^^^^ reference local 36 // ^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel#id(). int indexOfDuplicate = modelIterator.previousIndex(); -// ^^^^^^^^^^^^^^^^ definition local 38 +// ^^^^^^^^^^^^^^^^ definition local 37 // documentation ```java\nint indexOfDuplicate\n``` -// ^^^^^^^^^^^^^ reference local 36 +// ^^^^^^^^^^^^^ reference local 35 // ^^^^^^^^^^^^^ reference semanticdb maven jdk 11 java/util/ListIterator#previousIndex(). modelIterator.remove(); -// ^^^^^^^^^^^^^ reference local 36 +// ^^^^^^^^^^^^^ reference local 35 // ^^^^^^ reference semanticdb maven jdk 11 java/util/ListIterator#remove(). int indexOfOriginal = findPositionOfDuplicate(models, model); -// ^^^^^^^^^^^^^^^ definition local 39 +// ^^^^^^^^^^^^^^^ definition local 38 // documentation ```java\nint indexOfOriginal\n``` // ^^^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyController#findPositionOfDuplicate(). -// ^^^^^^ reference local 34 -// ^^^^^ reference local 37 +// ^^^^^^ reference local 33 +// ^^^^^ reference local 36 EpoxyModel originalModel = models.get(indexOfOriginal); // ^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel# -// ^^^^^^^^^^^^^ definition local 40 +// ^^^^^^^^^^^^^ definition local 39 // documentation ```java\nEpoxyModel originalModel\n``` -// ^^^^^^ reference local 34 +// ^^^^^^ reference local 33 // ^^^ reference semanticdb maven jdk 11 java/util/List#get(). -// ^^^^^^^^^^^^^^^ reference local 39 +// ^^^^^^^^^^^^^^^ reference local 38 if (indexOfDuplicate <= indexOfOriginal) { -// ^^^^^^^^^^^^^^^^ reference local 38 -// ^^^^^^^^^^^^^^^ reference local 39 +// ^^^^^^^^^^^^^^^^ reference local 37 +// ^^^^^^^^^^^^^^^ reference local 38 // Adjust for the original positions of the models before the duplicate was removed indexOfOriginal++; -// ^^^^^^^^^^^^^^^ reference local 39 +// ^^^^^^^^^^^^^^^ reference local 38 } onExceptionSwallowed( @@ -1213,11 +1213,11 @@ private void filterDuplicatesIfNeeded(List> models) { new IllegalEpoxyUsage("Two models have the same ID. ID's must be unique!" // ^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/IllegalEpoxyUsage#``(). + "\nOriginal has position " + indexOfOriginal + ":\n" + originalModel -// ^^^^^^^^^^^^^^^ reference local 39 -// ^^^^^^^^^^^^^ reference local 40 +// ^^^^^^^^^^^^^^^ reference local 38 +// ^^^^^^^^^^^^^ reference local 39 + "\nDuplicate has position " + indexOfDuplicate + ":\n" + model) -// ^^^^^^^^^^^^^^^^ reference local 38 -// ^^^^^ reference local 37 +// ^^^^^^^^^^^^^^^^ reference local 37 +// ^^^^^ reference local 36 ); } } @@ -1232,36 +1232,36 @@ private int findPositionOfDuplicate(List> models, EpoxyModel du // documentation ```java\nprivate int findPositionOfDuplicate(List> models, EpoxyModel duplicateModel)\n``` // ^^^^ reference semanticdb maven jdk 11 java/util/List# // ^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel# -// ^^^^^^ definition local 41 +// ^^^^^^ definition local 40 // documentation ```java\nList> models\n``` // ^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel# -// ^^^^^^^^^^^^^^ definition local 42 +// ^^^^^^^^^^^^^^ definition local 41 // documentation ```java\nEpoxyModel duplicateModel\n``` int size = models.size(); -// ^^^^ definition local 43 +// ^^^^ definition local 42 // documentation ```java\nint size\n``` -// ^^^^^^ reference local 41 +// ^^^^^^ reference local 40 // ^^^^ reference semanticdb maven jdk 11 java/util/List#size(). for (int i = 0; i < size; i++) { -// ^ definition local 44 +// ^ definition local 43 // documentation ```java\nint i\n``` -// ^ reference local 44 -// ^^^^ reference local 43 -// ^ reference local 44 +// ^ reference local 43 +// ^^^^ reference local 42 +// ^ reference local 43 EpoxyModel model = models.get(i); // ^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel# -// ^^^^^ definition local 45 +// ^^^^^ definition local 44 // documentation ```java\nEpoxyModel model\n``` -// ^^^^^^ reference local 41 +// ^^^^^^ reference local 40 // ^^^ reference semanticdb maven jdk 11 java/util/List#get(). -// ^ reference local 44 +// ^ reference local 43 if (model.id() == duplicateModel.id()) { -// ^^^^^ reference local 45 +// ^^^^^ reference local 44 // ^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel#id(). -// ^^^^^^^^^^^^^^ reference local 42 +// ^^^^^^^^^^^^^^ reference local 41 // ^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel#id(). return i; -// ^ reference local 44 +// ^ reference local 43 } } @@ -1283,11 +1283,11 @@ public void setFilterDuplicates(boolean filterDuplicates) { // ^^^^^^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/EpoxyController#setFilterDuplicates(). // documentation ```java\npublic void setFilterDuplicates(boolean filterDuplicates)\n``` // documentation If set to true, Epoxy will search for models with duplicate ids added during {@link\n #buildModels()} and remove any duplicates found. If models with the same id are found, the\n first one is left in the adapter and any subsequent models are removed. {@link\n #onExceptionSwallowed(RuntimeException)} will be called for each duplicate removed.\n

\n This may be useful if your models are created via server supplied data, in which case the\n server may erroneously send duplicate items. Duplicate items are otherwise left in and can\n result in undefined behavior.\n -// ^^^^^^^^^^^^^^^^ definition local 46 +// ^^^^^^^^^^^^^^^^ definition local 45 // documentation ```java\nboolean filterDuplicates\n``` this.filterDuplicates = filterDuplicates; // ^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyController#filterDuplicates. -// ^^^^^^^^^^^^^^^^ reference local 46 +// ^^^^^^^^^^^^^^^^ reference local 45 } public boolean isDuplicateFilteringEnabled() { @@ -1306,12 +1306,12 @@ public static void setGlobalDuplicateFilteringDefault(boolean filterDuplicatesBy // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/EpoxyController#setGlobalDuplicateFilteringDefault(). // documentation ```java\npublic static void setGlobalDuplicateFilteringDefault(boolean filterDuplicatesByDefault)\n``` // documentation {@link #setFilterDuplicates(boolean)} is disabled in each EpoxyController by default. It can be\n toggled individually in each controller, or alternatively you can use this to change the\n default value for all EpoxyControllers.\n -// ^^^^^^^^^^^^^^^^^^^^^^^^^ definition local 47 +// ^^^^^^^^^^^^^^^^^^^^^^^^^ definition local 46 // documentation ```java\nboolean filterDuplicatesByDefault\n``` EpoxyController.filterDuplicatesDefault = filterDuplicatesByDefault; // ^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyController# // ^^^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyController#filterDuplicatesDefault. -// ^^^^^^^^^^^^^^^^^^^^^^^^^ reference local 47 +// ^^^^^^^^^^^^^^^^^^^^^^^^^ reference local 46 } /** @@ -1329,13 +1329,13 @@ public void setDebugLoggingEnabled(boolean enabled) { // ^^^^^^^^^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/EpoxyController#setDebugLoggingEnabled(). // documentation ```java\npublic void setDebugLoggingEnabled(boolean enabled)\n``` // documentation If enabled, DEBUG logcat messages will be printed to show when models are rebuilt, the time\n taken to build them, the time taken to diff them, and the item change outcomes from the\n differ. The tag of the logcat message is the class name of your EpoxyController.\n

\n This is useful to verify that models are being diffed as expected, as well as to watch for\n slowdowns in model building or diffing to indicate when you should optimize model building or\n model hashCode/equals implementations (which can often slow down diffing).\n

\n This should only be used in debug builds to avoid a performance hit in prod.\n -// ^^^^^^^ definition local 48 +// ^^^^^^^ definition local 47 // documentation ```java\nboolean enabled\n``` assertNotBuildingModels(); // ^^^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyController#assertNotBuildingModels(). if (enabled) { -// ^^^^^^^ reference local 48 +// ^^^^^^^ reference local 47 timer = new DebugTimer(getClass().getSimpleName()); // ^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyController#timer. // ^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/DebugTimer#``(). @@ -1385,12 +1385,12 @@ public static void setGlobalDebugLoggingEnabled(boolean globalDebugLoggingEnable // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/EpoxyController#setGlobalDebugLoggingEnabled(). // documentation ```java\npublic static void setGlobalDebugLoggingEnabled(boolean globalDebugLoggingEnabled)\n``` // documentation Similar to {@link #setDebugLoggingEnabled(boolean)}, but this changes the global default for\n all EpoxyControllers.\n

\n The default is false.\n -// ^^^^^^^^^^^^^^^^^^^^^^^^^ definition local 49 +// ^^^^^^^^^^^^^^^^^^^^^^^^^ definition local 48 // documentation ```java\nboolean globalDebugLoggingEnabled\n``` EpoxyController.globalDebugLoggingEnabled = globalDebugLoggingEnabled; // ^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyController# // ^^^^^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyController#globalDebugLoggingEnabled. -// ^^^^^^^^^^^^^^^^^^^^^^^^^ reference local 49 +// ^^^^^^^^^^^^^^^^^^^^^^^^^ reference local 48 } /** @@ -1415,9 +1415,9 @@ public void moveModel(int fromPosition, int toPosition) { // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/Typed3EpoxyController#moveModel(). // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/Typed4EpoxyController#moveModel(). // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/TypedEpoxyController#moveModel(). -// ^^^^^^^^^^^^ definition local 50 +// ^^^^^^^^^^^^ definition local 49 // documentation ```java\nint fromPosition\n``` -// ^^^^^^^^^^ definition local 51 +// ^^^^^^^^^^ definition local 50 // documentation ```java\nint toPosition\n``` assertNotBuildingModels(); // ^^^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyController#assertNotBuildingModels(). @@ -1425,8 +1425,8 @@ public void moveModel(int fromPosition, int toPosition) { adapter.moveModel(fromPosition, toPosition); // ^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyController#adapter. // ^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyControllerAdapter#moveModel(). -// ^^^^^^^^^^^^ reference local 50 -// ^^^^^^^^^^ reference local 51 +// ^^^^^^^^^^^^ reference local 49 +// ^^^^^^^^^^ reference local 50 requestDelayedModelBuild(500); // ^^^^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyController#requestDelayedModelBuild(). @@ -1445,7 +1445,7 @@ public void notifyModelChanged(int position) { // ^^^^^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/EpoxyController#notifyModelChanged(). // documentation ```java\npublic void notifyModelChanged(int position)\n``` // documentation An way to notify the adapter that a model has changed. This is intended to be used with\n {@link androidx.recyclerview.widget.ItemTouchHelper} to allow revert swiping a model.\n

\n This will immediately notify the change to the RecyclerView.\n\n @param position Position of the item.\n -// ^^^^^^^^ definition local 52 +// ^^^^^^^^ definition local 51 // documentation ```java\nint position\n``` assertNotBuildingModels(); // ^^^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyController#assertNotBuildingModels(). @@ -1453,7 +1453,7 @@ public void notifyModelChanged(int position) { adapter.notifyModelChanged(position); // ^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyController#adapter. // ^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyControllerAdapter#notifyModelChanged(). -// ^^^^^^^^ reference local 52 +// ^^^^^^^^ reference local 51 } @@ -1476,26 +1476,26 @@ public void onSaveInstanceState(@NonNull Bundle outState) { // ^^^^^^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/EpoxyController#onSaveInstanceState(). // documentation ```java\npublic void onSaveInstanceState(unresolved_type outState)\n``` // ^^^^^^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/NonNull# -// ^^^^^^ reference semanticdb maven . . _root_/ -// ^^^^^^^^ definition local 53 +// ^^^^^^ reference semanticdb maven . . Bundle# +// ^^^^^^^^ definition local 52 // documentation ```java\n@NonNull\nunresolved_type outState\n``` adapter.onSaveInstanceState(outState); // ^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyController#adapter. // ^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/BaseEpoxyAdapter#onSaveInstanceState(). -// ^^^^^^^^ reference local 53 +// ^^^^^^^^ reference local 52 } public void onRestoreInstanceState(@Nullable Bundle inState) { // ^^^^^^^^^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/EpoxyController#onRestoreInstanceState(). // documentation ```java\npublic void onRestoreInstanceState(unresolved_type inState)\n``` // ^^^^^^^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/Nullable# -// ^^^^^^ reference semanticdb maven . . _root_/ -// ^^^^^^^ definition local 54 +// ^^^^^^ reference semanticdb maven . . Bundle# +// ^^^^^^^ definition local 53 // documentation ```java\n@Nullable\nunresolved_type inState\n``` adapter.onRestoreInstanceState(inState); // ^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyController#adapter. // ^^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/BaseEpoxyAdapter#onRestoreInstanceState(). -// ^^^^^^^ reference local 54 +// ^^^^^^^ reference local 53 } /** @@ -1507,7 +1507,7 @@ public void onRestoreInstanceState(@Nullable Bundle inState) { @NonNull // ^^^^^^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/NonNull# public SpanSizeLookup getSpanSizeLookup() { -// ^^^^^^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^^^^^^ reference semanticdb maven . . SpanSizeLookup# // ^^^^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/EpoxyController#getSpanSizeLookup(). // documentation ```java\n@NonNull\npublic unresolved_type getSpanSizeLookup()\n``` // documentation For use with a grid layout manager - use this to get the {@link SpanSizeLookup} for models in\n this controller. This will delegate span look up calls to each model's {@link\n EpoxyModel#getSpanSize(int, int, int)}. Make sure to also call {@link #setSpanCount(int)} so\n the span count is correct.\n @@ -1527,12 +1527,12 @@ public void setSpanCount(int spanCount) { // ^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/EpoxyController#setSpanCount(). // documentation ```java\npublic void setSpanCount(int spanCount)\n``` // documentation If you are using a grid layout manager you must call this to set the span count of the grid.\n This span count will be passed on to the models so models can choose which span count to be.\n\n @see #getSpanSizeLookup()\n @see EpoxyModel#getSpanSize(int, int, int)\n -// ^^^^^^^^^ definition local 55 +// ^^^^^^^^^ definition local 54 // documentation ```java\nint spanCount\n``` adapter.setSpanCount(spanCount); // ^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyController#adapter. // ^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/BaseEpoxyAdapter#setSpanCount(). -// ^^^^^^^^^ reference local 55 +// ^^^^^^^^^ reference local 54 } public int getSpanCount() { @@ -1569,12 +1569,12 @@ protected void onExceptionSwallowed(@NonNull RuntimeException exception) { // documentation This is called when recoverable exceptions occur at runtime. By default they are ignored and\n Epoxy will recover, but you can override this to be aware of when they happen.\n

\n A common use for this is being aware of duplicates when {@link #setFilterDuplicates(boolean)}\n is enabled.\n

\n By default the global exception handler provided by\n {@link #setGlobalExceptionHandler(ExceptionHandler)}\n is called with the exception. Overriding this allows you to provide your own handling for a\n controller.\n // ^^^^^^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/NonNull# // ^^^^^^^^^^^^^^^^ reference semanticdb maven jdk 11 java/lang/RuntimeException# -// ^^^^^^^^^ definition local 56 +// ^^^^^^^^^ definition local 55 // documentation ```java\n@NonNull\nRuntimeException exception\n``` globalExceptionHandler.onException(this, exception); // ^^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyController#globalExceptionHandler. // ^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyController#ExceptionHandler#onException(). -// ^^^^^^^^^ reference local 56 +// ^^^^^^^^^ reference local 55 } /** @@ -1592,17 +1592,17 @@ protected void onExceptionSwallowed(@NonNull RuntimeException exception) { @Override // ^^^^^^^^ reference semanticdb maven jdk 11 java/lang/Override# public void onException(@NonNull EpoxyController controller, -// ^^^^^^^^^^^ definition local 59 +// ^^^^^^^^^^^ definition local 57 // documentation ```java\n@Override\npublic void onException(EpoxyController controller, RuntimeException exception)\n``` // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxyController#ExceptionHandler#onException(). // ^^^^^^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/NonNull# // ^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyController# -// ^^^^^^^^^^ definition local 60 +// ^^^^^^^^^^ definition local 58 // documentation ```java\n@NonNull\nEpoxyController controller\n``` @NonNull RuntimeException exception) { // ^^^^^^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/NonNull# // ^^^^^^^^^^^^^^^^ reference semanticdb maven jdk 11 java/lang/RuntimeException# -// ^^^^^^^^^ definition local 61 +// ^^^^^^^^^ definition local 59 // documentation ```java\n@NonNull\nRuntimeException exception\n``` // Ignore exceptions as the default } @@ -1629,12 +1629,12 @@ public static void setGlobalExceptionHandler( @NonNull ExceptionHandler globalExceptionHandler) { // ^^^^^^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/NonNull# // ^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyController#ExceptionHandler# -// ^^^^^^^^^^^^^^^^^^^^^^ definition local 62 +// ^^^^^^^^^^^^^^^^^^^^^^ definition local 60 // documentation ```java\n@NonNull\nExceptionHandler globalExceptionHandler\n``` EpoxyController.globalExceptionHandler = globalExceptionHandler; // ^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyController# // ^^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyController#globalExceptionHandler. -// ^^^^^^^^^^^^^^^^^^^^^^ reference local 62 +// ^^^^^^^^^^^^^^^^^^^^^^ reference local 60 } public interface ExceptionHandler { @@ -1655,19 +1655,19 @@ public interface ExceptionHandler { // documentation This is called when recoverable exceptions happen at runtime. They can be ignored and Epoxy\n will recover, but you can override this to be aware of when they happen.\n

\n For example, you could choose to rethrow the exception in development builds, or log them in\n production.\n\n @param controller The EpoxyController that the error occurred in.\n // ^^^^^^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/NonNull# // ^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyController# -// ^^^^^^^^^^ definition local 63 +// ^^^^^^^^^^ definition local 61 // documentation ```java\n@NonNull\nEpoxyController controller\n``` // ^^^^^^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/NonNull# // ^^^^^^^^^^^^^^^^ reference semanticdb maven jdk 11 java/lang/RuntimeException# -// ^^^^^^^^^ definition local 64 +// ^^^^^^^^^ definition local 62 // documentation ```java\n@NonNull\nRuntimeException exception\n``` } void onAttachedToRecyclerViewInternal(RecyclerView recyclerView) { // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/EpoxyController#onAttachedToRecyclerViewInternal(). // documentation ```java\nvoid onAttachedToRecyclerViewInternal(unresolved_type recyclerView)\n``` -// ^^^^^^^^^^^^ reference semanticdb maven . . _root_/ -// ^^^^^^^^^^^^ definition local 65 +// ^^^^^^^^^^^^ reference semanticdb maven . . RecyclerView# +// ^^^^^^^^^^^^ definition local 63 // documentation ```java\nunresolved_type recyclerView\n``` recyclerViewAttachCount++; // ^^^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyController#recyclerViewAttachCount. @@ -1678,12 +1678,12 @@ void onAttachedToRecyclerViewInternal(RecyclerView recyclerView) { // ^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/MainThreadExecutor# // ^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/MainThreadExecutor#INSTANCE. // ^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/HandlerExecutor#handler. -// ^^^^^^^^^^^ reference semanticdb maven . . postDelayed# +// ^^^^^^^^^^^ reference semanticdb maven . . Handler#postDelayed# // ^^^^^^^^ reference semanticdb maven jdk 11 java/lang/Runnable# @Override // ^^^^^^^^ reference semanticdb maven jdk 11 java/lang/Override# public void run() { -// ^^^ definition local 68 +// ^^^ definition local 65 // documentation ```java\n@Override\npublic void run()\n``` // relationship is_reference is_implementation semanticdb maven jdk 11 java/lang/Runnable#run(). // Only warn if there are still multiple adapters attached after a delay, to allow for @@ -1711,20 +1711,20 @@ public void run() { onAttachedToRecyclerView(recyclerView); // ^^^^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyController#onAttachedToRecyclerView(). -// ^^^^^^^^^^^^ reference local 65 +// ^^^^^^^^^^^^ reference local 63 } void onDetachedFromRecyclerViewInternal(RecyclerView recyclerView) { // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/EpoxyController#onDetachedFromRecyclerViewInternal(). // documentation ```java\nvoid onDetachedFromRecyclerViewInternal(unresolved_type recyclerView)\n``` -// ^^^^^^^^^^^^ reference semanticdb maven . . _root_/ -// ^^^^^^^^^^^^ definition local 69 +// ^^^^^^^^^^^^ reference semanticdb maven . . RecyclerView# +// ^^^^^^^^^^^^ definition local 66 // documentation ```java\nunresolved_type recyclerView\n``` recyclerViewAttachCount--; // ^^^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyController#recyclerViewAttachCount. onDetachedFromRecyclerView(recyclerView); // ^^^^^^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyController#onDetachedFromRecyclerView(). -// ^^^^^^^^^^^^ reference local 69 +// ^^^^^^^^^^^^ reference local 66 } /** Called when the controller's adapter is attach to a recyclerview. */ @@ -1733,8 +1733,8 @@ protected void onAttachedToRecyclerView(@NonNull RecyclerView recyclerView) { // documentation ```java\nprotected void onAttachedToRecyclerView(unresolved_type recyclerView)\n``` // documentation Called when the controller's adapter is attach to a recyclerview. // ^^^^^^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/NonNull# -// ^^^^^^^^^^^^ reference semanticdb maven . . _root_/ -// ^^^^^^^^^^^^ definition local 70 +// ^^^^^^^^^^^^ reference semanticdb maven . . RecyclerView# +// ^^^^^^^^^^^^ definition local 67 // documentation ```java\n@NonNull\nunresolved_type recyclerView\n``` } @@ -1745,8 +1745,8 @@ protected void onDetachedFromRecyclerView(@NonNull RecyclerView recyclerView) { // documentation ```java\nprotected void onDetachedFromRecyclerView(unresolved_type recyclerView)\n``` // documentation Called when the controller's adapter is detached from a recyclerview. // ^^^^^^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/NonNull# -// ^^^^^^^^^^^^ reference semanticdb maven . . _root_/ -// ^^^^^^^^^^^^ definition local 71 +// ^^^^^^^^^^^^ reference semanticdb maven . . RecyclerView# +// ^^^^^^^^^^^^ definition local 68 // documentation ```java\n@NonNull\nunresolved_type recyclerView\n``` } @@ -1790,19 +1790,19 @@ protected void onModelBound(@NonNull EpoxyViewHolder holder, @NonNull EpoxyModel // documentation Called immediately after a model is bound to a view holder. Subclasses can override this if\n they want alerts on when a model is bound. Alternatively you may attach a listener directly to\n a generated model with model.onBind(...)\n\n @param previouslyBoundModel If non null, this is a model with the same id as the newly bound\n model, and was previously bound to a view. This means that {@link\n #buildModels()} returned a model that is different from the\n previouslyBoundModel and the view is being rebound to incorporate\n the change. You can compare this previous model with the new one to\n see exactly what changed.\n

\n The newly bound model and the previously bound model are guaranteed\n to have the same id, but will not necessarily be of the same type\n depending on your implementation of {@link #buildModels()}. With\n common usage patterns of Epoxy they should be the same type, and\n will only differ if you are using different model classes with the\n same id.\n

\n Comparing the newly bound model with the previous model allows you\n to be more intelligent when updating your view. This may help you\n optimize, or make it easier to work with animations.\n

\n If the new model and the previous model have the same view type\n (given by {@link EpoxyModel#getViewType()}), and if you are using\n the default ReyclerView item animator, the same view will be kept.\n If you are using a custom item animator then the view will be the\n same if the animator returns true in canReuseUpdatedViewHolder.\n

\n This previously bound model is taken as a payload from the diffing\n process, and follows the same general conditions for all\n recyclerview change payloads.\n // ^^^^^^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/NonNull# // ^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyViewHolder# -// ^^^^^^ definition local 72 +// ^^^^^^ definition local 69 // documentation ```java\n@NonNull\nEpoxyViewHolder holder\n``` // ^^^^^^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/NonNull# // ^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel# -// ^^^^^^^^^^ definition local 73 +// ^^^^^^^^^^ definition local 70 // documentation ```java\n@NonNull\nEpoxyModel boundModel\n``` int position, -// ^^^^^^^^ definition local 74 +// ^^^^^^^^ definition local 71 // documentation ```java\nint position\n``` @Nullable EpoxyModel previouslyBoundModel) { // ^^^^^^^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/Nullable# // ^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel# -// ^^^^^^^^^^^^^^^^^^^^ definition local 75 +// ^^^^^^^^^^^^^^^^^^^^ definition local 72 // documentation ```java\n@Nullable\nEpoxyModel previouslyBoundModel\n``` } @@ -1817,11 +1817,11 @@ protected void onModelUnbound(@NonNull EpoxyViewHolder holder, @NonNull EpoxyMod // documentation Called immediately after a model is unbound from a view holder. Subclasses can override this if\n they want alerts on when a model is unbound. Alternatively you may attach a listener directly\n to a generated model with model.onUnbind(...)\n // ^^^^^^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/NonNull# // ^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyViewHolder# -// ^^^^^^ definition local 76 +// ^^^^^^ definition local 73 // documentation ```java\n@NonNull\nEpoxyViewHolder holder\n``` // ^^^^^^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/NonNull# // ^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel# -// ^^^^^ definition local 77 +// ^^^^^ definition local 74 // documentation ```java\n@NonNull\nEpoxyModel model\n``` } @@ -1838,12 +1838,12 @@ protected void onViewAttachedToWindow(@NonNull EpoxyViewHolder holder, // documentation Called when the given viewholder is attached to the window, along with the model it is bound\n to.\n\n @see BaseEpoxyAdapter#onViewAttachedToWindow(EpoxyViewHolder)\n // ^^^^^^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/NonNull# // ^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyViewHolder# -// ^^^^^^ definition local 78 +// ^^^^^^ definition local 75 // documentation ```java\n@NonNull\nEpoxyViewHolder holder\n``` @NonNull EpoxyModel model) { // ^^^^^^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/NonNull# // ^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel# -// ^^^^^ definition local 79 +// ^^^^^ definition local 76 // documentation ```java\n@NonNull\nEpoxyModel model\n``` } @@ -1860,12 +1860,12 @@ protected void onViewDetachedFromWindow(@NonNull EpoxyViewHolder holder, // documentation Called when the given viewholder is detechaed from the window, along with the model it is bound\n to.\n\n @see BaseEpoxyAdapter#onViewDetachedFromWindow(EpoxyViewHolder)\n // ^^^^^^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/NonNull# // ^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyViewHolder# -// ^^^^^^ definition local 80 +// ^^^^^^ definition local 77 // documentation ```java\n@NonNull\nEpoxyViewHolder holder\n``` @NonNull EpoxyModel model) { // ^^^^^^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/NonNull# // ^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel# -// ^^^^^ definition local 81 +// ^^^^^ definition local 78 // documentation ```java\n@NonNull\nEpoxyModel model\n``` } @@ -1886,8 +1886,8 @@ public void setupStickyHeaderView(@NotNull View stickyHeader) { // documentation ```java\n@Override\npublic void setupStickyHeaderView(unresolved_type stickyHeader)\n``` // documentation Optional callback to setup the sticky view,\n by default it doesn't do anything.\n\n The sub-classes should override the function if they are\n using sticky header feature.\n // ^^^^^^^ reference semanticdb maven maven/org.jetbrains/annotations 13.0 org/jetbrains/annotations/NotNull# -// ^^^^ reference semanticdb maven . . _root_/ -// ^^^^^^^^^^^^ definition local 82 +// ^^^^ reference semanticdb maven . . View# +// ^^^^^^^^^^^^ definition local 79 // documentation ```java\n@NotNull\nunresolved_type stickyHeader\n``` // no-op } @@ -1906,8 +1906,8 @@ public void teardownStickyHeaderView(@NotNull View stickyHeader) { // documentation ```java\n@Override\npublic void teardownStickyHeaderView(unresolved_type stickyHeader)\n``` // documentation Optional callback to perform tear down operation on the\n sticky view, by default it doesn't do anything.\n\n The sub-classes should override the function if they are\n using sticky header feature.\n // ^^^^^^^ reference semanticdb maven maven/org.jetbrains/annotations 13.0 org/jetbrains/annotations/NotNull# -// ^^^^ reference semanticdb maven . . _root_/ -// ^^^^^^^^^^^^ definition local 83 +// ^^^^ reference semanticdb maven . . View# +// ^^^^^^^^^^^^ definition local 80 // documentation ```java\n@NotNull\nunresolved_type stickyHeader\n``` // no-op } @@ -1925,7 +1925,7 @@ public boolean isStickyHeader(int position) { // ^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/EpoxyController#isStickyHeader(). // documentation ```java\n@Override\npublic boolean isStickyHeader(int position)\n``` // documentation Called to check if the item at the position is a sticky item,\n by default returns false.\n\n The sub-classes should override the function if they are\n using sticky header feature.\n -// ^^^^^^^^ definition local 84 +// ^^^^^^^^ definition local 81 // documentation ```java\nint position\n``` return false; } diff --git a/tests/snapshots/src/main/generated/com/airbnb/epoxy/EpoxyControllerAdapter.java b/tests/snapshots/src/main/generated/com/airbnb/epoxy/EpoxyControllerAdapter.java index fb880227..ee752fdc 100644 --- a/tests/snapshots/src/main/generated/com/airbnb/epoxy/EpoxyControllerAdapter.java +++ b/tests/snapshots/src/main/generated/com/airbnb/epoxy/EpoxyControllerAdapter.java @@ -59,7 +59,7 @@ public final class EpoxyControllerAdapter extends BaseEpoxyAdapter implements Re // ^^^^^^^^^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/EpoxyControllerAdapter# // documentation ```java\npublic final class EpoxyControllerAdapter\n``` // relationship is_implementation semanticdb maven . . RecyclerView/Adapter# -// relationship is_implementation semanticdb maven . . ``/StickyHeaderCallbacks# +// relationship is_implementation semanticdb maven . . StickyHeaderCallbacks# // relationship is_implementation semanticdb maven . . com/airbnb/epoxy/AsyncEpoxyDiffer#ResultCallback# // relationship is_implementation semanticdb maven . . com/airbnb/epoxy/BaseEpoxyAdapter# // ^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/BaseEpoxyAdapter# @@ -94,7 +94,7 @@ public final class EpoxyControllerAdapter extends BaseEpoxyAdapter implements Re // ^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyController# // ^^^^^^^^^^^^^^^ definition local 0 // documentation ```java\n@NonNull\nEpoxyController epoxyController\n``` -// ^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^ reference semanticdb maven . . Handler# // ^^^^^^^^^^^^^^ definition local 1 // documentation ```java\nunresolved_type diffingHandler\n``` this.epoxyController = epoxyController; @@ -311,7 +311,7 @@ public void onAttachedToRecyclerView(@NonNull RecyclerView recyclerView) { // ^^^^^^^^^^^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/EpoxyControllerAdapter#onAttachedToRecyclerView(). // documentation ```java\n@Override\npublic void onAttachedToRecyclerView(unresolved_type recyclerView)\n``` // ^^^^^^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/NonNull# -// ^^^^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^^^^ reference semanticdb maven . . RecyclerView# // ^^^^^^^^^^^^ definition local 11 // documentation ```java\n@NonNull\nunresolved_type recyclerView\n``` super.onAttachedToRecyclerView(recyclerView); @@ -331,7 +331,7 @@ public void onDetachedFromRecyclerView(@NonNull RecyclerView recyclerView) { // documentation ```java\n@Override\npublic void onDetachedFromRecyclerView(unresolved_type recyclerView)\n``` // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/BaseEpoxyAdapter#onDetachedFromRecyclerView(). // ^^^^^^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/NonNull# -// ^^^^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^^^^ reference semanticdb maven . . RecyclerView# // ^^^^^^^^^^^^ definition local 12 // documentation ```java\n@NonNull\nunresolved_type recyclerView\n``` super.onDetachedFromRecyclerView(recyclerView); @@ -654,11 +654,13 @@ void notifyModelChanged(int position) { } private static final ItemCallback> ITEM_CALLBACK = -// ^^^^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^^^^ reference semanticdb maven . . ItemCallback# // ^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel# // ^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/EpoxyControllerAdapter#ITEM_CALLBACK. // documentation ```java\nprivate static final unresolved_type ITEM_CALLBACK\n``` new ItemCallback>() { +// ^^^^^^^^^^^^ reference semanticdb maven . . ItemCallback# +// ^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel# @Override public boolean areItemsTheSame(EpoxyModel oldItem, EpoxyModel newItem) { return oldItem.id() == newItem.id(); @@ -706,7 +708,7 @@ public void setupStickyHeaderView(@NotNull View stickyHeader) { // documentation Delegates the callbacks received in the adapter\n to the controller.\n // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/BaseEpoxyAdapter#setupStickyHeaderView(). // ^^^^^^^ reference semanticdb maven maven/org.jetbrains/annotations 13.0 org/jetbrains/annotations/NotNull# -// ^^^^ reference semanticdb maven . . _root_/ +// ^^^^ reference semanticdb maven . . View# // ^^^^^^^^^^^^ definition local 36 // documentation ```java\n@NotNull\nunresolved_type stickyHeader\n``` epoxyController.setupStickyHeaderView(stickyHeader); @@ -727,7 +729,7 @@ public void teardownStickyHeaderView(@NotNull View stickyHeader) { // documentation Delegates the callbacks received in the adapter\n to the controller.\n // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/BaseEpoxyAdapter#teardownStickyHeaderView(). // ^^^^^^^ reference semanticdb maven maven/org.jetbrains/annotations 13.0 org/jetbrains/annotations/NotNull# -// ^^^^ reference semanticdb maven . . _root_/ +// ^^^^ reference semanticdb maven . . View# // ^^^^^^^^^^^^ definition local 37 // documentation ```java\n@NotNull\nunresolved_type stickyHeader\n``` epoxyController.teardownStickyHeaderView(stickyHeader); diff --git a/tests/snapshots/src/main/generated/com/airbnb/epoxy/EpoxyDiffLogger.java b/tests/snapshots/src/main/generated/com/airbnb/epoxy/EpoxyDiffLogger.java index 0fcef972..83ca871b 100644 --- a/tests/snapshots/src/main/generated/com/airbnb/epoxy/EpoxyDiffLogger.java +++ b/tests/snapshots/src/main/generated/com/airbnb/epoxy/EpoxyDiffLogger.java @@ -31,8 +31,8 @@ public class EpoxyDiffLogger extends AdapterDataObserver { // ^^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/EpoxyDiffLogger# // documentation ```java\npublic class EpoxyDiffLogger\n``` // documentation This data observer can be registered with an Epoxy adapter or controller to log all item change\n events. This may be useful to use in debug builds in order to observe model updates and monitor\n for issues.\n

\n You may want to look for unexpected item updates to catch improper hashCode/equals\n implementations in your models.\n

\n Additionally, you may want to look for frequent or unnecessary updates as an opportunity for\n optimization.\n -// relationship is_implementation semanticdb maven . . ``/AdapterDataObserver# -// ^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . _root_/ +// relationship is_implementation semanticdb maven . . AdapterDataObserver# +// ^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . AdapterDataObserver# private final String tag; // ^^^^^^ reference semanticdb maven jdk 11 java/lang/String# // ^^^ definition semanticdb maven . . com/airbnb/epoxy/EpoxyDiffLogger#tag. @@ -59,8 +59,8 @@ public void onItemRangeChanged(int positionStart, int itemCount) { // ^^^^^^^^^ definition local 2 // documentation ```java\nint itemCount\n``` Log.d(tag, "Item range changed. Start: " + positionStart + " Count: " + itemCount); -// ^^^ reference semanticdb maven . . _root_/ -// ^ reference semanticdb maven . . d# +// ^^^ reference semanticdb maven . . Log# +// ^ reference semanticdb maven . . Log#d# // ^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyDiffLogger#tag. // ^^^^^^^^^^^^^ reference local 1 // ^^^^^^^^^ reference local 2 @@ -87,8 +87,8 @@ public void onItemRangeChanged(int positionStart, int itemCount, @Nullable Objec // ^^^^^^^^^ reference local 4 } else { Log.d(tag, -// ^^^ reference semanticdb maven . . _root_/ -// ^ reference semanticdb maven . . d# +// ^^^ reference semanticdb maven . . Log# +// ^ reference semanticdb maven . . Log#d# // ^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyDiffLogger#tag. "Item range changed with payloads. Start: " + positionStart + " Count: " + itemCount); // ^^^^^^^^^^^^^ reference local 3 @@ -106,8 +106,8 @@ public void onItemRangeInserted(int positionStart, int itemCount) { // ^^^^^^^^^ definition local 7 // documentation ```java\nint itemCount\n``` Log.d(tag, "Item range inserted. Start: " + positionStart + " Count: " + itemCount); -// ^^^ reference semanticdb maven . . _root_/ -// ^ reference semanticdb maven . . d# +// ^^^ reference semanticdb maven . . Log# +// ^ reference semanticdb maven . . Log#d# // ^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyDiffLogger#tag. // ^^^^^^^^^^^^^ reference local 6 // ^^^^^^^^^ reference local 7 @@ -123,8 +123,8 @@ public void onItemRangeRemoved(int positionStart, int itemCount) { // ^^^^^^^^^ definition local 9 // documentation ```java\nint itemCount\n``` Log.d(tag, "Item range removed. Start: " + positionStart + " Count: " + itemCount); -// ^^^ reference semanticdb maven . . _root_/ -// ^ reference semanticdb maven . . d# +// ^^^ reference semanticdb maven . . Log# +// ^ reference semanticdb maven . . Log#d# // ^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyDiffLogger#tag. // ^^^^^^^^^^^^^ reference local 8 // ^^^^^^^^^ reference local 9 @@ -142,8 +142,8 @@ public void onItemRangeMoved(int fromPosition, int toPosition, int itemCount) { // ^^^^^^^^^ definition local 12 // documentation ```java\nint itemCount\n``` Log.d(tag, "Item moved. From: " + fromPosition + " To: " + toPosition); -// ^^^ reference semanticdb maven . . _root_/ -// ^ reference semanticdb maven . . d# +// ^^^ reference semanticdb maven . . Log# +// ^ reference semanticdb maven . . Log#d# // ^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyDiffLogger#tag. // ^^^^^^^^^^^^ reference local 10 // ^^^^^^^^^^ reference local 11 diff --git a/tests/snapshots/src/main/generated/com/airbnb/epoxy/EpoxyDragCallback.java b/tests/snapshots/src/main/generated/com/airbnb/epoxy/EpoxyDragCallback.java index 948f7daa..7b0e64ce 100644 --- a/tests/snapshots/src/main/generated/com/airbnb/epoxy/EpoxyDragCallback.java +++ b/tests/snapshots/src/main/generated/com/airbnb/epoxy/EpoxyDragCallback.java @@ -39,7 +39,7 @@ public interface EpoxyDragCallback extends BaseEpoxyTouchC // ^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyDragCallback#[T] // ^^^^^ definition local 0 // documentation ```java\nT model\n``` -// ^^^^ reference semanticdb maven . . _root_/ +// ^^^^ reference semanticdb maven . . View# // ^^^^^^^^ definition local 1 // documentation ```java\nunresolved_type itemView\n``` // ^^^^^^^^^^^^^^^ definition local 2 @@ -72,7 +72,7 @@ public interface EpoxyDragCallback extends BaseEpoxyTouchC // ^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyDragCallback#[T] // ^^^^^^^^^^^^^^^ definition local 5 // documentation ```java\nT modelBeingMoved\n``` -// ^^^^ reference semanticdb maven . . _root_/ +// ^^^^ reference semanticdb maven . . View# // ^^^^^^^^ definition local 6 // documentation ```java\nunresolved_type itemView\n``` @@ -99,7 +99,7 @@ public interface EpoxyDragCallback extends BaseEpoxyTouchC // ^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyDragCallback#[T] // ^^^^^ definition local 7 // documentation ```java\nT model\n``` -// ^^^^ reference semanticdb maven . . _root_/ +// ^^^^ reference semanticdb maven . . View# // ^^^^^^^^ definition local 8 // documentation ```java\nunresolved_type itemView\n``` } diff --git a/tests/snapshots/src/main/generated/com/airbnb/epoxy/EpoxyHolder.java b/tests/snapshots/src/main/generated/com/airbnb/epoxy/EpoxyHolder.java index 1779b902..a7047e89 100644 --- a/tests/snapshots/src/main/generated/com/airbnb/epoxy/EpoxyHolder.java +++ b/tests/snapshots/src/main/generated/com/airbnb/epoxy/EpoxyHolder.java @@ -27,7 +27,7 @@ public EpoxyHolder(@NonNull ViewParent parent) { // ^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/EpoxyHolder#``(). // documentation ```java\npublic EpoxyHolder(unresolved_type parent)\n``` // ^^^^^^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/NonNull# -// ^^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^^ reference semanticdb maven . . ViewParent# // ^^^^^^ definition local 0 // documentation ```java\n@NonNull\nunresolved_type parent\n``` this(); @@ -52,7 +52,7 @@ public EpoxyHolder() { // documentation ```java\nprotected abstract void bindView(unresolved_type itemView)\n``` // documentation Called when this holder is created, with the view that it should hold. You can use this\n opportunity to find views by id, and do any other initialization you need. This is called only\n once for the lifetime of the class.\n\n @param itemView A view inflated from the layout provided by\n {@link EpoxyModelWithHolder#getLayout()}\n // ^^^^^^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/NonNull# -// ^^^^ reference semanticdb maven . . _root_/ +// ^^^^ reference semanticdb maven . . View# // ^^^^^^^^ definition local 1 // documentation ```java\n@NonNull\nunresolved_type itemView\n``` } diff --git a/tests/snapshots/src/main/generated/com/airbnb/epoxy/EpoxyItemSpacingDecorator.java b/tests/snapshots/src/main/generated/com/airbnb/epoxy/EpoxyItemSpacingDecorator.java index 5676dcef..380b1d49 100644 --- a/tests/snapshots/src/main/generated/com/airbnb/epoxy/EpoxyItemSpacingDecorator.java +++ b/tests/snapshots/src/main/generated/com/airbnb/epoxy/EpoxyItemSpacingDecorator.java @@ -138,33 +138,33 @@ public int getPxBetweenItems() { public void getItemOffsets(Rect outRect, View view, RecyclerView parent, State state) { // ^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/EpoxyItemSpacingDecorator#getItemOffsets(). // documentation ```java\n@Override\npublic void getItemOffsets(unresolved_type outRect, unresolved_type view, unresolved_type parent, unresolved_type state)\n``` -// ^^^^ reference semanticdb maven . . _root_/ +// ^^^^ reference semanticdb maven . . Rect# // ^^^^^^^ definition local 2 // documentation ```java\nunresolved_type outRect\n``` -// ^^^^ reference semanticdb maven . . _root_/ +// ^^^^ reference semanticdb maven . . View# // ^^^^ definition local 3 // documentation ```java\nunresolved_type view\n``` -// ^^^^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^^^^ reference semanticdb maven . . RecyclerView# // ^^^^^^ definition local 4 // documentation ```java\nunresolved_type parent\n``` -// ^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^ reference semanticdb maven . . State# // ^^^^^ definition local 5 // documentation ```java\nunresolved_type state\n``` // Zero everything out for the common case outRect.setEmpty(); // ^^^^^^^ reference local 2 -// ^^^^^^^^ reference semanticdb maven . . setEmpty# +// ^^^^^^^^ reference semanticdb maven . . Rect#setEmpty# int position = parent.getChildAdapterPosition(view); // ^^^^^^^^ definition local 6 // documentation ```java\nint position\n``` // ^^^^^^ reference local 4 -// ^^^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . getChildAdapterPosition# +// ^^^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . RecyclerView#getChildAdapterPosition# // ^^^^ reference local 3 if (position == RecyclerView.NO_POSITION) { // ^^^^^^^^ reference local 6 -// ^^^^^^^^^^^^ reference semanticdb maven . . _root_/ -// ^^^^^^^^^^^ reference semanticdb maven . . NO_POSITION# +// ^^^^^^^^^^^^ reference semanticdb maven . . RecyclerView# +// ^^^^^^^^^^^ reference semanticdb maven . . RecyclerView#NO_POSITION# // View is not shown return; } @@ -175,7 +175,7 @@ public void getItemOffsets(Rect outRect, View view, RecyclerView parent, State s // ^^^^^^ definition local 7 // documentation ```java\nunresolved_type layout\n``` // ^^^^^^ reference local 4 -// ^^^^^^^^^^^^^^^^ reference semanticdb maven . . getLayoutManager# +// ^^^^^^^^^^^^^^^^ reference semanticdb maven . . RecyclerView#getLayoutManager# calculatePositionDetails(parent, position, layout); // ^^^^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyItemSpacingDecorator#calculatePositionDetails(). // ^^^^^^ reference local 4 @@ -237,22 +237,22 @@ public void getItemOffsets(Rect outRect, View view, RecyclerView parent, State s // ^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyItemSpacingDecorator#pxBetweenItems. outRect.right = right ? padding : 0; // ^^^^^^^ reference local 2 -// ^^^^^ reference semanticdb maven . . right# +// ^^^^^ reference semanticdb maven . . Rect#right# // ^^^^^ reference local 9 // ^^^^^^^ reference local 14 outRect.left = left ? padding : 0; // ^^^^^^^ reference local 2 -// ^^^^ reference semanticdb maven . . left# +// ^^^^ reference semanticdb maven . . Rect#left# // ^^^^ reference local 8 // ^^^^^^^ reference local 14 outRect.top = top ? padding : 0; // ^^^^^^^ reference local 2 -// ^^^ reference semanticdb maven . . top# +// ^^^ reference semanticdb maven . . Rect#top# // ^^^ reference local 10 // ^^^^^^^ reference local 14 outRect.bottom = bottom ? padding : 0; // ^^^^^^^ reference local 2 -// ^^^^^^ reference semanticdb maven . . bottom# +// ^^^^^^ reference semanticdb maven . . Rect#bottom# // ^^^^^^ reference local 11 // ^^^^^^^ reference local 14 } @@ -260,20 +260,20 @@ public void getItemOffsets(Rect outRect, View view, RecyclerView parent, State s private void calculatePositionDetails(RecyclerView parent, int position, LayoutManager layout) { // ^^^^^^^^^^^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/EpoxyItemSpacingDecorator#calculatePositionDetails(). // documentation ```java\nprivate void calculatePositionDetails(unresolved_type parent, int position, unresolved_type layout)\n``` -// ^^^^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^^^^ reference semanticdb maven . . RecyclerView# // ^^^^^^ definition local 15 // documentation ```java\nunresolved_type parent\n``` // ^^^^^^^^ definition local 16 // documentation ```java\nint position\n``` -// ^^^^^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^^^^^ reference semanticdb maven . . LayoutManager# // ^^^^^^ definition local 17 // documentation ```java\nunresolved_type layout\n``` int itemCount = parent.getAdapter().getItemCount(); // ^^^^^^^^^ definition local 18 // documentation ```java\nint itemCount\n``` // ^^^^^^ reference local 15 -// ^^^^^^^^^^ reference semanticdb maven . . getAdapter# -// ^^^^^^^^^^^^ reference semanticdb maven . . getAdapter#getItemCount# +// ^^^^^^^^^^ reference semanticdb maven . . RecyclerView#getAdapter# +// ^^^^^^^^^^^^ reference semanticdb maven . . RecyclerView#getAdapter#getItemCount# firstItem = position == 0; // ^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyItemSpacingDecorator#firstItem. // ^^^^^^^^ reference local 16 @@ -284,46 +284,46 @@ private void calculatePositionDetails(RecyclerView parent, int position, LayoutM horizontallyScrolling = layout.canScrollHorizontally(); // ^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyItemSpacingDecorator#horizontallyScrolling. // ^^^^^^ reference local 17 -// ^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . canScrollHorizontally# +// ^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . LayoutManager#canScrollHorizontally# verticallyScrolling = layout.canScrollVertically(); // ^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyItemSpacingDecorator#verticallyScrolling. // ^^^^^^ reference local 17 -// ^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . canScrollVertically# +// ^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . LayoutManager#canScrollVertically# grid = layout instanceof GridLayoutManager; // ^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyItemSpacingDecorator#grid. // ^^^^^^ reference local 17 -// ^^^^^^^^^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^^^^^^^^^ reference semanticdb maven . . GridLayoutManager# if (grid) { // ^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyItemSpacingDecorator#grid. GridLayoutManager grid = (GridLayoutManager) layout; -// ^^^^^^^^^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^^^^^^^^^ reference semanticdb maven . . GridLayoutManager# // ^^^^ definition local 19 // documentation ```java\nunresolved_type grid\n``` -// ^^^^^^^^^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^^^^^^^^^ reference semanticdb maven . . GridLayoutManager# // ^^^^^^ reference local 17 final SpanSizeLookup spanSizeLookup = grid.getSpanSizeLookup(); -// ^^^^^^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^^^^^^ reference semanticdb maven . . SpanSizeLookup# // ^^^^^^^^^^^^^^ definition local 20 // documentation ```java\nfinal unresolved_type spanSizeLookup\n``` // ^^^^ reference local 19 -// ^^^^^^^^^^^^^^^^^ reference semanticdb maven . . getSpanSizeLookup# +// ^^^^^^^^^^^^^^^^^ reference semanticdb maven . . GridLayoutManager#getSpanSizeLookup# int spanSize = spanSizeLookup.getSpanSize(position); // ^^^^^^^^ definition local 21 // documentation ```java\nint spanSize\n``` // ^^^^^^^^^^^^^^ reference local 20 -// ^^^^^^^^^^^ reference semanticdb maven . . getSpanSize# +// ^^^^^^^^^^^ reference semanticdb maven . . SpanSizeLookup#getSpanSize# // ^^^^^^^^ reference local 16 int spanCount = grid.getSpanCount(); // ^^^^^^^^^ definition local 22 // documentation ```java\nint spanCount\n``` // ^^^^ reference local 19 -// ^^^^^^^^^^^^ reference semanticdb maven . . getSpanCount# +// ^^^^^^^^^^^^ reference semanticdb maven . . GridLayoutManager#getSpanCount# int spanIndex = spanSizeLookup.getSpanIndex(position, spanCount); // ^^^^^^^^^ definition local 23 // documentation ```java\nint spanIndex\n``` // ^^^^^^^^^^^^^^ reference local 20 -// ^^^^^^^^^^^^ reference semanticdb maven . . getSpanIndex# +// ^^^^^^^^^^^^ reference semanticdb maven . . SpanSizeLookup#getSpanIndex# // ^^^^^^^^ reference local 16 // ^^^^^^^^^ reference local 22 isFirstItemInRow = spanIndex == 0; @@ -355,7 +355,7 @@ private void calculatePositionDetails(RecyclerView parent, int position, LayoutM private static boolean shouldReverseLayout(LayoutManager layout, boolean horizontallyScrolling) { // ^^^^^^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/EpoxyItemSpacingDecorator#shouldReverseLayout(). // documentation ```java\nprivate static boolean shouldReverseLayout(unresolved_type layout, boolean horizontallyScrolling)\n``` -// ^^^^^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^^^^^ reference semanticdb maven . . LayoutManager# // ^^^^^^ definition local 24 // documentation ```java\nunresolved_type layout\n``` // ^^^^^^^^^^^^^^^^^^^^^ definition local 25 @@ -365,17 +365,17 @@ private static boolean shouldReverseLayout(LayoutManager layout, boolean horizon // documentation ```java\nboolean reverseLayout\n``` layout instanceof LinearLayoutManager && ((LinearLayoutManager) layout).getReverseLayout(); // ^^^^^^ reference local 24 -// ^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . _root_/ -// ^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . LinearLayoutManager# +// ^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . LinearLayoutManager# // ^^^^^^ reference local 24 -// ^^^^^^^^^^^^^^^^ reference semanticdb maven . . getReverseLayout# +// ^^^^^^^^^^^^^^^^ reference semanticdb maven . . LinearLayoutManager#getReverseLayout# boolean rtl = layout.getLayoutDirection() == ViewCompat.LAYOUT_DIRECTION_RTL; // ^^^ definition local 27 // documentation ```java\nboolean rtl\n``` // ^^^^^^ reference local 24 -// ^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . getLayoutDirection# -// ^^^^^^^^^^ reference semanticdb maven . . _root_/ -// ^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . LAYOUT_DIRECTION_RTL# +// ^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . LayoutManager#getLayoutDirection# +// ^^^^^^^^^^ reference semanticdb maven . . ViewCompat# +// ^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . ViewCompat#LAYOUT_DIRECTION_RTL# if (horizontallyScrolling && rtl) { // ^^^^^^^^^^^^^^^^^^^^^ reference local 25 // ^^^ reference local 27 @@ -466,7 +466,7 @@ private static boolean isInFirstRow(int position, SpanSizeLookup spanSizeLookup, // documentation ```java\nprivate static boolean isInFirstRow(int position, unresolved_type spanSizeLookup, int spanCount)\n``` // ^^^^^^^^ definition local 28 // documentation ```java\nint position\n``` -// ^^^^^^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^^^^^^ reference semanticdb maven . . SpanSizeLookup# // ^^^^^^^^^^^^^^ definition local 29 // documentation ```java\nunresolved_type spanSizeLookup\n``` // ^^^^^^^^^ definition local 30 @@ -483,7 +483,7 @@ private static boolean isInFirstRow(int position, SpanSizeLookup spanSizeLookup, totalSpan += spanSizeLookup.getSpanSize(i); // ^^^^^^^^^ reference local 31 // ^^^^^^^^^^^^^^ reference local 29 -// ^^^^^^^^^^^ reference semanticdb maven . . getSpanSize# +// ^^^^^^^^^^^ reference semanticdb maven . . SpanSizeLookup#getSpanSize# // ^ reference local 32 if (totalSpan > spanCount) { // ^^^^^^^^^ reference local 31 @@ -502,7 +502,7 @@ private static boolean isInLastRow(int position, int itemCount, SpanSizeLookup s // documentation ```java\nint position\n``` // ^^^^^^^^^ definition local 34 // documentation ```java\nint itemCount\n``` -// ^^^^^^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^^^^^^ reference semanticdb maven . . SpanSizeLookup# // ^^^^^^^^^^^^^^ definition local 35 // documentation ```java\nunresolved_type spanSizeLookup\n``` int spanCount) { @@ -521,7 +521,7 @@ private static boolean isInLastRow(int position, int itemCount, SpanSizeLookup s totalSpan += spanSizeLookup.getSpanSize(i); // ^^^^^^^^^ reference local 37 // ^^^^^^^^^^^^^^ reference local 35 -// ^^^^^^^^^^^ reference semanticdb maven . . getSpanSize# +// ^^^^^^^^^^^ reference semanticdb maven . . SpanSizeLookup#getSpanSize# // ^ reference local 38 if (totalSpan > spanCount) { // ^^^^^^^^^ reference local 37 diff --git a/tests/snapshots/src/main/generated/com/airbnb/epoxy/EpoxyModel.java b/tests/snapshots/src/main/generated/com/airbnb/epoxy/EpoxyModel.java index 3e31bcaf..5775b731 100644 --- a/tests/snapshots/src/main/generated/com/airbnb/epoxy/EpoxyModel.java +++ b/tests/snapshots/src/main/generated/com/airbnb/epoxy/EpoxyModel.java @@ -195,20 +195,20 @@ protected int getViewType() { * inflating the layout resource. */ protected View buildView(@NonNull ViewGroup parent) { -// ^^^^ reference semanticdb maven . . _root_/ +// ^^^^ reference semanticdb maven . . View# // ^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/EpoxyModel#buildView(). // documentation ```java\nprotected unresolved_type buildView(unresolved_type parent)\n``` // documentation Create and return a new instance of a view for this model. By default a view is created by\n inflating the layout resource.\n // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxyModelWithView#buildView(). // ^^^^^^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/NonNull# -// ^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^ reference semanticdb maven . . ViewGroup# // ^^^^^^ definition local 1 // documentation ```java\n@NonNull\nunresolved_type parent\n``` return LayoutInflater.from(parent.getContext()).inflate(getLayout(), parent, false); -// ^^^^^^^^^^^^^^ reference semanticdb maven . . _root_/ -// ^^^^ reference semanticdb maven . . from# +// ^^^^^^^^^^^^^^ reference semanticdb maven . . LayoutInflater# +// ^^^^ reference semanticdb maven . . LayoutInflater#from# // ^^^^^^ reference local 1 -// ^^^^^^^^^^ reference semanticdb maven . . getContext# +// ^^^^^^^^^^ reference semanticdb maven . . ViewGroup#getContext# // ^^^^^^^ reference semanticdb maven . . ``#inflate# // ^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel#getLayout(). // ^^^^^^ reference local 1 @@ -826,11 +826,11 @@ protected final void addWithDebugValidation(@NonNull EpoxyController controller) @Override // ^^^^^^^^ reference semanticdb maven jdk 11 java/lang/Override# public void onInterceptorsStarted(EpoxyController controller) { -// ^^^^^^^^^^^^^^^^^^^^^ definition local 39 +// ^^^^^^^^^^^^^^^^^^^^^ definition local 38 // documentation ```java\n@Override\npublic void onInterceptorsStarted(EpoxyController controller)\n``` // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxyController#ModelInterceptorCallback#onInterceptorsStarted(). // ^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyController# -// ^^^^^^^^^^ definition local 41 +// ^^^^^^^^^^ definition local 39 // documentation ```java\nEpoxyController controller\n``` currentlyInInterceptors = true; // ^^^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel#currentlyInInterceptors. @@ -843,7 +843,7 @@ public void onInterceptorsFinished(EpoxyController controller) { // documentation ```java\n@Override\npublic void onInterceptorsFinished(EpoxyController controller)\n``` // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxyController#ModelInterceptorCallback#onInterceptorsFinished(). // ^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyController# -// ^^^^^^^^^^ definition local 42 +// ^^^^^^^^^^ definition local 41 // documentation ```java\nEpoxyController controller\n``` hashCodeWhenAdded = EpoxyModel.this.hashCode(); // ^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel#hashCodeWhenAdded. @@ -904,30 +904,30 @@ private static int getPosition(@NonNull EpoxyController controller, // documentation ```java\nprivate static int getPosition(EpoxyController controller, EpoxyModel model)\n``` // ^^^^^^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/NonNull# // ^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyController# -// ^^^^^^^^^^ definition local 43 +// ^^^^^^^^^^ definition local 42 // documentation ```java\n@NonNull\nEpoxyController controller\n``` @NonNull EpoxyModel model) { // ^^^^^^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/NonNull# // ^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel# -// ^^^^^ definition local 44 +// ^^^^^ definition local 43 // documentation ```java\n@NonNull\nEpoxyModel model\n``` // If the model was added to multiple controllers, or was removed from the controller and then // modified, this won't be correct. But those should be very rare cases that we don't need to // worry about if (controller.isBuildingModels()) { -// ^^^^^^^^^^ reference local 43 +// ^^^^^^^^^^ reference local 42 // ^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyController#isBuildingModels(). return controller.getFirstIndexOfModelInBuildingList(model); -// ^^^^^^^^^^ reference local 43 +// ^^^^^^^^^^ reference local 42 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyController#getFirstIndexOfModelInBuildingList(). -// ^^^^^ reference local 44 +// ^^^^^ reference local 43 } return controller.getAdapter().getModelPosition(model); -// ^^^^^^^^^^ reference local 43 +// ^^^^^^^^^^ reference local 42 // ^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyController#getAdapter(). // ^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyControllerAdapter#getModelPosition(). -// ^^^^^ reference local 44 +// ^^^^^ reference local 43 } /** @@ -944,10 +944,10 @@ protected final void validateStateHasNotChangedSinceAdded(String descriptionOfCh // documentation ```java\nprotected final void validateStateHasNotChangedSinceAdded(String descriptionOfChange, int modelPosition)\n``` // documentation This is used internally by generated models to do validation checking when\n "validateEpoxyModelUsage" is enabled and the model is used with a {@link EpoxyController}. This\n method validates that the model's hashCode hasn't been changed since it was added to the\n controller. This is similar to {@link #onMutation()}, but that method is only used for\n specific model changes such as calling a setter. By checking the hashCode, this method allows\n us to catch more subtle changes, such as through setting a field directly or through changing\n an object that is set on the model.\n // ^^^^^^ reference semanticdb maven jdk 11 java/lang/String# -// ^^^^^^^^^^^^^^^^^^^ definition local 45 +// ^^^^^^^^^^^^^^^^^^^ definition local 44 // documentation ```java\nString descriptionOfChange\n``` int modelPosition) { -// ^^^^^^^^^^^^^ definition local 46 +// ^^^^^^^^^^^^^ definition local 45 // documentation ```java\nint modelPosition\n``` if (isDebugValidationEnabled() // ^^^^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel#isDebugValidationEnabled(). @@ -958,8 +958,8 @@ protected final void validateStateHasNotChangedSinceAdded(String descriptionOfCh // ^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel#hashCode(). throw new ImmutableModelException(this, descriptionOfChange, modelPosition); // ^^^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/ImmutableModelException#``(+1). -// ^^^^^^^^^^^^^^^^^^^ reference local 45 -// ^^^^^^^^^^^^^ reference local 46 +// ^^^^^^^^^^^^^^^^^^^ reference local 44 +// ^^^^^^^^^^^^^ reference local 45 } } @@ -972,40 +972,40 @@ public boolean equals(Object o) { // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/SimpleEpoxyModel#equals(). // relationship is_reference is_implementation semanticdb maven jdk 11 java/lang/Object#equals(). // ^^^^^^ reference semanticdb maven jdk 11 java/lang/Object# -// ^ definition local 47 +// ^ definition local 46 // documentation ```java\nObject o\n``` if (this == o) { -// ^ reference local 47 +// ^ reference local 46 return true; } if (!(o instanceof EpoxyModel)) { -// ^ reference local 47 +// ^ reference local 46 // ^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel# return false; } EpoxyModel that = (EpoxyModel) o; // ^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel# -// ^^^^ definition local 48 +// ^^^^ definition local 47 // documentation ```java\nEpoxyModel that\n``` // ^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel# -// ^ reference local 47 +// ^ reference local 46 if (id != that.id) { // ^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel#id. -// ^^^^ reference local 48 +// ^^^^ reference local 47 // ^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel#id. return false; } if (getViewType() != that.getViewType()) { // ^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel#getViewType(). -// ^^^^ reference local 48 +// ^^^^ reference local 47 // ^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel#getViewType(). return false; } return shown == that.shown; // ^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel#shown. -// ^^^^ reference local 48 +// ^^^^ reference local 47 // ^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel#shown. } @@ -1018,20 +1018,20 @@ public int hashCode() { // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/SimpleEpoxyModel#hashCode(). // relationship is_reference is_implementation semanticdb maven jdk 11 java/lang/Object#hashCode(). int result = (int) (id ^ (id >>> 32)); -// ^^^^^^ definition local 49 +// ^^^^^^ definition local 48 // documentation ```java\nint result\n``` // ^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel#id. // ^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel#id. result = 31 * result + getViewType(); -// ^^^^^^ reference local 49 -// ^^^^^^ reference local 49 +// ^^^^^^ reference local 48 +// ^^^^^^ reference local 48 // ^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel#getViewType(). result = 31 * result + (shown ? 1 : 0); -// ^^^^^^ reference local 49 -// ^^^^^^ reference local 49 +// ^^^^^^ reference local 48 +// ^^^^^^ reference local 48 // ^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel#shown. return result; -// ^^^^^^ reference local 49 +// ^^^^^^ reference local 48 } /** @@ -1049,11 +1049,11 @@ public int getSpanSize(int totalSpanCount, int position, int itemCount) { // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxyModelGroup#getSpanSize(). // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/HiddenEpoxyModel#getSpanSize(). // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/SimpleEpoxyModel#getSpanSize(). -// ^^^^^^^^^^^^^^ definition local 50 +// ^^^^^^^^^^^^^^ definition local 49 // documentation ```java\nint totalSpanCount\n``` -// ^^^^^^^^ definition local 51 +// ^^^^^^^^ definition local 50 // documentation ```java\nint position\n``` -// ^^^^^^^^^ definition local 52 +// ^^^^^^^^^ definition local 51 // documentation ```java\nint itemCount\n``` return 1; } @@ -1065,11 +1065,11 @@ public EpoxyModel spanSizeOverride(@Nullable SpanSizeOverrideCallback spanSiz // documentation ```java\npublic EpoxyModel spanSizeOverride(SpanSizeOverrideCallback spanSizeCallback)\n``` // ^^^^^^^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/Nullable# // ^^^^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel#SpanSizeOverrideCallback# -// ^^^^^^^^^^^^^^^^ definition local 53 +// ^^^^^^^^^^^^^^^^ definition local 52 // documentation ```java\n@Nullable\nSpanSizeOverrideCallback spanSizeCallback\n``` this.spanSizeOverride = spanSizeCallback; // ^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel#spanSizeOverride. -// ^^^^^^^^^^^^^^^^ reference local 53 +// ^^^^^^^^^^^^^^^^ reference local 52 return this; } @@ -1079,11 +1079,11 @@ public interface SpanSizeOverrideCallback { int getSpanSize(int totalSpanCount, int position, int itemCount); // ^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/EpoxyModel#SpanSizeOverrideCallback#getSpanSize(). // documentation ```java\npublic abstract int getSpanSize(int totalSpanCount, int position, int itemCount)\n``` -// ^^^^^^^^^^^^^^ definition local 54 +// ^^^^^^^^^^^^^^ definition local 53 // documentation ```java\nint totalSpanCount\n``` -// ^^^^^^^^ definition local 55 +// ^^^^^^^^ definition local 54 // documentation ```java\nint position\n``` -// ^^^^^^^^^ definition local 56 +// ^^^^^^^^^ definition local 55 // documentation ```java\nint itemCount\n``` } @@ -1095,27 +1095,27 @@ public final int spanSize(int totalSpanCount, int position, int itemCount) { // ^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/EpoxyModel#spanSize(). // documentation ```java\npublic final int spanSize(int totalSpanCount, int position, int itemCount)\n``` // documentation Returns the actual span size of this model, using the {@link SpanSizeOverrideCallback} if one\n was set, otherwise using the value from {@link #getSpanSize(int, int, int)}\n -// ^^^^^^^^^^^^^^ definition local 57 +// ^^^^^^^^^^^^^^ definition local 56 // documentation ```java\nint totalSpanCount\n``` -// ^^^^^^^^ definition local 58 +// ^^^^^^^^ definition local 57 // documentation ```java\nint position\n``` -// ^^^^^^^^^ definition local 59 +// ^^^^^^^^^ definition local 58 // documentation ```java\nint itemCount\n``` if (spanSizeOverride != null) { // ^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel#spanSizeOverride. return spanSizeOverride.getSpanSize(totalSpanCount, position, itemCount); // ^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel#spanSizeOverride. // ^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel#SpanSizeOverrideCallback#getSpanSize(). -// ^^^^^^^^^^^^^^ reference local 57 -// ^^^^^^^^ reference local 58 -// ^^^^^^^^^ reference local 59 +// ^^^^^^^^^^^^^^ reference local 56 +// ^^^^^^^^ reference local 57 +// ^^^^^^^^^ reference local 58 } return getSpanSize(totalSpanCount, position, itemCount); // ^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel#getSpanSize(). -// ^^^^^^^^^^^^^^ reference local 57 -// ^^^^^^^^ reference local 58 -// ^^^^^^^^^ reference local 59 +// ^^^^^^^^^^^^^^ reference local 56 +// ^^^^^^^^ reference local 57 +// ^^^^^^^^^ reference local 58 } /** @@ -1148,13 +1148,13 @@ public EpoxyModel show(boolean show) { // ^^^^ definition semanticdb maven . . com/airbnb/epoxy/EpoxyModel#show(+1). // documentation ```java\n@NonNull\npublic EpoxyModel show(boolean show)\n``` // documentation Change the visibility of the model's view. This only works if the model is\n used in {@link EpoxyAdapter} or a {@link EpoxyModelGroup}, but is not supported in {@link\n EpoxyController}\n -// ^^^^ definition local 60 +// ^^^^ definition local 59 // documentation ```java\nboolean show\n``` onMutation(); // ^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel#onMutation(). shown = show; // ^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel#shown. -// ^^^^ reference local 60 +// ^^^^ reference local 59 return this; } @@ -1214,7 +1214,7 @@ public boolean onFailedToRecycleView(@NonNull T view) { // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxyModelWithHolder#onFailedToRecycleView(). // ^^^^^^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/NonNull# // ^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel#[T] -// ^^^^ definition local 61 +// ^^^^ definition local 60 // documentation ```java\n@NonNull\nT view\n``` return false; } @@ -1232,7 +1232,7 @@ public void onViewAttachedToWindow(@NonNull T view) { // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxyModelWithHolder#onViewAttachedToWindow(). // ^^^^^^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/NonNull# // ^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel#[T] -// ^^^^ definition local 62 +// ^^^^ definition local 61 // documentation ```java\n@NonNull\nT view\n``` } @@ -1251,7 +1251,7 @@ public void onViewDetachedFromWindow(@NonNull T view) { // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxyModelWithHolder#onViewDetachedFromWindow(). // ^^^^^^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/NonNull# // ^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel#[T] -// ^^^^ definition local 63 +// ^^^^ definition local 62 // documentation ```java\n@NonNull\nT view\n``` } diff --git a/tests/snapshots/src/main/generated/com/airbnb/epoxy/EpoxyModelGroup.java b/tests/snapshots/src/main/generated/com/airbnb/epoxy/EpoxyModelGroup.java index b6e35797..e6e5691b 100644 --- a/tests/snapshots/src/main/generated/com/airbnb/epoxy/EpoxyModelGroup.java +++ b/tests/snapshots/src/main/generated/com/airbnb/epoxy/EpoxyModelGroup.java @@ -103,7 +103,7 @@ public class EpoxyModelGroup extends EpoxyModelWithHolder { // relationship is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxyModel# // relationship is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxyModelWithHolder# // ^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModelWithHolder# -// ^^^^^^^^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^^^^^^^^ reference semanticdb maven . . ModelGroupHolder# protected final List> models; // ^^^^ reference semanticdb maven jdk 11 java/util/List# @@ -282,7 +282,7 @@ public void bind(@NonNull ModelGroupHolder holder) { // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxyModel#bind(). // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxyModelWithHolder#bind(). // ^^^^^^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/NonNull# -// ^^^^^^^^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^^^^^^^^ reference semanticdb maven . . ModelGroupHolder# // ^^^^^^ definition local 10 // documentation ```java\n@NonNull\nunresolved_type holder\n``` iterateModels(holder, new IterateModelsCallback() { @@ -292,28 +292,28 @@ public void bind(@NonNull ModelGroupHolder holder) { @Override // ^^^^^^^^ reference semanticdb maven jdk 11 java/lang/Override# public void onModel(EpoxyModel model, EpoxyViewHolder viewHolder, int modelIndex) { -// ^^^^^^^ definition local 13 +// ^^^^^^^ definition local 12 // documentation ```java\n@Override\npublic void onModel(EpoxyModel model, EpoxyViewHolder viewHolder, int modelIndex)\n``` // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxyModelGroup#IterateModelsCallback#onModel(). // ^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel# -// ^^^^^ definition local 14 +// ^^^^^ definition local 13 // documentation ```java\nEpoxyModel model\n``` // ^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyViewHolder# -// ^^^^^^^^^^ definition local 15 +// ^^^^^^^^^^ definition local 14 // documentation ```java\nEpoxyViewHolder viewHolder\n``` -// ^^^^^^^^^^ definition local 16 +// ^^^^^^^^^^ definition local 15 // documentation ```java\nint modelIndex\n``` setViewVisibility(model, viewHolder); // ^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModelGroup#setViewVisibility(). -// ^^^^^ reference local 14 -// ^^^^^^^^^^ reference local 15 +// ^^^^^ reference local 13 +// ^^^^^^^^^^ reference local 14 viewHolder.bind(model, null, Collections.emptyList(), modelIndex); -// ^^^^^^^^^^ reference local 15 +// ^^^^^^^^^^ reference local 14 // ^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyViewHolder#bind(). -// ^^^^^ reference local 14 +// ^^^^^ reference local 13 // ^^^^^^^^^^^ reference semanticdb maven jdk 11 java/util/Collections# // ^^^^^^^^^ reference semanticdb maven jdk 11 java/util/Collections#emptyList(). -// ^^^^^^^^^^ reference local 16 +// ^^^^^^^^^^ reference local 15 } }); } @@ -328,43 +328,43 @@ public void bind(@NonNull ModelGroupHolder holder, @NonNull final List p // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxyModel#bind(+1). // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxyModelWithHolder#bind(+1). // ^^^^^^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/NonNull# -// ^^^^^^^^^^^^^^^^ reference semanticdb maven . . _root_/ -// ^^^^^^ definition local 17 +// ^^^^^^^^^^^^^^^^ reference semanticdb maven . . ModelGroupHolder# +// ^^^^^^ definition local 16 // documentation ```java\n@NonNull\nunresolved_type holder\n``` // ^^^^^^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/NonNull# // ^^^^ reference semanticdb maven jdk 11 java/util/List# // ^^^^^^ reference semanticdb maven jdk 11 java/lang/Object# -// ^^^^^^^^ definition local 18 +// ^^^^^^^^ definition local 17 // documentation ```java\n@NonNull\nfinal List payloads\n``` iterateModels(holder, new IterateModelsCallback() { // ^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModelGroup#iterateModels(). -// ^^^^^^ reference local 17 +// ^^^^^^ reference local 16 // ^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModelGroup#IterateModelsCallback# @Override // ^^^^^^^^ reference semanticdb maven jdk 11 java/lang/Override# public void onModel(EpoxyModel model, EpoxyViewHolder viewHolder, int modelIndex) { -// ^^^^^^^ definition local 21 +// ^^^^^^^ definition local 19 // documentation ```java\n@Override\npublic void onModel(EpoxyModel model, EpoxyViewHolder viewHolder, int modelIndex)\n``` // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxyModelGroup#IterateModelsCallback#onModel(). // ^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel# -// ^^^^^ definition local 22 +// ^^^^^ definition local 20 // documentation ```java\nEpoxyModel model\n``` // ^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyViewHolder# -// ^^^^^^^^^^ definition local 23 +// ^^^^^^^^^^ definition local 21 // documentation ```java\nEpoxyViewHolder viewHolder\n``` -// ^^^^^^^^^^ definition local 24 +// ^^^^^^^^^^ definition local 22 // documentation ```java\nint modelIndex\n``` setViewVisibility(model, viewHolder); // ^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModelGroup#setViewVisibility(). -// ^^^^^ reference local 22 -// ^^^^^^^^^^ reference local 23 +// ^^^^^ reference local 20 +// ^^^^^^^^^^ reference local 21 viewHolder.bind(model, null, Collections.emptyList(), modelIndex); -// ^^^^^^^^^^ reference local 23 +// ^^^^^^^^^^ reference local 21 // ^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyViewHolder#bind(). -// ^^^^^ reference local 22 +// ^^^^^ reference local 20 // ^^^^^^^^^^^ reference semanticdb maven jdk 11 java/util/Collections# // ^^^^^^^^^ reference semanticdb maven jdk 11 java/util/Collections#emptyList(). -// ^^^^^^^^^^ reference local 24 +// ^^^^^^^^^^ reference local 22 } }); } @@ -377,89 +377,89 @@ public void bind(@NonNull ModelGroupHolder holder, @NonNull EpoxyModel previo // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxyModel#bind(+2). // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxyModelWithHolder#bind(+2). // ^^^^^^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/NonNull# -// ^^^^^^^^^^^^^^^^ reference semanticdb maven . . _root_/ -// ^^^^^^ definition local 25 +// ^^^^^^^^^^^^^^^^ reference semanticdb maven . . ModelGroupHolder# +// ^^^^^^ definition local 23 // documentation ```java\n@NonNull\nunresolved_type holder\n``` // ^^^^^^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/NonNull# // ^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel# -// ^^^^^^^^^^^^^^^^^^^^ definition local 26 +// ^^^^^^^^^^^^^^^^^^^^ definition local 24 // documentation ```java\n@NonNull\nEpoxyModel previouslyBoundModel\n``` if (!(previouslyBoundModel instanceof EpoxyModelGroup)) { -// ^^^^^^^^^^^^^^^^^^^^ reference local 26 +// ^^^^^^^^^^^^^^^^^^^^ reference local 24 // ^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModelGroup# bind(holder); // ^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModelGroup#bind(). -// ^^^^^^ reference local 25 +// ^^^^^^ reference local 23 return; } final EpoxyModelGroup previousGroup = (EpoxyModelGroup) previouslyBoundModel; // ^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModelGroup# -// ^^^^^^^^^^^^^ definition local 27 +// ^^^^^^^^^^^^^ definition local 25 // documentation ```java\nfinal EpoxyModelGroup previousGroup\n``` // ^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModelGroup# -// ^^^^^^^^^^^^^^^^^^^^ reference local 26 +// ^^^^^^^^^^^^^^^^^^^^ reference local 24 iterateModels(holder, new IterateModelsCallback() { // ^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModelGroup#iterateModels(). -// ^^^^^^ reference local 25 +// ^^^^^^ reference local 23 // ^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModelGroup#IterateModelsCallback# @Override // ^^^^^^^^ reference semanticdb maven jdk 11 java/lang/Override# public void onModel(EpoxyModel model, EpoxyViewHolder viewHolder, int modelIndex) { -// ^^^^^^^ definition local 30 +// ^^^^^^^ definition local 27 // documentation ```java\n@Override\npublic void onModel(EpoxyModel model, EpoxyViewHolder viewHolder, int modelIndex)\n``` // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxyModelGroup#IterateModelsCallback#onModel(). // ^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel# -// ^^^^^ definition local 31 +// ^^^^^ definition local 28 // documentation ```java\nEpoxyModel model\n``` // ^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyViewHolder# -// ^^^^^^^^^^ definition local 32 +// ^^^^^^^^^^ definition local 29 // documentation ```java\nEpoxyViewHolder viewHolder\n``` -// ^^^^^^^^^^ definition local 33 +// ^^^^^^^^^^ definition local 30 // documentation ```java\nint modelIndex\n``` setViewVisibility(model, viewHolder); // ^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModelGroup#setViewVisibility(). -// ^^^^^ reference local 31 -// ^^^^^^^^^^ reference local 32 +// ^^^^^ reference local 28 +// ^^^^^^^^^^ reference local 29 if (modelIndex < previousGroup.models.size()) { -// ^^^^^^^^^^ reference local 33 -// ^^^^^^^^^^^^^ reference local 27 +// ^^^^^^^^^^ reference local 30 +// ^^^^^^^^^^^^^ reference local 25 // ^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModelGroup#models. // ^^^^ reference semanticdb maven jdk 11 java/util/List#size(). EpoxyModel previousModel = previousGroup.models.get(modelIndex); // ^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel# -// ^^^^^^^^^^^^^ definition local 34 +// ^^^^^^^^^^^^^ definition local 31 // documentation ```java\nEpoxyModel previousModel\n``` -// ^^^^^^^^^^^^^ reference local 27 +// ^^^^^^^^^^^^^ reference local 25 // ^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModelGroup#models. // ^^^ reference semanticdb maven jdk 11 java/util/List#get(). -// ^^^^^^^^^^ reference local 33 +// ^^^^^^^^^^ reference local 30 if (previousModel.id() == model.id()) { -// ^^^^^^^^^^^^^ reference local 34 +// ^^^^^^^^^^^^^ reference local 31 // ^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel#id(). -// ^^^^^ reference local 31 +// ^^^^^ reference local 28 // ^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel#id(). viewHolder.bind(model, previousModel, Collections.emptyList(), modelIndex); -// ^^^^^^^^^^ reference local 32 +// ^^^^^^^^^^ reference local 29 // ^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyViewHolder#bind(). -// ^^^^^ reference local 31 -// ^^^^^^^^^^^^^ reference local 34 +// ^^^^^ reference local 28 +// ^^^^^^^^^^^^^ reference local 31 // ^^^^^^^^^^^ reference semanticdb maven jdk 11 java/util/Collections# // ^^^^^^^^^ reference semanticdb maven jdk 11 java/util/Collections#emptyList(). -// ^^^^^^^^^^ reference local 33 +// ^^^^^^^^^^ reference local 30 return; } } viewHolder.bind(model, null, Collections.emptyList(), modelIndex); -// ^^^^^^^^^^ reference local 32 +// ^^^^^^^^^^ reference local 29 // ^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyViewHolder#bind(). -// ^^^^^ reference local 31 +// ^^^^^ reference local 28 // ^^^^^^^^^^^ reference semanticdb maven jdk 11 java/util/Collections# // ^^^^^^^^^ reference semanticdb maven jdk 11 java/util/Collections#emptyList(). -// ^^^^^^^^^^ reference local 33 +// ^^^^^^^^^^ reference local 30 } }); } @@ -468,27 +468,27 @@ private static void setViewVisibility(EpoxyModel model, EpoxyViewHolder viewHold // ^^^^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/EpoxyModelGroup#setViewVisibility(). // documentation ```java\nprivate static void setViewVisibility(EpoxyModel model, EpoxyViewHolder viewHolder)\n``` // ^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel# -// ^^^^^ definition local 35 +// ^^^^^ definition local 32 // documentation ```java\nEpoxyModel model\n``` // ^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyViewHolder# -// ^^^^^^^^^^ definition local 36 +// ^^^^^^^^^^ definition local 33 // documentation ```java\nEpoxyViewHolder viewHolder\n``` if (model.isShown()) { -// ^^^^^ reference local 35 +// ^^^^^ reference local 32 // ^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel#isShown(). viewHolder.itemView.setVisibility(View.VISIBLE); -// ^^^^^^^^^^ reference local 36 +// ^^^^^^^^^^ reference local 33 // ^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyViewHolder#itemView# // ^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyViewHolder#itemView#setVisibility# -// ^^^^ reference semanticdb maven . . _root_/ -// ^^^^^^^ reference semanticdb maven . . VISIBLE# +// ^^^^ reference semanticdb maven . . View# +// ^^^^^^^ reference semanticdb maven . . View#VISIBLE# } else { viewHolder.itemView.setVisibility(View.GONE); -// ^^^^^^^^^^ reference local 36 +// ^^^^^^^^^^ reference local 33 // ^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyViewHolder#itemView# // ^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyViewHolder#itemView#setVisibility# -// ^^^^ reference semanticdb maven . . _root_/ -// ^^^^ reference semanticdb maven . . GONE# +// ^^^^ reference semanticdb maven . . View# +// ^^^^ reference semanticdb maven . . View#GONE# } } @@ -502,12 +502,12 @@ public void unbind(@NonNull ModelGroupHolder holder) { // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxyModel#unbind(). // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxyModelWithHolder#unbind(). // ^^^^^^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/NonNull# -// ^^^^^^^^^^^^^^^^ reference semanticdb maven . . _root_/ -// ^^^^^^ definition local 37 +// ^^^^^^^^^^^^^^^^ reference semanticdb maven . . ModelGroupHolder# +// ^^^^^^ definition local 34 // documentation ```java\n@NonNull\nunresolved_type holder\n``` holder.unbindGroup(); -// ^^^^^^ reference local 37 -// ^^^^^^^^^^^ reference semanticdb maven . . unbindGroup# +// ^^^^^^ reference local 34 +// ^^^^^^^^^^^ reference semanticdb maven . . ModelGroupHolder#unbindGroup# } @CallSuper @@ -519,32 +519,32 @@ public void onViewAttachedToWindow(ModelGroupHolder holder) { // documentation ```java\n@CallSuper\n@Override\npublic void onViewAttachedToWindow(unresolved_type holder)\n``` // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxyModel#onViewAttachedToWindow(). // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxyModelWithHolder#onViewAttachedToWindow(). -// ^^^^^^^^^^^^^^^^ reference semanticdb maven . . _root_/ -// ^^^^^^ definition local 38 +// ^^^^^^^^^^^^^^^^ reference semanticdb maven . . ModelGroupHolder# +// ^^^^^^ definition local 35 // documentation ```java\nunresolved_type holder\n``` iterateModels(holder, new IterateModelsCallback() { // ^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModelGroup#iterateModels(). -// ^^^^^^ reference local 38 +// ^^^^^^ reference local 35 // ^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModelGroup#IterateModelsCallback# @Override // ^^^^^^^^ reference semanticdb maven jdk 11 java/lang/Override# public void onModel(EpoxyModel model, EpoxyViewHolder viewHolder, int modelIndex) { -// ^^^^^^^ definition local 41 +// ^^^^^^^ definition local 37 // documentation ```java\n@Override\npublic void onModel(EpoxyModel model, EpoxyViewHolder viewHolder, int modelIndex)\n``` // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxyModelGroup#IterateModelsCallback#onModel(). // ^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel# -// ^^^^^ definition local 42 +// ^^^^^ definition local 38 // documentation ```java\nEpoxyModel model\n``` // ^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyViewHolder# -// ^^^^^^^^^^ definition local 43 +// ^^^^^^^^^^ definition local 39 // documentation ```java\nEpoxyViewHolder viewHolder\n``` -// ^^^^^^^^^^ definition local 44 +// ^^^^^^^^^^ definition local 40 // documentation ```java\nint modelIndex\n``` //noinspection unchecked model.onViewAttachedToWindow(viewHolder.objectToBind()); -// ^^^^^ reference local 42 +// ^^^^^ reference local 38 // ^^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel#onViewAttachedToWindow(). -// ^^^^^^^^^^ reference local 43 +// ^^^^^^^^^^ reference local 39 // ^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyViewHolder#objectToBind(). } }); @@ -559,32 +559,32 @@ public void onViewDetachedFromWindow(ModelGroupHolder holder) { // documentation ```java\n@CallSuper\n@Override\npublic void onViewDetachedFromWindow(unresolved_type holder)\n``` // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxyModel#onViewDetachedFromWindow(). // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxyModelWithHolder#onViewDetachedFromWindow(). -// ^^^^^^^^^^^^^^^^ reference semanticdb maven . . _root_/ -// ^^^^^^ definition local 45 +// ^^^^^^^^^^^^^^^^ reference semanticdb maven . . ModelGroupHolder# +// ^^^^^^ definition local 41 // documentation ```java\nunresolved_type holder\n``` iterateModels(holder, new IterateModelsCallback() { // ^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModelGroup#iterateModels(). -// ^^^^^^ reference local 45 +// ^^^^^^ reference local 41 // ^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModelGroup#IterateModelsCallback# @Override // ^^^^^^^^ reference semanticdb maven jdk 11 java/lang/Override# public void onModel(EpoxyModel model, EpoxyViewHolder viewHolder, int modelIndex) { -// ^^^^^^^ definition local 48 +// ^^^^^^^ definition local 43 // documentation ```java\n@Override\npublic void onModel(EpoxyModel model, EpoxyViewHolder viewHolder, int modelIndex)\n``` // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxyModelGroup#IterateModelsCallback#onModel(). // ^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel# -// ^^^^^ definition local 49 +// ^^^^^ definition local 44 // documentation ```java\nEpoxyModel model\n``` // ^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyViewHolder# -// ^^^^^^^^^^ definition local 50 +// ^^^^^^^^^^ definition local 45 // documentation ```java\nEpoxyViewHolder viewHolder\n``` -// ^^^^^^^^^^ definition local 51 +// ^^^^^^^^^^ definition local 46 // documentation ```java\nint modelIndex\n``` //noinspection unchecked model.onViewDetachedFromWindow(viewHolder.objectToBind()); -// ^^^^^ reference local 49 +// ^^^^^ reference local 44 // ^^^^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel#onViewDetachedFromWindow(). -// ^^^^^^^^^^ reference local 50 +// ^^^^^^^^^^ reference local 45 // ^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyViewHolder#objectToBind(). } }); @@ -593,38 +593,38 @@ public void onModel(EpoxyModel model, EpoxyViewHolder viewHolder, int modelIndex private void iterateModels(ModelGroupHolder holder, IterateModelsCallback callback) { // ^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/EpoxyModelGroup#iterateModels(). // documentation ```java\nprivate void iterateModels(unresolved_type holder, IterateModelsCallback callback)\n``` -// ^^^^^^^^^^^^^^^^ reference semanticdb maven . . _root_/ -// ^^^^^^ definition local 52 +// ^^^^^^^^^^^^^^^^ reference semanticdb maven . . ModelGroupHolder# +// ^^^^^^ definition local 47 // documentation ```java\nunresolved_type holder\n``` // ^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModelGroup#IterateModelsCallback# -// ^^^^^^^^ definition local 53 +// ^^^^^^^^ definition local 48 // documentation ```java\nIterateModelsCallback callback\n``` holder.bindGroupIfNeeded(this); -// ^^^^^^ reference local 52 -// ^^^^^^^^^^^^^^^^^ reference semanticdb maven . . bindGroupIfNeeded# +// ^^^^^^ reference local 47 +// ^^^^^^^^^^^^^^^^^ reference semanticdb maven . . ModelGroupHolder#bindGroupIfNeeded# int modelCount = models.size(); -// ^^^^^^^^^^ definition local 54 +// ^^^^^^^^^^ definition local 49 // documentation ```java\nint modelCount\n``` // ^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModelGroup#models. // ^^^^ reference semanticdb maven jdk 11 java/util/List#size(). for (int i = 0; i < modelCount; i++) { -// ^ definition local 55 +// ^ definition local 50 // documentation ```java\nint i\n``` -// ^ reference local 55 -// ^^^^^^^^^^ reference local 54 -// ^ reference local 55 +// ^ reference local 50 +// ^^^^^^^^^^ reference local 49 +// ^ reference local 50 callback.onModel(models.get(i), holder.getViewHolders().get(i), i); -// ^^^^^^^^ reference local 53 +// ^^^^^^^^ reference local 48 // ^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModelGroup#IterateModelsCallback#onModel(). // ^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModelGroup#models. // ^^^ reference semanticdb maven jdk 11 java/util/List#get(). -// ^ reference local 55 -// ^^^^^^ reference local 52 -// ^^^^^^^^^^^^^^ reference semanticdb maven . . getViewHolders# -// ^^^ reference semanticdb maven . . getViewHolders#get# -// ^ reference local 55 -// ^ reference local 55 +// ^ reference local 50 +// ^^^^^^ reference local 47 +// ^^^^^^^^^^^^^^ reference semanticdb maven . . ModelGroupHolder#getViewHolders# +// ^^^ reference semanticdb maven . . ModelGroupHolder#getViewHolders#get# +// ^ reference local 50 +// ^ reference local 50 } } @@ -635,12 +635,12 @@ private interface IterateModelsCallback { // ^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/EpoxyModelGroup#IterateModelsCallback#onModel(). // documentation ```java\npublic abstract void onModel(EpoxyModel model, EpoxyViewHolder viewHolder, int modelIndex)\n``` // ^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel# -// ^^^^^ definition local 56 +// ^^^^^ definition local 51 // documentation ```java\nEpoxyModel model\n``` // ^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyViewHolder# -// ^^^^^^^^^^ definition local 57 +// ^^^^^^^^^^ definition local 52 // documentation ```java\nEpoxyViewHolder viewHolder\n``` -// ^^^^^^^^^^ definition local 58 +// ^^^^^^^^^^ definition local 53 // documentation ```java\nint modelIndex\n``` } @@ -650,20 +650,20 @@ public int getSpanSize(int totalSpanCount, int position, int itemCount) { // ^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/EpoxyModelGroup#getSpanSize(). // documentation ```java\n@Override\npublic int getSpanSize(int totalSpanCount, int position, int itemCount)\n``` // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxyModel#getSpanSize(). -// ^^^^^^^^^^^^^^ definition local 59 +// ^^^^^^^^^^^^^^ definition local 54 // documentation ```java\nint totalSpanCount\n``` -// ^^^^^^^^ definition local 60 +// ^^^^^^^^ definition local 55 // documentation ```java\nint position\n``` -// ^^^^^^^^^ definition local 61 +// ^^^^^^^^^ definition local 56 // documentation ```java\nint itemCount\n``` // Defaults to using the span size of the first model. Override this if you need to customize it return models.get(0).spanSize(totalSpanCount, position, itemCount); // ^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModelGroup#models. // ^^^ reference semanticdb maven jdk 11 java/util/List#get(). // ^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel#spanSize(). -// ^^^^^^^^^^^^^^ reference local 59 -// ^^^^^^^^ reference local 60 -// ^^^^^^^^^ reference local 61 +// ^^^^^^^^^^^^^^ reference local 54 +// ^^^^^^^^ reference local 55 +// ^^^^^^^^^ reference local 56 } @Override @@ -683,13 +683,13 @@ public EpoxyModelGroup shouldSaveViewState(boolean shouldSaveViewState) { // ^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModelGroup# // ^^^^^^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/EpoxyModelGroup#shouldSaveViewState(). // documentation ```java\n@NonNull\npublic EpoxyModelGroup shouldSaveViewState(boolean shouldSaveViewState)\n``` -// ^^^^^^^^^^^^^^^^^^^ definition local 62 +// ^^^^^^^^^^^^^^^^^^^ definition local 57 // documentation ```java\nboolean shouldSaveViewState\n``` onMutation(); // ^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel#onMutation(). this.shouldSaveViewState = shouldSaveViewState; // ^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModelGroup#shouldSaveViewState. -// ^^^^^^^^^^^^^^^^^^^ reference local 62 +// ^^^^^^^^^^^^^^^^^^^ reference local 57 return this; } @@ -725,9 +725,9 @@ protected boolean useViewStubLayoutParams(EpoxyModel model, int modelPosition // documentation ```java\nprotected boolean useViewStubLayoutParams(EpoxyModel model, int modelPosition)\n``` // documentation Whether the layout params set on the view stub for the given model should be carried over to\n the model's view. Default is true\n

\n Set this to false if you want the layout params on the model's layout resource to be kept.\n\n @param model The model who's view is being created\n @param modelPosition The position of the model in the models list\n // ^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel# -// ^^^^^ definition local 63 +// ^^^^^ definition local 58 // documentation ```java\nEpoxyModel model\n``` -// ^^^^^^^^^^^^^ definition local 64 +// ^^^^^^^^^^^^^ definition local 59 // documentation ```java\nint modelPosition\n``` return true; } @@ -735,16 +735,16 @@ protected boolean useViewStubLayoutParams(EpoxyModel model, int modelPosition @Override // ^^^^^^^^ reference semanticdb maven jdk 11 java/lang/Override# protected final ModelGroupHolder createNewHolder(@NonNull ViewParent parent) { -// ^^^^^^^^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^^^^^^^^ reference semanticdb maven . . ModelGroupHolder# // ^^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/EpoxyModelGroup#createNewHolder(). // documentation ```java\n@Override\nprotected final unresolved_type createNewHolder(unresolved_type parent)\n``` // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxyModelWithHolder#createNewHolder(). // ^^^^^^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/NonNull# -// ^^^^^^^^^^ reference semanticdb maven . . _root_/ -// ^^^^^^ definition local 65 +// ^^^^^^^^^^ reference semanticdb maven . . ViewParent# +// ^^^^^^ definition local 60 // documentation ```java\n@NonNull\nunresolved_type parent\n``` return new ModelGroupHolder(parent); -// ^^^^^^ reference local 65 +// ^^^^^^ reference local 60 } @Override @@ -755,35 +755,35 @@ public boolean equals(Object o) { // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxyModel#equals(). // relationship is_reference is_implementation semanticdb maven jdk 11 java/lang/Object#equals(). // ^^^^^^ reference semanticdb maven jdk 11 java/lang/Object# -// ^ definition local 66 +// ^ definition local 61 // documentation ```java\nObject o\n``` if (this == o) { -// ^ reference local 66 +// ^ reference local 61 return true; } if (!(o instanceof EpoxyModelGroup)) { -// ^ reference local 66 +// ^ reference local 61 // ^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModelGroup# return false; } if (!super.equals(o)) { // ^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModelGroup#super. // ^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel#equals(). -// ^ reference local 66 +// ^ reference local 61 return false; } EpoxyModelGroup that = (EpoxyModelGroup) o; // ^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModelGroup# -// ^^^^ definition local 67 +// ^^^^ definition local 62 // documentation ```java\nEpoxyModelGroup that\n``` // ^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModelGroup# -// ^ reference local 66 +// ^ reference local 61 return models.equals(that.models); // ^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModelGroup#models. // ^^^^^^ reference semanticdb maven jdk 11 java/util/List#equals(). -// ^^^^ reference local 67 +// ^^^^ reference local 62 // ^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModelGroup#models. } @@ -795,16 +795,16 @@ public int hashCode() { // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxyModel#hashCode(). // relationship is_reference is_implementation semanticdb maven jdk 11 java/lang/Object#hashCode(). int result = super.hashCode(); -// ^^^^^^ definition local 68 +// ^^^^^^ definition local 63 // documentation ```java\nint result\n``` // ^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModelGroup#super. // ^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel#hashCode(). result = 31 * result + models.hashCode(); -// ^^^^^^ reference local 68 -// ^^^^^^ reference local 68 +// ^^^^^^ reference local 63 +// ^^^^^^ reference local 63 // ^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModelGroup#models. // ^^^^^^^^ reference semanticdb maven jdk 11 java/util/List#hashCode(). return result; -// ^^^^^^ reference local 68 +// ^^^^^^ reference local 63 } } diff --git a/tests/snapshots/src/main/generated/com/airbnb/epoxy/EpoxyModelTouchCallback.java b/tests/snapshots/src/main/generated/com/airbnb/epoxy/EpoxyModelTouchCallback.java index 06df82d2..358389c3 100644 --- a/tests/snapshots/src/main/generated/com/airbnb/epoxy/EpoxyModelTouchCallback.java +++ b/tests/snapshots/src/main/generated/com/airbnb/epoxy/EpoxyModelTouchCallback.java @@ -44,7 +44,6 @@ public abstract class EpoxyModelTouchCallback // documentation A wrapper around {@link androidx.recyclerview.widget.ItemTouchHelper.Callback} to enable\n easier touch support when working with Epoxy models.\n

\n For simplicity you can use {@link EpoxyTouchHelper} to set up touch handling via this class for\n you instead of using this class directly. However, you may choose to use this class directly with\n your own {@link ItemTouchHelper} if you need extra flexibility or customization.\n // relationship is_implementation semanticdb maven . . ItemTouchHelper/Callback# // relationship is_implementation semanticdb maven . . com/airbnb/epoxy/BaseEpoxyTouchCallback# -// relationship is_implementation semanticdb maven . . com/airbnb/epoxy/BaseEpoxyTouchCallback# // relationship is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxyDragCallback# // relationship is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxySwipeCallback# // relationship is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelperCallback# @@ -107,7 +106,7 @@ protected int getMovementFlags(RecyclerView recyclerView, EpoxyViewHolder viewHo // documentation ```java\n@Override\nprotected int getMovementFlags(unresolved_type recyclerView, EpoxyViewHolder viewHolder)\n``` // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelperCallback#getMovementFlags(). // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelperCallback#getMovementFlags(+1). -// ^^^^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^^^^ reference semanticdb maven . . RecyclerView# // ^^^^^^^^^^^^ definition local 2 // documentation ```java\nunresolved_type recyclerView\n``` // ^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyViewHolder# @@ -157,7 +156,7 @@ protected boolean canDropOver(RecyclerView recyclerView, EpoxyViewHolder current // documentation ```java\n@Override\nprotected boolean canDropOver(unresolved_type recyclerView, EpoxyViewHolder current, EpoxyViewHolder target)\n``` // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelperCallback#canDropOver(). // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelperCallback#canDropOver(+1). -// ^^^^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^^^^ reference semanticdb maven . . RecyclerView# // ^^^^^^^^^^^^ definition local 6 // documentation ```java\nunresolved_type recyclerView\n``` // ^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyViewHolder# @@ -193,7 +192,7 @@ protected boolean onMove(RecyclerView recyclerView, EpoxyViewHolder viewHolder, // documentation ```java\n@Override\nprotected boolean onMove(unresolved_type recyclerView, EpoxyViewHolder viewHolder, EpoxyViewHolder target)\n``` // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelperCallback#onMove(). // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelperCallback#onMove(+1). -// ^^^^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^^^^ reference semanticdb maven . . RecyclerView# // ^^^^^^^^^^^^ definition local 10 // documentation ```java\nunresolved_type recyclerView\n``` // ^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyViewHolder# @@ -268,7 +267,7 @@ public void onModelMoved(int fromPosition, int toPosition, T modelBeingMoved, Vi // ^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModelTouchCallback#[T] // ^^^^^^^^^^^^^^^ definition local 18 // documentation ```java\nT modelBeingMoved\n``` -// ^^^^ reference semanticdb maven . . _root_/ +// ^^^^ reference semanticdb maven . . View# // ^^^^^^^^ definition local 19 // documentation ```java\nunresolved_type itemView\n``` @@ -292,7 +291,7 @@ protected void onSwiped(EpoxyViewHolder viewHolder, int direction) { // ^^^^^^^^^^ reference local 20 // ^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyViewHolder#getModel(). View view = viewHolder.itemView; -// ^^^^ reference semanticdb maven . . _root_/ +// ^^^^ reference semanticdb maven . . View# // ^^^^ definition local 23 // documentation ```java\nunresolved_type view\n``` // ^^^^^^^^^^ reference local 20 @@ -332,7 +331,7 @@ public void onSwipeCompleted(T model, View itemView, int position, int direction // ^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModelTouchCallback#[T] // ^^^^^ definition local 25 // documentation ```java\nT model\n``` -// ^^^^ reference semanticdb maven . . _root_/ +// ^^^^ reference semanticdb maven . . View# // ^^^^^^^^ definition local 26 // documentation ```java\nunresolved_type itemView\n``` // ^^^^^^^^ definition local 27 @@ -380,15 +379,15 @@ protected void onSelectedChanged(@Nullable EpoxyViewHolder viewHolder, int actio markRecyclerViewHasSelection((RecyclerView) viewHolder.itemView.getParent()); // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModelTouchCallback#markRecyclerViewHasSelection(). -// ^^^^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^^^^ reference semanticdb maven . . RecyclerView# // ^^^^^^^^^^ reference local 29 // ^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyViewHolder#itemView# // ^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyViewHolder#itemView#getParent# if (actionState == ItemTouchHelper.ACTION_STATE_SWIPE) { // ^^^^^^^^^^^ reference local 30 -// ^^^^^^^^^^^^^^^ reference semanticdb maven . . _root_/ -// ^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . ACTION_STATE_SWIPE# +// ^^^^^^^^^^^^^^^ reference semanticdb maven . . ItemTouchHelper# +// ^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . ItemTouchHelper#ACTION_STATE_SWIPE# holderBeingSwiped = viewHolder; // ^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModelTouchCallback#holderBeingSwiped. // ^^^^^^^^^^ reference local 29 @@ -403,8 +402,8 @@ protected void onSelectedChanged(@Nullable EpoxyViewHolder viewHolder, int actio // ^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyViewHolder#getAdapterPosition# } else if (actionState == ItemTouchHelper.ACTION_STATE_DRAG) { // ^^^^^^^^^^^ reference local 30 -// ^^^^^^^^^^^^^^^ reference semanticdb maven . . _root_/ -// ^^^^^^^^^^^^^^^^^ reference semanticdb maven . . ACTION_STATE_DRAG# +// ^^^^^^^^^^^^^^^ reference semanticdb maven . . ItemTouchHelper# +// ^^^^^^^^^^^^^^^^^ reference semanticdb maven . . ItemTouchHelper#ACTION_STATE_DRAG# holderBeingDragged = viewHolder; // ^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModelTouchCallback#holderBeingDragged. // ^^^^^^^^^^ reference local 29 @@ -448,12 +447,12 @@ protected void onSelectedChanged(@Nullable EpoxyViewHolder viewHolder, int actio private void markRecyclerViewHasSelection(RecyclerView recyclerView) { // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/EpoxyModelTouchCallback#markRecyclerViewHasSelection(). // documentation ```java\nprivate void markRecyclerViewHasSelection(unresolved_type recyclerView)\n``` -// ^^^^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^^^^ reference semanticdb maven . . RecyclerView# // ^^^^^^^^^^^^ definition local 32 // documentation ```java\nunresolved_type recyclerView\n``` recyclerView.setTag(R.id.epoxy_touch_helper_selection_status, Boolean.TRUE); // ^^^^^^^^^^^^ reference local 32 -// ^^^^^^ reference semanticdb maven . . setTag# +// ^^^^^^ reference semanticdb maven . . RecyclerView#setTag# // ^ reference semanticdb maven . . R/ // ^^ reference semanticdb maven . . R/id# // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . R/id#epoxy_touch_helper_selection_status# @@ -464,12 +463,12 @@ private void markRecyclerViewHasSelection(RecyclerView recyclerView) { private boolean recyclerViewHasSelection(RecyclerView recyclerView) { // ^^^^^^^^^^^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/EpoxyModelTouchCallback#recyclerViewHasSelection(). // documentation ```java\nprivate boolean recyclerViewHasSelection(unresolved_type recyclerView)\n``` -// ^^^^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^^^^ reference semanticdb maven . . RecyclerView# // ^^^^^^^^^^^^ definition local 33 // documentation ```java\nunresolved_type recyclerView\n``` return recyclerView.getTag(R.id.epoxy_touch_helper_selection_status) != null; // ^^^^^^^^^^^^ reference local 33 -// ^^^^^^ reference semanticdb maven . . getTag# +// ^^^^^^ reference semanticdb maven . . RecyclerView#getTag# // ^ reference semanticdb maven . . R/ // ^^ reference semanticdb maven . . R/id# // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . R/id#epoxy_touch_helper_selection_status# @@ -478,12 +477,12 @@ private boolean recyclerViewHasSelection(RecyclerView recyclerView) { private void clearRecyclerViewSelectionMarker(RecyclerView recyclerView) { // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/EpoxyModelTouchCallback#clearRecyclerViewSelectionMarker(). // documentation ```java\nprivate void clearRecyclerViewSelectionMarker(unresolved_type recyclerView)\n``` -// ^^^^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^^^^ reference semanticdb maven . . RecyclerView# // ^^^^^^^^^^^^ definition local 34 // documentation ```java\nunresolved_type recyclerView\n``` recyclerView.setTag(R.id.epoxy_touch_helper_selection_status, null); // ^^^^^^^^^^^^ reference local 34 -// ^^^^^^ reference semanticdb maven . . setTag# +// ^^^^^^ reference semanticdb maven . . RecyclerView#setTag# // ^ reference semanticdb maven . . R/ // ^^ reference semanticdb maven . . R/id# // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . R/id#epoxy_touch_helper_selection_status# @@ -498,7 +497,7 @@ public void onSwipeStarted(T model, View itemView, int adapterPosition) { // ^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModelTouchCallback#[T] // ^^^^^ definition local 35 // documentation ```java\nT model\n``` -// ^^^^ reference semanticdb maven . . _root_/ +// ^^^^ reference semanticdb maven . . View# // ^^^^^^^^ definition local 36 // documentation ```java\nunresolved_type itemView\n``` // ^^^^^^^^^^^^^^^ definition local 37 @@ -515,7 +514,7 @@ public void onSwipeReleased(T model, View itemView) { // ^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModelTouchCallback#[T] // ^^^^^ definition local 38 // documentation ```java\nT model\n``` -// ^^^^ reference semanticdb maven . . _root_/ +// ^^^^ reference semanticdb maven . . View# // ^^^^^^^^ definition local 39 // documentation ```java\nunresolved_type itemView\n``` @@ -530,7 +529,7 @@ public void onDragStarted(T model, View itemView, int adapterPosition) { // ^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModelTouchCallback#[T] // ^^^^^ definition local 40 // documentation ```java\nT model\n``` -// ^^^^ reference semanticdb maven . . _root_/ +// ^^^^ reference semanticdb maven . . View# // ^^^^^^^^ definition local 41 // documentation ```java\nunresolved_type itemView\n``` // ^^^^^^^^^^^^^^^ definition local 42 @@ -547,7 +546,7 @@ public void onDragReleased(T model, View itemView) { // ^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModelTouchCallback#[T] // ^^^^^ definition local 43 // documentation ```java\nT model\n``` -// ^^^^ reference semanticdb maven . . _root_/ +// ^^^^ reference semanticdb maven . . View# // ^^^^^^^^ definition local 44 // documentation ```java\nunresolved_type itemView\n``` @@ -561,7 +560,7 @@ protected void clearView(final RecyclerView recyclerView, EpoxyViewHolder viewHo // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/BaseEpoxyTouchCallback#clearView(). // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelperCallback#clearView(). // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelperCallback#clearView(+1). -// ^^^^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^^^^ reference semanticdb maven . . RecyclerView# // ^^^^^^^^^^^^ definition local 45 // documentation ```java\nfinal unresolved_type recyclerView\n``` // ^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyViewHolder# @@ -588,12 +587,12 @@ protected void clearView(final RecyclerView recyclerView, EpoxyViewHolder viewHo // touch event ends. recyclerView.postDelayed(new Runnable() { // ^^^^^^^^^^^^ reference local 45 -// ^^^^^^^^^^^ reference semanticdb maven . . postDelayed# +// ^^^^^^^^^^^ reference semanticdb maven . . RecyclerView#postDelayed# // ^^^^^^^^ reference semanticdb maven jdk 11 java/lang/Runnable# @Override // ^^^^^^^^ reference semanticdb maven jdk 11 java/lang/Override# public void run() { -// ^^^ definition local 49 +// ^^^ definition local 48 // documentation ```java\n@Override\npublic void run()\n``` // relationship is_reference is_implementation semanticdb maven jdk 11 java/lang/Runnable#run(). clearRecyclerViewSelectionMarker(recyclerView); @@ -613,10 +612,10 @@ public void clearView(T model, View itemView) { // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelperCallback#clearView(). // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelperCallback#clearView(+1). // ^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModelTouchCallback#[T] -// ^^^^^ definition local 50 +// ^^^^^ definition local 49 // documentation ```java\nT model\n``` -// ^^^^ reference semanticdb maven . . _root_/ -// ^^^^^^^^ definition local 51 +// ^^^^ reference semanticdb maven . . View# +// ^^^^^^^^ definition local 50 // documentation ```java\nunresolved_type itemView\n``` } @@ -628,99 +627,99 @@ protected void onChildDraw(Canvas c, RecyclerView recyclerView, EpoxyViewHolder // documentation ```java\n@Override\nprotected void onChildDraw(unresolved_type c, unresolved_type recyclerView, EpoxyViewHolder viewHolder, float dX, float dY, int actionState, boolean isCurrentlyActive)\n``` // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelperCallback#onChildDraw(). // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelperCallback#onChildDraw(+1). -// ^^^^^^ reference semanticdb maven . . _root_/ -// ^ definition local 52 +// ^^^^^^ reference semanticdb maven . . Canvas# +// ^ definition local 51 // documentation ```java\nunresolved_type c\n``` -// ^^^^^^^^^^^^ reference semanticdb maven . . _root_/ -// ^^^^^^^^^^^^ definition local 53 +// ^^^^^^^^^^^^ reference semanticdb maven . . RecyclerView# +// ^^^^^^^^^^^^ definition local 52 // documentation ```java\nunresolved_type recyclerView\n``` // ^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyViewHolder# -// ^^^^^^^^^^ definition local 54 +// ^^^^^^^^^^ definition local 53 // documentation ```java\nEpoxyViewHolder viewHolder\n``` float dX, float dY, int actionState, boolean isCurrentlyActive) { -// ^^ definition local 55 +// ^^ definition local 54 // documentation ```java\nfloat dX\n``` -// ^^ definition local 56 +// ^^ definition local 55 // documentation ```java\nfloat dY\n``` -// ^^^^^^^^^^^ definition local 57 +// ^^^^^^^^^^^ definition local 56 // documentation ```java\nint actionState\n``` -// ^^^^^^^^^^^^^^^^^ definition local 58 +// ^^^^^^^^^^^^^^^^^ definition local 57 // documentation ```java\nboolean isCurrentlyActive\n``` super.onChildDraw(c, recyclerView, viewHolder, dX, dY, actionState, isCurrentlyActive); // ^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModelTouchCallback#super. // ^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelperCallback#onChildDraw(). -// ^ reference local 52 -// ^^^^^^^^^^^^ reference local 53 -// ^^^^^^^^^^ reference local 54 -// ^^ reference local 55 -// ^^ reference local 56 -// ^^^^^^^^^^^ reference local 57 -// ^^^^^^^^^^^^^^^^^ reference local 58 +// ^ reference local 51 +// ^^^^^^^^^^^^ reference local 52 +// ^^^^^^^^^^ reference local 53 +// ^^ reference local 54 +// ^^ reference local 55 +// ^^^^^^^^^^^ reference local 56 +// ^^^^^^^^^^^^^^^^^ reference local 57 EpoxyModel model = viewHolder.getModel(); // ^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel# -// ^^^^^ definition local 59 +// ^^^^^ definition local 58 // documentation ```java\nEpoxyModel model\n``` -// ^^^^^^^^^^ reference local 54 +// ^^^^^^^^^^ reference local 53 // ^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyViewHolder#getModel(). if (!isTouchableModel(model)) { // ^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModelTouchCallback#isTouchableModel(). -// ^^^^^ reference local 59 +// ^^^^^ reference local 58 throw new IllegalStateException( // ^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven jdk 11 java/lang/IllegalStateException#``(+1). "A model was selected that is not a valid target: " + model.getClass()); -// ^^^^^ reference local 59 +// ^^^^^ reference local 58 // ^^^^^^^^ reference semanticdb maven jdk 11 java/lang/Object#getClass(). } View itemView = viewHolder.itemView; -// ^^^^ reference semanticdb maven . . _root_/ -// ^^^^^^^^ definition local 60 +// ^^^^ reference semanticdb maven . . View# +// ^^^^^^^^ definition local 59 // documentation ```java\nunresolved_type itemView\n``` -// ^^^^^^^^^^ reference local 54 +// ^^^^^^^^^^ reference local 53 // ^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyViewHolder#itemView# float swipeProgress; -// ^^^^^^^^^^^^^ definition local 61 +// ^^^^^^^^^^^^^ definition local 60 // documentation ```java\nfloat swipeProgress\n``` if (Math.abs(dX) > Math.abs(dY)) { // ^^^^ reference semanticdb maven jdk 11 java/lang/Math# // ^^^ reference semanticdb maven jdk 11 java/lang/Math#abs(+2). -// ^^ reference local 55 +// ^^ reference local 54 // ^^^^ reference semanticdb maven jdk 11 java/lang/Math# // ^^^ reference semanticdb maven jdk 11 java/lang/Math#abs(+2). -// ^^ reference local 56 +// ^^ reference local 55 swipeProgress = dX / itemView.getWidth(); -// ^^^^^^^^^^^^^ reference local 61 -// ^^ reference local 55 -// ^^^^^^^^ reference local 60 -// ^^^^^^^^ reference semanticdb maven . . getWidth# +// ^^^^^^^^^^^^^ reference local 60 +// ^^ reference local 54 +// ^^^^^^^^ reference local 59 +// ^^^^^^^^ reference semanticdb maven . . View#getWidth# } else { swipeProgress = dY / itemView.getHeight(); -// ^^^^^^^^^^^^^ reference local 61 -// ^^ reference local 56 -// ^^^^^^^^ reference local 60 -// ^^^^^^^^^ reference semanticdb maven . . getHeight# +// ^^^^^^^^^^^^^ reference local 60 +// ^^ reference local 55 +// ^^^^^^^^ reference local 59 +// ^^^^^^^^^ reference semanticdb maven . . View#getHeight# } // Clamp to 1/-1 in the case of side padding where the view can be swiped extra float clampedProgress = Math.max(-1f, Math.min(1f, swipeProgress)); -// ^^^^^^^^^^^^^^^ definition local 62 +// ^^^^^^^^^^^^^^^ definition local 61 // documentation ```java\nfloat clampedProgress\n``` // ^^^^ reference semanticdb maven jdk 11 java/lang/Math# // ^^^ reference semanticdb maven jdk 11 java/lang/Math#max(+2). // ^^^^ reference semanticdb maven jdk 11 java/lang/Math# // ^^^ reference semanticdb maven jdk 11 java/lang/Math#min(+2). -// ^^^^^^^^^^^^^ reference local 61 +// ^^^^^^^^^^^^^ reference local 60 //noinspection unchecked onSwipeProgressChanged((T) model, itemView, clampedProgress, c); // ^^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModelTouchCallback#onSwipeProgressChanged(). // ^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModelTouchCallback#[T] -// ^^^^^ reference local 59 -// ^^^^^^^^ reference local 60 -// ^^^^^^^^^^^^^^^ reference local 62 -// ^ reference local 52 +// ^^^^^ reference local 58 +// ^^^^^^^^ reference local 59 +// ^^^^^^^^^^^^^^^ reference local 61 +// ^ reference local 51 } @Override @@ -730,16 +729,16 @@ public void onSwipeProgressChanged(T model, View itemView, float swipeProgress, // documentation ```java\n@Override\npublic void onSwipeProgressChanged(T model, unresolved_type itemView, float swipeProgress, unresolved_type canvas)\n``` // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxySwipeCallback#onSwipeProgressChanged(). // ^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModelTouchCallback#[T] -// ^^^^^ definition local 63 +// ^^^^^ definition local 62 // documentation ```java\nT model\n``` -// ^^^^ reference semanticdb maven . . _root_/ -// ^^^^^^^^ definition local 64 +// ^^^^ reference semanticdb maven . . View# +// ^^^^^^^^ definition local 63 // documentation ```java\nunresolved_type itemView\n``` -// ^^^^^^^^^^^^^ definition local 65 +// ^^^^^^^^^^^^^ definition local 64 // documentation ```java\nfloat swipeProgress\n``` Canvas canvas) { -// ^^^^^^ reference semanticdb maven . . _root_/ -// ^^^^^^ definition local 66 +// ^^^^^^ reference semanticdb maven . . Canvas# +// ^^^^^^ definition local 65 // documentation ```java\nunresolved_type canvas\n``` } diff --git a/tests/snapshots/src/main/generated/com/airbnb/epoxy/EpoxyModelWithHolder.java b/tests/snapshots/src/main/generated/com/airbnb/epoxy/EpoxyModelWithHolder.java index 449a92d0..7f54407c 100644 --- a/tests/snapshots/src/main/generated/com/airbnb/epoxy/EpoxyModelWithHolder.java +++ b/tests/snapshots/src/main/generated/com/airbnb/epoxy/EpoxyModelWithHolder.java @@ -68,7 +68,7 @@ public EpoxyModelWithHolder(long id) { // documentation This should return a new instance of your {@link com.airbnb.epoxy.EpoxyHolder} class. // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxyModelGroup#createNewHolder(). // ^^^^^^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/NonNull# -// ^^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^^ reference semanticdb maven . . ViewParent# // ^^^^^^ definition local 1 // documentation ```java\n@NonNull\nunresolved_type parent\n``` diff --git a/tests/snapshots/src/main/generated/com/airbnb/epoxy/EpoxyModelWithView.java b/tests/snapshots/src/main/generated/com/airbnb/epoxy/EpoxyModelWithView.java index af86a2d8..ddf437e2 100644 --- a/tests/snapshots/src/main/generated/com/airbnb/epoxy/EpoxyModelWithView.java +++ b/tests/snapshots/src/main/generated/com/airbnb/epoxy/EpoxyModelWithView.java @@ -43,7 +43,7 @@ public abstract class EpoxyModelWithView extends EpoxyModel { // documentation ```java\npublic EpoxyModelWithView()\n``` // ^ definition semanticdb maven . . com/airbnb/epoxy/EpoxyModelWithView#[T] // documentation ```java\nT extends unresolved_type\n``` -// ^^^^ reference semanticdb maven . . _root_/ +// ^^^^ reference semanticdb maven . . View# // ^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel# // ^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModelWithView#[T] @@ -78,7 +78,7 @@ protected int getViewType() { // documentation Create and return a new instance of a view for this model. If no layout params are set on the\n returned view then default layout params will be used.\n\n @param parent The parent ViewGroup that the returned view will be added to.\n // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxyModel#buildView(). // ^^^^^^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/NonNull# -// ^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^ reference semanticdb maven . . ViewGroup# // ^^^^^^ definition local 0 // documentation ```java\n@NonNull\nunresolved_type parent\n``` diff --git a/tests/snapshots/src/main/generated/com/airbnb/epoxy/EpoxySwipeCallback.java b/tests/snapshots/src/main/generated/com/airbnb/epoxy/EpoxySwipeCallback.java index 11d19ac3..7440c563 100644 --- a/tests/snapshots/src/main/generated/com/airbnb/epoxy/EpoxySwipeCallback.java +++ b/tests/snapshots/src/main/generated/com/airbnb/epoxy/EpoxySwipeCallback.java @@ -49,7 +49,7 @@ public interface EpoxySwipeCallback extends BaseEpoxyTouch // ^ reference semanticdb maven . . com/airbnb/epoxy/EpoxySwipeCallback#[T] // ^^^^^ definition local 0 // documentation ```java\nT model\n``` -// ^^^^ reference semanticdb maven . . _root_/ +// ^^^^ reference semanticdb maven . . View# // ^^^^^^^^ definition local 1 // documentation ```java\nunresolved_type itemView\n``` // ^^^^^^^^^^^^^^^ definition local 2 @@ -78,13 +78,13 @@ void onSwipeProgressChanged(T model, View itemView, float swipeProgress, // ^ reference semanticdb maven . . com/airbnb/epoxy/EpoxySwipeCallback#[T] // ^^^^^ definition local 3 // documentation ```java\nT model\n``` -// ^^^^ reference semanticdb maven . . _root_/ +// ^^^^ reference semanticdb maven . . View# // ^^^^^^^^ definition local 4 // documentation ```java\nunresolved_type itemView\n``` // ^^^^^^^^^^^^^ definition local 5 // documentation ```java\nfloat swipeProgress\n``` Canvas canvas); -// ^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^ reference semanticdb maven . . Canvas# // ^^^^^^ definition local 6 // documentation ```java\nunresolved_type canvas\n``` @@ -106,7 +106,7 @@ void onSwipeProgressChanged(T model, View itemView, float swipeProgress, // ^ reference semanticdb maven . . com/airbnb/epoxy/EpoxySwipeCallback#[T] // ^^^^^ definition local 7 // documentation ```java\nT model\n``` -// ^^^^ reference semanticdb maven . . _root_/ +// ^^^^ reference semanticdb maven . . View# // ^^^^^^^^ definition local 8 // documentation ```java\nunresolved_type itemView\n``` @@ -136,7 +136,7 @@ void onSwipeProgressChanged(T model, View itemView, float swipeProgress, // ^ reference semanticdb maven . . com/airbnb/epoxy/EpoxySwipeCallback#[T] // ^^^^^ definition local 9 // documentation ```java\nT model\n``` -// ^^^^ reference semanticdb maven . . _root_/ +// ^^^^ reference semanticdb maven . . View# // ^^^^^^^^ definition local 10 // documentation ```java\nunresolved_type itemView\n``` // ^^^^^^^^ definition local 11 diff --git a/tests/snapshots/src/main/generated/com/airbnb/epoxy/EpoxyTouchHelper.java b/tests/snapshots/src/main/generated/com/airbnb/epoxy/EpoxyTouchHelper.java index 4d8fcd04..d2fc2af6 100644 --- a/tests/snapshots/src/main/generated/com/airbnb/epoxy/EpoxyTouchHelper.java +++ b/tests/snapshots/src/main/generated/com/airbnb/epoxy/EpoxyTouchHelper.java @@ -119,7 +119,7 @@ public DragBuilder2 withRecyclerView(RecyclerView recyclerView) { // ^^^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelper#DragBuilder#withRecyclerView(). // documentation ```java\npublic DragBuilder2 withRecyclerView(unresolved_type recyclerView)\n``` // documentation The recyclerview that the EpoxyController has its adapter added to. An {@link\n androidx.recyclerview.widget.ItemTouchHelper} will be created and configured for you, and\n attached to this RecyclerView.\n -// ^^^^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^^^^ reference semanticdb maven . . RecyclerView# // ^^^^^^^^^^^^ definition local 2 // documentation ```java\nunresolved_type recyclerView\n``` return new DragBuilder2(controller, recyclerView); @@ -138,7 +138,7 @@ public static class DragBuilder2 { // ^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelper#DragBuilder2#controller. // documentation ```java\nprivate final EpoxyController controller\n``` private final RecyclerView recyclerView; -// ^^^^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^^^^ reference semanticdb maven . . RecyclerView# // ^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelper#DragBuilder2#recyclerView. // documentation ```java\nprivate final unresolved_type recyclerView\n``` @@ -148,7 +148,7 @@ private DragBuilder2(EpoxyController controller, RecyclerView recyclerView) { // ^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyController# // ^^^^^^^^^^ definition local 3 // documentation ```java\nEpoxyController controller\n``` -// ^^^^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^^^^ reference semanticdb maven . . RecyclerView# // ^^^^^^^^^^^^ definition local 4 // documentation ```java\nunresolved_type recyclerView\n``` this.controller = controller; @@ -167,10 +167,10 @@ public DragBuilder3 forVerticalList() { // documentation Enable dragging vertically, up and down. return withDirections(ItemTouchHelper.UP | ItemTouchHelper.DOWN); // ^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelper#DragBuilder2#withDirections(). -// ^^^^^^^^^^^^^^^ reference semanticdb maven . . _root_/ -// ^^ reference semanticdb maven . . UP# -// ^^^^^^^^^^^^^^^ reference semanticdb maven . . _root_/ -// ^^^^ reference semanticdb maven . . DOWN# +// ^^^^^^^^^^^^^^^ reference semanticdb maven . . ItemTouchHelper# +// ^^ reference semanticdb maven . . ItemTouchHelper#UP# +// ^^^^^^^^^^^^^^^ reference semanticdb maven . . ItemTouchHelper# +// ^^^^ reference semanticdb maven . . ItemTouchHelper#DOWN# } /** Enable dragging horizontally, left and right. */ @@ -181,10 +181,10 @@ public DragBuilder3 forHorizontalList() { // documentation Enable dragging horizontally, left and right. return withDirections(ItemTouchHelper.LEFT | ItemTouchHelper.RIGHT); // ^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelper#DragBuilder2#withDirections(). -// ^^^^^^^^^^^^^^^ reference semanticdb maven . . _root_/ -// ^^^^ reference semanticdb maven . . LEFT# -// ^^^^^^^^^^^^^^^ reference semanticdb maven . . _root_/ -// ^^^^^ reference semanticdb maven . . RIGHT# +// ^^^^^^^^^^^^^^^ reference semanticdb maven . . ItemTouchHelper# +// ^^^^ reference semanticdb maven . . ItemTouchHelper#LEFT# +// ^^^^^^^^^^^^^^^ reference semanticdb maven . . ItemTouchHelper# +// ^^^^^ reference semanticdb maven . . ItemTouchHelper#RIGHT# } /** Enable dragging in all directions. */ @@ -195,15 +195,15 @@ public DragBuilder3 forGrid() { // documentation Enable dragging in all directions. return withDirections(ItemTouchHelper.UP | ItemTouchHelper.DOWN | ItemTouchHelper.LEFT // ^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelper#DragBuilder2#withDirections(). -// ^^^^^^^^^^^^^^^ reference semanticdb maven . . _root_/ -// ^^ reference semanticdb maven . . UP# -// ^^^^^^^^^^^^^^^ reference semanticdb maven . . _root_/ -// ^^^^ reference semanticdb maven . . DOWN# -// ^^^^^^^^^^^^^^^ reference semanticdb maven . . _root_/ -// ^^^^ reference semanticdb maven . . LEFT# +// ^^^^^^^^^^^^^^^ reference semanticdb maven . . ItemTouchHelper# +// ^^ reference semanticdb maven . . ItemTouchHelper#UP# +// ^^^^^^^^^^^^^^^ reference semanticdb maven . . ItemTouchHelper# +// ^^^^ reference semanticdb maven . . ItemTouchHelper#DOWN# +// ^^^^^^^^^^^^^^^ reference semanticdb maven . . ItemTouchHelper# +// ^^^^ reference semanticdb maven . . ItemTouchHelper#LEFT# | ItemTouchHelper.RIGHT); -// ^^^^^^^^^^^^^^^ reference semanticdb maven . . _root_/ -// ^^^^^ reference semanticdb maven . . RIGHT# +// ^^^^^^^^^^^^^^^ reference semanticdb maven . . ItemTouchHelper# +// ^^^^^ reference semanticdb maven . . ItemTouchHelper#RIGHT# } /** @@ -240,7 +240,7 @@ public static class DragBuilder3 { // ^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelper#DragBuilder3#controller. // documentation ```java\nprivate final EpoxyController controller\n``` private final RecyclerView recyclerView; -// ^^^^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^^^^ reference semanticdb maven . . RecyclerView# // ^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelper#DragBuilder3#recyclerView. // documentation ```java\nprivate final unresolved_type recyclerView\n``` private final int movementFlags; @@ -253,7 +253,7 @@ private DragBuilder3(EpoxyController controller, RecyclerView recyclerView, int // ^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyController# // ^^^^^^^^^^ definition local 6 // documentation ```java\nEpoxyController controller\n``` -// ^^^^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^^^^ reference semanticdb maven . . RecyclerView# // ^^^^^^^^^^^^ definition local 7 // documentation ```java\nunresolved_type recyclerView\n``` // ^^^^^^^^^^^^^ definition local 8 @@ -368,7 +368,7 @@ public static class DragBuilder4 { // ^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelper#DragBuilder4#controller. // documentation ```java\nprivate final EpoxyController controller\n``` private final RecyclerView recyclerView; -// ^^^^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^^^^ reference semanticdb maven . . RecyclerView# // ^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelper#DragBuilder4#recyclerView. // documentation ```java\nprivate final unresolved_type recyclerView\n``` private final int movementFlags; @@ -393,7 +393,7 @@ private DragBuilder4(EpoxyController controller, // ^^^^^^^^^^ definition local 12 // documentation ```java\nEpoxyController controller\n``` RecyclerView recyclerView, int movementFlags, -// ^^^^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^^^^ reference semanticdb maven . . RecyclerView# // ^^^^^^^^^^^^ definition local 13 // documentation ```java\nunresolved_type recyclerView\n``` // ^^^^^^^^^^^^^ definition local 14 @@ -441,7 +441,7 @@ private DragBuilder4(EpoxyController controller, * events via setting null on {@link ItemTouchHelper#attachToRecyclerView(RecyclerView)} */ public ItemTouchHelper andCallbacks(final DragCallbacks callbacks) { -// ^^^^^^^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^^^^^^^ reference semanticdb maven . . ItemTouchHelper# // ^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelper#DragBuilder4#andCallbacks(). // documentation ```java\npublic unresolved_type andCallbacks(DragCallbacks callbacks)\n``` // documentation Set callbacks to handle drag actions and lifecycle events.\n

\n You MUST implement {@link DragCallbacks#onModelMoved(int, int, EpoxyModel,\n View)} to update your data to reflect an item move.\n

\n You can optionally implement the other callbacks to modify the view being dragged. This is\n useful if you want to change things like the view background, size, color, etc\n\n @return An {@link ItemTouchHelper} instance that has been initialized and attached to a\n recyclerview. The touch helper has already been fully set up and can be ignored, but you may\n want to hold a reference to it if you need to later detach the recyclerview to disable touch\n events via setting null on {@link ItemTouchHelper#attachToRecyclerView(RecyclerView)}\n @@ -450,7 +450,7 @@ public ItemTouchHelper andCallbacks(final DragCallbacks callbacks) { // ^^^^^^^^^ definition local 17 // documentation ```java\nfinal DragCallbacks callbacks\n``` ItemTouchHelper itemTouchHelper = -// ^^^^^^^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^^^^^^^ reference semanticdb maven . . ItemTouchHelper# // ^^^^^^^^^^^^^^^ definition local 18 // documentation ```java\nunresolved_type itemTouchHelper\n``` new ItemTouchHelper(new EpoxyModelTouchCallback(controller, targetModelClass) { @@ -462,13 +462,13 @@ public ItemTouchHelper andCallbacks(final DragCallbacks callbacks) { @Override // ^^^^^^^^ reference semanticdb maven jdk 11 java/lang/Override# public int getMovementFlagsForModel(U model, int adapterPosition) { -// ^^^^^^^^^^^^^^^^^^^^^^^^ definition local 21 +// ^^^^^^^^^^^^^^^^^^^^^^^^ definition local 23 // documentation ```java\n@Override\npublic int getMovementFlagsForModel(U model, int adapterPosition)\n``` // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/BaseEpoxyTouchCallback#getMovementFlagsForModel(). // ^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelper#DragBuilder4#[U] -// ^^^^^ definition local 27 +// ^^^^^ definition local 24 // documentation ```java\nU model\n``` -// ^^^^^^^^^^^^^^^ definition local 28 +// ^^^^^^^^^^^^^^^ definition local 25 // documentation ```java\nint adapterPosition\n``` return movementFlags; // ^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelper#DragBuilder4#movementFlags. @@ -477,70 +477,70 @@ public int getMovementFlagsForModel(U model, int adapterPosition) { @Override // ^^^^^^^^ reference semanticdb maven jdk 11 java/lang/Override# protected boolean isTouchableModel(EpoxyModel model) { -// ^^^^^^^^^^^^^^^^ definition local 22 +// ^^^^^^^^^^^^^^^^ definition local 26 // documentation ```java\n@Override\nprotected boolean isTouchableModel(EpoxyModel model)\n``` // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxyModelTouchCallback#isTouchableModel(). // ^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel# -// ^^^^^ definition local 29 +// ^^^^^ definition local 27 // documentation ```java\nEpoxyModel model\n``` boolean isTargetType = targetModelClasses.size() == 1 -// ^^^^^^^^^^^^ definition local 30 +// ^^^^^^^^^^^^ definition local 28 // documentation ```java\nboolean isTargetType\n``` // ^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelper#DragBuilder4#targetModelClasses. // ^^^^ reference semanticdb maven jdk 11 java/util/List#size(). ? super.isTouchableModel(model) -// ^^^^^ reference local 31 +// ^^^^^ reference local 29 // ^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModelTouchCallback#isTouchableModel(). -// ^^^^^ reference local 29 +// ^^^^^ reference local 27 : targetModelClasses.contains(model.getClass()); // ^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelper#DragBuilder4#targetModelClasses. // ^^^^^^^^ reference semanticdb maven jdk 11 java/util/List#contains(). -// ^^^^^ reference local 29 +// ^^^^^ reference local 27 // ^^^^^^^^ reference semanticdb maven jdk 11 java/lang/Object#getClass(). //noinspection unchecked return isTargetType && callbacks.isDragEnabledForModel((U) model); -// ^^^^^^^^^^^^ reference local 30 +// ^^^^^^^^^^^^ reference local 28 // ^^^^^^^^^ reference local 17 // ^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelper#DragCallbacks#isDragEnabledForModel(). // ^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelper#DragBuilder4#[U] -// ^^^^^ reference local 29 +// ^^^^^ reference local 27 } @Override // ^^^^^^^^ reference semanticdb maven jdk 11 java/lang/Override# public void onDragStarted(U model, View itemView, int adapterPosition) { -// ^^^^^^^^^^^^^ definition local 23 +// ^^^^^^^^^^^^^ definition local 30 // documentation ```java\n@Override\npublic void onDragStarted(U model, unresolved_type itemView, int adapterPosition)\n``` // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxyDragCallback#onDragStarted(). // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxyModelTouchCallback#onDragStarted(). // ^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelper#DragBuilder4#[U] -// ^^^^^ definition local 32 +// ^^^^^ definition local 31 // documentation ```java\nU model\n``` -// ^^^^ reference semanticdb maven . . _root_/ -// ^^^^^^^^ definition local 33 +// ^^^^ reference semanticdb maven . . View# +// ^^^^^^^^ definition local 32 // documentation ```java\nunresolved_type itemView\n``` -// ^^^^^^^^^^^^^^^ definition local 34 +// ^^^^^^^^^^^^^^^ definition local 33 // documentation ```java\nint adapterPosition\n``` callbacks.onDragStarted(model, itemView, adapterPosition); // ^^^^^^^^^ reference local 17 // ^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelper#DragCallbacks#onDragStarted(). -// ^^^^^ reference local 32 -// ^^^^^^^^ reference local 33 -// ^^^^^^^^^^^^^^^ reference local 34 +// ^^^^^ reference local 31 +// ^^^^^^^^ reference local 32 +// ^^^^^^^^^^^^^^^ reference local 33 } @Override // ^^^^^^^^ reference semanticdb maven jdk 11 java/lang/Override# public void onDragReleased(U model, View itemView) { -// ^^^^^^^^^^^^^^ definition local 24 +// ^^^^^^^^^^^^^^ definition local 34 // documentation ```java\n@Override\npublic void onDragReleased(U model, unresolved_type itemView)\n``` // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxyDragCallback#onDragReleased(). // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxyModelTouchCallback#onDragReleased(). // ^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelper#DragBuilder4#[U] // ^^^^^ definition local 35 // documentation ```java\nU model\n``` -// ^^^^ reference semanticdb maven . . _root_/ +// ^^^^ reference semanticdb maven . . View# // ^^^^^^^^ definition local 36 // documentation ```java\nunresolved_type itemView\n``` callbacks.onDragReleased(model, itemView); @@ -553,34 +553,34 @@ public void onDragReleased(U model, View itemView) { @Override // ^^^^^^^^ reference semanticdb maven jdk 11 java/lang/Override# public void onModelMoved(int fromPosition, int toPosition, U modelBeingMoved, -// ^^^^^^^^^^^^ definition local 25 +// ^^^^^^^^^^^^ definition local 37 // documentation ```java\n@Override\npublic void onModelMoved(int fromPosition, int toPosition, U modelBeingMoved, unresolved_type itemView)\n``` // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxyDragCallback#onModelMoved(). // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxyModelTouchCallback#onModelMoved(). -// ^^^^^^^^^^^^ definition local 37 +// ^^^^^^^^^^^^ definition local 38 // documentation ```java\nint fromPosition\n``` -// ^^^^^^^^^^ definition local 38 +// ^^^^^^^^^^ definition local 39 // documentation ```java\nint toPosition\n``` // ^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelper#DragBuilder4#[U] -// ^^^^^^^^^^^^^^^ definition local 39 +// ^^^^^^^^^^^^^^^ definition local 40 // documentation ```java\nU modelBeingMoved\n``` View itemView) { -// ^^^^ reference semanticdb maven . . _root_/ -// ^^^^^^^^ definition local 40 +// ^^^^ reference semanticdb maven . . View# +// ^^^^^^^^ definition local 41 // documentation ```java\nunresolved_type itemView\n``` callbacks.onModelMoved(fromPosition, toPosition, modelBeingMoved, itemView); // ^^^^^^^^^ reference local 17 // ^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelper#DragCallbacks#onModelMoved(). -// ^^^^^^^^^^^^ reference local 37 -// ^^^^^^^^^^ reference local 38 -// ^^^^^^^^^^^^^^^ reference local 39 -// ^^^^^^^^ reference local 40 +// ^^^^^^^^^^^^ reference local 38 +// ^^^^^^^^^^ reference local 39 +// ^^^^^^^^^^^^^^^ reference local 40 +// ^^^^^^^^ reference local 41 } @Override // ^^^^^^^^ reference semanticdb maven jdk 11 java/lang/Override# public void clearView(U model, View itemView) { -// ^^^^^^^^^ definition local 26 +// ^^^^^^^^^ definition local 42 // documentation ```java\n@Override\npublic void clearView(U model, unresolved_type itemView)\n``` // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/BaseEpoxyTouchCallback#clearView(). // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxyModelTouchCallback#clearView(). @@ -588,22 +588,22 @@ public void clearView(U model, View itemView) { // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelperCallback#clearView(). // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelperCallback#clearView(+1). // ^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelper#DragBuilder4#[U] -// ^^^^^ definition local 41 +// ^^^^^ definition local 43 // documentation ```java\nU model\n``` -// ^^^^ reference semanticdb maven . . _root_/ -// ^^^^^^^^ definition local 42 +// ^^^^ reference semanticdb maven . . View# +// ^^^^^^^^ definition local 44 // documentation ```java\nunresolved_type itemView\n``` callbacks.clearView(model, itemView); // ^^^^^^^^^ reference local 17 // ^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelper#DragCallbacks#clearView(). -// ^^^^^ reference local 41 -// ^^^^^^^^ reference local 42 +// ^^^^^ reference local 43 +// ^^^^^^^^ reference local 44 } }); itemTouchHelper.attachToRecyclerView(recyclerView); // ^^^^^^^^^^^^^^^ reference local 18 -// ^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . attachToRecyclerView# +// ^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . ItemTouchHelper#attachToRecyclerView# // ^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelper#DragBuilder4#recyclerView. return itemTouchHelper; @@ -632,12 +632,12 @@ public void onDragStarted(T model, View itemView, int adapterPosition) { // documentation ```java\n@Override\npublic void onDragStarted(T model, unresolved_type itemView, int adapterPosition)\n``` // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxyDragCallback#onDragStarted(). // ^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelper#DragCallbacks#[T] -// ^^^^^ definition local 43 +// ^^^^^ definition local 45 // documentation ```java\nT model\n``` -// ^^^^ reference semanticdb maven . . _root_/ -// ^^^^^^^^ definition local 44 +// ^^^^ reference semanticdb maven . . View# +// ^^^^^^^^ definition local 46 // documentation ```java\nunresolved_type itemView\n``` -// ^^^^^^^^^^^^^^^ definition local 45 +// ^^^^^^^^^^^^^^^ definition local 47 // documentation ```java\nint adapterPosition\n``` } @@ -649,10 +649,10 @@ public void onDragReleased(T model, View itemView) { // documentation ```java\n@Override\npublic void onDragReleased(T model, unresolved_type itemView)\n``` // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxyDragCallback#onDragReleased(). // ^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelper#DragCallbacks#[T] -// ^^^^^ definition local 46 +// ^^^^^ definition local 48 // documentation ```java\nT model\n``` -// ^^^^ reference semanticdb maven . . _root_/ -// ^^^^^^^^ definition local 47 +// ^^^^ reference semanticdb maven . . View# +// ^^^^^^^^ definition local 49 // documentation ```java\nunresolved_type itemView\n``` } @@ -663,16 +663,16 @@ public abstract void onModelMoved(int fromPosition, int toPosition, T modelBeing // ^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelper#DragCallbacks#onModelMoved(). // documentation ```java\n@Override\npublic abstract void onModelMoved(int fromPosition, int toPosition, T modelBeingMoved, unresolved_type itemView)\n``` // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxyDragCallback#onModelMoved(). -// ^^^^^^^^^^^^ definition local 48 +// ^^^^^^^^^^^^ definition local 50 // documentation ```java\nint fromPosition\n``` -// ^^^^^^^^^^ definition local 49 +// ^^^^^^^^^^ definition local 51 // documentation ```java\nint toPosition\n``` // ^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelper#DragCallbacks#[T] -// ^^^^^^^^^^^^^^^ definition local 50 +// ^^^^^^^^^^^^^^^ definition local 52 // documentation ```java\nT modelBeingMoved\n``` View itemView); -// ^^^^ reference semanticdb maven . . _root_/ -// ^^^^^^^^ definition local 51 +// ^^^^ reference semanticdb maven . . View# +// ^^^^^^^^ definition local 53 // documentation ```java\nunresolved_type itemView\n``` @Override @@ -682,10 +682,10 @@ public void clearView(T model, View itemView) { // documentation ```java\n@Override\npublic void clearView(T model, unresolved_type itemView)\n``` // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/BaseEpoxyTouchCallback#clearView(). // ^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelper#DragCallbacks#[T] -// ^^^^^ definition local 52 +// ^^^^^ definition local 54 // documentation ```java\nT model\n``` -// ^^^^ reference semanticdb maven . . _root_/ -// ^^^^^^^^ definition local 53 +// ^^^^ reference semanticdb maven . . View# +// ^^^^^^^^ definition local 55 // documentation ```java\nunresolved_type itemView\n``` } @@ -700,7 +700,7 @@ public boolean isDragEnabledForModel(T model) { // documentation ```java\npublic boolean isDragEnabledForModel(T model)\n``` // documentation Whether the given model should be draggable.\n

\n True by default. You may override this to toggle draggability for a model.\n // ^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelper#DragCallbacks#[T] -// ^^^^^ definition local 54 +// ^^^^^ definition local 56 // documentation ```java\nT model\n``` return true; } @@ -712,9 +712,9 @@ public final int getMovementFlagsForModel(T model, int adapterPosition) { // documentation ```java\n@Override\npublic final int getMovementFlagsForModel(T model, int adapterPosition)\n``` // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/BaseEpoxyTouchCallback#getMovementFlagsForModel(). // ^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelper#DragCallbacks#[T] -// ^^^^^ definition local 55 +// ^^^^^ definition local 57 // documentation ```java\nT model\n``` -// ^^^^^^^^^^^^^^^ definition local 56 +// ^^^^^^^^^^^^^^^ definition local 58 // documentation ```java\nint adapterPosition\n``` // No-Op this is not used return 0; @@ -724,18 +724,20 @@ public final int getMovementFlagsForModel(T model, int adapterPosition) { /** * The entry point for setting up swipe support for a RecyclerView. The RecyclerView must be set * with an Epoxy adapter or controller. +// ^^^^^^^^^^ definition local 19 +// documentation ```java\nEpoxyController controller\n``` */ public static SwipeBuilder initSwiping(RecyclerView recyclerView) { // ^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelper#SwipeBuilder# // ^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelper#initSwiping(). // documentation ```java\npublic static SwipeBuilder initSwiping(unresolved_type recyclerView)\n``` // documentation The entry point for setting up swipe support for a RecyclerView. The RecyclerView must be set\n with an Epoxy adapter or controller.\n -// ^^^^^^^^^^^^ reference semanticdb maven . . _root_/ -// ^^^^^^^^^^^^ definition local 57 +// ^^^^^^^^^^^^ reference semanticdb maven . . RecyclerView# +// ^^^^^^^^^^^^ definition local 59 // documentation ```java\nunresolved_type recyclerView\n``` return new SwipeBuilder(recyclerView); // ^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelper#SwipeBuilder#``(). -// ^^^^^^^^^^^^ reference local 57 +// ^^^^^^^^^^^^ reference local 59 } public static class SwipeBuilder { @@ -743,19 +745,19 @@ public static class SwipeBuilder { // documentation ```java\npublic static class SwipeBuilder\n``` private final RecyclerView recyclerView; -// ^^^^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^^^^ reference semanticdb maven . . RecyclerView# // ^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelper#SwipeBuilder#recyclerView. // documentation ```java\nprivate final unresolved_type recyclerView\n``` private SwipeBuilder(RecyclerView recyclerView) { // ^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelper#SwipeBuilder#``(). // documentation ```java\nprivate SwipeBuilder(unresolved_type recyclerView)\n``` -// ^^^^^^^^^^^^ reference semanticdb maven . . _root_/ -// ^^^^^^^^^^^^ definition local 58 +// ^^^^^^^^^^^^ reference semanticdb maven . . RecyclerView# +// ^^^^^^^^^^^^ definition local 60 // documentation ```java\nunresolved_type recyclerView\n``` this.recyclerView = recyclerView; // ^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelper#SwipeBuilder#recyclerView. -// ^^^^^^^^^^^^ reference local 58 +// ^^^^^^^^^^^^ reference local 60 } /** Enable swiping right. */ @@ -766,8 +768,8 @@ public SwipeBuilder2 right() { // documentation Enable swiping right. return withDirections(ItemTouchHelper.RIGHT); // ^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelper#SwipeBuilder#withDirections(). -// ^^^^^^^^^^^^^^^ reference semanticdb maven . . _root_/ -// ^^^^^ reference semanticdb maven . . RIGHT# +// ^^^^^^^^^^^^^^^ reference semanticdb maven . . ItemTouchHelper# +// ^^^^^ reference semanticdb maven . . ItemTouchHelper#RIGHT# } /** Enable swiping left. */ @@ -778,8 +780,8 @@ public SwipeBuilder2 left() { // documentation Enable swiping left. return withDirections(ItemTouchHelper.LEFT); // ^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelper#SwipeBuilder#withDirections(). -// ^^^^^^^^^^^^^^^ reference semanticdb maven . . _root_/ -// ^^^^ reference semanticdb maven . . LEFT# +// ^^^^^^^^^^^^^^^ reference semanticdb maven . . ItemTouchHelper# +// ^^^^ reference semanticdb maven . . ItemTouchHelper#LEFT# } /** Enable swiping horizontally, left and right. */ @@ -790,10 +792,10 @@ public SwipeBuilder2 leftAndRight() { // documentation Enable swiping horizontally, left and right. return withDirections(ItemTouchHelper.LEFT | ItemTouchHelper.RIGHT); // ^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelper#SwipeBuilder#withDirections(). -// ^^^^^^^^^^^^^^^ reference semanticdb maven . . _root_/ -// ^^^^ reference semanticdb maven . . LEFT# -// ^^^^^^^^^^^^^^^ reference semanticdb maven . . _root_/ -// ^^^^^ reference semanticdb maven . . RIGHT# +// ^^^^^^^^^^^^^^^ reference semanticdb maven . . ItemTouchHelper# +// ^^^^ reference semanticdb maven . . ItemTouchHelper#LEFT# +// ^^^^^^^^^^^^^^^ reference semanticdb maven . . ItemTouchHelper# +// ^^^^^ reference semanticdb maven . . ItemTouchHelper#RIGHT# } /** @@ -810,13 +812,13 @@ public SwipeBuilder2 withDirections(int directionFlags) { // ^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelper#SwipeBuilder#withDirections(). // documentation ```java\npublic SwipeBuilder2 withDirections(int directionFlags)\n``` // documentation Set custom movement flags to dictate which swipe directions should be allowed.\n

\n Can be any of {@link ItemTouchHelper#LEFT}, {@link ItemTouchHelper#RIGHT}, {@link\n ItemTouchHelper#UP}, {@link ItemTouchHelper#DOWN}, {@link ItemTouchHelper#START}, {@link\n ItemTouchHelper#END}\n

\n Flags can be OR'd together to allow multiple directions.\n -// ^^^^^^^^^^^^^^ definition local 59 +// ^^^^^^^^^^^^^^ definition local 61 // documentation ```java\nint directionFlags\n``` return new SwipeBuilder2(recyclerView, makeMovementFlags(0, directionFlags)); // ^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelper#SwipeBuilder2#``(). // ^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelper#SwipeBuilder#recyclerView. // ^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelper#SwipeBuilder#makeMovementFlags# -// ^^^^^^^^^^^^^^ reference local 59 +// ^^^^^^^^^^^^^^ reference local 61 } } @@ -825,7 +827,7 @@ public static class SwipeBuilder2 { // documentation ```java\npublic static class SwipeBuilder2\n``` private final RecyclerView recyclerView; -// ^^^^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^^^^ reference semanticdb maven . . RecyclerView# // ^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelper#SwipeBuilder2#recyclerView. // documentation ```java\nprivate final unresolved_type recyclerView\n``` private final int movementFlags; @@ -835,18 +837,18 @@ public static class SwipeBuilder2 { private SwipeBuilder2(RecyclerView recyclerView, // ^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelper#SwipeBuilder2#``(). // documentation ```java\nprivate SwipeBuilder2(unresolved_type recyclerView, int movementFlags)\n``` -// ^^^^^^^^^^^^ reference semanticdb maven . . _root_/ -// ^^^^^^^^^^^^ definition local 60 +// ^^^^^^^^^^^^ reference semanticdb maven . . RecyclerView# +// ^^^^^^^^^^^^ definition local 62 // documentation ```java\nunresolved_type recyclerView\n``` int movementFlags) { -// ^^^^^^^^^^^^^ definition local 61 +// ^^^^^^^^^^^^^ definition local 63 // documentation ```java\nint movementFlags\n``` this.recyclerView = recyclerView; // ^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelper#SwipeBuilder2#recyclerView. -// ^^^^^^^^^^^^ reference local 60 +// ^^^^^^^^^^^^ reference local 62 this.movementFlags = movementFlags; // ^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelper#SwipeBuilder2#movementFlags. -// ^^^^^^^^^^^^^ reference local 61 +// ^^^^^^^^^^^^^ reference local 63 } /** @@ -864,27 +866,29 @@ public SwipeBuilder3 withTarget(Class targetModelCl // documentation Set the type of Epoxy model that is swipable. Use this if you only have one\n swipable type.\n // ^^^^^ reference semanticdb maven jdk 11 java/lang/Class# // ^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelper#SwipeBuilder2#withTarget().[U] -// ^^^^^^^^^^^^^^^^ definition local 62 +// ^^^^^^^^^^^^^^^^ definition local 22 +// documentation ```java\nClass targetModelClass\n``` +// ^^^^^^^^^^^^^^^^ definition local 64 // documentation ```java\nClass targetModelClass\n``` List> targetClasses = new ArrayList<>(1); // ^^^^ reference semanticdb maven jdk 11 java/util/List# // ^^^^^ reference semanticdb maven jdk 11 java/lang/Class# // ^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel# -// ^^^^^^^^^^^^^ definition local 63 +// ^^^^^^^^^^^^^ definition local 65 // documentation ```java\nList> targetClasses\n``` // ^^^^^^^^^ reference semanticdb maven jdk 11 java/util/ArrayList#``(). targetClasses.add(targetModelClass); -// ^^^^^^^^^^^^^ reference local 63 +// ^^^^^^^^^^^^^ reference local 65 // ^^^ reference semanticdb maven jdk 11 java/util/List#add(). -// ^^^^^^^^^^^^^^^^ reference local 62 +// ^^^^^^^^^^^^^^^^ reference local 64 return new SwipeBuilder3<>(recyclerView, movementFlags, targetModelClass, // ^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelper#SwipeBuilder3#``(). // ^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelper#SwipeBuilder2#recyclerView. // ^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelper#SwipeBuilder2#movementFlags. -// ^^^^^^^^^^^^^^^^ reference local 62 +// ^^^^^^^^^^^^^^^^ reference local 64 targetClasses); -// ^^^^^^^^^^^^^ reference local 63 +// ^^^^^^^^^^^^^ reference local 65 } /** @@ -902,7 +906,7 @@ public SwipeBuilder3 withTargets( Class... targetModelClasses) { // ^^^^^ reference semanticdb maven jdk 11 java/lang/Class# // ^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel# -// ^^^^^^^^^^^^^^^^^^ definition local 64 +// ^^^^^^^^^^^^^^^^^^ definition local 66 // documentation ```java\nClass[] targetModelClasses\n``` return new SwipeBuilder3<>(recyclerView, movementFlags, EpoxyModel.class, // ^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelper#SwipeBuilder3#``(). @@ -913,7 +917,7 @@ public SwipeBuilder3 withTargets( Arrays.asList(targetModelClasses)); // ^^^^^^ reference semanticdb maven jdk 11 java/util/Arrays# // ^^^^^^ reference semanticdb maven jdk 11 java/util/Arrays#asList(). -// ^^^^^^^^^^^^^^^^^^ reference local 64 +// ^^^^^^^^^^^^^^^^^^ reference local 66 } /** @@ -943,7 +947,7 @@ public static class SwipeBuilder3 { // ^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel# private final RecyclerView recyclerView; -// ^^^^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^^^^ reference semanticdb maven . . RecyclerView# // ^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelper#SwipeBuilder3#recyclerView. // documentation ```java\nprivate final unresolved_type recyclerView\n``` private final int movementFlags; @@ -965,34 +969,34 @@ private SwipeBuilder3( // ^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelper#SwipeBuilder3#``(). // documentation ```java\nprivate SwipeBuilder3(unresolved_type recyclerView, int movementFlags, Class targetModelClass, List> targetModelClasses)\n``` RecyclerView recyclerView, int movementFlags, -// ^^^^^^^^^^^^ reference semanticdb maven . . _root_/ -// ^^^^^^^^^^^^ definition local 65 +// ^^^^^^^^^^^^ reference semanticdb maven . . RecyclerView# +// ^^^^^^^^^^^^ definition local 67 // documentation ```java\nunresolved_type recyclerView\n``` -// ^^^^^^^^^^^^^ definition local 66 +// ^^^^^^^^^^^^^ definition local 68 // documentation ```java\nint movementFlags\n``` Class targetModelClass, List> targetModelClasses) { // ^^^^^ reference semanticdb maven jdk 11 java/lang/Class# // ^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelper#SwipeBuilder3#[U] -// ^^^^^^^^^^^^^^^^ definition local 67 +// ^^^^^^^^^^^^^^^^ definition local 69 // documentation ```java\nClass targetModelClass\n``` // ^^^^ reference semanticdb maven jdk 11 java/util/List# // ^^^^^ reference semanticdb maven jdk 11 java/lang/Class# // ^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel# -// ^^^^^^^^^^^^^^^^^^ definition local 68 +// ^^^^^^^^^^^^^^^^^^ definition local 70 // documentation ```java\nList> targetModelClasses\n``` this.recyclerView = recyclerView; // ^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelper#SwipeBuilder3#recyclerView. -// ^^^^^^^^^^^^ reference local 65 +// ^^^^^^^^^^^^ reference local 67 this.movementFlags = movementFlags; // ^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelper#SwipeBuilder3#movementFlags. -// ^^^^^^^^^^^^^ reference local 66 +// ^^^^^^^^^^^^^ reference local 68 this.targetModelClass = targetModelClass; // ^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelper#SwipeBuilder3#targetModelClass. -// ^^^^^^^^^^^^^^^^ reference local 67 +// ^^^^^^^^^^^^^^^^ reference local 69 this.targetModelClasses = targetModelClasses; // ^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelper#SwipeBuilder3#targetModelClasses. -// ^^^^^^^^^^^^^^^^^^ reference local 68 +// ^^^^^^^^^^^^^^^^^^ reference local 70 } /** @@ -1009,17 +1013,17 @@ private SwipeBuilder3( * events via setting null on {@link ItemTouchHelper#attachToRecyclerView(RecyclerView)} */ public ItemTouchHelper andCallbacks(final SwipeCallbacks callbacks) { -// ^^^^^^^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^^^^^^^ reference semanticdb maven . . ItemTouchHelper# // ^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelper#SwipeBuilder3#andCallbacks(). // documentation ```java\npublic unresolved_type andCallbacks(SwipeCallbacks callbacks)\n``` // documentation Set callbacks to handle swipe actions and lifecycle events.\n

\n You MUST implement {@link SwipeCallbacks#onSwipeCompleted(EpoxyModel, View, int, int)} to\n remove the swiped item from your data and request a model build.\n

\n You can optionally implement the other callbacks to modify the view as it is being swiped.\n\n @return An {@link ItemTouchHelper} instance that has been initialized and attached to a\n recyclerview. The touch helper has already been fully set up and can be ignored, but you may\n want to hold a reference to it if you need to later detach the recyclerview to disable touch\n events via setting null on {@link ItemTouchHelper#attachToRecyclerView(RecyclerView)}\n // ^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelper#SwipeCallbacks# // ^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelper#SwipeBuilder3#[U] -// ^^^^^^^^^ definition local 69 +// ^^^^^^^^^ definition local 71 // documentation ```java\nfinal SwipeCallbacks callbacks\n``` ItemTouchHelper itemTouchHelper = -// ^^^^^^^^^^^^^^^ reference semanticdb maven . . _root_/ -// ^^^^^^^^^^^^^^^ definition local 70 +// ^^^^^^^^^^^^^^^ reference semanticdb maven . . ItemTouchHelper# +// ^^^^^^^^^^^^^^^ definition local 72 // documentation ```java\nunresolved_type itemTouchHelper\n``` new ItemTouchHelper(new EpoxyModelTouchCallback(null, targetModelClass) { // ^^^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModelTouchCallback# @@ -1029,13 +1033,13 @@ public ItemTouchHelper andCallbacks(final SwipeCallbacks callbacks) { @Override // ^^^^^^^^ reference semanticdb maven jdk 11 java/lang/Override# public int getMovementFlagsForModel(U model, int adapterPosition) { -// ^^^^^^^^^^^^^^^^^^^^^^^^ definition local 73 +// ^^^^^^^^^^^^^^^^^^^^^^^^ definition local 77 // documentation ```java\n@Override\npublic int getMovementFlagsForModel(U model, int adapterPosition)\n``` // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/BaseEpoxyTouchCallback#getMovementFlagsForModel(). // ^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelper#SwipeBuilder3#[U] -// ^^^^^ definition local 80 +// ^^^^^ definition local 78 // documentation ```java\nU model\n``` -// ^^^^^^^^^^^^^^^ definition local 81 +// ^^^^^^^^^^^^^^^ definition local 79 // documentation ```java\nint adapterPosition\n``` return movementFlags; // ^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelper#SwipeBuilder3#movementFlags. @@ -1044,53 +1048,53 @@ public int getMovementFlagsForModel(U model, int adapterPosition) { @Override // ^^^^^^^^ reference semanticdb maven jdk 11 java/lang/Override# protected boolean isTouchableModel(EpoxyModel model) { -// ^^^^^^^^^^^^^^^^ definition local 74 +// ^^^^^^^^^^^^^^^^ definition local 80 // documentation ```java\n@Override\nprotected boolean isTouchableModel(EpoxyModel model)\n``` // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxyModelTouchCallback#isTouchableModel(). // ^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel# -// ^^^^^ definition local 82 +// ^^^^^ definition local 81 // documentation ```java\nEpoxyModel model\n``` boolean isTargetType = targetModelClasses.size() == 1 -// ^^^^^^^^^^^^ definition local 83 +// ^^^^^^^^^^^^ definition local 82 // documentation ```java\nboolean isTargetType\n``` // ^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelper#SwipeBuilder3#targetModelClasses. // ^^^^ reference semanticdb maven jdk 11 java/util/List#size(). ? super.isTouchableModel(model) -// ^^^^^ reference local 84 +// ^^^^^ reference local 83 // ^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModelTouchCallback#isTouchableModel(). -// ^^^^^ reference local 82 +// ^^^^^ reference local 81 : targetModelClasses.contains(model.getClass()); // ^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelper#SwipeBuilder3#targetModelClasses. // ^^^^^^^^ reference semanticdb maven jdk 11 java/util/List#contains(). -// ^^^^^ reference local 82 +// ^^^^^ reference local 81 // ^^^^^^^^ reference semanticdb maven jdk 11 java/lang/Object#getClass(). //noinspection unchecked return isTargetType && callbacks.isSwipeEnabledForModel((U) model); -// ^^^^^^^^^^^^ reference local 83 -// ^^^^^^^^^ reference local 69 +// ^^^^^^^^^^^^ reference local 82 +// ^^^^^^^^^ reference local 71 // ^^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelper#SwipeCallbacks#isSwipeEnabledForModel(). // ^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelper#SwipeBuilder3#[U] -// ^^^^^ reference local 82 +// ^^^^^ reference local 81 } @Override // ^^^^^^^^ reference semanticdb maven jdk 11 java/lang/Override# public void onSwipeStarted(U model, View itemView, int adapterPosition) { -// ^^^^^^^^^^^^^^ definition local 75 +// ^^^^^^^^^^^^^^ definition local 84 // documentation ```java\n@Override\npublic void onSwipeStarted(U model, unresolved_type itemView, int adapterPosition)\n``` // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxyModelTouchCallback#onSwipeStarted(). // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxySwipeCallback#onSwipeStarted(). // ^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelper#SwipeBuilder3#[U] // ^^^^^ definition local 85 // documentation ```java\nU model\n``` -// ^^^^ reference semanticdb maven . . _root_/ +// ^^^^ reference semanticdb maven . . View# // ^^^^^^^^ definition local 86 // documentation ```java\nunresolved_type itemView\n``` // ^^^^^^^^^^^^^^^ definition local 87 // documentation ```java\nint adapterPosition\n``` callbacks.onSwipeStarted(model, itemView, adapterPosition); -// ^^^^^^^^^ reference local 69 +// ^^^^^^^^^ reference local 71 // ^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelper#SwipeCallbacks#onSwipeStarted(). // ^^^^^ reference local 85 // ^^^^^^^^ reference local 86 @@ -1100,81 +1104,81 @@ public void onSwipeStarted(U model, View itemView, int adapterPosition) { @Override // ^^^^^^^^ reference semanticdb maven jdk 11 java/lang/Override# public void onSwipeProgressChanged(U model, View itemView, float swipeProgress, -// ^^^^^^^^^^^^^^^^^^^^^^ definition local 76 +// ^^^^^^^^^^^^^^^^^^^^^^ definition local 88 // documentation ```java\n@Override\npublic void onSwipeProgressChanged(U model, unresolved_type itemView, float swipeProgress, unresolved_type canvas)\n``` // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxyModelTouchCallback#onSwipeProgressChanged(). // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxySwipeCallback#onSwipeProgressChanged(). // ^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelper#SwipeBuilder3#[U] -// ^^^^^ definition local 88 +// ^^^^^ definition local 89 // documentation ```java\nU model\n``` -// ^^^^ reference semanticdb maven . . _root_/ -// ^^^^^^^^ definition local 89 +// ^^^^ reference semanticdb maven . . View# +// ^^^^^^^^ definition local 90 // documentation ```java\nunresolved_type itemView\n``` -// ^^^^^^^^^^^^^ definition local 90 +// ^^^^^^^^^^^^^ definition local 91 // documentation ```java\nfloat swipeProgress\n``` Canvas canvas) { -// ^^^^^^ reference semanticdb maven . . _root_/ -// ^^^^^^ definition local 91 +// ^^^^^^ reference semanticdb maven . . Canvas# +// ^^^^^^ definition local 92 // documentation ```java\nunresolved_type canvas\n``` callbacks.onSwipeProgressChanged(model, itemView, swipeProgress, canvas); -// ^^^^^^^^^ reference local 69 +// ^^^^^^^^^ reference local 71 // ^^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelper#SwipeCallbacks#onSwipeProgressChanged(). -// ^^^^^ reference local 88 -// ^^^^^^^^ reference local 89 -// ^^^^^^^^^^^^^ reference local 90 -// ^^^^^^ reference local 91 +// ^^^^^ reference local 89 +// ^^^^^^^^ reference local 90 +// ^^^^^^^^^^^^^ reference local 91 +// ^^^^^^ reference local 92 } @Override // ^^^^^^^^ reference semanticdb maven jdk 11 java/lang/Override# public void onSwipeCompleted(U model, View itemView, int position, int direction) { -// ^^^^^^^^^^^^^^^^ definition local 77 +// ^^^^^^^^^^^^^^^^ definition local 93 // documentation ```java\n@Override\npublic void onSwipeCompleted(U model, unresolved_type itemView, int position, int direction)\n``` // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxyModelTouchCallback#onSwipeCompleted(). // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxySwipeCallback#onSwipeCompleted(). // ^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelper#SwipeBuilder3#[U] -// ^^^^^ definition local 92 +// ^^^^^ definition local 94 // documentation ```java\nU model\n``` -// ^^^^ reference semanticdb maven . . _root_/ -// ^^^^^^^^ definition local 93 +// ^^^^ reference semanticdb maven . . View# +// ^^^^^^^^ definition local 95 // documentation ```java\nunresolved_type itemView\n``` -// ^^^^^^^^ definition local 94 +// ^^^^^^^^ definition local 96 // documentation ```java\nint position\n``` -// ^^^^^^^^^ definition local 95 +// ^^^^^^^^^ definition local 97 // documentation ```java\nint direction\n``` callbacks.onSwipeCompleted(model, itemView, position, direction); -// ^^^^^^^^^ reference local 69 +// ^^^^^^^^^ reference local 71 // ^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelper#SwipeCallbacks#onSwipeCompleted(). -// ^^^^^ reference local 92 -// ^^^^^^^^ reference local 93 -// ^^^^^^^^ reference local 94 -// ^^^^^^^^^ reference local 95 +// ^^^^^ reference local 94 +// ^^^^^^^^ reference local 95 +// ^^^^^^^^ reference local 96 +// ^^^^^^^^^ reference local 97 } @Override // ^^^^^^^^ reference semanticdb maven jdk 11 java/lang/Override# public void onSwipeReleased(U model, View itemView) { -// ^^^^^^^^^^^^^^^ definition local 78 +// ^^^^^^^^^^^^^^^ definition local 98 // documentation ```java\n@Override\npublic void onSwipeReleased(U model, unresolved_type itemView)\n``` // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxyModelTouchCallback#onSwipeReleased(). // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxySwipeCallback#onSwipeReleased(). // ^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelper#SwipeBuilder3#[U] -// ^^^^^ definition local 96 +// ^^^^^ definition local 99 // documentation ```java\nU model\n``` -// ^^^^ reference semanticdb maven . . _root_/ -// ^^^^^^^^ definition local 97 +// ^^^^ reference semanticdb maven . . View# +// ^^^^^^^^ definition local 100 // documentation ```java\nunresolved_type itemView\n``` callbacks.onSwipeReleased(model, itemView); -// ^^^^^^^^^ reference local 69 +// ^^^^^^^^^ reference local 71 // ^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelper#SwipeCallbacks#onSwipeReleased(). -// ^^^^^ reference local 96 -// ^^^^^^^^ reference local 97 +// ^^^^^ reference local 99 +// ^^^^^^^^ reference local 100 } @Override // ^^^^^^^^ reference semanticdb maven jdk 11 java/lang/Override# public void clearView(U model, View itemView) { -// ^^^^^^^^^ definition local 79 +// ^^^^^^^^^ definition local 101 // documentation ```java\n@Override\npublic void clearView(U model, unresolved_type itemView)\n``` // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/BaseEpoxyTouchCallback#clearView(). // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxyModelTouchCallback#clearView(). @@ -1182,26 +1186,26 @@ public void clearView(U model, View itemView) { // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelperCallback#clearView(). // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelperCallback#clearView(+1). // ^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelper#SwipeBuilder3#[U] -// ^^^^^ definition local 98 +// ^^^^^ definition local 102 // documentation ```java\nU model\n``` -// ^^^^ reference semanticdb maven . . _root_/ -// ^^^^^^^^ definition local 99 +// ^^^^ reference semanticdb maven . . View# +// ^^^^^^^^ definition local 103 // documentation ```java\nunresolved_type itemView\n``` callbacks.clearView(model, itemView); -// ^^^^^^^^^ reference local 69 +// ^^^^^^^^^ reference local 71 // ^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelper#SwipeCallbacks#clearView(). -// ^^^^^ reference local 98 -// ^^^^^^^^ reference local 99 +// ^^^^^ reference local 102 +// ^^^^^^^^ reference local 103 } }); itemTouchHelper.attachToRecyclerView(recyclerView); -// ^^^^^^^^^^^^^^^ reference local 70 -// ^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . attachToRecyclerView# +// ^^^^^^^^^^^^^^^ reference local 72 +// ^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . ItemTouchHelper#attachToRecyclerView# // ^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelper#SwipeBuilder3#recyclerView. return itemTouchHelper; -// ^^^^^^^^^^^^^^^ reference local 70 +// ^^^^^^^^^^^^^^^ reference local 72 } } @@ -1226,12 +1230,12 @@ public void onSwipeStarted(T model, View itemView, int adapterPosition) { // documentation ```java\n@Override\npublic void onSwipeStarted(T model, unresolved_type itemView, int adapterPosition)\n``` // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxySwipeCallback#onSwipeStarted(). // ^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelper#SwipeCallbacks#[T] -// ^^^^^ definition local 100 +// ^^^^^ definition local 104 // documentation ```java\nT model\n``` -// ^^^^ reference semanticdb maven . . _root_/ -// ^^^^^^^^ definition local 101 +// ^^^^ reference semanticdb maven . . View# +// ^^^^^^^^ definition local 105 // documentation ```java\nunresolved_type itemView\n``` -// ^^^^^^^^^^^^^^^ definition local 102 +// ^^^^^^^^^^^^^^^ definition local 106 // documentation ```java\nint adapterPosition\n``` } @@ -1243,16 +1247,16 @@ public void onSwipeProgressChanged(T model, View itemView, float swipeProgress, // documentation ```java\n@Override\npublic void onSwipeProgressChanged(T model, unresolved_type itemView, float swipeProgress, unresolved_type canvas)\n``` // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxySwipeCallback#onSwipeProgressChanged(). // ^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelper#SwipeCallbacks#[T] -// ^^^^^ definition local 103 +// ^^^^^ definition local 107 // documentation ```java\nT model\n``` -// ^^^^ reference semanticdb maven . . _root_/ -// ^^^^^^^^ definition local 104 +// ^^^^ reference semanticdb maven . . View# +// ^^^^^^^^ definition local 108 // documentation ```java\nunresolved_type itemView\n``` -// ^^^^^^^^^^^^^ definition local 105 +// ^^^^^^^^^^^^^ definition local 109 // documentation ```java\nfloat swipeProgress\n``` Canvas canvas) { -// ^^^^^^ reference semanticdb maven . . _root_/ -// ^^^^^^ definition local 106 +// ^^^^^^ reference semanticdb maven . . Canvas# +// ^^^^^^ definition local 110 // documentation ```java\nunresolved_type canvas\n``` } @@ -1264,14 +1268,14 @@ public void onSwipeProgressChanged(T model, View itemView, float swipeProgress, // documentation ```java\n@Override\npublic abstract void onSwipeCompleted(T model, unresolved_type itemView, int position, int direction)\n``` // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxySwipeCallback#onSwipeCompleted(). // ^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelper#SwipeCallbacks#[T] -// ^^^^^ definition local 107 +// ^^^^^ definition local 111 // documentation ```java\nT model\n``` -// ^^^^ reference semanticdb maven . . _root_/ -// ^^^^^^^^ definition local 108 +// ^^^^ reference semanticdb maven . . View# +// ^^^^^^^^ definition local 112 // documentation ```java\nunresolved_type itemView\n``` -// ^^^^^^^^ definition local 109 +// ^^^^^^^^ definition local 113 // documentation ```java\nint position\n``` -// ^^^^^^^^^ definition local 110 +// ^^^^^^^^^ definition local 114 // documentation ```java\nint direction\n``` @Override @@ -1281,10 +1285,10 @@ public void onSwipeReleased(T model, View itemView) { // documentation ```java\n@Override\npublic void onSwipeReleased(T model, unresolved_type itemView)\n``` // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxySwipeCallback#onSwipeReleased(). // ^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelper#SwipeCallbacks#[T] -// ^^^^^ definition local 111 +// ^^^^^ definition local 115 // documentation ```java\nT model\n``` -// ^^^^ reference semanticdb maven . . _root_/ -// ^^^^^^^^ definition local 112 +// ^^^^ reference semanticdb maven . . View# +// ^^^^^^^^ definition local 116 // documentation ```java\nunresolved_type itemView\n``` } @@ -1296,10 +1300,10 @@ public void clearView(T model, View itemView) { // documentation ```java\n@Override\npublic void clearView(T model, unresolved_type itemView)\n``` // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/BaseEpoxyTouchCallback#clearView(). // ^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelper#SwipeCallbacks#[T] -// ^^^^^ definition local 113 +// ^^^^^ definition local 117 // documentation ```java\nT model\n``` -// ^^^^ reference semanticdb maven . . _root_/ -// ^^^^^^^^ definition local 114 +// ^^^^ reference semanticdb maven . . View# +// ^^^^^^^^ definition local 118 // documentation ```java\nunresolved_type itemView\n``` } @@ -1314,7 +1318,7 @@ public boolean isSwipeEnabledForModel(T model) { // documentation ```java\npublic boolean isSwipeEnabledForModel(T model)\n``` // documentation Whether the given model should be swipable.\n

\n True by default. You may override this to toggle swipabaility for a model.\n // ^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelper#SwipeCallbacks#[T] -// ^^^^^ definition local 115 +// ^^^^^ definition local 119 // documentation ```java\nT model\n``` return true; } @@ -1326,9 +1330,9 @@ public final int getMovementFlagsForModel(T model, int adapterPosition) { // documentation ```java\n@Override\npublic final int getMovementFlagsForModel(T model, int adapterPosition)\n``` // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/BaseEpoxyTouchCallback#getMovementFlagsForModel(). // ^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelper#SwipeCallbacks#[T] -// ^^^^^ definition local 116 +// ^^^^^ definition local 120 // documentation ```java\nT model\n``` -// ^^^^^^^^^^^^^^^ definition local 117 +// ^^^^^^^^^^^^^^^ definition local 121 // documentation ```java\nint adapterPosition\n``` // Not used return 0; diff --git a/tests/snapshots/src/main/generated/com/airbnb/epoxy/EpoxyTouchHelperCallback.java b/tests/snapshots/src/main/generated/com/airbnb/epoxy/EpoxyTouchHelperCallback.java index 94ec9715..b4fda970 100644 --- a/tests/snapshots/src/main/generated/com/airbnb/epoxy/EpoxyTouchHelperCallback.java +++ b/tests/snapshots/src/main/generated/com/airbnb/epoxy/EpoxyTouchHelperCallback.java @@ -47,10 +47,10 @@ public final int getMovementFlags(RecyclerView recyclerView, ViewHolder viewHold // ^^^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelperCallback#getMovementFlags(). // documentation ```java\n@Override\npublic final int getMovementFlags(unresolved_type recyclerView, unresolved_type viewHolder)\n``` // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxyModelTouchCallback#getMovementFlags(). -// ^^^^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^^^^ reference semanticdb maven . . RecyclerView# // ^^^^^^^^^^^^ definition local 0 // documentation ```java\nunresolved_type recyclerView\n``` -// ^^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^^ reference semanticdb maven . . ViewHolder# // ^^^^^^^^^^ definition local 1 // documentation ```java\nunresolved_type viewHolder\n``` return getMovementFlags(recyclerView, (EpoxyViewHolder) viewHolder); @@ -68,7 +68,7 @@ public final int getMovementFlags(RecyclerView recyclerView, ViewHolder viewHold // documentation ```java\nprotected abstract int getMovementFlags(unresolved_type recyclerView, EpoxyViewHolder viewHolder)\n``` // documentation @see #getMovementFlags(RecyclerView, ViewHolder)\n // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxyModelTouchCallback#getMovementFlags(). -// ^^^^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^^^^ reference semanticdb maven . . RecyclerView# // ^^^^^^^^^^^^ definition local 2 // documentation ```java\nunresolved_type recyclerView\n``` // ^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyViewHolder# @@ -81,13 +81,13 @@ public final boolean onMove(RecyclerView recyclerView, ViewHolder viewHolder, Vi // ^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelperCallback#onMove(). // documentation ```java\n@Override\npublic final boolean onMove(unresolved_type recyclerView, unresolved_type viewHolder, unresolved_type target)\n``` // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxyModelTouchCallback#onMove(). -// ^^^^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^^^^ reference semanticdb maven . . RecyclerView# // ^^^^^^^^^^^^ definition local 4 // documentation ```java\nunresolved_type recyclerView\n``` -// ^^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^^ reference semanticdb maven . . ViewHolder# // ^^^^^^^^^^ definition local 5 // documentation ```java\nunresolved_type viewHolder\n``` -// ^^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^^ reference semanticdb maven . . ViewHolder# // ^^^^^^ definition local 6 // documentation ```java\nunresolved_type target\n``` return onMove(recyclerView, (EpoxyViewHolder) viewHolder, (EpoxyViewHolder) target); @@ -107,7 +107,7 @@ protected abstract boolean onMove(RecyclerView recyclerView, EpoxyViewHolder vie // documentation ```java\nprotected abstract boolean onMove(unresolved_type recyclerView, EpoxyViewHolder viewHolder, EpoxyViewHolder target)\n``` // documentation @see #onMove(RecyclerView, ViewHolder, ViewHolder)\n // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxyModelTouchCallback#onMove(). -// ^^^^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^^^^ reference semanticdb maven . . RecyclerView# // ^^^^^^^^^^^^ definition local 7 // documentation ```java\nunresolved_type recyclerView\n``` // ^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyViewHolder# @@ -124,7 +124,7 @@ public final void onSwiped(ViewHolder viewHolder, int direction) { // ^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelperCallback#onSwiped(). // documentation ```java\n@Override\npublic final void onSwiped(unresolved_type viewHolder, int direction)\n``` // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxyModelTouchCallback#onSwiped(). -// ^^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^^ reference semanticdb maven . . ViewHolder# // ^^^^^^^^^^ definition local 10 // documentation ```java\nunresolved_type viewHolder\n``` // ^^^^^^^^^ definition local 11 @@ -155,14 +155,14 @@ public final boolean canDropOver(RecyclerView recyclerView, ViewHolder current, // ^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelperCallback#canDropOver(). // documentation ```java\n@Override\npublic final boolean canDropOver(unresolved_type recyclerView, unresolved_type current, unresolved_type target)\n``` // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxyModelTouchCallback#canDropOver(). -// ^^^^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^^^^ reference semanticdb maven . . RecyclerView# // ^^^^^^^^^^^^ definition local 14 // documentation ```java\nunresolved_type recyclerView\n``` -// ^^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^^ reference semanticdb maven . . ViewHolder# // ^^^^^^^ definition local 15 // documentation ```java\nunresolved_type current\n``` ViewHolder target) { -// ^^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^^ reference semanticdb maven . . ViewHolder# // ^^^^^^ definition local 16 // documentation ```java\nunresolved_type target\n``` return canDropOver(recyclerView, (EpoxyViewHolder) current, (EpoxyViewHolder) target); @@ -182,7 +182,7 @@ protected boolean canDropOver(RecyclerView recyclerView, EpoxyViewHolder current // documentation ```java\nprotected boolean canDropOver(unresolved_type recyclerView, EpoxyViewHolder current, EpoxyViewHolder target)\n``` // documentation @see #canDropOver(RecyclerView, ViewHolder, ViewHolder)\n // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxyModelTouchCallback#canDropOver(). -// ^^^^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^^^^ reference semanticdb maven . . RecyclerView# // ^^^^^^^^^^^^ definition local 17 // documentation ```java\nunresolved_type recyclerView\n``` // ^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyViewHolder# @@ -193,8 +193,8 @@ protected boolean canDropOver(RecyclerView recyclerView, EpoxyViewHolder current // ^^^^^^ definition local 19 // documentation ```java\nEpoxyViewHolder target\n``` return super.canDropOver(recyclerView, current, target); -// ^^^^^ reference semanticdb maven . . _root_/ -// ^^^^^^^^^^^ reference semanticdb maven . . canDropOver# +// ^^^^^ reference semanticdb maven . . super# +// ^^^^^^^^^^^ reference semanticdb maven . . super#canDropOver# // ^^^^^^^^^^^^ reference local 17 // ^^^^^^^ reference local 18 // ^^^^^^ reference local 19 @@ -205,7 +205,7 @@ protected boolean canDropOver(RecyclerView recyclerView, EpoxyViewHolder current public final float getSwipeThreshold(ViewHolder viewHolder) { // ^^^^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelperCallback#getSwipeThreshold(). // documentation ```java\n@Override\npublic final float getSwipeThreshold(unresolved_type viewHolder)\n``` -// ^^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^^ reference semanticdb maven . . ViewHolder# // ^^^^^^^^^^ definition local 20 // documentation ```java\nunresolved_type viewHolder\n``` return getSwipeThreshold((EpoxyViewHolder) viewHolder); @@ -225,8 +225,8 @@ protected float getSwipeThreshold(EpoxyViewHolder viewHolder) { // ^^^^^^^^^^ definition local 21 // documentation ```java\nEpoxyViewHolder viewHolder\n``` return super.getSwipeThreshold(viewHolder); -// ^^^^^ reference semanticdb maven . . _root_/ -// ^^^^^^^^^^^^^^^^^ reference semanticdb maven . . getSwipeThreshold# +// ^^^^^ reference semanticdb maven . . super# +// ^^^^^^^^^^^^^^^^^ reference semanticdb maven . . super#getSwipeThreshold# // ^^^^^^^^^^ reference local 21 } @@ -235,7 +235,7 @@ protected float getSwipeThreshold(EpoxyViewHolder viewHolder) { public final float getMoveThreshold(ViewHolder viewHolder) { // ^^^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelperCallback#getMoveThreshold(). // documentation ```java\n@Override\npublic final float getMoveThreshold(unresolved_type viewHolder)\n``` -// ^^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^^ reference semanticdb maven . . ViewHolder# // ^^^^^^^^^^ definition local 22 // documentation ```java\nunresolved_type viewHolder\n``` return getMoveThreshold((EpoxyViewHolder) viewHolder); @@ -255,18 +255,18 @@ protected float getMoveThreshold(EpoxyViewHolder viewHolder) { // ^^^^^^^^^^ definition local 23 // documentation ```java\nEpoxyViewHolder viewHolder\n``` return super.getMoveThreshold(viewHolder); -// ^^^^^ reference semanticdb maven . . _root_/ -// ^^^^^^^^^^^^^^^^ reference semanticdb maven . . getMoveThreshold# +// ^^^^^ reference semanticdb maven . . super# +// ^^^^^^^^^^^^^^^^ reference semanticdb maven . . super#getMoveThreshold# // ^^^^^^^^^^ reference local 23 } @Override // ^^^^^^^^ reference semanticdb maven jdk 11 java/lang/Override# public final ViewHolder chooseDropTarget(ViewHolder selected, List dropTargets, int curX, -// ^^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^^ reference semanticdb maven . . ViewHolder# // ^^^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelperCallback#chooseDropTarget(). // documentation ```java\n@Override\npublic final unresolved_type chooseDropTarget(unresolved_type selected, List dropTargets, int curX, int curY)\n``` -// ^^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^^ reference semanticdb maven . . ViewHolder# // ^^^^^^^^ definition local 24 // documentation ```java\nunresolved_type selected\n``` // ^^^^ reference semanticdb maven jdk 11 java/util/List# @@ -314,8 +314,8 @@ protected EpoxyViewHolder chooseDropTarget(EpoxyViewHolder selected, //noinspection unchecked return (EpoxyViewHolder) super.chooseDropTarget(selected, (List) dropTargets, curX, curY); // ^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyViewHolder# -// ^^^^^ reference semanticdb maven . . _root_/ -// ^^^^^^^^^^^^^^^^ reference semanticdb maven . . chooseDropTarget# +// ^^^^^ reference semanticdb maven . . super# +// ^^^^^^^^^^^^^^^^ reference semanticdb maven . . super#chooseDropTarget# // ^^^^^^^^ reference local 28 // ^^^^ reference semanticdb maven jdk 11 java/util/List# // ^^^^^^^^^^^ reference local 29 @@ -329,7 +329,7 @@ public final void onSelectedChanged(ViewHolder viewHolder, int actionState) { // ^^^^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelperCallback#onSelectedChanged(). // documentation ```java\n@Override\npublic final void onSelectedChanged(unresolved_type viewHolder, int actionState)\n``` // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxyModelTouchCallback#onSelectedChanged(). -// ^^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^^ reference semanticdb maven . . ViewHolder# // ^^^^^^^^^^ definition local 32 // documentation ```java\nunresolved_type viewHolder\n``` // ^^^^^^^^^^^ definition local 33 @@ -354,8 +354,8 @@ protected void onSelectedChanged(EpoxyViewHolder viewHolder, int actionState) { // ^^^^^^^^^^^ definition local 35 // documentation ```java\nint actionState\n``` super.onSelectedChanged(viewHolder, actionState); -// ^^^^^ reference semanticdb maven . . _root_/ -// ^^^^^^^^^^^^^^^^^ reference semanticdb maven . . onSelectedChanged# +// ^^^^^ reference semanticdb maven . . super# +// ^^^^^^^^^^^^^^^^^ reference semanticdb maven . . super#onSelectedChanged# // ^^^^^^^^^^ reference local 34 // ^^^^^^^^^^^ reference local 35 } @@ -365,16 +365,16 @@ protected void onSelectedChanged(EpoxyViewHolder viewHolder, int actionState) { public final void onMoved(RecyclerView recyclerView, ViewHolder viewHolder, int fromPos, // ^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelperCallback#onMoved(). // documentation ```java\n@Override\npublic final void onMoved(unresolved_type recyclerView, unresolved_type viewHolder, int fromPos, unresolved_type target, int toPos, int x, int y)\n``` -// ^^^^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^^^^ reference semanticdb maven . . RecyclerView# // ^^^^^^^^^^^^ definition local 36 // documentation ```java\nunresolved_type recyclerView\n``` -// ^^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^^ reference semanticdb maven . . ViewHolder# // ^^^^^^^^^^ definition local 37 // documentation ```java\nunresolved_type viewHolder\n``` // ^^^^^^^ definition local 38 // documentation ```java\nint fromPos\n``` ViewHolder target, int toPos, int x, int y) { -// ^^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^^ reference semanticdb maven . . ViewHolder# // ^^^^^^ definition local 39 // documentation ```java\nunresolved_type target\n``` // ^^^^^ definition local 40 @@ -405,7 +405,7 @@ protected void onMoved(RecyclerView recyclerView, EpoxyViewHolder viewHolder, in // ^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelperCallback#onMoved(+1). // documentation ```java\nprotected void onMoved(unresolved_type recyclerView, EpoxyViewHolder viewHolder, int fromPos, EpoxyViewHolder target, int toPos, int x, int y)\n``` // documentation @see #onMoved(RecyclerView, ViewHolder, int, ViewHolder, int, int, int)\n -// ^^^^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^^^^ reference semanticdb maven . . RecyclerView# // ^^^^^^^^^^^^ definition local 43 // documentation ```java\nunresolved_type recyclerView\n``` // ^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyViewHolder# @@ -424,8 +424,8 @@ protected void onMoved(RecyclerView recyclerView, EpoxyViewHolder viewHolder, in // ^ definition local 49 // documentation ```java\nint y\n``` super.onMoved(recyclerView, viewHolder, fromPos, target, toPos, x, y); -// ^^^^^ reference semanticdb maven . . _root_/ -// ^^^^^^^ reference semanticdb maven . . onMoved# +// ^^^^^ reference semanticdb maven . . super# +// ^^^^^^^ reference semanticdb maven . . super#onMoved# // ^^^^^^^^^^^^ reference local 43 // ^^^^^^^^^^ reference local 44 // ^^^^^^^ reference local 45 @@ -442,10 +442,10 @@ public final void clearView(RecyclerView recyclerView, ViewHolder viewHolder) { // documentation ```java\n@Override\npublic final void clearView(unresolved_type recyclerView, unresolved_type viewHolder)\n``` // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxyModelTouchCallback#clearView(). // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxyModelTouchCallback#clearView(+1). -// ^^^^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^^^^ reference semanticdb maven . . RecyclerView# // ^^^^^^^^^^^^ definition local 50 // documentation ```java\nunresolved_type recyclerView\n``` -// ^^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^^ reference semanticdb maven . . ViewHolder# // ^^^^^^^^^^ definition local 51 // documentation ```java\nunresolved_type viewHolder\n``` clearView(recyclerView, (EpoxyViewHolder) viewHolder); @@ -464,15 +464,15 @@ protected void clearView(RecyclerView recyclerView, EpoxyViewHolder viewHolder) // documentation @see #clearView(RecyclerView, ViewHolder)\n // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxyModelTouchCallback#clearView(). // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxyModelTouchCallback#clearView(+1). -// ^^^^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^^^^ reference semanticdb maven . . RecyclerView# // ^^^^^^^^^^^^ definition local 52 // documentation ```java\nunresolved_type recyclerView\n``` // ^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyViewHolder# // ^^^^^^^^^^ definition local 53 // documentation ```java\nEpoxyViewHolder viewHolder\n``` super.clearView(recyclerView, viewHolder); -// ^^^^^ reference semanticdb maven . . _root_/ -// ^^^^^^^^^ reference semanticdb maven . . clearView# +// ^^^^^ reference semanticdb maven . . super# +// ^^^^^^^^^ reference semanticdb maven . . super#clearView# // ^^^^^^^^^^^^ reference local 52 // ^^^^^^^^^^ reference local 53 } @@ -483,13 +483,13 @@ public final void onChildDraw(Canvas c, RecyclerView recyclerView, ViewHolder vi // ^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelperCallback#onChildDraw(). // documentation ```java\n@Override\npublic final void onChildDraw(unresolved_type c, unresolved_type recyclerView, unresolved_type viewHolder, float dX, float dY, int actionState, boolean isCurrentlyActive)\n``` // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxyModelTouchCallback#onChildDraw(). -// ^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^ reference semanticdb maven . . Canvas# // ^ definition local 54 // documentation ```java\nunresolved_type c\n``` -// ^^^^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^^^^ reference semanticdb maven . . RecyclerView# // ^^^^^^^^^^^^ definition local 55 // documentation ```java\nunresolved_type recyclerView\n``` -// ^^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^^ reference semanticdb maven . . ViewHolder# // ^^^^^^^^^^ definition local 56 // documentation ```java\nunresolved_type viewHolder\n``` float dX, @@ -524,10 +524,10 @@ protected void onChildDraw(Canvas c, RecyclerView recyclerView, EpoxyViewHolder // documentation ```java\nprotected void onChildDraw(unresolved_type c, unresolved_type recyclerView, EpoxyViewHolder viewHolder, float dX, float dY, int actionState, boolean isCurrentlyActive)\n``` // documentation @see #onChildDraw(Canvas, RecyclerView, ViewHolder, float, float, int, boolean)\n // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxyModelTouchCallback#onChildDraw(). -// ^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^ reference semanticdb maven . . Canvas# // ^ definition local 61 // documentation ```java\nunresolved_type c\n``` -// ^^^^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^^^^ reference semanticdb maven . . RecyclerView# // ^^^^^^^^^^^^ definition local 62 // documentation ```java\nunresolved_type recyclerView\n``` // ^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyViewHolder# @@ -543,8 +543,8 @@ protected void onChildDraw(Canvas c, RecyclerView recyclerView, EpoxyViewHolder // ^^^^^^^^^^^^^^^^^ definition local 67 // documentation ```java\nboolean isCurrentlyActive\n``` super.onChildDraw(c, recyclerView, viewHolder, dX, dY, actionState, isCurrentlyActive); -// ^^^^^ reference semanticdb maven . . _root_/ -// ^^^^^^^^^^^ reference semanticdb maven . . onChildDraw# +// ^^^^^ reference semanticdb maven . . super# +// ^^^^^^^^^^^ reference semanticdb maven . . super#onChildDraw# // ^ reference local 61 // ^^^^^^^^^^^^ reference local 62 // ^^^^^^^^^^ reference local 63 @@ -559,13 +559,13 @@ protected void onChildDraw(Canvas c, RecyclerView recyclerView, EpoxyViewHolder public final void onChildDrawOver(Canvas c, RecyclerView recyclerView, ViewHolder viewHolder, // ^^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelperCallback#onChildDrawOver(). // documentation ```java\n@Override\npublic final void onChildDrawOver(unresolved_type c, unresolved_type recyclerView, unresolved_type viewHolder, float dX, float dY, int actionState, boolean isCurrentlyActive)\n``` -// ^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^ reference semanticdb maven . . Canvas# // ^ definition local 68 // documentation ```java\nunresolved_type c\n``` -// ^^^^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^^^^ reference semanticdb maven . . RecyclerView# // ^^^^^^^^^^^^ definition local 69 // documentation ```java\nunresolved_type recyclerView\n``` -// ^^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^^ reference semanticdb maven . . ViewHolder# // ^^^^^^^^^^ definition local 70 // documentation ```java\nunresolved_type viewHolder\n``` float dX, @@ -599,10 +599,10 @@ protected void onChildDrawOver(Canvas c, RecyclerView recyclerView, EpoxyViewHol // ^^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/EpoxyTouchHelperCallback#onChildDrawOver(+1). // documentation ```java\nprotected void onChildDrawOver(unresolved_type c, unresolved_type recyclerView, EpoxyViewHolder viewHolder, float dX, float dY, int actionState, boolean isCurrentlyActive)\n``` // documentation @see #onChildDrawOver(Canvas, RecyclerView, ViewHolder, float, float, int, boolean)\n -// ^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^ reference semanticdb maven . . Canvas# // ^ definition local 75 // documentation ```java\nunresolved_type c\n``` -// ^^^^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^^^^ reference semanticdb maven . . RecyclerView# // ^^^^^^^^^^^^ definition local 76 // documentation ```java\nunresolved_type recyclerView\n``` // ^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyViewHolder# @@ -619,8 +619,8 @@ protected void onChildDrawOver(Canvas c, RecyclerView recyclerView, EpoxyViewHol // documentation ```java\nboolean isCurrentlyActive\n``` super.onChildDrawOver(c, recyclerView, viewHolder, dX, dY, actionState, isCurrentlyActive); -// ^^^^^ reference semanticdb maven . . _root_/ -// ^^^^^^^^^^^^^^^ reference semanticdb maven . . onChildDrawOver# +// ^^^^^ reference semanticdb maven . . super# +// ^^^^^^^^^^^^^^^ reference semanticdb maven . . super#onChildDrawOver# // ^ reference local 75 // ^^^^^^^^^^^^ reference local 76 // ^^^^^^^^^^ reference local 77 diff --git a/tests/snapshots/src/main/generated/com/airbnb/epoxy/EpoxyViewHolder.java b/tests/snapshots/src/main/generated/com/airbnb/epoxy/EpoxyViewHolder.java index f3f3f586..cbfd48e1 100644 --- a/tests/snapshots/src/main/generated/com/airbnb/epoxy/EpoxyViewHolder.java +++ b/tests/snapshots/src/main/generated/com/airbnb/epoxy/EpoxyViewHolder.java @@ -80,17 +80,17 @@ public class EpoxyViewHolder extends RecyclerView.ViewHolder { // Once the EpoxyHolder is created parent will be set to null. private ViewParent parent; -// ^^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^^ reference semanticdb maven . . ViewParent# // ^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/EpoxyViewHolder#parent. // documentation ```java\nprivate unresolved_type parent\n``` public EpoxyViewHolder(ViewParent parent, View view, boolean saveInitialState) { // ^^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/EpoxyViewHolder#``(). // documentation ```java\npublic EpoxyViewHolder(unresolved_type parent, unresolved_type view, boolean saveInitialState)\n``` -// ^^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^^ reference semanticdb maven . . ViewParent# // ^^^^^^ definition local 0 // documentation ```java\nunresolved_type parent\n``` -// ^^^^ reference semanticdb maven . . _root_/ +// ^^^^ reference semanticdb maven . . View# // ^^^^ definition local 1 // documentation ```java\nunresolved_type view\n``` // ^^^^^^^^^^^^^^^^ definition local 2 @@ -112,7 +112,7 @@ public EpoxyViewHolder(ViewParent parent, View view, boolean saveInitialState) { initialViewState.save(itemView); // ^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyViewHolder#initialViewState. // ^^^^ reference semanticdb maven . . com/airbnb/epoxy/ViewHolderState#ViewState#save(). -// ^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^ reference semanticdb maven . . itemView# } } @@ -124,7 +124,7 @@ void restoreInitialViewState() { initialViewState.restore(itemView); // ^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyViewHolder#initialViewState. // ^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/ViewHolderState#ViewState#restore(). -// ^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^ reference semanticdb maven . . itemView# } } @@ -163,7 +163,7 @@ public void bind(@SuppressWarnings("rawtypes") EpoxyModel model, epoxyHolder.bindView(itemView); // ^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyViewHolder#epoxyHolder. // ^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyHolder#bindView(). -// ^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^ reference semanticdb maven . . itemView# } // Safe to set to null as it is only used for createNewHolder method parent = null; @@ -234,7 +234,7 @@ Object objectToBind() { return epoxyHolder != null ? epoxyHolder : itemView; // ^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyViewHolder#epoxyHolder. // ^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyViewHolder#epoxyHolder. -// ^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^ reference semanticdb maven . . itemView# } public void unbind() { @@ -359,10 +359,10 @@ public String toString() { + "epoxyModel=" + epoxyModel // ^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyViewHolder#epoxyModel. + ", view=" + itemView -// ^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^ reference semanticdb maven . . itemView# + ", super=" + super.toString() -// ^^^^^ reference semanticdb maven . . _root_/ -// ^^^^^^^^ reference semanticdb maven . . toString# +// ^^^^^ reference semanticdb maven . . super# +// ^^^^^^^^ reference semanticdb maven . . super#toString# + '}'; } } diff --git a/tests/snapshots/src/main/generated/com/airbnb/epoxy/HandlerExecutor.java b/tests/snapshots/src/main/generated/com/airbnb/epoxy/HandlerExecutor.java index 4f7d982b..6856550e 100644 --- a/tests/snapshots/src/main/generated/com/airbnb/epoxy/HandlerExecutor.java +++ b/tests/snapshots/src/main/generated/com/airbnb/epoxy/HandlerExecutor.java @@ -33,14 +33,14 @@ class HandlerExecutor implements Executor { // relationship is_implementation semanticdb maven jdk 11 java/util/concurrent/Executor# // ^^^^^^^^ reference semanticdb maven jdk 11 java/util/concurrent/Executor# final Handler handler; -// ^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^ reference semanticdb maven . . Handler# // ^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/HandlerExecutor#handler. // documentation ```java\nfinal unresolved_type handler\n``` HandlerExecutor(Handler handler) { //^^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/HandlerExecutor#``(). // documentation ```java\nHandlerExecutor(unresolved_type handler)\n``` -// ^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^ reference semanticdb maven . . Handler# // ^^^^^^^ definition local 0 // documentation ```java\nunresolved_type handler\n``` this.handler = handler; @@ -60,17 +60,17 @@ public void execute(@NonNull Runnable command) { // documentation ```java\n@NonNull\nRunnable command\n``` // If we're already on the same thread then we can execute this synchronously if (Looper.myLooper() == handler.getLooper()) { -// ^^^^^^ reference semanticdb maven . . _root_/ -// ^^^^^^^^ reference semanticdb maven . . myLooper# +// ^^^^^^ reference semanticdb maven . . Looper# +// ^^^^^^^^ reference semanticdb maven . . Looper#myLooper# // ^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/HandlerExecutor#handler. -// ^^^^^^^^^ reference semanticdb maven . . getLooper# +// ^^^^^^^^^ reference semanticdb maven . . Handler#getLooper# command.run(); // ^^^^^^^ reference local 1 // ^^^ reference semanticdb maven jdk 11 java/lang/Runnable#run(). } else { handler.post(command); // ^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/HandlerExecutor#handler. -// ^^^^ reference semanticdb maven . . post# +// ^^^^ reference semanticdb maven . . Handler#post# // ^^^^^^^ reference local 1 } } diff --git a/tests/snapshots/src/main/generated/com/airbnb/epoxy/HiddenEpoxyModel.java b/tests/snapshots/src/main/generated/com/airbnb/epoxy/HiddenEpoxyModel.java index c287107a..62390223 100644 --- a/tests/snapshots/src/main/generated/com/airbnb/epoxy/HiddenEpoxyModel.java +++ b/tests/snapshots/src/main/generated/com/airbnb/epoxy/HiddenEpoxyModel.java @@ -25,7 +25,7 @@ class HiddenEpoxyModel extends EpoxyModel { // ^^^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/HiddenEpoxyModel#``(). // documentation ```java\nHiddenEpoxyModel()\n``` // ^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel# -// ^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^ reference semanticdb maven . . Space# @Override // ^^^^^^^^ reference semanticdb maven jdk 11 java/lang/Override# public int getDefaultLayout() { diff --git a/tests/snapshots/src/main/generated/com/airbnb/epoxy/ListenersUtils.java b/tests/snapshots/src/main/generated/com/airbnb/epoxy/ListenersUtils.java index a0c775e4..65849287 100644 --- a/tests/snapshots/src/main/generated/com/airbnb/epoxy/ListenersUtils.java +++ b/tests/snapshots/src/main/generated/com/airbnb/epoxy/ListenersUtils.java @@ -37,11 +37,11 @@ static EpoxyViewHolder getEpoxyHolderForChildView(View v) { // ^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyViewHolder# // ^^^^^^^^^^^^^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/ListenersUtils#getEpoxyHolderForChildView(). // documentation ```java\n@Nullable\nstatic EpoxyViewHolder getEpoxyHolderForChildView(unresolved_type v)\n``` -// ^^^^ reference semanticdb maven . . _root_/ +// ^^^^ reference semanticdb maven . . View# // ^ definition local 0 // documentation ```java\nunresolved_type v\n``` RecyclerView recyclerView = findParentRecyclerView(v); -// ^^^^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^^^^ reference semanticdb maven . . RecyclerView# // ^^^^^^^^^^^^ definition local 1 // documentation ```java\nunresolved_type recyclerView\n``` // ^^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/ListenersUtils#findParentRecyclerView(). @@ -52,11 +52,11 @@ static EpoxyViewHolder getEpoxyHolderForChildView(View v) { } ViewHolder viewHolder = recyclerView.findContainingViewHolder(v); -// ^^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^^ reference semanticdb maven . . ViewHolder# // ^^^^^^^^^^ definition local 2 // documentation ```java\nunresolved_type viewHolder\n``` // ^^^^^^^^^^^^ reference local 1 -// ^^^^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . findContainingViewHolder# +// ^^^^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . RecyclerView#findContainingViewHolder# // ^ reference local 0 if (viewHolder == null) { // ^^^^^^^^^^ reference local 2 @@ -77,11 +77,11 @@ static EpoxyViewHolder getEpoxyHolderForChildView(View v) { @Nullable // ^^^^^^^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/Nullable# private static RecyclerView findParentRecyclerView(@Nullable View v) { -// ^^^^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^^^^ reference semanticdb maven . . RecyclerView# // ^^^^^^^^^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/ListenersUtils#findParentRecyclerView(). // documentation ```java\n@Nullable\nprivate static unresolved_type findParentRecyclerView(unresolved_type v)\n``` // ^^^^^^^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/Nullable# -// ^^^^ reference semanticdb maven . . _root_/ +// ^^^^ reference semanticdb maven . . View# // ^ definition local 3 // documentation ```java\n@Nullable\nunresolved_type v\n``` if (v == null) { @@ -90,25 +90,25 @@ private static RecyclerView findParentRecyclerView(@Nullable View v) { } ViewParent parent = v.getParent(); -// ^^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^^ reference semanticdb maven . . ViewParent# // ^^^^^^ definition local 4 // documentation ```java\nunresolved_type parent\n``` // ^ reference local 3 -// ^^^^^^^^^ reference semanticdb maven . . getParent# +// ^^^^^^^^^ reference semanticdb maven . . View#getParent# if (parent instanceof RecyclerView) { // ^^^^^^ reference local 4 -// ^^^^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^^^^ reference semanticdb maven . . RecyclerView# return (RecyclerView) parent; -// ^^^^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^^^^ reference semanticdb maven . . RecyclerView# // ^^^^^^ reference local 4 } if (parent instanceof View) { // ^^^^^^ reference local 4 -// ^^^^ reference semanticdb maven . . _root_/ +// ^^^^ reference semanticdb maven . . View# return findParentRecyclerView((View) parent); // ^^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/ListenersUtils#findParentRecyclerView(). -// ^^^^ reference semanticdb maven . . _root_/ +// ^^^^ reference semanticdb maven . . View# // ^^^^^^ reference local 4 } diff --git a/tests/snapshots/src/main/generated/com/airbnb/epoxy/ModelList.java b/tests/snapshots/src/main/generated/com/airbnb/epoxy/ModelList.java index 2e53882b..275d6f0b 100644 --- a/tests/snapshots/src/main/generated/com/airbnb/epoxy/ModelList.java +++ b/tests/snapshots/src/main/generated/com/airbnb/epoxy/ModelList.java @@ -50,15 +50,10 @@ class ModelList extends ArrayList> { // relationship is_implementation semanticdb maven jdk 11 java/io/Serializable# // relationship is_implementation semanticdb maven jdk 11 java/lang/Cloneable# // relationship is_implementation semanticdb maven jdk 11 java/lang/Iterable# -// relationship is_implementation semanticdb maven jdk 11 java/lang/Iterable# -// relationship is_implementation semanticdb maven jdk 11 java/lang/Iterable# // relationship is_implementation semanticdb maven jdk 11 java/util/AbstractCollection# // relationship is_implementation semanticdb maven jdk 11 java/util/AbstractList# // relationship is_implementation semanticdb maven jdk 11 java/util/ArrayList# // relationship is_implementation semanticdb maven jdk 11 java/util/Collection# -// relationship is_implementation semanticdb maven jdk 11 java/util/Collection# -// relationship is_implementation semanticdb maven jdk 11 java/util/Collection# -// relationship is_implementation semanticdb maven jdk 11 java/util/List# // relationship is_implementation semanticdb maven jdk 11 java/util/List# // relationship is_implementation semanticdb maven jdk 11 java/util/RandomAccess# // ^^^^^^^^^ reference semanticdb maven jdk 11 java/util/ArrayList# @@ -674,7 +669,6 @@ private class ListItr extends Itr implements ListIterator> { // documentation A ListIterator implementation that calls through to the parent list's methods for modification.\n Some implementations may modify the list data directly instead of calling into the parent\n list's methods. We need the implementation to call the parent methods so that the proper\n notifications are done.\n // relationship is_implementation semanticdb maven . . com/airbnb/epoxy/ModelList#Itr# // relationship is_implementation semanticdb maven jdk 11 java/util/Iterator# -// relationship is_implementation semanticdb maven jdk 11 java/util/Iterator# // relationship is_implementation semanticdb maven jdk 11 java/util/ListIterator# // ^^^ reference semanticdb maven . . com/airbnb/epoxy/ModelList#Itr# // ^^^^^^^^^^^^ reference semanticdb maven jdk 11 java/util/ListIterator# @@ -861,11 +855,9 @@ private static class SubList extends AbstractList> { // documentation ```java\nprivate static class SubList\n``` // documentation A SubList implementation from Android's AbstractList class. It's copied here to make sure the\n implementation doesn't change, since some implementations, like the Java 1.8 ArrayList.SubList\n class, modify the list data directly instead of calling into the parent list's methods. We need\n the implementation to call the parent methods so that the proper notifications are done.\n // relationship is_implementation semanticdb maven jdk 11 java/lang/Iterable# -// relationship is_implementation semanticdb maven jdk 11 java/lang/Iterable# // relationship is_implementation semanticdb maven jdk 11 java/util/AbstractCollection# // relationship is_implementation semanticdb maven jdk 11 java/util/AbstractList# // relationship is_implementation semanticdb maven jdk 11 java/util/Collection# -// relationship is_implementation semanticdb maven jdk 11 java/util/Collection# // relationship is_implementation semanticdb maven jdk 11 java/util/List# // ^^^^^^^^^^^^ reference semanticdb maven jdk 11 java/util/AbstractList# // ^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel# diff --git a/tests/snapshots/src/main/generated/com/airbnb/epoxy/NotifyBlocker.java b/tests/snapshots/src/main/generated/com/airbnb/epoxy/NotifyBlocker.java index 13b8fefe..0006c74f 100644 --- a/tests/snapshots/src/main/generated/com/airbnb/epoxy/NotifyBlocker.java +++ b/tests/snapshots/src/main/generated/com/airbnb/epoxy/NotifyBlocker.java @@ -18,10 +18,10 @@ class NotifyBlocker extends AdapterDataObserver { // ^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/NotifyBlocker# // documentation ```java\nclass NotifyBlocker\n``` // documentation We don't allow any data change notifications except the ones done though diffing. Forcing\n changes to happen through diffing reduces the chance for developer error when implementing an\n adapter.\n

\n This observer throws upon any changes done outside of diffing.\n -// relationship is_implementation semanticdb maven . . ``/AdapterDataObserver# +// relationship is_implementation semanticdb maven . . AdapterDataObserver# // ^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/NotifyBlocker#``(). // documentation ```java\nNotifyBlocker()\n``` -// ^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . AdapterDataObserver# private boolean changesAllowed; // ^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/NotifyBlocker#changesAllowed. diff --git a/tests/snapshots/src/main/generated/com/airbnb/epoxy/OnModelCheckedChangeListener.java b/tests/snapshots/src/main/generated/com/airbnb/epoxy/OnModelCheckedChangeListener.java index a55e4904..0209499a 100644 --- a/tests/snapshots/src/main/generated/com/airbnb/epoxy/OnModelCheckedChangeListener.java +++ b/tests/snapshots/src/main/generated/com/airbnb/epoxy/OnModelCheckedChangeListener.java @@ -34,7 +34,7 @@ void onChecked(T model, V parentView, // ^^^^^^^^^^ definition local 1 // documentation ```java\nV parentView\n``` CompoundButton checkedView, boolean isChecked, int position); -// ^^^^^^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^^^^^^ reference semanticdb maven . . CompoundButton# // ^^^^^^^^^^^ definition local 2 // documentation ```java\nunresolved_type checkedView\n``` // ^^^^^^^^^ definition local 3 diff --git a/tests/snapshots/src/main/generated/com/airbnb/epoxy/OnModelClickListener.java b/tests/snapshots/src/main/generated/com/airbnb/epoxy/OnModelClickListener.java index 198fbd55..e2f6d8ea 100644 --- a/tests/snapshots/src/main/generated/com/airbnb/epoxy/OnModelClickListener.java +++ b/tests/snapshots/src/main/generated/com/airbnb/epoxy/OnModelClickListener.java @@ -34,7 +34,7 @@ public interface OnModelClickListener, V> { // ^ reference semanticdb maven . . com/airbnb/epoxy/OnModelClickListener#[V] // ^^^^^^^^^^ definition local 1 // documentation ```java\nV parentView\n``` -// ^^^^ reference semanticdb maven . . _root_/ +// ^^^^ reference semanticdb maven . . View# // ^^^^^^^^^^^ definition local 2 // documentation ```java\nunresolved_type clickedView\n``` // ^^^^^^^^ definition local 3 diff --git a/tests/snapshots/src/main/generated/com/airbnb/epoxy/OnModelLongClickListener.java b/tests/snapshots/src/main/generated/com/airbnb/epoxy/OnModelLongClickListener.java index f43ad500..e48a520d 100644 --- a/tests/snapshots/src/main/generated/com/airbnb/epoxy/OnModelLongClickListener.java +++ b/tests/snapshots/src/main/generated/com/airbnb/epoxy/OnModelLongClickListener.java @@ -32,7 +32,7 @@ public interface OnModelLongClickListener, V> { // ^ reference semanticdb maven . . com/airbnb/epoxy/OnModelLongClickListener#[V] // ^^^^^^^^^^ definition local 1 // documentation ```java\nV parentView\n``` -// ^^^^ reference semanticdb maven . . _root_/ +// ^^^^ reference semanticdb maven . . View# // ^^^^^^^^^^^ definition local 2 // documentation ```java\nunresolved_type clickedView\n``` // ^^^^^^^^ definition local 3 diff --git a/tests/snapshots/src/main/generated/com/airbnb/epoxy/QuantityStringResAttribute.java b/tests/snapshots/src/main/generated/com/airbnb/epoxy/QuantityStringResAttribute.java index 9bfdc1a8..5091cc91 100644 --- a/tests/snapshots/src/main/generated/com/airbnb/epoxy/QuantityStringResAttribute.java +++ b/tests/snapshots/src/main/generated/com/airbnb/epoxy/QuantityStringResAttribute.java @@ -102,24 +102,24 @@ public CharSequence toString(Context context) { // ^^^^^^^^^^^^ reference semanticdb maven jdk 11 java/lang/CharSequence# // ^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/QuantityStringResAttribute#toString(). // documentation ```java\npublic CharSequence toString(unresolved_type context)\n``` -// ^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^ reference semanticdb maven . . Context# // ^^^^^^^ definition local 5 // documentation ```java\nunresolved_type context\n``` if (formatArgs == null || formatArgs.length == 0) { // ^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/QuantityStringResAttribute#formatArgs. // ^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/QuantityStringResAttribute#formatArgs. -// ^^^^^^ reference semanticdb maven . . length. +// ^^^^^^ reference semanticdb maven . . Array#length. return context.getResources().getQuantityString(id, quantity); // ^^^^^^^ reference local 5 -// ^^^^^^^^^^^^ reference semanticdb maven . . getResources# -// ^^^^^^^^^^^^^^^^^ reference semanticdb maven . . getResources#getQuantityString# +// ^^^^^^^^^^^^ reference semanticdb maven . . Context#getResources# +// ^^^^^^^^^^^^^^^^^ reference semanticdb maven . . Context#getResources#getQuantityString# // ^^ reference semanticdb maven . . com/airbnb/epoxy/QuantityStringResAttribute#id. // ^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/QuantityStringResAttribute#quantity. } else { return context.getResources().getQuantityString(id, quantity, formatArgs); // ^^^^^^^ reference local 5 -// ^^^^^^^^^^^^ reference semanticdb maven . . getResources# -// ^^^^^^^^^^^^^^^^^ reference semanticdb maven . . getResources#getQuantityString# +// ^^^^^^^^^^^^ reference semanticdb maven . . Context#getResources# +// ^^^^^^^^^^^^^^^^^ reference semanticdb maven . . Context#getResources#getQuantityString# // ^^ reference semanticdb maven . . com/airbnb/epoxy/QuantityStringResAttribute#id. // ^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/QuantityStringResAttribute#quantity. // ^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/QuantityStringResAttribute#formatArgs. diff --git a/tests/snapshots/src/main/generated/com/airbnb/epoxy/SimpleEpoxyAdapter.java b/tests/snapshots/src/main/generated/com/airbnb/epoxy/SimpleEpoxyAdapter.java index c7445484..9fa5e413 100644 --- a/tests/snapshots/src/main/generated/com/airbnb/epoxy/SimpleEpoxyAdapter.java +++ b/tests/snapshots/src/main/generated/com/airbnb/epoxy/SimpleEpoxyAdapter.java @@ -19,7 +19,7 @@ public class SimpleEpoxyAdapter extends EpoxyAdapter { // documentation ```java\npublic class SimpleEpoxyAdapter\n``` // documentation A non-abstract version of {@link com.airbnb.epoxy.EpoxyAdapter} that exposes all methods and\n models as public. Use this if you don't want to create your own adapter subclass and instead want\n to modify the adapter from elsewhere, such as from an activity.\n // relationship is_implementation semanticdb maven . . RecyclerView/Adapter# -// relationship is_implementation semanticdb maven . . ``/StickyHeaderCallbacks# +// relationship is_implementation semanticdb maven . . StickyHeaderCallbacks# // relationship is_implementation semanticdb maven . . com/airbnb/epoxy/BaseEpoxyAdapter# // relationship is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxyAdapter# // ^^^^^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/SimpleEpoxyAdapter#``(). diff --git a/tests/snapshots/src/main/generated/com/airbnb/epoxy/SimpleEpoxyController.java b/tests/snapshots/src/main/generated/com/airbnb/epoxy/SimpleEpoxyController.java index 2e774f06..ae3b0aba 100644 --- a/tests/snapshots/src/main/generated/com/airbnb/epoxy/SimpleEpoxyController.java +++ b/tests/snapshots/src/main/generated/com/airbnb/epoxy/SimpleEpoxyController.java @@ -13,8 +13,8 @@ public class SimpleEpoxyController extends EpoxyController { // ^^^^^^^^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/SimpleEpoxyController# // documentation ```java\npublic class SimpleEpoxyController\n``` // documentation A small wrapper around {@link com.airbnb.epoxy.EpoxyController} that lets you set a list of\n models directly.\n -// relationship is_implementation semanticdb maven . . ``/ModelCollector# -// relationship is_implementation semanticdb maven . . ``/StickyHeaderCallbacks# +// relationship is_implementation semanticdb maven . . ModelCollector# +// relationship is_implementation semanticdb maven . . StickyHeaderCallbacks# // relationship is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxyController# // ^^^^^^^^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/SimpleEpoxyController#``(). // documentation ```java\npublic SimpleEpoxyController()\n``` diff --git a/tests/snapshots/src/main/generated/com/airbnb/epoxy/SimpleEpoxyModel.java b/tests/snapshots/src/main/generated/com/airbnb/epoxy/SimpleEpoxyModel.java index c4d33641..6a2522d9 100644 --- a/tests/snapshots/src/main/generated/com/airbnb/epoxy/SimpleEpoxyModel.java +++ b/tests/snapshots/src/main/generated/com/airbnb/epoxy/SimpleEpoxyModel.java @@ -30,7 +30,7 @@ public class SimpleEpoxyModel extends EpoxyModel { // documentation Helper class for cases where you don't need to do anything special when binding the view. This\n allows you to just provide the layout instead of needing to create a separate {@link EpoxyModel}\n subclass. This is useful for static layouts. You can also specify an onClick listener and the\n span size.\n // relationship is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxyModel# // ^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel# -// ^^^^ reference semanticdb maven . . _root_/ +// ^^^^ reference semanticdb maven . . View# @LayoutRes private final int layoutRes; // ^^^^^^^^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/LayoutRes# // ^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/SimpleEpoxyModel#layoutRes. @@ -90,7 +90,7 @@ public void bind(@NonNull View view) { // documentation ```java\n@CallSuper\n@Override\npublic void bind(unresolved_type view)\n``` // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxyModel#bind(). // ^^^^^^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/NonNull# -// ^^^^ reference semanticdb maven . . _root_/ +// ^^^^ reference semanticdb maven . . View# // ^^^^ definition local 3 // documentation ```java\n@NonNull\nunresolved_type view\n``` super.bind(view); @@ -99,11 +99,11 @@ public void bind(@NonNull View view) { // ^^^^ reference local 3 view.setOnClickListener(onClickListener); // ^^^^ reference local 3 -// ^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . setOnClickListener# +// ^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . View#setOnClickListener# // ^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/SimpleEpoxyModel#onClickListener. view.setClickable(onClickListener != null); // ^^^^ reference local 3 -// ^^^^^^^^^^^^ reference semanticdb maven . . setClickable# +// ^^^^^^^^^^^^ reference semanticdb maven . . View#setClickable# // ^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/SimpleEpoxyModel#onClickListener. } @@ -116,7 +116,7 @@ public void unbind(@NonNull View view) { // documentation ```java\n@CallSuper\n@Override\npublic void unbind(unresolved_type view)\n``` // relationship is_reference is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxyModel#unbind(). // ^^^^^^^ reference semanticdb maven maven/androidx.annotation/annotation 1.1.0 androidx/annotation/NonNull# -// ^^^^ reference semanticdb maven . . _root_/ +// ^^^^ reference semanticdb maven . . View# // ^^^^ definition local 4 // documentation ```java\n@NonNull\nunresolved_type view\n``` super.unbind(view); @@ -125,7 +125,7 @@ public void unbind(@NonNull View view) { // ^^^^ reference local 4 view.setOnClickListener(null); // ^^^^ reference local 4 -// ^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . setOnClickListener# +// ^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . View#setOnClickListener# } @Override diff --git a/tests/snapshots/src/main/generated/com/airbnb/epoxy/StringAttributeData.java b/tests/snapshots/src/main/generated/com/airbnb/epoxy/StringAttributeData.java index 4fca1007..8139cbd4 100644 --- a/tests/snapshots/src/main/generated/com/airbnb/epoxy/StringAttributeData.java +++ b/tests/snapshots/src/main/generated/com/airbnb/epoxy/StringAttributeData.java @@ -222,7 +222,7 @@ public CharSequence toString(Context context) { // ^^^^^^^^^^^^ reference semanticdb maven jdk 11 java/lang/CharSequence# // ^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/StringAttributeData#toString(). // documentation ```java\npublic CharSequence toString(unresolved_type context)\n``` -// ^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^ reference semanticdb maven . . Context# // ^^^^^^^ definition local 9 // documentation ```java\nunresolved_type context\n``` if (pluralRes != 0) { @@ -231,16 +231,16 @@ public CharSequence toString(Context context) { // ^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/StringAttributeData#formatArgs. return context.getResources().getQuantityString(pluralRes, quantity, formatArgs); // ^^^^^^^ reference local 9 -// ^^^^^^^^^^^^ reference semanticdb maven . . getResources# -// ^^^^^^^^^^^^^^^^^ reference semanticdb maven . . getResources#getQuantityString# +// ^^^^^^^^^^^^ reference semanticdb maven . . Context#getResources# +// ^^^^^^^^^^^^^^^^^ reference semanticdb maven . . Context#getResources#getQuantityString# // ^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/StringAttributeData#pluralRes. // ^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/StringAttributeData#quantity. // ^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/StringAttributeData#formatArgs. } else { return context.getResources().getQuantityString(pluralRes, quantity); // ^^^^^^^ reference local 9 -// ^^^^^^^^^^^^ reference semanticdb maven . . getResources# -// ^^^^^^^^^^^^^^^^^ reference semanticdb maven . . getResources#getQuantityString# +// ^^^^^^^^^^^^ reference semanticdb maven . . Context#getResources# +// ^^^^^^^^^^^^^^^^^ reference semanticdb maven . . Context#getResources#getQuantityString# // ^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/StringAttributeData#pluralRes. // ^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/StringAttributeData#quantity. } @@ -250,15 +250,15 @@ public CharSequence toString(Context context) { // ^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/StringAttributeData#formatArgs. return context.getResources().getString(stringRes, formatArgs); // ^^^^^^^ reference local 9 -// ^^^^^^^^^^^^ reference semanticdb maven . . getResources# -// ^^^^^^^^^ reference semanticdb maven . . getResources#getString# +// ^^^^^^^^^^^^ reference semanticdb maven . . Context#getResources# +// ^^^^^^^^^ reference semanticdb maven . . Context#getResources#getString# // ^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/StringAttributeData#stringRes. // ^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/StringAttributeData#formatArgs. } else { return context.getResources().getText(stringRes); // ^^^^^^^ reference local 9 -// ^^^^^^^^^^^^ reference semanticdb maven . . getResources# -// ^^^^^^^ reference semanticdb maven . . getResources#getText# +// ^^^^^^^^^^^^ reference semanticdb maven . . Context#getResources# +// ^^^^^^^ reference semanticdb maven . . Context#getResources#getText# // ^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/StringAttributeData#stringRes. } } else { diff --git a/tests/snapshots/src/main/generated/com/airbnb/epoxy/Typed2EpoxyController.java b/tests/snapshots/src/main/generated/com/airbnb/epoxy/Typed2EpoxyController.java index fdc63d4e..c22b1954 100644 --- a/tests/snapshots/src/main/generated/com/airbnb/epoxy/Typed2EpoxyController.java +++ b/tests/snapshots/src/main/generated/com/airbnb/epoxy/Typed2EpoxyController.java @@ -23,8 +23,8 @@ public abstract class Typed2EpoxyController extends EpoxyController { // ^^^^^^^^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/Typed2EpoxyController# // documentation ```java\npublic abstract class Typed2EpoxyController\n``` // documentation This is a wrapper around {@link com.airbnb.epoxy.EpoxyController} to simplify how data is\n accessed. Use this if the data required to build your models is represented by two objects.\n

\n To use this, create a subclass typed with your data object. Then, call {@link #setData}\n whenever that data changes. This class will handle calling {@link #buildModels} with the\n latest data.\n

\n You should NOT call {@link #requestModelBuild()} directly.\n\n @see TypedEpoxyController\n @see Typed3EpoxyController\n @see Typed4EpoxyController\n -// relationship is_implementation semanticdb maven . . ``/ModelCollector# -// relationship is_implementation semanticdb maven . . ``/StickyHeaderCallbacks# +// relationship is_implementation semanticdb maven . . ModelCollector# +// relationship is_implementation semanticdb maven . . StickyHeaderCallbacks# // relationship is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxyController# // ^ definition semanticdb maven . . com/airbnb/epoxy/Typed2EpoxyController#[T] // documentation ```java\nT\n``` @@ -52,10 +52,10 @@ public Typed2EpoxyController() { public Typed2EpoxyController(Handler modelBuildingHandler, Handler diffingHandler) { // ^^^^^^^^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/Typed2EpoxyController#``(+1). // documentation ```java\npublic Typed2EpoxyController(unresolved_type modelBuildingHandler, unresolved_type diffingHandler)\n``` -// ^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^ reference semanticdb maven . . Handler# // ^^^^^^^^^^^^^^^^^^^^ definition local 0 // documentation ```java\nunresolved_type modelBuildingHandler\n``` -// ^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^ reference semanticdb maven . . Handler# // ^^^^^^^^^^^^^^ definition local 1 // documentation ```java\nunresolved_type diffingHandler\n``` super(modelBuildingHandler, diffingHandler); diff --git a/tests/snapshots/src/main/generated/com/airbnb/epoxy/Typed3EpoxyController.java b/tests/snapshots/src/main/generated/com/airbnb/epoxy/Typed3EpoxyController.java index 3d967716..07df8519 100644 --- a/tests/snapshots/src/main/generated/com/airbnb/epoxy/Typed3EpoxyController.java +++ b/tests/snapshots/src/main/generated/com/airbnb/epoxy/Typed3EpoxyController.java @@ -23,8 +23,8 @@ public abstract class Typed3EpoxyController extends EpoxyController { // ^^^^^^^^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/Typed3EpoxyController# // documentation ```java\npublic abstract class Typed3EpoxyController\n``` // documentation This is a wrapper around {@link com.airbnb.epoxy.EpoxyController} to simplify how data is\n accessed. Use this if the data required to build your models is represented by three objects.\n

\n To use this, create a subclass typed with your data object. Then, call {@link #setData}\n whenever that data changes. This class will handle calling {@link #buildModels} with the\n latest data.\n

\n You should NOT call {@link #requestModelBuild()} directly.\n\n @see TypedEpoxyController\n @see Typed2EpoxyController\n @see Typed4EpoxyController\n -// relationship is_implementation semanticdb maven . . ``/ModelCollector# -// relationship is_implementation semanticdb maven . . ``/StickyHeaderCallbacks# +// relationship is_implementation semanticdb maven . . ModelCollector# +// relationship is_implementation semanticdb maven . . StickyHeaderCallbacks# // relationship is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxyController# // ^ definition semanticdb maven . . com/airbnb/epoxy/Typed3EpoxyController#[T] // documentation ```java\nT\n``` @@ -58,10 +58,10 @@ public Typed3EpoxyController() { public Typed3EpoxyController(Handler modelBuildingHandler, Handler diffingHandler) { // ^^^^^^^^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/Typed3EpoxyController#``(+1). // documentation ```java\npublic Typed3EpoxyController(unresolved_type modelBuildingHandler, unresolved_type diffingHandler)\n``` -// ^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^ reference semanticdb maven . . Handler# // ^^^^^^^^^^^^^^^^^^^^ definition local 0 // documentation ```java\nunresolved_type modelBuildingHandler\n``` -// ^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^ reference semanticdb maven . . Handler# // ^^^^^^^^^^^^^^ definition local 1 // documentation ```java\nunresolved_type diffingHandler\n``` super(modelBuildingHandler, diffingHandler); diff --git a/tests/snapshots/src/main/generated/com/airbnb/epoxy/Typed4EpoxyController.java b/tests/snapshots/src/main/generated/com/airbnb/epoxy/Typed4EpoxyController.java index 793d3ff6..e773eca2 100644 --- a/tests/snapshots/src/main/generated/com/airbnb/epoxy/Typed4EpoxyController.java +++ b/tests/snapshots/src/main/generated/com/airbnb/epoxy/Typed4EpoxyController.java @@ -23,8 +23,8 @@ public abstract class Typed4EpoxyController extends EpoxyController // ^^^^^^^^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/Typed4EpoxyController# // documentation ```java\npublic abstract class Typed4EpoxyController\n``` // documentation This is a wrapper around {@link com.airbnb.epoxy.EpoxyController} to simplify how data is\n accessed. Use this if the data required to build your models is represented by four objects.\n

\n To use this, create a subclass typed with your data object. Then, call {@link #setData}\n whenever that data changes. This class will handle calling {@link #buildModels} with the\n latest data.\n

\n You should NOT call {@link #requestModelBuild()} directly.\n\n @see TypedEpoxyController\n @see Typed2EpoxyController\n @see Typed3EpoxyController\n -// relationship is_implementation semanticdb maven . . ``/ModelCollector# -// relationship is_implementation semanticdb maven . . ``/StickyHeaderCallbacks# +// relationship is_implementation semanticdb maven . . ModelCollector# +// relationship is_implementation semanticdb maven . . StickyHeaderCallbacks# // relationship is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxyController# // ^ definition semanticdb maven . . com/airbnb/epoxy/Typed4EpoxyController#[T] // documentation ```java\nT\n``` @@ -64,10 +64,10 @@ public Typed4EpoxyController() { public Typed4EpoxyController(Handler modelBuildingHandler, Handler diffingHandler) { // ^^^^^^^^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/Typed4EpoxyController#``(+1). // documentation ```java\npublic Typed4EpoxyController(unresolved_type modelBuildingHandler, unresolved_type diffingHandler)\n``` -// ^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^ reference semanticdb maven . . Handler# // ^^^^^^^^^^^^^^^^^^^^ definition local 0 // documentation ```java\nunresolved_type modelBuildingHandler\n``` -// ^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^ reference semanticdb maven . . Handler# // ^^^^^^^^^^^^^^ definition local 1 // documentation ```java\nunresolved_type diffingHandler\n``` super(modelBuildingHandler, diffingHandler); diff --git a/tests/snapshots/src/main/generated/com/airbnb/epoxy/TypedEpoxyController.java b/tests/snapshots/src/main/generated/com/airbnb/epoxy/TypedEpoxyController.java index b172fcde..bfa1b91d 100644 --- a/tests/snapshots/src/main/generated/com/airbnb/epoxy/TypedEpoxyController.java +++ b/tests/snapshots/src/main/generated/com/airbnb/epoxy/TypedEpoxyController.java @@ -27,8 +27,8 @@ public abstract class TypedEpoxyController extends EpoxyController { // ^^^^^^^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/TypedEpoxyController# // documentation ```java\npublic abstract class TypedEpoxyController\n``` // documentation This is a wrapper around {@link com.airbnb.epoxy.EpoxyController} to simplify how data is\n accessed. Use this if the data required to build your models is represented by a single object.\n

\n To use this, create a subclass typed with your data object. Then, call {@link #setData(Object)}\n whenever that data changes. This class will handle calling {@link #buildModels(Object)} with the\n latest data.\n

\n You should NOT call {@link #requestModelBuild()} directly.\n\n @see Typed2EpoxyController\n @see Typed3EpoxyController\n @see Typed4EpoxyController\n -// relationship is_implementation semanticdb maven . . ``/ModelCollector# -// relationship is_implementation semanticdb maven . . ``/StickyHeaderCallbacks# +// relationship is_implementation semanticdb maven . . ModelCollector# +// relationship is_implementation semanticdb maven . . StickyHeaderCallbacks# // relationship is_implementation semanticdb maven . . com/airbnb/epoxy/EpoxyController# // ^ definition semanticdb maven . . com/airbnb/epoxy/TypedEpoxyController#[T] // documentation ```java\nT\n``` @@ -49,10 +49,10 @@ public TypedEpoxyController() { public TypedEpoxyController(Handler modelBuildingHandler, Handler diffingHandler) { // ^^^^^^^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/TypedEpoxyController#``(+1). // documentation ```java\npublic TypedEpoxyController(unresolved_type modelBuildingHandler, unresolved_type diffingHandler)\n``` -// ^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^ reference semanticdb maven . . Handler# // ^^^^^^^^^^^^^^^^^^^^ definition local 0 // documentation ```java\nunresolved_type modelBuildingHandler\n``` -// ^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^ reference semanticdb maven . . Handler# // ^^^^^^^^^^^^^^ definition local 1 // documentation ```java\nunresolved_type diffingHandler\n``` super(modelBuildingHandler, diffingHandler); diff --git a/tests/snapshots/src/main/generated/com/airbnb/epoxy/ViewHolderState.java b/tests/snapshots/src/main/generated/com/airbnb/epoxy/ViewHolderState.java index a0bdd196..231eb898 100644 --- a/tests/snapshots/src/main/generated/com/airbnb/epoxy/ViewHolderState.java +++ b/tests/snapshots/src/main/generated/com/airbnb/epoxy/ViewHolderState.java @@ -62,12 +62,12 @@ class ViewHolderState extends LongSparseArray implements Parcelable { // ^^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/ViewHolderState# // documentation ```java\n@SuppressWarnings("WeakerAccess")\nclass ViewHolderState\n``` // documentation Helper for {@link EpoxyAdapter} to store the state of Views in the adapter. This is useful for\n saving changes due to user input, such as text input or selection, when a view is scrolled off\n screen or if the adapter needs to be recreated.\n

\n This saved state is separate from the state represented by a {@link EpoxyModel}, which should\n represent the more permanent state of the data shown in the view. This class stores transient\n state that is added to the View after it is bound to a {@link EpoxyModel}. For example, a {@link\n EpoxyModel} may inflate and bind an EditText and then be responsible for styling it and attaching\n listeners. If the user then inputs text, scrolls the view offscreen and then scrolls back, this\n class will preserve the inputted text without the {@link EpoxyModel} needing to be aware of its\n existence.\n

\n This class relies on the adapter having stable ids, as the state of a view is mapped to the id of\n the {@link EpoxyModel}.\n -// relationship is_implementation semanticdb maven . . ``/Parcelable# +// relationship is_implementation semanticdb maven . . Parcelable# // relationship is_implementation semanticdb maven jdk 11 java/lang/Cloneable# // relationship is_implementation semanticdb maven maven/androidx.collection/collection 1.0.0 androidx/collection/LongSparseArray# // ^^^^^^^^^^^^^^^ reference semanticdb maven maven/androidx.collection/collection 1.0.0 androidx/collection/LongSparseArray# // ^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/ViewHolderState#ViewState# -// ^^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^^ reference semanticdb maven . . Parcelable# ViewHolderState() { //^^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/ViewHolderState#``(). // documentation ```java\nViewHolderState()\n``` @@ -96,7 +96,7 @@ public int describeContents() { public void writeToParcel(Parcel dest, int flags) { // ^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/ViewHolderState#writeToParcel(). // documentation ```java\n@Override\npublic void writeToParcel(unresolved_type dest, int flags)\n``` -// ^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^ reference semanticdb maven . . Parcel# // ^^^^ definition local 1 // documentation ```java\nunresolved_type dest\n``` // ^^^^^ definition local 2 @@ -107,7 +107,7 @@ public void writeToParcel(Parcel dest, int flags) { // ^^^^ reference semanticdb maven maven/androidx.collection/collection 1.0.0 androidx/collection/LongSparseArray#size(). dest.writeInt(size); // ^^^^ reference local 1 -// ^^^^^^^^ reference semanticdb maven . . writeInt# +// ^^^^^^^^ reference semanticdb maven . . Parcel#writeInt# // ^^^^ reference local 3 for (int i = 0; i < size; i++) { // ^ definition local 4 @@ -117,22 +117,24 @@ public void writeToParcel(Parcel dest, int flags) { // ^ reference local 4 dest.writeLong(keyAt(i)); // ^^^^ reference local 1 -// ^^^^^^^^^ reference semanticdb maven . . writeLong# +// ^^^^^^^^^ reference semanticdb maven . . Parcel#writeLong# // ^^^^^ reference semanticdb maven maven/androidx.collection/collection 1.0.0 androidx/collection/LongSparseArray#keyAt(). // ^ reference local 4 dest.writeParcelable(valueAt(i), 0); // ^^^^ reference local 1 -// ^^^^^^^^^^^^^^^ reference semanticdb maven . . writeParcelable# +// ^^^^^^^^^^^^^^^ reference semanticdb maven . . Parcel#writeParcelable# // ^^^^^^^ reference semanticdb maven maven/androidx.collection/collection 1.0.0 androidx/collection/LongSparseArray#valueAt(). // ^ reference local 4 } } public static final Creator CREATOR = new Creator() { -// ^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^ reference semanticdb maven . . Creator# // ^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/ViewHolderState# // ^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/ViewHolderState#CREATOR. // documentation ```java\npublic static final unresolved_type CREATOR\n``` +// ^^^^^^^ reference semanticdb maven . . Creator# +// ^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/ViewHolderState# public ViewHolderState[] newArray(int size) { return new ViewHolderState[size]; @@ -275,11 +277,11 @@ public static class ViewState extends SparseArray implements Parcela // ^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/ViewHolderState#ViewState# // documentation ```java\npublic static class ViewState\n``` // documentation A wrapper around a sparse array as a helper to save the state of a view. This also adds\n parcelable support.\n -// relationship is_implementation semanticdb maven . . ``/Parcelable# -// relationship is_implementation semanticdb maven . . ``/SparseArray# -// ^^^^^^^^^^^ reference semanticdb maven . . _root_/ -// ^^^^^^^^^^ reference semanticdb maven . . _root_/ -// ^^^^^^^^^^ reference semanticdb maven . . _root_/ +// relationship is_implementation semanticdb maven . . Parcelable# +// relationship is_implementation semanticdb maven . . SparseArray# +// ^^^^^^^^^^^ reference semanticdb maven . . SparseArray# +// ^^^^^^^^^^ reference semanticdb maven . . Parcelable# +// ^^^^^^^^^^ reference semanticdb maven . . Parcelable# ViewState() { // ^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/ViewHolderState#ViewState#``(). @@ -293,7 +295,7 @@ private ViewState(int size, int[] keys, Parcelable[] values) { // documentation ```java\nint size\n``` // ^^^^ definition local 13 // documentation ```java\nint[] keys\n``` -// ^^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^^ reference semanticdb maven . . Parcelable# // ^^^^^^ definition local 14 // documentation ```java\nunresolved_type[] values\n``` super(size); @@ -316,48 +318,48 @@ private ViewState(int size, int[] keys, Parcelable[] values) { public void save(View view) { // ^^^^ definition semanticdb maven . . com/airbnb/epoxy/ViewHolderState#ViewState#save(). // documentation ```java\npublic void save(unresolved_type view)\n``` -// ^^^^ reference semanticdb maven . . _root_/ +// ^^^^ reference semanticdb maven . . View# // ^^^^ definition local 16 // documentation ```java\nunresolved_type view\n``` int originalId = view.getId(); // ^^^^^^^^^^ definition local 17 // documentation ```java\nint originalId\n``` // ^^^^ reference local 16 -// ^^^^^ reference semanticdb maven . . getId# +// ^^^^^ reference semanticdb maven . . View#getId# setIdIfNoneExists(view); // ^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/ViewHolderState#ViewState#setIdIfNoneExists(). // ^^^^ reference local 16 view.saveHierarchyState(this); // ^^^^ reference local 16 -// ^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . saveHierarchyState# +// ^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . View#saveHierarchyState# view.setId(originalId); // ^^^^ reference local 16 -// ^^^^^ reference semanticdb maven . . setId# +// ^^^^^ reference semanticdb maven . . View#setId# // ^^^^^^^^^^ reference local 17 } public void restore(View view) { // ^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/ViewHolderState#ViewState#restore(). // documentation ```java\npublic void restore(unresolved_type view)\n``` -// ^^^^ reference semanticdb maven . . _root_/ +// ^^^^ reference semanticdb maven . . View# // ^^^^ definition local 18 // documentation ```java\nunresolved_type view\n``` int originalId = view.getId(); // ^^^^^^^^^^ definition local 19 // documentation ```java\nint originalId\n``` // ^^^^ reference local 18 -// ^^^^^ reference semanticdb maven . . getId# +// ^^^^^ reference semanticdb maven . . View#getId# setIdIfNoneExists(view); // ^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/ViewHolderState#ViewState#setIdIfNoneExists(). // ^^^^ reference local 18 view.restoreHierarchyState(this); // ^^^^ reference local 18 -// ^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . restoreHierarchyState# +// ^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . View#restoreHierarchyState# view.setId(originalId); // ^^^^ reference local 18 -// ^^^^^ reference semanticdb maven . . setId# +// ^^^^^ reference semanticdb maven . . View#setId# // ^^^^^^^^^^ reference local 19 } @@ -371,17 +373,17 @@ private void setIdIfNoneExists(View view) { // ^^^^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/ViewHolderState#ViewState#setIdIfNoneExists(). // documentation ```java\nprivate void setIdIfNoneExists(unresolved_type view)\n``` // documentation If a view hasn't had an id set we need to set a temporary one in order to save state, since a\n view won't save its state unless it has an id. The view's id is also the key into the sparse\n array for its saved state, so the temporary one we choose just needs to be consistent between\n saving and restoring state.\n -// ^^^^ reference semanticdb maven . . _root_/ +// ^^^^ reference semanticdb maven . . View# // ^^^^ definition local 20 // documentation ```java\nunresolved_type view\n``` if (view.getId() == View.NO_ID) { // ^^^^ reference local 20 -// ^^^^^ reference semanticdb maven . . getId# -// ^^^^ reference semanticdb maven . . _root_/ -// ^^^^^ reference semanticdb maven . . NO_ID# +// ^^^^^ reference semanticdb maven . . View#getId# +// ^^^^ reference semanticdb maven . . View# +// ^^^^^ reference semanticdb maven . . View#NO_ID# view.setId(R.id.view_model_state_saving_id); // ^^^^ reference local 20 -// ^^^^^ reference semanticdb maven . . setId# +// ^^^^^ reference semanticdb maven . . View#setId# // ^ reference semanticdb maven . . R/ // ^^ reference semanticdb maven . . R/id# // ^^^^^^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . R/id#view_model_state_saving_id# @@ -401,7 +403,7 @@ public int describeContents() { public void writeToParcel(Parcel parcel, int flags) { // ^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/ViewHolderState#ViewState#writeToParcel(). // documentation ```java\n@Override\npublic void writeToParcel(unresolved_type parcel, int flags)\n``` -// ^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^ reference semanticdb maven . . Parcel# // ^^^^^^ definition local 21 // documentation ```java\nunresolved_type parcel\n``` // ^^^^^ definition local 22 @@ -415,10 +417,10 @@ public void writeToParcel(Parcel parcel, int flags) { // documentation ```java\nint[] keys\n``` // ^^^^ reference local 23 Parcelable[] values = new Parcelable[size]; -// ^^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^^ reference semanticdb maven . . Parcelable# // ^^^^^^ definition local 25 // documentation ```java\nunresolved_type[] values\n``` -// ^^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^^ reference semanticdb maven . . Parcelable# // ^^^^ reference local 23 for (int i = 0; i < size; ++i) { // ^ definition local 26 @@ -439,25 +441,28 @@ public void writeToParcel(Parcel parcel, int flags) { } parcel.writeInt(size); // ^^^^^^ reference local 21 -// ^^^^^^^^ reference semanticdb maven . . writeInt# +// ^^^^^^^^ reference semanticdb maven . . Parcel#writeInt# // ^^^^ reference local 23 parcel.writeIntArray(keys); // ^^^^^^ reference local 21 -// ^^^^^^^^^^^^^ reference semanticdb maven . . writeIntArray# +// ^^^^^^^^^^^^^ reference semanticdb maven . . Parcel#writeIntArray# // ^^^^ reference local 24 parcel.writeParcelableArray(values, flags); // ^^^^^^ reference local 21 -// ^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . writeParcelableArray# +// ^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . Parcel#writeParcelableArray# // ^^^^^^ reference local 25 // ^^^^^ reference local 22 } public static final Creator CREATOR = -// ^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^ reference semanticdb maven . . Creator# // ^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/ViewHolderState#ViewState# // ^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/ViewHolderState#ViewState#CREATOR. // documentation ```java\npublic static final unresolved_type CREATOR\n``` new Parcelable.ClassLoaderCreator() { +// ^^^^^^^^^^ reference semanticdb maven . . Parcelable/ +// ^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . Parcelable/ClassLoaderCreator# +// ^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/ViewHolderState#ViewState# @Override public ViewState createFromParcel(Parcel source, ClassLoader loader) { int size = source.readInt(); diff --git a/tests/snapshots/src/main/generated/com/airbnb/epoxy/WrappedEpoxyModelCheckedChangeListener.java b/tests/snapshots/src/main/generated/com/airbnb/epoxy/WrappedEpoxyModelCheckedChangeListener.java index f70157bc..ab0bd893 100644 --- a/tests/snapshots/src/main/generated/com/airbnb/epoxy/WrappedEpoxyModelCheckedChangeListener.java +++ b/tests/snapshots/src/main/generated/com/airbnb/epoxy/WrappedEpoxyModelCheckedChangeListener.java @@ -24,14 +24,14 @@ public class WrappedEpoxyModelCheckedChangeListener, V> // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/WrappedEpoxyModelCheckedChangeListener# // documentation ```java\npublic class WrappedEpoxyModelCheckedChangeListener, V>\n``` // documentation Used in the generated models to transform normal checked change listener to model\n checked change.\n -// relationship is_implementation semanticdb maven . . ``/OnCheckedChangeListener# +// relationship is_implementation semanticdb maven . . OnCheckedChangeListener# // ^ definition semanticdb maven . . com/airbnb/epoxy/WrappedEpoxyModelCheckedChangeListener#[T] // documentation ```java\nT extends EpoxyModel\n``` // ^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyModel# // ^ definition semanticdb maven . . com/airbnb/epoxy/WrappedEpoxyModelCheckedChangeListener#[V] // documentation ```java\nV\n``` implements OnCheckedChangeListener { -// ^^^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . OnCheckedChangeListener# private final OnModelCheckedChangeListener originalCheckedChangeListener; // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/OnModelCheckedChangeListener# @@ -66,7 +66,7 @@ public WrappedEpoxyModelCheckedChangeListener( public void onCheckedChanged(CompoundButton button, boolean isChecked) { // ^^^^^^^^^^^^^^^^ definition semanticdb maven . . com/airbnb/epoxy/WrappedEpoxyModelCheckedChangeListener#onCheckedChanged(). // documentation ```java\n@Override\npublic void onCheckedChanged(unresolved_type button, boolean isChecked)\n``` -// ^^^^^^^^^^^^^^ reference semanticdb maven . . _root_/ +// ^^^^^^^^^^^^^^ reference semanticdb maven . . CompoundButton# // ^^^^^^ definition local 1 // documentation ```java\nunresolved_type button\n``` // ^^^^^^^^^ definition local 2 @@ -96,8 +96,8 @@ public void onCheckedChanged(CompoundButton button, boolean isChecked) { // ^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/EpoxyViewHolder#getAdapterPosition# if (adapterPosition != RecyclerView.NO_POSITION) { // ^^^^^^^^^^^^^^^ reference local 4 -// ^^^^^^^^^^^^ reference semanticdb maven . . _root_/ -// ^^^^^^^^^^^ reference semanticdb maven . . NO_POSITION# +// ^^^^^^^^^^^^ reference semanticdb maven . . RecyclerView# +// ^^^^^^^^^^^ reference semanticdb maven . . RecyclerView#NO_POSITION# originalCheckedChangeListener // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . com/airbnb/epoxy/WrappedEpoxyModelCheckedChangeListener#originalCheckedChangeListener. .onChecked((T) epoxyHolder.getModel(), (V) epoxyHolder.objectToBind(), button, diff --git a/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/AnonymousClasses.java b/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/AnonymousClasses.java index 40b76be9..120025a6 100644 --- a/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/AnonymousClasses.java +++ b/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/AnonymousClasses.java @@ -32,14 +32,14 @@ public static int app(int n) { // ^^^^^^^^ reference semanticdb maven jdk 11 java/lang/Override# public Integer apply(Integer integer) { // ^^^^^^^ reference semanticdb maven jdk 11 java/lang/Integer# -// ^^^^^ definition local 4 +// ^^^^^ definition local 3 // documentation ```java\n@Override\npublic Integer apply(Integer integer)\n``` // relationship is_reference is_implementation semanticdb maven jdk 11 java/util/function/Function#apply(). // ^^^^^^^ reference semanticdb maven jdk 11 java/lang/Integer# -// ^^^^^^^ definition local 5 +// ^^^^^^^ definition local 4 // documentation ```java\nInteger integer\n``` return integer + n; -// ^^^^^^^ reference local 5 +// ^^^^^^^ reference local 4 // ^ reference local 0 } }; diff --git a/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/Enums.java b/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/Enums.java index d83f6d08..334e2648 100644 --- a/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/Enums.java +++ b/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/Enums.java @@ -1,5 +1,4 @@ package minimized; -//^^^^^ reference semanticdb maven . . minimized/Enums# import java.util.Arrays; // ^^^^ reference semanticdb maven . . java/ @@ -20,21 +19,21 @@ enum Enums { A("A", 420), //^ definition semanticdb maven . . minimized/Enums#A. // documentation ```java\nEnums.A("A", 420) /* ordinal 0 */\n``` +//^ reference semanticdb maven . . minimized/Enums#``(). B("B", 1), //^ definition semanticdb maven . . minimized/Enums#B. // documentation ```java\nEnums.B("B", 1) /* ordinal 1 */\n``` +//^ reference semanticdb maven . . minimized/Enums#``(). C("C", 5); //^ definition semanticdb maven . . minimized/Enums#C. // documentation ```java\nEnums.C("C", 5) /* ordinal 2 */\n``` +//^ reference semanticdb maven . . minimized/Enums#``(). public String value; // ^^^^^^ reference semanticdb maven jdk 11 java/lang/String# // ^^^^^ definition semanticdb maven . . minimized/Enums#value. // documentation ```java\npublic String value\n``` Enums(String value, int a) { -//^^^^^ reference semanticdb maven . . minimized/Enums#``(). -//^^^^^ reference semanticdb maven . . minimized/Enums#``(). -//^^^^^ reference semanticdb maven . . minimized/Enums#``(). //^^^^^ definition semanticdb maven . . minimized/Enums#``(). // documentation ```java\nprivate Enums(String value, int a)\n``` // ^^^^^^ reference semanticdb maven jdk 11 java/lang/String# diff --git a/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/Fields.java b/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/Fields.java index 8c1ef045..ec614eeb 100644 --- a/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/Fields.java +++ b/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/Fields.java @@ -61,6 +61,7 @@ public static String app() { // ^^^^^^^^^^^ reference semanticdb maven . . minimized/Fields#InnerFields# // ^^^^^^^^^^^ definition local 1 // documentation ```java\nInnerFields innerFields\n``` +// ^^^^^^ reference local 0 // ^^^^^^^^^^^ reference semanticdb maven . . minimized/Fields#InnerFields#``(). InnerStaticFields innerStaticFields = new InnerStaticFields(); // ^^^^^^^^^^^^^^^^^ reference semanticdb maven . . minimized/Fields#InnerStaticFields# diff --git a/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/InnerClasses.java b/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/InnerClasses.java index 9f33cece..0c988658 100644 --- a/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/InnerClasses.java +++ b/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/InnerClasses.java @@ -41,12 +41,15 @@ public enum InnerEnum { A, // ^ definition semanticdb maven . . minimized/InnerClasses#InnerEnum#A. // documentation ```java\nInnerEnum.A /* ordinal 0 */\n``` +// ^ reference semanticdb maven . . minimized/InnerClasses#InnerEnum#``(). B, // ^ definition semanticdb maven . . minimized/InnerClasses#InnerEnum#B. // documentation ```java\nInnerEnum.B /* ordinal 1 */\n``` +// ^ reference semanticdb maven . . minimized/InnerClasses#InnerEnum#``(). C // ^ definition semanticdb maven . . minimized/InnerClasses#InnerEnum#C. // documentation ```java\nInnerEnum.C /* ordinal 2 */\n``` +// ^ reference semanticdb maven . . minimized/InnerClasses#InnerEnum#``(). } public interface InnerInterface { @@ -167,9 +170,6 @@ public static void testEnum(InnerEnum magicEnum) { // ^^^^^^^^ definition semanticdb maven . . minimized/InnerClasses#testEnum(). // documentation ```java\npublic static void testEnum(InnerEnum magicEnum)\n``` // ^^^^^^^^^ reference semanticdb maven . . minimized/InnerClasses#InnerEnum# -// ^^^^^^^^^ reference semanticdb maven . . minimized/InnerClasses#InnerEnum#``(). -// ^^^^^^^^^ reference semanticdb maven . . minimized/InnerClasses#InnerEnum#``(). -// ^^^^^^^^^ reference semanticdb maven . . minimized/InnerClasses#InnerEnum#``(). // ^^^^^^^^^ definition local 6 // documentation ```java\nInnerEnum magicEnum\n``` if (System.nanoTime() > System.currentTimeMillis()) { @@ -238,14 +238,14 @@ public static void testAnon() { // ^^^^^^^^ reference semanticdb maven jdk 11 java/lang/Override# public String apply(String s) { // ^^^^^^ reference semanticdb maven jdk 11 java/lang/String# -// ^^^^^ definition local 10 +// ^^^^^ definition local 9 // documentation ```java\n@Override\npublic String apply(String s)\n``` // relationship is_reference is_implementation semanticdb maven . . minimized/InnerClasses#InnerInterface#apply(). // ^^^^^^ reference semanticdb maven jdk 11 java/lang/String# -// ^ definition local 11 +// ^ definition local 10 // documentation ```java\nString s\n``` return s + "b"; -// ^ reference local 11 +// ^ reference local 10 } }; System.out.println(fn.apply("a")); @@ -261,33 +261,34 @@ public static String app() { // ^^^ definition semanticdb maven . . minimized/InnerClasses#app(). // documentation ```java\npublic static String app()\n``` int a = 42; -// ^ definition local 12 +// ^ definition local 11 // documentation ```java\nint a\n``` InnerStaticClass.innerStaticMethod(); // ^^^^^^^^^^^^^^^^ reference semanticdb maven . . minimized/InnerClasses#InnerStaticClass# // ^^^^^^^^^^^^^^^^^ reference semanticdb maven . . minimized/InnerClasses#InnerStaticClass#innerStaticMethod(). InnerClasses innerClasses = new InnerClasses(a); // ^^^^^^^^^^^^ reference semanticdb maven . . minimized/InnerClasses# -// ^^^^^^^^^^^^ definition local 13 +// ^^^^^^^^^^^^ definition local 12 // documentation ```java\nInnerClasses innerClasses\n``` // ^^^^^^^^^^^^ reference semanticdb maven . . minimized/InnerClasses#``(). -// ^ reference local 12 +// ^ reference local 11 InnerClass innerClass = innerClasses.new InnerClass(a); // ^^^^^^^^^^ reference semanticdb maven . . minimized/InnerClasses#InnerClass# -// ^^^^^^^^^^ definition local 14 +// ^^^^^^^^^^ definition local 13 // documentation ```java\nInnerClass innerClass\n``` +// ^^^^^^^^^^^^ reference local 12 // ^^^^^^^^^^ reference semanticdb maven . . minimized/InnerClasses#InnerClass#``(). -// ^ reference local 12 +// ^ reference local 11 innerClass.innerMethod(); -// ^^^^^^^^^^ reference local 14 +// ^^^^^^^^^^ reference local 13 // ^^^^^^^^^^^ reference semanticdb maven . . minimized/InnerClasses#InnerClass#innerMethod(). System.out.println(runInnerInterface(innerClass, a)); // ^^^^^^ reference semanticdb maven jdk 11 java/lang/System# // ^^^ reference semanticdb maven jdk 11 java/lang/System#out. // ^^^^^^^ reference semanticdb maven jdk 11 java/io/PrintStream#println(+9). // ^^^^^^^^^^^^^^^^^ reference semanticdb maven . . minimized/InnerClasses#runInnerInterface(). -// ^^^^^^^^^^ reference local 14 -// ^ reference local 12 +// ^^^^^^^^^^ reference local 13 +// ^ reference local 11 testEnum(InnerEnum.A); // ^^^^^^^^ reference semanticdb maven . . minimized/InnerClasses#testEnum(). // ^^^^^^^^^ reference semanticdb maven . . minimized/InnerClasses#InnerEnum# diff --git a/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/LombokBuilder.java b/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/LombokBuilder.java index df55acc3..3d98efd2 100644 --- a/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/LombokBuilder.java +++ b/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/LombokBuilder.java @@ -1,22 +1,6 @@ package minimized; @lombok.Builder -//^^^^^ definition semanticdb maven . . minimized/Hello#HelloBuilder#build(). -// documentation ```java\n@SuppressWarnings("all")\npublic Hello build()\n``` -//^^^^^^^ definition local 0 -// documentation ```java\nfinal String message\n``` -//^^^^^^^ definition local 1 -// documentation ```java\nfinal String message\n``` -//^^^^^^^ definition semanticdb maven . . minimized/Hello#HelloBuilder#message(). -// documentation ```java\n@SuppressWarnings("all")\npublic HelloBuilder message(String message)\n``` -// documentation @return {@code this}. -//^^^^^^^ definition semanticdb maven . . minimized/Hello#HelloBuilder#message. -// documentation ```java\n@SuppressWarnings("all")\nprivate String message\n``` -//^^^^^^^ definition semanticdb maven . . minimized/Hello#builder(). -// documentation ```java\n@SuppressWarnings("all")\npublic static HelloBuilder builder()\n``` -//^^^^^^^^ definition semanticdb maven . . minimized/Hello#HelloBuilder#toString(). -// documentation ```java\n@Override\n@SuppressWarnings("all")\npublic String toString()\n``` -// relationship is_reference is_implementation semanticdb maven jdk 11 java/lang/Object#toString(). //^^^^^^^^^^^^^^^ reference local 0 //^^^^^^^^^^^^^^^ reference local 1 //^^^^^^^^^^^^^^^ reference semanticdb maven . . java/ @@ -29,42 +13,54 @@ //^^^^^^^^^^^^^^^ reference semanticdb maven . . java/ //^^^^^^^^^^^^^^^ reference semanticdb maven . . java/ //^^^^^^^^^^^^^^^ reference semanticdb maven . . java/ +//^^^^^^^^^^^^^^^ reference semanticdb maven . . java/lang/ +//^^^^^^^^^^^^^^^ reference semanticdb maven . . java/lang/ +//^^^^^^^^^^^^^^^ reference semanticdb maven . . java/lang/ +//^^^^^^^^^^^^^^^ reference semanticdb maven . . java/lang/ +//^^^^^^^^^^^^^^^ reference semanticdb maven . . java/lang/ +//^^^^^^^^^^^^^^^ reference semanticdb maven . . java/lang/ +//^^^^^^^^^^^^^^^ reference semanticdb maven . . java/lang/ +//^^^^^^^^^^^^^^^ reference semanticdb maven . . java/lang/ +//^^^^^^^^^^^^^^^ reference semanticdb maven . . java/lang/ +//^^^^^^^^^^^^^^^ reference semanticdb maven . . java/lang/ //^^^^^^^^^^^^^^^ reference semanticdb maven . . minimized/Hello# //^^^^^^^^^^^^^^^ reference semanticdb maven . . minimized/Hello# //^^^^^^^^^^^^^^^ reference semanticdb maven . . minimized/Hello# +//^^^^^^^^^^^^^^^ reference semanticdb maven . . minimized/Hello#HelloBuilder# +//^^^^^^^^^^^^^^^ reference semanticdb maven . . minimized/Hello#HelloBuilder# +//^^^^^^^^^^^^^^^ reference semanticdb maven . . minimized/Hello#HelloBuilder#message. +//^^^^^^^^^^^^^^^ reference semanticdb maven . . minimized/Hello#HelloBuilder#message. +//^^^^^^^^^^^^^^^ reference semanticdb maven . . minimized/Hello#HelloBuilder#message. +//^^^^^^^^^^^^^^^ reference semanticdb maven . . minimized/Hello#message. +//^^^^^^^^^^^^^^^ reference semanticdb maven jdk 11 java/lang/Override# //^^^^^^^^^^^^^^^ reference semanticdb maven jdk 11 java/lang/String# //^^^^^^^^^^^^^^^ reference semanticdb maven jdk 11 java/lang/String# //^^^^^^^^^^^^^^^ reference semanticdb maven jdk 11 java/lang/String# +//^^^^^^^^^^^^^^^ reference semanticdb maven jdk 11 java/lang/String# +//^^^^^^^^^^^^^^^ reference semanticdb maven jdk 11 java/lang/SuppressWarnings# +//^^^^^^^^^^^^^^^ reference semanticdb maven jdk 11 java/lang/SuppressWarnings# +//^^^^^^^^^^^^^^^ reference semanticdb maven jdk 11 java/lang/SuppressWarnings# +//^^^^^^^^^^^^^^^ reference semanticdb maven jdk 11 java/lang/SuppressWarnings# +//^^^^^^^^^^^^^^^ reference semanticdb maven jdk 11 java/lang/SuppressWarnings# +//^^^^^^^^^^^^^^^ reference semanticdb maven jdk 11 java/lang/SuppressWarnings# +//^^^^^^^^^^^^^^^ reference semanticdb maven jdk 11 java/lang/SuppressWarnings# +//^^^^^^^^^^^^^^^ reference semanticdb maven jdk 11 java/lang/SuppressWarnings# //^^^^^^^^^^^^^^^ reference semanticdb maven jdk 11 java/lang/SuppressWarnings#value(). //^^^^^^^^^^^^^^^ reference semanticdb maven jdk 11 java/lang/SuppressWarnings#value(). -//^^^^^^^^^^^^^ reference semanticdb maven jdk 11 java/lang/SuppressWarnings# 1:1 -//^^^^^^^^^^^^^ reference semanticdb maven jdk 11 java/lang/SuppressWarnings# 1:1 -//^^^^^^^^^^^^^ reference semanticdb maven jdk 11 java/lang/SuppressWarnings# 1:1 -//^^^^^^^^^^^^^ reference semanticdb maven jdk 11 java/lang/SuppressWarnings# 1:1 -//^^^^^^^^^^^^^ reference semanticdb maven jdk 11 java/lang/SuppressWarnings# 1:1 -//^^^^^^^^^^^^^ reference semanticdb maven jdk 11 java/lang/SuppressWarnings# 1:1 -//^^^^^^^^^^^^^ reference semanticdb maven jdk 11 java/lang/SuppressWarnings# 1:1 -//^^^^^^^^^^^^^ reference semanticdb maven jdk 11 java/lang/SuppressWarnings# 1:1 -//^^^ reference semanticdb maven . . java/lang/ -//^^^ reference semanticdb maven . . java/lang/ -//^^^ reference semanticdb maven . . java/lang/ -//^^^ reference semanticdb maven . . java/lang/ -//^^^ reference semanticdb maven . . java/lang/ -//^^^ reference semanticdb maven . . java/lang/ -//^^^ reference semanticdb maven . . java/lang/ -//^^^ reference semanticdb maven . . java/lang/ -//^^^ reference semanticdb maven . . java/lang/ -//^^^ reference semanticdb maven . . java/lang/ //^^^^^ reference semanticdb maven . . lombok/ -//^^^^^ reference semanticdb maven jdk 11 java/lang/String# -//^^^^^^ reference semanticdb maven . . minimized/Hello#HelloBuilder#message. -//^^^^^^ reference semanticdb maven . . minimized/Hello#HelloBuilder#message. -//^^^^^^ reference semanticdb maven . . minimized/Hello#HelloBuilder#message. -//^^^^^^ reference semanticdb maven . . minimized/Hello#message. -//^^^^^^^ reference semanticdb maven jdk 11 java/lang/Override# -//^^^^^^^^^^^ reference semanticdb maven . . minimized/Hello#HelloBuilder# -//^^^^^^^^^^^ reference semanticdb maven . . minimized/Hello#HelloBuilder# // ^^^^^^^ reference semanticdb maven . . lombok/Builder# +// definition semanticdb maven . . minimized/Hello#HelloBuilder#build(). 1:4 +// documentation ```java\n@SuppressWarnings("all")\npublic Hello build()\n``` +// definition semanticdb maven . . minimized/Hello#builder(). 1:6 +// documentation ```java\n@SuppressWarnings("all")\npublic static HelloBuilder builder()\n``` +// definition semanticdb maven . . minimized/Hello#HelloBuilder#toString(). 1:7 +// documentation ```java\n@Override\n@SuppressWarnings("all")\npublic String toString()\n``` +// relationship is_reference is_implementation semanticdb maven jdk 11 java/lang/Object#toString(). +// definition semanticdb maven . . minimized/Hello#HelloBuilder# 1:11 +// documentation ```java\n@SuppressWarnings("all")\npublic static class HelloBuilder\n``` +// definition semanticdb maven . . minimized/Hello#HelloBuilder#``(). 1:11 +// documentation ```java\n@SuppressWarnings("all")\nHelloBuilder()\n``` +// reference semanticdb maven . . minimized/Hello#HelloBuilder#``(). 1:11 class Hello { // ^^^^^ definition semanticdb maven . . minimized/Hello# // documentation ```java\n@Builder\nclass Hello\n``` @@ -73,6 +69,15 @@ class Hello { // ^^^^^ reference semanticdb maven . . minimized/Hello#``(). →private String message; // ^^^^^^ reference semanticdb maven jdk 11 java/lang/String# +// ^^^^^^^ definition local 0 +// documentation ```java\nfinal String message\n``` +// ^^^^^^^ definition local 1 +// documentation ```java\nfinal String message\n``` +// ^^^^^^^ definition semanticdb maven . . minimized/Hello#HelloBuilder#message(). +// documentation ```java\n@SuppressWarnings("all")\npublic HelloBuilder message(String message)\n``` +// documentation @return {@code this}. +// ^^^^^^^ definition semanticdb maven . . minimized/Hello#HelloBuilder#message. +// documentation ```java\n@SuppressWarnings("all")\nprivate String message\n``` // ^^^^^^^ definition semanticdb maven . . minimized/Hello#message. // documentation ```java\nprivate String message\n``` } diff --git a/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/MinimizedJavaMain.java b/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/MinimizedJavaMain.java index 49f2b166..43b44d83 100644 --- a/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/MinimizedJavaMain.java +++ b/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/MinimizedJavaMain.java @@ -18,6 +18,7 @@ public static void main(String[] args) { TypeVariables.app(new TypeVariables.CT()); // ^^^^^^^^^^^^^ reference semanticdb maven . . minimized/TypeVariables# // ^^^ reference semanticdb maven . . minimized/TypeVariables#app(). +// ^^^^^^^^^^^^^ reference semanticdb maven . . minimized/TypeVariables# // ^^ reference semanticdb maven . . minimized/TypeVariables#CT#``(). System.out.println( // ^^^^^^ reference semanticdb maven jdk 11 java/lang/System# @@ -46,6 +47,8 @@ public static void main(String[] args) { // ^^^ reference semanticdb maven . . minimized/Primitives#app(). + new ParameterizedTypes().app(42, "42") // ^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . minimized/ParameterizedTypes#``(). +// ^^^^^^^ reference semanticdb maven jdk 11 java/lang/Integer# +// ^^^^^^ reference semanticdb maven jdk 11 java/lang/String# // ^^^ reference semanticdb maven . . minimized/ParameterizedTypes#app(). + RawTypes.x.toString() // ^^^^^^^^ reference semanticdb maven . . minimized/RawTypes# diff --git a/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/TabIndented.java b/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/TabIndented.java index 00cd199c..8e623f7e 100644 --- a/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/TabIndented.java +++ b/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/TabIndented.java @@ -16,11 +16,11 @@ public class TabIndented { →→→@Override // ^^^^^^^^ reference semanticdb maven jdk 11 java/lang/Override# →→→public boolean equals(Object other) { -// ^^^^^^ definition local 3 +// ^^^^^^ definition local 2 // documentation ```java\n@Override\npublic boolean equals(Object other)\n``` // relationship is_reference is_implementation semanticdb maven jdk 11 java/lang/Object#equals(). // ^^^^^^ reference semanticdb maven jdk 11 java/lang/Object# -// ^^^^^ definition local 6 +// ^^^^^ definition local 3 // documentation ```java\nObject other\n``` →→→→return false; →→→} diff --git a/tests/unit/src/test/scala/tests/OverridesSuite.scala b/tests/unit/src/test/scala/tests/OverridesSuite.scala index 4aff5d18..15b069af 100644 --- a/tests/unit/src/test/scala/tests/OverridesSuite.scala +++ b/tests/unit/src/test/scala/tests/OverridesSuite.scala @@ -120,8 +120,8 @@ class OverridesSuite extends FunSuite with TempDirectories { |} |""".stripMargin, "example/Parent#Child#toString().", - """example/Parent#toString(). - |java/lang/Object#toString(). + """java/lang/Object#toString(). + |example/Parent#toString(). |""".stripMargin )