diff --git a/build.sbt b/build.sbt index 839157bd..4df7d8f0 100644 --- a/build.sbt +++ b/build.sbt @@ -154,7 +154,7 @@ lazy val javacPlugin = project .inAll ) ) - .dependsOn(semanticdb) + .dependsOn(semanticdb, scipProto) lazy val scipProto = project .in(file("scip-java-proto")) @@ -693,6 +693,11 @@ lazy val fatjarPackageSettings = List[Def.Setting[_]]( MergeStrategy.discard case PathList("META-INF", "versions", "9", "module-info.class") => MergeStrategy.discard + // Bazel BUILD files live next to *.proto sources in our subprojects; they are + // not needed at runtime and would conflict when multiple proto modules are + // merged into the same fat jar. + case PathList("BUILD") => + MergeStrategy.discard case x => val oldStrategy = (assembly / assemblyMergeStrategy).value oldStrategy(x) diff --git a/scip-java/src/main/scala/com/sourcegraph/scip_java/commands/IndexSemanticdbCommand.scala b/scip-java/src/main/scala/com/sourcegraph/scip_java/commands/IndexSemanticdbCommand.scala index 194c1a85..f3f32a00 100644 --- a/scip-java/src/main/scala/com/sourcegraph/scip_java/commands/IndexSemanticdbCommand.scala +++ b/scip-java/src/main/scala/com/sourcegraph/scip_java/commands/IndexSemanticdbCommand.scala @@ -14,6 +14,7 @@ import com.sourcegraph.scip_semanticdb.ConsoleScipSemanticdbReporter import com.sourcegraph.scip_semanticdb.ScipOutputFormat import com.sourcegraph.scip_semanticdb.ScipSemanticdb import com.sourcegraph.scip_semanticdb.ScipSemanticdbOptions +import com.sourcegraph.scip_semanticdb.ScipShardAggregator import moped.annotations._ import moped.cli.Application import moped.cli.Command @@ -60,6 +61,13 @@ final case class IndexSemanticdbCommand( "Maven->Maven or Gradle->Gradle projects because those build tools compile sources to classfiles inside directories." ) allowExportingGlobalSymbolsFromDirectoryEntries: Boolean = true, + @Description( + "If true, walk targetroots for *.scip shards (META-INF/scip/...) emitted by the " + + "compiler plugin instead of *.semanticdb files. The aggregator rewrites placeholder " + + "symbols into the final 'scip-java' scheme and merges per-source shards into the " + + "output index." + ) + useScipShards: Boolean = false, @Inline() app: Application = Application.default ) extends Command { @@ -108,7 +116,10 @@ final case class IndexSemanticdbCommand( allowEmptyIndex, allowExportingGlobalSymbolsFromDirectoryEntries ) - ScipSemanticdb.run(options) + if (useScipShards) + ScipShardAggregator.run(options) + else + ScipSemanticdb.run(options) postPackages(packages) if (!app.reporter.hasErrors()) { app.info(options.output.toString) diff --git a/scip-java/src/main/scala/com/sourcegraph/scip_java/commands/SnapshotCommand.scala b/scip-java/src/main/scala/com/sourcegraph/scip_java/commands/SnapshotCommand.scala index 6b342573..9ac166cf 100644 --- a/scip-java/src/main/scala/com/sourcegraph/scip_java/commands/SnapshotCommand.scala +++ b/scip-java/src/main/scala/com/sourcegraph/scip_java/commands/SnapshotCommand.scala @@ -51,31 +51,37 @@ case class SnapshotCommand( attrs: BasicFileAttributes ): FileVisitResult = { if (scipPattern.matches(file)) { - foundScipFile = true val index = Scip.Index.parseFrom(Files.readAllBytes(file)) - val root = URI.create(index.getMetadata.getProjectRoot) - index - .getDocumentsList - .asScala - .foreach { doc => - val sourcepath = Paths.get(root.resolve(doc.getRelativePath)) - val source = - new String( - Files.readAllBytes(sourcepath), - StandardCharsets.UTF_8 + // Skip per-source shards emitted by the compiler plugin (those don't have a + // project_root). The aggregator produces a single top-level index file that + // carries the project_root and is the canonical input for snapshot rendering. + val rawProjectRoot = index.getMetadata.getProjectRoot + if (rawProjectRoot.nonEmpty) { + foundScipFile = true + val projectRoot = URI.create(rawProjectRoot) + index + .getDocumentsList + .asScala + .foreach { doc => + val sourcepath = Paths.get(projectRoot.resolve(doc.getRelativePath)) + val source = + new String( + Files.readAllBytes(sourcepath), + StandardCharsets.UTF_8 + ) + val document = ScipPrinters.printTextDocument( + doc, + source, + CommentSyntax.default ) - val document = ScipPrinters.printTextDocument( - doc, - source, - CommentSyntax.default - ) - val snapshotOutput = output.resolve(doc.getRelativePath) - Files.createDirectories(snapshotOutput.getParent) - Files.write( - snapshotOutput, - document.getBytes(StandardCharsets.UTF_8) - ) - } + val snapshotOutput = output.resolve(doc.getRelativePath) + Files.createDirectories(snapshotOutput.getParent) + Files.write( + snapshotOutput, + document.getBytes(StandardCharsets.UTF_8) + ) + } + } } super.visitFile(file, attrs) } diff --git a/scip-semanticdb/src/main/java/com/sourcegraph/scip_semanticdb/ScipShardAggregator.java b/scip-semanticdb/src/main/java/com/sourcegraph/scip_semanticdb/ScipShardAggregator.java new file mode 100644 index 00000000..96458b33 --- /dev/null +++ b/scip-semanticdb/src/main/java/com/sourcegraph/scip_semanticdb/ScipShardAggregator.java @@ -0,0 +1,317 @@ +package com.sourcegraph.scip_semanticdb; + +import com.google.protobuf.CodedInputStream; +import com.sourcegraph.Scip; + +import java.io.IOException; +import java.io.InputStream; +import java.nio.file.FileSystems; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.PathMatcher; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Enumeration; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; +import java.util.jar.JarEntry; +import java.util.jar.JarFile; + +/** + * Aggregates per-source {@code *.scip} shards into a single {@link Scip.Index}. + * + *

Steps: + * + *

    + *
  1. Walk all targetroots for {@code *.scip} shards (and {@code *.jar} files containing them). + *
  2. Parse each shard into a {@link Scip.Index} containing exactly one {@link Scip.Document}. + *
  3. Rewrite placeholder global symbols ({@code ". . . . "} prefix) into the final {@code + * "scip-java maven g a v ..."} form via {@link SymbolRewriter}. + *
  4. Deduplicate documents by {@code relative_path}, merging occurrences/symbols. + *
  5. Compute inverse {@code is_implementation+is_reference} relationships across the project. + *
  6. Emit the metadata block and all documents through {@link ScipWriter}. + *
+ */ +public final class ScipShardAggregator { + + private final ScipWriter writer; + private final ScipSemanticdbOptions options; + private final SymbolRewriter rewriter; + + public ScipShardAggregator( + ScipWriter writer, ScipSemanticdbOptions options, SymbolRewriter rewriter) { + this.writer = writer; + this.options = options; + this.rewriter = rewriter; + } + + public static void run(ScipSemanticdbOptions options) throws IOException { + try (ScipWriter writer = new ScipWriter(options)) { + PackageTable packages = new PackageTable(options); + SymbolRewriter rewriter = new SymbolRewriter(packages); + new ScipShardAggregator(writer, options, rewriter).run(); + writer.build(); + } + } + + private void run() throws IOException { + List shards = ScipShardWalker.findScipShards(options); + Collections.sort(shards); + if (options.reporter.hasErrors()) return; + if (shards.isEmpty() && !options.allowEmptyIndex) { + options.reporter.error( + "No SCIP shard files found. " + + "This typically means that `scip-java` is unable to automatically " + + "index this codebase. If you are using Gradle or Maven, please report an issue to " + + "https://github.com/sourcegraph/scip-java and include steps to reproduce. " + + "If you are using a different build tool, make sure that you have followed all " + + "of the steps from https://sourcegraph.github.io/scip-java/docs/manual-configuration.html"); + return; + } + options.reporter.startProcessing(shards.size()); + writer.emitTyped(metadata()); + + // Deduplicate documents by relative_path. We rewrite symbols as we go so all merging happens + // on final-form strings. + LinkedHashMap merged = new LinkedHashMap<>(); + InverseReferenceRelationships inverse = new InverseReferenceRelationships(); + + for (Path shard : shards) { + try { + for (Scip.Index shardIndex : parseShard(shard)) { + for (Scip.Document doc : shardIndex.getDocumentsList()) { + Scip.Document rewritten = rewriteDocument(doc); + inverse.observe(rewritten); + Scip.Document.Builder existing = merged.get(rewritten.getRelativePath()); + if (existing == null) { + merged.put(rewritten.getRelativePath(), rewritten.toBuilder()); + } else { + mergeInto(existing, rewritten); + } + } + } + } catch (IOException e) { + options.reporter.error("invalid SCIP shard: " + shard); + options.reporter.error(e); + } + options.reporter.processedOneItem(); + } + + for (Scip.Document.Builder doc : merged.values()) { + Scip.Document withInverse = inverse.applyTo(doc.build()); + writer.emitTyped(Scip.Index.newBuilder().addDocuments(withInverse).build()); + } + + options.reporter.endProcessing(); + } + + // --- shard parsing ------------------------------------------------------- + + private static final PathMatcher JAR_PATTERN = + FileSystems.getDefault().getPathMatcher("glob:**.jar"); + + private List parseShard(Path shardPath) throws IOException { + if (JAR_PATTERN.matches(shardPath)) { + List out = new ArrayList<>(); + try (JarFile jar = new JarFile(shardPath.toFile())) { + Enumeration entries = jar.entries(); + while (entries.hasMoreElements()) { + JarEntry entry = entries.nextElement(); + if (entry.getName().endsWith(".scip")) { + try (InputStream is = jar.getInputStream(entry)) { + byte[] bytes = InputStreamBytes.readAll(is); + out.add(parseBytes(bytes)); + } + } + } + } + return out; + } + return Collections.singletonList(parseBytes(Files.readAllBytes(shardPath))); + } + + private static Scip.Index parseBytes(byte[] bytes) throws IOException { + CodedInputStream in = CodedInputStream.newInstance(bytes); + in.setRecursionLimit(1000); + return Scip.Index.parseFrom(in); + } + + // --- rewriting ----------------------------------------------------------- + + private Scip.Document rewriteDocument(Scip.Document doc) { + Scip.Document.Builder builder = doc.toBuilder().clearOccurrences().clearSymbols(); + for (Scip.Occurrence occ : doc.getOccurrencesList()) { + builder.addOccurrences(occ.toBuilder().setSymbol(rewriter.rewrite(occ.getSymbol())).build()); + } + for (Scip.SymbolInformation info : doc.getSymbolsList()) { + builder.addSymbols(rewriteSymbol(info)); + } + return builder.build(); + } + + private Scip.SymbolInformation rewriteSymbol(Scip.SymbolInformation info) { + Scip.SymbolInformation.Builder builder = info.toBuilder(); + builder.setSymbol(rewriter.rewrite(info.getSymbol())); + if (!info.getEnclosingSymbol().isEmpty()) { + builder.setEnclosingSymbol(rewriter.rewrite(info.getEnclosingSymbol())); + } + builder.clearRelationships(); + for (Scip.Relationship rel : info.getRelationshipsList()) { + builder.addRelationships( + rel.toBuilder().setSymbol(rewriter.rewrite(rel.getSymbol())).build()); + } + return builder.build(); + } + + private void mergeInto(Scip.Document.Builder target, Scip.Document fresh) { + // Deduplicate occurrences by (range, symbol, roles) so that shards produced by repeated + // compilation rounds (or by multiple targetroots) don't introduce duplicate entries. + // Variants that differ only by enclosing_range are collapsed, preferring the one that has it. + LinkedHashMap occurrences = new LinkedHashMap<>(); + for (Scip.Occurrence occ : target.getOccurrencesList()) putOccurrence(occurrences, occ); + for (Scip.Occurrence occ : fresh.getOccurrencesList()) putOccurrence(occurrences, occ); + target.clearOccurrences().addAllOccurrences(occurrences.values()); + + // Deduplicate symbols by symbol string; merge relationships of duplicates. + LinkedHashMap bySymbol = new LinkedHashMap<>(); + for (Scip.SymbolInformation info : target.getSymbolsList()) { + bySymbol.put(info.getSymbol(), info); + } + for (Scip.SymbolInformation info : fresh.getSymbolsList()) { + Scip.SymbolInformation existing = bySymbol.get(info.getSymbol()); + bySymbol.put(info.getSymbol(), existing == null ? info : mergeSymbol(existing, info)); + } + target.clearSymbols().addAllSymbols(bySymbol.values()); + } + + private static void putOccurrence( + LinkedHashMap out, Scip.Occurrence occ) { + OccurrenceKey key = OccurrenceKey.of(occ); + Scip.Occurrence existing = out.get(key); + if (existing == null) { + out.put(key, occ); + return; + } + if (existing.getEnclosingRangeCount() == 0 && occ.getEnclosingRangeCount() > 0) { + out.put(key, occ); + } + } + + private static final class OccurrenceKey { + final String symbol; + final java.util.List range; + final int roles; + + OccurrenceKey(String symbol, java.util.List range, int roles) { + this.symbol = symbol; + this.range = range; + this.roles = roles; + } + + static OccurrenceKey of(Scip.Occurrence occ) { + return new OccurrenceKey(occ.getSymbol(), occ.getRangeList(), occ.getSymbolRoles()); + } + + @Override + public boolean equals(Object o) { + if (!(o instanceof OccurrenceKey)) return false; + OccurrenceKey other = (OccurrenceKey) o; + return roles == other.roles && symbol.equals(other.symbol) && range.equals(other.range); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(symbol, range, roles); + } + } + + private static Scip.SymbolInformation mergeSymbol( + Scip.SymbolInformation a, Scip.SymbolInformation b) { + Scip.SymbolInformation.Builder builder = b.toBuilder(); + LinkedHashMap rels = new LinkedHashMap<>(); + for (Scip.Relationship r : a.getRelationshipsList()) rels.put(r, r); + for (Scip.Relationship r : b.getRelationshipsList()) rels.put(r, r); + builder.clearRelationships().addAllRelationships(rels.values()); + return builder.build(); + } + + // --- metadata ------------------------------------------------------------ + + private Scip.Index metadata() { + return Scip.Index.newBuilder() + .setMetadata( + Scip.Metadata.newBuilder() + .setVersion(Scip.ProtocolVersion.UnspecifiedProtocolVersion) + .setProjectRoot(options.sourceroot.toUri().toString()) + .setTextDocumentEncoding(Scip.TextEncoding.UTF8) + .setToolInfo( + Scip.ToolInfo.newBuilder() + .setName(options.toolInfo.getName()) + .setVersion(options.toolInfo.getVersion()) + .addAllArguments(options.toolInfo.getArgumentsList()))) + .build(); + } + + // --- inverse relationships ---------------------------------------------- + + /** + * Collects symbols that override or implement other symbols, indexed by the overridden symbol. + * When a final document is emitted, the per-symbol entries are augmented with {@code + * is_implementation && is_reference} relationships pointing back to overriders. + */ + private final class InverseReferenceRelationships { + + private final Map> map = new LinkedHashMap<>(); + private final boolean enabled = options.emitInverseRelationships; + + void observe(Scip.Document doc) { + if (!enabled) return; + for (Scip.SymbolInformation info : doc.getSymbolsList()) { + if (info.getSymbol().isEmpty() || SymbolRewriter.isLocal(info.getSymbol())) continue; + if (!supportsReferenceRelationship(info)) continue; + for (Scip.Relationship rel : info.getRelationshipsList()) { + if (!rel.getIsImplementation()) continue; + if (rel.getSymbol().isEmpty() || SymbolRewriter.isLocal(rel.getSymbol())) continue; + map.computeIfAbsent(rel.getSymbol(), k -> new ArrayList<>()).add(info.getSymbol()); + } + } + } + + Scip.Document applyTo(Scip.Document doc) { + if (!enabled || map.isEmpty()) return doc; + Scip.Document.Builder builder = doc.toBuilder().clearSymbols(); + for (Scip.SymbolInformation info : doc.getSymbolsList()) { + List overriders = map.get(info.getSymbol()); + if (overriders == null || overriders.isEmpty()) { + builder.addSymbols(info); + continue; + } + Scip.SymbolInformation.Builder s = info.toBuilder(); + for (String overrider : overriders) { + s.addRelationships( + Scip.Relationship.newBuilder() + .setSymbol(overrider) + .setIsImplementation(true) + .setIsReference(true)); + } + builder.addSymbols(s.build()); + } + return builder.build(); + } + } + + private static boolean supportsReferenceRelationship(Scip.SymbolInformation info) { + switch (info.getKind()) { + case Interface: + case Type: + case Class: + case Object: + case PackageObject: + return false; + default: + return true; + } + } + +} diff --git a/scip-semanticdb/src/main/java/com/sourcegraph/scip_semanticdb/ScipShardWalker.java b/scip-semanticdb/src/main/java/com/sourcegraph/scip_semanticdb/ScipShardWalker.java new file mode 100644 index 00000000..7122969f --- /dev/null +++ b/scip-semanticdb/src/main/java/com/sourcegraph/scip_semanticdb/ScipShardWalker.java @@ -0,0 +1,55 @@ +package com.sourcegraph.scip_semanticdb; + +import java.io.IOException; +import java.nio.file.FileSystems; +import java.nio.file.FileVisitResult; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.PathMatcher; +import java.nio.file.SimpleFileVisitor; +import java.nio.file.attribute.BasicFileAttributes; +import java.util.ArrayList; +import java.util.List; + +/** + * A file visitor that recursively collects all SCIP shard files ({@code *.scip}) under the + * configured targetroots. + */ +public class ScipShardWalker extends SimpleFileVisitor { + private final ArrayList result; + private final ScipSemanticdbOptions options; + private final PathMatcher scipPattern = FileSystems.getDefault().getPathMatcher("glob:**.scip"); + + public ScipShardWalker(ScipSemanticdbOptions options) { + this.options = options; + result = new ArrayList<>(); + } + + @Override + public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException { + if (scipPattern.matches(file)) { + result.add(file); + } + return super.visitFile(file, attrs); + } + + @Override + public FileVisitResult visitFileFailed(Path file, IOException exc) { + options.reporter.error(exc); + return FileVisitResult.CONTINUE; + } + + /** Returns all {@code *.scip} shard files reachable from {@code options.targetroots}. */ + public static List findScipShards(ScipSemanticdbOptions options) throws IOException { + ScipShardWalker walker = new ScipShardWalker(options); + PathMatcher jarPattern = FileSystems.getDefault().getPathMatcher("glob:**.jar"); + for (Path root : options.targetroots) { + if (jarPattern.matches(root)) { + walker.result.add(root); + } else if (Files.exists(root)) { + Files.walkFileTree(root, walker); + } + } + return walker.result; + } +} diff --git a/scip-semanticdb/src/main/java/com/sourcegraph/scip_semanticdb/SymbolRewriter.java b/scip-semanticdb/src/main/java/com/sourcegraph/scip_semanticdb/SymbolRewriter.java new file mode 100644 index 00000000..227ffdcd --- /dev/null +++ b/scip-semanticdb/src/main/java/com/sourcegraph/scip_semanticdb/SymbolRewriter.java @@ -0,0 +1,58 @@ +package com.sourcegraph.scip_semanticdb; + +/** + * Rewrites placeholder SCIP global symbols emitted by the compiler plugin into their final form. + * + *

The compiler plugin does not know the Maven coordinates ({@code groupId:artifactId:version}) + * of the source it is compiling, so it emits global symbols with the sentinel prefix {@code ". . . + * . "}. The aggregator resolves the appropriate coordinates via {@link PackageTable} and rewrites + * those symbols to the final {@code "scip-java"} scheme. + * + *

{@code local N} symbols are passed through unchanged. + */ +public final class SymbolRewriter { + + /** + * Sentinel prefix used by the compiler plugin for global symbols whose coordinates are not yet + * known. + */ + public static final String PLACEHOLDER_PREFIX = ". . . . "; + + /** SCIP scheme used for symbols produced by scip-java. */ + public static final String SCIP_JAVA_SCHEME = "scip-java"; + + private final PackageTable packages; + + public SymbolRewriter(PackageTable packages) { + this.packages = packages; + } + + /** + * Returns {@code true} if {@code symbol} is a placeholder global emitted by the compiler plugin. + */ + public static boolean isPlaceholderGlobal(String symbol) { + return symbol != null && symbol.startsWith(PLACEHOLDER_PREFIX); + } + + /** + * Returns {@code true} if {@code symbol} is a SCIP local symbol of the form {@code "local N"}. + */ + public static boolean isLocal(String symbol) { + return symbol != null && symbol.startsWith("local "); + } + + /** + * Rewrites a placeholder global symbol into its final form using the appropriate package + * coordinates from {@link PackageTable}. Local symbols and already-rewritten symbols are returned + * unchanged. + */ + public String rewrite(String symbol) { + if (symbol == null || symbol.isEmpty()) return symbol; + if (isLocal(symbol)) return symbol; + if (!isPlaceholderGlobal(symbol)) return symbol; + + String descriptor = symbol.substring(PLACEHOLDER_PREFIX.length()); + Package pkg = packages.packageForSymbol(descriptor).orElse(Package.EMPTY); + return SCIP_JAVA_SCHEME + " " + pkg.scipTypedEncoding() + " " + descriptor; + } +} diff --git a/semanticdb-javac/src/main/java/com/sourcegraph/semanticdb_javac/ScipOccurrences.java b/semanticdb-javac/src/main/java/com/sourcegraph/semanticdb_javac/ScipOccurrences.java new file mode 100644 index 00000000..d4b29e91 --- /dev/null +++ b/semanticdb-javac/src/main/java/com/sourcegraph/semanticdb_javac/ScipOccurrences.java @@ -0,0 +1,66 @@ +package com.sourcegraph.semanticdb_javac; + +import com.sourcegraph.Scip; + +import java.util.ArrayList; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Objects; + +/** + * Helpers for deduplicating SCIP {@link Scip.Occurrence} entries by their {@code (symbol, range, + * roles)} key. Variants that differ only in whether {@code enclosing_range} is set are collapsed, + * preferring the one that carries the enclosing range. + */ +final class ScipOccurrences { + + private ScipOccurrences() {} + + /** Returns a new list with duplicate occurrences collapsed in insertion order. */ + static List deduplicate(List occurrences) { + LinkedHashMap out = new LinkedHashMap<>(); + for (Scip.Occurrence occ : occurrences) put(out, occ); + return new ArrayList<>(out.values()); + } + + /** Inserts {@code occ} into {@code out}, collapsing duplicates by {@link Key}. */ + static void put(LinkedHashMap out, Scip.Occurrence occ) { + Key key = Key.of(occ); + Scip.Occurrence existing = out.get(key); + if (existing == null) { + out.put(key, occ); + return; + } + if (existing.getEnclosingRangeCount() == 0 && occ.getEnclosingRangeCount() > 0) { + out.put(key, occ); + } + } + + static final class Key { + final String symbol; + final List range; + final int roles; + + private Key(String symbol, List range, int roles) { + this.symbol = symbol; + this.range = range; + this.roles = roles; + } + + static Key of(Scip.Occurrence occ) { + return new Key(occ.getSymbol(), occ.getRangeList(), occ.getSymbolRoles()); + } + + @Override + public boolean equals(Object o) { + if (!(o instanceof Key)) return false; + Key other = (Key) o; + return roles == other.roles && symbol.equals(other.symbol) && range.equals(other.range); + } + + @Override + public int hashCode() { + return Objects.hash(symbol, range, roles); + } + } +} diff --git a/semanticdb-javac/src/main/java/com/sourcegraph/semanticdb_javac/ScipShardWriter.java b/semanticdb-javac/src/main/java/com/sourcegraph/semanticdb_javac/ScipShardWriter.java new file mode 100644 index 00000000..5bf5df35 --- /dev/null +++ b/semanticdb-javac/src/main/java/com/sourcegraph/semanticdb_javac/ScipShardWriter.java @@ -0,0 +1,119 @@ +package com.sourcegraph.semanticdb_javac; + +import com.sourcegraph.Scip; + +import java.io.IOException; +import java.io.InputStream; +import java.nio.file.Files; +import java.nio.file.Path; +import java.util.ArrayList; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; + +/** + * Writes and merges per-source SCIP shards produced by the compiler plugin. + * + *

Each source file produces a self-contained {@link Scip.Index} shard containing a single {@link + * Scip.Document}. When a shard already exists on disk (e.g. during annotation processing rounds), + * the new document is merged into the existing one, deduplicating occurrences, symbols and + * relationships. + */ +public final class ScipShardWriter { + + private ScipShardWriter() {} + + /** + * Writes the given {@code shard} to {@code output}, creating parent directories as needed. If + * {@code output} already exists, the existing shard is parsed and merged with the new one. + */ + public static void writeOrMerge(Path output, Scip.Index shard) throws IOException { + Files.createDirectories(output.getParent()); + if (Files.exists(output)) { + Scip.Index existing; + try (InputStream is = Files.newInputStream(output)) { + existing = Scip.Index.parseFrom(is); + } + shard = merge(existing, shard); + } + Files.write(output, shard.toByteArray()); + } + + /** + * Merges two SCIP shards by combining their document lists. Documents that share a {@code + * relative_path} have their occurrences, symbols and external symbols deduplicated. + */ + static Scip.Index merge(Scip.Index a, Scip.Index b) { + Scip.Index.Builder builder = Scip.Index.newBuilder(); + if (b.hasMetadata()) { + builder.setMetadata(b.getMetadata()); + } else if (a.hasMetadata()) { + builder.setMetadata(a.getMetadata()); + } + + LinkedHashMap byPath = new LinkedHashMap<>(); + for (Scip.Document doc : a.getDocumentsList()) { + byPath.put(doc.getRelativePath(), doc); + } + for (Scip.Document doc : b.getDocumentsList()) { + Scip.Document existing = byPath.get(doc.getRelativePath()); + if (existing == null) { + byPath.put(doc.getRelativePath(), doc); + } else { + byPath.put(doc.getRelativePath(), mergeDocuments(existing, doc)); + } + } + builder.addAllDocuments(byPath.values()); + + // External symbols: deduplicate by symbol string. Last writer wins to keep latest data. + LinkedHashMap externals = new LinkedHashMap<>(); + for (Scip.SymbolInformation s : a.getExternalSymbolsList()) externals.put(s.getSymbol(), s); + for (Scip.SymbolInformation s : b.getExternalSymbolsList()) externals.put(s.getSymbol(), s); + builder.addAllExternalSymbols(externals.values()); + + return builder.build(); + } + + private static Scip.Document mergeDocuments(Scip.Document a, Scip.Document b) { + Scip.Document.Builder builder = b.toBuilder().clearOccurrences().clearSymbols(); + // Use the most recent metadata for language/relative_path/text/encoding which already + // come from b via toBuilder(). + + // Deduplicate occurrences by (range, symbol, roles). Variants that differ only in + // enclosing_range get collapsed, preferring the one that carries the enclosing range. + LinkedHashMap occurrences = new LinkedHashMap<>(); + for (Scip.Occurrence occ : a.getOccurrencesList()) ScipOccurrences.put(occurrences, occ); + for (Scip.Occurrence occ : b.getOccurrencesList()) ScipOccurrences.put(occurrences, occ); + builder.addAllOccurrences(occurrences.values()); + + // Deduplicate symbols by symbol string; merge relationships and documentation. + Map bySymbol = new LinkedHashMap<>(); + for (Scip.SymbolInformation info : a.getSymbolsList()) bySymbol.put(info.getSymbol(), info); + for (Scip.SymbolInformation info : b.getSymbolsList()) { + Scip.SymbolInformation existing = bySymbol.get(info.getSymbol()); + bySymbol.put(info.getSymbol(), existing == null ? info : mergeSymbol(existing, info)); + } + builder.addAllSymbols(bySymbol.values()); + + return builder.build(); + } + + private static Scip.SymbolInformation mergeSymbol( + Scip.SymbolInformation a, Scip.SymbolInformation b) { + Scip.SymbolInformation.Builder builder = b.toBuilder(); + // Merge relationships, deduplicating by structural equality with deterministic ordering. + Map rels = new LinkedHashMap<>(); + for (Scip.Relationship r : a.getRelationshipsList()) rels.put(r, r); + for (Scip.Relationship r : b.getRelationshipsList()) rels.put(r, r); + builder.clearRelationships().addAllRelationships(rels.values()); + + // Merge documentation, preserving order and avoiding duplicates. + List docs = new ArrayList<>(a.getDocumentationList()); + for (String d : b.getDocumentationList()) { + if (!docs.contains(d)) docs.add(d); + } + builder.clearDocumentation().addAllDocumentation(docs); + + return builder.build(); + } +} diff --git a/semanticdb-javac/src/main/java/com/sourcegraph/semanticdb_javac/ScipSignatureFormatter.java b/semanticdb-javac/src/main/java/com/sourcegraph/semanticdb_javac/ScipSignatureFormatter.java new file mode 100644 index 00000000..91dd6389 --- /dev/null +++ b/semanticdb-javac/src/main/java/com/sourcegraph/semanticdb_javac/ScipSignatureFormatter.java @@ -0,0 +1,288 @@ +package com.sourcegraph.semanticdb_javac; + +import java.util.Iterator; +import java.util.List; +import java.util.Set; +import javax.lang.model.element.AnnotationMirror; +import javax.lang.model.element.Element; +import javax.lang.model.element.ElementKind; +import javax.lang.model.element.ExecutableElement; +import javax.lang.model.element.Modifier; +import javax.lang.model.element.TypeElement; +import javax.lang.model.element.TypeParameterElement; +import javax.lang.model.element.VariableElement; +import javax.lang.model.type.ArrayType; +import javax.lang.model.type.DeclaredType; +import javax.lang.model.type.IntersectionType; +import javax.lang.model.type.NoType; +import javax.lang.model.type.PrimitiveType; +import javax.lang.model.type.TypeKind; +import javax.lang.model.type.TypeMirror; +import javax.lang.model.type.TypeVariable; +import javax.lang.model.type.WildcardType; +import javax.lang.model.util.SimpleTypeVisitor8; + +/** + * Formats a Java {@link Element} as a human-readable declaration string suitable for SCIP's {@code + * SymbolInformation.signature_documentation.text}. + * + *

This is a port of the Java-relevant parts of {@code SignatureFormatter} that runs directly + * over javac's {@link Element}/{@link TypeMirror} APIs, eliminating the need to round-trip through + * SemanticDB signatures. + */ +public final class ScipSignatureFormatter { + + private final Element sym; + + public ScipSignatureFormatter(Element sym) { + this.sym = sym; + } + + /** Returns the formatted signature, or {@code ""} if {@link #sym} has no meaningful signature. */ + public String formatSymbol() { + StringBuilder out = new StringBuilder(); + switch (sym.getKind()) { + case CLASS: + case INTERFACE: + case ANNOTATION_TYPE: + case ENUM: + formatType(out, (TypeElement) sym); + break; + case CONSTRUCTOR: + case METHOD: + formatExecutable(out, (ExecutableElement) sym); + break; + case FIELD: + case ENUM_CONSTANT: + case PARAMETER: + case LOCAL_VARIABLE: + case EXCEPTION_PARAMETER: + case RESOURCE_VARIABLE: + formatVariable(out, (VariableElement) sym); + break; + case TYPE_PARAMETER: + formatTypeParameter(out, (TypeParameterElement) sym); + break; + default: + return ""; + } + return out.toString(); + } + + private static void formatAnnotations(StringBuilder out, Element element) { + for (AnnotationMirror mirror : element.getAnnotationMirrors()) { + out.append('@').append(simpleName(mirror.getAnnotationType())).append('\n'); + } + } + + private static String simpleName(TypeMirror t) { + if (t instanceof DeclaredType) { + Element e = ((DeclaredType) t).asElement(); + return e.getSimpleName().toString(); + } + return t.toString(); + } + + private static void formatModifiers(StringBuilder out, Set modifiers) { + for (Modifier m : modifiers) { + out.append(m.toString()).append(' '); + } + } + + private void formatType(StringBuilder out, TypeElement type) { + formatAnnotations(out, type); + formatModifiers(out, type.getModifiers()); + switch (type.getKind()) { + case ENUM: + out.append("enum "); + break; + case INTERFACE: + out.append("interface "); + break; + case ANNOTATION_TYPE: + out.append("@interface "); + break; + case CLASS: + default: + out.append("class "); + break; + } + out.append(type.getSimpleName()); + formatTypeParameters(out, type.getTypeParameters()); + + TypeMirror superclass = type.getSuperclass(); + if (superclass.getKind() != TypeKind.NONE + && !isJavaLangObject(superclass) + && type.getKind() != ElementKind.INTERFACE) { + out.append(" extends "); + formatTypeMirror(out, superclass); + } + + List interfaces = type.getInterfaces(); + if (!interfaces.isEmpty()) { + out.append(type.getKind() == ElementKind.INTERFACE ? " extends " : " implements "); + formatJoin(out, interfaces, ", "); + } + } + + private void formatExecutable(StringBuilder out, ExecutableElement method) { + formatAnnotations(out, method); + formatModifiers(out, method.getModifiers()); + if (!method.getTypeParameters().isEmpty()) { + formatTypeParameters(out, method.getTypeParameters()); + out.append(' '); + } + if (method.getKind() != ElementKind.CONSTRUCTOR) { + formatTypeMirror(out, method.getReturnType()); + out.append(' '); + out.append(method.getSimpleName()); + } else { + // Constructor: name = enclosing class simple name + out.append(method.getEnclosingElement().getSimpleName()); + } + out.append('('); + Iterator it = method.getParameters().iterator(); + while (it.hasNext()) { + VariableElement p = it.next(); + formatTypeMirror(out, p.asType()); + out.append(' ').append(p.getSimpleName()); + if (it.hasNext()) out.append(", "); + } + out.append(')'); + List thrown = method.getThrownTypes(); + if (!thrown.isEmpty()) { + out.append(" throws "); + formatJoin(out, thrown, ", "); + } + } + + private void formatVariable(StringBuilder out, VariableElement variable) { + formatAnnotations(out, variable); + formatModifiers(out, variable.getModifiers()); + if (variable.getKind() == ElementKind.ENUM_CONSTANT) { + out.append(variable.getSimpleName()); + } else { + formatTypeMirror(out, variable.asType()); + out.append(' ').append(variable.getSimpleName()); + } + } + + private void formatTypeParameter(StringBuilder out, TypeParameterElement tp) { + out.append(tp.getSimpleName()); + List bounds = tp.getBounds(); + if (!bounds.isEmpty()) { + // Skip implicit `extends Object`. + if (bounds.size() != 1 || !isJavaLangObject(bounds.get(0))) { + out.append(" extends "); + formatJoin(out, bounds, " & "); + } + } + } + + private void formatTypeParameters( + StringBuilder out, List typeParameters) { + if (typeParameters.isEmpty()) return; + out.append('<'); + Iterator it = typeParameters.iterator(); + while (it.hasNext()) { + formatTypeParameter(out, it.next()); + if (it.hasNext()) out.append(", "); + } + out.append('>'); + } + + private void formatJoin(StringBuilder out, List types, String separator) { + Iterator it = types.iterator(); + while (it.hasNext()) { + formatTypeMirror(out, it.next()); + if (it.hasNext()) out.append(separator); + } + } + + private void formatTypeMirror(StringBuilder out, TypeMirror type) { + type.accept(new TypePrinter(), out); + } + + private static boolean isJavaLangObject(TypeMirror type) { + if (!(type instanceof DeclaredType)) return false; + Element e = ((DeclaredType) type).asElement(); + return e instanceof TypeElement + && ((TypeElement) e).getQualifiedName().contentEquals("java.lang.Object"); + } + + /** Prints a TypeMirror using simple-names + type arguments + array brackets. */ + private static final class TypePrinter extends SimpleTypeVisitor8 { + + @Override + public Void visitDeclared(DeclaredType t, StringBuilder out) { + out.append(simpleName(t)); + List args = t.getTypeArguments(); + if (!args.isEmpty()) { + out.append('<'); + Iterator it = args.iterator(); + while (it.hasNext()) { + visit(it.next(), out); + if (it.hasNext()) out.append(", "); + } + out.append('>'); + } + return null; + } + + @Override + public Void visitArray(ArrayType t, StringBuilder out) { + visit(t.getComponentType(), out); + out.append("[]"); + return null; + } + + @Override + public Void visitPrimitive(PrimitiveType t, StringBuilder out) { + out.append(t.getKind().name().toLowerCase()); + return null; + } + + @Override + public Void visitTypeVariable(TypeVariable t, StringBuilder out) { + out.append(t.asElement().getSimpleName()); + return null; + } + + @Override + public Void visitWildcard(WildcardType t, StringBuilder out) { + out.append('?'); + if (t.getExtendsBound() != null) { + out.append(" extends "); + visit(t.getExtendsBound(), out); + } else if (t.getSuperBound() != null) { + out.append(" super "); + visit(t.getSuperBound(), out); + } + return null; + } + + @Override + public Void visitIntersection(IntersectionType t, StringBuilder out) { + Iterator it = t.getBounds().iterator(); + while (it.hasNext()) { + visit(it.next(), out); + if (it.hasNext()) out.append(" & "); + } + return null; + } + + @Override + public Void visitNoType(NoType t, StringBuilder out) { + if (t.getKind() == TypeKind.VOID) { + out.append("void"); + } + return null; + } + + @Override + protected Void defaultAction(TypeMirror t, StringBuilder out) { + out.append(t.toString()); + return null; + } + } +} diff --git a/semanticdb-javac/src/main/java/com/sourcegraph/semanticdb_javac/ScipSymbols.java b/semanticdb-javac/src/main/java/com/sourcegraph/semanticdb_javac/ScipSymbols.java new file mode 100644 index 00000000..736b287c --- /dev/null +++ b/semanticdb-javac/src/main/java/com/sourcegraph/semanticdb_javac/ScipSymbols.java @@ -0,0 +1,46 @@ +package com.sourcegraph.semanticdb_javac; + +/** + * Helpers for emitting SCIP symbol strings from the compiler plugin. + * + *

Because the compiler plugin does not know the final Maven coordinates ({@code + * groupId:artifactId:version}) at compile time, it emits global symbols using a sentinel + * placeholder scheme that is rewritten by the aggregator to its final form: + * + *

+ *   ". . . . " + <semanticdb-style descriptor path>
+ *     ->  "scip-java maven <groupId> <artifactId> <version> <descriptor path>"
+ * 
+ * + *

Local symbols are emitted using the canonical SCIP {@code "local N"} form (with the space) and + * are not rewritten by the aggregator. + */ +public final class ScipSymbols { + + /** + * Prefix marking a global symbol whose package coordinates must be filled in by the aggregator. + * The trailing space matches the SCIP grammar requirement of separating the scheme from the + * package fields. + */ + public static final String PLACEHOLDER_PREFIX = ". . . . "; + + private ScipSymbols() {} + + /** + * Converts a SemanticDB-style symbol string (as produced by {@link GlobalSymbolsCache} and {@link + * LocalSymbolsCache}) into the SCIP symbol form expected by the aggregator. + * + *

    + *
  • Empty strings stay empty. + *
  • Local symbols of the form {@code "local42"} become {@code "local 42"}. + *
  • Everything else is prefixed with {@link #PLACEHOLDER_PREFIX}. + *
+ */ + public static String fromSemanticdbSymbol(String symbol) { + if (symbol == null || symbol.isEmpty()) return ""; + if (SemanticdbSymbols.isLocal(symbol)) { + return "local " + symbol.substring("local".length()); + } + return PLACEHOLDER_PREFIX + symbol; + } +} diff --git a/semanticdb-javac/src/main/java/com/sourcegraph/semanticdb_javac/ScipVisitor.java b/semanticdb-javac/src/main/java/com/sourcegraph/semanticdb_javac/ScipVisitor.java new file mode 100644 index 00000000..a3e52a5b --- /dev/null +++ b/semanticdb-javac/src/main/java/com/sourcegraph/semanticdb_javac/ScipVisitor.java @@ -0,0 +1,701 @@ +package com.sourcegraph.semanticdb_javac; + +import com.sourcegraph.Scip; +import com.sourcegraph.semanticdb_javac.Semanticdb.SymbolOccurrence.Role; +import com.sun.source.tree.AnnotatedTypeTree; +import com.sun.source.tree.ClassTree; +import com.sun.source.tree.CompilationUnitTree; +import com.sun.source.tree.ExpressionTree; +import com.sun.source.tree.IdentifierTree; +import com.sun.source.tree.LineMap; +import com.sun.source.tree.MemberReferenceTree; +import com.sun.source.tree.MemberSelectTree; +import com.sun.source.tree.MethodTree; +import com.sun.source.tree.NewClassTree; +import com.sun.source.tree.ParameterizedTypeTree; +import com.sun.source.tree.Tree; +import com.sun.source.tree.TypeParameterTree; +import com.sun.source.tree.VariableTree; +import com.sun.source.util.SourcePositions; +import com.sun.source.util.TreePath; +import com.sun.source.util.TreePathScanner; +import com.sun.source.util.Trees; + +import java.io.IOException; +import java.nio.file.Path; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashSet; +import java.util.Iterator; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import java.util.Set; +import java.util.stream.Collectors; +import javax.lang.model.element.Element; +import javax.lang.model.element.ElementKind; +import javax.lang.model.element.ExecutableElement; +import javax.lang.model.element.Modifier; +import javax.lang.model.element.Name; +import javax.lang.model.element.TypeElement; +import javax.lang.model.type.DeclaredType; +import javax.lang.model.type.NoType; +import javax.lang.model.type.TypeMirror; +import javax.lang.model.util.Elements; +import javax.lang.model.util.Types; +import javax.tools.Diagnostic; + +/** + * Walks the AST of a typechecked compilation unit and generates a {@link Scip.Document} directly. + * + *

Structurally this is a fork of {@link SemanticdbVisitor} that emits SCIP types instead of + * SemanticDB ones. Symbols are produced through {@link GlobalSymbolsCache} and then translated to + * the placeholder SCIP form via {@link ScipSymbols#fromSemanticdbSymbol(String)}. Signature + * documentation is produced by {@link ScipSignatureFormatter} directly from javac's element model. + */ +public final class ScipVisitor extends TreePathScanner { + + private final GlobalSymbolsCache globals; + private final LocalSymbolsCache locals; + private final Types types; + private final Trees trees; + private final CompilationUnitTree compUnitTree; + private final Elements elements; + private final SemanticdbJavacOptions options; + private final ArrayList occurrences; + private final LinkedHashMap symbols; + private final String source; + private final String relativePath; + private final LinkedHashMap nodes; + + public ScipVisitor( + GlobalSymbolsCache globals, + CompilationUnitTree compUnitTree, + SemanticdbJavacOptions options, + Types types, + Trees trees, + Elements elements) { + this.globals = globals; + this.locals = new LocalSymbolsCache(); + this.options = options; + this.types = types; + this.elements = elements; + this.trees = trees; + this.compUnitTree = compUnitTree; + this.occurrences = new ArrayList<>(); + this.symbols = new LinkedHashMap<>(); + this.source = sourceText(compUnitTree); + this.relativePath = sourceRelativePath(compUnitTree, options); + this.nodes = new LinkedHashMap<>(); + } + + /** Builds a single-document {@link Scip.Index} shard for the given compilation unit. */ + public Scip.Index buildShard(CompilationUnitTree tree) { + this.scan(tree, null); + resolveNodes(); + + Scip.Document.Builder document = + Scip.Document.newBuilder() + .setRelativePath(relativePath) + .setLanguage(LANGUAGE_JAVA); + if (options.includeText) { + document.setText(source); + } + document.addAllOccurrences(ScipOccurrences.deduplicate(occurrences)); + document.addAllSymbols(symbols.values()); + + return Scip.Index.newBuilder().addDocuments(document).build(); + } + + /** + * SCIP `Document.language` value. Lowercased to match the canonical scheme used by other + * tooling (see {@link com.sourcegraph.scip_semanticdb.ScipSemanticdb}). + */ + static final String LANGUAGE_JAVA = "java"; + + // ========================== + // Symbol/occurrence emission + // ========================== + + 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()); + if (role == Role.DEFINITION) { + emitOccurrence(sym, range, role, computeEnclosingRange(tree)); + emitSymbolInformation(sym, tree); + return range; + } + emitOccurrence(sym, range, role, Optional.empty()); + return range; + } + + private void emitOccurrence( + Element sym, + Optional range, + Role role, + Optional enclosingRange) { + if (sym == null || !range.isPresent()) return; + String semanticdbSymbol = semanticdbSymbol(sym); + if (semanticdbSymbol.equals(SemanticdbSymbols.NONE)) return; + + Scip.Occurrence.Builder occ = + Scip.Occurrence.newBuilder() + .addAllRange(scipRange(range.get())) + .setSymbol(ScipSymbols.fromSemanticdbSymbol(semanticdbSymbol)) + .setSymbolRoles(scipRole(role)); + enclosingRange.ifPresent(r -> occ.addAllEnclosingRange(scipRange(r))); + occurrences.add(occ.build()); + } + + private void emitSymbolInformation(Element sym, Tree tree) { + String semanticdbSymbol = semanticdbSymbol(sym); + if (semanticdbSymbol.equals(SemanticdbSymbols.NONE)) return; + + Scip.SymbolInformation.Builder builder = + Scip.SymbolInformation.newBuilder() + .setSymbol(ScipSymbols.fromSemanticdbSymbol(semanticdbSymbol)) + .setDisplayName(sym.getSimpleName().toString()) + .setKind(scipKind(sym)); + + if (SemanticdbSymbols.isLocal(semanticdbSymbol)) { + String enclosingSymbol = semanticdbSymbol(sym.getEnclosingElement()); + if (enclosingSymbol != null && !enclosingSymbol.equals(SemanticdbSymbols.NONE)) { + builder.setEnclosingSymbol(ScipSymbols.fromSemanticdbSymbol(enclosingSymbol)); + } + } + + String documentation = semanticdbDocumentation(tree); + if (documentation != null && !documentation.isEmpty()) { + builder.addDocumentation(documentation); + } + + String signature = new ScipSignatureFormatter(sym).formatSymbol(); + if (!signature.isEmpty()) { + builder.setSignatureDocumentation( + Scip.Document.newBuilder() + .setLanguage(LANGUAGE_JAVA) + .setRelativePath(relativePath) + .setText(signature)); + } + + boolean supportsReferenceRel = supportsReferenceRelationship(sym); + + switch (sym.getKind()) { + case ENUM: + case CLASS: + case INTERFACE: + case ANNOTATION_TYPE: + addParentRelationships(builder, (TypeElement) sym, supportsReferenceRel); + break; + case METHOD: + for (String overridden : + semanticdbOverrides( + (ExecutableElement) sym, sym.getEnclosingElement(), new HashSet<>())) { + if (isIgnoredOverriddenSymbol(overridden)) continue; + builder.addRelationships( + Scip.Relationship.newBuilder() + .setSymbol(ScipSymbols.fromSemanticdbSymbol(overridden)) + .setIsImplementation(true) + .setIsReference(supportsReferenceRel)); + } + break; + case ENUM_CONSTANT: + if (tree instanceof VariableTree && ((VariableTree) tree).getInitializer() != null) { + String args = + ((NewClassTree) ((VariableTree) tree).getInitializer()) + .getArguments().stream() + .map(ExpressionTree::toString) + .collect(Collectors.joining(", ")); + if (!args.isEmpty()) { + builder.setDisplayName(sym.getSimpleName().toString() + "(" + args + ")"); + } + } + break; + default: + break; + } + + // Deduplicate by symbol; last write wins so newly discovered metadata takes precedence. + symbols.put(builder.getSymbol(), builder.build()); + } + + private void addParentRelationships( + Scip.SymbolInformation.Builder builder, TypeElement sym, boolean supportsReferenceRel) { + for (String parent : semanticdbParentSymbols(sym)) { + if (isIgnoredOverriddenSymbol(parent)) continue; + builder.addRelationships( + Scip.Relationship.newBuilder() + .setSymbol(ScipSymbols.fromSemanticdbSymbol(parent)) + .setIsImplementation(true) + .setIsReference(supportsReferenceRel)); + } + } + + private static boolean isIgnoredOverriddenSymbol(String symbol) { + return symbol.equals("java/lang/Object#"); + } + + private static boolean supportsReferenceRelationship(Element sym) { + switch (sym.getKind()) { + case INTERFACE: + case CLASS: + case ANNOTATION_TYPE: + case ENUM: + return false; + default: + return true; + } + } + + // ================================================= + // Range / role / kind translation between SemanticDB and SCIP. + // ================================================= + + private static int scipRole(Role role) { + if (role == Role.DEFINITION || role == Role.SYNTHETIC_DEFINITION) { + return Scip.SymbolRole.Definition_VALUE; + } + return 0; + } + + private static List scipRange(Semanticdb.Range range) { + if (range.getStartLine() == range.getEndLine()) { + return Arrays.asList( + range.getStartLine(), range.getStartCharacter(), range.getEndCharacter()); + } + return Arrays.asList( + range.getStartLine(), + range.getStartCharacter(), + range.getEndLine(), + range.getEndCharacter()); + } + + private static Scip.SymbolInformation.Kind scipKind(Element sym) { + Set modifiers = sym.getModifiers(); + boolean isStatic = modifiers.contains(Modifier.STATIC); + // A `default` interface method has both ABSTRACT and DEFAULT modifiers; treat it as non-abstract. + boolean isAbstract = + modifiers.contains(Modifier.ABSTRACT) && !modifiers.contains(Modifier.DEFAULT); + + switch (sym.getKind()) { + case ENUM: + return Scip.SymbolInformation.Kind.Enum; + case ENUM_CONSTANT: + return Scip.SymbolInformation.Kind.EnumMember; + case CLASS: + return Scip.SymbolInformation.Kind.Class; + case INTERFACE: + case ANNOTATION_TYPE: + return Scip.SymbolInformation.Kind.Interface; + case FIELD: + return isStatic + ? Scip.SymbolInformation.Kind.StaticField + : Scip.SymbolInformation.Kind.Field; + case CONSTRUCTOR: + return Scip.SymbolInformation.Kind.Constructor; + case METHOD: + if (isStatic) return Scip.SymbolInformation.Kind.StaticMethod; + if (isAbstract) return Scip.SymbolInformation.Kind.AbstractMethod; + return Scip.SymbolInformation.Kind.Method; + case TYPE_PARAMETER: + return Scip.SymbolInformation.Kind.TypeParameter; + case LOCAL_VARIABLE: + case EXCEPTION_PARAMETER: + case RESOURCE_VARIABLE: + return Scip.SymbolInformation.Kind.Variable; + case PARAMETER: + return Scip.SymbolInformation.Kind.Parameter; + case PACKAGE: + return Scip.SymbolInformation.Kind.Package; + default: + return Scip.SymbolInformation.Kind.UnspecifiedKind; + } + } + + // =========================================== + // Node resolution and traversal (unchanged from SemanticdbVisitor) + // =========================================== + + void resolveNodes() { + HashSet ignoreNodes = new HashSet<>(); + for (Tree node : nodes.keySet()) { + if (node instanceof NewClassTree) { + NewClassTree newClassTree = (NewClassTree) node; + if (newClassTree.getClassBody() == null) { + if (newClassTree.getIdentifier() instanceof ParameterizedTypeTree) { + ParameterizedTypeTree paramNode = (ParameterizedTypeTree) newClassTree.getIdentifier(); + ignoreNodes.add(paramNode.getType()); + } + ignoreNodes.add(newClassTree.getIdentifier()); + } + } + } + + for (Map.Entry entry : nodes.entrySet()) { + Tree node = entry.getKey(); + if (!ignoreNodes.contains(node)) { + if (node instanceof TypeParameterTree) { + resolveTypeParameterTree((TypeParameterTree) node, entry.getValue()); + } else if (node instanceof ClassTree) { + resolveClassTree((ClassTree) node, entry.getValue()); + } else if (node instanceof MethodTree) { + resolveMethodTree((MethodTree) node, entry.getValue()); + } else if (node instanceof VariableTree) { + resolveVariableTree((VariableTree) node, entry.getValue()); + } else if (node instanceof IdentifierTree) { + resolveIdentifierTree((IdentifierTree) node, entry.getValue()); + } else if (node instanceof MemberReferenceTree) { + resolveMemberReferenceTree((MemberReferenceTree) node, entry.getValue()); + } else if (node instanceof MemberSelectTree) { + resolveMemberSelectTree((MemberSelectTree) node, entry.getValue()); + } else if (node instanceof NewClassTree) { + resolveNewClassTree((NewClassTree) node, entry.getValue()); + } + } + } + } + + @Override + public Void scan(Tree tree, Void unused) { + if (tree != null) { + TreePath path = new TreePath(getCurrentPath(), tree); + nodes.put(tree, path); + } + return super.scan(tree, unused); + } + + private boolean isAnonymous(Element sym) { + return sym.getSimpleName().length() == 0; + } + + private void resolveClassTree(ClassTree node, TreePath treePath) { + Element sym = trees.getElement(treePath); + if (sym != null && sym.getSimpleName().length() > 0) { + emitSymbolOccurrence( + sym, + node, + sym.getSimpleName(), + Role.DEFINITION, + CompilerRange.FROM_POINT_WITH_TEXT_SEARCH); + } + } + + private void resolveTypeParameterTree(TypeParameterTree node, TreePath treePath) { + Element sym = trees.getElement(treePath); + if (sym != null && sym.getSimpleName().length() > 0) { + emitSymbolOccurrence( + sym, node, sym.getSimpleName(), Role.DEFINITION, CompilerRange.FROM_POINT_TO_SYMBOL_NAME); + } + } + + private void resolveMethodTree(MethodTree node, TreePath treePath) { + Element sym = trees.getElement(treePath); + if (sym != null) { + Element enclosingElement = sym.getEnclosingElement(); + if (sym.getKind() != ElementKind.CONSTRUCTOR || !isAnonymous(enclosingElement)) { + Name name; + if (sym.getKind() == ElementKind.CONSTRUCTOR) name = enclosingElement.getSimpleName(); + else name = sym.getSimpleName(); + + emitSymbolOccurrence( + sym, node, name, Role.DEFINITION, CompilerRange.FROM_POINT_WITH_TEXT_SEARCH); + } + } + } + + private void resolveVariableTree(VariableTree node, TreePath treePath) { + Element sym = trees.getElement(treePath); + if (sym != null) { + Optional range = + emitSymbolOccurrence( + sym, + node, + sym.getSimpleName(), + Role.DEFINITION, + CompilerRange.FROM_POINT_WITH_TEXT_SEARCH); + if (sym.getKind() == ElementKind.ENUM_CONSTANT) { + TreePath typeTreePath = nodes.get(node.getInitializer()); + Element typeSym = trees.getElement(typeTreePath); + if (typeSym != null) emitOccurrence(typeSym, range, Role.REFERENCE, Optional.empty()); + } + } + } + + private void resolveIdentifierTree(IdentifierTree node, TreePath treePath) { + Name nodeName = node.getName(); + if (nodeName != null) { + Element sym = trees.getElement(treePath); + if (sym != null) { + boolean isThis = nodeName.toString().equals("this"); + boolean isSuper = !isThis && nodeName.toString().equals("super"); + if (((sym.getKind() == ElementKind.CONSTRUCTOR) == isThis) || (isSuper)) { + TreePath parentPath = treePath.getParentPath(); + Element parentSym = trees.getElement(parentPath); + if (parentSym == null || parentSym.getKind() != null) { + emitSymbolOccurrence( + sym, node, sym.getSimpleName(), Role.REFERENCE, CompilerRange.FROM_START_TO_END); + } + } + } + } + } + + private void resolveMemberReferenceTree(MemberReferenceTree node, TreePath treePath) { + Element sym = trees.getElement(treePath); + if (sym != null) { + emitSymbolOccurrence( + sym, node, sym.getSimpleName(), Role.REFERENCE, CompilerRange.FROM_END_TO_SYMBOL_NAME); + } + } + + private void resolveMemberSelectTree(MemberSelectTree node, TreePath treePath) { + Element sym = trees.getElement(treePath); + if (sym != null) { + emitSymbolOccurrence( + sym, node, sym.getSimpleName(), Role.REFERENCE, CompilerRange.FROM_END_TO_SYMBOL_NAME); + } + } + + private void resolveNewClassTree(NewClassTree node, TreePath treePath) { + if (node.getIdentifier() != null && node.getClassBody() == null) { + Element sym = trees.getElement(treePath); + if (sym != null) { + TreePath parentPath = treePath.getParentPath(); + Element parentSym = trees.getElement(parentPath); + if (parentSym == null || parentSym.getKind() != ElementKind.ENUM_CONSTANT) { + TreePath identifierTreePath = nodes.get(node.getIdentifier()); + Element identifierSym = trees.getElement(identifierTreePath); + if (identifierSym != null) { + emitSymbolOccurrence( + sym, + node, + identifierSym.getSimpleName(), + Role.REFERENCE, + CompilerRange.FROM_TEXT_SEARCH); + } else if (node.getIdentifier().getKind() == Tree.Kind.ANNOTATED_TYPE) { + AnnotatedTypeTree annotatedTypeTree = (AnnotatedTypeTree) node.getIdentifier(); + if (annotatedTypeTree.getUnderlyingType() != null + && annotatedTypeTree.getUnderlyingType().getKind() == Tree.Kind.IDENTIFIER) { + IdentifierTree ident = (IdentifierTree) annotatedTypeTree.getUnderlyingType(); + emitSymbolOccurrence( + sym, ident, ident.getName(), Role.REFERENCE, CompilerRange.FROM_TEXT_SEARCH); + } + } + } + } + } + } + + // ================================================= + // Helpers shared with SemanticdbVisitor (range / symbol / parent overrides). + // ================================================= + + private String semanticdbSymbol(Element sym) { + return globals.semanticdbSymbol(sym, locals); + } + + private Optional semanticdbRange( + Tree tree, CompilerRange kind, Element sym, String name) { + if (sym == null) return Optional.empty(); + + SourcePositions sourcePositions = trees.getSourcePositions(); + int start = (int) sourcePositions.getStartPosition(compUnitTree, tree); + int end = (int) sourcePositions.getEndPosition(compUnitTree, tree); + if (kind.isPlusOne()) start++; + + if (name != null) { + if (kind.isFromTextSearch() && name.length() > 0) { + Optional startEndRange = + RangeFinder.findRange(sym, name, start, end, this.source, kind.isFromEnd()); + if (startEndRange.isPresent()) { + start = startEndRange.get().start; + end = startEndRange.get().end; + } + } else if (kind.isFromPoint()) { + if (start != Diagnostic.NOPOS) { + int testEnd = start + name.length(); + if (source.length() > testEnd && source.substring(start, testEnd).equals(name)) { + end = testEnd; + } + } + } else if (kind.isFromEndPoint()) { + if (end != Diagnostic.NOPOS) { + int testStart = end - name.length(); + if (testStart >= 0 + && source.length() > end + && source.substring(testStart, end).equals(name)) { + start = testStart; + } + } + } + } + + 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 Semanticdb.Range correctForTabs(Semanticdb.Range range, LineMap lineMap, int start) { + int startLinePos = (int) lineMap.getPosition(lineMap.getLineNumber(start), 0); + if (this.source.charAt(startLinePos) == '\t') { + int count = 1; + while (this.source.charAt(++startLinePos) == '\t') count++; + range = + range + .toBuilder() + .setStartCharacter(range.getStartCharacter() - (count * 7)) + .setEndCharacter(range.getEndCharacter() - (count * 7)) + .build(); + } + return range; + } + + private Optional computeEnclosingRange(Tree tree) { + if (tree == null) return Optional.empty(); + TreePath path = nodes.get(tree); + if (path == null) return Optional.empty(); + + Tree enclosingTree = tree; + if (!(tree instanceof MethodTree + || tree instanceof ClassTree + || tree instanceof VariableTree)) { + 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 static String sourceText(CompilationUnitTree tree) { + try { + return tree.getSourceFile().getCharContent(true).toString(); + } catch (IOException e) { + return ""; + } + } + + private List semanticdbParentSymbols(TypeElement typeElement) { + ArrayList parentSymbols = new ArrayList<>(); + Set parentElements = semanticdbParentTypeElements(typeElement, new HashSet<>()); + for (TypeElement parentElement : parentElements) { + String ssym = semanticdbSymbol(parentElement); + if (!Objects.equals(ssym, SemanticdbSymbols.NONE)) { + parentSymbols.add(ssym); + } + } + return parentSymbols; + } + + private Set semanticdbParentTypeElements( + TypeElement typeElement, Set result) { + TypeMirror superType = typeElement.getSuperclass(); + semanticdbParentSymbol(superType, result); + for (TypeMirror interfaceType : typeElement.getInterfaces()) { + semanticdbParentSymbol(interfaceType, result); + } + return result; + } + + private void semanticdbParentSymbol(TypeMirror elementType, Set result) { + if (!(elementType instanceof NoType)) { + Element superElement = types.asElement(elementType); + if (superElement instanceof TypeElement) { + result.add((TypeElement) superElement); + semanticdbParentTypeElements((TypeElement) superElement, result); + } + } + } + + private Set semanticdbOverrides( + ExecutableElement sym, Element enclosingElement, HashSet overriddenSymbols) { + if (enclosingElement instanceof TypeElement) { + List superTypes = types.directSupertypes(enclosingElement.asType()); + for (TypeMirror superType : superTypes) { + if (superType instanceof DeclaredType) { + Element superElement = ((DeclaredType) superType).asElement(); + if (superElement instanceof TypeElement) { + boolean methodFound = false; + List enclosedElements = + ((TypeElement) superElement).getEnclosedElements(); + for (Element enclosedElement : enclosedElements) { + if (enclosedElement instanceof ExecutableElement) { + ExecutableElement enclosedExecutableElement = (ExecutableElement) enclosedElement; + if (elements.overrides( + sym, enclosedExecutableElement, (TypeElement) sym.getEnclosingElement())) { + String symbol = semanticdbSymbol(enclosedExecutableElement); + overriddenSymbols.add(symbol); + methodFound = true; + semanticdbOverrides(enclosedExecutableElement, superElement, overriddenSymbols); + } + } + } + if (!methodFound) { + semanticdbOverrides(sym, superElement, overriddenSymbols); + } + } + } + } + } + return overriddenSymbols; + } + + private static String sourceRelativePath( + CompilationUnitTree compUnitTree, SemanticdbJavacOptions options) { + Path absolutePath = + SemanticdbTaskListener.absolutePathFromUri(options, compUnitTree.getSourceFile()); + Path uriPath = + absolutePath.startsWith(options.sourceroot) + ? options.sourceroot.relativize(absolutePath) + : absolutePath; + StringBuilder out = new StringBuilder(); + Iterator it = uriPath.iterator(); + if (it.hasNext()) out.append(it.next().getFileName().toString()); + while (it.hasNext()) { + Path part = it.next(); + out.append('/').append(part.getFileName().toString()); + } + return out.toString(); + } + + private String semanticdbDocumentation(Tree tree) { + try { + TreePath treePath = nodes.get(tree); + String doc = trees.getDocComment(treePath); + return doc; + } catch (NullPointerException e) { + return null; + } + } +} diff --git a/semanticdb-javac/src/main/java/com/sourcegraph/semanticdb_javac/SemanticdbJavacOptions.java b/semanticdb-javac/src/main/java/com/sourcegraph/semanticdb_javac/SemanticdbJavacOptions.java index 672813a4..8b50817d 100644 --- a/semanticdb-javac/src/main/java/com/sourcegraph/semanticdb_javac/SemanticdbJavacOptions.java +++ b/semanticdb-javac/src/main/java/com/sourcegraph/semanticdb_javac/SemanticdbJavacOptions.java @@ -24,6 +24,15 @@ public class SemanticdbJavacOptions { public Path sourceroot; public boolean includeText = false; public boolean verboseEnabled = false; + /** + * Controls whether the plugin emits {@code *.scip} shards under {@code META-INF/scip/...} + * alongside the existing {@code *.semanticdb} files. Defaults to {@code true}: producing the + * extra shard is cheap and lets the {@code scip-java index-semanticdb --use-scip-shards} + * pipeline run without any additional compiler-side configuration. Legacy users that only + * consume {@code .semanticdb} are unaffected. Pass {@code -emit-scip:off} to disable. + */ + public boolean emitScip = true; + public final ArrayList errors; public boolean alreadyReportedErrors = false; public UriScheme uriScheme = UriScheme.DEFAULT; @@ -97,6 +106,10 @@ public static SemanticdbJavacOptions parse(String[] args, JavacTask task) { result.verboseEnabled = true; } else if (arg.equals("-verbose:off")) { result.verboseEnabled = false; + } else if (arg.equals("-emit-scip:on")) { + result.emitScip = true; + } else if (arg.equals("-emit-scip:off")) { + result.emitScip = false; } else if (arg.startsWith("-randomtimestamp")) { } else { result.errors.add(String.format("unknown flag '%s'\n", arg)); diff --git a/semanticdb-javac/src/main/java/com/sourcegraph/semanticdb_javac/SemanticdbTaskListener.java b/semanticdb-javac/src/main/java/com/sourcegraph/semanticdb_javac/SemanticdbTaskListener.java index 7c5238f6..7f96fd01 100644 --- a/semanticdb-javac/src/main/java/com/sourcegraph/semanticdb_javac/SemanticdbTaskListener.java +++ b/semanticdb-javac/src/main/java/com/sourcegraph/semanticdb_javac/SemanticdbTaskListener.java @@ -54,7 +54,10 @@ public void started(TaskEvent e) { Result semanticdbPath = semanticdbOutputPath(options, e); if (semanticdbPath.isOk()) { try { - Files.deleteIfExists(semanticdbPath.getOrThrow()); + Path sdb = semanticdbPath.getOrThrow(); + Files.deleteIfExists(sdb); + // Also drop any stale SCIP shard so we don't accumulate occurrences across builds. + Files.deleteIfExists(scipShardPath(sdb)); } catch (IOException ex) { this.reportException(ex, e); } @@ -117,12 +120,68 @@ private void onFinishedAnalyze(TaskEvent e) { Path output = path.getOrThrow(); if (Files.exists(output)) appendSemanticdb(e, output, textDocument); else writeSemanticdb(e, output, textDocument); + + if (options.emitScip) { + emitScipShard(e, output); + } } else { reporter.error(path.getErrorOrThrow(), e); } } } + /** + * Drives {@link ScipVisitor} over the compilation unit to build a {@code *.scip} shard under the + * matching {@code META-INF/scip/} path. During the SemanticDB→SCIP transition this is a second + * AST walk; once the legacy {@code *.semanticdb} output is removed the SCIP walk will be the only + * one. + */ + private void emitScipShard(TaskEvent event, Path semanticdbPath) { + try { + Path shardPath = scipShardPath(semanticdbPath); + com.sourcegraph.Scip.Index shard = + new ScipVisitor(globals, event.getCompilationUnit(), options, types, trees, elements) + .buildShard(event.getCompilationUnit()); + ScipShardWriter.writeOrMerge(shardPath, shard); + } catch (IOException ex) { + this.reportException(ex, event); + } + } + + /** + * Converts a {@code META-INF/semanticdb/.semanticdb} path into the matching {@code + * META-INF/scip/.scip} path. + */ + static Path scipShardPath(Path semanticdbPath) { + Path filename = semanticdbPath.getFileName(); + String name = filename.toString(); + if (name.endsWith(".semanticdb")) { + name = name.substring(0, name.length() - ".semanticdb".length()) + ".scip"; + } else { + name = name + ".scip"; + } + // Replace the trailing ".../META-INF/semanticdb/" prefix with ".../META-INF/scip/" + Path withoutFile = semanticdbPath.getParent(); + Path scipParent = rewriteSemanticdbToScip(withoutFile); + return scipParent.resolve(name); + } + + private static Path rewriteSemanticdbToScip(Path dir) { + // Walk up looking for a `semanticdb` segment immediately under `META-INF` and replace it. + Path root = dir.getRoot(); + java.util.ArrayList parts = new java.util.ArrayList<>(); + for (Path p : dir) parts.add(p.getFileName().toString()); + for (int i = parts.size() - 1; i > 0; i--) { + if (parts.get(i).equals("semanticdb") && parts.get(i - 1).equals("META-INF")) { + parts.set(i, "scip"); + break; + } + } + Path result = root == null ? Paths.get("") : root; + for (String part : parts) result = result.resolve(part); + return result; + } + private void writeSemanticdb(TaskEvent event, Path output, Semanticdb.TextDocument textDocument) { try { byte[] bytes = 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 ac2e74c3..fc494c4a 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 @@ -1,34 +1,34 @@ package minimized; -//⌄ enclosing_range_start semanticdb maven . . minimized/AbstractClasses# +//⌄ enclosing_range_start scip-java maven . . minimized/AbstractClasses# public abstract class AbstractClasses { -// ^^^^^^^^^^^^^^^ definition semanticdb maven . . minimized/AbstractClasses# +// ^^^^^^^^^^^^^^^ definition scip-java maven . . minimized/AbstractClasses# // display_name AbstractClasses // signature_documentation java public abstract class AbstractClasses // kind Class -// ^^^^^^^^^^^^^^^ definition semanticdb maven . . minimized/AbstractClasses#``(). +// ^^^^^^^^^^^^^^^ definition scip-java maven . . minimized/AbstractClasses#``(). // display_name // signature_documentation java public AbstractClasses() // kind Constructor -// ⌄ enclosing_range_start semanticdb maven . . minimized/AbstractClasses#defaultImplementation(). +// ⌄ enclosing_range_start scip-java maven . . minimized/AbstractClasses#defaultImplementation(). public String defaultImplementation() { -// ^^^^^^ reference semanticdb maven jdk 11 java/lang/String# -// ^^^^^^^^^^^^^^^^^^^^^ definition semanticdb maven . . minimized/AbstractClasses#defaultImplementation(). +// ^^^^^^ reference scip-java maven jdk 11 java/lang/String# +// ^^^^^^^^^^^^^^^^^^^^^ definition scip-java maven . . minimized/AbstractClasses#defaultImplementation(). // display_name defaultImplementation // signature_documentation java public String defaultImplementation() // kind Method return ""; } -// ⌃ enclosing_range_end semanticdb maven . . minimized/AbstractClasses#defaultImplementation(). +// ⌃ enclosing_range_end scip-java maven . . minimized/AbstractClasses#defaultImplementation(). -// ⌄ enclosing_range_start semanticdb maven . . minimized/AbstractClasses#abstractImplementation(). +// ⌄ enclosing_range_start scip-java maven . . minimized/AbstractClasses#abstractImplementation(). public abstract String abstractImplementation(); -// ^^^^^^ reference semanticdb maven jdk 11 java/lang/String# -// ^^^^^^^^^^^^^^^^^^^^^^ definition semanticdb maven . . minimized/AbstractClasses#abstractImplementation(). +// ^^^^^^ reference scip-java maven jdk 11 java/lang/String# +// ^^^^^^^^^^^^^^^^^^^^^^ definition scip-java maven . . minimized/AbstractClasses#abstractImplementation(). // display_name abstractImplementation // signature_documentation java public abstract String abstractImplementation() // kind AbstractMethod -// relationship is_reference is_implementation semanticdb maven . . minimized/SubClasses#abstractImplementation(). -// ⌃ enclosing_range_end semanticdb maven . . minimized/AbstractClasses#abstractImplementation(). +// relationship is_reference is_implementation scip-java maven . . minimized/SubClasses#abstractImplementation(). +// ⌃ enclosing_range_end scip-java maven . . minimized/AbstractClasses#abstractImplementation(). } -//⌃ enclosing_range_end semanticdb maven . . minimized/AbstractClasses# +//⌃ enclosing_range_end scip-java maven . . minimized/AbstractClasses# 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 dbfff8af..8a9e5d38 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 @@ -1,154 +1,154 @@ package minimized; -//⌄ enclosing_range_start semanticdb maven . . minimized/Bar# +//⌄ enclosing_range_start scip-java maven . . minimized/Bar# @interface Bar { -// ^^^ definition semanticdb maven . . minimized/Bar# +// ^^^ definition scip-java maven . . minimized/Bar# // display_name Bar -// signature_documentation java @interface Bar +// signature_documentation java abstract @interface Bar implements Annotation // kind Interface -// relationship is_implementation semanticdb maven jdk 11 java/lang/annotation/Annotation# -// ⌄ enclosing_range_start semanticdb maven . . minimized/Bar#value(). +// relationship is_implementation scip-java maven jdk 11 java/lang/annotation/Annotation# +// ⌄ enclosing_range_start scip-java maven . . minimized/Bar#value(). double value(); -// ^^^^^ definition semanticdb maven . . minimized/Bar#value(). +// ^^^^^ definition scip-java maven . . minimized/Bar#value(). // display_name value // signature_documentation java public abstract double value() // kind AbstractMethod -// ⌃ enclosing_range_end semanticdb maven . . minimized/Bar#value(). +// ⌃ enclosing_range_end scip-java maven . . minimized/Bar#value(). } -//⌃ enclosing_range_end semanticdb maven . . minimized/Bar# +//⌃ enclosing_range_end scip-java maven . . minimized/Bar# -//⌄ enclosing_range_start semanticdb maven . . minimized/BarB# +//⌄ enclosing_range_start scip-java maven . . minimized/BarB# @interface BarB { -// ^^^^ definition semanticdb maven . . minimized/BarB# +// ^^^^ definition scip-java maven . . minimized/BarB# // display_name BarB -// signature_documentation java @interface BarB +// signature_documentation java abstract @interface BarB implements Annotation // kind Interface -// relationship is_implementation semanticdb maven jdk 11 java/lang/annotation/Annotation# -// ⌄ enclosing_range_start semanticdb maven . . minimized/BarB#value(). +// relationship is_implementation scip-java maven jdk 11 java/lang/annotation/Annotation# +// ⌄ enclosing_range_start scip-java maven . . minimized/BarB#value(). boolean value(); -// ^^^^^ definition semanticdb maven . . minimized/BarB#value(). +// ^^^^^ definition scip-java maven . . minimized/BarB#value(). // display_name value // signature_documentation java public abstract boolean value() // kind AbstractMethod -// ⌃ enclosing_range_end semanticdb maven . . minimized/BarB#value(). +// ⌃ enclosing_range_end scip-java maven . . minimized/BarB#value(). } -//⌃ enclosing_range_end semanticdb maven . . minimized/BarB# +//⌃ enclosing_range_end scip-java maven . . minimized/BarB# -//⌄ enclosing_range_start semanticdb maven . . minimized/Nullable# +//⌄ enclosing_range_start scip-java maven . . minimized/Nullable# @interface Nullable { -// ^^^^^^^^ definition semanticdb maven . . minimized/Nullable# +// ^^^^^^^^ definition scip-java maven . . minimized/Nullable# // display_name Nullable -// signature_documentation java @interface Nullable +// signature_documentation java abstract @interface Nullable implements Annotation // kind Interface -// relationship is_implementation semanticdb maven jdk 11 java/lang/annotation/Annotation# -// ⌄ enclosing_range_start semanticdb maven . . minimized/Nullable#value(). +// relationship is_implementation scip-java maven jdk 11 java/lang/annotation/Annotation# +// ⌄ enclosing_range_start scip-java maven . . minimized/Nullable#value(). String value() default ""; -// ^^^^^^ reference semanticdb maven jdk 11 java/lang/String# -// ^^^^^ definition semanticdb maven . . minimized/Nullable#value(). +// ^^^^^^ reference scip-java maven jdk 11 java/lang/String# +// ^^^^^ definition scip-java maven . . minimized/Nullable#value(). // display_name value // signature_documentation java public abstract String value() // kind AbstractMethod -// ⌃ enclosing_range_end semanticdb maven . . minimized/Nullable#value(). +// ⌃ enclosing_range_end scip-java maven . . minimized/Nullable#value(). } -//⌃ enclosing_range_end semanticdb maven . . minimized/Nullable# +//⌃ enclosing_range_end scip-java maven . . minimized/Nullable# -//⌄ enclosing_range_start semanticdb maven . . minimized/BarRef# +//⌄ enclosing_range_start scip-java maven . . minimized/BarRef# @interface BarRef{ -// ^^^^^^ definition semanticdb maven . . minimized/BarRef# +// ^^^^^^ definition scip-java maven . . minimized/BarRef# // display_name BarRef -// signature_documentation java @interface BarRef +// signature_documentation java abstract @interface BarRef implements Annotation // kind Interface -// relationship is_implementation semanticdb maven jdk 11 java/lang/annotation/Annotation# -// ⌄ enclosing_range_start semanticdb maven . . minimized/BarRef#value(). +// relationship is_implementation scip-java maven jdk 11 java/lang/annotation/Annotation# +// ⌄ enclosing_range_start scip-java maven . . minimized/BarRef#value(). SuppressWarnings value(); -// ^^^^^^^^^^^^^^^^ reference semanticdb maven jdk 11 java/lang/SuppressWarnings# -// ^^^^^ definition semanticdb maven . . minimized/BarRef#value(). +// ^^^^^^^^^^^^^^^^ reference scip-java maven jdk 11 java/lang/SuppressWarnings# +// ^^^^^ definition scip-java maven . . minimized/BarRef#value(). // display_name value // signature_documentation java public abstract SuppressWarnings value() // kind AbstractMethod -// ⌃ enclosing_range_end semanticdb maven . . minimized/BarRef#value(). +// ⌃ enclosing_range_end scip-java maven . . minimized/BarRef#value(). } -//⌃ enclosing_range_end semanticdb maven . . minimized/BarRef# +//⌃ enclosing_range_end scip-java maven . . minimized/BarRef# -//⌄ enclosing_range_start semanticdb maven . . minimized/Foo# +//⌄ enclosing_range_start scip-java maven . . minimized/Foo# interface Foo { -// ^^^ definition semanticdb maven . . minimized/Foo# +// ^^^ definition scip-java maven . . minimized/Foo# // display_name Foo -// signature_documentation java interface Foo +// signature_documentation java abstract interface Foo // kind Interface -// ⌄ enclosing_range_start semanticdb maven . . minimized/Foo#test(). +// ⌄ enclosing_range_start scip-java maven . . minimized/Foo#test(). @Bar(-1d) -// ^^^ reference semanticdb maven . . minimized/Bar# +// ^^^ reference scip-java maven . . minimized/Bar# double test(); -// ^^^^ definition semanticdb maven . . minimized/Foo#test(). +// ^^^^ definition scip-java maven . . minimized/Foo#test(). // display_name test -// signature_documentation java @Bar(-1.0)\npublic abstract double test() +// signature_documentation java @Bar\npublic abstract double test() // kind AbstractMethod -// ⌃ enclosing_range_end semanticdb maven . . minimized/Foo#test(). +// ⌃ enclosing_range_end scip-java maven . . minimized/Foo#test(). -// ⌄ enclosing_range_start semanticdb maven . . minimized/Foo#test2(). +// ⌄ enclosing_range_start scip-java maven . . minimized/Foo#test2(). @Bar(~5) -// ^^^ reference semanticdb maven . . minimized/Bar# +// ^^^ reference scip-java maven . . minimized/Bar# @SuppressWarnings(value = "unchecked") -// ^^^^^^^^^^^^^^^^ reference semanticdb maven jdk 11 java/lang/SuppressWarnings# -// ^^^^^ reference semanticdb maven jdk 11 java/lang/SuppressWarnings#value(). +// ^^^^^^^^^^^^^^^^ reference scip-java maven jdk 11 java/lang/SuppressWarnings# +// ^^^^^ reference scip-java maven jdk 11 java/lang/SuppressWarnings#value(). double test2(); -// ^^^^^ definition semanticdb maven . . minimized/Foo#test2(). +// ^^^^^ definition scip-java maven . . minimized/Foo#test2(). // display_name test2 -// signature_documentation java @Bar(~5)\n@SuppressWarnings("unchecked")\npublic abstract double test2() +// signature_documentation java @Bar\n@SuppressWarnings\npublic abstract double test2() // kind AbstractMethod -// ⌃ enclosing_range_end semanticdb maven . . minimized/Foo#test2(). +// ⌃ enclosing_range_end scip-java maven . . minimized/Foo#test2(). -// ⌄ enclosing_range_start semanticdb maven . . minimized/Foo#test3(). +// ⌄ enclosing_range_start scip-java maven . . minimized/Foo#test3(). @BarB(!true) -// ^^^^ reference semanticdb maven . . minimized/BarB# +// ^^^^ reference scip-java maven . . minimized/BarB# double test3(); -// ^^^^^ definition semanticdb maven . . minimized/Foo#test3(). +// ^^^^^ definition scip-java maven . . minimized/Foo#test3(). // display_name test3 -// signature_documentation java @BarB(!true)\npublic abstract double test3() +// signature_documentation java @BarB\npublic abstract double test3() // kind AbstractMethod -// ⌃ enclosing_range_end semanticdb maven . . minimized/Foo#test3(). +// ⌃ enclosing_range_end scip-java maven . . minimized/Foo#test3(). -// ⌄ enclosing_range_start semanticdb maven . . minimized/Foo#test4(). +// ⌄ enclosing_range_start scip-java maven . . minimized/Foo#test4(). @Nullable(("what")) -// ^^^^^^^^ reference semanticdb maven . . minimized/Nullable# +// ^^^^^^^^ reference scip-java maven . . minimized/Nullable# Foo test4(); -// ^^^ reference semanticdb maven . . minimized/Foo# -// ^^^^^ definition semanticdb maven . . minimized/Foo#test4(). +// ^^^ reference scip-java maven . . minimized/Foo# +// ^^^^^ definition scip-java maven . . minimized/Foo#test4(). // display_name test4 -// signature_documentation java @Nullable("what")\npublic abstract Foo test4() +// signature_documentation java @Nullable\npublic abstract Foo test4() // kind AbstractMethod -// ⌃ enclosing_range_end semanticdb maven . . minimized/Foo#test4(). +// ⌃ enclosing_range_end scip-java maven . . minimized/Foo#test4(). -// ⌄ enclosing_range_start semanticdb maven . . minimized/Foo#testCast(). +// ⌄ enclosing_range_start scip-java maven . . minimized/Foo#testCast(). @Bar((double) -1) -// ^^^ reference semanticdb maven . . minimized/Bar# +// ^^^ reference scip-java maven . . minimized/Bar# double testCast(); -// ^^^^^^^^ definition semanticdb maven . . minimized/Foo#testCast(). +// ^^^^^^^^ definition scip-java maven . . minimized/Foo#testCast(). // display_name testCast -// signature_documentation java @Bar((double) -1)\npublic abstract double testCast() +// signature_documentation java @Bar\npublic abstract double testCast() // kind AbstractMethod -// ⌃ enclosing_range_end semanticdb maven . . minimized/Foo#testCast(). +// ⌃ enclosing_range_end scip-java maven . . minimized/Foo#testCast(). } -//⌃ enclosing_range_end semanticdb maven . . minimized/Foo# +//⌃ enclosing_range_end scip-java maven . . minimized/Foo# -//⌄ enclosing_range_start semanticdb maven . . minimized/TestRef# +//⌄ enclosing_range_start scip-java maven . . minimized/TestRef# interface TestRef { -// ^^^^^^^ definition semanticdb maven . . minimized/TestRef# +// ^^^^^^^ definition scip-java maven . . minimized/TestRef# // display_name TestRef -// signature_documentation java interface TestRef +// signature_documentation java abstract interface TestRef // kind Interface -// ⌄ enclosing_range_start semanticdb maven . . minimized/TestRef#testCase(). +// ⌄ enclosing_range_start scip-java maven . . minimized/TestRef#testCase(). @BarRef(@SuppressWarnings(value = "unchecked")) -// ^^^^^^ reference semanticdb maven . . minimized/BarRef# -// ^^^^^^^^^^^^^^^^ reference semanticdb maven jdk 11 java/lang/SuppressWarnings# -// ^^^^^ reference semanticdb maven jdk 11 java/lang/SuppressWarnings#value(). +// ^^^^^^ reference scip-java maven . . minimized/BarRef# +// ^^^^^^^^^^^^^^^^ reference scip-java maven jdk 11 java/lang/SuppressWarnings# +// ^^^^^ reference scip-java maven jdk 11 java/lang/SuppressWarnings#value(). abstract double testCase(); -// ^^^^^^^^ definition semanticdb maven . . minimized/TestRef#testCase(). +// ^^^^^^^^ definition scip-java maven . . minimized/TestRef#testCase(). // display_name testCase -// signature_documentation java @BarRef(@SuppressWarnings("unchecked"))\npublic abstract double testCase() +// signature_documentation java @BarRef\npublic abstract double testCase() // kind AbstractMethod -// ⌃ enclosing_range_end semanticdb maven . . minimized/TestRef#testCase(). +// ⌃ enclosing_range_end scip-java maven . . minimized/TestRef#testCase(). } -//⌃ enclosing_range_end semanticdb maven . . minimized/TestRef# +//⌃ enclosing_range_end scip-java maven . . minimized/TestRef# 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 1a6ace91..061c9a40 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 @@ -1,79 +1,79 @@ package minimized; import java.lang.annotation.Documented; -// ^^^^ reference semanticdb maven . . java/ -// ^^^^ reference semanticdb maven . . java/lang/ -// ^^^^^^^^^^ reference semanticdb maven . . java/lang/annotation/ -// ^^^^^^^^^^ reference semanticdb maven jdk 11 java/lang/annotation/Documented# +// ^^^^ reference scip-java maven . . java/ +// ^^^^ reference scip-java maven . . java/lang/ +// ^^^^^^^^^^ reference scip-java maven . . java/lang/annotation/ +// ^^^^^^^^^^ reference scip-java maven jdk 11 java/lang/annotation/Documented# import java.lang.annotation.Retention; -// ^^^^ reference semanticdb maven . . java/ -// ^^^^ reference semanticdb maven . . java/lang/ -// ^^^^^^^^^^ reference semanticdb maven . . java/lang/annotation/ -// ^^^^^^^^^ reference semanticdb maven jdk 11 java/lang/annotation/Retention# +// ^^^^ reference scip-java maven . . java/ +// ^^^^ reference scip-java maven . . java/lang/ +// ^^^^^^^^^^ reference scip-java maven . . java/lang/annotation/ +// ^^^^^^^^^ reference scip-java maven jdk 11 java/lang/annotation/Retention# import java.lang.annotation.RetentionPolicy; -// ^^^^ reference semanticdb maven . . java/ -// ^^^^ reference semanticdb maven . . java/lang/ -// ^^^^^^^^^^ reference semanticdb maven . . java/lang/annotation/ -// ^^^^^^^^^^^^^^^ reference semanticdb maven jdk 11 java/lang/annotation/RetentionPolicy# +// ^^^^ reference scip-java maven . . java/ +// ^^^^ reference scip-java maven . . java/lang/ +// ^^^^^^^^^^ reference scip-java maven . . java/lang/annotation/ +// ^^^^^^^^^^^^^^^ reference scip-java maven jdk 11 java/lang/annotation/RetentionPolicy# import java.lang.annotation.Target; -// ^^^^ reference semanticdb maven . . java/ -// ^^^^ reference semanticdb maven . . java/lang/ -// ^^^^^^^^^^ reference semanticdb maven . . java/lang/annotation/ -// ^^^^^^ reference semanticdb maven jdk 11 java/lang/annotation/Target# +// ^^^^ reference scip-java maven . . java/ +// ^^^^ reference scip-java maven . . java/lang/ +// ^^^^^^^^^^ reference scip-java maven . . java/lang/annotation/ +// ^^^^^^ reference scip-java maven jdk 11 java/lang/annotation/Target# import static java.lang.annotation.ElementType.*; -// ^^^^ reference semanticdb maven . . java/ -// ^^^^ reference semanticdb maven . . java/lang/ -// ^^^^^^^^^^ reference semanticdb maven . . java/lang/annotation/ -// ^^^^^^^^^^^ reference semanticdb maven jdk 11 java/lang/annotation/ElementType# +// ^^^^ reference scip-java maven . . java/ +// ^^^^ reference scip-java maven . . java/lang/ +// ^^^^^^^^^^ reference scip-java maven . . java/lang/annotation/ +// ^^^^^^^^^^^ reference scip-java maven jdk 11 java/lang/annotation/ElementType# -//⌄ enclosing_range_start semanticdb maven . . minimized/Annotations# +//⌄ enclosing_range_start scip-java maven . . minimized/Annotations# @Documented -// ^^^^^^^^^ reference semanticdb maven jdk 11 java/lang/annotation/Documented# +// ^^^^^^^^^ reference scip-java maven jdk 11 java/lang/annotation/Documented# @Retention(RetentionPolicy.RUNTIME) -// ^^^^^^^^ reference semanticdb maven jdk 11 java/lang/annotation/Retention# -// ^^^^^^^^^^^^^^^ reference semanticdb maven jdk 11 java/lang/annotation/RetentionPolicy# -// ^^^^^^^ reference semanticdb maven jdk 11 java/lang/annotation/RetentionPolicy#RUNTIME. +// ^^^^^^^^ reference scip-java maven jdk 11 java/lang/annotation/Retention# +// ^^^^^^^^^^^^^^^ reference scip-java maven jdk 11 java/lang/annotation/RetentionPolicy# +// ^^^^^^^ reference scip-java maven jdk 11 java/lang/annotation/RetentionPolicy#RUNTIME. @Target(value = {CONSTRUCTOR, -// ^^^^^ reference semanticdb maven jdk 11 java/lang/annotation/Target# -// ^^^^^ reference semanticdb maven jdk 11 java/lang/annotation/Target#value(). -// ^^^^^^^^^^^ reference semanticdb maven jdk 11 java/lang/annotation/ElementType#CONSTRUCTOR. +// ^^^^^ reference scip-java maven jdk 11 java/lang/annotation/Target# +// ^^^^^ reference scip-java maven jdk 11 java/lang/annotation/Target#value(). +// ^^^^^^^^^^^ reference scip-java maven jdk 11 java/lang/annotation/ElementType#CONSTRUCTOR. FIELD, -// ^^^^^ reference semanticdb maven jdk 11 java/lang/annotation/ElementType#FIELD. +// ^^^^^ reference scip-java maven jdk 11 java/lang/annotation/ElementType#FIELD. LOCAL_VARIABLE, -// ^^^^^^^^^^^^^^ reference semanticdb maven jdk 11 java/lang/annotation/ElementType#LOCAL_VARIABLE. +// ^^^^^^^^^^^^^^ reference scip-java maven jdk 11 java/lang/annotation/ElementType#LOCAL_VARIABLE. METHOD, -// ^^^^^^ reference semanticdb maven jdk 11 java/lang/annotation/ElementType#METHOD. +// ^^^^^^ reference scip-java maven jdk 11 java/lang/annotation/ElementType#METHOD. PACKAGE, -// ^^^^^^^ reference semanticdb maven jdk 11 java/lang/annotation/ElementType#PACKAGE. +// ^^^^^^^ reference scip-java maven jdk 11 java/lang/annotation/ElementType#PACKAGE. PARAMETER, -// ^^^^^^^^^ reference semanticdb maven jdk 11 java/lang/annotation/ElementType#PARAMETER. +// ^^^^^^^^^ reference scip-java maven jdk 11 java/lang/annotation/ElementType#PARAMETER. TYPE} -// ^^^^ reference semanticdb maven jdk 11 java/lang/annotation/ElementType#TYPE. +// ^^^^ reference scip-java maven jdk 11 java/lang/annotation/ElementType#TYPE. ) public @interface Annotations { -// ^^^^^^^^^^^ definition semanticdb maven . . minimized/Annotations# +// ^^^^^^^^^^^ definition scip-java 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 +// signature_documentation java @Documented\n@Retention\n@Target\npublic abstract @interface Annotations implements Annotation // kind Interface -// relationship is_implementation semanticdb maven jdk 11 java/lang/annotation/Annotation# +// relationship is_implementation scip-java maven jdk 11 java/lang/annotation/Annotation# -// ⌄ enclosing_range_start semanticdb maven . . minimized/Annotations#value(). +// ⌄ enclosing_range_start scip-java maven . . minimized/Annotations#value(). String value() default ""; -// ^^^^^^ reference semanticdb maven jdk 11 java/lang/String# -// ^^^^^ definition semanticdb maven . . minimized/Annotations#value(). +// ^^^^^^ reference scip-java maven jdk 11 java/lang/String# +// ^^^^^ definition scip-java maven . . minimized/Annotations#value(). // display_name value // signature_documentation java public abstract String value() // kind AbstractMethod -// ⌃ enclosing_range_end semanticdb maven . . minimized/Annotations#value(). +// ⌃ enclosing_range_end scip-java maven . . minimized/Annotations#value(). -// ⌄ enclosing_range_start semanticdb maven . . minimized/Annotations#format(). +// ⌄ enclosing_range_start scip-java maven . . minimized/Annotations#format(). String format() default ""; -// ^^^^^^ reference semanticdb maven jdk 11 java/lang/String# -// ^^^^^^ definition semanticdb maven . . minimized/Annotations#format(). +// ^^^^^^ reference scip-java maven jdk 11 java/lang/String# +// ^^^^^^ definition scip-java maven . . minimized/Annotations#format(). // display_name format // signature_documentation java public abstract String format() // kind AbstractMethod -// ⌃ enclosing_range_end semanticdb maven . . minimized/Annotations#format(). +// ⌃ enclosing_range_end scip-java maven . . minimized/Annotations#format(). } -//⌃ enclosing_range_end semanticdb maven . . minimized/Annotations# +//⌃ enclosing_range_end scip-java maven . . minimized/Annotations# 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 926380b4..4465c89d 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 @@ -1,238 +1,290 @@ package minimized; import java.lang.reflect.Constructor; -// ^^^^ reference semanticdb maven . . java/ -// ^^^^ reference semanticdb maven . . java/lang/ -// ^^^^^^^ reference semanticdb maven . . java/lang/reflect/ -// ^^^^^^^^^^^ reference semanticdb maven jdk 11 java/lang/reflect/Constructor# +// ^^^^ reference scip-java maven . . java/ +// ^^^^ reference scip-java maven . . java/lang/ +// ^^^^^^^ reference scip-java maven . . java/lang/reflect/ +// ^^^^^^^^^^^ reference scip-java maven jdk 11 java/lang/reflect/Constructor# import java.lang.reflect.InvocationHandler; -// ^^^^ reference semanticdb maven . . java/ -// ^^^^ reference semanticdb maven . . java/lang/ -// ^^^^^^^ reference semanticdb maven . . java/lang/reflect/ -// ^^^^^^^^^^^^^^^^^ reference semanticdb maven jdk 11 java/lang/reflect/InvocationHandler# +// ^^^^ reference scip-java maven . . java/ +// ^^^^ reference scip-java maven . . java/lang/ +// ^^^^^^^ reference scip-java maven . . java/lang/reflect/ +// ^^^^^^^^^^^^^^^^^ reference scip-java maven jdk 11 java/lang/reflect/InvocationHandler# import java.util.concurrent.ConcurrentHashMap; -// ^^^^ reference semanticdb maven . . java/ -// ^^^^ reference semanticdb maven . . java/util/ -// ^^^^^^^^^^ reference semanticdb maven . . java/util/concurrent/ -// ^^^^^^^^^^^^^^^^^ reference semanticdb maven jdk 11 java/util/concurrent/ConcurrentHashMap# +// ^^^^ reference scip-java maven . . java/ +// ^^^^ reference scip-java maven . . java/util/ +// ^^^^^^^^^^ reference scip-java maven . . java/util/concurrent/ +// ^^^^^^^^^^^^^^^^^ reference scip-java maven jdk 11 java/util/concurrent/ConcurrentHashMap# import java.util.concurrent.ConcurrentMap; -// ^^^^ reference semanticdb maven . . java/ -// ^^^^ reference semanticdb maven . . java/util/ -// ^^^^^^^^^^ reference semanticdb maven . . java/util/concurrent/ -// ^^^^^^^^^^^^^ reference semanticdb maven jdk 11 java/util/concurrent/ConcurrentMap# +// ^^^^ reference scip-java maven . . java/ +// ^^^^ reference scip-java maven . . java/util/ +// ^^^^^^^^^^ reference scip-java maven . . java/util/concurrent/ +// ^^^^^^^^^^^^^ reference scip-java maven jdk 11 java/util/concurrent/ConcurrentMap# import java.util.function.Function; -// ^^^^ reference semanticdb maven . . java/ -// ^^^^ reference semanticdb maven . . java/util/ -// ^^^^^^^^ reference semanticdb maven . . java/util/function/ -// ^^^^^^^^ reference semanticdb maven jdk 11 java/util/function/Function# +// ^^^^ reference scip-java maven . . java/ +// ^^^^ reference scip-java maven . . java/util/ +// ^^^^^^^^ reference scip-java maven . . java/util/function/ +// ^^^^^^^^ reference scip-java maven jdk 11 java/util/function/Function# -//⌄ enclosing_range_start semanticdb maven . . minimized/AnnotationsOnParameterizedTypes# +//⌄ enclosing_range_start scip-java maven . . minimized/AnnotationsOnParameterizedTypes# public interface AnnotationsOnParameterizedTypes { -// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ definition semanticdb maven . . minimized/AnnotationsOnParameterizedTypes# +// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ definition scip-java maven . . minimized/AnnotationsOnParameterizedTypes# // display_name AnnotationsOnParameterizedTypes -// signature_documentation java public interface AnnotationsOnParameterizedTypes +// signature_documentation java public abstract interface AnnotationsOnParameterizedTypes // kind Interface -// ⌄ enclosing_range_start semanticdb maven . . minimized/AnnotationsOnParameterizedTypes#getInstance(). +// ⌄ enclosing_range_start scip-java maven . . minimized/AnnotationsOnParameterizedTypes#getInstance(). public static AnnotationsOnParameterizedTypes getInstance() { -// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . minimized/AnnotationsOnParameterizedTypes# -// ^^^^^^^^^^^ definition semanticdb maven . . minimized/AnnotationsOnParameterizedTypes#getInstance(). +// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ reference scip-java maven . . minimized/AnnotationsOnParameterizedTypes# +// ^^^^^^^^^^^ definition scip-java maven . . minimized/AnnotationsOnParameterizedTypes#getInstance(). // display_name getInstance // signature_documentation java public static AnnotationsOnParameterizedTypes getInstance() // kind StaticMethod return new AnnotationsOnParameterizedTypesImpl(); -// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . minimized/AnnotationsOnParameterizedTypesImpl#``(). +// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ reference scip-java maven . . minimized/AnnotationsOnParameterizedTypesImpl#``(). } -// ⌃ enclosing_range_end semanticdb maven . . minimized/AnnotationsOnParameterizedTypes#getInstance(). +// ⌃ enclosing_range_end scip-java maven . . minimized/AnnotationsOnParameterizedTypes#getInstance(). -// ⌄ enclosing_range_start semanticdb maven . . minimized/AnnotationsOnParameterizedTypes#adapter().[C] -// ⌄ enclosing_range_start semanticdb maven . . minimized/AnnotationsOnParameterizedTypes#adapter().[W] -// ⌄ enclosing_range_start semanticdb maven . . minimized/AnnotationsOnParameterizedTypes#adapter(). +// ⌄ enclosing_range_start scip-java maven . . minimized/AnnotationsOnParameterizedTypes#adapter(). +// ⌄ enclosing_range_start scip-java maven . . minimized/AnnotationsOnParameterizedTypes#adapter().[C] +// ⌄ enclosing_range_start scip-java maven . . minimized/AnnotationsOnParameterizedTypes#adapter().[W] // ⌄ enclosing_range_start local 0 // ⌄ enclosing_range_start local 1 Function adapter(Class contract, Class wrappedClass); -// ^ definition semanticdb maven . . minimized/AnnotationsOnParameterizedTypes#adapter().[C] +// ^ definition scip-java maven . . minimized/AnnotationsOnParameterizedTypes#adapter().[C] // display_name C // signature_documentation java C // kind TypeParameter -// ^ definition semanticdb maven . . minimized/AnnotationsOnParameterizedTypes#adapter().[W] +// ^ definition scip-java maven . . minimized/AnnotationsOnParameterizedTypes#adapter().[W] // display_name W // signature_documentation java W // kind TypeParameter -// ^^^^^^^^ reference semanticdb maven jdk 11 java/util/function/Function# -// ^ reference semanticdb maven . . minimized/AnnotationsOnParameterizedTypes#adapter().[W] -// ^ reference semanticdb maven . . minimized/AnnotationsOnParameterizedTypes#adapter().[C] -// ^^^^^^^ definition semanticdb maven . . minimized/AnnotationsOnParameterizedTypes#adapter(). +// ^^^^^^^^ reference scip-java maven jdk 11 java/util/function/Function# +// ^ reference scip-java maven . . minimized/AnnotationsOnParameterizedTypes#adapter().[W] +// ^ reference scip-java maven . . minimized/AnnotationsOnParameterizedTypes#adapter().[C] +// ^^^^^^^ definition scip-java maven . . minimized/AnnotationsOnParameterizedTypes#adapter(). // display_name adapter // signature_documentation java public abstract Function adapter(Class contract, Class wrappedClass) // kind AbstractMethod -// relationship is_reference is_implementation semanticdb maven . . minimized/AnnotationsOnParameterizedTypesImpl#adapter(). -// ^^^^^ reference semanticdb maven jdk 11 java/lang/Class# -// ^ reference semanticdb maven . . minimized/AnnotationsOnParameterizedTypes#adapter().[C] +// relationship is_reference is_implementation scip-java maven . . minimized/AnnotationsOnParameterizedTypesImpl#adapter(). +// ^^^^^ reference scip-java maven jdk 11 java/lang/Class# +// ^ reference scip-java maven . . minimized/AnnotationsOnParameterizedTypes#adapter().[C] // ^^^^^^^^ definition local 0 // display_name contract // signature_documentation java Class contract -// enclosing_symbol semanticdb maven . . minimized/AnnotationsOnParameterizedTypes#adapter(). -// ^^^^^ reference semanticdb maven jdk 11 java/lang/Class# -// ^ reference semanticdb maven . . minimized/AnnotationsOnParameterizedTypes#adapter().[W] +// enclosing_symbol scip-java maven . . minimized/AnnotationsOnParameterizedTypesImpl#adapter(). +// kind Parameter +// ^^^^^ reference scip-java maven jdk 11 java/lang/Class# +// ^ reference scip-java maven . . minimized/AnnotationsOnParameterizedTypes#adapter().[W] // ^^^^^^^^^^^^ definition local 1 // display_name wrappedClass // signature_documentation java Class wrappedClass -// enclosing_symbol semanticdb maven . . minimized/AnnotationsOnParameterizedTypes#adapter(). +// enclosing_symbol scip-java maven . . minimized/AnnotationsOnParameterizedTypesImpl#adapter(). +// kind Parameter // ⌃ enclosing_range_end local 0 // ⌃ enclosing_range_end local 1 -// ⌃ enclosing_range_end semanticdb maven . . minimized/AnnotationsOnParameterizedTypes#adapter().[C] -// ⌃ enclosing_range_end semanticdb maven . . minimized/AnnotationsOnParameterizedTypes#adapter().[W] -// ⌃ enclosing_range_end semanticdb maven . . minimized/AnnotationsOnParameterizedTypes#adapter(). +// ⌃ enclosing_range_end scip-java maven . . minimized/AnnotationsOnParameterizedTypes#adapter(). +// ⌃ enclosing_range_end scip-java maven . . minimized/AnnotationsOnParameterizedTypes#adapter().[C] +// ⌃ enclosing_range_end scip-java maven . . minimized/AnnotationsOnParameterizedTypes#adapter().[W] } -//⌃ enclosing_range_end semanticdb maven . . minimized/AnnotationsOnParameterizedTypes# +//⌃ enclosing_range_end scip-java maven . . minimized/AnnotationsOnParameterizedTypes# -//⌄ enclosing_range_start semanticdb maven . . minimized/AnnotationsOnParameterizedTypesImpl# +//⌄ enclosing_range_start scip-java maven . . minimized/AnnotationsOnParameterizedTypesImpl# class AnnotationsOnParameterizedTypesImpl implements AnnotationsOnParameterizedTypes { -// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ definition semanticdb maven . . minimized/AnnotationsOnParameterizedTypesImpl# +// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ definition scip-java maven . . minimized/AnnotationsOnParameterizedTypesImpl# // display_name AnnotationsOnParameterizedTypesImpl -// signature_documentation java class AnnotationsOnParameterizedTypesImpl +// signature_documentation java class AnnotationsOnParameterizedTypesImpl implements AnnotationsOnParameterizedTypes // kind Class -// relationship is_implementation semanticdb maven . . minimized/AnnotationsOnParameterizedTypes# -// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ definition semanticdb maven . . minimized/AnnotationsOnParameterizedTypesImpl#``(). +// relationship is_implementation scip-java maven . . minimized/AnnotationsOnParameterizedTypes# +// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ definition scip-java maven . . minimized/AnnotationsOnParameterizedTypesImpl#``(). // display_name // signature_documentation java AnnotationsOnParameterizedTypesImpl() // kind Constructor -// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . minimized/AnnotationsOnParameterizedTypes# -// ⌄ enclosing_range_start semanticdb maven . . minimized/AnnotationsOnParameterizedTypesImpl#proxyConstructors. +// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ reference scip-java maven . . minimized/AnnotationsOnParameterizedTypes# +// ⌄ enclosing_range_start scip-java maven . . minimized/AnnotationsOnParameterizedTypesImpl#proxyConstructors. private ConcurrentMap, Constructor> proxyConstructors = new ConcurrentHashMap<>(); -// ^^^^^^^^^^^^^ reference semanticdb maven jdk 11 java/util/concurrent/ConcurrentMap# -// ^^^^^ reference semanticdb maven jdk 11 java/lang/Class# -// ^^^^^^^^^^^ reference semanticdb maven jdk 11 java/lang/reflect/Constructor# -// ^^^^^^^^^^^^^^^^^ definition semanticdb maven . . minimized/AnnotationsOnParameterizedTypesImpl#proxyConstructors. +// ^^^^^^^^^^^^^ reference scip-java maven jdk 11 java/util/concurrent/ConcurrentMap# +// ^^^^^ reference scip-java maven jdk 11 java/lang/Class# +// ^^^^^^^^^^^ reference scip-java maven jdk 11 java/lang/reflect/Constructor# +// ^^^^^^^^^^^^^^^^^ definition scip-java maven . . minimized/AnnotationsOnParameterizedTypesImpl#proxyConstructors. // display_name proxyConstructors // signature_documentation java private ConcurrentMap, Constructor> proxyConstructors // kind Field -// ^^^^^^^^^^^^^^^^^ reference semanticdb maven jdk 11 java/util/concurrent/ConcurrentHashMap#``(). -// ⌃ enclosing_range_end semanticdb maven . . minimized/AnnotationsOnParameterizedTypesImpl#proxyConstructors. +// ^^^^^^^^^^^^^^^^^ reference scip-java maven jdk 11 java/util/concurrent/ConcurrentHashMap#``(). +// ⌃ enclosing_range_end scip-java maven . . minimized/AnnotationsOnParameterizedTypesImpl#proxyConstructors. -// ⌄ enclosing_range_start semanticdb maven . . minimized/AnnotationsOnParameterizedTypesImpl#adapter().[C] -// ⌄ enclosing_range_start semanticdb maven . . minimized/AnnotationsOnParameterizedTypesImpl#adapter().[W] -// ⌄ enclosing_range_start semanticdb maven . . minimized/AnnotationsOnParameterizedTypesImpl#adapter(). +// ⌄ enclosing_range_start scip-java maven . . minimized/AnnotationsOnParameterizedTypesImpl#adapter(). +// ⌄ enclosing_range_start scip-java maven . . minimized/AnnotationsOnParameterizedTypesImpl#adapter().[C] +// ⌄ enclosing_range_start scip-java maven . . minimized/AnnotationsOnParameterizedTypesImpl#adapter().[W] @Override -// ^^^^^^^^ reference semanticdb maven jdk 11 java/lang/Override# +// ^^^^^^^^ reference scip-java maven jdk 11 java/lang/Override# // ⌄ enclosing_range_start local 2 +// ⌄ enclosing_range_start local 0 // ⌄ enclosing_range_start local 3 +// ⌄ enclosing_range_start local 1 public Function adapter(Class contract, Class wrappedClass) { -// ^ definition semanticdb maven . . minimized/AnnotationsOnParameterizedTypesImpl#adapter().[C] +// ^ definition scip-java maven . . minimized/AnnotationsOnParameterizedTypesImpl#adapter().[C] // display_name C // signature_documentation java C // kind TypeParameter -// ^ definition semanticdb maven . . minimized/AnnotationsOnParameterizedTypesImpl#adapter().[W] +// ^ definition scip-java maven . . minimized/AnnotationsOnParameterizedTypesImpl#adapter().[W] // display_name W // signature_documentation java W // kind TypeParameter -// ^^^^^^^^ reference semanticdb maven jdk 11 java/util/function/Function# -// ^ reference semanticdb maven . . minimized/AnnotationsOnParameterizedTypesImpl#adapter().[W] -// ^ reference semanticdb maven . . minimized/AnnotationsOnParameterizedTypesImpl#adapter().[C] -// ^^^^^^^ definition semanticdb maven . . minimized/AnnotationsOnParameterizedTypesImpl#adapter(). +// ^^^^^^^^ reference scip-java maven jdk 11 java/util/function/Function# +// ^ reference scip-java maven . . minimized/AnnotationsOnParameterizedTypesImpl#adapter().[W] +// ^ reference scip-java maven . . minimized/AnnotationsOnParameterizedTypesImpl#adapter().[C] +// ^^^^^^^ definition scip-java maven . . minimized/AnnotationsOnParameterizedTypesImpl#adapter(). // display_name adapter // signature_documentation java @Override\npublic Function adapter(Class contract, Class wrappedClass) // kind Method -// relationship is_reference is_implementation semanticdb maven . . minimized/AnnotationsOnParameterizedTypes#adapter(). -// ^^^^^ reference semanticdb maven jdk 11 java/lang/Class# -// ^ reference semanticdb maven . . minimized/AnnotationsOnParameterizedTypesImpl#adapter().[C] -// ^^^^^^^^ definition local 2 +// relationship is_reference is_implementation scip-java maven . . minimized/AnnotationsOnParameterizedTypes#adapter(). +// ^^^^^ reference scip-java maven jdk 11 java/lang/Class# +// ^ reference scip-java maven . . minimized/AnnotationsOnParameterizedTypesImpl#adapter().[C] +// ^^^^^^^^ definition local 0 // display_name contract // signature_documentation java Class contract -// enclosing_symbol semanticdb maven . . minimized/AnnotationsOnParameterizedTypesImpl#adapter(). -// ^^^^^ reference semanticdb maven jdk 11 java/lang/Class# -// ^ reference semanticdb maven . . minimized/AnnotationsOnParameterizedTypesImpl#adapter().[W] -// ^^^^^^^^^^^^ definition local 3 +// enclosing_symbol scip-java maven . . minimized/AnnotationsOnParameterizedTypesImpl#adapter(). +// kind Parameter +// ^^^^^^^^ definition local 2 +// display_name constructor +// signature_documentation java Function constructor +// enclosing_symbol scip-java maven . . minimized/AnnotationsOnParameterizedTypesImpl#adapter(). +// kind Variable +// ^^^^^ reference scip-java maven jdk 11 java/lang/Class# +// ^ reference scip-java maven . . minimized/AnnotationsOnParameterizedTypesImpl#adapter().[W] +// ^^^^^^^^^^^^ definition local 1 // display_name wrappedClass // signature_documentation java Class wrappedClass -// enclosing_symbol semanticdb maven . . minimized/AnnotationsOnParameterizedTypesImpl#adapter(). +// enclosing_symbol scip-java maven . . minimized/AnnotationsOnParameterizedTypesImpl#adapter(). +// kind Parameter +// ^^^^^^^^^^^^ definition local 3 +// display_name contract +// signature_documentation java Class contract +// enclosing_symbol scip-java maven . . minimized/AnnotationsOnParameterizedTypesImpl#getConstructor(). +// kind Parameter // ⌃ enclosing_range_end local 2 +// ⌃ enclosing_range_end local 0 // ⌃ enclosing_range_end local 3 +// ⌃ enclosing_range_end local 1 // ⌄ enclosing_range_start local 4 +// ⌄ enclosing_range_start local 2 Function constructor = getConstructor(contract); -// ^^^^^^^^ reference semanticdb maven jdk 11 java/util/function/Function# -// ^^^^^^^^^^^^^^^^^ reference semanticdb maven jdk 11 java/lang/reflect/InvocationHandler# -// ^ reference semanticdb maven . . minimized/AnnotationsOnParameterizedTypesImpl#adapter().[C] -// ^^^^^^^^^^^ definition local 4 +// ^^^^^^^^ reference scip-java maven jdk 11 java/util/function/Function# +// ^^^^^^^^^^^^^^^^^ reference scip-java maven jdk 11 java/lang/reflect/InvocationHandler# +// ^ reference scip-java maven . . minimized/AnnotationsOnParameterizedTypesImpl#adapter().[C] +// ^^^^^^^^^^^ definition local 2 // display_name constructor // signature_documentation java Function constructor -// enclosing_symbol semanticdb maven . . minimized/AnnotationsOnParameterizedTypesImpl#adapter(). +// enclosing_symbol scip-java maven . . minimized/AnnotationsOnParameterizedTypesImpl#adapter(). // kind Variable -// ^^^^^^^^^^^^^^ reference semanticdb maven . . minimized/AnnotationsOnParameterizedTypesImpl#getConstructor(). +// ^^^^^^^^^^^ definition local 4 +// display_name constructor +// signature_documentation java @SuppressWarnings\nConstructor constructor +// enclosing_symbol scip-java maven . . minimized/AnnotationsOnParameterizedTypesImpl#getConstructor(). +// kind Variable +// ^^^^^^^^^^^^^^ reference scip-java maven . . minimized/AnnotationsOnParameterizedTypesImpl#getConstructor(). +// ^^^^^^^^ reference local 0 // ^^^^^^^^ reference local 2 // ⌃ enclosing_range_end local 4 +// ⌃ enclosing_range_end local 2 System.out.println(constructor); -// ^^^^^^ reference semanticdb maven jdk 11 java/lang/System# -// ^^^ reference semanticdb maven jdk 11 java/lang/System#out. -// ^^^^^^^ reference semanticdb maven jdk 11 java/io/PrintStream#println(+9). +// ^^^^^^ reference scip-java maven jdk 11 java/lang/System# +// ^^^ reference scip-java maven jdk 11 java/lang/System#out. +// ^^^^^^^ reference scip-java maven jdk 11 java/io/PrintStream#println(+9). +// ^^^^^^^^^^^ reference local 2 // ^^^^^^^^^^^ reference local 4 return null; } -// ⌃ enclosing_range_end semanticdb maven . . minimized/AnnotationsOnParameterizedTypesImpl#adapter().[C] -// ⌃ enclosing_range_end semanticdb maven . . minimized/AnnotationsOnParameterizedTypesImpl#adapter().[W] -// ⌃ enclosing_range_end semanticdb maven . . minimized/AnnotationsOnParameterizedTypesImpl#adapter(). +// ⌃ enclosing_range_end scip-java maven . . minimized/AnnotationsOnParameterizedTypesImpl#adapter(). +// ⌃ enclosing_range_end scip-java maven . . minimized/AnnotationsOnParameterizedTypesImpl#adapter().[C] +// ⌃ enclosing_range_end scip-java maven . . minimized/AnnotationsOnParameterizedTypesImpl#adapter().[W] -// ⌄ enclosing_range_start semanticdb maven . . minimized/AnnotationsOnParameterizedTypesImpl#getConstructor().[T] -// ⌄ enclosing_range_start semanticdb maven . . minimized/AnnotationsOnParameterizedTypesImpl#getConstructor(). +// ⌄ enclosing_range_start scip-java maven . . minimized/AnnotationsOnParameterizedTypesImpl#getConstructor(). +// ⌄ enclosing_range_start scip-java maven . . minimized/AnnotationsOnParameterizedTypesImpl#getConstructor().[T] // ⌄ enclosing_range_start local 5 +// ⌄ enclosing_range_start local 3 private Function getConstructor(Class contract) { -// ^ definition semanticdb maven . . minimized/AnnotationsOnParameterizedTypesImpl#getConstructor().[T] +// ^ definition scip-java maven . . minimized/AnnotationsOnParameterizedTypesImpl#getConstructor().[T] // display_name T // signature_documentation java T // kind TypeParameter -// ^^^^^^^^ reference semanticdb maven jdk 11 java/util/function/Function# -// ^^^^^^^^^^^^^^^^^ reference semanticdb maven jdk 11 java/lang/reflect/InvocationHandler# -// ^ reference semanticdb maven . . minimized/AnnotationsOnParameterizedTypesImpl#getConstructor().[T] -// ^^^^^^^^^^^^^^ definition semanticdb maven . . minimized/AnnotationsOnParameterizedTypesImpl#getConstructor(). +// ^^^^^^^^ reference scip-java maven jdk 11 java/util/function/Function# +// ^^^^^^^^^^^^^^^^^ reference scip-java maven jdk 11 java/lang/reflect/InvocationHandler# +// ^ reference scip-java maven . . minimized/AnnotationsOnParameterizedTypesImpl#getConstructor().[T] +// ^^^^^^^^^^^^^^ definition scip-java maven . . minimized/AnnotationsOnParameterizedTypesImpl#getConstructor(). // display_name getConstructor // signature_documentation java private Function getConstructor(Class contract) // kind Method -// ^^^^^ reference semanticdb maven jdk 11 java/lang/Class# -// ^ reference semanticdb maven . . minimized/AnnotationsOnParameterizedTypesImpl#getConstructor().[T] -// ^^^^^^^^ definition local 5 +// ^^^^^ reference scip-java maven jdk 11 java/lang/Class# +// ^ reference scip-java maven . . minimized/AnnotationsOnParameterizedTypesImpl#getConstructor().[T] +// ^^^^^^^^ definition local 3 // display_name contract // signature_documentation java Class contract -// enclosing_symbol semanticdb maven . . minimized/AnnotationsOnParameterizedTypesImpl#getConstructor(). +// enclosing_symbol scip-java maven . . minimized/AnnotationsOnParameterizedTypesImpl#getConstructor(). +// kind Parameter +// ^^^^^^^^ definition local 5 +// display_name c +// signature_documentation java Class c +// enclosing_symbol scip-java maven . . minimized/AnnotationsOnParameterizedTypesImpl#getConstructor(). +// kind Parameter // ⌃ enclosing_range_end local 5 +// ⌃ enclosing_range_end local 3 // ⌄ enclosing_range_start local 6 +// ⌄ enclosing_range_start local 4 @SuppressWarnings("unchecked") -// ^^^^^^^^^^^^^^^^ reference semanticdb maven jdk 11 java/lang/SuppressWarnings# +// ^^^^^^^^^^^^^^^^ reference scip-java maven jdk 11 java/lang/SuppressWarnings# // ⌄ enclosing_range_start local 7 +// ⌄ enclosing_range_start local 5 Constructor constructor = (Constructor) proxyConstructors.computeIfAbsent(contract, c -> { -// ^^^^^^^^^^^ reference semanticdb maven jdk 11 java/lang/reflect/Constructor# -// ^ reference semanticdb maven . . minimized/AnnotationsOnParameterizedTypesImpl#getConstructor().[T] +// ^^^^^^^^^^^ reference scip-java maven jdk 11 java/lang/reflect/Constructor# +// ^ reference scip-java maven . . minimized/AnnotationsOnParameterizedTypesImpl#getConstructor().[T] +// ^^^^^^^^^^^ definition local 4 +// display_name constructor +// signature_documentation java @SuppressWarnings\nConstructor constructor +// enclosing_symbol scip-java maven . . minimized/AnnotationsOnParameterizedTypesImpl#getConstructor(). +// kind Variable // ^^^^^^^^^^^ definition local 6 // display_name constructor // signature_documentation java @SuppressWarnings\nConstructor constructor -// enclosing_symbol semanticdb maven . . minimized/AnnotationsOnParameterizedTypesImpl#getConstructor(). +// enclosing_symbol scip-java maven . . minimized/AnnotationsOnParameterizedTypesImpl#getConstructor(). // kind Variable -// ^^^^^^^^^^^ reference semanticdb maven jdk 11 java/lang/reflect/Constructor# -// ^ reference semanticdb maven . . minimized/AnnotationsOnParameterizedTypesImpl#getConstructor().[T] -// ^^^^^^^^^^^^^^^^^ reference semanticdb maven . . minimized/AnnotationsOnParameterizedTypesImpl#proxyConstructors. -// ^^^^^^^^^^^^^^^ reference semanticdb maven jdk 11 java/util/concurrent/ConcurrentMap#computeIfAbsent(). +// ^^^^^^^^^^^ reference scip-java maven jdk 11 java/lang/reflect/Constructor# +// ^ reference scip-java maven . . minimized/AnnotationsOnParameterizedTypesImpl#getConstructor().[T] +// ^^^^^^^^^^^^^^^^^ reference scip-java maven . . minimized/AnnotationsOnParameterizedTypesImpl#proxyConstructors. +// ^^^^^^^^^^^^^^^ reference scip-java maven jdk 11 java/util/concurrent/ConcurrentMap#computeIfAbsent(). +// ^^^^^^^^ reference local 3 // ^^^^^^^^ reference local 5 +// ^ definition local 5 +// display_name c +// signature_documentation java Class c +// enclosing_symbol scip-java maven . . minimized/AnnotationsOnParameterizedTypesImpl#getConstructor(). +// kind Parameter // ^ definition local 7 // display_name c // signature_documentation java Class c -// enclosing_symbol semanticdb maven . . minimized/AnnotationsOnParameterizedTypesImpl#getConstructor(). +// enclosing_symbol scip-java maven . . minimized/AnnotationsOnParameterizedTypesImpl#getConstructor(). +// kind Parameter // ⌃ enclosing_range_end local 7 +// ⌃ enclosing_range_end local 5 return null; }); // ⌃ enclosing_range_end local 6 +// ⌃ enclosing_range_end local 4 System.out.println(constructor); -// ^^^^^^ reference semanticdb maven jdk 11 java/lang/System# -// ^^^ reference semanticdb maven jdk 11 java/lang/System#out. -// ^^^^^^^ reference semanticdb maven jdk 11 java/io/PrintStream#println(+9). +// ^^^^^^ reference scip-java maven jdk 11 java/lang/System# +// ^^^ reference scip-java maven jdk 11 java/lang/System#out. +// ^^^^^^^ reference scip-java maven jdk 11 java/io/PrintStream#println(+9). +// ^^^^^^^^^^^ reference local 4 // ^^^^^^^^^^^ reference local 6 return null; } -// ⌃ enclosing_range_end semanticdb maven . . minimized/AnnotationsOnParameterizedTypesImpl#getConstructor().[T] -// ⌃ enclosing_range_end semanticdb maven . . minimized/AnnotationsOnParameterizedTypesImpl#getConstructor(). - }//⌃ enclosing_range_end semanticdb maven . . minimized/AnnotationsOnParameterizedTypesImpl# +// ⌃ enclosing_range_end scip-java maven . . minimized/AnnotationsOnParameterizedTypesImpl#getConstructor(). +// ⌃ enclosing_range_end scip-java maven . . minimized/AnnotationsOnParameterizedTypesImpl#getConstructor().[T] + }//⌃ enclosing_range_end scip-java maven . . minimized/AnnotationsOnParameterizedTypesImpl# 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 5b997a6b..7d7687db 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 @@ -1,66 +1,68 @@ package minimized; import java.util.function.Function; -// ^^^^ reference semanticdb maven . . java/ -// ^^^^ reference semanticdb maven . . java/util/ -// ^^^^^^^^ reference semanticdb maven . . java/util/function/ -// ^^^^^^^^ reference semanticdb maven jdk 11 java/util/function/Function# +// ^^^^ reference scip-java maven . . java/ +// ^^^^ reference scip-java maven . . java/util/ +// ^^^^^^^^ reference scip-java maven . . java/util/function/ +// ^^^^^^^^ reference scip-java maven jdk 11 java/util/function/Function# -//⌄ enclosing_range_start semanticdb maven . . minimized/AnonymousClasses# +//⌄ enclosing_range_start scip-java maven . . minimized/AnonymousClasses# @SuppressWarnings("ALL") -// ^^^^^^^^^^^^^^^ reference semanticdb maven jdk 11 java/lang/SuppressWarnings# +// ^^^^^^^^^^^^^^^ reference scip-java maven jdk 11 java/lang/SuppressWarnings# public class AnonymousClasses { -// ^^^^^^^^^^^^^^^^ definition semanticdb maven . . minimized/AnonymousClasses# +// ^^^^^^^^^^^^^^^^ definition scip-java maven . . minimized/AnonymousClasses# // display_name AnonymousClasses -// signature_documentation java @SuppressWarnings("ALL")\npublic class AnonymousClasses +// signature_documentation java @SuppressWarnings\npublic class AnonymousClasses // kind Class -// ^^^^^^^^^^^^^^^^ definition semanticdb maven . . minimized/AnonymousClasses#``(). +// ^^^^^^^^^^^^^^^^ definition scip-java maven . . minimized/AnonymousClasses#``(). // display_name // signature_documentation java public AnonymousClasses() // kind Constructor -// ⌄ enclosing_range_start semanticdb maven . . minimized/AnonymousClasses#app(). +// ⌄ enclosing_range_start scip-java maven . . minimized/AnonymousClasses#app(). // ⌄ enclosing_range_start local 0 public static int app(int n) { -// ^^^ definition semanticdb maven . . minimized/AnonymousClasses#app(). +// ^^^ definition scip-java maven . . minimized/AnonymousClasses#app(). // display_name app // signature_documentation java public static int app(int n) // kind StaticMethod // ^ definition local 0 // display_name n // signature_documentation java int n -// enclosing_symbol semanticdb maven . . minimized/AnonymousClasses#app(). +// enclosing_symbol scip-java maven . . minimized/AnonymousClasses#app(). +// kind Parameter // ⌃ enclosing_range_end local 0 // ⌄ enclosing_range_start local 1 Function fn = -// ^^^^^^^^ reference semanticdb maven jdk 11 java/util/function/Function# -// ^^^^^^^ reference semanticdb maven jdk 11 java/lang/Integer# -// ^^^^^^^ reference semanticdb maven jdk 11 java/lang/Integer# +// ^^^^^^^^ reference scip-java maven jdk 11 java/util/function/Function# +// ^^^^^^^ reference scip-java maven jdk 11 java/lang/Integer# +// ^^^^^^^ reference scip-java maven jdk 11 java/lang/Integer# // ^^ definition local 1 // display_name fn // signature_documentation java Function fn -// enclosing_symbol semanticdb maven . . minimized/AnonymousClasses#app(). +// enclosing_symbol scip-java maven . . minimized/AnonymousClasses#app(). // kind Variable new Function() { -// ^^^^^^^^ reference semanticdb maven jdk 11 java/util/function/Function# -// ^^^^^^^ reference semanticdb maven jdk 11 java/lang/Integer# -// ^^^^^^^ reference semanticdb maven jdk 11 java/lang/Integer# +// ^^^^^^^^ reference scip-java maven jdk 11 java/util/function/Function# +// ^^^^^^^ reference scip-java maven jdk 11 java/lang/Integer# +// ^^^^^^^ reference scip-java maven jdk 11 java/lang/Integer# // ⌄ enclosing_range_start local 3 @Override -// ^^^^^^^^ reference semanticdb maven jdk 11 java/lang/Override# +// ^^^^^^^^ reference scip-java maven jdk 11 java/lang/Override# // ⌄ enclosing_range_start local 4 public Integer apply(Integer integer) { -// ^^^^^^^ reference semanticdb maven jdk 11 java/lang/Integer# +// ^^^^^^^ reference scip-java maven jdk 11 java/lang/Integer# // ^^^^^ definition local 3 // display_name apply // signature_documentation java @Override\npublic Integer apply(Integer integer) // enclosing_symbol local 2 // kind Method -// relationship is_reference is_implementation semanticdb maven jdk 11 java/util/function/Function#apply(). -// ^^^^^^^ reference semanticdb maven jdk 11 java/lang/Integer# +// relationship is_reference is_implementation scip-java maven jdk 11 java/util/function/Function#apply(). +// ^^^^^^^ reference scip-java maven jdk 11 java/lang/Integer# // ^^^^^^^ definition local 4 // display_name integer // signature_documentation java Integer integer // enclosing_symbol local 3 +// kind Parameter // ⌃ enclosing_range_end local 4 return integer + n; // ^^^^^^^ reference local 4 @@ -72,9 +74,9 @@ public Integer apply(Integer integer) { return fn.apply(n); // ^^ reference local 1 -// ^^^^^ reference semanticdb maven jdk 11 java/util/function/Function#apply(). +// ^^^^^ reference scip-java maven jdk 11 java/util/function/Function#apply(). // ^ reference local 0 } -// ⌃ enclosing_range_end semanticdb maven . . minimized/AnonymousClasses#app(). +// ⌃ enclosing_range_end scip-java maven . . minimized/AnonymousClasses#app(). } -//⌃ enclosing_range_end semanticdb maven . . minimized/AnonymousClasses# +//⌃ enclosing_range_end scip-java maven . . minimized/AnonymousClasses# 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 e3a05bc9..b788cf02 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 @@ -1,19 +1,19 @@ package minimized; -//⌄ enclosing_range_start semanticdb maven . . minimized/Arrays# +//⌄ enclosing_range_start scip-java maven . . minimized/Arrays# public class Arrays { -// ^^^^^^ definition semanticdb maven . . minimized/Arrays# +// ^^^^^^ definition scip-java maven . . minimized/Arrays# // display_name Arrays // signature_documentation java public class Arrays // kind Class -// ^^^^^^ definition semanticdb maven . . minimized/Arrays#``(). +// ^^^^^^ definition scip-java maven . . minimized/Arrays#``(). // display_name // signature_documentation java public Arrays() // kind Constructor -// ⌄ enclosing_range_start semanticdb maven . . minimized/Arrays#app(). +// ⌄ enclosing_range_start scip-java maven . . minimized/Arrays#app(). public static String app() { -// ^^^^^^ reference semanticdb maven jdk 11 java/lang/String# -// ^^^ definition semanticdb maven . . minimized/Arrays#app(). +// ^^^^^^ reference scip-java maven jdk 11 java/lang/String# +// ^^^ definition scip-java maven . . minimized/Arrays#app(). // display_name app // signature_documentation java public static String app() // kind StaticMethod @@ -22,16 +22,16 @@ public static String app() { // ^ definition local 0 // display_name a // signature_documentation java int[] a -// enclosing_symbol semanticdb maven . . minimized/Arrays#app(). +// enclosing_symbol scip-java maven . . minimized/Arrays#app(). // kind Variable // ⌃ enclosing_range_end local 0 // ⌄ enclosing_range_start local 1 String[] b = {"1", "2", "3"}; -// ^^^^^^ reference semanticdb maven jdk 11 java/lang/String# +// ^^^^^^ reference scip-java maven jdk 11 java/lang/String# // ^ definition local 1 // display_name b // signature_documentation java String[] b -// enclosing_symbol semanticdb maven . . minimized/Arrays#app(). +// enclosing_symbol scip-java maven . . minimized/Arrays#app(). // kind Variable // ⌃ enclosing_range_end local 1 // ⌄ enclosing_range_start local 2 @@ -39,16 +39,16 @@ public static String app() { // ^ definition local 2 // display_name c // signature_documentation java int[][] c -// enclosing_symbol semanticdb maven . . minimized/Arrays#app(). +// enclosing_symbol scip-java maven . . minimized/Arrays#app(). // kind Variable // ⌃ enclosing_range_end local 2 // ⌄ enclosing_range_start local 3 String[][] d = {{"1"}, {"2"}, {"3"}}; -// ^^^^^^ reference semanticdb maven jdk 11 java/lang/String# +// ^^^^^^ reference scip-java maven jdk 11 java/lang/String# // ^ definition local 3 // display_name d // signature_documentation java String[][] d -// enclosing_symbol semanticdb maven . . minimized/Arrays#app(). +// enclosing_symbol scip-java maven . . minimized/Arrays#app(). // kind Variable // ⌃ enclosing_range_end local 3 return b[0] + a[0] + c[1][0] + d[1][0]; @@ -57,6 +57,6 @@ public static String app() { // ^ reference local 2 // ^ reference local 3 } -// ⌃ enclosing_range_end semanticdb maven . . minimized/Arrays#app(). +// ⌃ enclosing_range_end scip-java maven . . minimized/Arrays#app(). } -//⌃ enclosing_range_end semanticdb maven . . minimized/Arrays# +//⌃ enclosing_range_end scip-java maven . . minimized/Arrays# 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 b5d2a071..e69bec05 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 @@ -1,27 +1,27 @@ package minimized; -//⌄ enclosing_range_start semanticdb maven . . minimized/ClassOf# +//⌄ enclosing_range_start scip-java maven . . minimized/ClassOf# public class ClassOf { -// ^^^^^^^ definition semanticdb maven . . minimized/ClassOf# +// ^^^^^^^ definition scip-java maven . . minimized/ClassOf# // display_name ClassOf // signature_documentation java public class ClassOf // kind Class -// ^^^^^^^ definition semanticdb maven . . minimized/ClassOf#``(). +// ^^^^^^^ definition scip-java maven . . minimized/ClassOf#``(). // display_name // signature_documentation java public ClassOf() // kind Constructor -// ⌄ enclosing_range_start semanticdb maven . . minimized/ClassOf#app(). +// ⌄ enclosing_range_start scip-java maven . . minimized/ClassOf#app(). public static String app() { -// ^^^^^^ reference semanticdb maven jdk 11 java/lang/String# -// ^^^ definition semanticdb maven . . minimized/ClassOf#app(). +// ^^^^^^ reference scip-java maven jdk 11 java/lang/String# +// ^^^ definition scip-java maven . . minimized/ClassOf#app(). // display_name app // signature_documentation java public static String app() // kind StaticMethod return ClassOf.class.getName(); -// ^^^^^^^ reference semanticdb maven . . minimized/ClassOf# -// ^^^^^ reference semanticdb maven . . minimized/ClassOf#class. -// ^^^^^^^ reference semanticdb maven jdk 11 java/lang/Class#getName(). +// ^^^^^^^ reference scip-java maven . . minimized/ClassOf# +// ^^^^^ reference scip-java maven . . minimized/ClassOf#class. +// ^^^^^^^ reference scip-java maven jdk 11 java/lang/Class#getName(). } -// ⌃ enclosing_range_end semanticdb maven . . minimized/ClassOf#app(). +// ⌃ enclosing_range_end scip-java maven . . minimized/ClassOf#app(). } -//⌃ enclosing_range_end semanticdb maven . . minimized/ClassOf# +//⌃ enclosing_range_end scip-java 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 db59496f..f5476a4d 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 @@ -1,43 +1,43 @@ package minimized; /** Example class docstring. */ -//⌄ enclosing_range_start semanticdb maven . . minimized/Docstrings# +//⌄ enclosing_range_start scip-java maven . . minimized/Docstrings# public class Docstrings { -// ^^^^^^^^^^ definition semanticdb maven . . minimized/Docstrings# +// ^^^^^^^^^^ definition scip-java maven . . minimized/Docstrings# // display_name Docstrings // signature_documentation java public class Docstrings // kind Class // documentation Example class docstring. -// ^^^^^^^^^^ definition semanticdb maven . . minimized/Docstrings#``(). +// ^^^^^^^^^^ definition scip-java maven . . minimized/Docstrings#``(). // display_name // signature_documentation java public Docstrings() // kind Constructor /** Example field docstring. */ -// ⌄ enclosing_range_start semanticdb maven . . minimized/Docstrings#field. +// ⌄ enclosing_range_start scip-java maven . . minimized/Docstrings#field. public static int field = 42; -// ^^^^^ definition semanticdb maven . . minimized/Docstrings#field. +// ^^^^^ definition scip-java maven . . minimized/Docstrings#field. // display_name field // signature_documentation java public static int field // kind StaticField // documentation Example field docstring. -// ⌃ enclosing_range_end semanticdb maven . . minimized/Docstrings#field. +// ⌃ enclosing_range_end scip-java maven . . minimized/Docstrings#field. /** * Example method docstring. * * @return 42. */ -// ⌄ enclosing_range_start semanticdb maven . . minimized/Docstrings#method(). +// ⌄ enclosing_range_start scip-java maven . . minimized/Docstrings#method(). public static int method() { -// ^^^^^^ definition semanticdb maven . . minimized/Docstrings#method(). +// ^^^^^^ definition scip-java maven . . minimized/Docstrings#method(). // display_name method // signature_documentation java public static int method() // kind StaticMethod // documentation Example method docstring.\n\n @return 42.\n return 42; } -// ⌃ enclosing_range_end semanticdb maven . . minimized/Docstrings#method(). +// ⌃ enclosing_range_end scip-java maven . . minimized/Docstrings#method(). /** * Example method parameter docstring. @@ -45,10 +45,10 @@ public static int method() { * @param n The parameter. * @return The number + 42. */ -// ⌄ enclosing_range_start semanticdb maven . . minimized/Docstrings#methodParameter(). +// ⌄ enclosing_range_start scip-java maven . . minimized/Docstrings#methodParameter(). // ⌄ enclosing_range_start local 0 public static int methodParameter(int n) { -// ^^^^^^^^^^^^^^^ definition semanticdb maven . . minimized/Docstrings#methodParameter(). +// ^^^^^^^^^^^^^^^ definition scip-java maven . . minimized/Docstrings#methodParameter(). // display_name methodParameter // signature_documentation java public static int methodParameter(int n) // kind StaticMethod @@ -56,27 +56,28 @@ public static int methodParameter(int n) { // ^ definition local 0 // display_name n // signature_documentation java int n -// enclosing_symbol semanticdb maven . . minimized/Docstrings#methodParameter(). +// enclosing_symbol scip-java maven . . minimized/Docstrings#methodParameter(). +// kind Parameter // ⌃ enclosing_range_end local 0 return n + 42; // ^ reference local 0 } -// ⌃ enclosing_range_end semanticdb maven . . minimized/Docstrings#methodParameter(). +// ⌃ enclosing_range_end scip-java maven . . minimized/Docstrings#methodParameter(). -// ⌄ enclosing_range_start semanticdb maven . . minimized/Docstrings#app(). +// ⌄ enclosing_range_start scip-java maven . . minimized/Docstrings#app(). public static String app() { -// ^^^^^^ reference semanticdb maven jdk 11 java/lang/String# -// ^^^ definition semanticdb maven . . minimized/Docstrings#app(). +// ^^^^^^ reference scip-java maven jdk 11 java/lang/String# +// ^^^ definition scip-java maven . . minimized/Docstrings#app(). // display_name app // signature_documentation java public static String app() // kind StaticMethod return String.format("%s%s%s", field, method(), methodParameter(42)); -// ^^^^^^ reference semanticdb maven jdk 11 java/lang/String# -// ^^^^^^ reference semanticdb maven jdk 11 java/lang/String#format(). -// ^^^^^ reference semanticdb maven . . minimized/Docstrings#field. -// ^^^^^^ reference semanticdb maven . . minimized/Docstrings#method(). -// ^^^^^^^^^^^^^^^ reference semanticdb maven . . minimized/Docstrings#methodParameter(). +// ^^^^^^ reference scip-java maven jdk 11 java/lang/String# +// ^^^^^^ reference scip-java maven jdk 11 java/lang/String#format(). +// ^^^^^ reference scip-java maven . . minimized/Docstrings#field. +// ^^^^^^ reference scip-java maven . . minimized/Docstrings#method(). +// ^^^^^^^^^^^^^^^ reference scip-java maven . . minimized/Docstrings#methodParameter(). } -// ⌃ enclosing_range_end semanticdb maven . . minimized/Docstrings#app(). +// ⌃ enclosing_range_end scip-java maven . . minimized/Docstrings#app(). } -//⌃ enclosing_range_end semanticdb maven . . minimized/Docstrings# +//⌃ enclosing_range_end scip-java maven . . minimized/Docstrings# 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 2e8cf63c..ee255d00 100644 --- a/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/Enums.java +++ b/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/Enums.java @@ -1,123 +1,129 @@ package minimized; import java.util.Arrays; -// ^^^^ reference semanticdb maven . . java/ -// ^^^^ reference semanticdb maven . . java/util/ -// ^^^^^^ reference semanticdb maven jdk 11 java/util/Arrays# +// ^^^^ reference scip-java maven . . java/ +// ^^^^ reference scip-java maven . . java/util/ +// ^^^^^^ reference scip-java maven jdk 11 java/util/Arrays# import java.util.stream.Collectors; -// ^^^^ reference semanticdb maven . . java/ -// ^^^^ reference semanticdb maven . . java/util/ -// ^^^^^^ reference semanticdb maven . . java/util/stream/ -// ^^^^^^^^^^ reference semanticdb maven jdk 11 java/util/stream/Collectors# +// ^^^^ reference scip-java maven . . java/ +// ^^^^ reference scip-java maven . . java/util/ +// ^^^^^^ reference scip-java maven . . java/util/stream/ +// ^^^^^^^^^^ reference scip-java maven jdk 11 java/util/stream/Collectors# -//⌄ enclosing_range_start semanticdb maven . . minimized/Enums# +//⌄ enclosing_range_start scip-java maven . . minimized/Enums# enum Enums { -// ^^^^^ definition semanticdb maven . . minimized/Enums# +// ^^^^^ definition scip-java maven . . minimized/Enums# // display_name Enums -// signature_documentation java enum Enums +// signature_documentation java final enum Enums extends Enum // kind Enum -// relationship is_implementation semanticdb maven jdk 11 java/io/Serializable# -// relationship is_implementation semanticdb maven jdk 11 java/lang/Comparable# -// relationship is_implementation semanticdb maven jdk 11 java/lang/Enum# -// ⌄ enclosing_range_start semanticdb maven . . minimized/Enums#A. +// relationship is_implementation scip-java maven jdk 11 java/io/Serializable# +// relationship is_implementation scip-java maven jdk 11 java/lang/Comparable# +// relationship is_implementation scip-java maven jdk 11 java/lang/Enum# +// ⌄ enclosing_range_start scip-java maven . . minimized/Enums#A. A("A", 420), -// ^ definition semanticdb maven . . minimized/Enums#A. +// ^ definition scip-java maven . . minimized/Enums#A. // display_name A("A", 420) -// signature_documentation java Enums.A("A", 420) /* ordinal 0 */ -// ^ reference semanticdb maven . . minimized/Enums#``(). -// ⌃ enclosing_range_end semanticdb maven . . minimized/Enums#A. -// ⌄ enclosing_range_start semanticdb maven . . minimized/Enums#B. +// signature_documentation java public static final A +// kind EnumMember +// ^ reference scip-java maven . . minimized/Enums#``(). +// ⌃ enclosing_range_end scip-java maven . . minimized/Enums#A. +// ⌄ enclosing_range_start scip-java maven . . minimized/Enums#B. B("B", 1), -// ^ definition semanticdb maven . . minimized/Enums#B. +// ^ definition scip-java maven . . minimized/Enums#B. // display_name B("B", 1) -// signature_documentation java Enums.B("B", 1) /* ordinal 1 */ -// ^ reference semanticdb maven . . minimized/Enums#``(). -// ⌃ enclosing_range_end semanticdb maven . . minimized/Enums#B. -// ⌄ enclosing_range_start semanticdb maven . . minimized/Enums#C. +// signature_documentation java public static final B +// kind EnumMember +// ^ reference scip-java maven . . minimized/Enums#``(). +// ⌃ enclosing_range_end scip-java maven . . minimized/Enums#B. +// ⌄ enclosing_range_start scip-java maven . . minimized/Enums#C. C("C", 5); -// ^ definition semanticdb maven . . minimized/Enums#C. +// ^ definition scip-java maven . . minimized/Enums#C. // display_name C("C", 5) -// signature_documentation java Enums.C("C", 5) /* ordinal 2 */ -// ^ reference semanticdb maven . . minimized/Enums#``(). -// ⌃ enclosing_range_end semanticdb maven . . minimized/Enums#C. -// ⌄ enclosing_range_start semanticdb maven . . minimized/Enums#value. +// signature_documentation java public static final C +// kind EnumMember +// ^ reference scip-java maven . . minimized/Enums#``(). +// ⌃ enclosing_range_end scip-java maven . . minimized/Enums#C. +// ⌄ enclosing_range_start scip-java maven . . minimized/Enums#value. public String value; -// ^^^^^^ reference semanticdb maven jdk 11 java/lang/String# -// ^^^^^ definition semanticdb maven . . minimized/Enums#value. +// ^^^^^^ reference scip-java maven jdk 11 java/lang/String# +// ^^^^^ definition scip-java maven . . minimized/Enums#value. // display_name value // signature_documentation java public String value // kind Field -// ⌃ enclosing_range_end semanticdb maven . . minimized/Enums#value. +// ⌃ enclosing_range_end scip-java maven . . minimized/Enums#value. -// ⌄ enclosing_range_start semanticdb maven . . minimized/Enums#``(). +// ⌄ enclosing_range_start scip-java maven . . minimized/Enums#``(). // ⌄ enclosing_range_start local 0 // ⌄ enclosing_range_start local 1 Enums(String value, int a) { -// ^^^^^ definition semanticdb maven . . minimized/Enums#``(). +// ^^^^^ definition scip-java maven . . minimized/Enums#``(). // display_name // signature_documentation java private Enums(String value, int a) // kind Constructor -// ^^^^^^ reference semanticdb maven jdk 11 java/lang/String# +// ^^^^^^ reference scip-java maven jdk 11 java/lang/String# // ^^^^^ definition local 0 // display_name value // signature_documentation java String value -// enclosing_symbol semanticdb maven . . minimized/Enums#``(). +// enclosing_symbol scip-java maven . . minimized/Enums#``(). +// kind Parameter // ^ definition local 1 // display_name a // signature_documentation java int a -// enclosing_symbol semanticdb maven . . minimized/Enums#``(). +// enclosing_symbol scip-java maven . . minimized/Enums#``(). +// kind Parameter // ⌃ enclosing_range_end local 0 // ⌃ enclosing_range_end local 1 this.value = value; -// ^^^^^ reference semanticdb maven . . minimized/Enums#value. +// ^^^^^ reference scip-java maven . . minimized/Enums#value. // ^^^^^ reference local 0 } -// ⌃ enclosing_range_end semanticdb maven . . minimized/Enums#``(). +// ⌃ enclosing_range_end scip-java maven . . minimized/Enums#``(). -// ⌄ enclosing_range_start semanticdb maven . . minimized/Enums#app(). +// ⌄ enclosing_range_start scip-java maven . . minimized/Enums#app(). public static String app() { -// ^^^^^^ reference semanticdb maven jdk 11 java/lang/String# -// ^^^ definition semanticdb maven . . minimized/Enums#app(). +// ^^^^^^ reference scip-java maven jdk 11 java/lang/String# +// ^^^ definition scip-java maven . . minimized/Enums#app(). // display_name app // signature_documentation java public static String app() // kind StaticMethod // ⌄ enclosing_range_start local 2 // ⌄ enclosing_range_start local 3 String all = Arrays.stream(values()).map(e -> e.value).map(Enums::valueOf).collect(Collectors.toList()).toString(); -// ^^^^^^ reference semanticdb maven jdk 11 java/lang/String# +// ^^^^^^ reference scip-java maven jdk 11 java/lang/String# // ^^^ definition local 2 // display_name all // signature_documentation java String all -// enclosing_symbol semanticdb maven . . minimized/Enums#app(). +// enclosing_symbol scip-java maven . . minimized/Enums#app(). // kind Variable -// ^^^^^^ reference semanticdb maven jdk 11 java/util/Arrays# -// ^^^^^^ reference semanticdb maven jdk 11 java/util/Arrays#stream(). -// ^^^^^^ reference semanticdb maven . . minimized/Enums#values(). -// ^^^ reference semanticdb maven jdk 11 java/util/stream/Stream#map(). +// ^^^^^^ reference scip-java maven jdk 11 java/util/Arrays# +// ^^^^^^ reference scip-java maven jdk 11 java/util/Arrays#stream(). +// ^^^^^^ reference scip-java maven . . minimized/Enums#values(). +// ^^^ reference scip-java maven jdk 11 java/util/stream/Stream#map(). // ^ definition local 3 // display_name e // signature_documentation java Enums e -// enclosing_symbol semanticdb maven . . minimized/Enums#app(). +// enclosing_symbol scip-java maven . . minimized/Enums#app(). +// kind Parameter // ^ reference local 3 -// ^^^^^ reference semanticdb maven . . minimized/Enums#value. -// ^^^ reference semanticdb maven jdk 11 java/util/stream/Stream#map(). -// ^^^^^ reference semanticdb maven . . minimized/Enums# -// ^^^^^^^ reference semanticdb maven . . minimized/Enums#valueOf(). -// ^^^^^^^ reference semanticdb maven jdk 11 java/util/stream/Stream#collect(+1). -// ^^^^^^^^^^ reference semanticdb maven jdk 11 java/util/stream/Collectors# -// ^^^^^^ reference semanticdb maven jdk 11 java/util/stream/Collectors#toList(). -// ^^^^^^^^ reference semanticdb maven jdk 11 java/lang/Object#toString(). +// ^^^^^ reference scip-java maven . . minimized/Enums#value. +// ^^^ reference scip-java maven jdk 11 java/util/stream/Stream#map(). +// ^^^^^ reference scip-java maven . . minimized/Enums# +// ^^^^^^^ reference scip-java maven . . minimized/Enums#valueOf(). +// ^^^^^^^ reference scip-java maven jdk 11 java/util/stream/Stream#collect(+1). +// ^^^^^^^^^^ reference scip-java maven jdk 11 java/util/stream/Collectors# +// ^^^^^^ reference scip-java maven jdk 11 java/util/stream/Collectors#toList(). +// ^^^^^^^^ reference scip-java maven jdk 11 java/lang/Object#toString(). // ⌃ enclosing_range_end local 3 // ⌃ enclosing_range_end local 2 return all + A.value + B.value + C.value; // ^^^ reference local 2 -// ^ reference semanticdb maven . . minimized/Enums#A. -// ^^^^^ reference semanticdb maven . . minimized/Enums#value. -// ^ reference semanticdb maven . . minimized/Enums#B. -// ^^^^^ reference semanticdb maven . . minimized/Enums#value. -// ^ reference semanticdb maven . . minimized/Enums#C. -// ^^^^^ reference semanticdb maven . . minimized/Enums#value. +// ^ reference scip-java maven . . minimized/Enums#A. +// ^^^^^ reference scip-java maven . . minimized/Enums#value. +// ^ reference scip-java maven . . minimized/Enums#B. +// ^^^^^ reference scip-java maven . . minimized/Enums#value. +// ^ reference scip-java maven . . minimized/Enums#C. +// ^^^^^ reference scip-java maven . . minimized/Enums#value. } -// ⌃ enclosing_range_end semanticdb maven . . minimized/Enums#app(). +// ⌃ enclosing_range_end scip-java maven . . minimized/Enums#app(). } -//⌃ enclosing_range_end semanticdb maven . . minimized/Enums# +//⌃ enclosing_range_end scip-java maven . . minimized/Enums# 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 3a9236e2..903159eb 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 @@ -1,171 +1,171 @@ package minimized; -//⌄ enclosing_range_start semanticdb maven . . minimized/Fields# +//⌄ enclosing_range_start scip-java maven . . minimized/Fields# public class Fields { -// ^^^^^^ definition semanticdb maven . . minimized/Fields# +// ^^^^^^ definition scip-java maven . . minimized/Fields# // display_name Fields // signature_documentation java public class Fields // kind Class -// ^^^^^^ definition semanticdb maven . . minimized/Fields#``(). +// ^^^^^^ definition scip-java maven . . minimized/Fields#``(). // display_name // signature_documentation java public Fields() // kind Constructor -// ⌄ enclosing_range_start semanticdb maven . . minimized/Fields#privateField. +// ⌄ enclosing_range_start scip-java maven . . minimized/Fields#privateField. private final int privateField = 0; -// ^^^^^^^^^^^^ definition semanticdb maven . . minimized/Fields#privateField. +// ^^^^^^^^^^^^ definition scip-java maven . . minimized/Fields#privateField. // display_name privateField // signature_documentation java private final int privateField // kind Field -// ⌃ enclosing_range_end semanticdb maven . . minimized/Fields#privateField. -// ⌄ enclosing_range_start semanticdb maven . . minimized/Fields#protectedField. +// ⌃ enclosing_range_end scip-java maven . . minimized/Fields#privateField. +// ⌄ enclosing_range_start scip-java maven . . minimized/Fields#protectedField. protected int protectedField = 0; -// ^^^^^^^^^^^^^^ definition semanticdb maven . . minimized/Fields#protectedField. +// ^^^^^^^^^^^^^^ definition scip-java maven . . minimized/Fields#protectedField. // display_name protectedField // signature_documentation java protected int protectedField // kind Field -// ⌃ enclosing_range_end semanticdb maven . . minimized/Fields#protectedField. -// ⌄ enclosing_range_start semanticdb maven . . minimized/Fields#publicField. +// ⌃ enclosing_range_end scip-java maven . . minimized/Fields#protectedField. +// ⌄ enclosing_range_start scip-java maven . . minimized/Fields#publicField. public int publicField = 0; -// ^^^^^^^^^^^ definition semanticdb maven . . minimized/Fields#publicField. +// ^^^^^^^^^^^ definition scip-java maven . . minimized/Fields#publicField. // display_name publicField // signature_documentation java public int publicField // kind Field -// ⌃ enclosing_range_end semanticdb maven . . minimized/Fields#publicField. -// ⌄ enclosing_range_start semanticdb maven . . minimized/Fields#staticPrivateField. +// ⌃ enclosing_range_end scip-java maven . . minimized/Fields#publicField. +// ⌄ enclosing_range_start scip-java maven . . minimized/Fields#staticPrivateField. private static final int staticPrivateField = 0; -// ^^^^^^^^^^^^^^^^^^ definition semanticdb maven . . minimized/Fields#staticPrivateField. +// ^^^^^^^^^^^^^^^^^^ definition scip-java maven . . minimized/Fields#staticPrivateField. // display_name staticPrivateField // signature_documentation java private static final int staticPrivateField // kind StaticField -// ⌃ enclosing_range_end semanticdb maven . . minimized/Fields#staticPrivateField. -// ⌄ enclosing_range_start semanticdb maven . . minimized/Fields#staticProtectedFields. +// ⌃ enclosing_range_end scip-java maven . . minimized/Fields#staticPrivateField. +// ⌄ enclosing_range_start scip-java maven . . minimized/Fields#staticProtectedFields. protected static int staticProtectedFields = 0; -// ^^^^^^^^^^^^^^^^^^^^^ definition semanticdb maven . . minimized/Fields#staticProtectedFields. +// ^^^^^^^^^^^^^^^^^^^^^ definition scip-java maven . . minimized/Fields#staticProtectedFields. // display_name staticProtectedFields // signature_documentation java protected static int staticProtectedFields // kind StaticField -// ⌃ enclosing_range_end semanticdb maven . . minimized/Fields#staticProtectedFields. -// ⌄ enclosing_range_start semanticdb maven . . minimized/Fields#staticPublicField. +// ⌃ enclosing_range_end scip-java maven . . minimized/Fields#staticProtectedFields. +// ⌄ enclosing_range_start scip-java maven . . minimized/Fields#staticPublicField. public static int staticPublicField = 0; -// ^^^^^^^^^^^^^^^^^ definition semanticdb maven . . minimized/Fields#staticPublicField. +// ^^^^^^^^^^^^^^^^^ definition scip-java maven . . minimized/Fields#staticPublicField. // display_name staticPublicField // signature_documentation java public static int staticPublicField // kind StaticField -// ⌃ enclosing_range_end semanticdb maven . . minimized/Fields#staticPublicField. +// ⌃ enclosing_range_end scip-java maven . . minimized/Fields#staticPublicField. -// ⌄ enclosing_range_start semanticdb maven . . minimized/Fields#InnerFields# +// ⌄ enclosing_range_start scip-java maven . . minimized/Fields#InnerFields# public class InnerFields { -// ^^^^^^^^^^^ definition semanticdb maven . . minimized/Fields#InnerFields# +// ^^^^^^^^^^^ definition scip-java maven . . minimized/Fields#InnerFields# // display_name InnerFields // signature_documentation java public class InnerFields // kind Class -// ^^^^^^^^^^^ definition semanticdb maven . . minimized/Fields#InnerFields#``(). +// ^^^^^^^^^^^ definition scip-java maven . . minimized/Fields#InnerFields#``(). // display_name // signature_documentation java public InnerFields() // kind Constructor -// ⌄ enclosing_range_start semanticdb maven . . minimized/Fields#InnerFields#publicInnerField. +// ⌄ enclosing_range_start scip-java maven . . minimized/Fields#InnerFields#publicInnerField. public int publicInnerField = publicField; -// ^^^^^^^^^^^^^^^^ definition semanticdb maven . . minimized/Fields#InnerFields#publicInnerField. +// ^^^^^^^^^^^^^^^^ definition scip-java maven . . minimized/Fields#InnerFields#publicInnerField. // display_name publicInnerField // signature_documentation java public int publicInnerField // kind Field -// ^^^^^^^^^^^ reference semanticdb maven . . minimized/Fields#publicField. -// ⌃ enclosing_range_end semanticdb maven . . minimized/Fields#InnerFields#publicInnerField. +// ^^^^^^^^^^^ reference scip-java maven . . minimized/Fields#publicField. +// ⌃ enclosing_range_end scip-java maven . . minimized/Fields#InnerFields#publicInnerField. } -// ⌃ enclosing_range_end semanticdb maven . . minimized/Fields#InnerFields# +// ⌃ enclosing_range_end scip-java maven . . minimized/Fields#InnerFields# -// ⌄ enclosing_range_start semanticdb maven . . minimized/Fields#InnerStaticFields# +// ⌄ enclosing_range_start scip-java maven . . minimized/Fields#InnerStaticFields# public static class InnerStaticFields { -// ^^^^^^^^^^^^^^^^^ definition semanticdb maven . . minimized/Fields#InnerStaticFields# +// ^^^^^^^^^^^^^^^^^ definition scip-java maven . . minimized/Fields#InnerStaticFields# // display_name InnerStaticFields // signature_documentation java public static class InnerStaticFields // kind Class -// ^^^^^^^^^^^^^^^^^ definition semanticdb maven . . minimized/Fields#InnerStaticFields#``(). +// ^^^^^^^^^^^^^^^^^ definition scip-java maven . . minimized/Fields#InnerStaticFields#``(). // display_name // signature_documentation java public InnerStaticFields() // kind Constructor -// ⌄ enclosing_range_start semanticdb maven . . minimized/Fields#InnerStaticFields#publicNonStaticInnerField. +// ⌄ enclosing_range_start scip-java maven . . minimized/Fields#InnerStaticFields#publicNonStaticInnerField. public int publicNonStaticInnerField = 0; -// ^^^^^^^^^^^^^^^^^^^^^^^^^ definition semanticdb maven . . minimized/Fields#InnerStaticFields#publicNonStaticInnerField. +// ^^^^^^^^^^^^^^^^^^^^^^^^^ definition scip-java maven . . minimized/Fields#InnerStaticFields#publicNonStaticInnerField. // display_name publicNonStaticInnerField // signature_documentation java public int publicNonStaticInnerField // kind Field -// ⌃ enclosing_range_end semanticdb maven . . minimized/Fields#InnerStaticFields#publicNonStaticInnerField. -// ⌄ enclosing_range_start semanticdb maven . . minimized/Fields#InnerStaticFields#publicStaticInnerField. +// ⌃ enclosing_range_end scip-java maven . . minimized/Fields#InnerStaticFields#publicNonStaticInnerField. +// ⌄ enclosing_range_start scip-java maven . . minimized/Fields#InnerStaticFields#publicStaticInnerField. public static int publicStaticInnerField = 0; -// ^^^^^^^^^^^^^^^^^^^^^^ definition semanticdb maven . . minimized/Fields#InnerStaticFields#publicStaticInnerField. +// ^^^^^^^^^^^^^^^^^^^^^^ definition scip-java maven . . minimized/Fields#InnerStaticFields#publicStaticInnerField. // display_name publicStaticInnerField // signature_documentation java public static int publicStaticInnerField // kind StaticField -// ⌃ enclosing_range_end semanticdb maven . . minimized/Fields#InnerStaticFields#publicStaticInnerField. +// ⌃ enclosing_range_end scip-java maven . . minimized/Fields#InnerStaticFields#publicStaticInnerField. } -// ⌃ enclosing_range_end semanticdb maven . . minimized/Fields#InnerStaticFields# +// ⌃ enclosing_range_end scip-java maven . . minimized/Fields#InnerStaticFields# -// ⌄ enclosing_range_start semanticdb maven . . minimized/Fields#app(). +// ⌄ enclosing_range_start scip-java maven . . minimized/Fields#app(). public static String app() { -// ^^^^^^ reference semanticdb maven jdk 11 java/lang/String# -// ^^^ definition semanticdb maven . . minimized/Fields#app(). +// ^^^^^^ reference scip-java maven jdk 11 java/lang/String# +// ^^^ definition scip-java maven . . minimized/Fields#app(). // display_name app // signature_documentation java public static String app() // kind StaticMethod // ⌄ enclosing_range_start local 0 Fields fields = new Fields(); -// ^^^^^^ reference semanticdb maven . . minimized/Fields# +// ^^^^^^ reference scip-java maven . . minimized/Fields# // ^^^^^^ definition local 0 // display_name fields // signature_documentation java Fields fields -// enclosing_symbol semanticdb maven . . minimized/Fields#app(). +// enclosing_symbol scip-java maven . . minimized/Fields#app(). // kind Variable -// ^^^^^^ reference semanticdb maven . . minimized/Fields#``(). +// ^^^^^^ reference scip-java maven . . minimized/Fields#``(). // ⌃ enclosing_range_end local 0 // ⌄ enclosing_range_start local 1 InnerFields innerFields = fields.new InnerFields(); -// ^^^^^^^^^^^ reference semanticdb maven . . minimized/Fields#InnerFields# +// ^^^^^^^^^^^ reference scip-java maven . . minimized/Fields#InnerFields# // ^^^^^^^^^^^ definition local 1 // display_name innerFields // signature_documentation java InnerFields innerFields -// enclosing_symbol semanticdb maven . . minimized/Fields#app(). +// enclosing_symbol scip-java maven . . minimized/Fields#app(). // kind Variable // ^^^^^^ reference local 0 -// ^^^^^^^^^^^ reference semanticdb maven . . minimized/Fields#InnerFields#``(). +// ^^^^^^^^^^^ reference scip-java maven . . minimized/Fields#InnerFields#``(). // ⌃ enclosing_range_end local 1 // ⌄ enclosing_range_start local 2 InnerStaticFields innerStaticFields = new InnerStaticFields(); -// ^^^^^^^^^^^^^^^^^ reference semanticdb maven . . minimized/Fields#InnerStaticFields# +// ^^^^^^^^^^^^^^^^^ reference scip-java maven . . minimized/Fields#InnerStaticFields# // ^^^^^^^^^^^^^^^^^ definition local 2 // display_name innerStaticFields // signature_documentation java InnerStaticFields innerStaticFields -// enclosing_symbol semanticdb maven . . minimized/Fields#app(). +// enclosing_symbol scip-java maven . . minimized/Fields#app(). // kind Variable -// ^^^^^^^^^^^^^^^^^ reference semanticdb maven . . minimized/Fields#InnerStaticFields#``(). +// ^^^^^^^^^^^^^^^^^ reference scip-java maven . . minimized/Fields#InnerStaticFields#``(). // ⌃ enclosing_range_end local 2 return String.valueOf(fields.privateField) -// ^^^^^^ reference semanticdb maven jdk 11 java/lang/String# -// ^^^^^^^ reference semanticdb maven jdk 11 java/lang/String#valueOf(+5). +// ^^^^^^ reference scip-java maven jdk 11 java/lang/String# +// ^^^^^^^ reference scip-java maven jdk 11 java/lang/String#valueOf(+5). // ^^^^^^ reference local 0 -// ^^^^^^^^^^^^ reference semanticdb maven . . minimized/Fields#privateField. +// ^^^^^^^^^^^^ reference scip-java maven . . minimized/Fields#privateField. + fields.protectedField // ^^^^^^ reference local 0 -// ^^^^^^^^^^^^^^ reference semanticdb maven . . minimized/Fields#protectedField. +// ^^^^^^^^^^^^^^ reference scip-java maven . . minimized/Fields#protectedField. + fields.publicField // ^^^^^^ reference local 0 -// ^^^^^^^^^^^ reference semanticdb maven . . minimized/Fields#publicField. +// ^^^^^^^^^^^ reference scip-java maven . . minimized/Fields#publicField. + staticPrivateField -// ^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . minimized/Fields#staticPrivateField. +// ^^^^^^^^^^^^^^^^^^ reference scip-java maven . . minimized/Fields#staticPrivateField. + staticProtectedFields -// ^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . minimized/Fields#staticProtectedFields. +// ^^^^^^^^^^^^^^^^^^^^^ reference scip-java maven . . minimized/Fields#staticProtectedFields. + staticPublicField -// ^^^^^^^^^^^^^^^^^ reference semanticdb maven . . minimized/Fields#staticPublicField. +// ^^^^^^^^^^^^^^^^^ reference scip-java maven . . minimized/Fields#staticPublicField. + innerFields.publicInnerField // ^^^^^^^^^^^ reference local 1 -// ^^^^^^^^^^^^^^^^ reference semanticdb maven . . minimized/Fields#InnerFields#publicInnerField. +// ^^^^^^^^^^^^^^^^ reference scip-java maven . . minimized/Fields#InnerFields#publicInnerField. + InnerStaticFields.publicStaticInnerField -// ^^^^^^^^^^^^^^^^^ reference semanticdb maven . . minimized/Fields#InnerStaticFields# -// ^^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . minimized/Fields#InnerStaticFields#publicStaticInnerField. +// ^^^^^^^^^^^^^^^^^ reference scip-java maven . . minimized/Fields#InnerStaticFields# +// ^^^^^^^^^^^^^^^^^^^^^^ reference scip-java maven . . minimized/Fields#InnerStaticFields#publicStaticInnerField. + innerStaticFields.publicNonStaticInnerField; // ^^^^^^^^^^^^^^^^^ reference local 2 -// ^^^^^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . minimized/Fields#InnerStaticFields#publicNonStaticInnerField. +// ^^^^^^^^^^^^^^^^^^^^^^^^^ reference scip-java maven . . minimized/Fields#InnerStaticFields#publicNonStaticInnerField. } -// ⌃ enclosing_range_end semanticdb maven . . minimized/Fields#app(). +// ⌃ enclosing_range_end scip-java maven . . minimized/Fields#app(). } -//⌃ enclosing_range_end semanticdb maven . . minimized/Fields# +//⌃ enclosing_range_end scip-java maven . . minimized/Fields# 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 c1164a5c..18cc6bcb 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 @@ -1,47 +1,48 @@ package minimized; import java.util.Collections; -// ^^^^ reference semanticdb maven . . java/ -// ^^^^ reference semanticdb maven . . java/util/ -// ^^^^^^^^^^^ reference semanticdb maven jdk 11 java/util/Collections# +// ^^^^ reference scip-java maven . . java/ +// ^^^^ reference scip-java maven . . java/util/ +// ^^^^^^^^^^^ reference scip-java maven jdk 11 java/util/Collections# import java.util.List; -// ^^^^ reference semanticdb maven . . java/ -// ^^^^ reference semanticdb maven . . java/util/ -// ^^^^ reference semanticdb maven jdk 11 java/util/List# +// ^^^^ reference scip-java maven . . java/ +// ^^^^ reference scip-java maven . . java/util/ +// ^^^^ reference scip-java maven jdk 11 java/util/List# -//⌄ enclosing_range_start semanticdb maven . . minimized/ForComprehensions# +//⌄ enclosing_range_start scip-java maven . . minimized/ForComprehensions# public class ForComprehensions { -// ^^^^^^^^^^^^^^^^^ definition semanticdb maven . . minimized/ForComprehensions# +// ^^^^^^^^^^^^^^^^^ definition scip-java maven . . minimized/ForComprehensions# // display_name ForComprehensions // signature_documentation java public class ForComprehensions // kind Class -// ^^^^^^^^^^^^^^^^^ definition semanticdb maven . . minimized/ForComprehensions#``(). +// ^^^^^^^^^^^^^^^^^ definition scip-java maven . . minimized/ForComprehensions#``(). // display_name // signature_documentation java public ForComprehensions() // kind Constructor -// ⌄ enclosing_range_start semanticdb maven . . minimized/ForComprehensions#app(). +// ⌄ enclosing_range_start scip-java maven . . minimized/ForComprehensions#app(). // ⌄ enclosing_range_start local 0 public static int app(int n) { -// ^^^ definition semanticdb maven . . minimized/ForComprehensions#app(). +// ^^^ definition scip-java maven . . minimized/ForComprehensions#app(). // display_name app // signature_documentation java public static int app(int n) // kind StaticMethod // ^ definition local 0 // display_name n // signature_documentation java int n -// enclosing_symbol semanticdb maven . . minimized/ForComprehensions#app(). +// enclosing_symbol scip-java maven . . minimized/ForComprehensions#app(). +// kind Parameter // ⌃ enclosing_range_end local 0 // ⌄ enclosing_range_start local 1 List integers = Collections.singletonList(n); -// ^^^^ reference semanticdb maven jdk 11 java/util/List# -// ^^^^^^^ reference semanticdb maven jdk 11 java/lang/Integer# +// ^^^^ reference scip-java maven jdk 11 java/util/List# +// ^^^^^^^ reference scip-java maven jdk 11 java/lang/Integer# // ^^^^^^^^ definition local 1 // display_name integers // signature_documentation java List integers -// enclosing_symbol semanticdb maven . . minimized/ForComprehensions#app(). +// enclosing_symbol scip-java maven . . minimized/ForComprehensions#app(). // kind Variable -// ^^^^^^^^^^^ reference semanticdb maven jdk 11 java/util/Collections# -// ^^^^^^^^^^^^^ reference semanticdb maven jdk 11 java/util/Collections#singletonList(). +// ^^^^^^^^^^^ reference scip-java maven jdk 11 java/util/Collections# +// ^^^^^^^^^^^^^ reference scip-java maven jdk 11 java/util/Collections#singletonList(). // ^ reference local 0 // ⌃ enclosing_range_end local 1 // ⌄ enclosing_range_start local 2 @@ -49,7 +50,7 @@ public static int app(int n) { // ^^^^^^ definition local 2 // display_name result // signature_documentation java int result -// enclosing_symbol semanticdb maven . . minimized/ForComprehensions#app(). +// enclosing_symbol scip-java maven . . minimized/ForComprehensions#app(). // kind Variable // ⌃ enclosing_range_end local 2 // ⌄ enclosing_range_start local 3 @@ -57,7 +58,7 @@ public static int app(int n) { // ^ definition local 3 // display_name i // signature_documentation java int i -// enclosing_symbol semanticdb maven . . minimized/ForComprehensions#app(). +// enclosing_symbol scip-java maven . . minimized/ForComprehensions#app(). // kind Variable // ^^^^^^^^ reference local 1 // ⌃ enclosing_range_end local 3 @@ -68,6 +69,6 @@ public static int app(int n) { return result; // ^^^^^^ reference local 2 } -// ⌃ enclosing_range_end semanticdb maven . . minimized/ForComprehensions#app(). +// ⌃ enclosing_range_end scip-java maven . . minimized/ForComprehensions#app(). } -//⌃ enclosing_range_end semanticdb maven . . minimized/ForComprehensions# +//⌃ enclosing_range_end scip-java maven . . minimized/ForComprehensions# 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 90779bae..5a300f7b 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 @@ -1,399 +1,410 @@ package minimized; -//⌄ enclosing_range_start semanticdb maven . . minimized/InnerClasses# +//⌄ enclosing_range_start scip-java maven . . minimized/InnerClasses# public class InnerClasses { -// ^^^^^^^^^^^^ definition semanticdb maven . . minimized/InnerClasses# +// ^^^^^^^^^^^^ definition scip-java maven . . minimized/InnerClasses# // display_name InnerClasses // signature_documentation java public class InnerClasses // kind Class -// ⌄ enclosing_range_start semanticdb maven . . minimized/InnerClasses#exampleField. +// ⌄ enclosing_range_start scip-java maven . . minimized/InnerClasses#exampleField. private final int exampleField; -// ^^^^^^^^^^^^ definition semanticdb maven . . minimized/InnerClasses#exampleField. +// ^^^^^^^^^^^^ definition scip-java maven . . minimized/InnerClasses#exampleField. // display_name exampleField // signature_documentation java private final int exampleField // kind Field -// ⌃ enclosing_range_end semanticdb maven . . minimized/InnerClasses#exampleField. +// ⌃ enclosing_range_end scip-java maven . . minimized/InnerClasses#exampleField. -// ⌄ enclosing_range_start semanticdb maven . . minimized/InnerClasses#STRING. +// ⌄ enclosing_range_start scip-java maven . . minimized/InnerClasses#STRING. private static final String STRING = "asdf"; -// ^^^^^^ reference semanticdb maven jdk 11 java/lang/String# -// ^^^^^^ definition semanticdb maven . . minimized/InnerClasses#STRING. +// ^^^^^^ reference scip-java maven jdk 11 java/lang/String# +// ^^^^^^ definition scip-java maven . . minimized/InnerClasses#STRING. // display_name STRING // signature_documentation java private static final String STRING // kind StaticField -// ⌃ enclosing_range_end semanticdb maven . . minimized/InnerClasses#STRING. +// ⌃ enclosing_range_end scip-java maven . . minimized/InnerClasses#STRING. -// ⌄ enclosing_range_start semanticdb maven . . minimized/InnerClasses#top. +// ⌄ enclosing_range_start scip-java maven . . minimized/InnerClasses#top. private static final int top = 5; -// ^^^ definition semanticdb maven . . minimized/InnerClasses#top. +// ^^^ definition scip-java maven . . minimized/InnerClasses#top. // display_name top // signature_documentation java private static final int top // kind StaticField -// ⌃ enclosing_range_end semanticdb maven . . minimized/InnerClasses#top. -// ⌄ enclosing_range_start semanticdb maven . . minimized/InnerClasses#bottom. +// ⌃ enclosing_range_end scip-java maven . . minimized/InnerClasses#top. +// ⌄ enclosing_range_start scip-java maven . . minimized/InnerClasses#bottom. private static final int bottom = 10; -// ^^^^^^ definition semanticdb maven . . minimized/InnerClasses#bottom. +// ^^^^^^ definition scip-java maven . . minimized/InnerClasses#bottom. // display_name bottom // signature_documentation java private static final int bottom // kind StaticField -// ⌃ enclosing_range_end semanticdb maven . . minimized/InnerClasses#bottom. +// ⌃ enclosing_range_end scip-java maven . . minimized/InnerClasses#bottom. -// ⌄ enclosing_range_start semanticdb maven . . minimized/InnerClasses#``(). +// ⌄ enclosing_range_start scip-java maven . . minimized/InnerClasses#``(). // ⌄ enclosing_range_start local 0 public InnerClasses(int exampleField) { -// ^^^^^^^^^^^^ definition semanticdb maven . . minimized/InnerClasses#``(). +// ^^^^^^^^^^^^ definition scip-java maven . . minimized/InnerClasses#``(). // display_name // signature_documentation java public InnerClasses(int exampleField) // kind Constructor // ^^^^^^^^^^^^ definition local 0 // display_name exampleField // signature_documentation java int exampleField -// enclosing_symbol semanticdb maven . . minimized/InnerClasses#``(). +// enclosing_symbol scip-java maven . . minimized/InnerClasses#``(). +// kind Parameter // ⌃ enclosing_range_end local 0 this.exampleField = exampleField; -// ^^^^^^^^^^^^ reference semanticdb maven . . minimized/InnerClasses#exampleField. +// ^^^^^^^^^^^^ reference scip-java maven . . minimized/InnerClasses#exampleField. // ^^^^^^^^^^^^ reference local 0 } -// ⌃ enclosing_range_end semanticdb maven . . minimized/InnerClasses#``(). +// ⌃ enclosing_range_end scip-java maven . . minimized/InnerClasses#``(). -// ⌄ enclosing_range_start semanticdb maven . . minimized/InnerClasses#InnerEnum# +// ⌄ enclosing_range_start scip-java maven . . minimized/InnerClasses#InnerEnum# public enum InnerEnum { -// ^^^^^^^^^ definition semanticdb maven . . minimized/InnerClasses#InnerEnum# +// ^^^^^^^^^ definition scip-java maven . . minimized/InnerClasses#InnerEnum# // display_name InnerEnum -// signature_documentation java public enum InnerEnum +// signature_documentation java public static final enum InnerEnum extends Enum // kind Enum -// relationship is_implementation semanticdb maven jdk 11 java/io/Serializable# -// relationship is_implementation semanticdb maven jdk 11 java/lang/Comparable# -// relationship is_implementation semanticdb maven jdk 11 java/lang/Enum# -// ^^^^^^^^^ definition semanticdb maven . . minimized/InnerClasses#InnerEnum#``(). +// relationship is_implementation scip-java maven jdk 11 java/io/Serializable# +// relationship is_implementation scip-java maven jdk 11 java/lang/Comparable# +// relationship is_implementation scip-java maven jdk 11 java/lang/Enum# +// ^^^^^^^^^ definition scip-java maven . . minimized/InnerClasses#InnerEnum#``(). // display_name // signature_documentation java private InnerEnum() // kind Constructor -// ⌄ enclosing_range_start semanticdb maven . . minimized/InnerClasses#InnerEnum#A. +// ⌄ enclosing_range_start scip-java maven . . minimized/InnerClasses#InnerEnum#A. A, -// ^ definition semanticdb maven . . minimized/InnerClasses#InnerEnum#A. +// ^ definition scip-java maven . . minimized/InnerClasses#InnerEnum#A. // display_name A -// signature_documentation java InnerEnum.A /* ordinal 0 */ -// ^ reference semanticdb maven . . minimized/InnerClasses#InnerEnum#``(). -// ⌃ enclosing_range_end semanticdb maven . . minimized/InnerClasses#InnerEnum#A. -// ⌄ enclosing_range_start semanticdb maven . . minimized/InnerClasses#InnerEnum#B. +// signature_documentation java public static final A +// kind EnumMember +// ^ reference scip-java maven . . minimized/InnerClasses#InnerEnum#``(). +// ⌃ enclosing_range_end scip-java maven . . minimized/InnerClasses#InnerEnum#A. +// ⌄ enclosing_range_start scip-java maven . . minimized/InnerClasses#InnerEnum#B. B, -// ^ definition semanticdb maven . . minimized/InnerClasses#InnerEnum#B. +// ^ definition scip-java maven . . minimized/InnerClasses#InnerEnum#B. // display_name B -// signature_documentation java InnerEnum.B /* ordinal 1 */ -// ^ reference semanticdb maven . . minimized/InnerClasses#InnerEnum#``(). -// ⌃ enclosing_range_end semanticdb maven . . minimized/InnerClasses#InnerEnum#B. -// ⌄ enclosing_range_start semanticdb maven . . minimized/InnerClasses#InnerEnum#C. +// signature_documentation java public static final B +// kind EnumMember +// ^ reference scip-java maven . . minimized/InnerClasses#InnerEnum#``(). +// ⌃ enclosing_range_end scip-java maven . . minimized/InnerClasses#InnerEnum#B. +// ⌄ enclosing_range_start scip-java maven . . minimized/InnerClasses#InnerEnum#C. C -// ^ definition semanticdb maven . . minimized/InnerClasses#InnerEnum#C. +// ^ definition scip-java maven . . minimized/InnerClasses#InnerEnum#C. // display_name C -// signature_documentation java InnerEnum.C /* ordinal 2 */ -// ^ reference semanticdb maven . . minimized/InnerClasses#InnerEnum#``(). -// ⌃ enclosing_range_end semanticdb maven . . minimized/InnerClasses#InnerEnum#C. +// signature_documentation java public static final C +// kind EnumMember +// ^ reference scip-java maven . . minimized/InnerClasses#InnerEnum#``(). +// ⌃ enclosing_range_end scip-java maven . . minimized/InnerClasses#InnerEnum#C. } -// ⌃ enclosing_range_end semanticdb maven . . minimized/InnerClasses#InnerEnum# +// ⌃ enclosing_range_end scip-java maven . . minimized/InnerClasses#InnerEnum# -// ⌄ enclosing_range_start semanticdb maven . . minimized/InnerClasses#InnerInterface# -// ⌄ enclosing_range_start semanticdb maven . . minimized/InnerClasses#InnerInterface#[A] -// ⌄ enclosing_range_start semanticdb maven . . minimized/InnerClasses#InnerInterface#[B] +// ⌄ enclosing_range_start scip-java maven . . minimized/InnerClasses#InnerInterface# +// ⌄ enclosing_range_start scip-java maven . . minimized/InnerClasses#InnerInterface#[A] +// ⌄ enclosing_range_start scip-java maven . . minimized/InnerClasses#InnerInterface#[B] public interface InnerInterface { -// ^^^^^^^^^^^^^^ definition semanticdb maven . . minimized/InnerClasses#InnerInterface# +// ^^^^^^^^^^^^^^ definition scip-java maven . . minimized/InnerClasses#InnerInterface# // display_name InnerInterface -// signature_documentation java public interface InnerInterface +// signature_documentation java public abstract static interface InnerInterface // kind Interface -// ^ definition semanticdb maven . . minimized/InnerClasses#InnerInterface#[A] +// ^ definition scip-java maven . . minimized/InnerClasses#InnerInterface#[A] // display_name A // signature_documentation java A // kind TypeParameter -// ^ definition semanticdb maven . . minimized/InnerClasses#InnerInterface#[B] +// ^ definition scip-java maven . . minimized/InnerClasses#InnerInterface#[B] // display_name B // signature_documentation java B // kind TypeParameter -// ⌄ enclosing_range_start semanticdb maven . . minimized/InnerClasses#InnerInterface#apply(). +// ⌄ enclosing_range_start scip-java maven . . minimized/InnerClasses#InnerInterface#apply(). // ⌄ enclosing_range_start local 1 B apply(A a); -// ^ reference semanticdb maven . . minimized/InnerClasses#InnerInterface#[B] -// ^^^^^ definition semanticdb maven . . minimized/InnerClasses#InnerInterface#apply(). +// ^ reference scip-java maven . . minimized/InnerClasses#InnerInterface#[B] +// ^^^^^ definition scip-java maven . . minimized/InnerClasses#InnerInterface#apply(). // display_name apply // signature_documentation java public abstract B apply(A a) // kind AbstractMethod -// relationship is_reference is_implementation semanticdb maven . . minimized/InnerClasses#InnerClass#apply(). -// ^ reference semanticdb maven . . minimized/InnerClasses#InnerInterface#[A] +// relationship is_reference is_implementation scip-java maven . . minimized/InnerClasses#InnerClass#apply(). +// ^ reference scip-java maven . . minimized/InnerClasses#InnerInterface#[A] // ^ definition local 1 // display_name a // signature_documentation java A a -// enclosing_symbol semanticdb maven . . minimized/InnerClasses#InnerInterface#apply(). +// enclosing_symbol scip-java maven . . minimized/InnerClasses#InnerInterface#apply(). +// kind Parameter // ⌃ enclosing_range_end local 1 -// ⌃ enclosing_range_end semanticdb maven . . minimized/InnerClasses#InnerInterface#apply(). +// ⌃ enclosing_range_end scip-java maven . . minimized/InnerClasses#InnerInterface#apply(). } -// ⌃ enclosing_range_end semanticdb maven . . minimized/InnerClasses#InnerInterface# -// ⌃ enclosing_range_end semanticdb maven . . minimized/InnerClasses#InnerInterface#[A] -// ⌃ enclosing_range_end semanticdb maven . . minimized/InnerClasses#InnerInterface#[B] +// ⌃ enclosing_range_end scip-java maven . . minimized/InnerClasses#InnerInterface# +// ⌃ enclosing_range_end scip-java maven . . minimized/InnerClasses#InnerInterface#[A] +// ⌃ enclosing_range_end scip-java maven . . minimized/InnerClasses#InnerInterface#[B] -// ⌄ enclosing_range_start semanticdb maven . . minimized/InnerClasses#InnerAnnotation# +// ⌄ enclosing_range_start scip-java maven . . minimized/InnerClasses#InnerAnnotation# public @interface InnerAnnotation { -// ^^^^^^^^^^^^^^^ definition semanticdb maven . . minimized/InnerClasses#InnerAnnotation# +// ^^^^^^^^^^^^^^^ definition scip-java maven . . minimized/InnerClasses#InnerAnnotation# // display_name InnerAnnotation -// signature_documentation java public @interface InnerAnnotation +// signature_documentation java public abstract static @interface InnerAnnotation implements Annotation // kind Interface -// relationship is_implementation semanticdb maven jdk 11 java/lang/annotation/Annotation# -// ⌄ enclosing_range_start semanticdb maven . . minimized/InnerClasses#InnerAnnotation#value(). +// relationship is_implementation scip-java maven jdk 11 java/lang/annotation/Annotation# +// ⌄ enclosing_range_start scip-java maven . . minimized/InnerClasses#InnerAnnotation#value(). int value(); -// ^^^^^ definition semanticdb maven . . minimized/InnerClasses#InnerAnnotation#value(). +// ^^^^^ definition scip-java maven . . minimized/InnerClasses#InnerAnnotation#value(). // display_name value // signature_documentation java public abstract int value() // kind AbstractMethod -// ⌃ enclosing_range_end semanticdb maven . . minimized/InnerClasses#InnerAnnotation#value(). +// ⌃ enclosing_range_end scip-java maven . . minimized/InnerClasses#InnerAnnotation#value(). } -// ⌃ enclosing_range_end semanticdb maven . . minimized/InnerClasses#InnerAnnotation# +// ⌃ enclosing_range_end scip-java maven . . minimized/InnerClasses#InnerAnnotation# -// ⌄ enclosing_range_start semanticdb maven . . minimized/InnerClasses#InnerStaticClass# +// ⌄ enclosing_range_start scip-java maven . . minimized/InnerClasses#InnerStaticClass# @SuppressWarnings(STRING + " ") -// ^^^^^^^^^^^^^^^^ reference semanticdb maven jdk 11 java/lang/SuppressWarnings# -// ^^^^^^ reference semanticdb maven . . minimized/InnerClasses#STRING. +// ^^^^^^^^^^^^^^^^ reference scip-java maven jdk 11 java/lang/SuppressWarnings# +// ^^^^^^ reference scip-java maven . . minimized/InnerClasses#STRING. @InnerAnnotation(top / bottom) -// ^^^^^^^^^^^^^^^ reference semanticdb maven . . minimized/InnerClasses#InnerAnnotation# -// ^^^ reference semanticdb maven . . minimized/InnerClasses#top. -// ^^^^^^ reference semanticdb maven . . minimized/InnerClasses#bottom. +// ^^^^^^^^^^^^^^^ reference scip-java maven . . minimized/InnerClasses#InnerAnnotation# +// ^^^ reference scip-java maven . . minimized/InnerClasses#top. +// ^^^^^^ reference scip-java maven . . minimized/InnerClasses#bottom. public static class InnerStaticClass { -// ^^^^^^^^^^^^^^^^ definition semanticdb maven . . minimized/InnerClasses#InnerStaticClass# +// ^^^^^^^^^^^^^^^^ definition scip-java maven . . minimized/InnerClasses#InnerStaticClass# // display_name InnerStaticClass -// signature_documentation java @SuppressWarnings(STRING + " ")\n@InnerAnnotation(top / bottom)\npublic static class InnerStaticClass +// signature_documentation java @SuppressWarnings\n@InnerAnnotation\npublic static class InnerStaticClass // kind Class -// ^^^^^^^^^^^^^^^^ definition semanticdb maven . . minimized/InnerClasses#InnerStaticClass#``(). +// ^^^^^^^^^^^^^^^^ definition scip-java maven . . minimized/InnerClasses#InnerStaticClass#``(). // display_name // signature_documentation java public InnerStaticClass() // kind Constructor -// ⌄ enclosing_range_start semanticdb maven . . minimized/InnerClasses#InnerStaticClass#innerStaticMethod(). +// ⌄ enclosing_range_start scip-java maven . . minimized/InnerClasses#InnerStaticClass#innerStaticMethod(). public static void innerStaticMethod() {} -// ^^^^^^^^^^^^^^^^^ definition semanticdb maven . . minimized/InnerClasses#InnerStaticClass#innerStaticMethod(). +// ^^^^^^^^^^^^^^^^^ definition scip-java maven . . minimized/InnerClasses#InnerStaticClass#innerStaticMethod(). // display_name innerStaticMethod // signature_documentation java public static void innerStaticMethod() // kind StaticMethod -// ⌃ enclosing_range_end semanticdb maven . . minimized/InnerClasses#InnerStaticClass#innerStaticMethod(). +// ⌃ enclosing_range_end scip-java maven . . minimized/InnerClasses#InnerStaticClass#innerStaticMethod(). } -// ⌃ enclosing_range_end semanticdb maven . . minimized/InnerClasses#InnerStaticClass# +// ⌃ enclosing_range_end scip-java maven . . minimized/InnerClasses#InnerStaticClass# -// ⌄ enclosing_range_start semanticdb maven . . minimized/InnerClasses#InnerClass# +// ⌄ enclosing_range_start scip-java maven . . minimized/InnerClasses#InnerClass# public class InnerClass implements InnerInterface { -// ^^^^^^^^^^ definition semanticdb maven . . minimized/InnerClasses#InnerClass# +// ^^^^^^^^^^ definition scip-java maven . . minimized/InnerClasses#InnerClass# // display_name InnerClass -// signature_documentation java public class InnerClass +// signature_documentation java public class InnerClass implements InnerInterface // kind Class -// relationship is_implementation semanticdb maven . . minimized/InnerClasses#InnerInterface# -// ^^^^^^^^^^^^^^ reference semanticdb maven . . minimized/InnerClasses#InnerInterface# -// ^^^^^^^ reference semanticdb maven jdk 11 java/lang/Integer# -// ^^^^^^^ reference semanticdb maven jdk 11 java/lang/Integer# -// ⌄ enclosing_range_start semanticdb maven . . minimized/InnerClasses#InnerClass#field. +// relationship is_implementation scip-java maven . . minimized/InnerClasses#InnerInterface# +// ^^^^^^^^^^^^^^ reference scip-java maven . . minimized/InnerClasses#InnerInterface# +// ^^^^^^^ reference scip-java maven jdk 11 java/lang/Integer# +// ^^^^^^^ reference scip-java maven jdk 11 java/lang/Integer# +// ⌄ enclosing_range_start scip-java maven . . minimized/InnerClasses#InnerClass#field. private final int field; -// ^^^^^ definition semanticdb maven . . minimized/InnerClasses#InnerClass#field. +// ^^^^^ definition scip-java maven . . minimized/InnerClasses#InnerClass#field. // display_name field // signature_documentation java private final int field // kind Field -// ⌃ enclosing_range_end semanticdb maven . . minimized/InnerClasses#InnerClass#field. +// ⌃ enclosing_range_end scip-java maven . . minimized/InnerClasses#InnerClass#field. -// ⌄ enclosing_range_start semanticdb maven . . minimized/InnerClasses#InnerClass#``(). +// ⌄ enclosing_range_start scip-java maven . . minimized/InnerClasses#InnerClass#``(). // ⌄ enclosing_range_start local 2 public InnerClass(int field) { -// ^^^^^^^^^^ definition semanticdb maven . . minimized/InnerClasses#InnerClass#``(). +// ^^^^^^^^^^ definition scip-java maven . . minimized/InnerClasses#InnerClass#``(). // display_name // signature_documentation java public InnerClass(int field) // kind Constructor // ^^^^^ definition local 2 // display_name field // signature_documentation java int field -// enclosing_symbol semanticdb maven . . minimized/InnerClasses#InnerClass#``(). +// enclosing_symbol scip-java maven . . minimized/InnerClasses#InnerClass#``(). +// kind Parameter // ⌃ enclosing_range_end local 2 this.field = field; -// ^^^^^ reference semanticdb maven . . minimized/InnerClasses#InnerClass#field. +// ^^^^^ reference scip-java maven . . minimized/InnerClasses#InnerClass#field. // ^^^^^ reference local 2 } -// ⌃ enclosing_range_end semanticdb maven . . minimized/InnerClasses#InnerClass#``(). +// ⌃ enclosing_range_end scip-java maven . . minimized/InnerClasses#InnerClass#``(). -// ⌄ enclosing_range_start semanticdb maven . . minimized/InnerClasses#InnerClass#innerMethod(). +// ⌄ enclosing_range_start scip-java maven . . minimized/InnerClasses#InnerClass#innerMethod(). public void innerMethod() { -// ^^^^^^^^^^^ definition semanticdb maven . . minimized/InnerClasses#InnerClass#innerMethod(). +// ^^^^^^^^^^^ definition scip-java maven . . minimized/InnerClasses#InnerClass#innerMethod(). // display_name innerMethod // signature_documentation java public void innerMethod() // kind Method System.out.println(field + exampleField); -// ^^^^^^ reference semanticdb maven jdk 11 java/lang/System# -// ^^^ reference semanticdb maven jdk 11 java/lang/System#out. -// ^^^^^^^ reference semanticdb maven jdk 11 java/io/PrintStream#println(+3). -// ^^^^^ reference semanticdb maven . . minimized/InnerClasses#InnerClass#field. -// ^^^^^^^^^^^^ reference semanticdb maven . . minimized/InnerClasses#exampleField. +// ^^^^^^ reference scip-java maven jdk 11 java/lang/System# +// ^^^ reference scip-java maven jdk 11 java/lang/System#out. +// ^^^^^^^ reference scip-java maven jdk 11 java/io/PrintStream#println(+3). +// ^^^^^ reference scip-java maven . . minimized/InnerClasses#InnerClass#field. +// ^^^^^^^^^^^^ reference scip-java maven . . minimized/InnerClasses#exampleField. } -// ⌃ enclosing_range_end semanticdb maven . . minimized/InnerClasses#InnerClass#innerMethod(). +// ⌃ enclosing_range_end scip-java maven . . minimized/InnerClasses#InnerClass#innerMethod(). -// ⌄ enclosing_range_start semanticdb maven . . minimized/InnerClasses#InnerClass#apply(). +// ⌄ enclosing_range_start scip-java maven . . minimized/InnerClasses#InnerClass#apply(). @Override -// ^^^^^^^^ reference semanticdb maven jdk 11 java/lang/Override# +// ^^^^^^^^ reference scip-java maven jdk 11 java/lang/Override# // ⌄ enclosing_range_start local 3 public Integer apply(Integer integer) { -// ^^^^^^^ reference semanticdb maven jdk 11 java/lang/Integer# -// ^^^^^ definition semanticdb maven . . minimized/InnerClasses#InnerClass#apply(). +// ^^^^^^^ reference scip-java maven jdk 11 java/lang/Integer# +// ^^^^^ definition scip-java maven . . minimized/InnerClasses#InnerClass#apply(). // display_name apply // signature_documentation java @Override\npublic Integer apply(Integer integer) // kind Method -// relationship is_reference is_implementation semanticdb maven . . minimized/InnerClasses#InnerInterface#apply(). -// ^^^^^^^ reference semanticdb maven jdk 11 java/lang/Integer# +// relationship is_reference is_implementation scip-java maven . . minimized/InnerClasses#InnerInterface#apply(). +// ^^^^^^^ reference scip-java maven jdk 11 java/lang/Integer# // ^^^^^^^ definition local 3 // display_name integer // signature_documentation java Integer integer -// enclosing_symbol semanticdb maven . . minimized/InnerClasses#InnerClass#apply(). +// enclosing_symbol scip-java maven . . minimized/InnerClasses#InnerClass#apply(). +// kind Parameter // ⌃ enclosing_range_end local 3 return field * integer; -// ^^^^^ reference semanticdb maven . . minimized/InnerClasses#InnerClass#field. +// ^^^^^ reference scip-java maven . . minimized/InnerClasses#InnerClass#field. // ^^^^^^^ reference local 3 } -// ⌃ enclosing_range_end semanticdb maven . . minimized/InnerClasses#InnerClass#apply(). +// ⌃ enclosing_range_end scip-java maven . . minimized/InnerClasses#InnerClass#apply(). } -// ⌃ enclosing_range_end semanticdb maven . . minimized/InnerClasses#InnerClass# +// ⌃ enclosing_range_end scip-java maven . . minimized/InnerClasses#InnerClass# -// ⌄ enclosing_range_start semanticdb maven . . minimized/InnerClasses#runInnerInterface().[A] -// ⌄ enclosing_range_start semanticdb maven . . minimized/InnerClasses#runInnerInterface().[B] -// ⌄ enclosing_range_start semanticdb maven . . minimized/InnerClasses#runInnerInterface(). +// ⌄ enclosing_range_start scip-java maven . . minimized/InnerClasses#runInnerInterface(). +// ⌄ enclosing_range_start scip-java maven . . minimized/InnerClasses#runInnerInterface().[A] +// ⌄ enclosing_range_start scip-java maven . . minimized/InnerClasses#runInnerInterface().[B] // ⌄ enclosing_range_start local 4 // ⌄ enclosing_range_start local 5 private static B runInnerInterface(InnerInterface fn, A a) { -// ^ definition semanticdb maven . . minimized/InnerClasses#runInnerInterface().[A] +// ^ definition scip-java maven . . minimized/InnerClasses#runInnerInterface().[A] // display_name A // signature_documentation java A // kind TypeParameter -// ^ definition semanticdb maven . . minimized/InnerClasses#runInnerInterface().[B] +// ^ definition scip-java maven . . minimized/InnerClasses#runInnerInterface().[B] // display_name B // signature_documentation java B // kind TypeParameter -// ^ reference semanticdb maven . . minimized/InnerClasses#runInnerInterface().[B] -// ^^^^^^^^^^^^^^^^^ definition semanticdb maven . . minimized/InnerClasses#runInnerInterface(). +// ^ reference scip-java maven . . minimized/InnerClasses#runInnerInterface().[B] +// ^^^^^^^^^^^^^^^^^ definition scip-java maven . . minimized/InnerClasses#runInnerInterface(). // display_name runInnerInterface // signature_documentation java private static B runInnerInterface(InnerInterface fn, A a) // kind StaticMethod -// ^^^^^^^^^^^^^^ reference semanticdb maven . . minimized/InnerClasses#InnerInterface# -// ^ reference semanticdb maven . . minimized/InnerClasses#runInnerInterface().[A] -// ^ reference semanticdb maven . . minimized/InnerClasses#runInnerInterface().[B] +// ^^^^^^^^^^^^^^ reference scip-java maven . . minimized/InnerClasses#InnerInterface# +// ^ reference scip-java maven . . minimized/InnerClasses#runInnerInterface().[A] +// ^ reference scip-java maven . . minimized/InnerClasses#runInnerInterface().[B] // ^^ definition local 4 // display_name fn // signature_documentation java InnerInterface fn -// enclosing_symbol semanticdb maven . . minimized/InnerClasses#runInnerInterface(). -// ^ reference semanticdb maven . . minimized/InnerClasses#runInnerInterface().[A] +// enclosing_symbol scip-java maven . . minimized/InnerClasses#runInnerInterface(). +// kind Parameter +// ^ reference scip-java maven . . minimized/InnerClasses#runInnerInterface().[A] // ^ definition local 5 // display_name a // signature_documentation java A a -// enclosing_symbol semanticdb maven . . minimized/InnerClasses#runInnerInterface(). +// enclosing_symbol scip-java maven . . minimized/InnerClasses#runInnerInterface(). +// kind Parameter // ⌃ enclosing_range_end local 4 // ⌃ enclosing_range_end local 5 return fn.apply(a); // ^^ reference local 4 -// ^^^^^ reference semanticdb maven . . minimized/InnerClasses#InnerInterface#apply(). +// ^^^^^ reference scip-java maven . . minimized/InnerClasses#InnerInterface#apply(). // ^ reference local 5 } -// ⌃ enclosing_range_end semanticdb maven . . minimized/InnerClasses#runInnerInterface().[A] -// ⌃ enclosing_range_end semanticdb maven . . minimized/InnerClasses#runInnerInterface().[B] -// ⌃ enclosing_range_end semanticdb maven . . minimized/InnerClasses#runInnerInterface(). +// ⌃ enclosing_range_end scip-java maven . . minimized/InnerClasses#runInnerInterface(). +// ⌃ enclosing_range_end scip-java maven . . minimized/InnerClasses#runInnerInterface().[A] +// ⌃ enclosing_range_end scip-java maven . . minimized/InnerClasses#runInnerInterface().[B] -// ⌄ enclosing_range_start semanticdb maven . . minimized/InnerClasses#testEnum(). +// ⌄ enclosing_range_start scip-java maven . . minimized/InnerClasses#testEnum(). // ⌄ enclosing_range_start local 6 public static void testEnum(InnerEnum magicEnum) { -// ^^^^^^^^ definition semanticdb maven . . minimized/InnerClasses#testEnum(). +// ^^^^^^^^ definition scip-java maven . . minimized/InnerClasses#testEnum(). // display_name testEnum // signature_documentation java public static void testEnum(InnerEnum magicEnum) // kind StaticMethod -// ^^^^^^^^^ reference semanticdb maven . . minimized/InnerClasses#InnerEnum# +// ^^^^^^^^^ reference scip-java maven . . minimized/InnerClasses#InnerEnum# // ^^^^^^^^^ definition local 6 // display_name magicEnum // signature_documentation java InnerEnum magicEnum -// enclosing_symbol semanticdb maven . . minimized/InnerClasses#testEnum(). +// enclosing_symbol scip-java maven . . minimized/InnerClasses#testEnum(). +// kind Parameter // ⌃ enclosing_range_end local 6 if (System.nanoTime() > System.currentTimeMillis()) { -// ^^^^^^ reference semanticdb maven jdk 11 java/lang/System# -// ^^^^^^^^ reference semanticdb maven jdk 11 java/lang/System#nanoTime(). -// ^^^^^^ reference semanticdb maven jdk 11 java/lang/System# -// ^^^^^^^^^^^^^^^^^ reference semanticdb maven jdk 11 java/lang/System#currentTimeMillis(). +// ^^^^^^ reference scip-java maven jdk 11 java/lang/System# +// ^^^^^^^^ reference scip-java maven jdk 11 java/lang/System#nanoTime(). +// ^^^^^^ reference scip-java maven jdk 11 java/lang/System# +// ^^^^^^^^^^^^^^^^^ reference scip-java maven jdk 11 java/lang/System#currentTimeMillis(). magicEnum = InnerEnum.B; // ^^^^^^^^^ reference local 6 -// ^^^^^^^^^ reference semanticdb maven . . minimized/InnerClasses#InnerEnum# -// ^ reference semanticdb maven . . minimized/InnerClasses#InnerEnum#B. +// ^^^^^^^^^ reference scip-java maven . . minimized/InnerClasses#InnerEnum# +// ^ reference scip-java maven . . minimized/InnerClasses#InnerEnum#B. } switch (magicEnum) { // ^^^^^^^^^ reference local 6 case B: -// ^ reference semanticdb maven . . minimized/InnerClasses#InnerEnum#B. +// ^ reference scip-java maven . . minimized/InnerClasses#InnerEnum#B. System.out.println("b"); -// ^^^^^^ reference semanticdb maven jdk 11 java/lang/System# -// ^^^ reference semanticdb maven jdk 11 java/lang/System#out. -// ^^^^^^^ reference semanticdb maven jdk 11 java/io/PrintStream#println(+8). +// ^^^^^^ reference scip-java maven jdk 11 java/lang/System# +// ^^^ reference scip-java maven jdk 11 java/lang/System#out. +// ^^^^^^^ reference scip-java maven jdk 11 java/io/PrintStream#println(+8). break; case A: -// ^ reference semanticdb maven . . minimized/InnerClasses#InnerEnum#A. +// ^ reference scip-java maven . . minimized/InnerClasses#InnerEnum#A. System.out.println("a"); -// ^^^^^^ reference semanticdb maven jdk 11 java/lang/System# -// ^^^ reference semanticdb maven jdk 11 java/lang/System#out. -// ^^^^^^^ reference semanticdb maven jdk 11 java/io/PrintStream#println(+8). +// ^^^^^^ reference scip-java maven jdk 11 java/lang/System# +// ^^^ reference scip-java maven jdk 11 java/lang/System#out. +// ^^^^^^^ reference scip-java maven jdk 11 java/io/PrintStream#println(+8). break; default: break; } if (magicEnum == InnerEnum.A) System.out.println("a"); // ^^^^^^^^^ reference local 6 -// ^^^^^^^^^ reference semanticdb maven . . minimized/InnerClasses#InnerEnum# -// ^ reference semanticdb maven . . minimized/InnerClasses#InnerEnum#A. -// ^^^^^^ reference semanticdb maven jdk 11 java/lang/System# -// ^^^ reference semanticdb maven jdk 11 java/lang/System#out. -// ^^^^^^^ reference semanticdb maven jdk 11 java/io/PrintStream#println(+8). +// ^^^^^^^^^ reference scip-java maven . . minimized/InnerClasses#InnerEnum# +// ^ reference scip-java maven . . minimized/InnerClasses#InnerEnum#A. +// ^^^^^^ reference scip-java maven jdk 11 java/lang/System# +// ^^^ reference scip-java maven jdk 11 java/lang/System#out. +// ^^^^^^^ reference scip-java maven jdk 11 java/io/PrintStream#println(+8). else if (magicEnum == InnerEnum.C) System.out.println("b"); // ^^^^^^^^^ reference local 6 -// ^^^^^^^^^ reference semanticdb maven . . minimized/InnerClasses#InnerEnum# -// ^ reference semanticdb maven . . minimized/InnerClasses#InnerEnum#C. -// ^^^^^^ reference semanticdb maven jdk 11 java/lang/System# -// ^^^ reference semanticdb maven jdk 11 java/lang/System#out. -// ^^^^^^^ reference semanticdb maven jdk 11 java/io/PrintStream#println(+8). +// ^^^^^^^^^ reference scip-java maven . . minimized/InnerClasses#InnerEnum# +// ^ reference scip-java maven . . minimized/InnerClasses#InnerEnum#C. +// ^^^^^^ reference scip-java maven jdk 11 java/lang/System# +// ^^^ reference scip-java maven jdk 11 java/lang/System#out. +// ^^^^^^^ reference scip-java maven jdk 11 java/io/PrintStream#println(+8). else System.out.println("c"); -// ^^^^^^ reference semanticdb maven jdk 11 java/lang/System# -// ^^^ reference semanticdb maven jdk 11 java/lang/System#out. -// ^^^^^^^ reference semanticdb maven jdk 11 java/io/PrintStream#println(+8). +// ^^^^^^ reference scip-java maven jdk 11 java/lang/System# +// ^^^ reference scip-java maven jdk 11 java/lang/System#out. +// ^^^^^^^ reference scip-java maven jdk 11 java/io/PrintStream#println(+8). } -// ⌃ enclosing_range_end semanticdb maven . . minimized/InnerClasses#testEnum(). +// ⌃ enclosing_range_end scip-java maven . . minimized/InnerClasses#testEnum(). -// ⌄ enclosing_range_start semanticdb maven . . minimized/InnerClasses#testAnon(). +// ⌄ enclosing_range_start scip-java maven . . minimized/InnerClasses#testAnon(). public static void testAnon() { -// ^^^^^^^^ definition semanticdb maven . . minimized/InnerClasses#testAnon(). +// ^^^^^^^^ definition scip-java maven . . minimized/InnerClasses#testAnon(). // display_name testAnon // signature_documentation java public static void testAnon() // kind StaticMethod // ⌄ enclosing_range_start local 7 InnerInterface fn = -// ^^^^^^^^^^^^^^ reference semanticdb maven . . minimized/InnerClasses#InnerInterface# -// ^^^^^^ reference semanticdb maven jdk 11 java/lang/String# -// ^^^^^^ reference semanticdb maven jdk 11 java/lang/String# +// ^^^^^^^^^^^^^^ reference scip-java maven . . minimized/InnerClasses#InnerInterface# +// ^^^^^^ reference scip-java maven jdk 11 java/lang/String# +// ^^^^^^ reference scip-java maven jdk 11 java/lang/String# // ^^ definition local 7 // display_name fn // signature_documentation java InnerInterface fn -// enclosing_symbol semanticdb maven . . minimized/InnerClasses#testAnon(). +// enclosing_symbol scip-java maven . . minimized/InnerClasses#testAnon(). // kind Variable new InnerInterface() { -// ^^^^^^^^^^^^^^ reference semanticdb maven . . minimized/InnerClasses#InnerInterface# -// ^^^^^^ reference semanticdb maven jdk 11 java/lang/String# -// ^^^^^^ reference semanticdb maven jdk 11 java/lang/String# +// ^^^^^^^^^^^^^^ reference scip-java maven . . minimized/InnerClasses#InnerInterface# +// ^^^^^^ reference scip-java maven jdk 11 java/lang/String# +// ^^^^^^ reference scip-java maven jdk 11 java/lang/String# // ⌄ enclosing_range_start local 9 @Override -// ^^^^^^^^ reference semanticdb maven jdk 11 java/lang/Override# +// ^^^^^^^^ reference scip-java maven jdk 11 java/lang/Override# // ⌄ enclosing_range_start local 10 public String apply(String s) { -// ^^^^^^ reference semanticdb maven jdk 11 java/lang/String# +// ^^^^^^ reference scip-java maven jdk 11 java/lang/String# // ^^^^^ definition local 9 // display_name apply // signature_documentation java @Override\npublic String apply(String s) // enclosing_symbol local 8 // kind Method -// relationship is_reference is_implementation semanticdb maven . . minimized/InnerClasses#InnerInterface#apply(). -// ^^^^^^ reference semanticdb maven jdk 11 java/lang/String# +// relationship is_reference is_implementation scip-java maven . . minimized/InnerClasses#InnerInterface#apply(). +// ^^^^^^ reference scip-java maven jdk 11 java/lang/String# // ^ definition local 10 // display_name s // signature_documentation java String s // enclosing_symbol local 9 +// kind Parameter // ⌃ enclosing_range_end local 10 return s + "b"; // ^ reference local 10 @@ -402,18 +413,18 @@ public String apply(String s) { }; // ⌃ enclosing_range_end local 7 System.out.println(fn.apply("a")); -// ^^^^^^ reference semanticdb maven jdk 11 java/lang/System# -// ^^^ reference semanticdb maven jdk 11 java/lang/System#out. -// ^^^^^^^ reference semanticdb maven jdk 11 java/io/PrintStream#println(+8). +// ^^^^^^ reference scip-java maven jdk 11 java/lang/System# +// ^^^ reference scip-java maven jdk 11 java/lang/System#out. +// ^^^^^^^ reference scip-java maven jdk 11 java/io/PrintStream#println(+8). // ^^ reference local 7 -// ^^^^^ reference semanticdb maven . . minimized/InnerClasses#InnerInterface#apply(). +// ^^^^^ reference scip-java maven . . minimized/InnerClasses#InnerInterface#apply(). } -// ⌃ enclosing_range_end semanticdb maven . . minimized/InnerClasses#testAnon(). +// ⌃ enclosing_range_end scip-java maven . . minimized/InnerClasses#testAnon(). -// ⌄ enclosing_range_start semanticdb maven . . minimized/InnerClasses#app(). +// ⌄ enclosing_range_start scip-java maven . . minimized/InnerClasses#app(). public static String app() { -// ^^^^^^ reference semanticdb maven jdk 11 java/lang/String# -// ^^^ definition semanticdb maven . . minimized/InnerClasses#app(). +// ^^^^^^ reference scip-java maven jdk 11 java/lang/String# +// ^^^ definition scip-java maven . . minimized/InnerClasses#app(). // display_name app // signature_documentation java public static String app() // kind StaticMethod @@ -422,53 +433,53 @@ public static String app() { // ^ definition local 11 // display_name a // signature_documentation java int a -// enclosing_symbol semanticdb maven . . minimized/InnerClasses#app(). +// enclosing_symbol scip-java maven . . minimized/InnerClasses#app(). // kind Variable // ⌃ enclosing_range_end local 11 InnerStaticClass.innerStaticMethod(); -// ^^^^^^^^^^^^^^^^ reference semanticdb maven . . minimized/InnerClasses#InnerStaticClass# -// ^^^^^^^^^^^^^^^^^ reference semanticdb maven . . minimized/InnerClasses#InnerStaticClass#innerStaticMethod(). +// ^^^^^^^^^^^^^^^^ reference scip-java maven . . minimized/InnerClasses#InnerStaticClass# +// ^^^^^^^^^^^^^^^^^ reference scip-java maven . . minimized/InnerClasses#InnerStaticClass#innerStaticMethod(). // ⌄ enclosing_range_start local 12 InnerClasses innerClasses = new InnerClasses(a); -// ^^^^^^^^^^^^ reference semanticdb maven . . minimized/InnerClasses# +// ^^^^^^^^^^^^ reference scip-java maven . . minimized/InnerClasses# // ^^^^^^^^^^^^ definition local 12 // display_name innerClasses // signature_documentation java InnerClasses innerClasses -// enclosing_symbol semanticdb maven . . minimized/InnerClasses#app(). +// enclosing_symbol scip-java maven . . minimized/InnerClasses#app(). // kind Variable -// ^^^^^^^^^^^^ reference semanticdb maven . . minimized/InnerClasses#``(). +// ^^^^^^^^^^^^ reference scip-java maven . . minimized/InnerClasses#``(). // ^ reference local 11 // ⌃ enclosing_range_end local 12 // ⌄ enclosing_range_start local 13 InnerClass innerClass = innerClasses.new InnerClass(a); -// ^^^^^^^^^^ reference semanticdb maven . . minimized/InnerClasses#InnerClass# +// ^^^^^^^^^^ reference scip-java maven . . minimized/InnerClasses#InnerClass# // ^^^^^^^^^^ definition local 13 // display_name innerClass // signature_documentation java InnerClass innerClass -// enclosing_symbol semanticdb maven . . minimized/InnerClasses#app(). +// enclosing_symbol scip-java maven . . minimized/InnerClasses#app(). // kind Variable // ^^^^^^^^^^^^ reference local 12 -// ^^^^^^^^^^ reference semanticdb maven . . minimized/InnerClasses#InnerClass#``(). +// ^^^^^^^^^^ reference scip-java maven . . minimized/InnerClasses#InnerClass#``(). // ^ reference local 11 // ⌃ enclosing_range_end local 13 innerClass.innerMethod(); // ^^^^^^^^^^ reference local 13 -// ^^^^^^^^^^^ reference semanticdb maven . . minimized/InnerClasses#InnerClass#innerMethod(). +// ^^^^^^^^^^^ reference scip-java maven . . minimized/InnerClasses#InnerClass#innerMethod(). System.out.println(runInnerInterface(innerClass, a)); -// ^^^^^^ reference semanticdb maven jdk 11 java/lang/System# -// ^^^ reference semanticdb maven jdk 11 java/lang/System#out. -// ^^^^^^^ reference semanticdb maven jdk 11 java/io/PrintStream#println(+9). -// ^^^^^^^^^^^^^^^^^ reference semanticdb maven . . minimized/InnerClasses#runInnerInterface(). +// ^^^^^^ reference scip-java maven jdk 11 java/lang/System# +// ^^^ reference scip-java maven jdk 11 java/lang/System#out. +// ^^^^^^^ reference scip-java maven jdk 11 java/io/PrintStream#println(+9). +// ^^^^^^^^^^^^^^^^^ reference scip-java maven . . minimized/InnerClasses#runInnerInterface(). // ^^^^^^^^^^ reference local 13 // ^ reference local 11 testEnum(InnerEnum.A); -// ^^^^^^^^ reference semanticdb maven . . minimized/InnerClasses#testEnum(). -// ^^^^^^^^^ reference semanticdb maven . . minimized/InnerClasses#InnerEnum# -// ^ reference semanticdb maven . . minimized/InnerClasses#InnerEnum#A. +// ^^^^^^^^ reference scip-java maven . . minimized/InnerClasses#testEnum(). +// ^^^^^^^^^ reference scip-java maven . . minimized/InnerClasses#InnerEnum# +// ^ reference scip-java maven . . minimized/InnerClasses#InnerEnum#A. testAnon(); -// ^^^^^^^^ reference semanticdb maven . . minimized/InnerClasses#testAnon(). +// ^^^^^^^^ reference scip-java maven . . minimized/InnerClasses#testAnon(). return ""; } -// ⌃ enclosing_range_end semanticdb maven . . minimized/InnerClasses#app(). +// ⌃ enclosing_range_end scip-java maven . . minimized/InnerClasses#app(). } -//⌃ enclosing_range_end semanticdb maven . . minimized/InnerClasses# +//⌃ enclosing_range_end scip-java maven . . minimized/InnerClasses# 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 544af797..a4ade209 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 @@ -1,83 +1,83 @@ package minimized; -//⌄ enclosing_range_start semanticdb maven . . minimized/Interfaces# +//⌄ enclosing_range_start scip-java maven . . minimized/Interfaces# public interface Interfaces { -// ^^^^^^^^^^ definition semanticdb maven . . minimized/Interfaces# +// ^^^^^^^^^^ definition scip-java maven . . minimized/Interfaces# // display_name Interfaces -// signature_documentation java public interface Interfaces +// signature_documentation java public abstract interface Interfaces // kind Interface -// ⌄ enclosing_range_start semanticdb maven . . minimized/Interfaces#staticInterfaceMethod(). +// ⌄ enclosing_range_start scip-java maven . . minimized/Interfaces#staticInterfaceMethod(). static void staticInterfaceMethod() {} -// ^^^^^^^^^^^^^^^^^^^^^ definition semanticdb maven . . minimized/Interfaces#staticInterfaceMethod(). +// ^^^^^^^^^^^^^^^^^^^^^ definition scip-java maven . . minimized/Interfaces#staticInterfaceMethod(). // display_name staticInterfaceMethod // signature_documentation java public static void staticInterfaceMethod() // kind StaticMethod -// ⌃ enclosing_range_end semanticdb maven . . minimized/Interfaces#staticInterfaceMethod(). +// ⌃ enclosing_range_end scip-java maven . . minimized/Interfaces#staticInterfaceMethod(). -// ⌄ enclosing_range_start semanticdb maven . . minimized/Interfaces#abstractInterfaceMethod(). +// ⌄ enclosing_range_start scip-java maven . . minimized/Interfaces#abstractInterfaceMethod(). String abstractInterfaceMethod(); -// ^^^^^^ reference semanticdb maven jdk 11 java/lang/String# -// ^^^^^^^^^^^^^^^^^^^^^^^ definition semanticdb maven . . minimized/Interfaces#abstractInterfaceMethod(). +// ^^^^^^ reference scip-java maven jdk 11 java/lang/String# +// ^^^^^^^^^^^^^^^^^^^^^^^ definition scip-java maven . . minimized/Interfaces#abstractInterfaceMethod(). // display_name abstractInterfaceMethod // signature_documentation java public abstract String abstractInterfaceMethod() // kind AbstractMethod -// relationship is_reference is_implementation semanticdb maven . . minimized/SubClasses#abstractInterfaceMethod(). -// ⌃ enclosing_range_end semanticdb maven . . minimized/Interfaces#abstractInterfaceMethod(). +// relationship is_reference is_implementation scip-java maven . . minimized/SubClasses#abstractInterfaceMethod(). +// ⌃ enclosing_range_end scip-java maven . . minimized/Interfaces#abstractInterfaceMethod(). -// ⌄ enclosing_range_start semanticdb maven . . minimized/Interfaces#defaultInterfaceMethod(). +// ⌄ enclosing_range_start scip-java maven . . minimized/Interfaces#defaultInterfaceMethod(). default String defaultInterfaceMethod() { -// ^^^^^^ reference semanticdb maven jdk 11 java/lang/String# -// ^^^^^^^^^^^^^^^^^^^^^^ definition semanticdb maven . . minimized/Interfaces#defaultInterfaceMethod(). +// ^^^^^^ reference scip-java maven jdk 11 java/lang/String# +// ^^^^^^^^^^^^^^^^^^^^^^ definition scip-java maven . . minimized/Interfaces#defaultInterfaceMethod(). // display_name defaultInterfaceMethod // signature_documentation java public default String defaultInterfaceMethod() // kind Method return "default"; } -// ⌃ enclosing_range_end semanticdb maven . . minimized/Interfaces#defaultInterfaceMethod(). +// ⌃ enclosing_range_end scip-java maven . . minimized/Interfaces#defaultInterfaceMethod(). } -//⌃ enclosing_range_end semanticdb maven . . minimized/Interfaces# +//⌃ enclosing_range_end scip-java maven . . minimized/Interfaces# -//⌄ enclosing_range_start semanticdb maven . . minimized/BookService# +//⌄ enclosing_range_start scip-java maven . . minimized/BookService# interface BookService { -// ^^^^^^^^^^^ definition semanticdb maven . . minimized/BookService# +// ^^^^^^^^^^^ definition scip-java maven . . minimized/BookService# // display_name BookService -// signature_documentation java interface BookService +// signature_documentation java abstract interface BookService // kind Interface -// ⌄ enclosing_range_start semanticdb maven . . minimized/BookService#checkPages(). +// ⌄ enclosing_range_start scip-java maven . . minimized/BookService#checkPages(). void checkPages(); -// ^^^^^^^^^^ definition semanticdb maven . . minimized/BookService#checkPages(). +// ^^^^^^^^^^ definition scip-java maven . . minimized/BookService#checkPages(). // display_name checkPages // signature_documentation java public abstract void checkPages() // kind AbstractMethod -// ⌃ enclosing_range_end semanticdb maven . . minimized/BookService#checkPages(). +// ⌃ enclosing_range_end scip-java maven . . minimized/BookService#checkPages(). } -//⌃ enclosing_range_end semanticdb maven . . minimized/BookService# +//⌃ enclosing_range_end scip-java maven . . minimized/BookService# -//⌄ enclosing_range_start semanticdb maven . . minimized/MyService# +//⌄ enclosing_range_start scip-java maven . . minimized/MyService# interface MyService { -// ^^^^^^^^^ definition semanticdb maven . . minimized/MyService# +// ^^^^^^^^^ definition scip-java maven . . minimized/MyService# // display_name MyService -// signature_documentation java interface MyService +// signature_documentation java abstract interface MyService // kind Interface -// ⌄ enclosing_range_start semanticdb maven . . minimized/MyService#bookService(). +// ⌄ enclosing_range_start scip-java maven . . minimized/MyService#bookService(). BookService bookService(); -// ^^^^^^^^^^^ reference semanticdb maven . . minimized/BookService# -// ^^^^^^^^^^^ definition semanticdb maven . . minimized/MyService#bookService(). +// ^^^^^^^^^^^ reference scip-java maven . . minimized/BookService# +// ^^^^^^^^^^^ definition scip-java maven . . minimized/MyService#bookService(). // display_name bookService // signature_documentation java public abstract BookService bookService() // kind AbstractMethod -// ⌃ enclosing_range_end semanticdb maven . . minimized/MyService#bookService(). +// ⌃ enclosing_range_end scip-java maven . . minimized/MyService#bookService(). -// ⌄ enclosing_range_start semanticdb maven . . minimized/MyService#example(). +// ⌄ enclosing_range_start scip-java maven . . minimized/MyService#example(). default void example() { -// ^^^^^^^ definition semanticdb maven . . minimized/MyService#example(). +// ^^^^^^^ definition scip-java maven . . minimized/MyService#example(). // display_name example // signature_documentation java public default void example() // kind Method bookService().checkPages(); -// ^^^^^^^^^^^ reference semanticdb maven . . minimized/MyService#bookService(). -// ^^^^^^^^^^ reference semanticdb maven . . minimized/BookService#checkPages(). +// ^^^^^^^^^^^ reference scip-java maven . . minimized/MyService#bookService(). +// ^^^^^^^^^^ reference scip-java maven . . minimized/BookService#checkPages(). } -// ⌃ enclosing_range_end semanticdb maven . . minimized/MyService#example(). +// ⌃ enclosing_range_end scip-java maven . . minimized/MyService#example(). } -//⌃ enclosing_range_end semanticdb maven . . minimized/MyService# +//⌃ enclosing_range_end scip-java maven . . minimized/MyService# 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 20e09be4..37279344 100644 --- a/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/LombokBuilder.java +++ b/tests/snapshots/src/main/generated/tests/minimized/src/main/java/minimized/LombokBuilder.java @@ -1,131 +1,99 @@ package minimized; -//⌄ enclosing_range_start semanticdb maven . . minimized/Hello#HelloBuilder#build(). -//⌄ enclosing_range_start semanticdb maven . . minimized/Hello#builder(). -//⌄ enclosing_range_start semanticdb maven . . minimized/Hello#HelloBuilder#toString(). -//⌄ enclosing_range_start semanticdb maven . . minimized/Hello#HelloBuilder# -//⌄ enclosing_range_start semanticdb maven . . minimized/Hello#HelloBuilder#``(). -//⌄ enclosing_range_start semanticdb maven . . minimized/Hello# -//⌄ enclosing_range_start semanticdb maven . . minimized/Hello#``(). +//⌄ enclosing_range_start scip-java maven . . minimized/Hello# +//⌄ enclosing_range_start scip-java maven . . minimized/Hello#``(). //⌄ enclosing_range_start local 0 -//⌄ enclosing_range_start semanticdb maven . . minimized/Hello#HelloBuilder#message. -//⌄ enclosing_range_start semanticdb maven . . minimized/Hello#HelloBuilder#message(). +//⌄ enclosing_range_start scip-java maven . . minimized/Hello#HelloBuilder# +//⌄ enclosing_range_start scip-java maven . . minimized/Hello#HelloBuilder#message. +//⌄ enclosing_range_start scip-java maven . . minimized/Hello#HelloBuilder#``(). +//⌄ enclosing_range_start scip-java maven . . minimized/Hello#HelloBuilder#message(). //⌄ enclosing_range_start local 1 +//⌄ enclosing_range_start scip-java maven . . minimized/Hello#HelloBuilder#build(). +//⌄ enclosing_range_start scip-java maven . . minimized/Hello#HelloBuilder#toString(). +//⌄ enclosing_range_start scip-java maven . . minimized/Hello#builder(). @lombok.Builder //^^^^^^^^^^^^^^^ reference local 0 //^^^^^^^^^^^^^^^ reference local 1 -//^^^^^^^^^^^^^^^ reference semanticdb maven . . java/ -//^^^^^^^^^^^^^^^ reference semanticdb maven . . java/ -//^^^^^^^^^^^^^^^ reference semanticdb maven . . java/ -//^^^^^^^^^^^^^^^ reference semanticdb maven . . java/ -//^^^^^^^^^^^^^^^ reference semanticdb maven . . java/ -//^^^^^^^^^^^^^^^ reference semanticdb maven . . java/ -//^^^^^^^^^^^^^^^ reference semanticdb maven . . java/ -//^^^^^^^^^^^^^^^ reference semanticdb maven . . java/ -//^^^^^^^^^^^^^^^ reference semanticdb maven . . java/ -//^^^^^^^^^^^^^^^ reference semanticdb maven . . java/ -//^^^^^^^^^^^^^^^ reference semanticdb maven . . java/lang/ -//^^^^^^^^^^^^^^^ reference semanticdb maven . . java/lang/ -//^^^^^^^^^^^^^^^ reference semanticdb maven . . java/lang/ -//^^^^^^^^^^^^^^^ reference semanticdb maven . . java/lang/ -//^^^^^^^^^^^^^^^ reference semanticdb maven . . java/lang/ -//^^^^^^^^^^^^^^^ reference semanticdb maven . . java/lang/ -//^^^^^^^^^^^^^^^ reference semanticdb maven . . java/lang/ -//^^^^^^^^^^^^^^^ reference semanticdb maven . . java/lang/ -//^^^^^^^^^^^^^^^ reference semanticdb maven . . java/lang/ -//^^^^^^^^^^^^^^^ reference semanticdb maven . . java/lang/ -//^^^^^^^^^^^^^^^ reference semanticdb maven . . minimized/Hello# -//^^^^^^^^^^^^^^^ reference semanticdb maven . . minimized/Hello# -//^^^^^^^^^^^^^^^ reference semanticdb maven . . minimized/Hello# -//^^^^^^^^^^^^^^^ reference semanticdb maven . . minimized/Hello#HelloBuilder# -//^^^^^^^^^^^^^^^ reference semanticdb maven . . minimized/Hello#HelloBuilder# -//^^^^^^^^^^^^^^^ reference semanticdb maven . . minimized/Hello#HelloBuilder#message. -//^^^^^^^^^^^^^^^ reference semanticdb maven . . minimized/Hello#HelloBuilder#message. -//^^^^^^^^^^^^^^^ reference semanticdb maven . . minimized/Hello#HelloBuilder#message. -//^^^^^^^^^^^^^^^ reference semanticdb maven . . minimized/Hello#message. -//^^^^^^^^^^^^^^^ reference semanticdb maven jdk 11 java/lang/Override# -//^^^^^^^^^^^^^^^ reference semanticdb maven jdk 11 java/lang/String# -//^^^^^^^^^^^^^^^ reference semanticdb maven jdk 11 java/lang/String# -//^^^^^^^^^^^^^^^ reference semanticdb maven jdk 11 java/lang/String# -//^^^^^^^^^^^^^^^ reference semanticdb maven jdk 11 java/lang/String# -//^^^^^^^^^^^^^^^ reference semanticdb maven jdk 11 java/lang/SuppressWarnings# -//^^^^^^^^^^^^^^^ reference semanticdb maven jdk 11 java/lang/SuppressWarnings# -//^^^^^^^^^^^^^^^ reference semanticdb maven jdk 11 java/lang/SuppressWarnings# -//^^^^^^^^^^^^^^^ reference semanticdb maven jdk 11 java/lang/SuppressWarnings# -//^^^^^^^^^^^^^^^ reference semanticdb maven jdk 11 java/lang/SuppressWarnings# -//^^^^^^^^^^^^^^^ reference semanticdb maven jdk 11 java/lang/SuppressWarnings# -//^^^^^^^^^^^^^^^ reference semanticdb maven jdk 11 java/lang/SuppressWarnings# -//^^^^^^^^^^^^^^^ reference semanticdb maven jdk 11 java/lang/SuppressWarnings# -//^^^^^^^^^^^^^^^ reference semanticdb maven jdk 11 java/lang/SuppressWarnings#value(). -//^^^^^^^^^^^^^^^ reference semanticdb maven jdk 11 java/lang/SuppressWarnings#value(). -// ^^^^^ reference semanticdb maven . . lombok/ -// ^^^^^^^ reference semanticdb maven . . lombok/Builder# -// definition semanticdb maven . . minimized/Hello#HelloBuilder#build(). 1:4 +//^^^^^^^^^^^^^^^ reference scip-java maven . . java/ +//^^^^^^^^^^^^^^^ reference scip-java maven . . java/lang/ +//^^^^^^^^^^^^^^^ reference scip-java maven . . minimized/Hello# +//^^^^^^^^^^^^^^^ reference scip-java maven . . minimized/Hello#HelloBuilder# +//^^^^^^^^^^^^^^^ reference scip-java maven . . minimized/Hello#HelloBuilder#message. +//^^^^^^^^^^^^^^^ reference scip-java maven . . minimized/Hello#message. +//^^^^^^^^^^^^^^^ reference scip-java maven jdk 11 java/lang/Override# +//^^^^^^^^^^^^^^^ reference scip-java maven jdk 11 java/lang/String# +//^^^^^^^^^^^^^^^ reference scip-java maven jdk 11 java/lang/SuppressWarnings# +//^^^^^^^^^^^^^^^ reference scip-java maven jdk 11 java/lang/SuppressWarnings#value(). +// ^^^^^ reference scip-java maven . . lombok/ +// ^^^^^^^ reference scip-java maven . . lombok/Builder# +// definition scip-java maven . . minimized/Hello#HelloBuilder#build(). 1:4 // display_name build -// signature_documentation java @SuppressWarnings("all")\npublic Hello build() +// signature_documentation java @SuppressWarnings\npublic Hello build() // kind Method -// definition semanticdb maven . . minimized/Hello#builder(). 1:6 +// definition scip-java maven . . minimized/Hello#builder(). 1:6 // display_name builder -// signature_documentation java @SuppressWarnings("all")\npublic static HelloBuilder builder() +// signature_documentation java @SuppressWarnings\npublic static HelloBuilder builder() // kind StaticMethod -// definition semanticdb maven . . minimized/Hello#HelloBuilder#toString(). 1:7 +// definition scip-java maven . . minimized/Hello#HelloBuilder#toString(). 1:7 // display_name toString -// signature_documentation java @Override\n@SuppressWarnings("all")\npublic String toString() +// signature_documentation java @Override\n@SuppressWarnings\npublic String toString() // kind Method -// relationship is_reference is_implementation semanticdb maven jdk 11 java/lang/Object#toString(). -// definition semanticdb maven . . minimized/Hello#HelloBuilder# 1:11 +// relationship is_reference is_implementation scip-java maven jdk 11 java/lang/Object#toString(). +// definition scip-java maven . . minimized/Hello#HelloBuilder# 1:11 // display_name HelloBuilder -// signature_documentation java @SuppressWarnings("all")\npublic static class HelloBuilder +// signature_documentation java @SuppressWarnings\npublic static class HelloBuilder // kind Class -// definition semanticdb maven . . minimized/Hello#HelloBuilder#``(). 1:11 +// definition scip-java maven . . minimized/Hello#HelloBuilder#``(). 1:11 // display_name -// signature_documentation java @SuppressWarnings("all")\nHelloBuilder() +// signature_documentation java @SuppressWarnings\nHelloBuilder() // kind Constructor -// reference semanticdb maven . . minimized/Hello#HelloBuilder#``(). 1:11 -// ⌃ enclosing_range_end semanticdb maven . . minimized/Hello#HelloBuilder#build(). -// ⌃ enclosing_range_end semanticdb maven . . minimized/Hello#builder(). -// ⌃ enclosing_range_end semanticdb maven . . minimized/Hello#HelloBuilder#toString(). -// ⌃ enclosing_range_end semanticdb maven . . minimized/Hello#HelloBuilder# -// ⌃ enclosing_range_end semanticdb maven . . minimized/Hello#HelloBuilder#``(). -// ⌃ enclosing_range_end semanticdb maven . . minimized/Hello#``(). +// reference scip-java maven . . minimized/Hello#HelloBuilder#``(). 1:11 +// ⌃ enclosing_range_end scip-java maven . . minimized/Hello#``(). // ⌃ enclosing_range_end local 0 -// ⌃ enclosing_range_end semanticdb maven . . minimized/Hello#HelloBuilder#message. -// ⌃ enclosing_range_end semanticdb maven . . minimized/Hello#HelloBuilder#message(). +// ⌃ enclosing_range_end scip-java maven . . minimized/Hello#HelloBuilder# +// ⌃ enclosing_range_end scip-java maven . . minimized/Hello#HelloBuilder#message. +// ⌃ enclosing_range_end scip-java maven . . minimized/Hello#HelloBuilder#``(). +// ⌃ enclosing_range_end scip-java maven . . minimized/Hello#HelloBuilder#message(). // ⌃ enclosing_range_end local 1 +// ⌃ enclosing_range_end scip-java maven . . minimized/Hello#HelloBuilder#build(). +// ⌃ enclosing_range_end scip-java maven . . minimized/Hello#HelloBuilder#toString(). +// ⌃ enclosing_range_end scip-java maven . . minimized/Hello#builder(). class Hello { -// ^^^^^ definition semanticdb maven . . minimized/Hello# +// ^^^^^ definition scip-java maven . . minimized/Hello# // display_name Hello // signature_documentation java @Builder\nclass Hello // kind Class -// ^^^^^ definition semanticdb maven . . minimized/Hello#``(). +// ^^^^^ definition scip-java maven . . minimized/Hello#``(). // display_name -// signature_documentation java @SuppressWarnings("all")\nHello(String message) +// signature_documentation java @SuppressWarnings\nHello(String message) // kind Constructor -// ^^^^^ reference semanticdb maven . . minimized/Hello#``(). -// ⌄ enclosing_range_start semanticdb maven . . minimized/Hello#message. +// ^^^^^ reference scip-java maven . . minimized/Hello#``(). +// ⌄ enclosing_range_start scip-java maven . . minimized/Hello#message. private String message; -// ^^^^^^ reference semanticdb maven jdk 11 java/lang/String# +// ^^^^^^ reference scip-java maven jdk 11 java/lang/String# // ^^^^^^^ definition local 0 // display_name message // signature_documentation java final String message -// enclosing_symbol semanticdb maven . . minimized/Hello#``(). +// enclosing_symbol scip-java maven . . minimized/Hello#``(). +// kind Parameter // ^^^^^^^ definition local 1 // display_name message // signature_documentation java final String message -// enclosing_symbol semanticdb maven . . minimized/Hello#HelloBuilder#message(). -// ^^^^^^^ definition semanticdb maven . . minimized/Hello#HelloBuilder#message(). +// enclosing_symbol scip-java maven . . minimized/Hello#HelloBuilder#message(). +// kind Parameter +// ^^^^^^^ definition scip-java maven . . minimized/Hello#HelloBuilder#message(). // display_name message -// signature_documentation java @SuppressWarnings("all")\npublic HelloBuilder message(String message) +// signature_documentation java @SuppressWarnings\npublic HelloBuilder message(String message) // kind Method // documentation @return {@code this}. -// ^^^^^^^ definition semanticdb maven . . minimized/Hello#HelloBuilder#message. +// ^^^^^^^ definition scip-java maven . . minimized/Hello#HelloBuilder#message. // display_name message -// signature_documentation java @SuppressWarnings("all")\nprivate String message +// signature_documentation java @SuppressWarnings\nprivate String message // kind Field -// ^^^^^^^ definition semanticdb maven . . minimized/Hello#message. +// ^^^^^^^ definition scip-java maven . . minimized/Hello#message. // display_name message // signature_documentation java private String message // kind Field -// ⌃ enclosing_range_end semanticdb maven . . minimized/Hello#message. +// ⌃ enclosing_range_end scip-java maven . . minimized/Hello#message. } -//⌃ enclosing_range_end semanticdb maven . . minimized/Hello# +//⌃ enclosing_range_end scip-java maven . . minimized/Hello# 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 a7c2528a..ec5bfefa 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 @@ -1,138 +1,144 @@ package minimized; -//⌄ enclosing_range_start semanticdb maven . . minimized/Methods# +//⌄ enclosing_range_start scip-java maven . . minimized/Methods# public class Methods { -// ^^^^^^^ definition semanticdb maven . . minimized/Methods# +// ^^^^^^^ definition scip-java maven . . minimized/Methods# // display_name Methods // signature_documentation java public class Methods // kind Class -// ^^^^^^^ definition semanticdb maven . . minimized/Methods#``(). +// ^^^^^^^ definition scip-java maven . . minimized/Methods#``(). // display_name // signature_documentation java public Methods() // kind Constructor -// ⌄ enclosing_range_start semanticdb maven . . minimized/Methods#overload(). +// ⌄ enclosing_range_start scip-java maven . . minimized/Methods#overload(). // ⌄ enclosing_range_start local 0 private int overload(int value) { -// ^^^^^^^^ definition semanticdb maven . . minimized/Methods#overload(). +// ^^^^^^^^ definition scip-java maven . . minimized/Methods#overload(). // display_name overload // signature_documentation java private int overload(int value) // kind Method // ^^^^^ definition local 0 // display_name value // signature_documentation java int value -// enclosing_symbol semanticdb maven . . minimized/Methods#overload(). +// enclosing_symbol scip-java maven . . minimized/Methods#overload(). +// kind Parameter // ⌃ enclosing_range_end local 0 return value + 1; // ^^^^^ reference local 0 } -// ⌃ enclosing_range_end semanticdb maven . . minimized/Methods#overload(). +// ⌃ enclosing_range_end scip-java maven . . minimized/Methods#overload(). -// ⌄ enclosing_range_start semanticdb maven . . minimized/Methods#overload(+1). +// ⌄ enclosing_range_start scip-java maven . . minimized/Methods#overload(+1). // ⌄ enclosing_range_start local 1 private String overload(String value) { -// ^^^^^^ reference semanticdb maven jdk 11 java/lang/String# -// ^^^^^^^^ definition semanticdb maven . . minimized/Methods#overload(+1). +// ^^^^^^ reference scip-java maven jdk 11 java/lang/String# +// ^^^^^^^^ definition scip-java maven . . minimized/Methods#overload(+1). // display_name overload // signature_documentation java private String overload(String value) // kind Method -// ^^^^^^ reference semanticdb maven jdk 11 java/lang/String# +// ^^^^^^ reference scip-java 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_symbol scip-java maven . . minimized/Methods#overload(+1). +// kind Parameter // ⌃ enclosing_range_end local 1 return value + "1"; // ^^^^^ reference local 1 } -// ⌃ enclosing_range_end semanticdb maven . . minimized/Methods#overload(+1). +// ⌃ enclosing_range_end scip-java maven . . minimized/Methods#overload(+1). -// ⌄ enclosing_range_start semanticdb maven . . minimized/Methods#staticOverload(). +// ⌄ enclosing_range_start scip-java maven . . minimized/Methods#staticOverload(). // ⌄ enclosing_range_start local 2 private static int staticOverload(int value) { -// ^^^^^^^^^^^^^^ definition semanticdb maven . . minimized/Methods#staticOverload(). +// ^^^^^^^^^^^^^^ definition scip-java maven . . minimized/Methods#staticOverload(). // display_name staticOverload // signature_documentation java private static int staticOverload(int value) // kind StaticMethod // ^^^^^ definition local 2 // display_name value // signature_documentation java int value -// enclosing_symbol semanticdb maven . . minimized/Methods#staticOverload(). +// enclosing_symbol scip-java maven . . minimized/Methods#staticOverload(). +// kind Parameter // ⌃ enclosing_range_end local 2 return value + 1; // ^^^^^ reference local 2 } -// ⌃ enclosing_range_end semanticdb maven . . minimized/Methods#staticOverload(). +// ⌃ enclosing_range_end scip-java maven . . minimized/Methods#staticOverload(). -// ⌄ enclosing_range_start semanticdb maven . . minimized/Methods#staticOverload(+1). +// ⌄ enclosing_range_start scip-java maven . . minimized/Methods#staticOverload(+1). // ⌄ enclosing_range_start local 3 private static String staticOverload(String value) { -// ^^^^^^ reference semanticdb maven jdk 11 java/lang/String# -// ^^^^^^^^^^^^^^ definition semanticdb maven . . minimized/Methods#staticOverload(+1). +// ^^^^^^ reference scip-java maven jdk 11 java/lang/String# +// ^^^^^^^^^^^^^^ definition scip-java maven . . minimized/Methods#staticOverload(+1). // display_name staticOverload // signature_documentation java private static String staticOverload(String value) // kind StaticMethod -// ^^^^^^ reference semanticdb maven jdk 11 java/lang/String# +// ^^^^^^ reference scip-java 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_symbol scip-java maven . . minimized/Methods#staticOverload(+1). +// kind Parameter // ⌃ enclosing_range_end local 3 return value + "1"; // ^^^^^ reference local 3 } -// ⌃ enclosing_range_end semanticdb maven . . minimized/Methods#staticOverload(+1). +// ⌃ enclosing_range_end scip-java maven . . minimized/Methods#staticOverload(+1). -// ⌄ enclosing_range_start semanticdb maven . . minimized/Methods#app(). +// ⌄ enclosing_range_start scip-java maven . . minimized/Methods#app(). // ⌄ enclosing_range_start local 4 // ⌄ enclosing_range_start local 5 public static String app(int n, String m) throws RuntimeException, IndexOutOfBoundsException { -// ^^^^^^ reference semanticdb maven jdk 11 java/lang/String# -// ^^^ definition semanticdb maven . . minimized/Methods#app(). +// ^^^^^^ reference scip-java maven jdk 11 java/lang/String# +// ^^^ definition scip-java maven . . minimized/Methods#app(). // display_name app // signature_documentation java public static String app(int n, String m) throws RuntimeException, IndexOutOfBoundsException // kind StaticMethod // ^ definition local 4 // display_name n // signature_documentation java int n -// enclosing_symbol semanticdb maven . . minimized/Methods#app(). -// ^^^^^^ reference semanticdb maven jdk 11 java/lang/String# +// enclosing_symbol scip-java maven . . minimized/Methods#app(). +// kind Parameter +// ^^^^^^ reference scip-java maven jdk 11 java/lang/String# // ^ definition local 5 // display_name m // signature_documentation java String m -// enclosing_symbol semanticdb maven . . minimized/Methods#app(). -// ^^^^^^^^^^^^^^^^ reference semanticdb maven jdk 11 java/lang/RuntimeException# -// ^^^^^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven jdk 11 java/lang/IndexOutOfBoundsException# +// enclosing_symbol scip-java maven . . minimized/Methods#app(). +// kind Parameter +// ^^^^^^^^^^^^^^^^ reference scip-java maven jdk 11 java/lang/RuntimeException# +// ^^^^^^^^^^^^^^^^^^^^^^^^^ reference scip-java maven jdk 11 java/lang/IndexOutOfBoundsException# // ⌃ enclosing_range_end local 4 // ⌃ enclosing_range_end local 5 // ⌄ enclosing_range_start local 6 Methods methods = new Methods(); -// ^^^^^^^ reference semanticdb maven . . minimized/Methods# +// ^^^^^^^ reference scip-java maven . . minimized/Methods# // ^^^^^^^ definition local 6 // display_name methods // signature_documentation java Methods methods -// enclosing_symbol semanticdb maven . . minimized/Methods#app(). +// enclosing_symbol scip-java maven . . minimized/Methods#app(). // kind Variable -// ^^^^^^^ reference semanticdb maven . . minimized/Methods#``(). +// ^^^^^^^ reference scip-java maven . . minimized/Methods#``(). // ⌃ enclosing_range_end local 6 // ⌄ enclosing_range_start local 7 int a = staticOverload(n); // ^ definition local 7 // display_name a // signature_documentation java int a -// enclosing_symbol semanticdb maven . . minimized/Methods#app(). +// enclosing_symbol scip-java maven . . minimized/Methods#app(). // kind Variable -// ^^^^^^^^^^^^^^ reference semanticdb maven . . minimized/Methods#staticOverload(). +// ^^^^^^^^^^^^^^ reference scip-java maven . . minimized/Methods#staticOverload(). // ^ reference local 4 // ⌃ enclosing_range_end local 7 // ⌄ enclosing_range_start local 8 String b = staticOverload(m); -// ^^^^^^ reference semanticdb maven jdk 11 java/lang/String# +// ^^^^^^ reference scip-java maven jdk 11 java/lang/String# // ^ definition local 8 // display_name b // signature_documentation java String b -// enclosing_symbol semanticdb maven . . minimized/Methods#app(). +// enclosing_symbol scip-java maven . . minimized/Methods#app(). // kind Variable -// ^^^^^^^^^^^^^^ reference semanticdb maven . . minimized/Methods#staticOverload(+1). +// ^^^^^^^^^^^^^^ reference scip-java maven . . minimized/Methods#staticOverload(+1). // ^ reference local 5 // ⌃ enclosing_range_end local 8 // ⌄ enclosing_range_start local 9 @@ -140,22 +146,22 @@ public static String app(int n, String m) throws RuntimeException, IndexOutOfBou // ^ definition local 9 // display_name c // signature_documentation java int c -// enclosing_symbol semanticdb maven . . minimized/Methods#app(). +// enclosing_symbol scip-java maven . . minimized/Methods#app(). // kind Variable // ^^^^^^^ reference local 6 -// ^^^^^^^^ reference semanticdb maven . . minimized/Methods#overload(). +// ^^^^^^^^ reference scip-java maven . . minimized/Methods#overload(). // ^ reference local 4 // ⌃ enclosing_range_end local 9 // ⌄ enclosing_range_start local 10 String d = methods.overload(m); -// ^^^^^^ reference semanticdb maven jdk 11 java/lang/String# +// ^^^^^^ reference scip-java maven jdk 11 java/lang/String# // ^ definition local 10 // display_name d // signature_documentation java String d -// enclosing_symbol semanticdb maven . . minimized/Methods#app(). +// enclosing_symbol scip-java maven . . minimized/Methods#app(). // kind Variable // ^^^^^^^ reference local 6 -// ^^^^^^^^ reference semanticdb maven . . minimized/Methods#overload(+1). +// ^^^^^^^^ reference scip-java maven . . minimized/Methods#overload(+1). // ^ reference local 5 // ⌃ enclosing_range_end local 10 return b + a + c + d; @@ -164,6 +170,6 @@ public static String app(int n, String m) throws RuntimeException, IndexOutOfBou // ^ reference local 9 // ^ reference local 10 } -// ⌃ enclosing_range_end semanticdb maven . . minimized/Methods#app(). +// ⌃ enclosing_range_end scip-java maven . . minimized/Methods#app(). } -//⌃ enclosing_range_end semanticdb maven . . minimized/Methods# +//⌃ enclosing_range_end scip-java maven . . minimized/Methods# 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 c6d47949..bcb98b32 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 @@ -1,81 +1,82 @@ package minimized; -//⌄ enclosing_range_start semanticdb maven . . minimized/MinimizedJavaMain# +//⌄ enclosing_range_start scip-java maven . . minimized/MinimizedJavaMain# @Annotations(value = "value", format = "format") -// ^^^^^^^^^^ reference semanticdb maven . . minimized/Annotations# -// ^^^^^ reference semanticdb maven . . minimized/Annotations#value(). -// ^^^^^^ reference semanticdb maven . . minimized/Annotations#format(). +// ^^^^^^^^^^ reference scip-java maven . . minimized/Annotations# +// ^^^^^ reference scip-java maven . . minimized/Annotations#value(). +// ^^^^^^ reference scip-java maven . . minimized/Annotations#format(). public class MinimizedJavaMain { -// ^^^^^^^^^^^^^^^^^ definition semanticdb maven . . minimized/MinimizedJavaMain# +// ^^^^^^^^^^^^^^^^^ definition scip-java maven . . minimized/MinimizedJavaMain# // display_name MinimizedJavaMain -// signature_documentation java @Annotations(value = "value", format = "format")\npublic class MinimizedJavaMain +// signature_documentation java @Annotations\npublic class MinimizedJavaMain // kind Class -// ^^^^^^^^^^^^^^^^^ definition semanticdb maven . . minimized/MinimizedJavaMain#``(). +// ^^^^^^^^^^^^^^^^^ definition scip-java maven . . minimized/MinimizedJavaMain#``(). // display_name // signature_documentation java public MinimizedJavaMain() // kind Constructor -// ⌄ enclosing_range_start semanticdb maven . . minimized/MinimizedJavaMain#main(). +// ⌄ enclosing_range_start scip-java maven . . minimized/MinimizedJavaMain#main(). // ⌄ enclosing_range_start local 0 public static void main(String[] args) { -// ^^^^ definition semanticdb maven . . minimized/MinimizedJavaMain#main(). +// ^^^^ definition scip-java maven . . minimized/MinimizedJavaMain#main(). // display_name main // signature_documentation java public static void main(String[] args) // kind StaticMethod -// ^^^^^^ reference semanticdb maven jdk 11 java/lang/String# +// ^^^^^^ reference scip-java 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_symbol scip-java maven . . minimized/MinimizedJavaMain#main(). +// kind Parameter // ⌃ enclosing_range_end local 0 TypeVariables.app(new TypeVariables.CT()); -// ^^^^^^^^^^^^^ reference semanticdb maven . . minimized/TypeVariables# -// ^^^ reference semanticdb maven . . minimized/TypeVariables#app(). -// ^^^^^^^^^^^^^ reference semanticdb maven . . minimized/TypeVariables# -// ^^ reference semanticdb maven . . minimized/TypeVariables#CT#``(). +// ^^^^^^^^^^^^^ reference scip-java maven . . minimized/TypeVariables# +// ^^^ reference scip-java maven . . minimized/TypeVariables#app(). +// ^^^^^^^^^^^^^ reference scip-java maven . . minimized/TypeVariables# +// ^^ reference scip-java maven . . minimized/TypeVariables#CT#``(). System.out.println( -// ^^^^^^ reference semanticdb maven jdk 11 java/lang/System# -// ^^^ reference semanticdb maven jdk 11 java/lang/System#out. -// ^^^^^^^ reference semanticdb maven jdk 11 java/io/PrintStream#println(+8). +// ^^^^^^ reference scip-java maven jdk 11 java/lang/System# +// ^^^ reference scip-java maven jdk 11 java/lang/System#out. +// ^^^^^^^ reference scip-java maven jdk 11 java/io/PrintStream#println(+8). Methods.app(42, "42") -// ^^^^^^^ reference semanticdb maven . . minimized/Methods# -// ^^^ reference semanticdb maven . . minimized/Methods#app(). +// ^^^^^^^ reference scip-java maven . . minimized/Methods# +// ^^^ reference scip-java maven . . minimized/Methods#app(). + Enums.app() -// ^^^^^ reference semanticdb maven . . minimized/Enums# -// ^^^ reference semanticdb maven . . minimized/Enums#app(). +// ^^^^^ reference scip-java maven . . minimized/Enums# +// ^^^ reference scip-java maven . . minimized/Enums#app(). + Docstrings.app() -// ^^^^^^^^^^ reference semanticdb maven . . minimized/Docstrings# -// ^^^ reference semanticdb maven . . minimized/Docstrings#app(). +// ^^^^^^^^^^ reference scip-java maven . . minimized/Docstrings# +// ^^^ reference scip-java maven . . minimized/Docstrings#app(). + InnerClasses.app() -// ^^^^^^^^^^^^ reference semanticdb maven . . minimized/InnerClasses# -// ^^^ reference semanticdb maven . . minimized/InnerClasses#app(). +// ^^^^^^^^^^^^ reference scip-java maven . . minimized/InnerClasses# +// ^^^ reference scip-java maven . . minimized/InnerClasses#app(). + ForComprehensions.app(42) -// ^^^^^^^^^^^^^^^^^ reference semanticdb maven . . minimized/ForComprehensions# -// ^^^ reference semanticdb maven . . minimized/ForComprehensions#app(). +// ^^^^^^^^^^^^^^^^^ reference scip-java maven . . minimized/ForComprehensions# +// ^^^ reference scip-java maven . . minimized/ForComprehensions#app(). + AnonymousClasses.app(42) -// ^^^^^^^^^^^^^^^^ reference semanticdb maven . . minimized/AnonymousClasses# -// ^^^ reference semanticdb maven . . minimized/AnonymousClasses#app(). +// ^^^^^^^^^^^^^^^^ reference scip-java maven . . minimized/AnonymousClasses# +// ^^^ reference scip-java maven . . minimized/AnonymousClasses#app(). + Primitives.app() -// ^^^^^^^^^^ reference semanticdb maven . . minimized/Primitives# -// ^^^ reference semanticdb maven . . minimized/Primitives#app(). +// ^^^^^^^^^^ reference scip-java maven . . minimized/Primitives# +// ^^^ reference scip-java maven . . minimized/Primitives#app(). + new ParameterizedTypes().app(42, "42") -// ^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . minimized/ParameterizedTypes#``(). -// ^^^^^^^ reference semanticdb maven jdk 11 java/lang/Integer# -// ^^^^^^ reference semanticdb maven jdk 11 java/lang/String# -// ^^^ reference semanticdb maven . . minimized/ParameterizedTypes#app(). +// ^^^^^^^^^^^^^^^^^^ reference scip-java maven . . minimized/ParameterizedTypes#``(). +// ^^^^^^^ reference scip-java maven jdk 11 java/lang/Integer# +// ^^^^^^ reference scip-java maven jdk 11 java/lang/String# +// ^^^ reference scip-java maven . . minimized/ParameterizedTypes#app(). + RawTypes.x.toString() -// ^^^^^^^^ reference semanticdb maven . . minimized/RawTypes# -// ^ reference semanticdb maven . . minimized/RawTypes#x. -// ^^^^^^^^ reference semanticdb maven jdk 11 java/lang/Object#toString(). +// ^^^^^^^^ reference scip-java maven . . minimized/RawTypes# +// ^ reference scip-java maven . . minimized/RawTypes#x. +// ^^^^^^^^ reference scip-java maven jdk 11 java/lang/Object#toString(). + ClassOf.app() -// ^^^^^^^ reference semanticdb maven . . minimized/ClassOf# -// ^^^ reference semanticdb maven . . minimized/ClassOf#app(). +// ^^^^^^^ reference scip-java maven . . minimized/ClassOf# +// ^^^ reference scip-java maven . . minimized/ClassOf#app(). + SubClasses.app() -// ^^^^^^^^^^ reference semanticdb maven . . minimized/SubClasses# -// ^^^ reference semanticdb maven . . minimized/SubClasses#app(). +// ^^^^^^^^^^ reference scip-java maven . . minimized/SubClasses# +// ^^^ reference scip-java maven . . minimized/SubClasses#app(). + Fields.app()); -// ^^^^^^ reference semanticdb maven . . minimized/Fields# -// ^^^ reference semanticdb maven . . minimized/Fields#app(). +// ^^^^^^ reference scip-java maven . . minimized/Fields# +// ^^^ reference scip-java maven . . minimized/Fields#app(). } -// ⌃ enclosing_range_end semanticdb maven . . minimized/MinimizedJavaMain#main(). +// ⌃ enclosing_range_end scip-java maven . . minimized/MinimizedJavaMain#main(). } -//⌃ enclosing_range_end semanticdb maven . . minimized/MinimizedJavaMain# +//⌃ enclosing_range_end scip-java maven . . minimized/MinimizedJavaMain# 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 1dbe55c0..27a2254c 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 @@ -1,155 +1,158 @@ package minimized; import java.util.HashMap; -// ^^^^ reference semanticdb maven . . java/ -// ^^^^ reference semanticdb maven . . java/util/ -// ^^^^^^^ reference semanticdb maven jdk 11 java/util/HashMap# +// ^^^^ reference scip-java maven . . java/ +// ^^^^ reference scip-java maven . . java/util/ +// ^^^^^^^ reference scip-java maven jdk 11 java/util/HashMap# import java.util.Iterator; -// ^^^^ reference semanticdb maven . . java/ -// ^^^^ reference semanticdb maven . . java/util/ -// ^^^^^^^^ reference semanticdb maven jdk 11 java/util/Iterator# +// ^^^^ reference scip-java maven . . java/ +// ^^^^ reference scip-java maven . . java/util/ +// ^^^^^^^^ reference scip-java maven jdk 11 java/util/Iterator# import java.util.List; -// ^^^^ reference semanticdb maven . . java/ -// ^^^^ reference semanticdb maven . . java/util/ -// ^^^^ reference semanticdb maven jdk 11 java/util/List# +// ^^^^ reference scip-java maven . . java/ +// ^^^^ reference scip-java maven . . java/util/ +// ^^^^ reference scip-java maven jdk 11 java/util/List# import java.util.Map; -// ^^^^ reference semanticdb maven . . java/ -// ^^^^ reference semanticdb maven . . java/util/ -// ^^^ reference semanticdb maven jdk 11 java/util/Map# +// ^^^^ reference scip-java maven . . java/ +// ^^^^ reference scip-java maven . . java/util/ +// ^^^ reference scip-java maven jdk 11 java/util/Map# -//⌄ enclosing_range_start semanticdb maven . . minimized/ParameterizedTypes# -//⌄ enclosing_range_start semanticdb maven . . minimized/ParameterizedTypes#[A] -//⌄ enclosing_range_start semanticdb maven . . minimized/ParameterizedTypes#[B] +//⌄ enclosing_range_start scip-java maven . . minimized/ParameterizedTypes# +//⌄ enclosing_range_start scip-java maven . . minimized/ParameterizedTypes#[A] +//⌄ enclosing_range_start scip-java maven . . minimized/ParameterizedTypes#[B] public class ParameterizedTypes { -// ^^^^^^^^^^^^^^^^^^ definition semanticdb maven . . minimized/ParameterizedTypes# +// ^^^^^^^^^^^^^^^^^^ definition scip-java maven . . minimized/ParameterizedTypes# // display_name ParameterizedTypes // signature_documentation java public class ParameterizedTypes // kind Class -// ^^^^^^^^^^^^^^^^^^ definition semanticdb maven . . minimized/ParameterizedTypes#``(). +// ^^^^^^^^^^^^^^^^^^ definition scip-java maven . . minimized/ParameterizedTypes#``(). // display_name // signature_documentation java public ParameterizedTypes() // kind Constructor -// ^ definition semanticdb maven . . minimized/ParameterizedTypes#[A] +// ^ definition scip-java maven . . minimized/ParameterizedTypes#[A] // display_name A // signature_documentation java A // kind TypeParameter -// ^ definition semanticdb maven . . minimized/ParameterizedTypes#[B] +// ^ definition scip-java maven . . minimized/ParameterizedTypes#[B] // display_name B // signature_documentation java B extends String // kind TypeParameter -// ^^^^^^ reference semanticdb maven jdk 11 java/lang/String# -// ⌄ enclosing_range_start semanticdb maven . . minimized/ParameterizedTypes#iteratorable().[T] -// ⌄ enclosing_range_start semanticdb maven . . minimized/ParameterizedTypes#iteratorable(). +// ^^^^^^ reference scip-java maven jdk 11 java/lang/String# +// ⌄ enclosing_range_start scip-java maven . . minimized/ParameterizedTypes#iteratorable(). +// ⌄ enclosing_range_start scip-java maven . . minimized/ParameterizedTypes#iteratorable().[T] // ⌄ enclosing_range_start local 0 public & Iterator> void iteratorable(List list) {} -// ^ definition semanticdb maven . . minimized/ParameterizedTypes#iteratorable().[T] +// ^ definition scip-java maven . . minimized/ParameterizedTypes#iteratorable().[T] // display_name T // signature_documentation java T extends Iterable & Iterator // kind TypeParameter -// ^^^^^^^^ reference semanticdb maven jdk 11 java/lang/Iterable# -// ^ reference semanticdb maven . . minimized/ParameterizedTypes#[A] -// ^^^^^^^^ reference semanticdb maven jdk 11 java/util/Iterator# -// ^ reference semanticdb maven . . minimized/ParameterizedTypes#[B] -// ^^^^^^^^^^^^ definition semanticdb maven . . minimized/ParameterizedTypes#iteratorable(). +// ^^^^^^^^ reference scip-java maven jdk 11 java/lang/Iterable# +// ^ reference scip-java maven . . minimized/ParameterizedTypes#[A] +// ^^^^^^^^ reference scip-java maven jdk 11 java/util/Iterator# +// ^ reference scip-java maven . . minimized/ParameterizedTypes#[B] +// ^^^^^^^^^^^^ definition scip-java maven . . minimized/ParameterizedTypes#iteratorable(). // display_name iteratorable // signature_documentation java public & Iterator> void iteratorable(List list) // kind Method -// ^^^^ reference semanticdb maven jdk 11 java/util/List# -// ^ reference semanticdb maven . . minimized/ParameterizedTypes#iteratorable().[T] +// ^^^^ reference scip-java maven jdk 11 java/util/List# +// ^ reference scip-java maven . . minimized/ParameterizedTypes#iteratorable().[T] // ^^^^ definition local 0 // display_name list // signature_documentation java List list -// enclosing_symbol semanticdb maven . . minimized/ParameterizedTypes#iteratorable(). +// enclosing_symbol scip-java maven . . minimized/ParameterizedTypes#iteratorable(). +// kind Parameter // ⌃ enclosing_range_end local 0 -// ⌃ enclosing_range_end semanticdb maven . . minimized/ParameterizedTypes#iteratorable().[T] -// ⌃ enclosing_range_end semanticdb maven . . minimized/ParameterizedTypes#iteratorable(). +// ⌃ enclosing_range_end scip-java maven . . minimized/ParameterizedTypes#iteratorable(). +// ⌃ enclosing_range_end scip-java maven . . minimized/ParameterizedTypes#iteratorable().[T] -// ⌄ enclosing_range_start semanticdb maven . . minimized/ParameterizedTypes#app(). +// ⌄ enclosing_range_start scip-java maven . . minimized/ParameterizedTypes#app(). // ⌄ enclosing_range_start local 1 // ⌄ enclosing_range_start local 2 public String app(A a, B b) { -// ^^^^^^ reference semanticdb maven jdk 11 java/lang/String# -// ^^^ definition semanticdb maven . . minimized/ParameterizedTypes#app(). +// ^^^^^^ reference scip-java maven jdk 11 java/lang/String# +// ^^^ definition scip-java maven . . minimized/ParameterizedTypes#app(). // display_name app // signature_documentation java public String app(A a, B b) // kind Method -// ^ reference semanticdb maven . . minimized/ParameterizedTypes#[A] +// ^ reference scip-java maven . . minimized/ParameterizedTypes#[A] // ^ definition local 1 // display_name a // signature_documentation java A a -// enclosing_symbol semanticdb maven . . minimized/ParameterizedTypes#app(). -// ^ reference semanticdb maven . . minimized/ParameterizedTypes#[B] +// enclosing_symbol scip-java maven . . minimized/ParameterizedTypes#app(). +// kind Parameter +// ^ reference scip-java maven . . minimized/ParameterizedTypes#[B] // ^ definition local 2 // display_name b // signature_documentation java B b -// enclosing_symbol semanticdb maven . . minimized/ParameterizedTypes#app(). +// enclosing_symbol scip-java maven . . minimized/ParameterizedTypes#app(). +// kind Parameter // ⌃ enclosing_range_end local 1 // ⌃ enclosing_range_end local 2 return a.toString() + b; // ^ reference local 1 -// ^^^^^^^^ reference semanticdb maven jdk 11 java/lang/Object#toString(). +// ^^^^^^^^ reference scip-java maven jdk 11 java/lang/Object#toString(). // ^ reference local 2 } -// ⌃ enclosing_range_end semanticdb maven . . minimized/ParameterizedTypes#app(). +// ⌃ enclosing_range_end scip-java maven . . minimized/ParameterizedTypes#app(). -// ⌄ enclosing_range_start semanticdb maven . . minimized/ParameterizedTypes#doStuff(). +// ⌄ enclosing_range_start scip-java maven . . minimized/ParameterizedTypes#doStuff(). public Map doStuff() { return null; } -// ^^^ reference semanticdb maven jdk 11 java/util/Map# -// ^^^^^^ reference semanticdb maven jdk 11 java/lang/String# -// ^^^^^^^ definition semanticdb maven . . minimized/ParameterizedTypes#doStuff(). +// ^^^ reference scip-java maven jdk 11 java/util/Map# +// ^^^^^^ reference scip-java maven jdk 11 java/lang/String# +// ^^^^^^^ definition scip-java maven . . minimized/ParameterizedTypes#doStuff(). // display_name doStuff // signature_documentation java public Map doStuff() // kind Method -// ⌃ enclosing_range_end semanticdb maven . . minimized/ParameterizedTypes#doStuff(). +// ⌃ enclosing_range_end scip-java maven . . minimized/ParameterizedTypes#doStuff(). -// ⌄ enclosing_range_start semanticdb maven . . minimized/ParameterizedTypes#createQuadruplet(). +// ⌄ enclosing_range_start scip-java maven . . minimized/ParameterizedTypes#createQuadruplet(). public Quadruplet createQuadruplet() { return null; } -// ^^^^^^^^^^ reference semanticdb maven . . minimized/ParameterizedTypes#Quadruplet# -// ^^^^^^ reference semanticdb maven jdk 11 java/lang/String# -// ^^^^^^ reference semanticdb maven jdk 11 java/lang/Object# -// ^^^^^^^ reference semanticdb maven jdk 11 java/lang/Integer# -// ^^^^^^^^^^^^^^^^ definition semanticdb maven . . minimized/ParameterizedTypes#createQuadruplet(). +// ^^^^^^^^^^ reference scip-java maven . . minimized/ParameterizedTypes#Quadruplet# +// ^^^^^^ reference scip-java maven jdk 11 java/lang/String# +// ^^^^^^ reference scip-java maven jdk 11 java/lang/Object# +// ^^^^^^^ reference scip-java maven jdk 11 java/lang/Integer# +// ^^^^^^^^^^^^^^^^ definition scip-java maven . . minimized/ParameterizedTypes#createQuadruplet(). // display_name createQuadruplet // signature_documentation java public Quadruplet createQuadruplet() // kind Method -// ⌃ enclosing_range_end semanticdb maven . . minimized/ParameterizedTypes#createQuadruplet(). +// ⌃ enclosing_range_end scip-java maven . . minimized/ParameterizedTypes#createQuadruplet(). -// ⌄ enclosing_range_start semanticdb maven . . minimized/ParameterizedTypes#Quadruplet# -// ⌄ enclosing_range_start semanticdb maven . . minimized/ParameterizedTypes#Quadruplet#[T] -// ⌄ enclosing_range_start semanticdb maven . . minimized/ParameterizedTypes#Quadruplet#[S] -// ⌄ enclosing_range_start semanticdb maven . . minimized/ParameterizedTypes#Quadruplet#[X] -// ⌄ enclosing_range_start semanticdb maven . . minimized/ParameterizedTypes#Quadruplet#[Y] +// ⌄ enclosing_range_start scip-java maven . . minimized/ParameterizedTypes#Quadruplet# +// ⌄ enclosing_range_start scip-java maven . . minimized/ParameterizedTypes#Quadruplet#[T] +// ⌄ enclosing_range_start scip-java maven . . minimized/ParameterizedTypes#Quadruplet#[S] +// ⌄ enclosing_range_start scip-java maven . . minimized/ParameterizedTypes#Quadruplet#[X] +// ⌄ enclosing_range_start scip-java maven . . minimized/ParameterizedTypes#Quadruplet#[Y] public static class Quadruplet {} -// ^^^^^^^^^^ definition semanticdb maven . . minimized/ParameterizedTypes#Quadruplet# +// ^^^^^^^^^^ definition scip-java maven . . minimized/ParameterizedTypes#Quadruplet# // display_name Quadruplet // signature_documentation java public static class Quadruplet // kind Class -// ^^^^^^^^^^ definition semanticdb maven . . minimized/ParameterizedTypes#Quadruplet#``(). +// ^^^^^^^^^^ definition scip-java maven . . minimized/ParameterizedTypes#Quadruplet#``(). // display_name // signature_documentation java public Quadruplet() // kind Constructor -// ^ definition semanticdb maven . . minimized/ParameterizedTypes#Quadruplet#[T] +// ^ definition scip-java maven . . minimized/ParameterizedTypes#Quadruplet#[T] // display_name T // signature_documentation java T // kind TypeParameter -// ^ definition semanticdb maven . . minimized/ParameterizedTypes#Quadruplet#[S] +// ^ definition scip-java maven . . minimized/ParameterizedTypes#Quadruplet#[S] // display_name S // signature_documentation java S // kind TypeParameter -// ^ definition semanticdb maven . . minimized/ParameterizedTypes#Quadruplet#[X] +// ^ definition scip-java maven . . minimized/ParameterizedTypes#Quadruplet#[X] // display_name X // signature_documentation java X // kind TypeParameter -// ^ definition semanticdb maven . . minimized/ParameterizedTypes#Quadruplet#[Y] +// ^ definition scip-java maven . . minimized/ParameterizedTypes#Quadruplet#[Y] // display_name Y // signature_documentation java Y // kind TypeParameter -// ⌃ enclosing_range_end semanticdb maven . . minimized/ParameterizedTypes#Quadruplet# -// ⌃ enclosing_range_end semanticdb maven . . minimized/ParameterizedTypes#Quadruplet#[T] -// ⌃ enclosing_range_end semanticdb maven . . minimized/ParameterizedTypes#Quadruplet#[S] -// ⌃ enclosing_range_end semanticdb maven . . minimized/ParameterizedTypes#Quadruplet#[X] -// ⌃ enclosing_range_end semanticdb maven . . minimized/ParameterizedTypes#Quadruplet#[Y] +// ⌃ enclosing_range_end scip-java maven . . minimized/ParameterizedTypes#Quadruplet# +// ⌃ enclosing_range_end scip-java maven . . minimized/ParameterizedTypes#Quadruplet#[T] +// ⌃ enclosing_range_end scip-java maven . . minimized/ParameterizedTypes#Quadruplet#[S] +// ⌃ enclosing_range_end scip-java maven . . minimized/ParameterizedTypes#Quadruplet#[X] +// ⌃ enclosing_range_end scip-java maven . . minimized/ParameterizedTypes#Quadruplet#[Y] } -//⌃ enclosing_range_end semanticdb maven . . minimized/ParameterizedTypes# -//⌃ enclosing_range_end semanticdb maven . . minimized/ParameterizedTypes#[A] -//⌃ enclosing_range_end semanticdb maven . . minimized/ParameterizedTypes#[B] +//⌃ enclosing_range_end scip-java maven . . minimized/ParameterizedTypes# +//⌃ enclosing_range_end scip-java maven . . minimized/ParameterizedTypes#[A] +//⌃ enclosing_range_end scip-java maven . . minimized/ParameterizedTypes#[B] 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 d1fb9899..83e5de54 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 @@ -1,116 +1,116 @@ package minimized; import java.util.Random; -// ^^^^ reference semanticdb maven . . java/ -// ^^^^ reference semanticdb maven . . java/util/ -// ^^^^^^ reference semanticdb maven jdk 11 java/util/Random# +// ^^^^ reference scip-java maven . . java/ +// ^^^^ reference scip-java maven . . java/util/ +// ^^^^^^ reference scip-java maven jdk 11 java/util/Random# -//⌄ enclosing_range_start semanticdb maven . . minimized/Primitives# +//⌄ enclosing_range_start scip-java maven . . minimized/Primitives# public class Primitives { -// ^^^^^^^^^^ definition semanticdb maven . . minimized/Primitives# +// ^^^^^^^^^^ definition scip-java maven . . minimized/Primitives# // display_name Primitives // signature_documentation java public class Primitives // kind Class -// ^^^^^^^^^^ definition semanticdb maven . . minimized/Primitives#``(). +// ^^^^^^^^^^ definition scip-java maven . . minimized/Primitives#``(). // display_name // signature_documentation java public Primitives() // kind Constructor -// ⌄ enclosing_range_start semanticdb maven . . minimized/Primitives#app(). +// ⌄ enclosing_range_start scip-java maven . . minimized/Primitives#app(). public static String app() { -// ^^^^^^ reference semanticdb maven jdk 11 java/lang/String# -// ^^^ definition semanticdb maven . . minimized/Primitives#app(). +// ^^^^^^ reference scip-java maven jdk 11 java/lang/String# +// ^^^ definition scip-java maven . . minimized/Primitives#app(). // display_name app // signature_documentation java public static String app() // kind StaticMethod // ⌄ enclosing_range_start local 0 Random random = new Random(); -// ^^^^^^ reference semanticdb maven jdk 11 java/util/Random# +// ^^^^^^ reference scip-java maven jdk 11 java/util/Random# // ^^^^^^ definition local 0 // display_name random // signature_documentation java Random random -// enclosing_symbol semanticdb maven . . minimized/Primitives#app(). +// enclosing_symbol scip-java maven . . minimized/Primitives#app(). // kind Variable -// ^^^^^^ reference semanticdb maven jdk 11 java/util/Random#``(). +// ^^^^^^ reference scip-java maven jdk 11 java/util/Random#``(). // ⌃ enclosing_range_end local 0 // ⌄ enclosing_range_start local 1 byte a = (byte) random.nextInt(); // ^ definition local 1 // display_name a // signature_documentation java byte a -// enclosing_symbol semanticdb maven . . minimized/Primitives#app(). +// enclosing_symbol scip-java maven . . minimized/Primitives#app(). // kind Variable // ^^^^^^ reference local 0 -// ^^^^^^^ reference semanticdb maven jdk 11 java/util/Random#nextInt(). +// ^^^^^^^ reference scip-java maven jdk 11 java/util/Random#nextInt(). // ⌃ enclosing_range_end local 1 // ⌄ enclosing_range_start local 2 short b = (short) random.nextInt(); // ^ definition local 2 // display_name b // signature_documentation java short b -// enclosing_symbol semanticdb maven . . minimized/Primitives#app(). +// enclosing_symbol scip-java maven . . minimized/Primitives#app(). // kind Variable // ^^^^^^ reference local 0 -// ^^^^^^^ reference semanticdb maven jdk 11 java/util/Random#nextInt(). +// ^^^^^^^ reference scip-java maven jdk 11 java/util/Random#nextInt(). // ⌃ enclosing_range_end local 2 // ⌄ enclosing_range_start local 3 int c = random.nextInt(); // ^ definition local 3 // display_name c // signature_documentation java int c -// enclosing_symbol semanticdb maven . . minimized/Primitives#app(). +// enclosing_symbol scip-java maven . . minimized/Primitives#app(). // kind Variable // ^^^^^^ reference local 0 -// ^^^^^^^ reference semanticdb maven jdk 11 java/util/Random#nextInt(). +// ^^^^^^^ reference scip-java maven jdk 11 java/util/Random#nextInt(). // ⌃ enclosing_range_end local 3 // ⌄ enclosing_range_start local 4 long d = random.nextLong(); // ^ definition local 4 // display_name d // signature_documentation java long d -// enclosing_symbol semanticdb maven . . minimized/Primitives#app(). +// enclosing_symbol scip-java maven . . minimized/Primitives#app(). // kind Variable // ^^^^^^ reference local 0 -// ^^^^^^^^ reference semanticdb maven jdk 11 java/util/Random#nextLong(). +// ^^^^^^^^ reference scip-java maven jdk 11 java/util/Random#nextLong(). // ⌃ enclosing_range_end local 4 // ⌄ enclosing_range_start local 5 char e = (char) random.nextInt(); // ^ definition local 5 // display_name e // signature_documentation java char e -// enclosing_symbol semanticdb maven . . minimized/Primitives#app(). +// enclosing_symbol scip-java maven . . minimized/Primitives#app(). // kind Variable // ^^^^^^ reference local 0 -// ^^^^^^^ reference semanticdb maven jdk 11 java/util/Random#nextInt(). +// ^^^^^^^ reference scip-java maven jdk 11 java/util/Random#nextInt(). // ⌃ enclosing_range_end local 5 // ⌄ enclosing_range_start local 6 float f = (float) random.nextDouble(); // ^ definition local 6 // display_name f // signature_documentation java float f -// enclosing_symbol semanticdb maven . . minimized/Primitives#app(). +// enclosing_symbol scip-java maven . . minimized/Primitives#app(). // kind Variable // ^^^^^^ reference local 0 -// ^^^^^^^^^^ reference semanticdb maven jdk 11 java/util/Random#nextDouble(). +// ^^^^^^^^^^ reference scip-java maven jdk 11 java/util/Random#nextDouble(). // ⌃ enclosing_range_end local 6 // ⌄ enclosing_range_start local 7 double g = (double) random.nextDouble(); // ^ definition local 7 // display_name g // signature_documentation java double g -// enclosing_symbol semanticdb maven . . minimized/Primitives#app(). +// enclosing_symbol scip-java maven . . minimized/Primitives#app(). // kind Variable // ^^^^^^ reference local 0 -// ^^^^^^^^^^ reference semanticdb maven jdk 11 java/util/Random#nextDouble(). +// ^^^^^^^^^^ reference scip-java maven jdk 11 java/util/Random#nextDouble(). // ⌃ enclosing_range_end local 7 // ⌄ enclosing_range_start local 8 boolean h = random.nextBoolean(); // ^ definition local 8 // display_name h // signature_documentation java boolean h -// enclosing_symbol semanticdb maven . . minimized/Primitives#app(). +// enclosing_symbol scip-java maven . . minimized/Primitives#app(). // kind Variable // ^^^^^^ reference local 0 -// ^^^^^^^^^^^ reference semanticdb maven jdk 11 java/util/Random#nextBoolean(). +// ^^^^^^^^^^^ reference scip-java maven jdk 11 java/util/Random#nextBoolean(). // ⌃ enclosing_range_end local 8 return "" + a + b + c + d + e + f + g + h; // ^ reference local 1 @@ -122,14 +122,14 @@ public static String app() { // ^ reference local 7 // ^ reference local 8 } -// ⌃ enclosing_range_end semanticdb maven . . minimized/Primitives#app(). +// ⌃ enclosing_range_end scip-java maven . . minimized/Primitives#app(). -// ⌄ enclosing_range_start semanticdb maven . . minimized/Primitives#test(). +// ⌄ enclosing_range_start scip-java maven . . minimized/Primitives#test(). public static void test() {} -// ^^^^ definition semanticdb maven . . minimized/Primitives#test(). +// ^^^^ definition scip-java maven . . minimized/Primitives#test(). // display_name test // signature_documentation java public static void test() // kind StaticMethod -// ⌃ enclosing_range_end semanticdb maven . . minimized/Primitives#test(). +// ⌃ enclosing_range_end scip-java maven . . minimized/Primitives#test(). } -//⌃ enclosing_range_end semanticdb maven . . minimized/Primitives# +//⌃ enclosing_range_end scip-java maven . . minimized/Primitives# 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 ac6262b9..4bb3b6ae 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 @@ -1,35 +1,35 @@ package minimized; import java.util.Collections; -// ^^^^ reference semanticdb maven . . java/ -// ^^^^ reference semanticdb maven . . java/util/ -// ^^^^^^^^^^^ reference semanticdb maven jdk 11 java/util/Collections# +// ^^^^ reference scip-java maven . . java/ +// ^^^^ reference scip-java maven . . java/util/ +// ^^^^^^^^^^^ reference scip-java maven jdk 11 java/util/Collections# import java.util.List; -// ^^^^ reference semanticdb maven . . java/ -// ^^^^ reference semanticdb maven . . java/util/ -// ^^^^ reference semanticdb maven jdk 11 java/util/List# +// ^^^^ reference scip-java maven . . java/ +// ^^^^ reference scip-java maven . . java/util/ +// ^^^^ reference scip-java maven jdk 11 java/util/List# -//⌄ enclosing_range_start semanticdb maven . . minimized/RawTypes# +//⌄ enclosing_range_start scip-java maven . . minimized/RawTypes# @SuppressWarnings("ALL") -// ^^^^^^^^^^^^^^^ reference semanticdb maven jdk 11 java/lang/SuppressWarnings# +// ^^^^^^^^^^^^^^^ reference scip-java maven jdk 11 java/lang/SuppressWarnings# public class RawTypes { -// ^^^^^^^^ definition semanticdb maven . . minimized/RawTypes# +// ^^^^^^^^ definition scip-java maven . . minimized/RawTypes# // display_name RawTypes -// signature_documentation java @SuppressWarnings("ALL")\npublic class RawTypes +// signature_documentation java @SuppressWarnings\npublic class RawTypes // kind Class -// ^^^^^^^^ definition semanticdb maven . . minimized/RawTypes#``(). +// ^^^^^^^^ definition scip-java maven . . minimized/RawTypes#``(). // display_name // signature_documentation java public RawTypes() // kind Constructor -// ⌄ enclosing_range_start semanticdb maven . . minimized/RawTypes#x. +// ⌄ enclosing_range_start scip-java maven . . minimized/RawTypes#x. public static final List x = Collections.singletonList(42); -// ^^^^ reference semanticdb maven jdk 11 java/util/List# -// ^ definition semanticdb maven . . minimized/RawTypes#x. +// ^^^^ reference scip-java maven jdk 11 java/util/List# +// ^ definition scip-java maven . . minimized/RawTypes#x. // display_name x // signature_documentation java public static final List x // kind StaticField -// ^^^^^^^^^^^ reference semanticdb maven jdk 11 java/util/Collections# -// ^^^^^^^^^^^^^ reference semanticdb maven jdk 11 java/util/Collections#singletonList(). -// ⌃ enclosing_range_end semanticdb maven . . minimized/RawTypes#x. +// ^^^^^^^^^^^ reference scip-java maven jdk 11 java/util/Collections# +// ^^^^^^^^^^^^^ reference scip-java maven jdk 11 java/util/Collections#singletonList(). +// ⌃ enclosing_range_end scip-java maven . . minimized/RawTypes#x. } -//⌃ enclosing_range_end semanticdb maven . . minimized/RawTypes# +//⌃ enclosing_range_end scip-java maven . . minimized/RawTypes# 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 4e99f292..cb921052 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 @@ -1,78 +1,78 @@ package minimized; -//⌄ enclosing_range_start semanticdb maven . . minimized/SubClasses# +//⌄ enclosing_range_start scip-java maven . . minimized/SubClasses# public class SubClasses extends AbstractClasses implements Interfaces { -// ^^^^^^^^^^ definition semanticdb maven . . minimized/SubClasses# +// ^^^^^^^^^^ definition scip-java maven . . minimized/SubClasses# // display_name SubClasses -// signature_documentation java public class SubClasses +// signature_documentation java public class SubClasses extends AbstractClasses implements Interfaces // kind Class -// relationship is_implementation semanticdb maven . . minimized/AbstractClasses# -// relationship is_implementation semanticdb maven . . minimized/Interfaces# -// ^^^^^^^^^^ definition semanticdb maven . . minimized/SubClasses#``(). +// relationship is_implementation scip-java maven . . minimized/AbstractClasses# +// relationship is_implementation scip-java maven . . minimized/Interfaces# +// ^^^^^^^^^^ definition scip-java maven . . minimized/SubClasses#``(). // display_name // signature_documentation java public SubClasses() // kind Constructor -// ^^^^^^^^^^^^^^^ reference semanticdb maven . . minimized/AbstractClasses# -// ^^^^^^^^^^ reference semanticdb maven . . minimized/Interfaces# +// ^^^^^^^^^^^^^^^ reference scip-java maven . . minimized/AbstractClasses# +// ^^^^^^^^^^ reference scip-java maven . . minimized/Interfaces# -// ⌄ enclosing_range_start semanticdb maven . . minimized/SubClasses#abstractImplementation(). +// ⌄ enclosing_range_start scip-java maven . . minimized/SubClasses#abstractImplementation(). @Override -// ^^^^^^^^ reference semanticdb maven jdk 11 java/lang/Override# +// ^^^^^^^^ reference scip-java maven jdk 11 java/lang/Override# public String abstractImplementation() { -// ^^^^^^ reference semanticdb maven jdk 11 java/lang/String# -// ^^^^^^^^^^^^^^^^^^^^^^ definition semanticdb maven . . minimized/SubClasses#abstractImplementation(). +// ^^^^^^ reference scip-java maven jdk 11 java/lang/String# +// ^^^^^^^^^^^^^^^^^^^^^^ definition scip-java maven . . minimized/SubClasses#abstractImplementation(). // display_name abstractImplementation // signature_documentation java @Override\npublic String abstractImplementation() // kind Method -// relationship is_reference is_implementation semanticdb maven . . minimized/AbstractClasses#abstractImplementation(). +// relationship is_reference is_implementation scip-java maven . . minimized/AbstractClasses#abstractImplementation(). return "abstract"; } -// ⌃ enclosing_range_end semanticdb maven . . minimized/SubClasses#abstractImplementation(). +// ⌃ enclosing_range_end scip-java maven . . minimized/SubClasses#abstractImplementation(). -// ⌄ enclosing_range_start semanticdb maven . . minimized/SubClasses#abstractInterfaceMethod(). +// ⌄ enclosing_range_start scip-java maven . . minimized/SubClasses#abstractInterfaceMethod(). @Override -// ^^^^^^^^ reference semanticdb maven jdk 11 java/lang/Override# +// ^^^^^^^^ reference scip-java maven jdk 11 java/lang/Override# public String abstractInterfaceMethod() { -// ^^^^^^ reference semanticdb maven jdk 11 java/lang/String# -// ^^^^^^^^^^^^^^^^^^^^^^^ definition semanticdb maven . . minimized/SubClasses#abstractInterfaceMethod(). +// ^^^^^^ reference scip-java maven jdk 11 java/lang/String# +// ^^^^^^^^^^^^^^^^^^^^^^^ definition scip-java maven . . minimized/SubClasses#abstractInterfaceMethod(). // display_name abstractInterfaceMethod // signature_documentation java @Override\npublic String abstractInterfaceMethod() // kind Method -// relationship is_reference is_implementation semanticdb maven . . minimized/Interfaces#abstractInterfaceMethod(). +// relationship is_reference is_implementation scip-java maven . . minimized/Interfaces#abstractInterfaceMethod(). return "abstractInterface"; } -// ⌃ enclosing_range_end semanticdb maven . . minimized/SubClasses#abstractInterfaceMethod(). +// ⌃ enclosing_range_end scip-java maven . . minimized/SubClasses#abstractInterfaceMethod(). -// ⌄ enclosing_range_start semanticdb maven . . minimized/SubClasses#app(). +// ⌄ enclosing_range_start scip-java maven . . minimized/SubClasses#app(). public static String app() { -// ^^^^^^ reference semanticdb maven jdk 11 java/lang/String# -// ^^^ definition semanticdb maven . . minimized/SubClasses#app(). +// ^^^^^^ reference scip-java maven jdk 11 java/lang/String# +// ^^^ definition scip-java maven . . minimized/SubClasses#app(). // display_name app // signature_documentation java public static String app() // kind StaticMethod // ⌄ enclosing_range_start local 0 SubClasses s = new SubClasses(); -// ^^^^^^^^^^ reference semanticdb maven . . minimized/SubClasses# +// ^^^^^^^^^^ reference scip-java maven . . minimized/SubClasses# // ^ definition local 0 // display_name s // signature_documentation java SubClasses s -// enclosing_symbol semanticdb maven . . minimized/SubClasses#app(). +// enclosing_symbol scip-java maven . . minimized/SubClasses#app(). // kind Variable -// ^^^^^^^^^^ reference semanticdb maven . . minimized/SubClasses#``(). +// ^^^^^^^^^^ reference scip-java maven . . minimized/SubClasses#``(). // ⌃ enclosing_range_end local 0 return s.abstractImplementation() // ^ reference local 0 -// ^^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . minimized/SubClasses#abstractImplementation(). +// ^^^^^^^^^^^^^^^^^^^^^^ reference scip-java maven . . minimized/SubClasses#abstractImplementation(). + s.defaultImplementation() // ^ reference local 0 -// ^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . minimized/AbstractClasses#defaultImplementation(). +// ^^^^^^^^^^^^^^^^^^^^^ reference scip-java maven . . minimized/AbstractClasses#defaultImplementation(). + s.abstractInterfaceMethod() // ^ reference local 0 -// ^^^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . minimized/SubClasses#abstractInterfaceMethod(). +// ^^^^^^^^^^^^^^^^^^^^^^^ reference scip-java maven . . minimized/SubClasses#abstractInterfaceMethod(). + s.defaultInterfaceMethod(); // ^ reference local 0 -// ^^^^^^^^^^^^^^^^^^^^^^ reference semanticdb maven . . minimized/Interfaces#defaultInterfaceMethod(). +// ^^^^^^^^^^^^^^^^^^^^^^ reference scip-java maven . . minimized/Interfaces#defaultInterfaceMethod(). } -// ⌃ enclosing_range_end semanticdb maven . . minimized/SubClasses#app(). +// ⌃ enclosing_range_end scip-java maven . . minimized/SubClasses#app(). } -//⌃ enclosing_range_end semanticdb maven . . minimized/SubClasses# +//⌃ enclosing_range_end scip-java maven . . minimized/SubClasses# 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 3af5743c..0ed6f003 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 @@ -1,33 +1,33 @@ package minimized; -//⌄ enclosing_range_start semanticdb maven . . minimized/TabIndented# +//⌄ enclosing_range_start scip-java maven . . minimized/TabIndented# public class TabIndented { -// ^^^^^^^^^^^ definition semanticdb maven . . minimized/TabIndented# +// ^^^^^^^^^^^ definition scip-java maven . . minimized/TabIndented# // display_name TabIndented // signature_documentation java public class TabIndented // kind Class -// ^^^^^^^^^^^ definition semanticdb maven . . minimized/TabIndented#``(). +// ^^^^^^^^^^^ definition scip-java maven . . minimized/TabIndented#``(). // display_name // signature_documentation java public TabIndented() // kind Constructor -// ⌄ enclosing_range_start semanticdb maven . . minimized/TabIndented#app(). +// ⌄ enclosing_range_start scip-java maven . . minimized/TabIndented#app(). public void app() { -// ^^^ definition semanticdb maven . . minimized/TabIndented#app(). +// ^^^ definition scip-java maven . . minimized/TabIndented#app(). // display_name app // signature_documentation java public void app() // kind Method // ⌄ enclosing_range_start local 0 Object o = new Object() { -// ^^^^^^ reference semanticdb maven jdk 11 java/lang/Object# +// ^^^^^^ reference scip-java maven jdk 11 java/lang/Object# // ^ definition local 0 // display_name o // signature_documentation java Object o -// enclosing_symbol semanticdb maven . . minimized/TabIndented#app(). +// enclosing_symbol scip-java maven . . minimized/TabIndented#app(). // kind Variable -// ^^^^^^ reference semanticdb maven jdk 11 java/lang/Object# +// ^^^^^^ reference scip-java maven jdk 11 java/lang/Object# // ⌄ enclosing_range_start local 2 @Override -// ^^^^^^^^ reference semanticdb maven jdk 11 java/lang/Override# +// ^^^^^^^^ reference scip-java maven jdk 11 java/lang/Override# // ⌄ enclosing_range_start local 3 public boolean equals(Object other) { // ^^^^^^ definition local 2 @@ -35,12 +35,13 @@ public boolean equals(Object other) { // signature_documentation java @Override\npublic boolean equals(Object other) // enclosing_symbol local 1 // kind Method -// relationship is_reference is_implementation semanticdb maven jdk 11 java/lang/Object#equals(). -// ^^^^^^ reference semanticdb maven jdk 11 java/lang/Object# +// relationship is_reference is_implementation scip-java maven jdk 11 java/lang/Object#equals(). +// ^^^^^^ reference scip-java maven jdk 11 java/lang/Object# // ^^^^^ definition local 3 // display_name other // signature_documentation java Object other // enclosing_symbol local 2 +// kind Parameter // ⌃ enclosing_range_end local 3 return false; } @@ -48,37 +49,37 @@ public boolean equals(Object other) { // ⌄ enclosing_range_start local 4 @Override -// ^^^^^^^^ reference semanticdb maven jdk 11 java/lang/Override# +// ^^^^^^^^ reference scip-java maven jdk 11 java/lang/Override# public int hashCode() { // ^^^^^^^^ definition local 4 // display_name hashCode // signature_documentation java @Override\npublic int hashCode() // enclosing_symbol local 1 // kind Method -// relationship is_reference is_implementation semanticdb maven jdk 11 java/lang/Object#hashCode(). +// relationship is_reference is_implementation scip-java maven jdk 11 java/lang/Object#hashCode(). return System.identityHashCode(this); -// ^^^^^^ reference semanticdb maven jdk 11 java/lang/System# -// ^^^^^^^^^^^^^^^^ reference semanticdb maven jdk 11 java/lang/System#identityHashCode(). +// ^^^^^^ reference scip-java maven jdk 11 java/lang/System# +// ^^^^^^^^^^^^^^^^ reference scip-java maven jdk 11 java/lang/System#identityHashCode(). } // ⌃ enclosing_range_end local 4 // ⌄ enclosing_range_start local 5 @Override -// ^^^^^^^^ reference semanticdb maven jdk 11 java/lang/Override# +// ^^^^^^^^ reference scip-java maven jdk 11 java/lang/Override# public String toString() { -// ^^^^^^ reference semanticdb maven jdk 11 java/lang/String# +// ^^^^^^ reference scip-java maven jdk 11 java/lang/String# // ^^^^^^^^ definition local 5 // display_name toString // signature_documentation java @Override\npublic String toString() // enclosing_symbol local 1 // kind Method -// relationship is_reference is_implementation semanticdb maven jdk 11 java/lang/Object#toString(). +// relationship is_reference is_implementation scip-java maven jdk 11 java/lang/Object#toString(). return ""; } // ⌃ enclosing_range_end local 5 }; // ⌃ enclosing_range_end local 0 } -// ⌃ enclosing_range_end semanticdb maven . . minimized/TabIndented#app(). +// ⌃ enclosing_range_end scip-java maven . . minimized/TabIndented#app(). } -//⌃ enclosing_range_end semanticdb maven . . minimized/TabIndented# +//⌃ enclosing_range_end scip-java maven . . minimized/TabIndented# 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 c23c6356..17e660b7 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 @@ -1,72 +1,72 @@ package minimized; import java.lang.annotation.ElementType; -// ^^^^ reference semanticdb maven . . java/ -// ^^^^ reference semanticdb maven . . java/lang/ -// ^^^^^^^^^^ reference semanticdb maven . . java/lang/annotation/ -// ^^^^^^^^^^^ reference semanticdb maven jdk 11 java/lang/annotation/ElementType# +// ^^^^ reference scip-java maven . . java/ +// ^^^^ reference scip-java maven . . java/lang/ +// ^^^^^^^^^^ reference scip-java maven . . java/lang/annotation/ +// ^^^^^^^^^^^ reference scip-java maven jdk 11 java/lang/annotation/ElementType# import java.lang.annotation.Target; -// ^^^^ reference semanticdb maven . . java/ -// ^^^^ reference semanticdb maven . . java/lang/ -// ^^^^^^^^^^ reference semanticdb maven . . java/lang/annotation/ -// ^^^^^^ reference semanticdb maven jdk 11 java/lang/annotation/Target# +// ^^^^ reference scip-java maven . . java/ +// ^^^^ reference scip-java maven . . java/lang/ +// ^^^^^^^^^^ reference scip-java maven . . java/lang/annotation/ +// ^^^^^^ reference scip-java maven jdk 11 java/lang/annotation/Target# -//⌄ enclosing_range_start semanticdb maven . . minimized/TypeAnnotation# +//⌄ enclosing_range_start scip-java maven . . minimized/TypeAnnotation# @Target({ ElementType.TYPE_USE }) -// ^^^^^ reference semanticdb maven jdk 11 java/lang/annotation/Target# -// ^^^^^^^^^^^ reference semanticdb maven jdk 11 java/lang/annotation/ElementType# -// ^^^^^^^^ reference semanticdb maven jdk 11 java/lang/annotation/ElementType#TYPE_USE. +// ^^^^^ reference scip-java maven jdk 11 java/lang/annotation/Target# +// ^^^^^^^^^^^ reference scip-java maven jdk 11 java/lang/annotation/ElementType# +// ^^^^^^^^ reference scip-java maven jdk 11 java/lang/annotation/ElementType#TYPE_USE. @interface TypeAnnotation { -// ^^^^^^^^^^^^^^ definition semanticdb maven . . minimized/TypeAnnotation# +// ^^^^^^^^^^^^^^ definition scip-java maven . . minimized/TypeAnnotation# // display_name TypeAnnotation -// signature_documentation java @Target({ElementType.TYPE_USE})\n@interface TypeAnnotation +// signature_documentation java @Target\nabstract @interface TypeAnnotation implements Annotation // kind Interface -// relationship is_implementation semanticdb maven jdk 11 java/lang/annotation/Annotation# -// ⌄ enclosing_range_start semanticdb maven . . minimized/TypeAnnotation#integer(). +// relationship is_implementation scip-java maven jdk 11 java/lang/annotation/Annotation# +// ⌄ enclosing_range_start scip-java maven . . minimized/TypeAnnotation#integer(). int integer() default 1; -// ^^^^^^^ definition semanticdb maven . . minimized/TypeAnnotation#integer(). +// ^^^^^^^ definition scip-java maven . . minimized/TypeAnnotation#integer(). // display_name integer // signature_documentation java public abstract int integer() // kind AbstractMethod -// ⌃ enclosing_range_end semanticdb maven . . minimized/TypeAnnotation#integer(). +// ⌃ enclosing_range_end scip-java maven . . minimized/TypeAnnotation#integer(). } -//⌃ enclosing_range_end semanticdb maven . . minimized/TypeAnnotation# +//⌃ enclosing_range_end scip-java maven . . minimized/TypeAnnotation# // FIXME(issue: GRAPH-1122): Definition range for T below is incorrect -//⌄ enclosing_range_start semanticdb maven . . minimized/ClassProcessed# -//⌄ enclosing_range_start semanticdb maven . . minimized/ClassProcessed#[T] +//⌄ enclosing_range_start scip-java maven . . minimized/ClassProcessed# +//⌄ enclosing_range_start scip-java maven . . minimized/ClassProcessed#[T] class ClassProcessed<@TypeAnnotation T extends Number> { -// ^^^^^^^^^^^^^^ definition semanticdb maven . . minimized/ClassProcessed# +// ^^^^^^^^^^^^^^ definition scip-java maven . . minimized/ClassProcessed# // display_name ClassProcessed // signature_documentation java class ClassProcessed // kind Class -// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ definition semanticdb maven . . minimized/ClassProcessed#[T] +// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ definition scip-java maven . . minimized/ClassProcessed#[T] // display_name T // signature_documentation java T extends Number // kind TypeParameter -// ^^^^^^^^^^^^^^ reference semanticdb maven . . minimized/TypeAnnotation# -// ^^^^^^ reference semanticdb maven jdk 11 java/lang/Number# +// ^^^^^^^^^^^^^^ reference scip-java maven . . minimized/TypeAnnotation# +// ^^^^^^ reference scip-java maven jdk 11 java/lang/Number# -// ⌄ enclosing_range_start semanticdb maven . . minimized/ClassProcessed#``(). +// ⌄ enclosing_range_start scip-java maven . . minimized/ClassProcessed#``(). public ClassProcessed() { -// ^^^^^^^^^^^^^^ definition semanticdb maven . . minimized/ClassProcessed#``(). +// ^^^^^^^^^^^^^^ definition scip-java maven . . minimized/ClassProcessed#``(). // display_name // signature_documentation java public ClassProcessed() // kind Constructor // ⌄ enclosing_range_start local 0 String s = new @TypeAnnotation String(); -// ^^^^^^ reference semanticdb maven jdk 11 java/lang/String# +// ^^^^^^ reference scip-java maven jdk 11 java/lang/String# // ^ definition local 0 // display_name s // signature_documentation java String s -// enclosing_symbol semanticdb maven . . minimized/ClassProcessed#``(). +// enclosing_symbol scip-java maven . . minimized/ClassProcessed#``(). // kind Variable -// ^^^^^^^^^^^^^^ reference semanticdb maven . . minimized/TypeAnnotation# -// ^^^^^^ reference semanticdb maven jdk 11 java/lang/String# -// ^^^^^^ reference semanticdb maven jdk 11 java/lang/String#``(). +// ^^^^^^^^^^^^^^ reference scip-java maven . . minimized/TypeAnnotation# +// ^^^^^^ reference scip-java maven jdk 11 java/lang/String# +// ^^^^^^ reference scip-java maven jdk 11 java/lang/String#``(). // ⌃ enclosing_range_end local 0 } -// ⌃ enclosing_range_end semanticdb maven . . minimized/ClassProcessed#``(). +// ⌃ enclosing_range_end scip-java maven . . minimized/ClassProcessed#``(). } -//⌃ enclosing_range_end semanticdb maven . . minimized/ClassProcessed# -//⌃ enclosing_range_end semanticdb maven . . minimized/ClassProcessed#[T] +//⌃ enclosing_range_end scip-java maven . . minimized/ClassProcessed# +//⌃ enclosing_range_end scip-java maven . . minimized/ClassProcessed#[T] 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 bda10966..9079ee03 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 @@ -1,129 +1,130 @@ package minimized; /** Example from https://docs.oracle.com/javase/specs/jls/se8/html/jls-4.html#jls-4.4 */ -//⌄ enclosing_range_start semanticdb maven . . minimized/TypeVariables# +//⌄ enclosing_range_start scip-java maven . . minimized/TypeVariables# public class TypeVariables { -// ^^^^^^^^^^^^^ definition semanticdb maven . . minimized/TypeVariables# +// ^^^^^^^^^^^^^ definition scip-java maven . . minimized/TypeVariables# // display_name TypeVariables // signature_documentation java public class TypeVariables // 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#``(). +// ^^^^^^^^^^^^^ definition scip-java maven . . minimized/TypeVariables#``(). // display_name // signature_documentation java public TypeVariables() // kind Constructor -// ⌄ enclosing_range_start semanticdb maven . . minimized/TypeVariables#C# +// ⌄ enclosing_range_start scip-java maven . . minimized/TypeVariables#C# static class C { -// ^ definition semanticdb maven . . minimized/TypeVariables#C# +// ^ definition scip-java maven . . minimized/TypeVariables#C# // display_name C // signature_documentation java static class C // kind Class -// ^ definition semanticdb maven . . minimized/TypeVariables#C#``(). +// ^ definition scip-java maven . . minimized/TypeVariables#C#``(). // display_name // signature_documentation java C() // kind Constructor -// ⌄ enclosing_range_start semanticdb maven . . minimized/TypeVariables#C#mCPublic(). +// ⌄ enclosing_range_start scip-java maven . . minimized/TypeVariables#C#mCPublic(). public void mCPublic() {} -// ^^^^^^^^ definition semanticdb maven . . minimized/TypeVariables#C#mCPublic(). +// ^^^^^^^^ definition scip-java maven . . minimized/TypeVariables#C#mCPublic(). // display_name mCPublic // signature_documentation java public void mCPublic() // kind Method -// ⌃ enclosing_range_end semanticdb maven . . minimized/TypeVariables#C#mCPublic(). +// ⌃ enclosing_range_end scip-java maven . . minimized/TypeVariables#C#mCPublic(). -// ⌄ enclosing_range_start semanticdb maven . . minimized/TypeVariables#C#mCProtected(). +// ⌄ enclosing_range_start scip-java maven . . minimized/TypeVariables#C#mCProtected(). protected void mCProtected() {} -// ^^^^^^^^^^^ definition semanticdb maven . . minimized/TypeVariables#C#mCProtected(). +// ^^^^^^^^^^^ definition scip-java maven . . minimized/TypeVariables#C#mCProtected(). // display_name mCProtected // signature_documentation java protected void mCProtected() // kind Method -// ⌃ enclosing_range_end semanticdb maven . . minimized/TypeVariables#C#mCProtected(). +// ⌃ enclosing_range_end scip-java maven . . minimized/TypeVariables#C#mCProtected(). -// ⌄ enclosing_range_start semanticdb maven . . minimized/TypeVariables#C#mCPackage(). +// ⌄ enclosing_range_start scip-java maven . . minimized/TypeVariables#C#mCPackage(). void mCPackage() {} -// ^^^^^^^^^ definition semanticdb maven . . minimized/TypeVariables#C#mCPackage(). +// ^^^^^^^^^ definition scip-java maven . . minimized/TypeVariables#C#mCPackage(). // display_name mCPackage // signature_documentation java void mCPackage() // kind Method -// ⌃ enclosing_range_end semanticdb maven . . minimized/TypeVariables#C#mCPackage(). +// ⌃ enclosing_range_end scip-java maven . . minimized/TypeVariables#C#mCPackage(). } -// ⌃ enclosing_range_end semanticdb maven . . minimized/TypeVariables#C# +// ⌃ enclosing_range_end scip-java maven . . minimized/TypeVariables#C# -// ⌄ enclosing_range_start semanticdb maven . . minimized/TypeVariables#I# +// ⌄ enclosing_range_start scip-java maven . . minimized/TypeVariables#I# interface I { -// ^ definition semanticdb maven . . minimized/TypeVariables#I# +// ^ definition scip-java maven . . minimized/TypeVariables#I# // display_name I -// signature_documentation java interface I +// signature_documentation java abstract static interface I // kind Interface -// ⌄ enclosing_range_start semanticdb maven . . minimized/TypeVariables#I#mI(). +// ⌄ enclosing_range_start scip-java maven . . minimized/TypeVariables#I#mI(). void mI(); -// ^^ definition semanticdb maven . . minimized/TypeVariables#I#mI(). +// ^^ definition scip-java maven . . minimized/TypeVariables#I#mI(). // display_name mI // signature_documentation java public abstract void mI() // kind AbstractMethod -// relationship is_reference is_implementation semanticdb maven . . minimized/TypeVariables#CT#mI(). -// ⌃ enclosing_range_end semanticdb maven . . minimized/TypeVariables#I#mI(). +// relationship is_reference is_implementation scip-java maven . . minimized/TypeVariables#CT#mI(). +// ⌃ enclosing_range_end scip-java maven . . minimized/TypeVariables#I#mI(). } -// ⌃ enclosing_range_end semanticdb maven . . minimized/TypeVariables#I# +// ⌃ enclosing_range_end scip-java maven . . minimized/TypeVariables#I# -// ⌄ enclosing_range_start semanticdb maven . . minimized/TypeVariables#CT# +// ⌄ enclosing_range_start scip-java maven . . minimized/TypeVariables#CT# static class CT extends C implements I { -// ^^ definition semanticdb maven . . minimized/TypeVariables#CT# +// ^^ definition scip-java maven . . minimized/TypeVariables#CT# // display_name CT -// signature_documentation java static class CT +// signature_documentation java static class CT extends C implements I // kind Class -// relationship is_implementation semanticdb maven . . minimized/TypeVariables#C# -// relationship is_implementation semanticdb maven . . minimized/TypeVariables#I# -// ^^ definition semanticdb maven . . minimized/TypeVariables#CT#``(). +// relationship is_implementation scip-java maven . . minimized/TypeVariables#C# +// relationship is_implementation scip-java maven . . minimized/TypeVariables#I# +// ^^ definition scip-java maven . . minimized/TypeVariables#CT#``(). // display_name // signature_documentation java CT() // kind Constructor -// ^ reference semanticdb maven . . minimized/TypeVariables#C# -// ^ reference semanticdb maven . . minimized/TypeVariables#I# -// ⌄ enclosing_range_start semanticdb maven . . minimized/TypeVariables#CT#mI(). +// ^ reference scip-java maven . . minimized/TypeVariables#C# +// ^ reference scip-java maven . . minimized/TypeVariables#I# +// ⌄ enclosing_range_start scip-java maven . . minimized/TypeVariables#CT#mI(). public void mI() {} -// ^^ definition semanticdb maven . . minimized/TypeVariables#CT#mI(). +// ^^ definition scip-java maven . . minimized/TypeVariables#CT#mI(). // display_name mI // signature_documentation java public void mI() // kind Method -// relationship is_reference is_implementation semanticdb maven . . minimized/TypeVariables#I#mI(). -// ⌃ enclosing_range_end semanticdb maven . . minimized/TypeVariables#CT#mI(). +// relationship is_reference is_implementation scip-java maven . . minimized/TypeVariables#I#mI(). +// ⌃ enclosing_range_end scip-java maven . . minimized/TypeVariables#CT#mI(). } -// ⌃ enclosing_range_end semanticdb maven . . minimized/TypeVariables#CT# +// ⌃ enclosing_range_end scip-java maven . . minimized/TypeVariables#CT# -// ⌄ enclosing_range_start semanticdb maven . . minimized/TypeVariables#app().[T] -// ⌄ enclosing_range_start semanticdb maven . . minimized/TypeVariables#app(). +// ⌄ enclosing_range_start scip-java maven . . minimized/TypeVariables#app(). +// ⌄ enclosing_range_start scip-java maven . . minimized/TypeVariables#app().[T] // ⌄ enclosing_range_start local 0 public static void app(T t) { -// ^ definition semanticdb maven . . minimized/TypeVariables#app().[T] +// ^ definition scip-java maven . . minimized/TypeVariables#app().[T] // display_name T // signature_documentation java T extends C & I // kind TypeParameter -// ^ reference semanticdb maven . . minimized/TypeVariables#C# -// ^ reference semanticdb maven . . minimized/TypeVariables#I# -// ^^^ definition semanticdb maven . . minimized/TypeVariables#app(). +// ^ reference scip-java maven . . minimized/TypeVariables#C# +// ^ reference scip-java maven . . minimized/TypeVariables#I# +// ^^^ definition scip-java maven . . minimized/TypeVariables#app(). // display_name app // signature_documentation java public static void app(T t) // kind StaticMethod -// ^ reference semanticdb maven . . minimized/TypeVariables#app().[T] +// ^ reference scip-java maven . . minimized/TypeVariables#app().[T] // ^ definition local 0 // display_name t // signature_documentation java T t -// enclosing_symbol semanticdb maven . . minimized/TypeVariables#app(). +// enclosing_symbol scip-java maven . . minimized/TypeVariables#app(). +// kind Parameter // ⌃ enclosing_range_end local 0 t.mI(); // ^ reference local 0 -// ^^ reference semanticdb maven . . minimized/TypeVariables#I#mI(). +// ^^ reference scip-java maven . . minimized/TypeVariables#I#mI(). t.mCPublic(); // ^ reference local 0 -// ^^^^^^^^ reference semanticdb maven . . minimized/TypeVariables#C#mCPublic(). +// ^^^^^^^^ reference scip-java maven . . minimized/TypeVariables#C#mCPublic(). t.mCProtected(); // ^ reference local 0 -// ^^^^^^^^^^^ reference semanticdb maven . . minimized/TypeVariables#C#mCProtected(). +// ^^^^^^^^^^^ reference scip-java maven . . minimized/TypeVariables#C#mCProtected(). t.mCPackage(); // ^ reference local 0 -// ^^^^^^^^^ reference semanticdb maven . . minimized/TypeVariables#C#mCPackage(). +// ^^^^^^^^^ reference scip-java maven . . minimized/TypeVariables#C#mCPackage(). } -// ⌃ enclosing_range_end semanticdb maven . . minimized/TypeVariables#app().[T] -// ⌃ enclosing_range_end semanticdb maven . . minimized/TypeVariables#app(). +// ⌃ enclosing_range_end scip-java maven . . minimized/TypeVariables#app(). +// ⌃ enclosing_range_end scip-java maven . . minimized/TypeVariables#app().[T] } -//⌃ enclosing_range_end semanticdb maven . . minimized/TypeVariables# +//⌃ enclosing_range_end scip-java maven . . minimized/TypeVariables# diff --git a/tests/snapshots/src/main/scala/tests/MinimizedSnapshotScipGenerator.scala b/tests/snapshots/src/main/scala/tests/MinimizedSnapshotScipGenerator.scala index 02bc6999..4f200693 100644 --- a/tests/snapshots/src/main/scala/tests/MinimizedSnapshotScipGenerator.scala +++ b/tests/snapshots/src/main/scala/tests/MinimizedSnapshotScipGenerator.scala @@ -45,6 +45,7 @@ class MinimizedSnapshotScipGenerator extends SnapshotGenerator { sourceroot.toString(), "--output", scipOutput.toString, + "--use-scip-shards", "--targetroot", targetroot.toString() ) diff --git a/tests/unit/src/test/scala/tests/ScipAggregationSuite.scala b/tests/unit/src/test/scala/tests/ScipAggregationSuite.scala new file mode 100644 index 00000000..000f5d11 --- /dev/null +++ b/tests/unit/src/test/scala/tests/ScipAggregationSuite.scala @@ -0,0 +1,103 @@ +package tests + +import java.nio.file.Files +import java.util.Collections + +import scala.jdk.CollectionConverters._ +import scala.meta.Input + +import com.sourcegraph.Scip +import com.sourcegraph.scip_semanticdb.{ + ScipOutputFormat, + ScipSemanticdbOptions, + ScipSemanticdbReporter, + ScipShardAggregator +} +import munit.FunSuite + +// End-to-end test for the SCIP shard aggregation pipeline: compile Java with +// the default shard emission, run ScipShardAggregator over the produced +// META-INF/scip shards, and assert the final index.scip is well-formed and +// uses the scip-java symbol scheme. +class ScipAggregationSuite extends FunSuite { + + private val source = + Input.VirtualFile( + "example/Foo.java", + """package example; + | + |public class Foo { + | public int bar() { return 1; } + |} + |""".stripMargin + ) + + test("aggregator produces a scip-java index from compiler shards") { + val targetroot = Files.createTempDirectory("scip-agg-target-") + val sourceroot = Files.createTempDirectory("scip-agg-source-") + val compiler = + new TestCompiler(TestCompiler.PROCESSOR_PATH, Nil, targetroot, sourceroot) + val result = + compiler.compile( + Seq(source), + Seq( + s"-Xplugin:semanticdb -text:on -sourceroot:$sourceroot -targetroot:$targetroot" + ) + ) + assert(result.isSuccess, s"javac failed:\n${result.stdout}") + + val output = Files.createTempFile("scip-agg-out-", ".scip") + val options = new ScipSemanticdbOptions( + Collections.singletonList(targetroot), + output, + sourceroot, + new ScipSemanticdbReporter() {}, + Scip + .ToolInfo + .newBuilder() + .setName("scip-java") + .setVersion("test") + .build(), + ScipOutputFormat.TYPED_PROTOBUF, + false, + Collections.emptyList(), + true, + false, + false + ) + + ScipShardAggregator.run(options) + + // SCIP's stream format concatenates multiple Index messages. Protobuf merges concatenated + // messages of the same type when parsed as a single message: singular fields take the last + // value and repeated fields are concatenated, so this gives us the full aggregated view. + val bytes = Files.readAllBytes(output) + val index = Scip.Index.parseFrom(bytes) + + // Metadata is present. + assert(index.hasMetadata, s"expected metadata in index: $index") + assertEquals(index.getMetadata.getToolInfo.getName, "scip-java") + + val docs = index.getDocumentsList.asScala + assert(docs.nonEmpty, "expected at least one document in aggregated index") + val doc = docs.find(_.getRelativePath == "example/Foo.java").get + + // Every symbol/occurrence must be in final form: either local or scip-java. + doc + .getSymbolsList + .asScala + .foreach { info => + val s = info.getSymbol + val ok = s.startsWith("scip-java maven ") || s.startsWith("local ") + assert(ok, s"symbol not in final form: $s") + } + doc + .getOccurrencesList + .asScala + .foreach { occ => + val s = occ.getSymbol + val ok = s.startsWith("scip-java maven ") || s.startsWith("local ") + assert(ok, s"occurrence not in final form: $s") + } + } +} diff --git a/tests/unit/src/test/scala/tests/ScipShardEmissionSuite.scala b/tests/unit/src/test/scala/tests/ScipShardEmissionSuite.scala new file mode 100644 index 00000000..cc3544fe --- /dev/null +++ b/tests/unit/src/test/scala/tests/ScipShardEmissionSuite.scala @@ -0,0 +1,122 @@ +package tests + +import java.nio.file.Files + +import scala.jdk.CollectionConverters._ +import scala.meta.Input + +import com.sourcegraph.Scip +import com.sourcegraph.semanticdb_javac.ScipSymbols +import munit.FunSuite + +/** + * Verifies that the plugin produces a parseable `*.scip` shard alongside the + * existing `*.semanticdb` file by default, and that `-emit-scip:off` disables it. + */ +class ScipShardEmissionSuite extends FunSuite { + + private val source = Input.VirtualFile( + "example/Foo.java", + """package example; + | + |public class Foo { + | public int bar() { + | int x = 1; + | return x; + | } + |} + |""".stripMargin + ) + + test("compiler emits a parseable SCIP shard by default") { + val targetroot = Files.createTempDirectory("scip-shard-emission-") + val sourceroot = Files.createTempDirectory("scip-shard-emission-src-") + val compiler = + new TestCompiler(TestCompiler.PROCESSOR_PATH, Nil, targetroot, sourceroot) + val result = compiler.compile( + Seq(source), + Seq( + s"-Xplugin:semanticdb -text:on -sourceroot:$sourceroot -targetroot:$targetroot" + ) + ) + assert(result.isSuccess, s"javac failed:\n${result.stdout}") + + val semanticdbPath = targetroot.resolve( + "META-INF/semanticdb/example/Foo.java.semanticdb" + ) + val scipPath = targetroot.resolve("META-INF/scip/example/Foo.java.scip") + + assert(Files.isRegularFile(semanticdbPath), s"missing $semanticdbPath") + assert(Files.isRegularFile(scipPath), s"missing $scipPath") + + val shard = Scip.Index.parseFrom(Files.readAllBytes(scipPath)) + assertEquals(shard.getDocumentsCount, 1) + val doc = shard.getDocuments(0) + assertEquals(doc.getRelativePath, "example/Foo.java") + assertEquals(doc.getLanguage, "java") + + val symbols = doc.getSymbolsList.asScala + assert(symbols.nonEmpty, "expected at least one symbol") + + // Globals must use the placeholder prefix; locals must use "local N". + symbols.foreach { info => + val s = info.getSymbol + val ok = + s.startsWith(ScipSymbols.PLACEHOLDER_PREFIX) || s.startsWith("local ") + assert(ok, s"unexpected symbol form: $s") + } + + val occurrences = doc.getOccurrencesList.asScala + assert(occurrences.nonEmpty, "expected at least one occurrence") + occurrences.foreach { occ => + val s = occ.getSymbol + val ok = + s.startsWith(ScipSymbols.PLACEHOLDER_PREFIX) || s.startsWith("local ") + assert(ok, s"unexpected occurrence symbol: $s") + } + + // At least one definition should carry a Java signature_documentation block. + val withSignatures = symbols.filter { info => + info.hasSignatureDocumentation && + info.getSignatureDocumentation.getLanguage == "java" && + info.getSignatureDocumentation.getText.nonEmpty + } + assert( + withSignatures.nonEmpty, + s"expected signature docs; got: ${symbols.mkString("\n")}" + ) + + val fooClass = symbols.find { info => + info.getKind == Scip.SymbolInformation.Kind.Class && + info.getDisplayName == "Foo" + } + assert(fooClass.isDefined, "expected Foo class symbol") + val text = fooClass.get.getSignatureDocumentation.getText + assert(text.contains("class Foo"), s"unexpected signature: $text") + + val barMethod = symbols.find { info => + info.getKind == Scip.SymbolInformation.Kind.Method && + info.getDisplayName == "bar" + } + assert(barMethod.isDefined, "expected bar method symbol") + val barText = barMethod.get.getSignatureDocumentation.getText + assert(barText.contains("int bar("), s"unexpected bar signature: $barText") + } + + test("compiler does not emit SCIP shards when -emit-scip:off is set") { + val targetroot = Files.createTempDirectory("scip-shard-off-") + val sourceroot = Files.createTempDirectory("scip-shard-off-src-") + val compiler = + new TestCompiler(TestCompiler.PROCESSOR_PATH, Nil, targetroot, sourceroot) + val result = compiler.compile( + Seq(source), + List( + s"-Xplugin:semanticdb -emit-scip:off -text:on -sourceroot:$sourceroot -targetroot:$targetroot" + ) + ) + assert(result.isSuccess, s"javac failed:\n${result.stdout}") + + val scipPath = targetroot.resolve("META-INF/scip/example/Foo.java.scip") + assert(!Files.exists(scipPath), s"unexpected scip shard at $scipPath") + } +} diff --git a/tests/unit/src/test/scala/tests/ScipSymbolsSuite.scala b/tests/unit/src/test/scala/tests/ScipSymbolsSuite.scala new file mode 100644 index 00000000..c15d7e7d --- /dev/null +++ b/tests/unit/src/test/scala/tests/ScipSymbolsSuite.scala @@ -0,0 +1,83 @@ +package tests + +import java.nio.file.Paths +import java.util.{Collections, Optional} + +import com.sourcegraph.Scip +import com.sourcegraph.scip_semanticdb.{ + Package, + PackageTable, + ScipOutputFormat, + ScipSemanticdbOptions, + ScipSemanticdbReporter, + SymbolRewriter +} +import com.sourcegraph.semanticdb_javac.ScipSymbols +import munit.FunSuite + +class ScipSymbolsSuite extends FunSuite { + + test("global symbol gets placeholder prefix") { + assertEquals( + ScipSymbols.fromSemanticdbSymbol("com/example/Foo#bar()."), + ". . . . com/example/Foo#bar()." + ) + } + + test("local symbol gets canonical SCIP form") { + assertEquals(ScipSymbols.fromSemanticdbSymbol("local42"), "local 42") + } + + test("empty / null symbol stays empty") { + assertEquals(ScipSymbols.fromSemanticdbSymbol(""), "") + assertEquals(ScipSymbols.fromSemanticdbSymbol(null), "") + } + + // A PackageTable built with no packages — packageForSymbol always returns empty + // unless the JDK classfile is on the classpath. Override defensively just in case. + private lazy val emptyPackages: PackageTable = + new PackageTable( + new ScipSemanticdbOptions( + Collections.emptyList(), + Paths.get("/tmp"), + Paths.get("/tmp"), + new ScipSemanticdbReporter() {}, + Scip + .ToolInfo + .newBuilder() + .setName("scip-java") + .setVersion("test") + .build(), + ScipOutputFormat.TYPED_PROTOBUF, + false, + Collections.emptyList(), + false, + true, + false + ) + ) { + override def packageForSymbol(symbol: String): Optional[Package] = + Optional.empty() + } + + test("SymbolRewriter leaves locals and final symbols alone") { + val rewriter = new SymbolRewriter(emptyPackages) + assertEquals(rewriter.rewrite("local 1"), "local 1") + assertEquals( + rewriter.rewrite("scip-java maven g a v com/example/Foo#"), + "scip-java maven g a v com/example/Foo#" + ) + assertEquals(rewriter.rewrite(""), "") + assertEquals(rewriter.rewrite(null), null) + } + + test( + "SymbolRewriter falls back to empty package when no metadata available" + ) { + val rewriter = new SymbolRewriter(emptyPackages) + assertEquals( + rewriter.rewrite(". . . . com/example/Foo#bar()."), + "scip-java maven . . com/example/Foo#bar()." + ) + } +}