diff --git a/scip-java/src/main/scala/com/sourcegraph/scip_java/ScipPrinters.scala b/scip-java/src/main/scala/com/sourcegraph/scip_java/ScipPrinters.scala index af78536ab..65139b859 100644 --- a/scip-java/src/main/scala/com/sourcegraph/scip_java/ScipPrinters.scala +++ b/scip-java/src/main/scala/com/sourcegraph/scip_java/ScipPrinters.scala @@ -199,6 +199,13 @@ object ScipPrinters { .append(info.getEnclosingSymbol) .append("\n") } + if (occ.getEnclosingRangeCount > 0) { + out + .append(prefix) + .append("enclosing_range ") + .append(occ.getEnclosingRangeList.asScala.mkString(" ")) + .append("\n") + } if (info.getKind != Scip.SymbolInformation.Kind.UnspecifiedKind) { out.append(prefix).append("kind ").append(info.getKind).append("\n") } diff --git a/scip-semanticdb/src/main/java/com/sourcegraph/scip_semanticdb/ScipSemanticdb.java b/scip-semanticdb/src/main/java/com/sourcegraph/scip_semanticdb/ScipSemanticdb.java index f9cba6108..1a145f834 100644 --- a/scip-semanticdb/src/main/java/com/sourcegraph/scip_semanticdb/ScipSemanticdb.java +++ b/scip-semanticdb/src/main/java/com/sourcegraph/scip_semanticdb/ScipSemanticdb.java @@ -179,11 +179,30 @@ private void processTypedDocument( occ.getRange().getEndLine(), occ.getRange().getEndCharacter()); Package pkg = packages.packageForSymbol(occ.getSymbol()).orElse(Package.EMPTY); - tdoc.addOccurrences( + Scip.Occurrence.Builder occBuilder = Scip.Occurrence.newBuilder() .addAllRange(range) .setSymbol(typedSymbol(occ.getSymbol(), pkg)) - .setSymbolRoles(role)); + .setSymbolRoles(role); + // Add enclosing_range if it exists + if (occ.hasEnclosingRange()) { + Semanticdb.Range enclosingRange = occ.getEnclosingRange(); + boolean isEnclosingSingleLine = + enclosingRange.getStartLine() == enclosingRange.getEndLine(); + Iterable enclosingRangeInts = + isEnclosingSingleLine + ? Arrays.asList( + enclosingRange.getStartLine(), + enclosingRange.getStartCharacter(), + enclosingRange.getEndCharacter()) + : Arrays.asList( + enclosingRange.getStartLine(), + enclosingRange.getStartCharacter(), + enclosingRange.getEndLine(), + enclosingRange.getEndCharacter()); + occBuilder.addAllEnclosingRange(enclosingRangeInts); + } + tdoc.addOccurrences(occBuilder); } Symtab symtab = new Symtab(doc.semanticdb); for (SymbolInformation info : doc.semanticdb.getSymbolsList()) { diff --git a/semanticdb-java/src/main/java/com/sourcegraph/semanticdb_javac/SemanticdbBuilders.java b/semanticdb-java/src/main/java/com/sourcegraph/semanticdb_javac/SemanticdbBuilders.java index d592efaf7..5fd2650a6 100644 --- a/semanticdb-java/src/main/java/com/sourcegraph/semanticdb_javac/SemanticdbBuilders.java +++ b/semanticdb-java/src/main/java/com/sourcegraph/semanticdb_javac/SemanticdbBuilders.java @@ -52,12 +52,14 @@ public static Semanticdb.Signature signature(Semanticdb.TypeSignature.Builder si // SemanticDB Symbols public static Semanticdb.SymbolOccurrence symbolOccurrence( - String symbol, Semanticdb.Range range, Semanticdb.SymbolOccurrence.Role role) { - return Semanticdb.SymbolOccurrence.newBuilder() + String symbol, Semanticdb.Range range, Semanticdb.SymbolOccurrence.Role role, + java.util.Optional enclosingRange) { + Semanticdb.SymbolOccurrence.Builder builder = Semanticdb.SymbolOccurrence.newBuilder() .setSymbol(symbol) .setRange(range) - .setRole(role) - .build(); + .setRole(role); + enclosingRange.ifPresent(builder::setEnclosingRange); + return builder.build(); } public static Semanticdb.SymbolInformation.Builder symbolInformation(String symbol) { diff --git a/semanticdb-java/src/main/protobuf/semanticdb.proto b/semanticdb-java/src/main/protobuf/semanticdb.proto index 2e72263ca..a671f4689 100644 --- a/semanticdb-java/src/main/protobuf/semanticdb.proto +++ b/semanticdb-java/src/main/protobuf/semanticdb.proto @@ -182,6 +182,10 @@ message SymbolOccurrence { Range range = 1; string symbol = 2; Role role = 3; + // NOTE: this field does not exist in the upstream SemanticDB spec. + // It is added to support SCIP's enclosing_range field. + // This is the range of the nearest non-trivial enclosing AST node. + optional Range enclosing_range = 4; } message Scope { 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 abd02c551..5e8585f6c 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 @@ -110,7 +110,8 @@ 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); + Optional enclosingRange = computeEnclosingRange(tree); + emitSymbolOccurrence(sym, range, role, enclosingRange); if (role == Role.DEFINITION) { // Only emit SymbolInformation for symbols that are defined in this compilation unit. emitSymbolInformation(sym, tree); @@ -118,9 +119,9 @@ private Optional emitSymbolOccurrence( return range; } - private void emitSymbolOccurrence(Element sym, Optional range, Role role) { + private void emitSymbolOccurrence(Element sym, Optional range, Role role, Optional enclosingRange) { if (sym == null) return; - Optional occ = semanticdbOccurrence(sym, range, role); + Optional occ = semanticdbOccurrence(sym, range, role, enclosingRange); occ.ifPresent(occurrences::add); } @@ -298,7 +299,7 @@ private void resolveVariableTree(VariableTree node, TreePath treePath) { 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); + if (typeSym != null) emitSymbolOccurrence(typeSym, range, Role.REFERENCE, Optional.empty()); } } } @@ -462,11 +463,11 @@ private Semanticdb.Range correctForTabs(Semanticdb.Range range, LineMap lineMap, } private Optional semanticdbOccurrence( - Element sym, Optional range, Role role) { + Element sym, Optional range, Role role, Optional enclosingRange) { if (range.isPresent()) { String ssym = semanticdbSymbol(sym); if (!ssym.equals(SemanticdbSymbols.NONE)) { - Semanticdb.SymbolOccurrence occ = symbolOccurrence(ssym, range.get(), role); + Semanticdb.SymbolOccurrence occ = symbolOccurrence(ssym, range.get(), role, enclosingRange); return Optional.of(occ); } else { return Optional.empty(); @@ -476,6 +477,51 @@ private Optional semanticdbOccurrence( } } + /** + * Computes the enclosing range for the given tree node. + * Returns the range of the nearest non-trivial enclosing AST node. + * For definition occurrences, this includes the entire definition including documentation. + * For reference occurrences, this includes the parent expression bounds. + */ + private Optional computeEnclosingRange(Tree tree) { + if (tree == null) return Optional.empty(); + + TreePath path = nodes.get(tree); + if (path == null) return Optional.empty(); + + // For method, class, and variable definitions, use the tree itself as the enclosing range + // since we're processing the definition node + Tree enclosingTree = tree; + if (!(tree instanceof MethodTree || tree instanceof ClassTree || tree instanceof VariableTree)) { + // For non-definition nodes (like references), use the parent + TreePath parentPath = path.getParentPath(); + if (parentPath == null) return Optional.empty(); + enclosingTree = parentPath.getLeaf(); + if (enclosingTree == null || enclosingTree == compUnitTree) return Optional.empty(); + } + + SourcePositions sourcePositions = trees.getSourcePositions(); + int start = (int) sourcePositions.getStartPosition(compUnitTree, enclosingTree); + int end = (int) sourcePositions.getEndPosition(compUnitTree, enclosingTree); + + 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) + .setStartCharacter((int) lineMap.getColumnNumber(start) - 1) + .setEndLine((int) lineMap.getLineNumber(end) - 1) + .setEndCharacter((int) lineMap.getColumnNumber(end) - 1) + .build(); + + range = correctForTabs(range, lineMap, start); + + return Optional.of(range); + } + + return Optional.empty(); + } + private String semanticdbText() { if (source != null) return source; try { diff --git a/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/AbstractClasses.java b/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/AbstractClasses.java index 221e9b617..7c1c01b2f 100644 --- a/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/AbstractClasses.java +++ b/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/AbstractClasses.java @@ -4,6 +4,7 @@ public abstract class AbstractClasses { // ^^^^^^^^^^^^^^^ definition semanticdb maven . . minimized/AbstractClasses# // display_name AbstractClasses // signature_documentation java public abstract class AbstractClasses +// enclosing_range 2 0 8 1 // kind Class // ^^^^^^^^^^^^^^^ definition semanticdb maven . . minimized/AbstractClasses#``(). // display_name @@ -14,6 +15,7 @@ public String defaultImplementation() { // ^^^^^^^^^^^^^^^^^^^^^ definition semanticdb maven . . minimized/AbstractClasses#defaultImplementation(). // display_name defaultImplementation // signature_documentation java public String defaultImplementation() +// enclosing_range 3 2 5 3 // kind Method return ""; } @@ -23,6 +25,7 @@ public String defaultImplementation() { // ^^^^^^^^^^^^^^^^^^^^^^ definition semanticdb maven . . minimized/AbstractClasses#abstractImplementation(). // display_name abstractImplementation // signature_documentation java public abstract String abstractImplementation() +// enclosing_range 7 2 50 // kind AbstractMethod // relationship is_reference is_implementation semanticdb maven . . minimized/SubClasses#abstractImplementation(). } diff --git a/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/AnnotationParameters.java b/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/AnnotationParameters.java index 8dc8786fd..44e9108e8 100644 --- a/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/AnnotationParameters.java +++ b/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/AnnotationParameters.java @@ -4,12 +4,14 @@ // ^^^ definition semanticdb maven . . minimized/Bar# // display_name Bar // signature_documentation java @interface Bar +// enclosing_range 2 0 4 1 // kind Interface // relationship is_implementation semanticdb maven jdk 11 java/lang/annotation/Annotation# →double value(); // ^^^^^ definition semanticdb maven . . minimized/Bar#value(). // display_name value // signature_documentation java public abstract double value() +// enclosing_range 3 1 16 // kind AbstractMethod } @@ -17,12 +19,14 @@ // ^^^^ definition semanticdb maven . . minimized/BarB# // display_name BarB // signature_documentation java @interface BarB +// enclosing_range 6 0 8 1 // kind Interface // relationship is_implementation semanticdb maven jdk 11 java/lang/annotation/Annotation# →boolean value(); // ^^^^^ definition semanticdb maven . . minimized/BarB#value(). // display_name value // signature_documentation java public abstract boolean value() +// enclosing_range 7 1 17 // kind AbstractMethod } @@ -30,6 +34,7 @@ // ^^^^^^^^ definition semanticdb maven . . minimized/Nullable# // display_name Nullable // signature_documentation java @interface Nullable +// enclosing_range 10 0 12 1 // kind Interface // relationship is_implementation semanticdb maven jdk 11 java/lang/annotation/Annotation# →String value() default ""; @@ -37,6 +42,7 @@ // ^^^^^ definition semanticdb maven . . minimized/Nullable#value(). // display_name value // signature_documentation java public abstract String value() +// enclosing_range 11 1 27 // kind AbstractMethod } @@ -45,6 +51,7 @@ // ^^^^^^ definition semanticdb maven . . minimized/BarRef# // display_name BarRef // signature_documentation java @interface BarRef +// enclosing_range 15 0 17 1 // kind Interface // relationship is_implementation semanticdb maven jdk 11 java/lang/annotation/Annotation# →SuppressWarnings value(); @@ -52,6 +59,7 @@ // ^^^^^ definition semanticdb maven . . minimized/BarRef#value(). // display_name value // signature_documentation java public abstract SuppressWarnings value() +// enclosing_range 16 1 26 // kind AbstractMethod } @@ -59,6 +67,7 @@ interface Foo { // ^^^ definition semanticdb maven . . minimized/Foo# // display_name Foo // signature_documentation java interface Foo +// enclosing_range 19 0 35 1 // kind Interface →@Bar(-1d) //^^^ reference semanticdb maven . . minimized/Bar# @@ -66,6 +75,7 @@ interface Foo { // ^^^^ definition semanticdb maven . . minimized/Foo#test(). // display_name test // signature_documentation java @Bar(-1.0)\npublic abstract double test() +// enclosing_range 20 1 21 15 // kind AbstractMethod →@Bar(~5) @@ -77,6 +87,7 @@ interface Foo { // ^^^^^ definition semanticdb maven . . minimized/Foo#test2(). // display_name test2 // signature_documentation java @Bar(~5)\n@SuppressWarnings("unchecked")\npublic abstract double test2() +// enclosing_range 23 1 25 16 // kind AbstractMethod →@BarB(!true) @@ -85,6 +96,7 @@ interface Foo { // ^^^^^ definition semanticdb maven . . minimized/Foo#test3(). // display_name test3 // signature_documentation java @BarB(!true)\npublic abstract double test3() +// enclosing_range 27 1 28 16 // kind AbstractMethod →@Nullable(("what")) @@ -94,6 +106,7 @@ interface Foo { // ^^^^^ definition semanticdb maven . . minimized/Foo#test4(). // display_name test4 // signature_documentation java @Nullable("what")\npublic abstract Foo test4() +// enclosing_range 30 1 31 13 // kind AbstractMethod →@Bar((double) -1) @@ -102,6 +115,7 @@ interface Foo { // ^^^^^^^^ definition semanticdb maven . . minimized/Foo#testCast(). // display_name testCast // signature_documentation java @Bar((double) -1)\npublic abstract double testCast() +// enclosing_range 33 1 34 19 // kind AbstractMethod } @@ -109,6 +123,7 @@ interface TestRef { // ^^^^^^^ definition semanticdb maven . . minimized/TestRef# // display_name TestRef // signature_documentation java interface TestRef +// enclosing_range 37 0 40 1 // kind Interface →@BarRef(@SuppressWarnings(value = "unchecked")) //^^^^^^ reference semanticdb maven . . minimized/BarRef# @@ -118,5 +133,6 @@ interface TestRef { // ^^^^^^^^ definition semanticdb maven . . minimized/TestRef#testCase(). // display_name testCase // signature_documentation java @BarRef(@SuppressWarnings("unchecked"))\npublic abstract double testCase() +// enclosing_range 38 1 39 28 // kind AbstractMethod } diff --git a/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/Annotations.java b/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/Annotations.java index 0c3a9db61..b3cda84ff 100644 --- a/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/Annotations.java +++ b/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/Annotations.java @@ -54,6 +54,7 @@ // ^^^^^^^^^^^ definition semanticdb maven . . minimized/Annotations# // display_name Annotations // signature_documentation java @Documented\n@Retention(RetentionPolicy.RUNTIME)\n@Target({CONSTRUCTOR, FIELD, LOCAL_VARIABLE, METHOD, PACKAGE, PARAMETER, TYPE})\npublic @interface Annotations +// enclosing_range 9 0 24 1 // kind Interface // relationship is_implementation semanticdb maven jdk 11 java/lang/annotation/Annotation# @@ -62,6 +63,7 @@ // ^^^^^ definition semanticdb maven . . minimized/Annotations#value(). // display_name value // signature_documentation java public abstract String value() +// enclosing_range 21 2 28 // kind AbstractMethod String format() default ""; @@ -69,5 +71,6 @@ // ^^^^^^ definition semanticdb maven . . minimized/Annotations#format(). // display_name format // signature_documentation java public abstract String format() +// enclosing_range 23 2 29 // kind AbstractMethod } diff --git a/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/AnnotationsOnParameterizedTypes.java b/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/AnnotationsOnParameterizedTypes.java index e50392d38..396cd8485 100644 --- a/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/AnnotationsOnParameterizedTypes.java +++ b/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/AnnotationsOnParameterizedTypes.java @@ -30,6 +30,7 @@ public interface AnnotationsOnParameterizedTypes { // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ definition semanticdb maven . . minimized/AnnotationsOnParameterizedTypes# // display_name AnnotationsOnParameterizedTypes // signature_documentation java public interface AnnotationsOnParameterizedTypes +// enclosing_range 8 0 15 1 // kind Interface public static AnnotationsOnParameterizedTypes getInstance() { @@ -37,6 +38,7 @@ public static AnnotationsOnParameterizedTypes getInstance() { // ^^^^^^^^^^^ definition semanticdb maven . . minimized/AnnotationsOnParameterizedTypes#getInstance(). // display_name getInstance // signature_documentation java public static AnnotationsOnParameterizedTypes getInstance() +// enclosing_range 10 2 12 3 // kind StaticMethod return new AnnotationsOnParameterizedTypesImpl(); // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . minimized/AnnotationsOnParameterizedTypesImpl#``(). @@ -46,10 +48,12 @@ public static AnnotationsOnParameterizedTypes getInstance() { // ^ definition semanticdb maven . . minimized/AnnotationsOnParameterizedTypes#adapter().[C] // display_name C // signature_documentation java C +// enclosing_range 14 2 74 // kind TypeParameter // ^ definition semanticdb maven . . minimized/AnnotationsOnParameterizedTypes#adapter().[W] // display_name W // signature_documentation java W +// enclosing_range 14 2 74 // kind TypeParameter // ^^^^^^^^ reference semanticdb maven jdk 11 java/util/function/Function# // ^ reference semanticdb maven . . minimized/AnnotationsOnParameterizedTypes#adapter().[W] @@ -57,6 +61,7 @@ public static AnnotationsOnParameterizedTypes getInstance() { // ^^^^^^^ definition semanticdb maven . . minimized/AnnotationsOnParameterizedTypes#adapter(). // display_name adapter // signature_documentation java public abstract Function adapter(Class contract, Class wrappedClass) +// enclosing_range 14 2 74 // kind AbstractMethod // relationship is_reference is_implementation semanticdb maven . . minimized/AnnotationsOnParameterizedTypesImpl#adapter(). // ^^^^^ reference semanticdb maven jdk 11 java/lang/Class# @@ -65,12 +70,14 @@ public static AnnotationsOnParameterizedTypes getInstance() { // display_name contract // signature_documentation java Class contract // enclosing_symbol semanticdb maven . . minimized/AnnotationsOnParameterizedTypes#adapter(). +// enclosing_range 14 32 49 // ^^^^^ reference semanticdb maven jdk 11 java/lang/Class# // ^ reference semanticdb maven . . minimized/AnnotationsOnParameterizedTypes#adapter().[W] // ^^^^^^^^^^^^ definition local 1 // display_name wrappedClass // signature_documentation java Class wrappedClass // enclosing_symbol semanticdb maven . . minimized/AnnotationsOnParameterizedTypes#adapter(). +// enclosing_range 14 51 72 } @@ -78,6 +85,7 @@ class AnnotationsOnParameterizedTypesImpl implements AnnotationsOnParameterizedT // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ definition semanticdb maven . . minimized/AnnotationsOnParameterizedTypesImpl# // display_name AnnotationsOnParameterizedTypesImpl // signature_documentation java class AnnotationsOnParameterizedTypesImpl +// enclosing_range 18 0 41 1 // kind Class // relationship is_implementation semanticdb maven . . minimized/AnnotationsOnParameterizedTypes# // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ definition semanticdb maven . . minimized/AnnotationsOnParameterizedTypesImpl#``(). @@ -92,6 +100,7 @@ class AnnotationsOnParameterizedTypesImpl implements AnnotationsOnParameterizedT // ^^^^^^^^^^^^^^^^^ definition semanticdb maven . . minimized/AnnotationsOnParameterizedTypesImpl#proxyConstructors. // display_name proxyConstructors // signature_documentation java private ConcurrentMap, Constructor> proxyConstructors +// enclosing_range 19 2 96 // kind Field // ^^^^^^^^^^^^^^^^^ reference semanticdb maven jdk 11 java/util/concurrent/ConcurrentHashMap#``(). @@ -101,10 +110,12 @@ public Function adapter(Class contract, Class wrappedClass) { // ^ definition semanticdb maven . . minimized/AnnotationsOnParameterizedTypesImpl#adapter().[C] // display_name C // signature_documentation java C +// enclosing_range 21 2 29 3 // kind TypeParameter // ^ definition semanticdb maven . . minimized/AnnotationsOnParameterizedTypesImpl#adapter().[W] // display_name W // signature_documentation java W +// enclosing_range 21 2 29 3 // kind TypeParameter // ^^^^^^^^ reference semanticdb maven jdk 11 java/util/function/Function# // ^ reference semanticdb maven . . minimized/AnnotationsOnParameterizedTypesImpl#adapter().[W] @@ -112,6 +123,7 @@ public Function adapter(Class contract, Class wrappedClass) { // ^^^^^^^ definition semanticdb maven . . minimized/AnnotationsOnParameterizedTypesImpl#adapter(). // display_name adapter // signature_documentation java @Override\npublic Function adapter(Class contract, Class wrappedClass) +// enclosing_range 21 2 29 3 // kind Method // relationship is_reference is_implementation semanticdb maven . . minimized/AnnotationsOnParameterizedTypes#adapter(). // ^^^^^ reference semanticdb maven jdk 11 java/lang/Class# @@ -120,12 +132,14 @@ public Function adapter(Class contract, Class wrappedClass) { // display_name contract // signature_documentation java Class contract // enclosing_symbol semanticdb maven . . minimized/AnnotationsOnParameterizedTypesImpl#adapter(). +// enclosing_range 22 39 56 // ^^^^^ reference semanticdb maven jdk 11 java/lang/Class# // ^ reference semanticdb maven . . minimized/AnnotationsOnParameterizedTypesImpl#adapter().[W] // ^^^^^^^^^^^^ definition local 3 // display_name wrappedClass // signature_documentation java Class wrappedClass // enclosing_symbol semanticdb maven . . minimized/AnnotationsOnParameterizedTypesImpl#adapter(). +// enclosing_range 22 58 79 Function constructor = getConstructor(contract); // ^^^^^^^^ reference semanticdb maven jdk 11 java/util/function/Function# @@ -135,6 +149,7 @@ public Function adapter(Class contract, Class wrappedClass) { // display_name constructor // signature_documentation java Function constructor // enclosing_symbol semanticdb maven . . minimized/AnnotationsOnParameterizedTypesImpl#adapter(). +// enclosing_range 24 4 74 // kind Variable // ^^^^^^^^^^^^^^ reference semanticdb maven . . minimized/AnnotationsOnParameterizedTypesImpl#getConstructor(). // ^^^^^^^^ reference local 2 @@ -152,6 +167,7 @@ private Function getConstructor(Class contract) { // ^ definition semanticdb maven . . minimized/AnnotationsOnParameterizedTypesImpl#getConstructor().[T] // display_name T // signature_documentation java T +// enclosing_range 31 2 40 3 // kind TypeParameter // ^^^^^^^^ reference semanticdb maven jdk 11 java/util/function/Function# // ^^^^^^^^^^^^^^^^^ reference semanticdb maven jdk 11 java/lang/reflect/InvocationHandler# @@ -159,6 +175,7 @@ private Function getConstructor(Class contract) { // ^^^^^^^^^^^^^^ definition semanticdb maven . . minimized/AnnotationsOnParameterizedTypesImpl#getConstructor(). // display_name getConstructor // signature_documentation java private Function getConstructor(Class contract) +// enclosing_range 31 2 40 3 // kind Method // ^^^^^ reference semanticdb maven jdk 11 java/lang/Class# // ^ reference semanticdb maven . . minimized/AnnotationsOnParameterizedTypesImpl#getConstructor().[T] @@ -166,6 +183,7 @@ private Function getConstructor(Class contract) { // display_name contract // signature_documentation java Class contract // enclosing_symbol semanticdb maven . . minimized/AnnotationsOnParameterizedTypesImpl#getConstructor(). +// enclosing_range 31 60 77 @SuppressWarnings("unchecked") // ^^^^^^^^^^^^^^^^ reference semanticdb maven jdk 11 java/lang/SuppressWarnings# Constructor constructor = (Constructor) proxyConstructors.computeIfAbsent(contract, c -> { @@ -175,6 +193,7 @@ private Function getConstructor(Class contract) { // display_name constructor // signature_documentation java @SuppressWarnings\nConstructor constructor // enclosing_symbol semanticdb maven . . minimized/AnnotationsOnParameterizedTypesImpl#getConstructor(). +// enclosing_range 32 4 35 7 // kind Variable // ^^^^^^^^^^^ reference semanticdb maven jdk 11 java/lang/reflect/Constructor# // ^ reference semanticdb maven . . minimized/AnnotationsOnParameterizedTypesImpl#getConstructor().[T] @@ -185,6 +204,7 @@ private Function getConstructor(Class contract) { // display_name c // signature_documentation java Class c // enclosing_symbol semanticdb maven . . minimized/AnnotationsOnParameterizedTypesImpl#getConstructor(). +// enclosing_range 33 94 95 return null; }); 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 e7dcdf466..11415f8ec 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 @@ -12,6 +12,7 @@ public class AnonymousClasses { // ^^^^^^^^^^^^^^^^ definition semanticdb maven . . minimized/AnonymousClasses# // display_name AnonymousClasses // signature_documentation java @SuppressWarnings("ALL")\npublic class AnonymousClasses +// enclosing_range 4 0 17 1 // kind Class // ^^^^^^^^^^^^^^^^ definition semanticdb maven . . minimized/AnonymousClasses#``(). // display_name @@ -21,11 +22,13 @@ public static int app(int n) { // ^^^ definition semanticdb maven . . minimized/AnonymousClasses#app(). // display_name app // signature_documentation java public static int app(int n) +// enclosing_range 6 2 16 3 // kind StaticMethod // ^ definition local 0 // display_name n // signature_documentation java int n // enclosing_symbol semanticdb maven . . minimized/AnonymousClasses#app(). +// enclosing_range 6 24 29 Function fn = // ^^^^^^^^ reference semanticdb maven jdk 11 java/util/function/Function# // ^^^^^^^ reference semanticdb maven jdk 11 java/lang/Integer# @@ -34,6 +37,7 @@ public static int app(int n) { // display_name fn // signature_documentation java Function fn // enclosing_symbol semanticdb maven . . minimized/AnonymousClasses#app(). +// enclosing_range 7 4 13 10 // kind Variable new Function() { // ^^^^^^^^ reference semanticdb maven jdk 11 java/util/function/Function# @@ -47,6 +51,7 @@ public Integer apply(Integer integer) { // display_name apply // signature_documentation java @Override\npublic Integer apply(Integer integer) // enclosing_symbol local 2 +// enclosing_range 9 10 12 11 // kind Method // relationship is_reference is_implementation semanticdb maven jdk 11 java/util/function/Function#apply(). // ^^^^^^^ reference semanticdb maven jdk 11 java/lang/Integer# @@ -54,6 +59,7 @@ public Integer apply(Integer integer) { // display_name integer // signature_documentation java Integer integer // enclosing_symbol local 3 +// enclosing_range 10 31 46 return integer + n; // ^^^^^^^ reference local 4 // ^ reference local 0 diff --git a/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/Arrays.java b/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/Arrays.java index 1be452b49..a8aa11946 100644 --- a/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/Arrays.java +++ b/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/Arrays.java @@ -4,6 +4,7 @@ public class Arrays { // ^^^^^^ definition semanticdb maven . . minimized/Arrays# // display_name Arrays // signature_documentation java public class Arrays +// enclosing_range 2 0 10 1 // kind Class // ^^^^^^ definition semanticdb maven . . minimized/Arrays#``(). // display_name @@ -14,12 +15,14 @@ public static String app() { // ^^^ definition semanticdb maven . . minimized/Arrays#app(). // display_name app // signature_documentation java public static String app() +// enclosing_range 3 2 9 3 // kind StaticMethod int[] a = {1, 2, 3}; // ^ definition local 0 // display_name a // signature_documentation java int[] a // enclosing_symbol semanticdb maven . . minimized/Arrays#app(). +// enclosing_range 4 4 24 // kind Variable String[] b = {"1", "2", "3"}; // ^^^^^^ reference semanticdb maven jdk 11 java/lang/String# @@ -27,12 +30,14 @@ public static String app() { // display_name b // signature_documentation java String[] b // enclosing_symbol semanticdb maven . . minimized/Arrays#app(). +// enclosing_range 5 4 33 // kind Variable int[][] c = {{1}, {2}, {3}}; // ^ definition local 2 // display_name c // signature_documentation java int[][] c // enclosing_symbol semanticdb maven . . minimized/Arrays#app(). +// enclosing_range 6 4 32 // kind Variable String[][] d = {{"1"}, {"2"}, {"3"}}; // ^^^^^^ reference semanticdb maven jdk 11 java/lang/String# @@ -40,6 +45,7 @@ public static String app() { // display_name d // signature_documentation java String[][] d // enclosing_symbol semanticdb maven . . minimized/Arrays#app(). +// enclosing_range 7 4 41 // kind Variable return b[0] + a[0] + c[1][0] + d[1][0]; // ^ reference local 1 diff --git a/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/ClassOf.java b/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/ClassOf.java index dab68b098..ad3c57e56 100644 --- a/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/ClassOf.java +++ b/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/ClassOf.java @@ -4,6 +4,7 @@ public class ClassOf { // ^^^^^^^ definition semanticdb maven . . minimized/ClassOf# // display_name ClassOf // signature_documentation java public class ClassOf +// enclosing_range 2 0 6 1 // kind Class // ^^^^^^^ definition semanticdb maven . . minimized/ClassOf#``(). // display_name @@ -14,6 +15,7 @@ public static String app() { // ^^^ definition semanticdb maven . . minimized/ClassOf#app(). // display_name app // signature_documentation java public static String app() +// enclosing_range 3 2 5 3 // kind StaticMethod return ClassOf.class.getName(); // ^^^^^^^ reference semanticdb maven . . minimized/ClassOf# diff --git a/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/Docstrings.java b/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/Docstrings.java index 87d65a42d..491eebd02 100644 --- a/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/Docstrings.java +++ b/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/Docstrings.java @@ -5,6 +5,7 @@ public class Docstrings { // ^^^^^^^^^^ definition semanticdb maven . . minimized/Docstrings# // display_name Docstrings // signature_documentation java public class Docstrings +// enclosing_range 3 0 30 1 // kind Class // documentation Example class docstring. // ^^^^^^^^^^ definition semanticdb maven . . minimized/Docstrings#``(). @@ -17,6 +18,7 @@ public class Docstrings { // ^^^^^ definition semanticdb maven . . minimized/Docstrings#field. // display_name field // signature_documentation java public static int field +// enclosing_range 6 2 31 // kind StaticField // documentation Example field docstring. @@ -29,6 +31,7 @@ public static int method() { // ^^^^^^ definition semanticdb maven . . minimized/Docstrings#method(). // display_name method // signature_documentation java public static int method() +// enclosing_range 13 2 15 3 // kind StaticMethod // documentation Example method docstring.\n\n @return 42.\n return 42; @@ -44,12 +47,14 @@ public static int methodParameter(int n) { // ^^^^^^^^^^^^^^^ definition semanticdb maven . . minimized/Docstrings#methodParameter(). // display_name methodParameter // signature_documentation java public static int methodParameter(int n) +// enclosing_range 23 2 25 3 // kind StaticMethod // documentation Example method parameter docstring.\n\n @param n The parameter.\n @return The number + 42.\n // ^ definition local 0 // display_name n // signature_documentation java int n // enclosing_symbol semanticdb maven . . minimized/Docstrings#methodParameter(). +// enclosing_range 23 36 41 return n + 42; // ^ reference local 0 } @@ -59,6 +64,7 @@ public static String app() { // ^^^ definition semanticdb maven . . minimized/Docstrings#app(). // display_name app // signature_documentation java public static String app() +// enclosing_range 27 2 29 3 // kind StaticMethod return String.format("%s%s%s", field, method(), methodParameter(42)); // ^^^^^^ reference semanticdb maven jdk 11 java/lang/String# 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 4b7e459cf..3eb5d1460 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 @@ -14,6 +14,7 @@ enum Enums { // ^^^^^ definition semanticdb maven . . minimized/Enums# // display_name Enums // signature_documentation java enum Enums +// enclosing_range 5 0 19 1 // kind Enum // relationship is_implementation semanticdb maven jdk 11 java/io/Serializable# // relationship is_implementation semanticdb maven jdk 11 java/lang/Comparable# @@ -22,38 +23,45 @@ enum Enums { //^ definition semanticdb maven . . minimized/Enums#A. // display_name A("A", 420) // signature_documentation java Enums.A("A", 420) /* ordinal 0 */ +// enclosing_range 6 2 13 //^ reference semanticdb maven . . minimized/Enums#``(). B("B", 1), //^ definition semanticdb maven . . minimized/Enums#B. // display_name B("B", 1) // signature_documentation java Enums.B("B", 1) /* ordinal 1 */ +// enclosing_range 7 2 11 //^ reference semanticdb maven . . minimized/Enums#``(). C("C", 5); //^ definition semanticdb maven . . minimized/Enums#C. // display_name C("C", 5) // signature_documentation java Enums.C("C", 5) /* ordinal 2 */ +// enclosing_range 8 2 11 //^ reference semanticdb maven . . minimized/Enums#``(). public String value; // ^^^^^^ reference semanticdb maven jdk 11 java/lang/String# // ^^^^^ definition semanticdb maven . . minimized/Enums#value. // display_name value // signature_documentation java public String value +// enclosing_range 9 2 22 // kind Field Enums(String value, int a) { //^^^^^ definition semanticdb maven . . minimized/Enums#``(). // display_name // signature_documentation java private Enums(String value, int a) +// enclosing_range 11 2 13 3 // kind Constructor // ^^^^^^ reference semanticdb maven jdk 11 java/lang/String# // ^^^^^ definition local 0 // display_name value // signature_documentation java String value // enclosing_symbol semanticdb maven . . minimized/Enums#``(). +// enclosing_range 11 8 20 // ^ definition local 1 // display_name a // signature_documentation java int a // enclosing_symbol semanticdb maven . . minimized/Enums#``(). +// enclosing_range 11 22 27 this.value = value; // ^^^^^ reference semanticdb maven . . minimized/Enums#value. // ^^^^^ reference local 0 @@ -64,6 +72,7 @@ public static String app() { // ^^^ definition semanticdb maven . . minimized/Enums#app(). // display_name app // signature_documentation java public static String app() +// enclosing_range 15 2 18 3 // kind StaticMethod String all = Arrays.stream(values()).map(e -> e.value).map(Enums::valueOf).collect(Collectors.toList()).toString(); // ^^^^^^ reference semanticdb maven jdk 11 java/lang/String# @@ -71,6 +80,7 @@ public static String app() { // display_name all // signature_documentation java String all // enclosing_symbol semanticdb maven . . minimized/Enums#app(). +// enclosing_range 16 4 119 // kind Variable // ^^^^^^ reference semanticdb maven jdk 11 java/util/Arrays# // ^^^^^^ reference semanticdb maven jdk 11 java/util/Arrays#stream(). @@ -80,6 +90,7 @@ public static String app() { // display_name e // signature_documentation java Enums e // enclosing_symbol semanticdb maven . . minimized/Enums#app(). +// enclosing_range 16 45 46 // ^ reference local 3 // ^^^^^ reference semanticdb maven . . minimized/Enums#value. // ^^^ reference semanticdb maven jdk 11 java/util/stream/Stream#map(). 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 f7acf3560..5a8a72b66 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 @@ -4,6 +4,7 @@ public class Fields { // ^^^^^^ definition semanticdb maven . . minimized/Fields# // display_name Fields // signature_documentation java public class Fields +// enclosing_range 2 0 33 1 // kind Class // ^^^^^^ definition semanticdb maven . . minimized/Fields#``(). // display_name @@ -13,37 +14,44 @@ public class Fields { // ^^^^^^^^^^^^ definition semanticdb maven . . minimized/Fields#privateField. // display_name privateField // signature_documentation java private final int privateField +// enclosing_range 3 2 37 // kind Field protected int protectedField = 0; // ^^^^^^^^^^^^^^ definition semanticdb maven . . minimized/Fields#protectedField. // display_name protectedField // signature_documentation java protected int protectedField +// enclosing_range 4 2 35 // kind Field public int publicField = 0; // ^^^^^^^^^^^ definition semanticdb maven . . minimized/Fields#publicField. // display_name publicField // signature_documentation java public int publicField +// enclosing_range 5 2 29 // kind Field private static final int staticPrivateField = 0; // ^^^^^^^^^^^^^^^^^^ definition semanticdb maven . . minimized/Fields#staticPrivateField. // display_name staticPrivateField // signature_documentation java private static final int staticPrivateField +// enclosing_range 6 2 50 // kind StaticField protected static int staticProtectedFields = 0; // ^^^^^^^^^^^^^^^^^^^^^ definition semanticdb maven . . minimized/Fields#staticProtectedFields. // display_name staticProtectedFields // signature_documentation java protected static int staticProtectedFields +// enclosing_range 7 2 49 // kind StaticField public static int staticPublicField = 0; // ^^^^^^^^^^^^^^^^^ definition semanticdb maven . . minimized/Fields#staticPublicField. // display_name staticPublicField // signature_documentation java public static int staticPublicField +// enclosing_range 8 2 42 // kind StaticField public class InnerFields { // ^^^^^^^^^^^ definition semanticdb maven . . minimized/Fields#InnerFields# // display_name InnerFields // signature_documentation java public class InnerFields +// enclosing_range 10 2 12 3 // kind Class // ^^^^^^^^^^^ definition semanticdb maven . . minimized/Fields#InnerFields#``(). // display_name @@ -53,6 +61,7 @@ public class InnerFields { // ^^^^^^^^^^^^^^^^ definition semanticdb maven . . minimized/Fields#InnerFields#publicInnerField. // display_name publicInnerField // signature_documentation java public int publicInnerField +// enclosing_range 11 4 46 // kind Field // ^^^^^^^^^^^ reference semanticdb maven . . minimized/Fields#publicField. } @@ -61,6 +70,7 @@ public static class InnerStaticFields { // ^^^^^^^^^^^^^^^^^ definition semanticdb maven . . minimized/Fields#InnerStaticFields# // display_name InnerStaticFields // signature_documentation java public static class InnerStaticFields +// enclosing_range 14 2 17 3 // kind Class // ^^^^^^^^^^^^^^^^^ definition semanticdb maven . . minimized/Fields#InnerStaticFields#``(). // display_name @@ -70,11 +80,13 @@ public static class InnerStaticFields { // ^^^^^^^^^^^^^^^^^^^^^^^^^ definition semanticdb maven . . minimized/Fields#InnerStaticFields#publicNonStaticInnerField. // display_name publicNonStaticInnerField // signature_documentation java public int publicNonStaticInnerField +// enclosing_range 15 4 45 // kind Field public static int publicStaticInnerField = 0; // ^^^^^^^^^^^^^^^^^^^^^^ definition semanticdb maven . . minimized/Fields#InnerStaticFields#publicStaticInnerField. // display_name publicStaticInnerField // signature_documentation java public static int publicStaticInnerField +// enclosing_range 16 4 49 // kind StaticField } @@ -83,6 +95,7 @@ public static String app() { // ^^^ definition semanticdb maven . . minimized/Fields#app(). // display_name app // signature_documentation java public static String app() +// enclosing_range 19 2 32 3 // kind StaticMethod Fields fields = new Fields(); // ^^^^^^ reference semanticdb maven . . minimized/Fields# @@ -90,6 +103,7 @@ public static String app() { // display_name fields // signature_documentation java Fields fields // enclosing_symbol semanticdb maven . . minimized/Fields#app(). +// enclosing_range 20 4 33 // kind Variable // ^^^^^^ reference semanticdb maven . . minimized/Fields#``(). InnerFields innerFields = fields.new InnerFields(); @@ -98,6 +112,7 @@ public static String app() { // display_name innerFields // signature_documentation java InnerFields innerFields // enclosing_symbol semanticdb maven . . minimized/Fields#app(). +// enclosing_range 21 4 55 // kind Variable // ^^^^^^ reference local 0 // ^^^^^^^^^^^ reference semanticdb maven . . minimized/Fields#InnerFields#``(). @@ -107,6 +122,7 @@ public static String app() { // display_name innerStaticFields // signature_documentation java InnerStaticFields innerStaticFields // enclosing_symbol semanticdb maven . . minimized/Fields#app(). +// enclosing_range 22 4 66 // kind Variable // ^^^^^^^^^^^^^^^^^ reference semanticdb maven . . minimized/Fields#InnerStaticFields#``(). return String.valueOf(fields.privateField) diff --git a/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/ForComprehensions.java b/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/ForComprehensions.java index 82a0d54b3..f457d7f93 100644 --- a/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/ForComprehensions.java +++ b/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/ForComprehensions.java @@ -13,6 +13,7 @@ public class ForComprehensions { // ^^^^^^^^^^^^^^^^^ definition semanticdb maven . . minimized/ForComprehensions# // display_name ForComprehensions // signature_documentation java public class ForComprehensions +// enclosing_range 5 0 14 1 // kind Class // ^^^^^^^^^^^^^^^^^ definition semanticdb maven . . minimized/ForComprehensions#``(). // display_name @@ -22,11 +23,13 @@ public static int app(int n) { // ^^^ definition semanticdb maven . . minimized/ForComprehensions#app(). // display_name app // signature_documentation java public static int app(int n) +// enclosing_range 6 2 13 3 // kind StaticMethod // ^ definition local 0 // display_name n // signature_documentation java int n // enclosing_symbol semanticdb maven . . minimized/ForComprehensions#app(). +// enclosing_range 6 24 29 List integers = Collections.singletonList(n); // ^^^^ reference semanticdb maven jdk 11 java/util/List# // ^^^^^^^ reference semanticdb maven jdk 11 java/lang/Integer# @@ -34,6 +37,7 @@ public static int app(int n) { // display_name integers // signature_documentation java List integers // enclosing_symbol semanticdb maven . . minimized/ForComprehensions#app(). +// enclosing_range 7 4 58 // kind Variable // ^^^^^^^^^^^ reference semanticdb maven jdk 11 java/util/Collections# // ^^^^^^^^^^^^^ reference semanticdb maven jdk 11 java/util/Collections#singletonList(). @@ -43,12 +47,14 @@ public static int app(int n) { // display_name result // signature_documentation java int result // enclosing_symbol semanticdb maven . . minimized/ForComprehensions#app(). +// enclosing_range 8 4 19 // kind Variable for (int i : integers) { // ^ definition local 3 // display_name i // signature_documentation java int i // enclosing_symbol semanticdb maven . . minimized/ForComprehensions#app(). +// enclosing_range 9 9 14 // kind Variable // ^^^^^^^^ reference local 1 result += i; 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 f34cbc70b..20ff66459 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 @@ -4,12 +4,14 @@ public class InnerClasses { // ^^^^^^^^^^^^ definition semanticdb maven . . minimized/InnerClasses# // display_name InnerClasses // signature_documentation java public class InnerClasses +// enclosing_range 2 0 98 1 // kind Class private final int exampleField; // ^^^^^^^^^^^^ definition semanticdb maven . . minimized/InnerClasses#exampleField. // display_name exampleField // signature_documentation java private final int exampleField +// enclosing_range 4 2 33 // kind Field private static final String STRING = "asdf"; @@ -17,28 +19,33 @@ public class InnerClasses { // ^^^^^^ definition semanticdb maven . . minimized/InnerClasses#STRING. // display_name STRING // signature_documentation java private static final String STRING +// enclosing_range 6 2 46 // kind StaticField private static final int top = 5; // ^^^ definition semanticdb maven . . minimized/InnerClasses#top. // display_name top // signature_documentation java private static final int top +// enclosing_range 8 2 35 // kind StaticField private static final int bottom = 10; // ^^^^^^ definition semanticdb maven . . minimized/InnerClasses#bottom. // display_name bottom // signature_documentation java private static final int bottom +// enclosing_range 9 2 39 // kind StaticField public InnerClasses(int exampleField) { // ^^^^^^^^^^^^ definition semanticdb maven . . minimized/InnerClasses#``(). // display_name // signature_documentation java public InnerClasses(int exampleField) +// enclosing_range 11 2 13 3 // kind Constructor // ^^^^^^^^^^^^ definition local 0 // display_name exampleField // signature_documentation java int exampleField // enclosing_symbol semanticdb maven . . minimized/InnerClasses#``(). +// enclosing_range 11 22 38 this.exampleField = exampleField; // ^^^^^^^^^^^^ reference semanticdb maven . . minimized/InnerClasses#exampleField. // ^^^^^^^^^^^^ reference local 0 @@ -48,6 +55,7 @@ public enum InnerEnum { // ^^^^^^^^^ definition semanticdb maven . . minimized/InnerClasses#InnerEnum# // display_name InnerEnum // signature_documentation java public enum InnerEnum +// enclosing_range 15 2 19 3 // kind Enum // relationship is_implementation semanticdb maven jdk 11 java/io/Serializable# // relationship is_implementation semanticdb maven jdk 11 java/lang/Comparable# @@ -60,16 +68,19 @@ public enum InnerEnum { // ^ definition semanticdb maven . . minimized/InnerClasses#InnerEnum#A. // display_name A // signature_documentation java InnerEnum.A /* ordinal 0 */ +// enclosing_range 16 4 5 // ^ reference semanticdb maven . . minimized/InnerClasses#InnerEnum#``(). B, // ^ definition semanticdb maven . . minimized/InnerClasses#InnerEnum#B. // display_name B // signature_documentation java InnerEnum.B /* ordinal 1 */ +// enclosing_range 17 4 5 // ^ reference semanticdb maven . . minimized/InnerClasses#InnerEnum#``(). C // ^ definition semanticdb maven . . minimized/InnerClasses#InnerEnum#C. // display_name C // signature_documentation java InnerEnum.C /* ordinal 2 */ +// enclosing_range 18 4 5 // ^ reference semanticdb maven . . minimized/InnerClasses#InnerEnum#``(). } @@ -77,20 +88,24 @@ public interface InnerInterface { // ^^^^^^^^^^^^^^ definition semanticdb maven . . minimized/InnerClasses#InnerInterface# // display_name InnerInterface // signature_documentation java public interface InnerInterface +// enclosing_range 21 2 23 3 // kind Interface // ^ definition semanticdb maven . . minimized/InnerClasses#InnerInterface#[A] // display_name A // signature_documentation java A +// enclosing_range 21 2 23 3 // kind TypeParameter // ^ definition semanticdb maven . . minimized/InnerClasses#InnerInterface#[B] // display_name B // signature_documentation java B +// enclosing_range 21 2 23 3 // kind TypeParameter B apply(A a); // ^ reference semanticdb maven . . minimized/InnerClasses#InnerInterface#[B] // ^^^^^ definition semanticdb maven . . minimized/InnerClasses#InnerInterface#apply(). // display_name apply // signature_documentation java public abstract B apply(A a) +// enclosing_range 22 4 17 // kind AbstractMethod // relationship is_reference is_implementation semanticdb maven . . minimized/InnerClasses#InnerClass#apply(). // ^ reference semanticdb maven . . minimized/InnerClasses#InnerInterface#[A] @@ -98,18 +113,21 @@ public interface InnerInterface { // display_name a // signature_documentation java A a // enclosing_symbol semanticdb maven . . minimized/InnerClasses#InnerInterface#apply(). +// enclosing_range 22 12 15 } public @interface InnerAnnotation { // ^^^^^^^^^^^^^^^ definition semanticdb maven . . minimized/InnerClasses#InnerAnnotation# // display_name InnerAnnotation // signature_documentation java public @interface InnerAnnotation +// enclosing_range 25 2 27 3 // kind Interface // relationship is_implementation semanticdb maven jdk 11 java/lang/annotation/Annotation# int value(); // ^^^^^ definition semanticdb maven . . minimized/InnerClasses#InnerAnnotation#value(). // display_name value // signature_documentation java public abstract int value() +// enclosing_range 26 4 16 // kind AbstractMethod } @@ -124,6 +142,7 @@ public static class InnerStaticClass { // ^^^^^^^^^^^^^^^^ definition semanticdb maven . . minimized/InnerClasses#InnerStaticClass# // display_name InnerStaticClass // signature_documentation java @SuppressWarnings(STRING + " ")\n@InnerAnnotation(top / bottom)\npublic static class InnerStaticClass +// enclosing_range 29 2 34 3 // kind Class // ^^^^^^^^^^^^^^^^ definition semanticdb maven . . minimized/InnerClasses#InnerStaticClass#``(). // display_name @@ -134,6 +153,7 @@ public static void innerStaticMethod() {} // ^^^^^^^^^^^^^^^^^ definition semanticdb maven . . minimized/InnerClasses#InnerStaticClass#innerStaticMethod(). // display_name innerStaticMethod // signature_documentation java public static void innerStaticMethod() +// enclosing_range 33 4 45 // kind StaticMethod } @@ -141,6 +161,7 @@ public class InnerClass implements InnerInterface { // ^^^^^^^^^^ definition semanticdb maven . . minimized/InnerClasses#InnerClass# // display_name InnerClass // signature_documentation java public class InnerClass +// enclosing_range 36 2 51 3 // kind Class // relationship is_implementation semanticdb maven . . minimized/InnerClasses#InnerInterface# // ^^^^^^^^^^^^^^ reference semanticdb maven . . minimized/InnerClasses#InnerInterface# @@ -150,17 +171,20 @@ public class InnerClass implements InnerInterface { // ^^^^^ definition semanticdb maven . . minimized/InnerClasses#InnerClass#field. // display_name field // signature_documentation java private final int field +// enclosing_range 37 4 28 // kind Field public InnerClass(int field) { // ^^^^^^^^^^ definition semanticdb maven . . minimized/InnerClasses#InnerClass#``(). // display_name // signature_documentation java public InnerClass(int field) +// enclosing_range 39 4 41 5 // kind Constructor // ^^^^^ definition local 2 // display_name field // signature_documentation java int field // enclosing_symbol semanticdb maven . . minimized/InnerClasses#InnerClass#``(). +// enclosing_range 39 22 31 this.field = field; // ^^^^^ reference semanticdb maven . . minimized/InnerClasses#InnerClass#field. // ^^^^^ reference local 2 @@ -170,6 +194,7 @@ public void innerMethod() { // ^^^^^^^^^^^ definition semanticdb maven . . minimized/InnerClasses#InnerClass#innerMethod(). // display_name innerMethod // signature_documentation java public void innerMethod() +// enclosing_range 43 4 45 5 // kind Method System.out.println(field + exampleField); // ^^^^^^ reference semanticdb maven jdk 11 java/lang/System# @@ -186,6 +211,7 @@ public Integer apply(Integer integer) { // ^^^^^ definition semanticdb maven . . minimized/InnerClasses#InnerClass#apply(). // display_name apply // signature_documentation java @Override\npublic Integer apply(Integer integer) +// enclosing_range 47 4 50 5 // kind Method // relationship is_reference is_implementation semanticdb maven . . minimized/InnerClasses#InnerInterface#apply(). // ^^^^^^^ reference semanticdb maven jdk 11 java/lang/Integer# @@ -193,6 +219,7 @@ public Integer apply(Integer integer) { // display_name integer // signature_documentation java Integer integer // enclosing_symbol semanticdb maven . . minimized/InnerClasses#InnerClass#apply(). +// enclosing_range 48 25 40 return field * integer; // ^^^^^ reference semanticdb maven . . minimized/InnerClasses#InnerClass#field. // ^^^^^^^ reference local 3 @@ -203,15 +230,18 @@ private static B runInnerInterface(InnerInterface fn, A a) { // ^ definition semanticdb maven . . minimized/InnerClasses#runInnerInterface().[A] // display_name A // signature_documentation java A +// enclosing_range 53 2 55 3 // kind TypeParameter // ^ definition semanticdb maven . . minimized/InnerClasses#runInnerInterface().[B] // display_name B // signature_documentation java B +// enclosing_range 53 2 55 3 // kind TypeParameter // ^ reference semanticdb maven . . minimized/InnerClasses#runInnerInterface().[B] // ^^^^^^^^^^^^^^^^^ definition semanticdb maven . . minimized/InnerClasses#runInnerInterface(). // display_name runInnerInterface // signature_documentation java private static B runInnerInterface(InnerInterface fn, A a) +// enclosing_range 53 2 55 3 // kind StaticMethod // ^^^^^^^^^^^^^^ reference semanticdb maven . . minimized/InnerClasses#InnerInterface# // ^ reference semanticdb maven . . minimized/InnerClasses#runInnerInterface().[A] @@ -220,11 +250,13 @@ private static B runInnerInterface(InnerInterface fn, A a) { // display_name fn // signature_documentation java InnerInterface fn // enclosing_symbol semanticdb maven . . minimized/InnerClasses#runInnerInterface(). +// enclosing_range 53 44 67 // ^ reference semanticdb maven . . minimized/InnerClasses#runInnerInterface().[A] // ^ definition local 5 // display_name a // signature_documentation java A a // enclosing_symbol semanticdb maven . . minimized/InnerClasses#runInnerInterface(). +// enclosing_range 53 69 72 return fn.apply(a); // ^^ reference local 4 // ^^^^^ reference semanticdb maven . . minimized/InnerClasses#InnerInterface#apply(). @@ -235,12 +267,14 @@ public static void testEnum(InnerEnum magicEnum) { // ^^^^^^^^ definition semanticdb maven . . minimized/InnerClasses#testEnum(). // display_name testEnum // signature_documentation java public static void testEnum(InnerEnum magicEnum) +// enclosing_range 57 2 74 3 // kind StaticMethod // ^^^^^^^^^ reference semanticdb maven . . minimized/InnerClasses#InnerEnum# // ^^^^^^^^^ definition local 6 // display_name magicEnum // signature_documentation java InnerEnum magicEnum // enclosing_symbol semanticdb maven . . minimized/InnerClasses#testEnum(). +// enclosing_range 57 30 49 if (System.nanoTime() > System.currentTimeMillis()) { // ^^^^^^ reference semanticdb maven jdk 11 java/lang/System# // ^^^^^^^^ reference semanticdb maven jdk 11 java/lang/System#nanoTime(). @@ -294,6 +328,7 @@ public static void testAnon() { // ^^^^^^^^ definition semanticdb maven . . minimized/InnerClasses#testAnon(). // display_name testAnon // signature_documentation java public static void testAnon() +// enclosing_range 76 2 85 3 // kind StaticMethod InnerInterface fn = // ^^^^^^^^^^^^^^ reference semanticdb maven . . minimized/InnerClasses#InnerInterface# @@ -303,6 +338,7 @@ public static void testAnon() { // display_name fn // signature_documentation java InnerInterface fn // enclosing_symbol semanticdb maven . . minimized/InnerClasses#testAnon(). +// enclosing_range 77 4 83 10 // kind Variable new InnerInterface() { // ^^^^^^^^^^^^^^ reference semanticdb maven . . minimized/InnerClasses#InnerInterface# @@ -316,6 +352,7 @@ public String apply(String s) { // display_name apply // signature_documentation java @Override\npublic String apply(String s) // enclosing_symbol local 8 +// enclosing_range 79 10 82 11 // kind Method // relationship is_reference is_implementation semanticdb maven . . minimized/InnerClasses#InnerInterface#apply(). // ^^^^^^ reference semanticdb maven jdk 11 java/lang/String# @@ -323,6 +360,7 @@ public String apply(String s) { // display_name s // signature_documentation java String s // enclosing_symbol local 9 +// enclosing_range 80 30 38 return s + "b"; // ^ reference local 10 } @@ -340,12 +378,14 @@ public static String app() { // ^^^ definition semanticdb maven . . minimized/InnerClasses#app(). // display_name app // signature_documentation java public static String app() +// enclosing_range 87 2 97 3 // kind StaticMethod int a = 42; // ^ definition local 11 // display_name a // signature_documentation java int a // enclosing_symbol semanticdb maven . . minimized/InnerClasses#app(). +// enclosing_range 88 4 15 // kind Variable InnerStaticClass.innerStaticMethod(); // ^^^^^^^^^^^^^^^^ reference semanticdb maven . . minimized/InnerClasses#InnerStaticClass# @@ -356,6 +396,7 @@ public static String app() { // display_name innerClasses // signature_documentation java InnerClasses innerClasses // enclosing_symbol semanticdb maven . . minimized/InnerClasses#app(). +// enclosing_range 90 4 52 // kind Variable // ^^^^^^^^^^^^ reference semanticdb maven . . minimized/InnerClasses#``(). // ^ reference local 11 @@ -365,6 +406,7 @@ public static String app() { // display_name innerClass // signature_documentation java InnerClass innerClass // enclosing_symbol semanticdb maven . . minimized/InnerClasses#app(). +// enclosing_range 91 4 59 // kind Variable // ^^^^^^^^^^^^ reference local 12 // ^^^^^^^^^^ reference semanticdb maven . . minimized/InnerClasses#InnerClass#``(). diff --git a/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/Interfaces.java b/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/Interfaces.java index 4ad676630..7a9f607e4 100644 --- a/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/Interfaces.java +++ b/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/Interfaces.java @@ -4,11 +4,13 @@ public interface Interfaces { // ^^^^^^^^^^ definition semanticdb maven . . minimized/Interfaces# // display_name Interfaces // signature_documentation java public interface Interfaces +// enclosing_range 2 0 10 1 // kind Interface static void staticInterfaceMethod() {} // ^^^^^^^^^^^^^^^^^^^^^ definition semanticdb maven . . minimized/Interfaces#staticInterfaceMethod(). // display_name staticInterfaceMethod // signature_documentation java public static void staticInterfaceMethod() +// enclosing_range 3 2 40 // kind StaticMethod String abstractInterfaceMethod(); @@ -16,6 +18,7 @@ static void staticInterfaceMethod() {} // ^^^^^^^^^^^^^^^^^^^^^^^ definition semanticdb maven . . minimized/Interfaces#abstractInterfaceMethod(). // display_name abstractInterfaceMethod // signature_documentation java public abstract String abstractInterfaceMethod() +// enclosing_range 5 2 35 // kind AbstractMethod // relationship is_reference is_implementation semanticdb maven . . minimized/SubClasses#abstractInterfaceMethod(). @@ -24,6 +27,7 @@ default String defaultInterfaceMethod() { // ^^^^^^^^^^^^^^^^^^^^^^ definition semanticdb maven . . minimized/Interfaces#defaultInterfaceMethod(). // display_name defaultInterfaceMethod // signature_documentation java public default String defaultInterfaceMethod() +// enclosing_range 7 2 9 3 // kind Method return "default"; } @@ -33,11 +37,13 @@ interface BookService { // ^^^^^^^^^^^ definition semanticdb maven . . minimized/BookService# // display_name BookService // signature_documentation java interface BookService +// enclosing_range 12 0 14 1 // kind Interface void checkPages(); // ^^^^^^^^^^ definition semanticdb maven . . minimized/BookService#checkPages(). // display_name checkPages // signature_documentation java public abstract void checkPages() +// enclosing_range 13 2 20 // kind AbstractMethod } @@ -45,18 +51,21 @@ interface MyService { // ^^^^^^^^^ definition semanticdb maven . . minimized/MyService# // display_name MyService // signature_documentation java interface MyService +// enclosing_range 16 0 22 1 // kind Interface BookService bookService(); //^^^^^^^^^^^ reference semanticdb maven . . minimized/BookService# // ^^^^^^^^^^^ definition semanticdb maven . . minimized/MyService#bookService(). // display_name bookService // signature_documentation java public abstract BookService bookService() +// enclosing_range 17 2 28 // kind AbstractMethod default void example() { // ^^^^^^^ definition semanticdb maven . . minimized/MyService#example(). // display_name example // signature_documentation java public default void example() +// enclosing_range 19 2 21 3 // kind Method bookService().checkPages(); // ^^^^^^^^^^^ reference semanticdb maven . . minimized/MyService#bookService(). 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 01161039a..27ecd1bba 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 @@ -52,33 +52,40 @@ // definition semanticdb maven . . minimized/Hello#HelloBuilder#build(). 1:4 // display_name build // signature_documentation java @SuppressWarnings("all")\npublic Hello build() +// enclosing_range 2 0 15 // kind Method // definition semanticdb maven . . minimized/Hello#builder(). 1:6 // display_name builder // signature_documentation java @SuppressWarnings("all")\npublic static HelloBuilder builder() +// enclosing_range 2 0 15 // kind StaticMethod // definition semanticdb maven . . minimized/Hello#HelloBuilder#toString(). 1:7 // display_name toString // signature_documentation java @Override\n@SuppressWarnings("all")\npublic String toString() +// enclosing_range 2 0 15 // kind Method // relationship is_reference is_implementation semanticdb maven jdk 11 java/lang/Object#toString(). // definition semanticdb maven . . minimized/Hello#HelloBuilder# 1:11 // display_name HelloBuilder // signature_documentation java @SuppressWarnings("all")\npublic static class HelloBuilder +// enclosing_range 2 0 15 // kind Class // definition semanticdb maven . . minimized/Hello#HelloBuilder#``(). 1:11 // display_name // signature_documentation java @SuppressWarnings("all")\nHelloBuilder() +// enclosing_range 2 0 15 // kind Constructor // reference semanticdb maven . . minimized/Hello#HelloBuilder#``(). 1:11 class Hello { // ^^^^^ definition semanticdb maven . . minimized/Hello# // display_name Hello // signature_documentation java @Builder\nclass Hello +// enclosing_range 2 0 5 1 // kind Class // ^^^^^ definition semanticdb maven . . minimized/Hello#``(). // display_name // signature_documentation java @SuppressWarnings("all")\nHello(String message) +// enclosing_range 2 0 15 // kind Constructor // ^^^^^ reference semanticdb maven . . minimized/Hello#``(). →private String message; @@ -87,21 +94,26 @@ class Hello { // display_name message // signature_documentation java final String message // enclosing_symbol semanticdb maven . . minimized/Hello#``(). +// enclosing_range 2 0 15 // ^^^^^^^ definition local 1 // display_name message // signature_documentation java final String message // enclosing_symbol semanticdb maven . . minimized/Hello#HelloBuilder#message(). +// enclosing_range 2 0 15 // ^^^^^^^ definition semanticdb maven . . minimized/Hello#HelloBuilder#message(). // display_name message // signature_documentation java @SuppressWarnings("all")\npublic HelloBuilder message(String message) +// enclosing_range 2 0 15 // kind Method // documentation @return {@code this}. // ^^^^^^^ definition semanticdb maven . . minimized/Hello#HelloBuilder#message. // display_name message // signature_documentation java @SuppressWarnings("all")\nprivate String message +// enclosing_range 2 0 15 // kind Field // ^^^^^^^ definition semanticdb maven . . minimized/Hello#message. // display_name message // signature_documentation java private String message +// enclosing_range 4 1 24 // kind Field } diff --git a/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/Methods.java b/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/Methods.java index 26bb5c11d..2d8a0879f 100644 --- a/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/Methods.java +++ b/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/Methods.java @@ -4,6 +4,7 @@ public class Methods { // ^^^^^^^ definition semanticdb maven . . minimized/Methods# // display_name Methods // signature_documentation java public class Methods +// enclosing_range 2 0 27 1 // kind Class // ^^^^^^^ definition semanticdb maven . . minimized/Methods#``(). // display_name @@ -13,11 +14,13 @@ private int overload(int value) { // ^^^^^^^^ definition semanticdb maven . . minimized/Methods#overload(). // display_name overload // signature_documentation java private int overload(int value) +// enclosing_range 3 2 5 3 // kind Method // ^^^^^ definition local 0 // display_name value // signature_documentation java int value // enclosing_symbol semanticdb maven . . minimized/Methods#overload(). +// enclosing_range 3 23 32 return value + 1; // ^^^^^ reference local 0 } @@ -27,12 +30,14 @@ private String overload(String value) { // ^^^^^^^^ definition semanticdb maven . . minimized/Methods#overload(+1). // display_name overload // signature_documentation java private String overload(String value) +// enclosing_range 7 2 9 3 // kind Method // ^^^^^^ reference semanticdb maven jdk 11 java/lang/String# // ^^^^^ definition local 1 // display_name value // signature_documentation java String value // enclosing_symbol semanticdb maven . . minimized/Methods#overload(+1). +// enclosing_range 7 26 38 return value + "1"; // ^^^^^ reference local 1 } @@ -41,11 +46,13 @@ private static int staticOverload(int value) { // ^^^^^^^^^^^^^^ definition semanticdb maven . . minimized/Methods#staticOverload(). // display_name staticOverload // signature_documentation java private static int staticOverload(int value) +// enclosing_range 11 2 13 3 // kind StaticMethod // ^^^^^ definition local 2 // display_name value // signature_documentation java int value // enclosing_symbol semanticdb maven . . minimized/Methods#staticOverload(). +// enclosing_range 11 36 45 return value + 1; // ^^^^^ reference local 2 } @@ -55,12 +62,14 @@ private static String staticOverload(String value) { // ^^^^^^^^^^^^^^ definition semanticdb maven . . minimized/Methods#staticOverload(+1). // display_name staticOverload // signature_documentation java private static String staticOverload(String value) +// enclosing_range 15 2 17 3 // kind StaticMethod // ^^^^^^ reference semanticdb maven jdk 11 java/lang/String# // ^^^^^ definition local 3 // display_name value // signature_documentation java String value // enclosing_symbol semanticdb maven . . minimized/Methods#staticOverload(+1). +// enclosing_range 15 39 51 return value + "1"; // ^^^^^ reference local 3 } @@ -70,16 +79,19 @@ public static String app(int n, String m) throws RuntimeException, IndexOutOfBou // ^^^ definition semanticdb maven . . minimized/Methods#app(). // display_name app // signature_documentation java public static String app(int n, String m) throws RuntimeException, IndexOutOfBoundsException +// enclosing_range 19 2 26 3 // kind StaticMethod // ^ definition local 4 // display_name n // signature_documentation java int n // enclosing_symbol semanticdb maven . . minimized/Methods#app(). +// enclosing_range 19 27 32 // ^^^^^^ reference semanticdb maven jdk 11 java/lang/String# // ^ definition local 5 // display_name m // signature_documentation java String m // enclosing_symbol semanticdb maven . . minimized/Methods#app(). +// enclosing_range 19 34 42 // ^^^^^^^^^^^^^^^^ reference semanticdb maven jdk 11 java/lang/RuntimeException# // ^^^^^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven jdk 11 java/lang/IndexOutOfBoundsException# Methods methods = new Methods(); @@ -88,6 +100,7 @@ public static String app(int n, String m) throws RuntimeException, IndexOutOfBou // display_name methods // signature_documentation java Methods methods // enclosing_symbol semanticdb maven . . minimized/Methods#app(). +// enclosing_range 20 4 36 // kind Variable // ^^^^^^^ reference semanticdb maven . . minimized/Methods#``(). int a = staticOverload(n); @@ -95,6 +108,7 @@ public static String app(int n, String m) throws RuntimeException, IndexOutOfBou // display_name a // signature_documentation java int a // enclosing_symbol semanticdb maven . . minimized/Methods#app(). +// enclosing_range 21 4 30 // kind Variable // ^^^^^^^^^^^^^^ reference semanticdb maven . . minimized/Methods#staticOverload(). // ^ reference local 4 @@ -104,6 +118,7 @@ public static String app(int n, String m) throws RuntimeException, IndexOutOfBou // display_name b // signature_documentation java String b // enclosing_symbol semanticdb maven . . minimized/Methods#app(). +// enclosing_range 22 4 33 // kind Variable // ^^^^^^^^^^^^^^ reference semanticdb maven . . minimized/Methods#staticOverload(+1). // ^ reference local 5 @@ -112,6 +127,7 @@ public static String app(int n, String m) throws RuntimeException, IndexOutOfBou // display_name c // signature_documentation java int c // enclosing_symbol semanticdb maven . . minimized/Methods#app(). +// enclosing_range 23 4 32 // kind Variable // ^^^^^^^ reference local 6 // ^^^^^^^^ reference semanticdb maven . . minimized/Methods#overload(). @@ -122,6 +138,7 @@ public static String app(int n, String m) throws RuntimeException, IndexOutOfBou // display_name d // signature_documentation java String d // enclosing_symbol semanticdb maven . . minimized/Methods#app(). +// enclosing_range 24 4 35 // kind Variable // ^^^^^^^ reference local 6 // ^^^^^^^^ reference semanticdb maven . . minimized/Methods#overload(+1). 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 1b8476b29..2b8bb9693 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 @@ -8,6 +8,7 @@ public class MinimizedJavaMain { // ^^^^^^^^^^^^^^^^^ definition semanticdb maven . . minimized/MinimizedJavaMain# // display_name MinimizedJavaMain // signature_documentation java @Annotations(value = "value", format = "format")\npublic class MinimizedJavaMain +// enclosing_range 2 0 20 1 // kind Class // ^^^^^^^^^^^^^^^^^ definition semanticdb maven . . minimized/MinimizedJavaMain#``(). // display_name @@ -17,12 +18,14 @@ public static void main(String[] args) { // ^^^^ definition semanticdb maven . . minimized/MinimizedJavaMain#main(). // display_name main // signature_documentation java public static void main(String[] args) +// enclosing_range 4 2 19 3 // kind StaticMethod // ^^^^^^ reference semanticdb maven jdk 11 java/lang/String# // ^^^^ definition local 0 // display_name args // signature_documentation java String[] args // enclosing_symbol semanticdb maven . . minimized/MinimizedJavaMain#main(). +// enclosing_range 4 26 39 TypeVariables.app(new TypeVariables.CT()); // ^^^^^^^^^^^^^ reference semanticdb maven . . minimized/TypeVariables# // ^^^ reference semanticdb maven . . minimized/TypeVariables#app(). diff --git a/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/ParameterizedTypes.java b/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/ParameterizedTypes.java index 081bf2e76..3754566d0 100644 --- a/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/ParameterizedTypes.java +++ b/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/ParameterizedTypes.java @@ -21,6 +21,7 @@ public class ParameterizedTypes { // ^^^^^^^^^^^^^^^^^^ definition semanticdb maven . . minimized/ParameterizedTypes# // display_name ParameterizedTypes // signature_documentation java public class ParameterizedTypes +// enclosing_range 7 0 19 1 // kind Class // ^^^^^^^^^^^^^^^^^^ definition semanticdb maven . . minimized/ParameterizedTypes#``(). // display_name @@ -29,16 +30,19 @@ public class ParameterizedTypes { // ^ definition semanticdb maven . . minimized/ParameterizedTypes#[A] // display_name A // signature_documentation java A +// enclosing_range 7 0 19 1 // kind TypeParameter // ^ definition semanticdb maven . . minimized/ParameterizedTypes#[B] // display_name B // signature_documentation java B extends String +// enclosing_range 7 0 19 1 // kind TypeParameter // ^^^^^^ reference semanticdb maven jdk 11 java/lang/String# public & Iterator> void iteratorable(List list) {} // ^ definition semanticdb maven . . minimized/ParameterizedTypes#iteratorable().[T] // display_name T // signature_documentation java T extends Iterable & Iterator +// enclosing_range 8 2 81 // kind TypeParameter // ^^^^^^^^ reference semanticdb maven jdk 11 java/lang/Iterable# // ^ reference semanticdb maven . . minimized/ParameterizedTypes#[A] @@ -47,6 +51,7 @@ public & Iterator> void iteratorable(List list) {} // ^^^^^^^^^^^^ definition semanticdb maven . . minimized/ParameterizedTypes#iteratorable(). // display_name iteratorable // signature_documentation java public & Iterator> void iteratorable(List list) +// enclosing_range 8 2 81 // kind Method // ^^^^ reference semanticdb maven jdk 11 java/util/List# // ^ reference semanticdb maven . . minimized/ParameterizedTypes#iteratorable().[T] @@ -54,23 +59,27 @@ public & Iterator> void iteratorable(List list) {} // display_name list // signature_documentation java List list // enclosing_symbol semanticdb maven . . minimized/ParameterizedTypes#iteratorable(). +// enclosing_range 8 65 77 public String app(A a, B b) { // ^^^^^^ reference semanticdb maven jdk 11 java/lang/String# // ^^^ definition semanticdb maven . . minimized/ParameterizedTypes#app(). // display_name app // signature_documentation java public String app(A a, B b) +// enclosing_range 10 2 12 3 // kind Method // ^ reference semanticdb maven . . minimized/ParameterizedTypes#[A] // ^ definition local 1 // display_name a // signature_documentation java A a // enclosing_symbol semanticdb maven . . minimized/ParameterizedTypes#app(). +// enclosing_range 10 20 23 // ^ reference semanticdb maven . . minimized/ParameterizedTypes#[B] // ^ definition local 2 // display_name b // signature_documentation java B b // enclosing_symbol semanticdb maven . . minimized/ParameterizedTypes#app(). +// enclosing_range 10 25 28 return a.toString() + b; // ^ reference local 1 // ^^^^^^^^ reference semanticdb maven jdk 11 java/lang/Object#toString(). @@ -83,6 +92,7 @@ public String app(A a, B b) { // ^^^^^^^ definition semanticdb maven . . minimized/ParameterizedTypes#doStuff(). // display_name doStuff // signature_documentation java public Map doStuff() +// enclosing_range 14 2 60 // kind Method public Quadruplet createQuadruplet() { return null; } @@ -93,12 +103,14 @@ public String app(A a, B b) { // ^^^^^^^^^^^^^^^^ definition semanticdb maven . . minimized/ParameterizedTypes#createQuadruplet(). // display_name createQuadruplet // signature_documentation java public Quadruplet createQuadruplet() +// enclosing_range 16 2 91 // kind Method public static class Quadruplet {} // ^^^^^^^^^^ definition semanticdb maven . . minimized/ParameterizedTypes#Quadruplet# // display_name Quadruplet // signature_documentation java public static class Quadruplet +// enclosing_range 18 2 47 // kind Class // ^^^^^^^^^^ definition semanticdb maven . . minimized/ParameterizedTypes#Quadruplet#``(). // display_name @@ -107,17 +119,21 @@ public static class Quadruplet {} // ^ definition semanticdb maven . . minimized/ParameterizedTypes#Quadruplet#[T] // display_name T // signature_documentation java T +// enclosing_range 18 2 47 // kind TypeParameter // ^ definition semanticdb maven . . minimized/ParameterizedTypes#Quadruplet#[S] // display_name S // signature_documentation java S +// enclosing_range 18 2 47 // kind TypeParameter // ^ definition semanticdb maven . . minimized/ParameterizedTypes#Quadruplet#[X] // display_name X // signature_documentation java X +// enclosing_range 18 2 47 // kind TypeParameter // ^ definition semanticdb maven . . minimized/ParameterizedTypes#Quadruplet#[Y] // display_name Y // signature_documentation java Y +// enclosing_range 18 2 47 // kind TypeParameter } diff --git a/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/Primitives.java b/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/Primitives.java index 9aee96598..fe35c34fd 100644 --- a/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/Primitives.java +++ b/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/Primitives.java @@ -9,6 +9,7 @@ public class Primitives { // ^^^^^^^^^^ definition semanticdb maven . . minimized/Primitives# // display_name Primitives // signature_documentation java public class Primitives +// enclosing_range 4 0 19 1 // kind Class // ^^^^^^^^^^ definition semanticdb maven . . minimized/Primitives#``(). // display_name @@ -19,6 +20,7 @@ public static String app() { // ^^^ definition semanticdb maven . . minimized/Primitives#app(). // display_name app // signature_documentation java public static String app() +// enclosing_range 5 2 16 3 // kind StaticMethod Random random = new Random(); // ^^^^^^ reference semanticdb maven jdk 11 java/util/Random# @@ -26,6 +28,7 @@ public static String app() { // display_name random // signature_documentation java Random random // enclosing_symbol semanticdb maven . . minimized/Primitives#app(). +// enclosing_range 6 4 33 // kind Variable // ^^^^^^ reference semanticdb maven jdk 11 java/util/Random#``(). byte a = (byte) random.nextInt(); @@ -33,6 +36,7 @@ public static String app() { // display_name a // signature_documentation java byte a // enclosing_symbol semanticdb maven . . minimized/Primitives#app(). +// enclosing_range 7 4 37 // kind Variable // ^^^^^^ reference local 0 // ^^^^^^^ reference semanticdb maven jdk 11 java/util/Random#nextInt(). @@ -41,6 +45,7 @@ public static String app() { // display_name b // signature_documentation java short b // enclosing_symbol semanticdb maven . . minimized/Primitives#app(). +// enclosing_range 8 4 39 // kind Variable // ^^^^^^ reference local 0 // ^^^^^^^ reference semanticdb maven jdk 11 java/util/Random#nextInt(). @@ -49,6 +54,7 @@ public static String app() { // display_name c // signature_documentation java int c // enclosing_symbol semanticdb maven . . minimized/Primitives#app(). +// enclosing_range 9 4 29 // kind Variable // ^^^^^^ reference local 0 // ^^^^^^^ reference semanticdb maven jdk 11 java/util/Random#nextInt(). @@ -57,6 +63,7 @@ public static String app() { // display_name d // signature_documentation java long d // enclosing_symbol semanticdb maven . . minimized/Primitives#app(). +// enclosing_range 10 4 31 // kind Variable // ^^^^^^ reference local 0 // ^^^^^^^^ reference semanticdb maven jdk 11 java/util/Random#nextLong(). @@ -65,6 +72,7 @@ public static String app() { // display_name e // signature_documentation java char e // enclosing_symbol semanticdb maven . . minimized/Primitives#app(). +// enclosing_range 11 4 37 // kind Variable // ^^^^^^ reference local 0 // ^^^^^^^ reference semanticdb maven jdk 11 java/util/Random#nextInt(). @@ -73,6 +81,7 @@ public static String app() { // display_name f // signature_documentation java float f // enclosing_symbol semanticdb maven . . minimized/Primitives#app(). +// enclosing_range 12 4 42 // kind Variable // ^^^^^^ reference local 0 // ^^^^^^^^^^ reference semanticdb maven jdk 11 java/util/Random#nextDouble(). @@ -81,6 +90,7 @@ public static String app() { // display_name g // signature_documentation java double g // enclosing_symbol semanticdb maven . . minimized/Primitives#app(). +// enclosing_range 13 4 44 // kind Variable // ^^^^^^ reference local 0 // ^^^^^^^^^^ reference semanticdb maven jdk 11 java/util/Random#nextDouble(). @@ -89,6 +99,7 @@ public static String app() { // display_name h // signature_documentation java boolean h // enclosing_symbol semanticdb maven . . minimized/Primitives#app(). +// enclosing_range 14 4 37 // kind Variable // ^^^^^^ reference local 0 // ^^^^^^^^^^^ reference semanticdb maven jdk 11 java/util/Random#nextBoolean(). @@ -107,5 +118,6 @@ public static void test() {} // ^^^^ definition semanticdb maven . . minimized/Primitives#test(). // display_name test // signature_documentation java public static void test() +// enclosing_range 18 2 30 // kind StaticMethod } diff --git a/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/RawTypes.java b/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/RawTypes.java index 76c44028e..d1079ac9e 100644 --- a/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/RawTypes.java +++ b/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/RawTypes.java @@ -15,6 +15,7 @@ public class RawTypes { // ^^^^^^^^ definition semanticdb maven . . minimized/RawTypes# // display_name RawTypes // signature_documentation java @SuppressWarnings("ALL")\npublic class RawTypes +// enclosing_range 5 0 8 1 // kind Class // ^^^^^^^^ definition semanticdb maven . . minimized/RawTypes#``(). // display_name @@ -25,6 +26,7 @@ public class RawTypes { // ^ definition semanticdb maven . . minimized/RawTypes#x. // display_name x // signature_documentation java public static final List x +// enclosing_range 7 2 61 // kind StaticField // ^^^^^^^^^^^ reference semanticdb maven jdk 11 java/util/Collections# // ^^^^^^^^^^^^^ reference semanticdb maven jdk 11 java/util/Collections#singletonList(). diff --git a/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/SubClasses.java b/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/SubClasses.java index 04a4c1db7..644a5b220 100644 --- a/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/SubClasses.java +++ b/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/SubClasses.java @@ -4,6 +4,7 @@ public class SubClasses extends AbstractClasses implements Interfaces { // ^^^^^^^^^^ definition semanticdb maven . . minimized/SubClasses# // display_name SubClasses // signature_documentation java public class SubClasses +// enclosing_range 2 0 21 1 // kind Class // relationship is_implementation semanticdb maven . . minimized/AbstractClasses# // relationship is_implementation semanticdb maven . . minimized/Interfaces# @@ -21,6 +22,7 @@ public String abstractImplementation() { // ^^^^^^^^^^^^^^^^^^^^^^ definition semanticdb maven . . minimized/SubClasses#abstractImplementation(). // display_name abstractImplementation // signature_documentation java @Override\npublic String abstractImplementation() +// enclosing_range 4 2 7 3 // kind Method // relationship is_reference is_implementation semanticdb maven . . minimized/AbstractClasses#abstractImplementation(). return "abstract"; @@ -33,6 +35,7 @@ public String abstractInterfaceMethod() { // ^^^^^^^^^^^^^^^^^^^^^^^ definition semanticdb maven . . minimized/SubClasses#abstractInterfaceMethod(). // display_name abstractInterfaceMethod // signature_documentation java @Override\npublic String abstractInterfaceMethod() +// enclosing_range 9 2 12 3 // kind Method // relationship is_reference is_implementation semanticdb maven . . minimized/Interfaces#abstractInterfaceMethod(). return "abstractInterface"; @@ -43,6 +46,7 @@ public static String app() { // ^^^ definition semanticdb maven . . minimized/SubClasses#app(). // display_name app // signature_documentation java public static String app() +// enclosing_range 14 2 20 3 // kind StaticMethod SubClasses s = new SubClasses(); // ^^^^^^^^^^ reference semanticdb maven . . minimized/SubClasses# @@ -50,6 +54,7 @@ public static String app() { // display_name s // signature_documentation java SubClasses s // enclosing_symbol semanticdb maven . . minimized/SubClasses#app(). +// enclosing_range 15 4 36 // kind Variable // ^^^^^^^^^^ reference semanticdb maven . . minimized/SubClasses#``(). return s.abstractImplementation() 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 30a3e7a2f..e98bfd9cd 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 @@ -4,6 +4,7 @@ public class TabIndented { // ^^^^^^^^^^^ definition semanticdb maven . . minimized/TabIndented# // display_name TabIndented // signature_documentation java public class TabIndented +// enclosing_range 2 0 21 1 // kind Class // ^^^^^^^^^^^ definition semanticdb maven . . minimized/TabIndented#``(). // display_name @@ -13,6 +14,7 @@ public class TabIndented { // ^^^ definition semanticdb maven . . minimized/TabIndented#app(). // display_name app // signature_documentation java public void app() +// enclosing_range 3 1 20 2 // kind Method →→Object o = new Object() { //^^^^^^ reference semanticdb maven jdk 11 java/lang/Object# @@ -20,6 +22,7 @@ public class TabIndented { // display_name o // signature_documentation java Object o // enclosing_symbol semanticdb maven . . minimized/TabIndented#app(). +// enclosing_range 4 2 19 4 // kind Variable // ^^^^^^ reference semanticdb maven jdk 11 java/lang/Object# →→→@Override @@ -29,6 +32,7 @@ public class TabIndented { // display_name equals // signature_documentation java @Override\npublic boolean equals(Object other) // enclosing_symbol local 1 +// enclosing_range 5 3 8 4 // kind Method // relationship is_reference is_implementation semanticdb maven jdk 11 java/lang/Object#equals(). // ^^^^^^ reference semanticdb maven jdk 11 java/lang/Object# @@ -36,6 +40,7 @@ public class TabIndented { // display_name other // signature_documentation java Object other // enclosing_symbol local 2 +// enclosing_range 6 25 37 →→→→return false; →→→} @@ -46,6 +51,7 @@ public class TabIndented { // display_name hashCode // signature_documentation java @Override\npublic int hashCode() // enclosing_symbol local 1 +// enclosing_range 10 3 13 4 // kind Method // relationship is_reference is_implementation semanticdb maven jdk 11 java/lang/Object#hashCode(). →→→→return System.identityHashCode(this); @@ -61,6 +67,7 @@ public class TabIndented { // display_name toString // signature_documentation java @Override\npublic String toString() // enclosing_symbol local 1 +// enclosing_range 15 3 18 4 // kind Method // relationship is_reference is_implementation semanticdb maven jdk 11 java/lang/Object#toString(). →→→→return ""; diff --git a/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/TypeAnnotations.java b/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/TypeAnnotations.java index 4bc4407e4..62b0bf24e 100644 --- a/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/TypeAnnotations.java +++ b/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/TypeAnnotations.java @@ -19,12 +19,14 @@ // ^^^^^^^^^^^^^^ definition semanticdb maven . . minimized/TypeAnnotation# // display_name TypeAnnotation // signature_documentation java @Target({ElementType.TYPE_USE})\n@interface TypeAnnotation +// enclosing_range 5 0 8 1 // kind Interface // relationship is_implementation semanticdb maven jdk 11 java/lang/annotation/Annotation# int integer() default 1; // ^^^^^^^ definition semanticdb maven . . minimized/TypeAnnotation#integer(). // display_name integer // signature_documentation java public abstract int integer() +// enclosing_range 7 4 28 // kind AbstractMethod } @@ -33,10 +35,12 @@ class ClassProcessed<@TypeAnnotation T extends Number> { // ^^^^^^^^^^^^^^ definition semanticdb maven . . minimized/ClassProcessed# // display_name ClassProcessed // signature_documentation java class ClassProcessed +// enclosing_range 11 0 16 1 // kind Class // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ definition semanticdb maven . . minimized/ClassProcessed#[T] // display_name T // signature_documentation java T extends Number +// enclosing_range 11 0 16 1 // kind TypeParameter // ^^^^^^^^^^^^^^ reference semanticdb maven . . minimized/TypeAnnotation# // ^^^^^^ reference semanticdb maven jdk 11 java/lang/Number# @@ -45,6 +49,7 @@ public ClassProcessed() { // ^^^^^^^^^^^^^^ definition semanticdb maven . . minimized/ClassProcessed#``(). // display_name // signature_documentation java public ClassProcessed() +// enclosing_range 13 4 15 5 // kind Constructor String s = new @TypeAnnotation String(); // ^^^^^^ reference semanticdb maven jdk 11 java/lang/String# @@ -52,6 +57,7 @@ public ClassProcessed() { // display_name s // signature_documentation java String s // enclosing_symbol semanticdb maven . . minimized/ClassProcessed#``(). +// enclosing_range 14 8 48 // kind Variable // ^^^^^^^^^^^^^^ reference semanticdb maven . . minimized/TypeAnnotation# // ^^^^^^ reference semanticdb maven jdk 11 java/lang/String# diff --git a/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/TypeVariables.java b/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/TypeVariables.java index ba2aa79c3..0ce89b3ea 100644 --- a/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/TypeVariables.java +++ b/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/TypeVariables.java @@ -5,6 +5,7 @@ public class TypeVariables { // ^^^^^^^^^^^^^ definition semanticdb maven . . minimized/TypeVariables# // display_name TypeVariables // signature_documentation java public class TypeVariables +// enclosing_range 3 0 26 1 // kind Class // documentation Example from https://docs.oracle.com/javase/specs/jls/se8/html/jls-4.html#jls-4.4 // ^^^^^^^^^^^^^ definition semanticdb maven . . minimized/TypeVariables#``(). @@ -15,6 +16,7 @@ static class C { // ^ definition semanticdb maven . . minimized/TypeVariables#C# // display_name C // signature_documentation java static class C +// enclosing_range 4 2 10 3 // kind Class // ^ definition semanticdb maven . . minimized/TypeVariables#C#``(). // display_name @@ -24,18 +26,21 @@ public void mCPublic() {} // ^^^^^^^^ definition semanticdb maven . . minimized/TypeVariables#C#mCPublic(). // display_name mCPublic // signature_documentation java public void mCPublic() +// enclosing_range 5 4 29 // kind Method protected void mCProtected() {} // ^^^^^^^^^^^ definition semanticdb maven . . minimized/TypeVariables#C#mCProtected(). // display_name mCProtected // signature_documentation java protected void mCProtected() +// enclosing_range 7 4 35 // kind Method void mCPackage() {} // ^^^^^^^^^ definition semanticdb maven . . minimized/TypeVariables#C#mCPackage(). // display_name mCPackage // signature_documentation java void mCPackage() +// enclosing_range 9 4 23 // kind Method } @@ -43,11 +48,13 @@ interface I { // ^ definition semanticdb maven . . minimized/TypeVariables#I# // display_name I // signature_documentation java interface I +// enclosing_range 12 2 14 3 // kind Interface void mI(); // ^^ definition semanticdb maven . . minimized/TypeVariables#I#mI(). // display_name mI // signature_documentation java public abstract void mI() +// enclosing_range 13 4 14 // kind AbstractMethod // relationship is_reference is_implementation semanticdb maven . . minimized/TypeVariables#CT#mI(). } @@ -56,6 +63,7 @@ static class CT extends C implements I { // ^^ definition semanticdb maven . . minimized/TypeVariables#CT# // display_name CT // signature_documentation java static class CT +// enclosing_range 16 2 18 3 // kind Class // relationship is_implementation semanticdb maven . . minimized/TypeVariables#C# // relationship is_implementation semanticdb maven . . minimized/TypeVariables#I# @@ -69,6 +77,7 @@ public void mI() {} // ^^ definition semanticdb maven . . minimized/TypeVariables#CT#mI(). // display_name mI // signature_documentation java public void mI() +// enclosing_range 17 4 23 // kind Method // relationship is_reference is_implementation semanticdb maven . . minimized/TypeVariables#I#mI(). } @@ -77,18 +86,21 @@ public static void app(T t) { // ^ definition semanticdb maven . . minimized/TypeVariables#app().[T] // display_name T // signature_documentation java T extends C & I +// enclosing_range 20 2 25 3 // kind TypeParameter // ^ reference semanticdb maven . . minimized/TypeVariables#C# // ^ reference semanticdb maven . . minimized/TypeVariables#I# // ^^^ definition semanticdb maven . . minimized/TypeVariables#app(). // display_name app // signature_documentation java public static void app(T t) +// enclosing_range 20 2 25 3 // kind StaticMethod // ^ reference semanticdb maven . . minimized/TypeVariables#app().[T] // ^ definition local 0 // display_name t // signature_documentation java T t // enclosing_symbol semanticdb maven . . minimized/TypeVariables#app(). +// enclosing_range 20 43 46 t.mI(); // ^ reference local 0 // ^^ reference semanticdb maven . . minimized/TypeVariables#I#mI().