From 34f28de2f5f131a591df548f64270d83d8270e10 Mon Sep 17 00:00:00 2001 From: Nicolas Guichard Date: Wed, 4 Dec 2024 12:01:16 +0100 Subject: [PATCH 01/54] Fix formatting Run `gradle splotlessApply`, remove trailing whitesepace and file endings. --- .github/workflows/ci.yml | 4 +- .github/workflows/release.yml | 4 +- .run/lsif-kotlin debug.run.xml | 2 +- .run/lsif-kotlin test.run.xml | 2 +- ...tlin_debug-project [compileKotlin].run.xml | 2 +- ...f-kotlin_semanticdb-kotlin [build].run.xml | 2 +- ...f-kotlin_semanticdb-kotlinc [test].run.xml | 2 +- README.md | 11 +- debug-project/build.gradle.kts | 2 +- gradle.properties | 3 +- semanticdb-kotlin/build.gradle.kts | 2 +- semanticdb-kotlin/krotoconfig.json | 2 +- .../semanticdb_kotlinc/Semanticdb.java | 396 +++++++++--------- .../semanticdb.proto | 2 +- .../SemanticdbTextDocumentBuilder.kt | 13 +- ...otlin.compiler.plugin.CommandLineProcessor | 2 +- ....kotlin.compiler.plugin.ComponentRegistrar | 2 +- .../com/sourcegraph/lsif_kotlin/Snapshot.kt | 35 +- .../semanticdb_kotlinc/test/AnalyzerTest.kt | 9 +- .../test/SemanticdbSymbolsTest.kt | 12 +- 20 files changed, 250 insertions(+), 259 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2845df25..9fa02c8e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -8,9 +8,9 @@ jobs: steps: - uses: actions/checkout@v3 - uses: actions/setup-java@v3 - with: + with: java-version: '8' distribution: 'adopt' cache: 'gradle' - name: Test - run: ./gradlew test \ No newline at end of file + run: ./gradlew test diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 67a5ac01..52cbeda1 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -12,7 +12,7 @@ jobs: id: tag run: echo "version=${GITHUB_REF/refs\/tags\/v/}" >> $GITHUB_OUTPUT - uses: actions/setup-java@v3 - with: + with: java-version: '8' distribution: 'adopt' cache: 'gradle' @@ -22,4 +22,4 @@ jobs: SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }} SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }} ORG_GRADLE_PROJECT_signingKey: ${{ secrets.PGP_SECRET }} - ORG_GRADLE_PROJECT_signingPassword: ${{ secrets.PGP_PASSPHRASE }} \ No newline at end of file + ORG_GRADLE_PROJECT_signingPassword: ${{ secrets.PGP_PASSPHRASE }} diff --git a/.run/lsif-kotlin debug.run.xml b/.run/lsif-kotlin debug.run.xml index 3588e7e9..e4a1de50 100644 --- a/.run/lsif-kotlin debug.run.xml +++ b/.run/lsif-kotlin debug.run.xml @@ -12,4 +12,4 @@ - \ No newline at end of file + diff --git a/.run/lsif-kotlin test.run.xml b/.run/lsif-kotlin test.run.xml index 5c1c5c51..b5999cc9 100644 --- a/.run/lsif-kotlin test.run.xml +++ b/.run/lsif-kotlin test.run.xml @@ -20,4 +20,4 @@ false - \ No newline at end of file + diff --git a/.run/lsif-kotlin_debug-project [compileKotlin].run.xml b/.run/lsif-kotlin_debug-project [compileKotlin].run.xml index 213b28dc..e915f4e6 100644 --- a/.run/lsif-kotlin_debug-project [compileKotlin].run.xml +++ b/.run/lsif-kotlin_debug-project [compileKotlin].run.xml @@ -20,4 +20,4 @@ false - \ No newline at end of file + diff --git a/.run/lsif-kotlin_semanticdb-kotlin [build].run.xml b/.run/lsif-kotlin_semanticdb-kotlin [build].run.xml index bbd93110..45651d4c 100644 --- a/.run/lsif-kotlin_semanticdb-kotlin [build].run.xml +++ b/.run/lsif-kotlin_semanticdb-kotlin [build].run.xml @@ -20,4 +20,4 @@ false - \ No newline at end of file + diff --git a/.run/lsif-kotlin_semanticdb-kotlinc [test].run.xml b/.run/lsif-kotlin_semanticdb-kotlinc [test].run.xml index 2ef1d3c7..0962fede 100644 --- a/.run/lsif-kotlin_semanticdb-kotlinc [test].run.xml +++ b/.run/lsif-kotlin_semanticdb-kotlinc [test].run.xml @@ -20,4 +20,4 @@ false - \ No newline at end of file + diff --git a/README.md b/README.md index f121c24c..a0c518c7 100644 --- a/README.md +++ b/README.md @@ -38,7 +38,7 @@ details on how to generate SemanticDB files and convert SemanticDB into SCIP. First, fetch the jar file of the SemanticDB compiler plugin: [`com.sourcegraph:semanticdb-kotlinc:VERSION`](https://mvnrepository.com/artifact/com.sourcegraph/semanticdb-kotlinc). -For example, you can use +For example, you can use [Coursier](https://get-coursier.io) to download the jar file. ```sh @@ -75,12 +75,3 @@ If you have Coursier installed, you can run scip-java directly like this cd $SOURCEROOT_DIRECTORY ./coursier launch --contrib scip-java -- index-semanticdb TARGETROOT_DIRECTORY ``` - - - - - - - - - diff --git a/debug-project/build.gradle.kts b/debug-project/build.gradle.kts index e6ff266c..5f9fe2c4 100644 --- a/debug-project/build.gradle.kts +++ b/debug-project/build.gradle.kts @@ -37,4 +37,4 @@ tasks.withType { "plugin:semanticdb-kotlinc:targetroot=${targetroot}" ) } -} \ No newline at end of file +} diff --git a/gradle.properties b/gradle.properties index d5c64289..1d09b9cb 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,3 +1,4 @@ kotlin.code.style=official org.gradle.parallel=true -org.gradle.caching=true \ No newline at end of file +org.gradle.caching=true + diff --git a/semanticdb-kotlin/build.gradle.kts b/semanticdb-kotlin/build.gradle.kts index 33e04b0e..aed0c509 100644 --- a/semanticdb-kotlin/build.gradle.kts +++ b/semanticdb-kotlin/build.gradle.kts @@ -56,4 +56,4 @@ protobuf { kotlin { } } -} \ No newline at end of file +} diff --git a/semanticdb-kotlin/krotoconfig.json b/semanticdb-kotlin/krotoconfig.json index 25fef935..3d057b9c 100644 --- a/semanticdb-kotlin/krotoconfig.json +++ b/semanticdb-kotlin/krotoconfig.json @@ -9,4 +9,4 @@ "grpcCoroutines": [], "grpcStubExts": [], "generatorScripts": [] -} \ No newline at end of file +} diff --git a/semanticdb-kotlin/src/main/java/com/sourcegraph/semanticdb_kotlinc/Semanticdb.java b/semanticdb-kotlin/src/main/java/com/sourcegraph/semanticdb_kotlinc/Semanticdb.java index 25adf1d5..3dfa4e47 100644 --- a/semanticdb-kotlin/src/main/java/com/sourcegraph/semanticdb_kotlinc/Semanticdb.java +++ b/semanticdb-kotlin/src/main/java/com/sourcegraph/semanticdb_kotlinc/Semanticdb.java @@ -264,7 +264,7 @@ public interface TextDocumentsOrBuilder extends /** * repeated .com.sourcegraph.semanticdb_kotlinc.TextDocument documents = 1; */ - java.util.List + java.util.List getDocumentsList(); /** * repeated .com.sourcegraph.semanticdb_kotlinc.TextDocument documents = 1; @@ -277,7 +277,7 @@ public interface TextDocumentsOrBuilder extends /** * repeated .com.sourcegraph.semanticdb_kotlinc.TextDocument documents = 1; */ - java.util.List + java.util.List getDocumentsOrBuilderList(); /** * repeated .com.sourcegraph.semanticdb_kotlinc.TextDocument documents = 1; @@ -389,7 +389,7 @@ public java.util.Listrepeated .com.sourcegraph.semanticdb_kotlinc.TextDocument documents = 1; */ @java.lang.Override - public java.util.List + public java.util.List getDocumentsOrBuilderList() { return documents_; } @@ -720,7 +720,7 @@ public Builder mergeFrom(com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocum documentsBuilder_ = null; documents_ = other.documents_; bitField0_ = (bitField0_ & ~0x00000001); - documentsBuilder_ = + documentsBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getDocumentsFieldBuilder() : null; } else { @@ -953,7 +953,7 @@ public com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocumentOrBuilder getDo /** * repeated .com.sourcegraph.semanticdb_kotlinc.TextDocument documents = 1; */ - public java.util.List + public java.util.List getDocumentsOrBuilderList() { if (documentsBuilder_ != null) { return documentsBuilder_.getMessageOrBuilderList(); @@ -979,12 +979,12 @@ public com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocument.Builder addDoc /** * repeated .com.sourcegraph.semanticdb_kotlinc.TextDocument documents = 1; */ - public java.util.List + public java.util.List getDocumentsBuilderList() { return getDocumentsFieldBuilder().getBuilderList(); } private com.google.protobuf.RepeatedFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocument, com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocument.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocumentOrBuilder> + com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocument, com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocument.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocumentOrBuilder> getDocumentsFieldBuilder() { if (documentsBuilder_ == null) { documentsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< @@ -1115,7 +1115,7 @@ public interface TextDocumentOrBuilder extends /** * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolInformation symbols = 5; */ - java.util.List + java.util.List getSymbolsList(); /** * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolInformation symbols = 5; @@ -1128,7 +1128,7 @@ public interface TextDocumentOrBuilder extends /** * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolInformation symbols = 5; */ - java.util.List + java.util.List getSymbolsOrBuilderList(); /** * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolInformation symbols = 5; @@ -1139,7 +1139,7 @@ com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformationOrBuilder getSymb /** * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolOccurrence occurrences = 6; */ - java.util.List + java.util.List getOccurrencesList(); /** * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolOccurrence occurrences = 6; @@ -1152,7 +1152,7 @@ com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformationOrBuilder getSymb /** * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolOccurrence occurrences = 6; */ - java.util.List + java.util.List getOccurrencesOrBuilderList(); /** * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolOccurrence occurrences = 6; @@ -1330,7 +1330,7 @@ public java.lang.String getUri() { if (ref instanceof java.lang.String) { return (java.lang.String) ref; } else { - com.google.protobuf.ByteString bs = + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); uri_ = s; @@ -1346,7 +1346,7 @@ public java.lang.String getUri() { getUriBytes() { java.lang.Object ref = uri_; if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = + com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); uri_ = b; @@ -1368,7 +1368,7 @@ public java.lang.String getText() { if (ref instanceof java.lang.String) { return (java.lang.String) ref; } else { - com.google.protobuf.ByteString bs = + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); text_ = s; @@ -1384,7 +1384,7 @@ public java.lang.String getText() { getTextBytes() { java.lang.Object ref = text_; if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = + com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); text_ = b; @@ -1406,7 +1406,7 @@ public java.lang.String getMd5() { if (ref instanceof java.lang.String) { return (java.lang.String) ref; } else { - com.google.protobuf.ByteString bs = + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); md5_ = s; @@ -1422,7 +1422,7 @@ public java.lang.String getMd5() { getMd5Bytes() { java.lang.Object ref = md5_; if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = + com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); md5_ = b; @@ -1464,7 +1464,7 @@ public java.util.Listrepeated .com.sourcegraph.semanticdb_kotlinc.SymbolInformation symbols = 5; */ @java.lang.Override - public java.util.List + public java.util.List getSymbolsOrBuilderList() { return symbols_; } @@ -1504,7 +1504,7 @@ public java.util.Listrepeated .com.sourcegraph.semanticdb_kotlinc.SymbolOccurrence occurrences = 6; */ @java.lang.Override - public java.util.List + public java.util.List getOccurrencesOrBuilderList() { return occurrences_; } @@ -1947,7 +1947,7 @@ public Builder mergeFrom(com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocum symbolsBuilder_ = null; symbols_ = other.symbols_; bitField0_ = (bitField0_ & ~0x00000001); - symbolsBuilder_ = + symbolsBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getSymbolsFieldBuilder() : null; } else { @@ -1973,7 +1973,7 @@ public Builder mergeFrom(com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocum occurrencesBuilder_ = null; occurrences_ = other.occurrences_; bitField0_ = (bitField0_ & ~0x00000002); - occurrencesBuilder_ = + occurrencesBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getOccurrencesFieldBuilder() : null; } else { @@ -2025,7 +2025,7 @@ public Builder mergeFrom( * @return This builder for chaining. */ public Builder setSchemaValue(int value) { - + schema_ = value; onChanged(); return this; @@ -2049,7 +2049,7 @@ public Builder setSchema(com.sourcegraph.semanticdb_kotlinc.Semanticdb.Schema va if (value == null) { throw new NullPointerException(); } - + schema_ = value.getNumber(); onChanged(); return this; @@ -2059,7 +2059,7 @@ public Builder setSchema(com.sourcegraph.semanticdb_kotlinc.Semanticdb.Schema va * @return This builder for chaining. */ public Builder clearSchema() { - + schema_ = 0; onChanged(); return this; @@ -2090,7 +2090,7 @@ public java.lang.String getUri() { getUriBytes() { java.lang.Object ref = uri_; if (ref instanceof String) { - com.google.protobuf.ByteString b = + com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); uri_ = b; @@ -2109,7 +2109,7 @@ public Builder setUri( if (value == null) { throw new NullPointerException(); } - + uri_ = value; onChanged(); return this; @@ -2119,7 +2119,7 @@ public Builder setUri( * @return This builder for chaining. */ public Builder clearUri() { - + uri_ = getDefaultInstance().getUri(); onChanged(); return this; @@ -2135,7 +2135,7 @@ public Builder setUriBytes( throw new NullPointerException(); } checkByteStringIsUtf8(value); - + uri_ = value; onChanged(); return this; @@ -2166,7 +2166,7 @@ public java.lang.String getText() { getTextBytes() { java.lang.Object ref = text_; if (ref instanceof String) { - com.google.protobuf.ByteString b = + com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); text_ = b; @@ -2185,7 +2185,7 @@ public Builder setText( if (value == null) { throw new NullPointerException(); } - + text_ = value; onChanged(); return this; @@ -2195,7 +2195,7 @@ public Builder setText( * @return This builder for chaining. */ public Builder clearText() { - + text_ = getDefaultInstance().getText(); onChanged(); return this; @@ -2211,7 +2211,7 @@ public Builder setTextBytes( throw new NullPointerException(); } checkByteStringIsUtf8(value); - + text_ = value; onChanged(); return this; @@ -2242,7 +2242,7 @@ public java.lang.String getMd5() { getMd5Bytes() { java.lang.Object ref = md5_; if (ref instanceof String) { - com.google.protobuf.ByteString b = + com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); md5_ = b; @@ -2261,7 +2261,7 @@ public Builder setMd5( if (value == null) { throw new NullPointerException(); } - + md5_ = value; onChanged(); return this; @@ -2271,7 +2271,7 @@ public Builder setMd5( * @return This builder for chaining. */ public Builder clearMd5() { - + md5_ = getDefaultInstance().getMd5(); onChanged(); return this; @@ -2287,7 +2287,7 @@ public Builder setMd5Bytes( throw new NullPointerException(); } checkByteStringIsUtf8(value); - + md5_ = value; onChanged(); return this; @@ -2307,7 +2307,7 @@ public Builder setMd5Bytes( * @return This builder for chaining. */ public Builder setLanguageValue(int value) { - + language_ = value; onChanged(); return this; @@ -2331,7 +2331,7 @@ public Builder setLanguage(com.sourcegraph.semanticdb_kotlinc.Semanticdb.Languag if (value == null) { throw new NullPointerException(); } - + language_ = value.getNumber(); onChanged(); return this; @@ -2341,7 +2341,7 @@ public Builder setLanguage(com.sourcegraph.semanticdb_kotlinc.Semanticdb.Languag * @return This builder for chaining. */ public Builder clearLanguage() { - + language_ = 0; onChanged(); return this; @@ -2542,7 +2542,7 @@ public com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformationOrBuilder /** * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolInformation symbols = 5; */ - public java.util.List + public java.util.List getSymbolsOrBuilderList() { if (symbolsBuilder_ != null) { return symbolsBuilder_.getMessageOrBuilderList(); @@ -2568,12 +2568,12 @@ public com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation.Builder a /** * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolInformation symbols = 5; */ - public java.util.List + public java.util.List getSymbolsBuilderList() { return getSymbolsFieldBuilder().getBuilderList(); } private com.google.protobuf.RepeatedFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation, com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformationOrBuilder> + com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation, com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformationOrBuilder> getSymbolsFieldBuilder() { if (symbolsBuilder_ == null) { symbolsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< @@ -2782,7 +2782,7 @@ public com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolOccurrenceOrBuilder g /** * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolOccurrence occurrences = 6; */ - public java.util.List + public java.util.List getOccurrencesOrBuilderList() { if (occurrencesBuilder_ != null) { return occurrencesBuilder_.getMessageOrBuilderList(); @@ -2808,12 +2808,12 @@ public com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolOccurrence.Builder ad /** * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolOccurrence occurrences = 6; */ - public java.util.List + public java.util.List getOccurrencesBuilderList() { return getOccurrencesFieldBuilder().getBuilderList(); } private com.google.protobuf.RepeatedFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolOccurrence, com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolOccurrence.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolOccurrenceOrBuilder> + com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolOccurrence, com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolOccurrence.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolOccurrenceOrBuilder> getOccurrencesFieldBuilder() { if (occurrencesBuilder_ == null) { occurrencesBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< @@ -3416,7 +3416,7 @@ public int getStartLine() { * @return This builder for chaining. */ public Builder setStartLine(int value) { - + startLine_ = value; onChanged(); return this; @@ -3426,7 +3426,7 @@ public Builder setStartLine(int value) { * @return This builder for chaining. */ public Builder clearStartLine() { - + startLine_ = 0; onChanged(); return this; @@ -3447,7 +3447,7 @@ public int getStartCharacter() { * @return This builder for chaining. */ public Builder setStartCharacter(int value) { - + startCharacter_ = value; onChanged(); return this; @@ -3457,7 +3457,7 @@ public Builder setStartCharacter(int value) { * @return This builder for chaining. */ public Builder clearStartCharacter() { - + startCharacter_ = 0; onChanged(); return this; @@ -3478,7 +3478,7 @@ public int getEndLine() { * @return This builder for chaining. */ public Builder setEndLine(int value) { - + endLine_ = value; onChanged(); return this; @@ -3488,7 +3488,7 @@ public Builder setEndLine(int value) { * @return This builder for chaining. */ public Builder clearEndLine() { - + endLine_ = 0; onChanged(); return this; @@ -3509,7 +3509,7 @@ public int getEndCharacter() { * @return This builder for chaining. */ public Builder setEndCharacter(int value) { - + endCharacter_ = value; onChanged(); return this; @@ -3519,7 +3519,7 @@ public Builder setEndCharacter(int value) { * @return This builder for chaining. */ public Builder clearEndCharacter() { - + endCharacter_ = 0; onChanged(); return this; @@ -4489,7 +4489,7 @@ public com.sourcegraph.semanticdb_kotlinc.Semanticdb.ClassSignatureOrBuilder get * .com.sourcegraph.semanticdb_kotlinc.ClassSignature class_signature = 1; */ private com.google.protobuf.SingleFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.ClassSignature, com.sourcegraph.semanticdb_kotlinc.Semanticdb.ClassSignature.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.ClassSignatureOrBuilder> + com.sourcegraph.semanticdb_kotlinc.Semanticdb.ClassSignature, com.sourcegraph.semanticdb_kotlinc.Semanticdb.ClassSignature.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.ClassSignatureOrBuilder> getClassSignatureFieldBuilder() { if (classSignatureBuilder_ == null) { if (!(sealedValueCase_ == 1)) { @@ -4630,7 +4630,7 @@ public com.sourcegraph.semanticdb_kotlinc.Semanticdb.MethodSignatureOrBuilder ge * .com.sourcegraph.semanticdb_kotlinc.MethodSignature method_signature = 2; */ private com.google.protobuf.SingleFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.MethodSignature, com.sourcegraph.semanticdb_kotlinc.Semanticdb.MethodSignature.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.MethodSignatureOrBuilder> + com.sourcegraph.semanticdb_kotlinc.Semanticdb.MethodSignature, com.sourcegraph.semanticdb_kotlinc.Semanticdb.MethodSignature.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.MethodSignatureOrBuilder> getMethodSignatureFieldBuilder() { if (methodSignatureBuilder_ == null) { if (!(sealedValueCase_ == 2)) { @@ -4771,7 +4771,7 @@ public com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeSignatureOrBuilder getT * .com.sourcegraph.semanticdb_kotlinc.TypeSignature type_signature = 3; */ private com.google.protobuf.SingleFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeSignature, com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeSignature.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeSignatureOrBuilder> + com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeSignature, com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeSignature.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeSignatureOrBuilder> getTypeSignatureFieldBuilder() { if (typeSignatureBuilder_ == null) { if (!(sealedValueCase_ == 3)) { @@ -4912,7 +4912,7 @@ public com.sourcegraph.semanticdb_kotlinc.Semanticdb.ValueSignatureOrBuilder get * .com.sourcegraph.semanticdb_kotlinc.ValueSignature value_signature = 4; */ private com.google.protobuf.SingleFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.ValueSignature, com.sourcegraph.semanticdb_kotlinc.Semanticdb.ValueSignature.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.ValueSignatureOrBuilder> + com.sourcegraph.semanticdb_kotlinc.Semanticdb.ValueSignature, com.sourcegraph.semanticdb_kotlinc.Semanticdb.ValueSignature.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.ValueSignatureOrBuilder> getValueSignatureFieldBuilder() { if (valueSignatureBuilder_ == null) { if (!(sealedValueCase_ == 4)) { @@ -5004,7 +5004,7 @@ public interface ClassSignatureOrBuilder extends /** * repeated .com.sourcegraph.semanticdb_kotlinc.Type parents = 2; */ - java.util.List + java.util.List getParentsList(); /** * repeated .com.sourcegraph.semanticdb_kotlinc.Type parents = 2; @@ -5017,7 +5017,7 @@ public interface ClassSignatureOrBuilder extends /** * repeated .com.sourcegraph.semanticdb_kotlinc.Type parents = 2; */ - java.util.List + java.util.List getParentsOrBuilderList(); /** * repeated .com.sourcegraph.semanticdb_kotlinc.Type parents = 2; @@ -5196,7 +5196,7 @@ public java.util.List getPar * repeated .com.sourcegraph.semanticdb_kotlinc.Type parents = 2; */ @java.lang.Override - public java.util.List + public java.util.List getParentsOrBuilderList() { return parents_; } @@ -5610,7 +5610,7 @@ public Builder mergeFrom(com.sourcegraph.semanticdb_kotlinc.Semanticdb.ClassSign parentsBuilder_ = null; parents_ = other.parents_; bitField0_ = (bitField0_ & ~0x00000001); - parentsBuilder_ = + parentsBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getParentsFieldBuilder() : null; } else { @@ -5738,7 +5738,7 @@ public Builder clearTypeParameters() { * .com.sourcegraph.semanticdb_kotlinc.Scope type_parameters = 1; */ public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope.Builder getTypeParametersBuilder() { - + onChanged(); return getTypeParametersFieldBuilder().getBuilder(); } @@ -5757,7 +5757,7 @@ public com.sourcegraph.semanticdb_kotlinc.Semanticdb.ScopeOrBuilder getTypeParam * .com.sourcegraph.semanticdb_kotlinc.Scope type_parameters = 1; */ private com.google.protobuf.SingleFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.ScopeOrBuilder> + com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.ScopeOrBuilder> getTypeParametersFieldBuilder() { if (typeParametersBuilder_ == null) { typeParametersBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< @@ -5965,7 +5965,7 @@ public com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeOrBuilder getParentsOrB /** * repeated .com.sourcegraph.semanticdb_kotlinc.Type parents = 2; */ - public java.util.List + public java.util.List getParentsOrBuilderList() { if (parentsBuilder_ != null) { return parentsBuilder_.getMessageOrBuilderList(); @@ -5991,12 +5991,12 @@ public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.Builder addParentsBuil /** * repeated .com.sourcegraph.semanticdb_kotlinc.Type parents = 2; */ - public java.util.List + public java.util.List getParentsBuilderList() { return getParentsFieldBuilder().getBuilderList(); } private com.google.protobuf.RepeatedFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeOrBuilder> + com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeOrBuilder> getParentsFieldBuilder() { if (parentsBuilder_ == null) { parentsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< @@ -6097,7 +6097,7 @@ public Builder clearDeclarations() { * .com.sourcegraph.semanticdb_kotlinc.Scope declarations = 4; */ public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope.Builder getDeclarationsBuilder() { - + onChanged(); return getDeclarationsFieldBuilder().getBuilder(); } @@ -6116,7 +6116,7 @@ public com.sourcegraph.semanticdb_kotlinc.Semanticdb.ScopeOrBuilder getDeclarati * .com.sourcegraph.semanticdb_kotlinc.Scope declarations = 4; */ private com.google.protobuf.SingleFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.ScopeOrBuilder> + com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.ScopeOrBuilder> getDeclarationsFieldBuilder() { if (declarationsBuilder_ == null) { declarationsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< @@ -6203,7 +6203,7 @@ public interface MethodSignatureOrBuilder extends /** * repeated .com.sourcegraph.semanticdb_kotlinc.Scope parameter_lists = 2; */ - java.util.List + java.util.List getParameterListsList(); /** * repeated .com.sourcegraph.semanticdb_kotlinc.Scope parameter_lists = 2; @@ -6216,7 +6216,7 @@ public interface MethodSignatureOrBuilder extends /** * repeated .com.sourcegraph.semanticdb_kotlinc.Scope parameter_lists = 2; */ - java.util.List + java.util.List getParameterListsOrBuilderList(); /** * repeated .com.sourcegraph.semanticdb_kotlinc.Scope parameter_lists = 2; @@ -6395,7 +6395,7 @@ public java.util.List getPa * repeated .com.sourcegraph.semanticdb_kotlinc.Scope parameter_lists = 2; */ @java.lang.Override - public java.util.List + public java.util.List getParameterListsOrBuilderList() { return parameterLists_; } @@ -6809,7 +6809,7 @@ public Builder mergeFrom(com.sourcegraph.semanticdb_kotlinc.Semanticdb.MethodSig parameterListsBuilder_ = null; parameterLists_ = other.parameterLists_; bitField0_ = (bitField0_ & ~0x00000001); - parameterListsBuilder_ = + parameterListsBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getParameterListsFieldBuilder() : null; } else { @@ -6937,7 +6937,7 @@ public Builder clearTypeParameters() { * .com.sourcegraph.semanticdb_kotlinc.Scope type_parameters = 1; */ public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope.Builder getTypeParametersBuilder() { - + onChanged(); return getTypeParametersFieldBuilder().getBuilder(); } @@ -6956,7 +6956,7 @@ public com.sourcegraph.semanticdb_kotlinc.Semanticdb.ScopeOrBuilder getTypeParam * .com.sourcegraph.semanticdb_kotlinc.Scope type_parameters = 1; */ private com.google.protobuf.SingleFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.ScopeOrBuilder> + com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.ScopeOrBuilder> getTypeParametersFieldBuilder() { if (typeParametersBuilder_ == null) { typeParametersBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< @@ -7164,7 +7164,7 @@ public com.sourcegraph.semanticdb_kotlinc.Semanticdb.ScopeOrBuilder getParameter /** * repeated .com.sourcegraph.semanticdb_kotlinc.Scope parameter_lists = 2; */ - public java.util.List + public java.util.List getParameterListsOrBuilderList() { if (parameterListsBuilder_ != null) { return parameterListsBuilder_.getMessageOrBuilderList(); @@ -7190,12 +7190,12 @@ public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope.Builder addParameterL /** * repeated .com.sourcegraph.semanticdb_kotlinc.Scope parameter_lists = 2; */ - public java.util.List + public java.util.List getParameterListsBuilderList() { return getParameterListsFieldBuilder().getBuilderList(); } private com.google.protobuf.RepeatedFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.ScopeOrBuilder> + com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.ScopeOrBuilder> getParameterListsFieldBuilder() { if (parameterListsBuilder_ == null) { parameterListsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< @@ -7296,7 +7296,7 @@ public Builder clearReturnType() { * .com.sourcegraph.semanticdb_kotlinc.Type return_type = 3; */ public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.Builder getReturnTypeBuilder() { - + onChanged(); return getReturnTypeFieldBuilder().getBuilder(); } @@ -7315,7 +7315,7 @@ public com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeOrBuilder getReturnType * .com.sourcegraph.semanticdb_kotlinc.Type return_type = 3; */ private com.google.protobuf.SingleFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeOrBuilder> + com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeOrBuilder> getReturnTypeFieldBuilder() { if (returnTypeBuilder_ == null) { returnTypeBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< @@ -8085,7 +8085,7 @@ public Builder clearTypeParameters() { * .com.sourcegraph.semanticdb_kotlinc.Scope type_parameters = 1; */ public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope.Builder getTypeParametersBuilder() { - + onChanged(); return getTypeParametersFieldBuilder().getBuilder(); } @@ -8104,7 +8104,7 @@ public com.sourcegraph.semanticdb_kotlinc.Semanticdb.ScopeOrBuilder getTypeParam * .com.sourcegraph.semanticdb_kotlinc.Scope type_parameters = 1; */ private com.google.protobuf.SingleFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.ScopeOrBuilder> + com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.ScopeOrBuilder> getTypeParametersFieldBuilder() { if (typeParametersBuilder_ == null) { typeParametersBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< @@ -8204,7 +8204,7 @@ public Builder clearLowerBound() { * .com.sourcegraph.semanticdb_kotlinc.Type lower_bound = 2; */ public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.Builder getLowerBoundBuilder() { - + onChanged(); return getLowerBoundFieldBuilder().getBuilder(); } @@ -8223,7 +8223,7 @@ public com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeOrBuilder getLowerBound * .com.sourcegraph.semanticdb_kotlinc.Type lower_bound = 2; */ private com.google.protobuf.SingleFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeOrBuilder> + com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeOrBuilder> getLowerBoundFieldBuilder() { if (lowerBoundBuilder_ == null) { lowerBoundBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< @@ -8323,7 +8323,7 @@ public Builder clearUpperBound() { * .com.sourcegraph.semanticdb_kotlinc.Type upper_bound = 3; */ public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.Builder getUpperBoundBuilder() { - + onChanged(); return getUpperBoundFieldBuilder().getBuilder(); } @@ -8342,7 +8342,7 @@ public com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeOrBuilder getUpperBound * .com.sourcegraph.semanticdb_kotlinc.Type upper_bound = 3; */ private com.google.protobuf.SingleFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeOrBuilder> + com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeOrBuilder> getUpperBoundFieldBuilder() { if (upperBoundBuilder_ == null) { upperBoundBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< @@ -8944,7 +8944,7 @@ public Builder clearTpe() { * .com.sourcegraph.semanticdb_kotlinc.Type tpe = 1; */ public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.Builder getTpeBuilder() { - + onChanged(); return getTpeFieldBuilder().getBuilder(); } @@ -8963,7 +8963,7 @@ public com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeOrBuilder getTpeOrBuild * .com.sourcegraph.semanticdb_kotlinc.Type tpe = 1; */ private com.google.protobuf.SingleFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeOrBuilder> + com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeOrBuilder> getTpeFieldBuilder() { if (tpeBuilder_ == null) { tpeBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< @@ -9662,7 +9662,7 @@ public java.lang.String getSymbol() { if (ref instanceof java.lang.String) { return (java.lang.String) ref; } else { - com.google.protobuf.ByteString bs = + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); symbol_ = s; @@ -9678,7 +9678,7 @@ public java.lang.String getSymbol() { getSymbolBytes() { java.lang.Object ref = symbol_; if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = + com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); symbol_ = b; @@ -9749,7 +9749,7 @@ public java.lang.String getDisplayName() { if (ref instanceof java.lang.String) { return (java.lang.String) ref; } else { - com.google.protobuf.ByteString bs = + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); displayName_ = s; @@ -9765,7 +9765,7 @@ public java.lang.String getDisplayName() { getDisplayNameBytes() { java.lang.Object ref = displayName_; if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = + com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); displayName_ = b; @@ -10407,7 +10407,7 @@ public java.lang.String getSymbol() { getSymbolBytes() { java.lang.Object ref = symbol_; if (ref instanceof String) { - com.google.protobuf.ByteString b = + com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); symbol_ = b; @@ -10426,7 +10426,7 @@ public Builder setSymbol( if (value == null) { throw new NullPointerException(); } - + symbol_ = value; onChanged(); return this; @@ -10436,7 +10436,7 @@ public Builder setSymbol( * @return This builder for chaining. */ public Builder clearSymbol() { - + symbol_ = getDefaultInstance().getSymbol(); onChanged(); return this; @@ -10452,7 +10452,7 @@ public Builder setSymbolBytes( throw new NullPointerException(); } checkByteStringIsUtf8(value); - + symbol_ = value; onChanged(); return this; @@ -10472,7 +10472,7 @@ public Builder setSymbolBytes( * @return This builder for chaining. */ public Builder setLanguageValue(int value) { - + language_ = value; onChanged(); return this; @@ -10496,7 +10496,7 @@ public Builder setLanguage(com.sourcegraph.semanticdb_kotlinc.Semanticdb.Languag if (value == null) { throw new NullPointerException(); } - + language_ = value.getNumber(); onChanged(); return this; @@ -10506,7 +10506,7 @@ public Builder setLanguage(com.sourcegraph.semanticdb_kotlinc.Semanticdb.Languag * @return This builder for chaining. */ public Builder clearLanguage() { - + language_ = 0; onChanged(); return this; @@ -10526,7 +10526,7 @@ public Builder clearLanguage() { * @return This builder for chaining. */ public Builder setKindValue(int value) { - + kind_ = value; onChanged(); return this; @@ -10550,7 +10550,7 @@ public Builder setKind(com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInfor if (value == null) { throw new NullPointerException(); } - + kind_ = value.getNumber(); onChanged(); return this; @@ -10560,7 +10560,7 @@ public Builder setKind(com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInfor * @return This builder for chaining. */ public Builder clearKind() { - + kind_ = 0; onChanged(); return this; @@ -10581,7 +10581,7 @@ public int getProperties() { * @return This builder for chaining. */ public Builder setProperties(int value) { - + properties_ = value; onChanged(); return this; @@ -10591,7 +10591,7 @@ public Builder setProperties(int value) { * @return This builder for chaining. */ public Builder clearProperties() { - + properties_ = 0; onChanged(); return this; @@ -10622,7 +10622,7 @@ public java.lang.String getDisplayName() { getDisplayNameBytes() { java.lang.Object ref = displayName_; if (ref instanceof String) { - com.google.protobuf.ByteString b = + com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); displayName_ = b; @@ -10641,7 +10641,7 @@ public Builder setDisplayName( if (value == null) { throw new NullPointerException(); } - + displayName_ = value; onChanged(); return this; @@ -10651,7 +10651,7 @@ public Builder setDisplayName( * @return This builder for chaining. */ public Builder clearDisplayName() { - + displayName_ = getDefaultInstance().getDisplayName(); onChanged(); return this; @@ -10667,7 +10667,7 @@ public Builder setDisplayNameBytes( throw new NullPointerException(); } checkByteStringIsUtf8(value); - + displayName_ = value; onChanged(); return this; @@ -10760,7 +10760,7 @@ public Builder clearSignature() { * .com.sourcegraph.semanticdb_kotlinc.Signature signature = 17; */ public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Signature.Builder getSignatureBuilder() { - + onChanged(); return getSignatureFieldBuilder().getBuilder(); } @@ -10779,7 +10779,7 @@ public com.sourcegraph.semanticdb_kotlinc.Semanticdb.SignatureOrBuilder getSigna * .com.sourcegraph.semanticdb_kotlinc.Signature signature = 17; */ private com.google.protobuf.SingleFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Signature, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Signature.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.SignatureOrBuilder> + com.sourcegraph.semanticdb_kotlinc.Semanticdb.Signature, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Signature.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.SignatureOrBuilder> getSignatureFieldBuilder() { if (signatureBuilder_ == null) { signatureBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< @@ -10879,7 +10879,7 @@ public Builder clearAccess() { * .com.sourcegraph.semanticdb_kotlinc.Access access = 18; */ public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Access.Builder getAccessBuilder() { - + onChanged(); return getAccessFieldBuilder().getBuilder(); } @@ -10898,7 +10898,7 @@ public com.sourcegraph.semanticdb_kotlinc.Semanticdb.AccessOrBuilder getAccessOr * .com.sourcegraph.semanticdb_kotlinc.Access access = 18; */ private com.google.protobuf.SingleFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Access, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Access.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.AccessOrBuilder> + com.sourcegraph.semanticdb_kotlinc.Semanticdb.Access, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Access.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.AccessOrBuilder> getAccessFieldBuilder() { if (accessBuilder_ == null) { accessBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< @@ -11108,7 +11108,7 @@ public Builder clearDocumentation() { * .com.sourcegraph.semanticdb_kotlinc.Documentation documentation = 20; */ public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Documentation.Builder getDocumentationBuilder() { - + onChanged(); return getDocumentationFieldBuilder().getBuilder(); } @@ -11127,7 +11127,7 @@ public com.sourcegraph.semanticdb_kotlinc.Semanticdb.DocumentationOrBuilder getD * .com.sourcegraph.semanticdb_kotlinc.Documentation documentation = 20; */ private com.google.protobuf.SingleFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Documentation, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Documentation.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.DocumentationOrBuilder> + com.sourcegraph.semanticdb_kotlinc.Semanticdb.Documentation, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Documentation.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.DocumentationOrBuilder> getDocumentationFieldBuilder() { if (documentationBuilder_ == null) { documentationBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< @@ -12104,7 +12104,7 @@ public com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateAccessOrBuilder getP * .com.sourcegraph.semanticdb_kotlinc.PrivateAccess private_access = 1; */ private com.google.protobuf.SingleFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateAccess, com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateAccess.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateAccessOrBuilder> + com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateAccess, com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateAccess.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateAccessOrBuilder> getPrivateAccessFieldBuilder() { if (privateAccessBuilder_ == null) { if (!(sealedValueCase_ == 1)) { @@ -12245,7 +12245,7 @@ public com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateWithinAccessOrBuilde * .com.sourcegraph.semanticdb_kotlinc.PrivateWithinAccess private_within_access = 3; */ private com.google.protobuf.SingleFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateWithinAccess, com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateWithinAccess.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateWithinAccessOrBuilder> + com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateWithinAccess, com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateWithinAccess.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateWithinAccessOrBuilder> getPrivateWithinAccessFieldBuilder() { if (privateWithinAccessBuilder_ == null) { if (!(sealedValueCase_ == 3)) { @@ -12386,7 +12386,7 @@ public com.sourcegraph.semanticdb_kotlinc.Semanticdb.ProtectedAccessOrBuilder ge * .com.sourcegraph.semanticdb_kotlinc.ProtectedAccess protected_access = 4; */ private com.google.protobuf.SingleFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.ProtectedAccess, com.sourcegraph.semanticdb_kotlinc.Semanticdb.ProtectedAccess.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.ProtectedAccessOrBuilder> + com.sourcegraph.semanticdb_kotlinc.Semanticdb.ProtectedAccess, com.sourcegraph.semanticdb_kotlinc.Semanticdb.ProtectedAccess.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.ProtectedAccessOrBuilder> getProtectedAccessFieldBuilder() { if (protectedAccessBuilder_ == null) { if (!(sealedValueCase_ == 4)) { @@ -12527,7 +12527,7 @@ public com.sourcegraph.semanticdb_kotlinc.Semanticdb.PublicAccessOrBuilder getPu * .com.sourcegraph.semanticdb_kotlinc.PublicAccess public_access = 7; */ private com.google.protobuf.SingleFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.PublicAccess, com.sourcegraph.semanticdb_kotlinc.Semanticdb.PublicAccess.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.PublicAccessOrBuilder> + com.sourcegraph.semanticdb_kotlinc.Semanticdb.PublicAccess, com.sourcegraph.semanticdb_kotlinc.Semanticdb.PublicAccess.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.PublicAccessOrBuilder> getPublicAccessFieldBuilder() { if (publicAccessBuilder_ == null) { if (!(sealedValueCase_ == 7)) { @@ -13127,7 +13127,7 @@ public java.lang.String getSymbol() { if (ref instanceof java.lang.String) { return (java.lang.String) ref; } else { - com.google.protobuf.ByteString bs = + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); symbol_ = s; @@ -13143,7 +13143,7 @@ public java.lang.String getSymbol() { getSymbolBytes() { java.lang.Object ref = symbol_; if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = + com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); symbol_ = b; @@ -13480,7 +13480,7 @@ public java.lang.String getSymbol() { getSymbolBytes() { java.lang.Object ref = symbol_; if (ref instanceof String) { - com.google.protobuf.ByteString b = + com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); symbol_ = b; @@ -13499,7 +13499,7 @@ public Builder setSymbol( if (value == null) { throw new NullPointerException(); } - + symbol_ = value; onChanged(); return this; @@ -13509,7 +13509,7 @@ public Builder setSymbol( * @return This builder for chaining. */ public Builder clearSymbol() { - + symbol_ = getDefaultInstance().getSymbol(); onChanged(); return this; @@ -13525,7 +13525,7 @@ public Builder setSymbolBytes( throw new NullPointerException(); } checkByteStringIsUtf8(value); - + symbol_ = value; onChanged(); return this; @@ -14684,7 +14684,7 @@ public java.lang.String getMessage() { if (ref instanceof java.lang.String) { return (java.lang.String) ref; } else { - com.google.protobuf.ByteString bs = + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); message_ = s; @@ -14700,7 +14700,7 @@ public java.lang.String getMessage() { getMessageBytes() { java.lang.Object ref = message_; if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = + com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); message_ = b; @@ -15072,7 +15072,7 @@ public java.lang.String getMessage() { getMessageBytes() { java.lang.Object ref = message_; if (ref instanceof String) { - com.google.protobuf.ByteString b = + com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); message_ = b; @@ -15091,7 +15091,7 @@ public Builder setMessage( if (value == null) { throw new NullPointerException(); } - + message_ = value; onChanged(); return this; @@ -15101,7 +15101,7 @@ public Builder setMessage( * @return This builder for chaining. */ public Builder clearMessage() { - + message_ = getDefaultInstance().getMessage(); onChanged(); return this; @@ -15117,7 +15117,7 @@ public Builder setMessageBytes( throw new NullPointerException(); } checkByteStringIsUtf8(value); - + message_ = value; onChanged(); return this; @@ -15137,7 +15137,7 @@ public Builder setMessageBytes( * @return This builder for chaining. */ public Builder setFormatValue(int value) { - + format_ = value; onChanged(); return this; @@ -15161,7 +15161,7 @@ public Builder setFormat(com.sourcegraph.semanticdb_kotlinc.Semanticdb.Documenta if (value == null) { throw new NullPointerException(); } - + format_ = value.getNumber(); onChanged(); return this; @@ -15171,7 +15171,7 @@ public Builder setFormat(com.sourcegraph.semanticdb_kotlinc.Semanticdb.Documenta * @return This builder for chaining. */ public Builder clearFormat() { - + format_ = 0; onChanged(); return this; @@ -15530,7 +15530,7 @@ public java.lang.String getSymbol() { if (ref instanceof java.lang.String) { return (java.lang.String) ref; } else { - com.google.protobuf.ByteString bs = + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); symbol_ = s; @@ -15546,7 +15546,7 @@ public java.lang.String getSymbol() { getSymbolBytes() { java.lang.Object ref = symbol_; if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = + com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); symbol_ = b; @@ -16010,7 +16010,7 @@ public Builder clearRange() { * .com.sourcegraph.semanticdb_kotlinc.Range range = 1; */ public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Range.Builder getRangeBuilder() { - + onChanged(); return getRangeFieldBuilder().getBuilder(); } @@ -16029,7 +16029,7 @@ public com.sourcegraph.semanticdb_kotlinc.Semanticdb.RangeOrBuilder getRangeOrBu * .com.sourcegraph.semanticdb_kotlinc.Range range = 1; */ private com.google.protobuf.SingleFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Range, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Range.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.RangeOrBuilder> + com.sourcegraph.semanticdb_kotlinc.Semanticdb.Range, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Range.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.RangeOrBuilder> getRangeFieldBuilder() { if (rangeBuilder_ == null) { rangeBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< @@ -16067,7 +16067,7 @@ public java.lang.String getSymbol() { getSymbolBytes() { java.lang.Object ref = symbol_; if (ref instanceof String) { - com.google.protobuf.ByteString b = + com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); symbol_ = b; @@ -16086,7 +16086,7 @@ public Builder setSymbol( if (value == null) { throw new NullPointerException(); } - + symbol_ = value; onChanged(); return this; @@ -16096,7 +16096,7 @@ public Builder setSymbol( * @return This builder for chaining. */ public Builder clearSymbol() { - + symbol_ = getDefaultInstance().getSymbol(); onChanged(); return this; @@ -16112,7 +16112,7 @@ public Builder setSymbolBytes( throw new NullPointerException(); } checkByteStringIsUtf8(value); - + symbol_ = value; onChanged(); return this; @@ -16132,7 +16132,7 @@ public Builder setSymbolBytes( * @return This builder for chaining. */ public Builder setRoleValue(int value) { - + role_ = value; onChanged(); return this; @@ -16156,7 +16156,7 @@ public Builder setRole(com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolOccur if (value == null) { throw new NullPointerException(); } - + role_ = value.getNumber(); onChanged(); return this; @@ -16166,7 +16166,7 @@ public Builder setRole(com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolOccur * @return This builder for chaining. */ public Builder clearRole() { - + role_ = 0; onChanged(); return this; @@ -16256,7 +16256,7 @@ public interface ScopeOrBuilder extends /** * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolInformation hardlinks = 2; */ - java.util.List + java.util.List getHardlinksList(); /** * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolInformation hardlinks = 2; @@ -16269,7 +16269,7 @@ public interface ScopeOrBuilder extends /** * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolInformation hardlinks = 2; */ - java.util.List + java.util.List getHardlinksOrBuilderList(); /** * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolInformation hardlinks = 2; @@ -16429,7 +16429,7 @@ public java.util.Listrepeated .com.sourcegraph.semanticdb_kotlinc.SymbolInformation hardlinks = 2; */ @java.lang.Override - public java.util.List + public java.util.List getHardlinksOrBuilderList() { return hardlinks_; } @@ -16794,7 +16794,7 @@ public Builder mergeFrom(com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope oth hardlinksBuilder_ = null; hardlinks_ = other.hardlinks_; bitField0_ = (bitField0_ & ~0x00000002); - hardlinksBuilder_ = + hardlinksBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getHardlinksFieldBuilder() : null; } else { @@ -17137,7 +17137,7 @@ public com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformationOrBuilder /** * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolInformation hardlinks = 2; */ - public java.util.List + public java.util.List getHardlinksOrBuilderList() { if (hardlinksBuilder_ != null) { return hardlinksBuilder_.getMessageOrBuilderList(); @@ -17163,12 +17163,12 @@ public com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation.Builder a /** * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolInformation hardlinks = 2; */ - public java.util.List + public java.util.List getHardlinksBuilderList() { return getHardlinksFieldBuilder().getBuilderList(); } private com.google.protobuf.RepeatedFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation, com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformationOrBuilder> + com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation, com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformationOrBuilder> getHardlinksFieldBuilder() { if (hardlinksBuilder_ == null) { hardlinksBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< @@ -18058,7 +18058,7 @@ public com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeRefOrBuilder getTypeRef * .com.sourcegraph.semanticdb_kotlinc.TypeRef type_ref = 2; */ private com.google.protobuf.SingleFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeRef, com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeRef.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeRefOrBuilder> + com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeRef, com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeRef.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeRefOrBuilder> getTypeRefFieldBuilder() { if (typeRefBuilder_ == null) { if (!(sealedValueCase_ == 2)) { @@ -18199,7 +18199,7 @@ public com.sourcegraph.semanticdb_kotlinc.Semanticdb.ExistentialTypeOrBuilder ge * .com.sourcegraph.semanticdb_kotlinc.ExistentialType existential_type = 9; */ private com.google.protobuf.SingleFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.ExistentialType, com.sourcegraph.semanticdb_kotlinc.Semanticdb.ExistentialType.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.ExistentialTypeOrBuilder> + com.sourcegraph.semanticdb_kotlinc.Semanticdb.ExistentialType, com.sourcegraph.semanticdb_kotlinc.Semanticdb.ExistentialType.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.ExistentialTypeOrBuilder> getExistentialTypeFieldBuilder() { if (existentialTypeBuilder_ == null) { if (!(sealedValueCase_ == 9)) { @@ -18340,7 +18340,7 @@ public com.sourcegraph.semanticdb_kotlinc.Semanticdb.IntersectionTypeOrBuilder g * .com.sourcegraph.semanticdb_kotlinc.IntersectionType intersection_type = 17; */ private com.google.protobuf.SingleFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.IntersectionType, com.sourcegraph.semanticdb_kotlinc.Semanticdb.IntersectionType.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.IntersectionTypeOrBuilder> + com.sourcegraph.semanticdb_kotlinc.Semanticdb.IntersectionType, com.sourcegraph.semanticdb_kotlinc.Semanticdb.IntersectionType.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.IntersectionTypeOrBuilder> getIntersectionTypeFieldBuilder() { if (intersectionTypeBuilder_ == null) { if (!(sealedValueCase_ == 17)) { @@ -18429,7 +18429,7 @@ public interface TypeRefOrBuilder extends /** * repeated .com.sourcegraph.semanticdb_kotlinc.Type type_arguments = 3; */ - java.util.List + java.util.List getTypeArgumentsList(); /** * repeated .com.sourcegraph.semanticdb_kotlinc.Type type_arguments = 3; @@ -18442,7 +18442,7 @@ public interface TypeRefOrBuilder extends /** * repeated .com.sourcegraph.semanticdb_kotlinc.Type type_arguments = 3; */ - java.util.List + java.util.List getTypeArgumentsOrBuilderList(); /** * repeated .com.sourcegraph.semanticdb_kotlinc.Type type_arguments = 3; @@ -18560,7 +18560,7 @@ public java.lang.String getSymbol() { if (ref instanceof java.lang.String) { return (java.lang.String) ref; } else { - com.google.protobuf.ByteString bs = + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); symbol_ = s; @@ -18576,7 +18576,7 @@ public java.lang.String getSymbol() { getSymbolBytes() { java.lang.Object ref = symbol_; if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = + com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); symbol_ = b; @@ -18599,7 +18599,7 @@ public java.util.List getTyp * repeated .com.sourcegraph.semanticdb_kotlinc.Type type_arguments = 3; */ @java.lang.Override - public java.util.List + public java.util.List getTypeArgumentsOrBuilderList() { return typeArguments_; } @@ -18947,7 +18947,7 @@ public Builder mergeFrom(com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeRef o typeArgumentsBuilder_ = null; typeArguments_ = other.typeArguments_; bitField0_ = (bitField0_ & ~0x00000001); - typeArgumentsBuilder_ = + typeArgumentsBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getTypeArgumentsFieldBuilder() : null; } else { @@ -19010,7 +19010,7 @@ public java.lang.String getSymbol() { getSymbolBytes() { java.lang.Object ref = symbol_; if (ref instanceof String) { - com.google.protobuf.ByteString b = + com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); symbol_ = b; @@ -19029,7 +19029,7 @@ public Builder setSymbol( if (value == null) { throw new NullPointerException(); } - + symbol_ = value; onChanged(); return this; @@ -19039,7 +19039,7 @@ public Builder setSymbol( * @return This builder for chaining. */ public Builder clearSymbol() { - + symbol_ = getDefaultInstance().getSymbol(); onChanged(); return this; @@ -19055,7 +19055,7 @@ public Builder setSymbolBytes( throw new NullPointerException(); } checkByteStringIsUtf8(value); - + symbol_ = value; onChanged(); return this; @@ -19256,7 +19256,7 @@ public com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeOrBuilder getTypeArgume /** * repeated .com.sourcegraph.semanticdb_kotlinc.Type type_arguments = 3; */ - public java.util.List + public java.util.List getTypeArgumentsOrBuilderList() { if (typeArgumentsBuilder_ != null) { return typeArgumentsBuilder_.getMessageOrBuilderList(); @@ -19282,12 +19282,12 @@ public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.Builder addTypeArgumen /** * repeated .com.sourcegraph.semanticdb_kotlinc.Type type_arguments = 3; */ - public java.util.List + public java.util.List getTypeArgumentsBuilderList() { return getTypeArgumentsFieldBuilder().getBuilderList(); } private com.google.protobuf.RepeatedFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeOrBuilder> + com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeOrBuilder> getTypeArgumentsFieldBuilder() { if (typeArgumentsBuilder_ == null) { typeArgumentsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< @@ -19360,7 +19360,7 @@ public interface IntersectionTypeOrBuilder extends /** * repeated .com.sourcegraph.semanticdb_kotlinc.Type types = 1; */ - java.util.List + java.util.List getTypesList(); /** * repeated .com.sourcegraph.semanticdb_kotlinc.Type types = 1; @@ -19373,7 +19373,7 @@ public interface IntersectionTypeOrBuilder extends /** * repeated .com.sourcegraph.semanticdb_kotlinc.Type types = 1; */ - java.util.List + java.util.List getTypesOrBuilderList(); /** * repeated .com.sourcegraph.semanticdb_kotlinc.Type types = 1; @@ -19485,7 +19485,7 @@ public java.util.List getTyp * repeated .com.sourcegraph.semanticdb_kotlinc.Type types = 1; */ @java.lang.Override - public java.util.List + public java.util.List getTypesOrBuilderList() { return types_; } @@ -19816,7 +19816,7 @@ public Builder mergeFrom(com.sourcegraph.semanticdb_kotlinc.Semanticdb.Intersect typesBuilder_ = null; types_ = other.types_; bitField0_ = (bitField0_ & ~0x00000001); - typesBuilder_ = + typesBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getTypesFieldBuilder() : null; } else { @@ -20049,7 +20049,7 @@ public com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeOrBuilder getTypesOrBui /** * repeated .com.sourcegraph.semanticdb_kotlinc.Type types = 1; */ - public java.util.List + public java.util.List getTypesOrBuilderList() { if (typesBuilder_ != null) { return typesBuilder_.getMessageOrBuilderList(); @@ -20075,12 +20075,12 @@ public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.Builder addTypesBuilde /** * repeated .com.sourcegraph.semanticdb_kotlinc.Type types = 1; */ - public java.util.List + public java.util.List getTypesBuilderList() { return getTypesFieldBuilder().getBuilderList(); } private com.google.protobuf.RepeatedFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeOrBuilder> + com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeOrBuilder> getTypesFieldBuilder() { if (typesBuilder_ == null) { typesBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< @@ -20767,7 +20767,7 @@ public Builder clearTpe() { * .com.sourcegraph.semanticdb_kotlinc.Type tpe = 1; */ public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.Builder getTpeBuilder() { - + onChanged(); return getTpeFieldBuilder().getBuilder(); } @@ -20786,7 +20786,7 @@ public com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeOrBuilder getTpeOrBuild * .com.sourcegraph.semanticdb_kotlinc.Type tpe = 1; */ private com.google.protobuf.SingleFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeOrBuilder> + com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeOrBuilder> getTpeFieldBuilder() { if (tpeBuilder_ == null) { tpeBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< @@ -20886,7 +20886,7 @@ public Builder clearDeclarations() { * .com.sourcegraph.semanticdb_kotlinc.Scope declarations = 3; */ public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope.Builder getDeclarationsBuilder() { - + onChanged(); return getDeclarationsFieldBuilder().getBuilder(); } @@ -20905,7 +20905,7 @@ public com.sourcegraph.semanticdb_kotlinc.Semanticdb.ScopeOrBuilder getDeclarati * .com.sourcegraph.semanticdb_kotlinc.Scope declarations = 3; */ private com.google.protobuf.SingleFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.ScopeOrBuilder> + com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.ScopeOrBuilder> getDeclarationsFieldBuilder() { if (declarationsBuilder_ == null) { declarationsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< @@ -20972,107 +20972,107 @@ public com.sourcegraph.semanticdb_kotlinc.Semanticdb.ExistentialType getDefaultI private static final com.google.protobuf.Descriptors.Descriptor internal_static_com_sourcegraph_semanticdb_kotlinc_TextDocuments_descriptor; - private static final + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_com_sourcegraph_semanticdb_kotlinc_TextDocuments_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_com_sourcegraph_semanticdb_kotlinc_TextDocument_descriptor; - private static final + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_com_sourcegraph_semanticdb_kotlinc_TextDocument_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_com_sourcegraph_semanticdb_kotlinc_Range_descriptor; - private static final + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_com_sourcegraph_semanticdb_kotlinc_Range_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_com_sourcegraph_semanticdb_kotlinc_Signature_descriptor; - private static final + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_com_sourcegraph_semanticdb_kotlinc_Signature_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_com_sourcegraph_semanticdb_kotlinc_ClassSignature_descriptor; - private static final + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_com_sourcegraph_semanticdb_kotlinc_ClassSignature_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_com_sourcegraph_semanticdb_kotlinc_MethodSignature_descriptor; - private static final + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_com_sourcegraph_semanticdb_kotlinc_MethodSignature_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_com_sourcegraph_semanticdb_kotlinc_TypeSignature_descriptor; - private static final + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_com_sourcegraph_semanticdb_kotlinc_TypeSignature_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_com_sourcegraph_semanticdb_kotlinc_ValueSignature_descriptor; - private static final + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_com_sourcegraph_semanticdb_kotlinc_ValueSignature_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_com_sourcegraph_semanticdb_kotlinc_SymbolInformation_descriptor; - private static final + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_com_sourcegraph_semanticdb_kotlinc_SymbolInformation_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_com_sourcegraph_semanticdb_kotlinc_Access_descriptor; - private static final + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_com_sourcegraph_semanticdb_kotlinc_Access_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_com_sourcegraph_semanticdb_kotlinc_PrivateAccess_descriptor; - private static final + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_com_sourcegraph_semanticdb_kotlinc_PrivateAccess_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_com_sourcegraph_semanticdb_kotlinc_PrivateWithinAccess_descriptor; - private static final + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_com_sourcegraph_semanticdb_kotlinc_PrivateWithinAccess_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_com_sourcegraph_semanticdb_kotlinc_ProtectedAccess_descriptor; - private static final + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_com_sourcegraph_semanticdb_kotlinc_ProtectedAccess_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_com_sourcegraph_semanticdb_kotlinc_PublicAccess_descriptor; - private static final + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_com_sourcegraph_semanticdb_kotlinc_PublicAccess_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_com_sourcegraph_semanticdb_kotlinc_Documentation_descriptor; - private static final + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_com_sourcegraph_semanticdb_kotlinc_Documentation_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_com_sourcegraph_semanticdb_kotlinc_SymbolOccurrence_descriptor; - private static final + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_com_sourcegraph_semanticdb_kotlinc_SymbolOccurrence_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_com_sourcegraph_semanticdb_kotlinc_Scope_descriptor; - private static final + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_com_sourcegraph_semanticdb_kotlinc_Scope_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_com_sourcegraph_semanticdb_kotlinc_Type_descriptor; - private static final + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_com_sourcegraph_semanticdb_kotlinc_Type_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_com_sourcegraph_semanticdb_kotlinc_TypeRef_descriptor; - private static final + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_com_sourcegraph_semanticdb_kotlinc_TypeRef_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_com_sourcegraph_semanticdb_kotlinc_IntersectionType_descriptor; - private static final + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_com_sourcegraph_semanticdb_kotlinc_IntersectionType_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_com_sourcegraph_semanticdb_kotlinc_ExistentialType_descriptor; - private static final + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_com_sourcegraph_semanticdb_kotlinc_ExistentialType_fieldAccessorTable; diff --git a/semanticdb-kotlin/src/main/proto/com.sourcegraph.semanticdb_kotlin/semanticdb.proto b/semanticdb-kotlin/src/main/proto/com.sourcegraph.semanticdb_kotlin/semanticdb.proto index 3c1aa71d..9e63e70a 100644 --- a/semanticdb-kotlin/src/main/proto/com.sourcegraph.semanticdb_kotlin/semanticdb.proto +++ b/semanticdb-kotlin/src/main/proto/com.sourcegraph.semanticdb_kotlin/semanticdb.proto @@ -182,4 +182,4 @@ message ExistentialType { reserved 2; Type tpe = 1; Scope declarations = 3; -} \ No newline at end of file +} diff --git a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbTextDocumentBuilder.kt b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbTextDocumentBuilder.kt index 915d2ac9..7b9cbfdb 100644 --- a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbTextDocumentBuilder.kt +++ b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbTextDocumentBuilder.kt @@ -52,7 +52,8 @@ class SemanticdbTextDocumentBuilder( if (role == Role.DEFINITION) symbols.add(symbolInformation(symbol, descriptor, element)) } - private val isIgnoredSuperClass = setOf("kotlin.Any", "java.lang.Object", "java.io.Serializable") + private val isIgnoredSuperClass = + setOf("kotlin.Any", "java.lang.Object", "java.io.Serializable") private fun functionDescriptorOverrides(descriptor: FunctionDescriptor): Iterable { val result = mutableListOf() @@ -66,7 +67,8 @@ class SemanticdbTextDocumentBuilder( } isVisited.add(current) - val directOverrides = current.overriddenDescriptors.flatMap { cache[it] }.map { it.toString() } + val directOverrides = + current.overriddenDescriptors.flatMap { cache[it] }.map { it.toString() } result.addAll(directOverrides) queue.addAll(current.overriddenDescriptors) } @@ -85,14 +87,11 @@ class SemanticdbTextDocumentBuilder( .getAllSuperClassifiers() // first is the class itself .drop(1) - .filter { - it.fqNameSafe.toString() !in isIgnoredSuperClass - } + .filter { it.fqNameSafe.toString() !in isIgnoredSuperClass } .flatMap { cache[it] } .map { it.toString() } .asIterable() - is SimpleFunctionDescriptor -> - functionDescriptorOverrides(descriptor) + is SimpleFunctionDescriptor -> functionDescriptorOverrides(descriptor) else -> emptyList().asIterable() } return SymbolInformation { diff --git a/semanticdb-kotlinc/src/main/resources/META-INF/services/org.jetbrains.kotlin.compiler.plugin.CommandLineProcessor b/semanticdb-kotlinc/src/main/resources/META-INF/services/org.jetbrains.kotlin.compiler.plugin.CommandLineProcessor index ea687ae9..804ff870 100644 --- a/semanticdb-kotlinc/src/main/resources/META-INF/services/org.jetbrains.kotlin.compiler.plugin.CommandLineProcessor +++ b/semanticdb-kotlinc/src/main/resources/META-INF/services/org.jetbrains.kotlin.compiler.plugin.CommandLineProcessor @@ -1 +1 @@ -com.sourcegraph.semanticdb_kotlinc.AnalyzerCommandLineProcessor \ No newline at end of file +com.sourcegraph.semanticdb_kotlinc.AnalyzerCommandLineProcessor diff --git a/semanticdb-kotlinc/src/main/resources/META-INF/services/org.jetbrains.kotlin.compiler.plugin.ComponentRegistrar b/semanticdb-kotlinc/src/main/resources/META-INF/services/org.jetbrains.kotlin.compiler.plugin.ComponentRegistrar index f7d02a4a..db60fed4 100644 --- a/semanticdb-kotlinc/src/main/resources/META-INF/services/org.jetbrains.kotlin.compiler.plugin.ComponentRegistrar +++ b/semanticdb-kotlinc/src/main/resources/META-INF/services/org.jetbrains.kotlin.compiler.plugin.ComponentRegistrar @@ -1 +1 @@ -com.sourcegraph.semanticdb_kotlinc.AnalyzerRegistrar \ No newline at end of file +com.sourcegraph.semanticdb_kotlinc.AnalyzerRegistrar diff --git a/semanticdb-kotlinc/src/snapshots/kotlin/com/sourcegraph/lsif_kotlin/Snapshot.kt b/semanticdb-kotlinc/src/snapshots/kotlin/com/sourcegraph/lsif_kotlin/Snapshot.kt index 43b92d3b..2393cfd3 100644 --- a/semanticdb-kotlinc/src/snapshots/kotlin/com/sourcegraph/lsif_kotlin/Snapshot.kt +++ b/semanticdb-kotlinc/src/snapshots/kotlin/com/sourcegraph/lsif_kotlin/Snapshot.kt @@ -8,22 +8,21 @@ fun main() { val sourceroot = Path(System.getProperty("sourceroot")) val targetroot = Path(System.getProperty("targetroot")) - ScipJava.main(arrayOf( - "index-semanticdb", - "--no-emit-inverse-relationships", - "--cwd", - sourceroot.toString(), - "--output", - targetroot.resolve("index.scip").toString(), - targetroot.toString() - )) - ScipJava.main(arrayOf( - "snapshot", - "--cwd", - sourceroot.toString(), - "--output", - snapshotDir.toString(), - targetroot.toString() - )) + ScipJava.main( + arrayOf( + "index-semanticdb", + "--no-emit-inverse-relationships", + "--cwd", + sourceroot.toString(), + "--output", + targetroot.resolve("index.scip").toString(), + targetroot.toString())) + ScipJava.main( + arrayOf( + "snapshot", + "--cwd", + sourceroot.toString(), + "--output", + snapshotDir.toString(), + targetroot.toString())) } - diff --git a/semanticdb-kotlinc/src/test/kotlin/com/sourcegraph/semanticdb_kotlinc/test/AnalyzerTest.kt b/semanticdb-kotlinc/src/test/kotlin/com/sourcegraph/semanticdb_kotlinc/test/AnalyzerTest.kt index b5ee422e..9f60a7c3 100644 --- a/semanticdb-kotlinc/src/test/kotlin/com/sourcegraph/semanticdb_kotlinc/test/AnalyzerTest.kt +++ b/semanticdb-kotlinc/src/test/kotlin/com/sourcegraph/semanticdb_kotlinc/test/AnalyzerTest.kt @@ -129,7 +129,8 @@ class AnalyzerTest { KotlinCompilation() .apply { sources = listOf(SourceFile.testKt("")) - componentRegistrars = listOf(AnalyzerRegistrar { throw Exception("sample text") }) + componentRegistrars = + listOf(AnalyzerRegistrar { throw Exception("sample text") }) verbose = false pluginOptions = listOf( @@ -476,7 +477,7 @@ class AnalyzerTest { C(value = 3) } fun printProperty() = println(EnumExample1.A.value) // => 1 - + // Every enum has properties to obtain its name and ordinal(position) in the enum class declaration: fun printName() = println(EnumExample1.A.name) // => A fun printPosition() = println(EnumExample1.A.ordinal) // => 0 @@ -592,8 +593,8 @@ class AnalyzerTest { /** Example class docstring */ class Docstrings: DocstringSuperclass(), Serializable - - /** + + /** * Example method docstring * **/ diff --git a/semanticdb-kotlinc/src/test/kotlin/com/sourcegraph/semanticdb_kotlinc/test/SemanticdbSymbolsTest.kt b/semanticdb-kotlinc/src/test/kotlin/com/sourcegraph/semanticdb_kotlinc/test/SemanticdbSymbolsTest.kt index fcbdcffb..2bed61d7 100644 --- a/semanticdb-kotlinc/src/test/kotlin/com/sourcegraph/semanticdb_kotlinc/test/SemanticdbSymbolsTest.kt +++ b/semanticdb-kotlinc/src/test/kotlin/com/sourcegraph/semanticdb_kotlinc/test/SemanticdbSymbolsTest.kt @@ -7,8 +7,8 @@ import com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolOccurrence.Role import com.sourcegraph.semanticdb_kotlinc.test.ExpectedSymbols.SemanticdbData import com.sourcegraph.semanticdb_kotlinc.test.ExpectedSymbols.SymbolCacheData import com.tschuchort.compiletesting.SourceFile -import org.jetbrains.kotlin.compiler.plugin.ExperimentalCompilerApi import kotlin.contracts.ExperimentalContracts +import org.jetbrains.kotlin.compiler.plugin.ExperimentalCompilerApi import org.junit.jupiter.api.TestFactory @ExperimentalCompilerApi @@ -82,11 +82,11 @@ class SemanticdbSymbolsTest { |import kotlin.contracts.ExperimentalContracts |import kotlin.test.Test | - |@ExperimentalContracts + |@ExperimentalContracts |class Banaan { | @Test - | fun test() {} - |} + | fun test() {} + |} |""".trimMargin()), symbolsCacheData = SymbolCacheData( @@ -383,7 +383,7 @@ class SemanticdbSymbolsTest { | fun test() { | println(sample) | } - |} + |} |""".trimMargin()), semanticdb = SemanticdbData( @@ -531,7 +531,7 @@ class SemanticdbSymbolsTest { "explicit primary constructor with keyword", SourceFile.testKt( """ - |class Banana constructor(size: Int) + |class Banana constructor(size: Int) |""".trimMargin()), semanticdb = SemanticdbData( From 8f7e18b02f05b09c31ee7993b5a1dac78352d7a9 Mon Sep 17 00:00:00 2001 From: Nicolas Guichard Date: Wed, 4 Dec 2024 16:42:02 +0100 Subject: [PATCH 02/54] Update Gradle wrapper --- gradle/wrapper/gradle-wrapper.jar | Bin 59203 -> 43583 bytes gradle/wrapper/gradle-wrapper.properties | 4 +- gradlew | 285 ++++++++++++++--------- gradlew.bat | 37 +-- 4 files changed, 200 insertions(+), 126 deletions(-) diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index e708b1c023ec8b20f512888fe07c5bd3ff77bb8f..a4b76b9530d66f5e68d973ea569d8e19de379189 100644 GIT binary patch literal 43583 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 yu?e%!_ptzGB|8GrCfu%p?(_ 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 GZ~q4|mN%#X literal 59203 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

K7UpUK$>l@ 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 E2O(~oYXATM diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index ffed3a25..df97d72b 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,7 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-bin.zip +networkTimeout=10000 +validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/gradlew b/gradlew index 4f906e0c..f5feea6d 100755 --- a/gradlew +++ b/gradlew @@ -1,7 +1,7 @@ -#!/usr/bin/env sh +#!/bin/sh # -# Copyright 2015 the original author or authors. +# Copyright © 2015-2021 the original authors. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -15,69 +15,104 @@ # See the License for the specific language governing permissions and # limitations under the License. # +# SPDX-License-Identifier: Apache-2.0 +# ############################################################################## -## -## Gradle start up script for UN*X -## +# +# Gradle start up script for POSIX generated by Gradle. +# +# Important for running: +# +# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is +# noncompliant, but you have some other compliant shell such as ksh or +# bash, then to run this script, type that shell name before the whole +# command line, like: +# +# ksh Gradle +# +# Busybox and similar reduced shells will NOT work, because this script +# requires all of these POSIX shell features: +# * functions; +# * expansions «$var», «${var}», «${var:-default}», «${var+SET}», +# «${var#prefix}», «${var%suffix}», and «$( cmd )»; +# * compound commands having a testable exit status, especially «case»; +# * various built-in commands including «command», «set», and «ulimit». +# +# Important for patching: +# +# (2) This script targets any POSIX shell, so it avoids extensions provided +# by Bash, Ksh, etc; in particular arrays are avoided. +# +# The "traditional" practice of packing multiple parameters into a +# space-separated string is a well documented source of bugs and security +# problems, so this is (mostly) avoided, by progressively accumulating +# options in "$@", and eventually passing that to Java. +# +# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS, +# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly; +# see the in-line comments for details. +# +# There are tweaks for specific operating systems such as AIX, CygWin, +# Darwin, MinGW, and NonStop. +# +# (3) This script is generated from the Groovy template +# https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# within the Gradle project. +# +# You can find Gradle at https://github.com/gradle/gradle/. +# ############################################################################## # Attempt to set APP_HOME + # Resolve links: $0 may be a link -PRG="$0" -# Need this for relative symlinks. -while [ -h "$PRG" ] ; do - ls=`ls -ld "$PRG"` - link=`expr "$ls" : '.*-> \(.*\)$'` - if expr "$link" : '/.*' > /dev/null; then - PRG="$link" - else - PRG=`dirname "$PRG"`"/$link" - fi +app_path=$0 + +# Need this for daisy-chained symlinks. +while + APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path + [ -h "$app_path" ] +do + ls=$( ls -ld "$app_path" ) + link=${ls#*' -> '} + case $link in #( + /*) app_path=$link ;; #( + *) app_path=$APP_HOME$link ;; + esac done -SAVED="`pwd`" -cd "`dirname \"$PRG\"`/" >/dev/null -APP_HOME="`pwd -P`" -cd "$SAVED" >/dev/null -APP_NAME="Gradle" -APP_BASE_NAME=`basename "$0"` - -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' +# This is normally unused +# shellcheck disable=SC2034 +APP_BASE_NAME=${0##*/} +# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) +APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s +' "$PWD" ) || exit # Use the maximum available, or set MAX_FD != -1 to use that value. -MAX_FD="maximum" +MAX_FD=maximum warn () { echo "$*" -} +} >&2 die () { echo echo "$*" echo exit 1 -} +} >&2 # OS specific support (must be 'true' or 'false'). cygwin=false msys=false darwin=false nonstop=false -case "`uname`" in - CYGWIN* ) - cygwin=true - ;; - Darwin* ) - darwin=true - ;; - MINGW* ) - msys=true - ;; - NONSTOP* ) - nonstop=true - ;; +case "$( uname )" in #( + CYGWIN* ) cygwin=true ;; #( + Darwin* ) darwin=true ;; #( + MSYS* | MINGW* ) msys=true ;; #( + NONSTOP* ) nonstop=true ;; esac CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar @@ -87,9 +122,9 @@ CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar if [ -n "$JAVA_HOME" ] ; then if [ -x "$JAVA_HOME/jre/sh/java" ] ; then # IBM's JDK on AIX uses strange locations for the executables - JAVACMD="$JAVA_HOME/jre/sh/java" + JAVACMD=$JAVA_HOME/jre/sh/java else - JAVACMD="$JAVA_HOME/bin/java" + JAVACMD=$JAVA_HOME/bin/java fi if [ ! -x "$JAVACMD" ] ; then die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME @@ -98,88 +133,120 @@ Please set the JAVA_HOME variable in your environment to match the location of your Java installation." fi else - JAVACMD="java" - which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + JAVACMD=java + if ! command -v java >/dev/null 2>&1 + then + die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. Please set the JAVA_HOME variable in your environment to match the location of your Java installation." + fi fi # Increase the maximum file descriptors if we can. -if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then - MAX_FD_LIMIT=`ulimit -H -n` - if [ $? -eq 0 ] ; then - if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then - MAX_FD="$MAX_FD_LIMIT" - fi - ulimit -n $MAX_FD - if [ $? -ne 0 ] ; then - warn "Could not set maximum file descriptor limit: $MAX_FD" - fi - else - warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" - fi +if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then + case $MAX_FD in #( + max*) + # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC2039,SC3045 + MAX_FD=$( ulimit -H -n ) || + warn "Could not query maximum file descriptor limit" + esac + case $MAX_FD in #( + '' | soft) :;; #( + *) + # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC2039,SC3045 + ulimit -n "$MAX_FD" || + warn "Could not set maximum file descriptor limit to $MAX_FD" + esac fi -# For Darwin, add options to specify how the application appears in the dock -if $darwin; then - GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" -fi +# Collect all arguments for the java command, stacking in reverse order: +# * args from the command line +# * the main class name +# * -classpath +# * -D...appname settings +# * --module-path (only if needed) +# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. # For Cygwin or MSYS, switch paths to Windows format before running java -if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then - APP_HOME=`cygpath --path --mixed "$APP_HOME"` - CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` - - JAVACMD=`cygpath --unix "$JAVACMD"` - - # We build the pattern for arguments to be converted via cygpath - ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` - SEP="" - for dir in $ROOTDIRSRAW ; do - ROOTDIRS="$ROOTDIRS$SEP$dir" - SEP="|" - done - OURCYGPATTERN="(^($ROOTDIRS))" - # Add a user-defined pattern to the cygpath arguments - if [ "$GRADLE_CYGPATTERN" != "" ] ; then - OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" - fi +if "$cygwin" || "$msys" ; then + APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) + CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) + + JAVACMD=$( cygpath --unix "$JAVACMD" ) + # Now convert the arguments - kludge to limit ourselves to /bin/sh - i=0 - for arg in "$@" ; do - CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` - CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option - - if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition - eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` - else - eval `echo args$i`="\"$arg\"" + for arg do + if + case $arg in #( + -*) false ;; # don't mess with options #( + /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath + [ -e "$t" ] ;; #( + *) false ;; + esac + then + arg=$( cygpath --path --ignore --mixed "$arg" ) fi - i=`expr $i + 1` + # Roll the args list around exactly as many times as the number of + # args, so each arg winds up back in the position where it started, but + # possibly modified. + # + # NB: a `for` loop captures its iteration list before it begins, so + # changing the positional parameters here affects neither the number of + # iterations, nor the values presented in `arg`. + shift # remove old arg + set -- "$@" "$arg" # push replacement arg done - case $i in - 0) set -- ;; - 1) set -- "$args0" ;; - 2) set -- "$args0" "$args1" ;; - 3) set -- "$args0" "$args1" "$args2" ;; - 4) set -- "$args0" "$args1" "$args2" "$args3" ;; - 5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; - 6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; - 7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; - 8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; - 9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; - esac fi -# Escape application args -save () { - for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done - echo " " -} -APP_ARGS=`save "$@"` -# Collect all arguments for the java command, following the shell quoting and substitution rules -eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + +# Collect all arguments for the java command: +# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments, +# and any embedded shellness will be escaped. +# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be +# treated as '${Hostname}' itself on the command line. + +set -- \ + "-Dorg.gradle.appname=$APP_BASE_NAME" \ + -classpath "$CLASSPATH" \ + org.gradle.wrapper.GradleWrapperMain \ + "$@" + +# Stop when "xargs" is not available. +if ! command -v xargs >/dev/null 2>&1 +then + die "xargs is not available" +fi + +# Use "xargs" to parse quoted args. +# +# With -n1 it outputs one arg per line, with the quotes and backslashes removed. +# +# In Bash we could simply go: +# +# readarray ARGS < <( xargs -n1 <<<"$var" ) && +# set -- "${ARGS[@]}" "$@" +# +# but POSIX shell has neither arrays nor command substitution, so instead we +# post-process each arg (as a line of input to sed) to backslash-escape any +# character that might be a shell metacharacter, then use eval to reverse +# that process (while maintaining the separation between arguments), and wrap +# the whole thing up as a single "set" statement. +# +# This will of course break if any of these variables contains a newline or +# an unmatched quote. +# + +eval "set -- $( + printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | + xargs -n1 | + sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | + tr '\n' ' ' + )" '"$@"' exec "$JAVACMD" "$@" diff --git a/gradlew.bat b/gradlew.bat index ac1b06f9..9b42019c 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -13,8 +13,10 @@ @rem See the License for the specific language governing permissions and @rem limitations under the License. @rem +@rem SPDX-License-Identifier: Apache-2.0 +@rem -@if "%DEBUG%" == "" @echo off +@if "%DEBUG%"=="" @echo off @rem ########################################################################## @rem @rem Gradle startup script for Windows @@ -25,7 +27,8 @@ if "%OS%"=="Windows_NT" setlocal set DIRNAME=%~dp0 -if "%DIRNAME%" == "" set DIRNAME=. +if "%DIRNAME%"=="" set DIRNAME=. +@rem This is normally unused set APP_BASE_NAME=%~n0 set APP_HOME=%DIRNAME% @@ -40,13 +43,13 @@ if defined JAVA_HOME goto findJavaFromJavaHome set JAVA_EXE=java.exe %JAVA_EXE% -version >NUL 2>&1 -if "%ERRORLEVEL%" == "0" goto execute +if %ERRORLEVEL% equ 0 goto execute -echo. -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. +echo. 1>&2 +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2 +echo. 1>&2 +echo Please set the JAVA_HOME variable in your environment to match the 1>&2 +echo location of your Java installation. 1>&2 goto fail @@ -56,11 +59,11 @@ set JAVA_EXE=%JAVA_HOME%/bin/java.exe if exist "%JAVA_EXE%" goto execute -echo. -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. +echo. 1>&2 +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2 +echo. 1>&2 +echo Please set the JAVA_HOME variable in your environment to match the 1>&2 +echo location of your Java installation. 1>&2 goto fail @@ -75,13 +78,15 @@ set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar :end @rem End local scope for the variables with windows NT shell -if "%ERRORLEVEL%"=="0" goto mainEnd +if %ERRORLEVEL% equ 0 goto mainEnd :fail rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of rem the _cmd.exe /c_ return code! -if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 -exit /b 1 +set EXIT_CODE=%ERRORLEVEL% +if %EXIT_CODE% equ 0 set EXIT_CODE=1 +if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% +exit /b %EXIT_CODE% :mainEnd if "%OS%"=="Windows_NT" endlocal From e7119496e10c2952ca3d660be2a019520a766409 Mon Sep 17 00:00:00 2001 From: Nicolas Guichard Date: Wed, 4 Dec 2024 12:34:14 +0100 Subject: [PATCH 03/54] Bump com.google.protobuf Also remove the in-repo copy of Semanticdb.java (it is autogenerated by protoc outside the source tree), and the unused krotoconfig.json, but keep the SemanticdbBuilders.kt that used to be autogenerated by Kroto+. --- semanticdb-kotlin/build.gradle.kts | 4 +- semanticdb-kotlin/krotoconfig.json | 12 - .../semanticdb_kotlinc/Semanticdb.java | 21327 ---------------- 3 files changed, 1 insertion(+), 21342 deletions(-) delete mode 100644 semanticdb-kotlin/krotoconfig.json delete mode 100644 semanticdb-kotlin/src/main/java/com/sourcegraph/semanticdb_kotlinc/Semanticdb.java diff --git a/semanticdb-kotlin/build.gradle.kts b/semanticdb-kotlin/build.gradle.kts index aed0c509..0d68c4df 100644 --- a/semanticdb-kotlin/build.gradle.kts +++ b/semanticdb-kotlin/build.gradle.kts @@ -2,7 +2,7 @@ import com.google.protobuf.gradle.* plugins { kotlin("jvm") - id("com.google.protobuf") version "0.8.17" + id("com.google.protobuf") version "0.9.4" } repositories { @@ -50,8 +50,6 @@ protobuf { artifact = "com.google.protobuf:protoc:3.17.3" } - generatedFilesBaseDir = kotlin.sourceSets.main.get().kotlin.srcDirs.first().path.split(":")[0].removeSuffix("main/kotlin") - plugins { kotlin { } } diff --git a/semanticdb-kotlin/krotoconfig.json b/semanticdb-kotlin/krotoconfig.json deleted file mode 100644 index 3d057b9c..00000000 --- a/semanticdb-kotlin/krotoconfig.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "protoBuilders": [ - { - "filter": { "excludePath": ["google/*"] }, - "unwrapBuilders": true, - "useDslMarkers": true - } - ], - "grpcCoroutines": [], - "grpcStubExts": [], - "generatorScripts": [] -} diff --git a/semanticdb-kotlin/src/main/java/com/sourcegraph/semanticdb_kotlinc/Semanticdb.java b/semanticdb-kotlin/src/main/java/com/sourcegraph/semanticdb_kotlinc/Semanticdb.java deleted file mode 100644 index 3dfa4e47..00000000 --- a/semanticdb-kotlin/src/main/java/com/sourcegraph/semanticdb_kotlinc/Semanticdb.java +++ /dev/null @@ -1,21327 +0,0 @@ -// Generated by the protocol buffer compiler. DO NOT EDIT! -// source: com.sourcegraph.semanticdb_kotlin/semanticdb.proto - -package com.sourcegraph.semanticdb_kotlinc; - -public final class Semanticdb { - private Semanticdb() {} - public static void registerAllExtensions( - com.google.protobuf.ExtensionRegistryLite registry) { - } - - public static void registerAllExtensions( - com.google.protobuf.ExtensionRegistry registry) { - registerAllExtensions( - (com.google.protobuf.ExtensionRegistryLite) registry); - } - /** - * Protobuf enum {@code com.sourcegraph.semanticdb_kotlinc.Schema} - */ - public enum Schema - implements com.google.protobuf.ProtocolMessageEnum { - /** - * LEGACY = 0; - */ - LEGACY(0), - /** - * SEMANTICDB3 = 3; - */ - SEMANTICDB3(3), - /** - * SEMANTICDB4 = 4; - */ - SEMANTICDB4(4), - UNRECOGNIZED(-1), - ; - - /** - * LEGACY = 0; - */ - public static final int LEGACY_VALUE = 0; - /** - * SEMANTICDB3 = 3; - */ - public static final int SEMANTICDB3_VALUE = 3; - /** - * SEMANTICDB4 = 4; - */ - public static final int SEMANTICDB4_VALUE = 4; - - - public final int getNumber() { - if (this == UNRECOGNIZED) { - throw new java.lang.IllegalArgumentException( - "Can't get the number of an unknown enum value."); - } - return value; - } - - /** - * @param value The numeric wire value of the corresponding enum entry. - * @return The enum associated with the given numeric wire value. - * @deprecated Use {@link #forNumber(int)} instead. - */ - @java.lang.Deprecated - public static Schema valueOf(int value) { - return forNumber(value); - } - - /** - * @param value The numeric wire value of the corresponding enum entry. - * @return The enum associated with the given numeric wire value. - */ - public static Schema forNumber(int value) { - switch (value) { - case 0: return LEGACY; - case 3: return SEMANTICDB3; - case 4: return SEMANTICDB4; - default: return null; - } - } - - public static com.google.protobuf.Internal.EnumLiteMap - internalGetValueMap() { - return internalValueMap; - } - private static final com.google.protobuf.Internal.EnumLiteMap< - Schema> internalValueMap = - new com.google.protobuf.Internal.EnumLiteMap() { - public Schema findValueByNumber(int number) { - return Schema.forNumber(number); - } - }; - - public final com.google.protobuf.Descriptors.EnumValueDescriptor - getValueDescriptor() { - if (this == UNRECOGNIZED) { - throw new java.lang.IllegalStateException( - "Can't get the descriptor of an unrecognized enum value."); - } - return getDescriptor().getValues().get(ordinal()); - } - public final com.google.protobuf.Descriptors.EnumDescriptor - getDescriptorForType() { - return getDescriptor(); - } - public static final com.google.protobuf.Descriptors.EnumDescriptor - getDescriptor() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.getDescriptor().getEnumTypes().get(0); - } - - private static final Schema[] VALUES = values(); - - public static Schema valueOf( - com.google.protobuf.Descriptors.EnumValueDescriptor desc) { - if (desc.getType() != getDescriptor()) { - throw new java.lang.IllegalArgumentException( - "EnumValueDescriptor is not for this type."); - } - if (desc.getIndex() == -1) { - return UNRECOGNIZED; - } - return VALUES[desc.getIndex()]; - } - - private final int value; - - private Schema(int value) { - this.value = value; - } - - // @@protoc_insertion_point(enum_scope:com.sourcegraph.semanticdb_kotlinc.Schema) - } - - /** - * Protobuf enum {@code com.sourcegraph.semanticdb_kotlinc.Language} - */ - public enum Language - implements com.google.protobuf.ProtocolMessageEnum { - /** - * UNKNOWN_LANGUAGE = 0; - */ - UNKNOWN_LANGUAGE(0), - /** - * SCALA = 1; - */ - SCALA(1), - /** - * JAVA = 2; - */ - JAVA(2), - /** - * KOTLIN = 3; - */ - KOTLIN(3), - UNRECOGNIZED(-1), - ; - - /** - * UNKNOWN_LANGUAGE = 0; - */ - public static final int UNKNOWN_LANGUAGE_VALUE = 0; - /** - * SCALA = 1; - */ - public static final int SCALA_VALUE = 1; - /** - * JAVA = 2; - */ - public static final int JAVA_VALUE = 2; - /** - * KOTLIN = 3; - */ - public static final int KOTLIN_VALUE = 3; - - - public final int getNumber() { - if (this == UNRECOGNIZED) { - throw new java.lang.IllegalArgumentException( - "Can't get the number of an unknown enum value."); - } - return value; - } - - /** - * @param value The numeric wire value of the corresponding enum entry. - * @return The enum associated with the given numeric wire value. - * @deprecated Use {@link #forNumber(int)} instead. - */ - @java.lang.Deprecated - public static Language valueOf(int value) { - return forNumber(value); - } - - /** - * @param value The numeric wire value of the corresponding enum entry. - * @return The enum associated with the given numeric wire value. - */ - public static Language forNumber(int value) { - switch (value) { - case 0: return UNKNOWN_LANGUAGE; - case 1: return SCALA; - case 2: return JAVA; - case 3: return KOTLIN; - default: return null; - } - } - - public static com.google.protobuf.Internal.EnumLiteMap - internalGetValueMap() { - return internalValueMap; - } - private static final com.google.protobuf.Internal.EnumLiteMap< - Language> internalValueMap = - new com.google.protobuf.Internal.EnumLiteMap() { - public Language findValueByNumber(int number) { - return Language.forNumber(number); - } - }; - - public final com.google.protobuf.Descriptors.EnumValueDescriptor - getValueDescriptor() { - if (this == UNRECOGNIZED) { - throw new java.lang.IllegalStateException( - "Can't get the descriptor of an unrecognized enum value."); - } - return getDescriptor().getValues().get(ordinal()); - } - public final com.google.protobuf.Descriptors.EnumDescriptor - getDescriptorForType() { - return getDescriptor(); - } - public static final com.google.protobuf.Descriptors.EnumDescriptor - getDescriptor() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.getDescriptor().getEnumTypes().get(1); - } - - private static final Language[] VALUES = values(); - - public static Language valueOf( - com.google.protobuf.Descriptors.EnumValueDescriptor desc) { - if (desc.getType() != getDescriptor()) { - throw new java.lang.IllegalArgumentException( - "EnumValueDescriptor is not for this type."); - } - if (desc.getIndex() == -1) { - return UNRECOGNIZED; - } - return VALUES[desc.getIndex()]; - } - - private final int value; - - private Language(int value) { - this.value = value; - } - - // @@protoc_insertion_point(enum_scope:com.sourcegraph.semanticdb_kotlinc.Language) - } - - public interface TextDocumentsOrBuilder extends - // @@protoc_insertion_point(interface_extends:com.sourcegraph.semanticdb_kotlinc.TextDocuments) - com.google.protobuf.MessageOrBuilder { - - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.TextDocument documents = 1; - */ - java.util.List - getDocumentsList(); - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.TextDocument documents = 1; - */ - com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocument getDocuments(int index); - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.TextDocument documents = 1; - */ - int getDocumentsCount(); - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.TextDocument documents = 1; - */ - java.util.List - getDocumentsOrBuilderList(); - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.TextDocument documents = 1; - */ - com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocumentOrBuilder getDocumentsOrBuilder( - int index); - } - /** - * Protobuf type {@code com.sourcegraph.semanticdb_kotlinc.TextDocuments} - */ - public static final class TextDocuments extends - com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:com.sourcegraph.semanticdb_kotlinc.TextDocuments) - TextDocumentsOrBuilder { - private static final long serialVersionUID = 0L; - // Use TextDocuments.newBuilder() to construct. - private TextDocuments(com.google.protobuf.GeneratedMessageV3.Builder builder) { - super(builder); - } - private TextDocuments() { - documents_ = java.util.Collections.emptyList(); - } - - @java.lang.Override - @SuppressWarnings({"unused"}) - protected java.lang.Object newInstance( - UnusedPrivateParameter unused) { - return new TextDocuments(); - } - - @java.lang.Override - public final com.google.protobuf.UnknownFieldSet - getUnknownFields() { - return this.unknownFields; - } - private TextDocuments( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - this(); - if (extensionRegistry == null) { - throw new java.lang.NullPointerException(); - } - int mutable_bitField0_ = 0; - com.google.protobuf.UnknownFieldSet.Builder unknownFields = - com.google.protobuf.UnknownFieldSet.newBuilder(); - try { - boolean done = false; - while (!done) { - int tag = input.readTag(); - switch (tag) { - case 0: - done = true; - break; - case 10: { - if (!((mutable_bitField0_ & 0x00000001) != 0)) { - documents_ = new java.util.ArrayList(); - mutable_bitField0_ |= 0x00000001; - } - documents_.add( - input.readMessage(com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocument.parser(), extensionRegistry)); - break; - } - default: { - if (!parseUnknownField( - input, unknownFields, extensionRegistry, tag)) { - done = true; - } - break; - } - } - } - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.setUnfinishedMessage(this); - } catch (java.io.IOException e) { - throw new com.google.protobuf.InvalidProtocolBufferException( - e).setUnfinishedMessage(this); - } finally { - if (((mutable_bitField0_ & 0x00000001) != 0)) { - documents_ = java.util.Collections.unmodifiableList(documents_); - } - this.unknownFields = unknownFields.build(); - makeExtensionsImmutable(); - } - } - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_TextDocuments_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internalGetFieldAccessorTable() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_TextDocuments_fieldAccessorTable - .ensureFieldAccessorsInitialized( - com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocuments.class, com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocuments.Builder.class); - } - - public static final int DOCUMENTS_FIELD_NUMBER = 1; - private java.util.List documents_; - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.TextDocument documents = 1; - */ - @java.lang.Override - public java.util.List getDocumentsList() { - return documents_; - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.TextDocument documents = 1; - */ - @java.lang.Override - public java.util.List - getDocumentsOrBuilderList() { - return documents_; - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.TextDocument documents = 1; - */ - @java.lang.Override - public int getDocumentsCount() { - return documents_.size(); - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.TextDocument documents = 1; - */ - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocument getDocuments(int index) { - return documents_.get(index); - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.TextDocument documents = 1; - */ - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocumentOrBuilder getDocumentsOrBuilder( - int index) { - return documents_.get(index); - } - - private byte memoizedIsInitialized = -1; - @java.lang.Override - public final boolean isInitialized() { - byte isInitialized = memoizedIsInitialized; - if (isInitialized == 1) return true; - if (isInitialized == 0) return false; - - memoizedIsInitialized = 1; - return true; - } - - @java.lang.Override - public void writeTo(com.google.protobuf.CodedOutputStream output) - throws java.io.IOException { - for (int i = 0; i < documents_.size(); i++) { - output.writeMessage(1, documents_.get(i)); - } - unknownFields.writeTo(output); - } - - @java.lang.Override - public int getSerializedSize() { - int size = memoizedSize; - if (size != -1) return size; - - size = 0; - for (int i = 0; i < documents_.size(); i++) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(1, documents_.get(i)); - } - size += unknownFields.getSerializedSize(); - memoizedSize = size; - return size; - } - - @java.lang.Override - public boolean equals(final java.lang.Object obj) { - if (obj == this) { - return true; - } - if (!(obj instanceof com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocuments)) { - return super.equals(obj); - } - com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocuments other = (com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocuments) obj; - - if (!getDocumentsList() - .equals(other.getDocumentsList())) return false; - if (!unknownFields.equals(other.unknownFields)) return false; - return true; - } - - @java.lang.Override - public int hashCode() { - if (memoizedHashCode != 0) { - return memoizedHashCode; - } - int hash = 41; - hash = (19 * hash) + getDescriptor().hashCode(); - if (getDocumentsCount() > 0) { - hash = (37 * hash) + DOCUMENTS_FIELD_NUMBER; - hash = (53 * hash) + getDocumentsList().hashCode(); - } - hash = (29 * hash) + unknownFields.hashCode(); - memoizedHashCode = hash; - return hash; - } - - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocuments parseFrom( - java.nio.ByteBuffer data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocuments parseFrom( - java.nio.ByteBuffer data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocuments parseFrom( - com.google.protobuf.ByteString data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocuments parseFrom( - com.google.protobuf.ByteString data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocuments parseFrom(byte[] data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocuments parseFrom( - byte[] data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocuments parseFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocuments parseFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocuments parseDelimitedFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseDelimitedWithIOException(PARSER, input); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocuments parseDelimitedFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseDelimitedWithIOException(PARSER, input, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocuments parseFrom( - com.google.protobuf.CodedInputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocuments parseFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input, extensionRegistry); - } - - @java.lang.Override - public Builder newBuilderForType() { return newBuilder(); } - public static Builder newBuilder() { - return DEFAULT_INSTANCE.toBuilder(); - } - public static Builder newBuilder(com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocuments prototype) { - return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); - } - @java.lang.Override - public Builder toBuilder() { - return this == DEFAULT_INSTANCE - ? new Builder() : new Builder().mergeFrom(this); - } - - @java.lang.Override - protected Builder newBuilderForType( - com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { - Builder builder = new Builder(parent); - return builder; - } - /** - * Protobuf type {@code com.sourcegraph.semanticdb_kotlinc.TextDocuments} - */ - public static final class Builder extends - com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:com.sourcegraph.semanticdb_kotlinc.TextDocuments) - com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocumentsOrBuilder { - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_TextDocuments_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internalGetFieldAccessorTable() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_TextDocuments_fieldAccessorTable - .ensureFieldAccessorsInitialized( - com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocuments.class, com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocuments.Builder.class); - } - - // Construct using com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocuments.newBuilder() - private Builder() { - maybeForceBuilderInitialization(); - } - - private Builder( - com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { - super(parent); - maybeForceBuilderInitialization(); - } - private void maybeForceBuilderInitialization() { - if (com.google.protobuf.GeneratedMessageV3 - .alwaysUseFieldBuilders) { - getDocumentsFieldBuilder(); - } - } - @java.lang.Override - public Builder clear() { - super.clear(); - if (documentsBuilder_ == null) { - documents_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000001); - } else { - documentsBuilder_.clear(); - } - return this; - } - - @java.lang.Override - public com.google.protobuf.Descriptors.Descriptor - getDescriptorForType() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_TextDocuments_descriptor; - } - - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocuments getDefaultInstanceForType() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocuments.getDefaultInstance(); - } - - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocuments build() { - com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocuments result = buildPartial(); - if (!result.isInitialized()) { - throw newUninitializedMessageException(result); - } - return result; - } - - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocuments buildPartial() { - com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocuments result = new com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocuments(this); - int from_bitField0_ = bitField0_; - if (documentsBuilder_ == null) { - if (((bitField0_ & 0x00000001) != 0)) { - documents_ = java.util.Collections.unmodifiableList(documents_); - bitField0_ = (bitField0_ & ~0x00000001); - } - result.documents_ = documents_; - } else { - result.documents_ = documentsBuilder_.build(); - } - onBuilt(); - return result; - } - - @java.lang.Override - public Builder clone() { - return super.clone(); - } - @java.lang.Override - public Builder setField( - com.google.protobuf.Descriptors.FieldDescriptor field, - java.lang.Object value) { - return super.setField(field, value); - } - @java.lang.Override - public Builder clearField( - com.google.protobuf.Descriptors.FieldDescriptor field) { - return super.clearField(field); - } - @java.lang.Override - public Builder clearOneof( - com.google.protobuf.Descriptors.OneofDescriptor oneof) { - return super.clearOneof(oneof); - } - @java.lang.Override - public Builder setRepeatedField( - com.google.protobuf.Descriptors.FieldDescriptor field, - int index, java.lang.Object value) { - return super.setRepeatedField(field, index, value); - } - @java.lang.Override - public Builder addRepeatedField( - com.google.protobuf.Descriptors.FieldDescriptor field, - java.lang.Object value) { - return super.addRepeatedField(field, value); - } - @java.lang.Override - public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocuments) { - return mergeFrom((com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocuments)other); - } else { - super.mergeFrom(other); - return this; - } - } - - public Builder mergeFrom(com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocuments other) { - if (other == com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocuments.getDefaultInstance()) return this; - if (documentsBuilder_ == null) { - if (!other.documents_.isEmpty()) { - if (documents_.isEmpty()) { - documents_ = other.documents_; - bitField0_ = (bitField0_ & ~0x00000001); - } else { - ensureDocumentsIsMutable(); - documents_.addAll(other.documents_); - } - onChanged(); - } - } else { - if (!other.documents_.isEmpty()) { - if (documentsBuilder_.isEmpty()) { - documentsBuilder_.dispose(); - documentsBuilder_ = null; - documents_ = other.documents_; - bitField0_ = (bitField0_ & ~0x00000001); - documentsBuilder_ = - com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? - getDocumentsFieldBuilder() : null; - } else { - documentsBuilder_.addAllMessages(other.documents_); - } - } - } - this.mergeUnknownFields(other.unknownFields); - onChanged(); - return this; - } - - @java.lang.Override - public final boolean isInitialized() { - return true; - } - - @java.lang.Override - public Builder mergeFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocuments parsedMessage = null; - try { - parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocuments) e.getUnfinishedMessage(); - throw e.unwrapIOException(); - } finally { - if (parsedMessage != null) { - mergeFrom(parsedMessage); - } - } - return this; - } - private int bitField0_; - - private java.util.List documents_ = - java.util.Collections.emptyList(); - private void ensureDocumentsIsMutable() { - if (!((bitField0_ & 0x00000001) != 0)) { - documents_ = new java.util.ArrayList(documents_); - bitField0_ |= 0x00000001; - } - } - - private com.google.protobuf.RepeatedFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocument, com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocument.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocumentOrBuilder> documentsBuilder_; - - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.TextDocument documents = 1; - */ - public java.util.List getDocumentsList() { - if (documentsBuilder_ == null) { - return java.util.Collections.unmodifiableList(documents_); - } else { - return documentsBuilder_.getMessageList(); - } - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.TextDocument documents = 1; - */ - public int getDocumentsCount() { - if (documentsBuilder_ == null) { - return documents_.size(); - } else { - return documentsBuilder_.getCount(); - } - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.TextDocument documents = 1; - */ - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocument getDocuments(int index) { - if (documentsBuilder_ == null) { - return documents_.get(index); - } else { - return documentsBuilder_.getMessage(index); - } - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.TextDocument documents = 1; - */ - public Builder setDocuments( - int index, com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocument value) { - if (documentsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureDocumentsIsMutable(); - documents_.set(index, value); - onChanged(); - } else { - documentsBuilder_.setMessage(index, value); - } - return this; - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.TextDocument documents = 1; - */ - public Builder setDocuments( - int index, com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocument.Builder builderForValue) { - if (documentsBuilder_ == null) { - ensureDocumentsIsMutable(); - documents_.set(index, builderForValue.build()); - onChanged(); - } else { - documentsBuilder_.setMessage(index, builderForValue.build()); - } - return this; - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.TextDocument documents = 1; - */ - public Builder addDocuments(com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocument value) { - if (documentsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureDocumentsIsMutable(); - documents_.add(value); - onChanged(); - } else { - documentsBuilder_.addMessage(value); - } - return this; - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.TextDocument documents = 1; - */ - public Builder addDocuments( - int index, com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocument value) { - if (documentsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureDocumentsIsMutable(); - documents_.add(index, value); - onChanged(); - } else { - documentsBuilder_.addMessage(index, value); - } - return this; - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.TextDocument documents = 1; - */ - public Builder addDocuments( - com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocument.Builder builderForValue) { - if (documentsBuilder_ == null) { - ensureDocumentsIsMutable(); - documents_.add(builderForValue.build()); - onChanged(); - } else { - documentsBuilder_.addMessage(builderForValue.build()); - } - return this; - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.TextDocument documents = 1; - */ - public Builder addDocuments( - int index, com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocument.Builder builderForValue) { - if (documentsBuilder_ == null) { - ensureDocumentsIsMutable(); - documents_.add(index, builderForValue.build()); - onChanged(); - } else { - documentsBuilder_.addMessage(index, builderForValue.build()); - } - return this; - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.TextDocument documents = 1; - */ - public Builder addAllDocuments( - java.lang.Iterable values) { - if (documentsBuilder_ == null) { - ensureDocumentsIsMutable(); - com.google.protobuf.AbstractMessageLite.Builder.addAll( - values, documents_); - onChanged(); - } else { - documentsBuilder_.addAllMessages(values); - } - return this; - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.TextDocument documents = 1; - */ - public Builder clearDocuments() { - if (documentsBuilder_ == null) { - documents_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000001); - onChanged(); - } else { - documentsBuilder_.clear(); - } - return this; - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.TextDocument documents = 1; - */ - public Builder removeDocuments(int index) { - if (documentsBuilder_ == null) { - ensureDocumentsIsMutable(); - documents_.remove(index); - onChanged(); - } else { - documentsBuilder_.remove(index); - } - return this; - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.TextDocument documents = 1; - */ - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocument.Builder getDocumentsBuilder( - int index) { - return getDocumentsFieldBuilder().getBuilder(index); - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.TextDocument documents = 1; - */ - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocumentOrBuilder getDocumentsOrBuilder( - int index) { - if (documentsBuilder_ == null) { - return documents_.get(index); } else { - return documentsBuilder_.getMessageOrBuilder(index); - } - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.TextDocument documents = 1; - */ - public java.util.List - getDocumentsOrBuilderList() { - if (documentsBuilder_ != null) { - return documentsBuilder_.getMessageOrBuilderList(); - } else { - return java.util.Collections.unmodifiableList(documents_); - } - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.TextDocument documents = 1; - */ - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocument.Builder addDocumentsBuilder() { - return getDocumentsFieldBuilder().addBuilder( - com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocument.getDefaultInstance()); - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.TextDocument documents = 1; - */ - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocument.Builder addDocumentsBuilder( - int index) { - return getDocumentsFieldBuilder().addBuilder( - index, com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocument.getDefaultInstance()); - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.TextDocument documents = 1; - */ - public java.util.List - getDocumentsBuilderList() { - return getDocumentsFieldBuilder().getBuilderList(); - } - private com.google.protobuf.RepeatedFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocument, com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocument.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocumentOrBuilder> - getDocumentsFieldBuilder() { - if (documentsBuilder_ == null) { - documentsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocument, com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocument.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocumentOrBuilder>( - documents_, - ((bitField0_ & 0x00000001) != 0), - getParentForChildren(), - isClean()); - documents_ = null; - } - return documentsBuilder_; - } - @java.lang.Override - public final Builder setUnknownFields( - final com.google.protobuf.UnknownFieldSet unknownFields) { - return super.setUnknownFields(unknownFields); - } - - @java.lang.Override - public final Builder mergeUnknownFields( - final com.google.protobuf.UnknownFieldSet unknownFields) { - return super.mergeUnknownFields(unknownFields); - } - - - // @@protoc_insertion_point(builder_scope:com.sourcegraph.semanticdb_kotlinc.TextDocuments) - } - - // @@protoc_insertion_point(class_scope:com.sourcegraph.semanticdb_kotlinc.TextDocuments) - private static final com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocuments DEFAULT_INSTANCE; - static { - DEFAULT_INSTANCE = new com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocuments(); - } - - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocuments getDefaultInstance() { - return DEFAULT_INSTANCE; - } - - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { - @java.lang.Override - public TextDocuments parsePartialFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return new TextDocuments(input, extensionRegistry); - } - }; - - public static com.google.protobuf.Parser parser() { - return PARSER; - } - - @java.lang.Override - public com.google.protobuf.Parser getParserForType() { - return PARSER; - } - - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocuments getDefaultInstanceForType() { - return DEFAULT_INSTANCE; - } - - } - - public interface TextDocumentOrBuilder extends - // @@protoc_insertion_point(interface_extends:com.sourcegraph.semanticdb_kotlinc.TextDocument) - com.google.protobuf.MessageOrBuilder { - - /** - * .com.sourcegraph.semanticdb_kotlinc.Schema schema = 1; - * @return The enum numeric value on the wire for schema. - */ - int getSchemaValue(); - /** - * .com.sourcegraph.semanticdb_kotlinc.Schema schema = 1; - * @return The schema. - */ - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Schema getSchema(); - - /** - * string uri = 2; - * @return The uri. - */ - java.lang.String getUri(); - /** - * string uri = 2; - * @return The bytes for uri. - */ - com.google.protobuf.ByteString - getUriBytes(); - - /** - * string text = 3; - * @return The text. - */ - java.lang.String getText(); - /** - * string text = 3; - * @return The bytes for text. - */ - com.google.protobuf.ByteString - getTextBytes(); - - /** - * string md5 = 11; - * @return The md5. - */ - java.lang.String getMd5(); - /** - * string md5 = 11; - * @return The bytes for md5. - */ - com.google.protobuf.ByteString - getMd5Bytes(); - - /** - * .com.sourcegraph.semanticdb_kotlinc.Language language = 10; - * @return The enum numeric value on the wire for language. - */ - int getLanguageValue(); - /** - * .com.sourcegraph.semanticdb_kotlinc.Language language = 10; - * @return The language. - */ - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Language getLanguage(); - - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolInformation symbols = 5; - */ - java.util.List - getSymbolsList(); - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolInformation symbols = 5; - */ - com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation getSymbols(int index); - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolInformation symbols = 5; - */ - int getSymbolsCount(); - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolInformation symbols = 5; - */ - java.util.List - getSymbolsOrBuilderList(); - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolInformation symbols = 5; - */ - com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformationOrBuilder getSymbolsOrBuilder( - int index); - - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolOccurrence occurrences = 6; - */ - java.util.List - getOccurrencesList(); - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolOccurrence occurrences = 6; - */ - com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolOccurrence getOccurrences(int index); - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolOccurrence occurrences = 6; - */ - int getOccurrencesCount(); - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolOccurrence occurrences = 6; - */ - java.util.List - getOccurrencesOrBuilderList(); - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolOccurrence occurrences = 6; - */ - com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolOccurrenceOrBuilder getOccurrencesOrBuilder( - int index); - } - /** - * Protobuf type {@code com.sourcegraph.semanticdb_kotlinc.TextDocument} - */ - public static final class TextDocument extends - com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:com.sourcegraph.semanticdb_kotlinc.TextDocument) - TextDocumentOrBuilder { - private static final long serialVersionUID = 0L; - // Use TextDocument.newBuilder() to construct. - private TextDocument(com.google.protobuf.GeneratedMessageV3.Builder builder) { - super(builder); - } - private TextDocument() { - schema_ = 0; - uri_ = ""; - text_ = ""; - md5_ = ""; - language_ = 0; - symbols_ = java.util.Collections.emptyList(); - occurrences_ = java.util.Collections.emptyList(); - } - - @java.lang.Override - @SuppressWarnings({"unused"}) - protected java.lang.Object newInstance( - UnusedPrivateParameter unused) { - return new TextDocument(); - } - - @java.lang.Override - public final com.google.protobuf.UnknownFieldSet - getUnknownFields() { - return this.unknownFields; - } - private TextDocument( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - this(); - if (extensionRegistry == null) { - throw new java.lang.NullPointerException(); - } - int mutable_bitField0_ = 0; - com.google.protobuf.UnknownFieldSet.Builder unknownFields = - com.google.protobuf.UnknownFieldSet.newBuilder(); - try { - boolean done = false; - while (!done) { - int tag = input.readTag(); - switch (tag) { - case 0: - done = true; - break; - case 8: { - int rawValue = input.readEnum(); - - schema_ = rawValue; - break; - } - case 18: { - java.lang.String s = input.readStringRequireUtf8(); - - uri_ = s; - break; - } - case 26: { - java.lang.String s = input.readStringRequireUtf8(); - - text_ = s; - break; - } - case 42: { - if (!((mutable_bitField0_ & 0x00000001) != 0)) { - symbols_ = new java.util.ArrayList(); - mutable_bitField0_ |= 0x00000001; - } - symbols_.add( - input.readMessage(com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation.parser(), extensionRegistry)); - break; - } - case 50: { - if (!((mutable_bitField0_ & 0x00000002) != 0)) { - occurrences_ = new java.util.ArrayList(); - mutable_bitField0_ |= 0x00000002; - } - occurrences_.add( - input.readMessage(com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolOccurrence.parser(), extensionRegistry)); - break; - } - case 80: { - int rawValue = input.readEnum(); - - language_ = rawValue; - break; - } - case 90: { - java.lang.String s = input.readStringRequireUtf8(); - - md5_ = s; - break; - } - default: { - if (!parseUnknownField( - input, unknownFields, extensionRegistry, tag)) { - done = true; - } - break; - } - } - } - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.setUnfinishedMessage(this); - } catch (java.io.IOException e) { - throw new com.google.protobuf.InvalidProtocolBufferException( - e).setUnfinishedMessage(this); - } finally { - if (((mutable_bitField0_ & 0x00000001) != 0)) { - symbols_ = java.util.Collections.unmodifiableList(symbols_); - } - if (((mutable_bitField0_ & 0x00000002) != 0)) { - occurrences_ = java.util.Collections.unmodifiableList(occurrences_); - } - this.unknownFields = unknownFields.build(); - makeExtensionsImmutable(); - } - } - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_TextDocument_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internalGetFieldAccessorTable() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_TextDocument_fieldAccessorTable - .ensureFieldAccessorsInitialized( - com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocument.class, com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocument.Builder.class); - } - - public static final int SCHEMA_FIELD_NUMBER = 1; - private int schema_; - /** - * .com.sourcegraph.semanticdb_kotlinc.Schema schema = 1; - * @return The enum numeric value on the wire for schema. - */ - @java.lang.Override public int getSchemaValue() { - return schema_; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Schema schema = 1; - * @return The schema. - */ - @java.lang.Override public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Schema getSchema() { - @SuppressWarnings("deprecation") - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Schema result = com.sourcegraph.semanticdb_kotlinc.Semanticdb.Schema.valueOf(schema_); - return result == null ? com.sourcegraph.semanticdb_kotlinc.Semanticdb.Schema.UNRECOGNIZED : result; - } - - public static final int URI_FIELD_NUMBER = 2; - private volatile java.lang.Object uri_; - /** - * string uri = 2; - * @return The uri. - */ - @java.lang.Override - public java.lang.String getUri() { - java.lang.Object ref = uri_; - if (ref instanceof java.lang.String) { - return (java.lang.String) ref; - } else { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - uri_ = s; - return s; - } - } - /** - * string uri = 2; - * @return The bytes for uri. - */ - @java.lang.Override - public com.google.protobuf.ByteString - getUriBytes() { - java.lang.Object ref = uri_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - uri_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - - public static final int TEXT_FIELD_NUMBER = 3; - private volatile java.lang.Object text_; - /** - * string text = 3; - * @return The text. - */ - @java.lang.Override - public java.lang.String getText() { - java.lang.Object ref = text_; - if (ref instanceof java.lang.String) { - return (java.lang.String) ref; - } else { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - text_ = s; - return s; - } - } - /** - * string text = 3; - * @return The bytes for text. - */ - @java.lang.Override - public com.google.protobuf.ByteString - getTextBytes() { - java.lang.Object ref = text_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - text_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - - public static final int MD5_FIELD_NUMBER = 11; - private volatile java.lang.Object md5_; - /** - * string md5 = 11; - * @return The md5. - */ - @java.lang.Override - public java.lang.String getMd5() { - java.lang.Object ref = md5_; - if (ref instanceof java.lang.String) { - return (java.lang.String) ref; - } else { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - md5_ = s; - return s; - } - } - /** - * string md5 = 11; - * @return The bytes for md5. - */ - @java.lang.Override - public com.google.protobuf.ByteString - getMd5Bytes() { - java.lang.Object ref = md5_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - md5_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - - public static final int LANGUAGE_FIELD_NUMBER = 10; - private int language_; - /** - * .com.sourcegraph.semanticdb_kotlinc.Language language = 10; - * @return The enum numeric value on the wire for language. - */ - @java.lang.Override public int getLanguageValue() { - return language_; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Language language = 10; - * @return The language. - */ - @java.lang.Override public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Language getLanguage() { - @SuppressWarnings("deprecation") - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Language result = com.sourcegraph.semanticdb_kotlinc.Semanticdb.Language.valueOf(language_); - return result == null ? com.sourcegraph.semanticdb_kotlinc.Semanticdb.Language.UNRECOGNIZED : result; - } - - public static final int SYMBOLS_FIELD_NUMBER = 5; - private java.util.List symbols_; - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolInformation symbols = 5; - */ - @java.lang.Override - public java.util.List getSymbolsList() { - return symbols_; - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolInformation symbols = 5; - */ - @java.lang.Override - public java.util.List - getSymbolsOrBuilderList() { - return symbols_; - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolInformation symbols = 5; - */ - @java.lang.Override - public int getSymbolsCount() { - return symbols_.size(); - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolInformation symbols = 5; - */ - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation getSymbols(int index) { - return symbols_.get(index); - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolInformation symbols = 5; - */ - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformationOrBuilder getSymbolsOrBuilder( - int index) { - return symbols_.get(index); - } - - public static final int OCCURRENCES_FIELD_NUMBER = 6; - private java.util.List occurrences_; - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolOccurrence occurrences = 6; - */ - @java.lang.Override - public java.util.List getOccurrencesList() { - return occurrences_; - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolOccurrence occurrences = 6; - */ - @java.lang.Override - public java.util.List - getOccurrencesOrBuilderList() { - return occurrences_; - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolOccurrence occurrences = 6; - */ - @java.lang.Override - public int getOccurrencesCount() { - return occurrences_.size(); - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolOccurrence occurrences = 6; - */ - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolOccurrence getOccurrences(int index) { - return occurrences_.get(index); - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolOccurrence occurrences = 6; - */ - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolOccurrenceOrBuilder getOccurrencesOrBuilder( - int index) { - return occurrences_.get(index); - } - - private byte memoizedIsInitialized = -1; - @java.lang.Override - public final boolean isInitialized() { - byte isInitialized = memoizedIsInitialized; - if (isInitialized == 1) return true; - if (isInitialized == 0) return false; - - memoizedIsInitialized = 1; - return true; - } - - @java.lang.Override - public void writeTo(com.google.protobuf.CodedOutputStream output) - throws java.io.IOException { - if (schema_ != com.sourcegraph.semanticdb_kotlinc.Semanticdb.Schema.LEGACY.getNumber()) { - output.writeEnum(1, schema_); - } - if (!getUriBytes().isEmpty()) { - com.google.protobuf.GeneratedMessageV3.writeString(output, 2, uri_); - } - if (!getTextBytes().isEmpty()) { - com.google.protobuf.GeneratedMessageV3.writeString(output, 3, text_); - } - for (int i = 0; i < symbols_.size(); i++) { - output.writeMessage(5, symbols_.get(i)); - } - for (int i = 0; i < occurrences_.size(); i++) { - output.writeMessage(6, occurrences_.get(i)); - } - if (language_ != com.sourcegraph.semanticdb_kotlinc.Semanticdb.Language.UNKNOWN_LANGUAGE.getNumber()) { - output.writeEnum(10, language_); - } - if (!getMd5Bytes().isEmpty()) { - com.google.protobuf.GeneratedMessageV3.writeString(output, 11, md5_); - } - unknownFields.writeTo(output); - } - - @java.lang.Override - public int getSerializedSize() { - int size = memoizedSize; - if (size != -1) return size; - - size = 0; - if (schema_ != com.sourcegraph.semanticdb_kotlinc.Semanticdb.Schema.LEGACY.getNumber()) { - size += com.google.protobuf.CodedOutputStream - .computeEnumSize(1, schema_); - } - if (!getUriBytes().isEmpty()) { - size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, uri_); - } - if (!getTextBytes().isEmpty()) { - size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, text_); - } - for (int i = 0; i < symbols_.size(); i++) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(5, symbols_.get(i)); - } - for (int i = 0; i < occurrences_.size(); i++) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(6, occurrences_.get(i)); - } - if (language_ != com.sourcegraph.semanticdb_kotlinc.Semanticdb.Language.UNKNOWN_LANGUAGE.getNumber()) { - size += com.google.protobuf.CodedOutputStream - .computeEnumSize(10, language_); - } - if (!getMd5Bytes().isEmpty()) { - size += com.google.protobuf.GeneratedMessageV3.computeStringSize(11, md5_); - } - size += unknownFields.getSerializedSize(); - memoizedSize = size; - return size; - } - - @java.lang.Override - public boolean equals(final java.lang.Object obj) { - if (obj == this) { - return true; - } - if (!(obj instanceof com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocument)) { - return super.equals(obj); - } - com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocument other = (com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocument) obj; - - if (schema_ != other.schema_) return false; - if (!getUri() - .equals(other.getUri())) return false; - if (!getText() - .equals(other.getText())) return false; - if (!getMd5() - .equals(other.getMd5())) return false; - if (language_ != other.language_) return false; - if (!getSymbolsList() - .equals(other.getSymbolsList())) return false; - if (!getOccurrencesList() - .equals(other.getOccurrencesList())) return false; - if (!unknownFields.equals(other.unknownFields)) return false; - return true; - } - - @java.lang.Override - public int hashCode() { - if (memoizedHashCode != 0) { - return memoizedHashCode; - } - int hash = 41; - hash = (19 * hash) + getDescriptor().hashCode(); - hash = (37 * hash) + SCHEMA_FIELD_NUMBER; - hash = (53 * hash) + schema_; - hash = (37 * hash) + URI_FIELD_NUMBER; - hash = (53 * hash) + getUri().hashCode(); - hash = (37 * hash) + TEXT_FIELD_NUMBER; - hash = (53 * hash) + getText().hashCode(); - hash = (37 * hash) + MD5_FIELD_NUMBER; - hash = (53 * hash) + getMd5().hashCode(); - hash = (37 * hash) + LANGUAGE_FIELD_NUMBER; - hash = (53 * hash) + language_; - if (getSymbolsCount() > 0) { - hash = (37 * hash) + SYMBOLS_FIELD_NUMBER; - hash = (53 * hash) + getSymbolsList().hashCode(); - } - if (getOccurrencesCount() > 0) { - hash = (37 * hash) + OCCURRENCES_FIELD_NUMBER; - hash = (53 * hash) + getOccurrencesList().hashCode(); - } - hash = (29 * hash) + unknownFields.hashCode(); - memoizedHashCode = hash; - return hash; - } - - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocument parseFrom( - java.nio.ByteBuffer data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocument parseFrom( - java.nio.ByteBuffer data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocument parseFrom( - com.google.protobuf.ByteString data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocument parseFrom( - com.google.protobuf.ByteString data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocument parseFrom(byte[] data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocument parseFrom( - byte[] data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocument parseFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocument parseFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocument parseDelimitedFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseDelimitedWithIOException(PARSER, input); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocument parseDelimitedFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseDelimitedWithIOException(PARSER, input, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocument parseFrom( - com.google.protobuf.CodedInputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocument parseFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input, extensionRegistry); - } - - @java.lang.Override - public Builder newBuilderForType() { return newBuilder(); } - public static Builder newBuilder() { - return DEFAULT_INSTANCE.toBuilder(); - } - public static Builder newBuilder(com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocument prototype) { - return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); - } - @java.lang.Override - public Builder toBuilder() { - return this == DEFAULT_INSTANCE - ? new Builder() : new Builder().mergeFrom(this); - } - - @java.lang.Override - protected Builder newBuilderForType( - com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { - Builder builder = new Builder(parent); - return builder; - } - /** - * Protobuf type {@code com.sourcegraph.semanticdb_kotlinc.TextDocument} - */ - public static final class Builder extends - com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:com.sourcegraph.semanticdb_kotlinc.TextDocument) - com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocumentOrBuilder { - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_TextDocument_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internalGetFieldAccessorTable() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_TextDocument_fieldAccessorTable - .ensureFieldAccessorsInitialized( - com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocument.class, com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocument.Builder.class); - } - - // Construct using com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocument.newBuilder() - private Builder() { - maybeForceBuilderInitialization(); - } - - private Builder( - com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { - super(parent); - maybeForceBuilderInitialization(); - } - private void maybeForceBuilderInitialization() { - if (com.google.protobuf.GeneratedMessageV3 - .alwaysUseFieldBuilders) { - getSymbolsFieldBuilder(); - getOccurrencesFieldBuilder(); - } - } - @java.lang.Override - public Builder clear() { - super.clear(); - schema_ = 0; - - uri_ = ""; - - text_ = ""; - - md5_ = ""; - - language_ = 0; - - if (symbolsBuilder_ == null) { - symbols_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000001); - } else { - symbolsBuilder_.clear(); - } - if (occurrencesBuilder_ == null) { - occurrences_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000002); - } else { - occurrencesBuilder_.clear(); - } - return this; - } - - @java.lang.Override - public com.google.protobuf.Descriptors.Descriptor - getDescriptorForType() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_TextDocument_descriptor; - } - - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocument getDefaultInstanceForType() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocument.getDefaultInstance(); - } - - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocument build() { - com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocument result = buildPartial(); - if (!result.isInitialized()) { - throw newUninitializedMessageException(result); - } - return result; - } - - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocument buildPartial() { - com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocument result = new com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocument(this); - int from_bitField0_ = bitField0_; - result.schema_ = schema_; - result.uri_ = uri_; - result.text_ = text_; - result.md5_ = md5_; - result.language_ = language_; - if (symbolsBuilder_ == null) { - if (((bitField0_ & 0x00000001) != 0)) { - symbols_ = java.util.Collections.unmodifiableList(symbols_); - bitField0_ = (bitField0_ & ~0x00000001); - } - result.symbols_ = symbols_; - } else { - result.symbols_ = symbolsBuilder_.build(); - } - if (occurrencesBuilder_ == null) { - if (((bitField0_ & 0x00000002) != 0)) { - occurrences_ = java.util.Collections.unmodifiableList(occurrences_); - bitField0_ = (bitField0_ & ~0x00000002); - } - result.occurrences_ = occurrences_; - } else { - result.occurrences_ = occurrencesBuilder_.build(); - } - onBuilt(); - return result; - } - - @java.lang.Override - public Builder clone() { - return super.clone(); - } - @java.lang.Override - public Builder setField( - com.google.protobuf.Descriptors.FieldDescriptor field, - java.lang.Object value) { - return super.setField(field, value); - } - @java.lang.Override - public Builder clearField( - com.google.protobuf.Descriptors.FieldDescriptor field) { - return super.clearField(field); - } - @java.lang.Override - public Builder clearOneof( - com.google.protobuf.Descriptors.OneofDescriptor oneof) { - return super.clearOneof(oneof); - } - @java.lang.Override - public Builder setRepeatedField( - com.google.protobuf.Descriptors.FieldDescriptor field, - int index, java.lang.Object value) { - return super.setRepeatedField(field, index, value); - } - @java.lang.Override - public Builder addRepeatedField( - com.google.protobuf.Descriptors.FieldDescriptor field, - java.lang.Object value) { - return super.addRepeatedField(field, value); - } - @java.lang.Override - public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocument) { - return mergeFrom((com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocument)other); - } else { - super.mergeFrom(other); - return this; - } - } - - public Builder mergeFrom(com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocument other) { - if (other == com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocument.getDefaultInstance()) return this; - if (other.schema_ != 0) { - setSchemaValue(other.getSchemaValue()); - } - if (!other.getUri().isEmpty()) { - uri_ = other.uri_; - onChanged(); - } - if (!other.getText().isEmpty()) { - text_ = other.text_; - onChanged(); - } - if (!other.getMd5().isEmpty()) { - md5_ = other.md5_; - onChanged(); - } - if (other.language_ != 0) { - setLanguageValue(other.getLanguageValue()); - } - if (symbolsBuilder_ == null) { - if (!other.symbols_.isEmpty()) { - if (symbols_.isEmpty()) { - symbols_ = other.symbols_; - bitField0_ = (bitField0_ & ~0x00000001); - } else { - ensureSymbolsIsMutable(); - symbols_.addAll(other.symbols_); - } - onChanged(); - } - } else { - if (!other.symbols_.isEmpty()) { - if (symbolsBuilder_.isEmpty()) { - symbolsBuilder_.dispose(); - symbolsBuilder_ = null; - symbols_ = other.symbols_; - bitField0_ = (bitField0_ & ~0x00000001); - symbolsBuilder_ = - com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? - getSymbolsFieldBuilder() : null; - } else { - symbolsBuilder_.addAllMessages(other.symbols_); - } - } - } - if (occurrencesBuilder_ == null) { - if (!other.occurrences_.isEmpty()) { - if (occurrences_.isEmpty()) { - occurrences_ = other.occurrences_; - bitField0_ = (bitField0_ & ~0x00000002); - } else { - ensureOccurrencesIsMutable(); - occurrences_.addAll(other.occurrences_); - } - onChanged(); - } - } else { - if (!other.occurrences_.isEmpty()) { - if (occurrencesBuilder_.isEmpty()) { - occurrencesBuilder_.dispose(); - occurrencesBuilder_ = null; - occurrences_ = other.occurrences_; - bitField0_ = (bitField0_ & ~0x00000002); - occurrencesBuilder_ = - com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? - getOccurrencesFieldBuilder() : null; - } else { - occurrencesBuilder_.addAllMessages(other.occurrences_); - } - } - } - this.mergeUnknownFields(other.unknownFields); - onChanged(); - return this; - } - - @java.lang.Override - public final boolean isInitialized() { - return true; - } - - @java.lang.Override - public Builder mergeFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocument parsedMessage = null; - try { - parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocument) e.getUnfinishedMessage(); - throw e.unwrapIOException(); - } finally { - if (parsedMessage != null) { - mergeFrom(parsedMessage); - } - } - return this; - } - private int bitField0_; - - private int schema_ = 0; - /** - * .com.sourcegraph.semanticdb_kotlinc.Schema schema = 1; - * @return The enum numeric value on the wire for schema. - */ - @java.lang.Override public int getSchemaValue() { - return schema_; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Schema schema = 1; - * @param value The enum numeric value on the wire for schema to set. - * @return This builder for chaining. - */ - public Builder setSchemaValue(int value) { - - schema_ = value; - onChanged(); - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Schema schema = 1; - * @return The schema. - */ - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Schema getSchema() { - @SuppressWarnings("deprecation") - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Schema result = com.sourcegraph.semanticdb_kotlinc.Semanticdb.Schema.valueOf(schema_); - return result == null ? com.sourcegraph.semanticdb_kotlinc.Semanticdb.Schema.UNRECOGNIZED : result; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Schema schema = 1; - * @param value The schema to set. - * @return This builder for chaining. - */ - public Builder setSchema(com.sourcegraph.semanticdb_kotlinc.Semanticdb.Schema value) { - if (value == null) { - throw new NullPointerException(); - } - - schema_ = value.getNumber(); - onChanged(); - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Schema schema = 1; - * @return This builder for chaining. - */ - public Builder clearSchema() { - - schema_ = 0; - onChanged(); - return this; - } - - private java.lang.Object uri_ = ""; - /** - * string uri = 2; - * @return The uri. - */ - public java.lang.String getUri() { - java.lang.Object ref = uri_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - uri_ = s; - return s; - } else { - return (java.lang.String) ref; - } - } - /** - * string uri = 2; - * @return The bytes for uri. - */ - public com.google.protobuf.ByteString - getUriBytes() { - java.lang.Object ref = uri_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - uri_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - /** - * string uri = 2; - * @param value The uri to set. - * @return This builder for chaining. - */ - public Builder setUri( - java.lang.String value) { - if (value == null) { - throw new NullPointerException(); - } - - uri_ = value; - onChanged(); - return this; - } - /** - * string uri = 2; - * @return This builder for chaining. - */ - public Builder clearUri() { - - uri_ = getDefaultInstance().getUri(); - onChanged(); - return this; - } - /** - * string uri = 2; - * @param value The bytes for uri to set. - * @return This builder for chaining. - */ - public Builder setUriBytes( - com.google.protobuf.ByteString value) { - if (value == null) { - throw new NullPointerException(); - } - checkByteStringIsUtf8(value); - - uri_ = value; - onChanged(); - return this; - } - - private java.lang.Object text_ = ""; - /** - * string text = 3; - * @return The text. - */ - public java.lang.String getText() { - java.lang.Object ref = text_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - text_ = s; - return s; - } else { - return (java.lang.String) ref; - } - } - /** - * string text = 3; - * @return The bytes for text. - */ - public com.google.protobuf.ByteString - getTextBytes() { - java.lang.Object ref = text_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - text_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - /** - * string text = 3; - * @param value The text to set. - * @return This builder for chaining. - */ - public Builder setText( - java.lang.String value) { - if (value == null) { - throw new NullPointerException(); - } - - text_ = value; - onChanged(); - return this; - } - /** - * string text = 3; - * @return This builder for chaining. - */ - public Builder clearText() { - - text_ = getDefaultInstance().getText(); - onChanged(); - return this; - } - /** - * string text = 3; - * @param value The bytes for text to set. - * @return This builder for chaining. - */ - public Builder setTextBytes( - com.google.protobuf.ByteString value) { - if (value == null) { - throw new NullPointerException(); - } - checkByteStringIsUtf8(value); - - text_ = value; - onChanged(); - return this; - } - - private java.lang.Object md5_ = ""; - /** - * string md5 = 11; - * @return The md5. - */ - public java.lang.String getMd5() { - java.lang.Object ref = md5_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - md5_ = s; - return s; - } else { - return (java.lang.String) ref; - } - } - /** - * string md5 = 11; - * @return The bytes for md5. - */ - public com.google.protobuf.ByteString - getMd5Bytes() { - java.lang.Object ref = md5_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - md5_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - /** - * string md5 = 11; - * @param value The md5 to set. - * @return This builder for chaining. - */ - public Builder setMd5( - java.lang.String value) { - if (value == null) { - throw new NullPointerException(); - } - - md5_ = value; - onChanged(); - return this; - } - /** - * string md5 = 11; - * @return This builder for chaining. - */ - public Builder clearMd5() { - - md5_ = getDefaultInstance().getMd5(); - onChanged(); - return this; - } - /** - * string md5 = 11; - * @param value The bytes for md5 to set. - * @return This builder for chaining. - */ - public Builder setMd5Bytes( - com.google.protobuf.ByteString value) { - if (value == null) { - throw new NullPointerException(); - } - checkByteStringIsUtf8(value); - - md5_ = value; - onChanged(); - return this; - } - - private int language_ = 0; - /** - * .com.sourcegraph.semanticdb_kotlinc.Language language = 10; - * @return The enum numeric value on the wire for language. - */ - @java.lang.Override public int getLanguageValue() { - return language_; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Language language = 10; - * @param value The enum numeric value on the wire for language to set. - * @return This builder for chaining. - */ - public Builder setLanguageValue(int value) { - - language_ = value; - onChanged(); - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Language language = 10; - * @return The language. - */ - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Language getLanguage() { - @SuppressWarnings("deprecation") - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Language result = com.sourcegraph.semanticdb_kotlinc.Semanticdb.Language.valueOf(language_); - return result == null ? com.sourcegraph.semanticdb_kotlinc.Semanticdb.Language.UNRECOGNIZED : result; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Language language = 10; - * @param value The language to set. - * @return This builder for chaining. - */ - public Builder setLanguage(com.sourcegraph.semanticdb_kotlinc.Semanticdb.Language value) { - if (value == null) { - throw new NullPointerException(); - } - - language_ = value.getNumber(); - onChanged(); - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Language language = 10; - * @return This builder for chaining. - */ - public Builder clearLanguage() { - - language_ = 0; - onChanged(); - return this; - } - - private java.util.List symbols_ = - java.util.Collections.emptyList(); - private void ensureSymbolsIsMutable() { - if (!((bitField0_ & 0x00000001) != 0)) { - symbols_ = new java.util.ArrayList(symbols_); - bitField0_ |= 0x00000001; - } - } - - private com.google.protobuf.RepeatedFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation, com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformationOrBuilder> symbolsBuilder_; - - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolInformation symbols = 5; - */ - public java.util.List getSymbolsList() { - if (symbolsBuilder_ == null) { - return java.util.Collections.unmodifiableList(symbols_); - } else { - return symbolsBuilder_.getMessageList(); - } - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolInformation symbols = 5; - */ - public int getSymbolsCount() { - if (symbolsBuilder_ == null) { - return symbols_.size(); - } else { - return symbolsBuilder_.getCount(); - } - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolInformation symbols = 5; - */ - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation getSymbols(int index) { - if (symbolsBuilder_ == null) { - return symbols_.get(index); - } else { - return symbolsBuilder_.getMessage(index); - } - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolInformation symbols = 5; - */ - public Builder setSymbols( - int index, com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation value) { - if (symbolsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureSymbolsIsMutable(); - symbols_.set(index, value); - onChanged(); - } else { - symbolsBuilder_.setMessage(index, value); - } - return this; - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolInformation symbols = 5; - */ - public Builder setSymbols( - int index, com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation.Builder builderForValue) { - if (symbolsBuilder_ == null) { - ensureSymbolsIsMutable(); - symbols_.set(index, builderForValue.build()); - onChanged(); - } else { - symbolsBuilder_.setMessage(index, builderForValue.build()); - } - return this; - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolInformation symbols = 5; - */ - public Builder addSymbols(com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation value) { - if (symbolsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureSymbolsIsMutable(); - symbols_.add(value); - onChanged(); - } else { - symbolsBuilder_.addMessage(value); - } - return this; - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolInformation symbols = 5; - */ - public Builder addSymbols( - int index, com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation value) { - if (symbolsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureSymbolsIsMutable(); - symbols_.add(index, value); - onChanged(); - } else { - symbolsBuilder_.addMessage(index, value); - } - return this; - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolInformation symbols = 5; - */ - public Builder addSymbols( - com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation.Builder builderForValue) { - if (symbolsBuilder_ == null) { - ensureSymbolsIsMutable(); - symbols_.add(builderForValue.build()); - onChanged(); - } else { - symbolsBuilder_.addMessage(builderForValue.build()); - } - return this; - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolInformation symbols = 5; - */ - public Builder addSymbols( - int index, com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation.Builder builderForValue) { - if (symbolsBuilder_ == null) { - ensureSymbolsIsMutable(); - symbols_.add(index, builderForValue.build()); - onChanged(); - } else { - symbolsBuilder_.addMessage(index, builderForValue.build()); - } - return this; - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolInformation symbols = 5; - */ - public Builder addAllSymbols( - java.lang.Iterable values) { - if (symbolsBuilder_ == null) { - ensureSymbolsIsMutable(); - com.google.protobuf.AbstractMessageLite.Builder.addAll( - values, symbols_); - onChanged(); - } else { - symbolsBuilder_.addAllMessages(values); - } - return this; - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolInformation symbols = 5; - */ - public Builder clearSymbols() { - if (symbolsBuilder_ == null) { - symbols_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000001); - onChanged(); - } else { - symbolsBuilder_.clear(); - } - return this; - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolInformation symbols = 5; - */ - public Builder removeSymbols(int index) { - if (symbolsBuilder_ == null) { - ensureSymbolsIsMutable(); - symbols_.remove(index); - onChanged(); - } else { - symbolsBuilder_.remove(index); - } - return this; - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolInformation symbols = 5; - */ - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation.Builder getSymbolsBuilder( - int index) { - return getSymbolsFieldBuilder().getBuilder(index); - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolInformation symbols = 5; - */ - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformationOrBuilder getSymbolsOrBuilder( - int index) { - if (symbolsBuilder_ == null) { - return symbols_.get(index); } else { - return symbolsBuilder_.getMessageOrBuilder(index); - } - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolInformation symbols = 5; - */ - public java.util.List - getSymbolsOrBuilderList() { - if (symbolsBuilder_ != null) { - return symbolsBuilder_.getMessageOrBuilderList(); - } else { - return java.util.Collections.unmodifiableList(symbols_); - } - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolInformation symbols = 5; - */ - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation.Builder addSymbolsBuilder() { - return getSymbolsFieldBuilder().addBuilder( - com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation.getDefaultInstance()); - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolInformation symbols = 5; - */ - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation.Builder addSymbolsBuilder( - int index) { - return getSymbolsFieldBuilder().addBuilder( - index, com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation.getDefaultInstance()); - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolInformation symbols = 5; - */ - public java.util.List - getSymbolsBuilderList() { - return getSymbolsFieldBuilder().getBuilderList(); - } - private com.google.protobuf.RepeatedFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation, com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformationOrBuilder> - getSymbolsFieldBuilder() { - if (symbolsBuilder_ == null) { - symbolsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation, com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformationOrBuilder>( - symbols_, - ((bitField0_ & 0x00000001) != 0), - getParentForChildren(), - isClean()); - symbols_ = null; - } - return symbolsBuilder_; - } - - private java.util.List occurrences_ = - java.util.Collections.emptyList(); - private void ensureOccurrencesIsMutable() { - if (!((bitField0_ & 0x00000002) != 0)) { - occurrences_ = new java.util.ArrayList(occurrences_); - bitField0_ |= 0x00000002; - } - } - - private com.google.protobuf.RepeatedFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolOccurrence, com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolOccurrence.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolOccurrenceOrBuilder> occurrencesBuilder_; - - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolOccurrence occurrences = 6; - */ - public java.util.List getOccurrencesList() { - if (occurrencesBuilder_ == null) { - return java.util.Collections.unmodifiableList(occurrences_); - } else { - return occurrencesBuilder_.getMessageList(); - } - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolOccurrence occurrences = 6; - */ - public int getOccurrencesCount() { - if (occurrencesBuilder_ == null) { - return occurrences_.size(); - } else { - return occurrencesBuilder_.getCount(); - } - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolOccurrence occurrences = 6; - */ - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolOccurrence getOccurrences(int index) { - if (occurrencesBuilder_ == null) { - return occurrences_.get(index); - } else { - return occurrencesBuilder_.getMessage(index); - } - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolOccurrence occurrences = 6; - */ - public Builder setOccurrences( - int index, com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolOccurrence value) { - if (occurrencesBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureOccurrencesIsMutable(); - occurrences_.set(index, value); - onChanged(); - } else { - occurrencesBuilder_.setMessage(index, value); - } - return this; - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolOccurrence occurrences = 6; - */ - public Builder setOccurrences( - int index, com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolOccurrence.Builder builderForValue) { - if (occurrencesBuilder_ == null) { - ensureOccurrencesIsMutable(); - occurrences_.set(index, builderForValue.build()); - onChanged(); - } else { - occurrencesBuilder_.setMessage(index, builderForValue.build()); - } - return this; - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolOccurrence occurrences = 6; - */ - public Builder addOccurrences(com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolOccurrence value) { - if (occurrencesBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureOccurrencesIsMutable(); - occurrences_.add(value); - onChanged(); - } else { - occurrencesBuilder_.addMessage(value); - } - return this; - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolOccurrence occurrences = 6; - */ - public Builder addOccurrences( - int index, com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolOccurrence value) { - if (occurrencesBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureOccurrencesIsMutable(); - occurrences_.add(index, value); - onChanged(); - } else { - occurrencesBuilder_.addMessage(index, value); - } - return this; - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolOccurrence occurrences = 6; - */ - public Builder addOccurrences( - com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolOccurrence.Builder builderForValue) { - if (occurrencesBuilder_ == null) { - ensureOccurrencesIsMutable(); - occurrences_.add(builderForValue.build()); - onChanged(); - } else { - occurrencesBuilder_.addMessage(builderForValue.build()); - } - return this; - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolOccurrence occurrences = 6; - */ - public Builder addOccurrences( - int index, com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolOccurrence.Builder builderForValue) { - if (occurrencesBuilder_ == null) { - ensureOccurrencesIsMutable(); - occurrences_.add(index, builderForValue.build()); - onChanged(); - } else { - occurrencesBuilder_.addMessage(index, builderForValue.build()); - } - return this; - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolOccurrence occurrences = 6; - */ - public Builder addAllOccurrences( - java.lang.Iterable values) { - if (occurrencesBuilder_ == null) { - ensureOccurrencesIsMutable(); - com.google.protobuf.AbstractMessageLite.Builder.addAll( - values, occurrences_); - onChanged(); - } else { - occurrencesBuilder_.addAllMessages(values); - } - return this; - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolOccurrence occurrences = 6; - */ - public Builder clearOccurrences() { - if (occurrencesBuilder_ == null) { - occurrences_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000002); - onChanged(); - } else { - occurrencesBuilder_.clear(); - } - return this; - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolOccurrence occurrences = 6; - */ - public Builder removeOccurrences(int index) { - if (occurrencesBuilder_ == null) { - ensureOccurrencesIsMutable(); - occurrences_.remove(index); - onChanged(); - } else { - occurrencesBuilder_.remove(index); - } - return this; - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolOccurrence occurrences = 6; - */ - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolOccurrence.Builder getOccurrencesBuilder( - int index) { - return getOccurrencesFieldBuilder().getBuilder(index); - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolOccurrence occurrences = 6; - */ - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolOccurrenceOrBuilder getOccurrencesOrBuilder( - int index) { - if (occurrencesBuilder_ == null) { - return occurrences_.get(index); } else { - return occurrencesBuilder_.getMessageOrBuilder(index); - } - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolOccurrence occurrences = 6; - */ - public java.util.List - getOccurrencesOrBuilderList() { - if (occurrencesBuilder_ != null) { - return occurrencesBuilder_.getMessageOrBuilderList(); - } else { - return java.util.Collections.unmodifiableList(occurrences_); - } - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolOccurrence occurrences = 6; - */ - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolOccurrence.Builder addOccurrencesBuilder() { - return getOccurrencesFieldBuilder().addBuilder( - com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolOccurrence.getDefaultInstance()); - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolOccurrence occurrences = 6; - */ - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolOccurrence.Builder addOccurrencesBuilder( - int index) { - return getOccurrencesFieldBuilder().addBuilder( - index, com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolOccurrence.getDefaultInstance()); - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolOccurrence occurrences = 6; - */ - public java.util.List - getOccurrencesBuilderList() { - return getOccurrencesFieldBuilder().getBuilderList(); - } - private com.google.protobuf.RepeatedFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolOccurrence, com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolOccurrence.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolOccurrenceOrBuilder> - getOccurrencesFieldBuilder() { - if (occurrencesBuilder_ == null) { - occurrencesBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolOccurrence, com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolOccurrence.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolOccurrenceOrBuilder>( - occurrences_, - ((bitField0_ & 0x00000002) != 0), - getParentForChildren(), - isClean()); - occurrences_ = null; - } - return occurrencesBuilder_; - } - @java.lang.Override - public final Builder setUnknownFields( - final com.google.protobuf.UnknownFieldSet unknownFields) { - return super.setUnknownFields(unknownFields); - } - - @java.lang.Override - public final Builder mergeUnknownFields( - final com.google.protobuf.UnknownFieldSet unknownFields) { - return super.mergeUnknownFields(unknownFields); - } - - - // @@protoc_insertion_point(builder_scope:com.sourcegraph.semanticdb_kotlinc.TextDocument) - } - - // @@protoc_insertion_point(class_scope:com.sourcegraph.semanticdb_kotlinc.TextDocument) - private static final com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocument DEFAULT_INSTANCE; - static { - DEFAULT_INSTANCE = new com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocument(); - } - - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocument getDefaultInstance() { - return DEFAULT_INSTANCE; - } - - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { - @java.lang.Override - public TextDocument parsePartialFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return new TextDocument(input, extensionRegistry); - } - }; - - public static com.google.protobuf.Parser parser() { - return PARSER; - } - - @java.lang.Override - public com.google.protobuf.Parser getParserForType() { - return PARSER; - } - - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.TextDocument getDefaultInstanceForType() { - return DEFAULT_INSTANCE; - } - - } - - public interface RangeOrBuilder extends - // @@protoc_insertion_point(interface_extends:com.sourcegraph.semanticdb_kotlinc.Range) - com.google.protobuf.MessageOrBuilder { - - /** - * int32 start_line = 1; - * @return The startLine. - */ - int getStartLine(); - - /** - * int32 start_character = 2; - * @return The startCharacter. - */ - int getStartCharacter(); - - /** - * int32 end_line = 3; - * @return The endLine. - */ - int getEndLine(); - - /** - * int32 end_character = 4; - * @return The endCharacter. - */ - int getEndCharacter(); - } - /** - * Protobuf type {@code com.sourcegraph.semanticdb_kotlinc.Range} - */ - public static final class Range extends - com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:com.sourcegraph.semanticdb_kotlinc.Range) - RangeOrBuilder { - private static final long serialVersionUID = 0L; - // Use Range.newBuilder() to construct. - private Range(com.google.protobuf.GeneratedMessageV3.Builder builder) { - super(builder); - } - private Range() { - } - - @java.lang.Override - @SuppressWarnings({"unused"}) - protected java.lang.Object newInstance( - UnusedPrivateParameter unused) { - return new Range(); - } - - @java.lang.Override - public final com.google.protobuf.UnknownFieldSet - getUnknownFields() { - return this.unknownFields; - } - private Range( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - this(); - if (extensionRegistry == null) { - throw new java.lang.NullPointerException(); - } - com.google.protobuf.UnknownFieldSet.Builder unknownFields = - com.google.protobuf.UnknownFieldSet.newBuilder(); - try { - boolean done = false; - while (!done) { - int tag = input.readTag(); - switch (tag) { - case 0: - done = true; - break; - case 8: { - - startLine_ = input.readInt32(); - break; - } - case 16: { - - startCharacter_ = input.readInt32(); - break; - } - case 24: { - - endLine_ = input.readInt32(); - break; - } - case 32: { - - endCharacter_ = input.readInt32(); - break; - } - default: { - if (!parseUnknownField( - input, unknownFields, extensionRegistry, tag)) { - done = true; - } - break; - } - } - } - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.setUnfinishedMessage(this); - } catch (java.io.IOException e) { - throw new com.google.protobuf.InvalidProtocolBufferException( - e).setUnfinishedMessage(this); - } finally { - this.unknownFields = unknownFields.build(); - makeExtensionsImmutable(); - } - } - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_Range_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internalGetFieldAccessorTable() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_Range_fieldAccessorTable - .ensureFieldAccessorsInitialized( - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Range.class, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Range.Builder.class); - } - - public static final int START_LINE_FIELD_NUMBER = 1; - private int startLine_; - /** - * int32 start_line = 1; - * @return The startLine. - */ - @java.lang.Override - public int getStartLine() { - return startLine_; - } - - public static final int START_CHARACTER_FIELD_NUMBER = 2; - private int startCharacter_; - /** - * int32 start_character = 2; - * @return The startCharacter. - */ - @java.lang.Override - public int getStartCharacter() { - return startCharacter_; - } - - public static final int END_LINE_FIELD_NUMBER = 3; - private int endLine_; - /** - * int32 end_line = 3; - * @return The endLine. - */ - @java.lang.Override - public int getEndLine() { - return endLine_; - } - - public static final int END_CHARACTER_FIELD_NUMBER = 4; - private int endCharacter_; - /** - * int32 end_character = 4; - * @return The endCharacter. - */ - @java.lang.Override - public int getEndCharacter() { - return endCharacter_; - } - - private byte memoizedIsInitialized = -1; - @java.lang.Override - public final boolean isInitialized() { - byte isInitialized = memoizedIsInitialized; - if (isInitialized == 1) return true; - if (isInitialized == 0) return false; - - memoizedIsInitialized = 1; - return true; - } - - @java.lang.Override - public void writeTo(com.google.protobuf.CodedOutputStream output) - throws java.io.IOException { - if (startLine_ != 0) { - output.writeInt32(1, startLine_); - } - if (startCharacter_ != 0) { - output.writeInt32(2, startCharacter_); - } - if (endLine_ != 0) { - output.writeInt32(3, endLine_); - } - if (endCharacter_ != 0) { - output.writeInt32(4, endCharacter_); - } - unknownFields.writeTo(output); - } - - @java.lang.Override - public int getSerializedSize() { - int size = memoizedSize; - if (size != -1) return size; - - size = 0; - if (startLine_ != 0) { - size += com.google.protobuf.CodedOutputStream - .computeInt32Size(1, startLine_); - } - if (startCharacter_ != 0) { - size += com.google.protobuf.CodedOutputStream - .computeInt32Size(2, startCharacter_); - } - if (endLine_ != 0) { - size += com.google.protobuf.CodedOutputStream - .computeInt32Size(3, endLine_); - } - if (endCharacter_ != 0) { - size += com.google.protobuf.CodedOutputStream - .computeInt32Size(4, endCharacter_); - } - size += unknownFields.getSerializedSize(); - memoizedSize = size; - return size; - } - - @java.lang.Override - public boolean equals(final java.lang.Object obj) { - if (obj == this) { - return true; - } - if (!(obj instanceof com.sourcegraph.semanticdb_kotlinc.Semanticdb.Range)) { - return super.equals(obj); - } - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Range other = (com.sourcegraph.semanticdb_kotlinc.Semanticdb.Range) obj; - - if (getStartLine() - != other.getStartLine()) return false; - if (getStartCharacter() - != other.getStartCharacter()) return false; - if (getEndLine() - != other.getEndLine()) return false; - if (getEndCharacter() - != other.getEndCharacter()) return false; - if (!unknownFields.equals(other.unknownFields)) return false; - return true; - } - - @java.lang.Override - public int hashCode() { - if (memoizedHashCode != 0) { - return memoizedHashCode; - } - int hash = 41; - hash = (19 * hash) + getDescriptor().hashCode(); - hash = (37 * hash) + START_LINE_FIELD_NUMBER; - hash = (53 * hash) + getStartLine(); - hash = (37 * hash) + START_CHARACTER_FIELD_NUMBER; - hash = (53 * hash) + getStartCharacter(); - hash = (37 * hash) + END_LINE_FIELD_NUMBER; - hash = (53 * hash) + getEndLine(); - hash = (37 * hash) + END_CHARACTER_FIELD_NUMBER; - hash = (53 * hash) + getEndCharacter(); - hash = (29 * hash) + unknownFields.hashCode(); - memoizedHashCode = hash; - return hash; - } - - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.Range parseFrom( - java.nio.ByteBuffer data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.Range parseFrom( - java.nio.ByteBuffer data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.Range parseFrom( - com.google.protobuf.ByteString data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.Range parseFrom( - com.google.protobuf.ByteString data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.Range parseFrom(byte[] data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.Range parseFrom( - byte[] data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.Range parseFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.Range parseFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.Range parseDelimitedFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseDelimitedWithIOException(PARSER, input); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.Range parseDelimitedFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseDelimitedWithIOException(PARSER, input, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.Range parseFrom( - com.google.protobuf.CodedInputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.Range parseFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input, extensionRegistry); - } - - @java.lang.Override - public Builder newBuilderForType() { return newBuilder(); } - public static Builder newBuilder() { - return DEFAULT_INSTANCE.toBuilder(); - } - public static Builder newBuilder(com.sourcegraph.semanticdb_kotlinc.Semanticdb.Range prototype) { - return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); - } - @java.lang.Override - public Builder toBuilder() { - return this == DEFAULT_INSTANCE - ? new Builder() : new Builder().mergeFrom(this); - } - - @java.lang.Override - protected Builder newBuilderForType( - com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { - Builder builder = new Builder(parent); - return builder; - } - /** - * Protobuf type {@code com.sourcegraph.semanticdb_kotlinc.Range} - */ - public static final class Builder extends - com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:com.sourcegraph.semanticdb_kotlinc.Range) - com.sourcegraph.semanticdb_kotlinc.Semanticdb.RangeOrBuilder { - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_Range_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internalGetFieldAccessorTable() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_Range_fieldAccessorTable - .ensureFieldAccessorsInitialized( - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Range.class, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Range.Builder.class); - } - - // Construct using com.sourcegraph.semanticdb_kotlinc.Semanticdb.Range.newBuilder() - private Builder() { - maybeForceBuilderInitialization(); - } - - private Builder( - com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { - super(parent); - maybeForceBuilderInitialization(); - } - private void maybeForceBuilderInitialization() { - if (com.google.protobuf.GeneratedMessageV3 - .alwaysUseFieldBuilders) { - } - } - @java.lang.Override - public Builder clear() { - super.clear(); - startLine_ = 0; - - startCharacter_ = 0; - - endLine_ = 0; - - endCharacter_ = 0; - - return this; - } - - @java.lang.Override - public com.google.protobuf.Descriptors.Descriptor - getDescriptorForType() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_Range_descriptor; - } - - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Range getDefaultInstanceForType() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.Range.getDefaultInstance(); - } - - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Range build() { - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Range result = buildPartial(); - if (!result.isInitialized()) { - throw newUninitializedMessageException(result); - } - return result; - } - - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Range buildPartial() { - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Range result = new com.sourcegraph.semanticdb_kotlinc.Semanticdb.Range(this); - result.startLine_ = startLine_; - result.startCharacter_ = startCharacter_; - result.endLine_ = endLine_; - result.endCharacter_ = endCharacter_; - onBuilt(); - return result; - } - - @java.lang.Override - public Builder clone() { - return super.clone(); - } - @java.lang.Override - public Builder setField( - com.google.protobuf.Descriptors.FieldDescriptor field, - java.lang.Object value) { - return super.setField(field, value); - } - @java.lang.Override - public Builder clearField( - com.google.protobuf.Descriptors.FieldDescriptor field) { - return super.clearField(field); - } - @java.lang.Override - public Builder clearOneof( - com.google.protobuf.Descriptors.OneofDescriptor oneof) { - return super.clearOneof(oneof); - } - @java.lang.Override - public Builder setRepeatedField( - com.google.protobuf.Descriptors.FieldDescriptor field, - int index, java.lang.Object value) { - return super.setRepeatedField(field, index, value); - } - @java.lang.Override - public Builder addRepeatedField( - com.google.protobuf.Descriptors.FieldDescriptor field, - java.lang.Object value) { - return super.addRepeatedField(field, value); - } - @java.lang.Override - public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof com.sourcegraph.semanticdb_kotlinc.Semanticdb.Range) { - return mergeFrom((com.sourcegraph.semanticdb_kotlinc.Semanticdb.Range)other); - } else { - super.mergeFrom(other); - return this; - } - } - - public Builder mergeFrom(com.sourcegraph.semanticdb_kotlinc.Semanticdb.Range other) { - if (other == com.sourcegraph.semanticdb_kotlinc.Semanticdb.Range.getDefaultInstance()) return this; - if (other.getStartLine() != 0) { - setStartLine(other.getStartLine()); - } - if (other.getStartCharacter() != 0) { - setStartCharacter(other.getStartCharacter()); - } - if (other.getEndLine() != 0) { - setEndLine(other.getEndLine()); - } - if (other.getEndCharacter() != 0) { - setEndCharacter(other.getEndCharacter()); - } - this.mergeUnknownFields(other.unknownFields); - onChanged(); - return this; - } - - @java.lang.Override - public final boolean isInitialized() { - return true; - } - - @java.lang.Override - public Builder mergeFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Range parsedMessage = null; - try { - parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (com.sourcegraph.semanticdb_kotlinc.Semanticdb.Range) e.getUnfinishedMessage(); - throw e.unwrapIOException(); - } finally { - if (parsedMessage != null) { - mergeFrom(parsedMessage); - } - } - return this; - } - - private int startLine_ ; - /** - * int32 start_line = 1; - * @return The startLine. - */ - @java.lang.Override - public int getStartLine() { - return startLine_; - } - /** - * int32 start_line = 1; - * @param value The startLine to set. - * @return This builder for chaining. - */ - public Builder setStartLine(int value) { - - startLine_ = value; - onChanged(); - return this; - } - /** - * int32 start_line = 1; - * @return This builder for chaining. - */ - public Builder clearStartLine() { - - startLine_ = 0; - onChanged(); - return this; - } - - private int startCharacter_ ; - /** - * int32 start_character = 2; - * @return The startCharacter. - */ - @java.lang.Override - public int getStartCharacter() { - return startCharacter_; - } - /** - * int32 start_character = 2; - * @param value The startCharacter to set. - * @return This builder for chaining. - */ - public Builder setStartCharacter(int value) { - - startCharacter_ = value; - onChanged(); - return this; - } - /** - * int32 start_character = 2; - * @return This builder for chaining. - */ - public Builder clearStartCharacter() { - - startCharacter_ = 0; - onChanged(); - return this; - } - - private int endLine_ ; - /** - * int32 end_line = 3; - * @return The endLine. - */ - @java.lang.Override - public int getEndLine() { - return endLine_; - } - /** - * int32 end_line = 3; - * @param value The endLine to set. - * @return This builder for chaining. - */ - public Builder setEndLine(int value) { - - endLine_ = value; - onChanged(); - return this; - } - /** - * int32 end_line = 3; - * @return This builder for chaining. - */ - public Builder clearEndLine() { - - endLine_ = 0; - onChanged(); - return this; - } - - private int endCharacter_ ; - /** - * int32 end_character = 4; - * @return The endCharacter. - */ - @java.lang.Override - public int getEndCharacter() { - return endCharacter_; - } - /** - * int32 end_character = 4; - * @param value The endCharacter to set. - * @return This builder for chaining. - */ - public Builder setEndCharacter(int value) { - - endCharacter_ = value; - onChanged(); - return this; - } - /** - * int32 end_character = 4; - * @return This builder for chaining. - */ - public Builder clearEndCharacter() { - - endCharacter_ = 0; - onChanged(); - return this; - } - @java.lang.Override - public final Builder setUnknownFields( - final com.google.protobuf.UnknownFieldSet unknownFields) { - return super.setUnknownFields(unknownFields); - } - - @java.lang.Override - public final Builder mergeUnknownFields( - final com.google.protobuf.UnknownFieldSet unknownFields) { - return super.mergeUnknownFields(unknownFields); - } - - - // @@protoc_insertion_point(builder_scope:com.sourcegraph.semanticdb_kotlinc.Range) - } - - // @@protoc_insertion_point(class_scope:com.sourcegraph.semanticdb_kotlinc.Range) - private static final com.sourcegraph.semanticdb_kotlinc.Semanticdb.Range DEFAULT_INSTANCE; - static { - DEFAULT_INSTANCE = new com.sourcegraph.semanticdb_kotlinc.Semanticdb.Range(); - } - - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.Range getDefaultInstance() { - return DEFAULT_INSTANCE; - } - - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { - @java.lang.Override - public Range parsePartialFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return new Range(input, extensionRegistry); - } - }; - - public static com.google.protobuf.Parser parser() { - return PARSER; - } - - @java.lang.Override - public com.google.protobuf.Parser getParserForType() { - return PARSER; - } - - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Range getDefaultInstanceForType() { - return DEFAULT_INSTANCE; - } - - } - - public interface SignatureOrBuilder extends - // @@protoc_insertion_point(interface_extends:com.sourcegraph.semanticdb_kotlinc.Signature) - com.google.protobuf.MessageOrBuilder { - - /** - * .com.sourcegraph.semanticdb_kotlinc.ClassSignature class_signature = 1; - * @return Whether the classSignature field is set. - */ - boolean hasClassSignature(); - /** - * .com.sourcegraph.semanticdb_kotlinc.ClassSignature class_signature = 1; - * @return The classSignature. - */ - com.sourcegraph.semanticdb_kotlinc.Semanticdb.ClassSignature getClassSignature(); - /** - * .com.sourcegraph.semanticdb_kotlinc.ClassSignature class_signature = 1; - */ - com.sourcegraph.semanticdb_kotlinc.Semanticdb.ClassSignatureOrBuilder getClassSignatureOrBuilder(); - - /** - * .com.sourcegraph.semanticdb_kotlinc.MethodSignature method_signature = 2; - * @return Whether the methodSignature field is set. - */ - boolean hasMethodSignature(); - /** - * .com.sourcegraph.semanticdb_kotlinc.MethodSignature method_signature = 2; - * @return The methodSignature. - */ - com.sourcegraph.semanticdb_kotlinc.Semanticdb.MethodSignature getMethodSignature(); - /** - * .com.sourcegraph.semanticdb_kotlinc.MethodSignature method_signature = 2; - */ - com.sourcegraph.semanticdb_kotlinc.Semanticdb.MethodSignatureOrBuilder getMethodSignatureOrBuilder(); - - /** - * .com.sourcegraph.semanticdb_kotlinc.TypeSignature type_signature = 3; - * @return Whether the typeSignature field is set. - */ - boolean hasTypeSignature(); - /** - * .com.sourcegraph.semanticdb_kotlinc.TypeSignature type_signature = 3; - * @return The typeSignature. - */ - com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeSignature getTypeSignature(); - /** - * .com.sourcegraph.semanticdb_kotlinc.TypeSignature type_signature = 3; - */ - com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeSignatureOrBuilder getTypeSignatureOrBuilder(); - - /** - * .com.sourcegraph.semanticdb_kotlinc.ValueSignature value_signature = 4; - * @return Whether the valueSignature field is set. - */ - boolean hasValueSignature(); - /** - * .com.sourcegraph.semanticdb_kotlinc.ValueSignature value_signature = 4; - * @return The valueSignature. - */ - com.sourcegraph.semanticdb_kotlinc.Semanticdb.ValueSignature getValueSignature(); - /** - * .com.sourcegraph.semanticdb_kotlinc.ValueSignature value_signature = 4; - */ - com.sourcegraph.semanticdb_kotlinc.Semanticdb.ValueSignatureOrBuilder getValueSignatureOrBuilder(); - - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Signature.SealedValueCase getSealedValueCase(); - } - /** - * Protobuf type {@code com.sourcegraph.semanticdb_kotlinc.Signature} - */ - public static final class Signature extends - com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:com.sourcegraph.semanticdb_kotlinc.Signature) - SignatureOrBuilder { - private static final long serialVersionUID = 0L; - // Use Signature.newBuilder() to construct. - private Signature(com.google.protobuf.GeneratedMessageV3.Builder builder) { - super(builder); - } - private Signature() { - } - - @java.lang.Override - @SuppressWarnings({"unused"}) - protected java.lang.Object newInstance( - UnusedPrivateParameter unused) { - return new Signature(); - } - - @java.lang.Override - public final com.google.protobuf.UnknownFieldSet - getUnknownFields() { - return this.unknownFields; - } - private Signature( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - this(); - if (extensionRegistry == null) { - throw new java.lang.NullPointerException(); - } - com.google.protobuf.UnknownFieldSet.Builder unknownFields = - com.google.protobuf.UnknownFieldSet.newBuilder(); - try { - boolean done = false; - while (!done) { - int tag = input.readTag(); - switch (tag) { - case 0: - done = true; - break; - case 10: { - com.sourcegraph.semanticdb_kotlinc.Semanticdb.ClassSignature.Builder subBuilder = null; - if (sealedValueCase_ == 1) { - subBuilder = ((com.sourcegraph.semanticdb_kotlinc.Semanticdb.ClassSignature) sealedValue_).toBuilder(); - } - sealedValue_ = - input.readMessage(com.sourcegraph.semanticdb_kotlinc.Semanticdb.ClassSignature.parser(), extensionRegistry); - if (subBuilder != null) { - subBuilder.mergeFrom((com.sourcegraph.semanticdb_kotlinc.Semanticdb.ClassSignature) sealedValue_); - sealedValue_ = subBuilder.buildPartial(); - } - sealedValueCase_ = 1; - break; - } - case 18: { - com.sourcegraph.semanticdb_kotlinc.Semanticdb.MethodSignature.Builder subBuilder = null; - if (sealedValueCase_ == 2) { - subBuilder = ((com.sourcegraph.semanticdb_kotlinc.Semanticdb.MethodSignature) sealedValue_).toBuilder(); - } - sealedValue_ = - input.readMessage(com.sourcegraph.semanticdb_kotlinc.Semanticdb.MethodSignature.parser(), extensionRegistry); - if (subBuilder != null) { - subBuilder.mergeFrom((com.sourcegraph.semanticdb_kotlinc.Semanticdb.MethodSignature) sealedValue_); - sealedValue_ = subBuilder.buildPartial(); - } - sealedValueCase_ = 2; - break; - } - case 26: { - com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeSignature.Builder subBuilder = null; - if (sealedValueCase_ == 3) { - subBuilder = ((com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeSignature) sealedValue_).toBuilder(); - } - sealedValue_ = - input.readMessage(com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeSignature.parser(), extensionRegistry); - if (subBuilder != null) { - subBuilder.mergeFrom((com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeSignature) sealedValue_); - sealedValue_ = subBuilder.buildPartial(); - } - sealedValueCase_ = 3; - break; - } - case 34: { - com.sourcegraph.semanticdb_kotlinc.Semanticdb.ValueSignature.Builder subBuilder = null; - if (sealedValueCase_ == 4) { - subBuilder = ((com.sourcegraph.semanticdb_kotlinc.Semanticdb.ValueSignature) sealedValue_).toBuilder(); - } - sealedValue_ = - input.readMessage(com.sourcegraph.semanticdb_kotlinc.Semanticdb.ValueSignature.parser(), extensionRegistry); - if (subBuilder != null) { - subBuilder.mergeFrom((com.sourcegraph.semanticdb_kotlinc.Semanticdb.ValueSignature) sealedValue_); - sealedValue_ = subBuilder.buildPartial(); - } - sealedValueCase_ = 4; - break; - } - default: { - if (!parseUnknownField( - input, unknownFields, extensionRegistry, tag)) { - done = true; - } - break; - } - } - } - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.setUnfinishedMessage(this); - } catch (java.io.IOException e) { - throw new com.google.protobuf.InvalidProtocolBufferException( - e).setUnfinishedMessage(this); - } finally { - this.unknownFields = unknownFields.build(); - makeExtensionsImmutable(); - } - } - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_Signature_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internalGetFieldAccessorTable() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_Signature_fieldAccessorTable - .ensureFieldAccessorsInitialized( - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Signature.class, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Signature.Builder.class); - } - - private int sealedValueCase_ = 0; - private java.lang.Object sealedValue_; - public enum SealedValueCase - implements com.google.protobuf.Internal.EnumLite, - com.google.protobuf.AbstractMessage.InternalOneOfEnum { - CLASS_SIGNATURE(1), - METHOD_SIGNATURE(2), - TYPE_SIGNATURE(3), - VALUE_SIGNATURE(4), - SEALEDVALUE_NOT_SET(0); - private final int value; - private SealedValueCase(int value) { - this.value = value; - } - /** - * @param value The number of the enum to look for. - * @return The enum associated with the given number. - * @deprecated Use {@link #forNumber(int)} instead. - */ - @java.lang.Deprecated - public static SealedValueCase valueOf(int value) { - return forNumber(value); - } - - public static SealedValueCase forNumber(int value) { - switch (value) { - case 1: return CLASS_SIGNATURE; - case 2: return METHOD_SIGNATURE; - case 3: return TYPE_SIGNATURE; - case 4: return VALUE_SIGNATURE; - case 0: return SEALEDVALUE_NOT_SET; - default: return null; - } - } - public int getNumber() { - return this.value; - } - }; - - public SealedValueCase - getSealedValueCase() { - return SealedValueCase.forNumber( - sealedValueCase_); - } - - public static final int CLASS_SIGNATURE_FIELD_NUMBER = 1; - /** - * .com.sourcegraph.semanticdb_kotlinc.ClassSignature class_signature = 1; - * @return Whether the classSignature field is set. - */ - @java.lang.Override - public boolean hasClassSignature() { - return sealedValueCase_ == 1; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.ClassSignature class_signature = 1; - * @return The classSignature. - */ - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.ClassSignature getClassSignature() { - if (sealedValueCase_ == 1) { - return (com.sourcegraph.semanticdb_kotlinc.Semanticdb.ClassSignature) sealedValue_; - } - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.ClassSignature.getDefaultInstance(); - } - /** - * .com.sourcegraph.semanticdb_kotlinc.ClassSignature class_signature = 1; - */ - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.ClassSignatureOrBuilder getClassSignatureOrBuilder() { - if (sealedValueCase_ == 1) { - return (com.sourcegraph.semanticdb_kotlinc.Semanticdb.ClassSignature) sealedValue_; - } - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.ClassSignature.getDefaultInstance(); - } - - public static final int METHOD_SIGNATURE_FIELD_NUMBER = 2; - /** - * .com.sourcegraph.semanticdb_kotlinc.MethodSignature method_signature = 2; - * @return Whether the methodSignature field is set. - */ - @java.lang.Override - public boolean hasMethodSignature() { - return sealedValueCase_ == 2; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.MethodSignature method_signature = 2; - * @return The methodSignature. - */ - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.MethodSignature getMethodSignature() { - if (sealedValueCase_ == 2) { - return (com.sourcegraph.semanticdb_kotlinc.Semanticdb.MethodSignature) sealedValue_; - } - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.MethodSignature.getDefaultInstance(); - } - /** - * .com.sourcegraph.semanticdb_kotlinc.MethodSignature method_signature = 2; - */ - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.MethodSignatureOrBuilder getMethodSignatureOrBuilder() { - if (sealedValueCase_ == 2) { - return (com.sourcegraph.semanticdb_kotlinc.Semanticdb.MethodSignature) sealedValue_; - } - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.MethodSignature.getDefaultInstance(); - } - - public static final int TYPE_SIGNATURE_FIELD_NUMBER = 3; - /** - * .com.sourcegraph.semanticdb_kotlinc.TypeSignature type_signature = 3; - * @return Whether the typeSignature field is set. - */ - @java.lang.Override - public boolean hasTypeSignature() { - return sealedValueCase_ == 3; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.TypeSignature type_signature = 3; - * @return The typeSignature. - */ - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeSignature getTypeSignature() { - if (sealedValueCase_ == 3) { - return (com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeSignature) sealedValue_; - } - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeSignature.getDefaultInstance(); - } - /** - * .com.sourcegraph.semanticdb_kotlinc.TypeSignature type_signature = 3; - */ - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeSignatureOrBuilder getTypeSignatureOrBuilder() { - if (sealedValueCase_ == 3) { - return (com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeSignature) sealedValue_; - } - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeSignature.getDefaultInstance(); - } - - public static final int VALUE_SIGNATURE_FIELD_NUMBER = 4; - /** - * .com.sourcegraph.semanticdb_kotlinc.ValueSignature value_signature = 4; - * @return Whether the valueSignature field is set. - */ - @java.lang.Override - public boolean hasValueSignature() { - return sealedValueCase_ == 4; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.ValueSignature value_signature = 4; - * @return The valueSignature. - */ - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.ValueSignature getValueSignature() { - if (sealedValueCase_ == 4) { - return (com.sourcegraph.semanticdb_kotlinc.Semanticdb.ValueSignature) sealedValue_; - } - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.ValueSignature.getDefaultInstance(); - } - /** - * .com.sourcegraph.semanticdb_kotlinc.ValueSignature value_signature = 4; - */ - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.ValueSignatureOrBuilder getValueSignatureOrBuilder() { - if (sealedValueCase_ == 4) { - return (com.sourcegraph.semanticdb_kotlinc.Semanticdb.ValueSignature) sealedValue_; - } - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.ValueSignature.getDefaultInstance(); - } - - private byte memoizedIsInitialized = -1; - @java.lang.Override - public final boolean isInitialized() { - byte isInitialized = memoizedIsInitialized; - if (isInitialized == 1) return true; - if (isInitialized == 0) return false; - - memoizedIsInitialized = 1; - return true; - } - - @java.lang.Override - public void writeTo(com.google.protobuf.CodedOutputStream output) - throws java.io.IOException { - if (sealedValueCase_ == 1) { - output.writeMessage(1, (com.sourcegraph.semanticdb_kotlinc.Semanticdb.ClassSignature) sealedValue_); - } - if (sealedValueCase_ == 2) { - output.writeMessage(2, (com.sourcegraph.semanticdb_kotlinc.Semanticdb.MethodSignature) sealedValue_); - } - if (sealedValueCase_ == 3) { - output.writeMessage(3, (com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeSignature) sealedValue_); - } - if (sealedValueCase_ == 4) { - output.writeMessage(4, (com.sourcegraph.semanticdb_kotlinc.Semanticdb.ValueSignature) sealedValue_); - } - unknownFields.writeTo(output); - } - - @java.lang.Override - public int getSerializedSize() { - int size = memoizedSize; - if (size != -1) return size; - - size = 0; - if (sealedValueCase_ == 1) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(1, (com.sourcegraph.semanticdb_kotlinc.Semanticdb.ClassSignature) sealedValue_); - } - if (sealedValueCase_ == 2) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(2, (com.sourcegraph.semanticdb_kotlinc.Semanticdb.MethodSignature) sealedValue_); - } - if (sealedValueCase_ == 3) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(3, (com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeSignature) sealedValue_); - } - if (sealedValueCase_ == 4) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(4, (com.sourcegraph.semanticdb_kotlinc.Semanticdb.ValueSignature) sealedValue_); - } - size += unknownFields.getSerializedSize(); - memoizedSize = size; - return size; - } - - @java.lang.Override - public boolean equals(final java.lang.Object obj) { - if (obj == this) { - return true; - } - if (!(obj instanceof com.sourcegraph.semanticdb_kotlinc.Semanticdb.Signature)) { - return super.equals(obj); - } - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Signature other = (com.sourcegraph.semanticdb_kotlinc.Semanticdb.Signature) obj; - - if (!getSealedValueCase().equals(other.getSealedValueCase())) return false; - switch (sealedValueCase_) { - case 1: - if (!getClassSignature() - .equals(other.getClassSignature())) return false; - break; - case 2: - if (!getMethodSignature() - .equals(other.getMethodSignature())) return false; - break; - case 3: - if (!getTypeSignature() - .equals(other.getTypeSignature())) return false; - break; - case 4: - if (!getValueSignature() - .equals(other.getValueSignature())) return false; - break; - case 0: - default: - } - if (!unknownFields.equals(other.unknownFields)) return false; - return true; - } - - @java.lang.Override - public int hashCode() { - if (memoizedHashCode != 0) { - return memoizedHashCode; - } - int hash = 41; - hash = (19 * hash) + getDescriptor().hashCode(); - switch (sealedValueCase_) { - case 1: - hash = (37 * hash) + CLASS_SIGNATURE_FIELD_NUMBER; - hash = (53 * hash) + getClassSignature().hashCode(); - break; - case 2: - hash = (37 * hash) + METHOD_SIGNATURE_FIELD_NUMBER; - hash = (53 * hash) + getMethodSignature().hashCode(); - break; - case 3: - hash = (37 * hash) + TYPE_SIGNATURE_FIELD_NUMBER; - hash = (53 * hash) + getTypeSignature().hashCode(); - break; - case 4: - hash = (37 * hash) + VALUE_SIGNATURE_FIELD_NUMBER; - hash = (53 * hash) + getValueSignature().hashCode(); - break; - case 0: - default: - } - hash = (29 * hash) + unknownFields.hashCode(); - memoizedHashCode = hash; - return hash; - } - - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.Signature parseFrom( - java.nio.ByteBuffer data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.Signature parseFrom( - java.nio.ByteBuffer data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.Signature parseFrom( - com.google.protobuf.ByteString data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.Signature parseFrom( - com.google.protobuf.ByteString data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.Signature parseFrom(byte[] data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.Signature parseFrom( - byte[] data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.Signature parseFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.Signature parseFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.Signature parseDelimitedFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseDelimitedWithIOException(PARSER, input); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.Signature parseDelimitedFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseDelimitedWithIOException(PARSER, input, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.Signature parseFrom( - com.google.protobuf.CodedInputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.Signature parseFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input, extensionRegistry); - } - - @java.lang.Override - public Builder newBuilderForType() { return newBuilder(); } - public static Builder newBuilder() { - return DEFAULT_INSTANCE.toBuilder(); - } - public static Builder newBuilder(com.sourcegraph.semanticdb_kotlinc.Semanticdb.Signature prototype) { - return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); - } - @java.lang.Override - public Builder toBuilder() { - return this == DEFAULT_INSTANCE - ? new Builder() : new Builder().mergeFrom(this); - } - - @java.lang.Override - protected Builder newBuilderForType( - com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { - Builder builder = new Builder(parent); - return builder; - } - /** - * Protobuf type {@code com.sourcegraph.semanticdb_kotlinc.Signature} - */ - public static final class Builder extends - com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:com.sourcegraph.semanticdb_kotlinc.Signature) - com.sourcegraph.semanticdb_kotlinc.Semanticdb.SignatureOrBuilder { - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_Signature_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internalGetFieldAccessorTable() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_Signature_fieldAccessorTable - .ensureFieldAccessorsInitialized( - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Signature.class, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Signature.Builder.class); - } - - // Construct using com.sourcegraph.semanticdb_kotlinc.Semanticdb.Signature.newBuilder() - private Builder() { - maybeForceBuilderInitialization(); - } - - private Builder( - com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { - super(parent); - maybeForceBuilderInitialization(); - } - private void maybeForceBuilderInitialization() { - if (com.google.protobuf.GeneratedMessageV3 - .alwaysUseFieldBuilders) { - } - } - @java.lang.Override - public Builder clear() { - super.clear(); - sealedValueCase_ = 0; - sealedValue_ = null; - return this; - } - - @java.lang.Override - public com.google.protobuf.Descriptors.Descriptor - getDescriptorForType() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_Signature_descriptor; - } - - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Signature getDefaultInstanceForType() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.Signature.getDefaultInstance(); - } - - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Signature build() { - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Signature result = buildPartial(); - if (!result.isInitialized()) { - throw newUninitializedMessageException(result); - } - return result; - } - - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Signature buildPartial() { - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Signature result = new com.sourcegraph.semanticdb_kotlinc.Semanticdb.Signature(this); - if (sealedValueCase_ == 1) { - if (classSignatureBuilder_ == null) { - result.sealedValue_ = sealedValue_; - } else { - result.sealedValue_ = classSignatureBuilder_.build(); - } - } - if (sealedValueCase_ == 2) { - if (methodSignatureBuilder_ == null) { - result.sealedValue_ = sealedValue_; - } else { - result.sealedValue_ = methodSignatureBuilder_.build(); - } - } - if (sealedValueCase_ == 3) { - if (typeSignatureBuilder_ == null) { - result.sealedValue_ = sealedValue_; - } else { - result.sealedValue_ = typeSignatureBuilder_.build(); - } - } - if (sealedValueCase_ == 4) { - if (valueSignatureBuilder_ == null) { - result.sealedValue_ = sealedValue_; - } else { - result.sealedValue_ = valueSignatureBuilder_.build(); - } - } - result.sealedValueCase_ = sealedValueCase_; - onBuilt(); - return result; - } - - @java.lang.Override - public Builder clone() { - return super.clone(); - } - @java.lang.Override - public Builder setField( - com.google.protobuf.Descriptors.FieldDescriptor field, - java.lang.Object value) { - return super.setField(field, value); - } - @java.lang.Override - public Builder clearField( - com.google.protobuf.Descriptors.FieldDescriptor field) { - return super.clearField(field); - } - @java.lang.Override - public Builder clearOneof( - com.google.protobuf.Descriptors.OneofDescriptor oneof) { - return super.clearOneof(oneof); - } - @java.lang.Override - public Builder setRepeatedField( - com.google.protobuf.Descriptors.FieldDescriptor field, - int index, java.lang.Object value) { - return super.setRepeatedField(field, index, value); - } - @java.lang.Override - public Builder addRepeatedField( - com.google.protobuf.Descriptors.FieldDescriptor field, - java.lang.Object value) { - return super.addRepeatedField(field, value); - } - @java.lang.Override - public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof com.sourcegraph.semanticdb_kotlinc.Semanticdb.Signature) { - return mergeFrom((com.sourcegraph.semanticdb_kotlinc.Semanticdb.Signature)other); - } else { - super.mergeFrom(other); - return this; - } - } - - public Builder mergeFrom(com.sourcegraph.semanticdb_kotlinc.Semanticdb.Signature other) { - if (other == com.sourcegraph.semanticdb_kotlinc.Semanticdb.Signature.getDefaultInstance()) return this; - switch (other.getSealedValueCase()) { - case CLASS_SIGNATURE: { - mergeClassSignature(other.getClassSignature()); - break; - } - case METHOD_SIGNATURE: { - mergeMethodSignature(other.getMethodSignature()); - break; - } - case TYPE_SIGNATURE: { - mergeTypeSignature(other.getTypeSignature()); - break; - } - case VALUE_SIGNATURE: { - mergeValueSignature(other.getValueSignature()); - break; - } - case SEALEDVALUE_NOT_SET: { - break; - } - } - this.mergeUnknownFields(other.unknownFields); - onChanged(); - return this; - } - - @java.lang.Override - public final boolean isInitialized() { - return true; - } - - @java.lang.Override - public Builder mergeFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Signature parsedMessage = null; - try { - parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (com.sourcegraph.semanticdb_kotlinc.Semanticdb.Signature) e.getUnfinishedMessage(); - throw e.unwrapIOException(); - } finally { - if (parsedMessage != null) { - mergeFrom(parsedMessage); - } - } - return this; - } - private int sealedValueCase_ = 0; - private java.lang.Object sealedValue_; - public SealedValueCase - getSealedValueCase() { - return SealedValueCase.forNumber( - sealedValueCase_); - } - - public Builder clearSealedValue() { - sealedValueCase_ = 0; - sealedValue_ = null; - onChanged(); - return this; - } - - - private com.google.protobuf.SingleFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.ClassSignature, com.sourcegraph.semanticdb_kotlinc.Semanticdb.ClassSignature.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.ClassSignatureOrBuilder> classSignatureBuilder_; - /** - * .com.sourcegraph.semanticdb_kotlinc.ClassSignature class_signature = 1; - * @return Whether the classSignature field is set. - */ - @java.lang.Override - public boolean hasClassSignature() { - return sealedValueCase_ == 1; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.ClassSignature class_signature = 1; - * @return The classSignature. - */ - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.ClassSignature getClassSignature() { - if (classSignatureBuilder_ == null) { - if (sealedValueCase_ == 1) { - return (com.sourcegraph.semanticdb_kotlinc.Semanticdb.ClassSignature) sealedValue_; - } - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.ClassSignature.getDefaultInstance(); - } else { - if (sealedValueCase_ == 1) { - return classSignatureBuilder_.getMessage(); - } - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.ClassSignature.getDefaultInstance(); - } - } - /** - * .com.sourcegraph.semanticdb_kotlinc.ClassSignature class_signature = 1; - */ - public Builder setClassSignature(com.sourcegraph.semanticdb_kotlinc.Semanticdb.ClassSignature value) { - if (classSignatureBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - sealedValue_ = value; - onChanged(); - } else { - classSignatureBuilder_.setMessage(value); - } - sealedValueCase_ = 1; - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.ClassSignature class_signature = 1; - */ - public Builder setClassSignature( - com.sourcegraph.semanticdb_kotlinc.Semanticdb.ClassSignature.Builder builderForValue) { - if (classSignatureBuilder_ == null) { - sealedValue_ = builderForValue.build(); - onChanged(); - } else { - classSignatureBuilder_.setMessage(builderForValue.build()); - } - sealedValueCase_ = 1; - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.ClassSignature class_signature = 1; - */ - public Builder mergeClassSignature(com.sourcegraph.semanticdb_kotlinc.Semanticdb.ClassSignature value) { - if (classSignatureBuilder_ == null) { - if (sealedValueCase_ == 1 && - sealedValue_ != com.sourcegraph.semanticdb_kotlinc.Semanticdb.ClassSignature.getDefaultInstance()) { - sealedValue_ = com.sourcegraph.semanticdb_kotlinc.Semanticdb.ClassSignature.newBuilder((com.sourcegraph.semanticdb_kotlinc.Semanticdb.ClassSignature) sealedValue_) - .mergeFrom(value).buildPartial(); - } else { - sealedValue_ = value; - } - onChanged(); - } else { - if (sealedValueCase_ == 1) { - classSignatureBuilder_.mergeFrom(value); - } - classSignatureBuilder_.setMessage(value); - } - sealedValueCase_ = 1; - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.ClassSignature class_signature = 1; - */ - public Builder clearClassSignature() { - if (classSignatureBuilder_ == null) { - if (sealedValueCase_ == 1) { - sealedValueCase_ = 0; - sealedValue_ = null; - onChanged(); - } - } else { - if (sealedValueCase_ == 1) { - sealedValueCase_ = 0; - sealedValue_ = null; - } - classSignatureBuilder_.clear(); - } - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.ClassSignature class_signature = 1; - */ - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.ClassSignature.Builder getClassSignatureBuilder() { - return getClassSignatureFieldBuilder().getBuilder(); - } - /** - * .com.sourcegraph.semanticdb_kotlinc.ClassSignature class_signature = 1; - */ - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.ClassSignatureOrBuilder getClassSignatureOrBuilder() { - if ((sealedValueCase_ == 1) && (classSignatureBuilder_ != null)) { - return classSignatureBuilder_.getMessageOrBuilder(); - } else { - if (sealedValueCase_ == 1) { - return (com.sourcegraph.semanticdb_kotlinc.Semanticdb.ClassSignature) sealedValue_; - } - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.ClassSignature.getDefaultInstance(); - } - } - /** - * .com.sourcegraph.semanticdb_kotlinc.ClassSignature class_signature = 1; - */ - private com.google.protobuf.SingleFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.ClassSignature, com.sourcegraph.semanticdb_kotlinc.Semanticdb.ClassSignature.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.ClassSignatureOrBuilder> - getClassSignatureFieldBuilder() { - if (classSignatureBuilder_ == null) { - if (!(sealedValueCase_ == 1)) { - sealedValue_ = com.sourcegraph.semanticdb_kotlinc.Semanticdb.ClassSignature.getDefaultInstance(); - } - classSignatureBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.ClassSignature, com.sourcegraph.semanticdb_kotlinc.Semanticdb.ClassSignature.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.ClassSignatureOrBuilder>( - (com.sourcegraph.semanticdb_kotlinc.Semanticdb.ClassSignature) sealedValue_, - getParentForChildren(), - isClean()); - sealedValue_ = null; - } - sealedValueCase_ = 1; - onChanged();; - return classSignatureBuilder_; - } - - private com.google.protobuf.SingleFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.MethodSignature, com.sourcegraph.semanticdb_kotlinc.Semanticdb.MethodSignature.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.MethodSignatureOrBuilder> methodSignatureBuilder_; - /** - * .com.sourcegraph.semanticdb_kotlinc.MethodSignature method_signature = 2; - * @return Whether the methodSignature field is set. - */ - @java.lang.Override - public boolean hasMethodSignature() { - return sealedValueCase_ == 2; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.MethodSignature method_signature = 2; - * @return The methodSignature. - */ - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.MethodSignature getMethodSignature() { - if (methodSignatureBuilder_ == null) { - if (sealedValueCase_ == 2) { - return (com.sourcegraph.semanticdb_kotlinc.Semanticdb.MethodSignature) sealedValue_; - } - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.MethodSignature.getDefaultInstance(); - } else { - if (sealedValueCase_ == 2) { - return methodSignatureBuilder_.getMessage(); - } - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.MethodSignature.getDefaultInstance(); - } - } - /** - * .com.sourcegraph.semanticdb_kotlinc.MethodSignature method_signature = 2; - */ - public Builder setMethodSignature(com.sourcegraph.semanticdb_kotlinc.Semanticdb.MethodSignature value) { - if (methodSignatureBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - sealedValue_ = value; - onChanged(); - } else { - methodSignatureBuilder_.setMessage(value); - } - sealedValueCase_ = 2; - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.MethodSignature method_signature = 2; - */ - public Builder setMethodSignature( - com.sourcegraph.semanticdb_kotlinc.Semanticdb.MethodSignature.Builder builderForValue) { - if (methodSignatureBuilder_ == null) { - sealedValue_ = builderForValue.build(); - onChanged(); - } else { - methodSignatureBuilder_.setMessage(builderForValue.build()); - } - sealedValueCase_ = 2; - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.MethodSignature method_signature = 2; - */ - public Builder mergeMethodSignature(com.sourcegraph.semanticdb_kotlinc.Semanticdb.MethodSignature value) { - if (methodSignatureBuilder_ == null) { - if (sealedValueCase_ == 2 && - sealedValue_ != com.sourcegraph.semanticdb_kotlinc.Semanticdb.MethodSignature.getDefaultInstance()) { - sealedValue_ = com.sourcegraph.semanticdb_kotlinc.Semanticdb.MethodSignature.newBuilder((com.sourcegraph.semanticdb_kotlinc.Semanticdb.MethodSignature) sealedValue_) - .mergeFrom(value).buildPartial(); - } else { - sealedValue_ = value; - } - onChanged(); - } else { - if (sealedValueCase_ == 2) { - methodSignatureBuilder_.mergeFrom(value); - } - methodSignatureBuilder_.setMessage(value); - } - sealedValueCase_ = 2; - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.MethodSignature method_signature = 2; - */ - public Builder clearMethodSignature() { - if (methodSignatureBuilder_ == null) { - if (sealedValueCase_ == 2) { - sealedValueCase_ = 0; - sealedValue_ = null; - onChanged(); - } - } else { - if (sealedValueCase_ == 2) { - sealedValueCase_ = 0; - sealedValue_ = null; - } - methodSignatureBuilder_.clear(); - } - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.MethodSignature method_signature = 2; - */ - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.MethodSignature.Builder getMethodSignatureBuilder() { - return getMethodSignatureFieldBuilder().getBuilder(); - } - /** - * .com.sourcegraph.semanticdb_kotlinc.MethodSignature method_signature = 2; - */ - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.MethodSignatureOrBuilder getMethodSignatureOrBuilder() { - if ((sealedValueCase_ == 2) && (methodSignatureBuilder_ != null)) { - return methodSignatureBuilder_.getMessageOrBuilder(); - } else { - if (sealedValueCase_ == 2) { - return (com.sourcegraph.semanticdb_kotlinc.Semanticdb.MethodSignature) sealedValue_; - } - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.MethodSignature.getDefaultInstance(); - } - } - /** - * .com.sourcegraph.semanticdb_kotlinc.MethodSignature method_signature = 2; - */ - private com.google.protobuf.SingleFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.MethodSignature, com.sourcegraph.semanticdb_kotlinc.Semanticdb.MethodSignature.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.MethodSignatureOrBuilder> - getMethodSignatureFieldBuilder() { - if (methodSignatureBuilder_ == null) { - if (!(sealedValueCase_ == 2)) { - sealedValue_ = com.sourcegraph.semanticdb_kotlinc.Semanticdb.MethodSignature.getDefaultInstance(); - } - methodSignatureBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.MethodSignature, com.sourcegraph.semanticdb_kotlinc.Semanticdb.MethodSignature.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.MethodSignatureOrBuilder>( - (com.sourcegraph.semanticdb_kotlinc.Semanticdb.MethodSignature) sealedValue_, - getParentForChildren(), - isClean()); - sealedValue_ = null; - } - sealedValueCase_ = 2; - onChanged();; - return methodSignatureBuilder_; - } - - private com.google.protobuf.SingleFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeSignature, com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeSignature.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeSignatureOrBuilder> typeSignatureBuilder_; - /** - * .com.sourcegraph.semanticdb_kotlinc.TypeSignature type_signature = 3; - * @return Whether the typeSignature field is set. - */ - @java.lang.Override - public boolean hasTypeSignature() { - return sealedValueCase_ == 3; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.TypeSignature type_signature = 3; - * @return The typeSignature. - */ - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeSignature getTypeSignature() { - if (typeSignatureBuilder_ == null) { - if (sealedValueCase_ == 3) { - return (com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeSignature) sealedValue_; - } - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeSignature.getDefaultInstance(); - } else { - if (sealedValueCase_ == 3) { - return typeSignatureBuilder_.getMessage(); - } - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeSignature.getDefaultInstance(); - } - } - /** - * .com.sourcegraph.semanticdb_kotlinc.TypeSignature type_signature = 3; - */ - public Builder setTypeSignature(com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeSignature value) { - if (typeSignatureBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - sealedValue_ = value; - onChanged(); - } else { - typeSignatureBuilder_.setMessage(value); - } - sealedValueCase_ = 3; - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.TypeSignature type_signature = 3; - */ - public Builder setTypeSignature( - com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeSignature.Builder builderForValue) { - if (typeSignatureBuilder_ == null) { - sealedValue_ = builderForValue.build(); - onChanged(); - } else { - typeSignatureBuilder_.setMessage(builderForValue.build()); - } - sealedValueCase_ = 3; - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.TypeSignature type_signature = 3; - */ - public Builder mergeTypeSignature(com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeSignature value) { - if (typeSignatureBuilder_ == null) { - if (sealedValueCase_ == 3 && - sealedValue_ != com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeSignature.getDefaultInstance()) { - sealedValue_ = com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeSignature.newBuilder((com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeSignature) sealedValue_) - .mergeFrom(value).buildPartial(); - } else { - sealedValue_ = value; - } - onChanged(); - } else { - if (sealedValueCase_ == 3) { - typeSignatureBuilder_.mergeFrom(value); - } - typeSignatureBuilder_.setMessage(value); - } - sealedValueCase_ = 3; - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.TypeSignature type_signature = 3; - */ - public Builder clearTypeSignature() { - if (typeSignatureBuilder_ == null) { - if (sealedValueCase_ == 3) { - sealedValueCase_ = 0; - sealedValue_ = null; - onChanged(); - } - } else { - if (sealedValueCase_ == 3) { - sealedValueCase_ = 0; - sealedValue_ = null; - } - typeSignatureBuilder_.clear(); - } - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.TypeSignature type_signature = 3; - */ - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeSignature.Builder getTypeSignatureBuilder() { - return getTypeSignatureFieldBuilder().getBuilder(); - } - /** - * .com.sourcegraph.semanticdb_kotlinc.TypeSignature type_signature = 3; - */ - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeSignatureOrBuilder getTypeSignatureOrBuilder() { - if ((sealedValueCase_ == 3) && (typeSignatureBuilder_ != null)) { - return typeSignatureBuilder_.getMessageOrBuilder(); - } else { - if (sealedValueCase_ == 3) { - return (com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeSignature) sealedValue_; - } - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeSignature.getDefaultInstance(); - } - } - /** - * .com.sourcegraph.semanticdb_kotlinc.TypeSignature type_signature = 3; - */ - private com.google.protobuf.SingleFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeSignature, com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeSignature.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeSignatureOrBuilder> - getTypeSignatureFieldBuilder() { - if (typeSignatureBuilder_ == null) { - if (!(sealedValueCase_ == 3)) { - sealedValue_ = com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeSignature.getDefaultInstance(); - } - typeSignatureBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeSignature, com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeSignature.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeSignatureOrBuilder>( - (com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeSignature) sealedValue_, - getParentForChildren(), - isClean()); - sealedValue_ = null; - } - sealedValueCase_ = 3; - onChanged();; - return typeSignatureBuilder_; - } - - private com.google.protobuf.SingleFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.ValueSignature, com.sourcegraph.semanticdb_kotlinc.Semanticdb.ValueSignature.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.ValueSignatureOrBuilder> valueSignatureBuilder_; - /** - * .com.sourcegraph.semanticdb_kotlinc.ValueSignature value_signature = 4; - * @return Whether the valueSignature field is set. - */ - @java.lang.Override - public boolean hasValueSignature() { - return sealedValueCase_ == 4; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.ValueSignature value_signature = 4; - * @return The valueSignature. - */ - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.ValueSignature getValueSignature() { - if (valueSignatureBuilder_ == null) { - if (sealedValueCase_ == 4) { - return (com.sourcegraph.semanticdb_kotlinc.Semanticdb.ValueSignature) sealedValue_; - } - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.ValueSignature.getDefaultInstance(); - } else { - if (sealedValueCase_ == 4) { - return valueSignatureBuilder_.getMessage(); - } - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.ValueSignature.getDefaultInstance(); - } - } - /** - * .com.sourcegraph.semanticdb_kotlinc.ValueSignature value_signature = 4; - */ - public Builder setValueSignature(com.sourcegraph.semanticdb_kotlinc.Semanticdb.ValueSignature value) { - if (valueSignatureBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - sealedValue_ = value; - onChanged(); - } else { - valueSignatureBuilder_.setMessage(value); - } - sealedValueCase_ = 4; - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.ValueSignature value_signature = 4; - */ - public Builder setValueSignature( - com.sourcegraph.semanticdb_kotlinc.Semanticdb.ValueSignature.Builder builderForValue) { - if (valueSignatureBuilder_ == null) { - sealedValue_ = builderForValue.build(); - onChanged(); - } else { - valueSignatureBuilder_.setMessage(builderForValue.build()); - } - sealedValueCase_ = 4; - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.ValueSignature value_signature = 4; - */ - public Builder mergeValueSignature(com.sourcegraph.semanticdb_kotlinc.Semanticdb.ValueSignature value) { - if (valueSignatureBuilder_ == null) { - if (sealedValueCase_ == 4 && - sealedValue_ != com.sourcegraph.semanticdb_kotlinc.Semanticdb.ValueSignature.getDefaultInstance()) { - sealedValue_ = com.sourcegraph.semanticdb_kotlinc.Semanticdb.ValueSignature.newBuilder((com.sourcegraph.semanticdb_kotlinc.Semanticdb.ValueSignature) sealedValue_) - .mergeFrom(value).buildPartial(); - } else { - sealedValue_ = value; - } - onChanged(); - } else { - if (sealedValueCase_ == 4) { - valueSignatureBuilder_.mergeFrom(value); - } - valueSignatureBuilder_.setMessage(value); - } - sealedValueCase_ = 4; - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.ValueSignature value_signature = 4; - */ - public Builder clearValueSignature() { - if (valueSignatureBuilder_ == null) { - if (sealedValueCase_ == 4) { - sealedValueCase_ = 0; - sealedValue_ = null; - onChanged(); - } - } else { - if (sealedValueCase_ == 4) { - sealedValueCase_ = 0; - sealedValue_ = null; - } - valueSignatureBuilder_.clear(); - } - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.ValueSignature value_signature = 4; - */ - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.ValueSignature.Builder getValueSignatureBuilder() { - return getValueSignatureFieldBuilder().getBuilder(); - } - /** - * .com.sourcegraph.semanticdb_kotlinc.ValueSignature value_signature = 4; - */ - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.ValueSignatureOrBuilder getValueSignatureOrBuilder() { - if ((sealedValueCase_ == 4) && (valueSignatureBuilder_ != null)) { - return valueSignatureBuilder_.getMessageOrBuilder(); - } else { - if (sealedValueCase_ == 4) { - return (com.sourcegraph.semanticdb_kotlinc.Semanticdb.ValueSignature) sealedValue_; - } - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.ValueSignature.getDefaultInstance(); - } - } - /** - * .com.sourcegraph.semanticdb_kotlinc.ValueSignature value_signature = 4; - */ - private com.google.protobuf.SingleFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.ValueSignature, com.sourcegraph.semanticdb_kotlinc.Semanticdb.ValueSignature.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.ValueSignatureOrBuilder> - getValueSignatureFieldBuilder() { - if (valueSignatureBuilder_ == null) { - if (!(sealedValueCase_ == 4)) { - sealedValue_ = com.sourcegraph.semanticdb_kotlinc.Semanticdb.ValueSignature.getDefaultInstance(); - } - valueSignatureBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.ValueSignature, com.sourcegraph.semanticdb_kotlinc.Semanticdb.ValueSignature.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.ValueSignatureOrBuilder>( - (com.sourcegraph.semanticdb_kotlinc.Semanticdb.ValueSignature) sealedValue_, - getParentForChildren(), - isClean()); - sealedValue_ = null; - } - sealedValueCase_ = 4; - onChanged();; - return valueSignatureBuilder_; - } - @java.lang.Override - public final Builder setUnknownFields( - final com.google.protobuf.UnknownFieldSet unknownFields) { - return super.setUnknownFields(unknownFields); - } - - @java.lang.Override - public final Builder mergeUnknownFields( - final com.google.protobuf.UnknownFieldSet unknownFields) { - return super.mergeUnknownFields(unknownFields); - } - - - // @@protoc_insertion_point(builder_scope:com.sourcegraph.semanticdb_kotlinc.Signature) - } - - // @@protoc_insertion_point(class_scope:com.sourcegraph.semanticdb_kotlinc.Signature) - private static final com.sourcegraph.semanticdb_kotlinc.Semanticdb.Signature DEFAULT_INSTANCE; - static { - DEFAULT_INSTANCE = new com.sourcegraph.semanticdb_kotlinc.Semanticdb.Signature(); - } - - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.Signature getDefaultInstance() { - return DEFAULT_INSTANCE; - } - - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { - @java.lang.Override - public Signature parsePartialFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return new Signature(input, extensionRegistry); - } - }; - - public static com.google.protobuf.Parser parser() { - return PARSER; - } - - @java.lang.Override - public com.google.protobuf.Parser getParserForType() { - return PARSER; - } - - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Signature getDefaultInstanceForType() { - return DEFAULT_INSTANCE; - } - - } - - public interface ClassSignatureOrBuilder extends - // @@protoc_insertion_point(interface_extends:com.sourcegraph.semanticdb_kotlinc.ClassSignature) - com.google.protobuf.MessageOrBuilder { - - /** - * .com.sourcegraph.semanticdb_kotlinc.Scope type_parameters = 1; - * @return Whether the typeParameters field is set. - */ - boolean hasTypeParameters(); - /** - * .com.sourcegraph.semanticdb_kotlinc.Scope type_parameters = 1; - * @return The typeParameters. - */ - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope getTypeParameters(); - /** - * .com.sourcegraph.semanticdb_kotlinc.Scope type_parameters = 1; - */ - com.sourcegraph.semanticdb_kotlinc.Semanticdb.ScopeOrBuilder getTypeParametersOrBuilder(); - - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Type parents = 2; - */ - java.util.List - getParentsList(); - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Type parents = 2; - */ - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type getParents(int index); - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Type parents = 2; - */ - int getParentsCount(); - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Type parents = 2; - */ - java.util.List - getParentsOrBuilderList(); - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Type parents = 2; - */ - com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeOrBuilder getParentsOrBuilder( - int index); - - /** - * .com.sourcegraph.semanticdb_kotlinc.Scope declarations = 4; - * @return Whether the declarations field is set. - */ - boolean hasDeclarations(); - /** - * .com.sourcegraph.semanticdb_kotlinc.Scope declarations = 4; - * @return The declarations. - */ - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope getDeclarations(); - /** - * .com.sourcegraph.semanticdb_kotlinc.Scope declarations = 4; - */ - com.sourcegraph.semanticdb_kotlinc.Semanticdb.ScopeOrBuilder getDeclarationsOrBuilder(); - } - /** - * Protobuf type {@code com.sourcegraph.semanticdb_kotlinc.ClassSignature} - */ - public static final class ClassSignature extends - com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:com.sourcegraph.semanticdb_kotlinc.ClassSignature) - ClassSignatureOrBuilder { - private static final long serialVersionUID = 0L; - // Use ClassSignature.newBuilder() to construct. - private ClassSignature(com.google.protobuf.GeneratedMessageV3.Builder builder) { - super(builder); - } - private ClassSignature() { - parents_ = java.util.Collections.emptyList(); - } - - @java.lang.Override - @SuppressWarnings({"unused"}) - protected java.lang.Object newInstance( - UnusedPrivateParameter unused) { - return new ClassSignature(); - } - - @java.lang.Override - public final com.google.protobuf.UnknownFieldSet - getUnknownFields() { - return this.unknownFields; - } - private ClassSignature( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - this(); - if (extensionRegistry == null) { - throw new java.lang.NullPointerException(); - } - int mutable_bitField0_ = 0; - com.google.protobuf.UnknownFieldSet.Builder unknownFields = - com.google.protobuf.UnknownFieldSet.newBuilder(); - try { - boolean done = false; - while (!done) { - int tag = input.readTag(); - switch (tag) { - case 0: - done = true; - break; - case 10: { - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope.Builder subBuilder = null; - if (typeParameters_ != null) { - subBuilder = typeParameters_.toBuilder(); - } - typeParameters_ = input.readMessage(com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope.parser(), extensionRegistry); - if (subBuilder != null) { - subBuilder.mergeFrom(typeParameters_); - typeParameters_ = subBuilder.buildPartial(); - } - - break; - } - case 18: { - if (!((mutable_bitField0_ & 0x00000001) != 0)) { - parents_ = new java.util.ArrayList(); - mutable_bitField0_ |= 0x00000001; - } - parents_.add( - input.readMessage(com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.parser(), extensionRegistry)); - break; - } - case 34: { - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope.Builder subBuilder = null; - if (declarations_ != null) { - subBuilder = declarations_.toBuilder(); - } - declarations_ = input.readMessage(com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope.parser(), extensionRegistry); - if (subBuilder != null) { - subBuilder.mergeFrom(declarations_); - declarations_ = subBuilder.buildPartial(); - } - - break; - } - default: { - if (!parseUnknownField( - input, unknownFields, extensionRegistry, tag)) { - done = true; - } - break; - } - } - } - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.setUnfinishedMessage(this); - } catch (java.io.IOException e) { - throw new com.google.protobuf.InvalidProtocolBufferException( - e).setUnfinishedMessage(this); - } finally { - if (((mutable_bitField0_ & 0x00000001) != 0)) { - parents_ = java.util.Collections.unmodifiableList(parents_); - } - this.unknownFields = unknownFields.build(); - makeExtensionsImmutable(); - } - } - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_ClassSignature_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internalGetFieldAccessorTable() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_ClassSignature_fieldAccessorTable - .ensureFieldAccessorsInitialized( - com.sourcegraph.semanticdb_kotlinc.Semanticdb.ClassSignature.class, com.sourcegraph.semanticdb_kotlinc.Semanticdb.ClassSignature.Builder.class); - } - - public static final int TYPE_PARAMETERS_FIELD_NUMBER = 1; - private com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope typeParameters_; - /** - * .com.sourcegraph.semanticdb_kotlinc.Scope type_parameters = 1; - * @return Whether the typeParameters field is set. - */ - @java.lang.Override - public boolean hasTypeParameters() { - return typeParameters_ != null; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Scope type_parameters = 1; - * @return The typeParameters. - */ - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope getTypeParameters() { - return typeParameters_ == null ? com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope.getDefaultInstance() : typeParameters_; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Scope type_parameters = 1; - */ - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.ScopeOrBuilder getTypeParametersOrBuilder() { - return getTypeParameters(); - } - - public static final int PARENTS_FIELD_NUMBER = 2; - private java.util.List parents_; - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Type parents = 2; - */ - @java.lang.Override - public java.util.List getParentsList() { - return parents_; - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Type parents = 2; - */ - @java.lang.Override - public java.util.List - getParentsOrBuilderList() { - return parents_; - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Type parents = 2; - */ - @java.lang.Override - public int getParentsCount() { - return parents_.size(); - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Type parents = 2; - */ - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type getParents(int index) { - return parents_.get(index); - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Type parents = 2; - */ - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeOrBuilder getParentsOrBuilder( - int index) { - return parents_.get(index); - } - - public static final int DECLARATIONS_FIELD_NUMBER = 4; - private com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope declarations_; - /** - * .com.sourcegraph.semanticdb_kotlinc.Scope declarations = 4; - * @return Whether the declarations field is set. - */ - @java.lang.Override - public boolean hasDeclarations() { - return declarations_ != null; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Scope declarations = 4; - * @return The declarations. - */ - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope getDeclarations() { - return declarations_ == null ? com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope.getDefaultInstance() : declarations_; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Scope declarations = 4; - */ - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.ScopeOrBuilder getDeclarationsOrBuilder() { - return getDeclarations(); - } - - private byte memoizedIsInitialized = -1; - @java.lang.Override - public final boolean isInitialized() { - byte isInitialized = memoizedIsInitialized; - if (isInitialized == 1) return true; - if (isInitialized == 0) return false; - - memoizedIsInitialized = 1; - return true; - } - - @java.lang.Override - public void writeTo(com.google.protobuf.CodedOutputStream output) - throws java.io.IOException { - if (typeParameters_ != null) { - output.writeMessage(1, getTypeParameters()); - } - for (int i = 0; i < parents_.size(); i++) { - output.writeMessage(2, parents_.get(i)); - } - if (declarations_ != null) { - output.writeMessage(4, getDeclarations()); - } - unknownFields.writeTo(output); - } - - @java.lang.Override - public int getSerializedSize() { - int size = memoizedSize; - if (size != -1) return size; - - size = 0; - if (typeParameters_ != null) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(1, getTypeParameters()); - } - for (int i = 0; i < parents_.size(); i++) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(2, parents_.get(i)); - } - if (declarations_ != null) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(4, getDeclarations()); - } - size += unknownFields.getSerializedSize(); - memoizedSize = size; - return size; - } - - @java.lang.Override - public boolean equals(final java.lang.Object obj) { - if (obj == this) { - return true; - } - if (!(obj instanceof com.sourcegraph.semanticdb_kotlinc.Semanticdb.ClassSignature)) { - return super.equals(obj); - } - com.sourcegraph.semanticdb_kotlinc.Semanticdb.ClassSignature other = (com.sourcegraph.semanticdb_kotlinc.Semanticdb.ClassSignature) obj; - - if (hasTypeParameters() != other.hasTypeParameters()) return false; - if (hasTypeParameters()) { - if (!getTypeParameters() - .equals(other.getTypeParameters())) return false; - } - if (!getParentsList() - .equals(other.getParentsList())) return false; - if (hasDeclarations() != other.hasDeclarations()) return false; - if (hasDeclarations()) { - if (!getDeclarations() - .equals(other.getDeclarations())) return false; - } - if (!unknownFields.equals(other.unknownFields)) return false; - return true; - } - - @java.lang.Override - public int hashCode() { - if (memoizedHashCode != 0) { - return memoizedHashCode; - } - int hash = 41; - hash = (19 * hash) + getDescriptor().hashCode(); - if (hasTypeParameters()) { - hash = (37 * hash) + TYPE_PARAMETERS_FIELD_NUMBER; - hash = (53 * hash) + getTypeParameters().hashCode(); - } - if (getParentsCount() > 0) { - hash = (37 * hash) + PARENTS_FIELD_NUMBER; - hash = (53 * hash) + getParentsList().hashCode(); - } - if (hasDeclarations()) { - hash = (37 * hash) + DECLARATIONS_FIELD_NUMBER; - hash = (53 * hash) + getDeclarations().hashCode(); - } - hash = (29 * hash) + unknownFields.hashCode(); - memoizedHashCode = hash; - return hash; - } - - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.ClassSignature parseFrom( - java.nio.ByteBuffer data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.ClassSignature parseFrom( - java.nio.ByteBuffer data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.ClassSignature parseFrom( - com.google.protobuf.ByteString data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.ClassSignature parseFrom( - com.google.protobuf.ByteString data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.ClassSignature parseFrom(byte[] data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.ClassSignature parseFrom( - byte[] data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.ClassSignature parseFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.ClassSignature parseFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.ClassSignature parseDelimitedFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseDelimitedWithIOException(PARSER, input); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.ClassSignature parseDelimitedFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseDelimitedWithIOException(PARSER, input, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.ClassSignature parseFrom( - com.google.protobuf.CodedInputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.ClassSignature parseFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input, extensionRegistry); - } - - @java.lang.Override - public Builder newBuilderForType() { return newBuilder(); } - public static Builder newBuilder() { - return DEFAULT_INSTANCE.toBuilder(); - } - public static Builder newBuilder(com.sourcegraph.semanticdb_kotlinc.Semanticdb.ClassSignature prototype) { - return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); - } - @java.lang.Override - public Builder toBuilder() { - return this == DEFAULT_INSTANCE - ? new Builder() : new Builder().mergeFrom(this); - } - - @java.lang.Override - protected Builder newBuilderForType( - com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { - Builder builder = new Builder(parent); - return builder; - } - /** - * Protobuf type {@code com.sourcegraph.semanticdb_kotlinc.ClassSignature} - */ - public static final class Builder extends - com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:com.sourcegraph.semanticdb_kotlinc.ClassSignature) - com.sourcegraph.semanticdb_kotlinc.Semanticdb.ClassSignatureOrBuilder { - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_ClassSignature_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internalGetFieldAccessorTable() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_ClassSignature_fieldAccessorTable - .ensureFieldAccessorsInitialized( - com.sourcegraph.semanticdb_kotlinc.Semanticdb.ClassSignature.class, com.sourcegraph.semanticdb_kotlinc.Semanticdb.ClassSignature.Builder.class); - } - - // Construct using com.sourcegraph.semanticdb_kotlinc.Semanticdb.ClassSignature.newBuilder() - private Builder() { - maybeForceBuilderInitialization(); - } - - private Builder( - com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { - super(parent); - maybeForceBuilderInitialization(); - } - private void maybeForceBuilderInitialization() { - if (com.google.protobuf.GeneratedMessageV3 - .alwaysUseFieldBuilders) { - getParentsFieldBuilder(); - } - } - @java.lang.Override - public Builder clear() { - super.clear(); - if (typeParametersBuilder_ == null) { - typeParameters_ = null; - } else { - typeParameters_ = null; - typeParametersBuilder_ = null; - } - if (parentsBuilder_ == null) { - parents_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000001); - } else { - parentsBuilder_.clear(); - } - if (declarationsBuilder_ == null) { - declarations_ = null; - } else { - declarations_ = null; - declarationsBuilder_ = null; - } - return this; - } - - @java.lang.Override - public com.google.protobuf.Descriptors.Descriptor - getDescriptorForType() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_ClassSignature_descriptor; - } - - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.ClassSignature getDefaultInstanceForType() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.ClassSignature.getDefaultInstance(); - } - - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.ClassSignature build() { - com.sourcegraph.semanticdb_kotlinc.Semanticdb.ClassSignature result = buildPartial(); - if (!result.isInitialized()) { - throw newUninitializedMessageException(result); - } - return result; - } - - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.ClassSignature buildPartial() { - com.sourcegraph.semanticdb_kotlinc.Semanticdb.ClassSignature result = new com.sourcegraph.semanticdb_kotlinc.Semanticdb.ClassSignature(this); - int from_bitField0_ = bitField0_; - if (typeParametersBuilder_ == null) { - result.typeParameters_ = typeParameters_; - } else { - result.typeParameters_ = typeParametersBuilder_.build(); - } - if (parentsBuilder_ == null) { - if (((bitField0_ & 0x00000001) != 0)) { - parents_ = java.util.Collections.unmodifiableList(parents_); - bitField0_ = (bitField0_ & ~0x00000001); - } - result.parents_ = parents_; - } else { - result.parents_ = parentsBuilder_.build(); - } - if (declarationsBuilder_ == null) { - result.declarations_ = declarations_; - } else { - result.declarations_ = declarationsBuilder_.build(); - } - onBuilt(); - return result; - } - - @java.lang.Override - public Builder clone() { - return super.clone(); - } - @java.lang.Override - public Builder setField( - com.google.protobuf.Descriptors.FieldDescriptor field, - java.lang.Object value) { - return super.setField(field, value); - } - @java.lang.Override - public Builder clearField( - com.google.protobuf.Descriptors.FieldDescriptor field) { - return super.clearField(field); - } - @java.lang.Override - public Builder clearOneof( - com.google.protobuf.Descriptors.OneofDescriptor oneof) { - return super.clearOneof(oneof); - } - @java.lang.Override - public Builder setRepeatedField( - com.google.protobuf.Descriptors.FieldDescriptor field, - int index, java.lang.Object value) { - return super.setRepeatedField(field, index, value); - } - @java.lang.Override - public Builder addRepeatedField( - com.google.protobuf.Descriptors.FieldDescriptor field, - java.lang.Object value) { - return super.addRepeatedField(field, value); - } - @java.lang.Override - public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof com.sourcegraph.semanticdb_kotlinc.Semanticdb.ClassSignature) { - return mergeFrom((com.sourcegraph.semanticdb_kotlinc.Semanticdb.ClassSignature)other); - } else { - super.mergeFrom(other); - return this; - } - } - - public Builder mergeFrom(com.sourcegraph.semanticdb_kotlinc.Semanticdb.ClassSignature other) { - if (other == com.sourcegraph.semanticdb_kotlinc.Semanticdb.ClassSignature.getDefaultInstance()) return this; - if (other.hasTypeParameters()) { - mergeTypeParameters(other.getTypeParameters()); - } - if (parentsBuilder_ == null) { - if (!other.parents_.isEmpty()) { - if (parents_.isEmpty()) { - parents_ = other.parents_; - bitField0_ = (bitField0_ & ~0x00000001); - } else { - ensureParentsIsMutable(); - parents_.addAll(other.parents_); - } - onChanged(); - } - } else { - if (!other.parents_.isEmpty()) { - if (parentsBuilder_.isEmpty()) { - parentsBuilder_.dispose(); - parentsBuilder_ = null; - parents_ = other.parents_; - bitField0_ = (bitField0_ & ~0x00000001); - parentsBuilder_ = - com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? - getParentsFieldBuilder() : null; - } else { - parentsBuilder_.addAllMessages(other.parents_); - } - } - } - if (other.hasDeclarations()) { - mergeDeclarations(other.getDeclarations()); - } - this.mergeUnknownFields(other.unknownFields); - onChanged(); - return this; - } - - @java.lang.Override - public final boolean isInitialized() { - return true; - } - - @java.lang.Override - public Builder mergeFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - com.sourcegraph.semanticdb_kotlinc.Semanticdb.ClassSignature parsedMessage = null; - try { - parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (com.sourcegraph.semanticdb_kotlinc.Semanticdb.ClassSignature) e.getUnfinishedMessage(); - throw e.unwrapIOException(); - } finally { - if (parsedMessage != null) { - mergeFrom(parsedMessage); - } - } - return this; - } - private int bitField0_; - - private com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope typeParameters_; - private com.google.protobuf.SingleFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.ScopeOrBuilder> typeParametersBuilder_; - /** - * .com.sourcegraph.semanticdb_kotlinc.Scope type_parameters = 1; - * @return Whether the typeParameters field is set. - */ - public boolean hasTypeParameters() { - return typeParametersBuilder_ != null || typeParameters_ != null; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Scope type_parameters = 1; - * @return The typeParameters. - */ - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope getTypeParameters() { - if (typeParametersBuilder_ == null) { - return typeParameters_ == null ? com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope.getDefaultInstance() : typeParameters_; - } else { - return typeParametersBuilder_.getMessage(); - } - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Scope type_parameters = 1; - */ - public Builder setTypeParameters(com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope value) { - if (typeParametersBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - typeParameters_ = value; - onChanged(); - } else { - typeParametersBuilder_.setMessage(value); - } - - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Scope type_parameters = 1; - */ - public Builder setTypeParameters( - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope.Builder builderForValue) { - if (typeParametersBuilder_ == null) { - typeParameters_ = builderForValue.build(); - onChanged(); - } else { - typeParametersBuilder_.setMessage(builderForValue.build()); - } - - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Scope type_parameters = 1; - */ - public Builder mergeTypeParameters(com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope value) { - if (typeParametersBuilder_ == null) { - if (typeParameters_ != null) { - typeParameters_ = - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope.newBuilder(typeParameters_).mergeFrom(value).buildPartial(); - } else { - typeParameters_ = value; - } - onChanged(); - } else { - typeParametersBuilder_.mergeFrom(value); - } - - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Scope type_parameters = 1; - */ - public Builder clearTypeParameters() { - if (typeParametersBuilder_ == null) { - typeParameters_ = null; - onChanged(); - } else { - typeParameters_ = null; - typeParametersBuilder_ = null; - } - - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Scope type_parameters = 1; - */ - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope.Builder getTypeParametersBuilder() { - - onChanged(); - return getTypeParametersFieldBuilder().getBuilder(); - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Scope type_parameters = 1; - */ - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.ScopeOrBuilder getTypeParametersOrBuilder() { - if (typeParametersBuilder_ != null) { - return typeParametersBuilder_.getMessageOrBuilder(); - } else { - return typeParameters_ == null ? - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope.getDefaultInstance() : typeParameters_; - } - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Scope type_parameters = 1; - */ - private com.google.protobuf.SingleFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.ScopeOrBuilder> - getTypeParametersFieldBuilder() { - if (typeParametersBuilder_ == null) { - typeParametersBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.ScopeOrBuilder>( - getTypeParameters(), - getParentForChildren(), - isClean()); - typeParameters_ = null; - } - return typeParametersBuilder_; - } - - private java.util.List parents_ = - java.util.Collections.emptyList(); - private void ensureParentsIsMutable() { - if (!((bitField0_ & 0x00000001) != 0)) { - parents_ = new java.util.ArrayList(parents_); - bitField0_ |= 0x00000001; - } - } - - private com.google.protobuf.RepeatedFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeOrBuilder> parentsBuilder_; - - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Type parents = 2; - */ - public java.util.List getParentsList() { - if (parentsBuilder_ == null) { - return java.util.Collections.unmodifiableList(parents_); - } else { - return parentsBuilder_.getMessageList(); - } - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Type parents = 2; - */ - public int getParentsCount() { - if (parentsBuilder_ == null) { - return parents_.size(); - } else { - return parentsBuilder_.getCount(); - } - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Type parents = 2; - */ - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type getParents(int index) { - if (parentsBuilder_ == null) { - return parents_.get(index); - } else { - return parentsBuilder_.getMessage(index); - } - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Type parents = 2; - */ - public Builder setParents( - int index, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type value) { - if (parentsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureParentsIsMutable(); - parents_.set(index, value); - onChanged(); - } else { - parentsBuilder_.setMessage(index, value); - } - return this; - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Type parents = 2; - */ - public Builder setParents( - int index, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.Builder builderForValue) { - if (parentsBuilder_ == null) { - ensureParentsIsMutable(); - parents_.set(index, builderForValue.build()); - onChanged(); - } else { - parentsBuilder_.setMessage(index, builderForValue.build()); - } - return this; - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Type parents = 2; - */ - public Builder addParents(com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type value) { - if (parentsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureParentsIsMutable(); - parents_.add(value); - onChanged(); - } else { - parentsBuilder_.addMessage(value); - } - return this; - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Type parents = 2; - */ - public Builder addParents( - int index, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type value) { - if (parentsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureParentsIsMutable(); - parents_.add(index, value); - onChanged(); - } else { - parentsBuilder_.addMessage(index, value); - } - return this; - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Type parents = 2; - */ - public Builder addParents( - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.Builder builderForValue) { - if (parentsBuilder_ == null) { - ensureParentsIsMutable(); - parents_.add(builderForValue.build()); - onChanged(); - } else { - parentsBuilder_.addMessage(builderForValue.build()); - } - return this; - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Type parents = 2; - */ - public Builder addParents( - int index, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.Builder builderForValue) { - if (parentsBuilder_ == null) { - ensureParentsIsMutable(); - parents_.add(index, builderForValue.build()); - onChanged(); - } else { - parentsBuilder_.addMessage(index, builderForValue.build()); - } - return this; - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Type parents = 2; - */ - public Builder addAllParents( - java.lang.Iterable values) { - if (parentsBuilder_ == null) { - ensureParentsIsMutable(); - com.google.protobuf.AbstractMessageLite.Builder.addAll( - values, parents_); - onChanged(); - } else { - parentsBuilder_.addAllMessages(values); - } - return this; - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Type parents = 2; - */ - public Builder clearParents() { - if (parentsBuilder_ == null) { - parents_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000001); - onChanged(); - } else { - parentsBuilder_.clear(); - } - return this; - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Type parents = 2; - */ - public Builder removeParents(int index) { - if (parentsBuilder_ == null) { - ensureParentsIsMutable(); - parents_.remove(index); - onChanged(); - } else { - parentsBuilder_.remove(index); - } - return this; - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Type parents = 2; - */ - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.Builder getParentsBuilder( - int index) { - return getParentsFieldBuilder().getBuilder(index); - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Type parents = 2; - */ - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeOrBuilder getParentsOrBuilder( - int index) { - if (parentsBuilder_ == null) { - return parents_.get(index); } else { - return parentsBuilder_.getMessageOrBuilder(index); - } - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Type parents = 2; - */ - public java.util.List - getParentsOrBuilderList() { - if (parentsBuilder_ != null) { - return parentsBuilder_.getMessageOrBuilderList(); - } else { - return java.util.Collections.unmodifiableList(parents_); - } - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Type parents = 2; - */ - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.Builder addParentsBuilder() { - return getParentsFieldBuilder().addBuilder( - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.getDefaultInstance()); - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Type parents = 2; - */ - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.Builder addParentsBuilder( - int index) { - return getParentsFieldBuilder().addBuilder( - index, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.getDefaultInstance()); - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Type parents = 2; - */ - public java.util.List - getParentsBuilderList() { - return getParentsFieldBuilder().getBuilderList(); - } - private com.google.protobuf.RepeatedFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeOrBuilder> - getParentsFieldBuilder() { - if (parentsBuilder_ == null) { - parentsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeOrBuilder>( - parents_, - ((bitField0_ & 0x00000001) != 0), - getParentForChildren(), - isClean()); - parents_ = null; - } - return parentsBuilder_; - } - - private com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope declarations_; - private com.google.protobuf.SingleFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.ScopeOrBuilder> declarationsBuilder_; - /** - * .com.sourcegraph.semanticdb_kotlinc.Scope declarations = 4; - * @return Whether the declarations field is set. - */ - public boolean hasDeclarations() { - return declarationsBuilder_ != null || declarations_ != null; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Scope declarations = 4; - * @return The declarations. - */ - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope getDeclarations() { - if (declarationsBuilder_ == null) { - return declarations_ == null ? com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope.getDefaultInstance() : declarations_; - } else { - return declarationsBuilder_.getMessage(); - } - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Scope declarations = 4; - */ - public Builder setDeclarations(com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope value) { - if (declarationsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - declarations_ = value; - onChanged(); - } else { - declarationsBuilder_.setMessage(value); - } - - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Scope declarations = 4; - */ - public Builder setDeclarations( - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope.Builder builderForValue) { - if (declarationsBuilder_ == null) { - declarations_ = builderForValue.build(); - onChanged(); - } else { - declarationsBuilder_.setMessage(builderForValue.build()); - } - - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Scope declarations = 4; - */ - public Builder mergeDeclarations(com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope value) { - if (declarationsBuilder_ == null) { - if (declarations_ != null) { - declarations_ = - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope.newBuilder(declarations_).mergeFrom(value).buildPartial(); - } else { - declarations_ = value; - } - onChanged(); - } else { - declarationsBuilder_.mergeFrom(value); - } - - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Scope declarations = 4; - */ - public Builder clearDeclarations() { - if (declarationsBuilder_ == null) { - declarations_ = null; - onChanged(); - } else { - declarations_ = null; - declarationsBuilder_ = null; - } - - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Scope declarations = 4; - */ - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope.Builder getDeclarationsBuilder() { - - onChanged(); - return getDeclarationsFieldBuilder().getBuilder(); - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Scope declarations = 4; - */ - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.ScopeOrBuilder getDeclarationsOrBuilder() { - if (declarationsBuilder_ != null) { - return declarationsBuilder_.getMessageOrBuilder(); - } else { - return declarations_ == null ? - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope.getDefaultInstance() : declarations_; - } - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Scope declarations = 4; - */ - private com.google.protobuf.SingleFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.ScopeOrBuilder> - getDeclarationsFieldBuilder() { - if (declarationsBuilder_ == null) { - declarationsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.ScopeOrBuilder>( - getDeclarations(), - getParentForChildren(), - isClean()); - declarations_ = null; - } - return declarationsBuilder_; - } - @java.lang.Override - public final Builder setUnknownFields( - final com.google.protobuf.UnknownFieldSet unknownFields) { - return super.setUnknownFields(unknownFields); - } - - @java.lang.Override - public final Builder mergeUnknownFields( - final com.google.protobuf.UnknownFieldSet unknownFields) { - return super.mergeUnknownFields(unknownFields); - } - - - // @@protoc_insertion_point(builder_scope:com.sourcegraph.semanticdb_kotlinc.ClassSignature) - } - - // @@protoc_insertion_point(class_scope:com.sourcegraph.semanticdb_kotlinc.ClassSignature) - private static final com.sourcegraph.semanticdb_kotlinc.Semanticdb.ClassSignature DEFAULT_INSTANCE; - static { - DEFAULT_INSTANCE = new com.sourcegraph.semanticdb_kotlinc.Semanticdb.ClassSignature(); - } - - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.ClassSignature getDefaultInstance() { - return DEFAULT_INSTANCE; - } - - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { - @java.lang.Override - public ClassSignature parsePartialFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return new ClassSignature(input, extensionRegistry); - } - }; - - public static com.google.protobuf.Parser parser() { - return PARSER; - } - - @java.lang.Override - public com.google.protobuf.Parser getParserForType() { - return PARSER; - } - - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.ClassSignature getDefaultInstanceForType() { - return DEFAULT_INSTANCE; - } - - } - - public interface MethodSignatureOrBuilder extends - // @@protoc_insertion_point(interface_extends:com.sourcegraph.semanticdb_kotlinc.MethodSignature) - com.google.protobuf.MessageOrBuilder { - - /** - * .com.sourcegraph.semanticdb_kotlinc.Scope type_parameters = 1; - * @return Whether the typeParameters field is set. - */ - boolean hasTypeParameters(); - /** - * .com.sourcegraph.semanticdb_kotlinc.Scope type_parameters = 1; - * @return The typeParameters. - */ - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope getTypeParameters(); - /** - * .com.sourcegraph.semanticdb_kotlinc.Scope type_parameters = 1; - */ - com.sourcegraph.semanticdb_kotlinc.Semanticdb.ScopeOrBuilder getTypeParametersOrBuilder(); - - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Scope parameter_lists = 2; - */ - java.util.List - getParameterListsList(); - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Scope parameter_lists = 2; - */ - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope getParameterLists(int index); - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Scope parameter_lists = 2; - */ - int getParameterListsCount(); - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Scope parameter_lists = 2; - */ - java.util.List - getParameterListsOrBuilderList(); - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Scope parameter_lists = 2; - */ - com.sourcegraph.semanticdb_kotlinc.Semanticdb.ScopeOrBuilder getParameterListsOrBuilder( - int index); - - /** - * .com.sourcegraph.semanticdb_kotlinc.Type return_type = 3; - * @return Whether the returnType field is set. - */ - boolean hasReturnType(); - /** - * .com.sourcegraph.semanticdb_kotlinc.Type return_type = 3; - * @return The returnType. - */ - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type getReturnType(); - /** - * .com.sourcegraph.semanticdb_kotlinc.Type return_type = 3; - */ - com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeOrBuilder getReturnTypeOrBuilder(); - } - /** - * Protobuf type {@code com.sourcegraph.semanticdb_kotlinc.MethodSignature} - */ - public static final class MethodSignature extends - com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:com.sourcegraph.semanticdb_kotlinc.MethodSignature) - MethodSignatureOrBuilder { - private static final long serialVersionUID = 0L; - // Use MethodSignature.newBuilder() to construct. - private MethodSignature(com.google.protobuf.GeneratedMessageV3.Builder builder) { - super(builder); - } - private MethodSignature() { - parameterLists_ = java.util.Collections.emptyList(); - } - - @java.lang.Override - @SuppressWarnings({"unused"}) - protected java.lang.Object newInstance( - UnusedPrivateParameter unused) { - return new MethodSignature(); - } - - @java.lang.Override - public final com.google.protobuf.UnknownFieldSet - getUnknownFields() { - return this.unknownFields; - } - private MethodSignature( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - this(); - if (extensionRegistry == null) { - throw new java.lang.NullPointerException(); - } - int mutable_bitField0_ = 0; - com.google.protobuf.UnknownFieldSet.Builder unknownFields = - com.google.protobuf.UnknownFieldSet.newBuilder(); - try { - boolean done = false; - while (!done) { - int tag = input.readTag(); - switch (tag) { - case 0: - done = true; - break; - case 10: { - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope.Builder subBuilder = null; - if (typeParameters_ != null) { - subBuilder = typeParameters_.toBuilder(); - } - typeParameters_ = input.readMessage(com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope.parser(), extensionRegistry); - if (subBuilder != null) { - subBuilder.mergeFrom(typeParameters_); - typeParameters_ = subBuilder.buildPartial(); - } - - break; - } - case 18: { - if (!((mutable_bitField0_ & 0x00000001) != 0)) { - parameterLists_ = new java.util.ArrayList(); - mutable_bitField0_ |= 0x00000001; - } - parameterLists_.add( - input.readMessage(com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope.parser(), extensionRegistry)); - break; - } - case 26: { - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.Builder subBuilder = null; - if (returnType_ != null) { - subBuilder = returnType_.toBuilder(); - } - returnType_ = input.readMessage(com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.parser(), extensionRegistry); - if (subBuilder != null) { - subBuilder.mergeFrom(returnType_); - returnType_ = subBuilder.buildPartial(); - } - - break; - } - default: { - if (!parseUnknownField( - input, unknownFields, extensionRegistry, tag)) { - done = true; - } - break; - } - } - } - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.setUnfinishedMessage(this); - } catch (java.io.IOException e) { - throw new com.google.protobuf.InvalidProtocolBufferException( - e).setUnfinishedMessage(this); - } finally { - if (((mutable_bitField0_ & 0x00000001) != 0)) { - parameterLists_ = java.util.Collections.unmodifiableList(parameterLists_); - } - this.unknownFields = unknownFields.build(); - makeExtensionsImmutable(); - } - } - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_MethodSignature_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internalGetFieldAccessorTable() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_MethodSignature_fieldAccessorTable - .ensureFieldAccessorsInitialized( - com.sourcegraph.semanticdb_kotlinc.Semanticdb.MethodSignature.class, com.sourcegraph.semanticdb_kotlinc.Semanticdb.MethodSignature.Builder.class); - } - - public static final int TYPE_PARAMETERS_FIELD_NUMBER = 1; - private com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope typeParameters_; - /** - * .com.sourcegraph.semanticdb_kotlinc.Scope type_parameters = 1; - * @return Whether the typeParameters field is set. - */ - @java.lang.Override - public boolean hasTypeParameters() { - return typeParameters_ != null; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Scope type_parameters = 1; - * @return The typeParameters. - */ - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope getTypeParameters() { - return typeParameters_ == null ? com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope.getDefaultInstance() : typeParameters_; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Scope type_parameters = 1; - */ - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.ScopeOrBuilder getTypeParametersOrBuilder() { - return getTypeParameters(); - } - - public static final int PARAMETER_LISTS_FIELD_NUMBER = 2; - private java.util.List parameterLists_; - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Scope parameter_lists = 2; - */ - @java.lang.Override - public java.util.List getParameterListsList() { - return parameterLists_; - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Scope parameter_lists = 2; - */ - @java.lang.Override - public java.util.List - getParameterListsOrBuilderList() { - return parameterLists_; - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Scope parameter_lists = 2; - */ - @java.lang.Override - public int getParameterListsCount() { - return parameterLists_.size(); - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Scope parameter_lists = 2; - */ - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope getParameterLists(int index) { - return parameterLists_.get(index); - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Scope parameter_lists = 2; - */ - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.ScopeOrBuilder getParameterListsOrBuilder( - int index) { - return parameterLists_.get(index); - } - - public static final int RETURN_TYPE_FIELD_NUMBER = 3; - private com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type returnType_; - /** - * .com.sourcegraph.semanticdb_kotlinc.Type return_type = 3; - * @return Whether the returnType field is set. - */ - @java.lang.Override - public boolean hasReturnType() { - return returnType_ != null; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Type return_type = 3; - * @return The returnType. - */ - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type getReturnType() { - return returnType_ == null ? com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.getDefaultInstance() : returnType_; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Type return_type = 3; - */ - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeOrBuilder getReturnTypeOrBuilder() { - return getReturnType(); - } - - private byte memoizedIsInitialized = -1; - @java.lang.Override - public final boolean isInitialized() { - byte isInitialized = memoizedIsInitialized; - if (isInitialized == 1) return true; - if (isInitialized == 0) return false; - - memoizedIsInitialized = 1; - return true; - } - - @java.lang.Override - public void writeTo(com.google.protobuf.CodedOutputStream output) - throws java.io.IOException { - if (typeParameters_ != null) { - output.writeMessage(1, getTypeParameters()); - } - for (int i = 0; i < parameterLists_.size(); i++) { - output.writeMessage(2, parameterLists_.get(i)); - } - if (returnType_ != null) { - output.writeMessage(3, getReturnType()); - } - unknownFields.writeTo(output); - } - - @java.lang.Override - public int getSerializedSize() { - int size = memoizedSize; - if (size != -1) return size; - - size = 0; - if (typeParameters_ != null) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(1, getTypeParameters()); - } - for (int i = 0; i < parameterLists_.size(); i++) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(2, parameterLists_.get(i)); - } - if (returnType_ != null) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(3, getReturnType()); - } - size += unknownFields.getSerializedSize(); - memoizedSize = size; - return size; - } - - @java.lang.Override - public boolean equals(final java.lang.Object obj) { - if (obj == this) { - return true; - } - if (!(obj instanceof com.sourcegraph.semanticdb_kotlinc.Semanticdb.MethodSignature)) { - return super.equals(obj); - } - com.sourcegraph.semanticdb_kotlinc.Semanticdb.MethodSignature other = (com.sourcegraph.semanticdb_kotlinc.Semanticdb.MethodSignature) obj; - - if (hasTypeParameters() != other.hasTypeParameters()) return false; - if (hasTypeParameters()) { - if (!getTypeParameters() - .equals(other.getTypeParameters())) return false; - } - if (!getParameterListsList() - .equals(other.getParameterListsList())) return false; - if (hasReturnType() != other.hasReturnType()) return false; - if (hasReturnType()) { - if (!getReturnType() - .equals(other.getReturnType())) return false; - } - if (!unknownFields.equals(other.unknownFields)) return false; - return true; - } - - @java.lang.Override - public int hashCode() { - if (memoizedHashCode != 0) { - return memoizedHashCode; - } - int hash = 41; - hash = (19 * hash) + getDescriptor().hashCode(); - if (hasTypeParameters()) { - hash = (37 * hash) + TYPE_PARAMETERS_FIELD_NUMBER; - hash = (53 * hash) + getTypeParameters().hashCode(); - } - if (getParameterListsCount() > 0) { - hash = (37 * hash) + PARAMETER_LISTS_FIELD_NUMBER; - hash = (53 * hash) + getParameterListsList().hashCode(); - } - if (hasReturnType()) { - hash = (37 * hash) + RETURN_TYPE_FIELD_NUMBER; - hash = (53 * hash) + getReturnType().hashCode(); - } - hash = (29 * hash) + unknownFields.hashCode(); - memoizedHashCode = hash; - return hash; - } - - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.MethodSignature parseFrom( - java.nio.ByteBuffer data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.MethodSignature parseFrom( - java.nio.ByteBuffer data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.MethodSignature parseFrom( - com.google.protobuf.ByteString data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.MethodSignature parseFrom( - com.google.protobuf.ByteString data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.MethodSignature parseFrom(byte[] data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.MethodSignature parseFrom( - byte[] data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.MethodSignature parseFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.MethodSignature parseFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.MethodSignature parseDelimitedFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseDelimitedWithIOException(PARSER, input); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.MethodSignature parseDelimitedFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseDelimitedWithIOException(PARSER, input, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.MethodSignature parseFrom( - com.google.protobuf.CodedInputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.MethodSignature parseFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input, extensionRegistry); - } - - @java.lang.Override - public Builder newBuilderForType() { return newBuilder(); } - public static Builder newBuilder() { - return DEFAULT_INSTANCE.toBuilder(); - } - public static Builder newBuilder(com.sourcegraph.semanticdb_kotlinc.Semanticdb.MethodSignature prototype) { - return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); - } - @java.lang.Override - public Builder toBuilder() { - return this == DEFAULT_INSTANCE - ? new Builder() : new Builder().mergeFrom(this); - } - - @java.lang.Override - protected Builder newBuilderForType( - com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { - Builder builder = new Builder(parent); - return builder; - } - /** - * Protobuf type {@code com.sourcegraph.semanticdb_kotlinc.MethodSignature} - */ - public static final class Builder extends - com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:com.sourcegraph.semanticdb_kotlinc.MethodSignature) - com.sourcegraph.semanticdb_kotlinc.Semanticdb.MethodSignatureOrBuilder { - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_MethodSignature_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internalGetFieldAccessorTable() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_MethodSignature_fieldAccessorTable - .ensureFieldAccessorsInitialized( - com.sourcegraph.semanticdb_kotlinc.Semanticdb.MethodSignature.class, com.sourcegraph.semanticdb_kotlinc.Semanticdb.MethodSignature.Builder.class); - } - - // Construct using com.sourcegraph.semanticdb_kotlinc.Semanticdb.MethodSignature.newBuilder() - private Builder() { - maybeForceBuilderInitialization(); - } - - private Builder( - com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { - super(parent); - maybeForceBuilderInitialization(); - } - private void maybeForceBuilderInitialization() { - if (com.google.protobuf.GeneratedMessageV3 - .alwaysUseFieldBuilders) { - getParameterListsFieldBuilder(); - } - } - @java.lang.Override - public Builder clear() { - super.clear(); - if (typeParametersBuilder_ == null) { - typeParameters_ = null; - } else { - typeParameters_ = null; - typeParametersBuilder_ = null; - } - if (parameterListsBuilder_ == null) { - parameterLists_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000001); - } else { - parameterListsBuilder_.clear(); - } - if (returnTypeBuilder_ == null) { - returnType_ = null; - } else { - returnType_ = null; - returnTypeBuilder_ = null; - } - return this; - } - - @java.lang.Override - public com.google.protobuf.Descriptors.Descriptor - getDescriptorForType() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_MethodSignature_descriptor; - } - - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.MethodSignature getDefaultInstanceForType() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.MethodSignature.getDefaultInstance(); - } - - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.MethodSignature build() { - com.sourcegraph.semanticdb_kotlinc.Semanticdb.MethodSignature result = buildPartial(); - if (!result.isInitialized()) { - throw newUninitializedMessageException(result); - } - return result; - } - - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.MethodSignature buildPartial() { - com.sourcegraph.semanticdb_kotlinc.Semanticdb.MethodSignature result = new com.sourcegraph.semanticdb_kotlinc.Semanticdb.MethodSignature(this); - int from_bitField0_ = bitField0_; - if (typeParametersBuilder_ == null) { - result.typeParameters_ = typeParameters_; - } else { - result.typeParameters_ = typeParametersBuilder_.build(); - } - if (parameterListsBuilder_ == null) { - if (((bitField0_ & 0x00000001) != 0)) { - parameterLists_ = java.util.Collections.unmodifiableList(parameterLists_); - bitField0_ = (bitField0_ & ~0x00000001); - } - result.parameterLists_ = parameterLists_; - } else { - result.parameterLists_ = parameterListsBuilder_.build(); - } - if (returnTypeBuilder_ == null) { - result.returnType_ = returnType_; - } else { - result.returnType_ = returnTypeBuilder_.build(); - } - onBuilt(); - return result; - } - - @java.lang.Override - public Builder clone() { - return super.clone(); - } - @java.lang.Override - public Builder setField( - com.google.protobuf.Descriptors.FieldDescriptor field, - java.lang.Object value) { - return super.setField(field, value); - } - @java.lang.Override - public Builder clearField( - com.google.protobuf.Descriptors.FieldDescriptor field) { - return super.clearField(field); - } - @java.lang.Override - public Builder clearOneof( - com.google.protobuf.Descriptors.OneofDescriptor oneof) { - return super.clearOneof(oneof); - } - @java.lang.Override - public Builder setRepeatedField( - com.google.protobuf.Descriptors.FieldDescriptor field, - int index, java.lang.Object value) { - return super.setRepeatedField(field, index, value); - } - @java.lang.Override - public Builder addRepeatedField( - com.google.protobuf.Descriptors.FieldDescriptor field, - java.lang.Object value) { - return super.addRepeatedField(field, value); - } - @java.lang.Override - public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof com.sourcegraph.semanticdb_kotlinc.Semanticdb.MethodSignature) { - return mergeFrom((com.sourcegraph.semanticdb_kotlinc.Semanticdb.MethodSignature)other); - } else { - super.mergeFrom(other); - return this; - } - } - - public Builder mergeFrom(com.sourcegraph.semanticdb_kotlinc.Semanticdb.MethodSignature other) { - if (other == com.sourcegraph.semanticdb_kotlinc.Semanticdb.MethodSignature.getDefaultInstance()) return this; - if (other.hasTypeParameters()) { - mergeTypeParameters(other.getTypeParameters()); - } - if (parameterListsBuilder_ == null) { - if (!other.parameterLists_.isEmpty()) { - if (parameterLists_.isEmpty()) { - parameterLists_ = other.parameterLists_; - bitField0_ = (bitField0_ & ~0x00000001); - } else { - ensureParameterListsIsMutable(); - parameterLists_.addAll(other.parameterLists_); - } - onChanged(); - } - } else { - if (!other.parameterLists_.isEmpty()) { - if (parameterListsBuilder_.isEmpty()) { - parameterListsBuilder_.dispose(); - parameterListsBuilder_ = null; - parameterLists_ = other.parameterLists_; - bitField0_ = (bitField0_ & ~0x00000001); - parameterListsBuilder_ = - com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? - getParameterListsFieldBuilder() : null; - } else { - parameterListsBuilder_.addAllMessages(other.parameterLists_); - } - } - } - if (other.hasReturnType()) { - mergeReturnType(other.getReturnType()); - } - this.mergeUnknownFields(other.unknownFields); - onChanged(); - return this; - } - - @java.lang.Override - public final boolean isInitialized() { - return true; - } - - @java.lang.Override - public Builder mergeFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - com.sourcegraph.semanticdb_kotlinc.Semanticdb.MethodSignature parsedMessage = null; - try { - parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (com.sourcegraph.semanticdb_kotlinc.Semanticdb.MethodSignature) e.getUnfinishedMessage(); - throw e.unwrapIOException(); - } finally { - if (parsedMessage != null) { - mergeFrom(parsedMessage); - } - } - return this; - } - private int bitField0_; - - private com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope typeParameters_; - private com.google.protobuf.SingleFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.ScopeOrBuilder> typeParametersBuilder_; - /** - * .com.sourcegraph.semanticdb_kotlinc.Scope type_parameters = 1; - * @return Whether the typeParameters field is set. - */ - public boolean hasTypeParameters() { - return typeParametersBuilder_ != null || typeParameters_ != null; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Scope type_parameters = 1; - * @return The typeParameters. - */ - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope getTypeParameters() { - if (typeParametersBuilder_ == null) { - return typeParameters_ == null ? com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope.getDefaultInstance() : typeParameters_; - } else { - return typeParametersBuilder_.getMessage(); - } - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Scope type_parameters = 1; - */ - public Builder setTypeParameters(com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope value) { - if (typeParametersBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - typeParameters_ = value; - onChanged(); - } else { - typeParametersBuilder_.setMessage(value); - } - - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Scope type_parameters = 1; - */ - public Builder setTypeParameters( - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope.Builder builderForValue) { - if (typeParametersBuilder_ == null) { - typeParameters_ = builderForValue.build(); - onChanged(); - } else { - typeParametersBuilder_.setMessage(builderForValue.build()); - } - - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Scope type_parameters = 1; - */ - public Builder mergeTypeParameters(com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope value) { - if (typeParametersBuilder_ == null) { - if (typeParameters_ != null) { - typeParameters_ = - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope.newBuilder(typeParameters_).mergeFrom(value).buildPartial(); - } else { - typeParameters_ = value; - } - onChanged(); - } else { - typeParametersBuilder_.mergeFrom(value); - } - - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Scope type_parameters = 1; - */ - public Builder clearTypeParameters() { - if (typeParametersBuilder_ == null) { - typeParameters_ = null; - onChanged(); - } else { - typeParameters_ = null; - typeParametersBuilder_ = null; - } - - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Scope type_parameters = 1; - */ - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope.Builder getTypeParametersBuilder() { - - onChanged(); - return getTypeParametersFieldBuilder().getBuilder(); - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Scope type_parameters = 1; - */ - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.ScopeOrBuilder getTypeParametersOrBuilder() { - if (typeParametersBuilder_ != null) { - return typeParametersBuilder_.getMessageOrBuilder(); - } else { - return typeParameters_ == null ? - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope.getDefaultInstance() : typeParameters_; - } - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Scope type_parameters = 1; - */ - private com.google.protobuf.SingleFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.ScopeOrBuilder> - getTypeParametersFieldBuilder() { - if (typeParametersBuilder_ == null) { - typeParametersBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.ScopeOrBuilder>( - getTypeParameters(), - getParentForChildren(), - isClean()); - typeParameters_ = null; - } - return typeParametersBuilder_; - } - - private java.util.List parameterLists_ = - java.util.Collections.emptyList(); - private void ensureParameterListsIsMutable() { - if (!((bitField0_ & 0x00000001) != 0)) { - parameterLists_ = new java.util.ArrayList(parameterLists_); - bitField0_ |= 0x00000001; - } - } - - private com.google.protobuf.RepeatedFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.ScopeOrBuilder> parameterListsBuilder_; - - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Scope parameter_lists = 2; - */ - public java.util.List getParameterListsList() { - if (parameterListsBuilder_ == null) { - return java.util.Collections.unmodifiableList(parameterLists_); - } else { - return parameterListsBuilder_.getMessageList(); - } - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Scope parameter_lists = 2; - */ - public int getParameterListsCount() { - if (parameterListsBuilder_ == null) { - return parameterLists_.size(); - } else { - return parameterListsBuilder_.getCount(); - } - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Scope parameter_lists = 2; - */ - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope getParameterLists(int index) { - if (parameterListsBuilder_ == null) { - return parameterLists_.get(index); - } else { - return parameterListsBuilder_.getMessage(index); - } - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Scope parameter_lists = 2; - */ - public Builder setParameterLists( - int index, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope value) { - if (parameterListsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureParameterListsIsMutable(); - parameterLists_.set(index, value); - onChanged(); - } else { - parameterListsBuilder_.setMessage(index, value); - } - return this; - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Scope parameter_lists = 2; - */ - public Builder setParameterLists( - int index, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope.Builder builderForValue) { - if (parameterListsBuilder_ == null) { - ensureParameterListsIsMutable(); - parameterLists_.set(index, builderForValue.build()); - onChanged(); - } else { - parameterListsBuilder_.setMessage(index, builderForValue.build()); - } - return this; - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Scope parameter_lists = 2; - */ - public Builder addParameterLists(com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope value) { - if (parameterListsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureParameterListsIsMutable(); - parameterLists_.add(value); - onChanged(); - } else { - parameterListsBuilder_.addMessage(value); - } - return this; - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Scope parameter_lists = 2; - */ - public Builder addParameterLists( - int index, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope value) { - if (parameterListsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureParameterListsIsMutable(); - parameterLists_.add(index, value); - onChanged(); - } else { - parameterListsBuilder_.addMessage(index, value); - } - return this; - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Scope parameter_lists = 2; - */ - public Builder addParameterLists( - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope.Builder builderForValue) { - if (parameterListsBuilder_ == null) { - ensureParameterListsIsMutable(); - parameterLists_.add(builderForValue.build()); - onChanged(); - } else { - parameterListsBuilder_.addMessage(builderForValue.build()); - } - return this; - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Scope parameter_lists = 2; - */ - public Builder addParameterLists( - int index, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope.Builder builderForValue) { - if (parameterListsBuilder_ == null) { - ensureParameterListsIsMutable(); - parameterLists_.add(index, builderForValue.build()); - onChanged(); - } else { - parameterListsBuilder_.addMessage(index, builderForValue.build()); - } - return this; - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Scope parameter_lists = 2; - */ - public Builder addAllParameterLists( - java.lang.Iterable values) { - if (parameterListsBuilder_ == null) { - ensureParameterListsIsMutable(); - com.google.protobuf.AbstractMessageLite.Builder.addAll( - values, parameterLists_); - onChanged(); - } else { - parameterListsBuilder_.addAllMessages(values); - } - return this; - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Scope parameter_lists = 2; - */ - public Builder clearParameterLists() { - if (parameterListsBuilder_ == null) { - parameterLists_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000001); - onChanged(); - } else { - parameterListsBuilder_.clear(); - } - return this; - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Scope parameter_lists = 2; - */ - public Builder removeParameterLists(int index) { - if (parameterListsBuilder_ == null) { - ensureParameterListsIsMutable(); - parameterLists_.remove(index); - onChanged(); - } else { - parameterListsBuilder_.remove(index); - } - return this; - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Scope parameter_lists = 2; - */ - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope.Builder getParameterListsBuilder( - int index) { - return getParameterListsFieldBuilder().getBuilder(index); - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Scope parameter_lists = 2; - */ - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.ScopeOrBuilder getParameterListsOrBuilder( - int index) { - if (parameterListsBuilder_ == null) { - return parameterLists_.get(index); } else { - return parameterListsBuilder_.getMessageOrBuilder(index); - } - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Scope parameter_lists = 2; - */ - public java.util.List - getParameterListsOrBuilderList() { - if (parameterListsBuilder_ != null) { - return parameterListsBuilder_.getMessageOrBuilderList(); - } else { - return java.util.Collections.unmodifiableList(parameterLists_); - } - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Scope parameter_lists = 2; - */ - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope.Builder addParameterListsBuilder() { - return getParameterListsFieldBuilder().addBuilder( - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope.getDefaultInstance()); - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Scope parameter_lists = 2; - */ - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope.Builder addParameterListsBuilder( - int index) { - return getParameterListsFieldBuilder().addBuilder( - index, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope.getDefaultInstance()); - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Scope parameter_lists = 2; - */ - public java.util.List - getParameterListsBuilderList() { - return getParameterListsFieldBuilder().getBuilderList(); - } - private com.google.protobuf.RepeatedFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.ScopeOrBuilder> - getParameterListsFieldBuilder() { - if (parameterListsBuilder_ == null) { - parameterListsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.ScopeOrBuilder>( - parameterLists_, - ((bitField0_ & 0x00000001) != 0), - getParentForChildren(), - isClean()); - parameterLists_ = null; - } - return parameterListsBuilder_; - } - - private com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type returnType_; - private com.google.protobuf.SingleFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeOrBuilder> returnTypeBuilder_; - /** - * .com.sourcegraph.semanticdb_kotlinc.Type return_type = 3; - * @return Whether the returnType field is set. - */ - public boolean hasReturnType() { - return returnTypeBuilder_ != null || returnType_ != null; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Type return_type = 3; - * @return The returnType. - */ - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type getReturnType() { - if (returnTypeBuilder_ == null) { - return returnType_ == null ? com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.getDefaultInstance() : returnType_; - } else { - return returnTypeBuilder_.getMessage(); - } - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Type return_type = 3; - */ - public Builder setReturnType(com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type value) { - if (returnTypeBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - returnType_ = value; - onChanged(); - } else { - returnTypeBuilder_.setMessage(value); - } - - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Type return_type = 3; - */ - public Builder setReturnType( - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.Builder builderForValue) { - if (returnTypeBuilder_ == null) { - returnType_ = builderForValue.build(); - onChanged(); - } else { - returnTypeBuilder_.setMessage(builderForValue.build()); - } - - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Type return_type = 3; - */ - public Builder mergeReturnType(com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type value) { - if (returnTypeBuilder_ == null) { - if (returnType_ != null) { - returnType_ = - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.newBuilder(returnType_).mergeFrom(value).buildPartial(); - } else { - returnType_ = value; - } - onChanged(); - } else { - returnTypeBuilder_.mergeFrom(value); - } - - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Type return_type = 3; - */ - public Builder clearReturnType() { - if (returnTypeBuilder_ == null) { - returnType_ = null; - onChanged(); - } else { - returnType_ = null; - returnTypeBuilder_ = null; - } - - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Type return_type = 3; - */ - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.Builder getReturnTypeBuilder() { - - onChanged(); - return getReturnTypeFieldBuilder().getBuilder(); - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Type return_type = 3; - */ - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeOrBuilder getReturnTypeOrBuilder() { - if (returnTypeBuilder_ != null) { - return returnTypeBuilder_.getMessageOrBuilder(); - } else { - return returnType_ == null ? - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.getDefaultInstance() : returnType_; - } - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Type return_type = 3; - */ - private com.google.protobuf.SingleFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeOrBuilder> - getReturnTypeFieldBuilder() { - if (returnTypeBuilder_ == null) { - returnTypeBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeOrBuilder>( - getReturnType(), - getParentForChildren(), - isClean()); - returnType_ = null; - } - return returnTypeBuilder_; - } - @java.lang.Override - public final Builder setUnknownFields( - final com.google.protobuf.UnknownFieldSet unknownFields) { - return super.setUnknownFields(unknownFields); - } - - @java.lang.Override - public final Builder mergeUnknownFields( - final com.google.protobuf.UnknownFieldSet unknownFields) { - return super.mergeUnknownFields(unknownFields); - } - - - // @@protoc_insertion_point(builder_scope:com.sourcegraph.semanticdb_kotlinc.MethodSignature) - } - - // @@protoc_insertion_point(class_scope:com.sourcegraph.semanticdb_kotlinc.MethodSignature) - private static final com.sourcegraph.semanticdb_kotlinc.Semanticdb.MethodSignature DEFAULT_INSTANCE; - static { - DEFAULT_INSTANCE = new com.sourcegraph.semanticdb_kotlinc.Semanticdb.MethodSignature(); - } - - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.MethodSignature getDefaultInstance() { - return DEFAULT_INSTANCE; - } - - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { - @java.lang.Override - public MethodSignature parsePartialFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return new MethodSignature(input, extensionRegistry); - } - }; - - public static com.google.protobuf.Parser parser() { - return PARSER; - } - - @java.lang.Override - public com.google.protobuf.Parser getParserForType() { - return PARSER; - } - - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.MethodSignature getDefaultInstanceForType() { - return DEFAULT_INSTANCE; - } - - } - - public interface TypeSignatureOrBuilder extends - // @@protoc_insertion_point(interface_extends:com.sourcegraph.semanticdb_kotlinc.TypeSignature) - com.google.protobuf.MessageOrBuilder { - - /** - * .com.sourcegraph.semanticdb_kotlinc.Scope type_parameters = 1; - * @return Whether the typeParameters field is set. - */ - boolean hasTypeParameters(); - /** - * .com.sourcegraph.semanticdb_kotlinc.Scope type_parameters = 1; - * @return The typeParameters. - */ - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope getTypeParameters(); - /** - * .com.sourcegraph.semanticdb_kotlinc.Scope type_parameters = 1; - */ - com.sourcegraph.semanticdb_kotlinc.Semanticdb.ScopeOrBuilder getTypeParametersOrBuilder(); - - /** - * .com.sourcegraph.semanticdb_kotlinc.Type lower_bound = 2; - * @return Whether the lowerBound field is set. - */ - boolean hasLowerBound(); - /** - * .com.sourcegraph.semanticdb_kotlinc.Type lower_bound = 2; - * @return The lowerBound. - */ - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type getLowerBound(); - /** - * .com.sourcegraph.semanticdb_kotlinc.Type lower_bound = 2; - */ - com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeOrBuilder getLowerBoundOrBuilder(); - - /** - * .com.sourcegraph.semanticdb_kotlinc.Type upper_bound = 3; - * @return Whether the upperBound field is set. - */ - boolean hasUpperBound(); - /** - * .com.sourcegraph.semanticdb_kotlinc.Type upper_bound = 3; - * @return The upperBound. - */ - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type getUpperBound(); - /** - * .com.sourcegraph.semanticdb_kotlinc.Type upper_bound = 3; - */ - com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeOrBuilder getUpperBoundOrBuilder(); - } - /** - * Protobuf type {@code com.sourcegraph.semanticdb_kotlinc.TypeSignature} - */ - public static final class TypeSignature extends - com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:com.sourcegraph.semanticdb_kotlinc.TypeSignature) - TypeSignatureOrBuilder { - private static final long serialVersionUID = 0L; - // Use TypeSignature.newBuilder() to construct. - private TypeSignature(com.google.protobuf.GeneratedMessageV3.Builder builder) { - super(builder); - } - private TypeSignature() { - } - - @java.lang.Override - @SuppressWarnings({"unused"}) - protected java.lang.Object newInstance( - UnusedPrivateParameter unused) { - return new TypeSignature(); - } - - @java.lang.Override - public final com.google.protobuf.UnknownFieldSet - getUnknownFields() { - return this.unknownFields; - } - private TypeSignature( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - this(); - if (extensionRegistry == null) { - throw new java.lang.NullPointerException(); - } - com.google.protobuf.UnknownFieldSet.Builder unknownFields = - com.google.protobuf.UnknownFieldSet.newBuilder(); - try { - boolean done = false; - while (!done) { - int tag = input.readTag(); - switch (tag) { - case 0: - done = true; - break; - case 10: { - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope.Builder subBuilder = null; - if (typeParameters_ != null) { - subBuilder = typeParameters_.toBuilder(); - } - typeParameters_ = input.readMessage(com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope.parser(), extensionRegistry); - if (subBuilder != null) { - subBuilder.mergeFrom(typeParameters_); - typeParameters_ = subBuilder.buildPartial(); - } - - break; - } - case 18: { - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.Builder subBuilder = null; - if (lowerBound_ != null) { - subBuilder = lowerBound_.toBuilder(); - } - lowerBound_ = input.readMessage(com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.parser(), extensionRegistry); - if (subBuilder != null) { - subBuilder.mergeFrom(lowerBound_); - lowerBound_ = subBuilder.buildPartial(); - } - - break; - } - case 26: { - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.Builder subBuilder = null; - if (upperBound_ != null) { - subBuilder = upperBound_.toBuilder(); - } - upperBound_ = input.readMessage(com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.parser(), extensionRegistry); - if (subBuilder != null) { - subBuilder.mergeFrom(upperBound_); - upperBound_ = subBuilder.buildPartial(); - } - - break; - } - default: { - if (!parseUnknownField( - input, unknownFields, extensionRegistry, tag)) { - done = true; - } - break; - } - } - } - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.setUnfinishedMessage(this); - } catch (java.io.IOException e) { - throw new com.google.protobuf.InvalidProtocolBufferException( - e).setUnfinishedMessage(this); - } finally { - this.unknownFields = unknownFields.build(); - makeExtensionsImmutable(); - } - } - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_TypeSignature_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internalGetFieldAccessorTable() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_TypeSignature_fieldAccessorTable - .ensureFieldAccessorsInitialized( - com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeSignature.class, com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeSignature.Builder.class); - } - - public static final int TYPE_PARAMETERS_FIELD_NUMBER = 1; - private com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope typeParameters_; - /** - * .com.sourcegraph.semanticdb_kotlinc.Scope type_parameters = 1; - * @return Whether the typeParameters field is set. - */ - @java.lang.Override - public boolean hasTypeParameters() { - return typeParameters_ != null; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Scope type_parameters = 1; - * @return The typeParameters. - */ - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope getTypeParameters() { - return typeParameters_ == null ? com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope.getDefaultInstance() : typeParameters_; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Scope type_parameters = 1; - */ - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.ScopeOrBuilder getTypeParametersOrBuilder() { - return getTypeParameters(); - } - - public static final int LOWER_BOUND_FIELD_NUMBER = 2; - private com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type lowerBound_; - /** - * .com.sourcegraph.semanticdb_kotlinc.Type lower_bound = 2; - * @return Whether the lowerBound field is set. - */ - @java.lang.Override - public boolean hasLowerBound() { - return lowerBound_ != null; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Type lower_bound = 2; - * @return The lowerBound. - */ - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type getLowerBound() { - return lowerBound_ == null ? com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.getDefaultInstance() : lowerBound_; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Type lower_bound = 2; - */ - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeOrBuilder getLowerBoundOrBuilder() { - return getLowerBound(); - } - - public static final int UPPER_BOUND_FIELD_NUMBER = 3; - private com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type upperBound_; - /** - * .com.sourcegraph.semanticdb_kotlinc.Type upper_bound = 3; - * @return Whether the upperBound field is set. - */ - @java.lang.Override - public boolean hasUpperBound() { - return upperBound_ != null; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Type upper_bound = 3; - * @return The upperBound. - */ - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type getUpperBound() { - return upperBound_ == null ? com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.getDefaultInstance() : upperBound_; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Type upper_bound = 3; - */ - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeOrBuilder getUpperBoundOrBuilder() { - return getUpperBound(); - } - - private byte memoizedIsInitialized = -1; - @java.lang.Override - public final boolean isInitialized() { - byte isInitialized = memoizedIsInitialized; - if (isInitialized == 1) return true; - if (isInitialized == 0) return false; - - memoizedIsInitialized = 1; - return true; - } - - @java.lang.Override - public void writeTo(com.google.protobuf.CodedOutputStream output) - throws java.io.IOException { - if (typeParameters_ != null) { - output.writeMessage(1, getTypeParameters()); - } - if (lowerBound_ != null) { - output.writeMessage(2, getLowerBound()); - } - if (upperBound_ != null) { - output.writeMessage(3, getUpperBound()); - } - unknownFields.writeTo(output); - } - - @java.lang.Override - public int getSerializedSize() { - int size = memoizedSize; - if (size != -1) return size; - - size = 0; - if (typeParameters_ != null) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(1, getTypeParameters()); - } - if (lowerBound_ != null) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(2, getLowerBound()); - } - if (upperBound_ != null) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(3, getUpperBound()); - } - size += unknownFields.getSerializedSize(); - memoizedSize = size; - return size; - } - - @java.lang.Override - public boolean equals(final java.lang.Object obj) { - if (obj == this) { - return true; - } - if (!(obj instanceof com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeSignature)) { - return super.equals(obj); - } - com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeSignature other = (com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeSignature) obj; - - if (hasTypeParameters() != other.hasTypeParameters()) return false; - if (hasTypeParameters()) { - if (!getTypeParameters() - .equals(other.getTypeParameters())) return false; - } - if (hasLowerBound() != other.hasLowerBound()) return false; - if (hasLowerBound()) { - if (!getLowerBound() - .equals(other.getLowerBound())) return false; - } - if (hasUpperBound() != other.hasUpperBound()) return false; - if (hasUpperBound()) { - if (!getUpperBound() - .equals(other.getUpperBound())) return false; - } - if (!unknownFields.equals(other.unknownFields)) return false; - return true; - } - - @java.lang.Override - public int hashCode() { - if (memoizedHashCode != 0) { - return memoizedHashCode; - } - int hash = 41; - hash = (19 * hash) + getDescriptor().hashCode(); - if (hasTypeParameters()) { - hash = (37 * hash) + TYPE_PARAMETERS_FIELD_NUMBER; - hash = (53 * hash) + getTypeParameters().hashCode(); - } - if (hasLowerBound()) { - hash = (37 * hash) + LOWER_BOUND_FIELD_NUMBER; - hash = (53 * hash) + getLowerBound().hashCode(); - } - if (hasUpperBound()) { - hash = (37 * hash) + UPPER_BOUND_FIELD_NUMBER; - hash = (53 * hash) + getUpperBound().hashCode(); - } - hash = (29 * hash) + unknownFields.hashCode(); - memoizedHashCode = hash; - return hash; - } - - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeSignature parseFrom( - java.nio.ByteBuffer data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeSignature parseFrom( - java.nio.ByteBuffer data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeSignature parseFrom( - com.google.protobuf.ByteString data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeSignature parseFrom( - com.google.protobuf.ByteString data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeSignature parseFrom(byte[] data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeSignature parseFrom( - byte[] data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeSignature parseFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeSignature parseFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeSignature parseDelimitedFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseDelimitedWithIOException(PARSER, input); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeSignature parseDelimitedFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseDelimitedWithIOException(PARSER, input, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeSignature parseFrom( - com.google.protobuf.CodedInputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeSignature parseFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input, extensionRegistry); - } - - @java.lang.Override - public Builder newBuilderForType() { return newBuilder(); } - public static Builder newBuilder() { - return DEFAULT_INSTANCE.toBuilder(); - } - public static Builder newBuilder(com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeSignature prototype) { - return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); - } - @java.lang.Override - public Builder toBuilder() { - return this == DEFAULT_INSTANCE - ? new Builder() : new Builder().mergeFrom(this); - } - - @java.lang.Override - protected Builder newBuilderForType( - com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { - Builder builder = new Builder(parent); - return builder; - } - /** - * Protobuf type {@code com.sourcegraph.semanticdb_kotlinc.TypeSignature} - */ - public static final class Builder extends - com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:com.sourcegraph.semanticdb_kotlinc.TypeSignature) - com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeSignatureOrBuilder { - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_TypeSignature_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internalGetFieldAccessorTable() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_TypeSignature_fieldAccessorTable - .ensureFieldAccessorsInitialized( - com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeSignature.class, com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeSignature.Builder.class); - } - - // Construct using com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeSignature.newBuilder() - private Builder() { - maybeForceBuilderInitialization(); - } - - private Builder( - com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { - super(parent); - maybeForceBuilderInitialization(); - } - private void maybeForceBuilderInitialization() { - if (com.google.protobuf.GeneratedMessageV3 - .alwaysUseFieldBuilders) { - } - } - @java.lang.Override - public Builder clear() { - super.clear(); - if (typeParametersBuilder_ == null) { - typeParameters_ = null; - } else { - typeParameters_ = null; - typeParametersBuilder_ = null; - } - if (lowerBoundBuilder_ == null) { - lowerBound_ = null; - } else { - lowerBound_ = null; - lowerBoundBuilder_ = null; - } - if (upperBoundBuilder_ == null) { - upperBound_ = null; - } else { - upperBound_ = null; - upperBoundBuilder_ = null; - } - return this; - } - - @java.lang.Override - public com.google.protobuf.Descriptors.Descriptor - getDescriptorForType() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_TypeSignature_descriptor; - } - - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeSignature getDefaultInstanceForType() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeSignature.getDefaultInstance(); - } - - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeSignature build() { - com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeSignature result = buildPartial(); - if (!result.isInitialized()) { - throw newUninitializedMessageException(result); - } - return result; - } - - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeSignature buildPartial() { - com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeSignature result = new com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeSignature(this); - if (typeParametersBuilder_ == null) { - result.typeParameters_ = typeParameters_; - } else { - result.typeParameters_ = typeParametersBuilder_.build(); - } - if (lowerBoundBuilder_ == null) { - result.lowerBound_ = lowerBound_; - } else { - result.lowerBound_ = lowerBoundBuilder_.build(); - } - if (upperBoundBuilder_ == null) { - result.upperBound_ = upperBound_; - } else { - result.upperBound_ = upperBoundBuilder_.build(); - } - onBuilt(); - return result; - } - - @java.lang.Override - public Builder clone() { - return super.clone(); - } - @java.lang.Override - public Builder setField( - com.google.protobuf.Descriptors.FieldDescriptor field, - java.lang.Object value) { - return super.setField(field, value); - } - @java.lang.Override - public Builder clearField( - com.google.protobuf.Descriptors.FieldDescriptor field) { - return super.clearField(field); - } - @java.lang.Override - public Builder clearOneof( - com.google.protobuf.Descriptors.OneofDescriptor oneof) { - return super.clearOneof(oneof); - } - @java.lang.Override - public Builder setRepeatedField( - com.google.protobuf.Descriptors.FieldDescriptor field, - int index, java.lang.Object value) { - return super.setRepeatedField(field, index, value); - } - @java.lang.Override - public Builder addRepeatedField( - com.google.protobuf.Descriptors.FieldDescriptor field, - java.lang.Object value) { - return super.addRepeatedField(field, value); - } - @java.lang.Override - public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeSignature) { - return mergeFrom((com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeSignature)other); - } else { - super.mergeFrom(other); - return this; - } - } - - public Builder mergeFrom(com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeSignature other) { - if (other == com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeSignature.getDefaultInstance()) return this; - if (other.hasTypeParameters()) { - mergeTypeParameters(other.getTypeParameters()); - } - if (other.hasLowerBound()) { - mergeLowerBound(other.getLowerBound()); - } - if (other.hasUpperBound()) { - mergeUpperBound(other.getUpperBound()); - } - this.mergeUnknownFields(other.unknownFields); - onChanged(); - return this; - } - - @java.lang.Override - public final boolean isInitialized() { - return true; - } - - @java.lang.Override - public Builder mergeFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeSignature parsedMessage = null; - try { - parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeSignature) e.getUnfinishedMessage(); - throw e.unwrapIOException(); - } finally { - if (parsedMessage != null) { - mergeFrom(parsedMessage); - } - } - return this; - } - - private com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope typeParameters_; - private com.google.protobuf.SingleFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.ScopeOrBuilder> typeParametersBuilder_; - /** - * .com.sourcegraph.semanticdb_kotlinc.Scope type_parameters = 1; - * @return Whether the typeParameters field is set. - */ - public boolean hasTypeParameters() { - return typeParametersBuilder_ != null || typeParameters_ != null; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Scope type_parameters = 1; - * @return The typeParameters. - */ - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope getTypeParameters() { - if (typeParametersBuilder_ == null) { - return typeParameters_ == null ? com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope.getDefaultInstance() : typeParameters_; - } else { - return typeParametersBuilder_.getMessage(); - } - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Scope type_parameters = 1; - */ - public Builder setTypeParameters(com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope value) { - if (typeParametersBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - typeParameters_ = value; - onChanged(); - } else { - typeParametersBuilder_.setMessage(value); - } - - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Scope type_parameters = 1; - */ - public Builder setTypeParameters( - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope.Builder builderForValue) { - if (typeParametersBuilder_ == null) { - typeParameters_ = builderForValue.build(); - onChanged(); - } else { - typeParametersBuilder_.setMessage(builderForValue.build()); - } - - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Scope type_parameters = 1; - */ - public Builder mergeTypeParameters(com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope value) { - if (typeParametersBuilder_ == null) { - if (typeParameters_ != null) { - typeParameters_ = - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope.newBuilder(typeParameters_).mergeFrom(value).buildPartial(); - } else { - typeParameters_ = value; - } - onChanged(); - } else { - typeParametersBuilder_.mergeFrom(value); - } - - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Scope type_parameters = 1; - */ - public Builder clearTypeParameters() { - if (typeParametersBuilder_ == null) { - typeParameters_ = null; - onChanged(); - } else { - typeParameters_ = null; - typeParametersBuilder_ = null; - } - - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Scope type_parameters = 1; - */ - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope.Builder getTypeParametersBuilder() { - - onChanged(); - return getTypeParametersFieldBuilder().getBuilder(); - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Scope type_parameters = 1; - */ - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.ScopeOrBuilder getTypeParametersOrBuilder() { - if (typeParametersBuilder_ != null) { - return typeParametersBuilder_.getMessageOrBuilder(); - } else { - return typeParameters_ == null ? - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope.getDefaultInstance() : typeParameters_; - } - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Scope type_parameters = 1; - */ - private com.google.protobuf.SingleFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.ScopeOrBuilder> - getTypeParametersFieldBuilder() { - if (typeParametersBuilder_ == null) { - typeParametersBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.ScopeOrBuilder>( - getTypeParameters(), - getParentForChildren(), - isClean()); - typeParameters_ = null; - } - return typeParametersBuilder_; - } - - private com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type lowerBound_; - private com.google.protobuf.SingleFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeOrBuilder> lowerBoundBuilder_; - /** - * .com.sourcegraph.semanticdb_kotlinc.Type lower_bound = 2; - * @return Whether the lowerBound field is set. - */ - public boolean hasLowerBound() { - return lowerBoundBuilder_ != null || lowerBound_ != null; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Type lower_bound = 2; - * @return The lowerBound. - */ - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type getLowerBound() { - if (lowerBoundBuilder_ == null) { - return lowerBound_ == null ? com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.getDefaultInstance() : lowerBound_; - } else { - return lowerBoundBuilder_.getMessage(); - } - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Type lower_bound = 2; - */ - public Builder setLowerBound(com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type value) { - if (lowerBoundBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - lowerBound_ = value; - onChanged(); - } else { - lowerBoundBuilder_.setMessage(value); - } - - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Type lower_bound = 2; - */ - public Builder setLowerBound( - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.Builder builderForValue) { - if (lowerBoundBuilder_ == null) { - lowerBound_ = builderForValue.build(); - onChanged(); - } else { - lowerBoundBuilder_.setMessage(builderForValue.build()); - } - - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Type lower_bound = 2; - */ - public Builder mergeLowerBound(com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type value) { - if (lowerBoundBuilder_ == null) { - if (lowerBound_ != null) { - lowerBound_ = - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.newBuilder(lowerBound_).mergeFrom(value).buildPartial(); - } else { - lowerBound_ = value; - } - onChanged(); - } else { - lowerBoundBuilder_.mergeFrom(value); - } - - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Type lower_bound = 2; - */ - public Builder clearLowerBound() { - if (lowerBoundBuilder_ == null) { - lowerBound_ = null; - onChanged(); - } else { - lowerBound_ = null; - lowerBoundBuilder_ = null; - } - - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Type lower_bound = 2; - */ - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.Builder getLowerBoundBuilder() { - - onChanged(); - return getLowerBoundFieldBuilder().getBuilder(); - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Type lower_bound = 2; - */ - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeOrBuilder getLowerBoundOrBuilder() { - if (lowerBoundBuilder_ != null) { - return lowerBoundBuilder_.getMessageOrBuilder(); - } else { - return lowerBound_ == null ? - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.getDefaultInstance() : lowerBound_; - } - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Type lower_bound = 2; - */ - private com.google.protobuf.SingleFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeOrBuilder> - getLowerBoundFieldBuilder() { - if (lowerBoundBuilder_ == null) { - lowerBoundBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeOrBuilder>( - getLowerBound(), - getParentForChildren(), - isClean()); - lowerBound_ = null; - } - return lowerBoundBuilder_; - } - - private com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type upperBound_; - private com.google.protobuf.SingleFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeOrBuilder> upperBoundBuilder_; - /** - * .com.sourcegraph.semanticdb_kotlinc.Type upper_bound = 3; - * @return Whether the upperBound field is set. - */ - public boolean hasUpperBound() { - return upperBoundBuilder_ != null || upperBound_ != null; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Type upper_bound = 3; - * @return The upperBound. - */ - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type getUpperBound() { - if (upperBoundBuilder_ == null) { - return upperBound_ == null ? com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.getDefaultInstance() : upperBound_; - } else { - return upperBoundBuilder_.getMessage(); - } - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Type upper_bound = 3; - */ - public Builder setUpperBound(com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type value) { - if (upperBoundBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - upperBound_ = value; - onChanged(); - } else { - upperBoundBuilder_.setMessage(value); - } - - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Type upper_bound = 3; - */ - public Builder setUpperBound( - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.Builder builderForValue) { - if (upperBoundBuilder_ == null) { - upperBound_ = builderForValue.build(); - onChanged(); - } else { - upperBoundBuilder_.setMessage(builderForValue.build()); - } - - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Type upper_bound = 3; - */ - public Builder mergeUpperBound(com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type value) { - if (upperBoundBuilder_ == null) { - if (upperBound_ != null) { - upperBound_ = - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.newBuilder(upperBound_).mergeFrom(value).buildPartial(); - } else { - upperBound_ = value; - } - onChanged(); - } else { - upperBoundBuilder_.mergeFrom(value); - } - - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Type upper_bound = 3; - */ - public Builder clearUpperBound() { - if (upperBoundBuilder_ == null) { - upperBound_ = null; - onChanged(); - } else { - upperBound_ = null; - upperBoundBuilder_ = null; - } - - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Type upper_bound = 3; - */ - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.Builder getUpperBoundBuilder() { - - onChanged(); - return getUpperBoundFieldBuilder().getBuilder(); - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Type upper_bound = 3; - */ - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeOrBuilder getUpperBoundOrBuilder() { - if (upperBoundBuilder_ != null) { - return upperBoundBuilder_.getMessageOrBuilder(); - } else { - return upperBound_ == null ? - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.getDefaultInstance() : upperBound_; - } - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Type upper_bound = 3; - */ - private com.google.protobuf.SingleFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeOrBuilder> - getUpperBoundFieldBuilder() { - if (upperBoundBuilder_ == null) { - upperBoundBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeOrBuilder>( - getUpperBound(), - getParentForChildren(), - isClean()); - upperBound_ = null; - } - return upperBoundBuilder_; - } - @java.lang.Override - public final Builder setUnknownFields( - final com.google.protobuf.UnknownFieldSet unknownFields) { - return super.setUnknownFields(unknownFields); - } - - @java.lang.Override - public final Builder mergeUnknownFields( - final com.google.protobuf.UnknownFieldSet unknownFields) { - return super.mergeUnknownFields(unknownFields); - } - - - // @@protoc_insertion_point(builder_scope:com.sourcegraph.semanticdb_kotlinc.TypeSignature) - } - - // @@protoc_insertion_point(class_scope:com.sourcegraph.semanticdb_kotlinc.TypeSignature) - private static final com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeSignature DEFAULT_INSTANCE; - static { - DEFAULT_INSTANCE = new com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeSignature(); - } - - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeSignature getDefaultInstance() { - return DEFAULT_INSTANCE; - } - - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { - @java.lang.Override - public TypeSignature parsePartialFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return new TypeSignature(input, extensionRegistry); - } - }; - - public static com.google.protobuf.Parser parser() { - return PARSER; - } - - @java.lang.Override - public com.google.protobuf.Parser getParserForType() { - return PARSER; - } - - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeSignature getDefaultInstanceForType() { - return DEFAULT_INSTANCE; - } - - } - - public interface ValueSignatureOrBuilder extends - // @@protoc_insertion_point(interface_extends:com.sourcegraph.semanticdb_kotlinc.ValueSignature) - com.google.protobuf.MessageOrBuilder { - - /** - * .com.sourcegraph.semanticdb_kotlinc.Type tpe = 1; - * @return Whether the tpe field is set. - */ - boolean hasTpe(); - /** - * .com.sourcegraph.semanticdb_kotlinc.Type tpe = 1; - * @return The tpe. - */ - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type getTpe(); - /** - * .com.sourcegraph.semanticdb_kotlinc.Type tpe = 1; - */ - com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeOrBuilder getTpeOrBuilder(); - } - /** - * Protobuf type {@code com.sourcegraph.semanticdb_kotlinc.ValueSignature} - */ - public static final class ValueSignature extends - com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:com.sourcegraph.semanticdb_kotlinc.ValueSignature) - ValueSignatureOrBuilder { - private static final long serialVersionUID = 0L; - // Use ValueSignature.newBuilder() to construct. - private ValueSignature(com.google.protobuf.GeneratedMessageV3.Builder builder) { - super(builder); - } - private ValueSignature() { - } - - @java.lang.Override - @SuppressWarnings({"unused"}) - protected java.lang.Object newInstance( - UnusedPrivateParameter unused) { - return new ValueSignature(); - } - - @java.lang.Override - public final com.google.protobuf.UnknownFieldSet - getUnknownFields() { - return this.unknownFields; - } - private ValueSignature( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - this(); - if (extensionRegistry == null) { - throw new java.lang.NullPointerException(); - } - com.google.protobuf.UnknownFieldSet.Builder unknownFields = - com.google.protobuf.UnknownFieldSet.newBuilder(); - try { - boolean done = false; - while (!done) { - int tag = input.readTag(); - switch (tag) { - case 0: - done = true; - break; - case 10: { - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.Builder subBuilder = null; - if (tpe_ != null) { - subBuilder = tpe_.toBuilder(); - } - tpe_ = input.readMessage(com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.parser(), extensionRegistry); - if (subBuilder != null) { - subBuilder.mergeFrom(tpe_); - tpe_ = subBuilder.buildPartial(); - } - - break; - } - default: { - if (!parseUnknownField( - input, unknownFields, extensionRegistry, tag)) { - done = true; - } - break; - } - } - } - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.setUnfinishedMessage(this); - } catch (java.io.IOException e) { - throw new com.google.protobuf.InvalidProtocolBufferException( - e).setUnfinishedMessage(this); - } finally { - this.unknownFields = unknownFields.build(); - makeExtensionsImmutable(); - } - } - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_ValueSignature_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internalGetFieldAccessorTable() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_ValueSignature_fieldAccessorTable - .ensureFieldAccessorsInitialized( - com.sourcegraph.semanticdb_kotlinc.Semanticdb.ValueSignature.class, com.sourcegraph.semanticdb_kotlinc.Semanticdb.ValueSignature.Builder.class); - } - - public static final int TPE_FIELD_NUMBER = 1; - private com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type tpe_; - /** - * .com.sourcegraph.semanticdb_kotlinc.Type tpe = 1; - * @return Whether the tpe field is set. - */ - @java.lang.Override - public boolean hasTpe() { - return tpe_ != null; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Type tpe = 1; - * @return The tpe. - */ - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type getTpe() { - return tpe_ == null ? com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.getDefaultInstance() : tpe_; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Type tpe = 1; - */ - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeOrBuilder getTpeOrBuilder() { - return getTpe(); - } - - private byte memoizedIsInitialized = -1; - @java.lang.Override - public final boolean isInitialized() { - byte isInitialized = memoizedIsInitialized; - if (isInitialized == 1) return true; - if (isInitialized == 0) return false; - - memoizedIsInitialized = 1; - return true; - } - - @java.lang.Override - public void writeTo(com.google.protobuf.CodedOutputStream output) - throws java.io.IOException { - if (tpe_ != null) { - output.writeMessage(1, getTpe()); - } - unknownFields.writeTo(output); - } - - @java.lang.Override - public int getSerializedSize() { - int size = memoizedSize; - if (size != -1) return size; - - size = 0; - if (tpe_ != null) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(1, getTpe()); - } - size += unknownFields.getSerializedSize(); - memoizedSize = size; - return size; - } - - @java.lang.Override - public boolean equals(final java.lang.Object obj) { - if (obj == this) { - return true; - } - if (!(obj instanceof com.sourcegraph.semanticdb_kotlinc.Semanticdb.ValueSignature)) { - return super.equals(obj); - } - com.sourcegraph.semanticdb_kotlinc.Semanticdb.ValueSignature other = (com.sourcegraph.semanticdb_kotlinc.Semanticdb.ValueSignature) obj; - - if (hasTpe() != other.hasTpe()) return false; - if (hasTpe()) { - if (!getTpe() - .equals(other.getTpe())) return false; - } - if (!unknownFields.equals(other.unknownFields)) return false; - return true; - } - - @java.lang.Override - public int hashCode() { - if (memoizedHashCode != 0) { - return memoizedHashCode; - } - int hash = 41; - hash = (19 * hash) + getDescriptor().hashCode(); - if (hasTpe()) { - hash = (37 * hash) + TPE_FIELD_NUMBER; - hash = (53 * hash) + getTpe().hashCode(); - } - hash = (29 * hash) + unknownFields.hashCode(); - memoizedHashCode = hash; - return hash; - } - - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.ValueSignature parseFrom( - java.nio.ByteBuffer data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.ValueSignature parseFrom( - java.nio.ByteBuffer data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.ValueSignature parseFrom( - com.google.protobuf.ByteString data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.ValueSignature parseFrom( - com.google.protobuf.ByteString data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.ValueSignature parseFrom(byte[] data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.ValueSignature parseFrom( - byte[] data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.ValueSignature parseFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.ValueSignature parseFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.ValueSignature parseDelimitedFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseDelimitedWithIOException(PARSER, input); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.ValueSignature parseDelimitedFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseDelimitedWithIOException(PARSER, input, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.ValueSignature parseFrom( - com.google.protobuf.CodedInputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.ValueSignature parseFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input, extensionRegistry); - } - - @java.lang.Override - public Builder newBuilderForType() { return newBuilder(); } - public static Builder newBuilder() { - return DEFAULT_INSTANCE.toBuilder(); - } - public static Builder newBuilder(com.sourcegraph.semanticdb_kotlinc.Semanticdb.ValueSignature prototype) { - return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); - } - @java.lang.Override - public Builder toBuilder() { - return this == DEFAULT_INSTANCE - ? new Builder() : new Builder().mergeFrom(this); - } - - @java.lang.Override - protected Builder newBuilderForType( - com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { - Builder builder = new Builder(parent); - return builder; - } - /** - * Protobuf type {@code com.sourcegraph.semanticdb_kotlinc.ValueSignature} - */ - public static final class Builder extends - com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:com.sourcegraph.semanticdb_kotlinc.ValueSignature) - com.sourcegraph.semanticdb_kotlinc.Semanticdb.ValueSignatureOrBuilder { - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_ValueSignature_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internalGetFieldAccessorTable() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_ValueSignature_fieldAccessorTable - .ensureFieldAccessorsInitialized( - com.sourcegraph.semanticdb_kotlinc.Semanticdb.ValueSignature.class, com.sourcegraph.semanticdb_kotlinc.Semanticdb.ValueSignature.Builder.class); - } - - // Construct using com.sourcegraph.semanticdb_kotlinc.Semanticdb.ValueSignature.newBuilder() - private Builder() { - maybeForceBuilderInitialization(); - } - - private Builder( - com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { - super(parent); - maybeForceBuilderInitialization(); - } - private void maybeForceBuilderInitialization() { - if (com.google.protobuf.GeneratedMessageV3 - .alwaysUseFieldBuilders) { - } - } - @java.lang.Override - public Builder clear() { - super.clear(); - if (tpeBuilder_ == null) { - tpe_ = null; - } else { - tpe_ = null; - tpeBuilder_ = null; - } - return this; - } - - @java.lang.Override - public com.google.protobuf.Descriptors.Descriptor - getDescriptorForType() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_ValueSignature_descriptor; - } - - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.ValueSignature getDefaultInstanceForType() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.ValueSignature.getDefaultInstance(); - } - - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.ValueSignature build() { - com.sourcegraph.semanticdb_kotlinc.Semanticdb.ValueSignature result = buildPartial(); - if (!result.isInitialized()) { - throw newUninitializedMessageException(result); - } - return result; - } - - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.ValueSignature buildPartial() { - com.sourcegraph.semanticdb_kotlinc.Semanticdb.ValueSignature result = new com.sourcegraph.semanticdb_kotlinc.Semanticdb.ValueSignature(this); - if (tpeBuilder_ == null) { - result.tpe_ = tpe_; - } else { - result.tpe_ = tpeBuilder_.build(); - } - onBuilt(); - return result; - } - - @java.lang.Override - public Builder clone() { - return super.clone(); - } - @java.lang.Override - public Builder setField( - com.google.protobuf.Descriptors.FieldDescriptor field, - java.lang.Object value) { - return super.setField(field, value); - } - @java.lang.Override - public Builder clearField( - com.google.protobuf.Descriptors.FieldDescriptor field) { - return super.clearField(field); - } - @java.lang.Override - public Builder clearOneof( - com.google.protobuf.Descriptors.OneofDescriptor oneof) { - return super.clearOneof(oneof); - } - @java.lang.Override - public Builder setRepeatedField( - com.google.protobuf.Descriptors.FieldDescriptor field, - int index, java.lang.Object value) { - return super.setRepeatedField(field, index, value); - } - @java.lang.Override - public Builder addRepeatedField( - com.google.protobuf.Descriptors.FieldDescriptor field, - java.lang.Object value) { - return super.addRepeatedField(field, value); - } - @java.lang.Override - public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof com.sourcegraph.semanticdb_kotlinc.Semanticdb.ValueSignature) { - return mergeFrom((com.sourcegraph.semanticdb_kotlinc.Semanticdb.ValueSignature)other); - } else { - super.mergeFrom(other); - return this; - } - } - - public Builder mergeFrom(com.sourcegraph.semanticdb_kotlinc.Semanticdb.ValueSignature other) { - if (other == com.sourcegraph.semanticdb_kotlinc.Semanticdb.ValueSignature.getDefaultInstance()) return this; - if (other.hasTpe()) { - mergeTpe(other.getTpe()); - } - this.mergeUnknownFields(other.unknownFields); - onChanged(); - return this; - } - - @java.lang.Override - public final boolean isInitialized() { - return true; - } - - @java.lang.Override - public Builder mergeFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - com.sourcegraph.semanticdb_kotlinc.Semanticdb.ValueSignature parsedMessage = null; - try { - parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (com.sourcegraph.semanticdb_kotlinc.Semanticdb.ValueSignature) e.getUnfinishedMessage(); - throw e.unwrapIOException(); - } finally { - if (parsedMessage != null) { - mergeFrom(parsedMessage); - } - } - return this; - } - - private com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type tpe_; - private com.google.protobuf.SingleFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeOrBuilder> tpeBuilder_; - /** - * .com.sourcegraph.semanticdb_kotlinc.Type tpe = 1; - * @return Whether the tpe field is set. - */ - public boolean hasTpe() { - return tpeBuilder_ != null || tpe_ != null; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Type tpe = 1; - * @return The tpe. - */ - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type getTpe() { - if (tpeBuilder_ == null) { - return tpe_ == null ? com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.getDefaultInstance() : tpe_; - } else { - return tpeBuilder_.getMessage(); - } - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Type tpe = 1; - */ - public Builder setTpe(com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type value) { - if (tpeBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - tpe_ = value; - onChanged(); - } else { - tpeBuilder_.setMessage(value); - } - - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Type tpe = 1; - */ - public Builder setTpe( - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.Builder builderForValue) { - if (tpeBuilder_ == null) { - tpe_ = builderForValue.build(); - onChanged(); - } else { - tpeBuilder_.setMessage(builderForValue.build()); - } - - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Type tpe = 1; - */ - public Builder mergeTpe(com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type value) { - if (tpeBuilder_ == null) { - if (tpe_ != null) { - tpe_ = - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.newBuilder(tpe_).mergeFrom(value).buildPartial(); - } else { - tpe_ = value; - } - onChanged(); - } else { - tpeBuilder_.mergeFrom(value); - } - - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Type tpe = 1; - */ - public Builder clearTpe() { - if (tpeBuilder_ == null) { - tpe_ = null; - onChanged(); - } else { - tpe_ = null; - tpeBuilder_ = null; - } - - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Type tpe = 1; - */ - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.Builder getTpeBuilder() { - - onChanged(); - return getTpeFieldBuilder().getBuilder(); - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Type tpe = 1; - */ - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeOrBuilder getTpeOrBuilder() { - if (tpeBuilder_ != null) { - return tpeBuilder_.getMessageOrBuilder(); - } else { - return tpe_ == null ? - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.getDefaultInstance() : tpe_; - } - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Type tpe = 1; - */ - private com.google.protobuf.SingleFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeOrBuilder> - getTpeFieldBuilder() { - if (tpeBuilder_ == null) { - tpeBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeOrBuilder>( - getTpe(), - getParentForChildren(), - isClean()); - tpe_ = null; - } - return tpeBuilder_; - } - @java.lang.Override - public final Builder setUnknownFields( - final com.google.protobuf.UnknownFieldSet unknownFields) { - return super.setUnknownFields(unknownFields); - } - - @java.lang.Override - public final Builder mergeUnknownFields( - final com.google.protobuf.UnknownFieldSet unknownFields) { - return super.mergeUnknownFields(unknownFields); - } - - - // @@protoc_insertion_point(builder_scope:com.sourcegraph.semanticdb_kotlinc.ValueSignature) - } - - // @@protoc_insertion_point(class_scope:com.sourcegraph.semanticdb_kotlinc.ValueSignature) - private static final com.sourcegraph.semanticdb_kotlinc.Semanticdb.ValueSignature DEFAULT_INSTANCE; - static { - DEFAULT_INSTANCE = new com.sourcegraph.semanticdb_kotlinc.Semanticdb.ValueSignature(); - } - - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.ValueSignature getDefaultInstance() { - return DEFAULT_INSTANCE; - } - - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { - @java.lang.Override - public ValueSignature parsePartialFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return new ValueSignature(input, extensionRegistry); - } - }; - - public static com.google.protobuf.Parser parser() { - return PARSER; - } - - @java.lang.Override - public com.google.protobuf.Parser getParserForType() { - return PARSER; - } - - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.ValueSignature getDefaultInstanceForType() { - return DEFAULT_INSTANCE; - } - - } - - public interface SymbolInformationOrBuilder extends - // @@protoc_insertion_point(interface_extends:com.sourcegraph.semanticdb_kotlinc.SymbolInformation) - com.google.protobuf.MessageOrBuilder { - - /** - * string symbol = 1; - * @return The symbol. - */ - java.lang.String getSymbol(); - /** - * string symbol = 1; - * @return The bytes for symbol. - */ - com.google.protobuf.ByteString - getSymbolBytes(); - - /** - * .com.sourcegraph.semanticdb_kotlinc.Language language = 16; - * @return The enum numeric value on the wire for language. - */ - int getLanguageValue(); - /** - * .com.sourcegraph.semanticdb_kotlinc.Language language = 16; - * @return The language. - */ - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Language getLanguage(); - - /** - * .com.sourcegraph.semanticdb_kotlinc.SymbolInformation.Kind kind = 3; - * @return The enum numeric value on the wire for kind. - */ - int getKindValue(); - /** - * .com.sourcegraph.semanticdb_kotlinc.SymbolInformation.Kind kind = 3; - * @return The kind. - */ - com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation.Kind getKind(); - - /** - * int32 properties = 4; - * @return The properties. - */ - int getProperties(); - - /** - * string display_name = 5; - * @return The displayName. - */ - java.lang.String getDisplayName(); - /** - * string display_name = 5; - * @return The bytes for displayName. - */ - com.google.protobuf.ByteString - getDisplayNameBytes(); - - /** - * .com.sourcegraph.semanticdb_kotlinc.Signature signature = 17; - * @return Whether the signature field is set. - */ - boolean hasSignature(); - /** - * .com.sourcegraph.semanticdb_kotlinc.Signature signature = 17; - * @return The signature. - */ - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Signature getSignature(); - /** - * .com.sourcegraph.semanticdb_kotlinc.Signature signature = 17; - */ - com.sourcegraph.semanticdb_kotlinc.Semanticdb.SignatureOrBuilder getSignatureOrBuilder(); - - /** - * .com.sourcegraph.semanticdb_kotlinc.Access access = 18; - * @return Whether the access field is set. - */ - boolean hasAccess(); - /** - * .com.sourcegraph.semanticdb_kotlinc.Access access = 18; - * @return The access. - */ - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Access getAccess(); - /** - * .com.sourcegraph.semanticdb_kotlinc.Access access = 18; - */ - com.sourcegraph.semanticdb_kotlinc.Semanticdb.AccessOrBuilder getAccessOrBuilder(); - - /** - * repeated string overridden_symbols = 19; - * @return A list containing the overriddenSymbols. - */ - java.util.List - getOverriddenSymbolsList(); - /** - * repeated string overridden_symbols = 19; - * @return The count of overriddenSymbols. - */ - int getOverriddenSymbolsCount(); - /** - * repeated string overridden_symbols = 19; - * @param index The index of the element to return. - * @return The overriddenSymbols at the given index. - */ - java.lang.String getOverriddenSymbols(int index); - /** - * repeated string overridden_symbols = 19; - * @param index The index of the value to return. - * @return The bytes of the overriddenSymbols at the given index. - */ - com.google.protobuf.ByteString - getOverriddenSymbolsBytes(int index); - - /** - * .com.sourcegraph.semanticdb_kotlinc.Documentation documentation = 20; - * @return Whether the documentation field is set. - */ - boolean hasDocumentation(); - /** - * .com.sourcegraph.semanticdb_kotlinc.Documentation documentation = 20; - * @return The documentation. - */ - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Documentation getDocumentation(); - /** - * .com.sourcegraph.semanticdb_kotlinc.Documentation documentation = 20; - */ - com.sourcegraph.semanticdb_kotlinc.Semanticdb.DocumentationOrBuilder getDocumentationOrBuilder(); - } - /** - * Protobuf type {@code com.sourcegraph.semanticdb_kotlinc.SymbolInformation} - */ - public static final class SymbolInformation extends - com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:com.sourcegraph.semanticdb_kotlinc.SymbolInformation) - SymbolInformationOrBuilder { - private static final long serialVersionUID = 0L; - // Use SymbolInformation.newBuilder() to construct. - private SymbolInformation(com.google.protobuf.GeneratedMessageV3.Builder builder) { - super(builder); - } - private SymbolInformation() { - symbol_ = ""; - language_ = 0; - kind_ = 0; - displayName_ = ""; - overriddenSymbols_ = com.google.protobuf.LazyStringArrayList.EMPTY; - } - - @java.lang.Override - @SuppressWarnings({"unused"}) - protected java.lang.Object newInstance( - UnusedPrivateParameter unused) { - return new SymbolInformation(); - } - - @java.lang.Override - public final com.google.protobuf.UnknownFieldSet - getUnknownFields() { - return this.unknownFields; - } - private SymbolInformation( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - this(); - if (extensionRegistry == null) { - throw new java.lang.NullPointerException(); - } - int mutable_bitField0_ = 0; - com.google.protobuf.UnknownFieldSet.Builder unknownFields = - com.google.protobuf.UnknownFieldSet.newBuilder(); - try { - boolean done = false; - while (!done) { - int tag = input.readTag(); - switch (tag) { - case 0: - done = true; - break; - case 10: { - java.lang.String s = input.readStringRequireUtf8(); - - symbol_ = s; - break; - } - case 24: { - int rawValue = input.readEnum(); - - kind_ = rawValue; - break; - } - case 32: { - - properties_ = input.readInt32(); - break; - } - case 42: { - java.lang.String s = input.readStringRequireUtf8(); - - displayName_ = s; - break; - } - case 128: { - int rawValue = input.readEnum(); - - language_ = rawValue; - break; - } - case 138: { - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Signature.Builder subBuilder = null; - if (signature_ != null) { - subBuilder = signature_.toBuilder(); - } - signature_ = input.readMessage(com.sourcegraph.semanticdb_kotlinc.Semanticdb.Signature.parser(), extensionRegistry); - if (subBuilder != null) { - subBuilder.mergeFrom(signature_); - signature_ = subBuilder.buildPartial(); - } - - break; - } - case 146: { - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Access.Builder subBuilder = null; - if (access_ != null) { - subBuilder = access_.toBuilder(); - } - access_ = input.readMessage(com.sourcegraph.semanticdb_kotlinc.Semanticdb.Access.parser(), extensionRegistry); - if (subBuilder != null) { - subBuilder.mergeFrom(access_); - access_ = subBuilder.buildPartial(); - } - - break; - } - case 154: { - java.lang.String s = input.readStringRequireUtf8(); - if (!((mutable_bitField0_ & 0x00000001) != 0)) { - overriddenSymbols_ = new com.google.protobuf.LazyStringArrayList(); - mutable_bitField0_ |= 0x00000001; - } - overriddenSymbols_.add(s); - break; - } - case 162: { - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Documentation.Builder subBuilder = null; - if (documentation_ != null) { - subBuilder = documentation_.toBuilder(); - } - documentation_ = input.readMessage(com.sourcegraph.semanticdb_kotlinc.Semanticdb.Documentation.parser(), extensionRegistry); - if (subBuilder != null) { - subBuilder.mergeFrom(documentation_); - documentation_ = subBuilder.buildPartial(); - } - - break; - } - default: { - if (!parseUnknownField( - input, unknownFields, extensionRegistry, tag)) { - done = true; - } - break; - } - } - } - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.setUnfinishedMessage(this); - } catch (java.io.IOException e) { - throw new com.google.protobuf.InvalidProtocolBufferException( - e).setUnfinishedMessage(this); - } finally { - if (((mutable_bitField0_ & 0x00000001) != 0)) { - overriddenSymbols_ = overriddenSymbols_.getUnmodifiableView(); - } - this.unknownFields = unknownFields.build(); - makeExtensionsImmutable(); - } - } - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_SymbolInformation_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internalGetFieldAccessorTable() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_SymbolInformation_fieldAccessorTable - .ensureFieldAccessorsInitialized( - com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation.class, com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation.Builder.class); - } - - /** - * Protobuf enum {@code com.sourcegraph.semanticdb_kotlinc.SymbolInformation.Kind} - */ - public enum Kind - implements com.google.protobuf.ProtocolMessageEnum { - /** - * UNKNOWN_KIND = 0; - */ - UNKNOWN_KIND(0), - /** - * LOCAL = 19; - */ - LOCAL(19), - /** - * FIELD = 20; - */ - FIELD(20), - /** - * METHOD = 3; - */ - METHOD(3), - /** - * CONSTRUCTOR = 21; - */ - CONSTRUCTOR(21), - /** - * TYPE = 7; - */ - TYPE(7), - /** - * PARAMETER = 8; - */ - PARAMETER(8), - /** - * TYPE_PARAMETER = 9; - */ - TYPE_PARAMETER(9), - /** - * PACKAGE = 11; - */ - PACKAGE(11), - /** - * CLASS = 13; - */ - CLASS(13), - /** - * INTERFACE = 18; - */ - INTERFACE(18), - UNRECOGNIZED(-1), - ; - - /** - * UNKNOWN_KIND = 0; - */ - public static final int UNKNOWN_KIND_VALUE = 0; - /** - * LOCAL = 19; - */ - public static final int LOCAL_VALUE = 19; - /** - * FIELD = 20; - */ - public static final int FIELD_VALUE = 20; - /** - * METHOD = 3; - */ - public static final int METHOD_VALUE = 3; - /** - * CONSTRUCTOR = 21; - */ - public static final int CONSTRUCTOR_VALUE = 21; - /** - * TYPE = 7; - */ - public static final int TYPE_VALUE = 7; - /** - * PARAMETER = 8; - */ - public static final int PARAMETER_VALUE = 8; - /** - * TYPE_PARAMETER = 9; - */ - public static final int TYPE_PARAMETER_VALUE = 9; - /** - * PACKAGE = 11; - */ - public static final int PACKAGE_VALUE = 11; - /** - * CLASS = 13; - */ - public static final int CLASS_VALUE = 13; - /** - * INTERFACE = 18; - */ - public static final int INTERFACE_VALUE = 18; - - - public final int getNumber() { - if (this == UNRECOGNIZED) { - throw new java.lang.IllegalArgumentException( - "Can't get the number of an unknown enum value."); - } - return value; - } - - /** - * @param value The numeric wire value of the corresponding enum entry. - * @return The enum associated with the given numeric wire value. - * @deprecated Use {@link #forNumber(int)} instead. - */ - @java.lang.Deprecated - public static Kind valueOf(int value) { - return forNumber(value); - } - - /** - * @param value The numeric wire value of the corresponding enum entry. - * @return The enum associated with the given numeric wire value. - */ - public static Kind forNumber(int value) { - switch (value) { - case 0: return UNKNOWN_KIND; - case 19: return LOCAL; - case 20: return FIELD; - case 3: return METHOD; - case 21: return CONSTRUCTOR; - case 7: return TYPE; - case 8: return PARAMETER; - case 9: return TYPE_PARAMETER; - case 11: return PACKAGE; - case 13: return CLASS; - case 18: return INTERFACE; - default: return null; - } - } - - public static com.google.protobuf.Internal.EnumLiteMap - internalGetValueMap() { - return internalValueMap; - } - private static final com.google.protobuf.Internal.EnumLiteMap< - Kind> internalValueMap = - new com.google.protobuf.Internal.EnumLiteMap() { - public Kind findValueByNumber(int number) { - return Kind.forNumber(number); - } - }; - - public final com.google.protobuf.Descriptors.EnumValueDescriptor - getValueDescriptor() { - if (this == UNRECOGNIZED) { - throw new java.lang.IllegalStateException( - "Can't get the descriptor of an unrecognized enum value."); - } - return getDescriptor().getValues().get(ordinal()); - } - public final com.google.protobuf.Descriptors.EnumDescriptor - getDescriptorForType() { - return getDescriptor(); - } - public static final com.google.protobuf.Descriptors.EnumDescriptor - getDescriptor() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation.getDescriptor().getEnumTypes().get(0); - } - - private static final Kind[] VALUES = values(); - - public static Kind valueOf( - com.google.protobuf.Descriptors.EnumValueDescriptor desc) { - if (desc.getType() != getDescriptor()) { - throw new java.lang.IllegalArgumentException( - "EnumValueDescriptor is not for this type."); - } - if (desc.getIndex() == -1) { - return UNRECOGNIZED; - } - return VALUES[desc.getIndex()]; - } - - private final int value; - - private Kind(int value) { - this.value = value; - } - - // @@protoc_insertion_point(enum_scope:com.sourcegraph.semanticdb_kotlinc.SymbolInformation.Kind) - } - - /** - * Protobuf enum {@code com.sourcegraph.semanticdb_kotlinc.SymbolInformation.Property} - */ - public enum Property - implements com.google.protobuf.ProtocolMessageEnum { - /** - * UNKNOWN_PROPERTY = 0; - */ - UNKNOWN_PROPERTY(0), - /** - * ABSTRACT = 4; - */ - ABSTRACT(4), - /** - * FINAL = 8; - */ - FINAL(8), - /** - * SEALED = 16; - */ - SEALED(16), - /** - * STATIC = 4096; - */ - STATIC(4096), - /** - * ENUM = 16384; - */ - ENUM(16384), - UNRECOGNIZED(-1), - ; - - /** - * UNKNOWN_PROPERTY = 0; - */ - public static final int UNKNOWN_PROPERTY_VALUE = 0; - /** - * ABSTRACT = 4; - */ - public static final int ABSTRACT_VALUE = 4; - /** - * FINAL = 8; - */ - public static final int FINAL_VALUE = 8; - /** - * SEALED = 16; - */ - public static final int SEALED_VALUE = 16; - /** - * STATIC = 4096; - */ - public static final int STATIC_VALUE = 4096; - /** - * ENUM = 16384; - */ - public static final int ENUM_VALUE = 16384; - - - public final int getNumber() { - if (this == UNRECOGNIZED) { - throw new java.lang.IllegalArgumentException( - "Can't get the number of an unknown enum value."); - } - return value; - } - - /** - * @param value The numeric wire value of the corresponding enum entry. - * @return The enum associated with the given numeric wire value. - * @deprecated Use {@link #forNumber(int)} instead. - */ - @java.lang.Deprecated - public static Property valueOf(int value) { - return forNumber(value); - } - - /** - * @param value The numeric wire value of the corresponding enum entry. - * @return The enum associated with the given numeric wire value. - */ - public static Property forNumber(int value) { - switch (value) { - case 0: return UNKNOWN_PROPERTY; - case 4: return ABSTRACT; - case 8: return FINAL; - case 16: return SEALED; - case 4096: return STATIC; - case 16384: return ENUM; - default: return null; - } - } - - public static com.google.protobuf.Internal.EnumLiteMap - internalGetValueMap() { - return internalValueMap; - } - private static final com.google.protobuf.Internal.EnumLiteMap< - Property> internalValueMap = - new com.google.protobuf.Internal.EnumLiteMap() { - public Property findValueByNumber(int number) { - return Property.forNumber(number); - } - }; - - public final com.google.protobuf.Descriptors.EnumValueDescriptor - getValueDescriptor() { - if (this == UNRECOGNIZED) { - throw new java.lang.IllegalStateException( - "Can't get the descriptor of an unrecognized enum value."); - } - return getDescriptor().getValues().get(ordinal()); - } - public final com.google.protobuf.Descriptors.EnumDescriptor - getDescriptorForType() { - return getDescriptor(); - } - public static final com.google.protobuf.Descriptors.EnumDescriptor - getDescriptor() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation.getDescriptor().getEnumTypes().get(1); - } - - private static final Property[] VALUES = values(); - - public static Property valueOf( - com.google.protobuf.Descriptors.EnumValueDescriptor desc) { - if (desc.getType() != getDescriptor()) { - throw new java.lang.IllegalArgumentException( - "EnumValueDescriptor is not for this type."); - } - if (desc.getIndex() == -1) { - return UNRECOGNIZED; - } - return VALUES[desc.getIndex()]; - } - - private final int value; - - private Property(int value) { - this.value = value; - } - - // @@protoc_insertion_point(enum_scope:com.sourcegraph.semanticdb_kotlinc.SymbolInformation.Property) - } - - public static final int SYMBOL_FIELD_NUMBER = 1; - private volatile java.lang.Object symbol_; - /** - * string symbol = 1; - * @return The symbol. - */ - @java.lang.Override - public java.lang.String getSymbol() { - java.lang.Object ref = symbol_; - if (ref instanceof java.lang.String) { - return (java.lang.String) ref; - } else { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - symbol_ = s; - return s; - } - } - /** - * string symbol = 1; - * @return The bytes for symbol. - */ - @java.lang.Override - public com.google.protobuf.ByteString - getSymbolBytes() { - java.lang.Object ref = symbol_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - symbol_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - - public static final int LANGUAGE_FIELD_NUMBER = 16; - private int language_; - /** - * .com.sourcegraph.semanticdb_kotlinc.Language language = 16; - * @return The enum numeric value on the wire for language. - */ - @java.lang.Override public int getLanguageValue() { - return language_; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Language language = 16; - * @return The language. - */ - @java.lang.Override public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Language getLanguage() { - @SuppressWarnings("deprecation") - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Language result = com.sourcegraph.semanticdb_kotlinc.Semanticdb.Language.valueOf(language_); - return result == null ? com.sourcegraph.semanticdb_kotlinc.Semanticdb.Language.UNRECOGNIZED : result; - } - - public static final int KIND_FIELD_NUMBER = 3; - private int kind_; - /** - * .com.sourcegraph.semanticdb_kotlinc.SymbolInformation.Kind kind = 3; - * @return The enum numeric value on the wire for kind. - */ - @java.lang.Override public int getKindValue() { - return kind_; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.SymbolInformation.Kind kind = 3; - * @return The kind. - */ - @java.lang.Override public com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation.Kind getKind() { - @SuppressWarnings("deprecation") - com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation.Kind result = com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation.Kind.valueOf(kind_); - return result == null ? com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation.Kind.UNRECOGNIZED : result; - } - - public static final int PROPERTIES_FIELD_NUMBER = 4; - private int properties_; - /** - * int32 properties = 4; - * @return The properties. - */ - @java.lang.Override - public int getProperties() { - return properties_; - } - - public static final int DISPLAY_NAME_FIELD_NUMBER = 5; - private volatile java.lang.Object displayName_; - /** - * string display_name = 5; - * @return The displayName. - */ - @java.lang.Override - public java.lang.String getDisplayName() { - java.lang.Object ref = displayName_; - if (ref instanceof java.lang.String) { - return (java.lang.String) ref; - } else { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - displayName_ = s; - return s; - } - } - /** - * string display_name = 5; - * @return The bytes for displayName. - */ - @java.lang.Override - public com.google.protobuf.ByteString - getDisplayNameBytes() { - java.lang.Object ref = displayName_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - displayName_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - - public static final int SIGNATURE_FIELD_NUMBER = 17; - private com.sourcegraph.semanticdb_kotlinc.Semanticdb.Signature signature_; - /** - * .com.sourcegraph.semanticdb_kotlinc.Signature signature = 17; - * @return Whether the signature field is set. - */ - @java.lang.Override - public boolean hasSignature() { - return signature_ != null; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Signature signature = 17; - * @return The signature. - */ - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Signature getSignature() { - return signature_ == null ? com.sourcegraph.semanticdb_kotlinc.Semanticdb.Signature.getDefaultInstance() : signature_; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Signature signature = 17; - */ - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.SignatureOrBuilder getSignatureOrBuilder() { - return getSignature(); - } - - public static final int ACCESS_FIELD_NUMBER = 18; - private com.sourcegraph.semanticdb_kotlinc.Semanticdb.Access access_; - /** - * .com.sourcegraph.semanticdb_kotlinc.Access access = 18; - * @return Whether the access field is set. - */ - @java.lang.Override - public boolean hasAccess() { - return access_ != null; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Access access = 18; - * @return The access. - */ - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Access getAccess() { - return access_ == null ? com.sourcegraph.semanticdb_kotlinc.Semanticdb.Access.getDefaultInstance() : access_; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Access access = 18; - */ - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.AccessOrBuilder getAccessOrBuilder() { - return getAccess(); - } - - public static final int OVERRIDDEN_SYMBOLS_FIELD_NUMBER = 19; - private com.google.protobuf.LazyStringList overriddenSymbols_; - /** - * repeated string overridden_symbols = 19; - * @return A list containing the overriddenSymbols. - */ - public com.google.protobuf.ProtocolStringList - getOverriddenSymbolsList() { - return overriddenSymbols_; - } - /** - * repeated string overridden_symbols = 19; - * @return The count of overriddenSymbols. - */ - public int getOverriddenSymbolsCount() { - return overriddenSymbols_.size(); - } - /** - * repeated string overridden_symbols = 19; - * @param index The index of the element to return. - * @return The overriddenSymbols at the given index. - */ - public java.lang.String getOverriddenSymbols(int index) { - return overriddenSymbols_.get(index); - } - /** - * repeated string overridden_symbols = 19; - * @param index The index of the value to return. - * @return The bytes of the overriddenSymbols at the given index. - */ - public com.google.protobuf.ByteString - getOverriddenSymbolsBytes(int index) { - return overriddenSymbols_.getByteString(index); - } - - public static final int DOCUMENTATION_FIELD_NUMBER = 20; - private com.sourcegraph.semanticdb_kotlinc.Semanticdb.Documentation documentation_; - /** - * .com.sourcegraph.semanticdb_kotlinc.Documentation documentation = 20; - * @return Whether the documentation field is set. - */ - @java.lang.Override - public boolean hasDocumentation() { - return documentation_ != null; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Documentation documentation = 20; - * @return The documentation. - */ - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Documentation getDocumentation() { - return documentation_ == null ? com.sourcegraph.semanticdb_kotlinc.Semanticdb.Documentation.getDefaultInstance() : documentation_; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Documentation documentation = 20; - */ - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.DocumentationOrBuilder getDocumentationOrBuilder() { - return getDocumentation(); - } - - private byte memoizedIsInitialized = -1; - @java.lang.Override - public final boolean isInitialized() { - byte isInitialized = memoizedIsInitialized; - if (isInitialized == 1) return true; - if (isInitialized == 0) return false; - - memoizedIsInitialized = 1; - return true; - } - - @java.lang.Override - public void writeTo(com.google.protobuf.CodedOutputStream output) - throws java.io.IOException { - if (!getSymbolBytes().isEmpty()) { - com.google.protobuf.GeneratedMessageV3.writeString(output, 1, symbol_); - } - if (kind_ != com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation.Kind.UNKNOWN_KIND.getNumber()) { - output.writeEnum(3, kind_); - } - if (properties_ != 0) { - output.writeInt32(4, properties_); - } - if (!getDisplayNameBytes().isEmpty()) { - com.google.protobuf.GeneratedMessageV3.writeString(output, 5, displayName_); - } - if (language_ != com.sourcegraph.semanticdb_kotlinc.Semanticdb.Language.UNKNOWN_LANGUAGE.getNumber()) { - output.writeEnum(16, language_); - } - if (signature_ != null) { - output.writeMessage(17, getSignature()); - } - if (access_ != null) { - output.writeMessage(18, getAccess()); - } - for (int i = 0; i < overriddenSymbols_.size(); i++) { - com.google.protobuf.GeneratedMessageV3.writeString(output, 19, overriddenSymbols_.getRaw(i)); - } - if (documentation_ != null) { - output.writeMessage(20, getDocumentation()); - } - unknownFields.writeTo(output); - } - - @java.lang.Override - public int getSerializedSize() { - int size = memoizedSize; - if (size != -1) return size; - - size = 0; - if (!getSymbolBytes().isEmpty()) { - size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, symbol_); - } - if (kind_ != com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation.Kind.UNKNOWN_KIND.getNumber()) { - size += com.google.protobuf.CodedOutputStream - .computeEnumSize(3, kind_); - } - if (properties_ != 0) { - size += com.google.protobuf.CodedOutputStream - .computeInt32Size(4, properties_); - } - if (!getDisplayNameBytes().isEmpty()) { - size += com.google.protobuf.GeneratedMessageV3.computeStringSize(5, displayName_); - } - if (language_ != com.sourcegraph.semanticdb_kotlinc.Semanticdb.Language.UNKNOWN_LANGUAGE.getNumber()) { - size += com.google.protobuf.CodedOutputStream - .computeEnumSize(16, language_); - } - if (signature_ != null) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(17, getSignature()); - } - if (access_ != null) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(18, getAccess()); - } - { - int dataSize = 0; - for (int i = 0; i < overriddenSymbols_.size(); i++) { - dataSize += computeStringSizeNoTag(overriddenSymbols_.getRaw(i)); - } - size += dataSize; - size += 2 * getOverriddenSymbolsList().size(); - } - if (documentation_ != null) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(20, getDocumentation()); - } - size += unknownFields.getSerializedSize(); - memoizedSize = size; - return size; - } - - @java.lang.Override - public boolean equals(final java.lang.Object obj) { - if (obj == this) { - return true; - } - if (!(obj instanceof com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation)) { - return super.equals(obj); - } - com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation other = (com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation) obj; - - if (!getSymbol() - .equals(other.getSymbol())) return false; - if (language_ != other.language_) return false; - if (kind_ != other.kind_) return false; - if (getProperties() - != other.getProperties()) return false; - if (!getDisplayName() - .equals(other.getDisplayName())) return false; - if (hasSignature() != other.hasSignature()) return false; - if (hasSignature()) { - if (!getSignature() - .equals(other.getSignature())) return false; - } - if (hasAccess() != other.hasAccess()) return false; - if (hasAccess()) { - if (!getAccess() - .equals(other.getAccess())) return false; - } - if (!getOverriddenSymbolsList() - .equals(other.getOverriddenSymbolsList())) return false; - if (hasDocumentation() != other.hasDocumentation()) return false; - if (hasDocumentation()) { - if (!getDocumentation() - .equals(other.getDocumentation())) return false; - } - if (!unknownFields.equals(other.unknownFields)) return false; - return true; - } - - @java.lang.Override - public int hashCode() { - if (memoizedHashCode != 0) { - return memoizedHashCode; - } - int hash = 41; - hash = (19 * hash) + getDescriptor().hashCode(); - hash = (37 * hash) + SYMBOL_FIELD_NUMBER; - hash = (53 * hash) + getSymbol().hashCode(); - hash = (37 * hash) + LANGUAGE_FIELD_NUMBER; - hash = (53 * hash) + language_; - hash = (37 * hash) + KIND_FIELD_NUMBER; - hash = (53 * hash) + kind_; - hash = (37 * hash) + PROPERTIES_FIELD_NUMBER; - hash = (53 * hash) + getProperties(); - hash = (37 * hash) + DISPLAY_NAME_FIELD_NUMBER; - hash = (53 * hash) + getDisplayName().hashCode(); - if (hasSignature()) { - hash = (37 * hash) + SIGNATURE_FIELD_NUMBER; - hash = (53 * hash) + getSignature().hashCode(); - } - if (hasAccess()) { - hash = (37 * hash) + ACCESS_FIELD_NUMBER; - hash = (53 * hash) + getAccess().hashCode(); - } - if (getOverriddenSymbolsCount() > 0) { - hash = (37 * hash) + OVERRIDDEN_SYMBOLS_FIELD_NUMBER; - hash = (53 * hash) + getOverriddenSymbolsList().hashCode(); - } - if (hasDocumentation()) { - hash = (37 * hash) + DOCUMENTATION_FIELD_NUMBER; - hash = (53 * hash) + getDocumentation().hashCode(); - } - hash = (29 * hash) + unknownFields.hashCode(); - memoizedHashCode = hash; - return hash; - } - - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation parseFrom( - java.nio.ByteBuffer data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation parseFrom( - java.nio.ByteBuffer data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation parseFrom( - com.google.protobuf.ByteString data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation parseFrom( - com.google.protobuf.ByteString data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation parseFrom(byte[] data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation parseFrom( - byte[] data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation parseFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation parseFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation parseDelimitedFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseDelimitedWithIOException(PARSER, input); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation parseDelimitedFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseDelimitedWithIOException(PARSER, input, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation parseFrom( - com.google.protobuf.CodedInputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation parseFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input, extensionRegistry); - } - - @java.lang.Override - public Builder newBuilderForType() { return newBuilder(); } - public static Builder newBuilder() { - return DEFAULT_INSTANCE.toBuilder(); - } - public static Builder newBuilder(com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation prototype) { - return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); - } - @java.lang.Override - public Builder toBuilder() { - return this == DEFAULT_INSTANCE - ? new Builder() : new Builder().mergeFrom(this); - } - - @java.lang.Override - protected Builder newBuilderForType( - com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { - Builder builder = new Builder(parent); - return builder; - } - /** - * Protobuf type {@code com.sourcegraph.semanticdb_kotlinc.SymbolInformation} - */ - public static final class Builder extends - com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:com.sourcegraph.semanticdb_kotlinc.SymbolInformation) - com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformationOrBuilder { - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_SymbolInformation_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internalGetFieldAccessorTable() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_SymbolInformation_fieldAccessorTable - .ensureFieldAccessorsInitialized( - com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation.class, com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation.Builder.class); - } - - // Construct using com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation.newBuilder() - private Builder() { - maybeForceBuilderInitialization(); - } - - private Builder( - com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { - super(parent); - maybeForceBuilderInitialization(); - } - private void maybeForceBuilderInitialization() { - if (com.google.protobuf.GeneratedMessageV3 - .alwaysUseFieldBuilders) { - } - } - @java.lang.Override - public Builder clear() { - super.clear(); - symbol_ = ""; - - language_ = 0; - - kind_ = 0; - - properties_ = 0; - - displayName_ = ""; - - if (signatureBuilder_ == null) { - signature_ = null; - } else { - signature_ = null; - signatureBuilder_ = null; - } - if (accessBuilder_ == null) { - access_ = null; - } else { - access_ = null; - accessBuilder_ = null; - } - overriddenSymbols_ = com.google.protobuf.LazyStringArrayList.EMPTY; - bitField0_ = (bitField0_ & ~0x00000001); - if (documentationBuilder_ == null) { - documentation_ = null; - } else { - documentation_ = null; - documentationBuilder_ = null; - } - return this; - } - - @java.lang.Override - public com.google.protobuf.Descriptors.Descriptor - getDescriptorForType() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_SymbolInformation_descriptor; - } - - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation getDefaultInstanceForType() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation.getDefaultInstance(); - } - - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation build() { - com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation result = buildPartial(); - if (!result.isInitialized()) { - throw newUninitializedMessageException(result); - } - return result; - } - - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation buildPartial() { - com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation result = new com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation(this); - int from_bitField0_ = bitField0_; - result.symbol_ = symbol_; - result.language_ = language_; - result.kind_ = kind_; - result.properties_ = properties_; - result.displayName_ = displayName_; - if (signatureBuilder_ == null) { - result.signature_ = signature_; - } else { - result.signature_ = signatureBuilder_.build(); - } - if (accessBuilder_ == null) { - result.access_ = access_; - } else { - result.access_ = accessBuilder_.build(); - } - if (((bitField0_ & 0x00000001) != 0)) { - overriddenSymbols_ = overriddenSymbols_.getUnmodifiableView(); - bitField0_ = (bitField0_ & ~0x00000001); - } - result.overriddenSymbols_ = overriddenSymbols_; - if (documentationBuilder_ == null) { - result.documentation_ = documentation_; - } else { - result.documentation_ = documentationBuilder_.build(); - } - onBuilt(); - return result; - } - - @java.lang.Override - public Builder clone() { - return super.clone(); - } - @java.lang.Override - public Builder setField( - com.google.protobuf.Descriptors.FieldDescriptor field, - java.lang.Object value) { - return super.setField(field, value); - } - @java.lang.Override - public Builder clearField( - com.google.protobuf.Descriptors.FieldDescriptor field) { - return super.clearField(field); - } - @java.lang.Override - public Builder clearOneof( - com.google.protobuf.Descriptors.OneofDescriptor oneof) { - return super.clearOneof(oneof); - } - @java.lang.Override - public Builder setRepeatedField( - com.google.protobuf.Descriptors.FieldDescriptor field, - int index, java.lang.Object value) { - return super.setRepeatedField(field, index, value); - } - @java.lang.Override - public Builder addRepeatedField( - com.google.protobuf.Descriptors.FieldDescriptor field, - java.lang.Object value) { - return super.addRepeatedField(field, value); - } - @java.lang.Override - public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation) { - return mergeFrom((com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation)other); - } else { - super.mergeFrom(other); - return this; - } - } - - public Builder mergeFrom(com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation other) { - if (other == com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation.getDefaultInstance()) return this; - if (!other.getSymbol().isEmpty()) { - symbol_ = other.symbol_; - onChanged(); - } - if (other.language_ != 0) { - setLanguageValue(other.getLanguageValue()); - } - if (other.kind_ != 0) { - setKindValue(other.getKindValue()); - } - if (other.getProperties() != 0) { - setProperties(other.getProperties()); - } - if (!other.getDisplayName().isEmpty()) { - displayName_ = other.displayName_; - onChanged(); - } - if (other.hasSignature()) { - mergeSignature(other.getSignature()); - } - if (other.hasAccess()) { - mergeAccess(other.getAccess()); - } - if (!other.overriddenSymbols_.isEmpty()) { - if (overriddenSymbols_.isEmpty()) { - overriddenSymbols_ = other.overriddenSymbols_; - bitField0_ = (bitField0_ & ~0x00000001); - } else { - ensureOverriddenSymbolsIsMutable(); - overriddenSymbols_.addAll(other.overriddenSymbols_); - } - onChanged(); - } - if (other.hasDocumentation()) { - mergeDocumentation(other.getDocumentation()); - } - this.mergeUnknownFields(other.unknownFields); - onChanged(); - return this; - } - - @java.lang.Override - public final boolean isInitialized() { - return true; - } - - @java.lang.Override - public Builder mergeFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation parsedMessage = null; - try { - parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation) e.getUnfinishedMessage(); - throw e.unwrapIOException(); - } finally { - if (parsedMessage != null) { - mergeFrom(parsedMessage); - } - } - return this; - } - private int bitField0_; - - private java.lang.Object symbol_ = ""; - /** - * string symbol = 1; - * @return The symbol. - */ - public java.lang.String getSymbol() { - java.lang.Object ref = symbol_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - symbol_ = s; - return s; - } else { - return (java.lang.String) ref; - } - } - /** - * string symbol = 1; - * @return The bytes for symbol. - */ - public com.google.protobuf.ByteString - getSymbolBytes() { - java.lang.Object ref = symbol_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - symbol_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - /** - * string symbol = 1; - * @param value The symbol to set. - * @return This builder for chaining. - */ - public Builder setSymbol( - java.lang.String value) { - if (value == null) { - throw new NullPointerException(); - } - - symbol_ = value; - onChanged(); - return this; - } - /** - * string symbol = 1; - * @return This builder for chaining. - */ - public Builder clearSymbol() { - - symbol_ = getDefaultInstance().getSymbol(); - onChanged(); - return this; - } - /** - * string symbol = 1; - * @param value The bytes for symbol to set. - * @return This builder for chaining. - */ - public Builder setSymbolBytes( - com.google.protobuf.ByteString value) { - if (value == null) { - throw new NullPointerException(); - } - checkByteStringIsUtf8(value); - - symbol_ = value; - onChanged(); - return this; - } - - private int language_ = 0; - /** - * .com.sourcegraph.semanticdb_kotlinc.Language language = 16; - * @return The enum numeric value on the wire for language. - */ - @java.lang.Override public int getLanguageValue() { - return language_; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Language language = 16; - * @param value The enum numeric value on the wire for language to set. - * @return This builder for chaining. - */ - public Builder setLanguageValue(int value) { - - language_ = value; - onChanged(); - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Language language = 16; - * @return The language. - */ - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Language getLanguage() { - @SuppressWarnings("deprecation") - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Language result = com.sourcegraph.semanticdb_kotlinc.Semanticdb.Language.valueOf(language_); - return result == null ? com.sourcegraph.semanticdb_kotlinc.Semanticdb.Language.UNRECOGNIZED : result; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Language language = 16; - * @param value The language to set. - * @return This builder for chaining. - */ - public Builder setLanguage(com.sourcegraph.semanticdb_kotlinc.Semanticdb.Language value) { - if (value == null) { - throw new NullPointerException(); - } - - language_ = value.getNumber(); - onChanged(); - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Language language = 16; - * @return This builder for chaining. - */ - public Builder clearLanguage() { - - language_ = 0; - onChanged(); - return this; - } - - private int kind_ = 0; - /** - * .com.sourcegraph.semanticdb_kotlinc.SymbolInformation.Kind kind = 3; - * @return The enum numeric value on the wire for kind. - */ - @java.lang.Override public int getKindValue() { - return kind_; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.SymbolInformation.Kind kind = 3; - * @param value The enum numeric value on the wire for kind to set. - * @return This builder for chaining. - */ - public Builder setKindValue(int value) { - - kind_ = value; - onChanged(); - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.SymbolInformation.Kind kind = 3; - * @return The kind. - */ - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation.Kind getKind() { - @SuppressWarnings("deprecation") - com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation.Kind result = com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation.Kind.valueOf(kind_); - return result == null ? com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation.Kind.UNRECOGNIZED : result; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.SymbolInformation.Kind kind = 3; - * @param value The kind to set. - * @return This builder for chaining. - */ - public Builder setKind(com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation.Kind value) { - if (value == null) { - throw new NullPointerException(); - } - - kind_ = value.getNumber(); - onChanged(); - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.SymbolInformation.Kind kind = 3; - * @return This builder for chaining. - */ - public Builder clearKind() { - - kind_ = 0; - onChanged(); - return this; - } - - private int properties_ ; - /** - * int32 properties = 4; - * @return The properties. - */ - @java.lang.Override - public int getProperties() { - return properties_; - } - /** - * int32 properties = 4; - * @param value The properties to set. - * @return This builder for chaining. - */ - public Builder setProperties(int value) { - - properties_ = value; - onChanged(); - return this; - } - /** - * int32 properties = 4; - * @return This builder for chaining. - */ - public Builder clearProperties() { - - properties_ = 0; - onChanged(); - return this; - } - - private java.lang.Object displayName_ = ""; - /** - * string display_name = 5; - * @return The displayName. - */ - public java.lang.String getDisplayName() { - java.lang.Object ref = displayName_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - displayName_ = s; - return s; - } else { - return (java.lang.String) ref; - } - } - /** - * string display_name = 5; - * @return The bytes for displayName. - */ - public com.google.protobuf.ByteString - getDisplayNameBytes() { - java.lang.Object ref = displayName_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - displayName_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - /** - * string display_name = 5; - * @param value The displayName to set. - * @return This builder for chaining. - */ - public Builder setDisplayName( - java.lang.String value) { - if (value == null) { - throw new NullPointerException(); - } - - displayName_ = value; - onChanged(); - return this; - } - /** - * string display_name = 5; - * @return This builder for chaining. - */ - public Builder clearDisplayName() { - - displayName_ = getDefaultInstance().getDisplayName(); - onChanged(); - return this; - } - /** - * string display_name = 5; - * @param value The bytes for displayName to set. - * @return This builder for chaining. - */ - public Builder setDisplayNameBytes( - com.google.protobuf.ByteString value) { - if (value == null) { - throw new NullPointerException(); - } - checkByteStringIsUtf8(value); - - displayName_ = value; - onChanged(); - return this; - } - - private com.sourcegraph.semanticdb_kotlinc.Semanticdb.Signature signature_; - private com.google.protobuf.SingleFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Signature, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Signature.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.SignatureOrBuilder> signatureBuilder_; - /** - * .com.sourcegraph.semanticdb_kotlinc.Signature signature = 17; - * @return Whether the signature field is set. - */ - public boolean hasSignature() { - return signatureBuilder_ != null || signature_ != null; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Signature signature = 17; - * @return The signature. - */ - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Signature getSignature() { - if (signatureBuilder_ == null) { - return signature_ == null ? com.sourcegraph.semanticdb_kotlinc.Semanticdb.Signature.getDefaultInstance() : signature_; - } else { - return signatureBuilder_.getMessage(); - } - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Signature signature = 17; - */ - public Builder setSignature(com.sourcegraph.semanticdb_kotlinc.Semanticdb.Signature value) { - if (signatureBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - signature_ = value; - onChanged(); - } else { - signatureBuilder_.setMessage(value); - } - - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Signature signature = 17; - */ - public Builder setSignature( - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Signature.Builder builderForValue) { - if (signatureBuilder_ == null) { - signature_ = builderForValue.build(); - onChanged(); - } else { - signatureBuilder_.setMessage(builderForValue.build()); - } - - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Signature signature = 17; - */ - public Builder mergeSignature(com.sourcegraph.semanticdb_kotlinc.Semanticdb.Signature value) { - if (signatureBuilder_ == null) { - if (signature_ != null) { - signature_ = - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Signature.newBuilder(signature_).mergeFrom(value).buildPartial(); - } else { - signature_ = value; - } - onChanged(); - } else { - signatureBuilder_.mergeFrom(value); - } - - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Signature signature = 17; - */ - public Builder clearSignature() { - if (signatureBuilder_ == null) { - signature_ = null; - onChanged(); - } else { - signature_ = null; - signatureBuilder_ = null; - } - - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Signature signature = 17; - */ - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Signature.Builder getSignatureBuilder() { - - onChanged(); - return getSignatureFieldBuilder().getBuilder(); - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Signature signature = 17; - */ - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.SignatureOrBuilder getSignatureOrBuilder() { - if (signatureBuilder_ != null) { - return signatureBuilder_.getMessageOrBuilder(); - } else { - return signature_ == null ? - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Signature.getDefaultInstance() : signature_; - } - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Signature signature = 17; - */ - private com.google.protobuf.SingleFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Signature, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Signature.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.SignatureOrBuilder> - getSignatureFieldBuilder() { - if (signatureBuilder_ == null) { - signatureBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Signature, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Signature.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.SignatureOrBuilder>( - getSignature(), - getParentForChildren(), - isClean()); - signature_ = null; - } - return signatureBuilder_; - } - - private com.sourcegraph.semanticdb_kotlinc.Semanticdb.Access access_; - private com.google.protobuf.SingleFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Access, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Access.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.AccessOrBuilder> accessBuilder_; - /** - * .com.sourcegraph.semanticdb_kotlinc.Access access = 18; - * @return Whether the access field is set. - */ - public boolean hasAccess() { - return accessBuilder_ != null || access_ != null; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Access access = 18; - * @return The access. - */ - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Access getAccess() { - if (accessBuilder_ == null) { - return access_ == null ? com.sourcegraph.semanticdb_kotlinc.Semanticdb.Access.getDefaultInstance() : access_; - } else { - return accessBuilder_.getMessage(); - } - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Access access = 18; - */ - public Builder setAccess(com.sourcegraph.semanticdb_kotlinc.Semanticdb.Access value) { - if (accessBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - access_ = value; - onChanged(); - } else { - accessBuilder_.setMessage(value); - } - - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Access access = 18; - */ - public Builder setAccess( - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Access.Builder builderForValue) { - if (accessBuilder_ == null) { - access_ = builderForValue.build(); - onChanged(); - } else { - accessBuilder_.setMessage(builderForValue.build()); - } - - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Access access = 18; - */ - public Builder mergeAccess(com.sourcegraph.semanticdb_kotlinc.Semanticdb.Access value) { - if (accessBuilder_ == null) { - if (access_ != null) { - access_ = - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Access.newBuilder(access_).mergeFrom(value).buildPartial(); - } else { - access_ = value; - } - onChanged(); - } else { - accessBuilder_.mergeFrom(value); - } - - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Access access = 18; - */ - public Builder clearAccess() { - if (accessBuilder_ == null) { - access_ = null; - onChanged(); - } else { - access_ = null; - accessBuilder_ = null; - } - - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Access access = 18; - */ - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Access.Builder getAccessBuilder() { - - onChanged(); - return getAccessFieldBuilder().getBuilder(); - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Access access = 18; - */ - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.AccessOrBuilder getAccessOrBuilder() { - if (accessBuilder_ != null) { - return accessBuilder_.getMessageOrBuilder(); - } else { - return access_ == null ? - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Access.getDefaultInstance() : access_; - } - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Access access = 18; - */ - private com.google.protobuf.SingleFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Access, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Access.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.AccessOrBuilder> - getAccessFieldBuilder() { - if (accessBuilder_ == null) { - accessBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Access, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Access.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.AccessOrBuilder>( - getAccess(), - getParentForChildren(), - isClean()); - access_ = null; - } - return accessBuilder_; - } - - private com.google.protobuf.LazyStringList overriddenSymbols_ = com.google.protobuf.LazyStringArrayList.EMPTY; - private void ensureOverriddenSymbolsIsMutable() { - if (!((bitField0_ & 0x00000001) != 0)) { - overriddenSymbols_ = new com.google.protobuf.LazyStringArrayList(overriddenSymbols_); - bitField0_ |= 0x00000001; - } - } - /** - * repeated string overridden_symbols = 19; - * @return A list containing the overriddenSymbols. - */ - public com.google.protobuf.ProtocolStringList - getOverriddenSymbolsList() { - return overriddenSymbols_.getUnmodifiableView(); - } - /** - * repeated string overridden_symbols = 19; - * @return The count of overriddenSymbols. - */ - public int getOverriddenSymbolsCount() { - return overriddenSymbols_.size(); - } - /** - * repeated string overridden_symbols = 19; - * @param index The index of the element to return. - * @return The overriddenSymbols at the given index. - */ - public java.lang.String getOverriddenSymbols(int index) { - return overriddenSymbols_.get(index); - } - /** - * repeated string overridden_symbols = 19; - * @param index The index of the value to return. - * @return The bytes of the overriddenSymbols at the given index. - */ - public com.google.protobuf.ByteString - getOverriddenSymbolsBytes(int index) { - return overriddenSymbols_.getByteString(index); - } - /** - * repeated string overridden_symbols = 19; - * @param index The index to set the value at. - * @param value The overriddenSymbols to set. - * @return This builder for chaining. - */ - public Builder setOverriddenSymbols( - int index, java.lang.String value) { - if (value == null) { - throw new NullPointerException(); - } - ensureOverriddenSymbolsIsMutable(); - overriddenSymbols_.set(index, value); - onChanged(); - return this; - } - /** - * repeated string overridden_symbols = 19; - * @param value The overriddenSymbols to add. - * @return This builder for chaining. - */ - public Builder addOverriddenSymbols( - java.lang.String value) { - if (value == null) { - throw new NullPointerException(); - } - ensureOverriddenSymbolsIsMutable(); - overriddenSymbols_.add(value); - onChanged(); - return this; - } - /** - * repeated string overridden_symbols = 19; - * @param values The overriddenSymbols to add. - * @return This builder for chaining. - */ - public Builder addAllOverriddenSymbols( - java.lang.Iterable values) { - ensureOverriddenSymbolsIsMutable(); - com.google.protobuf.AbstractMessageLite.Builder.addAll( - values, overriddenSymbols_); - onChanged(); - return this; - } - /** - * repeated string overridden_symbols = 19; - * @return This builder for chaining. - */ - public Builder clearOverriddenSymbols() { - overriddenSymbols_ = com.google.protobuf.LazyStringArrayList.EMPTY; - bitField0_ = (bitField0_ & ~0x00000001); - onChanged(); - return this; - } - /** - * repeated string overridden_symbols = 19; - * @param value The bytes of the overriddenSymbols to add. - * @return This builder for chaining. - */ - public Builder addOverriddenSymbolsBytes( - com.google.protobuf.ByteString value) { - if (value == null) { - throw new NullPointerException(); - } - checkByteStringIsUtf8(value); - ensureOverriddenSymbolsIsMutable(); - overriddenSymbols_.add(value); - onChanged(); - return this; - } - - private com.sourcegraph.semanticdb_kotlinc.Semanticdb.Documentation documentation_; - private com.google.protobuf.SingleFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Documentation, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Documentation.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.DocumentationOrBuilder> documentationBuilder_; - /** - * .com.sourcegraph.semanticdb_kotlinc.Documentation documentation = 20; - * @return Whether the documentation field is set. - */ - public boolean hasDocumentation() { - return documentationBuilder_ != null || documentation_ != null; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Documentation documentation = 20; - * @return The documentation. - */ - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Documentation getDocumentation() { - if (documentationBuilder_ == null) { - return documentation_ == null ? com.sourcegraph.semanticdb_kotlinc.Semanticdb.Documentation.getDefaultInstance() : documentation_; - } else { - return documentationBuilder_.getMessage(); - } - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Documentation documentation = 20; - */ - public Builder setDocumentation(com.sourcegraph.semanticdb_kotlinc.Semanticdb.Documentation value) { - if (documentationBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - documentation_ = value; - onChanged(); - } else { - documentationBuilder_.setMessage(value); - } - - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Documentation documentation = 20; - */ - public Builder setDocumentation( - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Documentation.Builder builderForValue) { - if (documentationBuilder_ == null) { - documentation_ = builderForValue.build(); - onChanged(); - } else { - documentationBuilder_.setMessage(builderForValue.build()); - } - - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Documentation documentation = 20; - */ - public Builder mergeDocumentation(com.sourcegraph.semanticdb_kotlinc.Semanticdb.Documentation value) { - if (documentationBuilder_ == null) { - if (documentation_ != null) { - documentation_ = - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Documentation.newBuilder(documentation_).mergeFrom(value).buildPartial(); - } else { - documentation_ = value; - } - onChanged(); - } else { - documentationBuilder_.mergeFrom(value); - } - - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Documentation documentation = 20; - */ - public Builder clearDocumentation() { - if (documentationBuilder_ == null) { - documentation_ = null; - onChanged(); - } else { - documentation_ = null; - documentationBuilder_ = null; - } - - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Documentation documentation = 20; - */ - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Documentation.Builder getDocumentationBuilder() { - - onChanged(); - return getDocumentationFieldBuilder().getBuilder(); - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Documentation documentation = 20; - */ - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.DocumentationOrBuilder getDocumentationOrBuilder() { - if (documentationBuilder_ != null) { - return documentationBuilder_.getMessageOrBuilder(); - } else { - return documentation_ == null ? - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Documentation.getDefaultInstance() : documentation_; - } - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Documentation documentation = 20; - */ - private com.google.protobuf.SingleFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Documentation, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Documentation.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.DocumentationOrBuilder> - getDocumentationFieldBuilder() { - if (documentationBuilder_ == null) { - documentationBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Documentation, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Documentation.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.DocumentationOrBuilder>( - getDocumentation(), - getParentForChildren(), - isClean()); - documentation_ = null; - } - return documentationBuilder_; - } - @java.lang.Override - public final Builder setUnknownFields( - final com.google.protobuf.UnknownFieldSet unknownFields) { - return super.setUnknownFields(unknownFields); - } - - @java.lang.Override - public final Builder mergeUnknownFields( - final com.google.protobuf.UnknownFieldSet unknownFields) { - return super.mergeUnknownFields(unknownFields); - } - - - // @@protoc_insertion_point(builder_scope:com.sourcegraph.semanticdb_kotlinc.SymbolInformation) - } - - // @@protoc_insertion_point(class_scope:com.sourcegraph.semanticdb_kotlinc.SymbolInformation) - private static final com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation DEFAULT_INSTANCE; - static { - DEFAULT_INSTANCE = new com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation(); - } - - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation getDefaultInstance() { - return DEFAULT_INSTANCE; - } - - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { - @java.lang.Override - public SymbolInformation parsePartialFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return new SymbolInformation(input, extensionRegistry); - } - }; - - public static com.google.protobuf.Parser parser() { - return PARSER; - } - - @java.lang.Override - public com.google.protobuf.Parser getParserForType() { - return PARSER; - } - - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation getDefaultInstanceForType() { - return DEFAULT_INSTANCE; - } - - } - - public interface AccessOrBuilder extends - // @@protoc_insertion_point(interface_extends:com.sourcegraph.semanticdb_kotlinc.Access) - com.google.protobuf.MessageOrBuilder { - - /** - * .com.sourcegraph.semanticdb_kotlinc.PrivateAccess private_access = 1; - * @return Whether the privateAccess field is set. - */ - boolean hasPrivateAccess(); - /** - * .com.sourcegraph.semanticdb_kotlinc.PrivateAccess private_access = 1; - * @return The privateAccess. - */ - com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateAccess getPrivateAccess(); - /** - * .com.sourcegraph.semanticdb_kotlinc.PrivateAccess private_access = 1; - */ - com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateAccessOrBuilder getPrivateAccessOrBuilder(); - - /** - * .com.sourcegraph.semanticdb_kotlinc.PrivateWithinAccess private_within_access = 3; - * @return Whether the privateWithinAccess field is set. - */ - boolean hasPrivateWithinAccess(); - /** - * .com.sourcegraph.semanticdb_kotlinc.PrivateWithinAccess private_within_access = 3; - * @return The privateWithinAccess. - */ - com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateWithinAccess getPrivateWithinAccess(); - /** - * .com.sourcegraph.semanticdb_kotlinc.PrivateWithinAccess private_within_access = 3; - */ - com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateWithinAccessOrBuilder getPrivateWithinAccessOrBuilder(); - - /** - * .com.sourcegraph.semanticdb_kotlinc.ProtectedAccess protected_access = 4; - * @return Whether the protectedAccess field is set. - */ - boolean hasProtectedAccess(); - /** - * .com.sourcegraph.semanticdb_kotlinc.ProtectedAccess protected_access = 4; - * @return The protectedAccess. - */ - com.sourcegraph.semanticdb_kotlinc.Semanticdb.ProtectedAccess getProtectedAccess(); - /** - * .com.sourcegraph.semanticdb_kotlinc.ProtectedAccess protected_access = 4; - */ - com.sourcegraph.semanticdb_kotlinc.Semanticdb.ProtectedAccessOrBuilder getProtectedAccessOrBuilder(); - - /** - * .com.sourcegraph.semanticdb_kotlinc.PublicAccess public_access = 7; - * @return Whether the publicAccess field is set. - */ - boolean hasPublicAccess(); - /** - * .com.sourcegraph.semanticdb_kotlinc.PublicAccess public_access = 7; - * @return The publicAccess. - */ - com.sourcegraph.semanticdb_kotlinc.Semanticdb.PublicAccess getPublicAccess(); - /** - * .com.sourcegraph.semanticdb_kotlinc.PublicAccess public_access = 7; - */ - com.sourcegraph.semanticdb_kotlinc.Semanticdb.PublicAccessOrBuilder getPublicAccessOrBuilder(); - - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Access.SealedValueCase getSealedValueCase(); - } - /** - * Protobuf type {@code com.sourcegraph.semanticdb_kotlinc.Access} - */ - public static final class Access extends - com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:com.sourcegraph.semanticdb_kotlinc.Access) - AccessOrBuilder { - private static final long serialVersionUID = 0L; - // Use Access.newBuilder() to construct. - private Access(com.google.protobuf.GeneratedMessageV3.Builder builder) { - super(builder); - } - private Access() { - } - - @java.lang.Override - @SuppressWarnings({"unused"}) - protected java.lang.Object newInstance( - UnusedPrivateParameter unused) { - return new Access(); - } - - @java.lang.Override - public final com.google.protobuf.UnknownFieldSet - getUnknownFields() { - return this.unknownFields; - } - private Access( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - this(); - if (extensionRegistry == null) { - throw new java.lang.NullPointerException(); - } - com.google.protobuf.UnknownFieldSet.Builder unknownFields = - com.google.protobuf.UnknownFieldSet.newBuilder(); - try { - boolean done = false; - while (!done) { - int tag = input.readTag(); - switch (tag) { - case 0: - done = true; - break; - case 10: { - com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateAccess.Builder subBuilder = null; - if (sealedValueCase_ == 1) { - subBuilder = ((com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateAccess) sealedValue_).toBuilder(); - } - sealedValue_ = - input.readMessage(com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateAccess.parser(), extensionRegistry); - if (subBuilder != null) { - subBuilder.mergeFrom((com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateAccess) sealedValue_); - sealedValue_ = subBuilder.buildPartial(); - } - sealedValueCase_ = 1; - break; - } - case 26: { - com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateWithinAccess.Builder subBuilder = null; - if (sealedValueCase_ == 3) { - subBuilder = ((com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateWithinAccess) sealedValue_).toBuilder(); - } - sealedValue_ = - input.readMessage(com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateWithinAccess.parser(), extensionRegistry); - if (subBuilder != null) { - subBuilder.mergeFrom((com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateWithinAccess) sealedValue_); - sealedValue_ = subBuilder.buildPartial(); - } - sealedValueCase_ = 3; - break; - } - case 34: { - com.sourcegraph.semanticdb_kotlinc.Semanticdb.ProtectedAccess.Builder subBuilder = null; - if (sealedValueCase_ == 4) { - subBuilder = ((com.sourcegraph.semanticdb_kotlinc.Semanticdb.ProtectedAccess) sealedValue_).toBuilder(); - } - sealedValue_ = - input.readMessage(com.sourcegraph.semanticdb_kotlinc.Semanticdb.ProtectedAccess.parser(), extensionRegistry); - if (subBuilder != null) { - subBuilder.mergeFrom((com.sourcegraph.semanticdb_kotlinc.Semanticdb.ProtectedAccess) sealedValue_); - sealedValue_ = subBuilder.buildPartial(); - } - sealedValueCase_ = 4; - break; - } - case 58: { - com.sourcegraph.semanticdb_kotlinc.Semanticdb.PublicAccess.Builder subBuilder = null; - if (sealedValueCase_ == 7) { - subBuilder = ((com.sourcegraph.semanticdb_kotlinc.Semanticdb.PublicAccess) sealedValue_).toBuilder(); - } - sealedValue_ = - input.readMessage(com.sourcegraph.semanticdb_kotlinc.Semanticdb.PublicAccess.parser(), extensionRegistry); - if (subBuilder != null) { - subBuilder.mergeFrom((com.sourcegraph.semanticdb_kotlinc.Semanticdb.PublicAccess) sealedValue_); - sealedValue_ = subBuilder.buildPartial(); - } - sealedValueCase_ = 7; - break; - } - default: { - if (!parseUnknownField( - input, unknownFields, extensionRegistry, tag)) { - done = true; - } - break; - } - } - } - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.setUnfinishedMessage(this); - } catch (java.io.IOException e) { - throw new com.google.protobuf.InvalidProtocolBufferException( - e).setUnfinishedMessage(this); - } finally { - this.unknownFields = unknownFields.build(); - makeExtensionsImmutable(); - } - } - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_Access_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internalGetFieldAccessorTable() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_Access_fieldAccessorTable - .ensureFieldAccessorsInitialized( - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Access.class, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Access.Builder.class); - } - - private int sealedValueCase_ = 0; - private java.lang.Object sealedValue_; - public enum SealedValueCase - implements com.google.protobuf.Internal.EnumLite, - com.google.protobuf.AbstractMessage.InternalOneOfEnum { - PRIVATE_ACCESS(1), - PRIVATE_WITHIN_ACCESS(3), - PROTECTED_ACCESS(4), - PUBLIC_ACCESS(7), - SEALEDVALUE_NOT_SET(0); - private final int value; - private SealedValueCase(int value) { - this.value = value; - } - /** - * @param value The number of the enum to look for. - * @return The enum associated with the given number. - * @deprecated Use {@link #forNumber(int)} instead. - */ - @java.lang.Deprecated - public static SealedValueCase valueOf(int value) { - return forNumber(value); - } - - public static SealedValueCase forNumber(int value) { - switch (value) { - case 1: return PRIVATE_ACCESS; - case 3: return PRIVATE_WITHIN_ACCESS; - case 4: return PROTECTED_ACCESS; - case 7: return PUBLIC_ACCESS; - case 0: return SEALEDVALUE_NOT_SET; - default: return null; - } - } - public int getNumber() { - return this.value; - } - }; - - public SealedValueCase - getSealedValueCase() { - return SealedValueCase.forNumber( - sealedValueCase_); - } - - public static final int PRIVATE_ACCESS_FIELD_NUMBER = 1; - /** - * .com.sourcegraph.semanticdb_kotlinc.PrivateAccess private_access = 1; - * @return Whether the privateAccess field is set. - */ - @java.lang.Override - public boolean hasPrivateAccess() { - return sealedValueCase_ == 1; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.PrivateAccess private_access = 1; - * @return The privateAccess. - */ - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateAccess getPrivateAccess() { - if (sealedValueCase_ == 1) { - return (com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateAccess) sealedValue_; - } - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateAccess.getDefaultInstance(); - } - /** - * .com.sourcegraph.semanticdb_kotlinc.PrivateAccess private_access = 1; - */ - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateAccessOrBuilder getPrivateAccessOrBuilder() { - if (sealedValueCase_ == 1) { - return (com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateAccess) sealedValue_; - } - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateAccess.getDefaultInstance(); - } - - public static final int PRIVATE_WITHIN_ACCESS_FIELD_NUMBER = 3; - /** - * .com.sourcegraph.semanticdb_kotlinc.PrivateWithinAccess private_within_access = 3; - * @return Whether the privateWithinAccess field is set. - */ - @java.lang.Override - public boolean hasPrivateWithinAccess() { - return sealedValueCase_ == 3; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.PrivateWithinAccess private_within_access = 3; - * @return The privateWithinAccess. - */ - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateWithinAccess getPrivateWithinAccess() { - if (sealedValueCase_ == 3) { - return (com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateWithinAccess) sealedValue_; - } - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateWithinAccess.getDefaultInstance(); - } - /** - * .com.sourcegraph.semanticdb_kotlinc.PrivateWithinAccess private_within_access = 3; - */ - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateWithinAccessOrBuilder getPrivateWithinAccessOrBuilder() { - if (sealedValueCase_ == 3) { - return (com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateWithinAccess) sealedValue_; - } - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateWithinAccess.getDefaultInstance(); - } - - public static final int PROTECTED_ACCESS_FIELD_NUMBER = 4; - /** - * .com.sourcegraph.semanticdb_kotlinc.ProtectedAccess protected_access = 4; - * @return Whether the protectedAccess field is set. - */ - @java.lang.Override - public boolean hasProtectedAccess() { - return sealedValueCase_ == 4; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.ProtectedAccess protected_access = 4; - * @return The protectedAccess. - */ - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.ProtectedAccess getProtectedAccess() { - if (sealedValueCase_ == 4) { - return (com.sourcegraph.semanticdb_kotlinc.Semanticdb.ProtectedAccess) sealedValue_; - } - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.ProtectedAccess.getDefaultInstance(); - } - /** - * .com.sourcegraph.semanticdb_kotlinc.ProtectedAccess protected_access = 4; - */ - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.ProtectedAccessOrBuilder getProtectedAccessOrBuilder() { - if (sealedValueCase_ == 4) { - return (com.sourcegraph.semanticdb_kotlinc.Semanticdb.ProtectedAccess) sealedValue_; - } - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.ProtectedAccess.getDefaultInstance(); - } - - public static final int PUBLIC_ACCESS_FIELD_NUMBER = 7; - /** - * .com.sourcegraph.semanticdb_kotlinc.PublicAccess public_access = 7; - * @return Whether the publicAccess field is set. - */ - @java.lang.Override - public boolean hasPublicAccess() { - return sealedValueCase_ == 7; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.PublicAccess public_access = 7; - * @return The publicAccess. - */ - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.PublicAccess getPublicAccess() { - if (sealedValueCase_ == 7) { - return (com.sourcegraph.semanticdb_kotlinc.Semanticdb.PublicAccess) sealedValue_; - } - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.PublicAccess.getDefaultInstance(); - } - /** - * .com.sourcegraph.semanticdb_kotlinc.PublicAccess public_access = 7; - */ - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.PublicAccessOrBuilder getPublicAccessOrBuilder() { - if (sealedValueCase_ == 7) { - return (com.sourcegraph.semanticdb_kotlinc.Semanticdb.PublicAccess) sealedValue_; - } - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.PublicAccess.getDefaultInstance(); - } - - private byte memoizedIsInitialized = -1; - @java.lang.Override - public final boolean isInitialized() { - byte isInitialized = memoizedIsInitialized; - if (isInitialized == 1) return true; - if (isInitialized == 0) return false; - - memoizedIsInitialized = 1; - return true; - } - - @java.lang.Override - public void writeTo(com.google.protobuf.CodedOutputStream output) - throws java.io.IOException { - if (sealedValueCase_ == 1) { - output.writeMessage(1, (com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateAccess) sealedValue_); - } - if (sealedValueCase_ == 3) { - output.writeMessage(3, (com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateWithinAccess) sealedValue_); - } - if (sealedValueCase_ == 4) { - output.writeMessage(4, (com.sourcegraph.semanticdb_kotlinc.Semanticdb.ProtectedAccess) sealedValue_); - } - if (sealedValueCase_ == 7) { - output.writeMessage(7, (com.sourcegraph.semanticdb_kotlinc.Semanticdb.PublicAccess) sealedValue_); - } - unknownFields.writeTo(output); - } - - @java.lang.Override - public int getSerializedSize() { - int size = memoizedSize; - if (size != -1) return size; - - size = 0; - if (sealedValueCase_ == 1) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(1, (com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateAccess) sealedValue_); - } - if (sealedValueCase_ == 3) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(3, (com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateWithinAccess) sealedValue_); - } - if (sealedValueCase_ == 4) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(4, (com.sourcegraph.semanticdb_kotlinc.Semanticdb.ProtectedAccess) sealedValue_); - } - if (sealedValueCase_ == 7) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(7, (com.sourcegraph.semanticdb_kotlinc.Semanticdb.PublicAccess) sealedValue_); - } - size += unknownFields.getSerializedSize(); - memoizedSize = size; - return size; - } - - @java.lang.Override - public boolean equals(final java.lang.Object obj) { - if (obj == this) { - return true; - } - if (!(obj instanceof com.sourcegraph.semanticdb_kotlinc.Semanticdb.Access)) { - return super.equals(obj); - } - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Access other = (com.sourcegraph.semanticdb_kotlinc.Semanticdb.Access) obj; - - if (!getSealedValueCase().equals(other.getSealedValueCase())) return false; - switch (sealedValueCase_) { - case 1: - if (!getPrivateAccess() - .equals(other.getPrivateAccess())) return false; - break; - case 3: - if (!getPrivateWithinAccess() - .equals(other.getPrivateWithinAccess())) return false; - break; - case 4: - if (!getProtectedAccess() - .equals(other.getProtectedAccess())) return false; - break; - case 7: - if (!getPublicAccess() - .equals(other.getPublicAccess())) return false; - break; - case 0: - default: - } - if (!unknownFields.equals(other.unknownFields)) return false; - return true; - } - - @java.lang.Override - public int hashCode() { - if (memoizedHashCode != 0) { - return memoizedHashCode; - } - int hash = 41; - hash = (19 * hash) + getDescriptor().hashCode(); - switch (sealedValueCase_) { - case 1: - hash = (37 * hash) + PRIVATE_ACCESS_FIELD_NUMBER; - hash = (53 * hash) + getPrivateAccess().hashCode(); - break; - case 3: - hash = (37 * hash) + PRIVATE_WITHIN_ACCESS_FIELD_NUMBER; - hash = (53 * hash) + getPrivateWithinAccess().hashCode(); - break; - case 4: - hash = (37 * hash) + PROTECTED_ACCESS_FIELD_NUMBER; - hash = (53 * hash) + getProtectedAccess().hashCode(); - break; - case 7: - hash = (37 * hash) + PUBLIC_ACCESS_FIELD_NUMBER; - hash = (53 * hash) + getPublicAccess().hashCode(); - break; - case 0: - default: - } - hash = (29 * hash) + unknownFields.hashCode(); - memoizedHashCode = hash; - return hash; - } - - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.Access parseFrom( - java.nio.ByteBuffer data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.Access parseFrom( - java.nio.ByteBuffer data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.Access parseFrom( - com.google.protobuf.ByteString data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.Access parseFrom( - com.google.protobuf.ByteString data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.Access parseFrom(byte[] data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.Access parseFrom( - byte[] data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.Access parseFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.Access parseFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.Access parseDelimitedFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseDelimitedWithIOException(PARSER, input); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.Access parseDelimitedFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseDelimitedWithIOException(PARSER, input, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.Access parseFrom( - com.google.protobuf.CodedInputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.Access parseFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input, extensionRegistry); - } - - @java.lang.Override - public Builder newBuilderForType() { return newBuilder(); } - public static Builder newBuilder() { - return DEFAULT_INSTANCE.toBuilder(); - } - public static Builder newBuilder(com.sourcegraph.semanticdb_kotlinc.Semanticdb.Access prototype) { - return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); - } - @java.lang.Override - public Builder toBuilder() { - return this == DEFAULT_INSTANCE - ? new Builder() : new Builder().mergeFrom(this); - } - - @java.lang.Override - protected Builder newBuilderForType( - com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { - Builder builder = new Builder(parent); - return builder; - } - /** - * Protobuf type {@code com.sourcegraph.semanticdb_kotlinc.Access} - */ - public static final class Builder extends - com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:com.sourcegraph.semanticdb_kotlinc.Access) - com.sourcegraph.semanticdb_kotlinc.Semanticdb.AccessOrBuilder { - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_Access_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internalGetFieldAccessorTable() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_Access_fieldAccessorTable - .ensureFieldAccessorsInitialized( - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Access.class, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Access.Builder.class); - } - - // Construct using com.sourcegraph.semanticdb_kotlinc.Semanticdb.Access.newBuilder() - private Builder() { - maybeForceBuilderInitialization(); - } - - private Builder( - com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { - super(parent); - maybeForceBuilderInitialization(); - } - private void maybeForceBuilderInitialization() { - if (com.google.protobuf.GeneratedMessageV3 - .alwaysUseFieldBuilders) { - } - } - @java.lang.Override - public Builder clear() { - super.clear(); - sealedValueCase_ = 0; - sealedValue_ = null; - return this; - } - - @java.lang.Override - public com.google.protobuf.Descriptors.Descriptor - getDescriptorForType() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_Access_descriptor; - } - - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Access getDefaultInstanceForType() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.Access.getDefaultInstance(); - } - - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Access build() { - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Access result = buildPartial(); - if (!result.isInitialized()) { - throw newUninitializedMessageException(result); - } - return result; - } - - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Access buildPartial() { - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Access result = new com.sourcegraph.semanticdb_kotlinc.Semanticdb.Access(this); - if (sealedValueCase_ == 1) { - if (privateAccessBuilder_ == null) { - result.sealedValue_ = sealedValue_; - } else { - result.sealedValue_ = privateAccessBuilder_.build(); - } - } - if (sealedValueCase_ == 3) { - if (privateWithinAccessBuilder_ == null) { - result.sealedValue_ = sealedValue_; - } else { - result.sealedValue_ = privateWithinAccessBuilder_.build(); - } - } - if (sealedValueCase_ == 4) { - if (protectedAccessBuilder_ == null) { - result.sealedValue_ = sealedValue_; - } else { - result.sealedValue_ = protectedAccessBuilder_.build(); - } - } - if (sealedValueCase_ == 7) { - if (publicAccessBuilder_ == null) { - result.sealedValue_ = sealedValue_; - } else { - result.sealedValue_ = publicAccessBuilder_.build(); - } - } - result.sealedValueCase_ = sealedValueCase_; - onBuilt(); - return result; - } - - @java.lang.Override - public Builder clone() { - return super.clone(); - } - @java.lang.Override - public Builder setField( - com.google.protobuf.Descriptors.FieldDescriptor field, - java.lang.Object value) { - return super.setField(field, value); - } - @java.lang.Override - public Builder clearField( - com.google.protobuf.Descriptors.FieldDescriptor field) { - return super.clearField(field); - } - @java.lang.Override - public Builder clearOneof( - com.google.protobuf.Descriptors.OneofDescriptor oneof) { - return super.clearOneof(oneof); - } - @java.lang.Override - public Builder setRepeatedField( - com.google.protobuf.Descriptors.FieldDescriptor field, - int index, java.lang.Object value) { - return super.setRepeatedField(field, index, value); - } - @java.lang.Override - public Builder addRepeatedField( - com.google.protobuf.Descriptors.FieldDescriptor field, - java.lang.Object value) { - return super.addRepeatedField(field, value); - } - @java.lang.Override - public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof com.sourcegraph.semanticdb_kotlinc.Semanticdb.Access) { - return mergeFrom((com.sourcegraph.semanticdb_kotlinc.Semanticdb.Access)other); - } else { - super.mergeFrom(other); - return this; - } - } - - public Builder mergeFrom(com.sourcegraph.semanticdb_kotlinc.Semanticdb.Access other) { - if (other == com.sourcegraph.semanticdb_kotlinc.Semanticdb.Access.getDefaultInstance()) return this; - switch (other.getSealedValueCase()) { - case PRIVATE_ACCESS: { - mergePrivateAccess(other.getPrivateAccess()); - break; - } - case PRIVATE_WITHIN_ACCESS: { - mergePrivateWithinAccess(other.getPrivateWithinAccess()); - break; - } - case PROTECTED_ACCESS: { - mergeProtectedAccess(other.getProtectedAccess()); - break; - } - case PUBLIC_ACCESS: { - mergePublicAccess(other.getPublicAccess()); - break; - } - case SEALEDVALUE_NOT_SET: { - break; - } - } - this.mergeUnknownFields(other.unknownFields); - onChanged(); - return this; - } - - @java.lang.Override - public final boolean isInitialized() { - return true; - } - - @java.lang.Override - public Builder mergeFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Access parsedMessage = null; - try { - parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (com.sourcegraph.semanticdb_kotlinc.Semanticdb.Access) e.getUnfinishedMessage(); - throw e.unwrapIOException(); - } finally { - if (parsedMessage != null) { - mergeFrom(parsedMessage); - } - } - return this; - } - private int sealedValueCase_ = 0; - private java.lang.Object sealedValue_; - public SealedValueCase - getSealedValueCase() { - return SealedValueCase.forNumber( - sealedValueCase_); - } - - public Builder clearSealedValue() { - sealedValueCase_ = 0; - sealedValue_ = null; - onChanged(); - return this; - } - - - private com.google.protobuf.SingleFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateAccess, com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateAccess.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateAccessOrBuilder> privateAccessBuilder_; - /** - * .com.sourcegraph.semanticdb_kotlinc.PrivateAccess private_access = 1; - * @return Whether the privateAccess field is set. - */ - @java.lang.Override - public boolean hasPrivateAccess() { - return sealedValueCase_ == 1; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.PrivateAccess private_access = 1; - * @return The privateAccess. - */ - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateAccess getPrivateAccess() { - if (privateAccessBuilder_ == null) { - if (sealedValueCase_ == 1) { - return (com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateAccess) sealedValue_; - } - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateAccess.getDefaultInstance(); - } else { - if (sealedValueCase_ == 1) { - return privateAccessBuilder_.getMessage(); - } - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateAccess.getDefaultInstance(); - } - } - /** - * .com.sourcegraph.semanticdb_kotlinc.PrivateAccess private_access = 1; - */ - public Builder setPrivateAccess(com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateAccess value) { - if (privateAccessBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - sealedValue_ = value; - onChanged(); - } else { - privateAccessBuilder_.setMessage(value); - } - sealedValueCase_ = 1; - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.PrivateAccess private_access = 1; - */ - public Builder setPrivateAccess( - com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateAccess.Builder builderForValue) { - if (privateAccessBuilder_ == null) { - sealedValue_ = builderForValue.build(); - onChanged(); - } else { - privateAccessBuilder_.setMessage(builderForValue.build()); - } - sealedValueCase_ = 1; - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.PrivateAccess private_access = 1; - */ - public Builder mergePrivateAccess(com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateAccess value) { - if (privateAccessBuilder_ == null) { - if (sealedValueCase_ == 1 && - sealedValue_ != com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateAccess.getDefaultInstance()) { - sealedValue_ = com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateAccess.newBuilder((com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateAccess) sealedValue_) - .mergeFrom(value).buildPartial(); - } else { - sealedValue_ = value; - } - onChanged(); - } else { - if (sealedValueCase_ == 1) { - privateAccessBuilder_.mergeFrom(value); - } - privateAccessBuilder_.setMessage(value); - } - sealedValueCase_ = 1; - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.PrivateAccess private_access = 1; - */ - public Builder clearPrivateAccess() { - if (privateAccessBuilder_ == null) { - if (sealedValueCase_ == 1) { - sealedValueCase_ = 0; - sealedValue_ = null; - onChanged(); - } - } else { - if (sealedValueCase_ == 1) { - sealedValueCase_ = 0; - sealedValue_ = null; - } - privateAccessBuilder_.clear(); - } - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.PrivateAccess private_access = 1; - */ - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateAccess.Builder getPrivateAccessBuilder() { - return getPrivateAccessFieldBuilder().getBuilder(); - } - /** - * .com.sourcegraph.semanticdb_kotlinc.PrivateAccess private_access = 1; - */ - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateAccessOrBuilder getPrivateAccessOrBuilder() { - if ((sealedValueCase_ == 1) && (privateAccessBuilder_ != null)) { - return privateAccessBuilder_.getMessageOrBuilder(); - } else { - if (sealedValueCase_ == 1) { - return (com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateAccess) sealedValue_; - } - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateAccess.getDefaultInstance(); - } - } - /** - * .com.sourcegraph.semanticdb_kotlinc.PrivateAccess private_access = 1; - */ - private com.google.protobuf.SingleFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateAccess, com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateAccess.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateAccessOrBuilder> - getPrivateAccessFieldBuilder() { - if (privateAccessBuilder_ == null) { - if (!(sealedValueCase_ == 1)) { - sealedValue_ = com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateAccess.getDefaultInstance(); - } - privateAccessBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateAccess, com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateAccess.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateAccessOrBuilder>( - (com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateAccess) sealedValue_, - getParentForChildren(), - isClean()); - sealedValue_ = null; - } - sealedValueCase_ = 1; - onChanged();; - return privateAccessBuilder_; - } - - private com.google.protobuf.SingleFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateWithinAccess, com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateWithinAccess.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateWithinAccessOrBuilder> privateWithinAccessBuilder_; - /** - * .com.sourcegraph.semanticdb_kotlinc.PrivateWithinAccess private_within_access = 3; - * @return Whether the privateWithinAccess field is set. - */ - @java.lang.Override - public boolean hasPrivateWithinAccess() { - return sealedValueCase_ == 3; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.PrivateWithinAccess private_within_access = 3; - * @return The privateWithinAccess. - */ - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateWithinAccess getPrivateWithinAccess() { - if (privateWithinAccessBuilder_ == null) { - if (sealedValueCase_ == 3) { - return (com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateWithinAccess) sealedValue_; - } - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateWithinAccess.getDefaultInstance(); - } else { - if (sealedValueCase_ == 3) { - return privateWithinAccessBuilder_.getMessage(); - } - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateWithinAccess.getDefaultInstance(); - } - } - /** - * .com.sourcegraph.semanticdb_kotlinc.PrivateWithinAccess private_within_access = 3; - */ - public Builder setPrivateWithinAccess(com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateWithinAccess value) { - if (privateWithinAccessBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - sealedValue_ = value; - onChanged(); - } else { - privateWithinAccessBuilder_.setMessage(value); - } - sealedValueCase_ = 3; - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.PrivateWithinAccess private_within_access = 3; - */ - public Builder setPrivateWithinAccess( - com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateWithinAccess.Builder builderForValue) { - if (privateWithinAccessBuilder_ == null) { - sealedValue_ = builderForValue.build(); - onChanged(); - } else { - privateWithinAccessBuilder_.setMessage(builderForValue.build()); - } - sealedValueCase_ = 3; - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.PrivateWithinAccess private_within_access = 3; - */ - public Builder mergePrivateWithinAccess(com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateWithinAccess value) { - if (privateWithinAccessBuilder_ == null) { - if (sealedValueCase_ == 3 && - sealedValue_ != com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateWithinAccess.getDefaultInstance()) { - sealedValue_ = com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateWithinAccess.newBuilder((com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateWithinAccess) sealedValue_) - .mergeFrom(value).buildPartial(); - } else { - sealedValue_ = value; - } - onChanged(); - } else { - if (sealedValueCase_ == 3) { - privateWithinAccessBuilder_.mergeFrom(value); - } - privateWithinAccessBuilder_.setMessage(value); - } - sealedValueCase_ = 3; - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.PrivateWithinAccess private_within_access = 3; - */ - public Builder clearPrivateWithinAccess() { - if (privateWithinAccessBuilder_ == null) { - if (sealedValueCase_ == 3) { - sealedValueCase_ = 0; - sealedValue_ = null; - onChanged(); - } - } else { - if (sealedValueCase_ == 3) { - sealedValueCase_ = 0; - sealedValue_ = null; - } - privateWithinAccessBuilder_.clear(); - } - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.PrivateWithinAccess private_within_access = 3; - */ - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateWithinAccess.Builder getPrivateWithinAccessBuilder() { - return getPrivateWithinAccessFieldBuilder().getBuilder(); - } - /** - * .com.sourcegraph.semanticdb_kotlinc.PrivateWithinAccess private_within_access = 3; - */ - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateWithinAccessOrBuilder getPrivateWithinAccessOrBuilder() { - if ((sealedValueCase_ == 3) && (privateWithinAccessBuilder_ != null)) { - return privateWithinAccessBuilder_.getMessageOrBuilder(); - } else { - if (sealedValueCase_ == 3) { - return (com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateWithinAccess) sealedValue_; - } - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateWithinAccess.getDefaultInstance(); - } - } - /** - * .com.sourcegraph.semanticdb_kotlinc.PrivateWithinAccess private_within_access = 3; - */ - private com.google.protobuf.SingleFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateWithinAccess, com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateWithinAccess.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateWithinAccessOrBuilder> - getPrivateWithinAccessFieldBuilder() { - if (privateWithinAccessBuilder_ == null) { - if (!(sealedValueCase_ == 3)) { - sealedValue_ = com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateWithinAccess.getDefaultInstance(); - } - privateWithinAccessBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateWithinAccess, com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateWithinAccess.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateWithinAccessOrBuilder>( - (com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateWithinAccess) sealedValue_, - getParentForChildren(), - isClean()); - sealedValue_ = null; - } - sealedValueCase_ = 3; - onChanged();; - return privateWithinAccessBuilder_; - } - - private com.google.protobuf.SingleFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.ProtectedAccess, com.sourcegraph.semanticdb_kotlinc.Semanticdb.ProtectedAccess.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.ProtectedAccessOrBuilder> protectedAccessBuilder_; - /** - * .com.sourcegraph.semanticdb_kotlinc.ProtectedAccess protected_access = 4; - * @return Whether the protectedAccess field is set. - */ - @java.lang.Override - public boolean hasProtectedAccess() { - return sealedValueCase_ == 4; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.ProtectedAccess protected_access = 4; - * @return The protectedAccess. - */ - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.ProtectedAccess getProtectedAccess() { - if (protectedAccessBuilder_ == null) { - if (sealedValueCase_ == 4) { - return (com.sourcegraph.semanticdb_kotlinc.Semanticdb.ProtectedAccess) sealedValue_; - } - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.ProtectedAccess.getDefaultInstance(); - } else { - if (sealedValueCase_ == 4) { - return protectedAccessBuilder_.getMessage(); - } - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.ProtectedAccess.getDefaultInstance(); - } - } - /** - * .com.sourcegraph.semanticdb_kotlinc.ProtectedAccess protected_access = 4; - */ - public Builder setProtectedAccess(com.sourcegraph.semanticdb_kotlinc.Semanticdb.ProtectedAccess value) { - if (protectedAccessBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - sealedValue_ = value; - onChanged(); - } else { - protectedAccessBuilder_.setMessage(value); - } - sealedValueCase_ = 4; - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.ProtectedAccess protected_access = 4; - */ - public Builder setProtectedAccess( - com.sourcegraph.semanticdb_kotlinc.Semanticdb.ProtectedAccess.Builder builderForValue) { - if (protectedAccessBuilder_ == null) { - sealedValue_ = builderForValue.build(); - onChanged(); - } else { - protectedAccessBuilder_.setMessage(builderForValue.build()); - } - sealedValueCase_ = 4; - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.ProtectedAccess protected_access = 4; - */ - public Builder mergeProtectedAccess(com.sourcegraph.semanticdb_kotlinc.Semanticdb.ProtectedAccess value) { - if (protectedAccessBuilder_ == null) { - if (sealedValueCase_ == 4 && - sealedValue_ != com.sourcegraph.semanticdb_kotlinc.Semanticdb.ProtectedAccess.getDefaultInstance()) { - sealedValue_ = com.sourcegraph.semanticdb_kotlinc.Semanticdb.ProtectedAccess.newBuilder((com.sourcegraph.semanticdb_kotlinc.Semanticdb.ProtectedAccess) sealedValue_) - .mergeFrom(value).buildPartial(); - } else { - sealedValue_ = value; - } - onChanged(); - } else { - if (sealedValueCase_ == 4) { - protectedAccessBuilder_.mergeFrom(value); - } - protectedAccessBuilder_.setMessage(value); - } - sealedValueCase_ = 4; - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.ProtectedAccess protected_access = 4; - */ - public Builder clearProtectedAccess() { - if (protectedAccessBuilder_ == null) { - if (sealedValueCase_ == 4) { - sealedValueCase_ = 0; - sealedValue_ = null; - onChanged(); - } - } else { - if (sealedValueCase_ == 4) { - sealedValueCase_ = 0; - sealedValue_ = null; - } - protectedAccessBuilder_.clear(); - } - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.ProtectedAccess protected_access = 4; - */ - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.ProtectedAccess.Builder getProtectedAccessBuilder() { - return getProtectedAccessFieldBuilder().getBuilder(); - } - /** - * .com.sourcegraph.semanticdb_kotlinc.ProtectedAccess protected_access = 4; - */ - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.ProtectedAccessOrBuilder getProtectedAccessOrBuilder() { - if ((sealedValueCase_ == 4) && (protectedAccessBuilder_ != null)) { - return protectedAccessBuilder_.getMessageOrBuilder(); - } else { - if (sealedValueCase_ == 4) { - return (com.sourcegraph.semanticdb_kotlinc.Semanticdb.ProtectedAccess) sealedValue_; - } - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.ProtectedAccess.getDefaultInstance(); - } - } - /** - * .com.sourcegraph.semanticdb_kotlinc.ProtectedAccess protected_access = 4; - */ - private com.google.protobuf.SingleFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.ProtectedAccess, com.sourcegraph.semanticdb_kotlinc.Semanticdb.ProtectedAccess.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.ProtectedAccessOrBuilder> - getProtectedAccessFieldBuilder() { - if (protectedAccessBuilder_ == null) { - if (!(sealedValueCase_ == 4)) { - sealedValue_ = com.sourcegraph.semanticdb_kotlinc.Semanticdb.ProtectedAccess.getDefaultInstance(); - } - protectedAccessBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.ProtectedAccess, com.sourcegraph.semanticdb_kotlinc.Semanticdb.ProtectedAccess.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.ProtectedAccessOrBuilder>( - (com.sourcegraph.semanticdb_kotlinc.Semanticdb.ProtectedAccess) sealedValue_, - getParentForChildren(), - isClean()); - sealedValue_ = null; - } - sealedValueCase_ = 4; - onChanged();; - return protectedAccessBuilder_; - } - - private com.google.protobuf.SingleFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.PublicAccess, com.sourcegraph.semanticdb_kotlinc.Semanticdb.PublicAccess.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.PublicAccessOrBuilder> publicAccessBuilder_; - /** - * .com.sourcegraph.semanticdb_kotlinc.PublicAccess public_access = 7; - * @return Whether the publicAccess field is set. - */ - @java.lang.Override - public boolean hasPublicAccess() { - return sealedValueCase_ == 7; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.PublicAccess public_access = 7; - * @return The publicAccess. - */ - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.PublicAccess getPublicAccess() { - if (publicAccessBuilder_ == null) { - if (sealedValueCase_ == 7) { - return (com.sourcegraph.semanticdb_kotlinc.Semanticdb.PublicAccess) sealedValue_; - } - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.PublicAccess.getDefaultInstance(); - } else { - if (sealedValueCase_ == 7) { - return publicAccessBuilder_.getMessage(); - } - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.PublicAccess.getDefaultInstance(); - } - } - /** - * .com.sourcegraph.semanticdb_kotlinc.PublicAccess public_access = 7; - */ - public Builder setPublicAccess(com.sourcegraph.semanticdb_kotlinc.Semanticdb.PublicAccess value) { - if (publicAccessBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - sealedValue_ = value; - onChanged(); - } else { - publicAccessBuilder_.setMessage(value); - } - sealedValueCase_ = 7; - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.PublicAccess public_access = 7; - */ - public Builder setPublicAccess( - com.sourcegraph.semanticdb_kotlinc.Semanticdb.PublicAccess.Builder builderForValue) { - if (publicAccessBuilder_ == null) { - sealedValue_ = builderForValue.build(); - onChanged(); - } else { - publicAccessBuilder_.setMessage(builderForValue.build()); - } - sealedValueCase_ = 7; - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.PublicAccess public_access = 7; - */ - public Builder mergePublicAccess(com.sourcegraph.semanticdb_kotlinc.Semanticdb.PublicAccess value) { - if (publicAccessBuilder_ == null) { - if (sealedValueCase_ == 7 && - sealedValue_ != com.sourcegraph.semanticdb_kotlinc.Semanticdb.PublicAccess.getDefaultInstance()) { - sealedValue_ = com.sourcegraph.semanticdb_kotlinc.Semanticdb.PublicAccess.newBuilder((com.sourcegraph.semanticdb_kotlinc.Semanticdb.PublicAccess) sealedValue_) - .mergeFrom(value).buildPartial(); - } else { - sealedValue_ = value; - } - onChanged(); - } else { - if (sealedValueCase_ == 7) { - publicAccessBuilder_.mergeFrom(value); - } - publicAccessBuilder_.setMessage(value); - } - sealedValueCase_ = 7; - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.PublicAccess public_access = 7; - */ - public Builder clearPublicAccess() { - if (publicAccessBuilder_ == null) { - if (sealedValueCase_ == 7) { - sealedValueCase_ = 0; - sealedValue_ = null; - onChanged(); - } - } else { - if (sealedValueCase_ == 7) { - sealedValueCase_ = 0; - sealedValue_ = null; - } - publicAccessBuilder_.clear(); - } - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.PublicAccess public_access = 7; - */ - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.PublicAccess.Builder getPublicAccessBuilder() { - return getPublicAccessFieldBuilder().getBuilder(); - } - /** - * .com.sourcegraph.semanticdb_kotlinc.PublicAccess public_access = 7; - */ - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.PublicAccessOrBuilder getPublicAccessOrBuilder() { - if ((sealedValueCase_ == 7) && (publicAccessBuilder_ != null)) { - return publicAccessBuilder_.getMessageOrBuilder(); - } else { - if (sealedValueCase_ == 7) { - return (com.sourcegraph.semanticdb_kotlinc.Semanticdb.PublicAccess) sealedValue_; - } - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.PublicAccess.getDefaultInstance(); - } - } - /** - * .com.sourcegraph.semanticdb_kotlinc.PublicAccess public_access = 7; - */ - private com.google.protobuf.SingleFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.PublicAccess, com.sourcegraph.semanticdb_kotlinc.Semanticdb.PublicAccess.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.PublicAccessOrBuilder> - getPublicAccessFieldBuilder() { - if (publicAccessBuilder_ == null) { - if (!(sealedValueCase_ == 7)) { - sealedValue_ = com.sourcegraph.semanticdb_kotlinc.Semanticdb.PublicAccess.getDefaultInstance(); - } - publicAccessBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.PublicAccess, com.sourcegraph.semanticdb_kotlinc.Semanticdb.PublicAccess.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.PublicAccessOrBuilder>( - (com.sourcegraph.semanticdb_kotlinc.Semanticdb.PublicAccess) sealedValue_, - getParentForChildren(), - isClean()); - sealedValue_ = null; - } - sealedValueCase_ = 7; - onChanged();; - return publicAccessBuilder_; - } - @java.lang.Override - public final Builder setUnknownFields( - final com.google.protobuf.UnknownFieldSet unknownFields) { - return super.setUnknownFields(unknownFields); - } - - @java.lang.Override - public final Builder mergeUnknownFields( - final com.google.protobuf.UnknownFieldSet unknownFields) { - return super.mergeUnknownFields(unknownFields); - } - - - // @@protoc_insertion_point(builder_scope:com.sourcegraph.semanticdb_kotlinc.Access) - } - - // @@protoc_insertion_point(class_scope:com.sourcegraph.semanticdb_kotlinc.Access) - private static final com.sourcegraph.semanticdb_kotlinc.Semanticdb.Access DEFAULT_INSTANCE; - static { - DEFAULT_INSTANCE = new com.sourcegraph.semanticdb_kotlinc.Semanticdb.Access(); - } - - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.Access getDefaultInstance() { - return DEFAULT_INSTANCE; - } - - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { - @java.lang.Override - public Access parsePartialFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return new Access(input, extensionRegistry); - } - }; - - public static com.google.protobuf.Parser parser() { - return PARSER; - } - - @java.lang.Override - public com.google.protobuf.Parser getParserForType() { - return PARSER; - } - - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Access getDefaultInstanceForType() { - return DEFAULT_INSTANCE; - } - - } - - public interface PrivateAccessOrBuilder extends - // @@protoc_insertion_point(interface_extends:com.sourcegraph.semanticdb_kotlinc.PrivateAccess) - com.google.protobuf.MessageOrBuilder { - } - /** - * Protobuf type {@code com.sourcegraph.semanticdb_kotlinc.PrivateAccess} - */ - public static final class PrivateAccess extends - com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:com.sourcegraph.semanticdb_kotlinc.PrivateAccess) - PrivateAccessOrBuilder { - private static final long serialVersionUID = 0L; - // Use PrivateAccess.newBuilder() to construct. - private PrivateAccess(com.google.protobuf.GeneratedMessageV3.Builder builder) { - super(builder); - } - private PrivateAccess() { - } - - @java.lang.Override - @SuppressWarnings({"unused"}) - protected java.lang.Object newInstance( - UnusedPrivateParameter unused) { - return new PrivateAccess(); - } - - @java.lang.Override - public final com.google.protobuf.UnknownFieldSet - getUnknownFields() { - return this.unknownFields; - } - private PrivateAccess( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - this(); - if (extensionRegistry == null) { - throw new java.lang.NullPointerException(); - } - com.google.protobuf.UnknownFieldSet.Builder unknownFields = - com.google.protobuf.UnknownFieldSet.newBuilder(); - try { - boolean done = false; - while (!done) { - int tag = input.readTag(); - switch (tag) { - case 0: - done = true; - break; - default: { - if (!parseUnknownField( - input, unknownFields, extensionRegistry, tag)) { - done = true; - } - break; - } - } - } - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.setUnfinishedMessage(this); - } catch (java.io.IOException e) { - throw new com.google.protobuf.InvalidProtocolBufferException( - e).setUnfinishedMessage(this); - } finally { - this.unknownFields = unknownFields.build(); - makeExtensionsImmutable(); - } - } - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_PrivateAccess_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internalGetFieldAccessorTable() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_PrivateAccess_fieldAccessorTable - .ensureFieldAccessorsInitialized( - com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateAccess.class, com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateAccess.Builder.class); - } - - private byte memoizedIsInitialized = -1; - @java.lang.Override - public final boolean isInitialized() { - byte isInitialized = memoizedIsInitialized; - if (isInitialized == 1) return true; - if (isInitialized == 0) return false; - - memoizedIsInitialized = 1; - return true; - } - - @java.lang.Override - public void writeTo(com.google.protobuf.CodedOutputStream output) - throws java.io.IOException { - unknownFields.writeTo(output); - } - - @java.lang.Override - public int getSerializedSize() { - int size = memoizedSize; - if (size != -1) return size; - - size = 0; - size += unknownFields.getSerializedSize(); - memoizedSize = size; - return size; - } - - @java.lang.Override - public boolean equals(final java.lang.Object obj) { - if (obj == this) { - return true; - } - if (!(obj instanceof com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateAccess)) { - return super.equals(obj); - } - com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateAccess other = (com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateAccess) obj; - - if (!unknownFields.equals(other.unknownFields)) return false; - return true; - } - - @java.lang.Override - public int hashCode() { - if (memoizedHashCode != 0) { - return memoizedHashCode; - } - int hash = 41; - hash = (19 * hash) + getDescriptor().hashCode(); - hash = (29 * hash) + unknownFields.hashCode(); - memoizedHashCode = hash; - return hash; - } - - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateAccess parseFrom( - java.nio.ByteBuffer data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateAccess parseFrom( - java.nio.ByteBuffer data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateAccess parseFrom( - com.google.protobuf.ByteString data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateAccess parseFrom( - com.google.protobuf.ByteString data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateAccess parseFrom(byte[] data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateAccess parseFrom( - byte[] data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateAccess parseFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateAccess parseFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateAccess parseDelimitedFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseDelimitedWithIOException(PARSER, input); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateAccess parseDelimitedFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseDelimitedWithIOException(PARSER, input, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateAccess parseFrom( - com.google.protobuf.CodedInputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateAccess parseFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input, extensionRegistry); - } - - @java.lang.Override - public Builder newBuilderForType() { return newBuilder(); } - public static Builder newBuilder() { - return DEFAULT_INSTANCE.toBuilder(); - } - public static Builder newBuilder(com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateAccess prototype) { - return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); - } - @java.lang.Override - public Builder toBuilder() { - return this == DEFAULT_INSTANCE - ? new Builder() : new Builder().mergeFrom(this); - } - - @java.lang.Override - protected Builder newBuilderForType( - com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { - Builder builder = new Builder(parent); - return builder; - } - /** - * Protobuf type {@code com.sourcegraph.semanticdb_kotlinc.PrivateAccess} - */ - public static final class Builder extends - com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:com.sourcegraph.semanticdb_kotlinc.PrivateAccess) - com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateAccessOrBuilder { - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_PrivateAccess_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internalGetFieldAccessorTable() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_PrivateAccess_fieldAccessorTable - .ensureFieldAccessorsInitialized( - com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateAccess.class, com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateAccess.Builder.class); - } - - // Construct using com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateAccess.newBuilder() - private Builder() { - maybeForceBuilderInitialization(); - } - - private Builder( - com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { - super(parent); - maybeForceBuilderInitialization(); - } - private void maybeForceBuilderInitialization() { - if (com.google.protobuf.GeneratedMessageV3 - .alwaysUseFieldBuilders) { - } - } - @java.lang.Override - public Builder clear() { - super.clear(); - return this; - } - - @java.lang.Override - public com.google.protobuf.Descriptors.Descriptor - getDescriptorForType() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_PrivateAccess_descriptor; - } - - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateAccess getDefaultInstanceForType() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateAccess.getDefaultInstance(); - } - - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateAccess build() { - com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateAccess result = buildPartial(); - if (!result.isInitialized()) { - throw newUninitializedMessageException(result); - } - return result; - } - - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateAccess buildPartial() { - com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateAccess result = new com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateAccess(this); - onBuilt(); - return result; - } - - @java.lang.Override - public Builder clone() { - return super.clone(); - } - @java.lang.Override - public Builder setField( - com.google.protobuf.Descriptors.FieldDescriptor field, - java.lang.Object value) { - return super.setField(field, value); - } - @java.lang.Override - public Builder clearField( - com.google.protobuf.Descriptors.FieldDescriptor field) { - return super.clearField(field); - } - @java.lang.Override - public Builder clearOneof( - com.google.protobuf.Descriptors.OneofDescriptor oneof) { - return super.clearOneof(oneof); - } - @java.lang.Override - public Builder setRepeatedField( - com.google.protobuf.Descriptors.FieldDescriptor field, - int index, java.lang.Object value) { - return super.setRepeatedField(field, index, value); - } - @java.lang.Override - public Builder addRepeatedField( - com.google.protobuf.Descriptors.FieldDescriptor field, - java.lang.Object value) { - return super.addRepeatedField(field, value); - } - @java.lang.Override - public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateAccess) { - return mergeFrom((com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateAccess)other); - } else { - super.mergeFrom(other); - return this; - } - } - - public Builder mergeFrom(com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateAccess other) { - if (other == com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateAccess.getDefaultInstance()) return this; - this.mergeUnknownFields(other.unknownFields); - onChanged(); - return this; - } - - @java.lang.Override - public final boolean isInitialized() { - return true; - } - - @java.lang.Override - public Builder mergeFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateAccess parsedMessage = null; - try { - parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateAccess) e.getUnfinishedMessage(); - throw e.unwrapIOException(); - } finally { - if (parsedMessage != null) { - mergeFrom(parsedMessage); - } - } - return this; - } - @java.lang.Override - public final Builder setUnknownFields( - final com.google.protobuf.UnknownFieldSet unknownFields) { - return super.setUnknownFields(unknownFields); - } - - @java.lang.Override - public final Builder mergeUnknownFields( - final com.google.protobuf.UnknownFieldSet unknownFields) { - return super.mergeUnknownFields(unknownFields); - } - - - // @@protoc_insertion_point(builder_scope:com.sourcegraph.semanticdb_kotlinc.PrivateAccess) - } - - // @@protoc_insertion_point(class_scope:com.sourcegraph.semanticdb_kotlinc.PrivateAccess) - private static final com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateAccess DEFAULT_INSTANCE; - static { - DEFAULT_INSTANCE = new com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateAccess(); - } - - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateAccess getDefaultInstance() { - return DEFAULT_INSTANCE; - } - - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { - @java.lang.Override - public PrivateAccess parsePartialFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return new PrivateAccess(input, extensionRegistry); - } - }; - - public static com.google.protobuf.Parser parser() { - return PARSER; - } - - @java.lang.Override - public com.google.protobuf.Parser getParserForType() { - return PARSER; - } - - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateAccess getDefaultInstanceForType() { - return DEFAULT_INSTANCE; - } - - } - - public interface PrivateWithinAccessOrBuilder extends - // @@protoc_insertion_point(interface_extends:com.sourcegraph.semanticdb_kotlinc.PrivateWithinAccess) - com.google.protobuf.MessageOrBuilder { - - /** - * string symbol = 1; - * @return The symbol. - */ - java.lang.String getSymbol(); - /** - * string symbol = 1; - * @return The bytes for symbol. - */ - com.google.protobuf.ByteString - getSymbolBytes(); - } - /** - * Protobuf type {@code com.sourcegraph.semanticdb_kotlinc.PrivateWithinAccess} - */ - public static final class PrivateWithinAccess extends - com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:com.sourcegraph.semanticdb_kotlinc.PrivateWithinAccess) - PrivateWithinAccessOrBuilder { - private static final long serialVersionUID = 0L; - // Use PrivateWithinAccess.newBuilder() to construct. - private PrivateWithinAccess(com.google.protobuf.GeneratedMessageV3.Builder builder) { - super(builder); - } - private PrivateWithinAccess() { - symbol_ = ""; - } - - @java.lang.Override - @SuppressWarnings({"unused"}) - protected java.lang.Object newInstance( - UnusedPrivateParameter unused) { - return new PrivateWithinAccess(); - } - - @java.lang.Override - public final com.google.protobuf.UnknownFieldSet - getUnknownFields() { - return this.unknownFields; - } - private PrivateWithinAccess( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - this(); - if (extensionRegistry == null) { - throw new java.lang.NullPointerException(); - } - com.google.protobuf.UnknownFieldSet.Builder unknownFields = - com.google.protobuf.UnknownFieldSet.newBuilder(); - try { - boolean done = false; - while (!done) { - int tag = input.readTag(); - switch (tag) { - case 0: - done = true; - break; - case 10: { - java.lang.String s = input.readStringRequireUtf8(); - - symbol_ = s; - break; - } - default: { - if (!parseUnknownField( - input, unknownFields, extensionRegistry, tag)) { - done = true; - } - break; - } - } - } - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.setUnfinishedMessage(this); - } catch (java.io.IOException e) { - throw new com.google.protobuf.InvalidProtocolBufferException( - e).setUnfinishedMessage(this); - } finally { - this.unknownFields = unknownFields.build(); - makeExtensionsImmutable(); - } - } - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_PrivateWithinAccess_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internalGetFieldAccessorTable() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_PrivateWithinAccess_fieldAccessorTable - .ensureFieldAccessorsInitialized( - com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateWithinAccess.class, com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateWithinAccess.Builder.class); - } - - public static final int SYMBOL_FIELD_NUMBER = 1; - private volatile java.lang.Object symbol_; - /** - * string symbol = 1; - * @return The symbol. - */ - @java.lang.Override - public java.lang.String getSymbol() { - java.lang.Object ref = symbol_; - if (ref instanceof java.lang.String) { - return (java.lang.String) ref; - } else { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - symbol_ = s; - return s; - } - } - /** - * string symbol = 1; - * @return The bytes for symbol. - */ - @java.lang.Override - public com.google.protobuf.ByteString - getSymbolBytes() { - java.lang.Object ref = symbol_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - symbol_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - - private byte memoizedIsInitialized = -1; - @java.lang.Override - public final boolean isInitialized() { - byte isInitialized = memoizedIsInitialized; - if (isInitialized == 1) return true; - if (isInitialized == 0) return false; - - memoizedIsInitialized = 1; - return true; - } - - @java.lang.Override - public void writeTo(com.google.protobuf.CodedOutputStream output) - throws java.io.IOException { - if (!getSymbolBytes().isEmpty()) { - com.google.protobuf.GeneratedMessageV3.writeString(output, 1, symbol_); - } - unknownFields.writeTo(output); - } - - @java.lang.Override - public int getSerializedSize() { - int size = memoizedSize; - if (size != -1) return size; - - size = 0; - if (!getSymbolBytes().isEmpty()) { - size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, symbol_); - } - size += unknownFields.getSerializedSize(); - memoizedSize = size; - return size; - } - - @java.lang.Override - public boolean equals(final java.lang.Object obj) { - if (obj == this) { - return true; - } - if (!(obj instanceof com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateWithinAccess)) { - return super.equals(obj); - } - com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateWithinAccess other = (com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateWithinAccess) obj; - - if (!getSymbol() - .equals(other.getSymbol())) return false; - if (!unknownFields.equals(other.unknownFields)) return false; - return true; - } - - @java.lang.Override - public int hashCode() { - if (memoizedHashCode != 0) { - return memoizedHashCode; - } - int hash = 41; - hash = (19 * hash) + getDescriptor().hashCode(); - hash = (37 * hash) + SYMBOL_FIELD_NUMBER; - hash = (53 * hash) + getSymbol().hashCode(); - hash = (29 * hash) + unknownFields.hashCode(); - memoizedHashCode = hash; - return hash; - } - - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateWithinAccess parseFrom( - java.nio.ByteBuffer data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateWithinAccess parseFrom( - java.nio.ByteBuffer data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateWithinAccess parseFrom( - com.google.protobuf.ByteString data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateWithinAccess parseFrom( - com.google.protobuf.ByteString data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateWithinAccess parseFrom(byte[] data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateWithinAccess parseFrom( - byte[] data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateWithinAccess parseFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateWithinAccess parseFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateWithinAccess parseDelimitedFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseDelimitedWithIOException(PARSER, input); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateWithinAccess parseDelimitedFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseDelimitedWithIOException(PARSER, input, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateWithinAccess parseFrom( - com.google.protobuf.CodedInputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateWithinAccess parseFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input, extensionRegistry); - } - - @java.lang.Override - public Builder newBuilderForType() { return newBuilder(); } - public static Builder newBuilder() { - return DEFAULT_INSTANCE.toBuilder(); - } - public static Builder newBuilder(com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateWithinAccess prototype) { - return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); - } - @java.lang.Override - public Builder toBuilder() { - return this == DEFAULT_INSTANCE - ? new Builder() : new Builder().mergeFrom(this); - } - - @java.lang.Override - protected Builder newBuilderForType( - com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { - Builder builder = new Builder(parent); - return builder; - } - /** - * Protobuf type {@code com.sourcegraph.semanticdb_kotlinc.PrivateWithinAccess} - */ - public static final class Builder extends - com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:com.sourcegraph.semanticdb_kotlinc.PrivateWithinAccess) - com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateWithinAccessOrBuilder { - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_PrivateWithinAccess_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internalGetFieldAccessorTable() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_PrivateWithinAccess_fieldAccessorTable - .ensureFieldAccessorsInitialized( - com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateWithinAccess.class, com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateWithinAccess.Builder.class); - } - - // Construct using com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateWithinAccess.newBuilder() - private Builder() { - maybeForceBuilderInitialization(); - } - - private Builder( - com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { - super(parent); - maybeForceBuilderInitialization(); - } - private void maybeForceBuilderInitialization() { - if (com.google.protobuf.GeneratedMessageV3 - .alwaysUseFieldBuilders) { - } - } - @java.lang.Override - public Builder clear() { - super.clear(); - symbol_ = ""; - - return this; - } - - @java.lang.Override - public com.google.protobuf.Descriptors.Descriptor - getDescriptorForType() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_PrivateWithinAccess_descriptor; - } - - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateWithinAccess getDefaultInstanceForType() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateWithinAccess.getDefaultInstance(); - } - - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateWithinAccess build() { - com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateWithinAccess result = buildPartial(); - if (!result.isInitialized()) { - throw newUninitializedMessageException(result); - } - return result; - } - - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateWithinAccess buildPartial() { - com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateWithinAccess result = new com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateWithinAccess(this); - result.symbol_ = symbol_; - onBuilt(); - return result; - } - - @java.lang.Override - public Builder clone() { - return super.clone(); - } - @java.lang.Override - public Builder setField( - com.google.protobuf.Descriptors.FieldDescriptor field, - java.lang.Object value) { - return super.setField(field, value); - } - @java.lang.Override - public Builder clearField( - com.google.protobuf.Descriptors.FieldDescriptor field) { - return super.clearField(field); - } - @java.lang.Override - public Builder clearOneof( - com.google.protobuf.Descriptors.OneofDescriptor oneof) { - return super.clearOneof(oneof); - } - @java.lang.Override - public Builder setRepeatedField( - com.google.protobuf.Descriptors.FieldDescriptor field, - int index, java.lang.Object value) { - return super.setRepeatedField(field, index, value); - } - @java.lang.Override - public Builder addRepeatedField( - com.google.protobuf.Descriptors.FieldDescriptor field, - java.lang.Object value) { - return super.addRepeatedField(field, value); - } - @java.lang.Override - public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateWithinAccess) { - return mergeFrom((com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateWithinAccess)other); - } else { - super.mergeFrom(other); - return this; - } - } - - public Builder mergeFrom(com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateWithinAccess other) { - if (other == com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateWithinAccess.getDefaultInstance()) return this; - if (!other.getSymbol().isEmpty()) { - symbol_ = other.symbol_; - onChanged(); - } - this.mergeUnknownFields(other.unknownFields); - onChanged(); - return this; - } - - @java.lang.Override - public final boolean isInitialized() { - return true; - } - - @java.lang.Override - public Builder mergeFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateWithinAccess parsedMessage = null; - try { - parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateWithinAccess) e.getUnfinishedMessage(); - throw e.unwrapIOException(); - } finally { - if (parsedMessage != null) { - mergeFrom(parsedMessage); - } - } - return this; - } - - private java.lang.Object symbol_ = ""; - /** - * string symbol = 1; - * @return The symbol. - */ - public java.lang.String getSymbol() { - java.lang.Object ref = symbol_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - symbol_ = s; - return s; - } else { - return (java.lang.String) ref; - } - } - /** - * string symbol = 1; - * @return The bytes for symbol. - */ - public com.google.protobuf.ByteString - getSymbolBytes() { - java.lang.Object ref = symbol_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - symbol_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - /** - * string symbol = 1; - * @param value The symbol to set. - * @return This builder for chaining. - */ - public Builder setSymbol( - java.lang.String value) { - if (value == null) { - throw new NullPointerException(); - } - - symbol_ = value; - onChanged(); - return this; - } - /** - * string symbol = 1; - * @return This builder for chaining. - */ - public Builder clearSymbol() { - - symbol_ = getDefaultInstance().getSymbol(); - onChanged(); - return this; - } - /** - * string symbol = 1; - * @param value The bytes for symbol to set. - * @return This builder for chaining. - */ - public Builder setSymbolBytes( - com.google.protobuf.ByteString value) { - if (value == null) { - throw new NullPointerException(); - } - checkByteStringIsUtf8(value); - - symbol_ = value; - onChanged(); - return this; - } - @java.lang.Override - public final Builder setUnknownFields( - final com.google.protobuf.UnknownFieldSet unknownFields) { - return super.setUnknownFields(unknownFields); - } - - @java.lang.Override - public final Builder mergeUnknownFields( - final com.google.protobuf.UnknownFieldSet unknownFields) { - return super.mergeUnknownFields(unknownFields); - } - - - // @@protoc_insertion_point(builder_scope:com.sourcegraph.semanticdb_kotlinc.PrivateWithinAccess) - } - - // @@protoc_insertion_point(class_scope:com.sourcegraph.semanticdb_kotlinc.PrivateWithinAccess) - private static final com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateWithinAccess DEFAULT_INSTANCE; - static { - DEFAULT_INSTANCE = new com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateWithinAccess(); - } - - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateWithinAccess getDefaultInstance() { - return DEFAULT_INSTANCE; - } - - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { - @java.lang.Override - public PrivateWithinAccess parsePartialFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return new PrivateWithinAccess(input, extensionRegistry); - } - }; - - public static com.google.protobuf.Parser parser() { - return PARSER; - } - - @java.lang.Override - public com.google.protobuf.Parser getParserForType() { - return PARSER; - } - - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.PrivateWithinAccess getDefaultInstanceForType() { - return DEFAULT_INSTANCE; - } - - } - - public interface ProtectedAccessOrBuilder extends - // @@protoc_insertion_point(interface_extends:com.sourcegraph.semanticdb_kotlinc.ProtectedAccess) - com.google.protobuf.MessageOrBuilder { - } - /** - * Protobuf type {@code com.sourcegraph.semanticdb_kotlinc.ProtectedAccess} - */ - public static final class ProtectedAccess extends - com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:com.sourcegraph.semanticdb_kotlinc.ProtectedAccess) - ProtectedAccessOrBuilder { - private static final long serialVersionUID = 0L; - // Use ProtectedAccess.newBuilder() to construct. - private ProtectedAccess(com.google.protobuf.GeneratedMessageV3.Builder builder) { - super(builder); - } - private ProtectedAccess() { - } - - @java.lang.Override - @SuppressWarnings({"unused"}) - protected java.lang.Object newInstance( - UnusedPrivateParameter unused) { - return new ProtectedAccess(); - } - - @java.lang.Override - public final com.google.protobuf.UnknownFieldSet - getUnknownFields() { - return this.unknownFields; - } - private ProtectedAccess( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - this(); - if (extensionRegistry == null) { - throw new java.lang.NullPointerException(); - } - com.google.protobuf.UnknownFieldSet.Builder unknownFields = - com.google.protobuf.UnknownFieldSet.newBuilder(); - try { - boolean done = false; - while (!done) { - int tag = input.readTag(); - switch (tag) { - case 0: - done = true; - break; - default: { - if (!parseUnknownField( - input, unknownFields, extensionRegistry, tag)) { - done = true; - } - break; - } - } - } - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.setUnfinishedMessage(this); - } catch (java.io.IOException e) { - throw new com.google.protobuf.InvalidProtocolBufferException( - e).setUnfinishedMessage(this); - } finally { - this.unknownFields = unknownFields.build(); - makeExtensionsImmutable(); - } - } - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_ProtectedAccess_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internalGetFieldAccessorTable() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_ProtectedAccess_fieldAccessorTable - .ensureFieldAccessorsInitialized( - com.sourcegraph.semanticdb_kotlinc.Semanticdb.ProtectedAccess.class, com.sourcegraph.semanticdb_kotlinc.Semanticdb.ProtectedAccess.Builder.class); - } - - private byte memoizedIsInitialized = -1; - @java.lang.Override - public final boolean isInitialized() { - byte isInitialized = memoizedIsInitialized; - if (isInitialized == 1) return true; - if (isInitialized == 0) return false; - - memoizedIsInitialized = 1; - return true; - } - - @java.lang.Override - public void writeTo(com.google.protobuf.CodedOutputStream output) - throws java.io.IOException { - unknownFields.writeTo(output); - } - - @java.lang.Override - public int getSerializedSize() { - int size = memoizedSize; - if (size != -1) return size; - - size = 0; - size += unknownFields.getSerializedSize(); - memoizedSize = size; - return size; - } - - @java.lang.Override - public boolean equals(final java.lang.Object obj) { - if (obj == this) { - return true; - } - if (!(obj instanceof com.sourcegraph.semanticdb_kotlinc.Semanticdb.ProtectedAccess)) { - return super.equals(obj); - } - com.sourcegraph.semanticdb_kotlinc.Semanticdb.ProtectedAccess other = (com.sourcegraph.semanticdb_kotlinc.Semanticdb.ProtectedAccess) obj; - - if (!unknownFields.equals(other.unknownFields)) return false; - return true; - } - - @java.lang.Override - public int hashCode() { - if (memoizedHashCode != 0) { - return memoizedHashCode; - } - int hash = 41; - hash = (19 * hash) + getDescriptor().hashCode(); - hash = (29 * hash) + unknownFields.hashCode(); - memoizedHashCode = hash; - return hash; - } - - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.ProtectedAccess parseFrom( - java.nio.ByteBuffer data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.ProtectedAccess parseFrom( - java.nio.ByteBuffer data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.ProtectedAccess parseFrom( - com.google.protobuf.ByteString data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.ProtectedAccess parseFrom( - com.google.protobuf.ByteString data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.ProtectedAccess parseFrom(byte[] data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.ProtectedAccess parseFrom( - byte[] data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.ProtectedAccess parseFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.ProtectedAccess parseFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.ProtectedAccess parseDelimitedFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseDelimitedWithIOException(PARSER, input); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.ProtectedAccess parseDelimitedFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseDelimitedWithIOException(PARSER, input, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.ProtectedAccess parseFrom( - com.google.protobuf.CodedInputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.ProtectedAccess parseFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input, extensionRegistry); - } - - @java.lang.Override - public Builder newBuilderForType() { return newBuilder(); } - public static Builder newBuilder() { - return DEFAULT_INSTANCE.toBuilder(); - } - public static Builder newBuilder(com.sourcegraph.semanticdb_kotlinc.Semanticdb.ProtectedAccess prototype) { - return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); - } - @java.lang.Override - public Builder toBuilder() { - return this == DEFAULT_INSTANCE - ? new Builder() : new Builder().mergeFrom(this); - } - - @java.lang.Override - protected Builder newBuilderForType( - com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { - Builder builder = new Builder(parent); - return builder; - } - /** - * Protobuf type {@code com.sourcegraph.semanticdb_kotlinc.ProtectedAccess} - */ - public static final class Builder extends - com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:com.sourcegraph.semanticdb_kotlinc.ProtectedAccess) - com.sourcegraph.semanticdb_kotlinc.Semanticdb.ProtectedAccessOrBuilder { - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_ProtectedAccess_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internalGetFieldAccessorTable() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_ProtectedAccess_fieldAccessorTable - .ensureFieldAccessorsInitialized( - com.sourcegraph.semanticdb_kotlinc.Semanticdb.ProtectedAccess.class, com.sourcegraph.semanticdb_kotlinc.Semanticdb.ProtectedAccess.Builder.class); - } - - // Construct using com.sourcegraph.semanticdb_kotlinc.Semanticdb.ProtectedAccess.newBuilder() - private Builder() { - maybeForceBuilderInitialization(); - } - - private Builder( - com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { - super(parent); - maybeForceBuilderInitialization(); - } - private void maybeForceBuilderInitialization() { - if (com.google.protobuf.GeneratedMessageV3 - .alwaysUseFieldBuilders) { - } - } - @java.lang.Override - public Builder clear() { - super.clear(); - return this; - } - - @java.lang.Override - public com.google.protobuf.Descriptors.Descriptor - getDescriptorForType() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_ProtectedAccess_descriptor; - } - - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.ProtectedAccess getDefaultInstanceForType() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.ProtectedAccess.getDefaultInstance(); - } - - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.ProtectedAccess build() { - com.sourcegraph.semanticdb_kotlinc.Semanticdb.ProtectedAccess result = buildPartial(); - if (!result.isInitialized()) { - throw newUninitializedMessageException(result); - } - return result; - } - - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.ProtectedAccess buildPartial() { - com.sourcegraph.semanticdb_kotlinc.Semanticdb.ProtectedAccess result = new com.sourcegraph.semanticdb_kotlinc.Semanticdb.ProtectedAccess(this); - onBuilt(); - return result; - } - - @java.lang.Override - public Builder clone() { - return super.clone(); - } - @java.lang.Override - public Builder setField( - com.google.protobuf.Descriptors.FieldDescriptor field, - java.lang.Object value) { - return super.setField(field, value); - } - @java.lang.Override - public Builder clearField( - com.google.protobuf.Descriptors.FieldDescriptor field) { - return super.clearField(field); - } - @java.lang.Override - public Builder clearOneof( - com.google.protobuf.Descriptors.OneofDescriptor oneof) { - return super.clearOneof(oneof); - } - @java.lang.Override - public Builder setRepeatedField( - com.google.protobuf.Descriptors.FieldDescriptor field, - int index, java.lang.Object value) { - return super.setRepeatedField(field, index, value); - } - @java.lang.Override - public Builder addRepeatedField( - com.google.protobuf.Descriptors.FieldDescriptor field, - java.lang.Object value) { - return super.addRepeatedField(field, value); - } - @java.lang.Override - public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof com.sourcegraph.semanticdb_kotlinc.Semanticdb.ProtectedAccess) { - return mergeFrom((com.sourcegraph.semanticdb_kotlinc.Semanticdb.ProtectedAccess)other); - } else { - super.mergeFrom(other); - return this; - } - } - - public Builder mergeFrom(com.sourcegraph.semanticdb_kotlinc.Semanticdb.ProtectedAccess other) { - if (other == com.sourcegraph.semanticdb_kotlinc.Semanticdb.ProtectedAccess.getDefaultInstance()) return this; - this.mergeUnknownFields(other.unknownFields); - onChanged(); - return this; - } - - @java.lang.Override - public final boolean isInitialized() { - return true; - } - - @java.lang.Override - public Builder mergeFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - com.sourcegraph.semanticdb_kotlinc.Semanticdb.ProtectedAccess parsedMessage = null; - try { - parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (com.sourcegraph.semanticdb_kotlinc.Semanticdb.ProtectedAccess) e.getUnfinishedMessage(); - throw e.unwrapIOException(); - } finally { - if (parsedMessage != null) { - mergeFrom(parsedMessage); - } - } - return this; - } - @java.lang.Override - public final Builder setUnknownFields( - final com.google.protobuf.UnknownFieldSet unknownFields) { - return super.setUnknownFields(unknownFields); - } - - @java.lang.Override - public final Builder mergeUnknownFields( - final com.google.protobuf.UnknownFieldSet unknownFields) { - return super.mergeUnknownFields(unknownFields); - } - - - // @@protoc_insertion_point(builder_scope:com.sourcegraph.semanticdb_kotlinc.ProtectedAccess) - } - - // @@protoc_insertion_point(class_scope:com.sourcegraph.semanticdb_kotlinc.ProtectedAccess) - private static final com.sourcegraph.semanticdb_kotlinc.Semanticdb.ProtectedAccess DEFAULT_INSTANCE; - static { - DEFAULT_INSTANCE = new com.sourcegraph.semanticdb_kotlinc.Semanticdb.ProtectedAccess(); - } - - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.ProtectedAccess getDefaultInstance() { - return DEFAULT_INSTANCE; - } - - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { - @java.lang.Override - public ProtectedAccess parsePartialFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return new ProtectedAccess(input, extensionRegistry); - } - }; - - public static com.google.protobuf.Parser parser() { - return PARSER; - } - - @java.lang.Override - public com.google.protobuf.Parser getParserForType() { - return PARSER; - } - - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.ProtectedAccess getDefaultInstanceForType() { - return DEFAULT_INSTANCE; - } - - } - - public interface PublicAccessOrBuilder extends - // @@protoc_insertion_point(interface_extends:com.sourcegraph.semanticdb_kotlinc.PublicAccess) - com.google.protobuf.MessageOrBuilder { - } - /** - * Protobuf type {@code com.sourcegraph.semanticdb_kotlinc.PublicAccess} - */ - public static final class PublicAccess extends - com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:com.sourcegraph.semanticdb_kotlinc.PublicAccess) - PublicAccessOrBuilder { - private static final long serialVersionUID = 0L; - // Use PublicAccess.newBuilder() to construct. - private PublicAccess(com.google.protobuf.GeneratedMessageV3.Builder builder) { - super(builder); - } - private PublicAccess() { - } - - @java.lang.Override - @SuppressWarnings({"unused"}) - protected java.lang.Object newInstance( - UnusedPrivateParameter unused) { - return new PublicAccess(); - } - - @java.lang.Override - public final com.google.protobuf.UnknownFieldSet - getUnknownFields() { - return this.unknownFields; - } - private PublicAccess( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - this(); - if (extensionRegistry == null) { - throw new java.lang.NullPointerException(); - } - com.google.protobuf.UnknownFieldSet.Builder unknownFields = - com.google.protobuf.UnknownFieldSet.newBuilder(); - try { - boolean done = false; - while (!done) { - int tag = input.readTag(); - switch (tag) { - case 0: - done = true; - break; - default: { - if (!parseUnknownField( - input, unknownFields, extensionRegistry, tag)) { - done = true; - } - break; - } - } - } - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.setUnfinishedMessage(this); - } catch (java.io.IOException e) { - throw new com.google.protobuf.InvalidProtocolBufferException( - e).setUnfinishedMessage(this); - } finally { - this.unknownFields = unknownFields.build(); - makeExtensionsImmutable(); - } - } - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_PublicAccess_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internalGetFieldAccessorTable() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_PublicAccess_fieldAccessorTable - .ensureFieldAccessorsInitialized( - com.sourcegraph.semanticdb_kotlinc.Semanticdb.PublicAccess.class, com.sourcegraph.semanticdb_kotlinc.Semanticdb.PublicAccess.Builder.class); - } - - private byte memoizedIsInitialized = -1; - @java.lang.Override - public final boolean isInitialized() { - byte isInitialized = memoizedIsInitialized; - if (isInitialized == 1) return true; - if (isInitialized == 0) return false; - - memoizedIsInitialized = 1; - return true; - } - - @java.lang.Override - public void writeTo(com.google.protobuf.CodedOutputStream output) - throws java.io.IOException { - unknownFields.writeTo(output); - } - - @java.lang.Override - public int getSerializedSize() { - int size = memoizedSize; - if (size != -1) return size; - - size = 0; - size += unknownFields.getSerializedSize(); - memoizedSize = size; - return size; - } - - @java.lang.Override - public boolean equals(final java.lang.Object obj) { - if (obj == this) { - return true; - } - if (!(obj instanceof com.sourcegraph.semanticdb_kotlinc.Semanticdb.PublicAccess)) { - return super.equals(obj); - } - com.sourcegraph.semanticdb_kotlinc.Semanticdb.PublicAccess other = (com.sourcegraph.semanticdb_kotlinc.Semanticdb.PublicAccess) obj; - - if (!unknownFields.equals(other.unknownFields)) return false; - return true; - } - - @java.lang.Override - public int hashCode() { - if (memoizedHashCode != 0) { - return memoizedHashCode; - } - int hash = 41; - hash = (19 * hash) + getDescriptor().hashCode(); - hash = (29 * hash) + unknownFields.hashCode(); - memoizedHashCode = hash; - return hash; - } - - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.PublicAccess parseFrom( - java.nio.ByteBuffer data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.PublicAccess parseFrom( - java.nio.ByteBuffer data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.PublicAccess parseFrom( - com.google.protobuf.ByteString data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.PublicAccess parseFrom( - com.google.protobuf.ByteString data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.PublicAccess parseFrom(byte[] data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.PublicAccess parseFrom( - byte[] data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.PublicAccess parseFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.PublicAccess parseFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.PublicAccess parseDelimitedFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseDelimitedWithIOException(PARSER, input); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.PublicAccess parseDelimitedFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseDelimitedWithIOException(PARSER, input, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.PublicAccess parseFrom( - com.google.protobuf.CodedInputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.PublicAccess parseFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input, extensionRegistry); - } - - @java.lang.Override - public Builder newBuilderForType() { return newBuilder(); } - public static Builder newBuilder() { - return DEFAULT_INSTANCE.toBuilder(); - } - public static Builder newBuilder(com.sourcegraph.semanticdb_kotlinc.Semanticdb.PublicAccess prototype) { - return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); - } - @java.lang.Override - public Builder toBuilder() { - return this == DEFAULT_INSTANCE - ? new Builder() : new Builder().mergeFrom(this); - } - - @java.lang.Override - protected Builder newBuilderForType( - com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { - Builder builder = new Builder(parent); - return builder; - } - /** - * Protobuf type {@code com.sourcegraph.semanticdb_kotlinc.PublicAccess} - */ - public static final class Builder extends - com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:com.sourcegraph.semanticdb_kotlinc.PublicAccess) - com.sourcegraph.semanticdb_kotlinc.Semanticdb.PublicAccessOrBuilder { - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_PublicAccess_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internalGetFieldAccessorTable() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_PublicAccess_fieldAccessorTable - .ensureFieldAccessorsInitialized( - com.sourcegraph.semanticdb_kotlinc.Semanticdb.PublicAccess.class, com.sourcegraph.semanticdb_kotlinc.Semanticdb.PublicAccess.Builder.class); - } - - // Construct using com.sourcegraph.semanticdb_kotlinc.Semanticdb.PublicAccess.newBuilder() - private Builder() { - maybeForceBuilderInitialization(); - } - - private Builder( - com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { - super(parent); - maybeForceBuilderInitialization(); - } - private void maybeForceBuilderInitialization() { - if (com.google.protobuf.GeneratedMessageV3 - .alwaysUseFieldBuilders) { - } - } - @java.lang.Override - public Builder clear() { - super.clear(); - return this; - } - - @java.lang.Override - public com.google.protobuf.Descriptors.Descriptor - getDescriptorForType() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_PublicAccess_descriptor; - } - - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.PublicAccess getDefaultInstanceForType() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.PublicAccess.getDefaultInstance(); - } - - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.PublicAccess build() { - com.sourcegraph.semanticdb_kotlinc.Semanticdb.PublicAccess result = buildPartial(); - if (!result.isInitialized()) { - throw newUninitializedMessageException(result); - } - return result; - } - - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.PublicAccess buildPartial() { - com.sourcegraph.semanticdb_kotlinc.Semanticdb.PublicAccess result = new com.sourcegraph.semanticdb_kotlinc.Semanticdb.PublicAccess(this); - onBuilt(); - return result; - } - - @java.lang.Override - public Builder clone() { - return super.clone(); - } - @java.lang.Override - public Builder setField( - com.google.protobuf.Descriptors.FieldDescriptor field, - java.lang.Object value) { - return super.setField(field, value); - } - @java.lang.Override - public Builder clearField( - com.google.protobuf.Descriptors.FieldDescriptor field) { - return super.clearField(field); - } - @java.lang.Override - public Builder clearOneof( - com.google.protobuf.Descriptors.OneofDescriptor oneof) { - return super.clearOneof(oneof); - } - @java.lang.Override - public Builder setRepeatedField( - com.google.protobuf.Descriptors.FieldDescriptor field, - int index, java.lang.Object value) { - return super.setRepeatedField(field, index, value); - } - @java.lang.Override - public Builder addRepeatedField( - com.google.protobuf.Descriptors.FieldDescriptor field, - java.lang.Object value) { - return super.addRepeatedField(field, value); - } - @java.lang.Override - public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof com.sourcegraph.semanticdb_kotlinc.Semanticdb.PublicAccess) { - return mergeFrom((com.sourcegraph.semanticdb_kotlinc.Semanticdb.PublicAccess)other); - } else { - super.mergeFrom(other); - return this; - } - } - - public Builder mergeFrom(com.sourcegraph.semanticdb_kotlinc.Semanticdb.PublicAccess other) { - if (other == com.sourcegraph.semanticdb_kotlinc.Semanticdb.PublicAccess.getDefaultInstance()) return this; - this.mergeUnknownFields(other.unknownFields); - onChanged(); - return this; - } - - @java.lang.Override - public final boolean isInitialized() { - return true; - } - - @java.lang.Override - public Builder mergeFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - com.sourcegraph.semanticdb_kotlinc.Semanticdb.PublicAccess parsedMessage = null; - try { - parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (com.sourcegraph.semanticdb_kotlinc.Semanticdb.PublicAccess) e.getUnfinishedMessage(); - throw e.unwrapIOException(); - } finally { - if (parsedMessage != null) { - mergeFrom(parsedMessage); - } - } - return this; - } - @java.lang.Override - public final Builder setUnknownFields( - final com.google.protobuf.UnknownFieldSet unknownFields) { - return super.setUnknownFields(unknownFields); - } - - @java.lang.Override - public final Builder mergeUnknownFields( - final com.google.protobuf.UnknownFieldSet unknownFields) { - return super.mergeUnknownFields(unknownFields); - } - - - // @@protoc_insertion_point(builder_scope:com.sourcegraph.semanticdb_kotlinc.PublicAccess) - } - - // @@protoc_insertion_point(class_scope:com.sourcegraph.semanticdb_kotlinc.PublicAccess) - private static final com.sourcegraph.semanticdb_kotlinc.Semanticdb.PublicAccess DEFAULT_INSTANCE; - static { - DEFAULT_INSTANCE = new com.sourcegraph.semanticdb_kotlinc.Semanticdb.PublicAccess(); - } - - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.PublicAccess getDefaultInstance() { - return DEFAULT_INSTANCE; - } - - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { - @java.lang.Override - public PublicAccess parsePartialFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return new PublicAccess(input, extensionRegistry); - } - }; - - public static com.google.protobuf.Parser parser() { - return PARSER; - } - - @java.lang.Override - public com.google.protobuf.Parser getParserForType() { - return PARSER; - } - - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.PublicAccess getDefaultInstanceForType() { - return DEFAULT_INSTANCE; - } - - } - - public interface DocumentationOrBuilder extends - // @@protoc_insertion_point(interface_extends:com.sourcegraph.semanticdb_kotlinc.Documentation) - com.google.protobuf.MessageOrBuilder { - - /** - * string message = 1; - * @return The message. - */ - java.lang.String getMessage(); - /** - * string message = 1; - * @return The bytes for message. - */ - com.google.protobuf.ByteString - getMessageBytes(); - - /** - * .com.sourcegraph.semanticdb_kotlinc.Documentation.Format format = 2; - * @return The enum numeric value on the wire for format. - */ - int getFormatValue(); - /** - * .com.sourcegraph.semanticdb_kotlinc.Documentation.Format format = 2; - * @return The format. - */ - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Documentation.Format getFormat(); - } - /** - * Protobuf type {@code com.sourcegraph.semanticdb_kotlinc.Documentation} - */ - public static final class Documentation extends - com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:com.sourcegraph.semanticdb_kotlinc.Documentation) - DocumentationOrBuilder { - private static final long serialVersionUID = 0L; - // Use Documentation.newBuilder() to construct. - private Documentation(com.google.protobuf.GeneratedMessageV3.Builder builder) { - super(builder); - } - private Documentation() { - message_ = ""; - format_ = 0; - } - - @java.lang.Override - @SuppressWarnings({"unused"}) - protected java.lang.Object newInstance( - UnusedPrivateParameter unused) { - return new Documentation(); - } - - @java.lang.Override - public final com.google.protobuf.UnknownFieldSet - getUnknownFields() { - return this.unknownFields; - } - private Documentation( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - this(); - if (extensionRegistry == null) { - throw new java.lang.NullPointerException(); - } - com.google.protobuf.UnknownFieldSet.Builder unknownFields = - com.google.protobuf.UnknownFieldSet.newBuilder(); - try { - boolean done = false; - while (!done) { - int tag = input.readTag(); - switch (tag) { - case 0: - done = true; - break; - case 10: { - java.lang.String s = input.readStringRequireUtf8(); - - message_ = s; - break; - } - case 16: { - int rawValue = input.readEnum(); - - format_ = rawValue; - break; - } - default: { - if (!parseUnknownField( - input, unknownFields, extensionRegistry, tag)) { - done = true; - } - break; - } - } - } - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.setUnfinishedMessage(this); - } catch (java.io.IOException e) { - throw new com.google.protobuf.InvalidProtocolBufferException( - e).setUnfinishedMessage(this); - } finally { - this.unknownFields = unknownFields.build(); - makeExtensionsImmutable(); - } - } - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_Documentation_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internalGetFieldAccessorTable() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_Documentation_fieldAccessorTable - .ensureFieldAccessorsInitialized( - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Documentation.class, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Documentation.Builder.class); - } - - /** - * Protobuf enum {@code com.sourcegraph.semanticdb_kotlinc.Documentation.Format} - */ - public enum Format - implements com.google.protobuf.ProtocolMessageEnum { - /** - * HTML = 0; - */ - HTML(0), - /** - * MARKDOWN = 1; - */ - MARKDOWN(1), - /** - * JAVADOC = 2; - */ - JAVADOC(2), - /** - * SCALADOC = 3; - */ - SCALADOC(3), - /** - * KDOC = 4; - */ - KDOC(4), - UNRECOGNIZED(-1), - ; - - /** - * HTML = 0; - */ - public static final int HTML_VALUE = 0; - /** - * MARKDOWN = 1; - */ - public static final int MARKDOWN_VALUE = 1; - /** - * JAVADOC = 2; - */ - public static final int JAVADOC_VALUE = 2; - /** - * SCALADOC = 3; - */ - public static final int SCALADOC_VALUE = 3; - /** - * KDOC = 4; - */ - public static final int KDOC_VALUE = 4; - - - public final int getNumber() { - if (this == UNRECOGNIZED) { - throw new java.lang.IllegalArgumentException( - "Can't get the number of an unknown enum value."); - } - return value; - } - - /** - * @param value The numeric wire value of the corresponding enum entry. - * @return The enum associated with the given numeric wire value. - * @deprecated Use {@link #forNumber(int)} instead. - */ - @java.lang.Deprecated - public static Format valueOf(int value) { - return forNumber(value); - } - - /** - * @param value The numeric wire value of the corresponding enum entry. - * @return The enum associated with the given numeric wire value. - */ - public static Format forNumber(int value) { - switch (value) { - case 0: return HTML; - case 1: return MARKDOWN; - case 2: return JAVADOC; - case 3: return SCALADOC; - case 4: return KDOC; - default: return null; - } - } - - public static com.google.protobuf.Internal.EnumLiteMap - internalGetValueMap() { - return internalValueMap; - } - private static final com.google.protobuf.Internal.EnumLiteMap< - Format> internalValueMap = - new com.google.protobuf.Internal.EnumLiteMap() { - public Format findValueByNumber(int number) { - return Format.forNumber(number); - } - }; - - public final com.google.protobuf.Descriptors.EnumValueDescriptor - getValueDescriptor() { - if (this == UNRECOGNIZED) { - throw new java.lang.IllegalStateException( - "Can't get the descriptor of an unrecognized enum value."); - } - return getDescriptor().getValues().get(ordinal()); - } - public final com.google.protobuf.Descriptors.EnumDescriptor - getDescriptorForType() { - return getDescriptor(); - } - public static final com.google.protobuf.Descriptors.EnumDescriptor - getDescriptor() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.Documentation.getDescriptor().getEnumTypes().get(0); - } - - private static final Format[] VALUES = values(); - - public static Format valueOf( - com.google.protobuf.Descriptors.EnumValueDescriptor desc) { - if (desc.getType() != getDescriptor()) { - throw new java.lang.IllegalArgumentException( - "EnumValueDescriptor is not for this type."); - } - if (desc.getIndex() == -1) { - return UNRECOGNIZED; - } - return VALUES[desc.getIndex()]; - } - - private final int value; - - private Format(int value) { - this.value = value; - } - - // @@protoc_insertion_point(enum_scope:com.sourcegraph.semanticdb_kotlinc.Documentation.Format) - } - - public static final int MESSAGE_FIELD_NUMBER = 1; - private volatile java.lang.Object message_; - /** - * string message = 1; - * @return The message. - */ - @java.lang.Override - public java.lang.String getMessage() { - java.lang.Object ref = message_; - if (ref instanceof java.lang.String) { - return (java.lang.String) ref; - } else { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - message_ = s; - return s; - } - } - /** - * string message = 1; - * @return The bytes for message. - */ - @java.lang.Override - public com.google.protobuf.ByteString - getMessageBytes() { - java.lang.Object ref = message_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - message_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - - public static final int FORMAT_FIELD_NUMBER = 2; - private int format_; - /** - * .com.sourcegraph.semanticdb_kotlinc.Documentation.Format format = 2; - * @return The enum numeric value on the wire for format. - */ - @java.lang.Override public int getFormatValue() { - return format_; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Documentation.Format format = 2; - * @return The format. - */ - @java.lang.Override public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Documentation.Format getFormat() { - @SuppressWarnings("deprecation") - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Documentation.Format result = com.sourcegraph.semanticdb_kotlinc.Semanticdb.Documentation.Format.valueOf(format_); - return result == null ? com.sourcegraph.semanticdb_kotlinc.Semanticdb.Documentation.Format.UNRECOGNIZED : result; - } - - private byte memoizedIsInitialized = -1; - @java.lang.Override - public final boolean isInitialized() { - byte isInitialized = memoizedIsInitialized; - if (isInitialized == 1) return true; - if (isInitialized == 0) return false; - - memoizedIsInitialized = 1; - return true; - } - - @java.lang.Override - public void writeTo(com.google.protobuf.CodedOutputStream output) - throws java.io.IOException { - if (!getMessageBytes().isEmpty()) { - com.google.protobuf.GeneratedMessageV3.writeString(output, 1, message_); - } - if (format_ != com.sourcegraph.semanticdb_kotlinc.Semanticdb.Documentation.Format.HTML.getNumber()) { - output.writeEnum(2, format_); - } - unknownFields.writeTo(output); - } - - @java.lang.Override - public int getSerializedSize() { - int size = memoizedSize; - if (size != -1) return size; - - size = 0; - if (!getMessageBytes().isEmpty()) { - size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, message_); - } - if (format_ != com.sourcegraph.semanticdb_kotlinc.Semanticdb.Documentation.Format.HTML.getNumber()) { - size += com.google.protobuf.CodedOutputStream - .computeEnumSize(2, format_); - } - size += unknownFields.getSerializedSize(); - memoizedSize = size; - return size; - } - - @java.lang.Override - public boolean equals(final java.lang.Object obj) { - if (obj == this) { - return true; - } - if (!(obj instanceof com.sourcegraph.semanticdb_kotlinc.Semanticdb.Documentation)) { - return super.equals(obj); - } - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Documentation other = (com.sourcegraph.semanticdb_kotlinc.Semanticdb.Documentation) obj; - - if (!getMessage() - .equals(other.getMessage())) return false; - if (format_ != other.format_) return false; - if (!unknownFields.equals(other.unknownFields)) return false; - return true; - } - - @java.lang.Override - public int hashCode() { - if (memoizedHashCode != 0) { - return memoizedHashCode; - } - int hash = 41; - hash = (19 * hash) + getDescriptor().hashCode(); - hash = (37 * hash) + MESSAGE_FIELD_NUMBER; - hash = (53 * hash) + getMessage().hashCode(); - hash = (37 * hash) + FORMAT_FIELD_NUMBER; - hash = (53 * hash) + format_; - hash = (29 * hash) + unknownFields.hashCode(); - memoizedHashCode = hash; - return hash; - } - - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.Documentation parseFrom( - java.nio.ByteBuffer data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.Documentation parseFrom( - java.nio.ByteBuffer data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.Documentation parseFrom( - com.google.protobuf.ByteString data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.Documentation parseFrom( - com.google.protobuf.ByteString data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.Documentation parseFrom(byte[] data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.Documentation parseFrom( - byte[] data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.Documentation parseFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.Documentation parseFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.Documentation parseDelimitedFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseDelimitedWithIOException(PARSER, input); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.Documentation parseDelimitedFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseDelimitedWithIOException(PARSER, input, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.Documentation parseFrom( - com.google.protobuf.CodedInputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.Documentation parseFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input, extensionRegistry); - } - - @java.lang.Override - public Builder newBuilderForType() { return newBuilder(); } - public static Builder newBuilder() { - return DEFAULT_INSTANCE.toBuilder(); - } - public static Builder newBuilder(com.sourcegraph.semanticdb_kotlinc.Semanticdb.Documentation prototype) { - return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); - } - @java.lang.Override - public Builder toBuilder() { - return this == DEFAULT_INSTANCE - ? new Builder() : new Builder().mergeFrom(this); - } - - @java.lang.Override - protected Builder newBuilderForType( - com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { - Builder builder = new Builder(parent); - return builder; - } - /** - * Protobuf type {@code com.sourcegraph.semanticdb_kotlinc.Documentation} - */ - public static final class Builder extends - com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:com.sourcegraph.semanticdb_kotlinc.Documentation) - com.sourcegraph.semanticdb_kotlinc.Semanticdb.DocumentationOrBuilder { - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_Documentation_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internalGetFieldAccessorTable() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_Documentation_fieldAccessorTable - .ensureFieldAccessorsInitialized( - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Documentation.class, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Documentation.Builder.class); - } - - // Construct using com.sourcegraph.semanticdb_kotlinc.Semanticdb.Documentation.newBuilder() - private Builder() { - maybeForceBuilderInitialization(); - } - - private Builder( - com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { - super(parent); - maybeForceBuilderInitialization(); - } - private void maybeForceBuilderInitialization() { - if (com.google.protobuf.GeneratedMessageV3 - .alwaysUseFieldBuilders) { - } - } - @java.lang.Override - public Builder clear() { - super.clear(); - message_ = ""; - - format_ = 0; - - return this; - } - - @java.lang.Override - public com.google.protobuf.Descriptors.Descriptor - getDescriptorForType() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_Documentation_descriptor; - } - - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Documentation getDefaultInstanceForType() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.Documentation.getDefaultInstance(); - } - - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Documentation build() { - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Documentation result = buildPartial(); - if (!result.isInitialized()) { - throw newUninitializedMessageException(result); - } - return result; - } - - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Documentation buildPartial() { - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Documentation result = new com.sourcegraph.semanticdb_kotlinc.Semanticdb.Documentation(this); - result.message_ = message_; - result.format_ = format_; - onBuilt(); - return result; - } - - @java.lang.Override - public Builder clone() { - return super.clone(); - } - @java.lang.Override - public Builder setField( - com.google.protobuf.Descriptors.FieldDescriptor field, - java.lang.Object value) { - return super.setField(field, value); - } - @java.lang.Override - public Builder clearField( - com.google.protobuf.Descriptors.FieldDescriptor field) { - return super.clearField(field); - } - @java.lang.Override - public Builder clearOneof( - com.google.protobuf.Descriptors.OneofDescriptor oneof) { - return super.clearOneof(oneof); - } - @java.lang.Override - public Builder setRepeatedField( - com.google.protobuf.Descriptors.FieldDescriptor field, - int index, java.lang.Object value) { - return super.setRepeatedField(field, index, value); - } - @java.lang.Override - public Builder addRepeatedField( - com.google.protobuf.Descriptors.FieldDescriptor field, - java.lang.Object value) { - return super.addRepeatedField(field, value); - } - @java.lang.Override - public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof com.sourcegraph.semanticdb_kotlinc.Semanticdb.Documentation) { - return mergeFrom((com.sourcegraph.semanticdb_kotlinc.Semanticdb.Documentation)other); - } else { - super.mergeFrom(other); - return this; - } - } - - public Builder mergeFrom(com.sourcegraph.semanticdb_kotlinc.Semanticdb.Documentation other) { - if (other == com.sourcegraph.semanticdb_kotlinc.Semanticdb.Documentation.getDefaultInstance()) return this; - if (!other.getMessage().isEmpty()) { - message_ = other.message_; - onChanged(); - } - if (other.format_ != 0) { - setFormatValue(other.getFormatValue()); - } - this.mergeUnknownFields(other.unknownFields); - onChanged(); - return this; - } - - @java.lang.Override - public final boolean isInitialized() { - return true; - } - - @java.lang.Override - public Builder mergeFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Documentation parsedMessage = null; - try { - parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (com.sourcegraph.semanticdb_kotlinc.Semanticdb.Documentation) e.getUnfinishedMessage(); - throw e.unwrapIOException(); - } finally { - if (parsedMessage != null) { - mergeFrom(parsedMessage); - } - } - return this; - } - - private java.lang.Object message_ = ""; - /** - * string message = 1; - * @return The message. - */ - public java.lang.String getMessage() { - java.lang.Object ref = message_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - message_ = s; - return s; - } else { - return (java.lang.String) ref; - } - } - /** - * string message = 1; - * @return The bytes for message. - */ - public com.google.protobuf.ByteString - getMessageBytes() { - java.lang.Object ref = message_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - message_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - /** - * string message = 1; - * @param value The message to set. - * @return This builder for chaining. - */ - public Builder setMessage( - java.lang.String value) { - if (value == null) { - throw new NullPointerException(); - } - - message_ = value; - onChanged(); - return this; - } - /** - * string message = 1; - * @return This builder for chaining. - */ - public Builder clearMessage() { - - message_ = getDefaultInstance().getMessage(); - onChanged(); - return this; - } - /** - * string message = 1; - * @param value The bytes for message to set. - * @return This builder for chaining. - */ - public Builder setMessageBytes( - com.google.protobuf.ByteString value) { - if (value == null) { - throw new NullPointerException(); - } - checkByteStringIsUtf8(value); - - message_ = value; - onChanged(); - return this; - } - - private int format_ = 0; - /** - * .com.sourcegraph.semanticdb_kotlinc.Documentation.Format format = 2; - * @return The enum numeric value on the wire for format. - */ - @java.lang.Override public int getFormatValue() { - return format_; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Documentation.Format format = 2; - * @param value The enum numeric value on the wire for format to set. - * @return This builder for chaining. - */ - public Builder setFormatValue(int value) { - - format_ = value; - onChanged(); - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Documentation.Format format = 2; - * @return The format. - */ - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Documentation.Format getFormat() { - @SuppressWarnings("deprecation") - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Documentation.Format result = com.sourcegraph.semanticdb_kotlinc.Semanticdb.Documentation.Format.valueOf(format_); - return result == null ? com.sourcegraph.semanticdb_kotlinc.Semanticdb.Documentation.Format.UNRECOGNIZED : result; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Documentation.Format format = 2; - * @param value The format to set. - * @return This builder for chaining. - */ - public Builder setFormat(com.sourcegraph.semanticdb_kotlinc.Semanticdb.Documentation.Format value) { - if (value == null) { - throw new NullPointerException(); - } - - format_ = value.getNumber(); - onChanged(); - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Documentation.Format format = 2; - * @return This builder for chaining. - */ - public Builder clearFormat() { - - format_ = 0; - onChanged(); - return this; - } - @java.lang.Override - public final Builder setUnknownFields( - final com.google.protobuf.UnknownFieldSet unknownFields) { - return super.setUnknownFields(unknownFields); - } - - @java.lang.Override - public final Builder mergeUnknownFields( - final com.google.protobuf.UnknownFieldSet unknownFields) { - return super.mergeUnknownFields(unknownFields); - } - - - // @@protoc_insertion_point(builder_scope:com.sourcegraph.semanticdb_kotlinc.Documentation) - } - - // @@protoc_insertion_point(class_scope:com.sourcegraph.semanticdb_kotlinc.Documentation) - private static final com.sourcegraph.semanticdb_kotlinc.Semanticdb.Documentation DEFAULT_INSTANCE; - static { - DEFAULT_INSTANCE = new com.sourcegraph.semanticdb_kotlinc.Semanticdb.Documentation(); - } - - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.Documentation getDefaultInstance() { - return DEFAULT_INSTANCE; - } - - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { - @java.lang.Override - public Documentation parsePartialFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return new Documentation(input, extensionRegistry); - } - }; - - public static com.google.protobuf.Parser parser() { - return PARSER; - } - - @java.lang.Override - public com.google.protobuf.Parser getParserForType() { - return PARSER; - } - - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Documentation getDefaultInstanceForType() { - return DEFAULT_INSTANCE; - } - - } - - public interface SymbolOccurrenceOrBuilder extends - // @@protoc_insertion_point(interface_extends:com.sourcegraph.semanticdb_kotlinc.SymbolOccurrence) - com.google.protobuf.MessageOrBuilder { - - /** - * .com.sourcegraph.semanticdb_kotlinc.Range range = 1; - * @return Whether the range field is set. - */ - boolean hasRange(); - /** - * .com.sourcegraph.semanticdb_kotlinc.Range range = 1; - * @return The range. - */ - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Range getRange(); - /** - * .com.sourcegraph.semanticdb_kotlinc.Range range = 1; - */ - com.sourcegraph.semanticdb_kotlinc.Semanticdb.RangeOrBuilder getRangeOrBuilder(); - - /** - * string symbol = 2; - * @return The symbol. - */ - java.lang.String getSymbol(); - /** - * string symbol = 2; - * @return The bytes for symbol. - */ - com.google.protobuf.ByteString - getSymbolBytes(); - - /** - * .com.sourcegraph.semanticdb_kotlinc.SymbolOccurrence.Role role = 3; - * @return The enum numeric value on the wire for role. - */ - int getRoleValue(); - /** - * .com.sourcegraph.semanticdb_kotlinc.SymbolOccurrence.Role role = 3; - * @return The role. - */ - com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolOccurrence.Role getRole(); - } - /** - * Protobuf type {@code com.sourcegraph.semanticdb_kotlinc.SymbolOccurrence} - */ - public static final class SymbolOccurrence extends - com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:com.sourcegraph.semanticdb_kotlinc.SymbolOccurrence) - SymbolOccurrenceOrBuilder { - private static final long serialVersionUID = 0L; - // Use SymbolOccurrence.newBuilder() to construct. - private SymbolOccurrence(com.google.protobuf.GeneratedMessageV3.Builder builder) { - super(builder); - } - private SymbolOccurrence() { - symbol_ = ""; - role_ = 0; - } - - @java.lang.Override - @SuppressWarnings({"unused"}) - protected java.lang.Object newInstance( - UnusedPrivateParameter unused) { - return new SymbolOccurrence(); - } - - @java.lang.Override - public final com.google.protobuf.UnknownFieldSet - getUnknownFields() { - return this.unknownFields; - } - private SymbolOccurrence( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - this(); - if (extensionRegistry == null) { - throw new java.lang.NullPointerException(); - } - com.google.protobuf.UnknownFieldSet.Builder unknownFields = - com.google.protobuf.UnknownFieldSet.newBuilder(); - try { - boolean done = false; - while (!done) { - int tag = input.readTag(); - switch (tag) { - case 0: - done = true; - break; - case 10: { - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Range.Builder subBuilder = null; - if (range_ != null) { - subBuilder = range_.toBuilder(); - } - range_ = input.readMessage(com.sourcegraph.semanticdb_kotlinc.Semanticdb.Range.parser(), extensionRegistry); - if (subBuilder != null) { - subBuilder.mergeFrom(range_); - range_ = subBuilder.buildPartial(); - } - - break; - } - case 18: { - java.lang.String s = input.readStringRequireUtf8(); - - symbol_ = s; - break; - } - case 24: { - int rawValue = input.readEnum(); - - role_ = rawValue; - break; - } - default: { - if (!parseUnknownField( - input, unknownFields, extensionRegistry, tag)) { - done = true; - } - break; - } - } - } - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.setUnfinishedMessage(this); - } catch (java.io.IOException e) { - throw new com.google.protobuf.InvalidProtocolBufferException( - e).setUnfinishedMessage(this); - } finally { - this.unknownFields = unknownFields.build(); - makeExtensionsImmutable(); - } - } - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_SymbolOccurrence_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internalGetFieldAccessorTable() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_SymbolOccurrence_fieldAccessorTable - .ensureFieldAccessorsInitialized( - com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolOccurrence.class, com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolOccurrence.Builder.class); - } - - /** - * Protobuf enum {@code com.sourcegraph.semanticdb_kotlinc.SymbolOccurrence.Role} - */ - public enum Role - implements com.google.protobuf.ProtocolMessageEnum { - /** - * UNKNOWN_ROLE = 0; - */ - UNKNOWN_ROLE(0), - /** - * REFERENCE = 1; - */ - REFERENCE(1), - /** - * DEFINITION = 2; - */ - DEFINITION(2), - UNRECOGNIZED(-1), - ; - - /** - * UNKNOWN_ROLE = 0; - */ - public static final int UNKNOWN_ROLE_VALUE = 0; - /** - * REFERENCE = 1; - */ - public static final int REFERENCE_VALUE = 1; - /** - * DEFINITION = 2; - */ - public static final int DEFINITION_VALUE = 2; - - - public final int getNumber() { - if (this == UNRECOGNIZED) { - throw new java.lang.IllegalArgumentException( - "Can't get the number of an unknown enum value."); - } - return value; - } - - /** - * @param value The numeric wire value of the corresponding enum entry. - * @return The enum associated with the given numeric wire value. - * @deprecated Use {@link #forNumber(int)} instead. - */ - @java.lang.Deprecated - public static Role valueOf(int value) { - return forNumber(value); - } - - /** - * @param value The numeric wire value of the corresponding enum entry. - * @return The enum associated with the given numeric wire value. - */ - public static Role forNumber(int value) { - switch (value) { - case 0: return UNKNOWN_ROLE; - case 1: return REFERENCE; - case 2: return DEFINITION; - default: return null; - } - } - - public static com.google.protobuf.Internal.EnumLiteMap - internalGetValueMap() { - return internalValueMap; - } - private static final com.google.protobuf.Internal.EnumLiteMap< - Role> internalValueMap = - new com.google.protobuf.Internal.EnumLiteMap() { - public Role findValueByNumber(int number) { - return Role.forNumber(number); - } - }; - - public final com.google.protobuf.Descriptors.EnumValueDescriptor - getValueDescriptor() { - if (this == UNRECOGNIZED) { - throw new java.lang.IllegalStateException( - "Can't get the descriptor of an unrecognized enum value."); - } - return getDescriptor().getValues().get(ordinal()); - } - public final com.google.protobuf.Descriptors.EnumDescriptor - getDescriptorForType() { - return getDescriptor(); - } - public static final com.google.protobuf.Descriptors.EnumDescriptor - getDescriptor() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolOccurrence.getDescriptor().getEnumTypes().get(0); - } - - private static final Role[] VALUES = values(); - - public static Role valueOf( - com.google.protobuf.Descriptors.EnumValueDescriptor desc) { - if (desc.getType() != getDescriptor()) { - throw new java.lang.IllegalArgumentException( - "EnumValueDescriptor is not for this type."); - } - if (desc.getIndex() == -1) { - return UNRECOGNIZED; - } - return VALUES[desc.getIndex()]; - } - - private final int value; - - private Role(int value) { - this.value = value; - } - - // @@protoc_insertion_point(enum_scope:com.sourcegraph.semanticdb_kotlinc.SymbolOccurrence.Role) - } - - public static final int RANGE_FIELD_NUMBER = 1; - private com.sourcegraph.semanticdb_kotlinc.Semanticdb.Range range_; - /** - * .com.sourcegraph.semanticdb_kotlinc.Range range = 1; - * @return Whether the range field is set. - */ - @java.lang.Override - public boolean hasRange() { - return range_ != null; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Range range = 1; - * @return The range. - */ - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Range getRange() { - return range_ == null ? com.sourcegraph.semanticdb_kotlinc.Semanticdb.Range.getDefaultInstance() : range_; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Range range = 1; - */ - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.RangeOrBuilder getRangeOrBuilder() { - return getRange(); - } - - public static final int SYMBOL_FIELD_NUMBER = 2; - private volatile java.lang.Object symbol_; - /** - * string symbol = 2; - * @return The symbol. - */ - @java.lang.Override - public java.lang.String getSymbol() { - java.lang.Object ref = symbol_; - if (ref instanceof java.lang.String) { - return (java.lang.String) ref; - } else { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - symbol_ = s; - return s; - } - } - /** - * string symbol = 2; - * @return The bytes for symbol. - */ - @java.lang.Override - public com.google.protobuf.ByteString - getSymbolBytes() { - java.lang.Object ref = symbol_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - symbol_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - - public static final int ROLE_FIELD_NUMBER = 3; - private int role_; - /** - * .com.sourcegraph.semanticdb_kotlinc.SymbolOccurrence.Role role = 3; - * @return The enum numeric value on the wire for role. - */ - @java.lang.Override public int getRoleValue() { - return role_; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.SymbolOccurrence.Role role = 3; - * @return The role. - */ - @java.lang.Override public com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolOccurrence.Role getRole() { - @SuppressWarnings("deprecation") - com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolOccurrence.Role result = com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolOccurrence.Role.valueOf(role_); - return result == null ? com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolOccurrence.Role.UNRECOGNIZED : result; - } - - private byte memoizedIsInitialized = -1; - @java.lang.Override - public final boolean isInitialized() { - byte isInitialized = memoizedIsInitialized; - if (isInitialized == 1) return true; - if (isInitialized == 0) return false; - - memoizedIsInitialized = 1; - return true; - } - - @java.lang.Override - public void writeTo(com.google.protobuf.CodedOutputStream output) - throws java.io.IOException { - if (range_ != null) { - output.writeMessage(1, getRange()); - } - if (!getSymbolBytes().isEmpty()) { - com.google.protobuf.GeneratedMessageV3.writeString(output, 2, symbol_); - } - if (role_ != com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolOccurrence.Role.UNKNOWN_ROLE.getNumber()) { - output.writeEnum(3, role_); - } - unknownFields.writeTo(output); - } - - @java.lang.Override - public int getSerializedSize() { - int size = memoizedSize; - if (size != -1) return size; - - size = 0; - if (range_ != null) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(1, getRange()); - } - if (!getSymbolBytes().isEmpty()) { - size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, symbol_); - } - if (role_ != com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolOccurrence.Role.UNKNOWN_ROLE.getNumber()) { - size += com.google.protobuf.CodedOutputStream - .computeEnumSize(3, role_); - } - size += unknownFields.getSerializedSize(); - memoizedSize = size; - return size; - } - - @java.lang.Override - public boolean equals(final java.lang.Object obj) { - if (obj == this) { - return true; - } - if (!(obj instanceof com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolOccurrence)) { - return super.equals(obj); - } - com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolOccurrence other = (com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolOccurrence) obj; - - if (hasRange() != other.hasRange()) return false; - if (hasRange()) { - if (!getRange() - .equals(other.getRange())) return false; - } - if (!getSymbol() - .equals(other.getSymbol())) return false; - if (role_ != other.role_) return false; - if (!unknownFields.equals(other.unknownFields)) return false; - return true; - } - - @java.lang.Override - public int hashCode() { - if (memoizedHashCode != 0) { - return memoizedHashCode; - } - int hash = 41; - hash = (19 * hash) + getDescriptor().hashCode(); - if (hasRange()) { - hash = (37 * hash) + RANGE_FIELD_NUMBER; - hash = (53 * hash) + getRange().hashCode(); - } - hash = (37 * hash) + SYMBOL_FIELD_NUMBER; - hash = (53 * hash) + getSymbol().hashCode(); - hash = (37 * hash) + ROLE_FIELD_NUMBER; - hash = (53 * hash) + role_; - hash = (29 * hash) + unknownFields.hashCode(); - memoizedHashCode = hash; - return hash; - } - - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolOccurrence parseFrom( - java.nio.ByteBuffer data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolOccurrence parseFrom( - java.nio.ByteBuffer data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolOccurrence parseFrom( - com.google.protobuf.ByteString data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolOccurrence parseFrom( - com.google.protobuf.ByteString data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolOccurrence parseFrom(byte[] data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolOccurrence parseFrom( - byte[] data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolOccurrence parseFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolOccurrence parseFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolOccurrence parseDelimitedFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseDelimitedWithIOException(PARSER, input); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolOccurrence parseDelimitedFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseDelimitedWithIOException(PARSER, input, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolOccurrence parseFrom( - com.google.protobuf.CodedInputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolOccurrence parseFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input, extensionRegistry); - } - - @java.lang.Override - public Builder newBuilderForType() { return newBuilder(); } - public static Builder newBuilder() { - return DEFAULT_INSTANCE.toBuilder(); - } - public static Builder newBuilder(com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolOccurrence prototype) { - return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); - } - @java.lang.Override - public Builder toBuilder() { - return this == DEFAULT_INSTANCE - ? new Builder() : new Builder().mergeFrom(this); - } - - @java.lang.Override - protected Builder newBuilderForType( - com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { - Builder builder = new Builder(parent); - return builder; - } - /** - * Protobuf type {@code com.sourcegraph.semanticdb_kotlinc.SymbolOccurrence} - */ - public static final class Builder extends - com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:com.sourcegraph.semanticdb_kotlinc.SymbolOccurrence) - com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolOccurrenceOrBuilder { - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_SymbolOccurrence_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internalGetFieldAccessorTable() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_SymbolOccurrence_fieldAccessorTable - .ensureFieldAccessorsInitialized( - com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolOccurrence.class, com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolOccurrence.Builder.class); - } - - // Construct using com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolOccurrence.newBuilder() - private Builder() { - maybeForceBuilderInitialization(); - } - - private Builder( - com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { - super(parent); - maybeForceBuilderInitialization(); - } - private void maybeForceBuilderInitialization() { - if (com.google.protobuf.GeneratedMessageV3 - .alwaysUseFieldBuilders) { - } - } - @java.lang.Override - public Builder clear() { - super.clear(); - if (rangeBuilder_ == null) { - range_ = null; - } else { - range_ = null; - rangeBuilder_ = null; - } - symbol_ = ""; - - role_ = 0; - - return this; - } - - @java.lang.Override - public com.google.protobuf.Descriptors.Descriptor - getDescriptorForType() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_SymbolOccurrence_descriptor; - } - - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolOccurrence getDefaultInstanceForType() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolOccurrence.getDefaultInstance(); - } - - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolOccurrence build() { - com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolOccurrence result = buildPartial(); - if (!result.isInitialized()) { - throw newUninitializedMessageException(result); - } - return result; - } - - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolOccurrence buildPartial() { - com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolOccurrence result = new com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolOccurrence(this); - if (rangeBuilder_ == null) { - result.range_ = range_; - } else { - result.range_ = rangeBuilder_.build(); - } - result.symbol_ = symbol_; - result.role_ = role_; - onBuilt(); - return result; - } - - @java.lang.Override - public Builder clone() { - return super.clone(); - } - @java.lang.Override - public Builder setField( - com.google.protobuf.Descriptors.FieldDescriptor field, - java.lang.Object value) { - return super.setField(field, value); - } - @java.lang.Override - public Builder clearField( - com.google.protobuf.Descriptors.FieldDescriptor field) { - return super.clearField(field); - } - @java.lang.Override - public Builder clearOneof( - com.google.protobuf.Descriptors.OneofDescriptor oneof) { - return super.clearOneof(oneof); - } - @java.lang.Override - public Builder setRepeatedField( - com.google.protobuf.Descriptors.FieldDescriptor field, - int index, java.lang.Object value) { - return super.setRepeatedField(field, index, value); - } - @java.lang.Override - public Builder addRepeatedField( - com.google.protobuf.Descriptors.FieldDescriptor field, - java.lang.Object value) { - return super.addRepeatedField(field, value); - } - @java.lang.Override - public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolOccurrence) { - return mergeFrom((com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolOccurrence)other); - } else { - super.mergeFrom(other); - return this; - } - } - - public Builder mergeFrom(com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolOccurrence other) { - if (other == com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolOccurrence.getDefaultInstance()) return this; - if (other.hasRange()) { - mergeRange(other.getRange()); - } - if (!other.getSymbol().isEmpty()) { - symbol_ = other.symbol_; - onChanged(); - } - if (other.role_ != 0) { - setRoleValue(other.getRoleValue()); - } - this.mergeUnknownFields(other.unknownFields); - onChanged(); - return this; - } - - @java.lang.Override - public final boolean isInitialized() { - return true; - } - - @java.lang.Override - public Builder mergeFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolOccurrence parsedMessage = null; - try { - parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolOccurrence) e.getUnfinishedMessage(); - throw e.unwrapIOException(); - } finally { - if (parsedMessage != null) { - mergeFrom(parsedMessage); - } - } - return this; - } - - private com.sourcegraph.semanticdb_kotlinc.Semanticdb.Range range_; - private com.google.protobuf.SingleFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Range, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Range.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.RangeOrBuilder> rangeBuilder_; - /** - * .com.sourcegraph.semanticdb_kotlinc.Range range = 1; - * @return Whether the range field is set. - */ - public boolean hasRange() { - return rangeBuilder_ != null || range_ != null; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Range range = 1; - * @return The range. - */ - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Range getRange() { - if (rangeBuilder_ == null) { - return range_ == null ? com.sourcegraph.semanticdb_kotlinc.Semanticdb.Range.getDefaultInstance() : range_; - } else { - return rangeBuilder_.getMessage(); - } - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Range range = 1; - */ - public Builder setRange(com.sourcegraph.semanticdb_kotlinc.Semanticdb.Range value) { - if (rangeBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - range_ = value; - onChanged(); - } else { - rangeBuilder_.setMessage(value); - } - - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Range range = 1; - */ - public Builder setRange( - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Range.Builder builderForValue) { - if (rangeBuilder_ == null) { - range_ = builderForValue.build(); - onChanged(); - } else { - rangeBuilder_.setMessage(builderForValue.build()); - } - - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Range range = 1; - */ - public Builder mergeRange(com.sourcegraph.semanticdb_kotlinc.Semanticdb.Range value) { - if (rangeBuilder_ == null) { - if (range_ != null) { - range_ = - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Range.newBuilder(range_).mergeFrom(value).buildPartial(); - } else { - range_ = value; - } - onChanged(); - } else { - rangeBuilder_.mergeFrom(value); - } - - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Range range = 1; - */ - public Builder clearRange() { - if (rangeBuilder_ == null) { - range_ = null; - onChanged(); - } else { - range_ = null; - rangeBuilder_ = null; - } - - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Range range = 1; - */ - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Range.Builder getRangeBuilder() { - - onChanged(); - return getRangeFieldBuilder().getBuilder(); - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Range range = 1; - */ - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.RangeOrBuilder getRangeOrBuilder() { - if (rangeBuilder_ != null) { - return rangeBuilder_.getMessageOrBuilder(); - } else { - return range_ == null ? - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Range.getDefaultInstance() : range_; - } - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Range range = 1; - */ - private com.google.protobuf.SingleFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Range, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Range.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.RangeOrBuilder> - getRangeFieldBuilder() { - if (rangeBuilder_ == null) { - rangeBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Range, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Range.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.RangeOrBuilder>( - getRange(), - getParentForChildren(), - isClean()); - range_ = null; - } - return rangeBuilder_; - } - - private java.lang.Object symbol_ = ""; - /** - * string symbol = 2; - * @return The symbol. - */ - public java.lang.String getSymbol() { - java.lang.Object ref = symbol_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - symbol_ = s; - return s; - } else { - return (java.lang.String) ref; - } - } - /** - * string symbol = 2; - * @return The bytes for symbol. - */ - public com.google.protobuf.ByteString - getSymbolBytes() { - java.lang.Object ref = symbol_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - symbol_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - /** - * string symbol = 2; - * @param value The symbol to set. - * @return This builder for chaining. - */ - public Builder setSymbol( - java.lang.String value) { - if (value == null) { - throw new NullPointerException(); - } - - symbol_ = value; - onChanged(); - return this; - } - /** - * string symbol = 2; - * @return This builder for chaining. - */ - public Builder clearSymbol() { - - symbol_ = getDefaultInstance().getSymbol(); - onChanged(); - return this; - } - /** - * string symbol = 2; - * @param value The bytes for symbol to set. - * @return This builder for chaining. - */ - public Builder setSymbolBytes( - com.google.protobuf.ByteString value) { - if (value == null) { - throw new NullPointerException(); - } - checkByteStringIsUtf8(value); - - symbol_ = value; - onChanged(); - return this; - } - - private int role_ = 0; - /** - * .com.sourcegraph.semanticdb_kotlinc.SymbolOccurrence.Role role = 3; - * @return The enum numeric value on the wire for role. - */ - @java.lang.Override public int getRoleValue() { - return role_; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.SymbolOccurrence.Role role = 3; - * @param value The enum numeric value on the wire for role to set. - * @return This builder for chaining. - */ - public Builder setRoleValue(int value) { - - role_ = value; - onChanged(); - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.SymbolOccurrence.Role role = 3; - * @return The role. - */ - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolOccurrence.Role getRole() { - @SuppressWarnings("deprecation") - com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolOccurrence.Role result = com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolOccurrence.Role.valueOf(role_); - return result == null ? com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolOccurrence.Role.UNRECOGNIZED : result; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.SymbolOccurrence.Role role = 3; - * @param value The role to set. - * @return This builder for chaining. - */ - public Builder setRole(com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolOccurrence.Role value) { - if (value == null) { - throw new NullPointerException(); - } - - role_ = value.getNumber(); - onChanged(); - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.SymbolOccurrence.Role role = 3; - * @return This builder for chaining. - */ - public Builder clearRole() { - - role_ = 0; - onChanged(); - return this; - } - @java.lang.Override - public final Builder setUnknownFields( - final com.google.protobuf.UnknownFieldSet unknownFields) { - return super.setUnknownFields(unknownFields); - } - - @java.lang.Override - public final Builder mergeUnknownFields( - final com.google.protobuf.UnknownFieldSet unknownFields) { - return super.mergeUnknownFields(unknownFields); - } - - - // @@protoc_insertion_point(builder_scope:com.sourcegraph.semanticdb_kotlinc.SymbolOccurrence) - } - - // @@protoc_insertion_point(class_scope:com.sourcegraph.semanticdb_kotlinc.SymbolOccurrence) - private static final com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolOccurrence DEFAULT_INSTANCE; - static { - DEFAULT_INSTANCE = new com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolOccurrence(); - } - - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolOccurrence getDefaultInstance() { - return DEFAULT_INSTANCE; - } - - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { - @java.lang.Override - public SymbolOccurrence parsePartialFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return new SymbolOccurrence(input, extensionRegistry); - } - }; - - public static com.google.protobuf.Parser parser() { - return PARSER; - } - - @java.lang.Override - public com.google.protobuf.Parser getParserForType() { - return PARSER; - } - - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolOccurrence getDefaultInstanceForType() { - return DEFAULT_INSTANCE; - } - - } - - public interface ScopeOrBuilder extends - // @@protoc_insertion_point(interface_extends:com.sourcegraph.semanticdb_kotlinc.Scope) - com.google.protobuf.MessageOrBuilder { - - /** - * repeated string symlinks = 1; - * @return A list containing the symlinks. - */ - java.util.List - getSymlinksList(); - /** - * repeated string symlinks = 1; - * @return The count of symlinks. - */ - int getSymlinksCount(); - /** - * repeated string symlinks = 1; - * @param index The index of the element to return. - * @return The symlinks at the given index. - */ - java.lang.String getSymlinks(int index); - /** - * repeated string symlinks = 1; - * @param index The index of the value to return. - * @return The bytes of the symlinks at the given index. - */ - com.google.protobuf.ByteString - getSymlinksBytes(int index); - - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolInformation hardlinks = 2; - */ - java.util.List - getHardlinksList(); - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolInformation hardlinks = 2; - */ - com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation getHardlinks(int index); - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolInformation hardlinks = 2; - */ - int getHardlinksCount(); - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolInformation hardlinks = 2; - */ - java.util.List - getHardlinksOrBuilderList(); - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolInformation hardlinks = 2; - */ - com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformationOrBuilder getHardlinksOrBuilder( - int index); - } - /** - * Protobuf type {@code com.sourcegraph.semanticdb_kotlinc.Scope} - */ - public static final class Scope extends - com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:com.sourcegraph.semanticdb_kotlinc.Scope) - ScopeOrBuilder { - private static final long serialVersionUID = 0L; - // Use Scope.newBuilder() to construct. - private Scope(com.google.protobuf.GeneratedMessageV3.Builder builder) { - super(builder); - } - private Scope() { - symlinks_ = com.google.protobuf.LazyStringArrayList.EMPTY; - hardlinks_ = java.util.Collections.emptyList(); - } - - @java.lang.Override - @SuppressWarnings({"unused"}) - protected java.lang.Object newInstance( - UnusedPrivateParameter unused) { - return new Scope(); - } - - @java.lang.Override - public final com.google.protobuf.UnknownFieldSet - getUnknownFields() { - return this.unknownFields; - } - private Scope( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - this(); - if (extensionRegistry == null) { - throw new java.lang.NullPointerException(); - } - int mutable_bitField0_ = 0; - com.google.protobuf.UnknownFieldSet.Builder unknownFields = - com.google.protobuf.UnknownFieldSet.newBuilder(); - try { - boolean done = false; - while (!done) { - int tag = input.readTag(); - switch (tag) { - case 0: - done = true; - break; - case 10: { - java.lang.String s = input.readStringRequireUtf8(); - if (!((mutable_bitField0_ & 0x00000001) != 0)) { - symlinks_ = new com.google.protobuf.LazyStringArrayList(); - mutable_bitField0_ |= 0x00000001; - } - symlinks_.add(s); - break; - } - case 18: { - if (!((mutable_bitField0_ & 0x00000002) != 0)) { - hardlinks_ = new java.util.ArrayList(); - mutable_bitField0_ |= 0x00000002; - } - hardlinks_.add( - input.readMessage(com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation.parser(), extensionRegistry)); - break; - } - default: { - if (!parseUnknownField( - input, unknownFields, extensionRegistry, tag)) { - done = true; - } - break; - } - } - } - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.setUnfinishedMessage(this); - } catch (java.io.IOException e) { - throw new com.google.protobuf.InvalidProtocolBufferException( - e).setUnfinishedMessage(this); - } finally { - if (((mutable_bitField0_ & 0x00000001) != 0)) { - symlinks_ = symlinks_.getUnmodifiableView(); - } - if (((mutable_bitField0_ & 0x00000002) != 0)) { - hardlinks_ = java.util.Collections.unmodifiableList(hardlinks_); - } - this.unknownFields = unknownFields.build(); - makeExtensionsImmutable(); - } - } - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_Scope_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internalGetFieldAccessorTable() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_Scope_fieldAccessorTable - .ensureFieldAccessorsInitialized( - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope.class, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope.Builder.class); - } - - public static final int SYMLINKS_FIELD_NUMBER = 1; - private com.google.protobuf.LazyStringList symlinks_; - /** - * repeated string symlinks = 1; - * @return A list containing the symlinks. - */ - public com.google.protobuf.ProtocolStringList - getSymlinksList() { - return symlinks_; - } - /** - * repeated string symlinks = 1; - * @return The count of symlinks. - */ - public int getSymlinksCount() { - return symlinks_.size(); - } - /** - * repeated string symlinks = 1; - * @param index The index of the element to return. - * @return The symlinks at the given index. - */ - public java.lang.String getSymlinks(int index) { - return symlinks_.get(index); - } - /** - * repeated string symlinks = 1; - * @param index The index of the value to return. - * @return The bytes of the symlinks at the given index. - */ - public com.google.protobuf.ByteString - getSymlinksBytes(int index) { - return symlinks_.getByteString(index); - } - - public static final int HARDLINKS_FIELD_NUMBER = 2; - private java.util.List hardlinks_; - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolInformation hardlinks = 2; - */ - @java.lang.Override - public java.util.List getHardlinksList() { - return hardlinks_; - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolInformation hardlinks = 2; - */ - @java.lang.Override - public java.util.List - getHardlinksOrBuilderList() { - return hardlinks_; - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolInformation hardlinks = 2; - */ - @java.lang.Override - public int getHardlinksCount() { - return hardlinks_.size(); - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolInformation hardlinks = 2; - */ - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation getHardlinks(int index) { - return hardlinks_.get(index); - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolInformation hardlinks = 2; - */ - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformationOrBuilder getHardlinksOrBuilder( - int index) { - return hardlinks_.get(index); - } - - private byte memoizedIsInitialized = -1; - @java.lang.Override - public final boolean isInitialized() { - byte isInitialized = memoizedIsInitialized; - if (isInitialized == 1) return true; - if (isInitialized == 0) return false; - - memoizedIsInitialized = 1; - return true; - } - - @java.lang.Override - public void writeTo(com.google.protobuf.CodedOutputStream output) - throws java.io.IOException { - for (int i = 0; i < symlinks_.size(); i++) { - com.google.protobuf.GeneratedMessageV3.writeString(output, 1, symlinks_.getRaw(i)); - } - for (int i = 0; i < hardlinks_.size(); i++) { - output.writeMessage(2, hardlinks_.get(i)); - } - unknownFields.writeTo(output); - } - - @java.lang.Override - public int getSerializedSize() { - int size = memoizedSize; - if (size != -1) return size; - - size = 0; - { - int dataSize = 0; - for (int i = 0; i < symlinks_.size(); i++) { - dataSize += computeStringSizeNoTag(symlinks_.getRaw(i)); - } - size += dataSize; - size += 1 * getSymlinksList().size(); - } - for (int i = 0; i < hardlinks_.size(); i++) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(2, hardlinks_.get(i)); - } - size += unknownFields.getSerializedSize(); - memoizedSize = size; - return size; - } - - @java.lang.Override - public boolean equals(final java.lang.Object obj) { - if (obj == this) { - return true; - } - if (!(obj instanceof com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope)) { - return super.equals(obj); - } - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope other = (com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope) obj; - - if (!getSymlinksList() - .equals(other.getSymlinksList())) return false; - if (!getHardlinksList() - .equals(other.getHardlinksList())) return false; - if (!unknownFields.equals(other.unknownFields)) return false; - return true; - } - - @java.lang.Override - public int hashCode() { - if (memoizedHashCode != 0) { - return memoizedHashCode; - } - int hash = 41; - hash = (19 * hash) + getDescriptor().hashCode(); - if (getSymlinksCount() > 0) { - hash = (37 * hash) + SYMLINKS_FIELD_NUMBER; - hash = (53 * hash) + getSymlinksList().hashCode(); - } - if (getHardlinksCount() > 0) { - hash = (37 * hash) + HARDLINKS_FIELD_NUMBER; - hash = (53 * hash) + getHardlinksList().hashCode(); - } - hash = (29 * hash) + unknownFields.hashCode(); - memoizedHashCode = hash; - return hash; - } - - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope parseFrom( - java.nio.ByteBuffer data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope parseFrom( - java.nio.ByteBuffer data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope parseFrom( - com.google.protobuf.ByteString data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope parseFrom( - com.google.protobuf.ByteString data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope parseFrom(byte[] data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope parseFrom( - byte[] data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope parseFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope parseFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope parseDelimitedFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseDelimitedWithIOException(PARSER, input); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope parseDelimitedFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseDelimitedWithIOException(PARSER, input, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope parseFrom( - com.google.protobuf.CodedInputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope parseFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input, extensionRegistry); - } - - @java.lang.Override - public Builder newBuilderForType() { return newBuilder(); } - public static Builder newBuilder() { - return DEFAULT_INSTANCE.toBuilder(); - } - public static Builder newBuilder(com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope prototype) { - return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); - } - @java.lang.Override - public Builder toBuilder() { - return this == DEFAULT_INSTANCE - ? new Builder() : new Builder().mergeFrom(this); - } - - @java.lang.Override - protected Builder newBuilderForType( - com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { - Builder builder = new Builder(parent); - return builder; - } - /** - * Protobuf type {@code com.sourcegraph.semanticdb_kotlinc.Scope} - */ - public static final class Builder extends - com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:com.sourcegraph.semanticdb_kotlinc.Scope) - com.sourcegraph.semanticdb_kotlinc.Semanticdb.ScopeOrBuilder { - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_Scope_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internalGetFieldAccessorTable() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_Scope_fieldAccessorTable - .ensureFieldAccessorsInitialized( - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope.class, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope.Builder.class); - } - - // Construct using com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope.newBuilder() - private Builder() { - maybeForceBuilderInitialization(); - } - - private Builder( - com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { - super(parent); - maybeForceBuilderInitialization(); - } - private void maybeForceBuilderInitialization() { - if (com.google.protobuf.GeneratedMessageV3 - .alwaysUseFieldBuilders) { - getHardlinksFieldBuilder(); - } - } - @java.lang.Override - public Builder clear() { - super.clear(); - symlinks_ = com.google.protobuf.LazyStringArrayList.EMPTY; - bitField0_ = (bitField0_ & ~0x00000001); - if (hardlinksBuilder_ == null) { - hardlinks_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000002); - } else { - hardlinksBuilder_.clear(); - } - return this; - } - - @java.lang.Override - public com.google.protobuf.Descriptors.Descriptor - getDescriptorForType() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_Scope_descriptor; - } - - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope getDefaultInstanceForType() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope.getDefaultInstance(); - } - - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope build() { - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope result = buildPartial(); - if (!result.isInitialized()) { - throw newUninitializedMessageException(result); - } - return result; - } - - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope buildPartial() { - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope result = new com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope(this); - int from_bitField0_ = bitField0_; - if (((bitField0_ & 0x00000001) != 0)) { - symlinks_ = symlinks_.getUnmodifiableView(); - bitField0_ = (bitField0_ & ~0x00000001); - } - result.symlinks_ = symlinks_; - if (hardlinksBuilder_ == null) { - if (((bitField0_ & 0x00000002) != 0)) { - hardlinks_ = java.util.Collections.unmodifiableList(hardlinks_); - bitField0_ = (bitField0_ & ~0x00000002); - } - result.hardlinks_ = hardlinks_; - } else { - result.hardlinks_ = hardlinksBuilder_.build(); - } - onBuilt(); - return result; - } - - @java.lang.Override - public Builder clone() { - return super.clone(); - } - @java.lang.Override - public Builder setField( - com.google.protobuf.Descriptors.FieldDescriptor field, - java.lang.Object value) { - return super.setField(field, value); - } - @java.lang.Override - public Builder clearField( - com.google.protobuf.Descriptors.FieldDescriptor field) { - return super.clearField(field); - } - @java.lang.Override - public Builder clearOneof( - com.google.protobuf.Descriptors.OneofDescriptor oneof) { - return super.clearOneof(oneof); - } - @java.lang.Override - public Builder setRepeatedField( - com.google.protobuf.Descriptors.FieldDescriptor field, - int index, java.lang.Object value) { - return super.setRepeatedField(field, index, value); - } - @java.lang.Override - public Builder addRepeatedField( - com.google.protobuf.Descriptors.FieldDescriptor field, - java.lang.Object value) { - return super.addRepeatedField(field, value); - } - @java.lang.Override - public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope) { - return mergeFrom((com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope)other); - } else { - super.mergeFrom(other); - return this; - } - } - - public Builder mergeFrom(com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope other) { - if (other == com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope.getDefaultInstance()) return this; - if (!other.symlinks_.isEmpty()) { - if (symlinks_.isEmpty()) { - symlinks_ = other.symlinks_; - bitField0_ = (bitField0_ & ~0x00000001); - } else { - ensureSymlinksIsMutable(); - symlinks_.addAll(other.symlinks_); - } - onChanged(); - } - if (hardlinksBuilder_ == null) { - if (!other.hardlinks_.isEmpty()) { - if (hardlinks_.isEmpty()) { - hardlinks_ = other.hardlinks_; - bitField0_ = (bitField0_ & ~0x00000002); - } else { - ensureHardlinksIsMutable(); - hardlinks_.addAll(other.hardlinks_); - } - onChanged(); - } - } else { - if (!other.hardlinks_.isEmpty()) { - if (hardlinksBuilder_.isEmpty()) { - hardlinksBuilder_.dispose(); - hardlinksBuilder_ = null; - hardlinks_ = other.hardlinks_; - bitField0_ = (bitField0_ & ~0x00000002); - hardlinksBuilder_ = - com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? - getHardlinksFieldBuilder() : null; - } else { - hardlinksBuilder_.addAllMessages(other.hardlinks_); - } - } - } - this.mergeUnknownFields(other.unknownFields); - onChanged(); - return this; - } - - @java.lang.Override - public final boolean isInitialized() { - return true; - } - - @java.lang.Override - public Builder mergeFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope parsedMessage = null; - try { - parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope) e.getUnfinishedMessage(); - throw e.unwrapIOException(); - } finally { - if (parsedMessage != null) { - mergeFrom(parsedMessage); - } - } - return this; - } - private int bitField0_; - - private com.google.protobuf.LazyStringList symlinks_ = com.google.protobuf.LazyStringArrayList.EMPTY; - private void ensureSymlinksIsMutable() { - if (!((bitField0_ & 0x00000001) != 0)) { - symlinks_ = new com.google.protobuf.LazyStringArrayList(symlinks_); - bitField0_ |= 0x00000001; - } - } - /** - * repeated string symlinks = 1; - * @return A list containing the symlinks. - */ - public com.google.protobuf.ProtocolStringList - getSymlinksList() { - return symlinks_.getUnmodifiableView(); - } - /** - * repeated string symlinks = 1; - * @return The count of symlinks. - */ - public int getSymlinksCount() { - return symlinks_.size(); - } - /** - * repeated string symlinks = 1; - * @param index The index of the element to return. - * @return The symlinks at the given index. - */ - public java.lang.String getSymlinks(int index) { - return symlinks_.get(index); - } - /** - * repeated string symlinks = 1; - * @param index The index of the value to return. - * @return The bytes of the symlinks at the given index. - */ - public com.google.protobuf.ByteString - getSymlinksBytes(int index) { - return symlinks_.getByteString(index); - } - /** - * repeated string symlinks = 1; - * @param index The index to set the value at. - * @param value The symlinks to set. - * @return This builder for chaining. - */ - public Builder setSymlinks( - int index, java.lang.String value) { - if (value == null) { - throw new NullPointerException(); - } - ensureSymlinksIsMutable(); - symlinks_.set(index, value); - onChanged(); - return this; - } - /** - * repeated string symlinks = 1; - * @param value The symlinks to add. - * @return This builder for chaining. - */ - public Builder addSymlinks( - java.lang.String value) { - if (value == null) { - throw new NullPointerException(); - } - ensureSymlinksIsMutable(); - symlinks_.add(value); - onChanged(); - return this; - } - /** - * repeated string symlinks = 1; - * @param values The symlinks to add. - * @return This builder for chaining. - */ - public Builder addAllSymlinks( - java.lang.Iterable values) { - ensureSymlinksIsMutable(); - com.google.protobuf.AbstractMessageLite.Builder.addAll( - values, symlinks_); - onChanged(); - return this; - } - /** - * repeated string symlinks = 1; - * @return This builder for chaining. - */ - public Builder clearSymlinks() { - symlinks_ = com.google.protobuf.LazyStringArrayList.EMPTY; - bitField0_ = (bitField0_ & ~0x00000001); - onChanged(); - return this; - } - /** - * repeated string symlinks = 1; - * @param value The bytes of the symlinks to add. - * @return This builder for chaining. - */ - public Builder addSymlinksBytes( - com.google.protobuf.ByteString value) { - if (value == null) { - throw new NullPointerException(); - } - checkByteStringIsUtf8(value); - ensureSymlinksIsMutable(); - symlinks_.add(value); - onChanged(); - return this; - } - - private java.util.List hardlinks_ = - java.util.Collections.emptyList(); - private void ensureHardlinksIsMutable() { - if (!((bitField0_ & 0x00000002) != 0)) { - hardlinks_ = new java.util.ArrayList(hardlinks_); - bitField0_ |= 0x00000002; - } - } - - private com.google.protobuf.RepeatedFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation, com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformationOrBuilder> hardlinksBuilder_; - - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolInformation hardlinks = 2; - */ - public java.util.List getHardlinksList() { - if (hardlinksBuilder_ == null) { - return java.util.Collections.unmodifiableList(hardlinks_); - } else { - return hardlinksBuilder_.getMessageList(); - } - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolInformation hardlinks = 2; - */ - public int getHardlinksCount() { - if (hardlinksBuilder_ == null) { - return hardlinks_.size(); - } else { - return hardlinksBuilder_.getCount(); - } - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolInformation hardlinks = 2; - */ - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation getHardlinks(int index) { - if (hardlinksBuilder_ == null) { - return hardlinks_.get(index); - } else { - return hardlinksBuilder_.getMessage(index); - } - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolInformation hardlinks = 2; - */ - public Builder setHardlinks( - int index, com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation value) { - if (hardlinksBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureHardlinksIsMutable(); - hardlinks_.set(index, value); - onChanged(); - } else { - hardlinksBuilder_.setMessage(index, value); - } - return this; - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolInformation hardlinks = 2; - */ - public Builder setHardlinks( - int index, com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation.Builder builderForValue) { - if (hardlinksBuilder_ == null) { - ensureHardlinksIsMutable(); - hardlinks_.set(index, builderForValue.build()); - onChanged(); - } else { - hardlinksBuilder_.setMessage(index, builderForValue.build()); - } - return this; - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolInformation hardlinks = 2; - */ - public Builder addHardlinks(com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation value) { - if (hardlinksBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureHardlinksIsMutable(); - hardlinks_.add(value); - onChanged(); - } else { - hardlinksBuilder_.addMessage(value); - } - return this; - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolInformation hardlinks = 2; - */ - public Builder addHardlinks( - int index, com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation value) { - if (hardlinksBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureHardlinksIsMutable(); - hardlinks_.add(index, value); - onChanged(); - } else { - hardlinksBuilder_.addMessage(index, value); - } - return this; - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolInformation hardlinks = 2; - */ - public Builder addHardlinks( - com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation.Builder builderForValue) { - if (hardlinksBuilder_ == null) { - ensureHardlinksIsMutable(); - hardlinks_.add(builderForValue.build()); - onChanged(); - } else { - hardlinksBuilder_.addMessage(builderForValue.build()); - } - return this; - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolInformation hardlinks = 2; - */ - public Builder addHardlinks( - int index, com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation.Builder builderForValue) { - if (hardlinksBuilder_ == null) { - ensureHardlinksIsMutable(); - hardlinks_.add(index, builderForValue.build()); - onChanged(); - } else { - hardlinksBuilder_.addMessage(index, builderForValue.build()); - } - return this; - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolInformation hardlinks = 2; - */ - public Builder addAllHardlinks( - java.lang.Iterable values) { - if (hardlinksBuilder_ == null) { - ensureHardlinksIsMutable(); - com.google.protobuf.AbstractMessageLite.Builder.addAll( - values, hardlinks_); - onChanged(); - } else { - hardlinksBuilder_.addAllMessages(values); - } - return this; - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolInformation hardlinks = 2; - */ - public Builder clearHardlinks() { - if (hardlinksBuilder_ == null) { - hardlinks_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000002); - onChanged(); - } else { - hardlinksBuilder_.clear(); - } - return this; - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolInformation hardlinks = 2; - */ - public Builder removeHardlinks(int index) { - if (hardlinksBuilder_ == null) { - ensureHardlinksIsMutable(); - hardlinks_.remove(index); - onChanged(); - } else { - hardlinksBuilder_.remove(index); - } - return this; - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolInformation hardlinks = 2; - */ - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation.Builder getHardlinksBuilder( - int index) { - return getHardlinksFieldBuilder().getBuilder(index); - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolInformation hardlinks = 2; - */ - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformationOrBuilder getHardlinksOrBuilder( - int index) { - if (hardlinksBuilder_ == null) { - return hardlinks_.get(index); } else { - return hardlinksBuilder_.getMessageOrBuilder(index); - } - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolInformation hardlinks = 2; - */ - public java.util.List - getHardlinksOrBuilderList() { - if (hardlinksBuilder_ != null) { - return hardlinksBuilder_.getMessageOrBuilderList(); - } else { - return java.util.Collections.unmodifiableList(hardlinks_); - } - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolInformation hardlinks = 2; - */ - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation.Builder addHardlinksBuilder() { - return getHardlinksFieldBuilder().addBuilder( - com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation.getDefaultInstance()); - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolInformation hardlinks = 2; - */ - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation.Builder addHardlinksBuilder( - int index) { - return getHardlinksFieldBuilder().addBuilder( - index, com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation.getDefaultInstance()); - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.SymbolInformation hardlinks = 2; - */ - public java.util.List - getHardlinksBuilderList() { - return getHardlinksFieldBuilder().getBuilderList(); - } - private com.google.protobuf.RepeatedFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation, com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformationOrBuilder> - getHardlinksFieldBuilder() { - if (hardlinksBuilder_ == null) { - hardlinksBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation, com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformation.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolInformationOrBuilder>( - hardlinks_, - ((bitField0_ & 0x00000002) != 0), - getParentForChildren(), - isClean()); - hardlinks_ = null; - } - return hardlinksBuilder_; - } - @java.lang.Override - public final Builder setUnknownFields( - final com.google.protobuf.UnknownFieldSet unknownFields) { - return super.setUnknownFields(unknownFields); - } - - @java.lang.Override - public final Builder mergeUnknownFields( - final com.google.protobuf.UnknownFieldSet unknownFields) { - return super.mergeUnknownFields(unknownFields); - } - - - // @@protoc_insertion_point(builder_scope:com.sourcegraph.semanticdb_kotlinc.Scope) - } - - // @@protoc_insertion_point(class_scope:com.sourcegraph.semanticdb_kotlinc.Scope) - private static final com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope DEFAULT_INSTANCE; - static { - DEFAULT_INSTANCE = new com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope(); - } - - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope getDefaultInstance() { - return DEFAULT_INSTANCE; - } - - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { - @java.lang.Override - public Scope parsePartialFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return new Scope(input, extensionRegistry); - } - }; - - public static com.google.protobuf.Parser parser() { - return PARSER; - } - - @java.lang.Override - public com.google.protobuf.Parser getParserForType() { - return PARSER; - } - - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope getDefaultInstanceForType() { - return DEFAULT_INSTANCE; - } - - } - - public interface TypeOrBuilder extends - // @@protoc_insertion_point(interface_extends:com.sourcegraph.semanticdb_kotlinc.Type) - com.google.protobuf.MessageOrBuilder { - - /** - * .com.sourcegraph.semanticdb_kotlinc.TypeRef type_ref = 2; - * @return Whether the typeRef field is set. - */ - boolean hasTypeRef(); - /** - * .com.sourcegraph.semanticdb_kotlinc.TypeRef type_ref = 2; - * @return The typeRef. - */ - com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeRef getTypeRef(); - /** - * .com.sourcegraph.semanticdb_kotlinc.TypeRef type_ref = 2; - */ - com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeRefOrBuilder getTypeRefOrBuilder(); - - /** - * .com.sourcegraph.semanticdb_kotlinc.ExistentialType existential_type = 9; - * @return Whether the existentialType field is set. - */ - boolean hasExistentialType(); - /** - * .com.sourcegraph.semanticdb_kotlinc.ExistentialType existential_type = 9; - * @return The existentialType. - */ - com.sourcegraph.semanticdb_kotlinc.Semanticdb.ExistentialType getExistentialType(); - /** - * .com.sourcegraph.semanticdb_kotlinc.ExistentialType existential_type = 9; - */ - com.sourcegraph.semanticdb_kotlinc.Semanticdb.ExistentialTypeOrBuilder getExistentialTypeOrBuilder(); - - /** - * .com.sourcegraph.semanticdb_kotlinc.IntersectionType intersection_type = 17; - * @return Whether the intersectionType field is set. - */ - boolean hasIntersectionType(); - /** - * .com.sourcegraph.semanticdb_kotlinc.IntersectionType intersection_type = 17; - * @return The intersectionType. - */ - com.sourcegraph.semanticdb_kotlinc.Semanticdb.IntersectionType getIntersectionType(); - /** - * .com.sourcegraph.semanticdb_kotlinc.IntersectionType intersection_type = 17; - */ - com.sourcegraph.semanticdb_kotlinc.Semanticdb.IntersectionTypeOrBuilder getIntersectionTypeOrBuilder(); - - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.SealedValueCase getSealedValueCase(); - } - /** - * Protobuf type {@code com.sourcegraph.semanticdb_kotlinc.Type} - */ - public static final class Type extends - com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:com.sourcegraph.semanticdb_kotlinc.Type) - TypeOrBuilder { - private static final long serialVersionUID = 0L; - // Use Type.newBuilder() to construct. - private Type(com.google.protobuf.GeneratedMessageV3.Builder builder) { - super(builder); - } - private Type() { - } - - @java.lang.Override - @SuppressWarnings({"unused"}) - protected java.lang.Object newInstance( - UnusedPrivateParameter unused) { - return new Type(); - } - - @java.lang.Override - public final com.google.protobuf.UnknownFieldSet - getUnknownFields() { - return this.unknownFields; - } - private Type( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - this(); - if (extensionRegistry == null) { - throw new java.lang.NullPointerException(); - } - com.google.protobuf.UnknownFieldSet.Builder unknownFields = - com.google.protobuf.UnknownFieldSet.newBuilder(); - try { - boolean done = false; - while (!done) { - int tag = input.readTag(); - switch (tag) { - case 0: - done = true; - break; - case 18: { - com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeRef.Builder subBuilder = null; - if (sealedValueCase_ == 2) { - subBuilder = ((com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeRef) sealedValue_).toBuilder(); - } - sealedValue_ = - input.readMessage(com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeRef.parser(), extensionRegistry); - if (subBuilder != null) { - subBuilder.mergeFrom((com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeRef) sealedValue_); - sealedValue_ = subBuilder.buildPartial(); - } - sealedValueCase_ = 2; - break; - } - case 74: { - com.sourcegraph.semanticdb_kotlinc.Semanticdb.ExistentialType.Builder subBuilder = null; - if (sealedValueCase_ == 9) { - subBuilder = ((com.sourcegraph.semanticdb_kotlinc.Semanticdb.ExistentialType) sealedValue_).toBuilder(); - } - sealedValue_ = - input.readMessage(com.sourcegraph.semanticdb_kotlinc.Semanticdb.ExistentialType.parser(), extensionRegistry); - if (subBuilder != null) { - subBuilder.mergeFrom((com.sourcegraph.semanticdb_kotlinc.Semanticdb.ExistentialType) sealedValue_); - sealedValue_ = subBuilder.buildPartial(); - } - sealedValueCase_ = 9; - break; - } - case 138: { - com.sourcegraph.semanticdb_kotlinc.Semanticdb.IntersectionType.Builder subBuilder = null; - if (sealedValueCase_ == 17) { - subBuilder = ((com.sourcegraph.semanticdb_kotlinc.Semanticdb.IntersectionType) sealedValue_).toBuilder(); - } - sealedValue_ = - input.readMessage(com.sourcegraph.semanticdb_kotlinc.Semanticdb.IntersectionType.parser(), extensionRegistry); - if (subBuilder != null) { - subBuilder.mergeFrom((com.sourcegraph.semanticdb_kotlinc.Semanticdb.IntersectionType) sealedValue_); - sealedValue_ = subBuilder.buildPartial(); - } - sealedValueCase_ = 17; - break; - } - default: { - if (!parseUnknownField( - input, unknownFields, extensionRegistry, tag)) { - done = true; - } - break; - } - } - } - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.setUnfinishedMessage(this); - } catch (java.io.IOException e) { - throw new com.google.protobuf.InvalidProtocolBufferException( - e).setUnfinishedMessage(this); - } finally { - this.unknownFields = unknownFields.build(); - makeExtensionsImmutable(); - } - } - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_Type_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internalGetFieldAccessorTable() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_Type_fieldAccessorTable - .ensureFieldAccessorsInitialized( - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.class, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.Builder.class); - } - - private int sealedValueCase_ = 0; - private java.lang.Object sealedValue_; - public enum SealedValueCase - implements com.google.protobuf.Internal.EnumLite, - com.google.protobuf.AbstractMessage.InternalOneOfEnum { - TYPE_REF(2), - EXISTENTIAL_TYPE(9), - INTERSECTION_TYPE(17), - SEALEDVALUE_NOT_SET(0); - private final int value; - private SealedValueCase(int value) { - this.value = value; - } - /** - * @param value The number of the enum to look for. - * @return The enum associated with the given number. - * @deprecated Use {@link #forNumber(int)} instead. - */ - @java.lang.Deprecated - public static SealedValueCase valueOf(int value) { - return forNumber(value); - } - - public static SealedValueCase forNumber(int value) { - switch (value) { - case 2: return TYPE_REF; - case 9: return EXISTENTIAL_TYPE; - case 17: return INTERSECTION_TYPE; - case 0: return SEALEDVALUE_NOT_SET; - default: return null; - } - } - public int getNumber() { - return this.value; - } - }; - - public SealedValueCase - getSealedValueCase() { - return SealedValueCase.forNumber( - sealedValueCase_); - } - - public static final int TYPE_REF_FIELD_NUMBER = 2; - /** - * .com.sourcegraph.semanticdb_kotlinc.TypeRef type_ref = 2; - * @return Whether the typeRef field is set. - */ - @java.lang.Override - public boolean hasTypeRef() { - return sealedValueCase_ == 2; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.TypeRef type_ref = 2; - * @return The typeRef. - */ - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeRef getTypeRef() { - if (sealedValueCase_ == 2) { - return (com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeRef) sealedValue_; - } - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeRef.getDefaultInstance(); - } - /** - * .com.sourcegraph.semanticdb_kotlinc.TypeRef type_ref = 2; - */ - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeRefOrBuilder getTypeRefOrBuilder() { - if (sealedValueCase_ == 2) { - return (com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeRef) sealedValue_; - } - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeRef.getDefaultInstance(); - } - - public static final int EXISTENTIAL_TYPE_FIELD_NUMBER = 9; - /** - * .com.sourcegraph.semanticdb_kotlinc.ExistentialType existential_type = 9; - * @return Whether the existentialType field is set. - */ - @java.lang.Override - public boolean hasExistentialType() { - return sealedValueCase_ == 9; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.ExistentialType existential_type = 9; - * @return The existentialType. - */ - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.ExistentialType getExistentialType() { - if (sealedValueCase_ == 9) { - return (com.sourcegraph.semanticdb_kotlinc.Semanticdb.ExistentialType) sealedValue_; - } - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.ExistentialType.getDefaultInstance(); - } - /** - * .com.sourcegraph.semanticdb_kotlinc.ExistentialType existential_type = 9; - */ - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.ExistentialTypeOrBuilder getExistentialTypeOrBuilder() { - if (sealedValueCase_ == 9) { - return (com.sourcegraph.semanticdb_kotlinc.Semanticdb.ExistentialType) sealedValue_; - } - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.ExistentialType.getDefaultInstance(); - } - - public static final int INTERSECTION_TYPE_FIELD_NUMBER = 17; - /** - * .com.sourcegraph.semanticdb_kotlinc.IntersectionType intersection_type = 17; - * @return Whether the intersectionType field is set. - */ - @java.lang.Override - public boolean hasIntersectionType() { - return sealedValueCase_ == 17; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.IntersectionType intersection_type = 17; - * @return The intersectionType. - */ - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.IntersectionType getIntersectionType() { - if (sealedValueCase_ == 17) { - return (com.sourcegraph.semanticdb_kotlinc.Semanticdb.IntersectionType) sealedValue_; - } - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.IntersectionType.getDefaultInstance(); - } - /** - * .com.sourcegraph.semanticdb_kotlinc.IntersectionType intersection_type = 17; - */ - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.IntersectionTypeOrBuilder getIntersectionTypeOrBuilder() { - if (sealedValueCase_ == 17) { - return (com.sourcegraph.semanticdb_kotlinc.Semanticdb.IntersectionType) sealedValue_; - } - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.IntersectionType.getDefaultInstance(); - } - - private byte memoizedIsInitialized = -1; - @java.lang.Override - public final boolean isInitialized() { - byte isInitialized = memoizedIsInitialized; - if (isInitialized == 1) return true; - if (isInitialized == 0) return false; - - memoizedIsInitialized = 1; - return true; - } - - @java.lang.Override - public void writeTo(com.google.protobuf.CodedOutputStream output) - throws java.io.IOException { - if (sealedValueCase_ == 2) { - output.writeMessage(2, (com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeRef) sealedValue_); - } - if (sealedValueCase_ == 9) { - output.writeMessage(9, (com.sourcegraph.semanticdb_kotlinc.Semanticdb.ExistentialType) sealedValue_); - } - if (sealedValueCase_ == 17) { - output.writeMessage(17, (com.sourcegraph.semanticdb_kotlinc.Semanticdb.IntersectionType) sealedValue_); - } - unknownFields.writeTo(output); - } - - @java.lang.Override - public int getSerializedSize() { - int size = memoizedSize; - if (size != -1) return size; - - size = 0; - if (sealedValueCase_ == 2) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(2, (com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeRef) sealedValue_); - } - if (sealedValueCase_ == 9) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(9, (com.sourcegraph.semanticdb_kotlinc.Semanticdb.ExistentialType) sealedValue_); - } - if (sealedValueCase_ == 17) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(17, (com.sourcegraph.semanticdb_kotlinc.Semanticdb.IntersectionType) sealedValue_); - } - size += unknownFields.getSerializedSize(); - memoizedSize = size; - return size; - } - - @java.lang.Override - public boolean equals(final java.lang.Object obj) { - if (obj == this) { - return true; - } - if (!(obj instanceof com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type)) { - return super.equals(obj); - } - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type other = (com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type) obj; - - if (!getSealedValueCase().equals(other.getSealedValueCase())) return false; - switch (sealedValueCase_) { - case 2: - if (!getTypeRef() - .equals(other.getTypeRef())) return false; - break; - case 9: - if (!getExistentialType() - .equals(other.getExistentialType())) return false; - break; - case 17: - if (!getIntersectionType() - .equals(other.getIntersectionType())) return false; - break; - case 0: - default: - } - if (!unknownFields.equals(other.unknownFields)) return false; - return true; - } - - @java.lang.Override - public int hashCode() { - if (memoizedHashCode != 0) { - return memoizedHashCode; - } - int hash = 41; - hash = (19 * hash) + getDescriptor().hashCode(); - switch (sealedValueCase_) { - case 2: - hash = (37 * hash) + TYPE_REF_FIELD_NUMBER; - hash = (53 * hash) + getTypeRef().hashCode(); - break; - case 9: - hash = (37 * hash) + EXISTENTIAL_TYPE_FIELD_NUMBER; - hash = (53 * hash) + getExistentialType().hashCode(); - break; - case 17: - hash = (37 * hash) + INTERSECTION_TYPE_FIELD_NUMBER; - hash = (53 * hash) + getIntersectionType().hashCode(); - break; - case 0: - default: - } - hash = (29 * hash) + unknownFields.hashCode(); - memoizedHashCode = hash; - return hash; - } - - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type parseFrom( - java.nio.ByteBuffer data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type parseFrom( - java.nio.ByteBuffer data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type parseFrom( - com.google.protobuf.ByteString data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type parseFrom( - com.google.protobuf.ByteString data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type parseFrom(byte[] data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type parseFrom( - byte[] data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type parseFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type parseFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type parseDelimitedFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseDelimitedWithIOException(PARSER, input); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type parseDelimitedFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseDelimitedWithIOException(PARSER, input, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type parseFrom( - com.google.protobuf.CodedInputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type parseFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input, extensionRegistry); - } - - @java.lang.Override - public Builder newBuilderForType() { return newBuilder(); } - public static Builder newBuilder() { - return DEFAULT_INSTANCE.toBuilder(); - } - public static Builder newBuilder(com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type prototype) { - return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); - } - @java.lang.Override - public Builder toBuilder() { - return this == DEFAULT_INSTANCE - ? new Builder() : new Builder().mergeFrom(this); - } - - @java.lang.Override - protected Builder newBuilderForType( - com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { - Builder builder = new Builder(parent); - return builder; - } - /** - * Protobuf type {@code com.sourcegraph.semanticdb_kotlinc.Type} - */ - public static final class Builder extends - com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:com.sourcegraph.semanticdb_kotlinc.Type) - com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeOrBuilder { - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_Type_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internalGetFieldAccessorTable() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_Type_fieldAccessorTable - .ensureFieldAccessorsInitialized( - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.class, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.Builder.class); - } - - // Construct using com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.newBuilder() - private Builder() { - maybeForceBuilderInitialization(); - } - - private Builder( - com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { - super(parent); - maybeForceBuilderInitialization(); - } - private void maybeForceBuilderInitialization() { - if (com.google.protobuf.GeneratedMessageV3 - .alwaysUseFieldBuilders) { - } - } - @java.lang.Override - public Builder clear() { - super.clear(); - sealedValueCase_ = 0; - sealedValue_ = null; - return this; - } - - @java.lang.Override - public com.google.protobuf.Descriptors.Descriptor - getDescriptorForType() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_Type_descriptor; - } - - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type getDefaultInstanceForType() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.getDefaultInstance(); - } - - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type build() { - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type result = buildPartial(); - if (!result.isInitialized()) { - throw newUninitializedMessageException(result); - } - return result; - } - - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type buildPartial() { - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type result = new com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type(this); - if (sealedValueCase_ == 2) { - if (typeRefBuilder_ == null) { - result.sealedValue_ = sealedValue_; - } else { - result.sealedValue_ = typeRefBuilder_.build(); - } - } - if (sealedValueCase_ == 9) { - if (existentialTypeBuilder_ == null) { - result.sealedValue_ = sealedValue_; - } else { - result.sealedValue_ = existentialTypeBuilder_.build(); - } - } - if (sealedValueCase_ == 17) { - if (intersectionTypeBuilder_ == null) { - result.sealedValue_ = sealedValue_; - } else { - result.sealedValue_ = intersectionTypeBuilder_.build(); - } - } - result.sealedValueCase_ = sealedValueCase_; - onBuilt(); - return result; - } - - @java.lang.Override - public Builder clone() { - return super.clone(); - } - @java.lang.Override - public Builder setField( - com.google.protobuf.Descriptors.FieldDescriptor field, - java.lang.Object value) { - return super.setField(field, value); - } - @java.lang.Override - public Builder clearField( - com.google.protobuf.Descriptors.FieldDescriptor field) { - return super.clearField(field); - } - @java.lang.Override - public Builder clearOneof( - com.google.protobuf.Descriptors.OneofDescriptor oneof) { - return super.clearOneof(oneof); - } - @java.lang.Override - public Builder setRepeatedField( - com.google.protobuf.Descriptors.FieldDescriptor field, - int index, java.lang.Object value) { - return super.setRepeatedField(field, index, value); - } - @java.lang.Override - public Builder addRepeatedField( - com.google.protobuf.Descriptors.FieldDescriptor field, - java.lang.Object value) { - return super.addRepeatedField(field, value); - } - @java.lang.Override - public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type) { - return mergeFrom((com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type)other); - } else { - super.mergeFrom(other); - return this; - } - } - - public Builder mergeFrom(com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type other) { - if (other == com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.getDefaultInstance()) return this; - switch (other.getSealedValueCase()) { - case TYPE_REF: { - mergeTypeRef(other.getTypeRef()); - break; - } - case EXISTENTIAL_TYPE: { - mergeExistentialType(other.getExistentialType()); - break; - } - case INTERSECTION_TYPE: { - mergeIntersectionType(other.getIntersectionType()); - break; - } - case SEALEDVALUE_NOT_SET: { - break; - } - } - this.mergeUnknownFields(other.unknownFields); - onChanged(); - return this; - } - - @java.lang.Override - public final boolean isInitialized() { - return true; - } - - @java.lang.Override - public Builder mergeFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type parsedMessage = null; - try { - parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type) e.getUnfinishedMessage(); - throw e.unwrapIOException(); - } finally { - if (parsedMessage != null) { - mergeFrom(parsedMessage); - } - } - return this; - } - private int sealedValueCase_ = 0; - private java.lang.Object sealedValue_; - public SealedValueCase - getSealedValueCase() { - return SealedValueCase.forNumber( - sealedValueCase_); - } - - public Builder clearSealedValue() { - sealedValueCase_ = 0; - sealedValue_ = null; - onChanged(); - return this; - } - - - private com.google.protobuf.SingleFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeRef, com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeRef.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeRefOrBuilder> typeRefBuilder_; - /** - * .com.sourcegraph.semanticdb_kotlinc.TypeRef type_ref = 2; - * @return Whether the typeRef field is set. - */ - @java.lang.Override - public boolean hasTypeRef() { - return sealedValueCase_ == 2; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.TypeRef type_ref = 2; - * @return The typeRef. - */ - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeRef getTypeRef() { - if (typeRefBuilder_ == null) { - if (sealedValueCase_ == 2) { - return (com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeRef) sealedValue_; - } - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeRef.getDefaultInstance(); - } else { - if (sealedValueCase_ == 2) { - return typeRefBuilder_.getMessage(); - } - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeRef.getDefaultInstance(); - } - } - /** - * .com.sourcegraph.semanticdb_kotlinc.TypeRef type_ref = 2; - */ - public Builder setTypeRef(com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeRef value) { - if (typeRefBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - sealedValue_ = value; - onChanged(); - } else { - typeRefBuilder_.setMessage(value); - } - sealedValueCase_ = 2; - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.TypeRef type_ref = 2; - */ - public Builder setTypeRef( - com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeRef.Builder builderForValue) { - if (typeRefBuilder_ == null) { - sealedValue_ = builderForValue.build(); - onChanged(); - } else { - typeRefBuilder_.setMessage(builderForValue.build()); - } - sealedValueCase_ = 2; - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.TypeRef type_ref = 2; - */ - public Builder mergeTypeRef(com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeRef value) { - if (typeRefBuilder_ == null) { - if (sealedValueCase_ == 2 && - sealedValue_ != com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeRef.getDefaultInstance()) { - sealedValue_ = com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeRef.newBuilder((com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeRef) sealedValue_) - .mergeFrom(value).buildPartial(); - } else { - sealedValue_ = value; - } - onChanged(); - } else { - if (sealedValueCase_ == 2) { - typeRefBuilder_.mergeFrom(value); - } - typeRefBuilder_.setMessage(value); - } - sealedValueCase_ = 2; - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.TypeRef type_ref = 2; - */ - public Builder clearTypeRef() { - if (typeRefBuilder_ == null) { - if (sealedValueCase_ == 2) { - sealedValueCase_ = 0; - sealedValue_ = null; - onChanged(); - } - } else { - if (sealedValueCase_ == 2) { - sealedValueCase_ = 0; - sealedValue_ = null; - } - typeRefBuilder_.clear(); - } - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.TypeRef type_ref = 2; - */ - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeRef.Builder getTypeRefBuilder() { - return getTypeRefFieldBuilder().getBuilder(); - } - /** - * .com.sourcegraph.semanticdb_kotlinc.TypeRef type_ref = 2; - */ - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeRefOrBuilder getTypeRefOrBuilder() { - if ((sealedValueCase_ == 2) && (typeRefBuilder_ != null)) { - return typeRefBuilder_.getMessageOrBuilder(); - } else { - if (sealedValueCase_ == 2) { - return (com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeRef) sealedValue_; - } - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeRef.getDefaultInstance(); - } - } - /** - * .com.sourcegraph.semanticdb_kotlinc.TypeRef type_ref = 2; - */ - private com.google.protobuf.SingleFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeRef, com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeRef.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeRefOrBuilder> - getTypeRefFieldBuilder() { - if (typeRefBuilder_ == null) { - if (!(sealedValueCase_ == 2)) { - sealedValue_ = com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeRef.getDefaultInstance(); - } - typeRefBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeRef, com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeRef.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeRefOrBuilder>( - (com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeRef) sealedValue_, - getParentForChildren(), - isClean()); - sealedValue_ = null; - } - sealedValueCase_ = 2; - onChanged();; - return typeRefBuilder_; - } - - private com.google.protobuf.SingleFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.ExistentialType, com.sourcegraph.semanticdb_kotlinc.Semanticdb.ExistentialType.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.ExistentialTypeOrBuilder> existentialTypeBuilder_; - /** - * .com.sourcegraph.semanticdb_kotlinc.ExistentialType existential_type = 9; - * @return Whether the existentialType field is set. - */ - @java.lang.Override - public boolean hasExistentialType() { - return sealedValueCase_ == 9; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.ExistentialType existential_type = 9; - * @return The existentialType. - */ - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.ExistentialType getExistentialType() { - if (existentialTypeBuilder_ == null) { - if (sealedValueCase_ == 9) { - return (com.sourcegraph.semanticdb_kotlinc.Semanticdb.ExistentialType) sealedValue_; - } - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.ExistentialType.getDefaultInstance(); - } else { - if (sealedValueCase_ == 9) { - return existentialTypeBuilder_.getMessage(); - } - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.ExistentialType.getDefaultInstance(); - } - } - /** - * .com.sourcegraph.semanticdb_kotlinc.ExistentialType existential_type = 9; - */ - public Builder setExistentialType(com.sourcegraph.semanticdb_kotlinc.Semanticdb.ExistentialType value) { - if (existentialTypeBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - sealedValue_ = value; - onChanged(); - } else { - existentialTypeBuilder_.setMessage(value); - } - sealedValueCase_ = 9; - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.ExistentialType existential_type = 9; - */ - public Builder setExistentialType( - com.sourcegraph.semanticdb_kotlinc.Semanticdb.ExistentialType.Builder builderForValue) { - if (existentialTypeBuilder_ == null) { - sealedValue_ = builderForValue.build(); - onChanged(); - } else { - existentialTypeBuilder_.setMessage(builderForValue.build()); - } - sealedValueCase_ = 9; - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.ExistentialType existential_type = 9; - */ - public Builder mergeExistentialType(com.sourcegraph.semanticdb_kotlinc.Semanticdb.ExistentialType value) { - if (existentialTypeBuilder_ == null) { - if (sealedValueCase_ == 9 && - sealedValue_ != com.sourcegraph.semanticdb_kotlinc.Semanticdb.ExistentialType.getDefaultInstance()) { - sealedValue_ = com.sourcegraph.semanticdb_kotlinc.Semanticdb.ExistentialType.newBuilder((com.sourcegraph.semanticdb_kotlinc.Semanticdb.ExistentialType) sealedValue_) - .mergeFrom(value).buildPartial(); - } else { - sealedValue_ = value; - } - onChanged(); - } else { - if (sealedValueCase_ == 9) { - existentialTypeBuilder_.mergeFrom(value); - } - existentialTypeBuilder_.setMessage(value); - } - sealedValueCase_ = 9; - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.ExistentialType existential_type = 9; - */ - public Builder clearExistentialType() { - if (existentialTypeBuilder_ == null) { - if (sealedValueCase_ == 9) { - sealedValueCase_ = 0; - sealedValue_ = null; - onChanged(); - } - } else { - if (sealedValueCase_ == 9) { - sealedValueCase_ = 0; - sealedValue_ = null; - } - existentialTypeBuilder_.clear(); - } - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.ExistentialType existential_type = 9; - */ - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.ExistentialType.Builder getExistentialTypeBuilder() { - return getExistentialTypeFieldBuilder().getBuilder(); - } - /** - * .com.sourcegraph.semanticdb_kotlinc.ExistentialType existential_type = 9; - */ - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.ExistentialTypeOrBuilder getExistentialTypeOrBuilder() { - if ((sealedValueCase_ == 9) && (existentialTypeBuilder_ != null)) { - return existentialTypeBuilder_.getMessageOrBuilder(); - } else { - if (sealedValueCase_ == 9) { - return (com.sourcegraph.semanticdb_kotlinc.Semanticdb.ExistentialType) sealedValue_; - } - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.ExistentialType.getDefaultInstance(); - } - } - /** - * .com.sourcegraph.semanticdb_kotlinc.ExistentialType existential_type = 9; - */ - private com.google.protobuf.SingleFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.ExistentialType, com.sourcegraph.semanticdb_kotlinc.Semanticdb.ExistentialType.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.ExistentialTypeOrBuilder> - getExistentialTypeFieldBuilder() { - if (existentialTypeBuilder_ == null) { - if (!(sealedValueCase_ == 9)) { - sealedValue_ = com.sourcegraph.semanticdb_kotlinc.Semanticdb.ExistentialType.getDefaultInstance(); - } - existentialTypeBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.ExistentialType, com.sourcegraph.semanticdb_kotlinc.Semanticdb.ExistentialType.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.ExistentialTypeOrBuilder>( - (com.sourcegraph.semanticdb_kotlinc.Semanticdb.ExistentialType) sealedValue_, - getParentForChildren(), - isClean()); - sealedValue_ = null; - } - sealedValueCase_ = 9; - onChanged();; - return existentialTypeBuilder_; - } - - private com.google.protobuf.SingleFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.IntersectionType, com.sourcegraph.semanticdb_kotlinc.Semanticdb.IntersectionType.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.IntersectionTypeOrBuilder> intersectionTypeBuilder_; - /** - * .com.sourcegraph.semanticdb_kotlinc.IntersectionType intersection_type = 17; - * @return Whether the intersectionType field is set. - */ - @java.lang.Override - public boolean hasIntersectionType() { - return sealedValueCase_ == 17; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.IntersectionType intersection_type = 17; - * @return The intersectionType. - */ - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.IntersectionType getIntersectionType() { - if (intersectionTypeBuilder_ == null) { - if (sealedValueCase_ == 17) { - return (com.sourcegraph.semanticdb_kotlinc.Semanticdb.IntersectionType) sealedValue_; - } - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.IntersectionType.getDefaultInstance(); - } else { - if (sealedValueCase_ == 17) { - return intersectionTypeBuilder_.getMessage(); - } - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.IntersectionType.getDefaultInstance(); - } - } - /** - * .com.sourcegraph.semanticdb_kotlinc.IntersectionType intersection_type = 17; - */ - public Builder setIntersectionType(com.sourcegraph.semanticdb_kotlinc.Semanticdb.IntersectionType value) { - if (intersectionTypeBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - sealedValue_ = value; - onChanged(); - } else { - intersectionTypeBuilder_.setMessage(value); - } - sealedValueCase_ = 17; - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.IntersectionType intersection_type = 17; - */ - public Builder setIntersectionType( - com.sourcegraph.semanticdb_kotlinc.Semanticdb.IntersectionType.Builder builderForValue) { - if (intersectionTypeBuilder_ == null) { - sealedValue_ = builderForValue.build(); - onChanged(); - } else { - intersectionTypeBuilder_.setMessage(builderForValue.build()); - } - sealedValueCase_ = 17; - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.IntersectionType intersection_type = 17; - */ - public Builder mergeIntersectionType(com.sourcegraph.semanticdb_kotlinc.Semanticdb.IntersectionType value) { - if (intersectionTypeBuilder_ == null) { - if (sealedValueCase_ == 17 && - sealedValue_ != com.sourcegraph.semanticdb_kotlinc.Semanticdb.IntersectionType.getDefaultInstance()) { - sealedValue_ = com.sourcegraph.semanticdb_kotlinc.Semanticdb.IntersectionType.newBuilder((com.sourcegraph.semanticdb_kotlinc.Semanticdb.IntersectionType) sealedValue_) - .mergeFrom(value).buildPartial(); - } else { - sealedValue_ = value; - } - onChanged(); - } else { - if (sealedValueCase_ == 17) { - intersectionTypeBuilder_.mergeFrom(value); - } - intersectionTypeBuilder_.setMessage(value); - } - sealedValueCase_ = 17; - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.IntersectionType intersection_type = 17; - */ - public Builder clearIntersectionType() { - if (intersectionTypeBuilder_ == null) { - if (sealedValueCase_ == 17) { - sealedValueCase_ = 0; - sealedValue_ = null; - onChanged(); - } - } else { - if (sealedValueCase_ == 17) { - sealedValueCase_ = 0; - sealedValue_ = null; - } - intersectionTypeBuilder_.clear(); - } - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.IntersectionType intersection_type = 17; - */ - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.IntersectionType.Builder getIntersectionTypeBuilder() { - return getIntersectionTypeFieldBuilder().getBuilder(); - } - /** - * .com.sourcegraph.semanticdb_kotlinc.IntersectionType intersection_type = 17; - */ - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.IntersectionTypeOrBuilder getIntersectionTypeOrBuilder() { - if ((sealedValueCase_ == 17) && (intersectionTypeBuilder_ != null)) { - return intersectionTypeBuilder_.getMessageOrBuilder(); - } else { - if (sealedValueCase_ == 17) { - return (com.sourcegraph.semanticdb_kotlinc.Semanticdb.IntersectionType) sealedValue_; - } - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.IntersectionType.getDefaultInstance(); - } - } - /** - * .com.sourcegraph.semanticdb_kotlinc.IntersectionType intersection_type = 17; - */ - private com.google.protobuf.SingleFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.IntersectionType, com.sourcegraph.semanticdb_kotlinc.Semanticdb.IntersectionType.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.IntersectionTypeOrBuilder> - getIntersectionTypeFieldBuilder() { - if (intersectionTypeBuilder_ == null) { - if (!(sealedValueCase_ == 17)) { - sealedValue_ = com.sourcegraph.semanticdb_kotlinc.Semanticdb.IntersectionType.getDefaultInstance(); - } - intersectionTypeBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.IntersectionType, com.sourcegraph.semanticdb_kotlinc.Semanticdb.IntersectionType.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.IntersectionTypeOrBuilder>( - (com.sourcegraph.semanticdb_kotlinc.Semanticdb.IntersectionType) sealedValue_, - getParentForChildren(), - isClean()); - sealedValue_ = null; - } - sealedValueCase_ = 17; - onChanged();; - return intersectionTypeBuilder_; - } - @java.lang.Override - public final Builder setUnknownFields( - final com.google.protobuf.UnknownFieldSet unknownFields) { - return super.setUnknownFields(unknownFields); - } - - @java.lang.Override - public final Builder mergeUnknownFields( - final com.google.protobuf.UnknownFieldSet unknownFields) { - return super.mergeUnknownFields(unknownFields); - } - - - // @@protoc_insertion_point(builder_scope:com.sourcegraph.semanticdb_kotlinc.Type) - } - - // @@protoc_insertion_point(class_scope:com.sourcegraph.semanticdb_kotlinc.Type) - private static final com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type DEFAULT_INSTANCE; - static { - DEFAULT_INSTANCE = new com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type(); - } - - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type getDefaultInstance() { - return DEFAULT_INSTANCE; - } - - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { - @java.lang.Override - public Type parsePartialFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return new Type(input, extensionRegistry); - } - }; - - public static com.google.protobuf.Parser parser() { - return PARSER; - } - - @java.lang.Override - public com.google.protobuf.Parser getParserForType() { - return PARSER; - } - - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type getDefaultInstanceForType() { - return DEFAULT_INSTANCE; - } - - } - - public interface TypeRefOrBuilder extends - // @@protoc_insertion_point(interface_extends:com.sourcegraph.semanticdb_kotlinc.TypeRef) - com.google.protobuf.MessageOrBuilder { - - /** - * string symbol = 2; - * @return The symbol. - */ - java.lang.String getSymbol(); - /** - * string symbol = 2; - * @return The bytes for symbol. - */ - com.google.protobuf.ByteString - getSymbolBytes(); - - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Type type_arguments = 3; - */ - java.util.List - getTypeArgumentsList(); - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Type type_arguments = 3; - */ - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type getTypeArguments(int index); - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Type type_arguments = 3; - */ - int getTypeArgumentsCount(); - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Type type_arguments = 3; - */ - java.util.List - getTypeArgumentsOrBuilderList(); - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Type type_arguments = 3; - */ - com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeOrBuilder getTypeArgumentsOrBuilder( - int index); - } - /** - * Protobuf type {@code com.sourcegraph.semanticdb_kotlinc.TypeRef} - */ - public static final class TypeRef extends - com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:com.sourcegraph.semanticdb_kotlinc.TypeRef) - TypeRefOrBuilder { - private static final long serialVersionUID = 0L; - // Use TypeRef.newBuilder() to construct. - private TypeRef(com.google.protobuf.GeneratedMessageV3.Builder builder) { - super(builder); - } - private TypeRef() { - symbol_ = ""; - typeArguments_ = java.util.Collections.emptyList(); - } - - @java.lang.Override - @SuppressWarnings({"unused"}) - protected java.lang.Object newInstance( - UnusedPrivateParameter unused) { - return new TypeRef(); - } - - @java.lang.Override - public final com.google.protobuf.UnknownFieldSet - getUnknownFields() { - return this.unknownFields; - } - private TypeRef( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - this(); - if (extensionRegistry == null) { - throw new java.lang.NullPointerException(); - } - int mutable_bitField0_ = 0; - com.google.protobuf.UnknownFieldSet.Builder unknownFields = - com.google.protobuf.UnknownFieldSet.newBuilder(); - try { - boolean done = false; - while (!done) { - int tag = input.readTag(); - switch (tag) { - case 0: - done = true; - break; - case 18: { - java.lang.String s = input.readStringRequireUtf8(); - - symbol_ = s; - break; - } - case 26: { - if (!((mutable_bitField0_ & 0x00000001) != 0)) { - typeArguments_ = new java.util.ArrayList(); - mutable_bitField0_ |= 0x00000001; - } - typeArguments_.add( - input.readMessage(com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.parser(), extensionRegistry)); - break; - } - default: { - if (!parseUnknownField( - input, unknownFields, extensionRegistry, tag)) { - done = true; - } - break; - } - } - } - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.setUnfinishedMessage(this); - } catch (java.io.IOException e) { - throw new com.google.protobuf.InvalidProtocolBufferException( - e).setUnfinishedMessage(this); - } finally { - if (((mutable_bitField0_ & 0x00000001) != 0)) { - typeArguments_ = java.util.Collections.unmodifiableList(typeArguments_); - } - this.unknownFields = unknownFields.build(); - makeExtensionsImmutable(); - } - } - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_TypeRef_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internalGetFieldAccessorTable() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_TypeRef_fieldAccessorTable - .ensureFieldAccessorsInitialized( - com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeRef.class, com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeRef.Builder.class); - } - - public static final int SYMBOL_FIELD_NUMBER = 2; - private volatile java.lang.Object symbol_; - /** - * string symbol = 2; - * @return The symbol. - */ - @java.lang.Override - public java.lang.String getSymbol() { - java.lang.Object ref = symbol_; - if (ref instanceof java.lang.String) { - return (java.lang.String) ref; - } else { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - symbol_ = s; - return s; - } - } - /** - * string symbol = 2; - * @return The bytes for symbol. - */ - @java.lang.Override - public com.google.protobuf.ByteString - getSymbolBytes() { - java.lang.Object ref = symbol_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - symbol_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - - public static final int TYPE_ARGUMENTS_FIELD_NUMBER = 3; - private java.util.List typeArguments_; - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Type type_arguments = 3; - */ - @java.lang.Override - public java.util.List getTypeArgumentsList() { - return typeArguments_; - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Type type_arguments = 3; - */ - @java.lang.Override - public java.util.List - getTypeArgumentsOrBuilderList() { - return typeArguments_; - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Type type_arguments = 3; - */ - @java.lang.Override - public int getTypeArgumentsCount() { - return typeArguments_.size(); - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Type type_arguments = 3; - */ - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type getTypeArguments(int index) { - return typeArguments_.get(index); - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Type type_arguments = 3; - */ - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeOrBuilder getTypeArgumentsOrBuilder( - int index) { - return typeArguments_.get(index); - } - - private byte memoizedIsInitialized = -1; - @java.lang.Override - public final boolean isInitialized() { - byte isInitialized = memoizedIsInitialized; - if (isInitialized == 1) return true; - if (isInitialized == 0) return false; - - memoizedIsInitialized = 1; - return true; - } - - @java.lang.Override - public void writeTo(com.google.protobuf.CodedOutputStream output) - throws java.io.IOException { - if (!getSymbolBytes().isEmpty()) { - com.google.protobuf.GeneratedMessageV3.writeString(output, 2, symbol_); - } - for (int i = 0; i < typeArguments_.size(); i++) { - output.writeMessage(3, typeArguments_.get(i)); - } - unknownFields.writeTo(output); - } - - @java.lang.Override - public int getSerializedSize() { - int size = memoizedSize; - if (size != -1) return size; - - size = 0; - if (!getSymbolBytes().isEmpty()) { - size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, symbol_); - } - for (int i = 0; i < typeArguments_.size(); i++) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(3, typeArguments_.get(i)); - } - size += unknownFields.getSerializedSize(); - memoizedSize = size; - return size; - } - - @java.lang.Override - public boolean equals(final java.lang.Object obj) { - if (obj == this) { - return true; - } - if (!(obj instanceof com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeRef)) { - return super.equals(obj); - } - com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeRef other = (com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeRef) obj; - - if (!getSymbol() - .equals(other.getSymbol())) return false; - if (!getTypeArgumentsList() - .equals(other.getTypeArgumentsList())) return false; - if (!unknownFields.equals(other.unknownFields)) return false; - return true; - } - - @java.lang.Override - public int hashCode() { - if (memoizedHashCode != 0) { - return memoizedHashCode; - } - int hash = 41; - hash = (19 * hash) + getDescriptor().hashCode(); - hash = (37 * hash) + SYMBOL_FIELD_NUMBER; - hash = (53 * hash) + getSymbol().hashCode(); - if (getTypeArgumentsCount() > 0) { - hash = (37 * hash) + TYPE_ARGUMENTS_FIELD_NUMBER; - hash = (53 * hash) + getTypeArgumentsList().hashCode(); - } - hash = (29 * hash) + unknownFields.hashCode(); - memoizedHashCode = hash; - return hash; - } - - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeRef parseFrom( - java.nio.ByteBuffer data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeRef parseFrom( - java.nio.ByteBuffer data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeRef parseFrom( - com.google.protobuf.ByteString data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeRef parseFrom( - com.google.protobuf.ByteString data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeRef parseFrom(byte[] data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeRef parseFrom( - byte[] data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeRef parseFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeRef parseFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeRef parseDelimitedFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseDelimitedWithIOException(PARSER, input); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeRef parseDelimitedFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseDelimitedWithIOException(PARSER, input, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeRef parseFrom( - com.google.protobuf.CodedInputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeRef parseFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input, extensionRegistry); - } - - @java.lang.Override - public Builder newBuilderForType() { return newBuilder(); } - public static Builder newBuilder() { - return DEFAULT_INSTANCE.toBuilder(); - } - public static Builder newBuilder(com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeRef prototype) { - return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); - } - @java.lang.Override - public Builder toBuilder() { - return this == DEFAULT_INSTANCE - ? new Builder() : new Builder().mergeFrom(this); - } - - @java.lang.Override - protected Builder newBuilderForType( - com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { - Builder builder = new Builder(parent); - return builder; - } - /** - * Protobuf type {@code com.sourcegraph.semanticdb_kotlinc.TypeRef} - */ - public static final class Builder extends - com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:com.sourcegraph.semanticdb_kotlinc.TypeRef) - com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeRefOrBuilder { - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_TypeRef_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internalGetFieldAccessorTable() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_TypeRef_fieldAccessorTable - .ensureFieldAccessorsInitialized( - com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeRef.class, com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeRef.Builder.class); - } - - // Construct using com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeRef.newBuilder() - private Builder() { - maybeForceBuilderInitialization(); - } - - private Builder( - com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { - super(parent); - maybeForceBuilderInitialization(); - } - private void maybeForceBuilderInitialization() { - if (com.google.protobuf.GeneratedMessageV3 - .alwaysUseFieldBuilders) { - getTypeArgumentsFieldBuilder(); - } - } - @java.lang.Override - public Builder clear() { - super.clear(); - symbol_ = ""; - - if (typeArgumentsBuilder_ == null) { - typeArguments_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000001); - } else { - typeArgumentsBuilder_.clear(); - } - return this; - } - - @java.lang.Override - public com.google.protobuf.Descriptors.Descriptor - getDescriptorForType() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_TypeRef_descriptor; - } - - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeRef getDefaultInstanceForType() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeRef.getDefaultInstance(); - } - - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeRef build() { - com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeRef result = buildPartial(); - if (!result.isInitialized()) { - throw newUninitializedMessageException(result); - } - return result; - } - - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeRef buildPartial() { - com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeRef result = new com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeRef(this); - int from_bitField0_ = bitField0_; - result.symbol_ = symbol_; - if (typeArgumentsBuilder_ == null) { - if (((bitField0_ & 0x00000001) != 0)) { - typeArguments_ = java.util.Collections.unmodifiableList(typeArguments_); - bitField0_ = (bitField0_ & ~0x00000001); - } - result.typeArguments_ = typeArguments_; - } else { - result.typeArguments_ = typeArgumentsBuilder_.build(); - } - onBuilt(); - return result; - } - - @java.lang.Override - public Builder clone() { - return super.clone(); - } - @java.lang.Override - public Builder setField( - com.google.protobuf.Descriptors.FieldDescriptor field, - java.lang.Object value) { - return super.setField(field, value); - } - @java.lang.Override - public Builder clearField( - com.google.protobuf.Descriptors.FieldDescriptor field) { - return super.clearField(field); - } - @java.lang.Override - public Builder clearOneof( - com.google.protobuf.Descriptors.OneofDescriptor oneof) { - return super.clearOneof(oneof); - } - @java.lang.Override - public Builder setRepeatedField( - com.google.protobuf.Descriptors.FieldDescriptor field, - int index, java.lang.Object value) { - return super.setRepeatedField(field, index, value); - } - @java.lang.Override - public Builder addRepeatedField( - com.google.protobuf.Descriptors.FieldDescriptor field, - java.lang.Object value) { - return super.addRepeatedField(field, value); - } - @java.lang.Override - public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeRef) { - return mergeFrom((com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeRef)other); - } else { - super.mergeFrom(other); - return this; - } - } - - public Builder mergeFrom(com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeRef other) { - if (other == com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeRef.getDefaultInstance()) return this; - if (!other.getSymbol().isEmpty()) { - symbol_ = other.symbol_; - onChanged(); - } - if (typeArgumentsBuilder_ == null) { - if (!other.typeArguments_.isEmpty()) { - if (typeArguments_.isEmpty()) { - typeArguments_ = other.typeArguments_; - bitField0_ = (bitField0_ & ~0x00000001); - } else { - ensureTypeArgumentsIsMutable(); - typeArguments_.addAll(other.typeArguments_); - } - onChanged(); - } - } else { - if (!other.typeArguments_.isEmpty()) { - if (typeArgumentsBuilder_.isEmpty()) { - typeArgumentsBuilder_.dispose(); - typeArgumentsBuilder_ = null; - typeArguments_ = other.typeArguments_; - bitField0_ = (bitField0_ & ~0x00000001); - typeArgumentsBuilder_ = - com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? - getTypeArgumentsFieldBuilder() : null; - } else { - typeArgumentsBuilder_.addAllMessages(other.typeArguments_); - } - } - } - this.mergeUnknownFields(other.unknownFields); - onChanged(); - return this; - } - - @java.lang.Override - public final boolean isInitialized() { - return true; - } - - @java.lang.Override - public Builder mergeFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeRef parsedMessage = null; - try { - parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeRef) e.getUnfinishedMessage(); - throw e.unwrapIOException(); - } finally { - if (parsedMessage != null) { - mergeFrom(parsedMessage); - } - } - return this; - } - private int bitField0_; - - private java.lang.Object symbol_ = ""; - /** - * string symbol = 2; - * @return The symbol. - */ - public java.lang.String getSymbol() { - java.lang.Object ref = symbol_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - symbol_ = s; - return s; - } else { - return (java.lang.String) ref; - } - } - /** - * string symbol = 2; - * @return The bytes for symbol. - */ - public com.google.protobuf.ByteString - getSymbolBytes() { - java.lang.Object ref = symbol_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - symbol_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - /** - * string symbol = 2; - * @param value The symbol to set. - * @return This builder for chaining. - */ - public Builder setSymbol( - java.lang.String value) { - if (value == null) { - throw new NullPointerException(); - } - - symbol_ = value; - onChanged(); - return this; - } - /** - * string symbol = 2; - * @return This builder for chaining. - */ - public Builder clearSymbol() { - - symbol_ = getDefaultInstance().getSymbol(); - onChanged(); - return this; - } - /** - * string symbol = 2; - * @param value The bytes for symbol to set. - * @return This builder for chaining. - */ - public Builder setSymbolBytes( - com.google.protobuf.ByteString value) { - if (value == null) { - throw new NullPointerException(); - } - checkByteStringIsUtf8(value); - - symbol_ = value; - onChanged(); - return this; - } - - private java.util.List typeArguments_ = - java.util.Collections.emptyList(); - private void ensureTypeArgumentsIsMutable() { - if (!((bitField0_ & 0x00000001) != 0)) { - typeArguments_ = new java.util.ArrayList(typeArguments_); - bitField0_ |= 0x00000001; - } - } - - private com.google.protobuf.RepeatedFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeOrBuilder> typeArgumentsBuilder_; - - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Type type_arguments = 3; - */ - public java.util.List getTypeArgumentsList() { - if (typeArgumentsBuilder_ == null) { - return java.util.Collections.unmodifiableList(typeArguments_); - } else { - return typeArgumentsBuilder_.getMessageList(); - } - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Type type_arguments = 3; - */ - public int getTypeArgumentsCount() { - if (typeArgumentsBuilder_ == null) { - return typeArguments_.size(); - } else { - return typeArgumentsBuilder_.getCount(); - } - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Type type_arguments = 3; - */ - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type getTypeArguments(int index) { - if (typeArgumentsBuilder_ == null) { - return typeArguments_.get(index); - } else { - return typeArgumentsBuilder_.getMessage(index); - } - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Type type_arguments = 3; - */ - public Builder setTypeArguments( - int index, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type value) { - if (typeArgumentsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureTypeArgumentsIsMutable(); - typeArguments_.set(index, value); - onChanged(); - } else { - typeArgumentsBuilder_.setMessage(index, value); - } - return this; - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Type type_arguments = 3; - */ - public Builder setTypeArguments( - int index, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.Builder builderForValue) { - if (typeArgumentsBuilder_ == null) { - ensureTypeArgumentsIsMutable(); - typeArguments_.set(index, builderForValue.build()); - onChanged(); - } else { - typeArgumentsBuilder_.setMessage(index, builderForValue.build()); - } - return this; - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Type type_arguments = 3; - */ - public Builder addTypeArguments(com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type value) { - if (typeArgumentsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureTypeArgumentsIsMutable(); - typeArguments_.add(value); - onChanged(); - } else { - typeArgumentsBuilder_.addMessage(value); - } - return this; - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Type type_arguments = 3; - */ - public Builder addTypeArguments( - int index, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type value) { - if (typeArgumentsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureTypeArgumentsIsMutable(); - typeArguments_.add(index, value); - onChanged(); - } else { - typeArgumentsBuilder_.addMessage(index, value); - } - return this; - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Type type_arguments = 3; - */ - public Builder addTypeArguments( - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.Builder builderForValue) { - if (typeArgumentsBuilder_ == null) { - ensureTypeArgumentsIsMutable(); - typeArguments_.add(builderForValue.build()); - onChanged(); - } else { - typeArgumentsBuilder_.addMessage(builderForValue.build()); - } - return this; - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Type type_arguments = 3; - */ - public Builder addTypeArguments( - int index, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.Builder builderForValue) { - if (typeArgumentsBuilder_ == null) { - ensureTypeArgumentsIsMutable(); - typeArguments_.add(index, builderForValue.build()); - onChanged(); - } else { - typeArgumentsBuilder_.addMessage(index, builderForValue.build()); - } - return this; - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Type type_arguments = 3; - */ - public Builder addAllTypeArguments( - java.lang.Iterable values) { - if (typeArgumentsBuilder_ == null) { - ensureTypeArgumentsIsMutable(); - com.google.protobuf.AbstractMessageLite.Builder.addAll( - values, typeArguments_); - onChanged(); - } else { - typeArgumentsBuilder_.addAllMessages(values); - } - return this; - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Type type_arguments = 3; - */ - public Builder clearTypeArguments() { - if (typeArgumentsBuilder_ == null) { - typeArguments_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000001); - onChanged(); - } else { - typeArgumentsBuilder_.clear(); - } - return this; - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Type type_arguments = 3; - */ - public Builder removeTypeArguments(int index) { - if (typeArgumentsBuilder_ == null) { - ensureTypeArgumentsIsMutable(); - typeArguments_.remove(index); - onChanged(); - } else { - typeArgumentsBuilder_.remove(index); - } - return this; - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Type type_arguments = 3; - */ - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.Builder getTypeArgumentsBuilder( - int index) { - return getTypeArgumentsFieldBuilder().getBuilder(index); - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Type type_arguments = 3; - */ - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeOrBuilder getTypeArgumentsOrBuilder( - int index) { - if (typeArgumentsBuilder_ == null) { - return typeArguments_.get(index); } else { - return typeArgumentsBuilder_.getMessageOrBuilder(index); - } - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Type type_arguments = 3; - */ - public java.util.List - getTypeArgumentsOrBuilderList() { - if (typeArgumentsBuilder_ != null) { - return typeArgumentsBuilder_.getMessageOrBuilderList(); - } else { - return java.util.Collections.unmodifiableList(typeArguments_); - } - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Type type_arguments = 3; - */ - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.Builder addTypeArgumentsBuilder() { - return getTypeArgumentsFieldBuilder().addBuilder( - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.getDefaultInstance()); - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Type type_arguments = 3; - */ - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.Builder addTypeArgumentsBuilder( - int index) { - return getTypeArgumentsFieldBuilder().addBuilder( - index, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.getDefaultInstance()); - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Type type_arguments = 3; - */ - public java.util.List - getTypeArgumentsBuilderList() { - return getTypeArgumentsFieldBuilder().getBuilderList(); - } - private com.google.protobuf.RepeatedFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeOrBuilder> - getTypeArgumentsFieldBuilder() { - if (typeArgumentsBuilder_ == null) { - typeArgumentsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeOrBuilder>( - typeArguments_, - ((bitField0_ & 0x00000001) != 0), - getParentForChildren(), - isClean()); - typeArguments_ = null; - } - return typeArgumentsBuilder_; - } - @java.lang.Override - public final Builder setUnknownFields( - final com.google.protobuf.UnknownFieldSet unknownFields) { - return super.setUnknownFields(unknownFields); - } - - @java.lang.Override - public final Builder mergeUnknownFields( - final com.google.protobuf.UnknownFieldSet unknownFields) { - return super.mergeUnknownFields(unknownFields); - } - - - // @@protoc_insertion_point(builder_scope:com.sourcegraph.semanticdb_kotlinc.TypeRef) - } - - // @@protoc_insertion_point(class_scope:com.sourcegraph.semanticdb_kotlinc.TypeRef) - private static final com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeRef DEFAULT_INSTANCE; - static { - DEFAULT_INSTANCE = new com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeRef(); - } - - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeRef getDefaultInstance() { - return DEFAULT_INSTANCE; - } - - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { - @java.lang.Override - public TypeRef parsePartialFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return new TypeRef(input, extensionRegistry); - } - }; - - public static com.google.protobuf.Parser parser() { - return PARSER; - } - - @java.lang.Override - public com.google.protobuf.Parser getParserForType() { - return PARSER; - } - - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeRef getDefaultInstanceForType() { - return DEFAULT_INSTANCE; - } - - } - - public interface IntersectionTypeOrBuilder extends - // @@protoc_insertion_point(interface_extends:com.sourcegraph.semanticdb_kotlinc.IntersectionType) - com.google.protobuf.MessageOrBuilder { - - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Type types = 1; - */ - java.util.List - getTypesList(); - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Type types = 1; - */ - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type getTypes(int index); - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Type types = 1; - */ - int getTypesCount(); - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Type types = 1; - */ - java.util.List - getTypesOrBuilderList(); - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Type types = 1; - */ - com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeOrBuilder getTypesOrBuilder( - int index); - } - /** - * Protobuf type {@code com.sourcegraph.semanticdb_kotlinc.IntersectionType} - */ - public static final class IntersectionType extends - com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:com.sourcegraph.semanticdb_kotlinc.IntersectionType) - IntersectionTypeOrBuilder { - private static final long serialVersionUID = 0L; - // Use IntersectionType.newBuilder() to construct. - private IntersectionType(com.google.protobuf.GeneratedMessageV3.Builder builder) { - super(builder); - } - private IntersectionType() { - types_ = java.util.Collections.emptyList(); - } - - @java.lang.Override - @SuppressWarnings({"unused"}) - protected java.lang.Object newInstance( - UnusedPrivateParameter unused) { - return new IntersectionType(); - } - - @java.lang.Override - public final com.google.protobuf.UnknownFieldSet - getUnknownFields() { - return this.unknownFields; - } - private IntersectionType( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - this(); - if (extensionRegistry == null) { - throw new java.lang.NullPointerException(); - } - int mutable_bitField0_ = 0; - com.google.protobuf.UnknownFieldSet.Builder unknownFields = - com.google.protobuf.UnknownFieldSet.newBuilder(); - try { - boolean done = false; - while (!done) { - int tag = input.readTag(); - switch (tag) { - case 0: - done = true; - break; - case 10: { - if (!((mutable_bitField0_ & 0x00000001) != 0)) { - types_ = new java.util.ArrayList(); - mutable_bitField0_ |= 0x00000001; - } - types_.add( - input.readMessage(com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.parser(), extensionRegistry)); - break; - } - default: { - if (!parseUnknownField( - input, unknownFields, extensionRegistry, tag)) { - done = true; - } - break; - } - } - } - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.setUnfinishedMessage(this); - } catch (java.io.IOException e) { - throw new com.google.protobuf.InvalidProtocolBufferException( - e).setUnfinishedMessage(this); - } finally { - if (((mutable_bitField0_ & 0x00000001) != 0)) { - types_ = java.util.Collections.unmodifiableList(types_); - } - this.unknownFields = unknownFields.build(); - makeExtensionsImmutable(); - } - } - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_IntersectionType_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internalGetFieldAccessorTable() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_IntersectionType_fieldAccessorTable - .ensureFieldAccessorsInitialized( - com.sourcegraph.semanticdb_kotlinc.Semanticdb.IntersectionType.class, com.sourcegraph.semanticdb_kotlinc.Semanticdb.IntersectionType.Builder.class); - } - - public static final int TYPES_FIELD_NUMBER = 1; - private java.util.List types_; - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Type types = 1; - */ - @java.lang.Override - public java.util.List getTypesList() { - return types_; - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Type types = 1; - */ - @java.lang.Override - public java.util.List - getTypesOrBuilderList() { - return types_; - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Type types = 1; - */ - @java.lang.Override - public int getTypesCount() { - return types_.size(); - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Type types = 1; - */ - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type getTypes(int index) { - return types_.get(index); - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Type types = 1; - */ - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeOrBuilder getTypesOrBuilder( - int index) { - return types_.get(index); - } - - private byte memoizedIsInitialized = -1; - @java.lang.Override - public final boolean isInitialized() { - byte isInitialized = memoizedIsInitialized; - if (isInitialized == 1) return true; - if (isInitialized == 0) return false; - - memoizedIsInitialized = 1; - return true; - } - - @java.lang.Override - public void writeTo(com.google.protobuf.CodedOutputStream output) - throws java.io.IOException { - for (int i = 0; i < types_.size(); i++) { - output.writeMessage(1, types_.get(i)); - } - unknownFields.writeTo(output); - } - - @java.lang.Override - public int getSerializedSize() { - int size = memoizedSize; - if (size != -1) return size; - - size = 0; - for (int i = 0; i < types_.size(); i++) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(1, types_.get(i)); - } - size += unknownFields.getSerializedSize(); - memoizedSize = size; - return size; - } - - @java.lang.Override - public boolean equals(final java.lang.Object obj) { - if (obj == this) { - return true; - } - if (!(obj instanceof com.sourcegraph.semanticdb_kotlinc.Semanticdb.IntersectionType)) { - return super.equals(obj); - } - com.sourcegraph.semanticdb_kotlinc.Semanticdb.IntersectionType other = (com.sourcegraph.semanticdb_kotlinc.Semanticdb.IntersectionType) obj; - - if (!getTypesList() - .equals(other.getTypesList())) return false; - if (!unknownFields.equals(other.unknownFields)) return false; - return true; - } - - @java.lang.Override - public int hashCode() { - if (memoizedHashCode != 0) { - return memoizedHashCode; - } - int hash = 41; - hash = (19 * hash) + getDescriptor().hashCode(); - if (getTypesCount() > 0) { - hash = (37 * hash) + TYPES_FIELD_NUMBER; - hash = (53 * hash) + getTypesList().hashCode(); - } - hash = (29 * hash) + unknownFields.hashCode(); - memoizedHashCode = hash; - return hash; - } - - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.IntersectionType parseFrom( - java.nio.ByteBuffer data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.IntersectionType parseFrom( - java.nio.ByteBuffer data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.IntersectionType parseFrom( - com.google.protobuf.ByteString data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.IntersectionType parseFrom( - com.google.protobuf.ByteString data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.IntersectionType parseFrom(byte[] data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.IntersectionType parseFrom( - byte[] data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.IntersectionType parseFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.IntersectionType parseFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.IntersectionType parseDelimitedFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseDelimitedWithIOException(PARSER, input); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.IntersectionType parseDelimitedFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseDelimitedWithIOException(PARSER, input, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.IntersectionType parseFrom( - com.google.protobuf.CodedInputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.IntersectionType parseFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input, extensionRegistry); - } - - @java.lang.Override - public Builder newBuilderForType() { return newBuilder(); } - public static Builder newBuilder() { - return DEFAULT_INSTANCE.toBuilder(); - } - public static Builder newBuilder(com.sourcegraph.semanticdb_kotlinc.Semanticdb.IntersectionType prototype) { - return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); - } - @java.lang.Override - public Builder toBuilder() { - return this == DEFAULT_INSTANCE - ? new Builder() : new Builder().mergeFrom(this); - } - - @java.lang.Override - protected Builder newBuilderForType( - com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { - Builder builder = new Builder(parent); - return builder; - } - /** - * Protobuf type {@code com.sourcegraph.semanticdb_kotlinc.IntersectionType} - */ - public static final class Builder extends - com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:com.sourcegraph.semanticdb_kotlinc.IntersectionType) - com.sourcegraph.semanticdb_kotlinc.Semanticdb.IntersectionTypeOrBuilder { - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_IntersectionType_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internalGetFieldAccessorTable() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_IntersectionType_fieldAccessorTable - .ensureFieldAccessorsInitialized( - com.sourcegraph.semanticdb_kotlinc.Semanticdb.IntersectionType.class, com.sourcegraph.semanticdb_kotlinc.Semanticdb.IntersectionType.Builder.class); - } - - // Construct using com.sourcegraph.semanticdb_kotlinc.Semanticdb.IntersectionType.newBuilder() - private Builder() { - maybeForceBuilderInitialization(); - } - - private Builder( - com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { - super(parent); - maybeForceBuilderInitialization(); - } - private void maybeForceBuilderInitialization() { - if (com.google.protobuf.GeneratedMessageV3 - .alwaysUseFieldBuilders) { - getTypesFieldBuilder(); - } - } - @java.lang.Override - public Builder clear() { - super.clear(); - if (typesBuilder_ == null) { - types_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000001); - } else { - typesBuilder_.clear(); - } - return this; - } - - @java.lang.Override - public com.google.protobuf.Descriptors.Descriptor - getDescriptorForType() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_IntersectionType_descriptor; - } - - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.IntersectionType getDefaultInstanceForType() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.IntersectionType.getDefaultInstance(); - } - - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.IntersectionType build() { - com.sourcegraph.semanticdb_kotlinc.Semanticdb.IntersectionType result = buildPartial(); - if (!result.isInitialized()) { - throw newUninitializedMessageException(result); - } - return result; - } - - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.IntersectionType buildPartial() { - com.sourcegraph.semanticdb_kotlinc.Semanticdb.IntersectionType result = new com.sourcegraph.semanticdb_kotlinc.Semanticdb.IntersectionType(this); - int from_bitField0_ = bitField0_; - if (typesBuilder_ == null) { - if (((bitField0_ & 0x00000001) != 0)) { - types_ = java.util.Collections.unmodifiableList(types_); - bitField0_ = (bitField0_ & ~0x00000001); - } - result.types_ = types_; - } else { - result.types_ = typesBuilder_.build(); - } - onBuilt(); - return result; - } - - @java.lang.Override - public Builder clone() { - return super.clone(); - } - @java.lang.Override - public Builder setField( - com.google.protobuf.Descriptors.FieldDescriptor field, - java.lang.Object value) { - return super.setField(field, value); - } - @java.lang.Override - public Builder clearField( - com.google.protobuf.Descriptors.FieldDescriptor field) { - return super.clearField(field); - } - @java.lang.Override - public Builder clearOneof( - com.google.protobuf.Descriptors.OneofDescriptor oneof) { - return super.clearOneof(oneof); - } - @java.lang.Override - public Builder setRepeatedField( - com.google.protobuf.Descriptors.FieldDescriptor field, - int index, java.lang.Object value) { - return super.setRepeatedField(field, index, value); - } - @java.lang.Override - public Builder addRepeatedField( - com.google.protobuf.Descriptors.FieldDescriptor field, - java.lang.Object value) { - return super.addRepeatedField(field, value); - } - @java.lang.Override - public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof com.sourcegraph.semanticdb_kotlinc.Semanticdb.IntersectionType) { - return mergeFrom((com.sourcegraph.semanticdb_kotlinc.Semanticdb.IntersectionType)other); - } else { - super.mergeFrom(other); - return this; - } - } - - public Builder mergeFrom(com.sourcegraph.semanticdb_kotlinc.Semanticdb.IntersectionType other) { - if (other == com.sourcegraph.semanticdb_kotlinc.Semanticdb.IntersectionType.getDefaultInstance()) return this; - if (typesBuilder_ == null) { - if (!other.types_.isEmpty()) { - if (types_.isEmpty()) { - types_ = other.types_; - bitField0_ = (bitField0_ & ~0x00000001); - } else { - ensureTypesIsMutable(); - types_.addAll(other.types_); - } - onChanged(); - } - } else { - if (!other.types_.isEmpty()) { - if (typesBuilder_.isEmpty()) { - typesBuilder_.dispose(); - typesBuilder_ = null; - types_ = other.types_; - bitField0_ = (bitField0_ & ~0x00000001); - typesBuilder_ = - com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? - getTypesFieldBuilder() : null; - } else { - typesBuilder_.addAllMessages(other.types_); - } - } - } - this.mergeUnknownFields(other.unknownFields); - onChanged(); - return this; - } - - @java.lang.Override - public final boolean isInitialized() { - return true; - } - - @java.lang.Override - public Builder mergeFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - com.sourcegraph.semanticdb_kotlinc.Semanticdb.IntersectionType parsedMessage = null; - try { - parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (com.sourcegraph.semanticdb_kotlinc.Semanticdb.IntersectionType) e.getUnfinishedMessage(); - throw e.unwrapIOException(); - } finally { - if (parsedMessage != null) { - mergeFrom(parsedMessage); - } - } - return this; - } - private int bitField0_; - - private java.util.List types_ = - java.util.Collections.emptyList(); - private void ensureTypesIsMutable() { - if (!((bitField0_ & 0x00000001) != 0)) { - types_ = new java.util.ArrayList(types_); - bitField0_ |= 0x00000001; - } - } - - private com.google.protobuf.RepeatedFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeOrBuilder> typesBuilder_; - - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Type types = 1; - */ - public java.util.List getTypesList() { - if (typesBuilder_ == null) { - return java.util.Collections.unmodifiableList(types_); - } else { - return typesBuilder_.getMessageList(); - } - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Type types = 1; - */ - public int getTypesCount() { - if (typesBuilder_ == null) { - return types_.size(); - } else { - return typesBuilder_.getCount(); - } - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Type types = 1; - */ - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type getTypes(int index) { - if (typesBuilder_ == null) { - return types_.get(index); - } else { - return typesBuilder_.getMessage(index); - } - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Type types = 1; - */ - public Builder setTypes( - int index, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type value) { - if (typesBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureTypesIsMutable(); - types_.set(index, value); - onChanged(); - } else { - typesBuilder_.setMessage(index, value); - } - return this; - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Type types = 1; - */ - public Builder setTypes( - int index, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.Builder builderForValue) { - if (typesBuilder_ == null) { - ensureTypesIsMutable(); - types_.set(index, builderForValue.build()); - onChanged(); - } else { - typesBuilder_.setMessage(index, builderForValue.build()); - } - return this; - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Type types = 1; - */ - public Builder addTypes(com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type value) { - if (typesBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureTypesIsMutable(); - types_.add(value); - onChanged(); - } else { - typesBuilder_.addMessage(value); - } - return this; - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Type types = 1; - */ - public Builder addTypes( - int index, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type value) { - if (typesBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureTypesIsMutable(); - types_.add(index, value); - onChanged(); - } else { - typesBuilder_.addMessage(index, value); - } - return this; - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Type types = 1; - */ - public Builder addTypes( - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.Builder builderForValue) { - if (typesBuilder_ == null) { - ensureTypesIsMutable(); - types_.add(builderForValue.build()); - onChanged(); - } else { - typesBuilder_.addMessage(builderForValue.build()); - } - return this; - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Type types = 1; - */ - public Builder addTypes( - int index, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.Builder builderForValue) { - if (typesBuilder_ == null) { - ensureTypesIsMutable(); - types_.add(index, builderForValue.build()); - onChanged(); - } else { - typesBuilder_.addMessage(index, builderForValue.build()); - } - return this; - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Type types = 1; - */ - public Builder addAllTypes( - java.lang.Iterable values) { - if (typesBuilder_ == null) { - ensureTypesIsMutable(); - com.google.protobuf.AbstractMessageLite.Builder.addAll( - values, types_); - onChanged(); - } else { - typesBuilder_.addAllMessages(values); - } - return this; - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Type types = 1; - */ - public Builder clearTypes() { - if (typesBuilder_ == null) { - types_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000001); - onChanged(); - } else { - typesBuilder_.clear(); - } - return this; - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Type types = 1; - */ - public Builder removeTypes(int index) { - if (typesBuilder_ == null) { - ensureTypesIsMutable(); - types_.remove(index); - onChanged(); - } else { - typesBuilder_.remove(index); - } - return this; - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Type types = 1; - */ - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.Builder getTypesBuilder( - int index) { - return getTypesFieldBuilder().getBuilder(index); - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Type types = 1; - */ - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeOrBuilder getTypesOrBuilder( - int index) { - if (typesBuilder_ == null) { - return types_.get(index); } else { - return typesBuilder_.getMessageOrBuilder(index); - } - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Type types = 1; - */ - public java.util.List - getTypesOrBuilderList() { - if (typesBuilder_ != null) { - return typesBuilder_.getMessageOrBuilderList(); - } else { - return java.util.Collections.unmodifiableList(types_); - } - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Type types = 1; - */ - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.Builder addTypesBuilder() { - return getTypesFieldBuilder().addBuilder( - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.getDefaultInstance()); - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Type types = 1; - */ - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.Builder addTypesBuilder( - int index) { - return getTypesFieldBuilder().addBuilder( - index, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.getDefaultInstance()); - } - /** - * repeated .com.sourcegraph.semanticdb_kotlinc.Type types = 1; - */ - public java.util.List - getTypesBuilderList() { - return getTypesFieldBuilder().getBuilderList(); - } - private com.google.protobuf.RepeatedFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeOrBuilder> - getTypesFieldBuilder() { - if (typesBuilder_ == null) { - typesBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeOrBuilder>( - types_, - ((bitField0_ & 0x00000001) != 0), - getParentForChildren(), - isClean()); - types_ = null; - } - return typesBuilder_; - } - @java.lang.Override - public final Builder setUnknownFields( - final com.google.protobuf.UnknownFieldSet unknownFields) { - return super.setUnknownFields(unknownFields); - } - - @java.lang.Override - public final Builder mergeUnknownFields( - final com.google.protobuf.UnknownFieldSet unknownFields) { - return super.mergeUnknownFields(unknownFields); - } - - - // @@protoc_insertion_point(builder_scope:com.sourcegraph.semanticdb_kotlinc.IntersectionType) - } - - // @@protoc_insertion_point(class_scope:com.sourcegraph.semanticdb_kotlinc.IntersectionType) - private static final com.sourcegraph.semanticdb_kotlinc.Semanticdb.IntersectionType DEFAULT_INSTANCE; - static { - DEFAULT_INSTANCE = new com.sourcegraph.semanticdb_kotlinc.Semanticdb.IntersectionType(); - } - - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.IntersectionType getDefaultInstance() { - return DEFAULT_INSTANCE; - } - - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { - @java.lang.Override - public IntersectionType parsePartialFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return new IntersectionType(input, extensionRegistry); - } - }; - - public static com.google.protobuf.Parser parser() { - return PARSER; - } - - @java.lang.Override - public com.google.protobuf.Parser getParserForType() { - return PARSER; - } - - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.IntersectionType getDefaultInstanceForType() { - return DEFAULT_INSTANCE; - } - - } - - public interface ExistentialTypeOrBuilder extends - // @@protoc_insertion_point(interface_extends:com.sourcegraph.semanticdb_kotlinc.ExistentialType) - com.google.protobuf.MessageOrBuilder { - - /** - * .com.sourcegraph.semanticdb_kotlinc.Type tpe = 1; - * @return Whether the tpe field is set. - */ - boolean hasTpe(); - /** - * .com.sourcegraph.semanticdb_kotlinc.Type tpe = 1; - * @return The tpe. - */ - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type getTpe(); - /** - * .com.sourcegraph.semanticdb_kotlinc.Type tpe = 1; - */ - com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeOrBuilder getTpeOrBuilder(); - - /** - * .com.sourcegraph.semanticdb_kotlinc.Scope declarations = 3; - * @return Whether the declarations field is set. - */ - boolean hasDeclarations(); - /** - * .com.sourcegraph.semanticdb_kotlinc.Scope declarations = 3; - * @return The declarations. - */ - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope getDeclarations(); - /** - * .com.sourcegraph.semanticdb_kotlinc.Scope declarations = 3; - */ - com.sourcegraph.semanticdb_kotlinc.Semanticdb.ScopeOrBuilder getDeclarationsOrBuilder(); - } - /** - * Protobuf type {@code com.sourcegraph.semanticdb_kotlinc.ExistentialType} - */ - public static final class ExistentialType extends - com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:com.sourcegraph.semanticdb_kotlinc.ExistentialType) - ExistentialTypeOrBuilder { - private static final long serialVersionUID = 0L; - // Use ExistentialType.newBuilder() to construct. - private ExistentialType(com.google.protobuf.GeneratedMessageV3.Builder builder) { - super(builder); - } - private ExistentialType() { - } - - @java.lang.Override - @SuppressWarnings({"unused"}) - protected java.lang.Object newInstance( - UnusedPrivateParameter unused) { - return new ExistentialType(); - } - - @java.lang.Override - public final com.google.protobuf.UnknownFieldSet - getUnknownFields() { - return this.unknownFields; - } - private ExistentialType( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - this(); - if (extensionRegistry == null) { - throw new java.lang.NullPointerException(); - } - com.google.protobuf.UnknownFieldSet.Builder unknownFields = - com.google.protobuf.UnknownFieldSet.newBuilder(); - try { - boolean done = false; - while (!done) { - int tag = input.readTag(); - switch (tag) { - case 0: - done = true; - break; - case 10: { - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.Builder subBuilder = null; - if (tpe_ != null) { - subBuilder = tpe_.toBuilder(); - } - tpe_ = input.readMessage(com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.parser(), extensionRegistry); - if (subBuilder != null) { - subBuilder.mergeFrom(tpe_); - tpe_ = subBuilder.buildPartial(); - } - - break; - } - case 26: { - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope.Builder subBuilder = null; - if (declarations_ != null) { - subBuilder = declarations_.toBuilder(); - } - declarations_ = input.readMessage(com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope.parser(), extensionRegistry); - if (subBuilder != null) { - subBuilder.mergeFrom(declarations_); - declarations_ = subBuilder.buildPartial(); - } - - break; - } - default: { - if (!parseUnknownField( - input, unknownFields, extensionRegistry, tag)) { - done = true; - } - break; - } - } - } - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.setUnfinishedMessage(this); - } catch (java.io.IOException e) { - throw new com.google.protobuf.InvalidProtocolBufferException( - e).setUnfinishedMessage(this); - } finally { - this.unknownFields = unknownFields.build(); - makeExtensionsImmutable(); - } - } - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_ExistentialType_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internalGetFieldAccessorTable() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_ExistentialType_fieldAccessorTable - .ensureFieldAccessorsInitialized( - com.sourcegraph.semanticdb_kotlinc.Semanticdb.ExistentialType.class, com.sourcegraph.semanticdb_kotlinc.Semanticdb.ExistentialType.Builder.class); - } - - public static final int TPE_FIELD_NUMBER = 1; - private com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type tpe_; - /** - * .com.sourcegraph.semanticdb_kotlinc.Type tpe = 1; - * @return Whether the tpe field is set. - */ - @java.lang.Override - public boolean hasTpe() { - return tpe_ != null; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Type tpe = 1; - * @return The tpe. - */ - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type getTpe() { - return tpe_ == null ? com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.getDefaultInstance() : tpe_; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Type tpe = 1; - */ - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeOrBuilder getTpeOrBuilder() { - return getTpe(); - } - - public static final int DECLARATIONS_FIELD_NUMBER = 3; - private com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope declarations_; - /** - * .com.sourcegraph.semanticdb_kotlinc.Scope declarations = 3; - * @return Whether the declarations field is set. - */ - @java.lang.Override - public boolean hasDeclarations() { - return declarations_ != null; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Scope declarations = 3; - * @return The declarations. - */ - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope getDeclarations() { - return declarations_ == null ? com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope.getDefaultInstance() : declarations_; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Scope declarations = 3; - */ - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.ScopeOrBuilder getDeclarationsOrBuilder() { - return getDeclarations(); - } - - private byte memoizedIsInitialized = -1; - @java.lang.Override - public final boolean isInitialized() { - byte isInitialized = memoizedIsInitialized; - if (isInitialized == 1) return true; - if (isInitialized == 0) return false; - - memoizedIsInitialized = 1; - return true; - } - - @java.lang.Override - public void writeTo(com.google.protobuf.CodedOutputStream output) - throws java.io.IOException { - if (tpe_ != null) { - output.writeMessage(1, getTpe()); - } - if (declarations_ != null) { - output.writeMessage(3, getDeclarations()); - } - unknownFields.writeTo(output); - } - - @java.lang.Override - public int getSerializedSize() { - int size = memoizedSize; - if (size != -1) return size; - - size = 0; - if (tpe_ != null) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(1, getTpe()); - } - if (declarations_ != null) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(3, getDeclarations()); - } - size += unknownFields.getSerializedSize(); - memoizedSize = size; - return size; - } - - @java.lang.Override - public boolean equals(final java.lang.Object obj) { - if (obj == this) { - return true; - } - if (!(obj instanceof com.sourcegraph.semanticdb_kotlinc.Semanticdb.ExistentialType)) { - return super.equals(obj); - } - com.sourcegraph.semanticdb_kotlinc.Semanticdb.ExistentialType other = (com.sourcegraph.semanticdb_kotlinc.Semanticdb.ExistentialType) obj; - - if (hasTpe() != other.hasTpe()) return false; - if (hasTpe()) { - if (!getTpe() - .equals(other.getTpe())) return false; - } - if (hasDeclarations() != other.hasDeclarations()) return false; - if (hasDeclarations()) { - if (!getDeclarations() - .equals(other.getDeclarations())) return false; - } - if (!unknownFields.equals(other.unknownFields)) return false; - return true; - } - - @java.lang.Override - public int hashCode() { - if (memoizedHashCode != 0) { - return memoizedHashCode; - } - int hash = 41; - hash = (19 * hash) + getDescriptor().hashCode(); - if (hasTpe()) { - hash = (37 * hash) + TPE_FIELD_NUMBER; - hash = (53 * hash) + getTpe().hashCode(); - } - if (hasDeclarations()) { - hash = (37 * hash) + DECLARATIONS_FIELD_NUMBER; - hash = (53 * hash) + getDeclarations().hashCode(); - } - hash = (29 * hash) + unknownFields.hashCode(); - memoizedHashCode = hash; - return hash; - } - - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.ExistentialType parseFrom( - java.nio.ByteBuffer data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.ExistentialType parseFrom( - java.nio.ByteBuffer data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.ExistentialType parseFrom( - com.google.protobuf.ByteString data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.ExistentialType parseFrom( - com.google.protobuf.ByteString data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.ExistentialType parseFrom(byte[] data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.ExistentialType parseFrom( - byte[] data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.ExistentialType parseFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.ExistentialType parseFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.ExistentialType parseDelimitedFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseDelimitedWithIOException(PARSER, input); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.ExistentialType parseDelimitedFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseDelimitedWithIOException(PARSER, input, extensionRegistry); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.ExistentialType parseFrom( - com.google.protobuf.CodedInputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input); - } - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.ExistentialType parseFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input, extensionRegistry); - } - - @java.lang.Override - public Builder newBuilderForType() { return newBuilder(); } - public static Builder newBuilder() { - return DEFAULT_INSTANCE.toBuilder(); - } - public static Builder newBuilder(com.sourcegraph.semanticdb_kotlinc.Semanticdb.ExistentialType prototype) { - return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); - } - @java.lang.Override - public Builder toBuilder() { - return this == DEFAULT_INSTANCE - ? new Builder() : new Builder().mergeFrom(this); - } - - @java.lang.Override - protected Builder newBuilderForType( - com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { - Builder builder = new Builder(parent); - return builder; - } - /** - * Protobuf type {@code com.sourcegraph.semanticdb_kotlinc.ExistentialType} - */ - public static final class Builder extends - com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:com.sourcegraph.semanticdb_kotlinc.ExistentialType) - com.sourcegraph.semanticdb_kotlinc.Semanticdb.ExistentialTypeOrBuilder { - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_ExistentialType_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internalGetFieldAccessorTable() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_ExistentialType_fieldAccessorTable - .ensureFieldAccessorsInitialized( - com.sourcegraph.semanticdb_kotlinc.Semanticdb.ExistentialType.class, com.sourcegraph.semanticdb_kotlinc.Semanticdb.ExistentialType.Builder.class); - } - - // Construct using com.sourcegraph.semanticdb_kotlinc.Semanticdb.ExistentialType.newBuilder() - private Builder() { - maybeForceBuilderInitialization(); - } - - private Builder( - com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { - super(parent); - maybeForceBuilderInitialization(); - } - private void maybeForceBuilderInitialization() { - if (com.google.protobuf.GeneratedMessageV3 - .alwaysUseFieldBuilders) { - } - } - @java.lang.Override - public Builder clear() { - super.clear(); - if (tpeBuilder_ == null) { - tpe_ = null; - } else { - tpe_ = null; - tpeBuilder_ = null; - } - if (declarationsBuilder_ == null) { - declarations_ = null; - } else { - declarations_ = null; - declarationsBuilder_ = null; - } - return this; - } - - @java.lang.Override - public com.google.protobuf.Descriptors.Descriptor - getDescriptorForType() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.internal_static_com_sourcegraph_semanticdb_kotlinc_ExistentialType_descriptor; - } - - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.ExistentialType getDefaultInstanceForType() { - return com.sourcegraph.semanticdb_kotlinc.Semanticdb.ExistentialType.getDefaultInstance(); - } - - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.ExistentialType build() { - com.sourcegraph.semanticdb_kotlinc.Semanticdb.ExistentialType result = buildPartial(); - if (!result.isInitialized()) { - throw newUninitializedMessageException(result); - } - return result; - } - - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.ExistentialType buildPartial() { - com.sourcegraph.semanticdb_kotlinc.Semanticdb.ExistentialType result = new com.sourcegraph.semanticdb_kotlinc.Semanticdb.ExistentialType(this); - if (tpeBuilder_ == null) { - result.tpe_ = tpe_; - } else { - result.tpe_ = tpeBuilder_.build(); - } - if (declarationsBuilder_ == null) { - result.declarations_ = declarations_; - } else { - result.declarations_ = declarationsBuilder_.build(); - } - onBuilt(); - return result; - } - - @java.lang.Override - public Builder clone() { - return super.clone(); - } - @java.lang.Override - public Builder setField( - com.google.protobuf.Descriptors.FieldDescriptor field, - java.lang.Object value) { - return super.setField(field, value); - } - @java.lang.Override - public Builder clearField( - com.google.protobuf.Descriptors.FieldDescriptor field) { - return super.clearField(field); - } - @java.lang.Override - public Builder clearOneof( - com.google.protobuf.Descriptors.OneofDescriptor oneof) { - return super.clearOneof(oneof); - } - @java.lang.Override - public Builder setRepeatedField( - com.google.protobuf.Descriptors.FieldDescriptor field, - int index, java.lang.Object value) { - return super.setRepeatedField(field, index, value); - } - @java.lang.Override - public Builder addRepeatedField( - com.google.protobuf.Descriptors.FieldDescriptor field, - java.lang.Object value) { - return super.addRepeatedField(field, value); - } - @java.lang.Override - public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof com.sourcegraph.semanticdb_kotlinc.Semanticdb.ExistentialType) { - return mergeFrom((com.sourcegraph.semanticdb_kotlinc.Semanticdb.ExistentialType)other); - } else { - super.mergeFrom(other); - return this; - } - } - - public Builder mergeFrom(com.sourcegraph.semanticdb_kotlinc.Semanticdb.ExistentialType other) { - if (other == com.sourcegraph.semanticdb_kotlinc.Semanticdb.ExistentialType.getDefaultInstance()) return this; - if (other.hasTpe()) { - mergeTpe(other.getTpe()); - } - if (other.hasDeclarations()) { - mergeDeclarations(other.getDeclarations()); - } - this.mergeUnknownFields(other.unknownFields); - onChanged(); - return this; - } - - @java.lang.Override - public final boolean isInitialized() { - return true; - } - - @java.lang.Override - public Builder mergeFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - com.sourcegraph.semanticdb_kotlinc.Semanticdb.ExistentialType parsedMessage = null; - try { - parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (com.sourcegraph.semanticdb_kotlinc.Semanticdb.ExistentialType) e.getUnfinishedMessage(); - throw e.unwrapIOException(); - } finally { - if (parsedMessage != null) { - mergeFrom(parsedMessage); - } - } - return this; - } - - private com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type tpe_; - private com.google.protobuf.SingleFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeOrBuilder> tpeBuilder_; - /** - * .com.sourcegraph.semanticdb_kotlinc.Type tpe = 1; - * @return Whether the tpe field is set. - */ - public boolean hasTpe() { - return tpeBuilder_ != null || tpe_ != null; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Type tpe = 1; - * @return The tpe. - */ - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type getTpe() { - if (tpeBuilder_ == null) { - return tpe_ == null ? com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.getDefaultInstance() : tpe_; - } else { - return tpeBuilder_.getMessage(); - } - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Type tpe = 1; - */ - public Builder setTpe(com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type value) { - if (tpeBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - tpe_ = value; - onChanged(); - } else { - tpeBuilder_.setMessage(value); - } - - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Type tpe = 1; - */ - public Builder setTpe( - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.Builder builderForValue) { - if (tpeBuilder_ == null) { - tpe_ = builderForValue.build(); - onChanged(); - } else { - tpeBuilder_.setMessage(builderForValue.build()); - } - - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Type tpe = 1; - */ - public Builder mergeTpe(com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type value) { - if (tpeBuilder_ == null) { - if (tpe_ != null) { - tpe_ = - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.newBuilder(tpe_).mergeFrom(value).buildPartial(); - } else { - tpe_ = value; - } - onChanged(); - } else { - tpeBuilder_.mergeFrom(value); - } - - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Type tpe = 1; - */ - public Builder clearTpe() { - if (tpeBuilder_ == null) { - tpe_ = null; - onChanged(); - } else { - tpe_ = null; - tpeBuilder_ = null; - } - - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Type tpe = 1; - */ - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.Builder getTpeBuilder() { - - onChanged(); - return getTpeFieldBuilder().getBuilder(); - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Type tpe = 1; - */ - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeOrBuilder getTpeOrBuilder() { - if (tpeBuilder_ != null) { - return tpeBuilder_.getMessageOrBuilder(); - } else { - return tpe_ == null ? - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.getDefaultInstance() : tpe_; - } - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Type tpe = 1; - */ - private com.google.protobuf.SingleFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeOrBuilder> - getTpeFieldBuilder() { - if (tpeBuilder_ == null) { - tpeBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Type.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.TypeOrBuilder>( - getTpe(), - getParentForChildren(), - isClean()); - tpe_ = null; - } - return tpeBuilder_; - } - - private com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope declarations_; - private com.google.protobuf.SingleFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.ScopeOrBuilder> declarationsBuilder_; - /** - * .com.sourcegraph.semanticdb_kotlinc.Scope declarations = 3; - * @return Whether the declarations field is set. - */ - public boolean hasDeclarations() { - return declarationsBuilder_ != null || declarations_ != null; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Scope declarations = 3; - * @return The declarations. - */ - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope getDeclarations() { - if (declarationsBuilder_ == null) { - return declarations_ == null ? com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope.getDefaultInstance() : declarations_; - } else { - return declarationsBuilder_.getMessage(); - } - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Scope declarations = 3; - */ - public Builder setDeclarations(com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope value) { - if (declarationsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - declarations_ = value; - onChanged(); - } else { - declarationsBuilder_.setMessage(value); - } - - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Scope declarations = 3; - */ - public Builder setDeclarations( - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope.Builder builderForValue) { - if (declarationsBuilder_ == null) { - declarations_ = builderForValue.build(); - onChanged(); - } else { - declarationsBuilder_.setMessage(builderForValue.build()); - } - - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Scope declarations = 3; - */ - public Builder mergeDeclarations(com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope value) { - if (declarationsBuilder_ == null) { - if (declarations_ != null) { - declarations_ = - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope.newBuilder(declarations_).mergeFrom(value).buildPartial(); - } else { - declarations_ = value; - } - onChanged(); - } else { - declarationsBuilder_.mergeFrom(value); - } - - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Scope declarations = 3; - */ - public Builder clearDeclarations() { - if (declarationsBuilder_ == null) { - declarations_ = null; - onChanged(); - } else { - declarations_ = null; - declarationsBuilder_ = null; - } - - return this; - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Scope declarations = 3; - */ - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope.Builder getDeclarationsBuilder() { - - onChanged(); - return getDeclarationsFieldBuilder().getBuilder(); - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Scope declarations = 3; - */ - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.ScopeOrBuilder getDeclarationsOrBuilder() { - if (declarationsBuilder_ != null) { - return declarationsBuilder_.getMessageOrBuilder(); - } else { - return declarations_ == null ? - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope.getDefaultInstance() : declarations_; - } - } - /** - * .com.sourcegraph.semanticdb_kotlinc.Scope declarations = 3; - */ - private com.google.protobuf.SingleFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.ScopeOrBuilder> - getDeclarationsFieldBuilder() { - if (declarationsBuilder_ == null) { - declarationsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< - com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope, com.sourcegraph.semanticdb_kotlinc.Semanticdb.Scope.Builder, com.sourcegraph.semanticdb_kotlinc.Semanticdb.ScopeOrBuilder>( - getDeclarations(), - getParentForChildren(), - isClean()); - declarations_ = null; - } - return declarationsBuilder_; - } - @java.lang.Override - public final Builder setUnknownFields( - final com.google.protobuf.UnknownFieldSet unknownFields) { - return super.setUnknownFields(unknownFields); - } - - @java.lang.Override - public final Builder mergeUnknownFields( - final com.google.protobuf.UnknownFieldSet unknownFields) { - return super.mergeUnknownFields(unknownFields); - } - - - // @@protoc_insertion_point(builder_scope:com.sourcegraph.semanticdb_kotlinc.ExistentialType) - } - - // @@protoc_insertion_point(class_scope:com.sourcegraph.semanticdb_kotlinc.ExistentialType) - private static final com.sourcegraph.semanticdb_kotlinc.Semanticdb.ExistentialType DEFAULT_INSTANCE; - static { - DEFAULT_INSTANCE = new com.sourcegraph.semanticdb_kotlinc.Semanticdb.ExistentialType(); - } - - public static com.sourcegraph.semanticdb_kotlinc.Semanticdb.ExistentialType getDefaultInstance() { - return DEFAULT_INSTANCE; - } - - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { - @java.lang.Override - public ExistentialType parsePartialFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return new ExistentialType(input, extensionRegistry); - } - }; - - public static com.google.protobuf.Parser parser() { - return PARSER; - } - - @java.lang.Override - public com.google.protobuf.Parser getParserForType() { - return PARSER; - } - - @java.lang.Override - public com.sourcegraph.semanticdb_kotlinc.Semanticdb.ExistentialType getDefaultInstanceForType() { - return DEFAULT_INSTANCE; - } - - } - - private static final com.google.protobuf.Descriptors.Descriptor - internal_static_com_sourcegraph_semanticdb_kotlinc_TextDocuments_descriptor; - private static final - com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internal_static_com_sourcegraph_semanticdb_kotlinc_TextDocuments_fieldAccessorTable; - private static final com.google.protobuf.Descriptors.Descriptor - internal_static_com_sourcegraph_semanticdb_kotlinc_TextDocument_descriptor; - private static final - com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internal_static_com_sourcegraph_semanticdb_kotlinc_TextDocument_fieldAccessorTable; - private static final com.google.protobuf.Descriptors.Descriptor - internal_static_com_sourcegraph_semanticdb_kotlinc_Range_descriptor; - private static final - com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internal_static_com_sourcegraph_semanticdb_kotlinc_Range_fieldAccessorTable; - private static final com.google.protobuf.Descriptors.Descriptor - internal_static_com_sourcegraph_semanticdb_kotlinc_Signature_descriptor; - private static final - com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internal_static_com_sourcegraph_semanticdb_kotlinc_Signature_fieldAccessorTable; - private static final com.google.protobuf.Descriptors.Descriptor - internal_static_com_sourcegraph_semanticdb_kotlinc_ClassSignature_descriptor; - private static final - com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internal_static_com_sourcegraph_semanticdb_kotlinc_ClassSignature_fieldAccessorTable; - private static final com.google.protobuf.Descriptors.Descriptor - internal_static_com_sourcegraph_semanticdb_kotlinc_MethodSignature_descriptor; - private static final - com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internal_static_com_sourcegraph_semanticdb_kotlinc_MethodSignature_fieldAccessorTable; - private static final com.google.protobuf.Descriptors.Descriptor - internal_static_com_sourcegraph_semanticdb_kotlinc_TypeSignature_descriptor; - private static final - com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internal_static_com_sourcegraph_semanticdb_kotlinc_TypeSignature_fieldAccessorTable; - private static final com.google.protobuf.Descriptors.Descriptor - internal_static_com_sourcegraph_semanticdb_kotlinc_ValueSignature_descriptor; - private static final - com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internal_static_com_sourcegraph_semanticdb_kotlinc_ValueSignature_fieldAccessorTable; - private static final com.google.protobuf.Descriptors.Descriptor - internal_static_com_sourcegraph_semanticdb_kotlinc_SymbolInformation_descriptor; - private static final - com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internal_static_com_sourcegraph_semanticdb_kotlinc_SymbolInformation_fieldAccessorTable; - private static final com.google.protobuf.Descriptors.Descriptor - internal_static_com_sourcegraph_semanticdb_kotlinc_Access_descriptor; - private static final - com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internal_static_com_sourcegraph_semanticdb_kotlinc_Access_fieldAccessorTable; - private static final com.google.protobuf.Descriptors.Descriptor - internal_static_com_sourcegraph_semanticdb_kotlinc_PrivateAccess_descriptor; - private static final - com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internal_static_com_sourcegraph_semanticdb_kotlinc_PrivateAccess_fieldAccessorTable; - private static final com.google.protobuf.Descriptors.Descriptor - internal_static_com_sourcegraph_semanticdb_kotlinc_PrivateWithinAccess_descriptor; - private static final - com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internal_static_com_sourcegraph_semanticdb_kotlinc_PrivateWithinAccess_fieldAccessorTable; - private static final com.google.protobuf.Descriptors.Descriptor - internal_static_com_sourcegraph_semanticdb_kotlinc_ProtectedAccess_descriptor; - private static final - com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internal_static_com_sourcegraph_semanticdb_kotlinc_ProtectedAccess_fieldAccessorTable; - private static final com.google.protobuf.Descriptors.Descriptor - internal_static_com_sourcegraph_semanticdb_kotlinc_PublicAccess_descriptor; - private static final - com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internal_static_com_sourcegraph_semanticdb_kotlinc_PublicAccess_fieldAccessorTable; - private static final com.google.protobuf.Descriptors.Descriptor - internal_static_com_sourcegraph_semanticdb_kotlinc_Documentation_descriptor; - private static final - com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internal_static_com_sourcegraph_semanticdb_kotlinc_Documentation_fieldAccessorTable; - private static final com.google.protobuf.Descriptors.Descriptor - internal_static_com_sourcegraph_semanticdb_kotlinc_SymbolOccurrence_descriptor; - private static final - com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internal_static_com_sourcegraph_semanticdb_kotlinc_SymbolOccurrence_fieldAccessorTable; - private static final com.google.protobuf.Descriptors.Descriptor - internal_static_com_sourcegraph_semanticdb_kotlinc_Scope_descriptor; - private static final - com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internal_static_com_sourcegraph_semanticdb_kotlinc_Scope_fieldAccessorTable; - private static final com.google.protobuf.Descriptors.Descriptor - internal_static_com_sourcegraph_semanticdb_kotlinc_Type_descriptor; - private static final - com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internal_static_com_sourcegraph_semanticdb_kotlinc_Type_fieldAccessorTable; - private static final com.google.protobuf.Descriptors.Descriptor - internal_static_com_sourcegraph_semanticdb_kotlinc_TypeRef_descriptor; - private static final - com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internal_static_com_sourcegraph_semanticdb_kotlinc_TypeRef_fieldAccessorTable; - private static final com.google.protobuf.Descriptors.Descriptor - internal_static_com_sourcegraph_semanticdb_kotlinc_IntersectionType_descriptor; - private static final - com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internal_static_com_sourcegraph_semanticdb_kotlinc_IntersectionType_fieldAccessorTable; - private static final com.google.protobuf.Descriptors.Descriptor - internal_static_com_sourcegraph_semanticdb_kotlinc_ExistentialType_descriptor; - private static final - com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internal_static_com_sourcegraph_semanticdb_kotlinc_ExistentialType_fieldAccessorTable; - - public static com.google.protobuf.Descriptors.FileDescriptor - getDescriptor() { - return descriptor; - } - private static com.google.protobuf.Descriptors.FileDescriptor - descriptor; - static { - java.lang.String[] descriptorData = { - "\n2com.sourcegraph.semanticdb_kotlin/sema" + - "nticdb.proto\022\"com.sourcegraph.semanticdb" + - "_kotlinc\"T\n\rTextDocuments\022C\n\tdocuments\030\001" + - " \003(\01320.com.sourcegraph.semanticdb_kotlin" + - "c.TextDocument\"\327\002\n\014TextDocument\022:\n\006schem" + - "a\030\001 \001(\0162*.com.sourcegraph.semanticdb_kot" + - "linc.Schema\022\013\n\003uri\030\002 \001(\t\022\014\n\004text\030\003 \001(\t\022\013" + - "\n\003md5\030\013 \001(\t\022>\n\010language\030\n \001(\0162,.com.sour" + - "cegraph.semanticdb_kotlinc.Language\022F\n\007s" + - "ymbols\030\005 \003(\01325.com.sourcegraph.semanticd" + - "b_kotlinc.SymbolInformation\022I\n\013occurrenc" + - "es\030\006 \003(\01324.com.sourcegraph.semanticdb_ko" + - "tlinc.SymbolOccurrenceJ\004\010\004\020\005J\004\010\010\020\tJ\004\010\t\020\n" + - "\"]\n\005Range\022\022\n\nstart_line\030\001 \001(\005\022\027\n\017start_c" + - "haracter\030\002 \001(\005\022\020\n\010end_line\030\003 \001(\005\022\025\n\rend_" + - "character\030\004 \001(\005\"\327\002\n\tSignature\022M\n\017class_s" + - "ignature\030\001 \001(\01322.com.sourcegraph.semanti" + - "cdb_kotlinc.ClassSignatureH\000\022O\n\020method_s" + - "ignature\030\002 \001(\01323.com.sourcegraph.semanti" + - "cdb_kotlinc.MethodSignatureH\000\022K\n\016type_si" + - "gnature\030\003 \001(\01321.com.sourcegraph.semantic" + - "db_kotlinc.TypeSignatureH\000\022M\n\017value_sign" + - "ature\030\004 \001(\01322.com.sourcegraph.semanticdb" + - "_kotlinc.ValueSignatureH\000B\016\n\014sealed_valu" + - "e\"\320\001\n\016ClassSignature\022B\n\017type_parameters\030" + - "\001 \001(\0132).com.sourcegraph.semanticdb_kotli" + - "nc.Scope\0229\n\007parents\030\002 \003(\0132(.com.sourcegr" + - "aph.semanticdb_kotlinc.Type\022?\n\014declarati" + - "ons\030\004 \001(\0132).com.sourcegraph.semanticdb_k" + - "otlinc.Scope\"\330\001\n\017MethodSignature\022B\n\017type" + - "_parameters\030\001 \001(\0132).com.sourcegraph.sema" + - "nticdb_kotlinc.Scope\022B\n\017parameter_lists\030" + - "\002 \003(\0132).com.sourcegraph.semanticdb_kotli" + - "nc.Scope\022=\n\013return_type\030\003 \001(\0132(.com.sour" + - "cegraph.semanticdb_kotlinc.Type\"\321\001\n\rType" + - "Signature\022B\n\017type_parameters\030\001 \001(\0132).com" + - ".sourcegraph.semanticdb_kotlinc.Scope\022=\n" + - "\013lower_bound\030\002 \001(\0132(.com.sourcegraph.sem" + - "anticdb_kotlinc.Type\022=\n\013upper_bound\030\003 \001(" + - "\0132(.com.sourcegraph.semanticdb_kotlinc.T" + - "ype\"G\n\016ValueSignature\0225\n\003tpe\030\001 \001(\0132(.com" + - ".sourcegraph.semanticdb_kotlinc.Type\"\251\006\n" + - "\021SymbolInformation\022\016\n\006symbol\030\001 \001(\t\022>\n\010la" + - "nguage\030\020 \001(\0162,.com.sourcegraph.semanticd" + - "b_kotlinc.Language\022H\n\004kind\030\003 \001(\0162:.com.s" + - "ourcegraph.semanticdb_kotlinc.SymbolInfo" + - "rmation.Kind\022\022\n\nproperties\030\004 \001(\005\022\024\n\014disp" + - "lay_name\030\005 \001(\t\022@\n\tsignature\030\021 \001(\0132-.com." + - "sourcegraph.semanticdb_kotlinc.Signature" + - "\022:\n\006access\030\022 \001(\0132*.com.sourcegraph.seman" + - "ticdb_kotlinc.Access\022\032\n\022overridden_symbo" + - "ls\030\023 \003(\t\022H\n\rdocumentation\030\024 \001(\01321.com.so" + - "urcegraph.semanticdb_kotlinc.Documentati" + - "on\"\303\001\n\004Kind\022\020\n\014UNKNOWN_KIND\020\000\022\t\n\005LOCAL\020\023" + - "\022\t\n\005FIELD\020\024\022\n\n\006METHOD\020\003\022\017\n\013CONSTRUCTOR\020\025" + - "\022\010\n\004TYPE\020\007\022\r\n\tPARAMETER\020\010\022\022\n\016TYPE_PARAME" + - "TER\020\t\022\013\n\007PACKAGE\020\013\022\t\n\005CLASS\020\r\022\r\n\tINTERFA" + - "CE\020\022\"\004\010\001\020\001\"\004\010\002\020\002\"\004\010\004\020\004\"\004\010\005\020\005\"\004\010\017\020\017\"\004\010\020\020\020" + - "\"j\n\010Property\022\024\n\020UNKNOWN_PROPERTY\020\000\022\014\n\010AB" + - "STRACT\020\004\022\t\n\005FINAL\020\010\022\n\n\006SEALED\020\020\022\013\n\006STATI" + - "C\020\200 \022\n\n\004ENUM\020\200\200\001\"\004\010\001\020\001\"\004\010\002\020\002J\004\010\002\020\003J\004\010\006\020\007" + - "J\004\010\007\020\010J\004\010\010\020\tJ\004\010\t\020\nJ\004\010\n\020\013J\004\010\013\020\014J\004\010\014\020\rJ\004\010\016" + - "\020\017J\004\010\017\020\020\"\333\002\n\006Access\022K\n\016private_access\030\001 " + - "\001(\01321.com.sourcegraph.semanticdb_kotlinc" + - ".PrivateAccessH\000\022X\n\025private_within_acces" + - "s\030\003 \001(\01327.com.sourcegraph.semanticdb_kot" + - "linc.PrivateWithinAccessH\000\022O\n\020protected_" + - "access\030\004 \001(\01323.com.sourcegraph.semanticd" + - "b_kotlinc.ProtectedAccessH\000\022I\n\rpublic_ac" + - "cess\030\007 \001(\01320.com.sourcegraph.semanticdb_" + - "kotlinc.PublicAccessH\000B\016\n\014sealed_value\"\017" + - "\n\rPrivateAccess\"%\n\023PrivateWithinAccess\022\016" + - "\n\006symbol\030\001 \001(\t\"\021\n\017ProtectedAccess\"\016\n\014Pub" + - "licAccess\"\261\001\n\rDocumentation\022\017\n\007message\030\001" + - " \001(\t\022H\n\006format\030\002 \001(\01628.com.sourcegraph.s" + - "emanticdb_kotlinc.Documentation.Format\"E" + - "\n\006Format\022\010\n\004HTML\020\000\022\014\n\010MARKDOWN\020\001\022\013\n\007JAVA" + - "DOC\020\002\022\014\n\010SCALADOC\020\003\022\010\n\004KDOC\020\004\"\336\001\n\020Symbol" + - "Occurrence\0228\n\005range\030\001 \001(\0132).com.sourcegr" + - "aph.semanticdb_kotlinc.Range\022\016\n\006symbol\030\002" + - " \001(\t\022G\n\004role\030\003 \001(\01629.com.sourcegraph.sem" + - "anticdb_kotlinc.SymbolOccurrence.Role\"7\n" + - "\004Role\022\020\n\014UNKNOWN_ROLE\020\000\022\r\n\tREFERENCE\020\001\022\016" + - "\n\nDEFINITION\020\002\"c\n\005Scope\022\020\n\010symlinks\030\001 \003(" + - "\t\022H\n\thardlinks\030\002 \003(\01325.com.sourcegraph.s" + - "emanticdb_kotlinc.SymbolInformation\"\261\002\n\004" + - "Type\022?\n\010type_ref\030\002 \001(\0132+.com.sourcegraph" + - ".semanticdb_kotlinc.TypeRefH\000\022O\n\020existen" + - "tial_type\030\t \001(\01323.com.sourcegraph.semant" + - "icdb_kotlinc.ExistentialTypeH\000\022Q\n\021inters" + - "ection_type\030\021 \001(\01324.com.sourcegraph.sema" + - "nticdb_kotlinc.IntersectionTypeH\000B\016\n\014sea" + - "led_valueJ\004\010\001\020\002J\004\010\003\020\004J\004\010\004\020\005J\004\010\005\020\006J\004\010\006\020\007J" + - "\004\010\013\020\014J\004\010\014\020\rJ\004\010\017\020\020J\004\010\020\020\021\"[\n\007TypeRef\022\016\n\006sy" + - "mbol\030\002 \001(\t\022@\n\016type_arguments\030\003 \003(\0132(.com" + - ".sourcegraph.semanticdb_kotlinc.Type\"K\n\020" + - "IntersectionType\0227\n\005types\030\001 \003(\0132(.com.so" + - "urcegraph.semanticdb_kotlinc.Type\"\217\001\n\017Ex" + - "istentialType\0225\n\003tpe\030\001 \001(\0132(.com.sourceg" + - "raph.semanticdb_kotlinc.Type\022?\n\014declarat" + - "ions\030\003 \001(\0132).com.sourcegraph.semanticdb_" + - "kotlinc.ScopeJ\004\010\002\020\003*6\n\006Schema\022\n\n\006LEGACY\020" + - "\000\022\017\n\013SEMANTICDB3\020\003\022\017\n\013SEMANTICDB4\020\004*A\n\010L" + - "anguage\022\024\n\020UNKNOWN_LANGUAGE\020\000\022\t\n\005SCALA\020\001" + - "\022\010\n\004JAVA\020\002\022\n\n\006KOTLIN\020\003B&\n\"com.sourcegrap" + - "h.semanticdb_kotlincP\000b\006proto3" - }; - descriptor = com.google.protobuf.Descriptors.FileDescriptor - .internalBuildGeneratedFileFrom(descriptorData, - new com.google.protobuf.Descriptors.FileDescriptor[] { - }); - internal_static_com_sourcegraph_semanticdb_kotlinc_TextDocuments_descriptor = - getDescriptor().getMessageTypes().get(0); - internal_static_com_sourcegraph_semanticdb_kotlinc_TextDocuments_fieldAccessorTable = new - com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( - internal_static_com_sourcegraph_semanticdb_kotlinc_TextDocuments_descriptor, - new java.lang.String[] { "Documents", }); - internal_static_com_sourcegraph_semanticdb_kotlinc_TextDocument_descriptor = - getDescriptor().getMessageTypes().get(1); - internal_static_com_sourcegraph_semanticdb_kotlinc_TextDocument_fieldAccessorTable = new - com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( - internal_static_com_sourcegraph_semanticdb_kotlinc_TextDocument_descriptor, - new java.lang.String[] { "Schema", "Uri", "Text", "Md5", "Language", "Symbols", "Occurrences", }); - internal_static_com_sourcegraph_semanticdb_kotlinc_Range_descriptor = - getDescriptor().getMessageTypes().get(2); - internal_static_com_sourcegraph_semanticdb_kotlinc_Range_fieldAccessorTable = new - com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( - internal_static_com_sourcegraph_semanticdb_kotlinc_Range_descriptor, - new java.lang.String[] { "StartLine", "StartCharacter", "EndLine", "EndCharacter", }); - internal_static_com_sourcegraph_semanticdb_kotlinc_Signature_descriptor = - getDescriptor().getMessageTypes().get(3); - internal_static_com_sourcegraph_semanticdb_kotlinc_Signature_fieldAccessorTable = new - com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( - internal_static_com_sourcegraph_semanticdb_kotlinc_Signature_descriptor, - new java.lang.String[] { "ClassSignature", "MethodSignature", "TypeSignature", "ValueSignature", "SealedValue", }); - internal_static_com_sourcegraph_semanticdb_kotlinc_ClassSignature_descriptor = - getDescriptor().getMessageTypes().get(4); - internal_static_com_sourcegraph_semanticdb_kotlinc_ClassSignature_fieldAccessorTable = new - com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( - internal_static_com_sourcegraph_semanticdb_kotlinc_ClassSignature_descriptor, - new java.lang.String[] { "TypeParameters", "Parents", "Declarations", }); - internal_static_com_sourcegraph_semanticdb_kotlinc_MethodSignature_descriptor = - getDescriptor().getMessageTypes().get(5); - internal_static_com_sourcegraph_semanticdb_kotlinc_MethodSignature_fieldAccessorTable = new - com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( - internal_static_com_sourcegraph_semanticdb_kotlinc_MethodSignature_descriptor, - new java.lang.String[] { "TypeParameters", "ParameterLists", "ReturnType", }); - internal_static_com_sourcegraph_semanticdb_kotlinc_TypeSignature_descriptor = - getDescriptor().getMessageTypes().get(6); - internal_static_com_sourcegraph_semanticdb_kotlinc_TypeSignature_fieldAccessorTable = new - com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( - internal_static_com_sourcegraph_semanticdb_kotlinc_TypeSignature_descriptor, - new java.lang.String[] { "TypeParameters", "LowerBound", "UpperBound", }); - internal_static_com_sourcegraph_semanticdb_kotlinc_ValueSignature_descriptor = - getDescriptor().getMessageTypes().get(7); - internal_static_com_sourcegraph_semanticdb_kotlinc_ValueSignature_fieldAccessorTable = new - com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( - internal_static_com_sourcegraph_semanticdb_kotlinc_ValueSignature_descriptor, - new java.lang.String[] { "Tpe", }); - internal_static_com_sourcegraph_semanticdb_kotlinc_SymbolInformation_descriptor = - getDescriptor().getMessageTypes().get(8); - internal_static_com_sourcegraph_semanticdb_kotlinc_SymbolInformation_fieldAccessorTable = new - com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( - internal_static_com_sourcegraph_semanticdb_kotlinc_SymbolInformation_descriptor, - new java.lang.String[] { "Symbol", "Language", "Kind", "Properties", "DisplayName", "Signature", "Access", "OverriddenSymbols", "Documentation", }); - internal_static_com_sourcegraph_semanticdb_kotlinc_Access_descriptor = - getDescriptor().getMessageTypes().get(9); - internal_static_com_sourcegraph_semanticdb_kotlinc_Access_fieldAccessorTable = new - com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( - internal_static_com_sourcegraph_semanticdb_kotlinc_Access_descriptor, - new java.lang.String[] { "PrivateAccess", "PrivateWithinAccess", "ProtectedAccess", "PublicAccess", "SealedValue", }); - internal_static_com_sourcegraph_semanticdb_kotlinc_PrivateAccess_descriptor = - getDescriptor().getMessageTypes().get(10); - internal_static_com_sourcegraph_semanticdb_kotlinc_PrivateAccess_fieldAccessorTable = new - com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( - internal_static_com_sourcegraph_semanticdb_kotlinc_PrivateAccess_descriptor, - new java.lang.String[] { }); - internal_static_com_sourcegraph_semanticdb_kotlinc_PrivateWithinAccess_descriptor = - getDescriptor().getMessageTypes().get(11); - internal_static_com_sourcegraph_semanticdb_kotlinc_PrivateWithinAccess_fieldAccessorTable = new - com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( - internal_static_com_sourcegraph_semanticdb_kotlinc_PrivateWithinAccess_descriptor, - new java.lang.String[] { "Symbol", }); - internal_static_com_sourcegraph_semanticdb_kotlinc_ProtectedAccess_descriptor = - getDescriptor().getMessageTypes().get(12); - internal_static_com_sourcegraph_semanticdb_kotlinc_ProtectedAccess_fieldAccessorTable = new - com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( - internal_static_com_sourcegraph_semanticdb_kotlinc_ProtectedAccess_descriptor, - new java.lang.String[] { }); - internal_static_com_sourcegraph_semanticdb_kotlinc_PublicAccess_descriptor = - getDescriptor().getMessageTypes().get(13); - internal_static_com_sourcegraph_semanticdb_kotlinc_PublicAccess_fieldAccessorTable = new - com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( - internal_static_com_sourcegraph_semanticdb_kotlinc_PublicAccess_descriptor, - new java.lang.String[] { }); - internal_static_com_sourcegraph_semanticdb_kotlinc_Documentation_descriptor = - getDescriptor().getMessageTypes().get(14); - internal_static_com_sourcegraph_semanticdb_kotlinc_Documentation_fieldAccessorTable = new - com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( - internal_static_com_sourcegraph_semanticdb_kotlinc_Documentation_descriptor, - new java.lang.String[] { "Message", "Format", }); - internal_static_com_sourcegraph_semanticdb_kotlinc_SymbolOccurrence_descriptor = - getDescriptor().getMessageTypes().get(15); - internal_static_com_sourcegraph_semanticdb_kotlinc_SymbolOccurrence_fieldAccessorTable = new - com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( - internal_static_com_sourcegraph_semanticdb_kotlinc_SymbolOccurrence_descriptor, - new java.lang.String[] { "Range", "Symbol", "Role", }); - internal_static_com_sourcegraph_semanticdb_kotlinc_Scope_descriptor = - getDescriptor().getMessageTypes().get(16); - internal_static_com_sourcegraph_semanticdb_kotlinc_Scope_fieldAccessorTable = new - com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( - internal_static_com_sourcegraph_semanticdb_kotlinc_Scope_descriptor, - new java.lang.String[] { "Symlinks", "Hardlinks", }); - internal_static_com_sourcegraph_semanticdb_kotlinc_Type_descriptor = - getDescriptor().getMessageTypes().get(17); - internal_static_com_sourcegraph_semanticdb_kotlinc_Type_fieldAccessorTable = new - com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( - internal_static_com_sourcegraph_semanticdb_kotlinc_Type_descriptor, - new java.lang.String[] { "TypeRef", "ExistentialType", "IntersectionType", "SealedValue", }); - internal_static_com_sourcegraph_semanticdb_kotlinc_TypeRef_descriptor = - getDescriptor().getMessageTypes().get(18); - internal_static_com_sourcegraph_semanticdb_kotlinc_TypeRef_fieldAccessorTable = new - com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( - internal_static_com_sourcegraph_semanticdb_kotlinc_TypeRef_descriptor, - new java.lang.String[] { "Symbol", "TypeArguments", }); - internal_static_com_sourcegraph_semanticdb_kotlinc_IntersectionType_descriptor = - getDescriptor().getMessageTypes().get(19); - internal_static_com_sourcegraph_semanticdb_kotlinc_IntersectionType_fieldAccessorTable = new - com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( - internal_static_com_sourcegraph_semanticdb_kotlinc_IntersectionType_descriptor, - new java.lang.String[] { "Types", }); - internal_static_com_sourcegraph_semanticdb_kotlinc_ExistentialType_descriptor = - getDescriptor().getMessageTypes().get(20); - internal_static_com_sourcegraph_semanticdb_kotlinc_ExistentialType_fieldAccessorTable = new - com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( - internal_static_com_sourcegraph_semanticdb_kotlinc_ExistentialType_descriptor, - new java.lang.String[] { "Tpe", "Declarations", }); - } - - // @@protoc_insertion_point(outer_class_scope) -} From ca58d643fdbea2cbaac59b3da78ebcbed1ee7ec2 Mon Sep 17 00:00:00 2001 From: Nicolas Guichard Date: Wed, 4 Dec 2024 17:13:14 +0100 Subject: [PATCH 04/54] Migrate from ComponentRegistrar to CompilerPluginRegistrar This was deprecated in Kotlin 1.9 already. --- .../semanticdb_kotlinc/AnalyzerRegistrar.kt | 14 ++++++-------- ...in.compiler.plugin.CompilerPluginRegistrar} | 0 .../semanticdb_kotlinc/test/AnalyzerTest.kt | 6 +++--- .../semanticdb_kotlinc/test/Utils.kt | 18 ++++++++---------- 4 files changed, 17 insertions(+), 21 deletions(-) rename semanticdb-kotlinc/src/main/resources/META-INF/services/{org.jetbrains.kotlin.compiler.plugin.ComponentRegistrar => org.jetbrains.kotlin.compiler.plugin.CompilerPluginRegistrar} (100%) diff --git a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerRegistrar.kt b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerRegistrar.kt index 7f18ad44..af992db7 100644 --- a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerRegistrar.kt +++ b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerRegistrar.kt @@ -2,8 +2,7 @@ package com.sourcegraph.semanticdb_kotlinc import java.lang.IllegalArgumentException import kotlin.contracts.ExperimentalContracts -import org.jetbrains.kotlin.com.intellij.mock.MockProject -import org.jetbrains.kotlin.compiler.plugin.ComponentRegistrar +import org.jetbrains.kotlin.compiler.plugin.CompilerPluginRegistrar import org.jetbrains.kotlin.compiler.plugin.ExperimentalCompilerApi import org.jetbrains.kotlin.config.CompilerConfiguration import org.jetbrains.kotlin.resolve.jvm.extensions.AnalysisHandlerExtension @@ -11,13 +10,9 @@ import org.jetbrains.kotlin.resolve.jvm.extensions.AnalysisHandlerExtension @OptIn(ExperimentalCompilerApi::class) @ExperimentalContracts class AnalyzerRegistrar(private val callback: (Semanticdb.TextDocument) -> Unit = {}) : - ComponentRegistrar { - override fun registerProjectComponents( - project: MockProject, - configuration: CompilerConfiguration - ) { + CompilerPluginRegistrar() { + override fun ExtensionStorage.registerExtensions(configuration: CompilerConfiguration) { AnalysisHandlerExtension.registerExtension( - project, Analyzer( sourceroot = configuration[KEY_SOURCES] ?: throw IllegalArgumentException("configuration key $KEY_SOURCES missing"), @@ -25,4 +20,7 @@ class AnalyzerRegistrar(private val callback: (Semanticdb.TextDocument) -> Unit ?: throw IllegalArgumentException("configuration key $KEY_TARGET missing"), callback = callback)) } + + override val supportsK2: Boolean + get() = false } diff --git a/semanticdb-kotlinc/src/main/resources/META-INF/services/org.jetbrains.kotlin.compiler.plugin.ComponentRegistrar b/semanticdb-kotlinc/src/main/resources/META-INF/services/org.jetbrains.kotlin.compiler.plugin.CompilerPluginRegistrar similarity index 100% rename from semanticdb-kotlinc/src/main/resources/META-INF/services/org.jetbrains.kotlin.compiler.plugin.ComponentRegistrar rename to semanticdb-kotlinc/src/main/resources/META-INF/services/org.jetbrains.kotlin.compiler.plugin.CompilerPluginRegistrar diff --git a/semanticdb-kotlinc/src/test/kotlin/com/sourcegraph/semanticdb_kotlinc/test/AnalyzerTest.kt b/semanticdb-kotlinc/src/test/kotlin/com/sourcegraph/semanticdb_kotlinc/test/AnalyzerTest.kt index 9f60a7c3..1b0ecf32 100644 --- a/semanticdb-kotlinc/src/test/kotlin/com/sourcegraph/semanticdb_kotlinc/test/AnalyzerTest.kt +++ b/semanticdb-kotlinc/src/test/kotlin/com/sourcegraph/semanticdb_kotlinc/test/AnalyzerTest.kt @@ -34,7 +34,7 @@ class AnalyzerTest { KotlinCompilation() .apply { sources = listOf(source) - componentRegistrars = listOf(AnalyzerRegistrar { document = it }) + compilerPluginRegistrars = listOf(AnalyzerRegistrar { document = it }) verbose = false pluginOptions = listOf( @@ -129,7 +129,7 @@ class AnalyzerTest { KotlinCompilation() .apply { sources = listOf(SourceFile.testKt("")) - componentRegistrars = + compilerPluginRegistrars = listOf(AnalyzerRegistrar { throw Exception("sample text") }) verbose = false pluginOptions = @@ -567,7 +567,7 @@ class AnalyzerTest { KotlinCompilation() .apply { sources = listOf(source) - componentRegistrars = listOf(AnalyzerRegistrar()) + compilerPluginRegistrars = listOf(AnalyzerRegistrar()) verbose = false pluginOptions = listOf( diff --git a/semanticdb-kotlinc/src/test/kotlin/com/sourcegraph/semanticdb_kotlinc/test/Utils.kt b/semanticdb-kotlinc/src/test/kotlin/com/sourcegraph/semanticdb_kotlinc/test/Utils.kt index 34f22467..b93168dd 100644 --- a/semanticdb-kotlinc/src/test/kotlin/com/sourcegraph/semanticdb_kotlinc/test/Utils.kt +++ b/semanticdb-kotlinc/src/test/kotlin/com/sourcegraph/semanticdb_kotlinc/test/Utils.kt @@ -11,9 +11,8 @@ import java.nio.file.Path import kotlin.contracts.ExperimentalContracts import org.intellij.lang.annotations.Language import org.jetbrains.kotlin.analyzer.AnalysisResult -import org.jetbrains.kotlin.com.intellij.mock.MockProject import org.jetbrains.kotlin.com.intellij.openapi.project.Project -import org.jetbrains.kotlin.compiler.plugin.ComponentRegistrar +import org.jetbrains.kotlin.compiler.plugin.CompilerPluginRegistrar import org.jetbrains.kotlin.compiler.plugin.ExperimentalCompilerApi import org.jetbrains.kotlin.config.CompilerConfiguration import org.jetbrains.kotlin.descriptors.ModuleDescriptor @@ -114,7 +113,7 @@ private fun configureTestCompiler( } val analyzer = semanticdbVisitorAnalyzer(globals, locals, compilation.workingDir.toPath(), hook) - compilation.apply { componentRegistrars = listOf(analyzer) } + compilation.apply { compilerPluginRegistrars = listOf(analyzer) } return compilation } @@ -125,14 +124,10 @@ fun semanticdbVisitorAnalyzer( locals: LocalSymbolsCache, sourceroot: Path, hook: (Semanticdb.TextDocument) -> Unit = {} -): ComponentRegistrar { - return object : ComponentRegistrar { - override fun registerProjectComponents( - project: MockProject, - configuration: CompilerConfiguration - ) { +): CompilerPluginRegistrar { + return object : CompilerPluginRegistrar() { + override fun ExtensionStorage.registerExtensions(configuration: CompilerConfiguration) { AnalysisHandlerExtension.registerExtension( - project, object : AnalysisHandlerExtension { override fun analysisCompleted( project: Project, @@ -151,5 +146,8 @@ fun semanticdbVisitorAnalyzer( } }) } + + override val supportsK2: Boolean + get() = false } } From e92a3e7cd995e7fce7fb8d9a696f9fbb741f9af0 Mon Sep 17 00:00:00 2001 From: Ernald Nicolas Date: Mon, 14 Oct 2024 13:35:19 -0400 Subject: [PATCH 05/54] Update to Kotlin 2.0 Squashed version of https://github.com/slycodemonkey/scip-kotlin/commit/370139567ee774cf7d942fbb285f85bf4224f242. --- build.gradle.kts | 2 +- semanticdb-kotlinc/build.gradle.kts | 5 +- .../semanticdb_kotlinc/Analyzer.kt | 103 ------ .../semanticdb_kotlinc/AnalyzerCheckers.kt | 312 +++++++++++++++++ .../AnalyzerFirExtensionRegistrar.kt | 15 + .../AnalyzerParamsProvider.kt | 29 ++ .../semanticdb_kotlinc/AnalyzerRegistrar.kt | 21 +- .../FirSimpleNameReferenceChecker.kt | 32 ++ .../sourcegraph/semanticdb_kotlinc/LineMap.kt | 32 +- .../PostAnalysisExtension.kt | 47 +++ .../SemanticdbTextDocumentBuilder.kt | 232 ++++++++----- .../semanticdb_kotlinc/SemanticdbVisitor.kt | 145 +++----- .../semanticdb_kotlinc/SymbolsCache.kt | 319 ++++++++++-------- ...in.compiler.plugin.CompilerPluginRegistrar | 2 +- .../semanticdb_kotlinc/test/AnalyzerTest.kt | 60 ++-- .../test/SemanticdbSymbolsTest.kt | 242 ++++++------- .../semanticdb_kotlinc/test/Utils.kt | 110 ++++-- 17 files changed, 1101 insertions(+), 607 deletions(-) delete mode 100644 semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/Analyzer.kt create mode 100644 semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerCheckers.kt create mode 100644 semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerFirExtensionRegistrar.kt create mode 100644 semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerParamsProvider.kt create mode 100644 semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/FirSimpleNameReferenceChecker.kt create mode 100644 semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/PostAnalysisExtension.kt diff --git a/build.gradle.kts b/build.gradle.kts index e8d5bb2a..633e1320 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -4,7 +4,7 @@ import groovy.lang.Closure import org.gradle.jvm.toolchain.internal.CurrentJvmToolchainSpec plugins { - kotlin("jvm") version "1.9.22" + kotlin("jvm") version "2.0.20" id("com.github.johnrengelman.shadow") version "7.1.0" id("com.palantir.git-version") version "0.12.3" id("io.github.gradle-nexus.publish-plugin") version "1.1.0" diff --git a/semanticdb-kotlinc/build.gradle.kts b/semanticdb-kotlinc/build.gradle.kts index bae3a63a..b69a0d94 100644 --- a/semanticdb-kotlinc/build.gradle.kts +++ b/semanticdb-kotlinc/build.gradle.kts @@ -40,7 +40,7 @@ dependencies { // https://github.com/tschuchortdev/kotlin-compile-testing/issues/390 // Until then, we use the fork from https://github.com/ZacSweers/kotlin-compile-testing instead. // testImplementation("com.github.tschuchortdev", "kotlin-compile-testing", "1.5.0") - testImplementation("dev.zacsweers.kctfork", "core", "0.4.0") + testImplementation("dev.zacsweers.kctfork", "core", "0.5.1") testImplementation("org.junit.jupiter", "junit-jupiter-params", "5.8.1") testImplementation("org.jetbrains.kotlin", "kotlin-stdlib-jdk8", "1.5.0") { @@ -169,6 +169,7 @@ tasks.test { exceptionFormat = TestExceptionFormat.FULL events("passed", "failed") } + maxHeapSize = "2g" } subprojects { @@ -210,7 +211,7 @@ subprojects { "-P", "plugin:semanticdb-kotlinc:sourceroot=${sourceroot}", "-P", - "plugin:semanticdb-kotlinc:targetroot=${targetroot}" + "plugin:semanticdb-kotlinc:targetroot=${targetroot}", ) } } diff --git a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/Analyzer.kt b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/Analyzer.kt deleted file mode 100644 index 0773009a..00000000 --- a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/Analyzer.kt +++ /dev/null @@ -1,103 +0,0 @@ -package com.sourcegraph.semanticdb_kotlinc - -import java.io.PrintWriter -import java.io.Writer -import java.nio.file.Files -import java.nio.file.Path -import java.nio.file.Paths -import kotlin.contracts.ExperimentalContracts -import org.jetbrains.kotlin.analyzer.AnalysisResult -import org.jetbrains.kotlin.cli.common.CLIConfigurationKeys -import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSeverity -import org.jetbrains.kotlin.cli.common.messages.MessageRenderer -import org.jetbrains.kotlin.cli.common.messages.PrintingMessageCollector -import org.jetbrains.kotlin.com.intellij.openapi.project.Project -import org.jetbrains.kotlin.config.CompilerConfiguration -import org.jetbrains.kotlin.descriptors.ModuleDescriptor -import org.jetbrains.kotlin.psi.* -import org.jetbrains.kotlin.resolve.BindingTrace -import org.jetbrains.kotlin.resolve.jvm.extensions.AnalysisHandlerExtension - -@ExperimentalContracts -class Analyzer( - val sourceroot: Path, - val targetroot: Path, - val callback: (Semanticdb.TextDocument) -> Unit -) : AnalysisHandlerExtension { - private val globals = GlobalSymbolsCache() - - private val messageCollector = - CompilerConfiguration() - .get( - CLIConfigurationKeys.MESSAGE_COLLECTOR_KEY, - PrintingMessageCollector(System.err, MessageRenderer.PLAIN_FULL_PATHS, false)) - - override fun analysisCompleted( - project: Project, - module: ModuleDescriptor, - bindingTrace: BindingTrace, - files: Collection - ): AnalysisResult? = - try { - val resolver = DescriptorResolver(bindingTrace).also { globals.resolver = it } - for (file in files) { - try { - val lineMap = LineMap(project, file) - val document = - SemanticdbVisitor(sourceroot, resolver, file, lineMap, globals).build() - semanticdbOutPathForFile(file)?.apply { - Files.write(this, TextDocuments { addDocuments(document) }.toByteArray()) - } - callback(document) - } catch (e: Exception) { - handleException(e) - } - } - - super.analysisCompleted(project, module, bindingTrace, files) - } catch (e: Exception) { - handleException(e) - super.analysisCompleted(project, module, bindingTrace, files) - } - - private fun semanticdbOutPathForFile(file: KtFile): Path? { - val normalizedPath = Paths.get(file.virtualFilePath).normalize() - if (normalizedPath.startsWith(sourceroot)) { - val relative = sourceroot.relativize(normalizedPath) - val filename = relative.fileName.toString() + ".semanticdb" - val semanticdbOutPath = - targetroot - .resolve("META-INF") - .resolve("semanticdb") - .resolve(relative) - .resolveSibling(filename) - - Files.createDirectories(semanticdbOutPath.parent) - return semanticdbOutPath - } - System.err.println( - "given file is not under the sourceroot.\n\tSourceroot: $sourceroot\n\tFile path: ${file.virtualFilePath}\n\tNormalized file path: $normalizedPath") - return null - } - - private fun handleException(e: Exception) { - val writer = - PrintWriter( - object : Writer() { - val buf = StringBuffer() - override fun close() = - messageCollector.report(CompilerMessageSeverity.EXCEPTION, buf.toString()) - - override fun flush() = Unit - override fun write(data: CharArray, offset: Int, len: Int) { - buf.append(data, offset, len) - } - }, - false) - writer.println("Exception in semanticdb-kotlin compiler plugin:") - e.printStackTrace(writer) - writer.println( - "Please report a bug to https://github.com/sourcegraph/lsif-kotlin with the stack trace above.") - writer.close() - } -} diff --git a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerCheckers.kt b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerCheckers.kt new file mode 100644 index 00000000..92359002 --- /dev/null +++ b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerCheckers.kt @@ -0,0 +1,312 @@ +package com.sourcegraph.semanticdb_kotlinc + +import java.nio.file.Files +import java.nio.file.Path +import java.nio.file.Paths +import kotlin.contracts.ExperimentalContracts +import org.jetbrains.kotlin.KtSourceFile +import org.jetbrains.kotlin.descriptors.DeclarationDescriptor +import org.jetbrains.kotlin.diagnostics.DiagnosticReporter +import org.jetbrains.kotlin.fir.FirSession +import org.jetbrains.kotlin.fir.analysis.checkers.MppCheckerKind +import org.jetbrains.kotlin.fir.analysis.checkers.context.CheckerContext +import org.jetbrains.kotlin.fir.analysis.checkers.declaration.DeclarationCheckers +import org.jetbrains.kotlin.fir.analysis.checkers.declaration.FirAnonymousFunctionChecker +import org.jetbrains.kotlin.fir.analysis.checkers.declaration.FirConstructorChecker +import org.jetbrains.kotlin.fir.analysis.checkers.declaration.FirFileChecker +import org.jetbrains.kotlin.fir.analysis.checkers.declaration.FirPropertyAccessorChecker +import org.jetbrains.kotlin.fir.analysis.checkers.declaration.FirPropertyChecker +import org.jetbrains.kotlin.fir.analysis.checkers.declaration.FirRegularClassChecker +import org.jetbrains.kotlin.fir.analysis.checkers.declaration.FirSimpleFunctionChecker +import org.jetbrains.kotlin.fir.analysis.checkers.declaration.FirTypeAliasChecker +import org.jetbrains.kotlin.fir.analysis.checkers.declaration.FirTypeParameterChecker +import org.jetbrains.kotlin.fir.analysis.checkers.declaration.FirValueParameterChecker +import org.jetbrains.kotlin.fir.analysis.checkers.expression.ExpressionCheckers +import org.jetbrains.kotlin.fir.analysis.checkers.expression.FirQualifiedAccessExpressionChecker +import org.jetbrains.kotlin.fir.analysis.extensions.FirAdditionalCheckersExtension +import org.jetbrains.kotlin.fir.declarations.FirAnonymousFunction +import org.jetbrains.kotlin.fir.declarations.FirConstructor +import org.jetbrains.kotlin.fir.declarations.FirFile +import org.jetbrains.kotlin.fir.declarations.FirProperty +import org.jetbrains.kotlin.fir.declarations.FirPropertyAccessor +import org.jetbrains.kotlin.fir.declarations.FirRegularClass +import org.jetbrains.kotlin.fir.declarations.FirSimpleFunction +import org.jetbrains.kotlin.fir.declarations.FirTypeAlias +import org.jetbrains.kotlin.fir.declarations.FirTypeParameter +import org.jetbrains.kotlin.fir.declarations.FirValueParameter +import org.jetbrains.kotlin.fir.expressions.FirQualifiedAccessExpression +import org.jetbrains.kotlin.fir.references.FirResolvedNamedReference +import org.jetbrains.kotlin.fir.resolve.providers.symbolProvider +import org.jetbrains.kotlin.name.ClassId +import org.jetbrains.kotlin.psi.KtDeclaration +import org.jetbrains.kotlin.resolve.checkers.DeclarationChecker +import org.jetbrains.kotlin.resolve.checkers.DeclarationCheckerContext + +open class AnalyzerCheckers(session: FirSession) : FirAdditionalCheckersExtension(session) { + companion object { + @OptIn(ExperimentalContracts::class) + val visitors: MutableMap = mutableMapOf() + } + override val declarationCheckers: DeclarationCheckers + get() = + AnalyzerDeclarationCheckers( + session.analyzerParamsProvider.sourceroot, session.analyzerParamsProvider.callback) + + override val expressionCheckers: ExpressionCheckers + get() = + object : ExpressionCheckers() { + override val qualifiedAccessExpressionCheckers: + Set = + setOf(SemanticQualifiedAccessExpressionChecker()) + } + + open class AnalyzerDeclarationCheckers( + sourceroot: Path, + callback: (Semanticdb.TextDocument) -> Unit + ) : DeclarationCheckers() { + override val fileCheckers: Set = + setOf(SemanticFileChecker(sourceroot, callback), SemanticImportsChecker()) + override val regularClassCheckers: Set = + setOf(SemanticRegularClassChecker()) + override val constructorCheckers: Set = + setOf(SemanticConstructorChecker()) + override val simpleFunctionCheckers: Set = + setOf(SemanticSimpleFunctionChecker()) + override val anonymousFunctionCheckers: Set = + setOf(SemanticAnonymousFunctionChecker()) + override val propertyCheckers: Set = setOf(SemanticPropertyChecker()) + override val valueParameterCheckers: Set = + setOf(SemanticValueParameterChecker()) + override val typeParameterCheckers: Set = + setOf(SemanticTypeParameterChecker()) + override val typeAliasCheckers: Set = setOf(SemanticTypeAliasChecker()) + override val propertyAccessorCheckers: Set = + setOf(SemanticPropertyAccessorChecker()) + } + + private class SemanticFileChecker( + private val sourceroot: Path, + private val callback: (Semanticdb.TextDocument) -> Unit + ) : FirFileChecker(MppCheckerKind.Common) { + companion object { + @OptIn(ExperimentalContracts::class) val globals = GlobalSymbolsCache() + } + + @OptIn(ExperimentalContracts::class) + override fun check( + declaration: FirFile, + context: CheckerContext, + reporter: DiagnosticReporter + ) { + val ktFile = declaration.sourceFile ?: return + val lineMap = LineMap(declaration) + val visitor = SemanticdbVisitor(sourceroot, ktFile, lineMap, globals) + visitors[ktFile] = visitor + } + + private fun semanticdbOutPathForFile(session: FirSession, file: KtSourceFile): Path? { + val sourceRoot = session.analyzerParamsProvider.sourceroot + val normalizedPath = Paths.get(file.path).normalize() + if (normalizedPath.startsWith(sourceRoot)) { + val relative = sourceRoot.relativize(normalizedPath) + val filename = relative.fileName.toString() + ".semanticdb" + val semanticdbOutPath = + session + .analyzerParamsProvider + .targetroot + .resolve("META-INF") + .resolve("semanticdb") + .resolve(relative) + .resolveSibling(filename) + + Files.createDirectories(semanticdbOutPath.parent) + return semanticdbOutPath + } + System.err.println( + "given file is not under the sourceroot.\n\tSourceroot: $sourceRoot\n\tFile path: ${file.path}\n\tNormalized file path: $normalizedPath") + return null + } + } + + class SemanticImportsChecker : FirFileChecker(MppCheckerKind.Common) { + @OptIn(ExperimentalContracts::class) + override fun check( + declaration: FirFile, + context: CheckerContext, + reporter: DiagnosticReporter + ) { + val ktFile = declaration.sourceFile ?: return + declaration.imports.forEach { import -> + val source = import.source ?: return@forEach + val visitor = visitors[ktFile] + val fqName = import.importedFqName ?: return@forEach + val importedClassSymbol = + context.session.symbolProvider.getClassLikeSymbolByClassId( + ClassId.topLevel(fqName)) + ?: return@forEach + visitor?.visitImport(importedClassSymbol, source) + } + } + } + + private class SemanticRegularClassChecker : FirRegularClassChecker(MppCheckerKind.Common) { + @OptIn(ExperimentalContracts::class) + override fun check( + declaration: FirRegularClass, + context: CheckerContext, + reporter: DiagnosticReporter + ) { + val source = declaration.source ?: return + val ktFile = context.containingFile?.sourceFile ?: return + val visitor = visitors[ktFile] + visitor?.visitClassOrObject(declaration, source) + } + } + + private class SemanticConstructorChecker : FirConstructorChecker(MppCheckerKind.Common) { + @OptIn(ExperimentalContracts::class) + override fun check( + declaration: FirConstructor, + context: CheckerContext, + reporter: DiagnosticReporter + ) { + val source = declaration.source ?: return + val ktFile = context.containingFile?.sourceFile ?: return + val visitor = visitors[ktFile] + + if (declaration.isPrimary) { + visitor?.visitPrimaryConstructor(declaration, source) + } else { + visitor?.visitSecondaryConstructor(declaration, source) + } + } + } + + private class SemanticSimpleFunctionChecker : FirSimpleFunctionChecker(MppCheckerKind.Common) { + @OptIn(ExperimentalContracts::class) + override fun check( + declaration: FirSimpleFunction, + context: CheckerContext, + reporter: DiagnosticReporter + ) { + val source = declaration.source ?: return + val ktFile = context.containingFile?.sourceFile ?: return + val visitor = visitors[ktFile] + visitor?.visitNamedFunction(declaration, source) + } + } + + private class SemanticAnonymousFunctionChecker : + FirAnonymousFunctionChecker(MppCheckerKind.Common) { + @OptIn(ExperimentalContracts::class) + override fun check( + declaration: FirAnonymousFunction, + context: CheckerContext, + reporter: DiagnosticReporter + ) { + val source = declaration.source ?: return + val ktFile = context.containingFile?.sourceFile ?: return + val visitor = visitors[ktFile] + visitor?.visitNamedFunction(declaration, source) + } + } + + private class SemanticPropertyChecker : FirPropertyChecker(MppCheckerKind.Common) { + @OptIn(ExperimentalContracts::class) + override fun check( + declaration: FirProperty, + context: CheckerContext, + reporter: DiagnosticReporter + ) { + val source = declaration.source ?: return + val ktFile = context.containingFile?.sourceFile ?: return + val visitor = visitors[ktFile] + visitor?.visitProperty(declaration, source) + } + } + + private class SemanticValueParameterChecker : FirValueParameterChecker(MppCheckerKind.Common) { + @OptIn(ExperimentalContracts::class) + override fun check( + declaration: FirValueParameter, + context: CheckerContext, + reporter: DiagnosticReporter + ) { + val source = declaration.source ?: return + val ktFile = context.containingFile?.sourceFile ?: return + val visitor = visitors[ktFile] + visitor?.visitParameter(declaration, source) + } + } + + private class SemanticTypeParameterChecker : FirTypeParameterChecker(MppCheckerKind.Common) { + @OptIn(ExperimentalContracts::class) + override fun check( + declaration: FirTypeParameter, + context: CheckerContext, + reporter: DiagnosticReporter + ) { + val source = declaration.source ?: return + val ktFile = context.containingFile?.sourceFile ?: return + val visitor = visitors[ktFile] + visitor?.visitTypeParameter(declaration, source) + } + } + + private class SemanticTypeAliasChecker : FirTypeAliasChecker(MppCheckerKind.Common) { + @OptIn(ExperimentalContracts::class) + override fun check( + declaration: FirTypeAlias, + context: CheckerContext, + reporter: DiagnosticReporter + ) { + val source = declaration.source ?: return + val ktFile = context.containingFile?.sourceFile ?: return + val visitor = visitors[ktFile] + visitor?.visitTypeAlias(declaration, source) + } + } + + private class SemanticPropertyAccessorChecker : + FirPropertyAccessorChecker(MppCheckerKind.Common) { + @OptIn(ExperimentalContracts::class) + override fun check( + declaration: FirPropertyAccessor, + context: CheckerContext, + reporter: DiagnosticReporter + ) { + val source = declaration.source ?: return + val ktFile = context.containingFile?.sourceFile ?: return + val visitor = visitors[ktFile] + visitor?.visitPropertyAccessor(declaration, source) + } + } + + private class SemanticQualifiedAccessExpressionChecker : + FirQualifiedAccessExpressionChecker(MppCheckerKind.Common) { + @OptIn(ExperimentalContracts::class) + override fun check( + declaration: FirQualifiedAccessExpression, + context: CheckerContext, + reporter: DiagnosticReporter + ) { + val source = declaration.source ?: return + val calleeReference = declaration.calleeReference + if ((calleeReference as? FirResolvedNamedReference) == null) { + return + } + + val ktFile = context.containingFile?.sourceFile ?: return + val visitor = visitors[ktFile] + visitor?.visitSimpleNameExpression(calleeReference, source) + } + } +} + +class AnalyzerDeclarationChecker : DeclarationChecker { + override fun check( + declaration: KtDeclaration, + descriptor: DeclarationDescriptor, + context: DeclarationCheckerContext + ) = Unit +} diff --git a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerFirExtensionRegistrar.kt b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerFirExtensionRegistrar.kt new file mode 100644 index 00000000..a47da13a --- /dev/null +++ b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerFirExtensionRegistrar.kt @@ -0,0 +1,15 @@ +package com.sourcegraph.semanticdb_kotlinc + +import java.nio.file.Path +import org.jetbrains.kotlin.fir.extensions.FirExtensionRegistrar + +class AnalyzerFirExtensionRegistrar( + private val sourceroot: Path, + private val targetroot: Path, + private val callback: (Semanticdb.TextDocument) -> Unit +) : FirExtensionRegistrar() { + override fun ExtensionRegistrarContext.configurePlugin() { + +AnalyzerParamsProvider.getFactory(sourceroot, targetroot, callback) + +::AnalyzerCheckers + } +} diff --git a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerParamsProvider.kt b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerParamsProvider.kt new file mode 100644 index 00000000..fef1ac13 --- /dev/null +++ b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerParamsProvider.kt @@ -0,0 +1,29 @@ +package com.sourcegraph.semanticdb_kotlinc + +import java.nio.file.Path +import org.jetbrains.kotlin.fir.FirSession +import org.jetbrains.kotlin.fir.extensions.FirExtensionSessionComponent + +open class AnalyzerParamsProvider( + session: FirSession, + sourceroot: Path, + targetroot: Path, + callback: (Semanticdb.TextDocument) -> Unit +) : FirExtensionSessionComponent(session) { + companion object { + fun getFactory( + sourceroot: Path, + targetroot: Path, + callback: (Semanticdb.TextDocument) -> Unit + ): Factory { + return Factory { AnalyzerParamsProvider(it, sourceroot, targetroot, callback) } + } + } + + val sourceroot: Path = sourceroot + val targetroot: Path = targetroot + val callback: (Semanticdb.TextDocument) -> Unit = callback +} + +val FirSession.analyzerParamsProvider: AnalyzerParamsProvider by FirSession + .sessionComponentAccessor() diff --git a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerRegistrar.kt b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerRegistrar.kt index af992db7..3d2935bd 100644 --- a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerRegistrar.kt +++ b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerRegistrar.kt @@ -1,26 +1,29 @@ package com.sourcegraph.semanticdb_kotlinc -import java.lang.IllegalArgumentException import kotlin.contracts.ExperimentalContracts +import org.jetbrains.kotlin.backend.common.extensions.IrGenerationExtension import org.jetbrains.kotlin.compiler.plugin.CompilerPluginRegistrar import org.jetbrains.kotlin.compiler.plugin.ExperimentalCompilerApi import org.jetbrains.kotlin.config.CompilerConfiguration -import org.jetbrains.kotlin.resolve.jvm.extensions.AnalysisHandlerExtension +import org.jetbrains.kotlin.fir.extensions.FirExtensionRegistrarAdapter @OptIn(ExperimentalCompilerApi::class) @ExperimentalContracts class AnalyzerRegistrar(private val callback: (Semanticdb.TextDocument) -> Unit = {}) : CompilerPluginRegistrar() { override fun ExtensionStorage.registerExtensions(configuration: CompilerConfiguration) { - AnalysisHandlerExtension.registerExtension( - Analyzer( - sourceroot = configuration[KEY_SOURCES] - ?: throw IllegalArgumentException("configuration key $KEY_SOURCES missing"), - targetroot = configuration[KEY_TARGET] - ?: throw IllegalArgumentException("configuration key $KEY_TARGET missing"), + FirExtensionRegistrarAdapter.registerExtension( + AnalyzerFirExtensionRegistrar( + sourceroot = configuration[KEY_SOURCES]!!, + targetroot = configuration[KEY_TARGET]!!, + callback = callback)) + IrGenerationExtension.registerExtension( + PostAnalysisExtension( + sourceRoot = configuration[KEY_SOURCES]!!, + targetRoot = configuration[KEY_TARGET]!!, callback = callback)) } override val supportsK2: Boolean - get() = false + get() = true } diff --git a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/FirSimpleNameReferenceChecker.kt b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/FirSimpleNameReferenceChecker.kt new file mode 100644 index 00000000..56a789e5 --- /dev/null +++ b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/FirSimpleNameReferenceChecker.kt @@ -0,0 +1,32 @@ +package com.sourcegraph.semanticdb_kotlinc + +import org.jetbrains.kotlin.diagnostics.DiagnosticReporter +import org.jetbrains.kotlin.fir.analysis.checkers.MppCheckerKind +import org.jetbrains.kotlin.fir.analysis.checkers.context.CheckerContext +import org.jetbrains.kotlin.fir.analysis.checkers.expression.FirQualifiedAccessExpressionChecker +import org.jetbrains.kotlin.fir.expressions.FirQualifiedAccessExpression +import org.jetbrains.kotlin.fir.references.impl.FirSimpleNamedReference + +object FirSimpleNameReferenceChecker : FirQualifiedAccessExpressionChecker(MppCheckerKind.Common) { + override fun check( + expression: FirQualifiedAccessExpression, + context: CheckerContext, + reporter: DiagnosticReporter + ) { + val callee = expression.calleeReference as? FirSimpleNamedReference ?: return + + // Traverse the declaration's body, looking for references + // declaration.accept(object : FirVisitorVoid() { + // override fun visitSimpleNameReference(simpleNameReference: + // FirSimpleNameReference) { + // super.visitSimpleNameReference(simpleNameReference) + // // Add custom logic for simple name references + // // For example, you could log or report errors on unresolved references + // if (simpleNameReference is FirErrorNamedReference) { + // reporter.reportOn(simpleNameReference.source, + // FirErrors.UNRESOLVED_REFERENCE, context) + // } + // } + // }) + } +} diff --git a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/LineMap.kt b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/LineMap.kt index 6c4bdc35..d844403f 100644 --- a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/LineMap.kt +++ b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/LineMap.kt @@ -1,38 +1,34 @@ package com.sourcegraph.semanticdb_kotlinc +import org.jetbrains.kotlin.KtSourceElement import org.jetbrains.kotlin.com.intellij.navigation.NavigationItem -import org.jetbrains.kotlin.com.intellij.openapi.editor.Document -import org.jetbrains.kotlin.com.intellij.openapi.project.Project -import org.jetbrains.kotlin.com.intellij.psi.PsiDocumentManager -import org.jetbrains.kotlin.com.intellij.psi.PsiElement -import org.jetbrains.kotlin.diagnostics.PsiDiagnosticUtils -import org.jetbrains.kotlin.diagnostics.PsiDiagnosticUtils.LineAndColumn -import org.jetbrains.kotlin.psi.KtFile +import org.jetbrains.kotlin.fir.declarations.FirFile import org.jetbrains.kotlin.psi.KtPropertyAccessor +import org.jetbrains.kotlin.text /** Maps between an element and its identifier positions */ -class LineMap(project: Project, file: KtFile) { - private val document: Document = PsiDocumentManager.getInstance(project).getDocument(file)!! - - private fun offsetToLineAndCol(offset: Int): LineAndColumn = - PsiDiagnosticUtils.offsetToLineAndColumn(document, offset) +class LineMap(private val file: FirFile) { + private fun offsetToLineAndCol(offset: Int): Pair? = + file.sourceFileLinesMapping?.getLineAndColumnByOffset(offset) /** Returns the non-0-based start character */ - fun startCharacter(element: PsiElement): Int = offsetToLineAndCol(element.textOffset).column + fun startCharacter(element: KtSourceElement): Int = + offsetToLineAndCol(element.startOffset)?.second ?: 0 /** Returns the non-0-based end character */ - fun endCharacter(element: PsiElement): Int = + fun endCharacter(element: KtSourceElement): Int = startCharacter(element) + nameForOffset(element).length /** Returns the non-0-based line number */ - fun lineNumber(element: PsiElement): Int = document.getLineNumber(element.textOffset) + 1 + fun lineNumber(element: KtSourceElement): Int = + file.sourceFileLinesMapping?.getLineByOffset(element.startOffset)?.let { it + 1 } ?: 0 companion object { - fun nameForOffset(element: PsiElement): String = + fun nameForOffset(element: KtSourceElement): String = when (element) { is KtPropertyAccessor -> element.namePlaceholder.text - is NavigationItem -> element.name ?: element.text - else -> element.text + is NavigationItem -> element.name ?: element.text?.toString() ?: "" + else -> element.text?.toString() ?: "" } } } diff --git a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/PostAnalysisExtension.kt b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/PostAnalysisExtension.kt new file mode 100644 index 00000000..6e5e3a68 --- /dev/null +++ b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/PostAnalysisExtension.kt @@ -0,0 +1,47 @@ +package com.sourcegraph.semanticdb_kotlinc + +import java.nio.file.Files +import java.nio.file.Path +import java.nio.file.Paths +import kotlin.contracts.ExperimentalContracts +import org.jetbrains.kotlin.KtSourceFile +import org.jetbrains.kotlin.backend.common.extensions.IrGenerationExtension +import org.jetbrains.kotlin.backend.common.extensions.IrPluginContext +import org.jetbrains.kotlin.ir.declarations.IrModuleFragment + +class PostAnalysisExtension( + private val sourceRoot: Path, + private val targetRoot: Path, + private val callback: (Semanticdb.TextDocument) -> Unit +) : IrGenerationExtension { + @OptIn(ExperimentalContracts::class) + override fun generate(moduleFragment: IrModuleFragment, pluginContext: IrPluginContext) { + for ((ktSourceFile, visitor) in AnalyzerCheckers.visitors) { + val document = visitor.build() + semanticdbOutPathForFile(ktSourceFile)?.apply { + Files.write(this, TextDocuments { addDocuments(document) }.toByteArray()) + } + callback(document) + } + } + + private fun semanticdbOutPathForFile(file: KtSourceFile): Path? { + val normalizedPath = Paths.get(file.path).normalize() + if (normalizedPath.startsWith(sourceRoot)) { + val relative = sourceRoot.relativize(normalizedPath) + val filename = relative.fileName.toString() + ".semanticdb" + val semanticdbOutPath = + targetRoot + .resolve("META-INF") + .resolve("semanticdb") + .resolve(relative) + .resolveSibling(filename) + + Files.createDirectories(semanticdbOutPath.parent) + return semanticdbOutPath + } + System.err.println( + "given file is not under the sourceroot.\n\tSourceroot: $sourceRoot\n\tFile path: ${file.path}\n\tNormalized file path: $normalizedPath") + return null + } +} diff --git a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbTextDocumentBuilder.kt b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbTextDocumentBuilder.kt index 7b9cbfdb..a32eabd9 100644 --- a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbTextDocumentBuilder.kt +++ b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbTextDocumentBuilder.kt @@ -7,35 +7,54 @@ import java.nio.file.Path import java.nio.file.Paths import java.security.MessageDigest import kotlin.contracts.ExperimentalContracts -import kotlin.text.Charsets.UTF_8 -import org.jetbrains.kotlin.asJava.namedUnwrappedElement -import org.jetbrains.kotlin.backend.common.serialization.metadata.findKDocString +import org.jetbrains.kotlin.KtLightSourceElement +import org.jetbrains.kotlin.KtSourceElement +import org.jetbrains.kotlin.KtSourceFile +import org.jetbrains.kotlin.com.intellij.lang.LighterASTNode import org.jetbrains.kotlin.com.intellij.lang.java.JavaLanguage -import org.jetbrains.kotlin.com.intellij.navigation.NavigationItem -import org.jetbrains.kotlin.com.intellij.psi.PsiElement +import org.jetbrains.kotlin.com.intellij.openapi.util.Ref +import org.jetbrains.kotlin.com.intellij.util.diff.FlyweightCapableTreeStructure import org.jetbrains.kotlin.descriptors.* +import org.jetbrains.kotlin.fir.FirElement +import org.jetbrains.kotlin.fir.containingClassLookupTag +import org.jetbrains.kotlin.fir.declarations.FirRegularClass +import org.jetbrains.kotlin.fir.declarations.FirSimpleFunction +import org.jetbrains.kotlin.fir.declarations.utils.isOverride +import org.jetbrains.kotlin.fir.psi +import org.jetbrains.kotlin.fir.render +import org.jetbrains.kotlin.fir.resolve.toSymbol +import org.jetbrains.kotlin.fir.symbols.FirBasedSymbol +import org.jetbrains.kotlin.fir.symbols.SymbolInternals +import org.jetbrains.kotlin.fir.symbols.impl.FirClassSymbol +import org.jetbrains.kotlin.fir.symbols.impl.FirFunctionSymbol +import org.jetbrains.kotlin.fir.symbols.impl.FirPropertyAccessorSymbol +import org.jetbrains.kotlin.fir.symbols.impl.FirPropertySymbol +import org.jetbrains.kotlin.fir.symbols.impl.FirVariableSymbol +import org.jetbrains.kotlin.fir.types.ConeClassLikeType +import org.jetbrains.kotlin.fir.types.coneType +import org.jetbrains.kotlin.fir.types.coneTypeOrNull +import org.jetbrains.kotlin.fir.types.coneTypeSafe import org.jetbrains.kotlin.idea.KotlinLanguage -import org.jetbrains.kotlin.psi.KtConstructor -import org.jetbrains.kotlin.psi.KtFile -import org.jetbrains.kotlin.psi.KtPropertyAccessor -import org.jetbrains.kotlin.renderer.DescriptorRenderer -import org.jetbrains.kotlin.resolve.descriptorUtil.fqNameSafe -import org.jetbrains.kotlin.resolve.descriptorUtil.getAllSuperClassifiers +import org.jetbrains.kotlin.lexer.KtTokens +import org.jetbrains.kotlin.psi +import org.jetbrains.kotlin.text @ExperimentalContracts class SemanticdbTextDocumentBuilder( private val sourceroot: Path, - private val file: KtFile, + private val file: KtSourceFile, private val lineMap: LineMap, private val cache: SymbolsCache ) { private val occurrences = mutableListOf() private val symbols = mutableListOf() + private val fileText = file.getContentsAsStream().reader().readText() + private val semanticMd5 = semanticdbMD5() fun build() = TextDocument { - this.text = file.text + this.text = fileText this.uri = semanticdbURI() - this.md5 = semanticdbMD5() + this.md5 = semanticMd5 this.schema = Semanticdb.Schema.SEMANTICDB4 this.language = Semanticdb.Language.KOTLIN this.addAllOccurrences(occurrences) @@ -43,75 +62,117 @@ class SemanticdbTextDocumentBuilder( } fun emitSemanticdbData( + firBasedSymbol: FirBasedSymbol<*>, symbol: Symbol, - descriptor: DeclarationDescriptor, - element: PsiElement, + element: KtSourceElement, role: Role ) { - symbolOccurrence(symbol, element, role)?.let(occurrences::add) - if (role == Role.DEFINITION) symbols.add(symbolInformation(symbol, descriptor, element)) + symbolOccurrence(symbol, element, role)?.let { + if (!occurrences.contains(it)) { + occurrences.add(it) + } + } + val symbolInformation = symbolInformation(firBasedSymbol, symbol, element) + if (role == Role.DEFINITION && !symbols.contains(symbolInformation)) + symbols.add(symbolInformation) } private val isIgnoredSuperClass = setOf("kotlin.Any", "java.lang.Object", "java.io.Serializable") - private fun functionDescriptorOverrides(descriptor: FunctionDescriptor): Iterable { - val result = mutableListOf() - val isVisited = mutableSetOf() - val queue = ArrayDeque() - queue.add(descriptor) - while (!queue.isEmpty()) { - val current = queue.removeFirst() - if (current in isVisited) { - continue + @OptIn(SymbolInternals::class) + private fun functionDescriptorOverrides( + functionSymbol: FirFunctionSymbol<*> + ): Iterable { + val containingClassSymbol = + functionSymbol + .containingClassLookupTag() + ?.toSymbol(functionSymbol.fir.moduleData.session) as? + FirRegularClass + if (containingClassSymbol != null) { + // Get the super types of the class + val superTypes: List = + containingClassSymbol.superTypeRefs.mapNotNull { it.coneTypeSafe() } + + val overriddenFunctions = mutableListOf>() + + // Traverse the super types to find functions with the same signature + superTypes.forEach { superType -> + val superClassSymbol = + superType.lookupTag.toSymbol(functionSymbol.fir.moduleData.session) as? + FirRegularClass + superClassSymbol?.declarations?.forEach { declaration -> + if (declaration is FirSimpleFunction && + declaration.isOverride && + declaration.isOverride(functionSymbol)) { + overriddenFunctions.add(declaration.symbol) + } + } } + return overriddenFunctions.map { it.toString() } + } + return emptyList() + } + + @OptIn(SymbolInternals::class) + private fun FirSimpleFunction.isOverride(otherFunctionSymbol: FirFunctionSymbol<*>): Boolean { + // Compare names + if (this.symbol.callableId.callableName != otherFunctionSymbol.callableId.callableName) + return false + + // Compare return types + if (this.returnTypeRef.coneType != otherFunctionSymbol.fir.returnTypeRef.coneType) + return false - isVisited.add(current) - val directOverrides = - current.overriddenDescriptors.flatMap { cache[it] }.map { it.toString() } - result.addAll(directOverrides) - queue.addAll(current.overriddenDescriptors) + // Compare value parameters + val thisParams = this.valueParameters + val otherParams = otherFunctionSymbol.fir.valueParameters + if (thisParams.size != otherParams.size) return false + + for ((thisParam, otherParam) in thisParams.zip(otherParams)) { + if (thisParam.returnTypeRef.coneType != otherParam.returnTypeRef.coneType) return false } - return result + + return true } + @OptIn(SymbolInternals::class) private fun symbolInformation( + firBasedSymbol: FirBasedSymbol<*>, symbol: Symbol, - descriptor: DeclarationDescriptor, - element: PsiElement + element: KtSourceElement ): Semanticdb.SymbolInformation { val supers = - when (descriptor) { - is ClassDescriptor -> - descriptor - .getAllSuperClassifiers() - // first is the class itself - .drop(1) - .filter { it.fqNameSafe.toString() !in isIgnoredSuperClass } - .flatMap { cache[it] } + when (firBasedSymbol) { + is FirClassSymbol -> + firBasedSymbol + .resolvedSuperTypeRefs + .filter { + (it.coneTypeOrNull as? ConeClassLikeType)?.toString() !in + isIgnoredSuperClass + } .map { it.toString() } .asIterable() - is SimpleFunctionDescriptor -> functionDescriptorOverrides(descriptor) + is FirFunctionSymbol -> functionDescriptorOverrides(firBasedSymbol) else -> emptyList().asIterable() } return SymbolInformation { this.symbol = symbol.toString() - this.displayName = displayName(element) - this.documentation = semanticdbDocumentation(descriptor) + this.displayName = displayName(firBasedSymbol) + this.documentation = semanticdbDocumentation(firBasedSymbol.fir, element) this.addAllOverriddenSymbols(supers) this.language = - when (element.language) { + when (element.psi?.language ?: KotlinLanguage.INSTANCE) { is KotlinLanguage -> Semanticdb.Language.KOTLIN is JavaLanguage -> Semanticdb.Language.JAVA - else -> - throw IllegalArgumentException("unexpected language ${element.language}") + else -> throw IllegalArgumentException("unexpected language") } } } private fun symbolOccurrence( symbol: Symbol, - element: PsiElement, + element: KtSourceElement, role: Role ): Semanticdb.SymbolOccurrence? { /*val symbol = when(val s = globals[descriptor, locals]) { @@ -126,9 +187,9 @@ class SemanticdbTextDocumentBuilder( } } - private fun semanticdbRange(element: PsiElement): Semanticdb.Range { + private fun semanticdbRange(element: KtSourceElement): Semanticdb.Range { return Range { - startCharacter = lineMap.startCharacter(element) - 1 + startCharacter = lineMap.startCharacter(element) startLine = lineMap.lineNumber(element) - 1 endCharacter = lineMap.endCharacter(element) - 1 endLine = lineMap.lineNumber(element) - 1 @@ -137,32 +198,44 @@ class SemanticdbTextDocumentBuilder( private fun semanticdbURI(): String { // TODO: unix-style only - val relative = sourceroot.relativize(Paths.get(file.virtualFilePath)) + val relative = sourceroot.relativize(Paths.get(file.path)) return relative.toString() } private fun semanticdbMD5(): String = - MessageDigest.getInstance("MD5").digest(file.text.toByteArray(UTF_8)).joinToString("") { - "%02X".format(it) - } + MessageDigest.getInstance("MD5") + .digest(file.getContentsAsStream().readBytes()) + .joinToString("") { "%02X".format(it) } private fun semanticdbDocumentation( - descriptor: DeclarationDescriptor + element: FirElement, + source: KtSourceElement ): Semanticdb.Documentation = Documentation { format = Semanticdb.Documentation.Format.MARKDOWN - val signature = - DescriptorRenderer.COMPACT_WITH_MODIFIERS - .withOptions { - withSourceFileForTopLevel = true - unitReturnType = false - } - .render(descriptor) - val kdoc = - when (descriptor) { - is DeclarationDescriptorWithSource -> descriptor.findKDocString() ?: "" - else -> "" - } - message = "```kotlin\n$signature\n```${stripKDocAsterisks(kdoc)}" + val renderOutput = element.render() + val kdoc = getKDocFromKtLightSourceElement(source as? KtLightSourceElement) ?: "" + message = "```\n$renderOutput\n```\n${stripKDocAsterisks(kdoc)}" + } + + private fun getKDocFromKtLightSourceElement( + lightSourceElement: KtLightSourceElement? + ): String? { + if (lightSourceElement == null) return null + val tree = lightSourceElement.treeStructure // FlyweightCapableTreeStructure + val node = + lightSourceElement.lighterASTNode // LighterASTNode, the root of the element's structure + return findKDoc(tree, node) + } + + // Helper function to find the KDoc node in the AST + private fun findKDoc( + tree: FlyweightCapableTreeStructure, + node: LighterASTNode + ): String? { + // Recursively traverse the light tree to find a DOC_COMMENT node + val kidsRef = Ref>() + tree.getChildren(node, kidsRef) + return kidsRef.get().singleOrNull { it?.tokenType == KtTokens.DOC_COMMENT }?.toString() } // Returns the kdoc string with all leading and trailing "/*" tokens removed. Naive @@ -203,16 +276,15 @@ class SemanticdbTextDocumentBuilder( } companion object { - private fun displayName(element: PsiElement): String = - when (element) { - is KtPropertyAccessor -> element.namePlaceholder.text - is NavigationItem -> - when (element.namedUnwrappedElement) { - is KtConstructor<*> -> - (element.namedUnwrappedElement as KtConstructor<*>).name!! - else -> element.name ?: element.text - } - else -> element.text + @OptIn(SymbolInternals::class) + private fun displayName(firBasedSymbol: FirBasedSymbol<*>): String = + when (firBasedSymbol) { + is FirClassSymbol -> firBasedSymbol.classId.asSingleFqName().asString() + is FirPropertyAccessorSymbol -> firBasedSymbol.fir.propertySymbol.name.asString() + is FirFunctionSymbol -> firBasedSymbol.callableId.callableName.asString() + is FirPropertySymbol -> firBasedSymbol.callableId.callableName.asString() + is FirVariableSymbol -> firBasedSymbol.name.asString() + else -> firBasedSymbol.toString() } } } diff --git a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbVisitor.kt b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbVisitor.kt index 2548217a..42cd7077 100644 --- a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbVisitor.kt +++ b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbVisitor.kt @@ -3,146 +3,107 @@ package com.sourcegraph.semanticdb_kotlinc import com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolOccurrence.Role import java.nio.file.Path import kotlin.contracts.ExperimentalContracts -import org.jetbrains.kotlin.com.intellij.psi.PsiElement -import org.jetbrains.kotlin.descriptors.DeclarationDescriptor +import org.jetbrains.kotlin.KtSourceElement +import org.jetbrains.kotlin.KtSourceFile +import org.jetbrains.kotlin.fir.declarations.FirClass +import org.jetbrains.kotlin.fir.declarations.FirConstructor +import org.jetbrains.kotlin.fir.declarations.FirFunction +import org.jetbrains.kotlin.fir.declarations.FirProperty +import org.jetbrains.kotlin.fir.declarations.FirPropertyAccessor +import org.jetbrains.kotlin.fir.declarations.FirTypeAlias +import org.jetbrains.kotlin.fir.declarations.FirTypeParameter +import org.jetbrains.kotlin.fir.declarations.FirValueParameter +import org.jetbrains.kotlin.fir.references.FirResolvedNamedReference +import org.jetbrains.kotlin.fir.symbols.FirBasedSymbol +import org.jetbrains.kotlin.fir.symbols.impl.FirClassLikeSymbol import org.jetbrains.kotlin.psi.* -import org.jetbrains.kotlin.psi.psiUtil.containingClass @ExperimentalContracts class SemanticdbVisitor( sourceroot: Path, - private val resolver: DescriptorResolver, - private val file: KtFile, + private val file: KtSourceFile, private val lineMap: LineMap, globals: GlobalSymbolsCache, locals: LocalSymbolsCache = LocalSymbolsCache() -) : KtTreeVisitorVoid() { +) { private val cache = SymbolsCache(globals, locals) private val documentBuilder = SemanticdbTextDocumentBuilder(sourceroot, file, lineMap, cache) private data class SymbolDescriptorPair( - val symbol: Symbol, - val descriptor: DeclarationDescriptor + val firBasedSymbol: FirBasedSymbol<*>, + val symbol: Symbol ) fun build(): Semanticdb.TextDocument { - super.visitKtFile(file) return documentBuilder.build() } private fun Sequence?.emitAll( - element: PsiElement, + element: KtSourceElement, role: Role ): List? = - this?.onEach { (symbol, descriptor) -> - documentBuilder.emitSemanticdbData(symbol, descriptor, element, role) + this?.onEach { (firBasedSymbol, symbol) -> + documentBuilder.emitSemanticdbData(firBasedSymbol, symbol, element, role) } ?.map { it.symbol } ?.toList() - private fun Sequence.with(descriptor: DeclarationDescriptor) = - this.map { SymbolDescriptorPair(it, descriptor) } - - override fun visitKtElement(element: KtElement) { - try { - super.visitKtElement(element) - } catch (e: VisitorException) { - throw e - } catch (e: Exception) { - throw VisitorException( - "exception throw when visiting ${element::class} in ${file.virtualFilePath}: (${ - lineMap.lineNumber( - element - ) - }, ${lineMap.startCharacter(element)})", - e) - } - } + private fun Sequence.with(firBasedSymbol: FirBasedSymbol<*>) = + this.map { SymbolDescriptorPair(firBasedSymbol, it) } - override fun visitObjectDeclaration(declaration: KtObjectDeclaration) { - if (declaration.name != null) { - val desc = resolver.fromDeclaration(declaration).single() - cache[desc].with(desc).emitAll(declaration, Role.DEFINITION) - } - super.visitObjectDeclaration(declaration) + fun visitImport(firClassSymbol: FirClassLikeSymbol<*>, element: KtSourceElement) { + cache[firClassSymbol].with(firClassSymbol).emitAll(element, Role.REFERENCE) } - override fun visitClass(klass: KtClass) { - val desc = resolver.fromDeclaration(klass).single() - cache[desc].with(desc).emitAll(klass, Role.DEFINITION) - if (!klass.hasExplicitPrimaryConstructor()) { - resolver.syntheticConstructor(klass)?.apply { - cache[this].with(this).emitAll(klass, Role.DEFINITION) - } - } - super.visitClass(klass) + fun visitClassOrObject(firClass: FirClass, element: KtSourceElement) { + cache[firClass.symbol].with(firClass.symbol).emitAll(element, Role.DEFINITION) } - override fun visitPrimaryConstructor(constructor: KtPrimaryConstructor) { - val desc = resolver.fromDeclaration(constructor).single() + fun visitPrimaryConstructor(firConstructor: FirConstructor, source: KtSourceElement) { // if the constructor is not denoted by the 'constructor' keyword, we want to link it to the // class ident - if (!constructor.hasConstructorKeyword()) { - cache[desc].with(desc).emitAll(constructor.containingClass()!!, Role.DEFINITION) - } else { - cache[desc].with(desc).emitAll(constructor.getConstructorKeyword()!!, Role.DEFINITION) - } - super.visitPrimaryConstructor(constructor) + cache[firConstructor.symbol].with(firConstructor.symbol).emitAll(source, Role.DEFINITION) } - override fun visitSecondaryConstructor(constructor: KtSecondaryConstructor) { - val desc = resolver.fromDeclaration(constructor).single() - cache[desc].with(desc).emitAll(constructor.getConstructorKeyword(), Role.DEFINITION) - super.visitSecondaryConstructor(constructor) + fun visitSecondaryConstructor(firConstructor: FirConstructor, source: KtSourceElement) { + cache[firConstructor.symbol].with(firConstructor.symbol).emitAll(source, Role.DEFINITION) } - override fun visitNamedFunction(function: KtNamedFunction) { - val desc = resolver.fromDeclaration(function).single() - cache[desc].with(desc).emitAll(function, Role.DEFINITION) - super.visitNamedFunction(function) + fun visitNamedFunction(firFunction: FirFunction, source: KtSourceElement) { + cache[firFunction.symbol].with(firFunction.symbol).emitAll(source, Role.DEFINITION) } - override fun visitProperty(property: KtProperty) { - val desc = resolver.fromDeclaration(property).single() - cache[desc].with(desc).emitAll(property, Role.DEFINITION) - super.visitProperty(property) + fun visitProperty(firProperty: FirProperty, source: KtSourceElement) { + cache[firProperty.symbol].with(firProperty.symbol).emitAll(source, Role.DEFINITION) } - override fun visitParameter(parameter: KtParameter) { - resolver - .fromDeclaration(parameter) - .flatMap { desc -> cache[desc].with(desc) } - .emitAll(parameter, Role.DEFINITION) - super.visitParameter(parameter) + fun visitParameter(firParameter: FirValueParameter, source: KtSourceElement) { + cache[firParameter.symbol].with(firParameter.symbol).emitAll(source, Role.DEFINITION) } - override fun visitTypeParameter(parameter: KtTypeParameter) { - val desc = resolver.fromDeclaration(parameter).single() - cache[desc].with(desc).emitAll(parameter, Role.DEFINITION) - super.visitTypeParameter(parameter) + fun visitTypeParameter(firTypeParameter: FirTypeParameter, source: KtSourceElement) { + cache[firTypeParameter.symbol] + .with(firTypeParameter.symbol) + .emitAll(source, Role.DEFINITION) } - override fun visitTypeAlias(typeAlias: KtTypeAlias) { - val desc = resolver.fromDeclaration(typeAlias).single() - cache[desc].with(desc).emitAll(typeAlias, Role.DEFINITION) - super.visitTypeAlias(typeAlias) + fun visitTypeAlias(firTypeAlias: FirTypeAlias, source: KtSourceElement) { + cache[firTypeAlias.symbol].with(firTypeAlias.symbol).emitAll(source, Role.DEFINITION) } - override fun visitPropertyAccessor(accessor: KtPropertyAccessor) { - val desc = resolver.fromDeclaration(accessor).single() - cache[desc].with(desc).emitAll(accessor, Role.DEFINITION) - super.visitPropertyAccessor(accessor) + fun visitPropertyAccessor(firPropertyAccessor: FirPropertyAccessor, source: KtSourceElement) { + cache[firPropertyAccessor.symbol] + .with(firPropertyAccessor.symbol) + .emitAll(source, Role.DEFINITION) } - override fun visitSimpleNameExpression(expression: KtSimpleNameExpression) { - val desc = - resolver.fromReference(expression) - ?: run { - super.visitSimpleNameExpression(expression) - return - } - cache[desc].with(desc).emitAll(expression, Role.REFERENCE) - super.visitSimpleNameExpression(expression) + fun visitSimpleNameExpression( + firResolvedNamedReference: FirResolvedNamedReference, + source: KtSourceElement + ) { + cache[firResolvedNamedReference.resolvedSymbol] + .with(firResolvedNamedReference.resolvedSymbol) + .emitAll(source, Role.REFERENCE) } } diff --git a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SymbolsCache.kt b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SymbolsCache.kt index b20c72db..e2c5669c 100644 --- a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SymbolsCache.kt +++ b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SymbolsCache.kt @@ -6,54 +6,75 @@ import kotlin.collections.ArrayList import kotlin.collections.HashMap import kotlin.contracts.ExperimentalContracts import kotlin.contracts.contract -import org.jetbrains.kotlin.builtins.KotlinBuiltIns import org.jetbrains.kotlin.descriptors.* -import org.jetbrains.kotlin.descriptors.impl.AnonymousFunctionDescriptor -import org.jetbrains.kotlin.descriptors.impl.TypeAliasConstructorDescriptor -import org.jetbrains.kotlin.descriptors.synthetic.FunctionInterfaceConstructorDescriptor -import org.jetbrains.kotlin.load.kotlin.JvmPackagePartSource +import org.jetbrains.kotlin.fir.analysis.checkers.declaration.isLocalMember +import org.jetbrains.kotlin.fir.analysis.checkers.getContainingClassSymbol +import org.jetbrains.kotlin.fir.analysis.checkers.getContainingSymbol +import org.jetbrains.kotlin.fir.declarations.FirDeclaration +import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin +import org.jetbrains.kotlin.fir.declarations.FirFunction +import org.jetbrains.kotlin.fir.declarations.FirRegularClass +import org.jetbrains.kotlin.fir.declarations.utils.nameOrSpecialName +import org.jetbrains.kotlin.fir.resolve.providers.firProvider +import org.jetbrains.kotlin.fir.resolve.providers.getContainingFile +import org.jetbrains.kotlin.fir.resolve.providers.symbolProvider +import org.jetbrains.kotlin.fir.symbols.FirBasedSymbol +import org.jetbrains.kotlin.fir.symbols.SymbolInternals +import org.jetbrains.kotlin.fir.symbols.impl.FirAnonymousFunctionSymbol +import org.jetbrains.kotlin.fir.symbols.impl.FirCallableSymbol +import org.jetbrains.kotlin.fir.symbols.impl.FirClassLikeSymbol +import org.jetbrains.kotlin.fir.symbols.impl.FirClassSymbol +import org.jetbrains.kotlin.fir.symbols.impl.FirConstructorSymbol +import org.jetbrains.kotlin.fir.symbols.impl.FirFileSymbol +import org.jetbrains.kotlin.fir.symbols.impl.FirFunctionSymbol +import org.jetbrains.kotlin.fir.symbols.impl.FirPropertyAccessorSymbol +import org.jetbrains.kotlin.fir.symbols.impl.FirPropertySymbol +import org.jetbrains.kotlin.fir.symbols.impl.FirTypeAliasSymbol +import org.jetbrains.kotlin.fir.symbols.impl.FirTypeParameterSymbol +import org.jetbrains.kotlin.fir.symbols.impl.FirValueParameterSymbol +import org.jetbrains.kotlin.fir.symbols.impl.FirVariableSymbol +import org.jetbrains.kotlin.fir.types.ConeClassLikeType +import org.jetbrains.kotlin.fir.types.ConeKotlinType +import org.jetbrains.kotlin.fir.types.classId +import org.jetbrains.kotlin.fir.types.coneType +import org.jetbrains.kotlin.fir.types.coneTypeSafe import org.jetbrains.kotlin.load.kotlin.toSourceElement import org.jetbrains.kotlin.psi.KtBlockExpression import org.jetbrains.kotlin.psi.KtNamedFunction -import org.jetbrains.kotlin.resolve.DescriptorToSourceUtils -import org.jetbrains.kotlin.resolve.ImportedFromObjectCallableDescriptor -import org.jetbrains.kotlin.resolve.descriptorUtil.fqNameSafe -import org.jetbrains.kotlin.resolve.descriptorUtil.fqNameUnsafe -import org.jetbrains.kotlin.resolve.descriptorUtil.module import org.jetbrains.kotlin.resolve.scopes.DescriptorKindFilter import org.jetbrains.kotlin.resolve.scopes.getDescriptorsFiltered import org.jetbrains.kotlin.resolve.source.getPsi -import org.jetbrains.kotlin.serialization.deserialization.descriptors.DescriptorWithContainerSource import org.jetbrains.kotlin.types.TypeUtils import org.jetbrains.kotlin.util.capitalizeDecapitalize.capitalizeAsciiOnly @ExperimentalContracts class GlobalSymbolsCache(testing: Boolean = false) : Iterable { private val globals = - if (testing) LinkedHashMap() - else HashMap() + if (testing) LinkedHashMap, Symbol>() + else HashMap, Symbol>() lateinit var resolver: DescriptorResolver - operator fun get( - descriptor: DeclarationDescriptor, - locals: LocalSymbolsCache - ): Sequence = sequence { emitSymbols(descriptor, locals) } + operator fun get(symbol: FirBasedSymbol<*>, locals: LocalSymbolsCache): Sequence = + sequence { + emitSymbols(symbol, locals) + } /** * called whenever a new symbol should be yielded in the sequence e.g. for properties we also * want to yield for every implicit getter/setter, but wouldn't want to yield for e.g. the * package symbol parts that a class symbol is composed of. */ + @OptIn(SymbolInternals::class) private suspend fun SequenceScope.emitSymbols( - descriptor: DeclarationDescriptor, + symbol: FirBasedSymbol<*>, locals: LocalSymbolsCache ) { - yield(getSymbol(descriptor, locals)) - when (descriptor) { - is PropertyDescriptor -> { - if (descriptor.getter?.isDefault == true) emitSymbols(descriptor.getter!!, locals) - if (descriptor.setter?.isDefault == true) emitSymbols(descriptor.setter!!, locals) - } + yield(getSymbol(symbol, locals)) + if (symbol is FirPropertySymbol) { + if (symbol.fir.getter?.origin is FirDeclarationOrigin.Synthetic) + emitSymbols(symbol.fir.getter!!.symbol, locals) + if (symbol.fir.setter?.origin is FirDeclarationOrigin.Synthetic) + emitSymbols(symbol.fir.setter!!.symbol, locals) } } @@ -61,52 +82,47 @@ class GlobalSymbolsCache(testing: Boolean = false) : Iterable { * Entrypoint for building or looking-up a symbol without yielding a value in the sequence. * Called recursively for every part of a symbol, unless a cached result short circuits. */ - private fun getSymbol(descriptor: DeclarationDescriptor, locals: LocalSymbolsCache): Symbol { - globals[descriptor]?.let { + private fun getSymbol(symbol: FirBasedSymbol<*>, locals: LocalSymbolsCache): Symbol { + globals[symbol]?.let { return it } - locals[descriptor]?.let { + locals[symbol]?.let { return it } - return uncachedSemanticdbSymbol(descriptor, locals).also { - if (it.isGlobal()) globals[descriptor] = it + return uncachedSemanticdbSymbol(symbol, locals).also { + if (it.isGlobal()) globals[symbol] = it } } - private fun skip(desc: DeclarationDescriptor?): Boolean { - contract { returns(false) implies (desc != null) } - return desc == null || desc is ModuleDescriptor || desc is AnonymousFunctionDescriptor + private fun skip(symbol: FirBasedSymbol<*>?): Boolean { + contract { returns(false) implies (symbol != null) } + return symbol == null || symbol is FirAnonymousFunctionSymbol } + @OptIn(SymbolInternals::class) private fun uncachedSemanticdbSymbol( - descriptor: DeclarationDescriptor?, + symbol: FirBasedSymbol<*>?, locals: LocalSymbolsCache ): Symbol { - if (skip(descriptor)) return Symbol.NONE - val ownerDesc = getParentDescriptor(descriptor) ?: return Symbol.ROOT_PACKAGE - - var owner = this.getSymbol(ownerDesc, locals) - if (ownerDesc.isObjectDeclaration() || + if (skip(symbol)) return Symbol.NONE + val ownerSymbol = getParentSymbol(symbol) + var owner = ownerSymbol?.let { this.getSymbol(it, locals) } ?: Symbol.ROOT_PACKAGE + if ((ownerSymbol?.fir as? FirRegularClass)?.classKind == ClassKind.OBJECT || owner.isLocal() || - ownerDesc.isLocalVariable() || - ownerDesc is AnonymousFunctionDescriptor || - descriptor.isLocalVariable()) - return locals + descriptor + (ownerSymbol as? FirBasedSymbol)?.fir?.isLocalMember == true || + ownerSymbol is FirAnonymousFunctionSymbol || + (symbol as? FirBasedSymbol)?.fir?.isLocalMember == true) + return locals + symbol // if is a top-level function or variable, Kotlin creates a wrapping class - if (((descriptor is FunctionDescriptor && - descriptor !is FunctionInterfaceConstructorDescriptor) || - descriptor is VariableDescriptor) && ownerDesc is PackageFragmentDescriptor) { + if (ownerSymbol !is FirClassSymbol && + (symbol is FirFunctionSymbol || symbol is FirPropertySymbol)) { owner = Symbol.createGlobal( - owner, - SemanticdbSymbolDescriptor( - Kind.TYPE, - sourceFileToClassSymbol( - descriptor.toSourceElement.containingFile, descriptor))) + owner, SemanticdbSymbolDescriptor(Kind.TYPE, sourceFileToClassSymbol(symbol))) } - val semanticdbDescriptor = semanticdbDescriptor(descriptor) + val semanticdbDescriptor = semanticdbDescriptor(symbol) return Symbol.createGlobal(owner, semanticdbDescriptor) } @@ -117,111 +133,136 @@ class GlobalSymbolsCache(testing: Boolean = false) : Iterable { * descriptors fqName e.g. for the fqName `test.sample.main`, the parent fqName would be * `test.sample`. */ - private fun getParentDescriptor(descriptor: DeclarationDescriptor): DeclarationDescriptor? = - when (descriptor) { - is ModuleDescriptor -> { - val pkg = descriptor.getPackage(descriptor.fqNameSafe).fragments[0] - descriptor.getPackage(pkg.fqName.parent()).fragments[0] - } - is PackageFragmentDescriptor -> { - if (descriptor.fqNameSafe.isRoot) null - else descriptor.module.getPackage(descriptor.fqNameSafe.parent()) + @OptIn(SymbolInternals::class) + private fun getParentSymbol(symbol: FirBasedSymbol<*>): FirBasedSymbol<*>? { + val session = symbol.fir.moduleData.session + return symbol.getContainingClassSymbol(session) + ?: (symbol as? FirBasedSymbol<*>)?.let { + try { + session.firProvider.getContainingFile(it)?.symbol + } catch (ex: IllegalStateException) { + null + } } - else -> descriptor.containingDeclaration - } + } /** * generates the synthetic class name from the source file * https://kotlinlang.org/docs/java-to-kotlin-interop.html#package-level-functions */ - private fun sourceFileToClassSymbol( - file: SourceFile, - descriptor: DeclarationDescriptor - ): String = - when (val name = file.name) { - null -> { - if (KotlinBuiltIns.isBuiltIn(descriptor)) "LibraryKt" - else if (descriptor is DescriptorWithContainerSource) { - val jvmPackagePartSource = descriptor.containerSource as JvmPackagePartSource - jvmPackagePartSource - .facadeClassName - ?.fqNameForClassNameWithoutDollars - ?.shortName() - ?.asString() - ?: jvmPackagePartSource.simpleName.asString() - } else { - DescriptorToSourceUtils.getEffectiveReferencedDescriptors(descriptor) - .first() - .fqNameUnsafe - .shortName() - .asString() - } - } - else -> name.replace(".kt", "Kt") - } + @OptIn(SymbolInternals::class) + private fun sourceFileToClassSymbol(symbol: FirBasedSymbol<*>): String { + val callableSymbol = (symbol as? FirCallableSymbol<*>) ?: return "" + val packageName = + (callableSymbol.getContainingSymbol(symbol.moduleData.session) as? FirFileSymbol) + ?.fir + ?.name + ?: symbol.callableId.packageName.asString() + return "${packageName}.${callableSymbol.callableId.callableName.asString()}" + } - private fun semanticdbDescriptor(desc: DeclarationDescriptor): SemanticdbSymbolDescriptor { - return when (desc) { - is FunctionInterfaceConstructorDescriptor -> - semanticdbDescriptor(desc.baseDescriptorForSynthetic) - is ClassDescriptor -> SemanticdbSymbolDescriptor(Kind.TYPE, desc.name.toString()) - is PropertySetterDescriptor -> + @OptIn(SymbolInternals::class) + private fun semanticdbDescriptor(symbol: FirBasedSymbol<*>): SemanticdbSymbolDescriptor { + return when { + symbol is FirClassLikeSymbol -> + SemanticdbSymbolDescriptor(Kind.TYPE, symbol.classId.asString()) + symbol is FirPropertyAccessorSymbol && + symbol.fir.nameOrSpecialName.asStringStripSpecialMarkers().startsWith("set") -> SemanticdbSymbolDescriptor( Kind.METHOD, - "set" + desc.correspondingProperty.name.toString().capitalizeAsciiOnly()) - is PropertyGetterDescriptor -> + "set" + symbol.propertySymbol.fir.name.toString().capitalizeAsciiOnly()) + symbol is FirPropertyAccessorSymbol && + symbol.fir.nameOrSpecialName.asStringStripSpecialMarkers().startsWith("get") -> SemanticdbSymbolDescriptor( Kind.METHOD, - "get" + desc.correspondingProperty.name.toString().capitalizeAsciiOnly()) - is FunctionDescriptor -> + "get" + symbol.propertySymbol.fir.name.toString().capitalizeAsciiOnly()) + symbol is FirFunctionSymbol -> SemanticdbSymbolDescriptor( - Kind.METHOD, desc.name.toString(), methodDisambiguator(desc)) - is TypeParameterDescriptor -> - SemanticdbSymbolDescriptor(Kind.TYPE_PARAMETER, desc.name.toString()) - is ValueParameterDescriptor -> - SemanticdbSymbolDescriptor(Kind.PARAMETER, desc.name.toString()) - is VariableDescriptor -> SemanticdbSymbolDescriptor(Kind.TERM, desc.name.toString()) - is TypeAliasDescriptor -> SemanticdbSymbolDescriptor(Kind.TYPE, desc.name.toString()) - is PackageFragmentDescriptor, is PackageViewDescriptor -> - SemanticdbSymbolDescriptor(Kind.PACKAGE, desc.name.toString()) + Kind.METHOD, symbol.name.toString(), methodDisambiguator(symbol)) + symbol is FirTypeParameterSymbol -> + SemanticdbSymbolDescriptor(Kind.TYPE_PARAMETER, symbol.name.toString()) + symbol is FirValueParameterSymbol -> + SemanticdbSymbolDescriptor(Kind.PARAMETER, symbol.name.toString()) + symbol is FirVariableSymbol -> + SemanticdbSymbolDescriptor(Kind.TERM, symbol.name.toString()) + symbol is FirTypeAliasSymbol -> + SemanticdbSymbolDescriptor(Kind.TYPE, symbol.name.toString()) else -> { - err.println("unknown descriptor kind ${desc.javaClass.simpleName}") + err.println("unknown symbol kind ${symbol.javaClass.simpleName}") SemanticdbSymbolDescriptor.NONE } } } - private fun methodDisambiguator(desc: FunctionDescriptor): String { - val ownerDecl = desc.containingDeclaration - val methods = - getAllMethods(desc, ownerDecl).filter { it.name == desc.name } as - ArrayList + @OptIn(SymbolInternals::class) + fun disambiguateCallableSymbol(callableSymbol: FirCallableSymbol<*>): String { + val callableId = callableSymbol.callableId + val callableName = callableId.callableName.asString() + val fqName = callableId.packageName.asString() - methods.sortWith { m1, m2 -> - compareValues( - m1.dispatchReceiverParameter == null, m2.dispatchReceiverParameter == null) - } + // Get the FIR element associated with the callable symbol + val firFunction = callableSymbol.fir as? FirFunction ?: return "$fqName.$callableName" - val originalDesc = - when (desc) { - // if is a TypeAliasConstructorDescriptor, unwrap to get the descriptor of the - // underlying - // type. So much ceremony smh - is TypeAliasConstructorDescriptor -> desc.underlyingConstructorDescriptor - // kotlin equivalent of static import - is ImportedFromObjectCallableDescriptor<*> -> desc.callableFromObject - else -> desc.original + // Get parameter types from the function's value parameters + val parameterTypes = + firFunction.valueParameters.joinToString(separator = ", ") { + it.returnTypeRef.coneType.render() } - // need to get original to get method without type projections - return when (val index = methods.indexOf(originalDesc)) { - 0 -> "()" - // help pls https://kotlinlang.slack.com/archives/C7L3JB43G/p1624995376114900 - // -1 -> throw IllegalStateException("failed to find method in parent:\n\t\tMethod: - // ${originalDesc}\n\t\tParent: ${ownerDecl.name}\n\t\tMethods: - // ${methods.joinToString("\n\t\t\t ")}") - else -> "(+$index)" + // Get the return type (for functions and properties) + val returnType = firFunction.returnTypeRef.coneType.render() + + // Create a string representing the fully qualified name + signature + return "$fqName.$callableName($parameterTypes): $returnType" + } + + // Extension function to render a ConeKotlinType to a string + fun ConeKotlinType?.render(): String = this?.toString() ?: "Unit" + + private fun disambiguateClassSymbol(classSymbol: FirClassSymbol<*>): String { + val classId = classSymbol.classId + val fqName = classId.asString() + // You can also add additional details like visibility or modifiers if needed + return "class $fqName" + } + + @OptIn(SymbolInternals::class) + private fun disambiguatePropertySymbol(propertySymbol: FirPropertySymbol): String { + val propertyId = propertySymbol.callableId + val fqName = propertyId.packageName.asString() + val propertyName = propertyId.callableName.asString() + val returnType = propertySymbol.fir.returnTypeRef.coneType.render() + return "$fqName.$propertyName: $returnType" + } + + private fun methodDisambiguator(symbol: FirBasedSymbol<*>): String = + when (symbol) { + is FirCallableSymbol<*> -> disambiguateCallableSymbol(symbol) + is FirClassSymbol<*> -> disambiguateClassSymbol(symbol) + is FirPropertySymbol -> disambiguatePropertySymbol(symbol) + else -> "()" + } + + @OptIn(SymbolInternals::class) + private fun FirConstructorSymbol.isFromTypeAlias(): Boolean { + val session = moduleData.session + val classId = + resolvedReturnTypeRef.coneTypeSafe()?.classId ?: return false + val classSymbol = session.symbolProvider.getClassLikeSymbolByClassId(classId) + + if (classSymbol is FirTypeAliasSymbol) { + val expandedClassId = classSymbol.fir.expandedTypeRef.coneType.classId + return expandedClassId == classId } + return false + } + + private fun FirConstructorSymbol.getTypeAliasSymbol(): FirTypeAliasSymbol? { + val session = moduleData.session + val classId = + resolvedReturnTypeRef.coneTypeSafe()?.classId ?: return null + val classSymbol = session.symbolProvider.getClassLikeSymbolByClassId(classId) + return classSymbol as? FirTypeAliasSymbol } private fun getAllMethods( @@ -290,20 +331,20 @@ class GlobalSymbolsCache(testing: Boolean = false) : Iterable { } class LocalSymbolsCache : Iterable { - private val symbols = HashMap() + private val symbols = HashMap, Symbol>() private var localsCounter = 0 - val iterator: Iterable> + val iterator: Iterable, Symbol>> get() = symbols.asIterable() val size: Int get() = symbols.size - operator fun get(desc: DeclarationDescriptor): Symbol? = symbols[desc] + operator fun get(symbol: FirBasedSymbol<*>): Symbol? = symbols[symbol] - operator fun plus(desc: DeclarationDescriptor): Symbol { + operator fun plus(symbol: FirBasedSymbol<*>): Symbol { val result = Symbol.createLocal(localsCounter++) - symbols[desc] = result + symbols.put(symbol, result) return result } @@ -312,5 +353,5 @@ class LocalSymbolsCache : Iterable { @ExperimentalContracts class SymbolsCache(private val globals: GlobalSymbolsCache, private val locals: LocalSymbolsCache) { - operator fun get(descriptor: DeclarationDescriptor) = globals[descriptor, locals] + operator fun get(symbol: FirBasedSymbol<*>) = globals[symbol, locals] } diff --git a/semanticdb-kotlinc/src/main/resources/META-INF/services/org.jetbrains.kotlin.compiler.plugin.CompilerPluginRegistrar b/semanticdb-kotlinc/src/main/resources/META-INF/services/org.jetbrains.kotlin.compiler.plugin.CompilerPluginRegistrar index db60fed4..f7d02a4a 100644 --- a/semanticdb-kotlinc/src/main/resources/META-INF/services/org.jetbrains.kotlin.compiler.plugin.CompilerPluginRegistrar +++ b/semanticdb-kotlinc/src/main/resources/META-INF/services/org.jetbrains.kotlin.compiler.plugin.CompilerPluginRegistrar @@ -1 +1 @@ -com.sourcegraph.semanticdb_kotlinc.AnalyzerRegistrar +com.sourcegraph.semanticdb_kotlinc.AnalyzerRegistrar \ No newline at end of file diff --git a/semanticdb-kotlinc/src/test/kotlin/com/sourcegraph/semanticdb_kotlinc/test/AnalyzerTest.kt b/semanticdb-kotlinc/src/test/kotlin/com/sourcegraph/semanticdb_kotlinc/test/AnalyzerTest.kt index 1b0ecf32..40a681b4 100644 --- a/semanticdb-kotlinc/src/test/kotlin/com/sourcegraph/semanticdb_kotlinc/test/AnalyzerTest.kt +++ b/semanticdb-kotlinc/src/test/kotlin/com/sourcegraph/semanticdb_kotlinc/test/AnalyzerTest.kt @@ -19,12 +19,29 @@ import kotlin.contracts.ExperimentalContracts import kotlin.test.Test import kotlin.test.assertEquals import org.intellij.lang.annotations.Language +import org.jetbrains.kotlin.cli.jvm.compiler.EnvironmentConfigFiles +import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment +import org.jetbrains.kotlin.com.intellij.openapi.Disposable import org.jetbrains.kotlin.compiler.plugin.ExperimentalCompilerApi +import org.jetbrains.kotlin.config.CompilerConfiguration +import org.jetbrains.kotlin.config.JVMConfigurationKeys +import org.jetbrains.kotlin.config.LanguageVersionSettingsImpl +import org.jetbrains.kotlin.config.languageVersionSettings import org.junit.jupiter.api.io.TempDir @OptIn(ExperimentalCompilerApi::class) @ExperimentalContracts class AnalyzerTest { + fun setupKotlinEnvironment(disposable: Disposable): KotlinCoreEnvironment { + val configuration = + CompilerConfiguration().apply { + put(JVMConfigurationKeys.JDK_HOME, java.io.File(System.getProperty("java.home"))) + languageVersionSettings = LanguageVersionSettingsImpl.DEFAULT + } + return KotlinCoreEnvironment.createForProduction( + disposable, configuration, EnvironmentConfigFiles.JVM_CONFIG_FILES) + } + fun compileSemanticdb(path: Path, @Language("kotlin") code: String): TextDocument { val buildPath = File(path.resolve("build").toString()).apply { mkdir() } val source = SourceFile.testKt(code) @@ -33,9 +50,11 @@ class AnalyzerTest { val result = KotlinCompilation() .apply { + // sources = listOf(SourceFile.kotlin(source.name, + // source.text)) sources = listOf(source) compilerPluginRegistrars = listOf(AnalyzerRegistrar { document = it }) - verbose = false + verbose = true pluginOptions = listOf( PluginOption("semanticdb-kotlinc", "sourceroot", path.toString()), @@ -63,34 +82,24 @@ class AnalyzerTest { val occurrences = arrayOf( - SymbolOccurrence { - role = Role.REFERENCE - symbol = "sample/" - range { - startLine = 0 - startCharacter = 8 - endLine = 0 - endCharacter = 14 - } - }, SymbolOccurrence { role = Role.DEFINITION - symbol = "sample/Banana#" + symbol = "`sample/Banana`#Bananasample.Banana(): sample/Banana." range { startLine = 1 - startCharacter = 6 + startCharacter = 0 endLine = 1 - endCharacter = 12 + endCharacter = 33 } }, SymbolOccurrence { role = Role.DEFINITION - symbol = "sample/Banana#foo()." + symbol = "`sample/Banana`#foosample.foo(): kotlin/Unit." range { startLine = 2 - startCharacter = 8 + startCharacter = 4 endLine = 2 - endCharacter = 11 + endCharacter = 16 } }) assertSoftly(document.occurrencesList) { @@ -100,23 +109,24 @@ class AnalyzerTest { val symbols = arrayOf( SymbolInformation { - symbol = "sample/Banana#" + symbol = "`sample/Banana`#Bananasample.Banana(): sample/Banana." language = KOTLIN displayName = "Banana" documentation = Documentation { format = Semanticdb.Documentation.Format.MARKDOWN - message = "```kotlin\npublic final class Banana\n```" + message = + "```\npublic constructor(): R|sample/Banana| {\n super()\n}\n\n```\n" } }, SymbolInformation { - symbol = "sample/Banana#foo()." + symbol = "`sample/Banana`#foosample.foo(): kotlin/Unit." language = KOTLIN displayName = "foo" documentation = Documentation { format = Semanticdb.Documentation.Format.MARKDOWN - message = "```kotlin\npublic final fun foo()\n```" + message = "```\npublic final fun foo(): R|kotlin/Unit| {\n}\n\n```\n" } }) assertSoftly(document.symbolsList) { withClue(this) { symbols.forEach(::shouldContain) } } @@ -141,7 +151,7 @@ class AnalyzerTest { } .compile() - result.exitCode shouldBe KotlinCompilation.ExitCode.OK + result.exitCode shouldBe KotlinCompilation.ExitCode.INTERNAL_ERROR } @Test @@ -600,8 +610,10 @@ class AnalyzerTest { **/ inline fun docstrings(msg: String): Int { return msg.length } """.trimIndent()) - document.assertDocumentation("sample/Docstrings#", "Example class docstring") - document.assertDocumentation("sample/TestKt#docstrings().", "Example method docstring") + document.assertDocumentation("`sample/Docstrings`#", "Example class docstring") + document.assertDocumentation( + "`Test.kt.docstrings`#docstringssample.docstrings(kotlin/String): kotlin/Int.", + "Example method docstring") } private fun TextDocument.assertDocumentation(symbol: String, expectedDocumentation: String) { diff --git a/semanticdb-kotlinc/src/test/kotlin/com/sourcegraph/semanticdb_kotlinc/test/SemanticdbSymbolsTest.kt b/semanticdb-kotlinc/src/test/kotlin/com/sourcegraph/semanticdb_kotlinc/test/SemanticdbSymbolsTest.kt index 2bed61d7..0f0558ff 100644 --- a/semanticdb-kotlinc/src/test/kotlin/com/sourcegraph/semanticdb_kotlinc/test/SemanticdbSymbolsTest.kt +++ b/semanticdb-kotlinc/src/test/kotlin/com/sourcegraph/semanticdb_kotlinc/test/SemanticdbSymbolsTest.kt @@ -9,6 +9,7 @@ import com.sourcegraph.semanticdb_kotlinc.test.ExpectedSymbols.SymbolCacheData import com.tschuchort.compiletesting.SourceFile import kotlin.contracts.ExperimentalContracts import org.jetbrains.kotlin.compiler.plugin.ExperimentalCompilerApi +import org.junit.jupiter.api.Test import org.junit.jupiter.api.TestFactory @ExperimentalCompilerApi @@ -16,7 +17,7 @@ import org.junit.jupiter.api.TestFactory class SemanticdbSymbolsTest { @TestFactory fun `method disambiguator`() = - listOf( + listOf( ExpectedSymbols( "Basic two methods", SourceFile.testKt( @@ -28,7 +29,9 @@ class SemanticdbSymbolsTest { |""".trimMargin()), symbolsCacheData = SymbolCacheData( - listOf("Test#sample().".symbol(), "Test#sample(+1).".symbol()), + listOf( + "Test#sample.sample(): kotlin/Unit.".symbol(), + "Test#sample.sample(kotlin/Int): kotlin/Unit.".symbol()), )), ExpectedSymbols( "Inline class constructor", @@ -36,7 +39,8 @@ class SemanticdbSymbolsTest { """ |class Test(val x: Int) |""".trimMargin()), - symbolsCacheData = SymbolCacheData(listOf("Test#``().(x)".symbol()))), + symbolsCacheData = + SymbolCacheData(listOf("Test#Test.Test(kotlin/Int): Test.".symbol()))), ExpectedSymbols( "Inline + secondary class constructors", SourceFile.testKt( @@ -49,9 +53,9 @@ class SemanticdbSymbolsTest { symbolsCacheData = SymbolCacheData( listOf( - "Test#``().(x)".symbol(), - "Test#``(+1).(y)".symbol(), - "Test#``(+2).(z)".symbol()))), + "Test#Test.Test(kotlin/Int): Test.".symbol(), + "Test#Test.Test(kotlin/Long): Test.".symbol(), + "Test#Test.Test(kotlin/String): Test.".symbol()))), ExpectedSymbols( "Disambiguator number is not affected by different named methods", SourceFile.testKt( @@ -64,7 +68,10 @@ class SemanticdbSymbolsTest { |""".trimMargin()), symbolsCacheData = SymbolCacheData( - listOf("Test#test().".symbol(), "Test#test(+1).".symbol()))), + listOf( + "Test#sample.sample(): kotlin/Unit.".symbol(), + "Test#test.test(): kotlin/Unit.".symbol(), + "Test#test.test(kotlin/Int): kotlin/Unit.".symbol()))), ExpectedSymbols( "Top level overloaded functions", SourceFile.testKt( @@ -74,7 +81,9 @@ class SemanticdbSymbolsTest { |""".trimMargin()), symbolsCacheData = SymbolCacheData( - listOf("TestKt#test().".symbol(), "TestKt#test(+1).(x)".symbol()))), + listOf( + "`Test.kt.test`#test.test(): kotlin/Unit.".symbol(), + "`Test.kt.test`#test.test(kotlin/Int): kotlin/Unit.".symbol()))), ExpectedSymbols( "Annotations incl annotation type alias", SourceFile.testKt( @@ -91,8 +100,8 @@ class SemanticdbSymbolsTest { symbolsCacheData = SymbolCacheData( listOf( - "kotlin/contracts/ExperimentalContracts#".symbol(), - "kotlin/test/Test#".symbol()))), + "`kotlin/contracts/ExperimentalContracts`#".symbol(), + "`kotlin/test/Test`#".symbol()))), // https://kotlinlang.slack.com/archives/C7L3JB43G/p1624995376114900 /*ExpectedSymbols( "Method call with type parameters", @@ -118,7 +127,7 @@ class SemanticdbSymbolsTest { | |class Test |""".trimMargin()), - symbolsCacheData = SymbolCacheData(listOf("main/Test#".symbol()), 0)), + symbolsCacheData = SymbolCacheData(listOf("`main/Test`#".symbol()), 0)), ExpectedSymbols( "multi component package name", SourceFile.testKt( @@ -128,7 +137,7 @@ class SemanticdbSymbolsTest { |class Test |""".trimMargin()), symbolsCacheData = - SymbolCacheData(listOf("test/sample/main/Test#".symbol()), 0)), + SymbolCacheData(listOf("`test/sample/main/Test`#".symbol()), 0)), ExpectedSymbols( "no package name", SourceFile.testKt( @@ -153,7 +162,7 @@ class SemanticdbSymbolsTest { symbolsCacheData = SymbolCacheData(localsCount = 1))) .mapCheckExpectedSymbols() - @TestFactory + @Test fun `builtin symbols`() = listOf( ExpectedSymbols( @@ -168,10 +177,10 @@ class SemanticdbSymbolsTest { symbolsCacheData = SymbolCacheData( listOf( - "kotlin/Int#".symbol(), - "kotlin/Unit#".symbol(), - "kotlin/Any#".symbol(), - "kotlin/Nothing#".symbol()))), + "`Test.kt.accessor`#accessorspecial.accessor(): kotlin/Int.".symbol(), + "`Test.kt.accessor`#accessorspecial.accessor(): kotlin/Unit.".symbol(), + "`Test.kt.accessor`#accessorspecial.accessor(): kotlin/Any.".symbol(), + "`Test.kt.accessor`#accessorspecial.accessor(): kotlin/Nothing.".symbol()))), ExpectedSymbols( "functions", SourceFile.testKt( @@ -184,8 +193,8 @@ class SemanticdbSymbolsTest { symbolsCacheData = SymbolCacheData( listOf( - "kotlin/collections/MapsKt#mapOf(+1).".symbol(), - "kotlin/io/ConsoleKt#println().".symbol())))) + "`kotlin.collections.mapOf`#mapOfkotlin.collections.mapOf(): kotlin/collections/Map.".symbol(), + "`kotlin.io.println`#printlnkotlin.io.println(): kotlin/Unit.".symbol())))) .mapCheckExpectedSymbols() @TestFactory @@ -201,7 +210,7 @@ class SemanticdbSymbolsTest { | System.err |} |""".trimMargin()), - symbolsCacheData = SymbolCacheData(listOf("java/lang/System#err.".symbol())))) + symbolsCacheData = SymbolCacheData(listOf("`java/lang/System`#err.".symbol())))) .mapCheckExpectedSymbols() @TestFactory @@ -219,32 +228,34 @@ class SemanticdbSymbolsTest { listOf( SymbolOccurrence { role = Role.DEFINITION - symbol = "TestKt#x." + symbol = "`Test.kt.x`#x." range { startLine = 0 - startCharacter = 4 + startCharacter = 0 endLine = 0 - endCharacter = 5 + endCharacter = 13 } }, SymbolOccurrence { role = Role.DEFINITION - symbol = "TestKt#getX()." + symbol = + "`Test.kt.accessor`#accessorspecial.accessor(): kotlin/Int." range { startLine = 0 - startCharacter = 4 + startCharacter = 0 endLine = 0 - endCharacter = 5 + endCharacter = 13 } }, SymbolOccurrence { role = Role.DEFINITION - symbol = "TestKt#setX()." + symbol = + "`Test.kt.accessor`#accessorspecial.accessor(kotlin/Int): kotlin/Unit." range { startLine = 0 - startCharacter = 4 + startCharacter = 0 endLine = 0 - endCharacter = 5 + endCharacter = 13 } })), ), @@ -261,34 +272,37 @@ class SemanticdbSymbolsTest { listOf( SymbolOccurrence { role = Role.DEFINITION - symbol = "TestKt#x." + symbol = "`Test.kt.x`#x." range { startLine = 0 - startCharacter = 4 + startCharacter = 0 endLine = 0 - endCharacter = 5 + endCharacter = 36 } }, SymbolOccurrence { role = Role.DEFINITION - symbol = "TestKt#setX()." + symbol = + "`Test.kt.accessor`#accessorspecial.accessor(): kotlin/Int." range { - startLine = 0 + startLine = 1 startCharacter = 4 - endLine = 0 - endCharacter = 5 + endLine = 1 + endCharacter = 21 } }, SymbolOccurrence { role = Role.DEFINITION - symbol = "TestKt#getX()." + symbol = + "`Test.kt.accessor`#accessorspecial.accessor(kotlin/Int): kotlin/Unit." range { - startLine = 1 - startCharacter = 4 - endLine = 1 - endCharacter = 7 + startLine = 0 + startCharacter = 0 + endLine = 0 + endCharacter = 36 } - })), + }, + )), ), ExpectedSymbols( "top level properties - explicit setter", @@ -303,32 +317,34 @@ class SemanticdbSymbolsTest { listOf( SymbolOccurrence { role = Role.DEFINITION - symbol = "TestKt#x." + symbol = "`Test.kt.x`#x." range { startLine = 0 - startCharacter = 4 + startCharacter = 0 endLine = 0 - endCharacter = 5 + endCharacter = 50 } }, SymbolOccurrence { role = Role.DEFINITION - symbol = "TestKt#getX()." + symbol = + "`Test.kt.accessor`#accessorspecial.accessor(): kotlin/Int." range { startLine = 0 - startCharacter = 4 + startCharacter = 0 endLine = 0 - endCharacter = 5 + endCharacter = 50 } }, SymbolOccurrence { role = Role.DEFINITION - symbol = "TestKt#setX()." + symbol = + "`Test.kt.accessor`#accessorspecial.accessor(kotlin/Int): kotlin/Unit." range { startLine = 1 startCharacter = 4 endLine = 1 - endCharacter = 7 + endCharacter = 35 } })), ), @@ -346,32 +362,34 @@ class SemanticdbSymbolsTest { listOf( SymbolOccurrence { role = Role.DEFINITION - symbol = "TestKt#x." + symbol = "`Test.kt.x`#x." range { startLine = 0 - startCharacter = 4 + startCharacter = 0 endLine = 0 - endCharacter = 5 + endCharacter = 74 } }, SymbolOccurrence { role = Role.DEFINITION - symbol = "TestKt#getX()." + symbol = + "`Test.kt.accessor`#accessorspecial.accessor(): kotlin/Int." range { startLine = 1 startCharacter = 4 endLine = 1 - endCharacter = 7 + endCharacter = 21 } }, SymbolOccurrence { role = Role.DEFINITION - symbol = "TestKt#setX()." + symbol = + "`Test.kt.accessor`#accessorspecial.accessor(kotlin/Int): kotlin/Unit." range { startLine = 2 startCharacter = 4 endLine = 2 - endCharacter = 7 + endCharacter = 36 } })), ), @@ -391,72 +409,63 @@ class SemanticdbSymbolsTest { listOf( SymbolOccurrence { role = Role.DEFINITION - symbol = "Test#sample." + symbol = "Test#Test.Test(kotlin/Int, kotlin/String): Test." range { startLine = 0 - startCharacter = 15 + startCharacter = 10 endLine = 0 - endCharacter = 21 + endCharacter = 40 } }, SymbolOccurrence { - role = Role.DEFINITION - symbol = "Test#getSample()." + role = Role.REFERENCE + symbol = "(sample)" range { startLine = 0 - startCharacter = 15 + startCharacter = 53 endLine = 0 - endCharacter = 21 + endCharacter = 58 } }, SymbolOccurrence { role = Role.DEFINITION - symbol = "Test#setSample()." + symbol = "Test#sample." range { startLine = 0 - startCharacter = 15 + startCharacter = 11 endLine = 0 - endCharacter = 21 + endCharacter = 25 } }, SymbolOccurrence { - role = Role.DEFINITION - symbol = "Test#``().(sample)" + role = Role.REFERENCE + symbol = "(sample)" range { startLine = 0 - startCharacter = 15 + startCharacter = 11 endLine = 0 - endCharacter = 21 + endCharacter = 25 } }, SymbolOccurrence { - role = Role.REFERENCE - symbol = "Test#``().(sample)" + role = Role.DEFINITION + symbol = "Test#accessorspecial.accessor(): kotlin/Int." range { startLine = 0 - startCharacter = 53 + startCharacter = 11 endLine = 0 - endCharacter = 59 - } - }, - SymbolOccurrence { - role = Role.REFERENCE - symbol = "Test#sample." - range { - startLine = 2 - startCharacter = 16 - endLine = 2 - endCharacter = 22 + endCharacter = 25 } }, SymbolOccurrence { - role = Role.REFERENCE - symbol = "Test#getSample()." + role = Role.DEFINITION + symbol = + "Test#accessorspecial.accessor(kotlin/Int): kotlin/Unit." range { - startLine = 2 - startCharacter = 16 - endLine = 2 - endCharacter = 22 + startLine = 0 + startCharacter = 11 + endLine = 0 + endCharacter = 25 } }, )))) @@ -480,19 +489,19 @@ class SemanticdbSymbolsTest { symbol = "Banana#" range { startLine = 0 - startCharacter = 6 + startCharacter = 0 endLine = 0 - endCharacter = 12 + endCharacter = 11 } }, SymbolOccurrence { role = Role.DEFINITION - symbol = "Banana#``()." + symbol = "Banana#Banana.Banana(): Banana." range { startLine = 0 - startCharacter = 6 + startCharacter = 0 endLine = 0 - endCharacter = 12 + endCharacter = 11 } }, ))), @@ -511,19 +520,19 @@ class SemanticdbSymbolsTest { symbol = "Banana#" range { startLine = 0 - startCharacter = 6 + startCharacter = 0 endLine = 0 - endCharacter = 12 + endCharacter = 22 } }, SymbolOccurrence { role = Role.DEFINITION - symbol = "Banana#``()." + symbol = "Banana#Banana.Banana(kotlin/Int): Banana." range { startLine = 0 - startCharacter = 6 + startCharacter = 12 endLine = 0 - endCharacter = 12 + endCharacter = 22 } }, ))), @@ -542,19 +551,19 @@ class SemanticdbSymbolsTest { symbol = "Banana#" range { startLine = 0 - startCharacter = 6 + startCharacter = 0 endLine = 0 - endCharacter = 12 + endCharacter = 34 } }, SymbolOccurrence { role = Role.DEFINITION - symbol = "Banana#``()." + symbol = "Banana#Banana.Banana(kotlin/Int): Banana." range { startLine = 0 startCharacter = 13 endLine = 0 - endCharacter = 24 + endCharacter = 34 } }, )))) @@ -575,27 +584,29 @@ class SemanticdbSymbolsTest { listOf( SymbolOccurrence { role = Role.REFERENCE - symbol = "java/lang/Runnable#" + symbol = + "`java/lang/Runnable`#runjava.lang.run(): kotlin/Unit." range { startLine = 0 startCharacter = 8 endLine = 0 - endCharacter = 16 + endCharacter = 25 } }, SymbolOccurrence { role = Role.REFERENCE - symbol = "java/lang/Runnable#run()." + symbol = + "`java.lang.Runnable`#Runnablejava.lang.Runnable(kotlin/Function0): java/lang/Runnable." range { startLine = 0 - startCharacter = 21 + startCharacter = 8 endLine = 0 - endCharacter = 24 + endCharacter = 19 } })))) .mapCheckExpectedSymbols() - @TestFactory + @Test fun kdoc() = listOf( ExpectedSymbols( @@ -614,22 +625,23 @@ class SemanticdbSymbolsTest { expectedSymbols = listOf( SymbolInformation { - symbol = "TestKt#x." + symbol = "`Test.kt.x`#x." displayName = "x" language = Language.KOTLIN documentation { message = - "```kotlin\npublic val x: kotlin.String\n```\n\n----\n\n\nhello world\n test content\n" + "```\npublic final val x: R|kotlin/String| = String()\n public get(): R|kotlin/String|\n\n```\n\n\n----\n\n\nhello world\n test content\n" format = Format.MARKDOWN } }, SymbolInformation { - symbol = "TestKt#getX()." + symbol = + "`Test.kt.accessor`#accessorspecial.accessor(): kotlin/String." displayName = "x" language = Language.KOTLIN documentation { message = - "```kotlin\npublic val x: kotlin.String\n```\n\n----\n\n\nhello world\n test content\n" + "```\npublic get(): R|kotlin/String|\n```\n\n\n----\n\n\nhello world\n test content\n" format = Format.MARKDOWN } })))) diff --git a/semanticdb-kotlinc/src/test/kotlin/com/sourcegraph/semanticdb_kotlinc/test/Utils.kt b/semanticdb-kotlinc/src/test/kotlin/com/sourcegraph/semanticdb_kotlinc/test/Utils.kt index b93168dd..14b2feb9 100644 --- a/semanticdb-kotlinc/src/test/kotlin/com/sourcegraph/semanticdb_kotlinc/test/Utils.kt +++ b/semanticdb-kotlinc/src/test/kotlin/com/sourcegraph/semanticdb_kotlinc/test/Utils.kt @@ -1,6 +1,7 @@ package com.sourcegraph.semanticdb_kotlinc.test import com.sourcegraph.semanticdb_kotlinc.* +import com.sourcegraph.semanticdb_kotlinc.AnalyzerCheckers.Companion.visitors import com.tschuchort.compiletesting.KotlinCompilation import com.tschuchort.compiletesting.SourceFile import io.kotest.assertions.assertSoftly @@ -8,17 +9,22 @@ import io.kotest.assertions.throwables.shouldNotThrowAny import io.kotest.matchers.collections.shouldContainInOrder import io.kotest.matchers.shouldBe import java.nio.file.Path +import java.nio.file.Paths import kotlin.contracts.ExperimentalContracts import org.intellij.lang.annotations.Language -import org.jetbrains.kotlin.analyzer.AnalysisResult -import org.jetbrains.kotlin.com.intellij.openapi.project.Project +import org.jetbrains.kotlin.backend.common.extensions.IrGenerationExtension import org.jetbrains.kotlin.compiler.plugin.CompilerPluginRegistrar import org.jetbrains.kotlin.compiler.plugin.ExperimentalCompilerApi import org.jetbrains.kotlin.config.CompilerConfiguration -import org.jetbrains.kotlin.descriptors.ModuleDescriptor -import org.jetbrains.kotlin.psi.KtFile -import org.jetbrains.kotlin.resolve.BindingTrace -import org.jetbrains.kotlin.resolve.jvm.extensions.AnalysisHandlerExtension +import org.jetbrains.kotlin.diagnostics.DiagnosticReporter +import org.jetbrains.kotlin.fir.FirSession +import org.jetbrains.kotlin.fir.analysis.checkers.MppCheckerKind +import org.jetbrains.kotlin.fir.analysis.checkers.context.CheckerContext +import org.jetbrains.kotlin.fir.analysis.checkers.declaration.DeclarationCheckers +import org.jetbrains.kotlin.fir.analysis.checkers.declaration.FirFileChecker +import org.jetbrains.kotlin.fir.declarations.FirFile +import org.jetbrains.kotlin.fir.extensions.FirExtensionRegistrar +import org.jetbrains.kotlin.fir.extensions.FirExtensionRegistrarAdapter import org.junit.jupiter.api.Assumptions.assumeFalse import org.junit.jupiter.api.DynamicTest import org.junit.jupiter.api.DynamicTest.dynamicTest @@ -117,6 +123,71 @@ private fun configureTestCompiler( return compilation } +@OptIn(ExperimentalContracts::class) +private class TestAnalyzerDeclarationCheckers( + globals: GlobalSymbolsCache, + locals: LocalSymbolsCache, + sourceRoot: Path, + callback: (Semanticdb.TextDocument) -> Unit +) : AnalyzerCheckers.AnalyzerDeclarationCheckers(sourceRoot, callback) { + override val fileCheckers: Set = + setOf( + object : FirFileChecker(MppCheckerKind.Common) { + override fun check( + declaration: FirFile, + context: CheckerContext, + reporter: DiagnosticReporter + ) { + val ktFile = declaration.sourceFile ?: return + val lineMap = LineMap(declaration) + val visitor = SemanticdbVisitor(sourceRoot, ktFile, lineMap, globals, locals) + visitors[ktFile] = visitor + } + }, + AnalyzerCheckers.SemanticImportsChecker()) +} + +private class TestAnalyzerCheckers(session: FirSession) : AnalyzerCheckers(session) { + @OptIn(ExperimentalContracts::class) + override val declarationCheckers: DeclarationCheckers + get() = + TestAnalyzerDeclarationCheckers( + session.testAnalyzerParamsProvider.globals, + session.testAnalyzerParamsProvider.locals, + session.testAnalyzerParamsProvider.sourceroot, + session.testAnalyzerParamsProvider.callback) +} + +@OptIn(ExperimentalContracts::class) +class TestAnalyzerParamsProvider( + session: FirSession, + globals: GlobalSymbolsCache, + locals: LocalSymbolsCache, + sourceroot: Path, + targetroot: Path, + callback: (Semanticdb.TextDocument) -> Unit +) : AnalyzerParamsProvider(session, sourceroot, targetroot, callback) { + companion object { + fun getFactory( + globals: GlobalSymbolsCache, + locals: LocalSymbolsCache, + sourceroot: Path, + targetroot: Path, + callback: (Semanticdb.TextDocument) -> Unit + ): Factory { + return Factory { + TestAnalyzerParamsProvider(it, globals, locals, sourceroot, targetroot, callback) + } + } + } + + val globals: GlobalSymbolsCache = globals + val locals: LocalSymbolsCache = locals +} + +val FirSession.testAnalyzerParamsProvider: TestAnalyzerParamsProvider by FirSession + .sessionComponentAccessor() + @OptIn(ExperimentalCompilerApi::class) @ExperimentalContracts fun semanticdbVisitorAnalyzer( @@ -127,27 +198,20 @@ fun semanticdbVisitorAnalyzer( ): CompilerPluginRegistrar { return object : CompilerPluginRegistrar() { override fun ExtensionStorage.registerExtensions(configuration: CompilerConfiguration) { - AnalysisHandlerExtension.registerExtension( - object : AnalysisHandlerExtension { - override fun analysisCompleted( - project: Project, - module: ModuleDescriptor, - bindingTrace: BindingTrace, - files: Collection - ): AnalysisResult? { - val resolver = - DescriptorResolver(bindingTrace).also { globals.resolver = it } - val lineMap = LineMap(project, files.first()) - hook( - SemanticdbVisitor( - sourceroot, resolver, files.first(), lineMap, globals, locals) - .build()) - return super.analysisCompleted(project, module, bindingTrace, files) + FirExtensionRegistrarAdapter.registerExtension( + object : FirExtensionRegistrar() { + override fun ExtensionRegistrarContext.configurePlugin() { + +TestAnalyzerParamsProvider.getFactory( + globals, locals, sourceroot, Paths.get(""), hook) + +::TestAnalyzerCheckers } }) + IrGenerationExtension.registerExtension( + PostAnalysisExtension( + sourceRoot = sourceroot, targetRoot = Paths.get(""), callback = hook)) } override val supportsK2: Boolean - get() = false + get() = true } } From 0bc2a4ac7a8d70a51ae94fa819ae07c1dc1cdf75 Mon Sep 17 00:00:00 2001 From: Titouan Thibaud Date: Mon, 16 Dec 2024 12:26:46 +0100 Subject: [PATCH 06/54] Update to Kotlin 2.1 This is from https://github.com/titooan/scip-kotlin/commit/3ddcc1ca2c8c4ab0c94928a9954f05460a7877a8 --- build.gradle.kts | 6 +++--- semanticdb-kotlinc/build.gradle.kts | 2 +- .../semanticdb_kotlinc/SemanticdbTextDocumentBuilder.kt | 2 +- .../com/sourcegraph/semanticdb_kotlinc/SymbolsCache.kt | 5 ++--- 4 files changed, 7 insertions(+), 8 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index 633e1320..930b7cb5 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -4,9 +4,9 @@ import groovy.lang.Closure import org.gradle.jvm.toolchain.internal.CurrentJvmToolchainSpec plugins { - kotlin("jvm") version "2.0.20" - id("com.github.johnrengelman.shadow") version "7.1.0" - id("com.palantir.git-version") version "0.12.3" + kotlin("jvm") version "2.1.0" + id("com.github.johnrengelman.shadow") version "8.1.1" + id("com.palantir.git-version") version "3.1.0" id("io.github.gradle-nexus.publish-plugin") version "1.1.0" id("com.diffplug.spotless") version "5.17.1" } diff --git a/semanticdb-kotlinc/build.gradle.kts b/semanticdb-kotlinc/build.gradle.kts index b69a0d94..703b83fd 100644 --- a/semanticdb-kotlinc/build.gradle.kts +++ b/semanticdb-kotlinc/build.gradle.kts @@ -40,7 +40,7 @@ dependencies { // https://github.com/tschuchortdev/kotlin-compile-testing/issues/390 // Until then, we use the fork from https://github.com/ZacSweers/kotlin-compile-testing instead. // testImplementation("com.github.tschuchortdev", "kotlin-compile-testing", "1.5.0") - testImplementation("dev.zacsweers.kctfork", "core", "0.5.1") + testImplementation("dev.zacsweers.kctfork", "core", "0.7.0") testImplementation("org.junit.jupiter", "junit-jupiter-params", "5.8.1") testImplementation("org.jetbrains.kotlin", "kotlin-stdlib-jdk8", "1.5.0") { diff --git a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbTextDocumentBuilder.kt b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbTextDocumentBuilder.kt index a32eabd9..9c746fde 100644 --- a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbTextDocumentBuilder.kt +++ b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbTextDocumentBuilder.kt @@ -148,7 +148,7 @@ class SemanticdbTextDocumentBuilder( firBasedSymbol .resolvedSuperTypeRefs .filter { - (it.coneTypeOrNull as? ConeClassLikeType)?.toString() !in + (it.coneType as? ConeClassLikeType)?.toString() !in isIgnoredSuperClass } .map { it.toString() } diff --git a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SymbolsCache.kt b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SymbolsCache.kt index e2c5669c..dbb40b94 100644 --- a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SymbolsCache.kt +++ b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SymbolsCache.kt @@ -136,7 +136,7 @@ class GlobalSymbolsCache(testing: Boolean = false) : Iterable { @OptIn(SymbolInternals::class) private fun getParentSymbol(symbol: FirBasedSymbol<*>): FirBasedSymbol<*>? { val session = symbol.fir.moduleData.session - return symbol.getContainingClassSymbol(session) + return symbol.getContainingClassSymbol() ?: (symbol as? FirBasedSymbol<*>)?.let { try { session.firProvider.getContainingFile(it)?.symbol @@ -259,8 +259,7 @@ class GlobalSymbolsCache(testing: Boolean = false) : Iterable { private fun FirConstructorSymbol.getTypeAliasSymbol(): FirTypeAliasSymbol? { val session = moduleData.session - val classId = - resolvedReturnTypeRef.coneTypeSafe()?.classId ?: return null + val classId = resolvedReturnTypeRef.coneType.classId ?: return null val classSymbol = session.symbolProvider.getClassLikeSymbolByClassId(classId) return classSymbol as? FirTypeAliasSymbol } From c413aad31af7016906adb0add2a83677c5a61571 Mon Sep 17 00:00:00 2001 From: Nicolas Guichard Date: Mon, 13 Jan 2025 17:06:16 +0100 Subject: [PATCH 07/54] Revert test changes We don't want the output schema to change, otherwise we're not outputing SemanticDB anymore and downstream tooling like scip-java reject our output. We start with 24 failing tests to fix. --- .../semanticdb_kotlinc/test/AnalyzerTest.kt | 60 ++--- .../test/SemanticdbSymbolsTest.kt | 242 +++++++++--------- 2 files changed, 139 insertions(+), 163 deletions(-) diff --git a/semanticdb-kotlinc/src/test/kotlin/com/sourcegraph/semanticdb_kotlinc/test/AnalyzerTest.kt b/semanticdb-kotlinc/src/test/kotlin/com/sourcegraph/semanticdb_kotlinc/test/AnalyzerTest.kt index 40a681b4..1b0ecf32 100644 --- a/semanticdb-kotlinc/src/test/kotlin/com/sourcegraph/semanticdb_kotlinc/test/AnalyzerTest.kt +++ b/semanticdb-kotlinc/src/test/kotlin/com/sourcegraph/semanticdb_kotlinc/test/AnalyzerTest.kt @@ -19,29 +19,12 @@ import kotlin.contracts.ExperimentalContracts import kotlin.test.Test import kotlin.test.assertEquals import org.intellij.lang.annotations.Language -import org.jetbrains.kotlin.cli.jvm.compiler.EnvironmentConfigFiles -import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment -import org.jetbrains.kotlin.com.intellij.openapi.Disposable import org.jetbrains.kotlin.compiler.plugin.ExperimentalCompilerApi -import org.jetbrains.kotlin.config.CompilerConfiguration -import org.jetbrains.kotlin.config.JVMConfigurationKeys -import org.jetbrains.kotlin.config.LanguageVersionSettingsImpl -import org.jetbrains.kotlin.config.languageVersionSettings import org.junit.jupiter.api.io.TempDir @OptIn(ExperimentalCompilerApi::class) @ExperimentalContracts class AnalyzerTest { - fun setupKotlinEnvironment(disposable: Disposable): KotlinCoreEnvironment { - val configuration = - CompilerConfiguration().apply { - put(JVMConfigurationKeys.JDK_HOME, java.io.File(System.getProperty("java.home"))) - languageVersionSettings = LanguageVersionSettingsImpl.DEFAULT - } - return KotlinCoreEnvironment.createForProduction( - disposable, configuration, EnvironmentConfigFiles.JVM_CONFIG_FILES) - } - fun compileSemanticdb(path: Path, @Language("kotlin") code: String): TextDocument { val buildPath = File(path.resolve("build").toString()).apply { mkdir() } val source = SourceFile.testKt(code) @@ -50,11 +33,9 @@ class AnalyzerTest { val result = KotlinCompilation() .apply { - // sources = listOf(SourceFile.kotlin(source.name, - // source.text)) sources = listOf(source) compilerPluginRegistrars = listOf(AnalyzerRegistrar { document = it }) - verbose = true + verbose = false pluginOptions = listOf( PluginOption("semanticdb-kotlinc", "sourceroot", path.toString()), @@ -82,24 +63,34 @@ class AnalyzerTest { val occurrences = arrayOf( + SymbolOccurrence { + role = Role.REFERENCE + symbol = "sample/" + range { + startLine = 0 + startCharacter = 8 + endLine = 0 + endCharacter = 14 + } + }, SymbolOccurrence { role = Role.DEFINITION - symbol = "`sample/Banana`#Bananasample.Banana(): sample/Banana." + symbol = "sample/Banana#" range { startLine = 1 - startCharacter = 0 + startCharacter = 6 endLine = 1 - endCharacter = 33 + endCharacter = 12 } }, SymbolOccurrence { role = Role.DEFINITION - symbol = "`sample/Banana`#foosample.foo(): kotlin/Unit." + symbol = "sample/Banana#foo()." range { startLine = 2 - startCharacter = 4 + startCharacter = 8 endLine = 2 - endCharacter = 16 + endCharacter = 11 } }) assertSoftly(document.occurrencesList) { @@ -109,24 +100,23 @@ class AnalyzerTest { val symbols = arrayOf( SymbolInformation { - symbol = "`sample/Banana`#Bananasample.Banana(): sample/Banana." + symbol = "sample/Banana#" language = KOTLIN displayName = "Banana" documentation = Documentation { format = Semanticdb.Documentation.Format.MARKDOWN - message = - "```\npublic constructor(): R|sample/Banana| {\n super()\n}\n\n```\n" + message = "```kotlin\npublic final class Banana\n```" } }, SymbolInformation { - symbol = "`sample/Banana`#foosample.foo(): kotlin/Unit." + symbol = "sample/Banana#foo()." language = KOTLIN displayName = "foo" documentation = Documentation { format = Semanticdb.Documentation.Format.MARKDOWN - message = "```\npublic final fun foo(): R|kotlin/Unit| {\n}\n\n```\n" + message = "```kotlin\npublic final fun foo()\n```" } }) assertSoftly(document.symbolsList) { withClue(this) { symbols.forEach(::shouldContain) } } @@ -151,7 +141,7 @@ class AnalyzerTest { } .compile() - result.exitCode shouldBe KotlinCompilation.ExitCode.INTERNAL_ERROR + result.exitCode shouldBe KotlinCompilation.ExitCode.OK } @Test @@ -610,10 +600,8 @@ class AnalyzerTest { **/ inline fun docstrings(msg: String): Int { return msg.length } """.trimIndent()) - document.assertDocumentation("`sample/Docstrings`#", "Example class docstring") - document.assertDocumentation( - "`Test.kt.docstrings`#docstringssample.docstrings(kotlin/String): kotlin/Int.", - "Example method docstring") + document.assertDocumentation("sample/Docstrings#", "Example class docstring") + document.assertDocumentation("sample/TestKt#docstrings().", "Example method docstring") } private fun TextDocument.assertDocumentation(symbol: String, expectedDocumentation: String) { diff --git a/semanticdb-kotlinc/src/test/kotlin/com/sourcegraph/semanticdb_kotlinc/test/SemanticdbSymbolsTest.kt b/semanticdb-kotlinc/src/test/kotlin/com/sourcegraph/semanticdb_kotlinc/test/SemanticdbSymbolsTest.kt index 0f0558ff..2bed61d7 100644 --- a/semanticdb-kotlinc/src/test/kotlin/com/sourcegraph/semanticdb_kotlinc/test/SemanticdbSymbolsTest.kt +++ b/semanticdb-kotlinc/src/test/kotlin/com/sourcegraph/semanticdb_kotlinc/test/SemanticdbSymbolsTest.kt @@ -9,7 +9,6 @@ import com.sourcegraph.semanticdb_kotlinc.test.ExpectedSymbols.SymbolCacheData import com.tschuchort.compiletesting.SourceFile import kotlin.contracts.ExperimentalContracts import org.jetbrains.kotlin.compiler.plugin.ExperimentalCompilerApi -import org.junit.jupiter.api.Test import org.junit.jupiter.api.TestFactory @ExperimentalCompilerApi @@ -17,7 +16,7 @@ import org.junit.jupiter.api.TestFactory class SemanticdbSymbolsTest { @TestFactory fun `method disambiguator`() = - listOf( + listOf( ExpectedSymbols( "Basic two methods", SourceFile.testKt( @@ -29,9 +28,7 @@ class SemanticdbSymbolsTest { |""".trimMargin()), symbolsCacheData = SymbolCacheData( - listOf( - "Test#sample.sample(): kotlin/Unit.".symbol(), - "Test#sample.sample(kotlin/Int): kotlin/Unit.".symbol()), + listOf("Test#sample().".symbol(), "Test#sample(+1).".symbol()), )), ExpectedSymbols( "Inline class constructor", @@ -39,8 +36,7 @@ class SemanticdbSymbolsTest { """ |class Test(val x: Int) |""".trimMargin()), - symbolsCacheData = - SymbolCacheData(listOf("Test#Test.Test(kotlin/Int): Test.".symbol()))), + symbolsCacheData = SymbolCacheData(listOf("Test#``().(x)".symbol()))), ExpectedSymbols( "Inline + secondary class constructors", SourceFile.testKt( @@ -53,9 +49,9 @@ class SemanticdbSymbolsTest { symbolsCacheData = SymbolCacheData( listOf( - "Test#Test.Test(kotlin/Int): Test.".symbol(), - "Test#Test.Test(kotlin/Long): Test.".symbol(), - "Test#Test.Test(kotlin/String): Test.".symbol()))), + "Test#``().(x)".symbol(), + "Test#``(+1).(y)".symbol(), + "Test#``(+2).(z)".symbol()))), ExpectedSymbols( "Disambiguator number is not affected by different named methods", SourceFile.testKt( @@ -68,10 +64,7 @@ class SemanticdbSymbolsTest { |""".trimMargin()), symbolsCacheData = SymbolCacheData( - listOf( - "Test#sample.sample(): kotlin/Unit.".symbol(), - "Test#test.test(): kotlin/Unit.".symbol(), - "Test#test.test(kotlin/Int): kotlin/Unit.".symbol()))), + listOf("Test#test().".symbol(), "Test#test(+1).".symbol()))), ExpectedSymbols( "Top level overloaded functions", SourceFile.testKt( @@ -81,9 +74,7 @@ class SemanticdbSymbolsTest { |""".trimMargin()), symbolsCacheData = SymbolCacheData( - listOf( - "`Test.kt.test`#test.test(): kotlin/Unit.".symbol(), - "`Test.kt.test`#test.test(kotlin/Int): kotlin/Unit.".symbol()))), + listOf("TestKt#test().".symbol(), "TestKt#test(+1).(x)".symbol()))), ExpectedSymbols( "Annotations incl annotation type alias", SourceFile.testKt( @@ -100,8 +91,8 @@ class SemanticdbSymbolsTest { symbolsCacheData = SymbolCacheData( listOf( - "`kotlin/contracts/ExperimentalContracts`#".symbol(), - "`kotlin/test/Test`#".symbol()))), + "kotlin/contracts/ExperimentalContracts#".symbol(), + "kotlin/test/Test#".symbol()))), // https://kotlinlang.slack.com/archives/C7L3JB43G/p1624995376114900 /*ExpectedSymbols( "Method call with type parameters", @@ -127,7 +118,7 @@ class SemanticdbSymbolsTest { | |class Test |""".trimMargin()), - symbolsCacheData = SymbolCacheData(listOf("`main/Test`#".symbol()), 0)), + symbolsCacheData = SymbolCacheData(listOf("main/Test#".symbol()), 0)), ExpectedSymbols( "multi component package name", SourceFile.testKt( @@ -137,7 +128,7 @@ class SemanticdbSymbolsTest { |class Test |""".trimMargin()), symbolsCacheData = - SymbolCacheData(listOf("`test/sample/main/Test`#".symbol()), 0)), + SymbolCacheData(listOf("test/sample/main/Test#".symbol()), 0)), ExpectedSymbols( "no package name", SourceFile.testKt( @@ -162,7 +153,7 @@ class SemanticdbSymbolsTest { symbolsCacheData = SymbolCacheData(localsCount = 1))) .mapCheckExpectedSymbols() - @Test + @TestFactory fun `builtin symbols`() = listOf( ExpectedSymbols( @@ -177,10 +168,10 @@ class SemanticdbSymbolsTest { symbolsCacheData = SymbolCacheData( listOf( - "`Test.kt.accessor`#accessorspecial.accessor(): kotlin/Int.".symbol(), - "`Test.kt.accessor`#accessorspecial.accessor(): kotlin/Unit.".symbol(), - "`Test.kt.accessor`#accessorspecial.accessor(): kotlin/Any.".symbol(), - "`Test.kt.accessor`#accessorspecial.accessor(): kotlin/Nothing.".symbol()))), + "kotlin/Int#".symbol(), + "kotlin/Unit#".symbol(), + "kotlin/Any#".symbol(), + "kotlin/Nothing#".symbol()))), ExpectedSymbols( "functions", SourceFile.testKt( @@ -193,8 +184,8 @@ class SemanticdbSymbolsTest { symbolsCacheData = SymbolCacheData( listOf( - "`kotlin.collections.mapOf`#mapOfkotlin.collections.mapOf(): kotlin/collections/Map.".symbol(), - "`kotlin.io.println`#printlnkotlin.io.println(): kotlin/Unit.".symbol())))) + "kotlin/collections/MapsKt#mapOf(+1).".symbol(), + "kotlin/io/ConsoleKt#println().".symbol())))) .mapCheckExpectedSymbols() @TestFactory @@ -210,7 +201,7 @@ class SemanticdbSymbolsTest { | System.err |} |""".trimMargin()), - symbolsCacheData = SymbolCacheData(listOf("`java/lang/System`#err.".symbol())))) + symbolsCacheData = SymbolCacheData(listOf("java/lang/System#err.".symbol())))) .mapCheckExpectedSymbols() @TestFactory @@ -228,34 +219,32 @@ class SemanticdbSymbolsTest { listOf( SymbolOccurrence { role = Role.DEFINITION - symbol = "`Test.kt.x`#x." + symbol = "TestKt#x." range { startLine = 0 - startCharacter = 0 + startCharacter = 4 endLine = 0 - endCharacter = 13 + endCharacter = 5 } }, SymbolOccurrence { role = Role.DEFINITION - symbol = - "`Test.kt.accessor`#accessorspecial.accessor(): kotlin/Int." + symbol = "TestKt#getX()." range { startLine = 0 - startCharacter = 0 + startCharacter = 4 endLine = 0 - endCharacter = 13 + endCharacter = 5 } }, SymbolOccurrence { role = Role.DEFINITION - symbol = - "`Test.kt.accessor`#accessorspecial.accessor(kotlin/Int): kotlin/Unit." + symbol = "TestKt#setX()." range { startLine = 0 - startCharacter = 0 + startCharacter = 4 endLine = 0 - endCharacter = 13 + endCharacter = 5 } })), ), @@ -272,37 +261,34 @@ class SemanticdbSymbolsTest { listOf( SymbolOccurrence { role = Role.DEFINITION - symbol = "`Test.kt.x`#x." + symbol = "TestKt#x." range { startLine = 0 - startCharacter = 0 + startCharacter = 4 endLine = 0 - endCharacter = 36 + endCharacter = 5 } }, SymbolOccurrence { role = Role.DEFINITION - symbol = - "`Test.kt.accessor`#accessorspecial.accessor(): kotlin/Int." + symbol = "TestKt#setX()." range { - startLine = 1 + startLine = 0 startCharacter = 4 - endLine = 1 - endCharacter = 21 + endLine = 0 + endCharacter = 5 } }, SymbolOccurrence { role = Role.DEFINITION - symbol = - "`Test.kt.accessor`#accessorspecial.accessor(kotlin/Int): kotlin/Unit." + symbol = "TestKt#getX()." range { - startLine = 0 - startCharacter = 0 - endLine = 0 - endCharacter = 36 + startLine = 1 + startCharacter = 4 + endLine = 1 + endCharacter = 7 } - }, - )), + })), ), ExpectedSymbols( "top level properties - explicit setter", @@ -317,34 +303,32 @@ class SemanticdbSymbolsTest { listOf( SymbolOccurrence { role = Role.DEFINITION - symbol = "`Test.kt.x`#x." + symbol = "TestKt#x." range { startLine = 0 - startCharacter = 0 + startCharacter = 4 endLine = 0 - endCharacter = 50 + endCharacter = 5 } }, SymbolOccurrence { role = Role.DEFINITION - symbol = - "`Test.kt.accessor`#accessorspecial.accessor(): kotlin/Int." + symbol = "TestKt#getX()." range { startLine = 0 - startCharacter = 0 + startCharacter = 4 endLine = 0 - endCharacter = 50 + endCharacter = 5 } }, SymbolOccurrence { role = Role.DEFINITION - symbol = - "`Test.kt.accessor`#accessorspecial.accessor(kotlin/Int): kotlin/Unit." + symbol = "TestKt#setX()." range { startLine = 1 startCharacter = 4 endLine = 1 - endCharacter = 35 + endCharacter = 7 } })), ), @@ -362,34 +346,32 @@ class SemanticdbSymbolsTest { listOf( SymbolOccurrence { role = Role.DEFINITION - symbol = "`Test.kt.x`#x." + symbol = "TestKt#x." range { startLine = 0 - startCharacter = 0 + startCharacter = 4 endLine = 0 - endCharacter = 74 + endCharacter = 5 } }, SymbolOccurrence { role = Role.DEFINITION - symbol = - "`Test.kt.accessor`#accessorspecial.accessor(): kotlin/Int." + symbol = "TestKt#getX()." range { startLine = 1 startCharacter = 4 endLine = 1 - endCharacter = 21 + endCharacter = 7 } }, SymbolOccurrence { role = Role.DEFINITION - symbol = - "`Test.kt.accessor`#accessorspecial.accessor(kotlin/Int): kotlin/Unit." + symbol = "TestKt#setX()." range { startLine = 2 startCharacter = 4 endLine = 2 - endCharacter = 36 + endCharacter = 7 } })), ), @@ -409,63 +391,72 @@ class SemanticdbSymbolsTest { listOf( SymbolOccurrence { role = Role.DEFINITION - symbol = "Test#Test.Test(kotlin/Int, kotlin/String): Test." + symbol = "Test#sample." range { startLine = 0 - startCharacter = 10 + startCharacter = 15 endLine = 0 - endCharacter = 40 + endCharacter = 21 } }, SymbolOccurrence { - role = Role.REFERENCE - symbol = "(sample)" + role = Role.DEFINITION + symbol = "Test#getSample()." range { startLine = 0 - startCharacter = 53 + startCharacter = 15 endLine = 0 - endCharacter = 58 + endCharacter = 21 } }, SymbolOccurrence { role = Role.DEFINITION - symbol = "Test#sample." + symbol = "Test#setSample()." range { startLine = 0 - startCharacter = 11 + startCharacter = 15 endLine = 0 - endCharacter = 25 + endCharacter = 21 } }, SymbolOccurrence { - role = Role.REFERENCE - symbol = "(sample)" + role = Role.DEFINITION + symbol = "Test#``().(sample)" range { startLine = 0 - startCharacter = 11 + startCharacter = 15 endLine = 0 - endCharacter = 25 + endCharacter = 21 } }, SymbolOccurrence { - role = Role.DEFINITION - symbol = "Test#accessorspecial.accessor(): kotlin/Int." + role = Role.REFERENCE + symbol = "Test#``().(sample)" range { startLine = 0 - startCharacter = 11 + startCharacter = 53 endLine = 0 - endCharacter = 25 + endCharacter = 59 } }, SymbolOccurrence { - role = Role.DEFINITION - symbol = - "Test#accessorspecial.accessor(kotlin/Int): kotlin/Unit." + role = Role.REFERENCE + symbol = "Test#sample." range { - startLine = 0 - startCharacter = 11 - endLine = 0 - endCharacter = 25 + startLine = 2 + startCharacter = 16 + endLine = 2 + endCharacter = 22 + } + }, + SymbolOccurrence { + role = Role.REFERENCE + symbol = "Test#getSample()." + range { + startLine = 2 + startCharacter = 16 + endLine = 2 + endCharacter = 22 } }, )))) @@ -489,19 +480,19 @@ class SemanticdbSymbolsTest { symbol = "Banana#" range { startLine = 0 - startCharacter = 0 + startCharacter = 6 endLine = 0 - endCharacter = 11 + endCharacter = 12 } }, SymbolOccurrence { role = Role.DEFINITION - symbol = "Banana#Banana.Banana(): Banana." + symbol = "Banana#``()." range { startLine = 0 - startCharacter = 0 + startCharacter = 6 endLine = 0 - endCharacter = 11 + endCharacter = 12 } }, ))), @@ -520,19 +511,19 @@ class SemanticdbSymbolsTest { symbol = "Banana#" range { startLine = 0 - startCharacter = 0 + startCharacter = 6 endLine = 0 - endCharacter = 22 + endCharacter = 12 } }, SymbolOccurrence { role = Role.DEFINITION - symbol = "Banana#Banana.Banana(kotlin/Int): Banana." + symbol = "Banana#``()." range { startLine = 0 - startCharacter = 12 + startCharacter = 6 endLine = 0 - endCharacter = 22 + endCharacter = 12 } }, ))), @@ -551,19 +542,19 @@ class SemanticdbSymbolsTest { symbol = "Banana#" range { startLine = 0 - startCharacter = 0 + startCharacter = 6 endLine = 0 - endCharacter = 34 + endCharacter = 12 } }, SymbolOccurrence { role = Role.DEFINITION - symbol = "Banana#Banana.Banana(kotlin/Int): Banana." + symbol = "Banana#``()." range { startLine = 0 startCharacter = 13 endLine = 0 - endCharacter = 34 + endCharacter = 24 } }, )))) @@ -584,29 +575,27 @@ class SemanticdbSymbolsTest { listOf( SymbolOccurrence { role = Role.REFERENCE - symbol = - "`java/lang/Runnable`#runjava.lang.run(): kotlin/Unit." + symbol = "java/lang/Runnable#" range { startLine = 0 startCharacter = 8 endLine = 0 - endCharacter = 25 + endCharacter = 16 } }, SymbolOccurrence { role = Role.REFERENCE - symbol = - "`java.lang.Runnable`#Runnablejava.lang.Runnable(kotlin/Function0): java/lang/Runnable." + symbol = "java/lang/Runnable#run()." range { startLine = 0 - startCharacter = 8 + startCharacter = 21 endLine = 0 - endCharacter = 19 + endCharacter = 24 } })))) .mapCheckExpectedSymbols() - @Test + @TestFactory fun kdoc() = listOf( ExpectedSymbols( @@ -625,23 +614,22 @@ class SemanticdbSymbolsTest { expectedSymbols = listOf( SymbolInformation { - symbol = "`Test.kt.x`#x." + symbol = "TestKt#x." displayName = "x" language = Language.KOTLIN documentation { message = - "```\npublic final val x: R|kotlin/String| = String()\n public get(): R|kotlin/String|\n\n```\n\n\n----\n\n\nhello world\n test content\n" + "```kotlin\npublic val x: kotlin.String\n```\n\n----\n\n\nhello world\n test content\n" format = Format.MARKDOWN } }, SymbolInformation { - symbol = - "`Test.kt.accessor`#accessorspecial.accessor(): kotlin/String." + symbol = "TestKt#getX()." displayName = "x" language = Language.KOTLIN documentation { message = - "```\npublic get(): R|kotlin/String|\n```\n\n\n----\n\n\nhello world\n test content\n" + "```kotlin\npublic val x: kotlin.String\n```\n\n----\n\n\nhello world\n test content\n" format = Format.MARKDOWN } })))) From 7607b4f8a49f1be92f462b1e9a567dbad458b02d Mon Sep 17 00:00:00 2001 From: Nicolas Guichard Date: Thu, 20 Mar 2025 19:37:25 +0100 Subject: [PATCH 08/54] cleanup: Optimize imports using IntelliJ --- .../semanticdb_kotlinc/AnalyzerCheckers.kt | 23 ++----------------- .../AnalyzerParamsProvider.kt | 1 + .../semanticdb_kotlinc/DescriptorResolver.kt | 5 +++- .../SemanticdbTextDocumentBuilder.kt | 12 +--------- .../semanticdb_kotlinc/SemanticdbVisitor.kt | 10 +------- .../semanticdb_kotlinc/SymbolsCache.kt | 22 ++---------------- .../semanticdb_kotlinc/test/Utils.kt | 1 + 7 files changed, 12 insertions(+), 62 deletions(-) diff --git a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerCheckers.kt b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerCheckers.kt index 92359002..ca37eb47 100644 --- a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerCheckers.kt +++ b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerCheckers.kt @@ -10,30 +10,11 @@ import org.jetbrains.kotlin.diagnostics.DiagnosticReporter import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.analysis.checkers.MppCheckerKind import org.jetbrains.kotlin.fir.analysis.checkers.context.CheckerContext -import org.jetbrains.kotlin.fir.analysis.checkers.declaration.DeclarationCheckers -import org.jetbrains.kotlin.fir.analysis.checkers.declaration.FirAnonymousFunctionChecker -import org.jetbrains.kotlin.fir.analysis.checkers.declaration.FirConstructorChecker -import org.jetbrains.kotlin.fir.analysis.checkers.declaration.FirFileChecker -import org.jetbrains.kotlin.fir.analysis.checkers.declaration.FirPropertyAccessorChecker -import org.jetbrains.kotlin.fir.analysis.checkers.declaration.FirPropertyChecker -import org.jetbrains.kotlin.fir.analysis.checkers.declaration.FirRegularClassChecker -import org.jetbrains.kotlin.fir.analysis.checkers.declaration.FirSimpleFunctionChecker -import org.jetbrains.kotlin.fir.analysis.checkers.declaration.FirTypeAliasChecker -import org.jetbrains.kotlin.fir.analysis.checkers.declaration.FirTypeParameterChecker -import org.jetbrains.kotlin.fir.analysis.checkers.declaration.FirValueParameterChecker +import org.jetbrains.kotlin.fir.analysis.checkers.declaration.* import org.jetbrains.kotlin.fir.analysis.checkers.expression.ExpressionCheckers import org.jetbrains.kotlin.fir.analysis.checkers.expression.FirQualifiedAccessExpressionChecker import org.jetbrains.kotlin.fir.analysis.extensions.FirAdditionalCheckersExtension -import org.jetbrains.kotlin.fir.declarations.FirAnonymousFunction -import org.jetbrains.kotlin.fir.declarations.FirConstructor -import org.jetbrains.kotlin.fir.declarations.FirFile -import org.jetbrains.kotlin.fir.declarations.FirProperty -import org.jetbrains.kotlin.fir.declarations.FirPropertyAccessor -import org.jetbrains.kotlin.fir.declarations.FirRegularClass -import org.jetbrains.kotlin.fir.declarations.FirSimpleFunction -import org.jetbrains.kotlin.fir.declarations.FirTypeAlias -import org.jetbrains.kotlin.fir.declarations.FirTypeParameter -import org.jetbrains.kotlin.fir.declarations.FirValueParameter +import org.jetbrains.kotlin.fir.declarations.* import org.jetbrains.kotlin.fir.expressions.FirQualifiedAccessExpression import org.jetbrains.kotlin.fir.references.FirResolvedNamedReference import org.jetbrains.kotlin.fir.resolve.providers.symbolProvider diff --git a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerParamsProvider.kt b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerParamsProvider.kt index fef1ac13..50eb0701 100644 --- a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerParamsProvider.kt +++ b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerParamsProvider.kt @@ -3,6 +3,7 @@ package com.sourcegraph.semanticdb_kotlinc import java.nio.file.Path import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.extensions.FirExtensionSessionComponent +import org.jetbrains.kotlin.fir.extensions.FirExtensionSessionComponent.Factory open class AnalyzerParamsProvider( session: FirSession, diff --git a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/DescriptorResolver.kt b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/DescriptorResolver.kt index 6c0f42f6..1ae3c754 100644 --- a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/DescriptorResolver.kt +++ b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/DescriptorResolver.kt @@ -3,7 +3,10 @@ package com.sourcegraph.semanticdb_kotlinc import org.jetbrains.kotlin.descriptors.ConstructorDescriptor import org.jetbrains.kotlin.descriptors.DeclarationDescriptor import org.jetbrains.kotlin.descriptors.ValueParameterDescriptor -import org.jetbrains.kotlin.psi.* +import org.jetbrains.kotlin.psi.KtClass +import org.jetbrains.kotlin.psi.KtDeclaration +import org.jetbrains.kotlin.psi.KtReferenceExpression +import org.jetbrains.kotlin.psi.KtTypeReference import org.jetbrains.kotlin.resolve.BindingContext import org.jetbrains.kotlin.resolve.BindingTrace import org.jetbrains.kotlin.types.KotlinType diff --git a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbTextDocumentBuilder.kt b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbTextDocumentBuilder.kt index 9c746fde..1ad178b7 100644 --- a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbTextDocumentBuilder.kt +++ b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbTextDocumentBuilder.kt @@ -1,8 +1,6 @@ package com.sourcegraph.semanticdb_kotlinc import com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolOccurrence.Role -import java.lang.IllegalArgumentException -import java.lang.StringBuilder import java.nio.file.Path import java.nio.file.Paths import java.security.MessageDigest @@ -14,30 +12,22 @@ import org.jetbrains.kotlin.com.intellij.lang.LighterASTNode import org.jetbrains.kotlin.com.intellij.lang.java.JavaLanguage import org.jetbrains.kotlin.com.intellij.openapi.util.Ref import org.jetbrains.kotlin.com.intellij.util.diff.FlyweightCapableTreeStructure -import org.jetbrains.kotlin.descriptors.* import org.jetbrains.kotlin.fir.FirElement import org.jetbrains.kotlin.fir.containingClassLookupTag import org.jetbrains.kotlin.fir.declarations.FirRegularClass import org.jetbrains.kotlin.fir.declarations.FirSimpleFunction import org.jetbrains.kotlin.fir.declarations.utils.isOverride -import org.jetbrains.kotlin.fir.psi import org.jetbrains.kotlin.fir.render import org.jetbrains.kotlin.fir.resolve.toSymbol import org.jetbrains.kotlin.fir.symbols.FirBasedSymbol import org.jetbrains.kotlin.fir.symbols.SymbolInternals -import org.jetbrains.kotlin.fir.symbols.impl.FirClassSymbol -import org.jetbrains.kotlin.fir.symbols.impl.FirFunctionSymbol -import org.jetbrains.kotlin.fir.symbols.impl.FirPropertyAccessorSymbol -import org.jetbrains.kotlin.fir.symbols.impl.FirPropertySymbol -import org.jetbrains.kotlin.fir.symbols.impl.FirVariableSymbol +import org.jetbrains.kotlin.fir.symbols.impl.* import org.jetbrains.kotlin.fir.types.ConeClassLikeType import org.jetbrains.kotlin.fir.types.coneType -import org.jetbrains.kotlin.fir.types.coneTypeOrNull import org.jetbrains.kotlin.fir.types.coneTypeSafe import org.jetbrains.kotlin.idea.KotlinLanguage import org.jetbrains.kotlin.lexer.KtTokens import org.jetbrains.kotlin.psi -import org.jetbrains.kotlin.text @ExperimentalContracts class SemanticdbTextDocumentBuilder( diff --git a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbVisitor.kt b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbVisitor.kt index 42cd7077..9a6063fc 100644 --- a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbVisitor.kt +++ b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbVisitor.kt @@ -5,18 +5,10 @@ import java.nio.file.Path import kotlin.contracts.ExperimentalContracts import org.jetbrains.kotlin.KtSourceElement import org.jetbrains.kotlin.KtSourceFile -import org.jetbrains.kotlin.fir.declarations.FirClass -import org.jetbrains.kotlin.fir.declarations.FirConstructor -import org.jetbrains.kotlin.fir.declarations.FirFunction -import org.jetbrains.kotlin.fir.declarations.FirProperty -import org.jetbrains.kotlin.fir.declarations.FirPropertyAccessor -import org.jetbrains.kotlin.fir.declarations.FirTypeAlias -import org.jetbrains.kotlin.fir.declarations.FirTypeParameter -import org.jetbrains.kotlin.fir.declarations.FirValueParameter +import org.jetbrains.kotlin.fir.declarations.* import org.jetbrains.kotlin.fir.references.FirResolvedNamedReference import org.jetbrains.kotlin.fir.symbols.FirBasedSymbol import org.jetbrains.kotlin.fir.symbols.impl.FirClassLikeSymbol -import org.jetbrains.kotlin.psi.* @ExperimentalContracts class SemanticdbVisitor( diff --git a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SymbolsCache.kt b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SymbolsCache.kt index dbb40b94..71e2b38c 100644 --- a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SymbolsCache.kt +++ b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SymbolsCache.kt @@ -2,8 +2,6 @@ package com.sourcegraph.semanticdb_kotlinc import com.sourcegraph.semanticdb_kotlinc.SemanticdbSymbolDescriptor.Kind import java.lang.System.err -import kotlin.collections.ArrayList -import kotlin.collections.HashMap import kotlin.contracts.ExperimentalContracts import kotlin.contracts.contract import org.jetbrains.kotlin.descriptors.* @@ -20,24 +18,8 @@ import org.jetbrains.kotlin.fir.resolve.providers.getContainingFile import org.jetbrains.kotlin.fir.resolve.providers.symbolProvider import org.jetbrains.kotlin.fir.symbols.FirBasedSymbol import org.jetbrains.kotlin.fir.symbols.SymbolInternals -import org.jetbrains.kotlin.fir.symbols.impl.FirAnonymousFunctionSymbol -import org.jetbrains.kotlin.fir.symbols.impl.FirCallableSymbol -import org.jetbrains.kotlin.fir.symbols.impl.FirClassLikeSymbol -import org.jetbrains.kotlin.fir.symbols.impl.FirClassSymbol -import org.jetbrains.kotlin.fir.symbols.impl.FirConstructorSymbol -import org.jetbrains.kotlin.fir.symbols.impl.FirFileSymbol -import org.jetbrains.kotlin.fir.symbols.impl.FirFunctionSymbol -import org.jetbrains.kotlin.fir.symbols.impl.FirPropertyAccessorSymbol -import org.jetbrains.kotlin.fir.symbols.impl.FirPropertySymbol -import org.jetbrains.kotlin.fir.symbols.impl.FirTypeAliasSymbol -import org.jetbrains.kotlin.fir.symbols.impl.FirTypeParameterSymbol -import org.jetbrains.kotlin.fir.symbols.impl.FirValueParameterSymbol -import org.jetbrains.kotlin.fir.symbols.impl.FirVariableSymbol -import org.jetbrains.kotlin.fir.types.ConeClassLikeType -import org.jetbrains.kotlin.fir.types.ConeKotlinType -import org.jetbrains.kotlin.fir.types.classId -import org.jetbrains.kotlin.fir.types.coneType -import org.jetbrains.kotlin.fir.types.coneTypeSafe +import org.jetbrains.kotlin.fir.symbols.impl.* +import org.jetbrains.kotlin.fir.types.* import org.jetbrains.kotlin.load.kotlin.toSourceElement import org.jetbrains.kotlin.psi.KtBlockExpression import org.jetbrains.kotlin.psi.KtNamedFunction diff --git a/semanticdb-kotlinc/src/test/kotlin/com/sourcegraph/semanticdb_kotlinc/test/Utils.kt b/semanticdb-kotlinc/src/test/kotlin/com/sourcegraph/semanticdb_kotlinc/test/Utils.kt index 14b2feb9..486c6bcf 100644 --- a/semanticdb-kotlinc/src/test/kotlin/com/sourcegraph/semanticdb_kotlinc/test/Utils.kt +++ b/semanticdb-kotlinc/src/test/kotlin/com/sourcegraph/semanticdb_kotlinc/test/Utils.kt @@ -25,6 +25,7 @@ import org.jetbrains.kotlin.fir.analysis.checkers.declaration.FirFileChecker import org.jetbrains.kotlin.fir.declarations.FirFile import org.jetbrains.kotlin.fir.extensions.FirExtensionRegistrar import org.jetbrains.kotlin.fir.extensions.FirExtensionRegistrarAdapter +import org.jetbrains.kotlin.fir.extensions.FirExtensionSessionComponent.Factory import org.junit.jupiter.api.Assumptions.assumeFalse import org.junit.jupiter.api.DynamicTest import org.junit.jupiter.api.DynamicTest.dynamicTest From 12c77e92e50d405e4a74548127fc54c65215b438 Mon Sep 17 00:00:00 2001 From: Nicolas Guichard Date: Tue, 18 Mar 2025 19:00:55 +0100 Subject: [PATCH 09/54] cleanup: Remove unused AnalyzerCheckers.semanticdbOutPathForFile --- .../semanticdb_kotlinc/AnalyzerCheckers.kt | 25 ------------------- 1 file changed, 25 deletions(-) diff --git a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerCheckers.kt b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerCheckers.kt index ca37eb47..c45035a9 100644 --- a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerCheckers.kt +++ b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerCheckers.kt @@ -1,8 +1,6 @@ package com.sourcegraph.semanticdb_kotlinc -import java.nio.file.Files import java.nio.file.Path -import java.nio.file.Paths import kotlin.contracts.ExperimentalContracts import org.jetbrains.kotlin.KtSourceFile import org.jetbrains.kotlin.descriptors.DeclarationDescriptor @@ -84,29 +82,6 @@ open class AnalyzerCheckers(session: FirSession) : FirAdditionalCheckersExtensio val visitor = SemanticdbVisitor(sourceroot, ktFile, lineMap, globals) visitors[ktFile] = visitor } - - private fun semanticdbOutPathForFile(session: FirSession, file: KtSourceFile): Path? { - val sourceRoot = session.analyzerParamsProvider.sourceroot - val normalizedPath = Paths.get(file.path).normalize() - if (normalizedPath.startsWith(sourceRoot)) { - val relative = sourceRoot.relativize(normalizedPath) - val filename = relative.fileName.toString() + ".semanticdb" - val semanticdbOutPath = - session - .analyzerParamsProvider - .targetroot - .resolve("META-INF") - .resolve("semanticdb") - .resolve(relative) - .resolveSibling(filename) - - Files.createDirectories(semanticdbOutPath.parent) - return semanticdbOutPath - } - System.err.println( - "given file is not under the sourceroot.\n\tSourceroot: $sourceRoot\n\tFile path: ${file.path}\n\tNormalized file path: $normalizedPath") - return null - } } class SemanticImportsChecker : FirFileChecker(MppCheckerKind.Common) { From 88e8036fecd080b4a6e076066965e2f9390559ed Mon Sep 17 00:00:00 2001 From: Nicolas Guichard Date: Tue, 18 Mar 2025 19:01:15 +0100 Subject: [PATCH 10/54] cleanup: Remove unused SemanticFileChecker callback arg --- .../semanticdb_kotlinc/AnalyzerCheckers.kt | 17 +++++------------ .../AnalyzerFirExtensionRegistrar.kt | 3 +-- .../AnalyzerParamsProvider.kt | 5 +---- .../semanticdb_kotlinc/AnalyzerRegistrar.kt | 3 ++- .../semanticdb_kotlinc/test/Utils.kt | 18 ++++++++---------- 5 files changed, 17 insertions(+), 29 deletions(-) diff --git a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerCheckers.kt b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerCheckers.kt index c45035a9..b555d7f2 100644 --- a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerCheckers.kt +++ b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerCheckers.kt @@ -27,9 +27,7 @@ open class AnalyzerCheckers(session: FirSession) : FirAdditionalCheckersExtensio val visitors: MutableMap = mutableMapOf() } override val declarationCheckers: DeclarationCheckers - get() = - AnalyzerDeclarationCheckers( - session.analyzerParamsProvider.sourceroot, session.analyzerParamsProvider.callback) + get() = AnalyzerDeclarationCheckers(session.analyzerParamsProvider.sourceroot) override val expressionCheckers: ExpressionCheckers get() = @@ -39,12 +37,9 @@ open class AnalyzerCheckers(session: FirSession) : FirAdditionalCheckersExtensio setOf(SemanticQualifiedAccessExpressionChecker()) } - open class AnalyzerDeclarationCheckers( - sourceroot: Path, - callback: (Semanticdb.TextDocument) -> Unit - ) : DeclarationCheckers() { + open class AnalyzerDeclarationCheckers(sourceroot: Path) : DeclarationCheckers() { override val fileCheckers: Set = - setOf(SemanticFileChecker(sourceroot, callback), SemanticImportsChecker()) + setOf(SemanticFileChecker(sourceroot), SemanticImportsChecker()) override val regularClassCheckers: Set = setOf(SemanticRegularClassChecker()) override val constructorCheckers: Set = @@ -63,10 +58,8 @@ open class AnalyzerCheckers(session: FirSession) : FirAdditionalCheckersExtensio setOf(SemanticPropertyAccessorChecker()) } - private class SemanticFileChecker( - private val sourceroot: Path, - private val callback: (Semanticdb.TextDocument) -> Unit - ) : FirFileChecker(MppCheckerKind.Common) { + private class SemanticFileChecker(private val sourceroot: Path) : + FirFileChecker(MppCheckerKind.Common) { companion object { @OptIn(ExperimentalContracts::class) val globals = GlobalSymbolsCache() } diff --git a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerFirExtensionRegistrar.kt b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerFirExtensionRegistrar.kt index a47da13a..96efc946 100644 --- a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerFirExtensionRegistrar.kt +++ b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerFirExtensionRegistrar.kt @@ -6,10 +6,9 @@ import org.jetbrains.kotlin.fir.extensions.FirExtensionRegistrar class AnalyzerFirExtensionRegistrar( private val sourceroot: Path, private val targetroot: Path, - private val callback: (Semanticdb.TextDocument) -> Unit ) : FirExtensionRegistrar() { override fun ExtensionRegistrarContext.configurePlugin() { - +AnalyzerParamsProvider.getFactory(sourceroot, targetroot, callback) + +AnalyzerParamsProvider.getFactory(sourceroot, targetroot) +::AnalyzerCheckers } } diff --git a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerParamsProvider.kt b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerParamsProvider.kt index 50eb0701..06d463bf 100644 --- a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerParamsProvider.kt +++ b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerParamsProvider.kt @@ -9,21 +9,18 @@ open class AnalyzerParamsProvider( session: FirSession, sourceroot: Path, targetroot: Path, - callback: (Semanticdb.TextDocument) -> Unit ) : FirExtensionSessionComponent(session) { companion object { fun getFactory( sourceroot: Path, targetroot: Path, - callback: (Semanticdb.TextDocument) -> Unit ): Factory { - return Factory { AnalyzerParamsProvider(it, sourceroot, targetroot, callback) } + return Factory { AnalyzerParamsProvider(it, sourceroot, targetroot) } } } val sourceroot: Path = sourceroot val targetroot: Path = targetroot - val callback: (Semanticdb.TextDocument) -> Unit = callback } val FirSession.analyzerParamsProvider: AnalyzerParamsProvider by FirSession diff --git a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerRegistrar.kt b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerRegistrar.kt index 3d2935bd..1cb604c9 100644 --- a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerRegistrar.kt +++ b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerRegistrar.kt @@ -16,7 +16,8 @@ class AnalyzerRegistrar(private val callback: (Semanticdb.TextDocument) -> Unit AnalyzerFirExtensionRegistrar( sourceroot = configuration[KEY_SOURCES]!!, targetroot = configuration[KEY_TARGET]!!, - callback = callback)) + ) + ) IrGenerationExtension.registerExtension( PostAnalysisExtension( sourceRoot = configuration[KEY_SOURCES]!!, diff --git a/semanticdb-kotlinc/src/test/kotlin/com/sourcegraph/semanticdb_kotlinc/test/Utils.kt b/semanticdb-kotlinc/src/test/kotlin/com/sourcegraph/semanticdb_kotlinc/test/Utils.kt index 486c6bcf..7ebcc291 100644 --- a/semanticdb-kotlinc/src/test/kotlin/com/sourcegraph/semanticdb_kotlinc/test/Utils.kt +++ b/semanticdb-kotlinc/src/test/kotlin/com/sourcegraph/semanticdb_kotlinc/test/Utils.kt @@ -128,9 +128,8 @@ private fun configureTestCompiler( private class TestAnalyzerDeclarationCheckers( globals: GlobalSymbolsCache, locals: LocalSymbolsCache, - sourceRoot: Path, - callback: (Semanticdb.TextDocument) -> Unit -) : AnalyzerCheckers.AnalyzerDeclarationCheckers(sourceRoot, callback) { + sourceRoot: Path +) : AnalyzerCheckers.AnalyzerDeclarationCheckers(sourceRoot) { override val fileCheckers: Set = setOf( object : FirFileChecker(MppCheckerKind.Common) { @@ -155,8 +154,8 @@ private class TestAnalyzerCheckers(session: FirSession) : AnalyzerCheckers(sessi TestAnalyzerDeclarationCheckers( session.testAnalyzerParamsProvider.globals, session.testAnalyzerParamsProvider.locals, - session.testAnalyzerParamsProvider.sourceroot, - session.testAnalyzerParamsProvider.callback) + session.testAnalyzerParamsProvider.sourceroot + ) } @OptIn(ExperimentalContracts::class) @@ -166,18 +165,16 @@ class TestAnalyzerParamsProvider( locals: LocalSymbolsCache, sourceroot: Path, targetroot: Path, - callback: (Semanticdb.TextDocument) -> Unit -) : AnalyzerParamsProvider(session, sourceroot, targetroot, callback) { +) : AnalyzerParamsProvider(session, sourceroot, targetroot) { companion object { fun getFactory( globals: GlobalSymbolsCache, locals: LocalSymbolsCache, sourceroot: Path, targetroot: Path, - callback: (Semanticdb.TextDocument) -> Unit ): Factory { return Factory { - TestAnalyzerParamsProvider(it, globals, locals, sourceroot, targetroot, callback) + TestAnalyzerParamsProvider(it, globals, locals, sourceroot, targetroot) } } } @@ -203,7 +200,8 @@ fun semanticdbVisitorAnalyzer( object : FirExtensionRegistrar() { override fun ExtensionRegistrarContext.configurePlugin() { +TestAnalyzerParamsProvider.getFactory( - globals, locals, sourceroot, Paths.get(""), hook) + globals, locals, sourceroot, Paths.get("") + ) +::TestAnalyzerCheckers } }) From e91959b6d3605044561e5ca576f1a66cf712984a Mon Sep 17 00:00:00 2001 From: Nicolas Guichard Date: Tue, 18 Mar 2025 19:04:52 +0100 Subject: [PATCH 11/54] cleanup: Remove unused AnalyzerParamsProvider targetroot arg --- .../AnalyzerFirExtensionRegistrar.kt | 3 +-- .../semanticdb_kotlinc/AnalyzerParamsProvider.kt | 9 ++------- .../semanticdb_kotlinc/AnalyzerRegistrar.kt | 5 +---- .../com/sourcegraph/semanticdb_kotlinc/test/Utils.kt | 12 +++--------- 4 files changed, 7 insertions(+), 22 deletions(-) diff --git a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerFirExtensionRegistrar.kt b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerFirExtensionRegistrar.kt index 96efc946..ec6bdf8b 100644 --- a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerFirExtensionRegistrar.kt +++ b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerFirExtensionRegistrar.kt @@ -5,10 +5,9 @@ import org.jetbrains.kotlin.fir.extensions.FirExtensionRegistrar class AnalyzerFirExtensionRegistrar( private val sourceroot: Path, - private val targetroot: Path, ) : FirExtensionRegistrar() { override fun ExtensionRegistrarContext.configurePlugin() { - +AnalyzerParamsProvider.getFactory(sourceroot, targetroot) + +AnalyzerParamsProvider.getFactory(sourceroot) +::AnalyzerCheckers } } diff --git a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerParamsProvider.kt b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerParamsProvider.kt index 06d463bf..85e0281d 100644 --- a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerParamsProvider.kt +++ b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerParamsProvider.kt @@ -8,19 +8,14 @@ import org.jetbrains.kotlin.fir.extensions.FirExtensionSessionComponent.Factory open class AnalyzerParamsProvider( session: FirSession, sourceroot: Path, - targetroot: Path, ) : FirExtensionSessionComponent(session) { companion object { - fun getFactory( - sourceroot: Path, - targetroot: Path, - ): Factory { - return Factory { AnalyzerParamsProvider(it, sourceroot, targetroot) } + fun getFactory(sourceroot: Path): Factory { + return Factory { AnalyzerParamsProvider(it, sourceroot) } } } val sourceroot: Path = sourceroot - val targetroot: Path = targetroot } val FirSession.analyzerParamsProvider: AnalyzerParamsProvider by FirSession diff --git a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerRegistrar.kt b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerRegistrar.kt index 1cb604c9..410dee51 100644 --- a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerRegistrar.kt +++ b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerRegistrar.kt @@ -13,10 +13,7 @@ class AnalyzerRegistrar(private val callback: (Semanticdb.TextDocument) -> Unit CompilerPluginRegistrar() { override fun ExtensionStorage.registerExtensions(configuration: CompilerConfiguration) { FirExtensionRegistrarAdapter.registerExtension( - AnalyzerFirExtensionRegistrar( - sourceroot = configuration[KEY_SOURCES]!!, - targetroot = configuration[KEY_TARGET]!!, - ) + AnalyzerFirExtensionRegistrar(sourceroot = configuration[KEY_SOURCES]!!) ) IrGenerationExtension.registerExtension( PostAnalysisExtension( diff --git a/semanticdb-kotlinc/src/test/kotlin/com/sourcegraph/semanticdb_kotlinc/test/Utils.kt b/semanticdb-kotlinc/src/test/kotlin/com/sourcegraph/semanticdb_kotlinc/test/Utils.kt index 7ebcc291..a98fa7e7 100644 --- a/semanticdb-kotlinc/src/test/kotlin/com/sourcegraph/semanticdb_kotlinc/test/Utils.kt +++ b/semanticdb-kotlinc/src/test/kotlin/com/sourcegraph/semanticdb_kotlinc/test/Utils.kt @@ -164,18 +164,14 @@ class TestAnalyzerParamsProvider( globals: GlobalSymbolsCache, locals: LocalSymbolsCache, sourceroot: Path, - targetroot: Path, -) : AnalyzerParamsProvider(session, sourceroot, targetroot) { +) : AnalyzerParamsProvider(session, sourceroot) { companion object { fun getFactory( globals: GlobalSymbolsCache, locals: LocalSymbolsCache, sourceroot: Path, - targetroot: Path, ): Factory { - return Factory { - TestAnalyzerParamsProvider(it, globals, locals, sourceroot, targetroot) - } + return Factory { TestAnalyzerParamsProvider(it, globals, locals, sourceroot) } } } @@ -199,9 +195,7 @@ fun semanticdbVisitorAnalyzer( FirExtensionRegistrarAdapter.registerExtension( object : FirExtensionRegistrar() { override fun ExtensionRegistrarContext.configurePlugin() { - +TestAnalyzerParamsProvider.getFactory( - globals, locals, sourceroot, Paths.get("") - ) + +TestAnalyzerParamsProvider.getFactory(globals, locals, sourceroot) +::TestAnalyzerCheckers } }) From 3c9f7456627495a4092499d78c017dbe809eef1c Mon Sep 17 00:00:00 2001 From: Nicolas Guichard Date: Tue, 18 Mar 2025 19:02:09 +0100 Subject: [PATCH 12/54] cleanup: Remove unused AnalyzerDeclarationChecker --- .../semanticdb_kotlinc/AnalyzerCheckers.kt | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerCheckers.kt b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerCheckers.kt index b555d7f2..c2519976 100644 --- a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerCheckers.kt +++ b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerCheckers.kt @@ -3,7 +3,6 @@ package com.sourcegraph.semanticdb_kotlinc import java.nio.file.Path import kotlin.contracts.ExperimentalContracts import org.jetbrains.kotlin.KtSourceFile -import org.jetbrains.kotlin.descriptors.DeclarationDescriptor import org.jetbrains.kotlin.diagnostics.DiagnosticReporter import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.analysis.checkers.MppCheckerKind @@ -17,9 +16,6 @@ import org.jetbrains.kotlin.fir.expressions.FirQualifiedAccessExpression import org.jetbrains.kotlin.fir.references.FirResolvedNamedReference import org.jetbrains.kotlin.fir.resolve.providers.symbolProvider import org.jetbrains.kotlin.name.ClassId -import org.jetbrains.kotlin.psi.KtDeclaration -import org.jetbrains.kotlin.resolve.checkers.DeclarationChecker -import org.jetbrains.kotlin.resolve.checkers.DeclarationCheckerContext open class AnalyzerCheckers(session: FirSession) : FirAdditionalCheckersExtension(session) { companion object { @@ -251,11 +247,3 @@ open class AnalyzerCheckers(session: FirSession) : FirAdditionalCheckersExtensio } } } - -class AnalyzerDeclarationChecker : DeclarationChecker { - override fun check( - declaration: KtDeclaration, - descriptor: DeclarationDescriptor, - context: DeclarationCheckerContext - ) = Unit -} From 412926f11c3f9e202d119cb6af8714d7e57e16af Mon Sep 17 00:00:00 2001 From: Nicolas Guichard Date: Tue, 18 Mar 2025 19:02:47 +0100 Subject: [PATCH 13/54] cleanup: Rename FirQualifiedAccessExpressionChecker.check arg to match overridden --- .../com/sourcegraph/semanticdb_kotlinc/AnalyzerCheckers.kt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerCheckers.kt b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerCheckers.kt index c2519976..4345cdf3 100644 --- a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerCheckers.kt +++ b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerCheckers.kt @@ -231,12 +231,12 @@ open class AnalyzerCheckers(session: FirSession) : FirAdditionalCheckersExtensio FirQualifiedAccessExpressionChecker(MppCheckerKind.Common) { @OptIn(ExperimentalContracts::class) override fun check( - declaration: FirQualifiedAccessExpression, + expression: FirQualifiedAccessExpression, context: CheckerContext, reporter: DiagnosticReporter ) { - val source = declaration.source ?: return - val calleeReference = declaration.calleeReference + val source = expression.source ?: return + val calleeReference = expression.calleeReference if ((calleeReference as? FirResolvedNamedReference) == null) { return } From 60d20626a91acb4f2c840ed5f9876cc276761846 Mon Sep 17 00:00:00 2001 From: Nicolas Guichard Date: Tue, 18 Mar 2025 19:05:11 +0100 Subject: [PATCH 14/54] cleanup: Move AnalyzerParamsProvider member declarations to ctor --- .../sourcegraph/semanticdb_kotlinc/AnalyzerParamsProvider.kt | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerParamsProvider.kt b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerParamsProvider.kt index 85e0281d..f87fde4b 100644 --- a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerParamsProvider.kt +++ b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerParamsProvider.kt @@ -7,15 +7,13 @@ import org.jetbrains.kotlin.fir.extensions.FirExtensionSessionComponent.Factory open class AnalyzerParamsProvider( session: FirSession, - sourceroot: Path, + val sourceroot: Path, ) : FirExtensionSessionComponent(session) { companion object { fun getFactory(sourceroot: Path): Factory { return Factory { AnalyzerParamsProvider(it, sourceroot) } } } - - val sourceroot: Path = sourceroot } val FirSession.analyzerParamsProvider: AnalyzerParamsProvider by FirSession From 33db8f0f8975855f2d6ff845ca2c1b535d3884d7 Mon Sep 17 00:00:00 2001 From: Nicolas Guichard Date: Tue, 18 Mar 2025 19:05:59 +0100 Subject: [PATCH 15/54] cleanup: Remove unused DeclarationExtensions --- .../semanticdb_kotlinc/DeclarationExtensions.kt | 11 ----------- 1 file changed, 11 deletions(-) delete mode 100644 semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/DeclarationExtensions.kt diff --git a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/DeclarationExtensions.kt b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/DeclarationExtensions.kt deleted file mode 100644 index 49654c0c..00000000 --- a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/DeclarationExtensions.kt +++ /dev/null @@ -1,11 +0,0 @@ -package com.sourcegraph.semanticdb_kotlinc - -import org.jetbrains.kotlin.descriptors.ClassDescriptor -import org.jetbrains.kotlin.descriptors.DeclarationDescriptor -import org.jetbrains.kotlin.descriptors.DescriptorVisibilities -import org.jetbrains.kotlin.descriptors.impl.LocalVariableDescriptor - -fun DeclarationDescriptor.isObjectDeclaration(): Boolean = - this is ClassDescriptor && this.visibility == DescriptorVisibilities.LOCAL - -fun DeclarationDescriptor.isLocalVariable(): Boolean = this is LocalVariableDescriptor From d5b37a4209ef3521ed6c829d079c3ff05a690ed7 Mon Sep 17 00:00:00 2001 From: Nicolas Guichard Date: Tue, 18 Mar 2025 19:07:28 +0100 Subject: [PATCH 16/54] cleanup: Remove unused DescriptorResolver --- .../semanticdb_kotlinc/DescriptorResolver.kt | 32 ------------------- .../semanticdb_kotlinc/SymbolsCache.kt | 1 - 2 files changed, 33 deletions(-) delete mode 100644 semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/DescriptorResolver.kt diff --git a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/DescriptorResolver.kt b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/DescriptorResolver.kt deleted file mode 100644 index 1ae3c754..00000000 --- a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/DescriptorResolver.kt +++ /dev/null @@ -1,32 +0,0 @@ -package com.sourcegraph.semanticdb_kotlinc - -import org.jetbrains.kotlin.descriptors.ConstructorDescriptor -import org.jetbrains.kotlin.descriptors.DeclarationDescriptor -import org.jetbrains.kotlin.descriptors.ValueParameterDescriptor -import org.jetbrains.kotlin.psi.KtClass -import org.jetbrains.kotlin.psi.KtDeclaration -import org.jetbrains.kotlin.psi.KtReferenceExpression -import org.jetbrains.kotlin.psi.KtTypeReference -import org.jetbrains.kotlin.resolve.BindingContext -import org.jetbrains.kotlin.resolve.BindingTrace -import org.jetbrains.kotlin.types.KotlinType - -class DescriptorResolver(/* leave public for debugging */ val bindingTrace: BindingTrace) { - fun fromDeclaration(declaration: KtDeclaration): Sequence = sequence { - val descriptor = bindingTrace[BindingContext.DECLARATION_TO_DESCRIPTOR, declaration] - if (descriptor is ValueParameterDescriptor) { - bindingTrace[BindingContext.VALUE_PARAMETER_AS_PROPERTY, descriptor]?.let { yield(it) } - } - descriptor?.let { yield(it) } - } - - fun syntheticConstructor(klass: KtClass): ConstructorDescriptor? = - bindingTrace[BindingContext.CONSTRUCTOR, klass] - - fun fromReference(reference: KtReferenceExpression): DeclarationDescriptor? = - bindingTrace[BindingContext.REFERENCE_TARGET, reference] - - fun fromTypeReference(reference: KtTypeReference): KotlinType = - bindingTrace[BindingContext.TYPE, reference] - ?: bindingTrace[BindingContext.ABBREVIATED_TYPE, reference]!! -} diff --git a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SymbolsCache.kt b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SymbolsCache.kt index 71e2b38c..d504408d 100644 --- a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SymbolsCache.kt +++ b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SymbolsCache.kt @@ -34,7 +34,6 @@ class GlobalSymbolsCache(testing: Boolean = false) : Iterable { private val globals = if (testing) LinkedHashMap, Symbol>() else HashMap, Symbol>() - lateinit var resolver: DescriptorResolver operator fun get(symbol: FirBasedSymbol<*>, locals: LocalSymbolsCache): Sequence = sequence { From 81aa4e53e7096bc4c92c5b4bdf6a3337b301ea1c Mon Sep 17 00:00:00 2001 From: Nicolas Guichard Date: Wed, 19 Mar 2025 14:44:45 +0100 Subject: [PATCH 17/54] cleanup: Remove unused SemanticdbWriter --- .../com/sourcegraph/semanticdb_kotlinc/SemanticdbWriter.kt | 7 ------- 1 file changed, 7 deletions(-) delete mode 100644 semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbWriter.kt diff --git a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbWriter.kt b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbWriter.kt deleted file mode 100644 index 1dcacb77..00000000 --- a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbWriter.kt +++ /dev/null @@ -1,7 +0,0 @@ -package com.sourcegraph.semanticdb_kotlinc - -class SemanticdbWriter { - fun asdf() { - ExistentialType {} - } -} From 3f87c805c88788a50adf45e6d63f469710b7288e Mon Sep 17 00:00:00 2001 From: Nicolas Guichard Date: Fri, 21 Mar 2025 11:24:20 +0100 Subject: [PATCH 18/54] cleanup: Remove unused FirSimpleNameReferenceChecker --- .../FirSimpleNameReferenceChecker.kt | 32 ------------------- 1 file changed, 32 deletions(-) delete mode 100644 semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/FirSimpleNameReferenceChecker.kt diff --git a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/FirSimpleNameReferenceChecker.kt b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/FirSimpleNameReferenceChecker.kt deleted file mode 100644 index 56a789e5..00000000 --- a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/FirSimpleNameReferenceChecker.kt +++ /dev/null @@ -1,32 +0,0 @@ -package com.sourcegraph.semanticdb_kotlinc - -import org.jetbrains.kotlin.diagnostics.DiagnosticReporter -import org.jetbrains.kotlin.fir.analysis.checkers.MppCheckerKind -import org.jetbrains.kotlin.fir.analysis.checkers.context.CheckerContext -import org.jetbrains.kotlin.fir.analysis.checkers.expression.FirQualifiedAccessExpressionChecker -import org.jetbrains.kotlin.fir.expressions.FirQualifiedAccessExpression -import org.jetbrains.kotlin.fir.references.impl.FirSimpleNamedReference - -object FirSimpleNameReferenceChecker : FirQualifiedAccessExpressionChecker(MppCheckerKind.Common) { - override fun check( - expression: FirQualifiedAccessExpression, - context: CheckerContext, - reporter: DiagnosticReporter - ) { - val callee = expression.calleeReference as? FirSimpleNamedReference ?: return - - // Traverse the declaration's body, looking for references - // declaration.accept(object : FirVisitorVoid() { - // override fun visitSimpleNameReference(simpleNameReference: - // FirSimpleNameReference) { - // super.visitSimpleNameReference(simpleNameReference) - // // Add custom logic for simple name references - // // For example, you could log or report errors on unresolved references - // if (simpleNameReference is FirErrorNamedReference) { - // reporter.reportOn(simpleNameReference.source, - // FirErrors.UNRESOLVED_REFERENCE, context) - // } - // } - // }) - } -} From edcce4e1507060f7dd61c17e99aa8b4708e5f309 Mon Sep 17 00:00:00 2001 From: Nicolas Guichard Date: Tue, 18 Mar 2025 19:12:29 +0100 Subject: [PATCH 19/54] cleanup: Remove always false instance check --- .../main/kotlin/com/sourcegraph/semanticdb_kotlinc/LineMap.kt | 2 -- 1 file changed, 2 deletions(-) diff --git a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/LineMap.kt b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/LineMap.kt index d844403f..b9846851 100644 --- a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/LineMap.kt +++ b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/LineMap.kt @@ -3,7 +3,6 @@ package com.sourcegraph.semanticdb_kotlinc import org.jetbrains.kotlin.KtSourceElement import org.jetbrains.kotlin.com.intellij.navigation.NavigationItem import org.jetbrains.kotlin.fir.declarations.FirFile -import org.jetbrains.kotlin.psi.KtPropertyAccessor import org.jetbrains.kotlin.text /** Maps between an element and its identifier positions */ @@ -26,7 +25,6 @@ class LineMap(private val file: FirFile) { companion object { fun nameForOffset(element: KtSourceElement): String = when (element) { - is KtPropertyAccessor -> element.namePlaceholder.text is NavigationItem -> element.name ?: element.text?.toString() ?: "" else -> element.text?.toString() ?: "" } From 8a50efe6c91ebe40420848b126b34848ea7178ed Mon Sep 17 00:00:00 2001 From: Nicolas Guichard Date: Tue, 18 Mar 2025 19:12:48 +0100 Subject: [PATCH 20/54] cleanup: Remove unused EMPTY_PACKAGE val --- .../com/sourcegraph/semanticdb_kotlinc/SemanticdbSymbols.kt | 1 - 1 file changed, 1 deletion(-) diff --git a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbSymbols.kt b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbSymbols.kt index ffb19c7a..571cd9f4 100644 --- a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbSymbols.kt +++ b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbSymbols.kt @@ -5,7 +5,6 @@ value class Symbol(private val symbol: String) { companion object { val NONE = Symbol("") val ROOT_PACKAGE = Symbol("_root_/") - val EMPTY_PACKAGE = Symbol("_empty_/") fun createGlobal(owner: Symbol, desc: SemanticdbSymbolDescriptor): Symbol = when { From 458e15b1637a7bfce39d3ac598458421abce6a4a Mon Sep 17 00:00:00 2001 From: Nicolas Guichard Date: Wed, 19 Mar 2025 14:38:50 +0100 Subject: [PATCH 21/54] cleanup: Remove unused SemanticdbTextDocumentBuilder.cache --- .../semanticdb_kotlinc/SemanticdbTextDocumentBuilder.kt | 3 +-- .../com/sourcegraph/semanticdb_kotlinc/SemanticdbVisitor.kt | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbTextDocumentBuilder.kt b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbTextDocumentBuilder.kt index 1ad178b7..bc9fb615 100644 --- a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbTextDocumentBuilder.kt +++ b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbTextDocumentBuilder.kt @@ -33,8 +33,7 @@ import org.jetbrains.kotlin.psi class SemanticdbTextDocumentBuilder( private val sourceroot: Path, private val file: KtSourceFile, - private val lineMap: LineMap, - private val cache: SymbolsCache + private val lineMap: LineMap ) { private val occurrences = mutableListOf() private val symbols = mutableListOf() diff --git a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbVisitor.kt b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbVisitor.kt index 9a6063fc..dd0c5c9e 100644 --- a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbVisitor.kt +++ b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbVisitor.kt @@ -19,7 +19,7 @@ class SemanticdbVisitor( locals: LocalSymbolsCache = LocalSymbolsCache() ) { private val cache = SymbolsCache(globals, locals) - private val documentBuilder = SemanticdbTextDocumentBuilder(sourceroot, file, lineMap, cache) + private val documentBuilder = SemanticdbTextDocumentBuilder(sourceroot, file, lineMap) private data class SymbolDescriptorPair( val firBasedSymbol: FirBasedSymbol<*>, From d96d12725e043933fc04499bbb063c70e65a4240 Mon Sep 17 00:00:00 2001 From: Nicolas Guichard Date: Wed, 19 Mar 2025 14:40:18 +0100 Subject: [PATCH 22/54] cleanup: Remove SemanticdbVisitor.file and lineMap properties --- .../com/sourcegraph/semanticdb_kotlinc/SemanticdbVisitor.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbVisitor.kt b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbVisitor.kt index dd0c5c9e..371522cd 100644 --- a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbVisitor.kt +++ b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbVisitor.kt @@ -13,8 +13,8 @@ import org.jetbrains.kotlin.fir.symbols.impl.FirClassLikeSymbol @ExperimentalContracts class SemanticdbVisitor( sourceroot: Path, - private val file: KtSourceFile, - private val lineMap: LineMap, + file: KtSourceFile, + lineMap: LineMap, globals: GlobalSymbolsCache, locals: LocalSymbolsCache = LocalSymbolsCache() ) { From 93d1a694b97c015de64c2fdf301bf6a96b944324 Mon Sep 17 00:00:00 2001 From: Nicolas Guichard Date: Wed, 19 Mar 2025 14:48:04 +0100 Subject: [PATCH 23/54] cleanup: Remove unreachable symbol is FirTypeAliasSymbol branch --- .../kotlin/com/sourcegraph/semanticdb_kotlinc/SymbolsCache.kt | 2 -- 1 file changed, 2 deletions(-) diff --git a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SymbolsCache.kt b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SymbolsCache.kt index d504408d..109ff091 100644 --- a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SymbolsCache.kt +++ b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SymbolsCache.kt @@ -166,8 +166,6 @@ class GlobalSymbolsCache(testing: Boolean = false) : Iterable { SemanticdbSymbolDescriptor(Kind.PARAMETER, symbol.name.toString()) symbol is FirVariableSymbol -> SemanticdbSymbolDescriptor(Kind.TERM, symbol.name.toString()) - symbol is FirTypeAliasSymbol -> - SemanticdbSymbolDescriptor(Kind.TYPE, symbol.name.toString()) else -> { err.println("unknown symbol kind ${symbol.javaClass.simpleName}") SemanticdbSymbolDescriptor.NONE From 52e9fa0d2dd29332b68a729464818369b75088aa Mon Sep 17 00:00:00 2001 From: Nicolas Guichard Date: Wed, 19 Mar 2025 14:58:11 +0100 Subject: [PATCH 24/54] cleanup: Move TestAnalyzerParamsProvider property declarations to ctor --- .../com/sourcegraph/semanticdb_kotlinc/test/Utils.kt | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/semanticdb-kotlinc/src/test/kotlin/com/sourcegraph/semanticdb_kotlinc/test/Utils.kt b/semanticdb-kotlinc/src/test/kotlin/com/sourcegraph/semanticdb_kotlinc/test/Utils.kt index a98fa7e7..aec3674b 100644 --- a/semanticdb-kotlinc/src/test/kotlin/com/sourcegraph/semanticdb_kotlinc/test/Utils.kt +++ b/semanticdb-kotlinc/src/test/kotlin/com/sourcegraph/semanticdb_kotlinc/test/Utils.kt @@ -161,8 +161,8 @@ private class TestAnalyzerCheckers(session: FirSession) : AnalyzerCheckers(sessi @OptIn(ExperimentalContracts::class) class TestAnalyzerParamsProvider( session: FirSession, - globals: GlobalSymbolsCache, - locals: LocalSymbolsCache, + var globals: GlobalSymbolsCache, + var locals: LocalSymbolsCache, sourceroot: Path, ) : AnalyzerParamsProvider(session, sourceroot) { companion object { @@ -174,9 +174,6 @@ class TestAnalyzerParamsProvider( return Factory { TestAnalyzerParamsProvider(it, globals, locals, sourceroot) } } } - - val globals: GlobalSymbolsCache = globals - val locals: LocalSymbolsCache = locals } val FirSession.testAnalyzerParamsProvider: TestAnalyzerParamsProvider by FirSession From 21273db598198e1eaa0f6ee6d06a0de644dbb834 Mon Sep 17 00:00:00 2001 From: Nicolas Guichard Date: Fri, 21 Mar 2025 11:25:11 +0100 Subject: [PATCH 25/54] cleanup: Remove unused VisitorException --- .../com/sourcegraph/semanticdb_kotlinc/SemanticdbVisitor.kt | 1 - 1 file changed, 1 deletion(-) diff --git a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbVisitor.kt b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbVisitor.kt index 371522cd..50139ca1 100644 --- a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbVisitor.kt +++ b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbVisitor.kt @@ -99,4 +99,3 @@ class SemanticdbVisitor( } } -class VisitorException(msg: String, throwable: Throwable) : Exception(msg, throwable) From 487c58e7fa3babc85faf3dff0410a5aea3f4a1a1 Mon Sep 17 00:00:00 2001 From: Nicolas Guichard Date: Fri, 21 Mar 2025 11:27:07 +0100 Subject: [PATCH 26/54] cleanup: Remove broken functionDescriptorOverrides Its cast always fails --- .../SemanticdbTextDocumentBuilder.kt | 64 ------------------- 1 file changed, 64 deletions(-) diff --git a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbTextDocumentBuilder.kt b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbTextDocumentBuilder.kt index bc9fb615..f440fb8b 100644 --- a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbTextDocumentBuilder.kt +++ b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbTextDocumentBuilder.kt @@ -13,18 +13,11 @@ import org.jetbrains.kotlin.com.intellij.lang.java.JavaLanguage import org.jetbrains.kotlin.com.intellij.openapi.util.Ref import org.jetbrains.kotlin.com.intellij.util.diff.FlyweightCapableTreeStructure import org.jetbrains.kotlin.fir.FirElement -import org.jetbrains.kotlin.fir.containingClassLookupTag -import org.jetbrains.kotlin.fir.declarations.FirRegularClass -import org.jetbrains.kotlin.fir.declarations.FirSimpleFunction -import org.jetbrains.kotlin.fir.declarations.utils.isOverride import org.jetbrains.kotlin.fir.render -import org.jetbrains.kotlin.fir.resolve.toSymbol import org.jetbrains.kotlin.fir.symbols.FirBasedSymbol import org.jetbrains.kotlin.fir.symbols.SymbolInternals import org.jetbrains.kotlin.fir.symbols.impl.* import org.jetbrains.kotlin.fir.types.ConeClassLikeType -import org.jetbrains.kotlin.fir.types.coneType -import org.jetbrains.kotlin.fir.types.coneTypeSafe import org.jetbrains.kotlin.idea.KotlinLanguage import org.jetbrains.kotlin.lexer.KtTokens import org.jetbrains.kotlin.psi @@ -69,62 +62,6 @@ class SemanticdbTextDocumentBuilder( private val isIgnoredSuperClass = setOf("kotlin.Any", "java.lang.Object", "java.io.Serializable") - @OptIn(SymbolInternals::class) - private fun functionDescriptorOverrides( - functionSymbol: FirFunctionSymbol<*> - ): Iterable { - val containingClassSymbol = - functionSymbol - .containingClassLookupTag() - ?.toSymbol(functionSymbol.fir.moduleData.session) as? - FirRegularClass - if (containingClassSymbol != null) { - // Get the super types of the class - val superTypes: List = - containingClassSymbol.superTypeRefs.mapNotNull { it.coneTypeSafe() } - - val overriddenFunctions = mutableListOf>() - - // Traverse the super types to find functions with the same signature - superTypes.forEach { superType -> - val superClassSymbol = - superType.lookupTag.toSymbol(functionSymbol.fir.moduleData.session) as? - FirRegularClass - superClassSymbol?.declarations?.forEach { declaration -> - if (declaration is FirSimpleFunction && - declaration.isOverride && - declaration.isOverride(functionSymbol)) { - overriddenFunctions.add(declaration.symbol) - } - } - } - return overriddenFunctions.map { it.toString() } - } - return emptyList() - } - - @OptIn(SymbolInternals::class) - private fun FirSimpleFunction.isOverride(otherFunctionSymbol: FirFunctionSymbol<*>): Boolean { - // Compare names - if (this.symbol.callableId.callableName != otherFunctionSymbol.callableId.callableName) - return false - - // Compare return types - if (this.returnTypeRef.coneType != otherFunctionSymbol.fir.returnTypeRef.coneType) - return false - - // Compare value parameters - val thisParams = this.valueParameters - val otherParams = otherFunctionSymbol.fir.valueParameters - if (thisParams.size != otherParams.size) return false - - for ((thisParam, otherParam) in thisParams.zip(otherParams)) { - if (thisParam.returnTypeRef.coneType != otherParam.returnTypeRef.coneType) return false - } - - return true - } - @OptIn(SymbolInternals::class) private fun symbolInformation( firBasedSymbol: FirBasedSymbol<*>, @@ -142,7 +79,6 @@ class SemanticdbTextDocumentBuilder( } .map { it.toString() } .asIterable() - is FirFunctionSymbol -> functionDescriptorOverrides(firBasedSymbol) else -> emptyList().asIterable() } return SymbolInformation { From 842a4b5b45095ba8f9f4963525f027232a1deddd Mon Sep 17 00:00:00 2001 From: Nicolas Guichard Date: Fri, 21 Mar 2025 11:29:00 +0100 Subject: [PATCH 27/54] cleanup: symbolOccurrence is not nullable --- .../semanticdb_kotlinc/SemanticdbTextDocumentBuilder.kt | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbTextDocumentBuilder.kt b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbTextDocumentBuilder.kt index f440fb8b..7058c33b 100644 --- a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbTextDocumentBuilder.kt +++ b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbTextDocumentBuilder.kt @@ -49,7 +49,7 @@ class SemanticdbTextDocumentBuilder( element: KtSourceElement, role: Role ) { - symbolOccurrence(symbol, element, role)?.let { + symbolOccurrence(symbol, element, role).let { if (!occurrences.contains(it)) { occurrences.add(it) } @@ -99,12 +99,7 @@ class SemanticdbTextDocumentBuilder( symbol: Symbol, element: KtSourceElement, role: Role - ): Semanticdb.SymbolOccurrence? { - /*val symbol = when(val s = globals[descriptor, locals]) { - Symbol.NONE -> return null - else -> s - }.symbol*/ - + ): Semanticdb.SymbolOccurrence { return SymbolOccurrence { this.symbol = symbol.toString() this.role = role From cadf19fc3a03974aa82651ff5714c032d6c0708c Mon Sep 17 00:00:00 2001 From: Nicolas Guichard Date: Fri, 21 Mar 2025 11:31:52 +0100 Subject: [PATCH 28/54] cleanup: Use map[key] = value instead of map.put(key, value) --- .../kotlin/com/sourcegraph/semanticdb_kotlinc/SymbolsCache.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SymbolsCache.kt b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SymbolsCache.kt index 109ff091..dbb15cb4 100644 --- a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SymbolsCache.kt +++ b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SymbolsCache.kt @@ -322,7 +322,7 @@ class LocalSymbolsCache : Iterable { operator fun plus(symbol: FirBasedSymbol<*>): Symbol { val result = Symbol.createLocal(localsCounter++) - symbols.put(symbol, result) + symbols[symbol] = result return result } From 84f94a4d6b72b06858215240aaa62878be1acef0 Mon Sep 17 00:00:00 2001 From: Nicolas Guichard Date: Fri, 21 Mar 2025 11:33:25 +0100 Subject: [PATCH 29/54] cleanup: Remove unused FirConstructorSymbol.isFromTypeAlias --- .../sourcegraph/semanticdb_kotlinc/SymbolsCache.kt | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SymbolsCache.kt b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SymbolsCache.kt index dbb15cb4..84da3143 100644 --- a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SymbolsCache.kt +++ b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SymbolsCache.kt @@ -222,20 +222,6 @@ class GlobalSymbolsCache(testing: Boolean = false) : Iterable { else -> "()" } - @OptIn(SymbolInternals::class) - private fun FirConstructorSymbol.isFromTypeAlias(): Boolean { - val session = moduleData.session - val classId = - resolvedReturnTypeRef.coneTypeSafe()?.classId ?: return false - val classSymbol = session.symbolProvider.getClassLikeSymbolByClassId(classId) - - if (classSymbol is FirTypeAliasSymbol) { - val expandedClassId = classSymbol.fir.expandedTypeRef.coneType.classId - return expandedClassId == classId - } - return false - } - private fun FirConstructorSymbol.getTypeAliasSymbol(): FirTypeAliasSymbol? { val session = moduleData.session val classId = resolvedReturnTypeRef.coneType.classId ?: return null From b5d5dd5ae24e86c41a8e5158516afdfa4f1a8f0c Mon Sep 17 00:00:00 2001 From: Nicolas Guichard Date: Fri, 21 Mar 2025 11:34:19 +0100 Subject: [PATCH 30/54] cleanup: Remove unused FirConstructorSymbol.getTypeAliasSymbol --- .../com/sourcegraph/semanticdb_kotlinc/SymbolsCache.kt | 8 -------- 1 file changed, 8 deletions(-) diff --git a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SymbolsCache.kt b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SymbolsCache.kt index 84da3143..687c1071 100644 --- a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SymbolsCache.kt +++ b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SymbolsCache.kt @@ -15,7 +15,6 @@ import org.jetbrains.kotlin.fir.declarations.FirRegularClass import org.jetbrains.kotlin.fir.declarations.utils.nameOrSpecialName import org.jetbrains.kotlin.fir.resolve.providers.firProvider import org.jetbrains.kotlin.fir.resolve.providers.getContainingFile -import org.jetbrains.kotlin.fir.resolve.providers.symbolProvider import org.jetbrains.kotlin.fir.symbols.FirBasedSymbol import org.jetbrains.kotlin.fir.symbols.SymbolInternals import org.jetbrains.kotlin.fir.symbols.impl.* @@ -222,13 +221,6 @@ class GlobalSymbolsCache(testing: Boolean = false) : Iterable { else -> "()" } - private fun FirConstructorSymbol.getTypeAliasSymbol(): FirTypeAliasSymbol? { - val session = moduleData.session - val classId = resolvedReturnTypeRef.coneType.classId ?: return null - val classSymbol = session.symbolProvider.getClassLikeSymbolByClassId(classId) - return classSymbol as? FirTypeAliasSymbol - } - private fun getAllMethods( desc: FunctionDescriptor, ownerDecl: DeclarationDescriptor From fccce6ce9a55434b03711d2dc5d4f7a7e3747379 Mon Sep 17 00:00:00 2001 From: Nicolas Guichard Date: Fri, 21 Mar 2025 11:35:10 +0100 Subject: [PATCH 31/54] cleanup: Remove unused getAllMethods --- .../semanticdb_kotlinc/SymbolsCache.kt | 74 +------------------ 1 file changed, 3 insertions(+), 71 deletions(-) diff --git a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SymbolsCache.kt b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SymbolsCache.kt index 687c1071..93dcb145 100644 --- a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SymbolsCache.kt +++ b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SymbolsCache.kt @@ -4,7 +4,7 @@ import com.sourcegraph.semanticdb_kotlinc.SemanticdbSymbolDescriptor.Kind import java.lang.System.err import kotlin.contracts.ExperimentalContracts import kotlin.contracts.contract -import org.jetbrains.kotlin.descriptors.* +import org.jetbrains.kotlin.descriptors.ClassKind import org.jetbrains.kotlin.fir.analysis.checkers.declaration.isLocalMember import org.jetbrains.kotlin.fir.analysis.checkers.getContainingClassSymbol import org.jetbrains.kotlin.fir.analysis.checkers.getContainingSymbol @@ -18,14 +18,8 @@ import org.jetbrains.kotlin.fir.resolve.providers.getContainingFile import org.jetbrains.kotlin.fir.symbols.FirBasedSymbol import org.jetbrains.kotlin.fir.symbols.SymbolInternals import org.jetbrains.kotlin.fir.symbols.impl.* -import org.jetbrains.kotlin.fir.types.* -import org.jetbrains.kotlin.load.kotlin.toSourceElement -import org.jetbrains.kotlin.psi.KtBlockExpression -import org.jetbrains.kotlin.psi.KtNamedFunction -import org.jetbrains.kotlin.resolve.scopes.DescriptorKindFilter -import org.jetbrains.kotlin.resolve.scopes.getDescriptorsFiltered -import org.jetbrains.kotlin.resolve.source.getPsi -import org.jetbrains.kotlin.types.TypeUtils +import org.jetbrains.kotlin.fir.types.ConeKotlinType +import org.jetbrains.kotlin.fir.types.coneType import org.jetbrains.kotlin.util.capitalizeDecapitalize.capitalizeAsciiOnly @ExperimentalContracts @@ -221,68 +215,6 @@ class GlobalSymbolsCache(testing: Boolean = false) : Iterable { else -> "()" } - private fun getAllMethods( - desc: FunctionDescriptor, - ownerDecl: DeclarationDescriptor - ): Collection = - when (ownerDecl) { - is PackageFragmentDescriptor -> - ownerDecl - .getMemberScope() - .getDescriptorsFiltered(DescriptorKindFilter.FUNCTIONS) - .map { it as CallableMemberDescriptor } - is ClassDescriptorWithResolutionScopes -> { - when (desc) { - is ClassConstructorDescriptor -> { - val constructors = - (desc.containingDeclaration as ClassDescriptorWithResolutionScopes) - .constructors as - ArrayList - // primary constructor always seems to be last, so move it to the start. - if (constructors.last().isPrimary) - constructors.add(0, constructors.removeLast()) - constructors - } - else -> ownerDecl.declaredCallableMembers - } - } - is FunctionDescriptor -> - ownerDecl.toSourceElement.getPsi()!! - .children - .first { it is KtBlockExpression } - .children - .filterIsInstance() - .map { resolver.fromDeclaration(it).single() as CallableMemberDescriptor } - is ClassDescriptor -> { - // Do we have to go recursively? - // https://sourcegraph.com/github.com/JetBrains/kotlin/-/blob/idea/src/org/jetbrains/kotlin/idea/actions/generate/utils.kt?L32:5 - val methods = - ownerDecl - .unsubstitutedMemberScope - .getContributedDescriptors() - .filterIsInstance() - val staticMethods = - ownerDecl - .staticScope - .getContributedDescriptors() - .filterIsInstance() - val ctors = ownerDecl.constructors.toList() - val allFuncs = - ArrayList(methods.size + ctors.size + staticMethods.size) - allFuncs.addAll(ctors) - allFuncs.addAll(methods) - allFuncs.addAll(staticMethods) - allFuncs - } - is TypeAliasDescriptor -> { - // We get the underlying class descriptor and restart the process recursively - getAllMethods(desc, TypeUtils.getClassDescriptor(ownerDecl.underlyingType)!!) - } - else -> - throw IllegalStateException( - "unexpected owner decl type '${ownerDecl.javaClass}':\n\t\tMethod: ${desc}\n\t\tParent: $ownerDecl") - } - override fun iterator(): Iterator = globals.values.iterator() } From 1734b76638041f3cad96b48061f76bb27b338191 Mon Sep 17 00:00:00 2001 From: Nicolas Guichard Date: Fri, 21 Mar 2025 11:36:36 +0100 Subject: [PATCH 32/54] cleanup: Remove unreachable disambiguatePropertySymbol --- .../com/sourcegraph/semanticdb_kotlinc/SymbolsCache.kt | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SymbolsCache.kt b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SymbolsCache.kt index 93dcb145..2d6f7c43 100644 --- a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SymbolsCache.kt +++ b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SymbolsCache.kt @@ -198,20 +198,10 @@ class GlobalSymbolsCache(testing: Boolean = false) : Iterable { return "class $fqName" } - @OptIn(SymbolInternals::class) - private fun disambiguatePropertySymbol(propertySymbol: FirPropertySymbol): String { - val propertyId = propertySymbol.callableId - val fqName = propertyId.packageName.asString() - val propertyName = propertyId.callableName.asString() - val returnType = propertySymbol.fir.returnTypeRef.coneType.render() - return "$fqName.$propertyName: $returnType" - } - private fun methodDisambiguator(symbol: FirBasedSymbol<*>): String = when (symbol) { is FirCallableSymbol<*> -> disambiguateCallableSymbol(symbol) is FirClassSymbol<*> -> disambiguateClassSymbol(symbol) - is FirPropertySymbol -> disambiguatePropertySymbol(symbol) else -> "()" } From f7ee9319b543eb39659e736861641e69a5bd0c79 Mon Sep 17 00:00:00 2001 From: Nicolas Guichard Date: Fri, 21 Mar 2025 12:42:24 +0100 Subject: [PATCH 33/54] cleanup: Make ConeKotlinType?.render private --- .../kotlin/com/sourcegraph/semanticdb_kotlinc/SymbolsCache.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SymbolsCache.kt b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SymbolsCache.kt index 2d6f7c43..2d31e7a4 100644 --- a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SymbolsCache.kt +++ b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SymbolsCache.kt @@ -189,7 +189,7 @@ class GlobalSymbolsCache(testing: Boolean = false) : Iterable { } // Extension function to render a ConeKotlinType to a string - fun ConeKotlinType?.render(): String = this?.toString() ?: "Unit" + private fun ConeKotlinType?.render(): String = this?.toString() ?: "Unit" private fun disambiguateClassSymbol(classSymbol: FirClassSymbol<*>): String { val classId = classSymbol.classId From 703db08348e69e59bebb6f23040c498a65d41ddc Mon Sep 17 00:00:00 2001 From: Nicolas Guichard Date: Tue, 14 Jan 2025 01:04:21 +0100 Subject: [PATCH 34/54] Fix exception handling According to existing tests, exceptions in the semanticdb-kotlinc plugin should not propagate to the host. Down to 23 failing tests. --- .../PostAnalysisExtension.kt | 52 +++++++++++++++++-- 1 file changed, 47 insertions(+), 5 deletions(-) diff --git a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/PostAnalysisExtension.kt b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/PostAnalysisExtension.kt index 6e5e3a68..8d9247e7 100644 --- a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/PostAnalysisExtension.kt +++ b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/PostAnalysisExtension.kt @@ -1,5 +1,7 @@ package com.sourcegraph.semanticdb_kotlinc +import java.io.PrintWriter +import java.io.Writer import java.nio.file.Files import java.nio.file.Path import java.nio.file.Paths @@ -7,6 +9,11 @@ import kotlin.contracts.ExperimentalContracts import org.jetbrains.kotlin.KtSourceFile import org.jetbrains.kotlin.backend.common.extensions.IrGenerationExtension import org.jetbrains.kotlin.backend.common.extensions.IrPluginContext +import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSeverity +import org.jetbrains.kotlin.cli.common.messages.MessageRenderer +import org.jetbrains.kotlin.cli.common.messages.PrintingMessageCollector +import org.jetbrains.kotlin.config.CommonConfigurationKeys +import org.jetbrains.kotlin.config.CompilerConfiguration import org.jetbrains.kotlin.ir.declarations.IrModuleFragment class PostAnalysisExtension( @@ -16,12 +23,20 @@ class PostAnalysisExtension( ) : IrGenerationExtension { @OptIn(ExperimentalContracts::class) override fun generate(moduleFragment: IrModuleFragment, pluginContext: IrPluginContext) { - for ((ktSourceFile, visitor) in AnalyzerCheckers.visitors) { - val document = visitor.build() - semanticdbOutPathForFile(ktSourceFile)?.apply { - Files.write(this, TextDocuments { addDocuments(document) }.toByteArray()) + try { + for ((ktSourceFile, visitor) in AnalyzerCheckers.visitors) { + try { + val document = visitor.build() + semanticdbOutPathForFile(ktSourceFile)?.apply { + Files.write(this, TextDocuments { addDocuments(document) }.toByteArray()) + } + callback(document) + } catch (e: Exception) { + handleException(e) + } } - callback(document) + } catch (e: Exception) { + handleException(e) } } @@ -44,4 +59,31 @@ class PostAnalysisExtension( "given file is not under the sourceroot.\n\tSourceroot: $sourceRoot\n\tFile path: ${file.path}\n\tNormalized file path: $normalizedPath") return null } + + private val messageCollector = + CompilerConfiguration() + .get( + CommonConfigurationKeys.MESSAGE_COLLECTOR_KEY, + PrintingMessageCollector(System.err, MessageRenderer.PLAIN_FULL_PATHS, false)) + + private fun handleException(e: Exception) { + val writer = + PrintWriter( + object : Writer() { + val buf = StringBuffer() + override fun close() = + messageCollector.report(CompilerMessageSeverity.EXCEPTION, buf.toString()) + + override fun flush() = Unit + override fun write(data: CharArray, offset: Int, len: Int) { + buf.append(data, offset, len) + } + }, + false) + writer.println("Exception in semanticdb-kotlin compiler plugin:") + e.printStackTrace(writer) + writer.println( + "Please report a bug to https://github.com/sourcegraph/lsif-kotlin with the stack trace above.") + writer.close() + } } From 05f60a9c8f06cf67f27471064bf6d35cea65ad38 Mon Sep 17 00:00:00 2001 From: Nicolas Guichard Date: Mon, 13 Jan 2025 17:27:24 +0100 Subject: [PATCH 35/54] Fix class name to not embed all packages We want the symbol for a class to be package/package/Class#, instead this gave us `package/package/Class`#. Now we have just Class#, packages will be added back in a future commit. The display name should just be the simple class name. Still 23 failing tests. --- .../semanticdb_kotlinc/SemanticdbTextDocumentBuilder.kt | 2 +- .../kotlin/com/sourcegraph/semanticdb_kotlinc/SymbolsCache.kt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbTextDocumentBuilder.kt b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbTextDocumentBuilder.kt index 7058c33b..9b3b3a5d 100644 --- a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbTextDocumentBuilder.kt +++ b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbTextDocumentBuilder.kt @@ -199,7 +199,7 @@ class SemanticdbTextDocumentBuilder( @OptIn(SymbolInternals::class) private fun displayName(firBasedSymbol: FirBasedSymbol<*>): String = when (firBasedSymbol) { - is FirClassSymbol -> firBasedSymbol.classId.asSingleFqName().asString() + is FirClassSymbol -> firBasedSymbol.classId.shortClassName.asString() is FirPropertyAccessorSymbol -> firBasedSymbol.fir.propertySymbol.name.asString() is FirFunctionSymbol -> firBasedSymbol.callableId.callableName.asString() is FirPropertySymbol -> firBasedSymbol.callableId.callableName.asString() diff --git a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SymbolsCache.kt b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SymbolsCache.kt index 2d31e7a4..e8316e5d 100644 --- a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SymbolsCache.kt +++ b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SymbolsCache.kt @@ -139,7 +139,7 @@ class GlobalSymbolsCache(testing: Boolean = false) : Iterable { private fun semanticdbDescriptor(symbol: FirBasedSymbol<*>): SemanticdbSymbolDescriptor { return when { symbol is FirClassLikeSymbol -> - SemanticdbSymbolDescriptor(Kind.TYPE, symbol.classId.asString()) + SemanticdbSymbolDescriptor(Kind.TYPE, symbol.classId.shortClassName.asString()) symbol is FirPropertyAccessorSymbol && symbol.fir.nameOrSpecialName.asStringStripSpecialMarkers().startsWith("set") -> SemanticdbSymbolDescriptor( From 076c9364558791b37bfdb86aaef1e259742fd20c Mon Sep 17 00:00:00 2001 From: Nicolas Guichard Date: Tue, 14 Jan 2025 01:10:48 +0100 Subject: [PATCH 36/54] Rework symbol construction MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This: - Adds special handling for packages, which are represented by FqName rather than PackageDescriptor. → This gives package/package/Class# instead of just Class#. - Removes FileKt# fake classes for toplevel methods and properties These don't appear in imports, so I don't think they are wanted. This changes the test expectations, but remains SemanticDB-compliant. → This gives kotlin/io/println(). instead of kotlin/io/ConsoleKt#println(). Down to 19 failing tests. --- .../semanticdb_kotlinc/SemanticdbSymbols.kt | 2 +- .../semanticdb_kotlinc/SymbolsCache.kt | 88 +++++++++---------- .../semanticdb_kotlinc/test/AnalyzerTest.kt | 2 +- .../test/SemanticdbSymbolsTest.kt | 35 ++++---- 4 files changed, 61 insertions(+), 66 deletions(-) diff --git a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbSymbols.kt b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbSymbols.kt index 571cd9f4..3e60befc 100644 --- a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbSymbols.kt +++ b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbSymbols.kt @@ -8,7 +8,7 @@ value class Symbol(private val symbol: String) { fun createGlobal(owner: Symbol, desc: SemanticdbSymbolDescriptor): Symbol = when { - desc == SemanticdbSymbolDescriptor.NONE -> NONE + desc == SemanticdbSymbolDescriptor.NONE -> owner owner != ROOT_PACKAGE -> Symbol(owner.symbol + desc.encode().symbol) else -> desc.encode() } diff --git a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SymbolsCache.kt b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SymbolsCache.kt index e8316e5d..08b8d5b3 100644 --- a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SymbolsCache.kt +++ b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SymbolsCache.kt @@ -4,22 +4,19 @@ import com.sourcegraph.semanticdb_kotlinc.SemanticdbSymbolDescriptor.Kind import java.lang.System.err import kotlin.contracts.ExperimentalContracts import kotlin.contracts.contract -import org.jetbrains.kotlin.descriptors.ClassKind import org.jetbrains.kotlin.fir.analysis.checkers.declaration.isLocalMember -import org.jetbrains.kotlin.fir.analysis.checkers.getContainingClassSymbol import org.jetbrains.kotlin.fir.analysis.checkers.getContainingSymbol -import org.jetbrains.kotlin.fir.declarations.FirDeclaration import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin import org.jetbrains.kotlin.fir.declarations.FirFunction -import org.jetbrains.kotlin.fir.declarations.FirRegularClass import org.jetbrains.kotlin.fir.declarations.utils.nameOrSpecialName -import org.jetbrains.kotlin.fir.resolve.providers.firProvider -import org.jetbrains.kotlin.fir.resolve.providers.getContainingFile +import org.jetbrains.kotlin.fir.packageFqName +import org.jetbrains.kotlin.fir.resolve.getContainingDeclaration import org.jetbrains.kotlin.fir.symbols.FirBasedSymbol import org.jetbrains.kotlin.fir.symbols.SymbolInternals import org.jetbrains.kotlin.fir.symbols.impl.* import org.jetbrains.kotlin.fir.types.ConeKotlinType import org.jetbrains.kotlin.fir.types.coneType +import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.util.capitalizeDecapitalize.capitalizeAsciiOnly @ExperimentalContracts @@ -27,6 +24,8 @@ class GlobalSymbolsCache(testing: Boolean = false) : Iterable { private val globals = if (testing) LinkedHashMap, Symbol>() else HashMap, Symbol>() + private val packages = + if (testing) LinkedHashMap() else HashMap() operator fun get(symbol: FirBasedSymbol<*>, locals: LocalSymbolsCache): Sequence = sequence { @@ -67,6 +66,12 @@ class GlobalSymbolsCache(testing: Boolean = false) : Iterable { if (it.isGlobal()) globals[symbol] = it } } + private fun getSymbol(symbol: FqName): Symbol { + packages[symbol]?.let { + return it + } + return uncachedSemanticdbSymbol(symbol).also { if (it.isGlobal()) packages[symbol] = it } + } private fun skip(symbol: FirBasedSymbol<*>?): Boolean { contract { returns(false) implies (symbol != null) } @@ -79,27 +84,23 @@ class GlobalSymbolsCache(testing: Boolean = false) : Iterable { locals: LocalSymbolsCache ): Symbol { if (skip(symbol)) return Symbol.NONE - val ownerSymbol = getParentSymbol(symbol) - var owner = ownerSymbol?.let { this.getSymbol(it, locals) } ?: Symbol.ROOT_PACKAGE - if ((ownerSymbol?.fir as? FirRegularClass)?.classKind == ClassKind.OBJECT || - owner.isLocal() || - (ownerSymbol as? FirBasedSymbol)?.fir?.isLocalMember == true || - ownerSymbol is FirAnonymousFunctionSymbol || - (symbol as? FirBasedSymbol)?.fir?.isLocalMember == true) - return locals + symbol - - // if is a top-level function or variable, Kotlin creates a wrapping class - if (ownerSymbol !is FirClassSymbol && - (symbol is FirFunctionSymbol || symbol is FirPropertySymbol)) { - owner = - Symbol.createGlobal( - owner, SemanticdbSymbolDescriptor(Kind.TYPE, sourceFileToClassSymbol(symbol))) - } + if (symbol.fir.isLocalMember) return locals + symbol + + val owner = getParentSymbol(symbol, locals) val semanticdbDescriptor = semanticdbDescriptor(symbol) + return Symbol.createGlobal(owner, semanticdbDescriptor) } + private fun uncachedSemanticdbSymbol(symbol: FqName): Symbol { + if (symbol.isRoot) return Symbol.ROOT_PACKAGE + + val owner = this.getSymbol(symbol.parent()) + return Symbol.createGlobal( + owner, SemanticdbSymbolDescriptor(Kind.PACKAGE, symbol.shortName().asString())) + } + /** * Returns the parent DeclarationDescriptor for a given DeclarationDescriptor. For most * descriptor types, this simply returns the 'containing' descriptor. For Module- or @@ -108,31 +109,26 @@ class GlobalSymbolsCache(testing: Boolean = false) : Iterable { * `test.sample`. */ @OptIn(SymbolInternals::class) - private fun getParentSymbol(symbol: FirBasedSymbol<*>): FirBasedSymbol<*>? { - val session = symbol.fir.moduleData.session - return symbol.getContainingClassSymbol() - ?: (symbol as? FirBasedSymbol<*>)?.let { - try { - session.firProvider.getContainingFile(it)?.symbol - } catch (ex: IllegalStateException) { - null - } + private fun getParentSymbol(symbol: FirBasedSymbol<*>, locals: LocalSymbolsCache): Symbol { + when (symbol) { + is FirTypeParameterSymbol -> + return getSymbol(symbol.containingDeclarationSymbol, locals) + is FirValueParameterSymbol -> return getSymbol(symbol.containingFunctionSymbol, locals) + is FirCallableSymbol -> { + val session = symbol.fir.moduleData.session + return symbol.getContainingSymbol(session)?.let { getSymbol(it, locals) } + ?: getSymbol(symbol.packageFqName()) } - } - - /** - * generates the synthetic class name from the source file - * https://kotlinlang.org/docs/java-to-kotlin-interop.html#package-level-functions - */ - @OptIn(SymbolInternals::class) - private fun sourceFileToClassSymbol(symbol: FirBasedSymbol<*>): String { - val callableSymbol = (symbol as? FirCallableSymbol<*>) ?: return "" - val packageName = - (callableSymbol.getContainingSymbol(symbol.moduleData.session) as? FirFileSymbol) - ?.fir - ?.name - ?: symbol.callableId.packageName.asString() - return "${packageName}.${callableSymbol.callableId.callableName.asString()}" + is FirClassLikeSymbol -> { + val session = symbol.fir.moduleData.session + return symbol.getContainingDeclaration(session)?.let { getSymbol(it, locals) } + ?: getSymbol(symbol.packageFqName()) + } + is FirFileSymbol -> { + return getSymbol(symbol.fir.packageFqName) + } + else -> return Symbol.NONE + } } @OptIn(SymbolInternals::class) diff --git a/semanticdb-kotlinc/src/test/kotlin/com/sourcegraph/semanticdb_kotlinc/test/AnalyzerTest.kt b/semanticdb-kotlinc/src/test/kotlin/com/sourcegraph/semanticdb_kotlinc/test/AnalyzerTest.kt index 1b0ecf32..a5ec4024 100644 --- a/semanticdb-kotlinc/src/test/kotlin/com/sourcegraph/semanticdb_kotlinc/test/AnalyzerTest.kt +++ b/semanticdb-kotlinc/src/test/kotlin/com/sourcegraph/semanticdb_kotlinc/test/AnalyzerTest.kt @@ -601,7 +601,7 @@ class AnalyzerTest { inline fun docstrings(msg: String): Int { return msg.length } """.trimIndent()) document.assertDocumentation("sample/Docstrings#", "Example class docstring") - document.assertDocumentation("sample/TestKt#docstrings().", "Example method docstring") + document.assertDocumentation("sample/docstrings().", "Example method docstring") } private fun TextDocument.assertDocumentation(symbol: String, expectedDocumentation: String) { diff --git a/semanticdb-kotlinc/src/test/kotlin/com/sourcegraph/semanticdb_kotlinc/test/SemanticdbSymbolsTest.kt b/semanticdb-kotlinc/src/test/kotlin/com/sourcegraph/semanticdb_kotlinc/test/SemanticdbSymbolsTest.kt index 2bed61d7..ac347300 100644 --- a/semanticdb-kotlinc/src/test/kotlin/com/sourcegraph/semanticdb_kotlinc/test/SemanticdbSymbolsTest.kt +++ b/semanticdb-kotlinc/src/test/kotlin/com/sourcegraph/semanticdb_kotlinc/test/SemanticdbSymbolsTest.kt @@ -73,8 +73,7 @@ class SemanticdbSymbolsTest { |fun test(x: Int) {} |""".trimMargin()), symbolsCacheData = - SymbolCacheData( - listOf("TestKt#test().".symbol(), "TestKt#test(+1).(x)".symbol()))), + SymbolCacheData(listOf("test().".symbol(), "test(+1).(x)".symbol()))), ExpectedSymbols( "Annotations incl annotation type alias", SourceFile.testKt( @@ -184,8 +183,8 @@ class SemanticdbSymbolsTest { symbolsCacheData = SymbolCacheData( listOf( - "kotlin/collections/MapsKt#mapOf(+1).".symbol(), - "kotlin/io/ConsoleKt#println().".symbol())))) + "kotlin/collections/mapOf(+1).".symbol(), + "kotlin/io/println().".symbol())))) .mapCheckExpectedSymbols() @TestFactory @@ -219,7 +218,7 @@ class SemanticdbSymbolsTest { listOf( SymbolOccurrence { role = Role.DEFINITION - symbol = "TestKt#x." + symbol = "x." range { startLine = 0 startCharacter = 4 @@ -229,7 +228,7 @@ class SemanticdbSymbolsTest { }, SymbolOccurrence { role = Role.DEFINITION - symbol = "TestKt#getX()." + symbol = "getX()." range { startLine = 0 startCharacter = 4 @@ -239,7 +238,7 @@ class SemanticdbSymbolsTest { }, SymbolOccurrence { role = Role.DEFINITION - symbol = "TestKt#setX()." + symbol = "setX()." range { startLine = 0 startCharacter = 4 @@ -261,7 +260,7 @@ class SemanticdbSymbolsTest { listOf( SymbolOccurrence { role = Role.DEFINITION - symbol = "TestKt#x." + symbol = "x." range { startLine = 0 startCharacter = 4 @@ -271,7 +270,7 @@ class SemanticdbSymbolsTest { }, SymbolOccurrence { role = Role.DEFINITION - symbol = "TestKt#setX()." + symbol = "setX()." range { startLine = 0 startCharacter = 4 @@ -281,7 +280,7 @@ class SemanticdbSymbolsTest { }, SymbolOccurrence { role = Role.DEFINITION - symbol = "TestKt#getX()." + symbol = "getX()." range { startLine = 1 startCharacter = 4 @@ -303,7 +302,7 @@ class SemanticdbSymbolsTest { listOf( SymbolOccurrence { role = Role.DEFINITION - symbol = "TestKt#x." + symbol = "x." range { startLine = 0 startCharacter = 4 @@ -313,7 +312,7 @@ class SemanticdbSymbolsTest { }, SymbolOccurrence { role = Role.DEFINITION - symbol = "TestKt#getX()." + symbol = "getX()." range { startLine = 0 startCharacter = 4 @@ -323,7 +322,7 @@ class SemanticdbSymbolsTest { }, SymbolOccurrence { role = Role.DEFINITION - symbol = "TestKt#setX()." + symbol = "setX()." range { startLine = 1 startCharacter = 4 @@ -346,7 +345,7 @@ class SemanticdbSymbolsTest { listOf( SymbolOccurrence { role = Role.DEFINITION - symbol = "TestKt#x." + symbol = "x." range { startLine = 0 startCharacter = 4 @@ -356,7 +355,7 @@ class SemanticdbSymbolsTest { }, SymbolOccurrence { role = Role.DEFINITION - symbol = "TestKt#getX()." + symbol = "getX()." range { startLine = 1 startCharacter = 4 @@ -366,7 +365,7 @@ class SemanticdbSymbolsTest { }, SymbolOccurrence { role = Role.DEFINITION - symbol = "TestKt#setX()." + symbol = "setX()." range { startLine = 2 startCharacter = 4 @@ -614,7 +613,7 @@ class SemanticdbSymbolsTest { expectedSymbols = listOf( SymbolInformation { - symbol = "TestKt#x." + symbol = "x." displayName = "x" language = Language.KOTLIN documentation { @@ -624,7 +623,7 @@ class SemanticdbSymbolsTest { } }, SymbolInformation { - symbol = "TestKt#getX()." + symbol = "getX()." displayName = "x" language = Language.KOTLIN documentation { From db65160d7fa31731a59975de8d13c4137c8f9865 Mon Sep 17 00:00:00 2001 From: Nicolas Guichard Date: Mon, 13 Jan 2025 19:56:49 +0100 Subject: [PATCH 37/54] Rework method disambiguator SemanticDB and SCIP don't disambiguate methods by adding their full signature, instead they sort overloaded methods by declaration order, the first one is `method().`, the next one is `method(+1).`, the next one `method(+2).` etc. Down to 14 failing tests. --- .../semanticdb_kotlinc/SymbolsCache.kt | 63 +++++++++---------- .../test/SemanticdbSymbolsTest.kt | 4 +- 2 files changed, 30 insertions(+), 37 deletions(-) diff --git a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SymbolsCache.kt b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SymbolsCache.kt index 08b8d5b3..21e2dbec 100644 --- a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SymbolsCache.kt +++ b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SymbolsCache.kt @@ -6,16 +6,16 @@ import kotlin.contracts.ExperimentalContracts import kotlin.contracts.contract import org.jetbrains.kotlin.fir.analysis.checkers.declaration.isLocalMember import org.jetbrains.kotlin.fir.analysis.checkers.getContainingSymbol +import org.jetbrains.kotlin.fir.declarations.FirClass import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin -import org.jetbrains.kotlin.fir.declarations.FirFunction +import org.jetbrains.kotlin.fir.declarations.utils.memberDeclarationNameOrNull import org.jetbrains.kotlin.fir.declarations.utils.nameOrSpecialName import org.jetbrains.kotlin.fir.packageFqName import org.jetbrains.kotlin.fir.resolve.getContainingDeclaration +import org.jetbrains.kotlin.fir.resolve.providers.symbolProvider import org.jetbrains.kotlin.fir.symbols.FirBasedSymbol import org.jetbrains.kotlin.fir.symbols.SymbolInternals import org.jetbrains.kotlin.fir.symbols.impl.* -import org.jetbrains.kotlin.fir.types.ConeKotlinType -import org.jetbrains.kotlin.fir.types.coneType import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.util.capitalizeDecapitalize.capitalizeAsciiOnly @@ -163,44 +163,37 @@ class GlobalSymbolsCache(testing: Boolean = false) : Iterable { } @OptIn(SymbolInternals::class) - fun disambiguateCallableSymbol(callableSymbol: FirCallableSymbol<*>): String { - val callableId = callableSymbol.callableId - val callableName = callableId.callableName.asString() - val fqName = callableId.packageName.asString() - - // Get the FIR element associated with the callable symbol - val firFunction = callableSymbol.fir as? FirFunction ?: return "$fqName.$callableName" - - // Get parameter types from the function's value parameters - val parameterTypes = - firFunction.valueParameters.joinToString(separator = ", ") { - it.returnTypeRef.coneType.render() + private fun methodDisambiguator(symbol: FirFunctionSymbol<*>): String { + val session = symbol.moduleData.session + + val siblings = + when (val containingSymbol = symbol.getContainingSymbol(session)) { + is FirClassSymbol -> + (containingSymbol.fir as FirClass).declarations.map { it.symbol } + is FirFileSymbol -> containingSymbol.fir.declarations.map { it.symbol } + null -> + symbol.moduleData.session.symbolProvider.getTopLevelCallableSymbols( + symbol.packageFqName(), symbol.name) + else -> return "()" } - // Get the return type (for functions and properties) - val returnType = firFunction.returnTypeRef.coneType.render() - - // Create a string representing the fully qualified name + signature - return "$fqName.$callableName($parameterTypes): $returnType" - } + var count = 0 + var found = false + for (decl in siblings) { + if (decl == symbol) { + found = true + break + } - // Extension function to render a ConeKotlinType to a string - private fun ConeKotlinType?.render(): String = this?.toString() ?: "Unit" + if (decl.memberDeclarationNameOrNull?.equals(symbol.name) == true) { + count++ + } + } - private fun disambiguateClassSymbol(classSymbol: FirClassSymbol<*>): String { - val classId = classSymbol.classId - val fqName = classId.asString() - // You can also add additional details like visibility or modifiers if needed - return "class $fqName" + if (count == 0 || !found) return "()" + return "(+${count})" } - private fun methodDisambiguator(symbol: FirBasedSymbol<*>): String = - when (symbol) { - is FirCallableSymbol<*> -> disambiguateCallableSymbol(symbol) - is FirClassSymbol<*> -> disambiguateClassSymbol(symbol) - else -> "()" - } - override fun iterator(): Iterator = globals.values.iterator() } diff --git a/semanticdb-kotlinc/src/test/kotlin/com/sourcegraph/semanticdb_kotlinc/test/SemanticdbSymbolsTest.kt b/semanticdb-kotlinc/src/test/kotlin/com/sourcegraph/semanticdb_kotlinc/test/SemanticdbSymbolsTest.kt index ac347300..14045629 100644 --- a/semanticdb-kotlinc/src/test/kotlin/com/sourcegraph/semanticdb_kotlinc/test/SemanticdbSymbolsTest.kt +++ b/semanticdb-kotlinc/src/test/kotlin/com/sourcegraph/semanticdb_kotlinc/test/SemanticdbSymbolsTest.kt @@ -183,8 +183,8 @@ class SemanticdbSymbolsTest { symbolsCacheData = SymbolCacheData( listOf( - "kotlin/collections/mapOf(+1).".symbol(), - "kotlin/io/println().".symbol())))) + "kotlin/collections/mapOf(+2).".symbol(), + "kotlin/io/println(+10).".symbol())))) .mapCheckExpectedSymbols() @TestFactory From 5d175ffb6fd8fbff468f98e90c89d95a090c9949 Mon Sep 17 00:00:00 2001 From: Nicolas Guichard Date: Tue, 14 Jan 2025 01:11:05 +0100 Subject: [PATCH 38/54] Fix getters/setters Identify getters/setters using FirPropertyAccessorSymbol.isGetter and FirPropertyAccessorSymbol.isSetter instead of doing string comparisons. Still 14 failing tests. --- .../com/sourcegraph/semanticdb_kotlinc/SymbolsCache.kt | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SymbolsCache.kt b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SymbolsCache.kt index 21e2dbec..a76d98f2 100644 --- a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SymbolsCache.kt +++ b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SymbolsCache.kt @@ -9,7 +9,6 @@ import org.jetbrains.kotlin.fir.analysis.checkers.getContainingSymbol import org.jetbrains.kotlin.fir.declarations.FirClass import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin import org.jetbrains.kotlin.fir.declarations.utils.memberDeclarationNameOrNull -import org.jetbrains.kotlin.fir.declarations.utils.nameOrSpecialName import org.jetbrains.kotlin.fir.packageFqName import org.jetbrains.kotlin.fir.resolve.getContainingDeclaration import org.jetbrains.kotlin.fir.resolve.providers.symbolProvider @@ -136,13 +135,11 @@ class GlobalSymbolsCache(testing: Boolean = false) : Iterable { return when { symbol is FirClassLikeSymbol -> SemanticdbSymbolDescriptor(Kind.TYPE, symbol.classId.shortClassName.asString()) - symbol is FirPropertyAccessorSymbol && - symbol.fir.nameOrSpecialName.asStringStripSpecialMarkers().startsWith("set") -> + symbol is FirPropertyAccessorSymbol && symbol.isSetter -> SemanticdbSymbolDescriptor( Kind.METHOD, "set" + symbol.propertySymbol.fir.name.toString().capitalizeAsciiOnly()) - symbol is FirPropertyAccessorSymbol && - symbol.fir.nameOrSpecialName.asStringStripSpecialMarkers().startsWith("get") -> + symbol is FirPropertyAccessorSymbol && symbol.isGetter -> SemanticdbSymbolDescriptor( Kind.METHOD, "get" + symbol.propertySymbol.fir.name.toString().capitalizeAsciiOnly()) From 59550a367835cefeb7c59c7600374a00feb0217d Mon Sep 17 00:00:00 2001 From: Nicolas Guichard Date: Fri, 21 Mar 2025 16:52:28 +0100 Subject: [PATCH 39/54] Fix extracting documentation Down to 13 failing tests. --- .../SemanticdbTextDocumentBuilder.kt | 54 +++++++------------ .../semanticdb_kotlinc/test/AnalyzerTest.kt | 4 +- .../test/SemanticdbSymbolsTest.kt | 4 +- 3 files changed, 24 insertions(+), 38 deletions(-) diff --git a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbTextDocumentBuilder.kt b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbTextDocumentBuilder.kt index 9b3b3a5d..7cacffb0 100644 --- a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbTextDocumentBuilder.kt +++ b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbTextDocumentBuilder.kt @@ -5,15 +5,12 @@ import java.nio.file.Path import java.nio.file.Paths import java.security.MessageDigest import kotlin.contracts.ExperimentalContracts -import org.jetbrains.kotlin.KtLightSourceElement import org.jetbrains.kotlin.KtSourceElement import org.jetbrains.kotlin.KtSourceFile -import org.jetbrains.kotlin.com.intellij.lang.LighterASTNode import org.jetbrains.kotlin.com.intellij.lang.java.JavaLanguage -import org.jetbrains.kotlin.com.intellij.openapi.util.Ref -import org.jetbrains.kotlin.com.intellij.util.diff.FlyweightCapableTreeStructure import org.jetbrains.kotlin.fir.FirElement -import org.jetbrains.kotlin.fir.render +import org.jetbrains.kotlin.fir.analysis.getChild +import org.jetbrains.kotlin.fir.renderer.* import org.jetbrains.kotlin.fir.symbols.FirBasedSymbol import org.jetbrains.kotlin.fir.symbols.SymbolInternals import org.jetbrains.kotlin.fir.symbols.impl.* @@ -21,6 +18,7 @@ import org.jetbrains.kotlin.fir.types.ConeClassLikeType import org.jetbrains.kotlin.idea.KotlinLanguage import org.jetbrains.kotlin.lexer.KtTokens import org.jetbrains.kotlin.psi +import org.jetbrains.kotlin.text @ExperimentalContracts class SemanticdbTextDocumentBuilder( @@ -84,7 +82,7 @@ class SemanticdbTextDocumentBuilder( return SymbolInformation { this.symbol = symbol.toString() this.displayName = displayName(firBasedSymbol) - this.documentation = semanticdbDocumentation(firBasedSymbol.fir, element) + this.documentation = semanticdbDocumentation(firBasedSymbol.fir) this.addAllOverriddenSymbols(supers) this.language = when (element.psi?.language ?: KotlinLanguage.INSTANCE) { @@ -127,35 +125,23 @@ class SemanticdbTextDocumentBuilder( .digest(file.getContentsAsStream().readBytes()) .joinToString("") { "%02X".format(it) } - private fun semanticdbDocumentation( - element: FirElement, - source: KtSourceElement - ): Semanticdb.Documentation = Documentation { + private fun semanticdbDocumentation(element: FirElement): Semanticdb.Documentation = Documentation { format = Semanticdb.Documentation.Format.MARKDOWN - val renderOutput = element.render() - val kdoc = getKDocFromKtLightSourceElement(source as? KtLightSourceElement) ?: "" - message = "```\n$renderOutput\n```\n${stripKDocAsterisks(kdoc)}" - } - - private fun getKDocFromKtLightSourceElement( - lightSourceElement: KtLightSourceElement? - ): String? { - if (lightSourceElement == null) return null - val tree = lightSourceElement.treeStructure // FlyweightCapableTreeStructure - val node = - lightSourceElement.lighterASTNode // LighterASTNode, the root of the element's structure - return findKDoc(tree, node) - } - - // Helper function to find the KDoc node in the AST - private fun findKDoc( - tree: FlyweightCapableTreeStructure, - node: LighterASTNode - ): String? { - // Recursively traverse the light tree to find a DOC_COMMENT node - val kidsRef = Ref>() - tree.getChildren(node, kidsRef) - return kidsRef.get().singleOrNull { it?.tokenType == KtTokens.DOC_COMMENT }?.toString() + // Like FirRenderer().forReadability, but using FirAllModifierRenderer instead of FirPartialModifierRenderer + val renderer = FirRenderer( + typeRenderer = ConeTypeRenderer(), + idRenderer = ConeIdShortRenderer(), + classMemberRenderer = FirNoClassMemberRenderer(), + bodyRenderer = null, + propertyAccessorRenderer = null, + callArgumentsRenderer = FirCallNoArgumentsRenderer(), + modifierRenderer = FirAllModifierRenderer(), + valueParameterRenderer = FirValueParameterRendererForReadability(), + declarationRenderer = FirDeclarationRenderer("local "), + ) + val renderOutput = renderer.renderElementAsString(element) + val kdoc = element.source?.getChild(KtTokens.DOC_COMMENT)?.text?.toString() ?: "" + message = "```kotlin\n$renderOutput\n```${stripKDocAsterisks(kdoc)}" } // Returns the kdoc string with all leading and trailing "/*" tokens removed. Naive diff --git a/semanticdb-kotlinc/src/test/kotlin/com/sourcegraph/semanticdb_kotlinc/test/AnalyzerTest.kt b/semanticdb-kotlinc/src/test/kotlin/com/sourcegraph/semanticdb_kotlinc/test/AnalyzerTest.kt index a5ec4024..89459150 100644 --- a/semanticdb-kotlinc/src/test/kotlin/com/sourcegraph/semanticdb_kotlinc/test/AnalyzerTest.kt +++ b/semanticdb-kotlinc/src/test/kotlin/com/sourcegraph/semanticdb_kotlinc/test/AnalyzerTest.kt @@ -106,7 +106,7 @@ class AnalyzerTest { documentation = Documentation { format = Semanticdb.Documentation.Format.MARKDOWN - message = "```kotlin\npublic final class Banana\n```" + message = "```kotlin\npublic final class Banana : Any\n```" } }, SymbolInformation { @@ -116,7 +116,7 @@ class AnalyzerTest { documentation = Documentation { format = Semanticdb.Documentation.Format.MARKDOWN - message = "```kotlin\npublic final fun foo()\n```" + message = "```kotlin\npublic final fun foo(): Unit\n```" } }) assertSoftly(document.symbolsList) { withClue(this) { symbols.forEach(::shouldContain) } } diff --git a/semanticdb-kotlinc/src/test/kotlin/com/sourcegraph/semanticdb_kotlinc/test/SemanticdbSymbolsTest.kt b/semanticdb-kotlinc/src/test/kotlin/com/sourcegraph/semanticdb_kotlinc/test/SemanticdbSymbolsTest.kt index 14045629..47b0c8a8 100644 --- a/semanticdb-kotlinc/src/test/kotlin/com/sourcegraph/semanticdb_kotlinc/test/SemanticdbSymbolsTest.kt +++ b/semanticdb-kotlinc/src/test/kotlin/com/sourcegraph/semanticdb_kotlinc/test/SemanticdbSymbolsTest.kt @@ -618,7 +618,7 @@ class SemanticdbSymbolsTest { language = Language.KOTLIN documentation { message = - "```kotlin\npublic val x: kotlin.String\n```\n\n----\n\n\nhello world\n test content\n" + "```kotlin\npublic final val x: String\n```\n\n----\n\n\nhello world\n test content\n" format = Format.MARKDOWN } }, @@ -628,7 +628,7 @@ class SemanticdbSymbolsTest { language = Language.KOTLIN documentation { message = - "```kotlin\npublic val x: kotlin.String\n```\n\n----\n\n\nhello world\n test content\n" + "```kotlin\npublic get(): String\n```\n\n----\n\n\nhello world\n test content\n" format = Format.MARKDOWN } })))) From 37ac4035f5b8904e6a6227818fc72077f24e1071 Mon Sep 17 00:00:00 2001 From: Nicolas Guichard Date: Tue, 14 Jan 2025 01:11:25 +0100 Subject: [PATCH 40/54] Fix constructor symbols Constructors should have the special ``(). symbol. Down to 11 failing tests. --- .../kotlin/com/sourcegraph/semanticdb_kotlinc/SymbolsCache.kt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SymbolsCache.kt b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SymbolsCache.kt index a76d98f2..51b07579 100644 --- a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SymbolsCache.kt +++ b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SymbolsCache.kt @@ -143,6 +143,8 @@ class GlobalSymbolsCache(testing: Boolean = false) : Iterable { SemanticdbSymbolDescriptor( Kind.METHOD, "get" + symbol.propertySymbol.fir.name.toString().capitalizeAsciiOnly()) + symbol is FirConstructorSymbol -> + SemanticdbSymbolDescriptor(Kind.METHOD, "", methodDisambiguator(symbol)) symbol is FirFunctionSymbol -> SemanticdbSymbolDescriptor( Kind.METHOD, symbol.name.toString(), methodDisambiguator(symbol)) From 57e49d37c1651b4888d8662ec0347586dd88ea37 Mon Sep 17 00:00:00 2001 From: Nicolas Guichard Date: Fri, 21 Mar 2025 17:22:07 +0100 Subject: [PATCH 41/54] Fix occurence ranges We are generally interested in the identifier for each item, but sometimes want some other token instead, such as the constructor, get or set keywords. Down to 5 failing tests. --- .../semanticdb_kotlinc/AnalyzerCheckers.kt | 58 +++++++++++++++---- .../SemanticdbTextDocumentBuilder.kt | 2 +- 2 files changed, 49 insertions(+), 11 deletions(-) diff --git a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerCheckers.kt b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerCheckers.kt index 4345cdf3..6654da8d 100644 --- a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerCheckers.kt +++ b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerCheckers.kt @@ -2,25 +2,36 @@ package com.sourcegraph.semanticdb_kotlinc import java.nio.file.Path import kotlin.contracts.ExperimentalContracts +import org.jetbrains.kotlin.KtSourceElement import org.jetbrains.kotlin.KtSourceFile import org.jetbrains.kotlin.diagnostics.DiagnosticReporter +import org.jetbrains.kotlin.diagnostics.findChildByType import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.analysis.checkers.MppCheckerKind import org.jetbrains.kotlin.fir.analysis.checkers.context.CheckerContext import org.jetbrains.kotlin.fir.analysis.checkers.declaration.* import org.jetbrains.kotlin.fir.analysis.checkers.expression.ExpressionCheckers import org.jetbrains.kotlin.fir.analysis.checkers.expression.FirQualifiedAccessExpressionChecker +import org.jetbrains.kotlin.fir.analysis.checkers.getContainingClassSymbol import org.jetbrains.kotlin.fir.analysis.extensions.FirAdditionalCheckersExtension import org.jetbrains.kotlin.fir.declarations.* import org.jetbrains.kotlin.fir.expressions.FirQualifiedAccessExpression import org.jetbrains.kotlin.fir.references.FirResolvedNamedReference import org.jetbrains.kotlin.fir.resolve.providers.symbolProvider +import org.jetbrains.kotlin.lexer.KtTokens import org.jetbrains.kotlin.name.ClassId +import org.jetbrains.kotlin.toKtLightSourceElement open class AnalyzerCheckers(session: FirSession) : FirAdditionalCheckersExtension(session) { companion object { @OptIn(ExperimentalContracts::class) val visitors: MutableMap = mutableMapOf() + + private fun getIdentifier(element: KtSourceElement): KtSourceElement = + element + .treeStructure + .findChildByType(element.lighterASTNode, KtTokens.IDENTIFIER) + ?.toKtLightSourceElement(element.treeStructure) ?: element } override val declarationCheckers: DeclarationCheckers get() = AnalyzerDeclarationCheckers(session.analyzerParamsProvider.sourceroot) @@ -104,7 +115,7 @@ open class AnalyzerCheckers(session: FirSession) : FirAdditionalCheckersExtensio val source = declaration.source ?: return val ktFile = context.containingFile?.sourceFile ?: return val visitor = visitors[ktFile] - visitor?.visitClassOrObject(declaration, source) + visitor?.visitClassOrObject(declaration, getIdentifier(source)) } } @@ -120,9 +131,19 @@ open class AnalyzerCheckers(session: FirSession) : FirAdditionalCheckersExtensio val visitor = visitors[ktFile] if (declaration.isPrimary) { - visitor?.visitPrimaryConstructor(declaration, source) + // if the constructor is not denoted by the 'constructor' keyword, we want to link it to the + // class identifier + val klass = declaration.symbol.getContainingClassSymbol() + val klassSource = klass?.source ?: source + val constructorKeyboard = + source + .treeStructure + .findChildByType(source.lighterASTNode, KtTokens.CONSTRUCTOR_KEYWORD) + ?.toKtLightSourceElement(source.treeStructure) + + visitor?.visitPrimaryConstructor(declaration, constructorKeyboard ?: getIdentifier(klassSource)) } else { - visitor?.visitSecondaryConstructor(declaration, source) + visitor?.visitSecondaryConstructor(declaration, getIdentifier(source)) } } } @@ -137,7 +158,7 @@ open class AnalyzerCheckers(session: FirSession) : FirAdditionalCheckersExtensio val source = declaration.source ?: return val ktFile = context.containingFile?.sourceFile ?: return val visitor = visitors[ktFile] - visitor?.visitNamedFunction(declaration, source) + visitor?.visitNamedFunction(declaration, getIdentifier(source)) } } @@ -166,7 +187,7 @@ open class AnalyzerCheckers(session: FirSession) : FirAdditionalCheckersExtensio val source = declaration.source ?: return val ktFile = context.containingFile?.sourceFile ?: return val visitor = visitors[ktFile] - visitor?.visitProperty(declaration, source) + visitor?.visitProperty(declaration, getIdentifier(source)) } } @@ -180,7 +201,7 @@ open class AnalyzerCheckers(session: FirSession) : FirAdditionalCheckersExtensio val source = declaration.source ?: return val ktFile = context.containingFile?.sourceFile ?: return val visitor = visitors[ktFile] - visitor?.visitParameter(declaration, source) + visitor?.visitParameter(declaration, getIdentifier(source)) } } @@ -194,7 +215,7 @@ open class AnalyzerCheckers(session: FirSession) : FirAdditionalCheckersExtensio val source = declaration.source ?: return val ktFile = context.containingFile?.sourceFile ?: return val visitor = visitors[ktFile] - visitor?.visitTypeParameter(declaration, source) + visitor?.visitTypeParameter(declaration, getIdentifier(source)) } } @@ -208,7 +229,7 @@ open class AnalyzerCheckers(session: FirSession) : FirAdditionalCheckersExtensio val source = declaration.source ?: return val ktFile = context.containingFile?.sourceFile ?: return val visitor = visitors[ktFile] - visitor?.visitTypeAlias(declaration, source) + visitor?.visitTypeAlias(declaration, getIdentifier(source)) } } @@ -223,7 +244,24 @@ open class AnalyzerCheckers(session: FirSession) : FirAdditionalCheckersExtensio val source = declaration.source ?: return val ktFile = context.containingFile?.sourceFile ?: return val visitor = visitors[ktFile] - visitor?.visitPropertyAccessor(declaration, source) + val identifierSource = + if (declaration.isGetter) { + source + .treeStructure + .findChildByType(source.lighterASTNode, KtTokens.GET_KEYWORD) + ?.toKtLightSourceElement(source.treeStructure) + ?: getIdentifier(source) + } else if (declaration.isSetter) { + source + .treeStructure + .findChildByType(source.lighterASTNode, KtTokens.SET_KEYWORD) + ?.toKtLightSourceElement(source.treeStructure) + ?: getIdentifier(source) + } else { + getIdentifier(source) + } + + visitor?.visitPropertyAccessor(declaration, identifierSource) } } @@ -243,7 +281,7 @@ open class AnalyzerCheckers(session: FirSession) : FirAdditionalCheckersExtensio val ktFile = context.containingFile?.sourceFile ?: return val visitor = visitors[ktFile] - visitor?.visitSimpleNameExpression(calleeReference, source) + visitor?.visitSimpleNameExpression(calleeReference, getIdentifier(calleeReference.source ?: source)) } } } diff --git a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbTextDocumentBuilder.kt b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbTextDocumentBuilder.kt index 7cacffb0..c3524b5f 100644 --- a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbTextDocumentBuilder.kt +++ b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbTextDocumentBuilder.kt @@ -109,7 +109,7 @@ class SemanticdbTextDocumentBuilder( return Range { startCharacter = lineMap.startCharacter(element) startLine = lineMap.lineNumber(element) - 1 - endCharacter = lineMap.endCharacter(element) - 1 + endCharacter = lineMap.endCharacter(element) endLine = lineMap.lineNumber(element) - 1 } } From 0aa15e1c47df69593a237db598e4131c023df396 Mon Sep 17 00:00:00 2001 From: Nicolas Guichard Date: Tue, 14 Jan 2025 01:54:22 +0100 Subject: [PATCH 42/54] Package and import support We need to support the package directive and the imports so that: - `package a.b.c` has 3 symbol occurences, for `a/`, `a/b/` and `a/b/c/` - `import a.b.Klass` has 3 symbol occurences, for `a/`, `a/b/` and `a/b/Klass#` Still 5 failing tests. --- .../semanticdb_kotlinc/AnalyzerCheckers.kt | 75 ++++++++++++++++--- .../SemanticdbTextDocumentBuilder.kt | 21 +++++- .../semanticdb_kotlinc/SemanticdbVisitor.kt | 16 +++- .../semanticdb_kotlinc/SymbolsCache.kt | 7 ++ 4 files changed, 103 insertions(+), 16 deletions(-) diff --git a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerCheckers.kt b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerCheckers.kt index 6654da8d..4a187967 100644 --- a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerCheckers.kt +++ b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerCheckers.kt @@ -2,10 +2,13 @@ package com.sourcegraph.semanticdb_kotlinc import java.nio.file.Path import kotlin.contracts.ExperimentalContracts -import org.jetbrains.kotlin.KtSourceElement -import org.jetbrains.kotlin.KtSourceFile +import org.jetbrains.kotlin.* +import org.jetbrains.kotlin.com.intellij.lang.LighterASTNode +import org.jetbrains.kotlin.com.intellij.util.diff.FlyweightCapableTreeStructure import org.jetbrains.kotlin.diagnostics.DiagnosticReporter +import org.jetbrains.kotlin.diagnostics.collectDescendantsOfType import org.jetbrains.kotlin.diagnostics.findChildByType +import org.jetbrains.kotlin.diagnostics.findLastDescendant import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.analysis.checkers.MppCheckerKind import org.jetbrains.kotlin.fir.analysis.checkers.context.CheckerContext @@ -20,7 +23,7 @@ import org.jetbrains.kotlin.fir.references.FirResolvedNamedReference import org.jetbrains.kotlin.fir.resolve.providers.symbolProvider import org.jetbrains.kotlin.lexer.KtTokens import org.jetbrains.kotlin.name.ClassId -import org.jetbrains.kotlin.toKtLightSourceElement +import org.jetbrains.kotlin.name.FqName open class AnalyzerCheckers(session: FirSession) : FirAdditionalCheckersExtension(session) { companion object { @@ -92,15 +95,69 @@ open class AnalyzerCheckers(session: FirSession) : FirAdditionalCheckersExtensio reporter: DiagnosticReporter ) { val ktFile = declaration.sourceFile ?: return + val visitor = visitors[ktFile] + + val eachFqNameElement = + { + fqName: FqName, + tree: FlyweightCapableTreeStructure, + names: LighterASTNode, + callback: (FqName, KtLightSourceElement) -> Unit -> + val nameList = + if (names.tokenType == KtNodeTypes.REFERENCE_EXPRESSION) listOf(names) + else tree.collectDescendantsOfType(names, KtNodeTypes.REFERENCE_EXPRESSION) + + var ancestor = fqName + var depth = 0 + while (ancestor != FqName.ROOT) { + val nameNode = nameList[nameList.lastIndex - depth] + val nameSource = nameNode.toKtLightSourceElement(tree) + + callback(ancestor, nameSource) + + ancestor = ancestor.parent() + depth++ + } + } + + val packageDirective = declaration.packageDirective + val fqName = packageDirective.packageFqName + val source = packageDirective.source + if (source != null) { + val names = source.treeStructure.findLastDescendant(source.lighterASTNode) { true } + if (names != null) { + eachFqNameElement(fqName, source.treeStructure, names) { fqName, name -> + visitor?.visitPackage(fqName, name) + } + } + } + declaration.imports.forEach { import -> val source = import.source ?: return@forEach - val visitor = visitors[ktFile] val fqName = import.importedFqName ?: return@forEach - val importedClassSymbol = - context.session.symbolProvider.getClassLikeSymbolByClassId( - ClassId.topLevel(fqName)) - ?: return@forEach - visitor?.visitImport(importedClassSymbol, source) + + val names = source.treeStructure.findLastDescendant(source.lighterASTNode) { true } + if (names != null) { + eachFqNameElement(fqName, source.treeStructure, names) { fqName, name -> + val symbolProvider = context.session.symbolProvider + + val klass = + symbolProvider.getClassLikeSymbolByClassId(ClassId.topLevel(fqName)) + val callables = + symbolProvider.getTopLevelCallableSymbols( + fqName.parent(), fqName.shortName()) + + if (klass != null) { + visitor?.visitClassReference(klass, name) + } else if (callables.isNotEmpty()) { + for (callable in callables) { + visitor?.visitCallableReference(callable, name) + } + } else { + visitor?.visitPackage(fqName, name) + } + } + } } } } diff --git a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbTextDocumentBuilder.kt b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbTextDocumentBuilder.kt index c3524b5f..0caad3a9 100644 --- a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbTextDocumentBuilder.kt +++ b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbTextDocumentBuilder.kt @@ -42,7 +42,7 @@ class SemanticdbTextDocumentBuilder( } fun emitSemanticdbData( - firBasedSymbol: FirBasedSymbol<*>, + firBasedSymbol: FirBasedSymbol<*>?, symbol: Symbol, element: KtSourceElement, role: Role @@ -62,7 +62,7 @@ class SemanticdbTextDocumentBuilder( @OptIn(SymbolInternals::class) private fun symbolInformation( - firBasedSymbol: FirBasedSymbol<*>, + firBasedSymbol: FirBasedSymbol<*>?, symbol: Symbol, element: KtSourceElement ): Semanticdb.SymbolInformation { @@ -81,8 +81,21 @@ class SemanticdbTextDocumentBuilder( } return SymbolInformation { this.symbol = symbol.toString() - this.displayName = displayName(firBasedSymbol) - this.documentation = semanticdbDocumentation(firBasedSymbol.fir) + this.displayName = + if (firBasedSymbol != null) { + displayName(firBasedSymbol) + } else { + element.text.toString() + } + this.documentation = + if (firBasedSymbol != null) { + semanticdbDocumentation(firBasedSymbol.fir) + } else { + Documentation { + format = Semanticdb.Documentation.Format.MARKDOWN + message = "" + } + } this.addAllOverriddenSymbols(supers) this.language = when (element.psi?.language ?: KotlinLanguage.INSTANCE) { diff --git a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbVisitor.kt b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbVisitor.kt index 50139ca1..a1ff38cd 100644 --- a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbVisitor.kt +++ b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbVisitor.kt @@ -8,7 +8,9 @@ import org.jetbrains.kotlin.KtSourceFile import org.jetbrains.kotlin.fir.declarations.* import org.jetbrains.kotlin.fir.references.FirResolvedNamedReference import org.jetbrains.kotlin.fir.symbols.FirBasedSymbol +import org.jetbrains.kotlin.fir.symbols.impl.FirCallableSymbol import org.jetbrains.kotlin.fir.symbols.impl.FirClassLikeSymbol +import org.jetbrains.kotlin.name.FqName @ExperimentalContracts class SemanticdbVisitor( @@ -22,7 +24,7 @@ class SemanticdbVisitor( private val documentBuilder = SemanticdbTextDocumentBuilder(sourceroot, file, lineMap) private data class SymbolDescriptorPair( - val firBasedSymbol: FirBasedSymbol<*>, + val firBasedSymbol: FirBasedSymbol<*>?, val symbol: Symbol ) @@ -40,10 +42,18 @@ class SemanticdbVisitor( ?.map { it.symbol } ?.toList() - private fun Sequence.with(firBasedSymbol: FirBasedSymbol<*>) = + private fun Sequence.with(firBasedSymbol: FirBasedSymbol<*>?) = this.map { SymbolDescriptorPair(firBasedSymbol, it) } - fun visitImport(firClassSymbol: FirClassLikeSymbol<*>, element: KtSourceElement) { + fun visitPackage(pkg: FqName, element: KtSourceElement) { + cache[pkg].with(null).emitAll(element, Role.REFERENCE) + } + + fun visitClassReference(firClassSymbol: FirClassLikeSymbol<*>, element: KtSourceElement) { + cache[firClassSymbol].with(firClassSymbol).emitAll(element, Role.REFERENCE) + } + + fun visitCallableReference(firClassSymbol: FirCallableSymbol<*>, element: KtSourceElement) { cache[firClassSymbol].with(firClassSymbol).emitAll(element, Role.REFERENCE) } diff --git a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SymbolsCache.kt b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SymbolsCache.kt index 51b07579..163c409b 100644 --- a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SymbolsCache.kt +++ b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SymbolsCache.kt @@ -31,6 +31,8 @@ class GlobalSymbolsCache(testing: Boolean = false) : Iterable { emitSymbols(symbol, locals) } + operator fun get(symbol: FqName): Sequence = sequence { emitSymbols(symbol) } + /** * called whenever a new symbol should be yielded in the sequence e.g. for properties we also * want to yield for every implicit getter/setter, but wouldn't want to yield for e.g. the @@ -50,6 +52,10 @@ class GlobalSymbolsCache(testing: Boolean = false) : Iterable { } } + private suspend fun SequenceScope.emitSymbols(symbol: FqName) { + yield(getSymbol(symbol)) + } + /** * Entrypoint for building or looking-up a symbol without yielding a value in the sequence. * Called recursively for every part of a symbol, unless a cached result short circuits. @@ -220,4 +226,5 @@ class LocalSymbolsCache : Iterable { @ExperimentalContracts class SymbolsCache(private val globals: GlobalSymbolsCache, private val locals: LocalSymbolsCache) { operator fun get(symbol: FirBasedSymbol<*>) = globals[symbol, locals] + operator fun get(symbol: FqName) = globals[symbol] } From aa9ebe41e239b0d00334be8a8a64be0086cb8a8f Mon Sep 17 00:00:00 2001 From: Nicolas Guichard Date: Thu, 20 Mar 2025 18:19:42 +0100 Subject: [PATCH 43/54] Type annotations Down to 4 failing tests. --- .../com/sourcegraph/semanticdb_kotlinc/AnalyzerCheckers.kt | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerCheckers.kt b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerCheckers.kt index 4a187967..46a4d46d 100644 --- a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerCheckers.kt +++ b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerCheckers.kt @@ -16,6 +16,7 @@ import org.jetbrains.kotlin.fir.analysis.checkers.declaration.* import org.jetbrains.kotlin.fir.analysis.checkers.expression.ExpressionCheckers import org.jetbrains.kotlin.fir.analysis.checkers.expression.FirQualifiedAccessExpressionChecker import org.jetbrains.kotlin.fir.analysis.checkers.getContainingClassSymbol +import org.jetbrains.kotlin.fir.analysis.checkers.toClassLikeSymbol import org.jetbrains.kotlin.fir.analysis.extensions.FirAdditionalCheckersExtension import org.jetbrains.kotlin.fir.declarations.* import org.jetbrains.kotlin.fir.expressions.FirQualifiedAccessExpression @@ -245,6 +246,12 @@ open class AnalyzerCheckers(session: FirSession) : FirAdditionalCheckersExtensio val ktFile = context.containingFile?.sourceFile ?: return val visitor = visitors[ktFile] visitor?.visitProperty(declaration, getIdentifier(source)) + + val klass = declaration.returnTypeRef.toClassLikeSymbol(context.session) + val klassSource = declaration.returnTypeRef.source + if (klass != null && klassSource != null) { + visitor?.visitClassReference(klass, getIdentifier(klassSource)) + } } } From 1f074437c062136ce37be506c1189c7e87ef7f5c Mon Sep 17 00:00:00 2001 From: Nicolas Guichard Date: Tue, 14 Jan 2025 01:10:30 +0100 Subject: [PATCH 44/54] Fix filtering supertypes We don't want all types to list Any as their supertype. Down to 3 failings tests. --- .../SemanticdbTextDocumentBuilder.kt | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbTextDocumentBuilder.kt b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbTextDocumentBuilder.kt index 0caad3a9..3e9adeb5 100644 --- a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbTextDocumentBuilder.kt +++ b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbTextDocumentBuilder.kt @@ -14,7 +14,7 @@ import org.jetbrains.kotlin.fir.renderer.* import org.jetbrains.kotlin.fir.symbols.FirBasedSymbol import org.jetbrains.kotlin.fir.symbols.SymbolInternals import org.jetbrains.kotlin.fir.symbols.impl.* -import org.jetbrains.kotlin.fir.types.ConeClassLikeType +import org.jetbrains.kotlin.fir.types.impl.FirImplicitAnyTypeRef import org.jetbrains.kotlin.idea.KotlinLanguage import org.jetbrains.kotlin.lexer.KtTokens import org.jetbrains.kotlin.psi @@ -57,9 +57,6 @@ class SemanticdbTextDocumentBuilder( symbols.add(symbolInformation) } - private val isIgnoredSuperClass = - setOf("kotlin.Any", "java.lang.Object", "java.io.Serializable") - @OptIn(SymbolInternals::class) private fun symbolInformation( firBasedSymbol: FirBasedSymbol<*>?, @@ -71,10 +68,7 @@ class SemanticdbTextDocumentBuilder( is FirClassSymbol -> firBasedSymbol .resolvedSuperTypeRefs - .filter { - (it.coneType as? ConeClassLikeType)?.toString() !in - isIgnoredSuperClass - } + .filter { it !is FirImplicitAnyTypeRef } .map { it.toString() } .asIterable() else -> emptyList().asIterable() From b3cde7e41b3c8240f02d57bfa77da04afde6e1d8 Mon Sep 17 00:00:00 2001 From: Nicolas Guichard Date: Fri, 21 Mar 2025 18:59:58 +0100 Subject: [PATCH 45/54] Sort occurences by (startLine, startCharacter) Down to 2 failing tests. --- .../semanticdb_kotlinc/SemanticdbTextDocumentBuilder.kt | 1 + .../semanticdb_kotlinc/test/SemanticdbSymbolsTest.kt | 8 ++++---- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbTextDocumentBuilder.kt b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbTextDocumentBuilder.kt index 3e9adeb5..62fe043d 100644 --- a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbTextDocumentBuilder.kt +++ b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbTextDocumentBuilder.kt @@ -37,6 +37,7 @@ class SemanticdbTextDocumentBuilder( this.md5 = semanticMd5 this.schema = Semanticdb.Schema.SEMANTICDB4 this.language = Semanticdb.Language.KOTLIN + occurrences.sortWith(compareBy({ it.range.startLine }, { it.range.startCharacter })) this.addAllOccurrences(occurrences) this.addAllSymbols(symbols) } diff --git a/semanticdb-kotlinc/src/test/kotlin/com/sourcegraph/semanticdb_kotlinc/test/SemanticdbSymbolsTest.kt b/semanticdb-kotlinc/src/test/kotlin/com/sourcegraph/semanticdb_kotlinc/test/SemanticdbSymbolsTest.kt index 47b0c8a8..8afada77 100644 --- a/semanticdb-kotlinc/src/test/kotlin/com/sourcegraph/semanticdb_kotlinc/test/SemanticdbSymbolsTest.kt +++ b/semanticdb-kotlinc/src/test/kotlin/com/sourcegraph/semanticdb_kotlinc/test/SemanticdbSymbolsTest.kt @@ -390,7 +390,7 @@ class SemanticdbSymbolsTest { listOf( SymbolOccurrence { role = Role.DEFINITION - symbol = "Test#sample." + symbol = "Test#``().(sample)" range { startLine = 0 startCharacter = 15 @@ -400,7 +400,7 @@ class SemanticdbSymbolsTest { }, SymbolOccurrence { role = Role.DEFINITION - symbol = "Test#getSample()." + symbol = "Test#sample." range { startLine = 0 startCharacter = 15 @@ -410,7 +410,7 @@ class SemanticdbSymbolsTest { }, SymbolOccurrence { role = Role.DEFINITION - symbol = "Test#setSample()." + symbol = "Test#getSample()." range { startLine = 0 startCharacter = 15 @@ -420,7 +420,7 @@ class SemanticdbSymbolsTest { }, SymbolOccurrence { role = Role.DEFINITION - symbol = "Test#``().(sample)" + symbol = "Test#setSample()." range { startLine = 0 startCharacter = 15 From eaae6ea246f4282b1769a286eca644739ec1b750 Mon Sep 17 00:00:00 2001 From: Nicolas Guichard Date: Fri, 21 Mar 2025 19:02:13 +0100 Subject: [PATCH 46/54] Also emit class reference for synthetic function symbols Down to 1 failing test. --- .../sourcegraph/semanticdb_kotlinc/AnalyzerCheckers.kt | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerCheckers.kt b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerCheckers.kt index 46a4d46d..2f09b58e 100644 --- a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerCheckers.kt +++ b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerCheckers.kt @@ -21,7 +21,9 @@ import org.jetbrains.kotlin.fir.analysis.extensions.FirAdditionalCheckersExtensi import org.jetbrains.kotlin.fir.declarations.* import org.jetbrains.kotlin.fir.expressions.FirQualifiedAccessExpression import org.jetbrains.kotlin.fir.references.FirResolvedNamedReference +import org.jetbrains.kotlin.fir.resolve.calls.FirSyntheticFunctionSymbol import org.jetbrains.kotlin.fir.resolve.providers.symbolProvider +import org.jetbrains.kotlin.fir.resolve.toClassLikeSymbol import org.jetbrains.kotlin.lexer.KtTokens import org.jetbrains.kotlin.name.ClassId import org.jetbrains.kotlin.name.FqName @@ -346,6 +348,14 @@ open class AnalyzerCheckers(session: FirSession) : FirAdditionalCheckersExtensio val ktFile = context.containingFile?.sourceFile ?: return val visitor = visitors[ktFile] visitor?.visitSimpleNameExpression(calleeReference, getIdentifier(calleeReference.source ?: source)) + + val resolvedSymbol = calleeReference.resolvedSymbol + if (resolvedSymbol.origin == FirDeclarationOrigin.SamConstructor && resolvedSymbol is FirSyntheticFunctionSymbol) { + val referencedKlass = resolvedSymbol.resolvedReturnType.toClassLikeSymbol(context.session) + if (referencedKlass != null) { + visitor?.visitClassReference(referencedKlass, getIdentifier(calleeReference.source ?: source)) + } + } } } } From 7f81fd113887f0142bfe25bba599fd948ef26029 Mon Sep 17 00:00:00 2001 From: Nicolas Guichard Date: Fri, 21 Mar 2025 19:21:21 +0100 Subject: [PATCH 47/54] Emit references to propeties as getter and setter When we have a reference to a FirPropertySymbol, it is not obvious if it is used as a read or a write. Emit both just in case. No more failing tests! --- .../semanticdb_kotlinc/AnalyzerCheckers.kt | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerCheckers.kt b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerCheckers.kt index 2f09b58e..21131e76 100644 --- a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerCheckers.kt +++ b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerCheckers.kt @@ -24,6 +24,7 @@ import org.jetbrains.kotlin.fir.references.FirResolvedNamedReference import org.jetbrains.kotlin.fir.resolve.calls.FirSyntheticFunctionSymbol import org.jetbrains.kotlin.fir.resolve.providers.symbolProvider import org.jetbrains.kotlin.fir.resolve.toClassLikeSymbol +import org.jetbrains.kotlin.fir.symbols.impl.FirPropertySymbol import org.jetbrains.kotlin.lexer.KtTokens import org.jetbrains.kotlin.name.ClassId import org.jetbrains.kotlin.name.FqName @@ -356,6 +357,16 @@ open class AnalyzerCheckers(session: FirSession) : FirAdditionalCheckersExtensio visitor?.visitClassReference(referencedKlass, getIdentifier(calleeReference.source ?: source)) } } + + // When encountering a reference to a property symbol, emit both getter and setter symbols + if (resolvedSymbol is FirPropertySymbol) { + resolvedSymbol.getterSymbol?.let { + visitor?.visitCallableReference(it, getIdentifier(calleeReference.source ?: source)) + } + resolvedSymbol.setterSymbol?.let { + visitor?.visitCallableReference(it, getIdentifier(calleeReference.source ?: source)) + } + } } } } From 0382691c7606a220ad01e2f544355397aa36cbe6 Mon Sep 17 00:00:00 2001 From: Nicolas Guichard Date: Wed, 26 Mar 2025 07:01:38 +0100 Subject: [PATCH 48/54] Fix class and function overridden symbols Class overriddenSymbols were not pointing to actual symbols. Function overriddenSymbols were missing. --- .../semanticdb_kotlinc/AnalyzerCheckers.kt | 46 ++++--- .../SemanticdbTextDocumentBuilder.kt | 25 ++-- .../semanticdb_kotlinc/SemanticdbVisitor.kt | 60 ++++---- .../semanticdb_kotlinc/test/AnalyzerTest.kt | 128 ++++++++++++++++++ 4 files changed, 203 insertions(+), 56 deletions(-) diff --git a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerCheckers.kt b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerCheckers.kt index 21131e76..1d16e45a 100644 --- a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerCheckers.kt +++ b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerCheckers.kt @@ -131,7 +131,7 @@ open class AnalyzerCheckers(session: FirSession) : FirAdditionalCheckersExtensio val names = source.treeStructure.findLastDescendant(source.lighterASTNode) { true } if (names != null) { eachFqNameElement(fqName, source.treeStructure, names) { fqName, name -> - visitor?.visitPackage(fqName, name) + visitor?.visitPackage(fqName, name, context) } } } @@ -152,13 +152,13 @@ open class AnalyzerCheckers(session: FirSession) : FirAdditionalCheckersExtensio fqName.parent(), fqName.shortName()) if (klass != null) { - visitor?.visitClassReference(klass, name) + visitor?.visitClassReference(klass, name, context) } else if (callables.isNotEmpty()) { for (callable in callables) { - visitor?.visitCallableReference(callable, name) + visitor?.visitCallableReference(callable, name, context) } } else { - visitor?.visitPackage(fqName, name) + visitor?.visitPackage(fqName, name, context) } } } @@ -176,7 +176,15 @@ open class AnalyzerCheckers(session: FirSession) : FirAdditionalCheckersExtensio val source = declaration.source ?: return val ktFile = context.containingFile?.sourceFile ?: return val visitor = visitors[ktFile] - visitor?.visitClassOrObject(declaration, getIdentifier(source)) + visitor?.visitClassOrObject(declaration, getIdentifier(source), context) + + for (superType in declaration.superTypeRefs) { + val superSymbol = superType.toClassLikeSymbol(context.session) + val superSource = superType.source + if (superSymbol != null && superSource != null) { + visitor?.visitClassReference(superSymbol, superSource, context) + } + } } } @@ -202,9 +210,9 @@ open class AnalyzerCheckers(session: FirSession) : FirAdditionalCheckersExtensio .findChildByType(source.lighterASTNode, KtTokens.CONSTRUCTOR_KEYWORD) ?.toKtLightSourceElement(source.treeStructure) - visitor?.visitPrimaryConstructor(declaration, constructorKeyboard ?: getIdentifier(klassSource)) + visitor?.visitPrimaryConstructor(declaration, constructorKeyboard ?: getIdentifier(klassSource), context) } else { - visitor?.visitSecondaryConstructor(declaration, getIdentifier(source)) + visitor?.visitSecondaryConstructor(declaration, getIdentifier(source), context) } } } @@ -219,7 +227,7 @@ open class AnalyzerCheckers(session: FirSession) : FirAdditionalCheckersExtensio val source = declaration.source ?: return val ktFile = context.containingFile?.sourceFile ?: return val visitor = visitors[ktFile] - visitor?.visitNamedFunction(declaration, getIdentifier(source)) + visitor?.visitNamedFunction(declaration, getIdentifier(source), context) } } @@ -234,7 +242,7 @@ open class AnalyzerCheckers(session: FirSession) : FirAdditionalCheckersExtensio val source = declaration.source ?: return val ktFile = context.containingFile?.sourceFile ?: return val visitor = visitors[ktFile] - visitor?.visitNamedFunction(declaration, source) + visitor?.visitNamedFunction(declaration, source, context) } } @@ -248,12 +256,12 @@ open class AnalyzerCheckers(session: FirSession) : FirAdditionalCheckersExtensio val source = declaration.source ?: return val ktFile = context.containingFile?.sourceFile ?: return val visitor = visitors[ktFile] - visitor?.visitProperty(declaration, getIdentifier(source)) + visitor?.visitProperty(declaration, getIdentifier(source), context) val klass = declaration.returnTypeRef.toClassLikeSymbol(context.session) val klassSource = declaration.returnTypeRef.source if (klass != null && klassSource != null) { - visitor?.visitClassReference(klass, getIdentifier(klassSource)) + visitor?.visitClassReference(klass, getIdentifier(klassSource), context) } } } @@ -268,7 +276,7 @@ open class AnalyzerCheckers(session: FirSession) : FirAdditionalCheckersExtensio val source = declaration.source ?: return val ktFile = context.containingFile?.sourceFile ?: return val visitor = visitors[ktFile] - visitor?.visitParameter(declaration, getIdentifier(source)) + visitor?.visitParameter(declaration, getIdentifier(source), context) } } @@ -282,7 +290,7 @@ open class AnalyzerCheckers(session: FirSession) : FirAdditionalCheckersExtensio val source = declaration.source ?: return val ktFile = context.containingFile?.sourceFile ?: return val visitor = visitors[ktFile] - visitor?.visitTypeParameter(declaration, getIdentifier(source)) + visitor?.visitTypeParameter(declaration, getIdentifier(source), context) } } @@ -296,7 +304,7 @@ open class AnalyzerCheckers(session: FirSession) : FirAdditionalCheckersExtensio val source = declaration.source ?: return val ktFile = context.containingFile?.sourceFile ?: return val visitor = visitors[ktFile] - visitor?.visitTypeAlias(declaration, getIdentifier(source)) + visitor?.visitTypeAlias(declaration, getIdentifier(source), context) } } @@ -328,7 +336,7 @@ open class AnalyzerCheckers(session: FirSession) : FirAdditionalCheckersExtensio getIdentifier(source) } - visitor?.visitPropertyAccessor(declaration, identifierSource) + visitor?.visitPropertyAccessor(declaration, identifierSource, context) } } @@ -348,23 +356,23 @@ open class AnalyzerCheckers(session: FirSession) : FirAdditionalCheckersExtensio val ktFile = context.containingFile?.sourceFile ?: return val visitor = visitors[ktFile] - visitor?.visitSimpleNameExpression(calleeReference, getIdentifier(calleeReference.source ?: source)) + visitor?.visitSimpleNameExpression(calleeReference, getIdentifier(calleeReference.source ?: source), context) val resolvedSymbol = calleeReference.resolvedSymbol if (resolvedSymbol.origin == FirDeclarationOrigin.SamConstructor && resolvedSymbol is FirSyntheticFunctionSymbol) { val referencedKlass = resolvedSymbol.resolvedReturnType.toClassLikeSymbol(context.session) if (referencedKlass != null) { - visitor?.visitClassReference(referencedKlass, getIdentifier(calleeReference.source ?: source)) + visitor?.visitClassReference(referencedKlass, getIdentifier(calleeReference.source ?: source), context) } } // When encountering a reference to a property symbol, emit both getter and setter symbols if (resolvedSymbol is FirPropertySymbol) { resolvedSymbol.getterSymbol?.let { - visitor?.visitCallableReference(it, getIdentifier(calleeReference.source ?: source)) + visitor?.visitCallableReference(it, getIdentifier(calleeReference.source ?: source), context) } resolvedSymbol.setterSymbol?.let { - visitor?.visitCallableReference(it, getIdentifier(calleeReference.source ?: source)) + visitor?.visitCallableReference(it, getIdentifier(calleeReference.source ?: source), context) } } } diff --git a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbTextDocumentBuilder.kt b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbTextDocumentBuilder.kt index 62fe043d..b12355aa 100644 --- a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbTextDocumentBuilder.kt +++ b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbTextDocumentBuilder.kt @@ -9,6 +9,9 @@ import org.jetbrains.kotlin.KtSourceElement import org.jetbrains.kotlin.KtSourceFile import org.jetbrains.kotlin.com.intellij.lang.java.JavaLanguage import org.jetbrains.kotlin.fir.FirElement +import org.jetbrains.kotlin.fir.analysis.checkers.context.CheckerContext +import org.jetbrains.kotlin.fir.analysis.checkers.getDirectOverriddenSymbols +import org.jetbrains.kotlin.fir.analysis.checkers.toClassLikeSymbol import org.jetbrains.kotlin.fir.analysis.getChild import org.jetbrains.kotlin.fir.renderer.* import org.jetbrains.kotlin.fir.symbols.FirBasedSymbol @@ -24,7 +27,8 @@ import org.jetbrains.kotlin.text class SemanticdbTextDocumentBuilder( private val sourceroot: Path, private val file: KtSourceFile, - private val lineMap: LineMap + private val lineMap: LineMap, + private val cache: SymbolsCache, ) { private val occurrences = mutableListOf() private val symbols = mutableListOf() @@ -46,14 +50,15 @@ class SemanticdbTextDocumentBuilder( firBasedSymbol: FirBasedSymbol<*>?, symbol: Symbol, element: KtSourceElement, - role: Role + role: Role, + context: CheckerContext, ) { symbolOccurrence(symbol, element, role).let { if (!occurrences.contains(it)) { occurrences.add(it) } } - val symbolInformation = symbolInformation(firBasedSymbol, symbol, element) + val symbolInformation = symbolInformation(firBasedSymbol, symbol, element, context) if (role == Role.DEFINITION && !symbols.contains(symbolInformation)) symbols.add(symbolInformation) } @@ -62,7 +67,8 @@ class SemanticdbTextDocumentBuilder( private fun symbolInformation( firBasedSymbol: FirBasedSymbol<*>?, symbol: Symbol, - element: KtSourceElement + element: KtSourceElement, + context: CheckerContext, ): Semanticdb.SymbolInformation { val supers = when (firBasedSymbol) { @@ -70,9 +76,12 @@ class SemanticdbTextDocumentBuilder( firBasedSymbol .resolvedSuperTypeRefs .filter { it !is FirImplicitAnyTypeRef } - .map { it.toString() } - .asIterable() - else -> emptyList().asIterable() + .map { it.toClassLikeSymbol(firBasedSymbol.moduleData.session) } + .filterNotNull() + .flatMap { cache[it] } + is FirFunctionSymbol<*> -> + firBasedSymbol.fir.getDirectOverriddenSymbols(context).flatMap { cache[it] } + else -> emptyList().asIterable() } return SymbolInformation { this.symbol = symbol.toString() @@ -91,7 +100,7 @@ class SemanticdbTextDocumentBuilder( message = "" } } - this.addAllOverriddenSymbols(supers) + this.addAllOverriddenSymbols(supers.map { it.toString() }) this.language = when (element.psi?.language ?: KotlinLanguage.INSTANCE) { is KotlinLanguage -> Semanticdb.Language.KOTLIN diff --git a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbVisitor.kt b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbVisitor.kt index a1ff38cd..fdc738d6 100644 --- a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbVisitor.kt +++ b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbVisitor.kt @@ -5,6 +5,7 @@ import java.nio.file.Path import kotlin.contracts.ExperimentalContracts import org.jetbrains.kotlin.KtSourceElement import org.jetbrains.kotlin.KtSourceFile +import org.jetbrains.kotlin.fir.analysis.checkers.context.CheckerContext import org.jetbrains.kotlin.fir.declarations.* import org.jetbrains.kotlin.fir.references.FirResolvedNamedReference import org.jetbrains.kotlin.fir.symbols.FirBasedSymbol @@ -21,7 +22,7 @@ class SemanticdbVisitor( locals: LocalSymbolsCache = LocalSymbolsCache() ) { private val cache = SymbolsCache(globals, locals) - private val documentBuilder = SemanticdbTextDocumentBuilder(sourceroot, file, lineMap) + private val documentBuilder = SemanticdbTextDocumentBuilder(sourceroot, file, lineMap, cache) private data class SymbolDescriptorPair( val firBasedSymbol: FirBasedSymbol<*>?, @@ -34,10 +35,11 @@ class SemanticdbVisitor( private fun Sequence?.emitAll( element: KtSourceElement, - role: Role + role: Role, + context: CheckerContext, ): List? = this?.onEach { (firBasedSymbol, symbol) -> - documentBuilder.emitSemanticdbData(firBasedSymbol, symbol, element, role) + documentBuilder.emitSemanticdbData(firBasedSymbol, symbol, element, role, context) } ?.map { it.symbol } ?.toList() @@ -45,67 +47,67 @@ class SemanticdbVisitor( private fun Sequence.with(firBasedSymbol: FirBasedSymbol<*>?) = this.map { SymbolDescriptorPair(firBasedSymbol, it) } - fun visitPackage(pkg: FqName, element: KtSourceElement) { - cache[pkg].with(null).emitAll(element, Role.REFERENCE) + fun visitPackage(pkg: FqName, element: KtSourceElement, context: CheckerContext) { + cache[pkg].with(null).emitAll(element, Role.REFERENCE, context) } - fun visitClassReference(firClassSymbol: FirClassLikeSymbol<*>, element: KtSourceElement) { - cache[firClassSymbol].with(firClassSymbol).emitAll(element, Role.REFERENCE) + fun visitClassReference(firClassSymbol: FirClassLikeSymbol<*>, element: KtSourceElement, context: CheckerContext) { + cache[firClassSymbol].with(firClassSymbol).emitAll(element, Role.REFERENCE, context) } - fun visitCallableReference(firClassSymbol: FirCallableSymbol<*>, element: KtSourceElement) { - cache[firClassSymbol].with(firClassSymbol).emitAll(element, Role.REFERENCE) + fun visitCallableReference(firClassSymbol: FirCallableSymbol<*>, element: KtSourceElement, context: CheckerContext) { + cache[firClassSymbol].with(firClassSymbol).emitAll(element, Role.REFERENCE, context) } - fun visitClassOrObject(firClass: FirClass, element: KtSourceElement) { - cache[firClass.symbol].with(firClass.symbol).emitAll(element, Role.DEFINITION) + fun visitClassOrObject(firClass: FirClass, element: KtSourceElement, context: CheckerContext) { + cache[firClass.symbol].with(firClass.symbol).emitAll(element, Role.DEFINITION, context) } - fun visitPrimaryConstructor(firConstructor: FirConstructor, source: KtSourceElement) { + fun visitPrimaryConstructor(firConstructor: FirConstructor, source: KtSourceElement, context: CheckerContext) { // if the constructor is not denoted by the 'constructor' keyword, we want to link it to the // class ident - cache[firConstructor.symbol].with(firConstructor.symbol).emitAll(source, Role.DEFINITION) + cache[firConstructor.symbol].with(firConstructor.symbol).emitAll(source, Role.DEFINITION, context) } - fun visitSecondaryConstructor(firConstructor: FirConstructor, source: KtSourceElement) { - cache[firConstructor.symbol].with(firConstructor.symbol).emitAll(source, Role.DEFINITION) + fun visitSecondaryConstructor(firConstructor: FirConstructor, source: KtSourceElement, context: CheckerContext) { + cache[firConstructor.symbol].with(firConstructor.symbol).emitAll(source, Role.DEFINITION, context) } - fun visitNamedFunction(firFunction: FirFunction, source: KtSourceElement) { - cache[firFunction.symbol].with(firFunction.symbol).emitAll(source, Role.DEFINITION) + fun visitNamedFunction(firFunction: FirFunction, source: KtSourceElement, context: CheckerContext) { + cache[firFunction.symbol].with(firFunction.symbol).emitAll(source, Role.DEFINITION, context) } - fun visitProperty(firProperty: FirProperty, source: KtSourceElement) { - cache[firProperty.symbol].with(firProperty.symbol).emitAll(source, Role.DEFINITION) + fun visitProperty(firProperty: FirProperty, source: KtSourceElement, context: CheckerContext) { + cache[firProperty.symbol].with(firProperty.symbol).emitAll(source, Role.DEFINITION, context) } - fun visitParameter(firParameter: FirValueParameter, source: KtSourceElement) { - cache[firParameter.symbol].with(firParameter.symbol).emitAll(source, Role.DEFINITION) + fun visitParameter(firParameter: FirValueParameter, source: KtSourceElement, context: CheckerContext) { + cache[firParameter.symbol].with(firParameter.symbol).emitAll(source, Role.DEFINITION, context) } - fun visitTypeParameter(firTypeParameter: FirTypeParameter, source: KtSourceElement) { + fun visitTypeParameter(firTypeParameter: FirTypeParameter, source: KtSourceElement, context: CheckerContext) { cache[firTypeParameter.symbol] .with(firTypeParameter.symbol) - .emitAll(source, Role.DEFINITION) + .emitAll(source, Role.DEFINITION, context) } - fun visitTypeAlias(firTypeAlias: FirTypeAlias, source: KtSourceElement) { - cache[firTypeAlias.symbol].with(firTypeAlias.symbol).emitAll(source, Role.DEFINITION) + fun visitTypeAlias(firTypeAlias: FirTypeAlias, source: KtSourceElement, context: CheckerContext) { + cache[firTypeAlias.symbol].with(firTypeAlias.symbol).emitAll(source, Role.DEFINITION, context) } - fun visitPropertyAccessor(firPropertyAccessor: FirPropertyAccessor, source: KtSourceElement) { + fun visitPropertyAccessor(firPropertyAccessor: FirPropertyAccessor, source: KtSourceElement, context: CheckerContext) { cache[firPropertyAccessor.symbol] .with(firPropertyAccessor.symbol) - .emitAll(source, Role.DEFINITION) + .emitAll(source, Role.DEFINITION, context) } fun visitSimpleNameExpression( firResolvedNamedReference: FirResolvedNamedReference, - source: KtSourceElement + source: KtSourceElement, context: CheckerContext, ) { cache[firResolvedNamedReference.resolvedSymbol] .with(firResolvedNamedReference.resolvedSymbol) - .emitAll(source, Role.REFERENCE) + .emitAll(source, Role.REFERENCE, context) } } diff --git a/semanticdb-kotlinc/src/test/kotlin/com/sourcegraph/semanticdb_kotlinc/test/AnalyzerTest.kt b/semanticdb-kotlinc/src/test/kotlin/com/sourcegraph/semanticdb_kotlinc/test/AnalyzerTest.kt index 89459150..c57a1f0b 100644 --- a/semanticdb-kotlinc/src/test/kotlin/com/sourcegraph/semanticdb_kotlinc/test/AnalyzerTest.kt +++ b/semanticdb-kotlinc/src/test/kotlin/com/sourcegraph/semanticdb_kotlinc/test/AnalyzerTest.kt @@ -122,6 +122,134 @@ class AnalyzerTest { assertSoftly(document.symbolsList) { withClue(this) { symbols.forEach(::shouldContain) } } } + @Test + fun overrides(@TempDir path: Path) { + val document = + compileSemanticdb( + path, + """ + package sample + + interface Interface { + fun foo() + } + + class Class : Interface { + override fun foo() {} + } + """) + + val occurrences = + arrayOf( + SymbolOccurrence { + role = Role.REFERENCE + symbol = "sample/" + range { + startLine = 0 + startCharacter = 8 + endLine = 0 + endCharacter = 14 + } + }, + SymbolOccurrence { + role = Role.DEFINITION + symbol = "sample/Interface#" + range { + startLine = 2 + startCharacter = 10 + endLine = 2 + endCharacter = 19 + } + }, + SymbolOccurrence { + role = Role.DEFINITION + symbol = "sample/Interface#foo()." + range { + startLine = 3 + startCharacter = 8 + endLine = 3 + endCharacter = 11 + } + }, + SymbolOccurrence { + role = Role.DEFINITION + symbol = "sample/Class#" + range { + startLine = 6 + startCharacter = 6 + endLine = 6 + endCharacter = 11 + } + }, + SymbolOccurrence { + role = Role.REFERENCE + symbol = "sample/Interface#" + range { + startLine = 6 + startCharacter = 14 + endLine = 6 + endCharacter = 23 + } + }, + SymbolOccurrence { + role = Role.DEFINITION + symbol = "sample/Class#foo()." + range { + startLine = 7 + startCharacter = 17 + endLine = 7 + endCharacter = 20 + } + }, + ) + assertSoftly(document.occurrencesList) { + withClue(this) { occurrences.forEach(::shouldContain) } + } + + val symbols = + arrayOf( + SymbolInformation { + symbol = "sample/Interface#" + displayName = "Interface" + language = KOTLIN + documentation { + message = "```kotlin\npublic abstract interface Interface : Any\n```" + format = Semanticdb.Documentation.Format.MARKDOWN + } + }, + SymbolInformation { + symbol = "sample/Interface#foo()." + displayName = "foo" + language = KOTLIN + documentation { + message = "```kotlin\npublic abstract fun foo(): Unit\n\n```" + format = Semanticdb.Documentation.Format.MARKDOWN + } + }, + SymbolInformation { + symbol = "sample/Class#" + displayName = "Class" + language = KOTLIN + documentation { + message = "```kotlin\npublic final class Class : Interface\n```" + format = Semanticdb.Documentation.Format.MARKDOWN + } + addOverriddenSymbols("sample/Interface#") + }, + SymbolInformation { + symbol = "sample/Class#foo()." + displayName = "foo" + language = KOTLIN + documentation { + message = "```kotlin\npublic open override fun foo(): Unit\n```" + format = Semanticdb.Documentation.Format.MARKDOWN + } + addOverriddenSymbols("sample/Interface#foo().") + }, + ) + assertSoftly(document.symbolsList) { withClue(this) { symbols.forEach(::shouldContain) } } + } + @Test fun `exception test`(@TempDir path: Path) { val buildPath = File(path.resolve("build").toString()).apply { mkdir() } From fa1d1cb31d1c6ee04eb23091c8b7aa7369b11ae9 Mon Sep 17 00:00:00 2001 From: Nicolas Guichard Date: Wed, 26 Mar 2025 08:35:50 +0100 Subject: [PATCH 49/54] Improve handling of anonymous objects We don't want to call all anonymous objects , or we can't desambiguate between two anonymous objects from the same package. We emit anonymous objects just like regular classes, but take care to point at the `object` keyword for the class and primary constructor. --- .../semanticdb_kotlinc/AnalyzerCheckers.kt | 44 ++-- .../semanticdb_kotlinc/SemanticdbVisitor.kt | 2 +- .../semanticdb_kotlinc/SymbolsCache.kt | 4 + .../semanticdb_kotlinc/test/AnalyzerTest.kt | 194 ++++++++++++++++++ 4 files changed, 231 insertions(+), 13 deletions(-) diff --git a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerCheckers.kt b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerCheckers.kt index 1d16e45a..6d6b1746 100644 --- a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerCheckers.kt +++ b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerCheckers.kt @@ -24,6 +24,7 @@ import org.jetbrains.kotlin.fir.references.FirResolvedNamedReference import org.jetbrains.kotlin.fir.resolve.calls.FirSyntheticFunctionSymbol import org.jetbrains.kotlin.fir.resolve.providers.symbolProvider import org.jetbrains.kotlin.fir.resolve.toClassLikeSymbol +import org.jetbrains.kotlin.fir.symbols.impl.FirAnonymousObjectSymbol import org.jetbrains.kotlin.fir.symbols.impl.FirPropertySymbol import org.jetbrains.kotlin.lexer.KtTokens import org.jetbrains.kotlin.name.ClassId @@ -54,8 +55,8 @@ open class AnalyzerCheckers(session: FirSession) : FirAdditionalCheckersExtensio open class AnalyzerDeclarationCheckers(sourceroot: Path) : DeclarationCheckers() { override val fileCheckers: Set = setOf(SemanticFileChecker(sourceroot), SemanticImportsChecker()) - override val regularClassCheckers: Set = - setOf(SemanticRegularClassChecker()) + override val classLikeCheckers: Set = + setOf(SemanticClassLikeChecker()) override val constructorCheckers: Set = setOf(SemanticConstructorChecker()) override val simpleFunctionCheckers: Set = @@ -166,23 +167,33 @@ open class AnalyzerCheckers(session: FirSession) : FirAdditionalCheckersExtensio } } - private class SemanticRegularClassChecker : FirRegularClassChecker(MppCheckerKind.Common) { + private class SemanticClassLikeChecker : FirClassLikeChecker(MppCheckerKind.Common) { @OptIn(ExperimentalContracts::class) override fun check( - declaration: FirRegularClass, + declaration: FirClassLikeDeclaration, context: CheckerContext, reporter: DiagnosticReporter ) { val source = declaration.source ?: return val ktFile = context.containingFile?.sourceFile ?: return val visitor = visitors[ktFile] - visitor?.visitClassOrObject(declaration, getIdentifier(source), context) - - for (superType in declaration.superTypeRefs) { - val superSymbol = superType.toClassLikeSymbol(context.session) - val superSource = superType.source - if (superSymbol != null && superSource != null) { - visitor?.visitClassReference(superSymbol, superSource, context) + val objectKeyword = if (declaration is FirAnonymousObject) { + source + .treeStructure + .findChildByType(source.lighterASTNode, KtTokens.OBJECT_KEYWORD) + ?.toKtLightSourceElement(source.treeStructure) + } else { + null + } + visitor?.visitClassOrObject(declaration, objectKeyword ?: getIdentifier(source), context) + + if (declaration is FirClass) { + for (superType in declaration.superTypeRefs) { + val superSymbol = superType.toClassLikeSymbol(context.session) + val superSource = superType.source + if (superSymbol != null && superSource != null) { + visitor?.visitClassReference(superSymbol, superSource, context) + } } } } @@ -210,7 +221,16 @@ open class AnalyzerCheckers(session: FirSession) : FirAdditionalCheckersExtensio .findChildByType(source.lighterASTNode, KtTokens.CONSTRUCTOR_KEYWORD) ?.toKtLightSourceElement(source.treeStructure) - visitor?.visitPrimaryConstructor(declaration, constructorKeyboard ?: getIdentifier(klassSource), context) + val objectKeyword = if (klass is FirAnonymousObjectSymbol) { + source + .treeStructure + .findChildByType(source.lighterASTNode, KtTokens.OBJECT_KEYWORD) + ?.toKtLightSourceElement(source.treeStructure) + } else { + null + } + + visitor?.visitPrimaryConstructor(declaration, constructorKeyboard ?: objectKeyword ?: getIdentifier(klassSource), context) } else { visitor?.visitSecondaryConstructor(declaration, getIdentifier(source), context) } diff --git a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbVisitor.kt b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbVisitor.kt index fdc738d6..fc3ef3c8 100644 --- a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbVisitor.kt +++ b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbVisitor.kt @@ -59,7 +59,7 @@ class SemanticdbVisitor( cache[firClassSymbol].with(firClassSymbol).emitAll(element, Role.REFERENCE, context) } - fun visitClassOrObject(firClass: FirClass, element: KtSourceElement, context: CheckerContext) { + fun visitClassOrObject(firClass: FirClassLikeDeclaration, element: KtSourceElement, context: CheckerContext) { cache[firClass.symbol].with(firClass.symbol).emitAll(element, Role.DEFINITION, context) } diff --git a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SymbolsCache.kt b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SymbolsCache.kt index 163c409b..b9182d86 100644 --- a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SymbolsCache.kt +++ b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SymbolsCache.kt @@ -139,6 +139,10 @@ class GlobalSymbolsCache(testing: Boolean = false) : Iterable { @OptIn(SymbolInternals::class) private fun semanticdbDescriptor(symbol: FirBasedSymbol<*>): SemanticdbSymbolDescriptor { return when { + symbol is FirAnonymousObjectSymbol -> + symbol.source?.let { source -> + SemanticdbSymbolDescriptor(Kind.TYPE, "") + } ?: SemanticdbSymbolDescriptor.NONE symbol is FirClassLikeSymbol -> SemanticdbSymbolDescriptor(Kind.TYPE, symbol.classId.shortClassName.asString()) symbol is FirPropertyAccessorSymbol && symbol.isSetter -> diff --git a/semanticdb-kotlinc/src/test/kotlin/com/sourcegraph/semanticdb_kotlinc/test/AnalyzerTest.kt b/semanticdb-kotlinc/src/test/kotlin/com/sourcegraph/semanticdb_kotlinc/test/AnalyzerTest.kt index c57a1f0b..fef56225 100644 --- a/semanticdb-kotlinc/src/test/kotlin/com/sourcegraph/semanticdb_kotlinc/test/AnalyzerTest.kt +++ b/semanticdb-kotlinc/src/test/kotlin/com/sourcegraph/semanticdb_kotlinc/test/AnalyzerTest.kt @@ -250,6 +250,200 @@ class AnalyzerTest { assertSoftly(document.symbolsList) { withClue(this) { symbols.forEach(::shouldContain) } } } + @Test + fun `anonymous object`(@TempDir path: Path) { + val document = + compileSemanticdb( + path, + """ + package sample + + interface Interface { + fun foo() + } + + fun main() { + val a = object : Interface { + override fun foo() {} + } + val b = object : Interface { + override fun foo() {} + } + } + """) + + val occurrences = + arrayOf( + SymbolOccurrence { + role = Role.REFERENCE + symbol = "sample/" + range { + startLine = 0 + startCharacter = 8 + endLine = 0 + endCharacter = 14 + } + }, + SymbolOccurrence { + role = Role.DEFINITION + symbol = "sample/Interface#" + range { + startLine = 2 + startCharacter = 10 + endLine = 2 + endCharacter = 19 + } + }, + SymbolOccurrence { + role = Role.DEFINITION + symbol = "sample/Interface#foo()." + range { + startLine = 3 + startCharacter = 8 + endLine = 3 + endCharacter = 11 + } + }, + SymbolOccurrence { + role = Role.DEFINITION + symbol = "sample/``#" + range { + startLine = 7 + startCharacter = 12 + endLine = 7 + endCharacter = 18 + } + }, + SymbolOccurrence { + role = Role.DEFINITION + symbol = "sample/``#``()." + range { + startLine = 7 + startCharacter = 12 + endLine = 7 + endCharacter = 18 + } + }, + SymbolOccurrence { + role = Role.REFERENCE + symbol = "sample/Interface#" + range { + startLine = 7 + startCharacter = 21 + endLine = 7 + endCharacter = 30 + } + }, + SymbolOccurrence { + role = Role.DEFINITION + symbol = "sample/``#foo()." + range { + startLine = 8 + startCharacter = 21 + endLine = 8 + endCharacter = 24 + } + }, + SymbolOccurrence { + role = Role.DEFINITION + symbol = "sample/``#" + range { + startLine = 10 + startCharacter = 12 + endLine = 10 + endCharacter = 18 + } + }, + SymbolOccurrence { + role = Role.DEFINITION + symbol = "sample/``#``()." + range { + startLine = 10 + startCharacter = 12 + endLine = 10 + endCharacter = 18 + } + }, + SymbolOccurrence { + role = Role.REFERENCE + symbol = "sample/Interface#" + range { + startLine = 10 + startCharacter = 21 + endLine = 10 + endCharacter = 30 + } + }, + SymbolOccurrence { + role = Role.DEFINITION + symbol = "sample/``#foo()." + range { + startLine = 11 + startCharacter = 21 + endLine = 11 + endCharacter = 24 + } + }, + ) + assertSoftly(document.occurrencesList) { + withClue(this) { occurrences.forEach(::shouldContain) } + } + + val symbols = + arrayOf( + SymbolInformation { + symbol = "sample/Interface#" + displayName = "Interface" + language = KOTLIN + documentation { + message = "```kotlin\npublic abstract interface Interface : Any\n```" + format = Semanticdb.Documentation.Format.MARKDOWN + } + }, + SymbolInformation { + symbol = "sample/``#" + displayName = "" + language = KOTLIN + documentation { + message = "```kotlin\nobject : Interface\n```" + format = Semanticdb.Documentation.Format.MARKDOWN + } + addOverriddenSymbols("sample/Interface#") + }, + SymbolInformation { + symbol = "sample/``#foo()." + displayName = "foo" + language = KOTLIN + documentation { + message = "```kotlin\npublic open override fun foo(): Unit\n```" + format = Semanticdb.Documentation.Format.MARKDOWN + } + addOverriddenSymbols("sample/Interface#foo().") + }, + SymbolInformation { + symbol = "sample/``#" + displayName = "" + language = KOTLIN + documentation { + message = "```kotlin\nobject : Interface\n```" + format = Semanticdb.Documentation.Format.MARKDOWN + } + addOverriddenSymbols("sample/Interface#") + }, + SymbolInformation { + symbol = "sample/``#foo()." + displayName = "foo" + language = KOTLIN + documentation { + message = "```kotlin\npublic open override fun foo(): Unit\n```" + format = Semanticdb.Documentation.Format.MARKDOWN + } + addOverriddenSymbols("sample/Interface#foo().") + }, + ) + assertSoftly(document.symbolsList) { withClue(this) { symbols.forEach(::shouldContain) } } + } + @Test fun `exception test`(@TempDir path: Path) { val buildPath = File(path.resolve("build").toString()).apply { mkdir() } From 6546e6db2a104f6dcfcd7ba46e431e988ac798ad Mon Sep 17 00:00:00 2001 From: Nicolas Guichard Date: Wed, 26 Mar 2025 08:36:45 +0100 Subject: [PATCH 50/54] Don't emit reference to implicit type annotations --- .../com/sourcegraph/semanticdb_kotlinc/AnalyzerCheckers.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerCheckers.kt b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerCheckers.kt index 6d6b1746..091d1a0c 100644 --- a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerCheckers.kt +++ b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerCheckers.kt @@ -280,7 +280,7 @@ open class AnalyzerCheckers(session: FirSession) : FirAdditionalCheckersExtensio val klass = declaration.returnTypeRef.toClassLikeSymbol(context.session) val klassSource = declaration.returnTypeRef.source - if (klass != null && klassSource != null) { + if (klass != null && klassSource != null && klassSource.kind !is KtFakeSourceElementKind) { visitor?.visitClassReference(klass, getIdentifier(klassSource), context) } } From 606ce4ea2457f0dd1b49f03a907285d2de17457c Mon Sep 17 00:00:00 2001 From: Nicolas Guichard Date: Wed, 9 Apr 2025 12:38:11 +0200 Subject: [PATCH 51/54] Function type annotations --- .../semanticdb_kotlinc/AnalyzerCheckers.kt | 12 ++++ .../semanticdb_kotlinc/test/AnalyzerTest.kt | 59 +++++++++++++++++++ 2 files changed, 71 insertions(+) diff --git a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerCheckers.kt b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerCheckers.kt index 091d1a0c..a5b511ce 100644 --- a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerCheckers.kt +++ b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerCheckers.kt @@ -248,6 +248,12 @@ open class AnalyzerCheckers(session: FirSession) : FirAdditionalCheckersExtensio val ktFile = context.containingFile?.sourceFile ?: return val visitor = visitors[ktFile] visitor?.visitNamedFunction(declaration, getIdentifier(source), context) + + val klass = declaration.returnTypeRef.toClassLikeSymbol(context.session) + val klassSource = declaration.returnTypeRef.source + if (klass != null && klassSource != null && klassSource.kind !is KtFakeSourceElementKind) { + visitor?.visitClassReference(klass, getIdentifier(klassSource), context) + } } } @@ -297,6 +303,12 @@ open class AnalyzerCheckers(session: FirSession) : FirAdditionalCheckersExtensio val ktFile = context.containingFile?.sourceFile ?: return val visitor = visitors[ktFile] visitor?.visitParameter(declaration, getIdentifier(source), context) + + val klass = declaration.returnTypeRef.toClassLikeSymbol(context.session) + val klassSource = declaration.returnTypeRef.source + if (klass != null && klassSource != null && klassSource.kind !is KtFakeSourceElementKind) { + visitor?.visitClassReference(klass, getIdentifier(klassSource), context) + } } } diff --git a/semanticdb-kotlinc/src/test/kotlin/com/sourcegraph/semanticdb_kotlinc/test/AnalyzerTest.kt b/semanticdb-kotlinc/src/test/kotlin/com/sourcegraph/semanticdb_kotlinc/test/AnalyzerTest.kt index fef56225..911c8cc4 100644 --- a/semanticdb-kotlinc/src/test/kotlin/com/sourcegraph/semanticdb_kotlinc/test/AnalyzerTest.kt +++ b/semanticdb-kotlinc/src/test/kotlin/com/sourcegraph/semanticdb_kotlinc/test/AnalyzerTest.kt @@ -444,6 +444,65 @@ class AnalyzerTest { assertSoftly(document.symbolsList) { withClue(this) { symbols.forEach(::shouldContain) } } } + @Test + fun `function return type`(@TempDir path: Path) { + val document = + compileSemanticdb( + path, + """ + package sample + + fun foo(arg: Int): Boolean = true + """) + + val occurrences = + arrayOf( + SymbolOccurrence { + role = Role.DEFINITION + symbol = "sample/foo()." + range { + startLine = 2 + startCharacter = 4 + endLine = 2 + endCharacter = 7 + } + }, + SymbolOccurrence { + role = Role.DEFINITION + symbol = "sample/foo().(arg)" + range { + startLine = 2 + startCharacter = 8 + endLine = 2 + endCharacter = 11 + } + }, + SymbolOccurrence { + role = Role.REFERENCE + symbol = "kotlin/Int#" + range { + startLine = 2 + startCharacter = 13 + endLine = 2 + endCharacter = 16 + } + }, + SymbolOccurrence { + role = Role.REFERENCE + symbol = "kotlin/Boolean#" + range { + startLine = 2 + startCharacter = 19 + endLine = 2 + endCharacter = 26 + } + }, + ) + assertSoftly(document.occurrencesList) { + withClue(this) { occurrences.forEach(::shouldContain) } + } + } + @Test fun `exception test`(@TempDir path: Path) { val buildPath = File(path.resolve("build").toString()).apply { mkdir() } From ec1095e01f680340df7a51caa20fdacadf57501e Mon Sep 17 00:00:00 2001 From: Nicolas Guichard Date: Wed, 9 Apr 2025 17:55:42 +0200 Subject: [PATCH 52/54] Update to Kotlin 2.1.20 --- build.gradle.kts | 2 +- .../semanticdb_kotlinc/SemanticdbTextDocumentBuilder.kt | 2 +- .../kotlin/com/sourcegraph/semanticdb_kotlinc/SymbolsCache.kt | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index 930b7cb5..060ab0ad 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -4,7 +4,7 @@ import groovy.lang.Closure import org.gradle.jvm.toolchain.internal.CurrentJvmToolchainSpec plugins { - kotlin("jvm") version "2.1.0" + kotlin("jvm") version "2.1.20" id("com.github.johnrengelman.shadow") version "8.1.1" id("com.palantir.git-version") version "3.1.0" id("io.github.gradle-nexus.publish-plugin") version "1.1.0" diff --git a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbTextDocumentBuilder.kt b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbTextDocumentBuilder.kt index b12355aa..eb371e7e 100644 --- a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbTextDocumentBuilder.kt +++ b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbTextDocumentBuilder.kt @@ -153,7 +153,7 @@ class SemanticdbTextDocumentBuilder( propertyAccessorRenderer = null, callArgumentsRenderer = FirCallNoArgumentsRenderer(), modifierRenderer = FirAllModifierRenderer(), - valueParameterRenderer = FirValueParameterRendererForReadability(), + callableSignatureRenderer = FirCallableSignatureRendererForReadability(), declarationRenderer = FirDeclarationRenderer("local "), ) val renderOutput = renderer.renderElementAsString(element) diff --git a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SymbolsCache.kt b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SymbolsCache.kt index b9182d86..3c1ca941 100644 --- a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SymbolsCache.kt +++ b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SymbolsCache.kt @@ -118,7 +118,7 @@ class GlobalSymbolsCache(testing: Boolean = false) : Iterable { when (symbol) { is FirTypeParameterSymbol -> return getSymbol(symbol.containingDeclarationSymbol, locals) - is FirValueParameterSymbol -> return getSymbol(symbol.containingFunctionSymbol, locals) + is FirValueParameterSymbol -> return getSymbol(symbol.containingDeclarationSymbol, locals) is FirCallableSymbol -> { val session = symbol.fir.moduleData.session return symbol.getContainingSymbol(session)?.let { getSymbol(it, locals) } From 7f4bf25b0f4bfe82d8ddde823e371ae48703ca82 Mon Sep 17 00:00:00 2001 From: Nicolas Guichard Date: Wed, 9 Apr 2025 18:36:43 +0200 Subject: [PATCH 53/54] Fix import as --- .../semanticdb_kotlinc/AnalyzerCheckers.kt | 7 +- .../semanticdb_kotlinc/test/AnalyzerTest.kt | 70 +++++++++++++++++++ 2 files changed, 72 insertions(+), 5 deletions(-) diff --git a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerCheckers.kt b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerCheckers.kt index a5b511ce..2e4d1114 100644 --- a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerCheckers.kt +++ b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/AnalyzerCheckers.kt @@ -5,10 +5,7 @@ import kotlin.contracts.ExperimentalContracts import org.jetbrains.kotlin.* import org.jetbrains.kotlin.com.intellij.lang.LighterASTNode import org.jetbrains.kotlin.com.intellij.util.diff.FlyweightCapableTreeStructure -import org.jetbrains.kotlin.diagnostics.DiagnosticReporter -import org.jetbrains.kotlin.diagnostics.collectDescendantsOfType -import org.jetbrains.kotlin.diagnostics.findChildByType -import org.jetbrains.kotlin.diagnostics.findLastDescendant +import org.jetbrains.kotlin.diagnostics.* import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.analysis.checkers.MppCheckerKind import org.jetbrains.kotlin.fir.analysis.checkers.context.CheckerContext @@ -141,7 +138,7 @@ open class AnalyzerCheckers(session: FirSession) : FirAdditionalCheckersExtensio val source = import.source ?: return@forEach val fqName = import.importedFqName ?: return@forEach - val names = source.treeStructure.findLastDescendant(source.lighterASTNode) { true } + val names = source.treeStructure.findDescendantByType(source.lighterASTNode, KtNodeTypes.DOT_QUALIFIED_EXPRESSION) if (names != null) { eachFqNameElement(fqName, source.treeStructure, names) { fqName, name -> val symbolProvider = context.session.symbolProvider diff --git a/semanticdb-kotlinc/src/test/kotlin/com/sourcegraph/semanticdb_kotlinc/test/AnalyzerTest.kt b/semanticdb-kotlinc/src/test/kotlin/com/sourcegraph/semanticdb_kotlinc/test/AnalyzerTest.kt index 911c8cc4..3b7fd802 100644 --- a/semanticdb-kotlinc/src/test/kotlin/com/sourcegraph/semanticdb_kotlinc/test/AnalyzerTest.kt +++ b/semanticdb-kotlinc/src/test/kotlin/com/sourcegraph/semanticdb_kotlinc/test/AnalyzerTest.kt @@ -122,6 +122,76 @@ class AnalyzerTest { assertSoftly(document.symbolsList) { withClue(this) { symbols.forEach(::shouldContain) } } } + @Test + fun imports(@TempDir path: Path) { + val document = + compileSemanticdb( + path, + """ + package sample + + import kotlin.Boolean + import kotlin.Int as KInt + """) + + val occurrences = + arrayOf( + SymbolOccurrence { + role = Role.REFERENCE + symbol = "sample/" + range { + startLine = 0 + startCharacter = 8 + endLine = 0 + endCharacter = 14 + } + }, + SymbolOccurrence { + role = Role.REFERENCE + symbol = "kotlin/" + range { + startLine = 2 + startCharacter = 7 + endLine = 2 + endCharacter = 13 + } + }, + SymbolOccurrence { + role = Role.REFERENCE + symbol = "kotlin/Boolean#" + range { + startLine = 2 + startCharacter = 14 + endLine = 2 + endCharacter = 21 + } + }, + SymbolOccurrence { + role = Role.REFERENCE + symbol = "kotlin/" + range { + startLine = 3 + startCharacter = 7 + endLine = 3 + endCharacter = 13 + } + }, + SymbolOccurrence { + role = Role.REFERENCE + symbol = "kotlin/Int#" + range { + startLine = 3 + startCharacter = 14 + endLine = 3 + endCharacter = 17 + } + }, + ) + assertSoftly(document.occurrencesList) { + withClue(this) { occurrences.forEach(::shouldContain) } + } + } + @Test fun overrides(@TempDir path: Path) { val document = From 60fd0fde66487c8b2f3182fd86b37b58ebf216cd Mon Sep 17 00:00:00 2001 From: Nicolas Guichard Date: Thu, 10 Apr 2025 10:41:56 +0200 Subject: [PATCH 54/54] Children of local symbols are local symbols This was caught by Searchfox's scip-indexer, which would error out: ``` [ERROR scip_indexer] InvalidLocalSymbol("local 84getCurrentIndex().") ``` --- .../semanticdb_kotlinc/SymbolsCache.kt | 3 + .../semanticdb_kotlinc/test/AnalyzerTest.kt | 107 ++++++++++++++++++ 2 files changed, 110 insertions(+) diff --git a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SymbolsCache.kt b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SymbolsCache.kt index 3c1ca941..24a30e20 100644 --- a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SymbolsCache.kt +++ b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SymbolsCache.kt @@ -93,6 +93,9 @@ class GlobalSymbolsCache(testing: Boolean = false) : Iterable { if (symbol.fir.isLocalMember) return locals + symbol val owner = getParentSymbol(symbol, locals) + + if (owner.isLocal()) return locals + symbol + val semanticdbDescriptor = semanticdbDescriptor(symbol) return Symbol.createGlobal(owner, semanticdbDescriptor) diff --git a/semanticdb-kotlinc/src/test/kotlin/com/sourcegraph/semanticdb_kotlinc/test/AnalyzerTest.kt b/semanticdb-kotlinc/src/test/kotlin/com/sourcegraph/semanticdb_kotlinc/test/AnalyzerTest.kt index 3b7fd802..21c83bed 100644 --- a/semanticdb-kotlinc/src/test/kotlin/com/sourcegraph/semanticdb_kotlinc/test/AnalyzerTest.kt +++ b/semanticdb-kotlinc/src/test/kotlin/com/sourcegraph/semanticdb_kotlinc/test/AnalyzerTest.kt @@ -192,6 +192,113 @@ class AnalyzerTest { } } + @Test + fun `local classes`(@TempDir path: Path) { + val document = + compileSemanticdb( + path, + """ + package sample + + fun foo() { + class LocalClass { + fun localClassMethod() {} + } + } + """) + + val occurrences = + arrayOf( + SymbolOccurrence { + role = Role.DEFINITION + symbol = "sample/foo()." + range { + startLine = 2 + startCharacter = 4 + endLine = 2 + endCharacter = 7 + } + }, + // LocalClass + SymbolOccurrence { + role = Role.DEFINITION + symbol = "local0" + range { + startLine = 3 + startCharacter = 8 + endLine = 3 + endCharacter = 18 + } + }, + // LocalClass constructor + SymbolOccurrence { + role = Role.DEFINITION + symbol = "local1" + range { + startLine = 3 + startCharacter = 8 + endLine = 3 + endCharacter = 18 + } + }, + // localClassMethod + SymbolOccurrence { + role = Role.DEFINITION + symbol = "local2" + range { + startLine = 4 + startCharacter = 8 + endLine = 4 + endCharacter = 24 + } + }, + ) + assertSoftly(document.occurrencesList) { + withClue(this) { occurrences.forEach(::shouldContain) } + } + + val symbols = + arrayOf( + SymbolInformation { + symbol = "sample/foo()." + displayName = "foo" + language = KOTLIN + documentation { + message = "```kotlin\npublic final fun foo(): Unit\n```" + format = Semanticdb.Documentation.Format.MARKDOWN + } + }, + SymbolInformation { + symbol = "local0" + displayName = "LocalClass" + language = KOTLIN + documentation { + message = "```kotlin\nlocal final class LocalClass : Any\n```" + format = Semanticdb.Documentation.Format.MARKDOWN + } + }, + SymbolInformation { + symbol = "local1" + displayName = "LocalClass" + language = KOTLIN + documentation { + message = "```kotlin\npublic constructor(): LocalClass\n```" + format = Semanticdb.Documentation.Format.MARKDOWN + } + }, + SymbolInformation { + symbol = "local2" + displayName = "localClassMethod" + language = KOTLIN + documentation { + message = "```kotlin\npublic final fun localClassMethod(): Unit\n```" + format = Semanticdb.Documentation.Format.MARKDOWN + } + }, + ) + assertSoftly(document.symbolsList) { withClue(this) { symbols.forEach(::shouldContain) } } + } + @Test fun overrides(@TempDir path: Path) { val document =