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 extends TypeMirror> 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 extends VariableElement> 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 extends TypeMirror> 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 extends TypeMirror> 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 extends TypeParameterElement> typeParameters) {
+ if (typeParameters.isEmpty()) return;
+ out.append('<');
+ Iterator extends TypeParameterElement> it = typeParameters.iterator();
+ while (it.hasNext()) {
+ formatTypeParameter(out, it.next());
+ if (it.hasNext()) out.append(", ");
+ }
+ out.append('>');
+ }
+
+ private void formatJoin(StringBuilder out, List extends TypeMirror> types, String separator) {
+ Iterator extends TypeMirror> 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 extends TypeMirror> args = t.getTypeArguments();
+ if (!args.isEmpty()) {
+ out.append('<');
+ Iterator extends TypeMirror> 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 extends TypeMirror> 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 extends TypeMirror> 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 extends Element> 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 extends String, ?> 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 extends String, ?> 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