From 700a5cc13bcf5612776977f7949de7ce4106a687 Mon Sep 17 00:00:00 2001 From: jupblb Date: Mon, 11 May 2026 12:39:10 +0200 Subject: [PATCH 1/8] Add Java and Kotlin protobuf bindings Adds two new bindings under bindings/java and bindings/kotlin, generated by protoc's built-in --java_out and --kotlin_out plugins (no extra plugin packages required beyond pkgs.protobuf). * buf.gen.yaml is migrated to v2 syntax, which lets us use protoc_builtin: java/kotlin. Existing v1 entries are converted to the equivalent local: form. * flake.nix gains pkgs.protobuf in proto-generate.runtimeInputs so protoc is on PATH for the built-in generators. * checks.nix gains java-bindings and kotlin-bindings checks built via pkgs.maven.buildMavenPackage, plus a small extractPomVersion helper that asserts pom.xml versions match the project version (matching the pattern used for rust/haskell/typescript bindings). * Each binding ships its own pom.xml so consumers can mvn install / publish independently. The Kotlin DSL extensions reference the underlying Java message classes, so the Java sources are also generated into bindings/kotlin/src/main/java to keep that module self-contained for the in-tree Maven build. * The new checks are picked up automatically by .github/workflows/ nix-checks.yaml since it auto-discovers checks via builtins.attrNames. --- bindings/java/.gitignore | 1 + bindings/java/pom.xml | 48 + bindings/java/src/main/java/scip/Scip.java | 23170 ++++++++++++++++ bindings/kotlin/.gitignore | 1 + bindings/kotlin/pom.xml | 105 + bindings/kotlin/src/main/java/scip/Scip.java | 23170 ++++++++++++++++ .../src/main/kotlin/scip/DescriptorKt.kt | 103 + .../src/main/kotlin/scip/DiagnosticKt.kt | 214 + .../kotlin/src/main/kotlin/scip/DocumentKt.kt | 420 + .../kotlin/src/main/kotlin/scip/IndexKt.kt | 312 + .../kotlin/src/main/kotlin/scip/MetadataKt.kt | 174 + .../src/main/kotlin/scip/OccurrenceKt.kt | 1072 + .../kotlin/src/main/kotlin/scip/PackageKt.kt | 92 + .../src/main/kotlin/scip/RelationshipKt.kt | 234 + .../src/main/kotlin/scip/ScipKt.proto.kt | 8 + .../src/main/kotlin/scip/SignatureKt.kt | 205 + .../main/kotlin/scip/SymbolInformationKt.kt | 490 + .../kotlin/src/main/kotlin/scip/SymbolKt.kt | 198 + .../kotlin/src/main/kotlin/scip/ToolInfoKt.kt | 183 + buf.gen.yaml | 23 +- checks.nix | 47 + flake.nix | 1 + 22 files changed, 50263 insertions(+), 8 deletions(-) create mode 100644 bindings/java/.gitignore create mode 100644 bindings/java/pom.xml create mode 100644 bindings/java/src/main/java/scip/Scip.java create mode 100644 bindings/kotlin/.gitignore create mode 100644 bindings/kotlin/pom.xml create mode 100644 bindings/kotlin/src/main/java/scip/Scip.java create mode 100644 bindings/kotlin/src/main/kotlin/scip/DescriptorKt.kt create mode 100644 bindings/kotlin/src/main/kotlin/scip/DiagnosticKt.kt create mode 100644 bindings/kotlin/src/main/kotlin/scip/DocumentKt.kt create mode 100644 bindings/kotlin/src/main/kotlin/scip/IndexKt.kt create mode 100644 bindings/kotlin/src/main/kotlin/scip/MetadataKt.kt create mode 100644 bindings/kotlin/src/main/kotlin/scip/OccurrenceKt.kt create mode 100644 bindings/kotlin/src/main/kotlin/scip/PackageKt.kt create mode 100644 bindings/kotlin/src/main/kotlin/scip/RelationshipKt.kt create mode 100644 bindings/kotlin/src/main/kotlin/scip/ScipKt.proto.kt create mode 100644 bindings/kotlin/src/main/kotlin/scip/SignatureKt.kt create mode 100644 bindings/kotlin/src/main/kotlin/scip/SymbolInformationKt.kt create mode 100644 bindings/kotlin/src/main/kotlin/scip/SymbolKt.kt create mode 100644 bindings/kotlin/src/main/kotlin/scip/ToolInfoKt.kt diff --git a/bindings/java/.gitignore b/bindings/java/.gitignore new file mode 100644 index 00000000..2f7896d1 --- /dev/null +++ b/bindings/java/.gitignore @@ -0,0 +1 @@ +target/ diff --git a/bindings/java/pom.xml b/bindings/java/pom.xml new file mode 100644 index 00000000..20a30de1 --- /dev/null +++ b/bindings/java/pom.xml @@ -0,0 +1,48 @@ + + + 4.0.0 + + com.scip-code + scip-java + 0.7.1 + jar + + scip-java + + Generated Java bindings for the Semantic Code Intelligence Protocol (SCIP). + + https://github.com/scip-code/scip + + + + Apache License, Version 2.0 + https://www.apache.org/licenses/LICENSE-2.0.txt + + + + + https://github.com/scip-code/scip + scm:git:https://github.com/scip-code/scip.git + + + + UTF-8 + 11 + 11 + + 4.32.1 + + + + + com.google.protobuf + protobuf-java + ${protobuf.version} + + + diff --git a/bindings/java/src/main/java/scip/Scip.java b/bindings/java/src/main/java/scip/Scip.java new file mode 100644 index 00000000..325c4701 --- /dev/null +++ b/bindings/java/src/main/java/scip/Scip.java @@ -0,0 +1,23170 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: scip.proto +// Protobuf Java Version: 4.32.1 + +package scip; + +@com.google.protobuf.Generated +public final class Scip extends com.google.protobuf.GeneratedFile { + private Scip() {} + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 32, + /* patch= */ 1, + /* suffix= */ "", + Scip.class.getName()); + } + 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 scip.ProtocolVersion} + */ + public enum ProtocolVersion + implements com.google.protobuf.ProtocolMessageEnum { + /** + * UnspecifiedProtocolVersion = 0; + */ + UnspecifiedProtocolVersion(0), + UNRECOGNIZED(-1), + ; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 32, + /* patch= */ 1, + /* suffix= */ "", + ProtocolVersion.class.getName()); + } + /** + * UnspecifiedProtocolVersion = 0; + */ + public static final int UnspecifiedProtocolVersion_VALUE = 0; + + + 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 ProtocolVersion 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 ProtocolVersion forNumber(int value) { + switch (value) { + case 0: return UnspecifiedProtocolVersion; + default: return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap + internalGetValueMap() { + return internalValueMap; + } + private static final com.google.protobuf.Internal.EnumLiteMap< + ProtocolVersion> internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap() { + public ProtocolVersion findValueByNumber(int number) { + return ProtocolVersion.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 com.google.protobuf.Descriptors.EnumDescriptor + getDescriptor() { + return scip.Scip.getDescriptor().getEnumTypes().get(0); + } + + private static final ProtocolVersion[] VALUES = values(); + + public static ProtocolVersion 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 ProtocolVersion(int value) { + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:scip.ProtocolVersion) + } + + /** + * Protobuf enum {@code scip.TextEncoding} + */ + public enum TextEncoding + implements com.google.protobuf.ProtocolMessageEnum { + /** + * UnspecifiedTextEncoding = 0; + */ + UnspecifiedTextEncoding(0), + /** + * UTF8 = 1; + */ + UTF8(1), + /** + * UTF16 = 2; + */ + UTF16(2), + UNRECOGNIZED(-1), + ; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 32, + /* patch= */ 1, + /* suffix= */ "", + TextEncoding.class.getName()); + } + /** + * UnspecifiedTextEncoding = 0; + */ + public static final int UnspecifiedTextEncoding_VALUE = 0; + /** + * UTF8 = 1; + */ + public static final int UTF8_VALUE = 1; + /** + * UTF16 = 2; + */ + public static final int UTF16_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 TextEncoding 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 TextEncoding forNumber(int value) { + switch (value) { + case 0: return UnspecifiedTextEncoding; + case 1: return UTF8; + case 2: return UTF16; + default: return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap + internalGetValueMap() { + return internalValueMap; + } + private static final com.google.protobuf.Internal.EnumLiteMap< + TextEncoding> internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap() { + public TextEncoding findValueByNumber(int number) { + return TextEncoding.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 com.google.protobuf.Descriptors.EnumDescriptor + getDescriptor() { + return scip.Scip.getDescriptor().getEnumTypes().get(1); + } + + private static final TextEncoding[] VALUES = values(); + + public static TextEncoding 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 TextEncoding(int value) { + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:scip.TextEncoding) + } + + /** + *
+   * Encoding used to interpret the 'character' value in source ranges.
+   * 
+ * + * Protobuf enum {@code scip.PositionEncoding} + */ + public enum PositionEncoding + implements com.google.protobuf.ProtocolMessageEnum { + /** + *
+     * Default value. This value should not be used by new SCIP indexers
+     * so that a consumer can process the SCIP index without ambiguity.
+     * 
+ * + * UnspecifiedPositionEncoding = 0; + */ + UnspecifiedPositionEncoding(0), + /** + *
+     * The 'character' value is interpreted as an offset in terms
+     * of UTF-8 code units (i.e. bytes).
+     *
+     * Example: For the string "🚀 Woo" in UTF-8, the bytes are
+     * [240, 159, 154, 128, 32, 87, 111, 111], so the offset for 'W'
+     * would be 5.
+     * 
+ * + * UTF8CodeUnitOffsetFromLineStart = 1; + */ + UTF8CodeUnitOffsetFromLineStart(1), + /** + *
+     * The 'character' value is interpreted as an offset in terms
+     * of UTF-16 code units (each is 2 bytes).
+     *
+     * Example: For the string "🚀 Woo", the UTF-16 code units are
+     * ['\ud83d', '\ude80', ' ', 'W', 'o', 'o'], so the offset for 'W'
+     * would be 3.
+     * 
+ * + * UTF16CodeUnitOffsetFromLineStart = 2; + */ + UTF16CodeUnitOffsetFromLineStart(2), + /** + *
+     * The 'character' value is interpreted as an offset in terms
+     * of UTF-32 code units (each is 4 bytes).
+     *
+     * Example: For the string "🚀 Woo", the UTF-32 code units are
+     * ['🚀', ' ', 'W', 'o', 'o'], so the offset for 'W' would be 2.
+     * 
+ * + * UTF32CodeUnitOffsetFromLineStart = 3; + */ + UTF32CodeUnitOffsetFromLineStart(3), + UNRECOGNIZED(-1), + ; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 32, + /* patch= */ 1, + /* suffix= */ "", + PositionEncoding.class.getName()); + } + /** + *
+     * Default value. This value should not be used by new SCIP indexers
+     * so that a consumer can process the SCIP index without ambiguity.
+     * 
+ * + * UnspecifiedPositionEncoding = 0; + */ + public static final int UnspecifiedPositionEncoding_VALUE = 0; + /** + *
+     * The 'character' value is interpreted as an offset in terms
+     * of UTF-8 code units (i.e. bytes).
+     *
+     * Example: For the string "🚀 Woo" in UTF-8, the bytes are
+     * [240, 159, 154, 128, 32, 87, 111, 111], so the offset for 'W'
+     * would be 5.
+     * 
+ * + * UTF8CodeUnitOffsetFromLineStart = 1; + */ + public static final int UTF8CodeUnitOffsetFromLineStart_VALUE = 1; + /** + *
+     * The 'character' value is interpreted as an offset in terms
+     * of UTF-16 code units (each is 2 bytes).
+     *
+     * Example: For the string "🚀 Woo", the UTF-16 code units are
+     * ['\ud83d', '\ude80', ' ', 'W', 'o', 'o'], so the offset for 'W'
+     * would be 3.
+     * 
+ * + * UTF16CodeUnitOffsetFromLineStart = 2; + */ + public static final int UTF16CodeUnitOffsetFromLineStart_VALUE = 2; + /** + *
+     * The 'character' value is interpreted as an offset in terms
+     * of UTF-32 code units (each is 4 bytes).
+     *
+     * Example: For the string "🚀 Woo", the UTF-32 code units are
+     * ['🚀', ' ', 'W', 'o', 'o'], so the offset for 'W' would be 2.
+     * 
+ * + * UTF32CodeUnitOffsetFromLineStart = 3; + */ + public static final int UTF32CodeUnitOffsetFromLineStart_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 PositionEncoding 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 PositionEncoding forNumber(int value) { + switch (value) { + case 0: return UnspecifiedPositionEncoding; + case 1: return UTF8CodeUnitOffsetFromLineStart; + case 2: return UTF16CodeUnitOffsetFromLineStart; + case 3: return UTF32CodeUnitOffsetFromLineStart; + default: return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap + internalGetValueMap() { + return internalValueMap; + } + private static final com.google.protobuf.Internal.EnumLiteMap< + PositionEncoding> internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap() { + public PositionEncoding findValueByNumber(int number) { + return PositionEncoding.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 com.google.protobuf.Descriptors.EnumDescriptor + getDescriptor() { + return scip.Scip.getDescriptor().getEnumTypes().get(2); + } + + private static final PositionEncoding[] VALUES = values(); + + public static PositionEncoding 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 PositionEncoding(int value) { + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:scip.PositionEncoding) + } + + /** + *
+   * SymbolRole declares what "role" a symbol has in an occurrence. A role is
+   * encoded as a bitset where each bit represents a different role. For example,
+   * to determine if the `Import` role is set, test whether the second bit of the
+   * enum value is defined. In pseudocode, this can be implemented with the
+   * logic: `const isImportRole = (role.value & SymbolRole.Import.value) > 0`.
+   * 
+ * + * Protobuf enum {@code scip.SymbolRole} + */ + public enum SymbolRole + implements com.google.protobuf.ProtocolMessageEnum { + /** + *
+     * This case is not meant to be used; it only exists to avoid an error
+     * from the Protobuf code generator.
+     * 
+ * + * UnspecifiedSymbolRole = 0; + */ + UnspecifiedSymbolRole(0), + /** + *
+     * Is the symbol defined here? If not, then this is a symbol reference.
+     * 
+ * + * Definition = 1; + */ + Definition(1), + /** + *
+     * Is the symbol imported here?
+     * 
+ * + * Import = 2; + */ + Import(2), + /** + *
+     * Is the symbol written here?
+     * 
+ * + * WriteAccess = 4; + */ + WriteAccess(4), + /** + *
+     * Is the symbol read here?
+     * 
+ * + * ReadAccess = 8; + */ + ReadAccess(8), + /** + *
+     * Is the symbol in generated code?
+     * 
+ * + * Generated = 16; + */ + Generated(16), + /** + *
+     * Is the symbol in test code?
+     * 
+ * + * Test = 32; + */ + Test(32), + /** + *
+     * Is this a signature for a symbol that is defined elsewhere?
+     *
+     * Applies to forward declarations for languages like C, C++
+     * and Objective-C, as well as `val` declarations in interface
+     * files in languages like SML and OCaml.
+     * 
+ * + * ForwardDefinition = 64; + */ + ForwardDefinition(64), + UNRECOGNIZED(-1), + ; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 32, + /* patch= */ 1, + /* suffix= */ "", + SymbolRole.class.getName()); + } + /** + *
+     * This case is not meant to be used; it only exists to avoid an error
+     * from the Protobuf code generator.
+     * 
+ * + * UnspecifiedSymbolRole = 0; + */ + public static final int UnspecifiedSymbolRole_VALUE = 0; + /** + *
+     * Is the symbol defined here? If not, then this is a symbol reference.
+     * 
+ * + * Definition = 1; + */ + public static final int Definition_VALUE = 1; + /** + *
+     * Is the symbol imported here?
+     * 
+ * + * Import = 2; + */ + public static final int Import_VALUE = 2; + /** + *
+     * Is the symbol written here?
+     * 
+ * + * WriteAccess = 4; + */ + public static final int WriteAccess_VALUE = 4; + /** + *
+     * Is the symbol read here?
+     * 
+ * + * ReadAccess = 8; + */ + public static final int ReadAccess_VALUE = 8; + /** + *
+     * Is the symbol in generated code?
+     * 
+ * + * Generated = 16; + */ + public static final int Generated_VALUE = 16; + /** + *
+     * Is the symbol in test code?
+     * 
+ * + * Test = 32; + */ + public static final int Test_VALUE = 32; + /** + *
+     * Is this a signature for a symbol that is defined elsewhere?
+     *
+     * Applies to forward declarations for languages like C, C++
+     * and Objective-C, as well as `val` declarations in interface
+     * files in languages like SML and OCaml.
+     * 
+ * + * ForwardDefinition = 64; + */ + public static final int ForwardDefinition_VALUE = 64; + + + 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 SymbolRole 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 SymbolRole forNumber(int value) { + switch (value) { + case 0: return UnspecifiedSymbolRole; + case 1: return Definition; + case 2: return Import; + case 4: return WriteAccess; + case 8: return ReadAccess; + case 16: return Generated; + case 32: return Test; + case 64: return ForwardDefinition; + default: return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap + internalGetValueMap() { + return internalValueMap; + } + private static final com.google.protobuf.Internal.EnumLiteMap< + SymbolRole> internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap() { + public SymbolRole findValueByNumber(int number) { + return SymbolRole.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 com.google.protobuf.Descriptors.EnumDescriptor + getDescriptor() { + return scip.Scip.getDescriptor().getEnumTypes().get(3); + } + + private static final SymbolRole[] VALUES = values(); + + public static SymbolRole 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 SymbolRole(int value) { + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:scip.SymbolRole) + } + + /** + * Protobuf enum {@code scip.SyntaxKind} + */ + public enum SyntaxKind + implements com.google.protobuf.ProtocolMessageEnum { + /** + * UnspecifiedSyntaxKind = 0; + */ + UnspecifiedSyntaxKind(0, 0), + /** + *
+     * Comment, including comment markers and text
+     * 
+ * + * Comment = 1; + */ + Comment(1, 1), + /** + *
+     * `;` `.` `,`
+     * 
+ * + * PunctuationDelimiter = 2; + */ + PunctuationDelimiter(2, 2), + /** + *
+     * (), {}, [] when used syntactically
+     * 
+ * + * PunctuationBracket = 3; + */ + PunctuationBracket(3, 3), + /** + *
+     * `if`, `else`, `return`, `class`, etc.
+     * 
+ * + * Keyword = 4; + */ + Keyword(4, 4), + /** + *
+     * `+`, `*`, etc.
+     * 
+ * + * IdentifierOperator = 5; + */ + IdentifierOperator(6, 5), + /** + *
+     * non-specific catch-all for any identifier not better described elsewhere
+     * 
+ * + * Identifier = 6; + */ + Identifier(7, 6), + /** + *
+     * Identifiers builtin to the language: `min`, `print` in Python.
+     * 
+ * + * IdentifierBuiltin = 7; + */ + IdentifierBuiltin(8, 7), + /** + *
+     * Identifiers representing `null`-like values: `None` in Python, `nil` in Go.
+     * 
+ * + * IdentifierNull = 8; + */ + IdentifierNull(9, 8), + /** + *
+     * `xyz` in `const xyz = "hello"`
+     * 
+ * + * IdentifierConstant = 9; + */ + IdentifierConstant(10, 9), + /** + *
+     * `var X = "hello"` in Go
+     * 
+ * + * IdentifierMutableGlobal = 10; + */ + IdentifierMutableGlobal(11, 10), + /** + *
+     * Parameter definition and references
+     * 
+ * + * IdentifierParameter = 11; + */ + IdentifierParameter(12, 11), + /** + *
+     * Identifiers for variable definitions and references within a local scope
+     * 
+ * + * IdentifierLocal = 12; + */ + IdentifierLocal(13, 12), + /** + *
+     * Identifiers that shadow other identifiers in an outer scope
+     * 
+ * + * IdentifierShadowed = 13; + */ + IdentifierShadowed(14, 13), + /** + *
+     * Identifier representing a unit of code abstraction and/or namespacing.
+     *
+     * NOTE: This corresponds to a package in Go and JVM languages,
+     * and a module in languages like Python and JavaScript.
+     * 
+ * + * IdentifierNamespace = 14; + */ + IdentifierNamespace(15, 14), + /** + *
+     * Function references, including calls
+     * 
+ * + * IdentifierFunction = 15; + */ + IdentifierFunction(17, 15), + /** + *
+     * Function definition only
+     * 
+ * + * IdentifierFunctionDefinition = 16; + */ + IdentifierFunctionDefinition(18, 16), + /** + *
+     * Macro references, including invocations
+     * 
+ * + * IdentifierMacro = 17; + */ + IdentifierMacro(19, 17), + /** + *
+     * Macro definition only
+     * 
+ * + * IdentifierMacroDefinition = 18; + */ + IdentifierMacroDefinition(20, 18), + /** + *
+     * non-builtin types
+     * 
+ * + * IdentifierType = 19; + */ + IdentifierType(21, 19), + /** + *
+     * builtin types only, such as `str` for Python or `int` in Go
+     * 
+ * + * IdentifierBuiltinType = 20; + */ + IdentifierBuiltinType(22, 20), + /** + *
+     * Python decorators, c-like __attribute__
+     * 
+ * + * IdentifierAttribute = 21; + */ + IdentifierAttribute(23, 21), + /** + *
+     * `\b`
+     * 
+ * + * RegexEscape = 22; + */ + RegexEscape(24, 22), + /** + *
+     * `*`, `+`
+     * 
+ * + * RegexRepeated = 23; + */ + RegexRepeated(25, 23), + /** + *
+     * `.`
+     * 
+ * + * RegexWildcard = 24; + */ + RegexWildcard(26, 24), + /** + *
+     * `(`, `)`, `[`, `]`
+     * 
+ * + * RegexDelimiter = 25; + */ + RegexDelimiter(27, 25), + /** + *
+     * `|`, `-`
+     * 
+ * + * RegexJoin = 26; + */ + RegexJoin(28, 26), + /** + *
+     * Literal strings: "Hello, world!"
+     * 
+ * + * StringLiteral = 27; + */ + StringLiteral(29, 27), + /** + *
+     * non-regex escapes: "\t", "\n"
+     * 
+ * + * StringLiteralEscape = 28; + */ + StringLiteralEscape(30, 28), + /** + *
+     * datetimes within strings, special words within a string, `{}` in format strings
+     * 
+ * + * StringLiteralSpecial = 29; + */ + StringLiteralSpecial(31, 29), + /** + *
+     * "key" in { "key": "value" }, useful for example in JSON
+     * 
+ * + * StringLiteralKey = 30; + */ + StringLiteralKey(32, 30), + /** + *
+     * 'c' or similar, in languages that differentiate strings and characters
+     * 
+ * + * CharacterLiteral = 31; + */ + CharacterLiteral(33, 31), + /** + *
+     * Literal numbers, both floats and integers
+     * 
+ * + * NumericLiteral = 32; + */ + NumericLiteral(34, 32), + /** + *
+     * `true`, `false`
+     * 
+ * + * BooleanLiteral = 33; + */ + BooleanLiteral(35, 33), + /** + *
+     * Used for XML-like tags
+     * 
+ * + * Tag = 34; + */ + Tag(36, 34), + /** + *
+     * Attribute name in XML-like tags
+     * 
+ * + * TagAttribute = 35; + */ + TagAttribute(37, 35), + /** + *
+     * Delimiters for XML-like tags
+     * 
+ * + * TagDelimiter = 36; + */ + TagDelimiter(38, 36), + UNRECOGNIZED(-1, -1), + ; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 32, + /* patch= */ 1, + /* suffix= */ "", + SyntaxKind.class.getName()); + } + /** + * IdentifierKeyword = 4 [deprecated = true]; + */ + public static final SyntaxKind IdentifierKeyword = Keyword; + /** + * IdentifierModule = 14 [deprecated = true]; + */ + public static final SyntaxKind IdentifierModule = IdentifierNamespace; + /** + * UnspecifiedSyntaxKind = 0; + */ + public static final int UnspecifiedSyntaxKind_VALUE = 0; + /** + *
+     * Comment, including comment markers and text
+     * 
+ * + * Comment = 1; + */ + public static final int Comment_VALUE = 1; + /** + *
+     * `;` `.` `,`
+     * 
+ * + * PunctuationDelimiter = 2; + */ + public static final int PunctuationDelimiter_VALUE = 2; + /** + *
+     * (), {}, [] when used syntactically
+     * 
+ * + * PunctuationBracket = 3; + */ + public static final int PunctuationBracket_VALUE = 3; + /** + *
+     * `if`, `else`, `return`, `class`, etc.
+     * 
+ * + * Keyword = 4; + */ + public static final int Keyword_VALUE = 4; + /** + * IdentifierKeyword = 4 [deprecated = true]; + */ + @java.lang.Deprecated public static final int IdentifierKeyword_VALUE = 4; + /** + *
+     * `+`, `*`, etc.
+     * 
+ * + * IdentifierOperator = 5; + */ + public static final int IdentifierOperator_VALUE = 5; + /** + *
+     * non-specific catch-all for any identifier not better described elsewhere
+     * 
+ * + * Identifier = 6; + */ + public static final int Identifier_VALUE = 6; + /** + *
+     * Identifiers builtin to the language: `min`, `print` in Python.
+     * 
+ * + * IdentifierBuiltin = 7; + */ + public static final int IdentifierBuiltin_VALUE = 7; + /** + *
+     * Identifiers representing `null`-like values: `None` in Python, `nil` in Go.
+     * 
+ * + * IdentifierNull = 8; + */ + public static final int IdentifierNull_VALUE = 8; + /** + *
+     * `xyz` in `const xyz = "hello"`
+     * 
+ * + * IdentifierConstant = 9; + */ + public static final int IdentifierConstant_VALUE = 9; + /** + *
+     * `var X = "hello"` in Go
+     * 
+ * + * IdentifierMutableGlobal = 10; + */ + public static final int IdentifierMutableGlobal_VALUE = 10; + /** + *
+     * Parameter definition and references
+     * 
+ * + * IdentifierParameter = 11; + */ + public static final int IdentifierParameter_VALUE = 11; + /** + *
+     * Identifiers for variable definitions and references within a local scope
+     * 
+ * + * IdentifierLocal = 12; + */ + public static final int IdentifierLocal_VALUE = 12; + /** + *
+     * Identifiers that shadow other identifiers in an outer scope
+     * 
+ * + * IdentifierShadowed = 13; + */ + public static final int IdentifierShadowed_VALUE = 13; + /** + *
+     * Identifier representing a unit of code abstraction and/or namespacing.
+     *
+     * NOTE: This corresponds to a package in Go and JVM languages,
+     * and a module in languages like Python and JavaScript.
+     * 
+ * + * IdentifierNamespace = 14; + */ + public static final int IdentifierNamespace_VALUE = 14; + /** + * IdentifierModule = 14 [deprecated = true]; + */ + @java.lang.Deprecated public static final int IdentifierModule_VALUE = 14; + /** + *
+     * Function references, including calls
+     * 
+ * + * IdentifierFunction = 15; + */ + public static final int IdentifierFunction_VALUE = 15; + /** + *
+     * Function definition only
+     * 
+ * + * IdentifierFunctionDefinition = 16; + */ + public static final int IdentifierFunctionDefinition_VALUE = 16; + /** + *
+     * Macro references, including invocations
+     * 
+ * + * IdentifierMacro = 17; + */ + public static final int IdentifierMacro_VALUE = 17; + /** + *
+     * Macro definition only
+     * 
+ * + * IdentifierMacroDefinition = 18; + */ + public static final int IdentifierMacroDefinition_VALUE = 18; + /** + *
+     * non-builtin types
+     * 
+ * + * IdentifierType = 19; + */ + public static final int IdentifierType_VALUE = 19; + /** + *
+     * builtin types only, such as `str` for Python or `int` in Go
+     * 
+ * + * IdentifierBuiltinType = 20; + */ + public static final int IdentifierBuiltinType_VALUE = 20; + /** + *
+     * Python decorators, c-like __attribute__
+     * 
+ * + * IdentifierAttribute = 21; + */ + public static final int IdentifierAttribute_VALUE = 21; + /** + *
+     * `\b`
+     * 
+ * + * RegexEscape = 22; + */ + public static final int RegexEscape_VALUE = 22; + /** + *
+     * `*`, `+`
+     * 
+ * + * RegexRepeated = 23; + */ + public static final int RegexRepeated_VALUE = 23; + /** + *
+     * `.`
+     * 
+ * + * RegexWildcard = 24; + */ + public static final int RegexWildcard_VALUE = 24; + /** + *
+     * `(`, `)`, `[`, `]`
+     * 
+ * + * RegexDelimiter = 25; + */ + public static final int RegexDelimiter_VALUE = 25; + /** + *
+     * `|`, `-`
+     * 
+ * + * RegexJoin = 26; + */ + public static final int RegexJoin_VALUE = 26; + /** + *
+     * Literal strings: "Hello, world!"
+     * 
+ * + * StringLiteral = 27; + */ + public static final int StringLiteral_VALUE = 27; + /** + *
+     * non-regex escapes: "\t", "\n"
+     * 
+ * + * StringLiteralEscape = 28; + */ + public static final int StringLiteralEscape_VALUE = 28; + /** + *
+     * datetimes within strings, special words within a string, `{}` in format strings
+     * 
+ * + * StringLiteralSpecial = 29; + */ + public static final int StringLiteralSpecial_VALUE = 29; + /** + *
+     * "key" in { "key": "value" }, useful for example in JSON
+     * 
+ * + * StringLiteralKey = 30; + */ + public static final int StringLiteralKey_VALUE = 30; + /** + *
+     * 'c' or similar, in languages that differentiate strings and characters
+     * 
+ * + * CharacterLiteral = 31; + */ + public static final int CharacterLiteral_VALUE = 31; + /** + *
+     * Literal numbers, both floats and integers
+     * 
+ * + * NumericLiteral = 32; + */ + public static final int NumericLiteral_VALUE = 32; + /** + *
+     * `true`, `false`
+     * 
+ * + * BooleanLiteral = 33; + */ + public static final int BooleanLiteral_VALUE = 33; + /** + *
+     * Used for XML-like tags
+     * 
+ * + * Tag = 34; + */ + public static final int Tag_VALUE = 34; + /** + *
+     * Attribute name in XML-like tags
+     * 
+ * + * TagAttribute = 35; + */ + public static final int TagAttribute_VALUE = 35; + /** + *
+     * Delimiters for XML-like tags
+     * 
+ * + * TagDelimiter = 36; + */ + public static final int TagDelimiter_VALUE = 36; + + + public final int getNumber() { + if (index == -1) { + 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 SyntaxKind 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 SyntaxKind forNumber(int value) { + switch (value) { + case 0: return UnspecifiedSyntaxKind; + case 1: return Comment; + case 2: return PunctuationDelimiter; + case 3: return PunctuationBracket; + case 4: return Keyword; + case 5: return IdentifierOperator; + case 6: return Identifier; + case 7: return IdentifierBuiltin; + case 8: return IdentifierNull; + case 9: return IdentifierConstant; + case 10: return IdentifierMutableGlobal; + case 11: return IdentifierParameter; + case 12: return IdentifierLocal; + case 13: return IdentifierShadowed; + case 14: return IdentifierNamespace; + case 15: return IdentifierFunction; + case 16: return IdentifierFunctionDefinition; + case 17: return IdentifierMacro; + case 18: return IdentifierMacroDefinition; + case 19: return IdentifierType; + case 20: return IdentifierBuiltinType; + case 21: return IdentifierAttribute; + case 22: return RegexEscape; + case 23: return RegexRepeated; + case 24: return RegexWildcard; + case 25: return RegexDelimiter; + case 26: return RegexJoin; + case 27: return StringLiteral; + case 28: return StringLiteralEscape; + case 29: return StringLiteralSpecial; + case 30: return StringLiteralKey; + case 31: return CharacterLiteral; + case 32: return NumericLiteral; + case 33: return BooleanLiteral; + case 34: return Tag; + case 35: return TagAttribute; + case 36: return TagDelimiter; + default: return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap + internalGetValueMap() { + return internalValueMap; + } + private static final com.google.protobuf.Internal.EnumLiteMap< + SyntaxKind> internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap() { + public SyntaxKind findValueByNumber(int number) { + return SyntaxKind.forNumber(number); + } + }; + + public final com.google.protobuf.Descriptors.EnumValueDescriptor + getValueDescriptor() { + if (index == -1) { + throw new java.lang.IllegalStateException( + "Can't get the descriptor of an unrecognized enum value."); + } + return getDescriptor().getValues().get(index); + } + public final com.google.protobuf.Descriptors.EnumDescriptor + getDescriptorForType() { + return getDescriptor(); + } + public static com.google.protobuf.Descriptors.EnumDescriptor + getDescriptor() { + return scip.Scip.getDescriptor().getEnumTypes().get(4); + } + + private static final SyntaxKind[] VALUES = getStaticValuesArray(); + private static SyntaxKind[] getStaticValuesArray() { + return new SyntaxKind[] { + UnspecifiedSyntaxKind, Comment, PunctuationDelimiter, PunctuationBracket, Keyword, IdentifierKeyword, IdentifierOperator, Identifier, IdentifierBuiltin, IdentifierNull, IdentifierConstant, IdentifierMutableGlobal, IdentifierParameter, IdentifierLocal, IdentifierShadowed, IdentifierNamespace, IdentifierModule, IdentifierFunction, IdentifierFunctionDefinition, IdentifierMacro, IdentifierMacroDefinition, IdentifierType, IdentifierBuiltinType, IdentifierAttribute, RegexEscape, RegexRepeated, RegexWildcard, RegexDelimiter, RegexJoin, StringLiteral, StringLiteralEscape, StringLiteralSpecial, StringLiteralKey, CharacterLiteral, NumericLiteral, BooleanLiteral, Tag, TagAttribute, TagDelimiter, + }; + } + public static SyntaxKind 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 index; + private final int value; + + private SyntaxKind(int index, int value) { + this.index = index; + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:scip.SyntaxKind) + } + + /** + * Protobuf enum {@code scip.Severity} + */ + public enum Severity + implements com.google.protobuf.ProtocolMessageEnum { + /** + * UnspecifiedSeverity = 0; + */ + UnspecifiedSeverity(0), + /** + * Error = 1; + */ + Error(1), + /** + * Warning = 2; + */ + Warning(2), + /** + * Information = 3; + */ + Information(3), + /** + * Hint = 4; + */ + Hint(4), + UNRECOGNIZED(-1), + ; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 32, + /* patch= */ 1, + /* suffix= */ "", + Severity.class.getName()); + } + /** + * UnspecifiedSeverity = 0; + */ + public static final int UnspecifiedSeverity_VALUE = 0; + /** + * Error = 1; + */ + public static final int Error_VALUE = 1; + /** + * Warning = 2; + */ + public static final int Warning_VALUE = 2; + /** + * Information = 3; + */ + public static final int Information_VALUE = 3; + /** + * Hint = 4; + */ + public static final int Hint_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 Severity 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 Severity forNumber(int value) { + switch (value) { + case 0: return UnspecifiedSeverity; + case 1: return Error; + case 2: return Warning; + case 3: return Information; + case 4: return Hint; + default: return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap + internalGetValueMap() { + return internalValueMap; + } + private static final com.google.protobuf.Internal.EnumLiteMap< + Severity> internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap() { + public Severity findValueByNumber(int number) { + return Severity.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 com.google.protobuf.Descriptors.EnumDescriptor + getDescriptor() { + return scip.Scip.getDescriptor().getEnumTypes().get(5); + } + + private static final Severity[] VALUES = values(); + + public static Severity 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 Severity(int value) { + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:scip.Severity) + } + + /** + * Protobuf enum {@code scip.DiagnosticTag} + */ + public enum DiagnosticTag + implements com.google.protobuf.ProtocolMessageEnum { + /** + * UnspecifiedDiagnosticTag = 0; + */ + UnspecifiedDiagnosticTag(0), + /** + * Unnecessary = 1; + */ + Unnecessary(1), + /** + * Deprecated = 2; + */ + Deprecated(2), + UNRECOGNIZED(-1), + ; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 32, + /* patch= */ 1, + /* suffix= */ "", + DiagnosticTag.class.getName()); + } + /** + * UnspecifiedDiagnosticTag = 0; + */ + public static final int UnspecifiedDiagnosticTag_VALUE = 0; + /** + * Unnecessary = 1; + */ + public static final int Unnecessary_VALUE = 1; + /** + * Deprecated = 2; + */ + public static final int Deprecated_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 DiagnosticTag 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 DiagnosticTag forNumber(int value) { + switch (value) { + case 0: return UnspecifiedDiagnosticTag; + case 1: return Unnecessary; + case 2: return Deprecated; + default: return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap + internalGetValueMap() { + return internalValueMap; + } + private static final com.google.protobuf.Internal.EnumLiteMap< + DiagnosticTag> internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap() { + public DiagnosticTag findValueByNumber(int number) { + return DiagnosticTag.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 com.google.protobuf.Descriptors.EnumDescriptor + getDescriptor() { + return scip.Scip.getDescriptor().getEnumTypes().get(6); + } + + private static final DiagnosticTag[] VALUES = values(); + + public static DiagnosticTag 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 DiagnosticTag(int value) { + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:scip.DiagnosticTag) + } + + /** + *
+   * Language standardises names of common programming languages that can be used
+   * for the `Document.language` field. The primary purpose of this enum is to
+   * prevent a situation where we have a single programming language ends up with
+   * multiple string representations. For example, the C++ language uses the name
+   * "CPP" in this enum and other names such as "cpp" are incompatible.
+   * Feel free to send a pull-request to add missing programming languages.
+   * 
+ * + * Protobuf enum {@code scip.Language} + */ + public enum Language + implements com.google.protobuf.ProtocolMessageEnum { + /** + * UnspecifiedLanguage = 0; + */ + UnspecifiedLanguage(0), + /** + * ABAP = 60; + */ + ABAP(60), + /** + * Apex = 96; + */ + Apex(96), + /** + * APL = 49; + */ + APL(49), + /** + * Ada = 39; + */ + Ada(39), + /** + * Agda = 45; + */ + Agda(45), + /** + * AsciiDoc = 86; + */ + AsciiDoc(86), + /** + * Assembly = 58; + */ + Assembly(58), + /** + * Awk = 66; + */ + Awk(66), + /** + * Bat = 68; + */ + Bat(68), + /** + * BibTeX = 81; + */ + BibTeX(81), + /** + * C = 34; + */ + C(34), + /** + * COBOL = 59; + */ + COBOL(59), + /** + *
+     * C++ (the name "CPP" was chosen for consistency with LSP)
+     * 
+ * + * CPP = 35; + */ + CPP(35), + /** + * CSS = 26; + */ + CSS(26), + /** + * CSharp = 1; + */ + CSharp(1), + /** + * Clojure = 8; + */ + Clojure(8), + /** + * Coffeescript = 21; + */ + Coffeescript(21), + /** + * CommonLisp = 9; + */ + CommonLisp(9), + /** + * Coq = 47; + */ + Coq(47), + /** + * CUDA = 97; + */ + CUDA(97), + /** + * Dart = 3; + */ + Dart(3), + /** + * Delphi = 57; + */ + Delphi(57), + /** + * Diff = 88; + */ + Diff(88), + /** + * Dockerfile = 80; + */ + Dockerfile(80), + /** + * Dyalog = 50; + */ + Dyalog(50), + /** + * Elixir = 17; + */ + Elixir(17), + /** + * Erlang = 18; + */ + Erlang(18), + /** + * FSharp = 42; + */ + FSharp(42), + /** + * Fish = 65; + */ + Fish(65), + /** + * Flow = 24; + */ + Flow(24), + /** + * Fortran = 56; + */ + Fortran(56), + /** + * Git_Commit = 91; + */ + Git_Commit(91), + /** + * Git_Config = 89; + */ + Git_Config(89), + /** + * Git_Rebase = 92; + */ + Git_Rebase(92), + /** + * Go = 33; + */ + Go(33), + /** + * GraphQL = 98; + */ + GraphQL(98), + /** + * Groovy = 7; + */ + Groovy(7), + /** + * HTML = 30; + */ + HTML(30), + /** + * Hack = 20; + */ + Hack(20), + /** + * Handlebars = 90; + */ + Handlebars(90), + /** + * Haskell = 44; + */ + Haskell(44), + /** + * Idris = 46; + */ + Idris(46), + /** + * Ini = 72; + */ + Ini(72), + /** + * J = 51; + */ + J(51), + /** + * JSON = 75; + */ + JSON(75), + /** + * Java = 6; + */ + Java(6), + /** + * JavaScript = 22; + */ + JavaScript(22), + /** + * JavaScriptReact = 93; + */ + JavaScriptReact(93), + /** + * Jsonnet = 76; + */ + Jsonnet(76), + /** + * Julia = 55; + */ + Julia(55), + /** + * Justfile = 109; + */ + Justfile(109), + /** + * Kotlin = 4; + */ + Kotlin(4), + /** + * LaTeX = 83; + */ + LaTeX(83), + /** + * Lean = 48; + */ + Lean(48), + /** + * Less = 27; + */ + Less(27), + /** + * Lua = 12; + */ + Lua(12), + /** + * Luau = 108; + */ + Luau(108), + /** + * Makefile = 79; + */ + Makefile(79), + /** + * Markdown = 84; + */ + Markdown(84), + /** + * Matlab = 52; + */ + Matlab(52), + /** + *
+     * https://nickel-lang.org/
+     * 
+ * + * Nickel = 110; + */ + Nickel(110), + /** + * Nix = 77; + */ + Nix(77), + /** + * OCaml = 41; + */ + OCaml(41), + /** + * Objective_C = 36; + */ + Objective_C(36), + /** + * Objective_CPP = 37; + */ + Objective_CPP(37), + /** + * Pascal = 99; + */ + Pascal(99), + /** + * PHP = 19; + */ + PHP(19), + /** + * PLSQL = 70; + */ + PLSQL(70), + /** + * Perl = 13; + */ + Perl(13), + /** + * PowerShell = 67; + */ + PowerShell(67), + /** + * Prolog = 71; + */ + Prolog(71), + /** + * Protobuf = 100; + */ + Protobuf(100), + /** + * Python = 15; + */ + Python(15), + /** + * R = 54; + */ + R(54), + /** + * Racket = 11; + */ + Racket(11), + /** + * Raku = 14; + */ + Raku(14), + /** + * Razor = 62; + */ + Razor(62), + /** + *
+     * Internal language for testing SCIP
+     * 
+ * + * Repro = 102; + */ + Repro(102), + /** + * ReST = 85; + */ + ReST(85), + /** + * Ruby = 16; + */ + Ruby(16), + /** + * Rust = 40; + */ + Rust(40), + /** + * SAS = 61; + */ + SAS(61), + /** + * SCSS = 29; + */ + SCSS(29), + /** + * SML = 43; + */ + SML(43), + /** + * SQL = 69; + */ + SQL(69), + /** + * Sass = 28; + */ + Sass(28), + /** + * Scala = 5; + */ + Scala(5), + /** + * Scheme = 10; + */ + Scheme(10), + /** + *
+     * Bash
+     * 
+ * + * ShellScript = 64; + */ + ShellScript(64), + /** + * Skylark = 78; + */ + Skylark(78), + /** + * Slang = 107; + */ + Slang(107), + /** + * Solidity = 95; + */ + Solidity(95), + /** + * Svelte = 106; + */ + Svelte(106), + /** + * Swift = 2; + */ + Swift(2), + /** + * Tcl = 101; + */ + Tcl(101), + /** + * TOML = 73; + */ + TOML(73), + /** + * TeX = 82; + */ + TeX(82), + /** + * Thrift = 103; + */ + Thrift(103), + /** + * TypeScript = 23; + */ + TypeScript(23), + /** + * TypeScriptReact = 94; + */ + TypeScriptReact(94), + /** + * Verilog = 104; + */ + Verilog(104), + /** + * VHDL = 105; + */ + VHDL(105), + /** + * VisualBasic = 63; + */ + VisualBasic(63), + /** + * Vue = 25; + */ + Vue(25), + /** + * Wolfram = 53; + */ + Wolfram(53), + /** + * XML = 31; + */ + XML(31), + /** + * XSL = 32; + */ + XSL(32), + /** + * YAML = 74; + */ + YAML(74), + /** + *
+     * NextLanguage = 111;
+     * Steps add a new language:
+     * 1. Copy-paste the "NextLanguage = N" line above
+     * 2. Increment "NextLanguage = N" to "NextLanguage = N+1"
+     * 3. Replace "NextLanguage = N" with the name of the new language.
+     * 4. Move the new language to the correct line above using alphabetical order
+     * 5. (optional) Add a brief comment behind the language if the name is not self-explanatory
+     * 
+ * + * Zig = 38; + */ + Zig(38), + UNRECOGNIZED(-1), + ; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 32, + /* patch= */ 1, + /* suffix= */ "", + Language.class.getName()); + } + /** + * UnspecifiedLanguage = 0; + */ + public static final int UnspecifiedLanguage_VALUE = 0; + /** + * ABAP = 60; + */ + public static final int ABAP_VALUE = 60; + /** + * Apex = 96; + */ + public static final int Apex_VALUE = 96; + /** + * APL = 49; + */ + public static final int APL_VALUE = 49; + /** + * Ada = 39; + */ + public static final int Ada_VALUE = 39; + /** + * Agda = 45; + */ + public static final int Agda_VALUE = 45; + /** + * AsciiDoc = 86; + */ + public static final int AsciiDoc_VALUE = 86; + /** + * Assembly = 58; + */ + public static final int Assembly_VALUE = 58; + /** + * Awk = 66; + */ + public static final int Awk_VALUE = 66; + /** + * Bat = 68; + */ + public static final int Bat_VALUE = 68; + /** + * BibTeX = 81; + */ + public static final int BibTeX_VALUE = 81; + /** + * C = 34; + */ + public static final int C_VALUE = 34; + /** + * COBOL = 59; + */ + public static final int COBOL_VALUE = 59; + /** + *
+     * C++ (the name "CPP" was chosen for consistency with LSP)
+     * 
+ * + * CPP = 35; + */ + public static final int CPP_VALUE = 35; + /** + * CSS = 26; + */ + public static final int CSS_VALUE = 26; + /** + * CSharp = 1; + */ + public static final int CSharp_VALUE = 1; + /** + * Clojure = 8; + */ + public static final int Clojure_VALUE = 8; + /** + * Coffeescript = 21; + */ + public static final int Coffeescript_VALUE = 21; + /** + * CommonLisp = 9; + */ + public static final int CommonLisp_VALUE = 9; + /** + * Coq = 47; + */ + public static final int Coq_VALUE = 47; + /** + * CUDA = 97; + */ + public static final int CUDA_VALUE = 97; + /** + * Dart = 3; + */ + public static final int Dart_VALUE = 3; + /** + * Delphi = 57; + */ + public static final int Delphi_VALUE = 57; + /** + * Diff = 88; + */ + public static final int Diff_VALUE = 88; + /** + * Dockerfile = 80; + */ + public static final int Dockerfile_VALUE = 80; + /** + * Dyalog = 50; + */ + public static final int Dyalog_VALUE = 50; + /** + * Elixir = 17; + */ + public static final int Elixir_VALUE = 17; + /** + * Erlang = 18; + */ + public static final int Erlang_VALUE = 18; + /** + * FSharp = 42; + */ + public static final int FSharp_VALUE = 42; + /** + * Fish = 65; + */ + public static final int Fish_VALUE = 65; + /** + * Flow = 24; + */ + public static final int Flow_VALUE = 24; + /** + * Fortran = 56; + */ + public static final int Fortran_VALUE = 56; + /** + * Git_Commit = 91; + */ + public static final int Git_Commit_VALUE = 91; + /** + * Git_Config = 89; + */ + public static final int Git_Config_VALUE = 89; + /** + * Git_Rebase = 92; + */ + public static final int Git_Rebase_VALUE = 92; + /** + * Go = 33; + */ + public static final int Go_VALUE = 33; + /** + * GraphQL = 98; + */ + public static final int GraphQL_VALUE = 98; + /** + * Groovy = 7; + */ + public static final int Groovy_VALUE = 7; + /** + * HTML = 30; + */ + public static final int HTML_VALUE = 30; + /** + * Hack = 20; + */ + public static final int Hack_VALUE = 20; + /** + * Handlebars = 90; + */ + public static final int Handlebars_VALUE = 90; + /** + * Haskell = 44; + */ + public static final int Haskell_VALUE = 44; + /** + * Idris = 46; + */ + public static final int Idris_VALUE = 46; + /** + * Ini = 72; + */ + public static final int Ini_VALUE = 72; + /** + * J = 51; + */ + public static final int J_VALUE = 51; + /** + * JSON = 75; + */ + public static final int JSON_VALUE = 75; + /** + * Java = 6; + */ + public static final int Java_VALUE = 6; + /** + * JavaScript = 22; + */ + public static final int JavaScript_VALUE = 22; + /** + * JavaScriptReact = 93; + */ + public static final int JavaScriptReact_VALUE = 93; + /** + * Jsonnet = 76; + */ + public static final int Jsonnet_VALUE = 76; + /** + * Julia = 55; + */ + public static final int Julia_VALUE = 55; + /** + * Justfile = 109; + */ + public static final int Justfile_VALUE = 109; + /** + * Kotlin = 4; + */ + public static final int Kotlin_VALUE = 4; + /** + * LaTeX = 83; + */ + public static final int LaTeX_VALUE = 83; + /** + * Lean = 48; + */ + public static final int Lean_VALUE = 48; + /** + * Less = 27; + */ + public static final int Less_VALUE = 27; + /** + * Lua = 12; + */ + public static final int Lua_VALUE = 12; + /** + * Luau = 108; + */ + public static final int Luau_VALUE = 108; + /** + * Makefile = 79; + */ + public static final int Makefile_VALUE = 79; + /** + * Markdown = 84; + */ + public static final int Markdown_VALUE = 84; + /** + * Matlab = 52; + */ + public static final int Matlab_VALUE = 52; + /** + *
+     * https://nickel-lang.org/
+     * 
+ * + * Nickel = 110; + */ + public static final int Nickel_VALUE = 110; + /** + * Nix = 77; + */ + public static final int Nix_VALUE = 77; + /** + * OCaml = 41; + */ + public static final int OCaml_VALUE = 41; + /** + * Objective_C = 36; + */ + public static final int Objective_C_VALUE = 36; + /** + * Objective_CPP = 37; + */ + public static final int Objective_CPP_VALUE = 37; + /** + * Pascal = 99; + */ + public static final int Pascal_VALUE = 99; + /** + * PHP = 19; + */ + public static final int PHP_VALUE = 19; + /** + * PLSQL = 70; + */ + public static final int PLSQL_VALUE = 70; + /** + * Perl = 13; + */ + public static final int Perl_VALUE = 13; + /** + * PowerShell = 67; + */ + public static final int PowerShell_VALUE = 67; + /** + * Prolog = 71; + */ + public static final int Prolog_VALUE = 71; + /** + * Protobuf = 100; + */ + public static final int Protobuf_VALUE = 100; + /** + * Python = 15; + */ + public static final int Python_VALUE = 15; + /** + * R = 54; + */ + public static final int R_VALUE = 54; + /** + * Racket = 11; + */ + public static final int Racket_VALUE = 11; + /** + * Raku = 14; + */ + public static final int Raku_VALUE = 14; + /** + * Razor = 62; + */ + public static final int Razor_VALUE = 62; + /** + *
+     * Internal language for testing SCIP
+     * 
+ * + * Repro = 102; + */ + public static final int Repro_VALUE = 102; + /** + * ReST = 85; + */ + public static final int ReST_VALUE = 85; + /** + * Ruby = 16; + */ + public static final int Ruby_VALUE = 16; + /** + * Rust = 40; + */ + public static final int Rust_VALUE = 40; + /** + * SAS = 61; + */ + public static final int SAS_VALUE = 61; + /** + * SCSS = 29; + */ + public static final int SCSS_VALUE = 29; + /** + * SML = 43; + */ + public static final int SML_VALUE = 43; + /** + * SQL = 69; + */ + public static final int SQL_VALUE = 69; + /** + * Sass = 28; + */ + public static final int Sass_VALUE = 28; + /** + * Scala = 5; + */ + public static final int Scala_VALUE = 5; + /** + * Scheme = 10; + */ + public static final int Scheme_VALUE = 10; + /** + *
+     * Bash
+     * 
+ * + * ShellScript = 64; + */ + public static final int ShellScript_VALUE = 64; + /** + * Skylark = 78; + */ + public static final int Skylark_VALUE = 78; + /** + * Slang = 107; + */ + public static final int Slang_VALUE = 107; + /** + * Solidity = 95; + */ + public static final int Solidity_VALUE = 95; + /** + * Svelte = 106; + */ + public static final int Svelte_VALUE = 106; + /** + * Swift = 2; + */ + public static final int Swift_VALUE = 2; + /** + * Tcl = 101; + */ + public static final int Tcl_VALUE = 101; + /** + * TOML = 73; + */ + public static final int TOML_VALUE = 73; + /** + * TeX = 82; + */ + public static final int TeX_VALUE = 82; + /** + * Thrift = 103; + */ + public static final int Thrift_VALUE = 103; + /** + * TypeScript = 23; + */ + public static final int TypeScript_VALUE = 23; + /** + * TypeScriptReact = 94; + */ + public static final int TypeScriptReact_VALUE = 94; + /** + * Verilog = 104; + */ + public static final int Verilog_VALUE = 104; + /** + * VHDL = 105; + */ + public static final int VHDL_VALUE = 105; + /** + * VisualBasic = 63; + */ + public static final int VisualBasic_VALUE = 63; + /** + * Vue = 25; + */ + public static final int Vue_VALUE = 25; + /** + * Wolfram = 53; + */ + public static final int Wolfram_VALUE = 53; + /** + * XML = 31; + */ + public static final int XML_VALUE = 31; + /** + * XSL = 32; + */ + public static final int XSL_VALUE = 32; + /** + * YAML = 74; + */ + public static final int YAML_VALUE = 74; + /** + *
+     * NextLanguage = 111;
+     * Steps add a new language:
+     * 1. Copy-paste the "NextLanguage = N" line above
+     * 2. Increment "NextLanguage = N" to "NextLanguage = N+1"
+     * 3. Replace "NextLanguage = N" with the name of the new language.
+     * 4. Move the new language to the correct line above using alphabetical order
+     * 5. (optional) Add a brief comment behind the language if the name is not self-explanatory
+     * 
+ * + * Zig = 38; + */ + public static final int Zig_VALUE = 38; + + + 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 UnspecifiedLanguage; + case 60: return ABAP; + case 96: return Apex; + case 49: return APL; + case 39: return Ada; + case 45: return Agda; + case 86: return AsciiDoc; + case 58: return Assembly; + case 66: return Awk; + case 68: return Bat; + case 81: return BibTeX; + case 34: return C; + case 59: return COBOL; + case 35: return CPP; + case 26: return CSS; + case 1: return CSharp; + case 8: return Clojure; + case 21: return Coffeescript; + case 9: return CommonLisp; + case 47: return Coq; + case 97: return CUDA; + case 3: return Dart; + case 57: return Delphi; + case 88: return Diff; + case 80: return Dockerfile; + case 50: return Dyalog; + case 17: return Elixir; + case 18: return Erlang; + case 42: return FSharp; + case 65: return Fish; + case 24: return Flow; + case 56: return Fortran; + case 91: return Git_Commit; + case 89: return Git_Config; + case 92: return Git_Rebase; + case 33: return Go; + case 98: return GraphQL; + case 7: return Groovy; + case 30: return HTML; + case 20: return Hack; + case 90: return Handlebars; + case 44: return Haskell; + case 46: return Idris; + case 72: return Ini; + case 51: return J; + case 75: return JSON; + case 6: return Java; + case 22: return JavaScript; + case 93: return JavaScriptReact; + case 76: return Jsonnet; + case 55: return Julia; + case 109: return Justfile; + case 4: return Kotlin; + case 83: return LaTeX; + case 48: return Lean; + case 27: return Less; + case 12: return Lua; + case 108: return Luau; + case 79: return Makefile; + case 84: return Markdown; + case 52: return Matlab; + case 110: return Nickel; + case 77: return Nix; + case 41: return OCaml; + case 36: return Objective_C; + case 37: return Objective_CPP; + case 99: return Pascal; + case 19: return PHP; + case 70: return PLSQL; + case 13: return Perl; + case 67: return PowerShell; + case 71: return Prolog; + case 100: return Protobuf; + case 15: return Python; + case 54: return R; + case 11: return Racket; + case 14: return Raku; + case 62: return Razor; + case 102: return Repro; + case 85: return ReST; + case 16: return Ruby; + case 40: return Rust; + case 61: return SAS; + case 29: return SCSS; + case 43: return SML; + case 69: return SQL; + case 28: return Sass; + case 5: return Scala; + case 10: return Scheme; + case 64: return ShellScript; + case 78: return Skylark; + case 107: return Slang; + case 95: return Solidity; + case 106: return Svelte; + case 2: return Swift; + case 101: return Tcl; + case 73: return TOML; + case 82: return TeX; + case 103: return Thrift; + case 23: return TypeScript; + case 94: return TypeScriptReact; + case 104: return Verilog; + case 105: return VHDL; + case 63: return VisualBasic; + case 25: return Vue; + case 53: return Wolfram; + case 31: return XML; + case 32: return XSL; + case 74: return YAML; + case 38: return Zig; + 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 com.google.protobuf.Descriptors.EnumDescriptor + getDescriptor() { + return scip.Scip.getDescriptor().getEnumTypes().get(7); + } + + 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:scip.Language) + } + + public interface IndexOrBuilder extends + // @@protoc_insertion_point(interface_extends:scip.Index) + com.google.protobuf.MessageOrBuilder { + + /** + *
+     * Metadata about this index.
+     * 
+ * + * .scip.Metadata metadata = 1 [json_name = "metadata"]; + * @return Whether the metadata field is set. + */ + boolean hasMetadata(); + /** + *
+     * Metadata about this index.
+     * 
+ * + * .scip.Metadata metadata = 1 [json_name = "metadata"]; + * @return The metadata. + */ + scip.Scip.Metadata getMetadata(); + /** + *
+     * Metadata about this index.
+     * 
+ * + * .scip.Metadata metadata = 1 [json_name = "metadata"]; + */ + scip.Scip.MetadataOrBuilder getMetadataOrBuilder(); + + /** + *
+     * Documents that belong to this index.
+     * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + java.util.List + getDocumentsList(); + /** + *
+     * Documents that belong to this index.
+     * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + scip.Scip.Document getDocuments(int index); + /** + *
+     * Documents that belong to this index.
+     * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + int getDocumentsCount(); + /** + *
+     * Documents that belong to this index.
+     * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + java.util.List + getDocumentsOrBuilderList(); + /** + *
+     * Documents that belong to this index.
+     * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + scip.Scip.DocumentOrBuilder getDocumentsOrBuilder( + int index); + + /** + *
+     * (optional) Symbols that are referenced from this index but are defined in
+     * an external package (a separate `Index` message). Leave this field empty
+     * if you assume the external package will get indexed separately. If the
+     * external package won't get indexed for some reason then you can use this
+     * field to provide hover documentation for those external symbols.
+     * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + java.util.List + getExternalSymbolsList(); + /** + *
+     * (optional) Symbols that are referenced from this index but are defined in
+     * an external package (a separate `Index` message). Leave this field empty
+     * if you assume the external package will get indexed separately. If the
+     * external package won't get indexed for some reason then you can use this
+     * field to provide hover documentation for those external symbols.
+     * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + scip.Scip.SymbolInformation getExternalSymbols(int index); + /** + *
+     * (optional) Symbols that are referenced from this index but are defined in
+     * an external package (a separate `Index` message). Leave this field empty
+     * if you assume the external package will get indexed separately. If the
+     * external package won't get indexed for some reason then you can use this
+     * field to provide hover documentation for those external symbols.
+     * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + int getExternalSymbolsCount(); + /** + *
+     * (optional) Symbols that are referenced from this index but are defined in
+     * an external package (a separate `Index` message). Leave this field empty
+     * if you assume the external package will get indexed separately. If the
+     * external package won't get indexed for some reason then you can use this
+     * field to provide hover documentation for those external symbols.
+     * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + java.util.List + getExternalSymbolsOrBuilderList(); + /** + *
+     * (optional) Symbols that are referenced from this index but are defined in
+     * an external package (a separate `Index` message). Leave this field empty
+     * if you assume the external package will get indexed separately. If the
+     * external package won't get indexed for some reason then you can use this
+     * field to provide hover documentation for those external symbols.
+     * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + scip.Scip.SymbolInformationOrBuilder getExternalSymbolsOrBuilder( + int index); + } + /** + *
+   * Index represents a complete SCIP index for a workspace this is rooted at a
+   * single directory. An Index message payload can have a large memory footprint
+   * and it's therefore recommended to emit and consume an Index payload one field
+   * value at a time. To permit streaming consumption of an Index payload, the
+   * `metadata` field must appear at the start of the stream and must only appear
+   * once in the stream. Other field values may appear in any order.
+   * 
+ * + * Protobuf type {@code scip.Index} + */ + public static final class Index extends + com.google.protobuf.GeneratedMessage implements + // @@protoc_insertion_point(message_implements:scip.Index) + IndexOrBuilder { + private static final long serialVersionUID = 0L; + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 32, + /* patch= */ 1, + /* suffix= */ "", + Index.class.getName()); + } + // Use Index.newBuilder() to construct. + private Index(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + private Index() { + documents_ = java.util.Collections.emptyList(); + externalSymbols_ = java.util.Collections.emptyList(); + } + + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return scip.Scip.internal_static_scip_Index_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return scip.Scip.internal_static_scip_Index_fieldAccessorTable + .ensureFieldAccessorsInitialized( + scip.Scip.Index.class, scip.Scip.Index.Builder.class); + } + + private int bitField0_; + public static final int METADATA_FIELD_NUMBER = 1; + private scip.Scip.Metadata metadata_; + /** + *
+     * Metadata about this index.
+     * 
+ * + * .scip.Metadata metadata = 1 [json_name = "metadata"]; + * @return Whether the metadata field is set. + */ + @java.lang.Override + public boolean hasMetadata() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + *
+     * Metadata about this index.
+     * 
+ * + * .scip.Metadata metadata = 1 [json_name = "metadata"]; + * @return The metadata. + */ + @java.lang.Override + public scip.Scip.Metadata getMetadata() { + return metadata_ == null ? scip.Scip.Metadata.getDefaultInstance() : metadata_; + } + /** + *
+     * Metadata about this index.
+     * 
+ * + * .scip.Metadata metadata = 1 [json_name = "metadata"]; + */ + @java.lang.Override + public scip.Scip.MetadataOrBuilder getMetadataOrBuilder() { + return metadata_ == null ? scip.Scip.Metadata.getDefaultInstance() : metadata_; + } + + public static final int DOCUMENTS_FIELD_NUMBER = 2; + @SuppressWarnings("serial") + private java.util.List documents_; + /** + *
+     * Documents that belong to this index.
+     * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + @java.lang.Override + public java.util.List getDocumentsList() { + return documents_; + } + /** + *
+     * Documents that belong to this index.
+     * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + @java.lang.Override + public java.util.List + getDocumentsOrBuilderList() { + return documents_; + } + /** + *
+     * Documents that belong to this index.
+     * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + @java.lang.Override + public int getDocumentsCount() { + return documents_.size(); + } + /** + *
+     * Documents that belong to this index.
+     * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + @java.lang.Override + public scip.Scip.Document getDocuments(int index) { + return documents_.get(index); + } + /** + *
+     * Documents that belong to this index.
+     * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + @java.lang.Override + public scip.Scip.DocumentOrBuilder getDocumentsOrBuilder( + int index) { + return documents_.get(index); + } + + public static final int EXTERNAL_SYMBOLS_FIELD_NUMBER = 3; + @SuppressWarnings("serial") + private java.util.List externalSymbols_; + /** + *
+     * (optional) Symbols that are referenced from this index but are defined in
+     * an external package (a separate `Index` message). Leave this field empty
+     * if you assume the external package will get indexed separately. If the
+     * external package won't get indexed for some reason then you can use this
+     * field to provide hover documentation for those external symbols.
+     * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + @java.lang.Override + public java.util.List getExternalSymbolsList() { + return externalSymbols_; + } + /** + *
+     * (optional) Symbols that are referenced from this index but are defined in
+     * an external package (a separate `Index` message). Leave this field empty
+     * if you assume the external package will get indexed separately. If the
+     * external package won't get indexed for some reason then you can use this
+     * field to provide hover documentation for those external symbols.
+     * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + @java.lang.Override + public java.util.List + getExternalSymbolsOrBuilderList() { + return externalSymbols_; + } + /** + *
+     * (optional) Symbols that are referenced from this index but are defined in
+     * an external package (a separate `Index` message). Leave this field empty
+     * if you assume the external package will get indexed separately. If the
+     * external package won't get indexed for some reason then you can use this
+     * field to provide hover documentation for those external symbols.
+     * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + @java.lang.Override + public int getExternalSymbolsCount() { + return externalSymbols_.size(); + } + /** + *
+     * (optional) Symbols that are referenced from this index but are defined in
+     * an external package (a separate `Index` message). Leave this field empty
+     * if you assume the external package will get indexed separately. If the
+     * external package won't get indexed for some reason then you can use this
+     * field to provide hover documentation for those external symbols.
+     * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + @java.lang.Override + public scip.Scip.SymbolInformation getExternalSymbols(int index) { + return externalSymbols_.get(index); + } + /** + *
+     * (optional) Symbols that are referenced from this index but are defined in
+     * an external package (a separate `Index` message). Leave this field empty
+     * if you assume the external package will get indexed separately. If the
+     * external package won't get indexed for some reason then you can use this
+     * field to provide hover documentation for those external symbols.
+     * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + @java.lang.Override + public scip.Scip.SymbolInformationOrBuilder getExternalSymbolsOrBuilder( + int index) { + return externalSymbols_.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 (((bitField0_ & 0x00000001) != 0)) { + output.writeMessage(1, getMetadata()); + } + for (int i = 0; i < documents_.size(); i++) { + output.writeMessage(2, documents_.get(i)); + } + for (int i = 0; i < externalSymbols_.size(); i++) { + output.writeMessage(3, externalSymbols_.get(i)); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(1, getMetadata()); + } + for (int i = 0; i < documents_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(2, documents_.get(i)); + } + for (int i = 0; i < externalSymbols_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(3, externalSymbols_.get(i)); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof scip.Scip.Index)) { + return super.equals(obj); + } + scip.Scip.Index other = (scip.Scip.Index) obj; + + if (hasMetadata() != other.hasMetadata()) return false; + if (hasMetadata()) { + if (!getMetadata() + .equals(other.getMetadata())) return false; + } + if (!getDocumentsList() + .equals(other.getDocumentsList())) return false; + if (!getExternalSymbolsList() + .equals(other.getExternalSymbolsList())) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasMetadata()) { + hash = (37 * hash) + METADATA_FIELD_NUMBER; + hash = (53 * hash) + getMetadata().hashCode(); + } + if (getDocumentsCount() > 0) { + hash = (37 * hash) + DOCUMENTS_FIELD_NUMBER; + hash = (53 * hash) + getDocumentsList().hashCode(); + } + if (getExternalSymbolsCount() > 0) { + hash = (37 * hash) + EXTERNAL_SYMBOLS_FIELD_NUMBER; + hash = (53 * hash) + getExternalSymbolsList().hashCode(); + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static scip.Scip.Index parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static scip.Scip.Index parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static scip.Scip.Index parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static scip.Scip.Index parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static scip.Scip.Index parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static scip.Scip.Index parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static scip.Scip.Index parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static scip.Scip.Index parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public static scip.Scip.Index parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input); + } + + public static scip.Scip.Index parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static scip.Scip.Index parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static scip.Scip.Index parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(scip.Scip.Index 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + *
+     * Index represents a complete SCIP index for a workspace this is rooted at a
+     * single directory. An Index message payload can have a large memory footprint
+     * and it's therefore recommended to emit and consume an Index payload one field
+     * value at a time. To permit streaming consumption of an Index payload, the
+     * `metadata` field must appear at the start of the stream and must only appear
+     * once in the stream. Other field values may appear in any order.
+     * 
+ * + * Protobuf type {@code scip.Index} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder implements + // @@protoc_insertion_point(builder_implements:scip.Index) + scip.Scip.IndexOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return scip.Scip.internal_static_scip_Index_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return scip.Scip.internal_static_scip_Index_fieldAccessorTable + .ensureFieldAccessorsInitialized( + scip.Scip.Index.class, scip.Scip.Index.Builder.class); + } + + // Construct using scip.Scip.Index.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage + .alwaysUseFieldBuilders) { + internalGetMetadataFieldBuilder(); + internalGetDocumentsFieldBuilder(); + internalGetExternalSymbolsFieldBuilder(); + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + metadata_ = null; + if (metadataBuilder_ != null) { + metadataBuilder_.dispose(); + metadataBuilder_ = null; + } + if (documentsBuilder_ == null) { + documents_ = java.util.Collections.emptyList(); + } else { + documents_ = null; + documentsBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000002); + if (externalSymbolsBuilder_ == null) { + externalSymbols_ = java.util.Collections.emptyList(); + } else { + externalSymbols_ = null; + externalSymbolsBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000004); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return scip.Scip.internal_static_scip_Index_descriptor; + } + + @java.lang.Override + public scip.Scip.Index getDefaultInstanceForType() { + return scip.Scip.Index.getDefaultInstance(); + } + + @java.lang.Override + public scip.Scip.Index build() { + scip.Scip.Index result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public scip.Scip.Index buildPartial() { + scip.Scip.Index result = new scip.Scip.Index(this); + buildPartialRepeatedFields(result); + if (bitField0_ != 0) { buildPartial0(result); } + onBuilt(); + return result; + } + + private void buildPartialRepeatedFields(scip.Scip.Index result) { + if (documentsBuilder_ == null) { + if (((bitField0_ & 0x00000002) != 0)) { + documents_ = java.util.Collections.unmodifiableList(documents_); + bitField0_ = (bitField0_ & ~0x00000002); + } + result.documents_ = documents_; + } else { + result.documents_ = documentsBuilder_.build(); + } + if (externalSymbolsBuilder_ == null) { + if (((bitField0_ & 0x00000004) != 0)) { + externalSymbols_ = java.util.Collections.unmodifiableList(externalSymbols_); + bitField0_ = (bitField0_ & ~0x00000004); + } + result.externalSymbols_ = externalSymbols_; + } else { + result.externalSymbols_ = externalSymbolsBuilder_.build(); + } + } + + private void buildPartial0(scip.Scip.Index result) { + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.metadata_ = metadataBuilder_ == null + ? metadata_ + : metadataBuilder_.build(); + to_bitField0_ |= 0x00000001; + } + result.bitField0_ |= to_bitField0_; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof scip.Scip.Index) { + return mergeFrom((scip.Scip.Index)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(scip.Scip.Index other) { + if (other == scip.Scip.Index.getDefaultInstance()) return this; + if (other.hasMetadata()) { + mergeMetadata(other.getMetadata()); + } + if (documentsBuilder_ == null) { + if (!other.documents_.isEmpty()) { + if (documents_.isEmpty()) { + documents_ = other.documents_; + bitField0_ = (bitField0_ & ~0x00000002); + } else { + ensureDocumentsIsMutable(); + documents_.addAll(other.documents_); + } + onChanged(); + } + } else { + if (!other.documents_.isEmpty()) { + if (documentsBuilder_.isEmpty()) { + documentsBuilder_.dispose(); + documentsBuilder_ = null; + documents_ = other.documents_; + bitField0_ = (bitField0_ & ~0x00000002); + documentsBuilder_ = + com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ? + internalGetDocumentsFieldBuilder() : null; + } else { + documentsBuilder_.addAllMessages(other.documents_); + } + } + } + if (externalSymbolsBuilder_ == null) { + if (!other.externalSymbols_.isEmpty()) { + if (externalSymbols_.isEmpty()) { + externalSymbols_ = other.externalSymbols_; + bitField0_ = (bitField0_ & ~0x00000004); + } else { + ensureExternalSymbolsIsMutable(); + externalSymbols_.addAll(other.externalSymbols_); + } + onChanged(); + } + } else { + if (!other.externalSymbols_.isEmpty()) { + if (externalSymbolsBuilder_.isEmpty()) { + externalSymbolsBuilder_.dispose(); + externalSymbolsBuilder_ = null; + externalSymbols_ = other.externalSymbols_; + bitField0_ = (bitField0_ & ~0x00000004); + externalSymbolsBuilder_ = + com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ? + internalGetExternalSymbolsFieldBuilder() : null; + } else { + externalSymbolsBuilder_.addAllMessages(other.externalSymbols_); + } + } + } + this.mergeUnknownFields(other.getUnknownFields()); + 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 { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + input.readMessage( + internalGetMetadataFieldBuilder().getBuilder(), + extensionRegistry); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 18: { + scip.Scip.Document m = + input.readMessage( + scip.Scip.Document.parser(), + extensionRegistry); + if (documentsBuilder_ == null) { + ensureDocumentsIsMutable(); + documents_.add(m); + } else { + documentsBuilder_.addMessage(m); + } + break; + } // case 18 + case 26: { + scip.Scip.SymbolInformation m = + input.readMessage( + scip.Scip.SymbolInformation.parser(), + extensionRegistry); + if (externalSymbolsBuilder_ == null) { + ensureExternalSymbolsIsMutable(); + externalSymbols_.add(m); + } else { + externalSymbolsBuilder_.addMessage(m); + } + break; + } // case 26 + default: { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + private int bitField0_; + + private scip.Scip.Metadata metadata_; + private com.google.protobuf.SingleFieldBuilder< + scip.Scip.Metadata, scip.Scip.Metadata.Builder, scip.Scip.MetadataOrBuilder> metadataBuilder_; + /** + *
+       * Metadata about this index.
+       * 
+ * + * .scip.Metadata metadata = 1 [json_name = "metadata"]; + * @return Whether the metadata field is set. + */ + public boolean hasMetadata() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + *
+       * Metadata about this index.
+       * 
+ * + * .scip.Metadata metadata = 1 [json_name = "metadata"]; + * @return The metadata. + */ + public scip.Scip.Metadata getMetadata() { + if (metadataBuilder_ == null) { + return metadata_ == null ? scip.Scip.Metadata.getDefaultInstance() : metadata_; + } else { + return metadataBuilder_.getMessage(); + } + } + /** + *
+       * Metadata about this index.
+       * 
+ * + * .scip.Metadata metadata = 1 [json_name = "metadata"]; + */ + public Builder setMetadata(scip.Scip.Metadata value) { + if (metadataBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + metadata_ = value; + } else { + metadataBuilder_.setMessage(value); + } + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + /** + *
+       * Metadata about this index.
+       * 
+ * + * .scip.Metadata metadata = 1 [json_name = "metadata"]; + */ + public Builder setMetadata( + scip.Scip.Metadata.Builder builderForValue) { + if (metadataBuilder_ == null) { + metadata_ = builderForValue.build(); + } else { + metadataBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + /** + *
+       * Metadata about this index.
+       * 
+ * + * .scip.Metadata metadata = 1 [json_name = "metadata"]; + */ + public Builder mergeMetadata(scip.Scip.Metadata value) { + if (metadataBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0) && + metadata_ != null && + metadata_ != scip.Scip.Metadata.getDefaultInstance()) { + getMetadataBuilder().mergeFrom(value); + } else { + metadata_ = value; + } + } else { + metadataBuilder_.mergeFrom(value); + } + if (metadata_ != null) { + bitField0_ |= 0x00000001; + onChanged(); + } + return this; + } + /** + *
+       * Metadata about this index.
+       * 
+ * + * .scip.Metadata metadata = 1 [json_name = "metadata"]; + */ + public Builder clearMetadata() { + bitField0_ = (bitField0_ & ~0x00000001); + metadata_ = null; + if (metadataBuilder_ != null) { + metadataBuilder_.dispose(); + metadataBuilder_ = null; + } + onChanged(); + return this; + } + /** + *
+       * Metadata about this index.
+       * 
+ * + * .scip.Metadata metadata = 1 [json_name = "metadata"]; + */ + public scip.Scip.Metadata.Builder getMetadataBuilder() { + bitField0_ |= 0x00000001; + onChanged(); + return internalGetMetadataFieldBuilder().getBuilder(); + } + /** + *
+       * Metadata about this index.
+       * 
+ * + * .scip.Metadata metadata = 1 [json_name = "metadata"]; + */ + public scip.Scip.MetadataOrBuilder getMetadataOrBuilder() { + if (metadataBuilder_ != null) { + return metadataBuilder_.getMessageOrBuilder(); + } else { + return metadata_ == null ? + scip.Scip.Metadata.getDefaultInstance() : metadata_; + } + } + /** + *
+       * Metadata about this index.
+       * 
+ * + * .scip.Metadata metadata = 1 [json_name = "metadata"]; + */ + private com.google.protobuf.SingleFieldBuilder< + scip.Scip.Metadata, scip.Scip.Metadata.Builder, scip.Scip.MetadataOrBuilder> + internalGetMetadataFieldBuilder() { + if (metadataBuilder_ == null) { + metadataBuilder_ = new com.google.protobuf.SingleFieldBuilder< + scip.Scip.Metadata, scip.Scip.Metadata.Builder, scip.Scip.MetadataOrBuilder>( + getMetadata(), + getParentForChildren(), + isClean()); + metadata_ = null; + } + return metadataBuilder_; + } + + private java.util.List documents_ = + java.util.Collections.emptyList(); + private void ensureDocumentsIsMutable() { + if (!((bitField0_ & 0x00000002) != 0)) { + documents_ = new java.util.ArrayList(documents_); + bitField0_ |= 0x00000002; + } + } + + private com.google.protobuf.RepeatedFieldBuilder< + scip.Scip.Document, scip.Scip.Document.Builder, scip.Scip.DocumentOrBuilder> documentsBuilder_; + + /** + *
+       * Documents that belong to this index.
+       * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + public java.util.List getDocumentsList() { + if (documentsBuilder_ == null) { + return java.util.Collections.unmodifiableList(documents_); + } else { + return documentsBuilder_.getMessageList(); + } + } + /** + *
+       * Documents that belong to this index.
+       * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + public int getDocumentsCount() { + if (documentsBuilder_ == null) { + return documents_.size(); + } else { + return documentsBuilder_.getCount(); + } + } + /** + *
+       * Documents that belong to this index.
+       * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + public scip.Scip.Document getDocuments(int index) { + if (documentsBuilder_ == null) { + return documents_.get(index); + } else { + return documentsBuilder_.getMessage(index); + } + } + /** + *
+       * Documents that belong to this index.
+       * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + public Builder setDocuments( + int index, scip.Scip.Document value) { + if (documentsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureDocumentsIsMutable(); + documents_.set(index, value); + onChanged(); + } else { + documentsBuilder_.setMessage(index, value); + } + return this; + } + /** + *
+       * Documents that belong to this index.
+       * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + public Builder setDocuments( + int index, scip.Scip.Document.Builder builderForValue) { + if (documentsBuilder_ == null) { + ensureDocumentsIsMutable(); + documents_.set(index, builderForValue.build()); + onChanged(); + } else { + documentsBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + *
+       * Documents that belong to this index.
+       * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + public Builder addDocuments(scip.Scip.Document value) { + if (documentsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureDocumentsIsMutable(); + documents_.add(value); + onChanged(); + } else { + documentsBuilder_.addMessage(value); + } + return this; + } + /** + *
+       * Documents that belong to this index.
+       * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + public Builder addDocuments( + int index, scip.Scip.Document value) { + if (documentsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureDocumentsIsMutable(); + documents_.add(index, value); + onChanged(); + } else { + documentsBuilder_.addMessage(index, value); + } + return this; + } + /** + *
+       * Documents that belong to this index.
+       * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + public Builder addDocuments( + scip.Scip.Document.Builder builderForValue) { + if (documentsBuilder_ == null) { + ensureDocumentsIsMutable(); + documents_.add(builderForValue.build()); + onChanged(); + } else { + documentsBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + *
+       * Documents that belong to this index.
+       * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + public Builder addDocuments( + int index, scip.Scip.Document.Builder builderForValue) { + if (documentsBuilder_ == null) { + ensureDocumentsIsMutable(); + documents_.add(index, builderForValue.build()); + onChanged(); + } else { + documentsBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + *
+       * Documents that belong to this index.
+       * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + 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; + } + /** + *
+       * Documents that belong to this index.
+       * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + public Builder clearDocuments() { + if (documentsBuilder_ == null) { + documents_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + } else { + documentsBuilder_.clear(); + } + return this; + } + /** + *
+       * Documents that belong to this index.
+       * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + public Builder removeDocuments(int index) { + if (documentsBuilder_ == null) { + ensureDocumentsIsMutable(); + documents_.remove(index); + onChanged(); + } else { + documentsBuilder_.remove(index); + } + return this; + } + /** + *
+       * Documents that belong to this index.
+       * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + public scip.Scip.Document.Builder getDocumentsBuilder( + int index) { + return internalGetDocumentsFieldBuilder().getBuilder(index); + } + /** + *
+       * Documents that belong to this index.
+       * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + public scip.Scip.DocumentOrBuilder getDocumentsOrBuilder( + int index) { + if (documentsBuilder_ == null) { + return documents_.get(index); } else { + return documentsBuilder_.getMessageOrBuilder(index); + } + } + /** + *
+       * Documents that belong to this index.
+       * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + public java.util.List + getDocumentsOrBuilderList() { + if (documentsBuilder_ != null) { + return documentsBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(documents_); + } + } + /** + *
+       * Documents that belong to this index.
+       * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + public scip.Scip.Document.Builder addDocumentsBuilder() { + return internalGetDocumentsFieldBuilder().addBuilder( + scip.Scip.Document.getDefaultInstance()); + } + /** + *
+       * Documents that belong to this index.
+       * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + public scip.Scip.Document.Builder addDocumentsBuilder( + int index) { + return internalGetDocumentsFieldBuilder().addBuilder( + index, scip.Scip.Document.getDefaultInstance()); + } + /** + *
+       * Documents that belong to this index.
+       * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + public java.util.List + getDocumentsBuilderList() { + return internalGetDocumentsFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilder< + scip.Scip.Document, scip.Scip.Document.Builder, scip.Scip.DocumentOrBuilder> + internalGetDocumentsFieldBuilder() { + if (documentsBuilder_ == null) { + documentsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder< + scip.Scip.Document, scip.Scip.Document.Builder, scip.Scip.DocumentOrBuilder>( + documents_, + ((bitField0_ & 0x00000002) != 0), + getParentForChildren(), + isClean()); + documents_ = null; + } + return documentsBuilder_; + } + + private java.util.List externalSymbols_ = + java.util.Collections.emptyList(); + private void ensureExternalSymbolsIsMutable() { + if (!((bitField0_ & 0x00000004) != 0)) { + externalSymbols_ = new java.util.ArrayList(externalSymbols_); + bitField0_ |= 0x00000004; + } + } + + private com.google.protobuf.RepeatedFieldBuilder< + scip.Scip.SymbolInformation, scip.Scip.SymbolInformation.Builder, scip.Scip.SymbolInformationOrBuilder> externalSymbolsBuilder_; + + /** + *
+       * (optional) Symbols that are referenced from this index but are defined in
+       * an external package (a separate `Index` message). Leave this field empty
+       * if you assume the external package will get indexed separately. If the
+       * external package won't get indexed for some reason then you can use this
+       * field to provide hover documentation for those external symbols.
+       * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + public java.util.List getExternalSymbolsList() { + if (externalSymbolsBuilder_ == null) { + return java.util.Collections.unmodifiableList(externalSymbols_); + } else { + return externalSymbolsBuilder_.getMessageList(); + } + } + /** + *
+       * (optional) Symbols that are referenced from this index but are defined in
+       * an external package (a separate `Index` message). Leave this field empty
+       * if you assume the external package will get indexed separately. If the
+       * external package won't get indexed for some reason then you can use this
+       * field to provide hover documentation for those external symbols.
+       * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + public int getExternalSymbolsCount() { + if (externalSymbolsBuilder_ == null) { + return externalSymbols_.size(); + } else { + return externalSymbolsBuilder_.getCount(); + } + } + /** + *
+       * (optional) Symbols that are referenced from this index but are defined in
+       * an external package (a separate `Index` message). Leave this field empty
+       * if you assume the external package will get indexed separately. If the
+       * external package won't get indexed for some reason then you can use this
+       * field to provide hover documentation for those external symbols.
+       * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + public scip.Scip.SymbolInformation getExternalSymbols(int index) { + if (externalSymbolsBuilder_ == null) { + return externalSymbols_.get(index); + } else { + return externalSymbolsBuilder_.getMessage(index); + } + } + /** + *
+       * (optional) Symbols that are referenced from this index but are defined in
+       * an external package (a separate `Index` message). Leave this field empty
+       * if you assume the external package will get indexed separately. If the
+       * external package won't get indexed for some reason then you can use this
+       * field to provide hover documentation for those external symbols.
+       * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + public Builder setExternalSymbols( + int index, scip.Scip.SymbolInformation value) { + if (externalSymbolsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureExternalSymbolsIsMutable(); + externalSymbols_.set(index, value); + onChanged(); + } else { + externalSymbolsBuilder_.setMessage(index, value); + } + return this; + } + /** + *
+       * (optional) Symbols that are referenced from this index but are defined in
+       * an external package (a separate `Index` message). Leave this field empty
+       * if you assume the external package will get indexed separately. If the
+       * external package won't get indexed for some reason then you can use this
+       * field to provide hover documentation for those external symbols.
+       * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + public Builder setExternalSymbols( + int index, scip.Scip.SymbolInformation.Builder builderForValue) { + if (externalSymbolsBuilder_ == null) { + ensureExternalSymbolsIsMutable(); + externalSymbols_.set(index, builderForValue.build()); + onChanged(); + } else { + externalSymbolsBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + *
+       * (optional) Symbols that are referenced from this index but are defined in
+       * an external package (a separate `Index` message). Leave this field empty
+       * if you assume the external package will get indexed separately. If the
+       * external package won't get indexed for some reason then you can use this
+       * field to provide hover documentation for those external symbols.
+       * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + public Builder addExternalSymbols(scip.Scip.SymbolInformation value) { + if (externalSymbolsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureExternalSymbolsIsMutable(); + externalSymbols_.add(value); + onChanged(); + } else { + externalSymbolsBuilder_.addMessage(value); + } + return this; + } + /** + *
+       * (optional) Symbols that are referenced from this index but are defined in
+       * an external package (a separate `Index` message). Leave this field empty
+       * if you assume the external package will get indexed separately. If the
+       * external package won't get indexed for some reason then you can use this
+       * field to provide hover documentation for those external symbols.
+       * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + public Builder addExternalSymbols( + int index, scip.Scip.SymbolInformation value) { + if (externalSymbolsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureExternalSymbolsIsMutable(); + externalSymbols_.add(index, value); + onChanged(); + } else { + externalSymbolsBuilder_.addMessage(index, value); + } + return this; + } + /** + *
+       * (optional) Symbols that are referenced from this index but are defined in
+       * an external package (a separate `Index` message). Leave this field empty
+       * if you assume the external package will get indexed separately. If the
+       * external package won't get indexed for some reason then you can use this
+       * field to provide hover documentation for those external symbols.
+       * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + public Builder addExternalSymbols( + scip.Scip.SymbolInformation.Builder builderForValue) { + if (externalSymbolsBuilder_ == null) { + ensureExternalSymbolsIsMutable(); + externalSymbols_.add(builderForValue.build()); + onChanged(); + } else { + externalSymbolsBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + *
+       * (optional) Symbols that are referenced from this index but are defined in
+       * an external package (a separate `Index` message). Leave this field empty
+       * if you assume the external package will get indexed separately. If the
+       * external package won't get indexed for some reason then you can use this
+       * field to provide hover documentation for those external symbols.
+       * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + public Builder addExternalSymbols( + int index, scip.Scip.SymbolInformation.Builder builderForValue) { + if (externalSymbolsBuilder_ == null) { + ensureExternalSymbolsIsMutable(); + externalSymbols_.add(index, builderForValue.build()); + onChanged(); + } else { + externalSymbolsBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + *
+       * (optional) Symbols that are referenced from this index but are defined in
+       * an external package (a separate `Index` message). Leave this field empty
+       * if you assume the external package will get indexed separately. If the
+       * external package won't get indexed for some reason then you can use this
+       * field to provide hover documentation for those external symbols.
+       * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + public Builder addAllExternalSymbols( + java.lang.Iterable values) { + if (externalSymbolsBuilder_ == null) { + ensureExternalSymbolsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, externalSymbols_); + onChanged(); + } else { + externalSymbolsBuilder_.addAllMessages(values); + } + return this; + } + /** + *
+       * (optional) Symbols that are referenced from this index but are defined in
+       * an external package (a separate `Index` message). Leave this field empty
+       * if you assume the external package will get indexed separately. If the
+       * external package won't get indexed for some reason then you can use this
+       * field to provide hover documentation for those external symbols.
+       * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + public Builder clearExternalSymbols() { + if (externalSymbolsBuilder_ == null) { + externalSymbols_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000004); + onChanged(); + } else { + externalSymbolsBuilder_.clear(); + } + return this; + } + /** + *
+       * (optional) Symbols that are referenced from this index but are defined in
+       * an external package (a separate `Index` message). Leave this field empty
+       * if you assume the external package will get indexed separately. If the
+       * external package won't get indexed for some reason then you can use this
+       * field to provide hover documentation for those external symbols.
+       * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + public Builder removeExternalSymbols(int index) { + if (externalSymbolsBuilder_ == null) { + ensureExternalSymbolsIsMutable(); + externalSymbols_.remove(index); + onChanged(); + } else { + externalSymbolsBuilder_.remove(index); + } + return this; + } + /** + *
+       * (optional) Symbols that are referenced from this index but are defined in
+       * an external package (a separate `Index` message). Leave this field empty
+       * if you assume the external package will get indexed separately. If the
+       * external package won't get indexed for some reason then you can use this
+       * field to provide hover documentation for those external symbols.
+       * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + public scip.Scip.SymbolInformation.Builder getExternalSymbolsBuilder( + int index) { + return internalGetExternalSymbolsFieldBuilder().getBuilder(index); + } + /** + *
+       * (optional) Symbols that are referenced from this index but are defined in
+       * an external package (a separate `Index` message). Leave this field empty
+       * if you assume the external package will get indexed separately. If the
+       * external package won't get indexed for some reason then you can use this
+       * field to provide hover documentation for those external symbols.
+       * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + public scip.Scip.SymbolInformationOrBuilder getExternalSymbolsOrBuilder( + int index) { + if (externalSymbolsBuilder_ == null) { + return externalSymbols_.get(index); } else { + return externalSymbolsBuilder_.getMessageOrBuilder(index); + } + } + /** + *
+       * (optional) Symbols that are referenced from this index but are defined in
+       * an external package (a separate `Index` message). Leave this field empty
+       * if you assume the external package will get indexed separately. If the
+       * external package won't get indexed for some reason then you can use this
+       * field to provide hover documentation for those external symbols.
+       * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + public java.util.List + getExternalSymbolsOrBuilderList() { + if (externalSymbolsBuilder_ != null) { + return externalSymbolsBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(externalSymbols_); + } + } + /** + *
+       * (optional) Symbols that are referenced from this index but are defined in
+       * an external package (a separate `Index` message). Leave this field empty
+       * if you assume the external package will get indexed separately. If the
+       * external package won't get indexed for some reason then you can use this
+       * field to provide hover documentation for those external symbols.
+       * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + public scip.Scip.SymbolInformation.Builder addExternalSymbolsBuilder() { + return internalGetExternalSymbolsFieldBuilder().addBuilder( + scip.Scip.SymbolInformation.getDefaultInstance()); + } + /** + *
+       * (optional) Symbols that are referenced from this index but are defined in
+       * an external package (a separate `Index` message). Leave this field empty
+       * if you assume the external package will get indexed separately. If the
+       * external package won't get indexed for some reason then you can use this
+       * field to provide hover documentation for those external symbols.
+       * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + public scip.Scip.SymbolInformation.Builder addExternalSymbolsBuilder( + int index) { + return internalGetExternalSymbolsFieldBuilder().addBuilder( + index, scip.Scip.SymbolInformation.getDefaultInstance()); + } + /** + *
+       * (optional) Symbols that are referenced from this index but are defined in
+       * an external package (a separate `Index` message). Leave this field empty
+       * if you assume the external package will get indexed separately. If the
+       * external package won't get indexed for some reason then you can use this
+       * field to provide hover documentation for those external symbols.
+       * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + public java.util.List + getExternalSymbolsBuilderList() { + return internalGetExternalSymbolsFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilder< + scip.Scip.SymbolInformation, scip.Scip.SymbolInformation.Builder, scip.Scip.SymbolInformationOrBuilder> + internalGetExternalSymbolsFieldBuilder() { + if (externalSymbolsBuilder_ == null) { + externalSymbolsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder< + scip.Scip.SymbolInformation, scip.Scip.SymbolInformation.Builder, scip.Scip.SymbolInformationOrBuilder>( + externalSymbols_, + ((bitField0_ & 0x00000004) != 0), + getParentForChildren(), + isClean()); + externalSymbols_ = null; + } + return externalSymbolsBuilder_; + } + + // @@protoc_insertion_point(builder_scope:scip.Index) + } + + // @@protoc_insertion_point(class_scope:scip.Index) + private static final scip.Scip.Index DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new scip.Scip.Index(); + } + + public static scip.Scip.Index getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public Index parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public scip.Scip.Index getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface MetadataOrBuilder extends + // @@protoc_insertion_point(interface_extends:scip.Metadata) + com.google.protobuf.MessageOrBuilder { + + /** + *
+     * Which version of this protocol was used to generate this index?
+     * 
+ * + * .scip.ProtocolVersion version = 1 [json_name = "version"]; + * @return The enum numeric value on the wire for version. + */ + int getVersionValue(); + /** + *
+     * Which version of this protocol was used to generate this index?
+     * 
+ * + * .scip.ProtocolVersion version = 1 [json_name = "version"]; + * @return The version. + */ + scip.Scip.ProtocolVersion getVersion(); + + /** + *
+     * Information about the tool that produced this index.
+     * 
+ * + * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; + * @return Whether the toolInfo field is set. + */ + boolean hasToolInfo(); + /** + *
+     * Information about the tool that produced this index.
+     * 
+ * + * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; + * @return The toolInfo. + */ + scip.Scip.ToolInfo getToolInfo(); + /** + *
+     * Information about the tool that produced this index.
+     * 
+ * + * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; + */ + scip.Scip.ToolInfoOrBuilder getToolInfoOrBuilder(); + + /** + *
+     * URI-encoded absolute path to the root directory of this index. All
+     * documents in this index must appear in a subdirectory of this root
+     * directory.
+     * 
+ * + * string project_root = 3 [json_name = "projectRoot"]; + * @return The projectRoot. + */ + java.lang.String getProjectRoot(); + /** + *
+     * URI-encoded absolute path to the root directory of this index. All
+     * documents in this index must appear in a subdirectory of this root
+     * directory.
+     * 
+ * + * string project_root = 3 [json_name = "projectRoot"]; + * @return The bytes for projectRoot. + */ + com.google.protobuf.ByteString + getProjectRootBytes(); + + /** + *
+     * Text encoding of the source files on disk that are referenced from
+     * `Document.relative_path`. This value is unrelated to the `Document.text`
+     * field, which is a Protobuf string and hence must be UTF-8 encoded.
+     * 
+ * + * .scip.TextEncoding text_document_encoding = 4 [json_name = "textDocumentEncoding"]; + * @return The enum numeric value on the wire for textDocumentEncoding. + */ + int getTextDocumentEncodingValue(); + /** + *
+     * Text encoding of the source files on disk that are referenced from
+     * `Document.relative_path`. This value is unrelated to the `Document.text`
+     * field, which is a Protobuf string and hence must be UTF-8 encoded.
+     * 
+ * + * .scip.TextEncoding text_document_encoding = 4 [json_name = "textDocumentEncoding"]; + * @return The textDocumentEncoding. + */ + scip.Scip.TextEncoding getTextDocumentEncoding(); + } + /** + * Protobuf type {@code scip.Metadata} + */ + public static final class Metadata extends + com.google.protobuf.GeneratedMessage implements + // @@protoc_insertion_point(message_implements:scip.Metadata) + MetadataOrBuilder { + private static final long serialVersionUID = 0L; + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 32, + /* patch= */ 1, + /* suffix= */ "", + Metadata.class.getName()); + } + // Use Metadata.newBuilder() to construct. + private Metadata(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + private Metadata() { + version_ = 0; + projectRoot_ = ""; + textDocumentEncoding_ = 0; + } + + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return scip.Scip.internal_static_scip_Metadata_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return scip.Scip.internal_static_scip_Metadata_fieldAccessorTable + .ensureFieldAccessorsInitialized( + scip.Scip.Metadata.class, scip.Scip.Metadata.Builder.class); + } + + private int bitField0_; + public static final int VERSION_FIELD_NUMBER = 1; + private int version_ = 0; + /** + *
+     * Which version of this protocol was used to generate this index?
+     * 
+ * + * .scip.ProtocolVersion version = 1 [json_name = "version"]; + * @return The enum numeric value on the wire for version. + */ + @java.lang.Override public int getVersionValue() { + return version_; + } + /** + *
+     * Which version of this protocol was used to generate this index?
+     * 
+ * + * .scip.ProtocolVersion version = 1 [json_name = "version"]; + * @return The version. + */ + @java.lang.Override public scip.Scip.ProtocolVersion getVersion() { + scip.Scip.ProtocolVersion result = scip.Scip.ProtocolVersion.forNumber(version_); + return result == null ? scip.Scip.ProtocolVersion.UNRECOGNIZED : result; + } + + public static final int TOOL_INFO_FIELD_NUMBER = 2; + private scip.Scip.ToolInfo toolInfo_; + /** + *
+     * Information about the tool that produced this index.
+     * 
+ * + * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; + * @return Whether the toolInfo field is set. + */ + @java.lang.Override + public boolean hasToolInfo() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + *
+     * Information about the tool that produced this index.
+     * 
+ * + * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; + * @return The toolInfo. + */ + @java.lang.Override + public scip.Scip.ToolInfo getToolInfo() { + return toolInfo_ == null ? scip.Scip.ToolInfo.getDefaultInstance() : toolInfo_; + } + /** + *
+     * Information about the tool that produced this index.
+     * 
+ * + * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; + */ + @java.lang.Override + public scip.Scip.ToolInfoOrBuilder getToolInfoOrBuilder() { + return toolInfo_ == null ? scip.Scip.ToolInfo.getDefaultInstance() : toolInfo_; + } + + public static final int PROJECT_ROOT_FIELD_NUMBER = 3; + @SuppressWarnings("serial") + private volatile java.lang.Object projectRoot_ = ""; + /** + *
+     * URI-encoded absolute path to the root directory of this index. All
+     * documents in this index must appear in a subdirectory of this root
+     * directory.
+     * 
+ * + * string project_root = 3 [json_name = "projectRoot"]; + * @return The projectRoot. + */ + @java.lang.Override + public java.lang.String getProjectRoot() { + java.lang.Object ref = projectRoot_; + 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(); + projectRoot_ = s; + return s; + } + } + /** + *
+     * URI-encoded absolute path to the root directory of this index. All
+     * documents in this index must appear in a subdirectory of this root
+     * directory.
+     * 
+ * + * string project_root = 3 [json_name = "projectRoot"]; + * @return The bytes for projectRoot. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getProjectRootBytes() { + java.lang.Object ref = projectRoot_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + projectRoot_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int TEXT_DOCUMENT_ENCODING_FIELD_NUMBER = 4; + private int textDocumentEncoding_ = 0; + /** + *
+     * Text encoding of the source files on disk that are referenced from
+     * `Document.relative_path`. This value is unrelated to the `Document.text`
+     * field, which is a Protobuf string and hence must be UTF-8 encoded.
+     * 
+ * + * .scip.TextEncoding text_document_encoding = 4 [json_name = "textDocumentEncoding"]; + * @return The enum numeric value on the wire for textDocumentEncoding. + */ + @java.lang.Override public int getTextDocumentEncodingValue() { + return textDocumentEncoding_; + } + /** + *
+     * Text encoding of the source files on disk that are referenced from
+     * `Document.relative_path`. This value is unrelated to the `Document.text`
+     * field, which is a Protobuf string and hence must be UTF-8 encoded.
+     * 
+ * + * .scip.TextEncoding text_document_encoding = 4 [json_name = "textDocumentEncoding"]; + * @return The textDocumentEncoding. + */ + @java.lang.Override public scip.Scip.TextEncoding getTextDocumentEncoding() { + scip.Scip.TextEncoding result = scip.Scip.TextEncoding.forNumber(textDocumentEncoding_); + return result == null ? scip.Scip.TextEncoding.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 (version_ != scip.Scip.ProtocolVersion.UnspecifiedProtocolVersion.getNumber()) { + output.writeEnum(1, version_); + } + if (((bitField0_ & 0x00000001) != 0)) { + output.writeMessage(2, getToolInfo()); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(projectRoot_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 3, projectRoot_); + } + if (textDocumentEncoding_ != scip.Scip.TextEncoding.UnspecifiedTextEncoding.getNumber()) { + output.writeEnum(4, textDocumentEncoding_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (version_ != scip.Scip.ProtocolVersion.UnspecifiedProtocolVersion.getNumber()) { + size += com.google.protobuf.CodedOutputStream + .computeEnumSize(1, version_); + } + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(2, getToolInfo()); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(projectRoot_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(3, projectRoot_); + } + if (textDocumentEncoding_ != scip.Scip.TextEncoding.UnspecifiedTextEncoding.getNumber()) { + size += com.google.protobuf.CodedOutputStream + .computeEnumSize(4, textDocumentEncoding_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof scip.Scip.Metadata)) { + return super.equals(obj); + } + scip.Scip.Metadata other = (scip.Scip.Metadata) obj; + + if (version_ != other.version_) return false; + if (hasToolInfo() != other.hasToolInfo()) return false; + if (hasToolInfo()) { + if (!getToolInfo() + .equals(other.getToolInfo())) return false; + } + if (!getProjectRoot() + .equals(other.getProjectRoot())) return false; + if (textDocumentEncoding_ != other.textDocumentEncoding_) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) 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) + VERSION_FIELD_NUMBER; + hash = (53 * hash) + version_; + if (hasToolInfo()) { + hash = (37 * hash) + TOOL_INFO_FIELD_NUMBER; + hash = (53 * hash) + getToolInfo().hashCode(); + } + hash = (37 * hash) + PROJECT_ROOT_FIELD_NUMBER; + hash = (53 * hash) + getProjectRoot().hashCode(); + hash = (37 * hash) + TEXT_DOCUMENT_ENCODING_FIELD_NUMBER; + hash = (53 * hash) + textDocumentEncoding_; + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static scip.Scip.Metadata parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static scip.Scip.Metadata parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static scip.Scip.Metadata parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static scip.Scip.Metadata parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static scip.Scip.Metadata parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static scip.Scip.Metadata parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static scip.Scip.Metadata parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static scip.Scip.Metadata parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public static scip.Scip.Metadata parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input); + } + + public static scip.Scip.Metadata parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static scip.Scip.Metadata parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static scip.Scip.Metadata parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(scip.Scip.Metadata 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code scip.Metadata} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder implements + // @@protoc_insertion_point(builder_implements:scip.Metadata) + scip.Scip.MetadataOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return scip.Scip.internal_static_scip_Metadata_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return scip.Scip.internal_static_scip_Metadata_fieldAccessorTable + .ensureFieldAccessorsInitialized( + scip.Scip.Metadata.class, scip.Scip.Metadata.Builder.class); + } + + // Construct using scip.Scip.Metadata.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage + .alwaysUseFieldBuilders) { + internalGetToolInfoFieldBuilder(); + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + version_ = 0; + toolInfo_ = null; + if (toolInfoBuilder_ != null) { + toolInfoBuilder_.dispose(); + toolInfoBuilder_ = null; + } + projectRoot_ = ""; + textDocumentEncoding_ = 0; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return scip.Scip.internal_static_scip_Metadata_descriptor; + } + + @java.lang.Override + public scip.Scip.Metadata getDefaultInstanceForType() { + return scip.Scip.Metadata.getDefaultInstance(); + } + + @java.lang.Override + public scip.Scip.Metadata build() { + scip.Scip.Metadata result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public scip.Scip.Metadata buildPartial() { + scip.Scip.Metadata result = new scip.Scip.Metadata(this); + if (bitField0_ != 0) { buildPartial0(result); } + onBuilt(); + return result; + } + + private void buildPartial0(scip.Scip.Metadata result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.version_ = version_; + } + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000002) != 0)) { + result.toolInfo_ = toolInfoBuilder_ == null + ? toolInfo_ + : toolInfoBuilder_.build(); + to_bitField0_ |= 0x00000001; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.projectRoot_ = projectRoot_; + } + if (((from_bitField0_ & 0x00000008) != 0)) { + result.textDocumentEncoding_ = textDocumentEncoding_; + } + result.bitField0_ |= to_bitField0_; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof scip.Scip.Metadata) { + return mergeFrom((scip.Scip.Metadata)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(scip.Scip.Metadata other) { + if (other == scip.Scip.Metadata.getDefaultInstance()) return this; + if (other.version_ != 0) { + setVersionValue(other.getVersionValue()); + } + if (other.hasToolInfo()) { + mergeToolInfo(other.getToolInfo()); + } + if (!other.getProjectRoot().isEmpty()) { + projectRoot_ = other.projectRoot_; + bitField0_ |= 0x00000004; + onChanged(); + } + if (other.textDocumentEncoding_ != 0) { + setTextDocumentEncodingValue(other.getTextDocumentEncodingValue()); + } + this.mergeUnknownFields(other.getUnknownFields()); + 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 { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: { + version_ = input.readEnum(); + bitField0_ |= 0x00000001; + break; + } // case 8 + case 18: { + input.readMessage( + internalGetToolInfoFieldBuilder().getBuilder(), + extensionRegistry); + bitField0_ |= 0x00000002; + break; + } // case 18 + case 26: { + projectRoot_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000004; + break; + } // case 26 + case 32: { + textDocumentEncoding_ = input.readEnum(); + bitField0_ |= 0x00000008; + break; + } // case 32 + default: { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + private int bitField0_; + + private int version_ = 0; + /** + *
+       * Which version of this protocol was used to generate this index?
+       * 
+ * + * .scip.ProtocolVersion version = 1 [json_name = "version"]; + * @return The enum numeric value on the wire for version. + */ + @java.lang.Override public int getVersionValue() { + return version_; + } + /** + *
+       * Which version of this protocol was used to generate this index?
+       * 
+ * + * .scip.ProtocolVersion version = 1 [json_name = "version"]; + * @param value The enum numeric value on the wire for version to set. + * @return This builder for chaining. + */ + public Builder setVersionValue(int value) { + version_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + /** + *
+       * Which version of this protocol was used to generate this index?
+       * 
+ * + * .scip.ProtocolVersion version = 1 [json_name = "version"]; + * @return The version. + */ + @java.lang.Override + public scip.Scip.ProtocolVersion getVersion() { + scip.Scip.ProtocolVersion result = scip.Scip.ProtocolVersion.forNumber(version_); + return result == null ? scip.Scip.ProtocolVersion.UNRECOGNIZED : result; + } + /** + *
+       * Which version of this protocol was used to generate this index?
+       * 
+ * + * .scip.ProtocolVersion version = 1 [json_name = "version"]; + * @param value The version to set. + * @return This builder for chaining. + */ + public Builder setVersion(scip.Scip.ProtocolVersion value) { + if (value == null) { throw new NullPointerException(); } + bitField0_ |= 0x00000001; + version_ = value.getNumber(); + onChanged(); + return this; + } + /** + *
+       * Which version of this protocol was used to generate this index?
+       * 
+ * + * .scip.ProtocolVersion version = 1 [json_name = "version"]; + * @return This builder for chaining. + */ + public Builder clearVersion() { + bitField0_ = (bitField0_ & ~0x00000001); + version_ = 0; + onChanged(); + return this; + } + + private scip.Scip.ToolInfo toolInfo_; + private com.google.protobuf.SingleFieldBuilder< + scip.Scip.ToolInfo, scip.Scip.ToolInfo.Builder, scip.Scip.ToolInfoOrBuilder> toolInfoBuilder_; + /** + *
+       * Information about the tool that produced this index.
+       * 
+ * + * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; + * @return Whether the toolInfo field is set. + */ + public boolean hasToolInfo() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + *
+       * Information about the tool that produced this index.
+       * 
+ * + * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; + * @return The toolInfo. + */ + public scip.Scip.ToolInfo getToolInfo() { + if (toolInfoBuilder_ == null) { + return toolInfo_ == null ? scip.Scip.ToolInfo.getDefaultInstance() : toolInfo_; + } else { + return toolInfoBuilder_.getMessage(); + } + } + /** + *
+       * Information about the tool that produced this index.
+       * 
+ * + * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; + */ + public Builder setToolInfo(scip.Scip.ToolInfo value) { + if (toolInfoBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + toolInfo_ = value; + } else { + toolInfoBuilder_.setMessage(value); + } + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + /** + *
+       * Information about the tool that produced this index.
+       * 
+ * + * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; + */ + public Builder setToolInfo( + scip.Scip.ToolInfo.Builder builderForValue) { + if (toolInfoBuilder_ == null) { + toolInfo_ = builderForValue.build(); + } else { + toolInfoBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + /** + *
+       * Information about the tool that produced this index.
+       * 
+ * + * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; + */ + public Builder mergeToolInfo(scip.Scip.ToolInfo value) { + if (toolInfoBuilder_ == null) { + if (((bitField0_ & 0x00000002) != 0) && + toolInfo_ != null && + toolInfo_ != scip.Scip.ToolInfo.getDefaultInstance()) { + getToolInfoBuilder().mergeFrom(value); + } else { + toolInfo_ = value; + } + } else { + toolInfoBuilder_.mergeFrom(value); + } + if (toolInfo_ != null) { + bitField0_ |= 0x00000002; + onChanged(); + } + return this; + } + /** + *
+       * Information about the tool that produced this index.
+       * 
+ * + * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; + */ + public Builder clearToolInfo() { + bitField0_ = (bitField0_ & ~0x00000002); + toolInfo_ = null; + if (toolInfoBuilder_ != null) { + toolInfoBuilder_.dispose(); + toolInfoBuilder_ = null; + } + onChanged(); + return this; + } + /** + *
+       * Information about the tool that produced this index.
+       * 
+ * + * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; + */ + public scip.Scip.ToolInfo.Builder getToolInfoBuilder() { + bitField0_ |= 0x00000002; + onChanged(); + return internalGetToolInfoFieldBuilder().getBuilder(); + } + /** + *
+       * Information about the tool that produced this index.
+       * 
+ * + * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; + */ + public scip.Scip.ToolInfoOrBuilder getToolInfoOrBuilder() { + if (toolInfoBuilder_ != null) { + return toolInfoBuilder_.getMessageOrBuilder(); + } else { + return toolInfo_ == null ? + scip.Scip.ToolInfo.getDefaultInstance() : toolInfo_; + } + } + /** + *
+       * Information about the tool that produced this index.
+       * 
+ * + * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; + */ + private com.google.protobuf.SingleFieldBuilder< + scip.Scip.ToolInfo, scip.Scip.ToolInfo.Builder, scip.Scip.ToolInfoOrBuilder> + internalGetToolInfoFieldBuilder() { + if (toolInfoBuilder_ == null) { + toolInfoBuilder_ = new com.google.protobuf.SingleFieldBuilder< + scip.Scip.ToolInfo, scip.Scip.ToolInfo.Builder, scip.Scip.ToolInfoOrBuilder>( + getToolInfo(), + getParentForChildren(), + isClean()); + toolInfo_ = null; + } + return toolInfoBuilder_; + } + + private java.lang.Object projectRoot_ = ""; + /** + *
+       * URI-encoded absolute path to the root directory of this index. All
+       * documents in this index must appear in a subdirectory of this root
+       * directory.
+       * 
+ * + * string project_root = 3 [json_name = "projectRoot"]; + * @return The projectRoot. + */ + public java.lang.String getProjectRoot() { + java.lang.Object ref = projectRoot_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + projectRoot_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + *
+       * URI-encoded absolute path to the root directory of this index. All
+       * documents in this index must appear in a subdirectory of this root
+       * directory.
+       * 
+ * + * string project_root = 3 [json_name = "projectRoot"]; + * @return The bytes for projectRoot. + */ + public com.google.protobuf.ByteString + getProjectRootBytes() { + java.lang.Object ref = projectRoot_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + projectRoot_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + *
+       * URI-encoded absolute path to the root directory of this index. All
+       * documents in this index must appear in a subdirectory of this root
+       * directory.
+       * 
+ * + * string project_root = 3 [json_name = "projectRoot"]; + * @param value The projectRoot to set. + * @return This builder for chaining. + */ + public Builder setProjectRoot( + java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + projectRoot_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + /** + *
+       * URI-encoded absolute path to the root directory of this index. All
+       * documents in this index must appear in a subdirectory of this root
+       * directory.
+       * 
+ * + * string project_root = 3 [json_name = "projectRoot"]; + * @return This builder for chaining. + */ + public Builder clearProjectRoot() { + projectRoot_ = getDefaultInstance().getProjectRoot(); + bitField0_ = (bitField0_ & ~0x00000004); + onChanged(); + return this; + } + /** + *
+       * URI-encoded absolute path to the root directory of this index. All
+       * documents in this index must appear in a subdirectory of this root
+       * directory.
+       * 
+ * + * string project_root = 3 [json_name = "projectRoot"]; + * @param value The bytes for projectRoot to set. + * @return This builder for chaining. + */ + public Builder setProjectRootBytes( + com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + checkByteStringIsUtf8(value); + projectRoot_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + private int textDocumentEncoding_ = 0; + /** + *
+       * Text encoding of the source files on disk that are referenced from
+       * `Document.relative_path`. This value is unrelated to the `Document.text`
+       * field, which is a Protobuf string and hence must be UTF-8 encoded.
+       * 
+ * + * .scip.TextEncoding text_document_encoding = 4 [json_name = "textDocumentEncoding"]; + * @return The enum numeric value on the wire for textDocumentEncoding. + */ + @java.lang.Override public int getTextDocumentEncodingValue() { + return textDocumentEncoding_; + } + /** + *
+       * Text encoding of the source files on disk that are referenced from
+       * `Document.relative_path`. This value is unrelated to the `Document.text`
+       * field, which is a Protobuf string and hence must be UTF-8 encoded.
+       * 
+ * + * .scip.TextEncoding text_document_encoding = 4 [json_name = "textDocumentEncoding"]; + * @param value The enum numeric value on the wire for textDocumentEncoding to set. + * @return This builder for chaining. + */ + public Builder setTextDocumentEncodingValue(int value) { + textDocumentEncoding_ = value; + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + /** + *
+       * Text encoding of the source files on disk that are referenced from
+       * `Document.relative_path`. This value is unrelated to the `Document.text`
+       * field, which is a Protobuf string and hence must be UTF-8 encoded.
+       * 
+ * + * .scip.TextEncoding text_document_encoding = 4 [json_name = "textDocumentEncoding"]; + * @return The textDocumentEncoding. + */ + @java.lang.Override + public scip.Scip.TextEncoding getTextDocumentEncoding() { + scip.Scip.TextEncoding result = scip.Scip.TextEncoding.forNumber(textDocumentEncoding_); + return result == null ? scip.Scip.TextEncoding.UNRECOGNIZED : result; + } + /** + *
+       * Text encoding of the source files on disk that are referenced from
+       * `Document.relative_path`. This value is unrelated to the `Document.text`
+       * field, which is a Protobuf string and hence must be UTF-8 encoded.
+       * 
+ * + * .scip.TextEncoding text_document_encoding = 4 [json_name = "textDocumentEncoding"]; + * @param value The textDocumentEncoding to set. + * @return This builder for chaining. + */ + public Builder setTextDocumentEncoding(scip.Scip.TextEncoding value) { + if (value == null) { throw new NullPointerException(); } + bitField0_ |= 0x00000008; + textDocumentEncoding_ = value.getNumber(); + onChanged(); + return this; + } + /** + *
+       * Text encoding of the source files on disk that are referenced from
+       * `Document.relative_path`. This value is unrelated to the `Document.text`
+       * field, which is a Protobuf string and hence must be UTF-8 encoded.
+       * 
+ * + * .scip.TextEncoding text_document_encoding = 4 [json_name = "textDocumentEncoding"]; + * @return This builder for chaining. + */ + public Builder clearTextDocumentEncoding() { + bitField0_ = (bitField0_ & ~0x00000008); + textDocumentEncoding_ = 0; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:scip.Metadata) + } + + // @@protoc_insertion_point(class_scope:scip.Metadata) + private static final scip.Scip.Metadata DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new scip.Scip.Metadata(); + } + + public static scip.Scip.Metadata getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public Metadata parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public scip.Scip.Metadata getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface ToolInfoOrBuilder extends + // @@protoc_insertion_point(interface_extends:scip.ToolInfo) + com.google.protobuf.MessageOrBuilder { + + /** + *
+     * Name of the indexer that produced this index.
+     * 
+ * + * string name = 1 [json_name = "name"]; + * @return The name. + */ + java.lang.String getName(); + /** + *
+     * Name of the indexer that produced this index.
+     * 
+ * + * string name = 1 [json_name = "name"]; + * @return The bytes for name. + */ + com.google.protobuf.ByteString + getNameBytes(); + + /** + *
+     * Version of the indexer that produced this index.
+     * 
+ * + * string version = 2 [json_name = "version"]; + * @return The version. + */ + java.lang.String getVersion(); + /** + *
+     * Version of the indexer that produced this index.
+     * 
+ * + * string version = 2 [json_name = "version"]; + * @return The bytes for version. + */ + com.google.protobuf.ByteString + getVersionBytes(); + + /** + *
+     * Command-line arguments that were used to invoke this indexer.
+     * 
+ * + * repeated string arguments = 3 [json_name = "arguments"]; + * @return A list containing the arguments. + */ + java.util.List + getArgumentsList(); + /** + *
+     * Command-line arguments that were used to invoke this indexer.
+     * 
+ * + * repeated string arguments = 3 [json_name = "arguments"]; + * @return The count of arguments. + */ + int getArgumentsCount(); + /** + *
+     * Command-line arguments that were used to invoke this indexer.
+     * 
+ * + * repeated string arguments = 3 [json_name = "arguments"]; + * @param index The index of the element to return. + * @return The arguments at the given index. + */ + java.lang.String getArguments(int index); + /** + *
+     * Command-line arguments that were used to invoke this indexer.
+     * 
+ * + * repeated string arguments = 3 [json_name = "arguments"]; + * @param index The index of the value to return. + * @return The bytes of the arguments at the given index. + */ + com.google.protobuf.ByteString + getArgumentsBytes(int index); + } + /** + * Protobuf type {@code scip.ToolInfo} + */ + public static final class ToolInfo extends + com.google.protobuf.GeneratedMessage implements + // @@protoc_insertion_point(message_implements:scip.ToolInfo) + ToolInfoOrBuilder { + private static final long serialVersionUID = 0L; + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 32, + /* patch= */ 1, + /* suffix= */ "", + ToolInfo.class.getName()); + } + // Use ToolInfo.newBuilder() to construct. + private ToolInfo(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + private ToolInfo() { + name_ = ""; + version_ = ""; + arguments_ = + com.google.protobuf.LazyStringArrayList.emptyList(); + } + + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return scip.Scip.internal_static_scip_ToolInfo_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return scip.Scip.internal_static_scip_ToolInfo_fieldAccessorTable + .ensureFieldAccessorsInitialized( + scip.Scip.ToolInfo.class, scip.Scip.ToolInfo.Builder.class); + } + + public static final int NAME_FIELD_NUMBER = 1; + @SuppressWarnings("serial") + private volatile java.lang.Object name_ = ""; + /** + *
+     * Name of the indexer that produced this index.
+     * 
+ * + * string name = 1 [json_name = "name"]; + * @return The name. + */ + @java.lang.Override + public java.lang.String getName() { + java.lang.Object ref = name_; + 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(); + name_ = s; + return s; + } + } + /** + *
+     * Name of the indexer that produced this index.
+     * 
+ * + * string name = 1 [json_name = "name"]; + * @return The bytes for name. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int VERSION_FIELD_NUMBER = 2; + @SuppressWarnings("serial") + private volatile java.lang.Object version_ = ""; + /** + *
+     * Version of the indexer that produced this index.
+     * 
+ * + * string version = 2 [json_name = "version"]; + * @return The version. + */ + @java.lang.Override + public java.lang.String getVersion() { + java.lang.Object ref = version_; + 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(); + version_ = s; + return s; + } + } + /** + *
+     * Version of the indexer that produced this index.
+     * 
+ * + * string version = 2 [json_name = "version"]; + * @return The bytes for version. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getVersionBytes() { + java.lang.Object ref = version_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + version_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int ARGUMENTS_FIELD_NUMBER = 3; + @SuppressWarnings("serial") + private com.google.protobuf.LazyStringArrayList arguments_ = + com.google.protobuf.LazyStringArrayList.emptyList(); + /** + *
+     * Command-line arguments that were used to invoke this indexer.
+     * 
+ * + * repeated string arguments = 3 [json_name = "arguments"]; + * @return A list containing the arguments. + */ + public com.google.protobuf.ProtocolStringList + getArgumentsList() { + return arguments_; + } + /** + *
+     * Command-line arguments that were used to invoke this indexer.
+     * 
+ * + * repeated string arguments = 3 [json_name = "arguments"]; + * @return The count of arguments. + */ + public int getArgumentsCount() { + return arguments_.size(); + } + /** + *
+     * Command-line arguments that were used to invoke this indexer.
+     * 
+ * + * repeated string arguments = 3 [json_name = "arguments"]; + * @param index The index of the element to return. + * @return The arguments at the given index. + */ + public java.lang.String getArguments(int index) { + return arguments_.get(index); + } + /** + *
+     * Command-line arguments that were used to invoke this indexer.
+     * 
+ * + * repeated string arguments = 3 [json_name = "arguments"]; + * @param index The index of the value to return. + * @return The bytes of the arguments at the given index. + */ + public com.google.protobuf.ByteString + getArgumentsBytes(int index) { + return arguments_.getByteString(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 (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, name_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(version_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 2, version_); + } + for (int i = 0; i < arguments_.size(); i++) { + com.google.protobuf.GeneratedMessage.writeString(output, 3, arguments_.getRaw(i)); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, name_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(version_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(2, version_); + } + { + int dataSize = 0; + for (int i = 0; i < arguments_.size(); i++) { + dataSize += computeStringSizeNoTag(arguments_.getRaw(i)); + } + size += dataSize; + size += 1 * getArgumentsList().size(); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof scip.Scip.ToolInfo)) { + return super.equals(obj); + } + scip.Scip.ToolInfo other = (scip.Scip.ToolInfo) obj; + + if (!getName() + .equals(other.getName())) return false; + if (!getVersion() + .equals(other.getVersion())) return false; + if (!getArgumentsList() + .equals(other.getArgumentsList())) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) 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) + NAME_FIELD_NUMBER; + hash = (53 * hash) + getName().hashCode(); + hash = (37 * hash) + VERSION_FIELD_NUMBER; + hash = (53 * hash) + getVersion().hashCode(); + if (getArgumentsCount() > 0) { + hash = (37 * hash) + ARGUMENTS_FIELD_NUMBER; + hash = (53 * hash) + getArgumentsList().hashCode(); + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static scip.Scip.ToolInfo parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static scip.Scip.ToolInfo parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static scip.Scip.ToolInfo parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static scip.Scip.ToolInfo parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static scip.Scip.ToolInfo parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static scip.Scip.ToolInfo parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static scip.Scip.ToolInfo parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static scip.Scip.ToolInfo parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public static scip.Scip.ToolInfo parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input); + } + + public static scip.Scip.ToolInfo parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static scip.Scip.ToolInfo parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static scip.Scip.ToolInfo parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(scip.Scip.ToolInfo 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code scip.ToolInfo} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder implements + // @@protoc_insertion_point(builder_implements:scip.ToolInfo) + scip.Scip.ToolInfoOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return scip.Scip.internal_static_scip_ToolInfo_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return scip.Scip.internal_static_scip_ToolInfo_fieldAccessorTable + .ensureFieldAccessorsInitialized( + scip.Scip.ToolInfo.class, scip.Scip.ToolInfo.Builder.class); + } + + // Construct using scip.Scip.ToolInfo.newBuilder() + private Builder() { + + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + + } + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + name_ = ""; + version_ = ""; + arguments_ = + com.google.protobuf.LazyStringArrayList.emptyList(); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return scip.Scip.internal_static_scip_ToolInfo_descriptor; + } + + @java.lang.Override + public scip.Scip.ToolInfo getDefaultInstanceForType() { + return scip.Scip.ToolInfo.getDefaultInstance(); + } + + @java.lang.Override + public scip.Scip.ToolInfo build() { + scip.Scip.ToolInfo result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public scip.Scip.ToolInfo buildPartial() { + scip.Scip.ToolInfo result = new scip.Scip.ToolInfo(this); + if (bitField0_ != 0) { buildPartial0(result); } + onBuilt(); + return result; + } + + private void buildPartial0(scip.Scip.ToolInfo result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.name_ = name_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.version_ = version_; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + arguments_.makeImmutable(); + result.arguments_ = arguments_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof scip.Scip.ToolInfo) { + return mergeFrom((scip.Scip.ToolInfo)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(scip.Scip.ToolInfo other) { + if (other == scip.Scip.ToolInfo.getDefaultInstance()) return this; + if (!other.getName().isEmpty()) { + name_ = other.name_; + bitField0_ |= 0x00000001; + onChanged(); + } + if (!other.getVersion().isEmpty()) { + version_ = other.version_; + bitField0_ |= 0x00000002; + onChanged(); + } + if (!other.arguments_.isEmpty()) { + if (arguments_.isEmpty()) { + arguments_ = other.arguments_; + bitField0_ |= 0x00000004; + } else { + ensureArgumentsIsMutable(); + arguments_.addAll(other.arguments_); + } + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + 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 { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + name_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 18: { + version_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000002; + break; + } // case 18 + case 26: { + java.lang.String s = input.readStringRequireUtf8(); + ensureArgumentsIsMutable(); + arguments_.add(s); + break; + } // case 26 + default: { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + private int bitField0_; + + private java.lang.Object name_ = ""; + /** + *
+       * Name of the indexer that produced this index.
+       * 
+ * + * string name = 1 [json_name = "name"]; + * @return The name. + */ + public java.lang.String getName() { + java.lang.Object ref = name_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + name_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + *
+       * Name of the indexer that produced this index.
+       * 
+ * + * string name = 1 [json_name = "name"]; + * @return The bytes for name. + */ + public com.google.protobuf.ByteString + getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + *
+       * Name of the indexer that produced this index.
+       * 
+ * + * string name = 1 [json_name = "name"]; + * @param value The name to set. + * @return This builder for chaining. + */ + public Builder setName( + java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + name_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + /** + *
+       * Name of the indexer that produced this index.
+       * 
+ * + * string name = 1 [json_name = "name"]; + * @return This builder for chaining. + */ + public Builder clearName() { + name_ = getDefaultInstance().getName(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + /** + *
+       * Name of the indexer that produced this index.
+       * 
+ * + * string name = 1 [json_name = "name"]; + * @param value The bytes for name to set. + * @return This builder for chaining. + */ + public Builder setNameBytes( + com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + checkByteStringIsUtf8(value); + name_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private java.lang.Object version_ = ""; + /** + *
+       * Version of the indexer that produced this index.
+       * 
+ * + * string version = 2 [json_name = "version"]; + * @return The version. + */ + public java.lang.String getVersion() { + java.lang.Object ref = version_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + version_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + *
+       * Version of the indexer that produced this index.
+       * 
+ * + * string version = 2 [json_name = "version"]; + * @return The bytes for version. + */ + public com.google.protobuf.ByteString + getVersionBytes() { + java.lang.Object ref = version_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + version_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + *
+       * Version of the indexer that produced this index.
+       * 
+ * + * string version = 2 [json_name = "version"]; + * @param value The version to set. + * @return This builder for chaining. + */ + public Builder setVersion( + java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + version_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + /** + *
+       * Version of the indexer that produced this index.
+       * 
+ * + * string version = 2 [json_name = "version"]; + * @return This builder for chaining. + */ + public Builder clearVersion() { + version_ = getDefaultInstance().getVersion(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + /** + *
+       * Version of the indexer that produced this index.
+       * 
+ * + * string version = 2 [json_name = "version"]; + * @param value The bytes for version to set. + * @return This builder for chaining. + */ + public Builder setVersionBytes( + com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + checkByteStringIsUtf8(value); + version_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + private com.google.protobuf.LazyStringArrayList arguments_ = + com.google.protobuf.LazyStringArrayList.emptyList(); + private void ensureArgumentsIsMutable() { + if (!arguments_.isModifiable()) { + arguments_ = new com.google.protobuf.LazyStringArrayList(arguments_); + } + bitField0_ |= 0x00000004; + } + /** + *
+       * Command-line arguments that were used to invoke this indexer.
+       * 
+ * + * repeated string arguments = 3 [json_name = "arguments"]; + * @return A list containing the arguments. + */ + public com.google.protobuf.ProtocolStringList + getArgumentsList() { + arguments_.makeImmutable(); + return arguments_; + } + /** + *
+       * Command-line arguments that were used to invoke this indexer.
+       * 
+ * + * repeated string arguments = 3 [json_name = "arguments"]; + * @return The count of arguments. + */ + public int getArgumentsCount() { + return arguments_.size(); + } + /** + *
+       * Command-line arguments that were used to invoke this indexer.
+       * 
+ * + * repeated string arguments = 3 [json_name = "arguments"]; + * @param index The index of the element to return. + * @return The arguments at the given index. + */ + public java.lang.String getArguments(int index) { + return arguments_.get(index); + } + /** + *
+       * Command-line arguments that were used to invoke this indexer.
+       * 
+ * + * repeated string arguments = 3 [json_name = "arguments"]; + * @param index The index of the value to return. + * @return The bytes of the arguments at the given index. + */ + public com.google.protobuf.ByteString + getArgumentsBytes(int index) { + return arguments_.getByteString(index); + } + /** + *
+       * Command-line arguments that were used to invoke this indexer.
+       * 
+ * + * repeated string arguments = 3 [json_name = "arguments"]; + * @param index The index to set the value at. + * @param value The arguments to set. + * @return This builder for chaining. + */ + public Builder setArguments( + int index, java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + ensureArgumentsIsMutable(); + arguments_.set(index, value); + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + /** + *
+       * Command-line arguments that were used to invoke this indexer.
+       * 
+ * + * repeated string arguments = 3 [json_name = "arguments"]; + * @param value The arguments to add. + * @return This builder for chaining. + */ + public Builder addArguments( + java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + ensureArgumentsIsMutable(); + arguments_.add(value); + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + /** + *
+       * Command-line arguments that were used to invoke this indexer.
+       * 
+ * + * repeated string arguments = 3 [json_name = "arguments"]; + * @param values The arguments to add. + * @return This builder for chaining. + */ + public Builder addAllArguments( + java.lang.Iterable values) { + ensureArgumentsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, arguments_); + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + /** + *
+       * Command-line arguments that were used to invoke this indexer.
+       * 
+ * + * repeated string arguments = 3 [json_name = "arguments"]; + * @return This builder for chaining. + */ + public Builder clearArguments() { + arguments_ = + com.google.protobuf.LazyStringArrayList.emptyList(); + bitField0_ = (bitField0_ & ~0x00000004);; + onChanged(); + return this; + } + /** + *
+       * Command-line arguments that were used to invoke this indexer.
+       * 
+ * + * repeated string arguments = 3 [json_name = "arguments"]; + * @param value The bytes of the arguments to add. + * @return This builder for chaining. + */ + public Builder addArgumentsBytes( + com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + checkByteStringIsUtf8(value); + ensureArgumentsIsMutable(); + arguments_.add(value); + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:scip.ToolInfo) + } + + // @@protoc_insertion_point(class_scope:scip.ToolInfo) + private static final scip.Scip.ToolInfo DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new scip.Scip.ToolInfo(); + } + + public static scip.Scip.ToolInfo getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public ToolInfo parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public scip.Scip.ToolInfo getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface DocumentOrBuilder extends + // @@protoc_insertion_point(interface_extends:scip.Document) + com.google.protobuf.MessageOrBuilder { + + /** + *
+     * The string ID for the programming language this file is written in.
+     * The `Language` enum contains the names of most common programming languages.
+     * This field is typed as a string to permit any programming language, including
+     * ones that are not specified by the `Language` enum.
+     * 
+ * + * string language = 4 [json_name = "language"]; + * @return The language. + */ + java.lang.String getLanguage(); + /** + *
+     * The string ID for the programming language this file is written in.
+     * The `Language` enum contains the names of most common programming languages.
+     * This field is typed as a string to permit any programming language, including
+     * ones that are not specified by the `Language` enum.
+     * 
+ * + * string language = 4 [json_name = "language"]; + * @return The bytes for language. + */ + com.google.protobuf.ByteString + getLanguageBytes(); + + /** + *
+     * (Required) Unique path to the text document.
+     *
+     * 1. The path must be relative to the directory supplied in the associated
+     * `Metadata.project_root`.
+     * 2. The path must not begin with a leading '/'.
+     * 3. The path must point to a regular file, not a symbolic link.
+     * 4. The path must use '/' as the separator, including on Windows.
+     * 5. The path must be canonical; it cannot include empty components ('//'),
+     * or '.' or '..'.
+     * 
+ * + * string relative_path = 1 [json_name = "relativePath"]; + * @return The relativePath. + */ + java.lang.String getRelativePath(); + /** + *
+     * (Required) Unique path to the text document.
+     *
+     * 1. The path must be relative to the directory supplied in the associated
+     * `Metadata.project_root`.
+     * 2. The path must not begin with a leading '/'.
+     * 3. The path must point to a regular file, not a symbolic link.
+     * 4. The path must use '/' as the separator, including on Windows.
+     * 5. The path must be canonical; it cannot include empty components ('//'),
+     * or '.' or '..'.
+     * 
+ * + * string relative_path = 1 [json_name = "relativePath"]; + * @return The bytes for relativePath. + */ + com.google.protobuf.ByteString + getRelativePathBytes(); + + /** + *
+     * Occurrences that appear in this file.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + java.util.List + getOccurrencesList(); + /** + *
+     * Occurrences that appear in this file.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + scip.Scip.Occurrence getOccurrences(int index); + /** + *
+     * Occurrences that appear in this file.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + int getOccurrencesCount(); + /** + *
+     * Occurrences that appear in this file.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + java.util.List + getOccurrencesOrBuilderList(); + /** + *
+     * Occurrences that appear in this file.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + scip.Scip.OccurrenceOrBuilder getOccurrencesOrBuilder( + int index); + + /** + *
+     * Symbols that are "defined" within this document.
+     *
+     * This should include symbols which technically do not have any definition,
+     * but have a reference and are defined by some other symbol (see
+     * Relationship.is_definition).
+     * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + java.util.List + getSymbolsList(); + /** + *
+     * Symbols that are "defined" within this document.
+     *
+     * This should include symbols which technically do not have any definition,
+     * but have a reference and are defined by some other symbol (see
+     * Relationship.is_definition).
+     * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + scip.Scip.SymbolInformation getSymbols(int index); + /** + *
+     * Symbols that are "defined" within this document.
+     *
+     * This should include symbols which technically do not have any definition,
+     * but have a reference and are defined by some other symbol (see
+     * Relationship.is_definition).
+     * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + int getSymbolsCount(); + /** + *
+     * Symbols that are "defined" within this document.
+     *
+     * This should include symbols which technically do not have any definition,
+     * but have a reference and are defined by some other symbol (see
+     * Relationship.is_definition).
+     * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + java.util.List + getSymbolsOrBuilderList(); + /** + *
+     * Symbols that are "defined" within this document.
+     *
+     * This should include symbols which technically do not have any definition,
+     * but have a reference and are defined by some other symbol (see
+     * Relationship.is_definition).
+     * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + scip.Scip.SymbolInformationOrBuilder getSymbolsOrBuilder( + int index); + + /** + *
+     * (optional) Text contents of this document. Indexers are not expected to
+     * include the text by default. It's preferable that clients read the text
+     * contents from the file system by resolving the absolute path from joining
+     * `Index.metadata.project_root` and `Document.relative_path`. This field
+     * can be useful for testing or when working with virtual/in-memory documents.
+     * 
+ * + * string text = 5 [json_name = "text"]; + * @return The text. + */ + java.lang.String getText(); + /** + *
+     * (optional) Text contents of this document. Indexers are not expected to
+     * include the text by default. It's preferable that clients read the text
+     * contents from the file system by resolving the absolute path from joining
+     * `Index.metadata.project_root` and `Document.relative_path`. This field
+     * can be useful for testing or when working with virtual/in-memory documents.
+     * 
+ * + * string text = 5 [json_name = "text"]; + * @return The bytes for text. + */ + com.google.protobuf.ByteString + getTextBytes(); + + /** + *
+     * Specifies the encoding used for source ranges in this Document.
+     *
+     * Usually, this will match the type used to index the string type
+     * in the indexer's implementation language in O(1) time.
+     * - For an indexer implemented in JVM/.NET language or JavaScript/TypeScript,
+     * use UTF16CodeUnitOffsetFromLineStart.
+     * - For an indexer implemented in Python,
+     * use UTF32CodeUnitOffsetFromLineStart.
+     * - For an indexer implemented in Go, Rust or C++,
+     * use UTF8ByteOffsetFromLineStart.
+     * 
+ * + * .scip.PositionEncoding position_encoding = 6 [json_name = "positionEncoding"]; + * @return The enum numeric value on the wire for positionEncoding. + */ + int getPositionEncodingValue(); + /** + *
+     * Specifies the encoding used for source ranges in this Document.
+     *
+     * Usually, this will match the type used to index the string type
+     * in the indexer's implementation language in O(1) time.
+     * - For an indexer implemented in JVM/.NET language or JavaScript/TypeScript,
+     * use UTF16CodeUnitOffsetFromLineStart.
+     * - For an indexer implemented in Python,
+     * use UTF32CodeUnitOffsetFromLineStart.
+     * - For an indexer implemented in Go, Rust or C++,
+     * use UTF8ByteOffsetFromLineStart.
+     * 
+ * + * .scip.PositionEncoding position_encoding = 6 [json_name = "positionEncoding"]; + * @return The positionEncoding. + */ + scip.Scip.PositionEncoding getPositionEncoding(); + } + /** + *
+   * Document defines the metadata about a source file on disk.
+   * 
+ * + * Protobuf type {@code scip.Document} + */ + public static final class Document extends + com.google.protobuf.GeneratedMessage implements + // @@protoc_insertion_point(message_implements:scip.Document) + DocumentOrBuilder { + private static final long serialVersionUID = 0L; + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 32, + /* patch= */ 1, + /* suffix= */ "", + Document.class.getName()); + } + // Use Document.newBuilder() to construct. + private Document(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + private Document() { + language_ = ""; + relativePath_ = ""; + occurrences_ = java.util.Collections.emptyList(); + symbols_ = java.util.Collections.emptyList(); + text_ = ""; + positionEncoding_ = 0; + } + + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return scip.Scip.internal_static_scip_Document_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return scip.Scip.internal_static_scip_Document_fieldAccessorTable + .ensureFieldAccessorsInitialized( + scip.Scip.Document.class, scip.Scip.Document.Builder.class); + } + + public static final int LANGUAGE_FIELD_NUMBER = 4; + @SuppressWarnings("serial") + private volatile java.lang.Object language_ = ""; + /** + *
+     * The string ID for the programming language this file is written in.
+     * The `Language` enum contains the names of most common programming languages.
+     * This field is typed as a string to permit any programming language, including
+     * ones that are not specified by the `Language` enum.
+     * 
+ * + * string language = 4 [json_name = "language"]; + * @return The language. + */ + @java.lang.Override + public java.lang.String getLanguage() { + java.lang.Object ref = language_; + 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(); + language_ = s; + return s; + } + } + /** + *
+     * The string ID for the programming language this file is written in.
+     * The `Language` enum contains the names of most common programming languages.
+     * This field is typed as a string to permit any programming language, including
+     * ones that are not specified by the `Language` enum.
+     * 
+ * + * string language = 4 [json_name = "language"]; + * @return The bytes for language. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getLanguageBytes() { + java.lang.Object ref = language_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + language_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int RELATIVE_PATH_FIELD_NUMBER = 1; + @SuppressWarnings("serial") + private volatile java.lang.Object relativePath_ = ""; + /** + *
+     * (Required) Unique path to the text document.
+     *
+     * 1. The path must be relative to the directory supplied in the associated
+     * `Metadata.project_root`.
+     * 2. The path must not begin with a leading '/'.
+     * 3. The path must point to a regular file, not a symbolic link.
+     * 4. The path must use '/' as the separator, including on Windows.
+     * 5. The path must be canonical; it cannot include empty components ('//'),
+     * or '.' or '..'.
+     * 
+ * + * string relative_path = 1 [json_name = "relativePath"]; + * @return The relativePath. + */ + @java.lang.Override + public java.lang.String getRelativePath() { + java.lang.Object ref = relativePath_; + 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(); + relativePath_ = s; + return s; + } + } + /** + *
+     * (Required) Unique path to the text document.
+     *
+     * 1. The path must be relative to the directory supplied in the associated
+     * `Metadata.project_root`.
+     * 2. The path must not begin with a leading '/'.
+     * 3. The path must point to a regular file, not a symbolic link.
+     * 4. The path must use '/' as the separator, including on Windows.
+     * 5. The path must be canonical; it cannot include empty components ('//'),
+     * or '.' or '..'.
+     * 
+ * + * string relative_path = 1 [json_name = "relativePath"]; + * @return The bytes for relativePath. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getRelativePathBytes() { + java.lang.Object ref = relativePath_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + relativePath_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int OCCURRENCES_FIELD_NUMBER = 2; + @SuppressWarnings("serial") + private java.util.List occurrences_; + /** + *
+     * Occurrences that appear in this file.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + @java.lang.Override + public java.util.List getOccurrencesList() { + return occurrences_; + } + /** + *
+     * Occurrences that appear in this file.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + @java.lang.Override + public java.util.List + getOccurrencesOrBuilderList() { + return occurrences_; + } + /** + *
+     * Occurrences that appear in this file.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + @java.lang.Override + public int getOccurrencesCount() { + return occurrences_.size(); + } + /** + *
+     * Occurrences that appear in this file.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + @java.lang.Override + public scip.Scip.Occurrence getOccurrences(int index) { + return occurrences_.get(index); + } + /** + *
+     * Occurrences that appear in this file.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + @java.lang.Override + public scip.Scip.OccurrenceOrBuilder getOccurrencesOrBuilder( + int index) { + return occurrences_.get(index); + } + + public static final int SYMBOLS_FIELD_NUMBER = 3; + @SuppressWarnings("serial") + private java.util.List symbols_; + /** + *
+     * Symbols that are "defined" within this document.
+     *
+     * This should include symbols which technically do not have any definition,
+     * but have a reference and are defined by some other symbol (see
+     * Relationship.is_definition).
+     * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + @java.lang.Override + public java.util.List getSymbolsList() { + return symbols_; + } + /** + *
+     * Symbols that are "defined" within this document.
+     *
+     * This should include symbols which technically do not have any definition,
+     * but have a reference and are defined by some other symbol (see
+     * Relationship.is_definition).
+     * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + @java.lang.Override + public java.util.List + getSymbolsOrBuilderList() { + return symbols_; + } + /** + *
+     * Symbols that are "defined" within this document.
+     *
+     * This should include symbols which technically do not have any definition,
+     * but have a reference and are defined by some other symbol (see
+     * Relationship.is_definition).
+     * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + @java.lang.Override + public int getSymbolsCount() { + return symbols_.size(); + } + /** + *
+     * Symbols that are "defined" within this document.
+     *
+     * This should include symbols which technically do not have any definition,
+     * but have a reference and are defined by some other symbol (see
+     * Relationship.is_definition).
+     * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + @java.lang.Override + public scip.Scip.SymbolInformation getSymbols(int index) { + return symbols_.get(index); + } + /** + *
+     * Symbols that are "defined" within this document.
+     *
+     * This should include symbols which technically do not have any definition,
+     * but have a reference and are defined by some other symbol (see
+     * Relationship.is_definition).
+     * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + @java.lang.Override + public scip.Scip.SymbolInformationOrBuilder getSymbolsOrBuilder( + int index) { + return symbols_.get(index); + } + + public static final int TEXT_FIELD_NUMBER = 5; + @SuppressWarnings("serial") + private volatile java.lang.Object text_ = ""; + /** + *
+     * (optional) Text contents of this document. Indexers are not expected to
+     * include the text by default. It's preferable that clients read the text
+     * contents from the file system by resolving the absolute path from joining
+     * `Index.metadata.project_root` and `Document.relative_path`. This field
+     * can be useful for testing or when working with virtual/in-memory documents.
+     * 
+ * + * string text = 5 [json_name = "text"]; + * @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; + } + } + /** + *
+     * (optional) Text contents of this document. Indexers are not expected to
+     * include the text by default. It's preferable that clients read the text
+     * contents from the file system by resolving the absolute path from joining
+     * `Index.metadata.project_root` and `Document.relative_path`. This field
+     * can be useful for testing or when working with virtual/in-memory documents.
+     * 
+ * + * string text = 5 [json_name = "text"]; + * @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 POSITION_ENCODING_FIELD_NUMBER = 6; + private int positionEncoding_ = 0; + /** + *
+     * Specifies the encoding used for source ranges in this Document.
+     *
+     * Usually, this will match the type used to index the string type
+     * in the indexer's implementation language in O(1) time.
+     * - For an indexer implemented in JVM/.NET language or JavaScript/TypeScript,
+     * use UTF16CodeUnitOffsetFromLineStart.
+     * - For an indexer implemented in Python,
+     * use UTF32CodeUnitOffsetFromLineStart.
+     * - For an indexer implemented in Go, Rust or C++,
+     * use UTF8ByteOffsetFromLineStart.
+     * 
+ * + * .scip.PositionEncoding position_encoding = 6 [json_name = "positionEncoding"]; + * @return The enum numeric value on the wire for positionEncoding. + */ + @java.lang.Override public int getPositionEncodingValue() { + return positionEncoding_; + } + /** + *
+     * Specifies the encoding used for source ranges in this Document.
+     *
+     * Usually, this will match the type used to index the string type
+     * in the indexer's implementation language in O(1) time.
+     * - For an indexer implemented in JVM/.NET language or JavaScript/TypeScript,
+     * use UTF16CodeUnitOffsetFromLineStart.
+     * - For an indexer implemented in Python,
+     * use UTF32CodeUnitOffsetFromLineStart.
+     * - For an indexer implemented in Go, Rust or C++,
+     * use UTF8ByteOffsetFromLineStart.
+     * 
+ * + * .scip.PositionEncoding position_encoding = 6 [json_name = "positionEncoding"]; + * @return The positionEncoding. + */ + @java.lang.Override public scip.Scip.PositionEncoding getPositionEncoding() { + scip.Scip.PositionEncoding result = scip.Scip.PositionEncoding.forNumber(positionEncoding_); + return result == null ? scip.Scip.PositionEncoding.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 (!com.google.protobuf.GeneratedMessage.isStringEmpty(relativePath_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, relativePath_); + } + for (int i = 0; i < occurrences_.size(); i++) { + output.writeMessage(2, occurrences_.get(i)); + } + for (int i = 0; i < symbols_.size(); i++) { + output.writeMessage(3, symbols_.get(i)); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(language_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 4, language_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(text_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 5, text_); + } + if (positionEncoding_ != scip.Scip.PositionEncoding.UnspecifiedPositionEncoding.getNumber()) { + output.writeEnum(6, positionEncoding_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(relativePath_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, relativePath_); + } + for (int i = 0; i < occurrences_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(2, occurrences_.get(i)); + } + for (int i = 0; i < symbols_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(3, symbols_.get(i)); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(language_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(4, language_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(text_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(5, text_); + } + if (positionEncoding_ != scip.Scip.PositionEncoding.UnspecifiedPositionEncoding.getNumber()) { + size += com.google.protobuf.CodedOutputStream + .computeEnumSize(6, positionEncoding_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof scip.Scip.Document)) { + return super.equals(obj); + } + scip.Scip.Document other = (scip.Scip.Document) obj; + + if (!getLanguage() + .equals(other.getLanguage())) return false; + if (!getRelativePath() + .equals(other.getRelativePath())) return false; + if (!getOccurrencesList() + .equals(other.getOccurrencesList())) return false; + if (!getSymbolsList() + .equals(other.getSymbolsList())) return false; + if (!getText() + .equals(other.getText())) return false; + if (positionEncoding_ != other.positionEncoding_) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) 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) + LANGUAGE_FIELD_NUMBER; + hash = (53 * hash) + getLanguage().hashCode(); + hash = (37 * hash) + RELATIVE_PATH_FIELD_NUMBER; + hash = (53 * hash) + getRelativePath().hashCode(); + if (getOccurrencesCount() > 0) { + hash = (37 * hash) + OCCURRENCES_FIELD_NUMBER; + hash = (53 * hash) + getOccurrencesList().hashCode(); + } + if (getSymbolsCount() > 0) { + hash = (37 * hash) + SYMBOLS_FIELD_NUMBER; + hash = (53 * hash) + getSymbolsList().hashCode(); + } + hash = (37 * hash) + TEXT_FIELD_NUMBER; + hash = (53 * hash) + getText().hashCode(); + hash = (37 * hash) + POSITION_ENCODING_FIELD_NUMBER; + hash = (53 * hash) + positionEncoding_; + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static scip.Scip.Document parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static scip.Scip.Document parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static scip.Scip.Document parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static scip.Scip.Document parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static scip.Scip.Document parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static scip.Scip.Document parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static scip.Scip.Document parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static scip.Scip.Document parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public static scip.Scip.Document parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input); + } + + public static scip.Scip.Document parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static scip.Scip.Document parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static scip.Scip.Document parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(scip.Scip.Document 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + *
+     * Document defines the metadata about a source file on disk.
+     * 
+ * + * Protobuf type {@code scip.Document} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder implements + // @@protoc_insertion_point(builder_implements:scip.Document) + scip.Scip.DocumentOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return scip.Scip.internal_static_scip_Document_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return scip.Scip.internal_static_scip_Document_fieldAccessorTable + .ensureFieldAccessorsInitialized( + scip.Scip.Document.class, scip.Scip.Document.Builder.class); + } + + // Construct using scip.Scip.Document.newBuilder() + private Builder() { + + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + + } + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + language_ = ""; + relativePath_ = ""; + if (occurrencesBuilder_ == null) { + occurrences_ = java.util.Collections.emptyList(); + } else { + occurrences_ = null; + occurrencesBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000004); + if (symbolsBuilder_ == null) { + symbols_ = java.util.Collections.emptyList(); + } else { + symbols_ = null; + symbolsBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000008); + text_ = ""; + positionEncoding_ = 0; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return scip.Scip.internal_static_scip_Document_descriptor; + } + + @java.lang.Override + public scip.Scip.Document getDefaultInstanceForType() { + return scip.Scip.Document.getDefaultInstance(); + } + + @java.lang.Override + public scip.Scip.Document build() { + scip.Scip.Document result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public scip.Scip.Document buildPartial() { + scip.Scip.Document result = new scip.Scip.Document(this); + buildPartialRepeatedFields(result); + if (bitField0_ != 0) { buildPartial0(result); } + onBuilt(); + return result; + } + + private void buildPartialRepeatedFields(scip.Scip.Document result) { + if (occurrencesBuilder_ == null) { + if (((bitField0_ & 0x00000004) != 0)) { + occurrences_ = java.util.Collections.unmodifiableList(occurrences_); + bitField0_ = (bitField0_ & ~0x00000004); + } + result.occurrences_ = occurrences_; + } else { + result.occurrences_ = occurrencesBuilder_.build(); + } + if (symbolsBuilder_ == null) { + if (((bitField0_ & 0x00000008) != 0)) { + symbols_ = java.util.Collections.unmodifiableList(symbols_); + bitField0_ = (bitField0_ & ~0x00000008); + } + result.symbols_ = symbols_; + } else { + result.symbols_ = symbolsBuilder_.build(); + } + } + + private void buildPartial0(scip.Scip.Document result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.language_ = language_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.relativePath_ = relativePath_; + } + if (((from_bitField0_ & 0x00000010) != 0)) { + result.text_ = text_; + } + if (((from_bitField0_ & 0x00000020) != 0)) { + result.positionEncoding_ = positionEncoding_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof scip.Scip.Document) { + return mergeFrom((scip.Scip.Document)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(scip.Scip.Document other) { + if (other == scip.Scip.Document.getDefaultInstance()) return this; + if (!other.getLanguage().isEmpty()) { + language_ = other.language_; + bitField0_ |= 0x00000001; + onChanged(); + } + if (!other.getRelativePath().isEmpty()) { + relativePath_ = other.relativePath_; + bitField0_ |= 0x00000002; + onChanged(); + } + if (occurrencesBuilder_ == null) { + if (!other.occurrences_.isEmpty()) { + if (occurrences_.isEmpty()) { + occurrences_ = other.occurrences_; + bitField0_ = (bitField0_ & ~0x00000004); + } else { + ensureOccurrencesIsMutable(); + occurrences_.addAll(other.occurrences_); + } + onChanged(); + } + } else { + if (!other.occurrences_.isEmpty()) { + if (occurrencesBuilder_.isEmpty()) { + occurrencesBuilder_.dispose(); + occurrencesBuilder_ = null; + occurrences_ = other.occurrences_; + bitField0_ = (bitField0_ & ~0x00000004); + occurrencesBuilder_ = + com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ? + internalGetOccurrencesFieldBuilder() : null; + } else { + occurrencesBuilder_.addAllMessages(other.occurrences_); + } + } + } + if (symbolsBuilder_ == null) { + if (!other.symbols_.isEmpty()) { + if (symbols_.isEmpty()) { + symbols_ = other.symbols_; + bitField0_ = (bitField0_ & ~0x00000008); + } else { + ensureSymbolsIsMutable(); + symbols_.addAll(other.symbols_); + } + onChanged(); + } + } else { + if (!other.symbols_.isEmpty()) { + if (symbolsBuilder_.isEmpty()) { + symbolsBuilder_.dispose(); + symbolsBuilder_ = null; + symbols_ = other.symbols_; + bitField0_ = (bitField0_ & ~0x00000008); + symbolsBuilder_ = + com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ? + internalGetSymbolsFieldBuilder() : null; + } else { + symbolsBuilder_.addAllMessages(other.symbols_); + } + } + } + if (!other.getText().isEmpty()) { + text_ = other.text_; + bitField0_ |= 0x00000010; + onChanged(); + } + if (other.positionEncoding_ != 0) { + setPositionEncodingValue(other.getPositionEncodingValue()); + } + this.mergeUnknownFields(other.getUnknownFields()); + 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 { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + relativePath_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000002; + break; + } // case 10 + case 18: { + scip.Scip.Occurrence m = + input.readMessage( + scip.Scip.Occurrence.parser(), + extensionRegistry); + if (occurrencesBuilder_ == null) { + ensureOccurrencesIsMutable(); + occurrences_.add(m); + } else { + occurrencesBuilder_.addMessage(m); + } + break; + } // case 18 + case 26: { + scip.Scip.SymbolInformation m = + input.readMessage( + scip.Scip.SymbolInformation.parser(), + extensionRegistry); + if (symbolsBuilder_ == null) { + ensureSymbolsIsMutable(); + symbols_.add(m); + } else { + symbolsBuilder_.addMessage(m); + } + break; + } // case 26 + case 34: { + language_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 34 + case 42: { + text_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000010; + break; + } // case 42 + case 48: { + positionEncoding_ = input.readEnum(); + bitField0_ |= 0x00000020; + break; + } // case 48 + default: { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + private int bitField0_; + + private java.lang.Object language_ = ""; + /** + *
+       * The string ID for the programming language this file is written in.
+       * The `Language` enum contains the names of most common programming languages.
+       * This field is typed as a string to permit any programming language, including
+       * ones that are not specified by the `Language` enum.
+       * 
+ * + * string language = 4 [json_name = "language"]; + * @return The language. + */ + public java.lang.String getLanguage() { + java.lang.Object ref = language_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + language_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + *
+       * The string ID for the programming language this file is written in.
+       * The `Language` enum contains the names of most common programming languages.
+       * This field is typed as a string to permit any programming language, including
+       * ones that are not specified by the `Language` enum.
+       * 
+ * + * string language = 4 [json_name = "language"]; + * @return The bytes for language. + */ + public com.google.protobuf.ByteString + getLanguageBytes() { + java.lang.Object ref = language_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + language_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + *
+       * The string ID for the programming language this file is written in.
+       * The `Language` enum contains the names of most common programming languages.
+       * This field is typed as a string to permit any programming language, including
+       * ones that are not specified by the `Language` enum.
+       * 
+ * + * string language = 4 [json_name = "language"]; + * @param value The language to set. + * @return This builder for chaining. + */ + public Builder setLanguage( + java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + language_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + /** + *
+       * The string ID for the programming language this file is written in.
+       * The `Language` enum contains the names of most common programming languages.
+       * This field is typed as a string to permit any programming language, including
+       * ones that are not specified by the `Language` enum.
+       * 
+ * + * string language = 4 [json_name = "language"]; + * @return This builder for chaining. + */ + public Builder clearLanguage() { + language_ = getDefaultInstance().getLanguage(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + /** + *
+       * The string ID for the programming language this file is written in.
+       * The `Language` enum contains the names of most common programming languages.
+       * This field is typed as a string to permit any programming language, including
+       * ones that are not specified by the `Language` enum.
+       * 
+ * + * string language = 4 [json_name = "language"]; + * @param value The bytes for language to set. + * @return This builder for chaining. + */ + public Builder setLanguageBytes( + com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + checkByteStringIsUtf8(value); + language_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private java.lang.Object relativePath_ = ""; + /** + *
+       * (Required) Unique path to the text document.
+       *
+       * 1. The path must be relative to the directory supplied in the associated
+       * `Metadata.project_root`.
+       * 2. The path must not begin with a leading '/'.
+       * 3. The path must point to a regular file, not a symbolic link.
+       * 4. The path must use '/' as the separator, including on Windows.
+       * 5. The path must be canonical; it cannot include empty components ('//'),
+       * or '.' or '..'.
+       * 
+ * + * string relative_path = 1 [json_name = "relativePath"]; + * @return The relativePath. + */ + public java.lang.String getRelativePath() { + java.lang.Object ref = relativePath_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + relativePath_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + *
+       * (Required) Unique path to the text document.
+       *
+       * 1. The path must be relative to the directory supplied in the associated
+       * `Metadata.project_root`.
+       * 2. The path must not begin with a leading '/'.
+       * 3. The path must point to a regular file, not a symbolic link.
+       * 4. The path must use '/' as the separator, including on Windows.
+       * 5. The path must be canonical; it cannot include empty components ('//'),
+       * or '.' or '..'.
+       * 
+ * + * string relative_path = 1 [json_name = "relativePath"]; + * @return The bytes for relativePath. + */ + public com.google.protobuf.ByteString + getRelativePathBytes() { + java.lang.Object ref = relativePath_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + relativePath_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + *
+       * (Required) Unique path to the text document.
+       *
+       * 1. The path must be relative to the directory supplied in the associated
+       * `Metadata.project_root`.
+       * 2. The path must not begin with a leading '/'.
+       * 3. The path must point to a regular file, not a symbolic link.
+       * 4. The path must use '/' as the separator, including on Windows.
+       * 5. The path must be canonical; it cannot include empty components ('//'),
+       * or '.' or '..'.
+       * 
+ * + * string relative_path = 1 [json_name = "relativePath"]; + * @param value The relativePath to set. + * @return This builder for chaining. + */ + public Builder setRelativePath( + java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + relativePath_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + /** + *
+       * (Required) Unique path to the text document.
+       *
+       * 1. The path must be relative to the directory supplied in the associated
+       * `Metadata.project_root`.
+       * 2. The path must not begin with a leading '/'.
+       * 3. The path must point to a regular file, not a symbolic link.
+       * 4. The path must use '/' as the separator, including on Windows.
+       * 5. The path must be canonical; it cannot include empty components ('//'),
+       * or '.' or '..'.
+       * 
+ * + * string relative_path = 1 [json_name = "relativePath"]; + * @return This builder for chaining. + */ + public Builder clearRelativePath() { + relativePath_ = getDefaultInstance().getRelativePath(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + /** + *
+       * (Required) Unique path to the text document.
+       *
+       * 1. The path must be relative to the directory supplied in the associated
+       * `Metadata.project_root`.
+       * 2. The path must not begin with a leading '/'.
+       * 3. The path must point to a regular file, not a symbolic link.
+       * 4. The path must use '/' as the separator, including on Windows.
+       * 5. The path must be canonical; it cannot include empty components ('//'),
+       * or '.' or '..'.
+       * 
+ * + * string relative_path = 1 [json_name = "relativePath"]; + * @param value The bytes for relativePath to set. + * @return This builder for chaining. + */ + public Builder setRelativePathBytes( + com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + checkByteStringIsUtf8(value); + relativePath_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + private java.util.List occurrences_ = + java.util.Collections.emptyList(); + private void ensureOccurrencesIsMutable() { + if (!((bitField0_ & 0x00000004) != 0)) { + occurrences_ = new java.util.ArrayList(occurrences_); + bitField0_ |= 0x00000004; + } + } + + private com.google.protobuf.RepeatedFieldBuilder< + scip.Scip.Occurrence, scip.Scip.Occurrence.Builder, scip.Scip.OccurrenceOrBuilder> occurrencesBuilder_; + + /** + *
+       * Occurrences that appear in this file.
+       * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public java.util.List getOccurrencesList() { + if (occurrencesBuilder_ == null) { + return java.util.Collections.unmodifiableList(occurrences_); + } else { + return occurrencesBuilder_.getMessageList(); + } + } + /** + *
+       * Occurrences that appear in this file.
+       * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public int getOccurrencesCount() { + if (occurrencesBuilder_ == null) { + return occurrences_.size(); + } else { + return occurrencesBuilder_.getCount(); + } + } + /** + *
+       * Occurrences that appear in this file.
+       * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public scip.Scip.Occurrence getOccurrences(int index) { + if (occurrencesBuilder_ == null) { + return occurrences_.get(index); + } else { + return occurrencesBuilder_.getMessage(index); + } + } + /** + *
+       * Occurrences that appear in this file.
+       * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public Builder setOccurrences( + int index, scip.Scip.Occurrence value) { + if (occurrencesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureOccurrencesIsMutable(); + occurrences_.set(index, value); + onChanged(); + } else { + occurrencesBuilder_.setMessage(index, value); + } + return this; + } + /** + *
+       * Occurrences that appear in this file.
+       * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public Builder setOccurrences( + int index, scip.Scip.Occurrence.Builder builderForValue) { + if (occurrencesBuilder_ == null) { + ensureOccurrencesIsMutable(); + occurrences_.set(index, builderForValue.build()); + onChanged(); + } else { + occurrencesBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + *
+       * Occurrences that appear in this file.
+       * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public Builder addOccurrences(scip.Scip.Occurrence value) { + if (occurrencesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureOccurrencesIsMutable(); + occurrences_.add(value); + onChanged(); + } else { + occurrencesBuilder_.addMessage(value); + } + return this; + } + /** + *
+       * Occurrences that appear in this file.
+       * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public Builder addOccurrences( + int index, scip.Scip.Occurrence value) { + if (occurrencesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureOccurrencesIsMutable(); + occurrences_.add(index, value); + onChanged(); + } else { + occurrencesBuilder_.addMessage(index, value); + } + return this; + } + /** + *
+       * Occurrences that appear in this file.
+       * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public Builder addOccurrences( + scip.Scip.Occurrence.Builder builderForValue) { + if (occurrencesBuilder_ == null) { + ensureOccurrencesIsMutable(); + occurrences_.add(builderForValue.build()); + onChanged(); + } else { + occurrencesBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + *
+       * Occurrences that appear in this file.
+       * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public Builder addOccurrences( + int index, scip.Scip.Occurrence.Builder builderForValue) { + if (occurrencesBuilder_ == null) { + ensureOccurrencesIsMutable(); + occurrences_.add(index, builderForValue.build()); + onChanged(); + } else { + occurrencesBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + *
+       * Occurrences that appear in this file.
+       * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + 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; + } + /** + *
+       * Occurrences that appear in this file.
+       * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public Builder clearOccurrences() { + if (occurrencesBuilder_ == null) { + occurrences_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000004); + onChanged(); + } else { + occurrencesBuilder_.clear(); + } + return this; + } + /** + *
+       * Occurrences that appear in this file.
+       * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public Builder removeOccurrences(int index) { + if (occurrencesBuilder_ == null) { + ensureOccurrencesIsMutable(); + occurrences_.remove(index); + onChanged(); + } else { + occurrencesBuilder_.remove(index); + } + return this; + } + /** + *
+       * Occurrences that appear in this file.
+       * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public scip.Scip.Occurrence.Builder getOccurrencesBuilder( + int index) { + return internalGetOccurrencesFieldBuilder().getBuilder(index); + } + /** + *
+       * Occurrences that appear in this file.
+       * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public scip.Scip.OccurrenceOrBuilder getOccurrencesOrBuilder( + int index) { + if (occurrencesBuilder_ == null) { + return occurrences_.get(index); } else { + return occurrencesBuilder_.getMessageOrBuilder(index); + } + } + /** + *
+       * Occurrences that appear in this file.
+       * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public java.util.List + getOccurrencesOrBuilderList() { + if (occurrencesBuilder_ != null) { + return occurrencesBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(occurrences_); + } + } + /** + *
+       * Occurrences that appear in this file.
+       * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public scip.Scip.Occurrence.Builder addOccurrencesBuilder() { + return internalGetOccurrencesFieldBuilder().addBuilder( + scip.Scip.Occurrence.getDefaultInstance()); + } + /** + *
+       * Occurrences that appear in this file.
+       * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public scip.Scip.Occurrence.Builder addOccurrencesBuilder( + int index) { + return internalGetOccurrencesFieldBuilder().addBuilder( + index, scip.Scip.Occurrence.getDefaultInstance()); + } + /** + *
+       * Occurrences that appear in this file.
+       * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public java.util.List + getOccurrencesBuilderList() { + return internalGetOccurrencesFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilder< + scip.Scip.Occurrence, scip.Scip.Occurrence.Builder, scip.Scip.OccurrenceOrBuilder> + internalGetOccurrencesFieldBuilder() { + if (occurrencesBuilder_ == null) { + occurrencesBuilder_ = new com.google.protobuf.RepeatedFieldBuilder< + scip.Scip.Occurrence, scip.Scip.Occurrence.Builder, scip.Scip.OccurrenceOrBuilder>( + occurrences_, + ((bitField0_ & 0x00000004) != 0), + getParentForChildren(), + isClean()); + occurrences_ = null; + } + return occurrencesBuilder_; + } + + private java.util.List symbols_ = + java.util.Collections.emptyList(); + private void ensureSymbolsIsMutable() { + if (!((bitField0_ & 0x00000008) != 0)) { + symbols_ = new java.util.ArrayList(symbols_); + bitField0_ |= 0x00000008; + } + } + + private com.google.protobuf.RepeatedFieldBuilder< + scip.Scip.SymbolInformation, scip.Scip.SymbolInformation.Builder, scip.Scip.SymbolInformationOrBuilder> symbolsBuilder_; + + /** + *
+       * Symbols that are "defined" within this document.
+       *
+       * This should include symbols which technically do not have any definition,
+       * but have a reference and are defined by some other symbol (see
+       * Relationship.is_definition).
+       * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + public java.util.List getSymbolsList() { + if (symbolsBuilder_ == null) { + return java.util.Collections.unmodifiableList(symbols_); + } else { + return symbolsBuilder_.getMessageList(); + } + } + /** + *
+       * Symbols that are "defined" within this document.
+       *
+       * This should include symbols which technically do not have any definition,
+       * but have a reference and are defined by some other symbol (see
+       * Relationship.is_definition).
+       * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + public int getSymbolsCount() { + if (symbolsBuilder_ == null) { + return symbols_.size(); + } else { + return symbolsBuilder_.getCount(); + } + } + /** + *
+       * Symbols that are "defined" within this document.
+       *
+       * This should include symbols which technically do not have any definition,
+       * but have a reference and are defined by some other symbol (see
+       * Relationship.is_definition).
+       * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + public scip.Scip.SymbolInformation getSymbols(int index) { + if (symbolsBuilder_ == null) { + return symbols_.get(index); + } else { + return symbolsBuilder_.getMessage(index); + } + } + /** + *
+       * Symbols that are "defined" within this document.
+       *
+       * This should include symbols which technically do not have any definition,
+       * but have a reference and are defined by some other symbol (see
+       * Relationship.is_definition).
+       * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + public Builder setSymbols( + int index, scip.Scip.SymbolInformation value) { + if (symbolsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureSymbolsIsMutable(); + symbols_.set(index, value); + onChanged(); + } else { + symbolsBuilder_.setMessage(index, value); + } + return this; + } + /** + *
+       * Symbols that are "defined" within this document.
+       *
+       * This should include symbols which technically do not have any definition,
+       * but have a reference and are defined by some other symbol (see
+       * Relationship.is_definition).
+       * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + public Builder setSymbols( + int index, scip.Scip.SymbolInformation.Builder builderForValue) { + if (symbolsBuilder_ == null) { + ensureSymbolsIsMutable(); + symbols_.set(index, builderForValue.build()); + onChanged(); + } else { + symbolsBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + *
+       * Symbols that are "defined" within this document.
+       *
+       * This should include symbols which technically do not have any definition,
+       * but have a reference and are defined by some other symbol (see
+       * Relationship.is_definition).
+       * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + public Builder addSymbols(scip.Scip.SymbolInformation value) { + if (symbolsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureSymbolsIsMutable(); + symbols_.add(value); + onChanged(); + } else { + symbolsBuilder_.addMessage(value); + } + return this; + } + /** + *
+       * Symbols that are "defined" within this document.
+       *
+       * This should include symbols which technically do not have any definition,
+       * but have a reference and are defined by some other symbol (see
+       * Relationship.is_definition).
+       * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + public Builder addSymbols( + int index, scip.Scip.SymbolInformation value) { + if (symbolsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureSymbolsIsMutable(); + symbols_.add(index, value); + onChanged(); + } else { + symbolsBuilder_.addMessage(index, value); + } + return this; + } + /** + *
+       * Symbols that are "defined" within this document.
+       *
+       * This should include symbols which technically do not have any definition,
+       * but have a reference and are defined by some other symbol (see
+       * Relationship.is_definition).
+       * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + public Builder addSymbols( + scip.Scip.SymbolInformation.Builder builderForValue) { + if (symbolsBuilder_ == null) { + ensureSymbolsIsMutable(); + symbols_.add(builderForValue.build()); + onChanged(); + } else { + symbolsBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + *
+       * Symbols that are "defined" within this document.
+       *
+       * This should include symbols which technically do not have any definition,
+       * but have a reference and are defined by some other symbol (see
+       * Relationship.is_definition).
+       * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + public Builder addSymbols( + int index, scip.Scip.SymbolInformation.Builder builderForValue) { + if (symbolsBuilder_ == null) { + ensureSymbolsIsMutable(); + symbols_.add(index, builderForValue.build()); + onChanged(); + } else { + symbolsBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + *
+       * Symbols that are "defined" within this document.
+       *
+       * This should include symbols which technically do not have any definition,
+       * but have a reference and are defined by some other symbol (see
+       * Relationship.is_definition).
+       * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + 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; + } + /** + *
+       * Symbols that are "defined" within this document.
+       *
+       * This should include symbols which technically do not have any definition,
+       * but have a reference and are defined by some other symbol (see
+       * Relationship.is_definition).
+       * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + public Builder clearSymbols() { + if (symbolsBuilder_ == null) { + symbols_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000008); + onChanged(); + } else { + symbolsBuilder_.clear(); + } + return this; + } + /** + *
+       * Symbols that are "defined" within this document.
+       *
+       * This should include symbols which technically do not have any definition,
+       * but have a reference and are defined by some other symbol (see
+       * Relationship.is_definition).
+       * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + public Builder removeSymbols(int index) { + if (symbolsBuilder_ == null) { + ensureSymbolsIsMutable(); + symbols_.remove(index); + onChanged(); + } else { + symbolsBuilder_.remove(index); + } + return this; + } + /** + *
+       * Symbols that are "defined" within this document.
+       *
+       * This should include symbols which technically do not have any definition,
+       * but have a reference and are defined by some other symbol (see
+       * Relationship.is_definition).
+       * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + public scip.Scip.SymbolInformation.Builder getSymbolsBuilder( + int index) { + return internalGetSymbolsFieldBuilder().getBuilder(index); + } + /** + *
+       * Symbols that are "defined" within this document.
+       *
+       * This should include symbols which technically do not have any definition,
+       * but have a reference and are defined by some other symbol (see
+       * Relationship.is_definition).
+       * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + public scip.Scip.SymbolInformationOrBuilder getSymbolsOrBuilder( + int index) { + if (symbolsBuilder_ == null) { + return symbols_.get(index); } else { + return symbolsBuilder_.getMessageOrBuilder(index); + } + } + /** + *
+       * Symbols that are "defined" within this document.
+       *
+       * This should include symbols which technically do not have any definition,
+       * but have a reference and are defined by some other symbol (see
+       * Relationship.is_definition).
+       * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + public java.util.List + getSymbolsOrBuilderList() { + if (symbolsBuilder_ != null) { + return symbolsBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(symbols_); + } + } + /** + *
+       * Symbols that are "defined" within this document.
+       *
+       * This should include symbols which technically do not have any definition,
+       * but have a reference and are defined by some other symbol (see
+       * Relationship.is_definition).
+       * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + public scip.Scip.SymbolInformation.Builder addSymbolsBuilder() { + return internalGetSymbolsFieldBuilder().addBuilder( + scip.Scip.SymbolInformation.getDefaultInstance()); + } + /** + *
+       * Symbols that are "defined" within this document.
+       *
+       * This should include symbols which technically do not have any definition,
+       * but have a reference and are defined by some other symbol (see
+       * Relationship.is_definition).
+       * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + public scip.Scip.SymbolInformation.Builder addSymbolsBuilder( + int index) { + return internalGetSymbolsFieldBuilder().addBuilder( + index, scip.Scip.SymbolInformation.getDefaultInstance()); + } + /** + *
+       * Symbols that are "defined" within this document.
+       *
+       * This should include symbols which technically do not have any definition,
+       * but have a reference and are defined by some other symbol (see
+       * Relationship.is_definition).
+       * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + public java.util.List + getSymbolsBuilderList() { + return internalGetSymbolsFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilder< + scip.Scip.SymbolInformation, scip.Scip.SymbolInformation.Builder, scip.Scip.SymbolInformationOrBuilder> + internalGetSymbolsFieldBuilder() { + if (symbolsBuilder_ == null) { + symbolsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder< + scip.Scip.SymbolInformation, scip.Scip.SymbolInformation.Builder, scip.Scip.SymbolInformationOrBuilder>( + symbols_, + ((bitField0_ & 0x00000008) != 0), + getParentForChildren(), + isClean()); + symbols_ = null; + } + return symbolsBuilder_; + } + + private java.lang.Object text_ = ""; + /** + *
+       * (optional) Text contents of this document. Indexers are not expected to
+       * include the text by default. It's preferable that clients read the text
+       * contents from the file system by resolving the absolute path from joining
+       * `Index.metadata.project_root` and `Document.relative_path`. This field
+       * can be useful for testing or when working with virtual/in-memory documents.
+       * 
+ * + * string text = 5 [json_name = "text"]; + * @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; + } + } + /** + *
+       * (optional) Text contents of this document. Indexers are not expected to
+       * include the text by default. It's preferable that clients read the text
+       * contents from the file system by resolving the absolute path from joining
+       * `Index.metadata.project_root` and `Document.relative_path`. This field
+       * can be useful for testing or when working with virtual/in-memory documents.
+       * 
+ * + * string text = 5 [json_name = "text"]; + * @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; + } + } + /** + *
+       * (optional) Text contents of this document. Indexers are not expected to
+       * include the text by default. It's preferable that clients read the text
+       * contents from the file system by resolving the absolute path from joining
+       * `Index.metadata.project_root` and `Document.relative_path`. This field
+       * can be useful for testing or when working with virtual/in-memory documents.
+       * 
+ * + * string text = 5 [json_name = "text"]; + * @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; + bitField0_ |= 0x00000010; + onChanged(); + return this; + } + /** + *
+       * (optional) Text contents of this document. Indexers are not expected to
+       * include the text by default. It's preferable that clients read the text
+       * contents from the file system by resolving the absolute path from joining
+       * `Index.metadata.project_root` and `Document.relative_path`. This field
+       * can be useful for testing or when working with virtual/in-memory documents.
+       * 
+ * + * string text = 5 [json_name = "text"]; + * @return This builder for chaining. + */ + public Builder clearText() { + text_ = getDefaultInstance().getText(); + bitField0_ = (bitField0_ & ~0x00000010); + onChanged(); + return this; + } + /** + *
+       * (optional) Text contents of this document. Indexers are not expected to
+       * include the text by default. It's preferable that clients read the text
+       * contents from the file system by resolving the absolute path from joining
+       * `Index.metadata.project_root` and `Document.relative_path`. This field
+       * can be useful for testing or when working with virtual/in-memory documents.
+       * 
+ * + * string text = 5 [json_name = "text"]; + * @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; + bitField0_ |= 0x00000010; + onChanged(); + return this; + } + + private int positionEncoding_ = 0; + /** + *
+       * Specifies the encoding used for source ranges in this Document.
+       *
+       * Usually, this will match the type used to index the string type
+       * in the indexer's implementation language in O(1) time.
+       * - For an indexer implemented in JVM/.NET language or JavaScript/TypeScript,
+       * use UTF16CodeUnitOffsetFromLineStart.
+       * - For an indexer implemented in Python,
+       * use UTF32CodeUnitOffsetFromLineStart.
+       * - For an indexer implemented in Go, Rust or C++,
+       * use UTF8ByteOffsetFromLineStart.
+       * 
+ * + * .scip.PositionEncoding position_encoding = 6 [json_name = "positionEncoding"]; + * @return The enum numeric value on the wire for positionEncoding. + */ + @java.lang.Override public int getPositionEncodingValue() { + return positionEncoding_; + } + /** + *
+       * Specifies the encoding used for source ranges in this Document.
+       *
+       * Usually, this will match the type used to index the string type
+       * in the indexer's implementation language in O(1) time.
+       * - For an indexer implemented in JVM/.NET language or JavaScript/TypeScript,
+       * use UTF16CodeUnitOffsetFromLineStart.
+       * - For an indexer implemented in Python,
+       * use UTF32CodeUnitOffsetFromLineStart.
+       * - For an indexer implemented in Go, Rust or C++,
+       * use UTF8ByteOffsetFromLineStart.
+       * 
+ * + * .scip.PositionEncoding position_encoding = 6 [json_name = "positionEncoding"]; + * @param value The enum numeric value on the wire for positionEncoding to set. + * @return This builder for chaining. + */ + public Builder setPositionEncodingValue(int value) { + positionEncoding_ = value; + bitField0_ |= 0x00000020; + onChanged(); + return this; + } + /** + *
+       * Specifies the encoding used for source ranges in this Document.
+       *
+       * Usually, this will match the type used to index the string type
+       * in the indexer's implementation language in O(1) time.
+       * - For an indexer implemented in JVM/.NET language or JavaScript/TypeScript,
+       * use UTF16CodeUnitOffsetFromLineStart.
+       * - For an indexer implemented in Python,
+       * use UTF32CodeUnitOffsetFromLineStart.
+       * - For an indexer implemented in Go, Rust or C++,
+       * use UTF8ByteOffsetFromLineStart.
+       * 
+ * + * .scip.PositionEncoding position_encoding = 6 [json_name = "positionEncoding"]; + * @return The positionEncoding. + */ + @java.lang.Override + public scip.Scip.PositionEncoding getPositionEncoding() { + scip.Scip.PositionEncoding result = scip.Scip.PositionEncoding.forNumber(positionEncoding_); + return result == null ? scip.Scip.PositionEncoding.UNRECOGNIZED : result; + } + /** + *
+       * Specifies the encoding used for source ranges in this Document.
+       *
+       * Usually, this will match the type used to index the string type
+       * in the indexer's implementation language in O(1) time.
+       * - For an indexer implemented in JVM/.NET language or JavaScript/TypeScript,
+       * use UTF16CodeUnitOffsetFromLineStart.
+       * - For an indexer implemented in Python,
+       * use UTF32CodeUnitOffsetFromLineStart.
+       * - For an indexer implemented in Go, Rust or C++,
+       * use UTF8ByteOffsetFromLineStart.
+       * 
+ * + * .scip.PositionEncoding position_encoding = 6 [json_name = "positionEncoding"]; + * @param value The positionEncoding to set. + * @return This builder for chaining. + */ + public Builder setPositionEncoding(scip.Scip.PositionEncoding value) { + if (value == null) { throw new NullPointerException(); } + bitField0_ |= 0x00000020; + positionEncoding_ = value.getNumber(); + onChanged(); + return this; + } + /** + *
+       * Specifies the encoding used for source ranges in this Document.
+       *
+       * Usually, this will match the type used to index the string type
+       * in the indexer's implementation language in O(1) time.
+       * - For an indexer implemented in JVM/.NET language or JavaScript/TypeScript,
+       * use UTF16CodeUnitOffsetFromLineStart.
+       * - For an indexer implemented in Python,
+       * use UTF32CodeUnitOffsetFromLineStart.
+       * - For an indexer implemented in Go, Rust or C++,
+       * use UTF8ByteOffsetFromLineStart.
+       * 
+ * + * .scip.PositionEncoding position_encoding = 6 [json_name = "positionEncoding"]; + * @return This builder for chaining. + */ + public Builder clearPositionEncoding() { + bitField0_ = (bitField0_ & ~0x00000020); + positionEncoding_ = 0; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:scip.Document) + } + + // @@protoc_insertion_point(class_scope:scip.Document) + private static final scip.Scip.Document DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new scip.Scip.Document(); + } + + public static scip.Scip.Document getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public Document parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public scip.Scip.Document getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface SymbolOrBuilder extends + // @@protoc_insertion_point(interface_extends:scip.Symbol) + com.google.protobuf.MessageOrBuilder { + + /** + * string scheme = 1 [json_name = "scheme"]; + * @return The scheme. + */ + java.lang.String getScheme(); + /** + * string scheme = 1 [json_name = "scheme"]; + * @return The bytes for scheme. + */ + com.google.protobuf.ByteString + getSchemeBytes(); + + /** + * .scip.Package package = 2 [json_name = "package"]; + * @return Whether the package field is set. + */ + boolean hasPackage(); + /** + * .scip.Package package = 2 [json_name = "package"]; + * @return The package. + */ + scip.Scip.Package getPackage(); + /** + * .scip.Package package = 2 [json_name = "package"]; + */ + scip.Scip.PackageOrBuilder getPackageOrBuilder(); + + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + java.util.List + getDescriptorsList(); + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + scip.Scip.Descriptor getDescriptors(int index); + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + int getDescriptorsCount(); + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + java.util.List + getDescriptorsOrBuilderList(); + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + scip.Scip.DescriptorOrBuilder getDescriptorsOrBuilder( + int index); + } + /** + *
+   * Symbol is similar to a URI, it identifies a class, method, or a local
+   * variable. `SymbolInformation` contains rich metadata about symbols such as
+   * the docstring.
+   *
+   * Symbol has a standardized string representation, which can be used
+   * interchangeably with `Symbol`. The syntax for Symbol is the following:
+   * ```
+   * # (<x>)+ stands for one or more repetitions of <x>
+   * # (<x>)? stands for zero or one occurrence of <x>
+   * <symbol>               ::= <scheme> ' ' <package> ' ' (<descriptor>)+ | 'local ' <local-id>
+   * <package>              ::= <manager> ' ' <package-name> ' ' <version>
+   * <scheme>               ::= any UTF-8, escape spaces with double space. Must not be empty nor start with 'local'
+   * <manager>              ::= any UTF-8, escape spaces with double space. Use the placeholder '.' to indicate an empty value
+   * <package-name>         ::= same as above
+   * <version>              ::= same as above
+   * <descriptor>           ::= <namespace> | <type> | <term> | <method> | <type-parameter> | <parameter> | <meta> | <macro>
+   * <namespace>            ::= <name> '/'
+   * <type>                 ::= <name> '#'
+   * <term>                 ::= <name> '.'
+   * <meta>                 ::= <name> ':'
+   * <macro>                ::= <name> '!'
+   * <method>               ::= <name> '(' (<method-disambiguator>)? ').'
+   * <type-parameter>       ::= '[' <name> ']'
+   * <parameter>            ::= '(' <name> ')'
+   * <name>                 ::= <identifier>
+   * <method-disambiguator> ::= <simple-identifier>
+   * <identifier>           ::= <simple-identifier> | <escaped-identifier>
+   * <simple-identifier>    ::= (<identifier-character>)+
+   * <identifier-character> ::= '_' | '+' | '-' | '$' | ASCII letter or digit
+   * <escaped-identifier>   ::= '`' (<escaped-character>)+ '`', must contain at least one non-<identifier-character>
+   * <escaped-characters>   ::= any UTF-8, escape backticks with double backtick.
+   * <local-id>             ::= <simple-identifier>
+   * ```
+   *
+   * The list of descriptors for a symbol should together form a fully
+   * qualified name for the symbol. That is, it should serve as a unique
+   * identifier across the package. Typically, it will include one descriptor
+   * for every node in the AST (along the ancestry path) between the root of
+   * the file and the node corresponding to the symbol.
+   *
+   * Local symbols MUST only be used for entities which are local to a Document,
+   * and cannot be accessed from outside the Document.
+   * 
+ * + * Protobuf type {@code scip.Symbol} + */ + public static final class Symbol extends + com.google.protobuf.GeneratedMessage implements + // @@protoc_insertion_point(message_implements:scip.Symbol) + SymbolOrBuilder { + private static final long serialVersionUID = 0L; + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 32, + /* patch= */ 1, + /* suffix= */ "", + Symbol.class.getName()); + } + // Use Symbol.newBuilder() to construct. + private Symbol(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + private Symbol() { + scheme_ = ""; + descriptors_ = java.util.Collections.emptyList(); + } + + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return scip.Scip.internal_static_scip_Symbol_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return scip.Scip.internal_static_scip_Symbol_fieldAccessorTable + .ensureFieldAccessorsInitialized( + scip.Scip.Symbol.class, scip.Scip.Symbol.Builder.class); + } + + private int bitField0_; + public static final int SCHEME_FIELD_NUMBER = 1; + @SuppressWarnings("serial") + private volatile java.lang.Object scheme_ = ""; + /** + * string scheme = 1 [json_name = "scheme"]; + * @return The scheme. + */ + @java.lang.Override + public java.lang.String getScheme() { + java.lang.Object ref = scheme_; + 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(); + scheme_ = s; + return s; + } + } + /** + * string scheme = 1 [json_name = "scheme"]; + * @return The bytes for scheme. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getSchemeBytes() { + java.lang.Object ref = scheme_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + scheme_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int PACKAGE_FIELD_NUMBER = 2; + private scip.Scip.Package package_; + /** + * .scip.Package package = 2 [json_name = "package"]; + * @return Whether the package field is set. + */ + @java.lang.Override + public boolean hasPackage() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * .scip.Package package = 2 [json_name = "package"]; + * @return The package. + */ + @java.lang.Override + public scip.Scip.Package getPackage() { + return package_ == null ? scip.Scip.Package.getDefaultInstance() : package_; + } + /** + * .scip.Package package = 2 [json_name = "package"]; + */ + @java.lang.Override + public scip.Scip.PackageOrBuilder getPackageOrBuilder() { + return package_ == null ? scip.Scip.Package.getDefaultInstance() : package_; + } + + public static final int DESCRIPTORS_FIELD_NUMBER = 3; + @SuppressWarnings("serial") + private java.util.List descriptors_; + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + @java.lang.Override + public java.util.List getDescriptorsList() { + return descriptors_; + } + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + @java.lang.Override + public java.util.List + getDescriptorsOrBuilderList() { + return descriptors_; + } + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + @java.lang.Override + public int getDescriptorsCount() { + return descriptors_.size(); + } + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + @java.lang.Override + public scip.Scip.Descriptor getDescriptors(int index) { + return descriptors_.get(index); + } + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + @java.lang.Override + public scip.Scip.DescriptorOrBuilder getDescriptorsOrBuilder( + int index) { + return descriptors_.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 (!com.google.protobuf.GeneratedMessage.isStringEmpty(scheme_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, scheme_); + } + if (((bitField0_ & 0x00000001) != 0)) { + output.writeMessage(2, getPackage()); + } + for (int i = 0; i < descriptors_.size(); i++) { + output.writeMessage(3, descriptors_.get(i)); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(scheme_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, scheme_); + } + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(2, getPackage()); + } + for (int i = 0; i < descriptors_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(3, descriptors_.get(i)); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof scip.Scip.Symbol)) { + return super.equals(obj); + } + scip.Scip.Symbol other = (scip.Scip.Symbol) obj; + + if (!getScheme() + .equals(other.getScheme())) return false; + if (hasPackage() != other.hasPackage()) return false; + if (hasPackage()) { + if (!getPackage() + .equals(other.getPackage())) return false; + } + if (!getDescriptorsList() + .equals(other.getDescriptorsList())) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) 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) + SCHEME_FIELD_NUMBER; + hash = (53 * hash) + getScheme().hashCode(); + if (hasPackage()) { + hash = (37 * hash) + PACKAGE_FIELD_NUMBER; + hash = (53 * hash) + getPackage().hashCode(); + } + if (getDescriptorsCount() > 0) { + hash = (37 * hash) + DESCRIPTORS_FIELD_NUMBER; + hash = (53 * hash) + getDescriptorsList().hashCode(); + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static scip.Scip.Symbol parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static scip.Scip.Symbol parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static scip.Scip.Symbol parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static scip.Scip.Symbol parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static scip.Scip.Symbol parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static scip.Scip.Symbol parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static scip.Scip.Symbol parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static scip.Scip.Symbol parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public static scip.Scip.Symbol parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input); + } + + public static scip.Scip.Symbol parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static scip.Scip.Symbol parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static scip.Scip.Symbol parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(scip.Scip.Symbol 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + *
+     * Symbol is similar to a URI, it identifies a class, method, or a local
+     * variable. `SymbolInformation` contains rich metadata about symbols such as
+     * the docstring.
+     *
+     * Symbol has a standardized string representation, which can be used
+     * interchangeably with `Symbol`. The syntax for Symbol is the following:
+     * ```
+     * # (<x>)+ stands for one or more repetitions of <x>
+     * # (<x>)? stands for zero or one occurrence of <x>
+     * <symbol>               ::= <scheme> ' ' <package> ' ' (<descriptor>)+ | 'local ' <local-id>
+     * <package>              ::= <manager> ' ' <package-name> ' ' <version>
+     * <scheme>               ::= any UTF-8, escape spaces with double space. Must not be empty nor start with 'local'
+     * <manager>              ::= any UTF-8, escape spaces with double space. Use the placeholder '.' to indicate an empty value
+     * <package-name>         ::= same as above
+     * <version>              ::= same as above
+     * <descriptor>           ::= <namespace> | <type> | <term> | <method> | <type-parameter> | <parameter> | <meta> | <macro>
+     * <namespace>            ::= <name> '/'
+     * <type>                 ::= <name> '#'
+     * <term>                 ::= <name> '.'
+     * <meta>                 ::= <name> ':'
+     * <macro>                ::= <name> '!'
+     * <method>               ::= <name> '(' (<method-disambiguator>)? ').'
+     * <type-parameter>       ::= '[' <name> ']'
+     * <parameter>            ::= '(' <name> ')'
+     * <name>                 ::= <identifier>
+     * <method-disambiguator> ::= <simple-identifier>
+     * <identifier>           ::= <simple-identifier> | <escaped-identifier>
+     * <simple-identifier>    ::= (<identifier-character>)+
+     * <identifier-character> ::= '_' | '+' | '-' | '$' | ASCII letter or digit
+     * <escaped-identifier>   ::= '`' (<escaped-character>)+ '`', must contain at least one non-<identifier-character>
+     * <escaped-characters>   ::= any UTF-8, escape backticks with double backtick.
+     * <local-id>             ::= <simple-identifier>
+     * ```
+     *
+     * The list of descriptors for a symbol should together form a fully
+     * qualified name for the symbol. That is, it should serve as a unique
+     * identifier across the package. Typically, it will include one descriptor
+     * for every node in the AST (along the ancestry path) between the root of
+     * the file and the node corresponding to the symbol.
+     *
+     * Local symbols MUST only be used for entities which are local to a Document,
+     * and cannot be accessed from outside the Document.
+     * 
+ * + * Protobuf type {@code scip.Symbol} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder implements + // @@protoc_insertion_point(builder_implements:scip.Symbol) + scip.Scip.SymbolOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return scip.Scip.internal_static_scip_Symbol_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return scip.Scip.internal_static_scip_Symbol_fieldAccessorTable + .ensureFieldAccessorsInitialized( + scip.Scip.Symbol.class, scip.Scip.Symbol.Builder.class); + } + + // Construct using scip.Scip.Symbol.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage + .alwaysUseFieldBuilders) { + internalGetPackageFieldBuilder(); + internalGetDescriptorsFieldBuilder(); + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + scheme_ = ""; + package_ = null; + if (packageBuilder_ != null) { + packageBuilder_.dispose(); + packageBuilder_ = null; + } + if (descriptorsBuilder_ == null) { + descriptors_ = java.util.Collections.emptyList(); + } else { + descriptors_ = null; + descriptorsBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000004); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return scip.Scip.internal_static_scip_Symbol_descriptor; + } + + @java.lang.Override + public scip.Scip.Symbol getDefaultInstanceForType() { + return scip.Scip.Symbol.getDefaultInstance(); + } + + @java.lang.Override + public scip.Scip.Symbol build() { + scip.Scip.Symbol result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public scip.Scip.Symbol buildPartial() { + scip.Scip.Symbol result = new scip.Scip.Symbol(this); + buildPartialRepeatedFields(result); + if (bitField0_ != 0) { buildPartial0(result); } + onBuilt(); + return result; + } + + private void buildPartialRepeatedFields(scip.Scip.Symbol result) { + if (descriptorsBuilder_ == null) { + if (((bitField0_ & 0x00000004) != 0)) { + descriptors_ = java.util.Collections.unmodifiableList(descriptors_); + bitField0_ = (bitField0_ & ~0x00000004); + } + result.descriptors_ = descriptors_; + } else { + result.descriptors_ = descriptorsBuilder_.build(); + } + } + + private void buildPartial0(scip.Scip.Symbol result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.scheme_ = scheme_; + } + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000002) != 0)) { + result.package_ = packageBuilder_ == null + ? package_ + : packageBuilder_.build(); + to_bitField0_ |= 0x00000001; + } + result.bitField0_ |= to_bitField0_; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof scip.Scip.Symbol) { + return mergeFrom((scip.Scip.Symbol)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(scip.Scip.Symbol other) { + if (other == scip.Scip.Symbol.getDefaultInstance()) return this; + if (!other.getScheme().isEmpty()) { + scheme_ = other.scheme_; + bitField0_ |= 0x00000001; + onChanged(); + } + if (other.hasPackage()) { + mergePackage(other.getPackage()); + } + if (descriptorsBuilder_ == null) { + if (!other.descriptors_.isEmpty()) { + if (descriptors_.isEmpty()) { + descriptors_ = other.descriptors_; + bitField0_ = (bitField0_ & ~0x00000004); + } else { + ensureDescriptorsIsMutable(); + descriptors_.addAll(other.descriptors_); + } + onChanged(); + } + } else { + if (!other.descriptors_.isEmpty()) { + if (descriptorsBuilder_.isEmpty()) { + descriptorsBuilder_.dispose(); + descriptorsBuilder_ = null; + descriptors_ = other.descriptors_; + bitField0_ = (bitField0_ & ~0x00000004); + descriptorsBuilder_ = + com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ? + internalGetDescriptorsFieldBuilder() : null; + } else { + descriptorsBuilder_.addAllMessages(other.descriptors_); + } + } + } + this.mergeUnknownFields(other.getUnknownFields()); + 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 { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + scheme_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 18: { + input.readMessage( + internalGetPackageFieldBuilder().getBuilder(), + extensionRegistry); + bitField0_ |= 0x00000002; + break; + } // case 18 + case 26: { + scip.Scip.Descriptor m = + input.readMessage( + scip.Scip.Descriptor.parser(), + extensionRegistry); + if (descriptorsBuilder_ == null) { + ensureDescriptorsIsMutable(); + descriptors_.add(m); + } else { + descriptorsBuilder_.addMessage(m); + } + break; + } // case 26 + default: { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + private int bitField0_; + + private java.lang.Object scheme_ = ""; + /** + * string scheme = 1 [json_name = "scheme"]; + * @return The scheme. + */ + public java.lang.String getScheme() { + java.lang.Object ref = scheme_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + scheme_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * string scheme = 1 [json_name = "scheme"]; + * @return The bytes for scheme. + */ + public com.google.protobuf.ByteString + getSchemeBytes() { + java.lang.Object ref = scheme_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + scheme_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * string scheme = 1 [json_name = "scheme"]; + * @param value The scheme to set. + * @return This builder for chaining. + */ + public Builder setScheme( + java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + scheme_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + /** + * string scheme = 1 [json_name = "scheme"]; + * @return This builder for chaining. + */ + public Builder clearScheme() { + scheme_ = getDefaultInstance().getScheme(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + /** + * string scheme = 1 [json_name = "scheme"]; + * @param value The bytes for scheme to set. + * @return This builder for chaining. + */ + public Builder setSchemeBytes( + com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + checkByteStringIsUtf8(value); + scheme_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private scip.Scip.Package package_; + private com.google.protobuf.SingleFieldBuilder< + scip.Scip.Package, scip.Scip.Package.Builder, scip.Scip.PackageOrBuilder> packageBuilder_; + /** + * .scip.Package package = 2 [json_name = "package"]; + * @return Whether the package field is set. + */ + public boolean hasPackage() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * .scip.Package package = 2 [json_name = "package"]; + * @return The package. + */ + public scip.Scip.Package getPackage() { + if (packageBuilder_ == null) { + return package_ == null ? scip.Scip.Package.getDefaultInstance() : package_; + } else { + return packageBuilder_.getMessage(); + } + } + /** + * .scip.Package package = 2 [json_name = "package"]; + */ + public Builder setPackage(scip.Scip.Package value) { + if (packageBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + package_ = value; + } else { + packageBuilder_.setMessage(value); + } + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + /** + * .scip.Package package = 2 [json_name = "package"]; + */ + public Builder setPackage( + scip.Scip.Package.Builder builderForValue) { + if (packageBuilder_ == null) { + package_ = builderForValue.build(); + } else { + packageBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + /** + * .scip.Package package = 2 [json_name = "package"]; + */ + public Builder mergePackage(scip.Scip.Package value) { + if (packageBuilder_ == null) { + if (((bitField0_ & 0x00000002) != 0) && + package_ != null && + package_ != scip.Scip.Package.getDefaultInstance()) { + getPackageBuilder().mergeFrom(value); + } else { + package_ = value; + } + } else { + packageBuilder_.mergeFrom(value); + } + if (package_ != null) { + bitField0_ |= 0x00000002; + onChanged(); + } + return this; + } + /** + * .scip.Package package = 2 [json_name = "package"]; + */ + public Builder clearPackage() { + bitField0_ = (bitField0_ & ~0x00000002); + package_ = null; + if (packageBuilder_ != null) { + packageBuilder_.dispose(); + packageBuilder_ = null; + } + onChanged(); + return this; + } + /** + * .scip.Package package = 2 [json_name = "package"]; + */ + public scip.Scip.Package.Builder getPackageBuilder() { + bitField0_ |= 0x00000002; + onChanged(); + return internalGetPackageFieldBuilder().getBuilder(); + } + /** + * .scip.Package package = 2 [json_name = "package"]; + */ + public scip.Scip.PackageOrBuilder getPackageOrBuilder() { + if (packageBuilder_ != null) { + return packageBuilder_.getMessageOrBuilder(); + } else { + return package_ == null ? + scip.Scip.Package.getDefaultInstance() : package_; + } + } + /** + * .scip.Package package = 2 [json_name = "package"]; + */ + private com.google.protobuf.SingleFieldBuilder< + scip.Scip.Package, scip.Scip.Package.Builder, scip.Scip.PackageOrBuilder> + internalGetPackageFieldBuilder() { + if (packageBuilder_ == null) { + packageBuilder_ = new com.google.protobuf.SingleFieldBuilder< + scip.Scip.Package, scip.Scip.Package.Builder, scip.Scip.PackageOrBuilder>( + getPackage(), + getParentForChildren(), + isClean()); + package_ = null; + } + return packageBuilder_; + } + + private java.util.List descriptors_ = + java.util.Collections.emptyList(); + private void ensureDescriptorsIsMutable() { + if (!((bitField0_ & 0x00000004) != 0)) { + descriptors_ = new java.util.ArrayList(descriptors_); + bitField0_ |= 0x00000004; + } + } + + private com.google.protobuf.RepeatedFieldBuilder< + scip.Scip.Descriptor, scip.Scip.Descriptor.Builder, scip.Scip.DescriptorOrBuilder> descriptorsBuilder_; + + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + public java.util.List getDescriptorsList() { + if (descriptorsBuilder_ == null) { + return java.util.Collections.unmodifiableList(descriptors_); + } else { + return descriptorsBuilder_.getMessageList(); + } + } + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + public int getDescriptorsCount() { + if (descriptorsBuilder_ == null) { + return descriptors_.size(); + } else { + return descriptorsBuilder_.getCount(); + } + } + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + public scip.Scip.Descriptor getDescriptors(int index) { + if (descriptorsBuilder_ == null) { + return descriptors_.get(index); + } else { + return descriptorsBuilder_.getMessage(index); + } + } + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + public Builder setDescriptors( + int index, scip.Scip.Descriptor value) { + if (descriptorsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureDescriptorsIsMutable(); + descriptors_.set(index, value); + onChanged(); + } else { + descriptorsBuilder_.setMessage(index, value); + } + return this; + } + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + public Builder setDescriptors( + int index, scip.Scip.Descriptor.Builder builderForValue) { + if (descriptorsBuilder_ == null) { + ensureDescriptorsIsMutable(); + descriptors_.set(index, builderForValue.build()); + onChanged(); + } else { + descriptorsBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + public Builder addDescriptors(scip.Scip.Descriptor value) { + if (descriptorsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureDescriptorsIsMutable(); + descriptors_.add(value); + onChanged(); + } else { + descriptorsBuilder_.addMessage(value); + } + return this; + } + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + public Builder addDescriptors( + int index, scip.Scip.Descriptor value) { + if (descriptorsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureDescriptorsIsMutable(); + descriptors_.add(index, value); + onChanged(); + } else { + descriptorsBuilder_.addMessage(index, value); + } + return this; + } + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + public Builder addDescriptors( + scip.Scip.Descriptor.Builder builderForValue) { + if (descriptorsBuilder_ == null) { + ensureDescriptorsIsMutable(); + descriptors_.add(builderForValue.build()); + onChanged(); + } else { + descriptorsBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + public Builder addDescriptors( + int index, scip.Scip.Descriptor.Builder builderForValue) { + if (descriptorsBuilder_ == null) { + ensureDescriptorsIsMutable(); + descriptors_.add(index, builderForValue.build()); + onChanged(); + } else { + descriptorsBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + public Builder addAllDescriptors( + java.lang.Iterable values) { + if (descriptorsBuilder_ == null) { + ensureDescriptorsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, descriptors_); + onChanged(); + } else { + descriptorsBuilder_.addAllMessages(values); + } + return this; + } + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + public Builder clearDescriptors() { + if (descriptorsBuilder_ == null) { + descriptors_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000004); + onChanged(); + } else { + descriptorsBuilder_.clear(); + } + return this; + } + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + public Builder removeDescriptors(int index) { + if (descriptorsBuilder_ == null) { + ensureDescriptorsIsMutable(); + descriptors_.remove(index); + onChanged(); + } else { + descriptorsBuilder_.remove(index); + } + return this; + } + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + public scip.Scip.Descriptor.Builder getDescriptorsBuilder( + int index) { + return internalGetDescriptorsFieldBuilder().getBuilder(index); + } + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + public scip.Scip.DescriptorOrBuilder getDescriptorsOrBuilder( + int index) { + if (descriptorsBuilder_ == null) { + return descriptors_.get(index); } else { + return descriptorsBuilder_.getMessageOrBuilder(index); + } + } + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + public java.util.List + getDescriptorsOrBuilderList() { + if (descriptorsBuilder_ != null) { + return descriptorsBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(descriptors_); + } + } + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + public scip.Scip.Descriptor.Builder addDescriptorsBuilder() { + return internalGetDescriptorsFieldBuilder().addBuilder( + scip.Scip.Descriptor.getDefaultInstance()); + } + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + public scip.Scip.Descriptor.Builder addDescriptorsBuilder( + int index) { + return internalGetDescriptorsFieldBuilder().addBuilder( + index, scip.Scip.Descriptor.getDefaultInstance()); + } + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + public java.util.List + getDescriptorsBuilderList() { + return internalGetDescriptorsFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilder< + scip.Scip.Descriptor, scip.Scip.Descriptor.Builder, scip.Scip.DescriptorOrBuilder> + internalGetDescriptorsFieldBuilder() { + if (descriptorsBuilder_ == null) { + descriptorsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder< + scip.Scip.Descriptor, scip.Scip.Descriptor.Builder, scip.Scip.DescriptorOrBuilder>( + descriptors_, + ((bitField0_ & 0x00000004) != 0), + getParentForChildren(), + isClean()); + descriptors_ = null; + } + return descriptorsBuilder_; + } + + // @@protoc_insertion_point(builder_scope:scip.Symbol) + } + + // @@protoc_insertion_point(class_scope:scip.Symbol) + private static final scip.Scip.Symbol DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new scip.Scip.Symbol(); + } + + public static scip.Scip.Symbol getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public Symbol parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public scip.Scip.Symbol getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface PackageOrBuilder extends + // @@protoc_insertion_point(interface_extends:scip.Package) + com.google.protobuf.MessageOrBuilder { + + /** + * string manager = 1 [json_name = "manager"]; + * @return The manager. + */ + java.lang.String getManager(); + /** + * string manager = 1 [json_name = "manager"]; + * @return The bytes for manager. + */ + com.google.protobuf.ByteString + getManagerBytes(); + + /** + * string name = 2 [json_name = "name"]; + * @return The name. + */ + java.lang.String getName(); + /** + * string name = 2 [json_name = "name"]; + * @return The bytes for name. + */ + com.google.protobuf.ByteString + getNameBytes(); + + /** + * string version = 3 [json_name = "version"]; + * @return The version. + */ + java.lang.String getVersion(); + /** + * string version = 3 [json_name = "version"]; + * @return The bytes for version. + */ + com.google.protobuf.ByteString + getVersionBytes(); + } + /** + *
+   * Unit of packaging and distribution.
+   *
+   * NOTE: This corresponds to a module in Go and JVM languages.
+   * 
+ * + * Protobuf type {@code scip.Package} + */ + public static final class Package extends + com.google.protobuf.GeneratedMessage implements + // @@protoc_insertion_point(message_implements:scip.Package) + PackageOrBuilder { + private static final long serialVersionUID = 0L; + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 32, + /* patch= */ 1, + /* suffix= */ "", + Package.class.getName()); + } + // Use Package.newBuilder() to construct. + private Package(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + private Package() { + manager_ = ""; + name_ = ""; + version_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return scip.Scip.internal_static_scip_Package_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return scip.Scip.internal_static_scip_Package_fieldAccessorTable + .ensureFieldAccessorsInitialized( + scip.Scip.Package.class, scip.Scip.Package.Builder.class); + } + + public static final int MANAGER_FIELD_NUMBER = 1; + @SuppressWarnings("serial") + private volatile java.lang.Object manager_ = ""; + /** + * string manager = 1 [json_name = "manager"]; + * @return The manager. + */ + @java.lang.Override + public java.lang.String getManager() { + java.lang.Object ref = manager_; + 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(); + manager_ = s; + return s; + } + } + /** + * string manager = 1 [json_name = "manager"]; + * @return The bytes for manager. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getManagerBytes() { + java.lang.Object ref = manager_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + manager_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int NAME_FIELD_NUMBER = 2; + @SuppressWarnings("serial") + private volatile java.lang.Object name_ = ""; + /** + * string name = 2 [json_name = "name"]; + * @return The name. + */ + @java.lang.Override + public java.lang.String getName() { + java.lang.Object ref = name_; + 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(); + name_ = s; + return s; + } + } + /** + * string name = 2 [json_name = "name"]; + * @return The bytes for name. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int VERSION_FIELD_NUMBER = 3; + @SuppressWarnings("serial") + private volatile java.lang.Object version_ = ""; + /** + * string version = 3 [json_name = "version"]; + * @return The version. + */ + @java.lang.Override + public java.lang.String getVersion() { + java.lang.Object ref = version_; + 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(); + version_ = s; + return s; + } + } + /** + * string version = 3 [json_name = "version"]; + * @return The bytes for version. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getVersionBytes() { + java.lang.Object ref = version_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + version_ = 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 (!com.google.protobuf.GeneratedMessage.isStringEmpty(manager_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, manager_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 2, name_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(version_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 3, version_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(manager_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, manager_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(2, name_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(version_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(3, version_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof scip.Scip.Package)) { + return super.equals(obj); + } + scip.Scip.Package other = (scip.Scip.Package) obj; + + if (!getManager() + .equals(other.getManager())) return false; + if (!getName() + .equals(other.getName())) return false; + if (!getVersion() + .equals(other.getVersion())) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) 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) + MANAGER_FIELD_NUMBER; + hash = (53 * hash) + getManager().hashCode(); + hash = (37 * hash) + NAME_FIELD_NUMBER; + hash = (53 * hash) + getName().hashCode(); + hash = (37 * hash) + VERSION_FIELD_NUMBER; + hash = (53 * hash) + getVersion().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static scip.Scip.Package parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static scip.Scip.Package parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static scip.Scip.Package parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static scip.Scip.Package parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static scip.Scip.Package parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static scip.Scip.Package parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static scip.Scip.Package parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static scip.Scip.Package parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public static scip.Scip.Package parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input); + } + + public static scip.Scip.Package parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static scip.Scip.Package parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static scip.Scip.Package parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(scip.Scip.Package 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + *
+     * Unit of packaging and distribution.
+     *
+     * NOTE: This corresponds to a module in Go and JVM languages.
+     * 
+ * + * Protobuf type {@code scip.Package} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder implements + // @@protoc_insertion_point(builder_implements:scip.Package) + scip.Scip.PackageOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return scip.Scip.internal_static_scip_Package_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return scip.Scip.internal_static_scip_Package_fieldAccessorTable + .ensureFieldAccessorsInitialized( + scip.Scip.Package.class, scip.Scip.Package.Builder.class); + } + + // Construct using scip.Scip.Package.newBuilder() + private Builder() { + + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + + } + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + manager_ = ""; + name_ = ""; + version_ = ""; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return scip.Scip.internal_static_scip_Package_descriptor; + } + + @java.lang.Override + public scip.Scip.Package getDefaultInstanceForType() { + return scip.Scip.Package.getDefaultInstance(); + } + + @java.lang.Override + public scip.Scip.Package build() { + scip.Scip.Package result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public scip.Scip.Package buildPartial() { + scip.Scip.Package result = new scip.Scip.Package(this); + if (bitField0_ != 0) { buildPartial0(result); } + onBuilt(); + return result; + } + + private void buildPartial0(scip.Scip.Package result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.manager_ = manager_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.name_ = name_; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.version_ = version_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof scip.Scip.Package) { + return mergeFrom((scip.Scip.Package)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(scip.Scip.Package other) { + if (other == scip.Scip.Package.getDefaultInstance()) return this; + if (!other.getManager().isEmpty()) { + manager_ = other.manager_; + bitField0_ |= 0x00000001; + onChanged(); + } + if (!other.getName().isEmpty()) { + name_ = other.name_; + bitField0_ |= 0x00000002; + onChanged(); + } + if (!other.getVersion().isEmpty()) { + version_ = other.version_; + bitField0_ |= 0x00000004; + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + 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 { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + manager_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 18: { + name_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000002; + break; + } // case 18 + case 26: { + version_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000004; + break; + } // case 26 + default: { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + private int bitField0_; + + private java.lang.Object manager_ = ""; + /** + * string manager = 1 [json_name = "manager"]; + * @return The manager. + */ + public java.lang.String getManager() { + java.lang.Object ref = manager_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + manager_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * string manager = 1 [json_name = "manager"]; + * @return The bytes for manager. + */ + public com.google.protobuf.ByteString + getManagerBytes() { + java.lang.Object ref = manager_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + manager_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * string manager = 1 [json_name = "manager"]; + * @param value The manager to set. + * @return This builder for chaining. + */ + public Builder setManager( + java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + manager_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + /** + * string manager = 1 [json_name = "manager"]; + * @return This builder for chaining. + */ + public Builder clearManager() { + manager_ = getDefaultInstance().getManager(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + /** + * string manager = 1 [json_name = "manager"]; + * @param value The bytes for manager to set. + * @return This builder for chaining. + */ + public Builder setManagerBytes( + com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + checkByteStringIsUtf8(value); + manager_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private java.lang.Object name_ = ""; + /** + * string name = 2 [json_name = "name"]; + * @return The name. + */ + public java.lang.String getName() { + java.lang.Object ref = name_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + name_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * string name = 2 [json_name = "name"]; + * @return The bytes for name. + */ + public com.google.protobuf.ByteString + getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * string name = 2 [json_name = "name"]; + * @param value The name to set. + * @return This builder for chaining. + */ + public Builder setName( + java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + name_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + /** + * string name = 2 [json_name = "name"]; + * @return This builder for chaining. + */ + public Builder clearName() { + name_ = getDefaultInstance().getName(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + /** + * string name = 2 [json_name = "name"]; + * @param value The bytes for name to set. + * @return This builder for chaining. + */ + public Builder setNameBytes( + com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + checkByteStringIsUtf8(value); + name_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + private java.lang.Object version_ = ""; + /** + * string version = 3 [json_name = "version"]; + * @return The version. + */ + public java.lang.String getVersion() { + java.lang.Object ref = version_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + version_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * string version = 3 [json_name = "version"]; + * @return The bytes for version. + */ + public com.google.protobuf.ByteString + getVersionBytes() { + java.lang.Object ref = version_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + version_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * string version = 3 [json_name = "version"]; + * @param value The version to set. + * @return This builder for chaining. + */ + public Builder setVersion( + java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + version_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + /** + * string version = 3 [json_name = "version"]; + * @return This builder for chaining. + */ + public Builder clearVersion() { + version_ = getDefaultInstance().getVersion(); + bitField0_ = (bitField0_ & ~0x00000004); + onChanged(); + return this; + } + /** + * string version = 3 [json_name = "version"]; + * @param value The bytes for version to set. + * @return This builder for chaining. + */ + public Builder setVersionBytes( + com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + checkByteStringIsUtf8(value); + version_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:scip.Package) + } + + // @@protoc_insertion_point(class_scope:scip.Package) + private static final scip.Scip.Package DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new scip.Scip.Package(); + } + + public static scip.Scip.Package getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public Package parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public scip.Scip.Package getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface DescriptorOrBuilder extends + // @@protoc_insertion_point(interface_extends:scip.Descriptor) + com.google.protobuf.MessageOrBuilder { + + /** + * string name = 1 [json_name = "name"]; + * @return The name. + */ + java.lang.String getName(); + /** + * string name = 1 [json_name = "name"]; + * @return The bytes for name. + */ + com.google.protobuf.ByteString + getNameBytes(); + + /** + * string disambiguator = 2 [json_name = "disambiguator"]; + * @return The disambiguator. + */ + java.lang.String getDisambiguator(); + /** + * string disambiguator = 2 [json_name = "disambiguator"]; + * @return The bytes for disambiguator. + */ + com.google.protobuf.ByteString + getDisambiguatorBytes(); + + /** + *
+     * NOTE: If you add new fields here, make sure to update the prepareSlot()
+     * function responsible for parsing symbols.
+     * 
+ * + * .scip.Descriptor.Suffix suffix = 3 [json_name = "suffix"]; + * @return The enum numeric value on the wire for suffix. + */ + int getSuffixValue(); + /** + *
+     * NOTE: If you add new fields here, make sure to update the prepareSlot()
+     * function responsible for parsing symbols.
+     * 
+ * + * .scip.Descriptor.Suffix suffix = 3 [json_name = "suffix"]; + * @return The suffix. + */ + scip.Scip.Descriptor.Suffix getSuffix(); + } + /** + * Protobuf type {@code scip.Descriptor} + */ + public static final class Descriptor extends + com.google.protobuf.GeneratedMessage implements + // @@protoc_insertion_point(message_implements:scip.Descriptor) + DescriptorOrBuilder { + private static final long serialVersionUID = 0L; + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 32, + /* patch= */ 1, + /* suffix= */ "", + Descriptor.class.getName()); + } + // Use Descriptor.newBuilder() to construct. + private Descriptor(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + private Descriptor() { + name_ = ""; + disambiguator_ = ""; + suffix_ = 0; + } + + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return scip.Scip.internal_static_scip_Descriptor_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return scip.Scip.internal_static_scip_Descriptor_fieldAccessorTable + .ensureFieldAccessorsInitialized( + scip.Scip.Descriptor.class, scip.Scip.Descriptor.Builder.class); + } + + /** + * Protobuf enum {@code scip.Descriptor.Suffix} + */ + public enum Suffix + implements com.google.protobuf.ProtocolMessageEnum { + /** + * UnspecifiedSuffix = 0; + */ + UnspecifiedSuffix(0, 0), + /** + *
+       * Unit of code abstraction and/or namespacing.
+       *
+       * NOTE: This corresponds to a package in Go and JVM languages.
+       * 
+ * + * Namespace = 1; + */ + Namespace(1, 1), + /** + * Type = 2; + */ + Type(3, 2), + /** + * Term = 3; + */ + Term(4, 3), + /** + * Method = 4; + */ + Method(5, 4), + /** + * TypeParameter = 5; + */ + TypeParameter(6, 5), + /** + * Parameter = 6; + */ + Parameter(7, 6), + /** + *
+       * Can be used for any purpose.
+       * 
+ * + * Meta = 7; + */ + Meta(8, 7), + /** + * Local = 8; + */ + Local(9, 8), + /** + * Macro = 9; + */ + Macro(10, 9), + UNRECOGNIZED(-1, -1), + ; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 32, + /* patch= */ 1, + /* suffix= */ "", + Suffix.class.getName()); + } + /** + *
+       * Use Namespace instead.
+       * 
+ * + * Package = 1 [deprecated = true]; + */ + public static final Suffix Package = Namespace; + /** + * UnspecifiedSuffix = 0; + */ + public static final int UnspecifiedSuffix_VALUE = 0; + /** + *
+       * Unit of code abstraction and/or namespacing.
+       *
+       * NOTE: This corresponds to a package in Go and JVM languages.
+       * 
+ * + * Namespace = 1; + */ + public static final int Namespace_VALUE = 1; + /** + *
+       * Use Namespace instead.
+       * 
+ * + * Package = 1 [deprecated = true]; + */ + @java.lang.Deprecated public static final int Package_VALUE = 1; + /** + * Type = 2; + */ + public static final int Type_VALUE = 2; + /** + * Term = 3; + */ + public static final int Term_VALUE = 3; + /** + * Method = 4; + */ + public static final int Method_VALUE = 4; + /** + * TypeParameter = 5; + */ + public static final int TypeParameter_VALUE = 5; + /** + * Parameter = 6; + */ + public static final int Parameter_VALUE = 6; + /** + *
+       * Can be used for any purpose.
+       * 
+ * + * Meta = 7; + */ + public static final int Meta_VALUE = 7; + /** + * Local = 8; + */ + public static final int Local_VALUE = 8; + /** + * Macro = 9; + */ + public static final int Macro_VALUE = 9; + + + public final int getNumber() { + if (index == -1) { + 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 Suffix 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 Suffix forNumber(int value) { + switch (value) { + case 0: return UnspecifiedSuffix; + case 1: return Namespace; + case 2: return Type; + case 3: return Term; + case 4: return Method; + case 5: return TypeParameter; + case 6: return Parameter; + case 7: return Meta; + case 8: return Local; + case 9: return Macro; + default: return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap + internalGetValueMap() { + return internalValueMap; + } + private static final com.google.protobuf.Internal.EnumLiteMap< + Suffix> internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap() { + public Suffix findValueByNumber(int number) { + return Suffix.forNumber(number); + } + }; + + public final com.google.protobuf.Descriptors.EnumValueDescriptor + getValueDescriptor() { + if (index == -1) { + throw new java.lang.IllegalStateException( + "Can't get the descriptor of an unrecognized enum value."); + } + return getDescriptor().getValues().get(index); + } + public final com.google.protobuf.Descriptors.EnumDescriptor + getDescriptorForType() { + return getDescriptor(); + } + public static com.google.protobuf.Descriptors.EnumDescriptor + getDescriptor() { + return scip.Scip.Descriptor.getDescriptor().getEnumTypes().get(0); + } + + private static final Suffix[] VALUES = getStaticValuesArray(); + private static Suffix[] getStaticValuesArray() { + return new Suffix[] { + UnspecifiedSuffix, Namespace, Package, Type, Term, Method, TypeParameter, Parameter, Meta, Local, Macro, + }; + } + public static Suffix 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 index; + private final int value; + + private Suffix(int index, int value) { + this.index = index; + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:scip.Descriptor.Suffix) + } + + public static final int NAME_FIELD_NUMBER = 1; + @SuppressWarnings("serial") + private volatile java.lang.Object name_ = ""; + /** + * string name = 1 [json_name = "name"]; + * @return The name. + */ + @java.lang.Override + public java.lang.String getName() { + java.lang.Object ref = name_; + 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(); + name_ = s; + return s; + } + } + /** + * string name = 1 [json_name = "name"]; + * @return The bytes for name. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int DISAMBIGUATOR_FIELD_NUMBER = 2; + @SuppressWarnings("serial") + private volatile java.lang.Object disambiguator_ = ""; + /** + * string disambiguator = 2 [json_name = "disambiguator"]; + * @return The disambiguator. + */ + @java.lang.Override + public java.lang.String getDisambiguator() { + java.lang.Object ref = disambiguator_; + 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(); + disambiguator_ = s; + return s; + } + } + /** + * string disambiguator = 2 [json_name = "disambiguator"]; + * @return The bytes for disambiguator. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getDisambiguatorBytes() { + java.lang.Object ref = disambiguator_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + disambiguator_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int SUFFIX_FIELD_NUMBER = 3; + private int suffix_ = 0; + /** + *
+     * NOTE: If you add new fields here, make sure to update the prepareSlot()
+     * function responsible for parsing symbols.
+     * 
+ * + * .scip.Descriptor.Suffix suffix = 3 [json_name = "suffix"]; + * @return The enum numeric value on the wire for suffix. + */ + @java.lang.Override public int getSuffixValue() { + return suffix_; + } + /** + *
+     * NOTE: If you add new fields here, make sure to update the prepareSlot()
+     * function responsible for parsing symbols.
+     * 
+ * + * .scip.Descriptor.Suffix suffix = 3 [json_name = "suffix"]; + * @return The suffix. + */ + @java.lang.Override public scip.Scip.Descriptor.Suffix getSuffix() { + scip.Scip.Descriptor.Suffix result = scip.Scip.Descriptor.Suffix.forNumber(suffix_); + return result == null ? scip.Scip.Descriptor.Suffix.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 (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, name_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(disambiguator_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 2, disambiguator_); + } + if (suffix_ != scip.Scip.Descriptor.Suffix.UnspecifiedSuffix.getNumber()) { + output.writeEnum(3, suffix_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, name_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(disambiguator_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(2, disambiguator_); + } + if (suffix_ != scip.Scip.Descriptor.Suffix.UnspecifiedSuffix.getNumber()) { + size += com.google.protobuf.CodedOutputStream + .computeEnumSize(3, suffix_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof scip.Scip.Descriptor)) { + return super.equals(obj); + } + scip.Scip.Descriptor other = (scip.Scip.Descriptor) obj; + + if (!getName() + .equals(other.getName())) return false; + if (!getDisambiguator() + .equals(other.getDisambiguator())) return false; + if (suffix_ != other.suffix_) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) 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) + NAME_FIELD_NUMBER; + hash = (53 * hash) + getName().hashCode(); + hash = (37 * hash) + DISAMBIGUATOR_FIELD_NUMBER; + hash = (53 * hash) + getDisambiguator().hashCode(); + hash = (37 * hash) + SUFFIX_FIELD_NUMBER; + hash = (53 * hash) + suffix_; + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static scip.Scip.Descriptor parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static scip.Scip.Descriptor parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static scip.Scip.Descriptor parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static scip.Scip.Descriptor parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static scip.Scip.Descriptor parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static scip.Scip.Descriptor parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static scip.Scip.Descriptor parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static scip.Scip.Descriptor parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public static scip.Scip.Descriptor parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input); + } + + public static scip.Scip.Descriptor parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static scip.Scip.Descriptor parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static scip.Scip.Descriptor parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(scip.Scip.Descriptor 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code scip.Descriptor} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder implements + // @@protoc_insertion_point(builder_implements:scip.Descriptor) + scip.Scip.DescriptorOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return scip.Scip.internal_static_scip_Descriptor_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return scip.Scip.internal_static_scip_Descriptor_fieldAccessorTable + .ensureFieldAccessorsInitialized( + scip.Scip.Descriptor.class, scip.Scip.Descriptor.Builder.class); + } + + // Construct using scip.Scip.Descriptor.newBuilder() + private Builder() { + + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + + } + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + name_ = ""; + disambiguator_ = ""; + suffix_ = 0; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return scip.Scip.internal_static_scip_Descriptor_descriptor; + } + + @java.lang.Override + public scip.Scip.Descriptor getDefaultInstanceForType() { + return scip.Scip.Descriptor.getDefaultInstance(); + } + + @java.lang.Override + public scip.Scip.Descriptor build() { + scip.Scip.Descriptor result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public scip.Scip.Descriptor buildPartial() { + scip.Scip.Descriptor result = new scip.Scip.Descriptor(this); + if (bitField0_ != 0) { buildPartial0(result); } + onBuilt(); + return result; + } + + private void buildPartial0(scip.Scip.Descriptor result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.name_ = name_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.disambiguator_ = disambiguator_; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.suffix_ = suffix_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof scip.Scip.Descriptor) { + return mergeFrom((scip.Scip.Descriptor)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(scip.Scip.Descriptor other) { + if (other == scip.Scip.Descriptor.getDefaultInstance()) return this; + if (!other.getName().isEmpty()) { + name_ = other.name_; + bitField0_ |= 0x00000001; + onChanged(); + } + if (!other.getDisambiguator().isEmpty()) { + disambiguator_ = other.disambiguator_; + bitField0_ |= 0x00000002; + onChanged(); + } + if (other.suffix_ != 0) { + setSuffixValue(other.getSuffixValue()); + } + this.mergeUnknownFields(other.getUnknownFields()); + 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 { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + name_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 18: { + disambiguator_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000002; + break; + } // case 18 + case 24: { + suffix_ = input.readEnum(); + bitField0_ |= 0x00000004; + break; + } // case 24 + default: { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + private int bitField0_; + + private java.lang.Object name_ = ""; + /** + * string name = 1 [json_name = "name"]; + * @return The name. + */ + public java.lang.String getName() { + java.lang.Object ref = name_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + name_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * string name = 1 [json_name = "name"]; + * @return The bytes for name. + */ + public com.google.protobuf.ByteString + getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * string name = 1 [json_name = "name"]; + * @param value The name to set. + * @return This builder for chaining. + */ + public Builder setName( + java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + name_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + /** + * string name = 1 [json_name = "name"]; + * @return This builder for chaining. + */ + public Builder clearName() { + name_ = getDefaultInstance().getName(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + /** + * string name = 1 [json_name = "name"]; + * @param value The bytes for name to set. + * @return This builder for chaining. + */ + public Builder setNameBytes( + com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + checkByteStringIsUtf8(value); + name_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private java.lang.Object disambiguator_ = ""; + /** + * string disambiguator = 2 [json_name = "disambiguator"]; + * @return The disambiguator. + */ + public java.lang.String getDisambiguator() { + java.lang.Object ref = disambiguator_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + disambiguator_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * string disambiguator = 2 [json_name = "disambiguator"]; + * @return The bytes for disambiguator. + */ + public com.google.protobuf.ByteString + getDisambiguatorBytes() { + java.lang.Object ref = disambiguator_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + disambiguator_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * string disambiguator = 2 [json_name = "disambiguator"]; + * @param value The disambiguator to set. + * @return This builder for chaining. + */ + public Builder setDisambiguator( + java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + disambiguator_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + /** + * string disambiguator = 2 [json_name = "disambiguator"]; + * @return This builder for chaining. + */ + public Builder clearDisambiguator() { + disambiguator_ = getDefaultInstance().getDisambiguator(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + /** + * string disambiguator = 2 [json_name = "disambiguator"]; + * @param value The bytes for disambiguator to set. + * @return This builder for chaining. + */ + public Builder setDisambiguatorBytes( + com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + checkByteStringIsUtf8(value); + disambiguator_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + private int suffix_ = 0; + /** + *
+       * NOTE: If you add new fields here, make sure to update the prepareSlot()
+       * function responsible for parsing symbols.
+       * 
+ * + * .scip.Descriptor.Suffix suffix = 3 [json_name = "suffix"]; + * @return The enum numeric value on the wire for suffix. + */ + @java.lang.Override public int getSuffixValue() { + return suffix_; + } + /** + *
+       * NOTE: If you add new fields here, make sure to update the prepareSlot()
+       * function responsible for parsing symbols.
+       * 
+ * + * .scip.Descriptor.Suffix suffix = 3 [json_name = "suffix"]; + * @param value The enum numeric value on the wire for suffix to set. + * @return This builder for chaining. + */ + public Builder setSuffixValue(int value) { + suffix_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + /** + *
+       * NOTE: If you add new fields here, make sure to update the prepareSlot()
+       * function responsible for parsing symbols.
+       * 
+ * + * .scip.Descriptor.Suffix suffix = 3 [json_name = "suffix"]; + * @return The suffix. + */ + @java.lang.Override + public scip.Scip.Descriptor.Suffix getSuffix() { + scip.Scip.Descriptor.Suffix result = scip.Scip.Descriptor.Suffix.forNumber(suffix_); + return result == null ? scip.Scip.Descriptor.Suffix.UNRECOGNIZED : result; + } + /** + *
+       * NOTE: If you add new fields here, make sure to update the prepareSlot()
+       * function responsible for parsing symbols.
+       * 
+ * + * .scip.Descriptor.Suffix suffix = 3 [json_name = "suffix"]; + * @param value The suffix to set. + * @return This builder for chaining. + */ + public Builder setSuffix(scip.Scip.Descriptor.Suffix value) { + if (value == null) { throw new NullPointerException(); } + bitField0_ |= 0x00000004; + suffix_ = value.getNumber(); + onChanged(); + return this; + } + /** + *
+       * NOTE: If you add new fields here, make sure to update the prepareSlot()
+       * function responsible for parsing symbols.
+       * 
+ * + * .scip.Descriptor.Suffix suffix = 3 [json_name = "suffix"]; + * @return This builder for chaining. + */ + public Builder clearSuffix() { + bitField0_ = (bitField0_ & ~0x00000004); + suffix_ = 0; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:scip.Descriptor) + } + + // @@protoc_insertion_point(class_scope:scip.Descriptor) + private static final scip.Scip.Descriptor DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new scip.Scip.Descriptor(); + } + + public static scip.Scip.Descriptor getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public Descriptor parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public scip.Scip.Descriptor getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface SignatureOrBuilder extends + // @@protoc_insertion_point(interface_extends:scip.Signature) + com.google.protobuf.MessageOrBuilder { + + /** + *
+     * The language of the signature, e.g. "java", "go", "python".
+     * 
+ * + * string language = 4 [json_name = "language"]; + * @return The language. + */ + java.lang.String getLanguage(); + /** + *
+     * The language of the signature, e.g. "java", "go", "python".
+     * 
+ * + * string language = 4 [json_name = "language"]; + * @return The bytes for language. + */ + com.google.protobuf.ByteString + getLanguageBytes(); + + /** + *
+     * The text content of the signature, e.g. "void add(int a, int b)".
+     * 
+ * + * string text = 5 [json_name = "text"]; + * @return The text. + */ + java.lang.String getText(); + /** + *
+     * The text content of the signature, e.g. "void add(int a, int b)".
+     * 
+ * + * string text = 5 [json_name = "text"]; + * @return The bytes for text. + */ + com.google.protobuf.ByteString + getTextBytes(); + + /** + *
+     * (optional) Occurrences within the signature text that reference other
+     * symbols, enabling hyperlinking of types in the signature. Ranges are
+     * relative to the `text` field.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + java.util.List + getOccurrencesList(); + /** + *
+     * (optional) Occurrences within the signature text that reference other
+     * symbols, enabling hyperlinking of types in the signature. Ranges are
+     * relative to the `text` field.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + scip.Scip.Occurrence getOccurrences(int index); + /** + *
+     * (optional) Occurrences within the signature text that reference other
+     * symbols, enabling hyperlinking of types in the signature. Ranges are
+     * relative to the `text` field.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + int getOccurrencesCount(); + /** + *
+     * (optional) Occurrences within the signature text that reference other
+     * symbols, enabling hyperlinking of types in the signature. Ranges are
+     * relative to the `text` field.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + java.util.List + getOccurrencesOrBuilderList(); + /** + *
+     * (optional) Occurrences within the signature text that reference other
+     * symbols, enabling hyperlinking of types in the signature. Ranges are
+     * relative to the `text` field.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + scip.Scip.OccurrenceOrBuilder getOccurrencesOrBuilder( + int index); + } + /** + *
+   * Signature represents the signature of a symbol as it's displayed in API
+   * documentation or hover tooltips. It uses a subset of Document's fields with
+   * the same field numbers for wire compatibility with older indexes that encoded
+   * signatures using the Document message type.
+   * 
+ * + * Protobuf type {@code scip.Signature} + */ + public static final class Signature extends + com.google.protobuf.GeneratedMessage implements + // @@protoc_insertion_point(message_implements:scip.Signature) + SignatureOrBuilder { + private static final long serialVersionUID = 0L; + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 32, + /* patch= */ 1, + /* suffix= */ "", + Signature.class.getName()); + } + // Use Signature.newBuilder() to construct. + private Signature(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + private Signature() { + language_ = ""; + text_ = ""; + occurrences_ = java.util.Collections.emptyList(); + } + + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return scip.Scip.internal_static_scip_Signature_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return scip.Scip.internal_static_scip_Signature_fieldAccessorTable + .ensureFieldAccessorsInitialized( + scip.Scip.Signature.class, scip.Scip.Signature.Builder.class); + } + + public static final int LANGUAGE_FIELD_NUMBER = 4; + @SuppressWarnings("serial") + private volatile java.lang.Object language_ = ""; + /** + *
+     * The language of the signature, e.g. "java", "go", "python".
+     * 
+ * + * string language = 4 [json_name = "language"]; + * @return The language. + */ + @java.lang.Override + public java.lang.String getLanguage() { + java.lang.Object ref = language_; + 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(); + language_ = s; + return s; + } + } + /** + *
+     * The language of the signature, e.g. "java", "go", "python".
+     * 
+ * + * string language = 4 [json_name = "language"]; + * @return The bytes for language. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getLanguageBytes() { + java.lang.Object ref = language_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + language_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int TEXT_FIELD_NUMBER = 5; + @SuppressWarnings("serial") + private volatile java.lang.Object text_ = ""; + /** + *
+     * The text content of the signature, e.g. "void add(int a, int b)".
+     * 
+ * + * string text = 5 [json_name = "text"]; + * @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; + } + } + /** + *
+     * The text content of the signature, e.g. "void add(int a, int b)".
+     * 
+ * + * string text = 5 [json_name = "text"]; + * @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 OCCURRENCES_FIELD_NUMBER = 2; + @SuppressWarnings("serial") + private java.util.List occurrences_; + /** + *
+     * (optional) Occurrences within the signature text that reference other
+     * symbols, enabling hyperlinking of types in the signature. Ranges are
+     * relative to the `text` field.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + @java.lang.Override + public java.util.List getOccurrencesList() { + return occurrences_; + } + /** + *
+     * (optional) Occurrences within the signature text that reference other
+     * symbols, enabling hyperlinking of types in the signature. Ranges are
+     * relative to the `text` field.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + @java.lang.Override + public java.util.List + getOccurrencesOrBuilderList() { + return occurrences_; + } + /** + *
+     * (optional) Occurrences within the signature text that reference other
+     * symbols, enabling hyperlinking of types in the signature. Ranges are
+     * relative to the `text` field.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + @java.lang.Override + public int getOccurrencesCount() { + return occurrences_.size(); + } + /** + *
+     * (optional) Occurrences within the signature text that reference other
+     * symbols, enabling hyperlinking of types in the signature. Ranges are
+     * relative to the `text` field.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + @java.lang.Override + public scip.Scip.Occurrence getOccurrences(int index) { + return occurrences_.get(index); + } + /** + *
+     * (optional) Occurrences within the signature text that reference other
+     * symbols, enabling hyperlinking of types in the signature. Ranges are
+     * relative to the `text` field.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + @java.lang.Override + public scip.Scip.OccurrenceOrBuilder 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 { + for (int i = 0; i < occurrences_.size(); i++) { + output.writeMessage(2, occurrences_.get(i)); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(language_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 4, language_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(text_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 5, text_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + for (int i = 0; i < occurrences_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(2, occurrences_.get(i)); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(language_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(4, language_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(text_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(5, text_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof scip.Scip.Signature)) { + return super.equals(obj); + } + scip.Scip.Signature other = (scip.Scip.Signature) obj; + + if (!getLanguage() + .equals(other.getLanguage())) return false; + if (!getText() + .equals(other.getText())) return false; + if (!getOccurrencesList() + .equals(other.getOccurrencesList())) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) 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) + LANGUAGE_FIELD_NUMBER; + hash = (53 * hash) + getLanguage().hashCode(); + hash = (37 * hash) + TEXT_FIELD_NUMBER; + hash = (53 * hash) + getText().hashCode(); + if (getOccurrencesCount() > 0) { + hash = (37 * hash) + OCCURRENCES_FIELD_NUMBER; + hash = (53 * hash) + getOccurrencesList().hashCode(); + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static scip.Scip.Signature parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static scip.Scip.Signature parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static scip.Scip.Signature parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static scip.Scip.Signature parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static scip.Scip.Signature parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static scip.Scip.Signature parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static scip.Scip.Signature parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static scip.Scip.Signature parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public static scip.Scip.Signature parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input); + } + + public static scip.Scip.Signature parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static scip.Scip.Signature parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static scip.Scip.Signature parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(scip.Scip.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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + *
+     * Signature represents the signature of a symbol as it's displayed in API
+     * documentation or hover tooltips. It uses a subset of Document's fields with
+     * the same field numbers for wire compatibility with older indexes that encoded
+     * signatures using the Document message type.
+     * 
+ * + * Protobuf type {@code scip.Signature} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder implements + // @@protoc_insertion_point(builder_implements:scip.Signature) + scip.Scip.SignatureOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return scip.Scip.internal_static_scip_Signature_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return scip.Scip.internal_static_scip_Signature_fieldAccessorTable + .ensureFieldAccessorsInitialized( + scip.Scip.Signature.class, scip.Scip.Signature.Builder.class); + } + + // Construct using scip.Scip.Signature.newBuilder() + private Builder() { + + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + + } + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + language_ = ""; + text_ = ""; + if (occurrencesBuilder_ == null) { + occurrences_ = java.util.Collections.emptyList(); + } else { + occurrences_ = null; + occurrencesBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000004); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return scip.Scip.internal_static_scip_Signature_descriptor; + } + + @java.lang.Override + public scip.Scip.Signature getDefaultInstanceForType() { + return scip.Scip.Signature.getDefaultInstance(); + } + + @java.lang.Override + public scip.Scip.Signature build() { + scip.Scip.Signature result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public scip.Scip.Signature buildPartial() { + scip.Scip.Signature result = new scip.Scip.Signature(this); + buildPartialRepeatedFields(result); + if (bitField0_ != 0) { buildPartial0(result); } + onBuilt(); + return result; + } + + private void buildPartialRepeatedFields(scip.Scip.Signature result) { + if (occurrencesBuilder_ == null) { + if (((bitField0_ & 0x00000004) != 0)) { + occurrences_ = java.util.Collections.unmodifiableList(occurrences_); + bitField0_ = (bitField0_ & ~0x00000004); + } + result.occurrences_ = occurrences_; + } else { + result.occurrences_ = occurrencesBuilder_.build(); + } + } + + private void buildPartial0(scip.Scip.Signature result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.language_ = language_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.text_ = text_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof scip.Scip.Signature) { + return mergeFrom((scip.Scip.Signature)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(scip.Scip.Signature other) { + if (other == scip.Scip.Signature.getDefaultInstance()) return this; + if (!other.getLanguage().isEmpty()) { + language_ = other.language_; + bitField0_ |= 0x00000001; + onChanged(); + } + if (!other.getText().isEmpty()) { + text_ = other.text_; + bitField0_ |= 0x00000002; + onChanged(); + } + if (occurrencesBuilder_ == null) { + if (!other.occurrences_.isEmpty()) { + if (occurrences_.isEmpty()) { + occurrences_ = other.occurrences_; + bitField0_ = (bitField0_ & ~0x00000004); + } else { + ensureOccurrencesIsMutable(); + occurrences_.addAll(other.occurrences_); + } + onChanged(); + } + } else { + if (!other.occurrences_.isEmpty()) { + if (occurrencesBuilder_.isEmpty()) { + occurrencesBuilder_.dispose(); + occurrencesBuilder_ = null; + occurrences_ = other.occurrences_; + bitField0_ = (bitField0_ & ~0x00000004); + occurrencesBuilder_ = + com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ? + internalGetOccurrencesFieldBuilder() : null; + } else { + occurrencesBuilder_.addAllMessages(other.occurrences_); + } + } + } + this.mergeUnknownFields(other.getUnknownFields()); + 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 { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 18: { + scip.Scip.Occurrence m = + input.readMessage( + scip.Scip.Occurrence.parser(), + extensionRegistry); + if (occurrencesBuilder_ == null) { + ensureOccurrencesIsMutable(); + occurrences_.add(m); + } else { + occurrencesBuilder_.addMessage(m); + } + break; + } // case 18 + case 34: { + language_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 34 + case 42: { + text_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000002; + break; + } // case 42 + default: { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + private int bitField0_; + + private java.lang.Object language_ = ""; + /** + *
+       * The language of the signature, e.g. "java", "go", "python".
+       * 
+ * + * string language = 4 [json_name = "language"]; + * @return The language. + */ + public java.lang.String getLanguage() { + java.lang.Object ref = language_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + language_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + *
+       * The language of the signature, e.g. "java", "go", "python".
+       * 
+ * + * string language = 4 [json_name = "language"]; + * @return The bytes for language. + */ + public com.google.protobuf.ByteString + getLanguageBytes() { + java.lang.Object ref = language_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + language_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + *
+       * The language of the signature, e.g. "java", "go", "python".
+       * 
+ * + * string language = 4 [json_name = "language"]; + * @param value The language to set. + * @return This builder for chaining. + */ + public Builder setLanguage( + java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + language_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + /** + *
+       * The language of the signature, e.g. "java", "go", "python".
+       * 
+ * + * string language = 4 [json_name = "language"]; + * @return This builder for chaining. + */ + public Builder clearLanguage() { + language_ = getDefaultInstance().getLanguage(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + /** + *
+       * The language of the signature, e.g. "java", "go", "python".
+       * 
+ * + * string language = 4 [json_name = "language"]; + * @param value The bytes for language to set. + * @return This builder for chaining. + */ + public Builder setLanguageBytes( + com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + checkByteStringIsUtf8(value); + language_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private java.lang.Object text_ = ""; + /** + *
+       * The text content of the signature, e.g. "void add(int a, int b)".
+       * 
+ * + * string text = 5 [json_name = "text"]; + * @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; + } + } + /** + *
+       * The text content of the signature, e.g. "void add(int a, int b)".
+       * 
+ * + * string text = 5 [json_name = "text"]; + * @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; + } + } + /** + *
+       * The text content of the signature, e.g. "void add(int a, int b)".
+       * 
+ * + * string text = 5 [json_name = "text"]; + * @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; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + /** + *
+       * The text content of the signature, e.g. "void add(int a, int b)".
+       * 
+ * + * string text = 5 [json_name = "text"]; + * @return This builder for chaining. + */ + public Builder clearText() { + text_ = getDefaultInstance().getText(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + /** + *
+       * The text content of the signature, e.g. "void add(int a, int b)".
+       * 
+ * + * string text = 5 [json_name = "text"]; + * @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; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + private java.util.List occurrences_ = + java.util.Collections.emptyList(); + private void ensureOccurrencesIsMutable() { + if (!((bitField0_ & 0x00000004) != 0)) { + occurrences_ = new java.util.ArrayList(occurrences_); + bitField0_ |= 0x00000004; + } + } + + private com.google.protobuf.RepeatedFieldBuilder< + scip.Scip.Occurrence, scip.Scip.Occurrence.Builder, scip.Scip.OccurrenceOrBuilder> occurrencesBuilder_; + + /** + *
+       * (optional) Occurrences within the signature text that reference other
+       * symbols, enabling hyperlinking of types in the signature. Ranges are
+       * relative to the `text` field.
+       * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public java.util.List getOccurrencesList() { + if (occurrencesBuilder_ == null) { + return java.util.Collections.unmodifiableList(occurrences_); + } else { + return occurrencesBuilder_.getMessageList(); + } + } + /** + *
+       * (optional) Occurrences within the signature text that reference other
+       * symbols, enabling hyperlinking of types in the signature. Ranges are
+       * relative to the `text` field.
+       * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public int getOccurrencesCount() { + if (occurrencesBuilder_ == null) { + return occurrences_.size(); + } else { + return occurrencesBuilder_.getCount(); + } + } + /** + *
+       * (optional) Occurrences within the signature text that reference other
+       * symbols, enabling hyperlinking of types in the signature. Ranges are
+       * relative to the `text` field.
+       * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public scip.Scip.Occurrence getOccurrences(int index) { + if (occurrencesBuilder_ == null) { + return occurrences_.get(index); + } else { + return occurrencesBuilder_.getMessage(index); + } + } + /** + *
+       * (optional) Occurrences within the signature text that reference other
+       * symbols, enabling hyperlinking of types in the signature. Ranges are
+       * relative to the `text` field.
+       * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public Builder setOccurrences( + int index, scip.Scip.Occurrence value) { + if (occurrencesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureOccurrencesIsMutable(); + occurrences_.set(index, value); + onChanged(); + } else { + occurrencesBuilder_.setMessage(index, value); + } + return this; + } + /** + *
+       * (optional) Occurrences within the signature text that reference other
+       * symbols, enabling hyperlinking of types in the signature. Ranges are
+       * relative to the `text` field.
+       * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public Builder setOccurrences( + int index, scip.Scip.Occurrence.Builder builderForValue) { + if (occurrencesBuilder_ == null) { + ensureOccurrencesIsMutable(); + occurrences_.set(index, builderForValue.build()); + onChanged(); + } else { + occurrencesBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + *
+       * (optional) Occurrences within the signature text that reference other
+       * symbols, enabling hyperlinking of types in the signature. Ranges are
+       * relative to the `text` field.
+       * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public Builder addOccurrences(scip.Scip.Occurrence value) { + if (occurrencesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureOccurrencesIsMutable(); + occurrences_.add(value); + onChanged(); + } else { + occurrencesBuilder_.addMessage(value); + } + return this; + } + /** + *
+       * (optional) Occurrences within the signature text that reference other
+       * symbols, enabling hyperlinking of types in the signature. Ranges are
+       * relative to the `text` field.
+       * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public Builder addOccurrences( + int index, scip.Scip.Occurrence value) { + if (occurrencesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureOccurrencesIsMutable(); + occurrences_.add(index, value); + onChanged(); + } else { + occurrencesBuilder_.addMessage(index, value); + } + return this; + } + /** + *
+       * (optional) Occurrences within the signature text that reference other
+       * symbols, enabling hyperlinking of types in the signature. Ranges are
+       * relative to the `text` field.
+       * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public Builder addOccurrences( + scip.Scip.Occurrence.Builder builderForValue) { + if (occurrencesBuilder_ == null) { + ensureOccurrencesIsMutable(); + occurrences_.add(builderForValue.build()); + onChanged(); + } else { + occurrencesBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + *
+       * (optional) Occurrences within the signature text that reference other
+       * symbols, enabling hyperlinking of types in the signature. Ranges are
+       * relative to the `text` field.
+       * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public Builder addOccurrences( + int index, scip.Scip.Occurrence.Builder builderForValue) { + if (occurrencesBuilder_ == null) { + ensureOccurrencesIsMutable(); + occurrences_.add(index, builderForValue.build()); + onChanged(); + } else { + occurrencesBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + *
+       * (optional) Occurrences within the signature text that reference other
+       * symbols, enabling hyperlinking of types in the signature. Ranges are
+       * relative to the `text` field.
+       * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + 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; + } + /** + *
+       * (optional) Occurrences within the signature text that reference other
+       * symbols, enabling hyperlinking of types in the signature. Ranges are
+       * relative to the `text` field.
+       * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public Builder clearOccurrences() { + if (occurrencesBuilder_ == null) { + occurrences_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000004); + onChanged(); + } else { + occurrencesBuilder_.clear(); + } + return this; + } + /** + *
+       * (optional) Occurrences within the signature text that reference other
+       * symbols, enabling hyperlinking of types in the signature. Ranges are
+       * relative to the `text` field.
+       * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public Builder removeOccurrences(int index) { + if (occurrencesBuilder_ == null) { + ensureOccurrencesIsMutable(); + occurrences_.remove(index); + onChanged(); + } else { + occurrencesBuilder_.remove(index); + } + return this; + } + /** + *
+       * (optional) Occurrences within the signature text that reference other
+       * symbols, enabling hyperlinking of types in the signature. Ranges are
+       * relative to the `text` field.
+       * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public scip.Scip.Occurrence.Builder getOccurrencesBuilder( + int index) { + return internalGetOccurrencesFieldBuilder().getBuilder(index); + } + /** + *
+       * (optional) Occurrences within the signature text that reference other
+       * symbols, enabling hyperlinking of types in the signature. Ranges are
+       * relative to the `text` field.
+       * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public scip.Scip.OccurrenceOrBuilder getOccurrencesOrBuilder( + int index) { + if (occurrencesBuilder_ == null) { + return occurrences_.get(index); } else { + return occurrencesBuilder_.getMessageOrBuilder(index); + } + } + /** + *
+       * (optional) Occurrences within the signature text that reference other
+       * symbols, enabling hyperlinking of types in the signature. Ranges are
+       * relative to the `text` field.
+       * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public java.util.List + getOccurrencesOrBuilderList() { + if (occurrencesBuilder_ != null) { + return occurrencesBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(occurrences_); + } + } + /** + *
+       * (optional) Occurrences within the signature text that reference other
+       * symbols, enabling hyperlinking of types in the signature. Ranges are
+       * relative to the `text` field.
+       * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public scip.Scip.Occurrence.Builder addOccurrencesBuilder() { + return internalGetOccurrencesFieldBuilder().addBuilder( + scip.Scip.Occurrence.getDefaultInstance()); + } + /** + *
+       * (optional) Occurrences within the signature text that reference other
+       * symbols, enabling hyperlinking of types in the signature. Ranges are
+       * relative to the `text` field.
+       * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public scip.Scip.Occurrence.Builder addOccurrencesBuilder( + int index) { + return internalGetOccurrencesFieldBuilder().addBuilder( + index, scip.Scip.Occurrence.getDefaultInstance()); + } + /** + *
+       * (optional) Occurrences within the signature text that reference other
+       * symbols, enabling hyperlinking of types in the signature. Ranges are
+       * relative to the `text` field.
+       * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public java.util.List + getOccurrencesBuilderList() { + return internalGetOccurrencesFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilder< + scip.Scip.Occurrence, scip.Scip.Occurrence.Builder, scip.Scip.OccurrenceOrBuilder> + internalGetOccurrencesFieldBuilder() { + if (occurrencesBuilder_ == null) { + occurrencesBuilder_ = new com.google.protobuf.RepeatedFieldBuilder< + scip.Scip.Occurrence, scip.Scip.Occurrence.Builder, scip.Scip.OccurrenceOrBuilder>( + occurrences_, + ((bitField0_ & 0x00000004) != 0), + getParentForChildren(), + isClean()); + occurrences_ = null; + } + return occurrencesBuilder_; + } + + // @@protoc_insertion_point(builder_scope:scip.Signature) + } + + // @@protoc_insertion_point(class_scope:scip.Signature) + private static final scip.Scip.Signature DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new scip.Scip.Signature(); + } + + public static scip.Scip.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 { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public scip.Scip.Signature getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface SymbolInformationOrBuilder extends + // @@protoc_insertion_point(interface_extends:scip.SymbolInformation) + com.google.protobuf.MessageOrBuilder { + + /** + *
+     * Identifier of this symbol, which can be referenced from `Occurence.symbol`.
+     * The string must be formatted according to the grammar in `Symbol`.
+     * 
+ * + * string symbol = 1 [json_name = "symbol"]; + * @return The symbol. + */ + java.lang.String getSymbol(); + /** + *
+     * Identifier of this symbol, which can be referenced from `Occurence.symbol`.
+     * The string must be formatted according to the grammar in `Symbol`.
+     * 
+ * + * string symbol = 1 [json_name = "symbol"]; + * @return The bytes for symbol. + */ + com.google.protobuf.ByteString + getSymbolBytes(); + + /** + *
+     * (optional, but strongly recommended) The markdown-formatted documentation
+     * for this symbol. Use `SymbolInformation.signature_documentation` to
+     * document the method/class/type signature of this symbol.
+     * Due to historical reasons, indexers may include signature documentation in
+     * this field by rendering markdown code blocks. New indexers should only
+     * include non-code documentation in this field, for example docstrings.
+     * 
+ * + * repeated string documentation = 3 [json_name = "documentation"]; + * @return A list containing the documentation. + */ + java.util.List + getDocumentationList(); + /** + *
+     * (optional, but strongly recommended) The markdown-formatted documentation
+     * for this symbol. Use `SymbolInformation.signature_documentation` to
+     * document the method/class/type signature of this symbol.
+     * Due to historical reasons, indexers may include signature documentation in
+     * this field by rendering markdown code blocks. New indexers should only
+     * include non-code documentation in this field, for example docstrings.
+     * 
+ * + * repeated string documentation = 3 [json_name = "documentation"]; + * @return The count of documentation. + */ + int getDocumentationCount(); + /** + *
+     * (optional, but strongly recommended) The markdown-formatted documentation
+     * for this symbol. Use `SymbolInformation.signature_documentation` to
+     * document the method/class/type signature of this symbol.
+     * Due to historical reasons, indexers may include signature documentation in
+     * this field by rendering markdown code blocks. New indexers should only
+     * include non-code documentation in this field, for example docstrings.
+     * 
+ * + * repeated string documentation = 3 [json_name = "documentation"]; + * @param index The index of the element to return. + * @return The documentation at the given index. + */ + java.lang.String getDocumentation(int index); + /** + *
+     * (optional, but strongly recommended) The markdown-formatted documentation
+     * for this symbol. Use `SymbolInformation.signature_documentation` to
+     * document the method/class/type signature of this symbol.
+     * Due to historical reasons, indexers may include signature documentation in
+     * this field by rendering markdown code blocks. New indexers should only
+     * include non-code documentation in this field, for example docstrings.
+     * 
+ * + * repeated string documentation = 3 [json_name = "documentation"]; + * @param index The index of the value to return. + * @return The bytes of the documentation at the given index. + */ + com.google.protobuf.ByteString + getDocumentationBytes(int index); + + /** + *
+     * (optional) Relationships to other symbols (e.g., implements, type definition).
+     * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + java.util.List + getRelationshipsList(); + /** + *
+     * (optional) Relationships to other symbols (e.g., implements, type definition).
+     * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + scip.Scip.Relationship getRelationships(int index); + /** + *
+     * (optional) Relationships to other symbols (e.g., implements, type definition).
+     * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + int getRelationshipsCount(); + /** + *
+     * (optional) Relationships to other symbols (e.g., implements, type definition).
+     * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + java.util.List + getRelationshipsOrBuilderList(); + /** + *
+     * (optional) Relationships to other symbols (e.g., implements, type definition).
+     * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + scip.Scip.RelationshipOrBuilder getRelationshipsOrBuilder( + int index); + + /** + *
+     * The kind of this symbol. Use this field instead of
+     * `SymbolDescriptor.Suffix` to determine whether something is, for example, a
+     * class or a method.
+     * 
+ * + * .scip.SymbolInformation.Kind kind = 5 [json_name = "kind"]; + * @return The enum numeric value on the wire for kind. + */ + int getKindValue(); + /** + *
+     * The kind of this symbol. Use this field instead of
+     * `SymbolDescriptor.Suffix` to determine whether something is, for example, a
+     * class or a method.
+     * 
+ * + * .scip.SymbolInformation.Kind kind = 5 [json_name = "kind"]; + * @return The kind. + */ + scip.Scip.SymbolInformation.Kind getKind(); + + /** + *
+     * (optional) The name of this symbol as it should be displayed to the user.
+     * For example, the symbol "com/example/MyClass#myMethod(+1)." should have the
+     * display name "myMethod". The `symbol` field is not a reliable source of
+     * the display name for several reasons:
+     *
+     * - Local symbols don't encode the name.
+     * - Some languages have case-insensitive names, so the symbol is all-lowercase.
+     * - The symbol may encode names with special characters that should not be
+     * displayed to the user.
+     * 
+ * + * string display_name = 6 [json_name = "displayName"]; + * @return The displayName. + */ + java.lang.String getDisplayName(); + /** + *
+     * (optional) The name of this symbol as it should be displayed to the user.
+     * For example, the symbol "com/example/MyClass#myMethod(+1)." should have the
+     * display name "myMethod". The `symbol` field is not a reliable source of
+     * the display name for several reasons:
+     *
+     * - Local symbols don't encode the name.
+     * - Some languages have case-insensitive names, so the symbol is all-lowercase.
+     * - The symbol may encode names with special characters that should not be
+     * displayed to the user.
+     * 
+ * + * string display_name = 6 [json_name = "displayName"]; + * @return The bytes for displayName. + */ + com.google.protobuf.ByteString + getDisplayNameBytes(); + + /** + *
+     * (optional) The signature of this symbol as it's displayed in API
+     * documentation or in hover tooltips. For example, a Java method that adds
+     * two numbers would have `Signature.language = "java"` and
+     * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
+     * fields are required while `occurrences` can be optionally included to
+     * support hyperlinking referenced symbols in the signature.
+     * 
+ * + * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; + * @return Whether the signatureDocumentation field is set. + */ + boolean hasSignatureDocumentation(); + /** + *
+     * (optional) The signature of this symbol as it's displayed in API
+     * documentation or in hover tooltips. For example, a Java method that adds
+     * two numbers would have `Signature.language = "java"` and
+     * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
+     * fields are required while `occurrences` can be optionally included to
+     * support hyperlinking referenced symbols in the signature.
+     * 
+ * + * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; + * @return The signatureDocumentation. + */ + scip.Scip.Signature getSignatureDocumentation(); + /** + *
+     * (optional) The signature of this symbol as it's displayed in API
+     * documentation or in hover tooltips. For example, a Java method that adds
+     * two numbers would have `Signature.language = "java"` and
+     * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
+     * fields are required while `occurrences` can be optionally included to
+     * support hyperlinking referenced symbols in the signature.
+     * 
+ * + * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; + */ + scip.Scip.SignatureOrBuilder getSignatureDocumentationOrBuilder(); + + /** + *
+     * (optional) The enclosing symbol if this is a local symbol.  For non-local
+     * symbols, the enclosing symbol should be parsed from the `symbol` field
+     * using the `Descriptor` grammar.
+     *
+     * The primary use-case for this field is to allow local symbol to be displayed
+     * in a symbol hierarchy for API documentation. It's OK to leave this field
+     * empty for local variables since local variables usually don't belong in API
+     * documentation. However, in the situation that you wish to include a local
+     * symbol in the hierarchy, then you can use `enclosing_symbol` to locate the
+     * "parent" or "owner" of this local symbol. For example, a Java indexer may
+     * choose to use local symbols for private class fields while providing an
+     * `enclosing_symbol` to reference the enclosing class to allow the field to
+     * be part of the class documentation hierarchy. From the perspective of an
+     * author of an indexer, the decision to use a local symbol or global symbol
+     * should exclusively be determined whether the local symbol is accessible
+     * outside the document, not by the capability to find the enclosing
+     * symbol.
+     * 
+ * + * string enclosing_symbol = 8 [json_name = "enclosingSymbol"]; + * @return The enclosingSymbol. + */ + java.lang.String getEnclosingSymbol(); + /** + *
+     * (optional) The enclosing symbol if this is a local symbol.  For non-local
+     * symbols, the enclosing symbol should be parsed from the `symbol` field
+     * using the `Descriptor` grammar.
+     *
+     * The primary use-case for this field is to allow local symbol to be displayed
+     * in a symbol hierarchy for API documentation. It's OK to leave this field
+     * empty for local variables since local variables usually don't belong in API
+     * documentation. However, in the situation that you wish to include a local
+     * symbol in the hierarchy, then you can use `enclosing_symbol` to locate the
+     * "parent" or "owner" of this local symbol. For example, a Java indexer may
+     * choose to use local symbols for private class fields while providing an
+     * `enclosing_symbol` to reference the enclosing class to allow the field to
+     * be part of the class documentation hierarchy. From the perspective of an
+     * author of an indexer, the decision to use a local symbol or global symbol
+     * should exclusively be determined whether the local symbol is accessible
+     * outside the document, not by the capability to find the enclosing
+     * symbol.
+     * 
+ * + * string enclosing_symbol = 8 [json_name = "enclosingSymbol"]; + * @return The bytes for enclosingSymbol. + */ + com.google.protobuf.ByteString + getEnclosingSymbolBytes(); + } + /** + *
+   * SymbolInformation defines metadata about a symbol, such as the symbol's
+   * docstring or what package it's defined it.
+   * 
+ * + * Protobuf type {@code scip.SymbolInformation} + */ + public static final class SymbolInformation extends + com.google.protobuf.GeneratedMessage implements + // @@protoc_insertion_point(message_implements:scip.SymbolInformation) + SymbolInformationOrBuilder { + private static final long serialVersionUID = 0L; + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 32, + /* patch= */ 1, + /* suffix= */ "", + SymbolInformation.class.getName()); + } + // Use SymbolInformation.newBuilder() to construct. + private SymbolInformation(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + private SymbolInformation() { + symbol_ = ""; + documentation_ = + com.google.protobuf.LazyStringArrayList.emptyList(); + relationships_ = java.util.Collections.emptyList(); + kind_ = 0; + displayName_ = ""; + enclosingSymbol_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return scip.Scip.internal_static_scip_SymbolInformation_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return scip.Scip.internal_static_scip_SymbolInformation_fieldAccessorTable + .ensureFieldAccessorsInitialized( + scip.Scip.SymbolInformation.class, scip.Scip.SymbolInformation.Builder.class); + } + + /** + *
+     * (optional) Kind represents the fine-grained category of a symbol, suitable for presenting
+     * information about the symbol's meaning in the language.
+     *
+     * For example:
+     * - A Java method would have the kind `Method` while a Go function would
+     * have the kind `Function`, even if the symbols for these use the same
+     * syntax for the descriptor `SymbolDescriptor.Suffix.Method`.
+     * - A Go struct has the symbol kind `Struct` while a Java class has
+     * the symbol kind `Class` even if they both have the same descriptor:
+     * `SymbolDescriptor.Suffix.Type`.
+     *
+     * Since Kind is more fine-grained than Suffix:
+     * - If two symbols have the same Kind, they should share the same Suffix.
+     * - If two symbols have different Suffixes, they should have different Kinds.
+     * 
+ * + * Protobuf enum {@code scip.SymbolInformation.Kind} + */ + public enum Kind + implements com.google.protobuf.ProtocolMessageEnum { + /** + * UnspecifiedKind = 0; + */ + UnspecifiedKind(0), + /** + *
+       * A method which may or may not have a body. For Java, Kotlin etc.
+       * 
+ * + * AbstractMethod = 66; + */ + AbstractMethod(66), + /** + *
+       * For Ruby's attr_accessor
+       * 
+ * + * Accessor = 72; + */ + Accessor(72), + /** + * Array = 1; + */ + Array(1), + /** + *
+       * For Alloy
+       * 
+ * + * Assertion = 2; + */ + Assertion(2), + /** + * AssociatedType = 3; + */ + AssociatedType(3), + /** + *
+       * For C++
+       * 
+ * + * Attribute = 4; + */ + Attribute(4), + /** + *
+       * For Lean
+       * 
+ * + * Axiom = 5; + */ + Axiom(5), + /** + * Boolean = 6; + */ + Boolean(6), + /** + * Class = 7; + */ + Class(7), + /** + *
+       * For C++
+       * 
+ * + * Concept = 86; + */ + Concept(86), + /** + * Constant = 8; + */ + Constant(8), + /** + * Constructor = 9; + */ + Constructor(9), + /** + *
+       * For Solidity
+       * 
+ * + * Contract = 62; + */ + Contract(62), + /** + *
+       * For Haskell
+       * 
+ * + * DataFamily = 10; + */ + DataFamily(10), + /** + *
+       * For C# and F#
+       * 
+ * + * Delegate = 73; + */ + Delegate(73), + /** + * Enum = 11; + */ + Enum(11), + /** + * EnumMember = 12; + */ + EnumMember(12), + /** + * Error = 63; + */ + Error(63), + /** + * Event = 13; + */ + Event(13), + /** + *
+       * For Dart
+       * 
+ * + * Extension = 84; + */ + Extension(84), + /** + *
+       * For Alloy
+       * 
+ * + * Fact = 14; + */ + Fact(14), + /** + * Field = 15; + */ + Field(15), + /** + * File = 16; + */ + File(16), + /** + * Function = 17; + */ + Function(17), + /** + *
+       * For 'get' in Swift, 'attr_reader' in Ruby
+       * 
+ * + * Getter = 18; + */ + Getter(18), + /** + *
+       * For Raku
+       * 
+ * + * Grammar = 19; + */ + Grammar(19), + /** + *
+       * For Purescript and Lean
+       * 
+ * + * Instance = 20; + */ + Instance(20), + /** + * Interface = 21; + */ + Interface(21), + /** + * Key = 22; + */ + Key(22), + /** + *
+       * For Racket
+       * 
+ * + * Lang = 23; + */ + Lang(23), + /** + *
+       * For Lean
+       * 
+ * + * Lemma = 24; + */ + Lemma(24), + /** + *
+       * For solidity
+       * 
+ * + * Library = 64; + */ + Library(64), + /** + * Macro = 25; + */ + Macro(25), + /** + * Method = 26; + */ + Method(26), + /** + *
+       * For Ruby
+       * 
+ * + * MethodAlias = 74; + */ + MethodAlias(74), + /** + *
+       * Analogous to 'ThisParameter' and 'SelfParameter', but for languages
+       * like Go where the receiver doesn't have a conventional name.
+       * 
+ * + * MethodReceiver = 27; + */ + MethodReceiver(27), + /** + *
+       * Analogous to 'AbstractMethod', for Go.
+       * 
+ * + * MethodSpecification = 67; + */ + MethodSpecification(67), + /** + *
+       * For Protobuf
+       * 
+ * + * Message = 28; + */ + Message(28), + /** + *
+       * For Dart
+       * 
+ * + * Mixin = 85; + */ + Mixin(85), + /** + *
+       * For Solidity
+       * 
+ * + * Modifier = 65; + */ + Modifier(65), + /** + * Module = 29; + */ + Module(29), + /** + * Namespace = 30; + */ + Namespace(30), + /** + * Null = 31; + */ + Null(31), + /** + * Number = 32; + */ + Number(32), + /** + * Object = 33; + */ + Object(33), + /** + * Operator = 34; + */ + Operator(34), + /** + * Package = 35; + */ + Package(35), + /** + * PackageObject = 36; + */ + PackageObject(36), + /** + * Parameter = 37; + */ + Parameter(37), + /** + * ParameterLabel = 38; + */ + ParameterLabel(38), + /** + *
+       * For Haskell's PatternSynonyms
+       * 
+ * + * Pattern = 39; + */ + Pattern(39), + /** + *
+       * For Alloy
+       * 
+ * + * Predicate = 40; + */ + Predicate(40), + /** + * Property = 41; + */ + Property(41), + /** + *
+       * Analogous to 'Trait' and 'TypeClass', for Swift and Objective-C
+       * 
+ * + * Protocol = 42; + */ + Protocol(42), + /** + *
+       * Analogous to 'AbstractMethod', for Swift and Objective-C.
+       * 
+ * + * ProtocolMethod = 68; + */ + ProtocolMethod(68), + /** + *
+       * Analogous to 'AbstractMethod', for C++.
+       * 
+ * + * PureVirtualMethod = 69; + */ + PureVirtualMethod(69), + /** + *
+       * For Haskell
+       * 
+ * + * Quasiquoter = 43; + */ + Quasiquoter(43), + /** + *
+       * 'self' in Python, Rust, Swift etc.
+       * 
+ * + * SelfParameter = 44; + */ + SelfParameter(44), + /** + *
+       * For 'set' in Swift, 'attr_writer' in Ruby
+       * 
+ * + * Setter = 45; + */ + Setter(45), + /** + *
+       * For Alloy, analogous to 'Struct'.
+       * 
+ * + * Signature = 46; + */ + Signature(46), + /** + *
+       * For Ruby
+       * 
+ * + * SingletonClass = 75; + */ + SingletonClass(75), + /** + *
+       * Analogous to 'StaticMethod', for Ruby.
+       * 
+ * + * SingletonMethod = 76; + */ + SingletonMethod(76), + /** + *
+       * Analogous to 'StaticField', for C++
+       * 
+ * + * StaticDataMember = 77; + */ + StaticDataMember(77), + /** + *
+       * For C#
+       * 
+ * + * StaticEvent = 78; + */ + StaticEvent(78), + /** + *
+       * For C#
+       * 
+ * + * StaticField = 79; + */ + StaticField(79), + /** + *
+       * For Java, C#, C++ etc.
+       * 
+ * + * StaticMethod = 80; + */ + StaticMethod(80), + /** + *
+       * For C#, TypeScript etc.
+       * 
+ * + * StaticProperty = 81; + */ + StaticProperty(81), + /** + *
+       * For C, C++
+       * 
+ * + * StaticVariable = 82; + */ + StaticVariable(82), + /** + * String = 48; + */ + String(48), + /** + * Struct = 49; + */ + Struct(49), + /** + *
+       * For Swift
+       * 
+ * + * Subscript = 47; + */ + Subscript(47), + /** + *
+       * For Lean
+       * 
+ * + * Tactic = 50; + */ + Tactic(50), + /** + *
+       * For Lean
+       * 
+ * + * Theorem = 51; + */ + Theorem(51), + /** + *
+       * Method receiver for languages
+       * 'this' in JavaScript, C++, Java etc.
+       * 
+ * + * ThisParameter = 52; + */ + ThisParameter(52), + /** + *
+       * Analogous to 'Protocol' and 'TypeClass', for Rust, Scala etc.
+       * 
+ * + * Trait = 53; + */ + Trait(53), + /** + *
+       * Analogous to 'AbstractMethod', for Rust, Scala etc.
+       * 
+ * + * TraitMethod = 70; + */ + TraitMethod(70), + /** + *
+       * Data type definition for languages like OCaml which use `type`
+       * rather than separate keywords like `struct` and `enum`.
+       * 
+ * + * Type = 54; + */ + Type(54), + /** + * TypeAlias = 55; + */ + TypeAlias(55), + /** + *
+       * Analogous to 'Trait' and 'Protocol', for Haskell, Purescript etc.
+       * 
+ * + * TypeClass = 56; + */ + TypeClass(56), + /** + *
+       * Analogous to 'AbstractMethod', for Haskell, Purescript etc.
+       * 
+ * + * TypeClassMethod = 71; + */ + TypeClassMethod(71), + /** + *
+       * For Haskell
+       * 
+ * + * TypeFamily = 57; + */ + TypeFamily(57), + /** + * TypeParameter = 58; + */ + TypeParameter(58), + /** + *
+       * For C, C++, Capn Proto
+       * 
+ * + * Union = 59; + */ + Union(59), + /** + * Value = 60; + */ + Value(60), + /** + *
+       * Next = 87;
+       * Feel free to open a PR proposing new language-specific kinds.
+       * 
+ * + * Variable = 61; + */ + Variable(61), + UNRECOGNIZED(-1), + ; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 32, + /* patch= */ 1, + /* suffix= */ "", + Kind.class.getName()); + } + /** + * UnspecifiedKind = 0; + */ + public static final int UnspecifiedKind_VALUE = 0; + /** + *
+       * A method which may or may not have a body. For Java, Kotlin etc.
+       * 
+ * + * AbstractMethod = 66; + */ + public static final int AbstractMethod_VALUE = 66; + /** + *
+       * For Ruby's attr_accessor
+       * 
+ * + * Accessor = 72; + */ + public static final int Accessor_VALUE = 72; + /** + * Array = 1; + */ + public static final int Array_VALUE = 1; + /** + *
+       * For Alloy
+       * 
+ * + * Assertion = 2; + */ + public static final int Assertion_VALUE = 2; + /** + * AssociatedType = 3; + */ + public static final int AssociatedType_VALUE = 3; + /** + *
+       * For C++
+       * 
+ * + * Attribute = 4; + */ + public static final int Attribute_VALUE = 4; + /** + *
+       * For Lean
+       * 
+ * + * Axiom = 5; + */ + public static final int Axiom_VALUE = 5; + /** + * Boolean = 6; + */ + public static final int Boolean_VALUE = 6; + /** + * Class = 7; + */ + public static final int Class_VALUE = 7; + /** + *
+       * For C++
+       * 
+ * + * Concept = 86; + */ + public static final int Concept_VALUE = 86; + /** + * Constant = 8; + */ + public static final int Constant_VALUE = 8; + /** + * Constructor = 9; + */ + public static final int Constructor_VALUE = 9; + /** + *
+       * For Solidity
+       * 
+ * + * Contract = 62; + */ + public static final int Contract_VALUE = 62; + /** + *
+       * For Haskell
+       * 
+ * + * DataFamily = 10; + */ + public static final int DataFamily_VALUE = 10; + /** + *
+       * For C# and F#
+       * 
+ * + * Delegate = 73; + */ + public static final int Delegate_VALUE = 73; + /** + * Enum = 11; + */ + public static final int Enum_VALUE = 11; + /** + * EnumMember = 12; + */ + public static final int EnumMember_VALUE = 12; + /** + * Error = 63; + */ + public static final int Error_VALUE = 63; + /** + * Event = 13; + */ + public static final int Event_VALUE = 13; + /** + *
+       * For Dart
+       * 
+ * + * Extension = 84; + */ + public static final int Extension_VALUE = 84; + /** + *
+       * For Alloy
+       * 
+ * + * Fact = 14; + */ + public static final int Fact_VALUE = 14; + /** + * Field = 15; + */ + public static final int Field_VALUE = 15; + /** + * File = 16; + */ + public static final int File_VALUE = 16; + /** + * Function = 17; + */ + public static final int Function_VALUE = 17; + /** + *
+       * For 'get' in Swift, 'attr_reader' in Ruby
+       * 
+ * + * Getter = 18; + */ + public static final int Getter_VALUE = 18; + /** + *
+       * For Raku
+       * 
+ * + * Grammar = 19; + */ + public static final int Grammar_VALUE = 19; + /** + *
+       * For Purescript and Lean
+       * 
+ * + * Instance = 20; + */ + public static final int Instance_VALUE = 20; + /** + * Interface = 21; + */ + public static final int Interface_VALUE = 21; + /** + * Key = 22; + */ + public static final int Key_VALUE = 22; + /** + *
+       * For Racket
+       * 
+ * + * Lang = 23; + */ + public static final int Lang_VALUE = 23; + /** + *
+       * For Lean
+       * 
+ * + * Lemma = 24; + */ + public static final int Lemma_VALUE = 24; + /** + *
+       * For solidity
+       * 
+ * + * Library = 64; + */ + public static final int Library_VALUE = 64; + /** + * Macro = 25; + */ + public static final int Macro_VALUE = 25; + /** + * Method = 26; + */ + public static final int Method_VALUE = 26; + /** + *
+       * For Ruby
+       * 
+ * + * MethodAlias = 74; + */ + public static final int MethodAlias_VALUE = 74; + /** + *
+       * Analogous to 'ThisParameter' and 'SelfParameter', but for languages
+       * like Go where the receiver doesn't have a conventional name.
+       * 
+ * + * MethodReceiver = 27; + */ + public static final int MethodReceiver_VALUE = 27; + /** + *
+       * Analogous to 'AbstractMethod', for Go.
+       * 
+ * + * MethodSpecification = 67; + */ + public static final int MethodSpecification_VALUE = 67; + /** + *
+       * For Protobuf
+       * 
+ * + * Message = 28; + */ + public static final int Message_VALUE = 28; + /** + *
+       * For Dart
+       * 
+ * + * Mixin = 85; + */ + public static final int Mixin_VALUE = 85; + /** + *
+       * For Solidity
+       * 
+ * + * Modifier = 65; + */ + public static final int Modifier_VALUE = 65; + /** + * Module = 29; + */ + public static final int Module_VALUE = 29; + /** + * Namespace = 30; + */ + public static final int Namespace_VALUE = 30; + /** + * Null = 31; + */ + public static final int Null_VALUE = 31; + /** + * Number = 32; + */ + public static final int Number_VALUE = 32; + /** + * Object = 33; + */ + public static final int Object_VALUE = 33; + /** + * Operator = 34; + */ + public static final int Operator_VALUE = 34; + /** + * Package = 35; + */ + public static final int Package_VALUE = 35; + /** + * PackageObject = 36; + */ + public static final int PackageObject_VALUE = 36; + /** + * Parameter = 37; + */ + public static final int Parameter_VALUE = 37; + /** + * ParameterLabel = 38; + */ + public static final int ParameterLabel_VALUE = 38; + /** + *
+       * For Haskell's PatternSynonyms
+       * 
+ * + * Pattern = 39; + */ + public static final int Pattern_VALUE = 39; + /** + *
+       * For Alloy
+       * 
+ * + * Predicate = 40; + */ + public static final int Predicate_VALUE = 40; + /** + * Property = 41; + */ + public static final int Property_VALUE = 41; + /** + *
+       * Analogous to 'Trait' and 'TypeClass', for Swift and Objective-C
+       * 
+ * + * Protocol = 42; + */ + public static final int Protocol_VALUE = 42; + /** + *
+       * Analogous to 'AbstractMethod', for Swift and Objective-C.
+       * 
+ * + * ProtocolMethod = 68; + */ + public static final int ProtocolMethod_VALUE = 68; + /** + *
+       * Analogous to 'AbstractMethod', for C++.
+       * 
+ * + * PureVirtualMethod = 69; + */ + public static final int PureVirtualMethod_VALUE = 69; + /** + *
+       * For Haskell
+       * 
+ * + * Quasiquoter = 43; + */ + public static final int Quasiquoter_VALUE = 43; + /** + *
+       * 'self' in Python, Rust, Swift etc.
+       * 
+ * + * SelfParameter = 44; + */ + public static final int SelfParameter_VALUE = 44; + /** + *
+       * For 'set' in Swift, 'attr_writer' in Ruby
+       * 
+ * + * Setter = 45; + */ + public static final int Setter_VALUE = 45; + /** + *
+       * For Alloy, analogous to 'Struct'.
+       * 
+ * + * Signature = 46; + */ + public static final int Signature_VALUE = 46; + /** + *
+       * For Ruby
+       * 
+ * + * SingletonClass = 75; + */ + public static final int SingletonClass_VALUE = 75; + /** + *
+       * Analogous to 'StaticMethod', for Ruby.
+       * 
+ * + * SingletonMethod = 76; + */ + public static final int SingletonMethod_VALUE = 76; + /** + *
+       * Analogous to 'StaticField', for C++
+       * 
+ * + * StaticDataMember = 77; + */ + public static final int StaticDataMember_VALUE = 77; + /** + *
+       * For C#
+       * 
+ * + * StaticEvent = 78; + */ + public static final int StaticEvent_VALUE = 78; + /** + *
+       * For C#
+       * 
+ * + * StaticField = 79; + */ + public static final int StaticField_VALUE = 79; + /** + *
+       * For Java, C#, C++ etc.
+       * 
+ * + * StaticMethod = 80; + */ + public static final int StaticMethod_VALUE = 80; + /** + *
+       * For C#, TypeScript etc.
+       * 
+ * + * StaticProperty = 81; + */ + public static final int StaticProperty_VALUE = 81; + /** + *
+       * For C, C++
+       * 
+ * + * StaticVariable = 82; + */ + public static final int StaticVariable_VALUE = 82; + /** + * String = 48; + */ + public static final int String_VALUE = 48; + /** + * Struct = 49; + */ + public static final int Struct_VALUE = 49; + /** + *
+       * For Swift
+       * 
+ * + * Subscript = 47; + */ + public static final int Subscript_VALUE = 47; + /** + *
+       * For Lean
+       * 
+ * + * Tactic = 50; + */ + public static final int Tactic_VALUE = 50; + /** + *
+       * For Lean
+       * 
+ * + * Theorem = 51; + */ + public static final int Theorem_VALUE = 51; + /** + *
+       * Method receiver for languages
+       * 'this' in JavaScript, C++, Java etc.
+       * 
+ * + * ThisParameter = 52; + */ + public static final int ThisParameter_VALUE = 52; + /** + *
+       * Analogous to 'Protocol' and 'TypeClass', for Rust, Scala etc.
+       * 
+ * + * Trait = 53; + */ + public static final int Trait_VALUE = 53; + /** + *
+       * Analogous to 'AbstractMethod', for Rust, Scala etc.
+       * 
+ * + * TraitMethod = 70; + */ + public static final int TraitMethod_VALUE = 70; + /** + *
+       * Data type definition for languages like OCaml which use `type`
+       * rather than separate keywords like `struct` and `enum`.
+       * 
+ * + * Type = 54; + */ + public static final int Type_VALUE = 54; + /** + * TypeAlias = 55; + */ + public static final int TypeAlias_VALUE = 55; + /** + *
+       * Analogous to 'Trait' and 'Protocol', for Haskell, Purescript etc.
+       * 
+ * + * TypeClass = 56; + */ + public static final int TypeClass_VALUE = 56; + /** + *
+       * Analogous to 'AbstractMethod', for Haskell, Purescript etc.
+       * 
+ * + * TypeClassMethod = 71; + */ + public static final int TypeClassMethod_VALUE = 71; + /** + *
+       * For Haskell
+       * 
+ * + * TypeFamily = 57; + */ + public static final int TypeFamily_VALUE = 57; + /** + * TypeParameter = 58; + */ + public static final int TypeParameter_VALUE = 58; + /** + *
+       * For C, C++, Capn Proto
+       * 
+ * + * Union = 59; + */ + public static final int Union_VALUE = 59; + /** + * Value = 60; + */ + public static final int Value_VALUE = 60; + /** + *
+       * Next = 87;
+       * Feel free to open a PR proposing new language-specific kinds.
+       * 
+ * + * Variable = 61; + */ + public static final int Variable_VALUE = 61; + + + 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 UnspecifiedKind; + case 66: return AbstractMethod; + case 72: return Accessor; + case 1: return Array; + case 2: return Assertion; + case 3: return AssociatedType; + case 4: return Attribute; + case 5: return Axiom; + case 6: return Boolean; + case 7: return Class; + case 86: return Concept; + case 8: return Constant; + case 9: return Constructor; + case 62: return Contract; + case 10: return DataFamily; + case 73: return Delegate; + case 11: return Enum; + case 12: return EnumMember; + case 63: return Error; + case 13: return Event; + case 84: return Extension; + case 14: return Fact; + case 15: return Field; + case 16: return File; + case 17: return Function; + case 18: return Getter; + case 19: return Grammar; + case 20: return Instance; + case 21: return Interface; + case 22: return Key; + case 23: return Lang; + case 24: return Lemma; + case 64: return Library; + case 25: return Macro; + case 26: return Method; + case 74: return MethodAlias; + case 27: return MethodReceiver; + case 67: return MethodSpecification; + case 28: return Message; + case 85: return Mixin; + case 65: return Modifier; + case 29: return Module; + case 30: return Namespace; + case 31: return Null; + case 32: return Number; + case 33: return Object; + case 34: return Operator; + case 35: return Package; + case 36: return PackageObject; + case 37: return Parameter; + case 38: return ParameterLabel; + case 39: return Pattern; + case 40: return Predicate; + case 41: return Property; + case 42: return Protocol; + case 68: return ProtocolMethod; + case 69: return PureVirtualMethod; + case 43: return Quasiquoter; + case 44: return SelfParameter; + case 45: return Setter; + case 46: return Signature; + case 75: return SingletonClass; + case 76: return SingletonMethod; + case 77: return StaticDataMember; + case 78: return StaticEvent; + case 79: return StaticField; + case 80: return StaticMethod; + case 81: return StaticProperty; + case 82: return StaticVariable; + case 48: return String; + case 49: return Struct; + case 47: return Subscript; + case 50: return Tactic; + case 51: return Theorem; + case 52: return ThisParameter; + case 53: return Trait; + case 70: return TraitMethod; + case 54: return Type; + case 55: return TypeAlias; + case 56: return TypeClass; + case 71: return TypeClassMethod; + case 57: return TypeFamily; + case 58: return TypeParameter; + case 59: return Union; + case 60: return Value; + case 61: return Variable; + 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 com.google.protobuf.Descriptors.EnumDescriptor + getDescriptor() { + return scip.Scip.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:scip.SymbolInformation.Kind) + } + + private int bitField0_; + public static final int SYMBOL_FIELD_NUMBER = 1; + @SuppressWarnings("serial") + private volatile java.lang.Object symbol_ = ""; + /** + *
+     * Identifier of this symbol, which can be referenced from `Occurence.symbol`.
+     * The string must be formatted according to the grammar in `Symbol`.
+     * 
+ * + * string symbol = 1 [json_name = "symbol"]; + * @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; + } + } + /** + *
+     * Identifier of this symbol, which can be referenced from `Occurence.symbol`.
+     * The string must be formatted according to the grammar in `Symbol`.
+     * 
+ * + * string symbol = 1 [json_name = "symbol"]; + * @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 DOCUMENTATION_FIELD_NUMBER = 3; + @SuppressWarnings("serial") + private com.google.protobuf.LazyStringArrayList documentation_ = + com.google.protobuf.LazyStringArrayList.emptyList(); + /** + *
+     * (optional, but strongly recommended) The markdown-formatted documentation
+     * for this symbol. Use `SymbolInformation.signature_documentation` to
+     * document the method/class/type signature of this symbol.
+     * Due to historical reasons, indexers may include signature documentation in
+     * this field by rendering markdown code blocks. New indexers should only
+     * include non-code documentation in this field, for example docstrings.
+     * 
+ * + * repeated string documentation = 3 [json_name = "documentation"]; + * @return A list containing the documentation. + */ + public com.google.protobuf.ProtocolStringList + getDocumentationList() { + return documentation_; + } + /** + *
+     * (optional, but strongly recommended) The markdown-formatted documentation
+     * for this symbol. Use `SymbolInformation.signature_documentation` to
+     * document the method/class/type signature of this symbol.
+     * Due to historical reasons, indexers may include signature documentation in
+     * this field by rendering markdown code blocks. New indexers should only
+     * include non-code documentation in this field, for example docstrings.
+     * 
+ * + * repeated string documentation = 3 [json_name = "documentation"]; + * @return The count of documentation. + */ + public int getDocumentationCount() { + return documentation_.size(); + } + /** + *
+     * (optional, but strongly recommended) The markdown-formatted documentation
+     * for this symbol. Use `SymbolInformation.signature_documentation` to
+     * document the method/class/type signature of this symbol.
+     * Due to historical reasons, indexers may include signature documentation in
+     * this field by rendering markdown code blocks. New indexers should only
+     * include non-code documentation in this field, for example docstrings.
+     * 
+ * + * repeated string documentation = 3 [json_name = "documentation"]; + * @param index The index of the element to return. + * @return The documentation at the given index. + */ + public java.lang.String getDocumentation(int index) { + return documentation_.get(index); + } + /** + *
+     * (optional, but strongly recommended) The markdown-formatted documentation
+     * for this symbol. Use `SymbolInformation.signature_documentation` to
+     * document the method/class/type signature of this symbol.
+     * Due to historical reasons, indexers may include signature documentation in
+     * this field by rendering markdown code blocks. New indexers should only
+     * include non-code documentation in this field, for example docstrings.
+     * 
+ * + * repeated string documentation = 3 [json_name = "documentation"]; + * @param index The index of the value to return. + * @return The bytes of the documentation at the given index. + */ + public com.google.protobuf.ByteString + getDocumentationBytes(int index) { + return documentation_.getByteString(index); + } + + public static final int RELATIONSHIPS_FIELD_NUMBER = 4; + @SuppressWarnings("serial") + private java.util.List relationships_; + /** + *
+     * (optional) Relationships to other symbols (e.g., implements, type definition).
+     * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + @java.lang.Override + public java.util.List getRelationshipsList() { + return relationships_; + } + /** + *
+     * (optional) Relationships to other symbols (e.g., implements, type definition).
+     * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + @java.lang.Override + public java.util.List + getRelationshipsOrBuilderList() { + return relationships_; + } + /** + *
+     * (optional) Relationships to other symbols (e.g., implements, type definition).
+     * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + @java.lang.Override + public int getRelationshipsCount() { + return relationships_.size(); + } + /** + *
+     * (optional) Relationships to other symbols (e.g., implements, type definition).
+     * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + @java.lang.Override + public scip.Scip.Relationship getRelationships(int index) { + return relationships_.get(index); + } + /** + *
+     * (optional) Relationships to other symbols (e.g., implements, type definition).
+     * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + @java.lang.Override + public scip.Scip.RelationshipOrBuilder getRelationshipsOrBuilder( + int index) { + return relationships_.get(index); + } + + public static final int KIND_FIELD_NUMBER = 5; + private int kind_ = 0; + /** + *
+     * The kind of this symbol. Use this field instead of
+     * `SymbolDescriptor.Suffix` to determine whether something is, for example, a
+     * class or a method.
+     * 
+ * + * .scip.SymbolInformation.Kind kind = 5 [json_name = "kind"]; + * @return The enum numeric value on the wire for kind. + */ + @java.lang.Override public int getKindValue() { + return kind_; + } + /** + *
+     * The kind of this symbol. Use this field instead of
+     * `SymbolDescriptor.Suffix` to determine whether something is, for example, a
+     * class or a method.
+     * 
+ * + * .scip.SymbolInformation.Kind kind = 5 [json_name = "kind"]; + * @return The kind. + */ + @java.lang.Override public scip.Scip.SymbolInformation.Kind getKind() { + scip.Scip.SymbolInformation.Kind result = scip.Scip.SymbolInformation.Kind.forNumber(kind_); + return result == null ? scip.Scip.SymbolInformation.Kind.UNRECOGNIZED : result; + } + + public static final int DISPLAY_NAME_FIELD_NUMBER = 6; + @SuppressWarnings("serial") + private volatile java.lang.Object displayName_ = ""; + /** + *
+     * (optional) The name of this symbol as it should be displayed to the user.
+     * For example, the symbol "com/example/MyClass#myMethod(+1)." should have the
+     * display name "myMethod". The `symbol` field is not a reliable source of
+     * the display name for several reasons:
+     *
+     * - Local symbols don't encode the name.
+     * - Some languages have case-insensitive names, so the symbol is all-lowercase.
+     * - The symbol may encode names with special characters that should not be
+     * displayed to the user.
+     * 
+ * + * string display_name = 6 [json_name = "displayName"]; + * @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; + } + } + /** + *
+     * (optional) The name of this symbol as it should be displayed to the user.
+     * For example, the symbol "com/example/MyClass#myMethod(+1)." should have the
+     * display name "myMethod". The `symbol` field is not a reliable source of
+     * the display name for several reasons:
+     *
+     * - Local symbols don't encode the name.
+     * - Some languages have case-insensitive names, so the symbol is all-lowercase.
+     * - The symbol may encode names with special characters that should not be
+     * displayed to the user.
+     * 
+ * + * string display_name = 6 [json_name = "displayName"]; + * @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_DOCUMENTATION_FIELD_NUMBER = 7; + private scip.Scip.Signature signatureDocumentation_; + /** + *
+     * (optional) The signature of this symbol as it's displayed in API
+     * documentation or in hover tooltips. For example, a Java method that adds
+     * two numbers would have `Signature.language = "java"` and
+     * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
+     * fields are required while `occurrences` can be optionally included to
+     * support hyperlinking referenced symbols in the signature.
+     * 
+ * + * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; + * @return Whether the signatureDocumentation field is set. + */ + @java.lang.Override + public boolean hasSignatureDocumentation() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + *
+     * (optional) The signature of this symbol as it's displayed in API
+     * documentation or in hover tooltips. For example, a Java method that adds
+     * two numbers would have `Signature.language = "java"` and
+     * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
+     * fields are required while `occurrences` can be optionally included to
+     * support hyperlinking referenced symbols in the signature.
+     * 
+ * + * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; + * @return The signatureDocumentation. + */ + @java.lang.Override + public scip.Scip.Signature getSignatureDocumentation() { + return signatureDocumentation_ == null ? scip.Scip.Signature.getDefaultInstance() : signatureDocumentation_; + } + /** + *
+     * (optional) The signature of this symbol as it's displayed in API
+     * documentation or in hover tooltips. For example, a Java method that adds
+     * two numbers would have `Signature.language = "java"` and
+     * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
+     * fields are required while `occurrences` can be optionally included to
+     * support hyperlinking referenced symbols in the signature.
+     * 
+ * + * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; + */ + @java.lang.Override + public scip.Scip.SignatureOrBuilder getSignatureDocumentationOrBuilder() { + return signatureDocumentation_ == null ? scip.Scip.Signature.getDefaultInstance() : signatureDocumentation_; + } + + public static final int ENCLOSING_SYMBOL_FIELD_NUMBER = 8; + @SuppressWarnings("serial") + private volatile java.lang.Object enclosingSymbol_ = ""; + /** + *
+     * (optional) The enclosing symbol if this is a local symbol.  For non-local
+     * symbols, the enclosing symbol should be parsed from the `symbol` field
+     * using the `Descriptor` grammar.
+     *
+     * The primary use-case for this field is to allow local symbol to be displayed
+     * in a symbol hierarchy for API documentation. It's OK to leave this field
+     * empty for local variables since local variables usually don't belong in API
+     * documentation. However, in the situation that you wish to include a local
+     * symbol in the hierarchy, then you can use `enclosing_symbol` to locate the
+     * "parent" or "owner" of this local symbol. For example, a Java indexer may
+     * choose to use local symbols for private class fields while providing an
+     * `enclosing_symbol` to reference the enclosing class to allow the field to
+     * be part of the class documentation hierarchy. From the perspective of an
+     * author of an indexer, the decision to use a local symbol or global symbol
+     * should exclusively be determined whether the local symbol is accessible
+     * outside the document, not by the capability to find the enclosing
+     * symbol.
+     * 
+ * + * string enclosing_symbol = 8 [json_name = "enclosingSymbol"]; + * @return The enclosingSymbol. + */ + @java.lang.Override + public java.lang.String getEnclosingSymbol() { + java.lang.Object ref = enclosingSymbol_; + 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(); + enclosingSymbol_ = s; + return s; + } + } + /** + *
+     * (optional) The enclosing symbol if this is a local symbol.  For non-local
+     * symbols, the enclosing symbol should be parsed from the `symbol` field
+     * using the `Descriptor` grammar.
+     *
+     * The primary use-case for this field is to allow local symbol to be displayed
+     * in a symbol hierarchy for API documentation. It's OK to leave this field
+     * empty for local variables since local variables usually don't belong in API
+     * documentation. However, in the situation that you wish to include a local
+     * symbol in the hierarchy, then you can use `enclosing_symbol` to locate the
+     * "parent" or "owner" of this local symbol. For example, a Java indexer may
+     * choose to use local symbols for private class fields while providing an
+     * `enclosing_symbol` to reference the enclosing class to allow the field to
+     * be part of the class documentation hierarchy. From the perspective of an
+     * author of an indexer, the decision to use a local symbol or global symbol
+     * should exclusively be determined whether the local symbol is accessible
+     * outside the document, not by the capability to find the enclosing
+     * symbol.
+     * 
+ * + * string enclosing_symbol = 8 [json_name = "enclosingSymbol"]; + * @return The bytes for enclosingSymbol. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getEnclosingSymbolBytes() { + java.lang.Object ref = enclosingSymbol_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + enclosingSymbol_ = 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 (!com.google.protobuf.GeneratedMessage.isStringEmpty(symbol_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, symbol_); + } + for (int i = 0; i < documentation_.size(); i++) { + com.google.protobuf.GeneratedMessage.writeString(output, 3, documentation_.getRaw(i)); + } + for (int i = 0; i < relationships_.size(); i++) { + output.writeMessage(4, relationships_.get(i)); + } + if (kind_ != scip.Scip.SymbolInformation.Kind.UnspecifiedKind.getNumber()) { + output.writeEnum(5, kind_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(displayName_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 6, displayName_); + } + if (((bitField0_ & 0x00000001) != 0)) { + output.writeMessage(7, getSignatureDocumentation()); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(enclosingSymbol_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 8, enclosingSymbol_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(symbol_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, symbol_); + } + { + int dataSize = 0; + for (int i = 0; i < documentation_.size(); i++) { + dataSize += computeStringSizeNoTag(documentation_.getRaw(i)); + } + size += dataSize; + size += 1 * getDocumentationList().size(); + } + for (int i = 0; i < relationships_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(4, relationships_.get(i)); + } + if (kind_ != scip.Scip.SymbolInformation.Kind.UnspecifiedKind.getNumber()) { + size += com.google.protobuf.CodedOutputStream + .computeEnumSize(5, kind_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(displayName_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(6, displayName_); + } + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(7, getSignatureDocumentation()); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(enclosingSymbol_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(8, enclosingSymbol_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof scip.Scip.SymbolInformation)) { + return super.equals(obj); + } + scip.Scip.SymbolInformation other = (scip.Scip.SymbolInformation) obj; + + if (!getSymbol() + .equals(other.getSymbol())) return false; + if (!getDocumentationList() + .equals(other.getDocumentationList())) return false; + if (!getRelationshipsList() + .equals(other.getRelationshipsList())) return false; + if (kind_ != other.kind_) return false; + if (!getDisplayName() + .equals(other.getDisplayName())) return false; + if (hasSignatureDocumentation() != other.hasSignatureDocumentation()) return false; + if (hasSignatureDocumentation()) { + if (!getSignatureDocumentation() + .equals(other.getSignatureDocumentation())) return false; + } + if (!getEnclosingSymbol() + .equals(other.getEnclosingSymbol())) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) 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 (getDocumentationCount() > 0) { + hash = (37 * hash) + DOCUMENTATION_FIELD_NUMBER; + hash = (53 * hash) + getDocumentationList().hashCode(); + } + if (getRelationshipsCount() > 0) { + hash = (37 * hash) + RELATIONSHIPS_FIELD_NUMBER; + hash = (53 * hash) + getRelationshipsList().hashCode(); + } + hash = (37 * hash) + KIND_FIELD_NUMBER; + hash = (53 * hash) + kind_; + hash = (37 * hash) + DISPLAY_NAME_FIELD_NUMBER; + hash = (53 * hash) + getDisplayName().hashCode(); + if (hasSignatureDocumentation()) { + hash = (37 * hash) + SIGNATURE_DOCUMENTATION_FIELD_NUMBER; + hash = (53 * hash) + getSignatureDocumentation().hashCode(); + } + hash = (37 * hash) + ENCLOSING_SYMBOL_FIELD_NUMBER; + hash = (53 * hash) + getEnclosingSymbol().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static scip.Scip.SymbolInformation parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static scip.Scip.SymbolInformation parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static scip.Scip.SymbolInformation parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static scip.Scip.SymbolInformation parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static scip.Scip.SymbolInformation parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static scip.Scip.SymbolInformation parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static scip.Scip.SymbolInformation parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static scip.Scip.SymbolInformation parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public static scip.Scip.SymbolInformation parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input); + } + + public static scip.Scip.SymbolInformation parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static scip.Scip.SymbolInformation parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static scip.Scip.SymbolInformation parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(scip.Scip.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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + *
+     * SymbolInformation defines metadata about a symbol, such as the symbol's
+     * docstring or what package it's defined it.
+     * 
+ * + * Protobuf type {@code scip.SymbolInformation} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder implements + // @@protoc_insertion_point(builder_implements:scip.SymbolInformation) + scip.Scip.SymbolInformationOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return scip.Scip.internal_static_scip_SymbolInformation_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return scip.Scip.internal_static_scip_SymbolInformation_fieldAccessorTable + .ensureFieldAccessorsInitialized( + scip.Scip.SymbolInformation.class, scip.Scip.SymbolInformation.Builder.class); + } + + // Construct using scip.Scip.SymbolInformation.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage + .alwaysUseFieldBuilders) { + internalGetRelationshipsFieldBuilder(); + internalGetSignatureDocumentationFieldBuilder(); + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + symbol_ = ""; + documentation_ = + com.google.protobuf.LazyStringArrayList.emptyList(); + if (relationshipsBuilder_ == null) { + relationships_ = java.util.Collections.emptyList(); + } else { + relationships_ = null; + relationshipsBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000004); + kind_ = 0; + displayName_ = ""; + signatureDocumentation_ = null; + if (signatureDocumentationBuilder_ != null) { + signatureDocumentationBuilder_.dispose(); + signatureDocumentationBuilder_ = null; + } + enclosingSymbol_ = ""; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return scip.Scip.internal_static_scip_SymbolInformation_descriptor; + } + + @java.lang.Override + public scip.Scip.SymbolInformation getDefaultInstanceForType() { + return scip.Scip.SymbolInformation.getDefaultInstance(); + } + + @java.lang.Override + public scip.Scip.SymbolInformation build() { + scip.Scip.SymbolInformation result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public scip.Scip.SymbolInformation buildPartial() { + scip.Scip.SymbolInformation result = new scip.Scip.SymbolInformation(this); + buildPartialRepeatedFields(result); + if (bitField0_ != 0) { buildPartial0(result); } + onBuilt(); + return result; + } + + private void buildPartialRepeatedFields(scip.Scip.SymbolInformation result) { + if (relationshipsBuilder_ == null) { + if (((bitField0_ & 0x00000004) != 0)) { + relationships_ = java.util.Collections.unmodifiableList(relationships_); + bitField0_ = (bitField0_ & ~0x00000004); + } + result.relationships_ = relationships_; + } else { + result.relationships_ = relationshipsBuilder_.build(); + } + } + + private void buildPartial0(scip.Scip.SymbolInformation result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.symbol_ = symbol_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + documentation_.makeImmutable(); + result.documentation_ = documentation_; + } + if (((from_bitField0_ & 0x00000008) != 0)) { + result.kind_ = kind_; + } + if (((from_bitField0_ & 0x00000010) != 0)) { + result.displayName_ = displayName_; + } + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000020) != 0)) { + result.signatureDocumentation_ = signatureDocumentationBuilder_ == null + ? signatureDocumentation_ + : signatureDocumentationBuilder_.build(); + to_bitField0_ |= 0x00000001; + } + if (((from_bitField0_ & 0x00000040) != 0)) { + result.enclosingSymbol_ = enclosingSymbol_; + } + result.bitField0_ |= to_bitField0_; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof scip.Scip.SymbolInformation) { + return mergeFrom((scip.Scip.SymbolInformation)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(scip.Scip.SymbolInformation other) { + if (other == scip.Scip.SymbolInformation.getDefaultInstance()) return this; + if (!other.getSymbol().isEmpty()) { + symbol_ = other.symbol_; + bitField0_ |= 0x00000001; + onChanged(); + } + if (!other.documentation_.isEmpty()) { + if (documentation_.isEmpty()) { + documentation_ = other.documentation_; + bitField0_ |= 0x00000002; + } else { + ensureDocumentationIsMutable(); + documentation_.addAll(other.documentation_); + } + onChanged(); + } + if (relationshipsBuilder_ == null) { + if (!other.relationships_.isEmpty()) { + if (relationships_.isEmpty()) { + relationships_ = other.relationships_; + bitField0_ = (bitField0_ & ~0x00000004); + } else { + ensureRelationshipsIsMutable(); + relationships_.addAll(other.relationships_); + } + onChanged(); + } + } else { + if (!other.relationships_.isEmpty()) { + if (relationshipsBuilder_.isEmpty()) { + relationshipsBuilder_.dispose(); + relationshipsBuilder_ = null; + relationships_ = other.relationships_; + bitField0_ = (bitField0_ & ~0x00000004); + relationshipsBuilder_ = + com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ? + internalGetRelationshipsFieldBuilder() : null; + } else { + relationshipsBuilder_.addAllMessages(other.relationships_); + } + } + } + if (other.kind_ != 0) { + setKindValue(other.getKindValue()); + } + if (!other.getDisplayName().isEmpty()) { + displayName_ = other.displayName_; + bitField0_ |= 0x00000010; + onChanged(); + } + if (other.hasSignatureDocumentation()) { + mergeSignatureDocumentation(other.getSignatureDocumentation()); + } + if (!other.getEnclosingSymbol().isEmpty()) { + enclosingSymbol_ = other.enclosingSymbol_; + bitField0_ |= 0x00000040; + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + 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 { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + symbol_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 26: { + java.lang.String s = input.readStringRequireUtf8(); + ensureDocumentationIsMutable(); + documentation_.add(s); + break; + } // case 26 + case 34: { + scip.Scip.Relationship m = + input.readMessage( + scip.Scip.Relationship.parser(), + extensionRegistry); + if (relationshipsBuilder_ == null) { + ensureRelationshipsIsMutable(); + relationships_.add(m); + } else { + relationshipsBuilder_.addMessage(m); + } + break; + } // case 34 + case 40: { + kind_ = input.readEnum(); + bitField0_ |= 0x00000008; + break; + } // case 40 + case 50: { + displayName_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000010; + break; + } // case 50 + case 58: { + input.readMessage( + internalGetSignatureDocumentationFieldBuilder().getBuilder(), + extensionRegistry); + bitField0_ |= 0x00000020; + break; + } // case 58 + case 66: { + enclosingSymbol_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000040; + break; + } // case 66 + default: { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + private int bitField0_; + + private java.lang.Object symbol_ = ""; + /** + *
+       * Identifier of this symbol, which can be referenced from `Occurence.symbol`.
+       * The string must be formatted according to the grammar in `Symbol`.
+       * 
+ * + * string symbol = 1 [json_name = "symbol"]; + * @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; + } + } + /** + *
+       * Identifier of this symbol, which can be referenced from `Occurence.symbol`.
+       * The string must be formatted according to the grammar in `Symbol`.
+       * 
+ * + * string symbol = 1 [json_name = "symbol"]; + * @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; + } + } + /** + *
+       * Identifier of this symbol, which can be referenced from `Occurence.symbol`.
+       * The string must be formatted according to the grammar in `Symbol`.
+       * 
+ * + * string symbol = 1 [json_name = "symbol"]; + * @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; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + /** + *
+       * Identifier of this symbol, which can be referenced from `Occurence.symbol`.
+       * The string must be formatted according to the grammar in `Symbol`.
+       * 
+ * + * string symbol = 1 [json_name = "symbol"]; + * @return This builder for chaining. + */ + public Builder clearSymbol() { + symbol_ = getDefaultInstance().getSymbol(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + /** + *
+       * Identifier of this symbol, which can be referenced from `Occurence.symbol`.
+       * The string must be formatted according to the grammar in `Symbol`.
+       * 
+ * + * string symbol = 1 [json_name = "symbol"]; + * @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; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private com.google.protobuf.LazyStringArrayList documentation_ = + com.google.protobuf.LazyStringArrayList.emptyList(); + private void ensureDocumentationIsMutable() { + if (!documentation_.isModifiable()) { + documentation_ = new com.google.protobuf.LazyStringArrayList(documentation_); + } + bitField0_ |= 0x00000002; + } + /** + *
+       * (optional, but strongly recommended) The markdown-formatted documentation
+       * for this symbol. Use `SymbolInformation.signature_documentation` to
+       * document the method/class/type signature of this symbol.
+       * Due to historical reasons, indexers may include signature documentation in
+       * this field by rendering markdown code blocks. New indexers should only
+       * include non-code documentation in this field, for example docstrings.
+       * 
+ * + * repeated string documentation = 3 [json_name = "documentation"]; + * @return A list containing the documentation. + */ + public com.google.protobuf.ProtocolStringList + getDocumentationList() { + documentation_.makeImmutable(); + return documentation_; + } + /** + *
+       * (optional, but strongly recommended) The markdown-formatted documentation
+       * for this symbol. Use `SymbolInformation.signature_documentation` to
+       * document the method/class/type signature of this symbol.
+       * Due to historical reasons, indexers may include signature documentation in
+       * this field by rendering markdown code blocks. New indexers should only
+       * include non-code documentation in this field, for example docstrings.
+       * 
+ * + * repeated string documentation = 3 [json_name = "documentation"]; + * @return The count of documentation. + */ + public int getDocumentationCount() { + return documentation_.size(); + } + /** + *
+       * (optional, but strongly recommended) The markdown-formatted documentation
+       * for this symbol. Use `SymbolInformation.signature_documentation` to
+       * document the method/class/type signature of this symbol.
+       * Due to historical reasons, indexers may include signature documentation in
+       * this field by rendering markdown code blocks. New indexers should only
+       * include non-code documentation in this field, for example docstrings.
+       * 
+ * + * repeated string documentation = 3 [json_name = "documentation"]; + * @param index The index of the element to return. + * @return The documentation at the given index. + */ + public java.lang.String getDocumentation(int index) { + return documentation_.get(index); + } + /** + *
+       * (optional, but strongly recommended) The markdown-formatted documentation
+       * for this symbol. Use `SymbolInformation.signature_documentation` to
+       * document the method/class/type signature of this symbol.
+       * Due to historical reasons, indexers may include signature documentation in
+       * this field by rendering markdown code blocks. New indexers should only
+       * include non-code documentation in this field, for example docstrings.
+       * 
+ * + * repeated string documentation = 3 [json_name = "documentation"]; + * @param index The index of the value to return. + * @return The bytes of the documentation at the given index. + */ + public com.google.protobuf.ByteString + getDocumentationBytes(int index) { + return documentation_.getByteString(index); + } + /** + *
+       * (optional, but strongly recommended) The markdown-formatted documentation
+       * for this symbol. Use `SymbolInformation.signature_documentation` to
+       * document the method/class/type signature of this symbol.
+       * Due to historical reasons, indexers may include signature documentation in
+       * this field by rendering markdown code blocks. New indexers should only
+       * include non-code documentation in this field, for example docstrings.
+       * 
+ * + * repeated string documentation = 3 [json_name = "documentation"]; + * @param index The index to set the value at. + * @param value The documentation to set. + * @return This builder for chaining. + */ + public Builder setDocumentation( + int index, java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + ensureDocumentationIsMutable(); + documentation_.set(index, value); + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + /** + *
+       * (optional, but strongly recommended) The markdown-formatted documentation
+       * for this symbol. Use `SymbolInformation.signature_documentation` to
+       * document the method/class/type signature of this symbol.
+       * Due to historical reasons, indexers may include signature documentation in
+       * this field by rendering markdown code blocks. New indexers should only
+       * include non-code documentation in this field, for example docstrings.
+       * 
+ * + * repeated string documentation = 3 [json_name = "documentation"]; + * @param value The documentation to add. + * @return This builder for chaining. + */ + public Builder addDocumentation( + java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + ensureDocumentationIsMutable(); + documentation_.add(value); + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + /** + *
+       * (optional, but strongly recommended) The markdown-formatted documentation
+       * for this symbol. Use `SymbolInformation.signature_documentation` to
+       * document the method/class/type signature of this symbol.
+       * Due to historical reasons, indexers may include signature documentation in
+       * this field by rendering markdown code blocks. New indexers should only
+       * include non-code documentation in this field, for example docstrings.
+       * 
+ * + * repeated string documentation = 3 [json_name = "documentation"]; + * @param values The documentation to add. + * @return This builder for chaining. + */ + public Builder addAllDocumentation( + java.lang.Iterable values) { + ensureDocumentationIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, documentation_); + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + /** + *
+       * (optional, but strongly recommended) The markdown-formatted documentation
+       * for this symbol. Use `SymbolInformation.signature_documentation` to
+       * document the method/class/type signature of this symbol.
+       * Due to historical reasons, indexers may include signature documentation in
+       * this field by rendering markdown code blocks. New indexers should only
+       * include non-code documentation in this field, for example docstrings.
+       * 
+ * + * repeated string documentation = 3 [json_name = "documentation"]; + * @return This builder for chaining. + */ + public Builder clearDocumentation() { + documentation_ = + com.google.protobuf.LazyStringArrayList.emptyList(); + bitField0_ = (bitField0_ & ~0x00000002);; + onChanged(); + return this; + } + /** + *
+       * (optional, but strongly recommended) The markdown-formatted documentation
+       * for this symbol. Use `SymbolInformation.signature_documentation` to
+       * document the method/class/type signature of this symbol.
+       * Due to historical reasons, indexers may include signature documentation in
+       * this field by rendering markdown code blocks. New indexers should only
+       * include non-code documentation in this field, for example docstrings.
+       * 
+ * + * repeated string documentation = 3 [json_name = "documentation"]; + * @param value The bytes of the documentation to add. + * @return This builder for chaining. + */ + public Builder addDocumentationBytes( + com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + checkByteStringIsUtf8(value); + ensureDocumentationIsMutable(); + documentation_.add(value); + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + private java.util.List relationships_ = + java.util.Collections.emptyList(); + private void ensureRelationshipsIsMutable() { + if (!((bitField0_ & 0x00000004) != 0)) { + relationships_ = new java.util.ArrayList(relationships_); + bitField0_ |= 0x00000004; + } + } + + private com.google.protobuf.RepeatedFieldBuilder< + scip.Scip.Relationship, scip.Scip.Relationship.Builder, scip.Scip.RelationshipOrBuilder> relationshipsBuilder_; + + /** + *
+       * (optional) Relationships to other symbols (e.g., implements, type definition).
+       * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + public java.util.List getRelationshipsList() { + if (relationshipsBuilder_ == null) { + return java.util.Collections.unmodifiableList(relationships_); + } else { + return relationshipsBuilder_.getMessageList(); + } + } + /** + *
+       * (optional) Relationships to other symbols (e.g., implements, type definition).
+       * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + public int getRelationshipsCount() { + if (relationshipsBuilder_ == null) { + return relationships_.size(); + } else { + return relationshipsBuilder_.getCount(); + } + } + /** + *
+       * (optional) Relationships to other symbols (e.g., implements, type definition).
+       * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + public scip.Scip.Relationship getRelationships(int index) { + if (relationshipsBuilder_ == null) { + return relationships_.get(index); + } else { + return relationshipsBuilder_.getMessage(index); + } + } + /** + *
+       * (optional) Relationships to other symbols (e.g., implements, type definition).
+       * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + public Builder setRelationships( + int index, scip.Scip.Relationship value) { + if (relationshipsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureRelationshipsIsMutable(); + relationships_.set(index, value); + onChanged(); + } else { + relationshipsBuilder_.setMessage(index, value); + } + return this; + } + /** + *
+       * (optional) Relationships to other symbols (e.g., implements, type definition).
+       * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + public Builder setRelationships( + int index, scip.Scip.Relationship.Builder builderForValue) { + if (relationshipsBuilder_ == null) { + ensureRelationshipsIsMutable(); + relationships_.set(index, builderForValue.build()); + onChanged(); + } else { + relationshipsBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + *
+       * (optional) Relationships to other symbols (e.g., implements, type definition).
+       * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + public Builder addRelationships(scip.Scip.Relationship value) { + if (relationshipsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureRelationshipsIsMutable(); + relationships_.add(value); + onChanged(); + } else { + relationshipsBuilder_.addMessage(value); + } + return this; + } + /** + *
+       * (optional) Relationships to other symbols (e.g., implements, type definition).
+       * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + public Builder addRelationships( + int index, scip.Scip.Relationship value) { + if (relationshipsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureRelationshipsIsMutable(); + relationships_.add(index, value); + onChanged(); + } else { + relationshipsBuilder_.addMessage(index, value); + } + return this; + } + /** + *
+       * (optional) Relationships to other symbols (e.g., implements, type definition).
+       * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + public Builder addRelationships( + scip.Scip.Relationship.Builder builderForValue) { + if (relationshipsBuilder_ == null) { + ensureRelationshipsIsMutable(); + relationships_.add(builderForValue.build()); + onChanged(); + } else { + relationshipsBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + *
+       * (optional) Relationships to other symbols (e.g., implements, type definition).
+       * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + public Builder addRelationships( + int index, scip.Scip.Relationship.Builder builderForValue) { + if (relationshipsBuilder_ == null) { + ensureRelationshipsIsMutable(); + relationships_.add(index, builderForValue.build()); + onChanged(); + } else { + relationshipsBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + *
+       * (optional) Relationships to other symbols (e.g., implements, type definition).
+       * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + public Builder addAllRelationships( + java.lang.Iterable values) { + if (relationshipsBuilder_ == null) { + ensureRelationshipsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, relationships_); + onChanged(); + } else { + relationshipsBuilder_.addAllMessages(values); + } + return this; + } + /** + *
+       * (optional) Relationships to other symbols (e.g., implements, type definition).
+       * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + public Builder clearRelationships() { + if (relationshipsBuilder_ == null) { + relationships_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000004); + onChanged(); + } else { + relationshipsBuilder_.clear(); + } + return this; + } + /** + *
+       * (optional) Relationships to other symbols (e.g., implements, type definition).
+       * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + public Builder removeRelationships(int index) { + if (relationshipsBuilder_ == null) { + ensureRelationshipsIsMutable(); + relationships_.remove(index); + onChanged(); + } else { + relationshipsBuilder_.remove(index); + } + return this; + } + /** + *
+       * (optional) Relationships to other symbols (e.g., implements, type definition).
+       * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + public scip.Scip.Relationship.Builder getRelationshipsBuilder( + int index) { + return internalGetRelationshipsFieldBuilder().getBuilder(index); + } + /** + *
+       * (optional) Relationships to other symbols (e.g., implements, type definition).
+       * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + public scip.Scip.RelationshipOrBuilder getRelationshipsOrBuilder( + int index) { + if (relationshipsBuilder_ == null) { + return relationships_.get(index); } else { + return relationshipsBuilder_.getMessageOrBuilder(index); + } + } + /** + *
+       * (optional) Relationships to other symbols (e.g., implements, type definition).
+       * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + public java.util.List + getRelationshipsOrBuilderList() { + if (relationshipsBuilder_ != null) { + return relationshipsBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(relationships_); + } + } + /** + *
+       * (optional) Relationships to other symbols (e.g., implements, type definition).
+       * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + public scip.Scip.Relationship.Builder addRelationshipsBuilder() { + return internalGetRelationshipsFieldBuilder().addBuilder( + scip.Scip.Relationship.getDefaultInstance()); + } + /** + *
+       * (optional) Relationships to other symbols (e.g., implements, type definition).
+       * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + public scip.Scip.Relationship.Builder addRelationshipsBuilder( + int index) { + return internalGetRelationshipsFieldBuilder().addBuilder( + index, scip.Scip.Relationship.getDefaultInstance()); + } + /** + *
+       * (optional) Relationships to other symbols (e.g., implements, type definition).
+       * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + public java.util.List + getRelationshipsBuilderList() { + return internalGetRelationshipsFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilder< + scip.Scip.Relationship, scip.Scip.Relationship.Builder, scip.Scip.RelationshipOrBuilder> + internalGetRelationshipsFieldBuilder() { + if (relationshipsBuilder_ == null) { + relationshipsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder< + scip.Scip.Relationship, scip.Scip.Relationship.Builder, scip.Scip.RelationshipOrBuilder>( + relationships_, + ((bitField0_ & 0x00000004) != 0), + getParentForChildren(), + isClean()); + relationships_ = null; + } + return relationshipsBuilder_; + } + + private int kind_ = 0; + /** + *
+       * The kind of this symbol. Use this field instead of
+       * `SymbolDescriptor.Suffix` to determine whether something is, for example, a
+       * class or a method.
+       * 
+ * + * .scip.SymbolInformation.Kind kind = 5 [json_name = "kind"]; + * @return The enum numeric value on the wire for kind. + */ + @java.lang.Override public int getKindValue() { + return kind_; + } + /** + *
+       * The kind of this symbol. Use this field instead of
+       * `SymbolDescriptor.Suffix` to determine whether something is, for example, a
+       * class or a method.
+       * 
+ * + * .scip.SymbolInformation.Kind kind = 5 [json_name = "kind"]; + * @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; + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + /** + *
+       * The kind of this symbol. Use this field instead of
+       * `SymbolDescriptor.Suffix` to determine whether something is, for example, a
+       * class or a method.
+       * 
+ * + * .scip.SymbolInformation.Kind kind = 5 [json_name = "kind"]; + * @return The kind. + */ + @java.lang.Override + public scip.Scip.SymbolInformation.Kind getKind() { + scip.Scip.SymbolInformation.Kind result = scip.Scip.SymbolInformation.Kind.forNumber(kind_); + return result == null ? scip.Scip.SymbolInformation.Kind.UNRECOGNIZED : result; + } + /** + *
+       * The kind of this symbol. Use this field instead of
+       * `SymbolDescriptor.Suffix` to determine whether something is, for example, a
+       * class or a method.
+       * 
+ * + * .scip.SymbolInformation.Kind kind = 5 [json_name = "kind"]; + * @param value The kind to set. + * @return This builder for chaining. + */ + public Builder setKind(scip.Scip.SymbolInformation.Kind value) { + if (value == null) { throw new NullPointerException(); } + bitField0_ |= 0x00000008; + kind_ = value.getNumber(); + onChanged(); + return this; + } + /** + *
+       * The kind of this symbol. Use this field instead of
+       * `SymbolDescriptor.Suffix` to determine whether something is, for example, a
+       * class or a method.
+       * 
+ * + * .scip.SymbolInformation.Kind kind = 5 [json_name = "kind"]; + * @return This builder for chaining. + */ + public Builder clearKind() { + bitField0_ = (bitField0_ & ~0x00000008); + kind_ = 0; + onChanged(); + return this; + } + + private java.lang.Object displayName_ = ""; + /** + *
+       * (optional) The name of this symbol as it should be displayed to the user.
+       * For example, the symbol "com/example/MyClass#myMethod(+1)." should have the
+       * display name "myMethod". The `symbol` field is not a reliable source of
+       * the display name for several reasons:
+       *
+       * - Local symbols don't encode the name.
+       * - Some languages have case-insensitive names, so the symbol is all-lowercase.
+       * - The symbol may encode names with special characters that should not be
+       * displayed to the user.
+       * 
+ * + * string display_name = 6 [json_name = "displayName"]; + * @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; + } + } + /** + *
+       * (optional) The name of this symbol as it should be displayed to the user.
+       * For example, the symbol "com/example/MyClass#myMethod(+1)." should have the
+       * display name "myMethod". The `symbol` field is not a reliable source of
+       * the display name for several reasons:
+       *
+       * - Local symbols don't encode the name.
+       * - Some languages have case-insensitive names, so the symbol is all-lowercase.
+       * - The symbol may encode names with special characters that should not be
+       * displayed to the user.
+       * 
+ * + * string display_name = 6 [json_name = "displayName"]; + * @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; + } + } + /** + *
+       * (optional) The name of this symbol as it should be displayed to the user.
+       * For example, the symbol "com/example/MyClass#myMethod(+1)." should have the
+       * display name "myMethod". The `symbol` field is not a reliable source of
+       * the display name for several reasons:
+       *
+       * - Local symbols don't encode the name.
+       * - Some languages have case-insensitive names, so the symbol is all-lowercase.
+       * - The symbol may encode names with special characters that should not be
+       * displayed to the user.
+       * 
+ * + * string display_name = 6 [json_name = "displayName"]; + * @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; + bitField0_ |= 0x00000010; + onChanged(); + return this; + } + /** + *
+       * (optional) The name of this symbol as it should be displayed to the user.
+       * For example, the symbol "com/example/MyClass#myMethod(+1)." should have the
+       * display name "myMethod". The `symbol` field is not a reliable source of
+       * the display name for several reasons:
+       *
+       * - Local symbols don't encode the name.
+       * - Some languages have case-insensitive names, so the symbol is all-lowercase.
+       * - The symbol may encode names with special characters that should not be
+       * displayed to the user.
+       * 
+ * + * string display_name = 6 [json_name = "displayName"]; + * @return This builder for chaining. + */ + public Builder clearDisplayName() { + displayName_ = getDefaultInstance().getDisplayName(); + bitField0_ = (bitField0_ & ~0x00000010); + onChanged(); + return this; + } + /** + *
+       * (optional) The name of this symbol as it should be displayed to the user.
+       * For example, the symbol "com/example/MyClass#myMethod(+1)." should have the
+       * display name "myMethod". The `symbol` field is not a reliable source of
+       * the display name for several reasons:
+       *
+       * - Local symbols don't encode the name.
+       * - Some languages have case-insensitive names, so the symbol is all-lowercase.
+       * - The symbol may encode names with special characters that should not be
+       * displayed to the user.
+       * 
+ * + * string display_name = 6 [json_name = "displayName"]; + * @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; + bitField0_ |= 0x00000010; + onChanged(); + return this; + } + + private scip.Scip.Signature signatureDocumentation_; + private com.google.protobuf.SingleFieldBuilder< + scip.Scip.Signature, scip.Scip.Signature.Builder, scip.Scip.SignatureOrBuilder> signatureDocumentationBuilder_; + /** + *
+       * (optional) The signature of this symbol as it's displayed in API
+       * documentation or in hover tooltips. For example, a Java method that adds
+       * two numbers would have `Signature.language = "java"` and
+       * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
+       * fields are required while `occurrences` can be optionally included to
+       * support hyperlinking referenced symbols in the signature.
+       * 
+ * + * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; + * @return Whether the signatureDocumentation field is set. + */ + public boolean hasSignatureDocumentation() { + return ((bitField0_ & 0x00000020) != 0); + } + /** + *
+       * (optional) The signature of this symbol as it's displayed in API
+       * documentation or in hover tooltips. For example, a Java method that adds
+       * two numbers would have `Signature.language = "java"` and
+       * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
+       * fields are required while `occurrences` can be optionally included to
+       * support hyperlinking referenced symbols in the signature.
+       * 
+ * + * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; + * @return The signatureDocumentation. + */ + public scip.Scip.Signature getSignatureDocumentation() { + if (signatureDocumentationBuilder_ == null) { + return signatureDocumentation_ == null ? scip.Scip.Signature.getDefaultInstance() : signatureDocumentation_; + } else { + return signatureDocumentationBuilder_.getMessage(); + } + } + /** + *
+       * (optional) The signature of this symbol as it's displayed in API
+       * documentation or in hover tooltips. For example, a Java method that adds
+       * two numbers would have `Signature.language = "java"` and
+       * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
+       * fields are required while `occurrences` can be optionally included to
+       * support hyperlinking referenced symbols in the signature.
+       * 
+ * + * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; + */ + public Builder setSignatureDocumentation(scip.Scip.Signature value) { + if (signatureDocumentationBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + signatureDocumentation_ = value; + } else { + signatureDocumentationBuilder_.setMessage(value); + } + bitField0_ |= 0x00000020; + onChanged(); + return this; + } + /** + *
+       * (optional) The signature of this symbol as it's displayed in API
+       * documentation or in hover tooltips. For example, a Java method that adds
+       * two numbers would have `Signature.language = "java"` and
+       * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
+       * fields are required while `occurrences` can be optionally included to
+       * support hyperlinking referenced symbols in the signature.
+       * 
+ * + * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; + */ + public Builder setSignatureDocumentation( + scip.Scip.Signature.Builder builderForValue) { + if (signatureDocumentationBuilder_ == null) { + signatureDocumentation_ = builderForValue.build(); + } else { + signatureDocumentationBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000020; + onChanged(); + return this; + } + /** + *
+       * (optional) The signature of this symbol as it's displayed in API
+       * documentation or in hover tooltips. For example, a Java method that adds
+       * two numbers would have `Signature.language = "java"` and
+       * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
+       * fields are required while `occurrences` can be optionally included to
+       * support hyperlinking referenced symbols in the signature.
+       * 
+ * + * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; + */ + public Builder mergeSignatureDocumentation(scip.Scip.Signature value) { + if (signatureDocumentationBuilder_ == null) { + if (((bitField0_ & 0x00000020) != 0) && + signatureDocumentation_ != null && + signatureDocumentation_ != scip.Scip.Signature.getDefaultInstance()) { + getSignatureDocumentationBuilder().mergeFrom(value); + } else { + signatureDocumentation_ = value; + } + } else { + signatureDocumentationBuilder_.mergeFrom(value); + } + if (signatureDocumentation_ != null) { + bitField0_ |= 0x00000020; + onChanged(); + } + return this; + } + /** + *
+       * (optional) The signature of this symbol as it's displayed in API
+       * documentation or in hover tooltips. For example, a Java method that adds
+       * two numbers would have `Signature.language = "java"` and
+       * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
+       * fields are required while `occurrences` can be optionally included to
+       * support hyperlinking referenced symbols in the signature.
+       * 
+ * + * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; + */ + public Builder clearSignatureDocumentation() { + bitField0_ = (bitField0_ & ~0x00000020); + signatureDocumentation_ = null; + if (signatureDocumentationBuilder_ != null) { + signatureDocumentationBuilder_.dispose(); + signatureDocumentationBuilder_ = null; + } + onChanged(); + return this; + } + /** + *
+       * (optional) The signature of this symbol as it's displayed in API
+       * documentation or in hover tooltips. For example, a Java method that adds
+       * two numbers would have `Signature.language = "java"` and
+       * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
+       * fields are required while `occurrences` can be optionally included to
+       * support hyperlinking referenced symbols in the signature.
+       * 
+ * + * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; + */ + public scip.Scip.Signature.Builder getSignatureDocumentationBuilder() { + bitField0_ |= 0x00000020; + onChanged(); + return internalGetSignatureDocumentationFieldBuilder().getBuilder(); + } + /** + *
+       * (optional) The signature of this symbol as it's displayed in API
+       * documentation or in hover tooltips. For example, a Java method that adds
+       * two numbers would have `Signature.language = "java"` and
+       * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
+       * fields are required while `occurrences` can be optionally included to
+       * support hyperlinking referenced symbols in the signature.
+       * 
+ * + * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; + */ + public scip.Scip.SignatureOrBuilder getSignatureDocumentationOrBuilder() { + if (signatureDocumentationBuilder_ != null) { + return signatureDocumentationBuilder_.getMessageOrBuilder(); + } else { + return signatureDocumentation_ == null ? + scip.Scip.Signature.getDefaultInstance() : signatureDocumentation_; + } + } + /** + *
+       * (optional) The signature of this symbol as it's displayed in API
+       * documentation or in hover tooltips. For example, a Java method that adds
+       * two numbers would have `Signature.language = "java"` and
+       * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
+       * fields are required while `occurrences` can be optionally included to
+       * support hyperlinking referenced symbols in the signature.
+       * 
+ * + * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; + */ + private com.google.protobuf.SingleFieldBuilder< + scip.Scip.Signature, scip.Scip.Signature.Builder, scip.Scip.SignatureOrBuilder> + internalGetSignatureDocumentationFieldBuilder() { + if (signatureDocumentationBuilder_ == null) { + signatureDocumentationBuilder_ = new com.google.protobuf.SingleFieldBuilder< + scip.Scip.Signature, scip.Scip.Signature.Builder, scip.Scip.SignatureOrBuilder>( + getSignatureDocumentation(), + getParentForChildren(), + isClean()); + signatureDocumentation_ = null; + } + return signatureDocumentationBuilder_; + } + + private java.lang.Object enclosingSymbol_ = ""; + /** + *
+       * (optional) The enclosing symbol if this is a local symbol.  For non-local
+       * symbols, the enclosing symbol should be parsed from the `symbol` field
+       * using the `Descriptor` grammar.
+       *
+       * The primary use-case for this field is to allow local symbol to be displayed
+       * in a symbol hierarchy for API documentation. It's OK to leave this field
+       * empty for local variables since local variables usually don't belong in API
+       * documentation. However, in the situation that you wish to include a local
+       * symbol in the hierarchy, then you can use `enclosing_symbol` to locate the
+       * "parent" or "owner" of this local symbol. For example, a Java indexer may
+       * choose to use local symbols for private class fields while providing an
+       * `enclosing_symbol` to reference the enclosing class to allow the field to
+       * be part of the class documentation hierarchy. From the perspective of an
+       * author of an indexer, the decision to use a local symbol or global symbol
+       * should exclusively be determined whether the local symbol is accessible
+       * outside the document, not by the capability to find the enclosing
+       * symbol.
+       * 
+ * + * string enclosing_symbol = 8 [json_name = "enclosingSymbol"]; + * @return The enclosingSymbol. + */ + public java.lang.String getEnclosingSymbol() { + java.lang.Object ref = enclosingSymbol_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + enclosingSymbol_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + *
+       * (optional) The enclosing symbol if this is a local symbol.  For non-local
+       * symbols, the enclosing symbol should be parsed from the `symbol` field
+       * using the `Descriptor` grammar.
+       *
+       * The primary use-case for this field is to allow local symbol to be displayed
+       * in a symbol hierarchy for API documentation. It's OK to leave this field
+       * empty for local variables since local variables usually don't belong in API
+       * documentation. However, in the situation that you wish to include a local
+       * symbol in the hierarchy, then you can use `enclosing_symbol` to locate the
+       * "parent" or "owner" of this local symbol. For example, a Java indexer may
+       * choose to use local symbols for private class fields while providing an
+       * `enclosing_symbol` to reference the enclosing class to allow the field to
+       * be part of the class documentation hierarchy. From the perspective of an
+       * author of an indexer, the decision to use a local symbol or global symbol
+       * should exclusively be determined whether the local symbol is accessible
+       * outside the document, not by the capability to find the enclosing
+       * symbol.
+       * 
+ * + * string enclosing_symbol = 8 [json_name = "enclosingSymbol"]; + * @return The bytes for enclosingSymbol. + */ + public com.google.protobuf.ByteString + getEnclosingSymbolBytes() { + java.lang.Object ref = enclosingSymbol_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + enclosingSymbol_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + *
+       * (optional) The enclosing symbol if this is a local symbol.  For non-local
+       * symbols, the enclosing symbol should be parsed from the `symbol` field
+       * using the `Descriptor` grammar.
+       *
+       * The primary use-case for this field is to allow local symbol to be displayed
+       * in a symbol hierarchy for API documentation. It's OK to leave this field
+       * empty for local variables since local variables usually don't belong in API
+       * documentation. However, in the situation that you wish to include a local
+       * symbol in the hierarchy, then you can use `enclosing_symbol` to locate the
+       * "parent" or "owner" of this local symbol. For example, a Java indexer may
+       * choose to use local symbols for private class fields while providing an
+       * `enclosing_symbol` to reference the enclosing class to allow the field to
+       * be part of the class documentation hierarchy. From the perspective of an
+       * author of an indexer, the decision to use a local symbol or global symbol
+       * should exclusively be determined whether the local symbol is accessible
+       * outside the document, not by the capability to find the enclosing
+       * symbol.
+       * 
+ * + * string enclosing_symbol = 8 [json_name = "enclosingSymbol"]; + * @param value The enclosingSymbol to set. + * @return This builder for chaining. + */ + public Builder setEnclosingSymbol( + java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + enclosingSymbol_ = value; + bitField0_ |= 0x00000040; + onChanged(); + return this; + } + /** + *
+       * (optional) The enclosing symbol if this is a local symbol.  For non-local
+       * symbols, the enclosing symbol should be parsed from the `symbol` field
+       * using the `Descriptor` grammar.
+       *
+       * The primary use-case for this field is to allow local symbol to be displayed
+       * in a symbol hierarchy for API documentation. It's OK to leave this field
+       * empty for local variables since local variables usually don't belong in API
+       * documentation. However, in the situation that you wish to include a local
+       * symbol in the hierarchy, then you can use `enclosing_symbol` to locate the
+       * "parent" or "owner" of this local symbol. For example, a Java indexer may
+       * choose to use local symbols for private class fields while providing an
+       * `enclosing_symbol` to reference the enclosing class to allow the field to
+       * be part of the class documentation hierarchy. From the perspective of an
+       * author of an indexer, the decision to use a local symbol or global symbol
+       * should exclusively be determined whether the local symbol is accessible
+       * outside the document, not by the capability to find the enclosing
+       * symbol.
+       * 
+ * + * string enclosing_symbol = 8 [json_name = "enclosingSymbol"]; + * @return This builder for chaining. + */ + public Builder clearEnclosingSymbol() { + enclosingSymbol_ = getDefaultInstance().getEnclosingSymbol(); + bitField0_ = (bitField0_ & ~0x00000040); + onChanged(); + return this; + } + /** + *
+       * (optional) The enclosing symbol if this is a local symbol.  For non-local
+       * symbols, the enclosing symbol should be parsed from the `symbol` field
+       * using the `Descriptor` grammar.
+       *
+       * The primary use-case for this field is to allow local symbol to be displayed
+       * in a symbol hierarchy for API documentation. It's OK to leave this field
+       * empty for local variables since local variables usually don't belong in API
+       * documentation. However, in the situation that you wish to include a local
+       * symbol in the hierarchy, then you can use `enclosing_symbol` to locate the
+       * "parent" or "owner" of this local symbol. For example, a Java indexer may
+       * choose to use local symbols for private class fields while providing an
+       * `enclosing_symbol` to reference the enclosing class to allow the field to
+       * be part of the class documentation hierarchy. From the perspective of an
+       * author of an indexer, the decision to use a local symbol or global symbol
+       * should exclusively be determined whether the local symbol is accessible
+       * outside the document, not by the capability to find the enclosing
+       * symbol.
+       * 
+ * + * string enclosing_symbol = 8 [json_name = "enclosingSymbol"]; + * @param value The bytes for enclosingSymbol to set. + * @return This builder for chaining. + */ + public Builder setEnclosingSymbolBytes( + com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + checkByteStringIsUtf8(value); + enclosingSymbol_ = value; + bitField0_ |= 0x00000040; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:scip.SymbolInformation) + } + + // @@protoc_insertion_point(class_scope:scip.SymbolInformation) + private static final scip.Scip.SymbolInformation DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new scip.Scip.SymbolInformation(); + } + + public static scip.Scip.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 { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public scip.Scip.SymbolInformation getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface RelationshipOrBuilder extends + // @@protoc_insertion_point(interface_extends:scip.Relationship) + com.google.protobuf.MessageOrBuilder { + + /** + * string symbol = 1 [json_name = "symbol"]; + * @return The symbol. + */ + java.lang.String getSymbol(); + /** + * string symbol = 1 [json_name = "symbol"]; + * @return The bytes for symbol. + */ + com.google.protobuf.ByteString + getSymbolBytes(); + + /** + *
+     * When resolving "Find references", this field documents what other symbols
+     * should be included together with this symbol. For example, consider the
+     * following TypeScript code that defines two symbols `Animal#sound()` and
+     * `Dog#sound()`:
+     * ```ts
+     * interface Animal {
+     * ^^^^^^ definition Animal#
+     * sound(): string
+     * ^^^^^ definition Animal#sound()
+     * }
+     * class Dog implements Animal {
+     * ^^^ definition Dog#, relationships = [{symbol: "Animal#", is_implementation: true}]
+     * public sound(): string { return "woof" }
+     * ^^^^^ definition Dog#sound(), references_symbols = Animal#sound(), relationships = [{symbol: "Animal#sound()", is_implementation:true, is_reference: true}]
+     * }
+     * const animal: Animal = new Dog()
+     * ^^^^^^ reference Animal#
+     * console.log(animal.sound())
+     * ^^^^^ reference Animal#sound()
+     * ```
+     * Doing "Find references" on the symbol `Animal#sound()` should return
+     * references to the `Dog#sound()` method as well. Vice-versa, doing "Find
+     * references" on the `Dog#sound()` method should include references to the
+     * `Animal#sound()` method as well.
+     * 
+ * + * bool is_reference = 2 [json_name = "isReference"]; + * @return The isReference. + */ + boolean getIsReference(); + + /** + *
+     * Similar to `is_reference` but for "Find implementations".
+     * It's common for `is_implementation` and `is_reference` to both be true but
+     * it's not always the case.
+     * In the TypeScript example above, observe that `Dog#` has an
+     * `is_implementation` relationship with `"Animal#"` but not `is_reference`.
+     * This is because "Find references" on the "Animal#" symbol should not return
+     * "Dog#". We only want "Dog#" to return as a result for "Find
+     * implementations" on the "Animal#" symbol.
+     * 
+ * + * bool is_implementation = 3 [json_name = "isImplementation"]; + * @return The isImplementation. + */ + boolean getIsImplementation(); + + /** + *
+     * Similar to `references_symbols` but for "Go to type definition".
+     * 
+ * + * bool is_type_definition = 4 [json_name = "isTypeDefinition"]; + * @return The isTypeDefinition. + */ + boolean getIsTypeDefinition(); + + /** + *
+     * Allows overriding the behavior of "Go to definition" and "Find references"
+     * for symbols which do not have a definition of their own or could
+     * potentially have multiple definitions.
+     *
+     * For example, in a language with single inheritance and no field overriding,
+     * inherited fields can reuse the same symbol as the ancestor which declares
+     * the field. In such a situation, is_definition is not needed.
+     *
+     * On the other hand, in languages with single inheritance and some form
+     * of mixins, you can use is_definition to relate the symbol to the
+     * matching symbol in ancestor classes, and is_reference to relate the
+     * symbol to the matching symbol in mixins.
+     * 
+ * + * bool is_definition = 5 [json_name = "isDefinition"]; + * @return The isDefinition. + */ + boolean getIsDefinition(); + } + /** + * Protobuf type {@code scip.Relationship} + */ + public static final class Relationship extends + com.google.protobuf.GeneratedMessage implements + // @@protoc_insertion_point(message_implements:scip.Relationship) + RelationshipOrBuilder { + private static final long serialVersionUID = 0L; + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 32, + /* patch= */ 1, + /* suffix= */ "", + Relationship.class.getName()); + } + // Use Relationship.newBuilder() to construct. + private Relationship(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + private Relationship() { + symbol_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return scip.Scip.internal_static_scip_Relationship_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return scip.Scip.internal_static_scip_Relationship_fieldAccessorTable + .ensureFieldAccessorsInitialized( + scip.Scip.Relationship.class, scip.Scip.Relationship.Builder.class); + } + + public static final int SYMBOL_FIELD_NUMBER = 1; + @SuppressWarnings("serial") + private volatile java.lang.Object symbol_ = ""; + /** + * string symbol = 1 [json_name = "symbol"]; + * @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 [json_name = "symbol"]; + * @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 IS_REFERENCE_FIELD_NUMBER = 2; + private boolean isReference_ = false; + /** + *
+     * When resolving "Find references", this field documents what other symbols
+     * should be included together with this symbol. For example, consider the
+     * following TypeScript code that defines two symbols `Animal#sound()` and
+     * `Dog#sound()`:
+     * ```ts
+     * interface Animal {
+     * ^^^^^^ definition Animal#
+     * sound(): string
+     * ^^^^^ definition Animal#sound()
+     * }
+     * class Dog implements Animal {
+     * ^^^ definition Dog#, relationships = [{symbol: "Animal#", is_implementation: true}]
+     * public sound(): string { return "woof" }
+     * ^^^^^ definition Dog#sound(), references_symbols = Animal#sound(), relationships = [{symbol: "Animal#sound()", is_implementation:true, is_reference: true}]
+     * }
+     * const animal: Animal = new Dog()
+     * ^^^^^^ reference Animal#
+     * console.log(animal.sound())
+     * ^^^^^ reference Animal#sound()
+     * ```
+     * Doing "Find references" on the symbol `Animal#sound()` should return
+     * references to the `Dog#sound()` method as well. Vice-versa, doing "Find
+     * references" on the `Dog#sound()` method should include references to the
+     * `Animal#sound()` method as well.
+     * 
+ * + * bool is_reference = 2 [json_name = "isReference"]; + * @return The isReference. + */ + @java.lang.Override + public boolean getIsReference() { + return isReference_; + } + + public static final int IS_IMPLEMENTATION_FIELD_NUMBER = 3; + private boolean isImplementation_ = false; + /** + *
+     * Similar to `is_reference` but for "Find implementations".
+     * It's common for `is_implementation` and `is_reference` to both be true but
+     * it's not always the case.
+     * In the TypeScript example above, observe that `Dog#` has an
+     * `is_implementation` relationship with `"Animal#"` but not `is_reference`.
+     * This is because "Find references" on the "Animal#" symbol should not return
+     * "Dog#". We only want "Dog#" to return as a result for "Find
+     * implementations" on the "Animal#" symbol.
+     * 
+ * + * bool is_implementation = 3 [json_name = "isImplementation"]; + * @return The isImplementation. + */ + @java.lang.Override + public boolean getIsImplementation() { + return isImplementation_; + } + + public static final int IS_TYPE_DEFINITION_FIELD_NUMBER = 4; + private boolean isTypeDefinition_ = false; + /** + *
+     * Similar to `references_symbols` but for "Go to type definition".
+     * 
+ * + * bool is_type_definition = 4 [json_name = "isTypeDefinition"]; + * @return The isTypeDefinition. + */ + @java.lang.Override + public boolean getIsTypeDefinition() { + return isTypeDefinition_; + } + + public static final int IS_DEFINITION_FIELD_NUMBER = 5; + private boolean isDefinition_ = false; + /** + *
+     * Allows overriding the behavior of "Go to definition" and "Find references"
+     * for symbols which do not have a definition of their own or could
+     * potentially have multiple definitions.
+     *
+     * For example, in a language with single inheritance and no field overriding,
+     * inherited fields can reuse the same symbol as the ancestor which declares
+     * the field. In such a situation, is_definition is not needed.
+     *
+     * On the other hand, in languages with single inheritance and some form
+     * of mixins, you can use is_definition to relate the symbol to the
+     * matching symbol in ancestor classes, and is_reference to relate the
+     * symbol to the matching symbol in mixins.
+     * 
+ * + * bool is_definition = 5 [json_name = "isDefinition"]; + * @return The isDefinition. + */ + @java.lang.Override + public boolean getIsDefinition() { + return isDefinition_; + } + + 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 (!com.google.protobuf.GeneratedMessage.isStringEmpty(symbol_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, symbol_); + } + if (isReference_ != false) { + output.writeBool(2, isReference_); + } + if (isImplementation_ != false) { + output.writeBool(3, isImplementation_); + } + if (isTypeDefinition_ != false) { + output.writeBool(4, isTypeDefinition_); + } + if (isDefinition_ != false) { + output.writeBool(5, isDefinition_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(symbol_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, symbol_); + } + if (isReference_ != false) { + size += com.google.protobuf.CodedOutputStream + .computeBoolSize(2, isReference_); + } + if (isImplementation_ != false) { + size += com.google.protobuf.CodedOutputStream + .computeBoolSize(3, isImplementation_); + } + if (isTypeDefinition_ != false) { + size += com.google.protobuf.CodedOutputStream + .computeBoolSize(4, isTypeDefinition_); + } + if (isDefinition_ != false) { + size += com.google.protobuf.CodedOutputStream + .computeBoolSize(5, isDefinition_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof scip.Scip.Relationship)) { + return super.equals(obj); + } + scip.Scip.Relationship other = (scip.Scip.Relationship) obj; + + if (!getSymbol() + .equals(other.getSymbol())) return false; + if (getIsReference() + != other.getIsReference()) return false; + if (getIsImplementation() + != other.getIsImplementation()) return false; + if (getIsTypeDefinition() + != other.getIsTypeDefinition()) return false; + if (getIsDefinition() + != other.getIsDefinition()) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) 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) + IS_REFERENCE_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( + getIsReference()); + hash = (37 * hash) + IS_IMPLEMENTATION_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( + getIsImplementation()); + hash = (37 * hash) + IS_TYPE_DEFINITION_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( + getIsTypeDefinition()); + hash = (37 * hash) + IS_DEFINITION_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( + getIsDefinition()); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static scip.Scip.Relationship parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static scip.Scip.Relationship parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static scip.Scip.Relationship parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static scip.Scip.Relationship parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static scip.Scip.Relationship parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static scip.Scip.Relationship parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static scip.Scip.Relationship parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static scip.Scip.Relationship parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public static scip.Scip.Relationship parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input); + } + + public static scip.Scip.Relationship parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static scip.Scip.Relationship parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static scip.Scip.Relationship parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(scip.Scip.Relationship 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code scip.Relationship} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder implements + // @@protoc_insertion_point(builder_implements:scip.Relationship) + scip.Scip.RelationshipOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return scip.Scip.internal_static_scip_Relationship_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return scip.Scip.internal_static_scip_Relationship_fieldAccessorTable + .ensureFieldAccessorsInitialized( + scip.Scip.Relationship.class, scip.Scip.Relationship.Builder.class); + } + + // Construct using scip.Scip.Relationship.newBuilder() + private Builder() { + + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + + } + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + symbol_ = ""; + isReference_ = false; + isImplementation_ = false; + isTypeDefinition_ = false; + isDefinition_ = false; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return scip.Scip.internal_static_scip_Relationship_descriptor; + } + + @java.lang.Override + public scip.Scip.Relationship getDefaultInstanceForType() { + return scip.Scip.Relationship.getDefaultInstance(); + } + + @java.lang.Override + public scip.Scip.Relationship build() { + scip.Scip.Relationship result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public scip.Scip.Relationship buildPartial() { + scip.Scip.Relationship result = new scip.Scip.Relationship(this); + if (bitField0_ != 0) { buildPartial0(result); } + onBuilt(); + return result; + } + + private void buildPartial0(scip.Scip.Relationship result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.symbol_ = symbol_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.isReference_ = isReference_; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.isImplementation_ = isImplementation_; + } + if (((from_bitField0_ & 0x00000008) != 0)) { + result.isTypeDefinition_ = isTypeDefinition_; + } + if (((from_bitField0_ & 0x00000010) != 0)) { + result.isDefinition_ = isDefinition_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof scip.Scip.Relationship) { + return mergeFrom((scip.Scip.Relationship)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(scip.Scip.Relationship other) { + if (other == scip.Scip.Relationship.getDefaultInstance()) return this; + if (!other.getSymbol().isEmpty()) { + symbol_ = other.symbol_; + bitField0_ |= 0x00000001; + onChanged(); + } + if (other.getIsReference() != false) { + setIsReference(other.getIsReference()); + } + if (other.getIsImplementation() != false) { + setIsImplementation(other.getIsImplementation()); + } + if (other.getIsTypeDefinition() != false) { + setIsTypeDefinition(other.getIsTypeDefinition()); + } + if (other.getIsDefinition() != false) { + setIsDefinition(other.getIsDefinition()); + } + this.mergeUnknownFields(other.getUnknownFields()); + 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 { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + symbol_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 16: { + isReference_ = input.readBool(); + bitField0_ |= 0x00000002; + break; + } // case 16 + case 24: { + isImplementation_ = input.readBool(); + bitField0_ |= 0x00000004; + break; + } // case 24 + case 32: { + isTypeDefinition_ = input.readBool(); + bitField0_ |= 0x00000008; + break; + } // case 32 + case 40: { + isDefinition_ = input.readBool(); + bitField0_ |= 0x00000010; + break; + } // case 40 + default: { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + private int bitField0_; + + private java.lang.Object symbol_ = ""; + /** + * string symbol = 1 [json_name = "symbol"]; + * @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 [json_name = "symbol"]; + * @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 [json_name = "symbol"]; + * @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; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + /** + * string symbol = 1 [json_name = "symbol"]; + * @return This builder for chaining. + */ + public Builder clearSymbol() { + symbol_ = getDefaultInstance().getSymbol(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + /** + * string symbol = 1 [json_name = "symbol"]; + * @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; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private boolean isReference_ ; + /** + *
+       * When resolving "Find references", this field documents what other symbols
+       * should be included together with this symbol. For example, consider the
+       * following TypeScript code that defines two symbols `Animal#sound()` and
+       * `Dog#sound()`:
+       * ```ts
+       * interface Animal {
+       * ^^^^^^ definition Animal#
+       * sound(): string
+       * ^^^^^ definition Animal#sound()
+       * }
+       * class Dog implements Animal {
+       * ^^^ definition Dog#, relationships = [{symbol: "Animal#", is_implementation: true}]
+       * public sound(): string { return "woof" }
+       * ^^^^^ definition Dog#sound(), references_symbols = Animal#sound(), relationships = [{symbol: "Animal#sound()", is_implementation:true, is_reference: true}]
+       * }
+       * const animal: Animal = new Dog()
+       * ^^^^^^ reference Animal#
+       * console.log(animal.sound())
+       * ^^^^^ reference Animal#sound()
+       * ```
+       * Doing "Find references" on the symbol `Animal#sound()` should return
+       * references to the `Dog#sound()` method as well. Vice-versa, doing "Find
+       * references" on the `Dog#sound()` method should include references to the
+       * `Animal#sound()` method as well.
+       * 
+ * + * bool is_reference = 2 [json_name = "isReference"]; + * @return The isReference. + */ + @java.lang.Override + public boolean getIsReference() { + return isReference_; + } + /** + *
+       * When resolving "Find references", this field documents what other symbols
+       * should be included together with this symbol. For example, consider the
+       * following TypeScript code that defines two symbols `Animal#sound()` and
+       * `Dog#sound()`:
+       * ```ts
+       * interface Animal {
+       * ^^^^^^ definition Animal#
+       * sound(): string
+       * ^^^^^ definition Animal#sound()
+       * }
+       * class Dog implements Animal {
+       * ^^^ definition Dog#, relationships = [{symbol: "Animal#", is_implementation: true}]
+       * public sound(): string { return "woof" }
+       * ^^^^^ definition Dog#sound(), references_symbols = Animal#sound(), relationships = [{symbol: "Animal#sound()", is_implementation:true, is_reference: true}]
+       * }
+       * const animal: Animal = new Dog()
+       * ^^^^^^ reference Animal#
+       * console.log(animal.sound())
+       * ^^^^^ reference Animal#sound()
+       * ```
+       * Doing "Find references" on the symbol `Animal#sound()` should return
+       * references to the `Dog#sound()` method as well. Vice-versa, doing "Find
+       * references" on the `Dog#sound()` method should include references to the
+       * `Animal#sound()` method as well.
+       * 
+ * + * bool is_reference = 2 [json_name = "isReference"]; + * @param value The isReference to set. + * @return This builder for chaining. + */ + public Builder setIsReference(boolean value) { + + isReference_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + /** + *
+       * When resolving "Find references", this field documents what other symbols
+       * should be included together with this symbol. For example, consider the
+       * following TypeScript code that defines two symbols `Animal#sound()` and
+       * `Dog#sound()`:
+       * ```ts
+       * interface Animal {
+       * ^^^^^^ definition Animal#
+       * sound(): string
+       * ^^^^^ definition Animal#sound()
+       * }
+       * class Dog implements Animal {
+       * ^^^ definition Dog#, relationships = [{symbol: "Animal#", is_implementation: true}]
+       * public sound(): string { return "woof" }
+       * ^^^^^ definition Dog#sound(), references_symbols = Animal#sound(), relationships = [{symbol: "Animal#sound()", is_implementation:true, is_reference: true}]
+       * }
+       * const animal: Animal = new Dog()
+       * ^^^^^^ reference Animal#
+       * console.log(animal.sound())
+       * ^^^^^ reference Animal#sound()
+       * ```
+       * Doing "Find references" on the symbol `Animal#sound()` should return
+       * references to the `Dog#sound()` method as well. Vice-versa, doing "Find
+       * references" on the `Dog#sound()` method should include references to the
+       * `Animal#sound()` method as well.
+       * 
+ * + * bool is_reference = 2 [json_name = "isReference"]; + * @return This builder for chaining. + */ + public Builder clearIsReference() { + bitField0_ = (bitField0_ & ~0x00000002); + isReference_ = false; + onChanged(); + return this; + } + + private boolean isImplementation_ ; + /** + *
+       * Similar to `is_reference` but for "Find implementations".
+       * It's common for `is_implementation` and `is_reference` to both be true but
+       * it's not always the case.
+       * In the TypeScript example above, observe that `Dog#` has an
+       * `is_implementation` relationship with `"Animal#"` but not `is_reference`.
+       * This is because "Find references" on the "Animal#" symbol should not return
+       * "Dog#". We only want "Dog#" to return as a result for "Find
+       * implementations" on the "Animal#" symbol.
+       * 
+ * + * bool is_implementation = 3 [json_name = "isImplementation"]; + * @return The isImplementation. + */ + @java.lang.Override + public boolean getIsImplementation() { + return isImplementation_; + } + /** + *
+       * Similar to `is_reference` but for "Find implementations".
+       * It's common for `is_implementation` and `is_reference` to both be true but
+       * it's not always the case.
+       * In the TypeScript example above, observe that `Dog#` has an
+       * `is_implementation` relationship with `"Animal#"` but not `is_reference`.
+       * This is because "Find references" on the "Animal#" symbol should not return
+       * "Dog#". We only want "Dog#" to return as a result for "Find
+       * implementations" on the "Animal#" symbol.
+       * 
+ * + * bool is_implementation = 3 [json_name = "isImplementation"]; + * @param value The isImplementation to set. + * @return This builder for chaining. + */ + public Builder setIsImplementation(boolean value) { + + isImplementation_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + /** + *
+       * Similar to `is_reference` but for "Find implementations".
+       * It's common for `is_implementation` and `is_reference` to both be true but
+       * it's not always the case.
+       * In the TypeScript example above, observe that `Dog#` has an
+       * `is_implementation` relationship with `"Animal#"` but not `is_reference`.
+       * This is because "Find references" on the "Animal#" symbol should not return
+       * "Dog#". We only want "Dog#" to return as a result for "Find
+       * implementations" on the "Animal#" symbol.
+       * 
+ * + * bool is_implementation = 3 [json_name = "isImplementation"]; + * @return This builder for chaining. + */ + public Builder clearIsImplementation() { + bitField0_ = (bitField0_ & ~0x00000004); + isImplementation_ = false; + onChanged(); + return this; + } + + private boolean isTypeDefinition_ ; + /** + *
+       * Similar to `references_symbols` but for "Go to type definition".
+       * 
+ * + * bool is_type_definition = 4 [json_name = "isTypeDefinition"]; + * @return The isTypeDefinition. + */ + @java.lang.Override + public boolean getIsTypeDefinition() { + return isTypeDefinition_; + } + /** + *
+       * Similar to `references_symbols` but for "Go to type definition".
+       * 
+ * + * bool is_type_definition = 4 [json_name = "isTypeDefinition"]; + * @param value The isTypeDefinition to set. + * @return This builder for chaining. + */ + public Builder setIsTypeDefinition(boolean value) { + + isTypeDefinition_ = value; + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + /** + *
+       * Similar to `references_symbols` but for "Go to type definition".
+       * 
+ * + * bool is_type_definition = 4 [json_name = "isTypeDefinition"]; + * @return This builder for chaining. + */ + public Builder clearIsTypeDefinition() { + bitField0_ = (bitField0_ & ~0x00000008); + isTypeDefinition_ = false; + onChanged(); + return this; + } + + private boolean isDefinition_ ; + /** + *
+       * Allows overriding the behavior of "Go to definition" and "Find references"
+       * for symbols which do not have a definition of their own or could
+       * potentially have multiple definitions.
+       *
+       * For example, in a language with single inheritance and no field overriding,
+       * inherited fields can reuse the same symbol as the ancestor which declares
+       * the field. In such a situation, is_definition is not needed.
+       *
+       * On the other hand, in languages with single inheritance and some form
+       * of mixins, you can use is_definition to relate the symbol to the
+       * matching symbol in ancestor classes, and is_reference to relate the
+       * symbol to the matching symbol in mixins.
+       * 
+ * + * bool is_definition = 5 [json_name = "isDefinition"]; + * @return The isDefinition. + */ + @java.lang.Override + public boolean getIsDefinition() { + return isDefinition_; + } + /** + *
+       * Allows overriding the behavior of "Go to definition" and "Find references"
+       * for symbols which do not have a definition of their own or could
+       * potentially have multiple definitions.
+       *
+       * For example, in a language with single inheritance and no field overriding,
+       * inherited fields can reuse the same symbol as the ancestor which declares
+       * the field. In such a situation, is_definition is not needed.
+       *
+       * On the other hand, in languages with single inheritance and some form
+       * of mixins, you can use is_definition to relate the symbol to the
+       * matching symbol in ancestor classes, and is_reference to relate the
+       * symbol to the matching symbol in mixins.
+       * 
+ * + * bool is_definition = 5 [json_name = "isDefinition"]; + * @param value The isDefinition to set. + * @return This builder for chaining. + */ + public Builder setIsDefinition(boolean value) { + + isDefinition_ = value; + bitField0_ |= 0x00000010; + onChanged(); + return this; + } + /** + *
+       * Allows overriding the behavior of "Go to definition" and "Find references"
+       * for symbols which do not have a definition of their own or could
+       * potentially have multiple definitions.
+       *
+       * For example, in a language with single inheritance and no field overriding,
+       * inherited fields can reuse the same symbol as the ancestor which declares
+       * the field. In such a situation, is_definition is not needed.
+       *
+       * On the other hand, in languages with single inheritance and some form
+       * of mixins, you can use is_definition to relate the symbol to the
+       * matching symbol in ancestor classes, and is_reference to relate the
+       * symbol to the matching symbol in mixins.
+       * 
+ * + * bool is_definition = 5 [json_name = "isDefinition"]; + * @return This builder for chaining. + */ + public Builder clearIsDefinition() { + bitField0_ = (bitField0_ & ~0x00000010); + isDefinition_ = false; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:scip.Relationship) + } + + // @@protoc_insertion_point(class_scope:scip.Relationship) + private static final scip.Scip.Relationship DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new scip.Scip.Relationship(); + } + + public static scip.Scip.Relationship getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public Relationship parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public scip.Scip.Relationship getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface OccurrenceOrBuilder extends + // @@protoc_insertion_point(interface_extends:scip.Occurrence) + com.google.protobuf.MessageOrBuilder { + + /** + *
+     * Half-open [start, end) range of this occurrence. Must be exactly three or four
+     * elements:
+     *
+     * - Four elements: `[startLine, startCharacter, endLine, endCharacter]`
+     * - Three elements: `[startLine, startCharacter, endCharacter]`. The end line
+     * is inferred to have the same value as the start line.
+     *
+     * It is allowed for the range to be empty (i.e. start==end).
+     *
+     * Line numbers and characters are always 0-based. Make sure to increment the
+     * line/character values before displaying them in an editor-like UI because
+     * editors conventionally use 1-based numbers.
+     *
+     * The 'character' value is interpreted based on the PositionEncoding for
+     * the Document.
+     *
+     * Historical note: the original draft of this schema had a `Range` message
+     * type with `start` and `end` fields of type `Position`, mirroring LSP.
+     * Benchmarks revealed that this encoding was inefficient and that we could
+     * reduce the total payload size of an index by 50% by using `repeated int32`
+     * instead. The `repeated int32` encoding is admittedly more embarrassing to
+     * work with in some programming languages but we hope the performance
+     * improvements make up for it.
+     * 
+ * + * repeated int32 range = 1 [json_name = "range"]; + * @return A list containing the range. + */ + java.util.List getRangeList(); + /** + *
+     * Half-open [start, end) range of this occurrence. Must be exactly three or four
+     * elements:
+     *
+     * - Four elements: `[startLine, startCharacter, endLine, endCharacter]`
+     * - Three elements: `[startLine, startCharacter, endCharacter]`. The end line
+     * is inferred to have the same value as the start line.
+     *
+     * It is allowed for the range to be empty (i.e. start==end).
+     *
+     * Line numbers and characters are always 0-based. Make sure to increment the
+     * line/character values before displaying them in an editor-like UI because
+     * editors conventionally use 1-based numbers.
+     *
+     * The 'character' value is interpreted based on the PositionEncoding for
+     * the Document.
+     *
+     * Historical note: the original draft of this schema had a `Range` message
+     * type with `start` and `end` fields of type `Position`, mirroring LSP.
+     * Benchmarks revealed that this encoding was inefficient and that we could
+     * reduce the total payload size of an index by 50% by using `repeated int32`
+     * instead. The `repeated int32` encoding is admittedly more embarrassing to
+     * work with in some programming languages but we hope the performance
+     * improvements make up for it.
+     * 
+ * + * repeated int32 range = 1 [json_name = "range"]; + * @return The count of range. + */ + int getRangeCount(); + /** + *
+     * Half-open [start, end) range of this occurrence. Must be exactly three or four
+     * elements:
+     *
+     * - Four elements: `[startLine, startCharacter, endLine, endCharacter]`
+     * - Three elements: `[startLine, startCharacter, endCharacter]`. The end line
+     * is inferred to have the same value as the start line.
+     *
+     * It is allowed for the range to be empty (i.e. start==end).
+     *
+     * Line numbers and characters are always 0-based. Make sure to increment the
+     * line/character values before displaying them in an editor-like UI because
+     * editors conventionally use 1-based numbers.
+     *
+     * The 'character' value is interpreted based on the PositionEncoding for
+     * the Document.
+     *
+     * Historical note: the original draft of this schema had a `Range` message
+     * type with `start` and `end` fields of type `Position`, mirroring LSP.
+     * Benchmarks revealed that this encoding was inefficient and that we could
+     * reduce the total payload size of an index by 50% by using `repeated int32`
+     * instead. The `repeated int32` encoding is admittedly more embarrassing to
+     * work with in some programming languages but we hope the performance
+     * improvements make up for it.
+     * 
+ * + * repeated int32 range = 1 [json_name = "range"]; + * @param index The index of the element to return. + * @return The range at the given index. + */ + int getRange(int index); + + /** + *
+     * (optional) The symbol that appears at this position. See
+     * `SymbolInformation.symbol` for how to format symbols as strings.
+     * 
+ * + * string symbol = 2 [json_name = "symbol"]; + * @return The symbol. + */ + java.lang.String getSymbol(); + /** + *
+     * (optional) The symbol that appears at this position. See
+     * `SymbolInformation.symbol` for how to format symbols as strings.
+     * 
+ * + * string symbol = 2 [json_name = "symbol"]; + * @return The bytes for symbol. + */ + com.google.protobuf.ByteString + getSymbolBytes(); + + /** + *
+     * (optional) Bitset containing `SymbolRole`s in this occurrence.
+     * See `SymbolRole`'s documentation for how to read and write this field.
+     * 
+ * + * int32 symbol_roles = 3 [json_name = "symbolRoles"]; + * @return The symbolRoles. + */ + int getSymbolRoles(); + + /** + *
+     * (optional) CommonMark-formatted documentation for this specific range. If
+     * empty, the `Symbol.documentation` field is used instead. One example
+     * where this field might be useful is when the symbol represents a generic
+     * function (with abstract type parameters such as `List<T>`) and at this
+     * occurrence we know the exact values (such as `List<String>`).
+     *
+     * This field can also be used for dynamically or gradually typed languages,
+     * which commonly allow for type-changing assignment.
+     * 
+ * + * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; + * @return A list containing the overrideDocumentation. + */ + java.util.List + getOverrideDocumentationList(); + /** + *
+     * (optional) CommonMark-formatted documentation for this specific range. If
+     * empty, the `Symbol.documentation` field is used instead. One example
+     * where this field might be useful is when the symbol represents a generic
+     * function (with abstract type parameters such as `List<T>`) and at this
+     * occurrence we know the exact values (such as `List<String>`).
+     *
+     * This field can also be used for dynamically or gradually typed languages,
+     * which commonly allow for type-changing assignment.
+     * 
+ * + * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; + * @return The count of overrideDocumentation. + */ + int getOverrideDocumentationCount(); + /** + *
+     * (optional) CommonMark-formatted documentation for this specific range. If
+     * empty, the `Symbol.documentation` field is used instead. One example
+     * where this field might be useful is when the symbol represents a generic
+     * function (with abstract type parameters such as `List<T>`) and at this
+     * occurrence we know the exact values (such as `List<String>`).
+     *
+     * This field can also be used for dynamically or gradually typed languages,
+     * which commonly allow for type-changing assignment.
+     * 
+ * + * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; + * @param index The index of the element to return. + * @return The overrideDocumentation at the given index. + */ + java.lang.String getOverrideDocumentation(int index); + /** + *
+     * (optional) CommonMark-formatted documentation for this specific range. If
+     * empty, the `Symbol.documentation` field is used instead. One example
+     * where this field might be useful is when the symbol represents a generic
+     * function (with abstract type parameters such as `List<T>`) and at this
+     * occurrence we know the exact values (such as `List<String>`).
+     *
+     * This field can also be used for dynamically or gradually typed languages,
+     * which commonly allow for type-changing assignment.
+     * 
+ * + * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; + * @param index The index of the value to return. + * @return The bytes of the overrideDocumentation at the given index. + */ + com.google.protobuf.ByteString + getOverrideDocumentationBytes(int index); + + /** + *
+     * (optional) What syntax highlighting class should be used for this range?
+     * 
+ * + * .scip.SyntaxKind syntax_kind = 5 [json_name = "syntaxKind"]; + * @return The enum numeric value on the wire for syntaxKind. + */ + int getSyntaxKindValue(); + /** + *
+     * (optional) What syntax highlighting class should be used for this range?
+     * 
+ * + * .scip.SyntaxKind syntax_kind = 5 [json_name = "syntaxKind"]; + * @return The syntaxKind. + */ + scip.Scip.SyntaxKind getSyntaxKind(); + + /** + *
+     * (optional) Diagnostics that have been reported for this specific range.
+     * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + java.util.List + getDiagnosticsList(); + /** + *
+     * (optional) Diagnostics that have been reported for this specific range.
+     * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + scip.Scip.Diagnostic getDiagnostics(int index); + /** + *
+     * (optional) Diagnostics that have been reported for this specific range.
+     * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + int getDiagnosticsCount(); + /** + *
+     * (optional) Diagnostics that have been reported for this specific range.
+     * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + java.util.List + getDiagnosticsOrBuilderList(); + /** + *
+     * (optional) Diagnostics that have been reported for this specific range.
+     * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + scip.Scip.DiagnosticOrBuilder getDiagnosticsOrBuilder( + int index); + + /** + *
+     * (optional) Using the same encoding as the sibling `range` field, half-open
+     * source range of the nearest non-trivial enclosing AST node. This range must
+     * enclose the `range` field. Example applications that make use of the
+     * enclosing_range field:
+     *
+     * - Call hierarchies: to determine what symbols are references from the body
+     * of a function
+     * - Symbol outline: to display breadcrumbs from the cursor position to the
+     * root of the file
+     * - Expand selection: to select the nearest enclosing AST node.
+     * - Highlight range: to indicate the AST expression that is associated with a
+     * hover popover
+     *
+     * For definition occurrences, the enclosing range should indicate the
+     * start/end bounds of the entire definition AST node, including
+     * documentation.
+     * ```
+     * const n = 3
+     * ^ range
+     * ^^^^^^^^^^^ enclosing_range
+     *
+     * /** Parses the string into something */
+     * ^ enclosing_range start --------------------------------------|
+     * function parse(input string): string {                        |
+     * ^^^^^ range                                          |
+     * return input.slice(n)                                     |
+     * }                                                             |
+     * ^ enclosing_range end <---------------------------------------|
+     * ```
+     *
+     * Any attributes/decorators/attached macros should also be part of the
+     * enclosing range.
+     *
+     * ```python
+     * @cache
+     * ^ enclosing_range start---------------------|
+     * def factorial(n):                           |
+     * return n * factorial(n-1) if n else 1   |
+     * < enclosing_range end-----------------------|
+     *
+     * ```
+     *
+     * For reference occurrences, the enclosing range should indicate the start/end
+     * bounds of the parent expression.
+     * ```
+     * const a = a.b
+     * ^ range
+     * ^^^ enclosing_range
+     * const b = a.b(41).f(42).g(43)
+     * ^ range
+     * ^^^^^^^^^^^^^ enclosing_range
+     * ```
+     * 
+ * + * repeated int32 enclosing_range = 7 [json_name = "enclosingRange"]; + * @return A list containing the enclosingRange. + */ + java.util.List getEnclosingRangeList(); + /** + *
+     * (optional) Using the same encoding as the sibling `range` field, half-open
+     * source range of the nearest non-trivial enclosing AST node. This range must
+     * enclose the `range` field. Example applications that make use of the
+     * enclosing_range field:
+     *
+     * - Call hierarchies: to determine what symbols are references from the body
+     * of a function
+     * - Symbol outline: to display breadcrumbs from the cursor position to the
+     * root of the file
+     * - Expand selection: to select the nearest enclosing AST node.
+     * - Highlight range: to indicate the AST expression that is associated with a
+     * hover popover
+     *
+     * For definition occurrences, the enclosing range should indicate the
+     * start/end bounds of the entire definition AST node, including
+     * documentation.
+     * ```
+     * const n = 3
+     * ^ range
+     * ^^^^^^^^^^^ enclosing_range
+     *
+     * /** Parses the string into something */
+     * ^ enclosing_range start --------------------------------------|
+     * function parse(input string): string {                        |
+     * ^^^^^ range                                          |
+     * return input.slice(n)                                     |
+     * }                                                             |
+     * ^ enclosing_range end <---------------------------------------|
+     * ```
+     *
+     * Any attributes/decorators/attached macros should also be part of the
+     * enclosing range.
+     *
+     * ```python
+     * @cache
+     * ^ enclosing_range start---------------------|
+     * def factorial(n):                           |
+     * return n * factorial(n-1) if n else 1   |
+     * < enclosing_range end-----------------------|
+     *
+     * ```
+     *
+     * For reference occurrences, the enclosing range should indicate the start/end
+     * bounds of the parent expression.
+     * ```
+     * const a = a.b
+     * ^ range
+     * ^^^ enclosing_range
+     * const b = a.b(41).f(42).g(43)
+     * ^ range
+     * ^^^^^^^^^^^^^ enclosing_range
+     * ```
+     * 
+ * + * repeated int32 enclosing_range = 7 [json_name = "enclosingRange"]; + * @return The count of enclosingRange. + */ + int getEnclosingRangeCount(); + /** + *
+     * (optional) Using the same encoding as the sibling `range` field, half-open
+     * source range of the nearest non-trivial enclosing AST node. This range must
+     * enclose the `range` field. Example applications that make use of the
+     * enclosing_range field:
+     *
+     * - Call hierarchies: to determine what symbols are references from the body
+     * of a function
+     * - Symbol outline: to display breadcrumbs from the cursor position to the
+     * root of the file
+     * - Expand selection: to select the nearest enclosing AST node.
+     * - Highlight range: to indicate the AST expression that is associated with a
+     * hover popover
+     *
+     * For definition occurrences, the enclosing range should indicate the
+     * start/end bounds of the entire definition AST node, including
+     * documentation.
+     * ```
+     * const n = 3
+     * ^ range
+     * ^^^^^^^^^^^ enclosing_range
+     *
+     * /** Parses the string into something */
+     * ^ enclosing_range start --------------------------------------|
+     * function parse(input string): string {                        |
+     * ^^^^^ range                                          |
+     * return input.slice(n)                                     |
+     * }                                                             |
+     * ^ enclosing_range end <---------------------------------------|
+     * ```
+     *
+     * Any attributes/decorators/attached macros should also be part of the
+     * enclosing range.
+     *
+     * ```python
+     * @cache
+     * ^ enclosing_range start---------------------|
+     * def factorial(n):                           |
+     * return n * factorial(n-1) if n else 1   |
+     * < enclosing_range end-----------------------|
+     *
+     * ```
+     *
+     * For reference occurrences, the enclosing range should indicate the start/end
+     * bounds of the parent expression.
+     * ```
+     * const a = a.b
+     * ^ range
+     * ^^^ enclosing_range
+     * const b = a.b(41).f(42).g(43)
+     * ^ range
+     * ^^^^^^^^^^^^^ enclosing_range
+     * ```
+     * 
+ * + * repeated int32 enclosing_range = 7 [json_name = "enclosingRange"]; + * @param index The index of the element to return. + * @return The enclosingRange at the given index. + */ + int getEnclosingRange(int index); + } + /** + *
+   * Occurrence associates a source position with a symbol and/or highlighting
+   * information.
+   *
+   * If possible, indexers should try to bundle logically related information
+   * across occurrences into a single occurrence to reduce payload sizes.
+   * 
+ * + * Protobuf type {@code scip.Occurrence} + */ + public static final class Occurrence extends + com.google.protobuf.GeneratedMessage implements + // @@protoc_insertion_point(message_implements:scip.Occurrence) + OccurrenceOrBuilder { + private static final long serialVersionUID = 0L; + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 32, + /* patch= */ 1, + /* suffix= */ "", + Occurrence.class.getName()); + } + // Use Occurrence.newBuilder() to construct. + private Occurrence(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + private Occurrence() { + range_ = emptyIntList(); + symbol_ = ""; + overrideDocumentation_ = + com.google.protobuf.LazyStringArrayList.emptyList(); + syntaxKind_ = 0; + diagnostics_ = java.util.Collections.emptyList(); + enclosingRange_ = emptyIntList(); + } + + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return scip.Scip.internal_static_scip_Occurrence_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return scip.Scip.internal_static_scip_Occurrence_fieldAccessorTable + .ensureFieldAccessorsInitialized( + scip.Scip.Occurrence.class, scip.Scip.Occurrence.Builder.class); + } + + public static final int RANGE_FIELD_NUMBER = 1; + @SuppressWarnings("serial") + private com.google.protobuf.Internal.IntList range_ = + emptyIntList(); + /** + *
+     * Half-open [start, end) range of this occurrence. Must be exactly three or four
+     * elements:
+     *
+     * - Four elements: `[startLine, startCharacter, endLine, endCharacter]`
+     * - Three elements: `[startLine, startCharacter, endCharacter]`. The end line
+     * is inferred to have the same value as the start line.
+     *
+     * It is allowed for the range to be empty (i.e. start==end).
+     *
+     * Line numbers and characters are always 0-based. Make sure to increment the
+     * line/character values before displaying them in an editor-like UI because
+     * editors conventionally use 1-based numbers.
+     *
+     * The 'character' value is interpreted based on the PositionEncoding for
+     * the Document.
+     *
+     * Historical note: the original draft of this schema had a `Range` message
+     * type with `start` and `end` fields of type `Position`, mirroring LSP.
+     * Benchmarks revealed that this encoding was inefficient and that we could
+     * reduce the total payload size of an index by 50% by using `repeated int32`
+     * instead. The `repeated int32` encoding is admittedly more embarrassing to
+     * work with in some programming languages but we hope the performance
+     * improvements make up for it.
+     * 
+ * + * repeated int32 range = 1 [json_name = "range"]; + * @return A list containing the range. + */ + @java.lang.Override + public java.util.List + getRangeList() { + return range_; + } + /** + *
+     * Half-open [start, end) range of this occurrence. Must be exactly three or four
+     * elements:
+     *
+     * - Four elements: `[startLine, startCharacter, endLine, endCharacter]`
+     * - Three elements: `[startLine, startCharacter, endCharacter]`. The end line
+     * is inferred to have the same value as the start line.
+     *
+     * It is allowed for the range to be empty (i.e. start==end).
+     *
+     * Line numbers and characters are always 0-based. Make sure to increment the
+     * line/character values before displaying them in an editor-like UI because
+     * editors conventionally use 1-based numbers.
+     *
+     * The 'character' value is interpreted based on the PositionEncoding for
+     * the Document.
+     *
+     * Historical note: the original draft of this schema had a `Range` message
+     * type with `start` and `end` fields of type `Position`, mirroring LSP.
+     * Benchmarks revealed that this encoding was inefficient and that we could
+     * reduce the total payload size of an index by 50% by using `repeated int32`
+     * instead. The `repeated int32` encoding is admittedly more embarrassing to
+     * work with in some programming languages but we hope the performance
+     * improvements make up for it.
+     * 
+ * + * repeated int32 range = 1 [json_name = "range"]; + * @return The count of range. + */ + public int getRangeCount() { + return range_.size(); + } + /** + *
+     * Half-open [start, end) range of this occurrence. Must be exactly three or four
+     * elements:
+     *
+     * - Four elements: `[startLine, startCharacter, endLine, endCharacter]`
+     * - Three elements: `[startLine, startCharacter, endCharacter]`. The end line
+     * is inferred to have the same value as the start line.
+     *
+     * It is allowed for the range to be empty (i.e. start==end).
+     *
+     * Line numbers and characters are always 0-based. Make sure to increment the
+     * line/character values before displaying them in an editor-like UI because
+     * editors conventionally use 1-based numbers.
+     *
+     * The 'character' value is interpreted based on the PositionEncoding for
+     * the Document.
+     *
+     * Historical note: the original draft of this schema had a `Range` message
+     * type with `start` and `end` fields of type `Position`, mirroring LSP.
+     * Benchmarks revealed that this encoding was inefficient and that we could
+     * reduce the total payload size of an index by 50% by using `repeated int32`
+     * instead. The `repeated int32` encoding is admittedly more embarrassing to
+     * work with in some programming languages but we hope the performance
+     * improvements make up for it.
+     * 
+ * + * repeated int32 range = 1 [json_name = "range"]; + * @param index The index of the element to return. + * @return The range at the given index. + */ + public int getRange(int index) { + return range_.getInt(index); + } + private int rangeMemoizedSerializedSize = -1; + + public static final int SYMBOL_FIELD_NUMBER = 2; + @SuppressWarnings("serial") + private volatile java.lang.Object symbol_ = ""; + /** + *
+     * (optional) The symbol that appears at this position. See
+     * `SymbolInformation.symbol` for how to format symbols as strings.
+     * 
+ * + * string symbol = 2 [json_name = "symbol"]; + * @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; + } + } + /** + *
+     * (optional) The symbol that appears at this position. See
+     * `SymbolInformation.symbol` for how to format symbols as strings.
+     * 
+ * + * string symbol = 2 [json_name = "symbol"]; + * @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 SYMBOL_ROLES_FIELD_NUMBER = 3; + private int symbolRoles_ = 0; + /** + *
+     * (optional) Bitset containing `SymbolRole`s in this occurrence.
+     * See `SymbolRole`'s documentation for how to read and write this field.
+     * 
+ * + * int32 symbol_roles = 3 [json_name = "symbolRoles"]; + * @return The symbolRoles. + */ + @java.lang.Override + public int getSymbolRoles() { + return symbolRoles_; + } + + public static final int OVERRIDE_DOCUMENTATION_FIELD_NUMBER = 4; + @SuppressWarnings("serial") + private com.google.protobuf.LazyStringArrayList overrideDocumentation_ = + com.google.protobuf.LazyStringArrayList.emptyList(); + /** + *
+     * (optional) CommonMark-formatted documentation for this specific range. If
+     * empty, the `Symbol.documentation` field is used instead. One example
+     * where this field might be useful is when the symbol represents a generic
+     * function (with abstract type parameters such as `List<T>`) and at this
+     * occurrence we know the exact values (such as `List<String>`).
+     *
+     * This field can also be used for dynamically or gradually typed languages,
+     * which commonly allow for type-changing assignment.
+     * 
+ * + * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; + * @return A list containing the overrideDocumentation. + */ + public com.google.protobuf.ProtocolStringList + getOverrideDocumentationList() { + return overrideDocumentation_; + } + /** + *
+     * (optional) CommonMark-formatted documentation for this specific range. If
+     * empty, the `Symbol.documentation` field is used instead. One example
+     * where this field might be useful is when the symbol represents a generic
+     * function (with abstract type parameters such as `List<T>`) and at this
+     * occurrence we know the exact values (such as `List<String>`).
+     *
+     * This field can also be used for dynamically or gradually typed languages,
+     * which commonly allow for type-changing assignment.
+     * 
+ * + * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; + * @return The count of overrideDocumentation. + */ + public int getOverrideDocumentationCount() { + return overrideDocumentation_.size(); + } + /** + *
+     * (optional) CommonMark-formatted documentation for this specific range. If
+     * empty, the `Symbol.documentation` field is used instead. One example
+     * where this field might be useful is when the symbol represents a generic
+     * function (with abstract type parameters such as `List<T>`) and at this
+     * occurrence we know the exact values (such as `List<String>`).
+     *
+     * This field can also be used for dynamically or gradually typed languages,
+     * which commonly allow for type-changing assignment.
+     * 
+ * + * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; + * @param index The index of the element to return. + * @return The overrideDocumentation at the given index. + */ + public java.lang.String getOverrideDocumentation(int index) { + return overrideDocumentation_.get(index); + } + /** + *
+     * (optional) CommonMark-formatted documentation for this specific range. If
+     * empty, the `Symbol.documentation` field is used instead. One example
+     * where this field might be useful is when the symbol represents a generic
+     * function (with abstract type parameters such as `List<T>`) and at this
+     * occurrence we know the exact values (such as `List<String>`).
+     *
+     * This field can also be used for dynamically or gradually typed languages,
+     * which commonly allow for type-changing assignment.
+     * 
+ * + * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; + * @param index The index of the value to return. + * @return The bytes of the overrideDocumentation at the given index. + */ + public com.google.protobuf.ByteString + getOverrideDocumentationBytes(int index) { + return overrideDocumentation_.getByteString(index); + } + + public static final int SYNTAX_KIND_FIELD_NUMBER = 5; + private int syntaxKind_ = 0; + /** + *
+     * (optional) What syntax highlighting class should be used for this range?
+     * 
+ * + * .scip.SyntaxKind syntax_kind = 5 [json_name = "syntaxKind"]; + * @return The enum numeric value on the wire for syntaxKind. + */ + @java.lang.Override public int getSyntaxKindValue() { + return syntaxKind_; + } + /** + *
+     * (optional) What syntax highlighting class should be used for this range?
+     * 
+ * + * .scip.SyntaxKind syntax_kind = 5 [json_name = "syntaxKind"]; + * @return The syntaxKind. + */ + @java.lang.Override public scip.Scip.SyntaxKind getSyntaxKind() { + scip.Scip.SyntaxKind result = scip.Scip.SyntaxKind.forNumber(syntaxKind_); + return result == null ? scip.Scip.SyntaxKind.UNRECOGNIZED : result; + } + + public static final int DIAGNOSTICS_FIELD_NUMBER = 6; + @SuppressWarnings("serial") + private java.util.List diagnostics_; + /** + *
+     * (optional) Diagnostics that have been reported for this specific range.
+     * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + @java.lang.Override + public java.util.List getDiagnosticsList() { + return diagnostics_; + } + /** + *
+     * (optional) Diagnostics that have been reported for this specific range.
+     * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + @java.lang.Override + public java.util.List + getDiagnosticsOrBuilderList() { + return diagnostics_; + } + /** + *
+     * (optional) Diagnostics that have been reported for this specific range.
+     * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + @java.lang.Override + public int getDiagnosticsCount() { + return diagnostics_.size(); + } + /** + *
+     * (optional) Diagnostics that have been reported for this specific range.
+     * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + @java.lang.Override + public scip.Scip.Diagnostic getDiagnostics(int index) { + return diagnostics_.get(index); + } + /** + *
+     * (optional) Diagnostics that have been reported for this specific range.
+     * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + @java.lang.Override + public scip.Scip.DiagnosticOrBuilder getDiagnosticsOrBuilder( + int index) { + return diagnostics_.get(index); + } + + public static final int ENCLOSING_RANGE_FIELD_NUMBER = 7; + @SuppressWarnings("serial") + private com.google.protobuf.Internal.IntList enclosingRange_ = + emptyIntList(); + /** + *
+     * (optional) Using the same encoding as the sibling `range` field, half-open
+     * source range of the nearest non-trivial enclosing AST node. This range must
+     * enclose the `range` field. Example applications that make use of the
+     * enclosing_range field:
+     *
+     * - Call hierarchies: to determine what symbols are references from the body
+     * of a function
+     * - Symbol outline: to display breadcrumbs from the cursor position to the
+     * root of the file
+     * - Expand selection: to select the nearest enclosing AST node.
+     * - Highlight range: to indicate the AST expression that is associated with a
+     * hover popover
+     *
+     * For definition occurrences, the enclosing range should indicate the
+     * start/end bounds of the entire definition AST node, including
+     * documentation.
+     * ```
+     * const n = 3
+     * ^ range
+     * ^^^^^^^^^^^ enclosing_range
+     *
+     * /** Parses the string into something */
+     * ^ enclosing_range start --------------------------------------|
+     * function parse(input string): string {                        |
+     * ^^^^^ range                                          |
+     * return input.slice(n)                                     |
+     * }                                                             |
+     * ^ enclosing_range end <---------------------------------------|
+     * ```
+     *
+     * Any attributes/decorators/attached macros should also be part of the
+     * enclosing range.
+     *
+     * ```python
+     * @cache
+     * ^ enclosing_range start---------------------|
+     * def factorial(n):                           |
+     * return n * factorial(n-1) if n else 1   |
+     * < enclosing_range end-----------------------|
+     *
+     * ```
+     *
+     * For reference occurrences, the enclosing range should indicate the start/end
+     * bounds of the parent expression.
+     * ```
+     * const a = a.b
+     * ^ range
+     * ^^^ enclosing_range
+     * const b = a.b(41).f(42).g(43)
+     * ^ range
+     * ^^^^^^^^^^^^^ enclosing_range
+     * ```
+     * 
+ * + * repeated int32 enclosing_range = 7 [json_name = "enclosingRange"]; + * @return A list containing the enclosingRange. + */ + @java.lang.Override + public java.util.List + getEnclosingRangeList() { + return enclosingRange_; + } + /** + *
+     * (optional) Using the same encoding as the sibling `range` field, half-open
+     * source range of the nearest non-trivial enclosing AST node. This range must
+     * enclose the `range` field. Example applications that make use of the
+     * enclosing_range field:
+     *
+     * - Call hierarchies: to determine what symbols are references from the body
+     * of a function
+     * - Symbol outline: to display breadcrumbs from the cursor position to the
+     * root of the file
+     * - Expand selection: to select the nearest enclosing AST node.
+     * - Highlight range: to indicate the AST expression that is associated with a
+     * hover popover
+     *
+     * For definition occurrences, the enclosing range should indicate the
+     * start/end bounds of the entire definition AST node, including
+     * documentation.
+     * ```
+     * const n = 3
+     * ^ range
+     * ^^^^^^^^^^^ enclosing_range
+     *
+     * /** Parses the string into something */
+     * ^ enclosing_range start --------------------------------------|
+     * function parse(input string): string {                        |
+     * ^^^^^ range                                          |
+     * return input.slice(n)                                     |
+     * }                                                             |
+     * ^ enclosing_range end <---------------------------------------|
+     * ```
+     *
+     * Any attributes/decorators/attached macros should also be part of the
+     * enclosing range.
+     *
+     * ```python
+     * @cache
+     * ^ enclosing_range start---------------------|
+     * def factorial(n):                           |
+     * return n * factorial(n-1) if n else 1   |
+     * < enclosing_range end-----------------------|
+     *
+     * ```
+     *
+     * For reference occurrences, the enclosing range should indicate the start/end
+     * bounds of the parent expression.
+     * ```
+     * const a = a.b
+     * ^ range
+     * ^^^ enclosing_range
+     * const b = a.b(41).f(42).g(43)
+     * ^ range
+     * ^^^^^^^^^^^^^ enclosing_range
+     * ```
+     * 
+ * + * repeated int32 enclosing_range = 7 [json_name = "enclosingRange"]; + * @return The count of enclosingRange. + */ + public int getEnclosingRangeCount() { + return enclosingRange_.size(); + } + /** + *
+     * (optional) Using the same encoding as the sibling `range` field, half-open
+     * source range of the nearest non-trivial enclosing AST node. This range must
+     * enclose the `range` field. Example applications that make use of the
+     * enclosing_range field:
+     *
+     * - Call hierarchies: to determine what symbols are references from the body
+     * of a function
+     * - Symbol outline: to display breadcrumbs from the cursor position to the
+     * root of the file
+     * - Expand selection: to select the nearest enclosing AST node.
+     * - Highlight range: to indicate the AST expression that is associated with a
+     * hover popover
+     *
+     * For definition occurrences, the enclosing range should indicate the
+     * start/end bounds of the entire definition AST node, including
+     * documentation.
+     * ```
+     * const n = 3
+     * ^ range
+     * ^^^^^^^^^^^ enclosing_range
+     *
+     * /** Parses the string into something */
+     * ^ enclosing_range start --------------------------------------|
+     * function parse(input string): string {                        |
+     * ^^^^^ range                                          |
+     * return input.slice(n)                                     |
+     * }                                                             |
+     * ^ enclosing_range end <---------------------------------------|
+     * ```
+     *
+     * Any attributes/decorators/attached macros should also be part of the
+     * enclosing range.
+     *
+     * ```python
+     * @cache
+     * ^ enclosing_range start---------------------|
+     * def factorial(n):                           |
+     * return n * factorial(n-1) if n else 1   |
+     * < enclosing_range end-----------------------|
+     *
+     * ```
+     *
+     * For reference occurrences, the enclosing range should indicate the start/end
+     * bounds of the parent expression.
+     * ```
+     * const a = a.b
+     * ^ range
+     * ^^^ enclosing_range
+     * const b = a.b(41).f(42).g(43)
+     * ^ range
+     * ^^^^^^^^^^^^^ enclosing_range
+     * ```
+     * 
+ * + * repeated int32 enclosing_range = 7 [json_name = "enclosingRange"]; + * @param index The index of the element to return. + * @return The enclosingRange at the given index. + */ + public int getEnclosingRange(int index) { + return enclosingRange_.getInt(index); + } + private int enclosingRangeMemoizedSerializedSize = -1; + + 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 { + getSerializedSize(); + if (getRangeList().size() > 0) { + output.writeUInt32NoTag(10); + output.writeUInt32NoTag(rangeMemoizedSerializedSize); + } + for (int i = 0; i < range_.size(); i++) { + output.writeInt32NoTag(range_.getInt(i)); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(symbol_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 2, symbol_); + } + if (symbolRoles_ != 0) { + output.writeInt32(3, symbolRoles_); + } + for (int i = 0; i < overrideDocumentation_.size(); i++) { + com.google.protobuf.GeneratedMessage.writeString(output, 4, overrideDocumentation_.getRaw(i)); + } + if (syntaxKind_ != scip.Scip.SyntaxKind.UnspecifiedSyntaxKind.getNumber()) { + output.writeEnum(5, syntaxKind_); + } + for (int i = 0; i < diagnostics_.size(); i++) { + output.writeMessage(6, diagnostics_.get(i)); + } + if (getEnclosingRangeList().size() > 0) { + output.writeUInt32NoTag(58); + output.writeUInt32NoTag(enclosingRangeMemoizedSerializedSize); + } + for (int i = 0; i < enclosingRange_.size(); i++) { + output.writeInt32NoTag(enclosingRange_.getInt(i)); + } + getUnknownFields().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 < range_.size(); i++) { + dataSize += com.google.protobuf.CodedOutputStream + .computeInt32SizeNoTag(range_.getInt(i)); + } + size += dataSize; + if (!getRangeList().isEmpty()) { + size += 1; + size += com.google.protobuf.CodedOutputStream + .computeInt32SizeNoTag(dataSize); + } + rangeMemoizedSerializedSize = dataSize; + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(symbol_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(2, symbol_); + } + if (symbolRoles_ != 0) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(3, symbolRoles_); + } + { + int dataSize = 0; + for (int i = 0; i < overrideDocumentation_.size(); i++) { + dataSize += computeStringSizeNoTag(overrideDocumentation_.getRaw(i)); + } + size += dataSize; + size += 1 * getOverrideDocumentationList().size(); + } + if (syntaxKind_ != scip.Scip.SyntaxKind.UnspecifiedSyntaxKind.getNumber()) { + size += com.google.protobuf.CodedOutputStream + .computeEnumSize(5, syntaxKind_); + } + for (int i = 0; i < diagnostics_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(6, diagnostics_.get(i)); + } + { + int dataSize = 0; + for (int i = 0; i < enclosingRange_.size(); i++) { + dataSize += com.google.protobuf.CodedOutputStream + .computeInt32SizeNoTag(enclosingRange_.getInt(i)); + } + size += dataSize; + if (!getEnclosingRangeList().isEmpty()) { + size += 1; + size += com.google.protobuf.CodedOutputStream + .computeInt32SizeNoTag(dataSize); + } + enclosingRangeMemoizedSerializedSize = dataSize; + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof scip.Scip.Occurrence)) { + return super.equals(obj); + } + scip.Scip.Occurrence other = (scip.Scip.Occurrence) obj; + + if (!getRangeList() + .equals(other.getRangeList())) return false; + if (!getSymbol() + .equals(other.getSymbol())) return false; + if (getSymbolRoles() + != other.getSymbolRoles()) return false; + if (!getOverrideDocumentationList() + .equals(other.getOverrideDocumentationList())) return false; + if (syntaxKind_ != other.syntaxKind_) return false; + if (!getDiagnosticsList() + .equals(other.getDiagnosticsList())) return false; + if (!getEnclosingRangeList() + .equals(other.getEnclosingRangeList())) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (getRangeCount() > 0) { + hash = (37 * hash) + RANGE_FIELD_NUMBER; + hash = (53 * hash) + getRangeList().hashCode(); + } + hash = (37 * hash) + SYMBOL_FIELD_NUMBER; + hash = (53 * hash) + getSymbol().hashCode(); + hash = (37 * hash) + SYMBOL_ROLES_FIELD_NUMBER; + hash = (53 * hash) + getSymbolRoles(); + if (getOverrideDocumentationCount() > 0) { + hash = (37 * hash) + OVERRIDE_DOCUMENTATION_FIELD_NUMBER; + hash = (53 * hash) + getOverrideDocumentationList().hashCode(); + } + hash = (37 * hash) + SYNTAX_KIND_FIELD_NUMBER; + hash = (53 * hash) + syntaxKind_; + if (getDiagnosticsCount() > 0) { + hash = (37 * hash) + DIAGNOSTICS_FIELD_NUMBER; + hash = (53 * hash) + getDiagnosticsList().hashCode(); + } + if (getEnclosingRangeCount() > 0) { + hash = (37 * hash) + ENCLOSING_RANGE_FIELD_NUMBER; + hash = (53 * hash) + getEnclosingRangeList().hashCode(); + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static scip.Scip.Occurrence parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static scip.Scip.Occurrence parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static scip.Scip.Occurrence parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static scip.Scip.Occurrence parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static scip.Scip.Occurrence parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static scip.Scip.Occurrence parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static scip.Scip.Occurrence parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static scip.Scip.Occurrence parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public static scip.Scip.Occurrence parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input); + } + + public static scip.Scip.Occurrence parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static scip.Scip.Occurrence parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static scip.Scip.Occurrence parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(scip.Scip.Occurrence 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + *
+     * Occurrence associates a source position with a symbol and/or highlighting
+     * information.
+     *
+     * If possible, indexers should try to bundle logically related information
+     * across occurrences into a single occurrence to reduce payload sizes.
+     * 
+ * + * Protobuf type {@code scip.Occurrence} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder implements + // @@protoc_insertion_point(builder_implements:scip.Occurrence) + scip.Scip.OccurrenceOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return scip.Scip.internal_static_scip_Occurrence_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return scip.Scip.internal_static_scip_Occurrence_fieldAccessorTable + .ensureFieldAccessorsInitialized( + scip.Scip.Occurrence.class, scip.Scip.Occurrence.Builder.class); + } + + // Construct using scip.Scip.Occurrence.newBuilder() + private Builder() { + + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + + } + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + range_ = emptyIntList(); + symbol_ = ""; + symbolRoles_ = 0; + overrideDocumentation_ = + com.google.protobuf.LazyStringArrayList.emptyList(); + syntaxKind_ = 0; + if (diagnosticsBuilder_ == null) { + diagnostics_ = java.util.Collections.emptyList(); + } else { + diagnostics_ = null; + diagnosticsBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000020); + enclosingRange_ = emptyIntList(); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return scip.Scip.internal_static_scip_Occurrence_descriptor; + } + + @java.lang.Override + public scip.Scip.Occurrence getDefaultInstanceForType() { + return scip.Scip.Occurrence.getDefaultInstance(); + } + + @java.lang.Override + public scip.Scip.Occurrence build() { + scip.Scip.Occurrence result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public scip.Scip.Occurrence buildPartial() { + scip.Scip.Occurrence result = new scip.Scip.Occurrence(this); + buildPartialRepeatedFields(result); + if (bitField0_ != 0) { buildPartial0(result); } + onBuilt(); + return result; + } + + private void buildPartialRepeatedFields(scip.Scip.Occurrence result) { + if (diagnosticsBuilder_ == null) { + if (((bitField0_ & 0x00000020) != 0)) { + diagnostics_ = java.util.Collections.unmodifiableList(diagnostics_); + bitField0_ = (bitField0_ & ~0x00000020); + } + result.diagnostics_ = diagnostics_; + } else { + result.diagnostics_ = diagnosticsBuilder_.build(); + } + } + + private void buildPartial0(scip.Scip.Occurrence result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + range_.makeImmutable(); + result.range_ = range_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.symbol_ = symbol_; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.symbolRoles_ = symbolRoles_; + } + if (((from_bitField0_ & 0x00000008) != 0)) { + overrideDocumentation_.makeImmutable(); + result.overrideDocumentation_ = overrideDocumentation_; + } + if (((from_bitField0_ & 0x00000010) != 0)) { + result.syntaxKind_ = syntaxKind_; + } + if (((from_bitField0_ & 0x00000040) != 0)) { + enclosingRange_.makeImmutable(); + result.enclosingRange_ = enclosingRange_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof scip.Scip.Occurrence) { + return mergeFrom((scip.Scip.Occurrence)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(scip.Scip.Occurrence other) { + if (other == scip.Scip.Occurrence.getDefaultInstance()) return this; + if (!other.range_.isEmpty()) { + if (range_.isEmpty()) { + range_ = other.range_; + range_.makeImmutable(); + bitField0_ |= 0x00000001; + } else { + ensureRangeIsMutable(); + range_.addAll(other.range_); + } + onChanged(); + } + if (!other.getSymbol().isEmpty()) { + symbol_ = other.symbol_; + bitField0_ |= 0x00000002; + onChanged(); + } + if (other.getSymbolRoles() != 0) { + setSymbolRoles(other.getSymbolRoles()); + } + if (!other.overrideDocumentation_.isEmpty()) { + if (overrideDocumentation_.isEmpty()) { + overrideDocumentation_ = other.overrideDocumentation_; + bitField0_ |= 0x00000008; + } else { + ensureOverrideDocumentationIsMutable(); + overrideDocumentation_.addAll(other.overrideDocumentation_); + } + onChanged(); + } + if (other.syntaxKind_ != 0) { + setSyntaxKindValue(other.getSyntaxKindValue()); + } + if (diagnosticsBuilder_ == null) { + if (!other.diagnostics_.isEmpty()) { + if (diagnostics_.isEmpty()) { + diagnostics_ = other.diagnostics_; + bitField0_ = (bitField0_ & ~0x00000020); + } else { + ensureDiagnosticsIsMutable(); + diagnostics_.addAll(other.diagnostics_); + } + onChanged(); + } + } else { + if (!other.diagnostics_.isEmpty()) { + if (diagnosticsBuilder_.isEmpty()) { + diagnosticsBuilder_.dispose(); + diagnosticsBuilder_ = null; + diagnostics_ = other.diagnostics_; + bitField0_ = (bitField0_ & ~0x00000020); + diagnosticsBuilder_ = + com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ? + internalGetDiagnosticsFieldBuilder() : null; + } else { + diagnosticsBuilder_.addAllMessages(other.diagnostics_); + } + } + } + if (!other.enclosingRange_.isEmpty()) { + if (enclosingRange_.isEmpty()) { + enclosingRange_ = other.enclosingRange_; + enclosingRange_.makeImmutable(); + bitField0_ |= 0x00000040; + } else { + ensureEnclosingRangeIsMutable(); + enclosingRange_.addAll(other.enclosingRange_); + } + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + 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 { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: { + int v = input.readInt32(); + ensureRangeIsMutable(); + range_.addInt(v); + break; + } // case 8 + case 10: { + int length = input.readRawVarint32(); + int limit = input.pushLimit(length); + ensureRangeIsMutable(); + while (input.getBytesUntilLimit() > 0) { + range_.addInt(input.readInt32()); + } + input.popLimit(limit); + break; + } // case 10 + case 18: { + symbol_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000002; + break; + } // case 18 + case 24: { + symbolRoles_ = input.readInt32(); + bitField0_ |= 0x00000004; + break; + } // case 24 + case 34: { + java.lang.String s = input.readStringRequireUtf8(); + ensureOverrideDocumentationIsMutable(); + overrideDocumentation_.add(s); + break; + } // case 34 + case 40: { + syntaxKind_ = input.readEnum(); + bitField0_ |= 0x00000010; + break; + } // case 40 + case 50: { + scip.Scip.Diagnostic m = + input.readMessage( + scip.Scip.Diagnostic.parser(), + extensionRegistry); + if (diagnosticsBuilder_ == null) { + ensureDiagnosticsIsMutable(); + diagnostics_.add(m); + } else { + diagnosticsBuilder_.addMessage(m); + } + break; + } // case 50 + case 56: { + int v = input.readInt32(); + ensureEnclosingRangeIsMutable(); + enclosingRange_.addInt(v); + break; + } // case 56 + case 58: { + int length = input.readRawVarint32(); + int limit = input.pushLimit(length); + ensureEnclosingRangeIsMutable(); + while (input.getBytesUntilLimit() > 0) { + enclosingRange_.addInt(input.readInt32()); + } + input.popLimit(limit); + break; + } // case 58 + default: { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + private int bitField0_; + + private com.google.protobuf.Internal.IntList range_ = emptyIntList(); + private void ensureRangeIsMutable() { + if (!range_.isModifiable()) { + range_ = makeMutableCopy(range_); + } + bitField0_ |= 0x00000001; + } + /** + *
+       * Half-open [start, end) range of this occurrence. Must be exactly three or four
+       * elements:
+       *
+       * - Four elements: `[startLine, startCharacter, endLine, endCharacter]`
+       * - Three elements: `[startLine, startCharacter, endCharacter]`. The end line
+       * is inferred to have the same value as the start line.
+       *
+       * It is allowed for the range to be empty (i.e. start==end).
+       *
+       * Line numbers and characters are always 0-based. Make sure to increment the
+       * line/character values before displaying them in an editor-like UI because
+       * editors conventionally use 1-based numbers.
+       *
+       * The 'character' value is interpreted based on the PositionEncoding for
+       * the Document.
+       *
+       * Historical note: the original draft of this schema had a `Range` message
+       * type with `start` and `end` fields of type `Position`, mirroring LSP.
+       * Benchmarks revealed that this encoding was inefficient and that we could
+       * reduce the total payload size of an index by 50% by using `repeated int32`
+       * instead. The `repeated int32` encoding is admittedly more embarrassing to
+       * work with in some programming languages but we hope the performance
+       * improvements make up for it.
+       * 
+ * + * repeated int32 range = 1 [json_name = "range"]; + * @return A list containing the range. + */ + public java.util.List + getRangeList() { + range_.makeImmutable(); + return range_; + } + /** + *
+       * Half-open [start, end) range of this occurrence. Must be exactly three or four
+       * elements:
+       *
+       * - Four elements: `[startLine, startCharacter, endLine, endCharacter]`
+       * - Three elements: `[startLine, startCharacter, endCharacter]`. The end line
+       * is inferred to have the same value as the start line.
+       *
+       * It is allowed for the range to be empty (i.e. start==end).
+       *
+       * Line numbers and characters are always 0-based. Make sure to increment the
+       * line/character values before displaying them in an editor-like UI because
+       * editors conventionally use 1-based numbers.
+       *
+       * The 'character' value is interpreted based on the PositionEncoding for
+       * the Document.
+       *
+       * Historical note: the original draft of this schema had a `Range` message
+       * type with `start` and `end` fields of type `Position`, mirroring LSP.
+       * Benchmarks revealed that this encoding was inefficient and that we could
+       * reduce the total payload size of an index by 50% by using `repeated int32`
+       * instead. The `repeated int32` encoding is admittedly more embarrassing to
+       * work with in some programming languages but we hope the performance
+       * improvements make up for it.
+       * 
+ * + * repeated int32 range = 1 [json_name = "range"]; + * @return The count of range. + */ + public int getRangeCount() { + return range_.size(); + } + /** + *
+       * Half-open [start, end) range of this occurrence. Must be exactly three or four
+       * elements:
+       *
+       * - Four elements: `[startLine, startCharacter, endLine, endCharacter]`
+       * - Three elements: `[startLine, startCharacter, endCharacter]`. The end line
+       * is inferred to have the same value as the start line.
+       *
+       * It is allowed for the range to be empty (i.e. start==end).
+       *
+       * Line numbers and characters are always 0-based. Make sure to increment the
+       * line/character values before displaying them in an editor-like UI because
+       * editors conventionally use 1-based numbers.
+       *
+       * The 'character' value is interpreted based on the PositionEncoding for
+       * the Document.
+       *
+       * Historical note: the original draft of this schema had a `Range` message
+       * type with `start` and `end` fields of type `Position`, mirroring LSP.
+       * Benchmarks revealed that this encoding was inefficient and that we could
+       * reduce the total payload size of an index by 50% by using `repeated int32`
+       * instead. The `repeated int32` encoding is admittedly more embarrassing to
+       * work with in some programming languages but we hope the performance
+       * improvements make up for it.
+       * 
+ * + * repeated int32 range = 1 [json_name = "range"]; + * @param index The index of the element to return. + * @return The range at the given index. + */ + public int getRange(int index) { + return range_.getInt(index); + } + /** + *
+       * Half-open [start, end) range of this occurrence. Must be exactly three or four
+       * elements:
+       *
+       * - Four elements: `[startLine, startCharacter, endLine, endCharacter]`
+       * - Three elements: `[startLine, startCharacter, endCharacter]`. The end line
+       * is inferred to have the same value as the start line.
+       *
+       * It is allowed for the range to be empty (i.e. start==end).
+       *
+       * Line numbers and characters are always 0-based. Make sure to increment the
+       * line/character values before displaying them in an editor-like UI because
+       * editors conventionally use 1-based numbers.
+       *
+       * The 'character' value is interpreted based on the PositionEncoding for
+       * the Document.
+       *
+       * Historical note: the original draft of this schema had a `Range` message
+       * type with `start` and `end` fields of type `Position`, mirroring LSP.
+       * Benchmarks revealed that this encoding was inefficient and that we could
+       * reduce the total payload size of an index by 50% by using `repeated int32`
+       * instead. The `repeated int32` encoding is admittedly more embarrassing to
+       * work with in some programming languages but we hope the performance
+       * improvements make up for it.
+       * 
+ * + * repeated int32 range = 1 [json_name = "range"]; + * @param index The index to set the value at. + * @param value The range to set. + * @return This builder for chaining. + */ + public Builder setRange( + int index, int value) { + + ensureRangeIsMutable(); + range_.setInt(index, value); + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + /** + *
+       * Half-open [start, end) range of this occurrence. Must be exactly three or four
+       * elements:
+       *
+       * - Four elements: `[startLine, startCharacter, endLine, endCharacter]`
+       * - Three elements: `[startLine, startCharacter, endCharacter]`. The end line
+       * is inferred to have the same value as the start line.
+       *
+       * It is allowed for the range to be empty (i.e. start==end).
+       *
+       * Line numbers and characters are always 0-based. Make sure to increment the
+       * line/character values before displaying them in an editor-like UI because
+       * editors conventionally use 1-based numbers.
+       *
+       * The 'character' value is interpreted based on the PositionEncoding for
+       * the Document.
+       *
+       * Historical note: the original draft of this schema had a `Range` message
+       * type with `start` and `end` fields of type `Position`, mirroring LSP.
+       * Benchmarks revealed that this encoding was inefficient and that we could
+       * reduce the total payload size of an index by 50% by using `repeated int32`
+       * instead. The `repeated int32` encoding is admittedly more embarrassing to
+       * work with in some programming languages but we hope the performance
+       * improvements make up for it.
+       * 
+ * + * repeated int32 range = 1 [json_name = "range"]; + * @param value The range to add. + * @return This builder for chaining. + */ + public Builder addRange(int value) { + + ensureRangeIsMutable(); + range_.addInt(value); + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + /** + *
+       * Half-open [start, end) range of this occurrence. Must be exactly three or four
+       * elements:
+       *
+       * - Four elements: `[startLine, startCharacter, endLine, endCharacter]`
+       * - Three elements: `[startLine, startCharacter, endCharacter]`. The end line
+       * is inferred to have the same value as the start line.
+       *
+       * It is allowed for the range to be empty (i.e. start==end).
+       *
+       * Line numbers and characters are always 0-based. Make sure to increment the
+       * line/character values before displaying them in an editor-like UI because
+       * editors conventionally use 1-based numbers.
+       *
+       * The 'character' value is interpreted based on the PositionEncoding for
+       * the Document.
+       *
+       * Historical note: the original draft of this schema had a `Range` message
+       * type with `start` and `end` fields of type `Position`, mirroring LSP.
+       * Benchmarks revealed that this encoding was inefficient and that we could
+       * reduce the total payload size of an index by 50% by using `repeated int32`
+       * instead. The `repeated int32` encoding is admittedly more embarrassing to
+       * work with in some programming languages but we hope the performance
+       * improvements make up for it.
+       * 
+ * + * repeated int32 range = 1 [json_name = "range"]; + * @param values The range to add. + * @return This builder for chaining. + */ + public Builder addAllRange( + java.lang.Iterable values) { + ensureRangeIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, range_); + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + /** + *
+       * Half-open [start, end) range of this occurrence. Must be exactly three or four
+       * elements:
+       *
+       * - Four elements: `[startLine, startCharacter, endLine, endCharacter]`
+       * - Three elements: `[startLine, startCharacter, endCharacter]`. The end line
+       * is inferred to have the same value as the start line.
+       *
+       * It is allowed for the range to be empty (i.e. start==end).
+       *
+       * Line numbers and characters are always 0-based. Make sure to increment the
+       * line/character values before displaying them in an editor-like UI because
+       * editors conventionally use 1-based numbers.
+       *
+       * The 'character' value is interpreted based on the PositionEncoding for
+       * the Document.
+       *
+       * Historical note: the original draft of this schema had a `Range` message
+       * type with `start` and `end` fields of type `Position`, mirroring LSP.
+       * Benchmarks revealed that this encoding was inefficient and that we could
+       * reduce the total payload size of an index by 50% by using `repeated int32`
+       * instead. The `repeated int32` encoding is admittedly more embarrassing to
+       * work with in some programming languages but we hope the performance
+       * improvements make up for it.
+       * 
+ * + * repeated int32 range = 1 [json_name = "range"]; + * @return This builder for chaining. + */ + public Builder clearRange() { + range_ = emptyIntList(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + + private java.lang.Object symbol_ = ""; + /** + *
+       * (optional) The symbol that appears at this position. See
+       * `SymbolInformation.symbol` for how to format symbols as strings.
+       * 
+ * + * string symbol = 2 [json_name = "symbol"]; + * @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; + } + } + /** + *
+       * (optional) The symbol that appears at this position. See
+       * `SymbolInformation.symbol` for how to format symbols as strings.
+       * 
+ * + * string symbol = 2 [json_name = "symbol"]; + * @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; + } + } + /** + *
+       * (optional) The symbol that appears at this position. See
+       * `SymbolInformation.symbol` for how to format symbols as strings.
+       * 
+ * + * string symbol = 2 [json_name = "symbol"]; + * @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; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + /** + *
+       * (optional) The symbol that appears at this position. See
+       * `SymbolInformation.symbol` for how to format symbols as strings.
+       * 
+ * + * string symbol = 2 [json_name = "symbol"]; + * @return This builder for chaining. + */ + public Builder clearSymbol() { + symbol_ = getDefaultInstance().getSymbol(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + /** + *
+       * (optional) The symbol that appears at this position. See
+       * `SymbolInformation.symbol` for how to format symbols as strings.
+       * 
+ * + * string symbol = 2 [json_name = "symbol"]; + * @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; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + private int symbolRoles_ ; + /** + *
+       * (optional) Bitset containing `SymbolRole`s in this occurrence.
+       * See `SymbolRole`'s documentation for how to read and write this field.
+       * 
+ * + * int32 symbol_roles = 3 [json_name = "symbolRoles"]; + * @return The symbolRoles. + */ + @java.lang.Override + public int getSymbolRoles() { + return symbolRoles_; + } + /** + *
+       * (optional) Bitset containing `SymbolRole`s in this occurrence.
+       * See `SymbolRole`'s documentation for how to read and write this field.
+       * 
+ * + * int32 symbol_roles = 3 [json_name = "symbolRoles"]; + * @param value The symbolRoles to set. + * @return This builder for chaining. + */ + public Builder setSymbolRoles(int value) { + + symbolRoles_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + /** + *
+       * (optional) Bitset containing `SymbolRole`s in this occurrence.
+       * See `SymbolRole`'s documentation for how to read and write this field.
+       * 
+ * + * int32 symbol_roles = 3 [json_name = "symbolRoles"]; + * @return This builder for chaining. + */ + public Builder clearSymbolRoles() { + bitField0_ = (bitField0_ & ~0x00000004); + symbolRoles_ = 0; + onChanged(); + return this; + } + + private com.google.protobuf.LazyStringArrayList overrideDocumentation_ = + com.google.protobuf.LazyStringArrayList.emptyList(); + private void ensureOverrideDocumentationIsMutable() { + if (!overrideDocumentation_.isModifiable()) { + overrideDocumentation_ = new com.google.protobuf.LazyStringArrayList(overrideDocumentation_); + } + bitField0_ |= 0x00000008; + } + /** + *
+       * (optional) CommonMark-formatted documentation for this specific range. If
+       * empty, the `Symbol.documentation` field is used instead. One example
+       * where this field might be useful is when the symbol represents a generic
+       * function (with abstract type parameters such as `List<T>`) and at this
+       * occurrence we know the exact values (such as `List<String>`).
+       *
+       * This field can also be used for dynamically or gradually typed languages,
+       * which commonly allow for type-changing assignment.
+       * 
+ * + * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; + * @return A list containing the overrideDocumentation. + */ + public com.google.protobuf.ProtocolStringList + getOverrideDocumentationList() { + overrideDocumentation_.makeImmutable(); + return overrideDocumentation_; + } + /** + *
+       * (optional) CommonMark-formatted documentation for this specific range. If
+       * empty, the `Symbol.documentation` field is used instead. One example
+       * where this field might be useful is when the symbol represents a generic
+       * function (with abstract type parameters such as `List<T>`) and at this
+       * occurrence we know the exact values (such as `List<String>`).
+       *
+       * This field can also be used for dynamically or gradually typed languages,
+       * which commonly allow for type-changing assignment.
+       * 
+ * + * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; + * @return The count of overrideDocumentation. + */ + public int getOverrideDocumentationCount() { + return overrideDocumentation_.size(); + } + /** + *
+       * (optional) CommonMark-formatted documentation for this specific range. If
+       * empty, the `Symbol.documentation` field is used instead. One example
+       * where this field might be useful is when the symbol represents a generic
+       * function (with abstract type parameters such as `List<T>`) and at this
+       * occurrence we know the exact values (such as `List<String>`).
+       *
+       * This field can also be used for dynamically or gradually typed languages,
+       * which commonly allow for type-changing assignment.
+       * 
+ * + * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; + * @param index The index of the element to return. + * @return The overrideDocumentation at the given index. + */ + public java.lang.String getOverrideDocumentation(int index) { + return overrideDocumentation_.get(index); + } + /** + *
+       * (optional) CommonMark-formatted documentation for this specific range. If
+       * empty, the `Symbol.documentation` field is used instead. One example
+       * where this field might be useful is when the symbol represents a generic
+       * function (with abstract type parameters such as `List<T>`) and at this
+       * occurrence we know the exact values (such as `List<String>`).
+       *
+       * This field can also be used for dynamically or gradually typed languages,
+       * which commonly allow for type-changing assignment.
+       * 
+ * + * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; + * @param index The index of the value to return. + * @return The bytes of the overrideDocumentation at the given index. + */ + public com.google.protobuf.ByteString + getOverrideDocumentationBytes(int index) { + return overrideDocumentation_.getByteString(index); + } + /** + *
+       * (optional) CommonMark-formatted documentation for this specific range. If
+       * empty, the `Symbol.documentation` field is used instead. One example
+       * where this field might be useful is when the symbol represents a generic
+       * function (with abstract type parameters such as `List<T>`) and at this
+       * occurrence we know the exact values (such as `List<String>`).
+       *
+       * This field can also be used for dynamically or gradually typed languages,
+       * which commonly allow for type-changing assignment.
+       * 
+ * + * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; + * @param index The index to set the value at. + * @param value The overrideDocumentation to set. + * @return This builder for chaining. + */ + public Builder setOverrideDocumentation( + int index, java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + ensureOverrideDocumentationIsMutable(); + overrideDocumentation_.set(index, value); + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + /** + *
+       * (optional) CommonMark-formatted documentation for this specific range. If
+       * empty, the `Symbol.documentation` field is used instead. One example
+       * where this field might be useful is when the symbol represents a generic
+       * function (with abstract type parameters such as `List<T>`) and at this
+       * occurrence we know the exact values (such as `List<String>`).
+       *
+       * This field can also be used for dynamically or gradually typed languages,
+       * which commonly allow for type-changing assignment.
+       * 
+ * + * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; + * @param value The overrideDocumentation to add. + * @return This builder for chaining. + */ + public Builder addOverrideDocumentation( + java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + ensureOverrideDocumentationIsMutable(); + overrideDocumentation_.add(value); + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + /** + *
+       * (optional) CommonMark-formatted documentation for this specific range. If
+       * empty, the `Symbol.documentation` field is used instead. One example
+       * where this field might be useful is when the symbol represents a generic
+       * function (with abstract type parameters such as `List<T>`) and at this
+       * occurrence we know the exact values (such as `List<String>`).
+       *
+       * This field can also be used for dynamically or gradually typed languages,
+       * which commonly allow for type-changing assignment.
+       * 
+ * + * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; + * @param values The overrideDocumentation to add. + * @return This builder for chaining. + */ + public Builder addAllOverrideDocumentation( + java.lang.Iterable values) { + ensureOverrideDocumentationIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, overrideDocumentation_); + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + /** + *
+       * (optional) CommonMark-formatted documentation for this specific range. If
+       * empty, the `Symbol.documentation` field is used instead. One example
+       * where this field might be useful is when the symbol represents a generic
+       * function (with abstract type parameters such as `List<T>`) and at this
+       * occurrence we know the exact values (such as `List<String>`).
+       *
+       * This field can also be used for dynamically or gradually typed languages,
+       * which commonly allow for type-changing assignment.
+       * 
+ * + * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; + * @return This builder for chaining. + */ + public Builder clearOverrideDocumentation() { + overrideDocumentation_ = + com.google.protobuf.LazyStringArrayList.emptyList(); + bitField0_ = (bitField0_ & ~0x00000008);; + onChanged(); + return this; + } + /** + *
+       * (optional) CommonMark-formatted documentation for this specific range. If
+       * empty, the `Symbol.documentation` field is used instead. One example
+       * where this field might be useful is when the symbol represents a generic
+       * function (with abstract type parameters such as `List<T>`) and at this
+       * occurrence we know the exact values (such as `List<String>`).
+       *
+       * This field can also be used for dynamically or gradually typed languages,
+       * which commonly allow for type-changing assignment.
+       * 
+ * + * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; + * @param value The bytes of the overrideDocumentation to add. + * @return This builder for chaining. + */ + public Builder addOverrideDocumentationBytes( + com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + checkByteStringIsUtf8(value); + ensureOverrideDocumentationIsMutable(); + overrideDocumentation_.add(value); + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + + private int syntaxKind_ = 0; + /** + *
+       * (optional) What syntax highlighting class should be used for this range?
+       * 
+ * + * .scip.SyntaxKind syntax_kind = 5 [json_name = "syntaxKind"]; + * @return The enum numeric value on the wire for syntaxKind. + */ + @java.lang.Override public int getSyntaxKindValue() { + return syntaxKind_; + } + /** + *
+       * (optional) What syntax highlighting class should be used for this range?
+       * 
+ * + * .scip.SyntaxKind syntax_kind = 5 [json_name = "syntaxKind"]; + * @param value The enum numeric value on the wire for syntaxKind to set. + * @return This builder for chaining. + */ + public Builder setSyntaxKindValue(int value) { + syntaxKind_ = value; + bitField0_ |= 0x00000010; + onChanged(); + return this; + } + /** + *
+       * (optional) What syntax highlighting class should be used for this range?
+       * 
+ * + * .scip.SyntaxKind syntax_kind = 5 [json_name = "syntaxKind"]; + * @return The syntaxKind. + */ + @java.lang.Override + public scip.Scip.SyntaxKind getSyntaxKind() { + scip.Scip.SyntaxKind result = scip.Scip.SyntaxKind.forNumber(syntaxKind_); + return result == null ? scip.Scip.SyntaxKind.UNRECOGNIZED : result; + } + /** + *
+       * (optional) What syntax highlighting class should be used for this range?
+       * 
+ * + * .scip.SyntaxKind syntax_kind = 5 [json_name = "syntaxKind"]; + * @param value The syntaxKind to set. + * @return This builder for chaining. + */ + public Builder setSyntaxKind(scip.Scip.SyntaxKind value) { + if (value == null) { throw new NullPointerException(); } + bitField0_ |= 0x00000010; + syntaxKind_ = value.getNumber(); + onChanged(); + return this; + } + /** + *
+       * (optional) What syntax highlighting class should be used for this range?
+       * 
+ * + * .scip.SyntaxKind syntax_kind = 5 [json_name = "syntaxKind"]; + * @return This builder for chaining. + */ + public Builder clearSyntaxKind() { + bitField0_ = (bitField0_ & ~0x00000010); + syntaxKind_ = 0; + onChanged(); + return this; + } + + private java.util.List diagnostics_ = + java.util.Collections.emptyList(); + private void ensureDiagnosticsIsMutable() { + if (!((bitField0_ & 0x00000020) != 0)) { + diagnostics_ = new java.util.ArrayList(diagnostics_); + bitField0_ |= 0x00000020; + } + } + + private com.google.protobuf.RepeatedFieldBuilder< + scip.Scip.Diagnostic, scip.Scip.Diagnostic.Builder, scip.Scip.DiagnosticOrBuilder> diagnosticsBuilder_; + + /** + *
+       * (optional) Diagnostics that have been reported for this specific range.
+       * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + public java.util.List getDiagnosticsList() { + if (diagnosticsBuilder_ == null) { + return java.util.Collections.unmodifiableList(diagnostics_); + } else { + return diagnosticsBuilder_.getMessageList(); + } + } + /** + *
+       * (optional) Diagnostics that have been reported for this specific range.
+       * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + public int getDiagnosticsCount() { + if (diagnosticsBuilder_ == null) { + return diagnostics_.size(); + } else { + return diagnosticsBuilder_.getCount(); + } + } + /** + *
+       * (optional) Diagnostics that have been reported for this specific range.
+       * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + public scip.Scip.Diagnostic getDiagnostics(int index) { + if (diagnosticsBuilder_ == null) { + return diagnostics_.get(index); + } else { + return diagnosticsBuilder_.getMessage(index); + } + } + /** + *
+       * (optional) Diagnostics that have been reported for this specific range.
+       * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + public Builder setDiagnostics( + int index, scip.Scip.Diagnostic value) { + if (diagnosticsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureDiagnosticsIsMutable(); + diagnostics_.set(index, value); + onChanged(); + } else { + diagnosticsBuilder_.setMessage(index, value); + } + return this; + } + /** + *
+       * (optional) Diagnostics that have been reported for this specific range.
+       * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + public Builder setDiagnostics( + int index, scip.Scip.Diagnostic.Builder builderForValue) { + if (diagnosticsBuilder_ == null) { + ensureDiagnosticsIsMutable(); + diagnostics_.set(index, builderForValue.build()); + onChanged(); + } else { + diagnosticsBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + *
+       * (optional) Diagnostics that have been reported for this specific range.
+       * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + public Builder addDiagnostics(scip.Scip.Diagnostic value) { + if (diagnosticsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureDiagnosticsIsMutable(); + diagnostics_.add(value); + onChanged(); + } else { + diagnosticsBuilder_.addMessage(value); + } + return this; + } + /** + *
+       * (optional) Diagnostics that have been reported for this specific range.
+       * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + public Builder addDiagnostics( + int index, scip.Scip.Diagnostic value) { + if (diagnosticsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureDiagnosticsIsMutable(); + diagnostics_.add(index, value); + onChanged(); + } else { + diagnosticsBuilder_.addMessage(index, value); + } + return this; + } + /** + *
+       * (optional) Diagnostics that have been reported for this specific range.
+       * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + public Builder addDiagnostics( + scip.Scip.Diagnostic.Builder builderForValue) { + if (diagnosticsBuilder_ == null) { + ensureDiagnosticsIsMutable(); + diagnostics_.add(builderForValue.build()); + onChanged(); + } else { + diagnosticsBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + *
+       * (optional) Diagnostics that have been reported for this specific range.
+       * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + public Builder addDiagnostics( + int index, scip.Scip.Diagnostic.Builder builderForValue) { + if (diagnosticsBuilder_ == null) { + ensureDiagnosticsIsMutable(); + diagnostics_.add(index, builderForValue.build()); + onChanged(); + } else { + diagnosticsBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + *
+       * (optional) Diagnostics that have been reported for this specific range.
+       * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + public Builder addAllDiagnostics( + java.lang.Iterable values) { + if (diagnosticsBuilder_ == null) { + ensureDiagnosticsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, diagnostics_); + onChanged(); + } else { + diagnosticsBuilder_.addAllMessages(values); + } + return this; + } + /** + *
+       * (optional) Diagnostics that have been reported for this specific range.
+       * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + public Builder clearDiagnostics() { + if (diagnosticsBuilder_ == null) { + diagnostics_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000020); + onChanged(); + } else { + diagnosticsBuilder_.clear(); + } + return this; + } + /** + *
+       * (optional) Diagnostics that have been reported for this specific range.
+       * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + public Builder removeDiagnostics(int index) { + if (diagnosticsBuilder_ == null) { + ensureDiagnosticsIsMutable(); + diagnostics_.remove(index); + onChanged(); + } else { + diagnosticsBuilder_.remove(index); + } + return this; + } + /** + *
+       * (optional) Diagnostics that have been reported for this specific range.
+       * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + public scip.Scip.Diagnostic.Builder getDiagnosticsBuilder( + int index) { + return internalGetDiagnosticsFieldBuilder().getBuilder(index); + } + /** + *
+       * (optional) Diagnostics that have been reported for this specific range.
+       * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + public scip.Scip.DiagnosticOrBuilder getDiagnosticsOrBuilder( + int index) { + if (diagnosticsBuilder_ == null) { + return diagnostics_.get(index); } else { + return diagnosticsBuilder_.getMessageOrBuilder(index); + } + } + /** + *
+       * (optional) Diagnostics that have been reported for this specific range.
+       * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + public java.util.List + getDiagnosticsOrBuilderList() { + if (diagnosticsBuilder_ != null) { + return diagnosticsBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(diagnostics_); + } + } + /** + *
+       * (optional) Diagnostics that have been reported for this specific range.
+       * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + public scip.Scip.Diagnostic.Builder addDiagnosticsBuilder() { + return internalGetDiagnosticsFieldBuilder().addBuilder( + scip.Scip.Diagnostic.getDefaultInstance()); + } + /** + *
+       * (optional) Diagnostics that have been reported for this specific range.
+       * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + public scip.Scip.Diagnostic.Builder addDiagnosticsBuilder( + int index) { + return internalGetDiagnosticsFieldBuilder().addBuilder( + index, scip.Scip.Diagnostic.getDefaultInstance()); + } + /** + *
+       * (optional) Diagnostics that have been reported for this specific range.
+       * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + public java.util.List + getDiagnosticsBuilderList() { + return internalGetDiagnosticsFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilder< + scip.Scip.Diagnostic, scip.Scip.Diagnostic.Builder, scip.Scip.DiagnosticOrBuilder> + internalGetDiagnosticsFieldBuilder() { + if (diagnosticsBuilder_ == null) { + diagnosticsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder< + scip.Scip.Diagnostic, scip.Scip.Diagnostic.Builder, scip.Scip.DiagnosticOrBuilder>( + diagnostics_, + ((bitField0_ & 0x00000020) != 0), + getParentForChildren(), + isClean()); + diagnostics_ = null; + } + return diagnosticsBuilder_; + } + + private com.google.protobuf.Internal.IntList enclosingRange_ = emptyIntList(); + private void ensureEnclosingRangeIsMutable() { + if (!enclosingRange_.isModifiable()) { + enclosingRange_ = makeMutableCopy(enclosingRange_); + } + bitField0_ |= 0x00000040; + } + /** + *
+       * (optional) Using the same encoding as the sibling `range` field, half-open
+       * source range of the nearest non-trivial enclosing AST node. This range must
+       * enclose the `range` field. Example applications that make use of the
+       * enclosing_range field:
+       *
+       * - Call hierarchies: to determine what symbols are references from the body
+       * of a function
+       * - Symbol outline: to display breadcrumbs from the cursor position to the
+       * root of the file
+       * - Expand selection: to select the nearest enclosing AST node.
+       * - Highlight range: to indicate the AST expression that is associated with a
+       * hover popover
+       *
+       * For definition occurrences, the enclosing range should indicate the
+       * start/end bounds of the entire definition AST node, including
+       * documentation.
+       * ```
+       * const n = 3
+       * ^ range
+       * ^^^^^^^^^^^ enclosing_range
+       *
+       * /** Parses the string into something */
+       * ^ enclosing_range start --------------------------------------|
+       * function parse(input string): string {                        |
+       * ^^^^^ range                                          |
+       * return input.slice(n)                                     |
+       * }                                                             |
+       * ^ enclosing_range end <---------------------------------------|
+       * ```
+       *
+       * Any attributes/decorators/attached macros should also be part of the
+       * enclosing range.
+       *
+       * ```python
+       * @cache
+       * ^ enclosing_range start---------------------|
+       * def factorial(n):                           |
+       * return n * factorial(n-1) if n else 1   |
+       * < enclosing_range end-----------------------|
+       *
+       * ```
+       *
+       * For reference occurrences, the enclosing range should indicate the start/end
+       * bounds of the parent expression.
+       * ```
+       * const a = a.b
+       * ^ range
+       * ^^^ enclosing_range
+       * const b = a.b(41).f(42).g(43)
+       * ^ range
+       * ^^^^^^^^^^^^^ enclosing_range
+       * ```
+       * 
+ * + * repeated int32 enclosing_range = 7 [json_name = "enclosingRange"]; + * @return A list containing the enclosingRange. + */ + public java.util.List + getEnclosingRangeList() { + enclosingRange_.makeImmutable(); + return enclosingRange_; + } + /** + *
+       * (optional) Using the same encoding as the sibling `range` field, half-open
+       * source range of the nearest non-trivial enclosing AST node. This range must
+       * enclose the `range` field. Example applications that make use of the
+       * enclosing_range field:
+       *
+       * - Call hierarchies: to determine what symbols are references from the body
+       * of a function
+       * - Symbol outline: to display breadcrumbs from the cursor position to the
+       * root of the file
+       * - Expand selection: to select the nearest enclosing AST node.
+       * - Highlight range: to indicate the AST expression that is associated with a
+       * hover popover
+       *
+       * For definition occurrences, the enclosing range should indicate the
+       * start/end bounds of the entire definition AST node, including
+       * documentation.
+       * ```
+       * const n = 3
+       * ^ range
+       * ^^^^^^^^^^^ enclosing_range
+       *
+       * /** Parses the string into something */
+       * ^ enclosing_range start --------------------------------------|
+       * function parse(input string): string {                        |
+       * ^^^^^ range                                          |
+       * return input.slice(n)                                     |
+       * }                                                             |
+       * ^ enclosing_range end <---------------------------------------|
+       * ```
+       *
+       * Any attributes/decorators/attached macros should also be part of the
+       * enclosing range.
+       *
+       * ```python
+       * @cache
+       * ^ enclosing_range start---------------------|
+       * def factorial(n):                           |
+       * return n * factorial(n-1) if n else 1   |
+       * < enclosing_range end-----------------------|
+       *
+       * ```
+       *
+       * For reference occurrences, the enclosing range should indicate the start/end
+       * bounds of the parent expression.
+       * ```
+       * const a = a.b
+       * ^ range
+       * ^^^ enclosing_range
+       * const b = a.b(41).f(42).g(43)
+       * ^ range
+       * ^^^^^^^^^^^^^ enclosing_range
+       * ```
+       * 
+ * + * repeated int32 enclosing_range = 7 [json_name = "enclosingRange"]; + * @return The count of enclosingRange. + */ + public int getEnclosingRangeCount() { + return enclosingRange_.size(); + } + /** + *
+       * (optional) Using the same encoding as the sibling `range` field, half-open
+       * source range of the nearest non-trivial enclosing AST node. This range must
+       * enclose the `range` field. Example applications that make use of the
+       * enclosing_range field:
+       *
+       * - Call hierarchies: to determine what symbols are references from the body
+       * of a function
+       * - Symbol outline: to display breadcrumbs from the cursor position to the
+       * root of the file
+       * - Expand selection: to select the nearest enclosing AST node.
+       * - Highlight range: to indicate the AST expression that is associated with a
+       * hover popover
+       *
+       * For definition occurrences, the enclosing range should indicate the
+       * start/end bounds of the entire definition AST node, including
+       * documentation.
+       * ```
+       * const n = 3
+       * ^ range
+       * ^^^^^^^^^^^ enclosing_range
+       *
+       * /** Parses the string into something */
+       * ^ enclosing_range start --------------------------------------|
+       * function parse(input string): string {                        |
+       * ^^^^^ range                                          |
+       * return input.slice(n)                                     |
+       * }                                                             |
+       * ^ enclosing_range end <---------------------------------------|
+       * ```
+       *
+       * Any attributes/decorators/attached macros should also be part of the
+       * enclosing range.
+       *
+       * ```python
+       * @cache
+       * ^ enclosing_range start---------------------|
+       * def factorial(n):                           |
+       * return n * factorial(n-1) if n else 1   |
+       * < enclosing_range end-----------------------|
+       *
+       * ```
+       *
+       * For reference occurrences, the enclosing range should indicate the start/end
+       * bounds of the parent expression.
+       * ```
+       * const a = a.b
+       * ^ range
+       * ^^^ enclosing_range
+       * const b = a.b(41).f(42).g(43)
+       * ^ range
+       * ^^^^^^^^^^^^^ enclosing_range
+       * ```
+       * 
+ * + * repeated int32 enclosing_range = 7 [json_name = "enclosingRange"]; + * @param index The index of the element to return. + * @return The enclosingRange at the given index. + */ + public int getEnclosingRange(int index) { + return enclosingRange_.getInt(index); + } + /** + *
+       * (optional) Using the same encoding as the sibling `range` field, half-open
+       * source range of the nearest non-trivial enclosing AST node. This range must
+       * enclose the `range` field. Example applications that make use of the
+       * enclosing_range field:
+       *
+       * - Call hierarchies: to determine what symbols are references from the body
+       * of a function
+       * - Symbol outline: to display breadcrumbs from the cursor position to the
+       * root of the file
+       * - Expand selection: to select the nearest enclosing AST node.
+       * - Highlight range: to indicate the AST expression that is associated with a
+       * hover popover
+       *
+       * For definition occurrences, the enclosing range should indicate the
+       * start/end bounds of the entire definition AST node, including
+       * documentation.
+       * ```
+       * const n = 3
+       * ^ range
+       * ^^^^^^^^^^^ enclosing_range
+       *
+       * /** Parses the string into something */
+       * ^ enclosing_range start --------------------------------------|
+       * function parse(input string): string {                        |
+       * ^^^^^ range                                          |
+       * return input.slice(n)                                     |
+       * }                                                             |
+       * ^ enclosing_range end <---------------------------------------|
+       * ```
+       *
+       * Any attributes/decorators/attached macros should also be part of the
+       * enclosing range.
+       *
+       * ```python
+       * @cache
+       * ^ enclosing_range start---------------------|
+       * def factorial(n):                           |
+       * return n * factorial(n-1) if n else 1   |
+       * < enclosing_range end-----------------------|
+       *
+       * ```
+       *
+       * For reference occurrences, the enclosing range should indicate the start/end
+       * bounds of the parent expression.
+       * ```
+       * const a = a.b
+       * ^ range
+       * ^^^ enclosing_range
+       * const b = a.b(41).f(42).g(43)
+       * ^ range
+       * ^^^^^^^^^^^^^ enclosing_range
+       * ```
+       * 
+ * + * repeated int32 enclosing_range = 7 [json_name = "enclosingRange"]; + * @param index The index to set the value at. + * @param value The enclosingRange to set. + * @return This builder for chaining. + */ + public Builder setEnclosingRange( + int index, int value) { + + ensureEnclosingRangeIsMutable(); + enclosingRange_.setInt(index, value); + bitField0_ |= 0x00000040; + onChanged(); + return this; + } + /** + *
+       * (optional) Using the same encoding as the sibling `range` field, half-open
+       * source range of the nearest non-trivial enclosing AST node. This range must
+       * enclose the `range` field. Example applications that make use of the
+       * enclosing_range field:
+       *
+       * - Call hierarchies: to determine what symbols are references from the body
+       * of a function
+       * - Symbol outline: to display breadcrumbs from the cursor position to the
+       * root of the file
+       * - Expand selection: to select the nearest enclosing AST node.
+       * - Highlight range: to indicate the AST expression that is associated with a
+       * hover popover
+       *
+       * For definition occurrences, the enclosing range should indicate the
+       * start/end bounds of the entire definition AST node, including
+       * documentation.
+       * ```
+       * const n = 3
+       * ^ range
+       * ^^^^^^^^^^^ enclosing_range
+       *
+       * /** Parses the string into something */
+       * ^ enclosing_range start --------------------------------------|
+       * function parse(input string): string {                        |
+       * ^^^^^ range                                          |
+       * return input.slice(n)                                     |
+       * }                                                             |
+       * ^ enclosing_range end <---------------------------------------|
+       * ```
+       *
+       * Any attributes/decorators/attached macros should also be part of the
+       * enclosing range.
+       *
+       * ```python
+       * @cache
+       * ^ enclosing_range start---------------------|
+       * def factorial(n):                           |
+       * return n * factorial(n-1) if n else 1   |
+       * < enclosing_range end-----------------------|
+       *
+       * ```
+       *
+       * For reference occurrences, the enclosing range should indicate the start/end
+       * bounds of the parent expression.
+       * ```
+       * const a = a.b
+       * ^ range
+       * ^^^ enclosing_range
+       * const b = a.b(41).f(42).g(43)
+       * ^ range
+       * ^^^^^^^^^^^^^ enclosing_range
+       * ```
+       * 
+ * + * repeated int32 enclosing_range = 7 [json_name = "enclosingRange"]; + * @param value The enclosingRange to add. + * @return This builder for chaining. + */ + public Builder addEnclosingRange(int value) { + + ensureEnclosingRangeIsMutable(); + enclosingRange_.addInt(value); + bitField0_ |= 0x00000040; + onChanged(); + return this; + } + /** + *
+       * (optional) Using the same encoding as the sibling `range` field, half-open
+       * source range of the nearest non-trivial enclosing AST node. This range must
+       * enclose the `range` field. Example applications that make use of the
+       * enclosing_range field:
+       *
+       * - Call hierarchies: to determine what symbols are references from the body
+       * of a function
+       * - Symbol outline: to display breadcrumbs from the cursor position to the
+       * root of the file
+       * - Expand selection: to select the nearest enclosing AST node.
+       * - Highlight range: to indicate the AST expression that is associated with a
+       * hover popover
+       *
+       * For definition occurrences, the enclosing range should indicate the
+       * start/end bounds of the entire definition AST node, including
+       * documentation.
+       * ```
+       * const n = 3
+       * ^ range
+       * ^^^^^^^^^^^ enclosing_range
+       *
+       * /** Parses the string into something */
+       * ^ enclosing_range start --------------------------------------|
+       * function parse(input string): string {                        |
+       * ^^^^^ range                                          |
+       * return input.slice(n)                                     |
+       * }                                                             |
+       * ^ enclosing_range end <---------------------------------------|
+       * ```
+       *
+       * Any attributes/decorators/attached macros should also be part of the
+       * enclosing range.
+       *
+       * ```python
+       * @cache
+       * ^ enclosing_range start---------------------|
+       * def factorial(n):                           |
+       * return n * factorial(n-1) if n else 1   |
+       * < enclosing_range end-----------------------|
+       *
+       * ```
+       *
+       * For reference occurrences, the enclosing range should indicate the start/end
+       * bounds of the parent expression.
+       * ```
+       * const a = a.b
+       * ^ range
+       * ^^^ enclosing_range
+       * const b = a.b(41).f(42).g(43)
+       * ^ range
+       * ^^^^^^^^^^^^^ enclosing_range
+       * ```
+       * 
+ * + * repeated int32 enclosing_range = 7 [json_name = "enclosingRange"]; + * @param values The enclosingRange to add. + * @return This builder for chaining. + */ + public Builder addAllEnclosingRange( + java.lang.Iterable values) { + ensureEnclosingRangeIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, enclosingRange_); + bitField0_ |= 0x00000040; + onChanged(); + return this; + } + /** + *
+       * (optional) Using the same encoding as the sibling `range` field, half-open
+       * source range of the nearest non-trivial enclosing AST node. This range must
+       * enclose the `range` field. Example applications that make use of the
+       * enclosing_range field:
+       *
+       * - Call hierarchies: to determine what symbols are references from the body
+       * of a function
+       * - Symbol outline: to display breadcrumbs from the cursor position to the
+       * root of the file
+       * - Expand selection: to select the nearest enclosing AST node.
+       * - Highlight range: to indicate the AST expression that is associated with a
+       * hover popover
+       *
+       * For definition occurrences, the enclosing range should indicate the
+       * start/end bounds of the entire definition AST node, including
+       * documentation.
+       * ```
+       * const n = 3
+       * ^ range
+       * ^^^^^^^^^^^ enclosing_range
+       *
+       * /** Parses the string into something */
+       * ^ enclosing_range start --------------------------------------|
+       * function parse(input string): string {                        |
+       * ^^^^^ range                                          |
+       * return input.slice(n)                                     |
+       * }                                                             |
+       * ^ enclosing_range end <---------------------------------------|
+       * ```
+       *
+       * Any attributes/decorators/attached macros should also be part of the
+       * enclosing range.
+       *
+       * ```python
+       * @cache
+       * ^ enclosing_range start---------------------|
+       * def factorial(n):                           |
+       * return n * factorial(n-1) if n else 1   |
+       * < enclosing_range end-----------------------|
+       *
+       * ```
+       *
+       * For reference occurrences, the enclosing range should indicate the start/end
+       * bounds of the parent expression.
+       * ```
+       * const a = a.b
+       * ^ range
+       * ^^^ enclosing_range
+       * const b = a.b(41).f(42).g(43)
+       * ^ range
+       * ^^^^^^^^^^^^^ enclosing_range
+       * ```
+       * 
+ * + * repeated int32 enclosing_range = 7 [json_name = "enclosingRange"]; + * @return This builder for chaining. + */ + public Builder clearEnclosingRange() { + enclosingRange_ = emptyIntList(); + bitField0_ = (bitField0_ & ~0x00000040); + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:scip.Occurrence) + } + + // @@protoc_insertion_point(class_scope:scip.Occurrence) + private static final scip.Scip.Occurrence DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new scip.Scip.Occurrence(); + } + + public static scip.Scip.Occurrence getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public Occurrence parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public scip.Scip.Occurrence getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface DiagnosticOrBuilder extends + // @@protoc_insertion_point(interface_extends:scip.Diagnostic) + com.google.protobuf.MessageOrBuilder { + + /** + *
+     * Should this diagnostic be reported as an error, warning, info, or hint?
+     * 
+ * + * .scip.Severity severity = 1 [json_name = "severity"]; + * @return The enum numeric value on the wire for severity. + */ + int getSeverityValue(); + /** + *
+     * Should this diagnostic be reported as an error, warning, info, or hint?
+     * 
+ * + * .scip.Severity severity = 1 [json_name = "severity"]; + * @return The severity. + */ + scip.Scip.Severity getSeverity(); + + /** + *
+     * (optional) Code of this diagnostic, which might appear in the user interface.
+     * 
+ * + * string code = 2 [json_name = "code"]; + * @return The code. + */ + java.lang.String getCode(); + /** + *
+     * (optional) Code of this diagnostic, which might appear in the user interface.
+     * 
+ * + * string code = 2 [json_name = "code"]; + * @return The bytes for code. + */ + com.google.protobuf.ByteString + getCodeBytes(); + + /** + *
+     * Message of this diagnostic.
+     * 
+ * + * string message = 3 [json_name = "message"]; + * @return The message. + */ + java.lang.String getMessage(); + /** + *
+     * Message of this diagnostic.
+     * 
+ * + * string message = 3 [json_name = "message"]; + * @return The bytes for message. + */ + com.google.protobuf.ByteString + getMessageBytes(); + + /** + *
+     * (optional) Human-readable string describing the source of this diagnostic, e.g.
+     * 'typescript' or 'super lint'.
+     * 
+ * + * string source = 4 [json_name = "source"]; + * @return The source. + */ + java.lang.String getSource(); + /** + *
+     * (optional) Human-readable string describing the source of this diagnostic, e.g.
+     * 'typescript' or 'super lint'.
+     * 
+ * + * string source = 4 [json_name = "source"]; + * @return The bytes for source. + */ + com.google.protobuf.ByteString + getSourceBytes(); + + /** + * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; + * @return A list containing the tags. + */ + java.util.List getTagsList(); + /** + * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; + * @return The count of tags. + */ + int getTagsCount(); + /** + * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; + * @param index The index of the element to return. + * @return The tags at the given index. + */ + scip.Scip.DiagnosticTag getTags(int index); + /** + * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; + * @return A list containing the enum numeric values on the wire for tags. + */ + java.util.List + getTagsValueList(); + /** + * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; + * @param index The index of the value to return. + * @return The enum numeric value on the wire of tags at the given index. + */ + int getTagsValue(int index); + } + /** + *
+   * Represents a diagnostic, such as a compiler error or warning, which should be
+   * reported for a document.
+   * 
+ * + * Protobuf type {@code scip.Diagnostic} + */ + public static final class Diagnostic extends + com.google.protobuf.GeneratedMessage implements + // @@protoc_insertion_point(message_implements:scip.Diagnostic) + DiagnosticOrBuilder { + private static final long serialVersionUID = 0L; + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 32, + /* patch= */ 1, + /* suffix= */ "", + Diagnostic.class.getName()); + } + // Use Diagnostic.newBuilder() to construct. + private Diagnostic(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + private Diagnostic() { + severity_ = 0; + code_ = ""; + message_ = ""; + source_ = ""; + tags_ = emptyIntList(); + } + + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return scip.Scip.internal_static_scip_Diagnostic_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return scip.Scip.internal_static_scip_Diagnostic_fieldAccessorTable + .ensureFieldAccessorsInitialized( + scip.Scip.Diagnostic.class, scip.Scip.Diagnostic.Builder.class); + } + + public static final int SEVERITY_FIELD_NUMBER = 1; + private int severity_ = 0; + /** + *
+     * Should this diagnostic be reported as an error, warning, info, or hint?
+     * 
+ * + * .scip.Severity severity = 1 [json_name = "severity"]; + * @return The enum numeric value on the wire for severity. + */ + @java.lang.Override public int getSeverityValue() { + return severity_; + } + /** + *
+     * Should this diagnostic be reported as an error, warning, info, or hint?
+     * 
+ * + * .scip.Severity severity = 1 [json_name = "severity"]; + * @return The severity. + */ + @java.lang.Override public scip.Scip.Severity getSeverity() { + scip.Scip.Severity result = scip.Scip.Severity.forNumber(severity_); + return result == null ? scip.Scip.Severity.UNRECOGNIZED : result; + } + + public static final int CODE_FIELD_NUMBER = 2; + @SuppressWarnings("serial") + private volatile java.lang.Object code_ = ""; + /** + *
+     * (optional) Code of this diagnostic, which might appear in the user interface.
+     * 
+ * + * string code = 2 [json_name = "code"]; + * @return The code. + */ + @java.lang.Override + public java.lang.String getCode() { + java.lang.Object ref = code_; + 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(); + code_ = s; + return s; + } + } + /** + *
+     * (optional) Code of this diagnostic, which might appear in the user interface.
+     * 
+ * + * string code = 2 [json_name = "code"]; + * @return The bytes for code. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getCodeBytes() { + java.lang.Object ref = code_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + code_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int MESSAGE_FIELD_NUMBER = 3; + @SuppressWarnings("serial") + private volatile java.lang.Object message_ = ""; + /** + *
+     * Message of this diagnostic.
+     * 
+ * + * string message = 3 [json_name = "message"]; + * @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; + } + } + /** + *
+     * Message of this diagnostic.
+     * 
+ * + * string message = 3 [json_name = "message"]; + * @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 SOURCE_FIELD_NUMBER = 4; + @SuppressWarnings("serial") + private volatile java.lang.Object source_ = ""; + /** + *
+     * (optional) Human-readable string describing the source of this diagnostic, e.g.
+     * 'typescript' or 'super lint'.
+     * 
+ * + * string source = 4 [json_name = "source"]; + * @return The source. + */ + @java.lang.Override + public java.lang.String getSource() { + java.lang.Object ref = source_; + 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(); + source_ = s; + return s; + } + } + /** + *
+     * (optional) Human-readable string describing the source of this diagnostic, e.g.
+     * 'typescript' or 'super lint'.
+     * 
+ * + * string source = 4 [json_name = "source"]; + * @return The bytes for source. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getSourceBytes() { + java.lang.Object ref = source_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + source_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int TAGS_FIELD_NUMBER = 5; + @SuppressWarnings("serial") + private com.google.protobuf.Internal.IntList tags_ = + emptyIntList(); + private static final com.google.protobuf.Internal.IntListAdapter.IntConverter< + scip.Scip.DiagnosticTag> tags_converter_ = + new com.google.protobuf.Internal.IntListAdapter.IntConverter< + scip.Scip.DiagnosticTag>() { + public scip.Scip.DiagnosticTag convert(int from) { + scip.Scip.DiagnosticTag result = scip.Scip.DiagnosticTag.forNumber(from); + return result == null ? scip.Scip.DiagnosticTag.UNRECOGNIZED : result; + } + }; + /** + * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; + * @return A list containing the tags. + */ + @java.lang.Override + public java.util.List getTagsList() { + return new com.google.protobuf.Internal.IntListAdapter< + scip.Scip.DiagnosticTag>(tags_, tags_converter_); + } + /** + * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; + * @return The count of tags. + */ + @java.lang.Override + public int getTagsCount() { + return tags_.size(); + } + /** + * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; + * @param index The index of the element to return. + * @return The tags at the given index. + */ + @java.lang.Override + public scip.Scip.DiagnosticTag getTags(int index) { + return tags_converter_.convert(tags_.getInt(index)); + } + /** + * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; + * @return A list containing the enum numeric values on the wire for tags. + */ + @java.lang.Override + public java.util.List + getTagsValueList() { + return tags_; + } + /** + * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; + * @param index The index of the value to return. + * @return The enum numeric value on the wire of tags at the given index. + */ + @java.lang.Override + public int getTagsValue(int index) { + return tags_.getInt(index); + } + private int tagsMemoizedSerializedSize; + + 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 { + getSerializedSize(); + if (severity_ != scip.Scip.Severity.UnspecifiedSeverity.getNumber()) { + output.writeEnum(1, severity_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(code_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 2, code_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(message_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 3, message_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(source_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 4, source_); + } + if (getTagsList().size() > 0) { + output.writeUInt32NoTag(42); + output.writeUInt32NoTag(tagsMemoizedSerializedSize); + } + for (int i = 0; i < tags_.size(); i++) { + output.writeEnumNoTag(tags_.getInt(i)); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (severity_ != scip.Scip.Severity.UnspecifiedSeverity.getNumber()) { + size += com.google.protobuf.CodedOutputStream + .computeEnumSize(1, severity_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(code_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(2, code_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(message_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(3, message_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(source_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(4, source_); + } + { + int dataSize = 0; + for (int i = 0; i < tags_.size(); i++) { + dataSize += com.google.protobuf.CodedOutputStream + .computeEnumSizeNoTag(tags_.getInt(i)); + } + size += dataSize; + if (!getTagsList().isEmpty()) { size += 1; + size += com.google.protobuf.CodedOutputStream + .computeUInt32SizeNoTag(dataSize); + }tagsMemoizedSerializedSize = dataSize; + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof scip.Scip.Diagnostic)) { + return super.equals(obj); + } + scip.Scip.Diagnostic other = (scip.Scip.Diagnostic) obj; + + if (severity_ != other.severity_) return false; + if (!getCode() + .equals(other.getCode())) return false; + if (!getMessage() + .equals(other.getMessage())) return false; + if (!getSource() + .equals(other.getSource())) return false; + if (!tags_.equals(other.tags_)) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) 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) + SEVERITY_FIELD_NUMBER; + hash = (53 * hash) + severity_; + hash = (37 * hash) + CODE_FIELD_NUMBER; + hash = (53 * hash) + getCode().hashCode(); + hash = (37 * hash) + MESSAGE_FIELD_NUMBER; + hash = (53 * hash) + getMessage().hashCode(); + hash = (37 * hash) + SOURCE_FIELD_NUMBER; + hash = (53 * hash) + getSource().hashCode(); + if (getTagsCount() > 0) { + hash = (37 * hash) + TAGS_FIELD_NUMBER; + hash = (53 * hash) + tags_.hashCode(); + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static scip.Scip.Diagnostic parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static scip.Scip.Diagnostic parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static scip.Scip.Diagnostic parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static scip.Scip.Diagnostic parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static scip.Scip.Diagnostic parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static scip.Scip.Diagnostic parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static scip.Scip.Diagnostic parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static scip.Scip.Diagnostic parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public static scip.Scip.Diagnostic parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input); + } + + public static scip.Scip.Diagnostic parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static scip.Scip.Diagnostic parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static scip.Scip.Diagnostic parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(scip.Scip.Diagnostic 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + *
+     * Represents a diagnostic, such as a compiler error or warning, which should be
+     * reported for a document.
+     * 
+ * + * Protobuf type {@code scip.Diagnostic} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder implements + // @@protoc_insertion_point(builder_implements:scip.Diagnostic) + scip.Scip.DiagnosticOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return scip.Scip.internal_static_scip_Diagnostic_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return scip.Scip.internal_static_scip_Diagnostic_fieldAccessorTable + .ensureFieldAccessorsInitialized( + scip.Scip.Diagnostic.class, scip.Scip.Diagnostic.Builder.class); + } + + // Construct using scip.Scip.Diagnostic.newBuilder() + private Builder() { + + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + + } + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + severity_ = 0; + code_ = ""; + message_ = ""; + source_ = ""; + tags_ = emptyIntList(); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return scip.Scip.internal_static_scip_Diagnostic_descriptor; + } + + @java.lang.Override + public scip.Scip.Diagnostic getDefaultInstanceForType() { + return scip.Scip.Diagnostic.getDefaultInstance(); + } + + @java.lang.Override + public scip.Scip.Diagnostic build() { + scip.Scip.Diagnostic result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public scip.Scip.Diagnostic buildPartial() { + scip.Scip.Diagnostic result = new scip.Scip.Diagnostic(this); + if (bitField0_ != 0) { buildPartial0(result); } + onBuilt(); + return result; + } + + private void buildPartial0(scip.Scip.Diagnostic result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.severity_ = severity_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.code_ = code_; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.message_ = message_; + } + if (((from_bitField0_ & 0x00000008) != 0)) { + result.source_ = source_; + } + if (((from_bitField0_ & 0x00000010) != 0)) { + tags_.makeImmutable(); + result.tags_ = tags_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof scip.Scip.Diagnostic) { + return mergeFrom((scip.Scip.Diagnostic)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(scip.Scip.Diagnostic other) { + if (other == scip.Scip.Diagnostic.getDefaultInstance()) return this; + if (other.severity_ != 0) { + setSeverityValue(other.getSeverityValue()); + } + if (!other.getCode().isEmpty()) { + code_ = other.code_; + bitField0_ |= 0x00000002; + onChanged(); + } + if (!other.getMessage().isEmpty()) { + message_ = other.message_; + bitField0_ |= 0x00000004; + onChanged(); + } + if (!other.getSource().isEmpty()) { + source_ = other.source_; + bitField0_ |= 0x00000008; + onChanged(); + } + if (!other.tags_.isEmpty()) { + if (tags_.isEmpty()) { + tags_ = other.tags_; + tags_.makeImmutable(); + bitField0_ |= 0x00000010; + } else { + ensureTagsIsMutable(); + tags_.addAll(other.tags_); + } + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + 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 { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: { + severity_ = input.readEnum(); + bitField0_ |= 0x00000001; + break; + } // case 8 + case 18: { + code_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000002; + break; + } // case 18 + case 26: { + message_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000004; + break; + } // case 26 + case 34: { + source_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000008; + break; + } // case 34 + case 40: { + int tmpRaw = input.readEnum(); + ensureTagsIsMutable(); + tags_.addInt(tmpRaw); + break; + } // case 40 + case 42: { + int length = input.readRawVarint32(); + int limit = input.pushLimit(length); + ensureTagsIsMutable(); + while (input.getBytesUntilLimit() > 0) { + tags_.addInt(input.readEnum()); + } + input.popLimit(limit); + break; + } // case 42 + default: { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + private int bitField0_; + + private int severity_ = 0; + /** + *
+       * Should this diagnostic be reported as an error, warning, info, or hint?
+       * 
+ * + * .scip.Severity severity = 1 [json_name = "severity"]; + * @return The enum numeric value on the wire for severity. + */ + @java.lang.Override public int getSeverityValue() { + return severity_; + } + /** + *
+       * Should this diagnostic be reported as an error, warning, info, or hint?
+       * 
+ * + * .scip.Severity severity = 1 [json_name = "severity"]; + * @param value The enum numeric value on the wire for severity to set. + * @return This builder for chaining. + */ + public Builder setSeverityValue(int value) { + severity_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + /** + *
+       * Should this diagnostic be reported as an error, warning, info, or hint?
+       * 
+ * + * .scip.Severity severity = 1 [json_name = "severity"]; + * @return The severity. + */ + @java.lang.Override + public scip.Scip.Severity getSeverity() { + scip.Scip.Severity result = scip.Scip.Severity.forNumber(severity_); + return result == null ? scip.Scip.Severity.UNRECOGNIZED : result; + } + /** + *
+       * Should this diagnostic be reported as an error, warning, info, or hint?
+       * 
+ * + * .scip.Severity severity = 1 [json_name = "severity"]; + * @param value The severity to set. + * @return This builder for chaining. + */ + public Builder setSeverity(scip.Scip.Severity value) { + if (value == null) { throw new NullPointerException(); } + bitField0_ |= 0x00000001; + severity_ = value.getNumber(); + onChanged(); + return this; + } + /** + *
+       * Should this diagnostic be reported as an error, warning, info, or hint?
+       * 
+ * + * .scip.Severity severity = 1 [json_name = "severity"]; + * @return This builder for chaining. + */ + public Builder clearSeverity() { + bitField0_ = (bitField0_ & ~0x00000001); + severity_ = 0; + onChanged(); + return this; + } + + private java.lang.Object code_ = ""; + /** + *
+       * (optional) Code of this diagnostic, which might appear in the user interface.
+       * 
+ * + * string code = 2 [json_name = "code"]; + * @return The code. + */ + public java.lang.String getCode() { + java.lang.Object ref = code_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + code_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + *
+       * (optional) Code of this diagnostic, which might appear in the user interface.
+       * 
+ * + * string code = 2 [json_name = "code"]; + * @return The bytes for code. + */ + public com.google.protobuf.ByteString + getCodeBytes() { + java.lang.Object ref = code_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + code_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + *
+       * (optional) Code of this diagnostic, which might appear in the user interface.
+       * 
+ * + * string code = 2 [json_name = "code"]; + * @param value The code to set. + * @return This builder for chaining. + */ + public Builder setCode( + java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + code_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + /** + *
+       * (optional) Code of this diagnostic, which might appear in the user interface.
+       * 
+ * + * string code = 2 [json_name = "code"]; + * @return This builder for chaining. + */ + public Builder clearCode() { + code_ = getDefaultInstance().getCode(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + /** + *
+       * (optional) Code of this diagnostic, which might appear in the user interface.
+       * 
+ * + * string code = 2 [json_name = "code"]; + * @param value The bytes for code to set. + * @return This builder for chaining. + */ + public Builder setCodeBytes( + com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + checkByteStringIsUtf8(value); + code_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + private java.lang.Object message_ = ""; + /** + *
+       * Message of this diagnostic.
+       * 
+ * + * string message = 3 [json_name = "message"]; + * @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; + } + } + /** + *
+       * Message of this diagnostic.
+       * 
+ * + * string message = 3 [json_name = "message"]; + * @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; + } + } + /** + *
+       * Message of this diagnostic.
+       * 
+ * + * string message = 3 [json_name = "message"]; + * @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; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + /** + *
+       * Message of this diagnostic.
+       * 
+ * + * string message = 3 [json_name = "message"]; + * @return This builder for chaining. + */ + public Builder clearMessage() { + message_ = getDefaultInstance().getMessage(); + bitField0_ = (bitField0_ & ~0x00000004); + onChanged(); + return this; + } + /** + *
+       * Message of this diagnostic.
+       * 
+ * + * string message = 3 [json_name = "message"]; + * @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; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + private java.lang.Object source_ = ""; + /** + *
+       * (optional) Human-readable string describing the source of this diagnostic, e.g.
+       * 'typescript' or 'super lint'.
+       * 
+ * + * string source = 4 [json_name = "source"]; + * @return The source. + */ + public java.lang.String getSource() { + java.lang.Object ref = source_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + source_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + *
+       * (optional) Human-readable string describing the source of this diagnostic, e.g.
+       * 'typescript' or 'super lint'.
+       * 
+ * + * string source = 4 [json_name = "source"]; + * @return The bytes for source. + */ + public com.google.protobuf.ByteString + getSourceBytes() { + java.lang.Object ref = source_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + source_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + *
+       * (optional) Human-readable string describing the source of this diagnostic, e.g.
+       * 'typescript' or 'super lint'.
+       * 
+ * + * string source = 4 [json_name = "source"]; + * @param value The source to set. + * @return This builder for chaining. + */ + public Builder setSource( + java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + source_ = value; + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + /** + *
+       * (optional) Human-readable string describing the source of this diagnostic, e.g.
+       * 'typescript' or 'super lint'.
+       * 
+ * + * string source = 4 [json_name = "source"]; + * @return This builder for chaining. + */ + public Builder clearSource() { + source_ = getDefaultInstance().getSource(); + bitField0_ = (bitField0_ & ~0x00000008); + onChanged(); + return this; + } + /** + *
+       * (optional) Human-readable string describing the source of this diagnostic, e.g.
+       * 'typescript' or 'super lint'.
+       * 
+ * + * string source = 4 [json_name = "source"]; + * @param value The bytes for source to set. + * @return This builder for chaining. + */ + public Builder setSourceBytes( + com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + checkByteStringIsUtf8(value); + source_ = value; + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + + private com.google.protobuf.Internal.IntList tags_ = emptyIntList(); + private void ensureTagsIsMutable() { + if (!tags_.isModifiable()) { + tags_ = makeMutableCopy(tags_); + } + bitField0_ |= 0x00000010; + } + /** + * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; + * @return A list containing the tags. + */ + public java.util.List getTagsList() { + return new com.google.protobuf.Internal.IntListAdapter< + scip.Scip.DiagnosticTag>(tags_, tags_converter_); + } + /** + * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; + * @return The count of tags. + */ + public int getTagsCount() { + return tags_.size(); + } + /** + * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; + * @param index The index of the element to return. + * @return The tags at the given index. + */ + public scip.Scip.DiagnosticTag getTags(int index) { + return tags_converter_.convert(tags_.getInt(index)); + } + /** + * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; + * @param index The index to set the value at. + * @param value The tags to set. + * @return This builder for chaining. + */ + public Builder setTags( + int index, scip.Scip.DiagnosticTag value) { + if (value == null) { throw new NullPointerException(); } + ensureTagsIsMutable(); + tags_.setInt(index, value.getNumber()); + onChanged(); + return this; + } + /** + * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; + * @param value The tags to add. + * @return This builder for chaining. + */ + public Builder addTags(scip.Scip.DiagnosticTag value) { + if (value == null) { throw new NullPointerException(); } + ensureTagsIsMutable(); + tags_.addInt(value.getNumber()); + onChanged(); + return this; + } + /** + * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; + * @param values The tags to add. + * @return This builder for chaining. + */ + public Builder addAllTags( + java.lang.Iterable values) { + ensureTagsIsMutable(); + for (scip.Scip.DiagnosticTag value : values) { + tags_.addInt(value.getNumber()); + } + onChanged(); + return this; + } + /** + * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; + * @return This builder for chaining. + */ + public Builder clearTags() { + tags_ = emptyIntList(); + bitField0_ = (bitField0_ & ~0x00000010); + onChanged(); + return this; + } + /** + * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; + * @return A list containing the enum numeric values on the wire for tags. + */ + public java.util.List + getTagsValueList() { + tags_.makeImmutable(); + return tags_; + } + /** + * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; + * @param index The index of the value to return. + * @return The enum numeric value on the wire of tags at the given index. + */ + public int getTagsValue(int index) { + return tags_.getInt(index); + } + /** + * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; + * @param index The index to set the value at. + * @param value The enum numeric value on the wire for tags to set. + * @return This builder for chaining. + */ + public Builder setTagsValue( + int index, int value) { + ensureTagsIsMutable(); + tags_.setInt(index, value); + onChanged(); + return this; + } + /** + * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; + * @param value The enum numeric value on the wire for tags to add. + * @return This builder for chaining. + */ + public Builder addTagsValue(int value) { + ensureTagsIsMutable(); + tags_.addInt(value); + onChanged(); + return this; + } + /** + * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; + * @param values The enum numeric values on the wire for tags to add. + * @return This builder for chaining. + */ + public Builder addAllTagsValue( + java.lang.Iterable values) { + ensureTagsIsMutable(); + for (int value : values) { + tags_.addInt(value); + } + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:scip.Diagnostic) + } + + // @@protoc_insertion_point(class_scope:scip.Diagnostic) + private static final scip.Scip.Diagnostic DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new scip.Scip.Diagnostic(); + } + + public static scip.Scip.Diagnostic getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public Diagnostic parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public scip.Scip.Diagnostic getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_scip_Index_descriptor; + private static final + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_scip_Index_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_scip_Metadata_descriptor; + private static final + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_scip_Metadata_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_scip_ToolInfo_descriptor; + private static final + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_scip_ToolInfo_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_scip_Document_descriptor; + private static final + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_scip_Document_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_scip_Symbol_descriptor; + private static final + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_scip_Symbol_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_scip_Package_descriptor; + private static final + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_scip_Package_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_scip_Descriptor_descriptor; + private static final + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_scip_Descriptor_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_scip_Signature_descriptor; + private static final + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_scip_Signature_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_scip_SymbolInformation_descriptor; + private static final + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_scip_SymbolInformation_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_scip_Relationship_descriptor; + private static final + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_scip_Relationship_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_scip_Occurrence_descriptor; + private static final + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_scip_Occurrence_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_scip_Diagnostic_descriptor; + private static final + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_scip_Diagnostic_fieldAccessorTable; + + public static com.google.protobuf.Descriptors.FileDescriptor + getDescriptor() { + return descriptor; + } + private static com.google.protobuf.Descriptors.FileDescriptor + descriptor; + static { + java.lang.String[] descriptorData = { + "\n\nscip.proto\022\004scip\"\245\001\n\005Index\022*\n\010metadata" + + "\030\001 \001(\0132\016.scip.MetadataR\010metadata\022,\n\tdocu" + + "ments\030\002 \003(\0132\016.scip.DocumentR\tdocuments\022B" + + "\n\020external_symbols\030\003 \003(\0132\027.scip.SymbolIn" + + "formationR\017externalSymbols\"\325\001\n\010Metadata\022" + + "/\n\007version\030\001 \001(\0162\025.scip.ProtocolVersionR" + + "\007version\022+\n\ttool_info\030\002 \001(\0132\016.scip.ToolI" + + "nfoR\010toolInfo\022!\n\014project_root\030\003 \001(\tR\013pro" + + "jectRoot\022H\n\026text_document_encoding\030\004 \001(\016" + + "2\022.scip.TextEncodingR\024textDocumentEncodi" + + "ng\"V\n\010ToolInfo\022\022\n\004name\030\001 \001(\tR\004name\022\030\n\007ve" + + "rsion\030\002 \001(\tR\007version\022\034\n\targuments\030\003 \003(\tR" + + "\targuments\"\213\002\n\010Document\022\032\n\010language\030\004 \001(" + + "\tR\010language\022#\n\rrelative_path\030\001 \001(\tR\014rela" + + "tivePath\0222\n\013occurrences\030\002 \003(\0132\020.scip.Occ" + + "urrenceR\013occurrences\0221\n\007symbols\030\003 \003(\0132\027." + + "scip.SymbolInformationR\007symbols\022\022\n\004text\030" + + "\005 \001(\tR\004text\022C\n\021position_encoding\030\006 \001(\0162\026" + + ".scip.PositionEncodingR\020positionEncoding" + + "\"}\n\006Symbol\022\026\n\006scheme\030\001 \001(\tR\006scheme\022\'\n\007pa" + + "ckage\030\002 \001(\0132\r.scip.PackageR\007package\0222\n\013d" + + "escriptors\030\003 \003(\0132\020.scip.DescriptorR\013desc" + + "riptors\"Q\n\007Package\022\030\n\007manager\030\001 \001(\tR\007man" + + "ager\022\022\n\004name\030\002 \001(\tR\004name\022\030\n\007version\030\003 \001(" + + "\tR\007version\"\237\002\n\nDescriptor\022\022\n\004name\030\001 \001(\tR" + + "\004name\022$\n\rdisambiguator\030\002 \001(\tR\rdisambigua" + + "tor\022/\n\006suffix\030\003 \001(\0162\027.scip.Descriptor.Su" + + "ffixR\006suffix\"\245\001\n\006Suffix\022\025\n\021UnspecifiedSu" + + "ffix\020\000\022\r\n\tNamespace\020\001\022\017\n\007Package\020\001\032\002\010\001\022\010" + + "\n\004Type\020\002\022\010\n\004Term\020\003\022\n\n\006Method\020\004\022\021\n\rTypePa" + + "rameter\020\005\022\r\n\tParameter\020\006\022\010\n\004Meta\020\007\022\t\n\005Lo" + + "cal\020\010\022\t\n\005Macro\020\t\032\002\020\001\"\201\001\n\tSignature\022\032\n\010la" + + "nguage\030\004 \001(\tR\010language\022\022\n\004text\030\005 \001(\tR\004te" + + "xt\0222\n\013occurrences\030\002 \003(\0132\020.scip.Occurrenc" + + "eR\013occurrencesJ\004\010\001\020\002J\004\010\003\020\004J\004\010\006\020\007\"\323\014\n\021Sym" + + "bolInformation\022\026\n\006symbol\030\001 \001(\tR\006symbol\022$" + + "\n\rdocumentation\030\003 \003(\tR\rdocumentation\0228\n\r" + + "relationships\030\004 \003(\0132\022.scip.RelationshipR" + + "\rrelationships\0220\n\004kind\030\005 \001(\0162\034.scip.Symb" + + "olInformation.KindR\004kind\022!\n\014display_name" + + "\030\006 \001(\tR\013displayName\022H\n\027signature_documen" + + "tation\030\007 \001(\0132\017.scip.SignatureR\026signature" + + "Documentation\022)\n\020enclosing_symbol\030\010 \001(\tR" + + "\017enclosingSymbol\"\373\t\n\004Kind\022\023\n\017Unspecified" + + "Kind\020\000\022\022\n\016AbstractMethod\020B\022\014\n\010Accessor\020H" + + "\022\t\n\005Array\020\001\022\r\n\tAssertion\020\002\022\022\n\016Associated" + + "Type\020\003\022\r\n\tAttribute\020\004\022\t\n\005Axiom\020\005\022\013\n\007Bool" + + "ean\020\006\022\t\n\005Class\020\007\022\013\n\007Concept\020V\022\014\n\010Constan" + + "t\020\010\022\017\n\013Constructor\020\t\022\014\n\010Contract\020>\022\016\n\nDa" + + "taFamily\020\n\022\014\n\010Delegate\020I\022\010\n\004Enum\020\013\022\016\n\nEn" + + "umMember\020\014\022\t\n\005Error\020?\022\t\n\005Event\020\r\022\r\n\tExte" + + "nsion\020T\022\010\n\004Fact\020\016\022\t\n\005Field\020\017\022\010\n\004File\020\020\022\014" + + "\n\010Function\020\021\022\n\n\006Getter\020\022\022\013\n\007Grammar\020\023\022\014\n" + + "\010Instance\020\024\022\r\n\tInterface\020\025\022\007\n\003Key\020\026\022\010\n\004L" + + "ang\020\027\022\t\n\005Lemma\020\030\022\013\n\007Library\020@\022\t\n\005Macro\020\031" + + "\022\n\n\006Method\020\032\022\017\n\013MethodAlias\020J\022\022\n\016MethodR" + + "eceiver\020\033\022\027\n\023MethodSpecification\020C\022\013\n\007Me" + + "ssage\020\034\022\t\n\005Mixin\020U\022\014\n\010Modifier\020A\022\n\n\006Modu" + + "le\020\035\022\r\n\tNamespace\020\036\022\010\n\004Null\020\037\022\n\n\006Number\020" + + " \022\n\n\006Object\020!\022\014\n\010Operator\020\"\022\013\n\007Package\020#" + + "\022\021\n\rPackageObject\020$\022\r\n\tParameter\020%\022\022\n\016Pa" + + "rameterLabel\020&\022\013\n\007Pattern\020\'\022\r\n\tPredicate" + + "\020(\022\014\n\010Property\020)\022\014\n\010Protocol\020*\022\022\n\016Protoc" + + "olMethod\020D\022\025\n\021PureVirtualMethod\020E\022\017\n\013Qua" + + "siquoter\020+\022\021\n\rSelfParameter\020,\022\n\n\006Setter\020" + + "-\022\r\n\tSignature\020.\022\022\n\016SingletonClass\020K\022\023\n\017" + + "SingletonMethod\020L\022\024\n\020StaticDataMember\020M\022" + + "\017\n\013StaticEvent\020N\022\017\n\013StaticField\020O\022\020\n\014Sta" + + "ticMethod\020P\022\022\n\016StaticProperty\020Q\022\022\n\016Stati" + + "cVariable\020R\022\n\n\006String\0200\022\n\n\006Struct\0201\022\r\n\tS" + + "ubscript\020/\022\n\n\006Tactic\0202\022\013\n\007Theorem\0203\022\021\n\rT" + + "hisParameter\0204\022\t\n\005Trait\0205\022\017\n\013TraitMethod" + + "\020F\022\010\n\004Type\0206\022\r\n\tTypeAlias\0207\022\r\n\tTypeClass" + + "\0208\022\023\n\017TypeClassMethod\020G\022\016\n\nTypeFamily\0209\022" + + "\021\n\rTypeParameter\020:\022\t\n\005Union\020;\022\t\n\005Value\020<" + + "\022\014\n\010Variable\020=\"\311\001\n\014Relationship\022\026\n\006symbo" + + "l\030\001 \001(\tR\006symbol\022!\n\014is_reference\030\002 \001(\010R\013i" + + "sReference\022+\n\021is_implementation\030\003 \001(\010R\020i" + + "sImplementation\022,\n\022is_type_definition\030\004 " + + "\001(\010R\020isTypeDefinition\022#\n\ris_definition\030\005" + + " \001(\010R\014isDefinition\"\244\002\n\nOccurrence\022\024\n\005ran" + + "ge\030\001 \003(\005R\005range\022\026\n\006symbol\030\002 \001(\tR\006symbol\022" + + "!\n\014symbol_roles\030\003 \001(\005R\013symbolRoles\0225\n\026ov" + + "erride_documentation\030\004 \003(\tR\025overrideDocu" + + "mentation\0221\n\013syntax_kind\030\005 \001(\0162\020.scip.Sy" + + "ntaxKindR\nsyntaxKind\0222\n\013diagnostics\030\006 \003(" + + "\0132\020.scip.DiagnosticR\013diagnostics\022\'\n\017encl" + + "osing_range\030\007 \003(\005R\016enclosingRange\"\247\001\n\nDi" + + "agnostic\022*\n\010severity\030\001 \001(\0162\016.scip.Severi" + + "tyR\010severity\022\022\n\004code\030\002 \001(\tR\004code\022\030\n\007mess" + + "age\030\003 \001(\tR\007message\022\026\n\006source\030\004 \001(\tR\006sour" + + "ce\022\'\n\004tags\030\005 \003(\0162\023.scip.DiagnosticTagR\004t" + + "ags*1\n\017ProtocolVersion\022\036\n\032UnspecifiedPro" + + "tocolVersion\020\000*@\n\014TextEncoding\022\033\n\027Unspec" + + "ifiedTextEncoding\020\000\022\010\n\004UTF8\020\001\022\t\n\005UTF16\020\002" + + "*\244\001\n\020PositionEncoding\022\037\n\033UnspecifiedPosi" + + "tionEncoding\020\000\022#\n\037UTF8CodeUnitOffsetFrom" + + "LineStart\020\001\022$\n UTF16CodeUnitOffsetFromLi" + + "neStart\020\002\022$\n UTF32CodeUnitOffsetFromLine" + + "Start\020\003*\224\001\n\nSymbolRole\022\031\n\025UnspecifiedSym" + + "bolRole\020\000\022\016\n\nDefinition\020\001\022\n\n\006Import\020\002\022\017\n" + + "\013WriteAccess\020\004\022\016\n\nReadAccess\020\010\022\r\n\tGenera" + + "ted\020\020\022\010\n\004Test\020 \022\025\n\021ForwardDefinition\020@*\352" + + "\006\n\nSyntaxKind\022\031\n\025UnspecifiedSyntaxKind\020\000" + + "\022\013\n\007Comment\020\001\022\030\n\024PunctuationDelimiter\020\002\022" + + "\026\n\022PunctuationBracket\020\003\022\013\n\007Keyword\020\004\022\031\n\021" + + "IdentifierKeyword\020\004\032\002\010\001\022\026\n\022IdentifierOpe" + + "rator\020\005\022\016\n\nIdentifier\020\006\022\025\n\021IdentifierBui" + + "ltin\020\007\022\022\n\016IdentifierNull\020\010\022\026\n\022Identifier" + + "Constant\020\t\022\033\n\027IdentifierMutableGlobal\020\n\022" + + "\027\n\023IdentifierParameter\020\013\022\023\n\017IdentifierLo" + + "cal\020\014\022\026\n\022IdentifierShadowed\020\r\022\027\n\023Identif" + + "ierNamespace\020\016\022\030\n\020IdentifierModule\020\016\032\002\010\001" + + "\022\026\n\022IdentifierFunction\020\017\022 \n\034IdentifierFu" + + "nctionDefinition\020\020\022\023\n\017IdentifierMacro\020\021\022" + + "\035\n\031IdentifierMacroDefinition\020\022\022\022\n\016Identi" + + "fierType\020\023\022\031\n\025IdentifierBuiltinType\020\024\022\027\n" + + "\023IdentifierAttribute\020\025\022\017\n\013RegexEscape\020\026\022" + + "\021\n\rRegexRepeated\020\027\022\021\n\rRegexWildcard\020\030\022\022\n" + + "\016RegexDelimiter\020\031\022\r\n\tRegexJoin\020\032\022\021\n\rStri" + + "ngLiteral\020\033\022\027\n\023StringLiteralEscape\020\034\022\030\n\024" + + "StringLiteralSpecial\020\035\022\024\n\020StringLiteralK" + + "ey\020\036\022\024\n\020CharacterLiteral\020\037\022\022\n\016NumericLit" + + "eral\020 \022\022\n\016BooleanLiteral\020!\022\007\n\003Tag\020\"\022\020\n\014T" + + "agAttribute\020#\022\020\n\014TagDelimiter\020$\032\002\020\001*V\n\010S" + + "everity\022\027\n\023UnspecifiedSeverity\020\000\022\t\n\005Erro" + + "r\020\001\022\013\n\007Warning\020\002\022\017\n\013Information\020\003\022\010\n\004Hin" + + "t\020\004*N\n\rDiagnosticTag\022\034\n\030UnspecifiedDiagn" + + "osticTag\020\000\022\017\n\013Unnecessary\020\001\022\016\n\nDeprecate" + + "d\020\002*\233\n\n\010Language\022\027\n\023UnspecifiedLanguage\020" + + "\000\022\010\n\004ABAP\020<\022\010\n\004Apex\020`\022\007\n\003APL\0201\022\007\n\003Ada\020\'\022" + + "\010\n\004Agda\020-\022\014\n\010AsciiDoc\020V\022\014\n\010Assembly\020:\022\007\n" + + "\003Awk\020B\022\007\n\003Bat\020D\022\n\n\006BibTeX\020Q\022\005\n\001C\020\"\022\t\n\005CO" + + "BOL\020;\022\007\n\003CPP\020#\022\007\n\003CSS\020\032\022\n\n\006CSharp\020\001\022\013\n\007C" + + "lojure\020\010\022\020\n\014Coffeescript\020\025\022\016\n\nCommonLisp" + + "\020\t\022\007\n\003Coq\020/\022\010\n\004CUDA\020a\022\010\n\004Dart\020\003\022\n\n\006Delph" + + "i\0209\022\010\n\004Diff\020X\022\016\n\nDockerfile\020P\022\n\n\006Dyalog\020" + + "2\022\n\n\006Elixir\020\021\022\n\n\006Erlang\020\022\022\n\n\006FSharp\020*\022\010\n" + + "\004Fish\020A\022\010\n\004Flow\020\030\022\013\n\007Fortran\0208\022\016\n\nGit_Co" + + "mmit\020[\022\016\n\nGit_Config\020Y\022\016\n\nGit_Rebase\020\\\022\006" + + "\n\002Go\020!\022\013\n\007GraphQL\020b\022\n\n\006Groovy\020\007\022\010\n\004HTML\020" + + "\036\022\010\n\004Hack\020\024\022\016\n\nHandlebars\020Z\022\013\n\007Haskell\020," + + "\022\t\n\005Idris\020.\022\007\n\003Ini\020H\022\005\n\001J\0203\022\010\n\004JSON\020K\022\010\n" + + "\004Java\020\006\022\016\n\nJavaScript\020\026\022\023\n\017JavaScriptRea" + + "ct\020]\022\013\n\007Jsonnet\020L\022\t\n\005Julia\0207\022\014\n\010Justfile" + + "\020m\022\n\n\006Kotlin\020\004\022\t\n\005LaTeX\020S\022\010\n\004Lean\0200\022\010\n\004L" + + "ess\020\033\022\007\n\003Lua\020\014\022\010\n\004Luau\020l\022\014\n\010Makefile\020O\022\014" + + "\n\010Markdown\020T\022\n\n\006Matlab\0204\022\n\n\006Nickel\020n\022\007\n\003" + + "Nix\020M\022\t\n\005OCaml\020)\022\017\n\013Objective_C\020$\022\021\n\rObj" + + "ective_CPP\020%\022\n\n\006Pascal\020c\022\007\n\003PHP\020\023\022\t\n\005PLS" + + "QL\020F\022\010\n\004Perl\020\r\022\016\n\nPowerShell\020C\022\n\n\006Prolog" + + "\020G\022\014\n\010Protobuf\020d\022\n\n\006Python\020\017\022\005\n\001R\0206\022\n\n\006R" + + "acket\020\013\022\010\n\004Raku\020\016\022\t\n\005Razor\020>\022\t\n\005Repro\020f\022" + + "\010\n\004ReST\020U\022\010\n\004Ruby\020\020\022\010\n\004Rust\020(\022\007\n\003SAS\020=\022\010" + + "\n\004SCSS\020\035\022\007\n\003SML\020+\022\007\n\003SQL\020E\022\010\n\004Sass\020\034\022\t\n\005" + + "Scala\020\005\022\n\n\006Scheme\020\n\022\017\n\013ShellScript\020@\022\013\n\007" + + "Skylark\020N\022\t\n\005Slang\020k\022\014\n\010Solidity\020_\022\n\n\006Sv" + + "elte\020j\022\t\n\005Swift\020\002\022\007\n\003Tcl\020e\022\010\n\004TOML\020I\022\007\n\003" + + "TeX\020R\022\n\n\006Thrift\020g\022\016\n\nTypeScript\020\027\022\023\n\017Typ" + + "eScriptReact\020^\022\013\n\007Verilog\020h\022\010\n\004VHDL\020i\022\017\n" + + "\013VisualBasic\020?\022\007\n\003Vue\020\031\022\013\n\007Wolfram\0205\022\007\n\003" + + "XML\020\037\022\007\n\003XSL\020 \022\010\n\004YAML\020J\022\007\n\003Zig\020&B-Z+git" + + "hub.com/scip-code/scip/bindings/go/scip/" + + "b\006proto3" + }; + descriptor = com.google.protobuf.Descriptors.FileDescriptor + .internalBuildGeneratedFileFrom(descriptorData, + new com.google.protobuf.Descriptors.FileDescriptor[] { + }); + internal_static_scip_Index_descriptor = + getDescriptor().getMessageTypes().get(0); + internal_static_scip_Index_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_scip_Index_descriptor, + new java.lang.String[] { "Metadata", "Documents", "ExternalSymbols", }); + internal_static_scip_Metadata_descriptor = + getDescriptor().getMessageTypes().get(1); + internal_static_scip_Metadata_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_scip_Metadata_descriptor, + new java.lang.String[] { "Version", "ToolInfo", "ProjectRoot", "TextDocumentEncoding", }); + internal_static_scip_ToolInfo_descriptor = + getDescriptor().getMessageTypes().get(2); + internal_static_scip_ToolInfo_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_scip_ToolInfo_descriptor, + new java.lang.String[] { "Name", "Version", "Arguments", }); + internal_static_scip_Document_descriptor = + getDescriptor().getMessageTypes().get(3); + internal_static_scip_Document_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_scip_Document_descriptor, + new java.lang.String[] { "Language", "RelativePath", "Occurrences", "Symbols", "Text", "PositionEncoding", }); + internal_static_scip_Symbol_descriptor = + getDescriptor().getMessageTypes().get(4); + internal_static_scip_Symbol_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_scip_Symbol_descriptor, + new java.lang.String[] { "Scheme", "Package", "Descriptors", }); + internal_static_scip_Package_descriptor = + getDescriptor().getMessageTypes().get(5); + internal_static_scip_Package_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_scip_Package_descriptor, + new java.lang.String[] { "Manager", "Name", "Version", }); + internal_static_scip_Descriptor_descriptor = + getDescriptor().getMessageTypes().get(6); + internal_static_scip_Descriptor_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_scip_Descriptor_descriptor, + new java.lang.String[] { "Name", "Disambiguator", "Suffix", }); + internal_static_scip_Signature_descriptor = + getDescriptor().getMessageTypes().get(7); + internal_static_scip_Signature_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_scip_Signature_descriptor, + new java.lang.String[] { "Language", "Text", "Occurrences", }); + internal_static_scip_SymbolInformation_descriptor = + getDescriptor().getMessageTypes().get(8); + internal_static_scip_SymbolInformation_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_scip_SymbolInformation_descriptor, + new java.lang.String[] { "Symbol", "Documentation", "Relationships", "Kind", "DisplayName", "SignatureDocumentation", "EnclosingSymbol", }); + internal_static_scip_Relationship_descriptor = + getDescriptor().getMessageTypes().get(9); + internal_static_scip_Relationship_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_scip_Relationship_descriptor, + new java.lang.String[] { "Symbol", "IsReference", "IsImplementation", "IsTypeDefinition", "IsDefinition", }); + internal_static_scip_Occurrence_descriptor = + getDescriptor().getMessageTypes().get(10); + internal_static_scip_Occurrence_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_scip_Occurrence_descriptor, + new java.lang.String[] { "Range", "Symbol", "SymbolRoles", "OverrideDocumentation", "SyntaxKind", "Diagnostics", "EnclosingRange", }); + internal_static_scip_Diagnostic_descriptor = + getDescriptor().getMessageTypes().get(11); + internal_static_scip_Diagnostic_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_scip_Diagnostic_descriptor, + new java.lang.String[] { "Severity", "Code", "Message", "Source", "Tags", }); + descriptor.resolveAllFeaturesImmutable(); + } + + // @@protoc_insertion_point(outer_class_scope) +} diff --git a/bindings/kotlin/.gitignore b/bindings/kotlin/.gitignore new file mode 100644 index 00000000..2f7896d1 --- /dev/null +++ b/bindings/kotlin/.gitignore @@ -0,0 +1 @@ +target/ diff --git a/bindings/kotlin/pom.xml b/bindings/kotlin/pom.xml new file mode 100644 index 00000000..f499775a --- /dev/null +++ b/bindings/kotlin/pom.xml @@ -0,0 +1,105 @@ + + + 4.0.0 + + com.scip-code + scip-kotlin + 0.7.1 + jar + + scip-kotlin + + Generated Kotlin bindings for the Semantic Code Intelligence Protocol + (SCIP). Includes the Kotlin DSL extensions on top of the Java protobuf + message classes, both bundled in a single artifact. + + https://github.com/scip-code/scip + + + + Apache License, Version 2.0 + https://www.apache.org/licenses/LICENSE-2.0.txt + + + + + https://github.com/scip-code/scip + scm:git:https://github.com/scip-code/scip.git + + + + UTF-8 + 11 + 11 + + 4.32.1 + 2.0.21 + + + + + com.google.protobuf + protobuf-java + ${protobuf.version} + + + com.google.protobuf + protobuf-kotlin + ${protobuf.version} + + + org.jetbrains.kotlin + kotlin-stdlib + ${kotlin.version} + + + + + src/main/java + + + org.jetbrains.kotlin + kotlin-maven-plugin + ${kotlin.version} + + + compile + process-sources + + compile + + + + src/main/java + src/main/kotlin + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.13.0 + + + default-compile + none + + + java-compile + compile + + compile + + + + + + + diff --git a/bindings/kotlin/src/main/java/scip/Scip.java b/bindings/kotlin/src/main/java/scip/Scip.java new file mode 100644 index 00000000..325c4701 --- /dev/null +++ b/bindings/kotlin/src/main/java/scip/Scip.java @@ -0,0 +1,23170 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: scip.proto +// Protobuf Java Version: 4.32.1 + +package scip; + +@com.google.protobuf.Generated +public final class Scip extends com.google.protobuf.GeneratedFile { + private Scip() {} + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 32, + /* patch= */ 1, + /* suffix= */ "", + Scip.class.getName()); + } + 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 scip.ProtocolVersion} + */ + public enum ProtocolVersion + implements com.google.protobuf.ProtocolMessageEnum { + /** + * UnspecifiedProtocolVersion = 0; + */ + UnspecifiedProtocolVersion(0), + UNRECOGNIZED(-1), + ; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 32, + /* patch= */ 1, + /* suffix= */ "", + ProtocolVersion.class.getName()); + } + /** + * UnspecifiedProtocolVersion = 0; + */ + public static final int UnspecifiedProtocolVersion_VALUE = 0; + + + 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 ProtocolVersion 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 ProtocolVersion forNumber(int value) { + switch (value) { + case 0: return UnspecifiedProtocolVersion; + default: return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap + internalGetValueMap() { + return internalValueMap; + } + private static final com.google.protobuf.Internal.EnumLiteMap< + ProtocolVersion> internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap() { + public ProtocolVersion findValueByNumber(int number) { + return ProtocolVersion.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 com.google.protobuf.Descriptors.EnumDescriptor + getDescriptor() { + return scip.Scip.getDescriptor().getEnumTypes().get(0); + } + + private static final ProtocolVersion[] VALUES = values(); + + public static ProtocolVersion 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 ProtocolVersion(int value) { + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:scip.ProtocolVersion) + } + + /** + * Protobuf enum {@code scip.TextEncoding} + */ + public enum TextEncoding + implements com.google.protobuf.ProtocolMessageEnum { + /** + * UnspecifiedTextEncoding = 0; + */ + UnspecifiedTextEncoding(0), + /** + * UTF8 = 1; + */ + UTF8(1), + /** + * UTF16 = 2; + */ + UTF16(2), + UNRECOGNIZED(-1), + ; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 32, + /* patch= */ 1, + /* suffix= */ "", + TextEncoding.class.getName()); + } + /** + * UnspecifiedTextEncoding = 0; + */ + public static final int UnspecifiedTextEncoding_VALUE = 0; + /** + * UTF8 = 1; + */ + public static final int UTF8_VALUE = 1; + /** + * UTF16 = 2; + */ + public static final int UTF16_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 TextEncoding 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 TextEncoding forNumber(int value) { + switch (value) { + case 0: return UnspecifiedTextEncoding; + case 1: return UTF8; + case 2: return UTF16; + default: return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap + internalGetValueMap() { + return internalValueMap; + } + private static final com.google.protobuf.Internal.EnumLiteMap< + TextEncoding> internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap() { + public TextEncoding findValueByNumber(int number) { + return TextEncoding.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 com.google.protobuf.Descriptors.EnumDescriptor + getDescriptor() { + return scip.Scip.getDescriptor().getEnumTypes().get(1); + } + + private static final TextEncoding[] VALUES = values(); + + public static TextEncoding 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 TextEncoding(int value) { + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:scip.TextEncoding) + } + + /** + *
+   * Encoding used to interpret the 'character' value in source ranges.
+   * 
+ * + * Protobuf enum {@code scip.PositionEncoding} + */ + public enum PositionEncoding + implements com.google.protobuf.ProtocolMessageEnum { + /** + *
+     * Default value. This value should not be used by new SCIP indexers
+     * so that a consumer can process the SCIP index without ambiguity.
+     * 
+ * + * UnspecifiedPositionEncoding = 0; + */ + UnspecifiedPositionEncoding(0), + /** + *
+     * The 'character' value is interpreted as an offset in terms
+     * of UTF-8 code units (i.e. bytes).
+     *
+     * Example: For the string "🚀 Woo" in UTF-8, the bytes are
+     * [240, 159, 154, 128, 32, 87, 111, 111], so the offset for 'W'
+     * would be 5.
+     * 
+ * + * UTF8CodeUnitOffsetFromLineStart = 1; + */ + UTF8CodeUnitOffsetFromLineStart(1), + /** + *
+     * The 'character' value is interpreted as an offset in terms
+     * of UTF-16 code units (each is 2 bytes).
+     *
+     * Example: For the string "🚀 Woo", the UTF-16 code units are
+     * ['\ud83d', '\ude80', ' ', 'W', 'o', 'o'], so the offset for 'W'
+     * would be 3.
+     * 
+ * + * UTF16CodeUnitOffsetFromLineStart = 2; + */ + UTF16CodeUnitOffsetFromLineStart(2), + /** + *
+     * The 'character' value is interpreted as an offset in terms
+     * of UTF-32 code units (each is 4 bytes).
+     *
+     * Example: For the string "🚀 Woo", the UTF-32 code units are
+     * ['🚀', ' ', 'W', 'o', 'o'], so the offset for 'W' would be 2.
+     * 
+ * + * UTF32CodeUnitOffsetFromLineStart = 3; + */ + UTF32CodeUnitOffsetFromLineStart(3), + UNRECOGNIZED(-1), + ; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 32, + /* patch= */ 1, + /* suffix= */ "", + PositionEncoding.class.getName()); + } + /** + *
+     * Default value. This value should not be used by new SCIP indexers
+     * so that a consumer can process the SCIP index without ambiguity.
+     * 
+ * + * UnspecifiedPositionEncoding = 0; + */ + public static final int UnspecifiedPositionEncoding_VALUE = 0; + /** + *
+     * The 'character' value is interpreted as an offset in terms
+     * of UTF-8 code units (i.e. bytes).
+     *
+     * Example: For the string "🚀 Woo" in UTF-8, the bytes are
+     * [240, 159, 154, 128, 32, 87, 111, 111], so the offset for 'W'
+     * would be 5.
+     * 
+ * + * UTF8CodeUnitOffsetFromLineStart = 1; + */ + public static final int UTF8CodeUnitOffsetFromLineStart_VALUE = 1; + /** + *
+     * The 'character' value is interpreted as an offset in terms
+     * of UTF-16 code units (each is 2 bytes).
+     *
+     * Example: For the string "🚀 Woo", the UTF-16 code units are
+     * ['\ud83d', '\ude80', ' ', 'W', 'o', 'o'], so the offset for 'W'
+     * would be 3.
+     * 
+ * + * UTF16CodeUnitOffsetFromLineStart = 2; + */ + public static final int UTF16CodeUnitOffsetFromLineStart_VALUE = 2; + /** + *
+     * The 'character' value is interpreted as an offset in terms
+     * of UTF-32 code units (each is 4 bytes).
+     *
+     * Example: For the string "🚀 Woo", the UTF-32 code units are
+     * ['🚀', ' ', 'W', 'o', 'o'], so the offset for 'W' would be 2.
+     * 
+ * + * UTF32CodeUnitOffsetFromLineStart = 3; + */ + public static final int UTF32CodeUnitOffsetFromLineStart_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 PositionEncoding 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 PositionEncoding forNumber(int value) { + switch (value) { + case 0: return UnspecifiedPositionEncoding; + case 1: return UTF8CodeUnitOffsetFromLineStart; + case 2: return UTF16CodeUnitOffsetFromLineStart; + case 3: return UTF32CodeUnitOffsetFromLineStart; + default: return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap + internalGetValueMap() { + return internalValueMap; + } + private static final com.google.protobuf.Internal.EnumLiteMap< + PositionEncoding> internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap() { + public PositionEncoding findValueByNumber(int number) { + return PositionEncoding.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 com.google.protobuf.Descriptors.EnumDescriptor + getDescriptor() { + return scip.Scip.getDescriptor().getEnumTypes().get(2); + } + + private static final PositionEncoding[] VALUES = values(); + + public static PositionEncoding 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 PositionEncoding(int value) { + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:scip.PositionEncoding) + } + + /** + *
+   * SymbolRole declares what "role" a symbol has in an occurrence. A role is
+   * encoded as a bitset where each bit represents a different role. For example,
+   * to determine if the `Import` role is set, test whether the second bit of the
+   * enum value is defined. In pseudocode, this can be implemented with the
+   * logic: `const isImportRole = (role.value & SymbolRole.Import.value) > 0`.
+   * 
+ * + * Protobuf enum {@code scip.SymbolRole} + */ + public enum SymbolRole + implements com.google.protobuf.ProtocolMessageEnum { + /** + *
+     * This case is not meant to be used; it only exists to avoid an error
+     * from the Protobuf code generator.
+     * 
+ * + * UnspecifiedSymbolRole = 0; + */ + UnspecifiedSymbolRole(0), + /** + *
+     * Is the symbol defined here? If not, then this is a symbol reference.
+     * 
+ * + * Definition = 1; + */ + Definition(1), + /** + *
+     * Is the symbol imported here?
+     * 
+ * + * Import = 2; + */ + Import(2), + /** + *
+     * Is the symbol written here?
+     * 
+ * + * WriteAccess = 4; + */ + WriteAccess(4), + /** + *
+     * Is the symbol read here?
+     * 
+ * + * ReadAccess = 8; + */ + ReadAccess(8), + /** + *
+     * Is the symbol in generated code?
+     * 
+ * + * Generated = 16; + */ + Generated(16), + /** + *
+     * Is the symbol in test code?
+     * 
+ * + * Test = 32; + */ + Test(32), + /** + *
+     * Is this a signature for a symbol that is defined elsewhere?
+     *
+     * Applies to forward declarations for languages like C, C++
+     * and Objective-C, as well as `val` declarations in interface
+     * files in languages like SML and OCaml.
+     * 
+ * + * ForwardDefinition = 64; + */ + ForwardDefinition(64), + UNRECOGNIZED(-1), + ; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 32, + /* patch= */ 1, + /* suffix= */ "", + SymbolRole.class.getName()); + } + /** + *
+     * This case is not meant to be used; it only exists to avoid an error
+     * from the Protobuf code generator.
+     * 
+ * + * UnspecifiedSymbolRole = 0; + */ + public static final int UnspecifiedSymbolRole_VALUE = 0; + /** + *
+     * Is the symbol defined here? If not, then this is a symbol reference.
+     * 
+ * + * Definition = 1; + */ + public static final int Definition_VALUE = 1; + /** + *
+     * Is the symbol imported here?
+     * 
+ * + * Import = 2; + */ + public static final int Import_VALUE = 2; + /** + *
+     * Is the symbol written here?
+     * 
+ * + * WriteAccess = 4; + */ + public static final int WriteAccess_VALUE = 4; + /** + *
+     * Is the symbol read here?
+     * 
+ * + * ReadAccess = 8; + */ + public static final int ReadAccess_VALUE = 8; + /** + *
+     * Is the symbol in generated code?
+     * 
+ * + * Generated = 16; + */ + public static final int Generated_VALUE = 16; + /** + *
+     * Is the symbol in test code?
+     * 
+ * + * Test = 32; + */ + public static final int Test_VALUE = 32; + /** + *
+     * Is this a signature for a symbol that is defined elsewhere?
+     *
+     * Applies to forward declarations for languages like C, C++
+     * and Objective-C, as well as `val` declarations in interface
+     * files in languages like SML and OCaml.
+     * 
+ * + * ForwardDefinition = 64; + */ + public static final int ForwardDefinition_VALUE = 64; + + + 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 SymbolRole 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 SymbolRole forNumber(int value) { + switch (value) { + case 0: return UnspecifiedSymbolRole; + case 1: return Definition; + case 2: return Import; + case 4: return WriteAccess; + case 8: return ReadAccess; + case 16: return Generated; + case 32: return Test; + case 64: return ForwardDefinition; + default: return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap + internalGetValueMap() { + return internalValueMap; + } + private static final com.google.protobuf.Internal.EnumLiteMap< + SymbolRole> internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap() { + public SymbolRole findValueByNumber(int number) { + return SymbolRole.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 com.google.protobuf.Descriptors.EnumDescriptor + getDescriptor() { + return scip.Scip.getDescriptor().getEnumTypes().get(3); + } + + private static final SymbolRole[] VALUES = values(); + + public static SymbolRole 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 SymbolRole(int value) { + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:scip.SymbolRole) + } + + /** + * Protobuf enum {@code scip.SyntaxKind} + */ + public enum SyntaxKind + implements com.google.protobuf.ProtocolMessageEnum { + /** + * UnspecifiedSyntaxKind = 0; + */ + UnspecifiedSyntaxKind(0, 0), + /** + *
+     * Comment, including comment markers and text
+     * 
+ * + * Comment = 1; + */ + Comment(1, 1), + /** + *
+     * `;` `.` `,`
+     * 
+ * + * PunctuationDelimiter = 2; + */ + PunctuationDelimiter(2, 2), + /** + *
+     * (), {}, [] when used syntactically
+     * 
+ * + * PunctuationBracket = 3; + */ + PunctuationBracket(3, 3), + /** + *
+     * `if`, `else`, `return`, `class`, etc.
+     * 
+ * + * Keyword = 4; + */ + Keyword(4, 4), + /** + *
+     * `+`, `*`, etc.
+     * 
+ * + * IdentifierOperator = 5; + */ + IdentifierOperator(6, 5), + /** + *
+     * non-specific catch-all for any identifier not better described elsewhere
+     * 
+ * + * Identifier = 6; + */ + Identifier(7, 6), + /** + *
+     * Identifiers builtin to the language: `min`, `print` in Python.
+     * 
+ * + * IdentifierBuiltin = 7; + */ + IdentifierBuiltin(8, 7), + /** + *
+     * Identifiers representing `null`-like values: `None` in Python, `nil` in Go.
+     * 
+ * + * IdentifierNull = 8; + */ + IdentifierNull(9, 8), + /** + *
+     * `xyz` in `const xyz = "hello"`
+     * 
+ * + * IdentifierConstant = 9; + */ + IdentifierConstant(10, 9), + /** + *
+     * `var X = "hello"` in Go
+     * 
+ * + * IdentifierMutableGlobal = 10; + */ + IdentifierMutableGlobal(11, 10), + /** + *
+     * Parameter definition and references
+     * 
+ * + * IdentifierParameter = 11; + */ + IdentifierParameter(12, 11), + /** + *
+     * Identifiers for variable definitions and references within a local scope
+     * 
+ * + * IdentifierLocal = 12; + */ + IdentifierLocal(13, 12), + /** + *
+     * Identifiers that shadow other identifiers in an outer scope
+     * 
+ * + * IdentifierShadowed = 13; + */ + IdentifierShadowed(14, 13), + /** + *
+     * Identifier representing a unit of code abstraction and/or namespacing.
+     *
+     * NOTE: This corresponds to a package in Go and JVM languages,
+     * and a module in languages like Python and JavaScript.
+     * 
+ * + * IdentifierNamespace = 14; + */ + IdentifierNamespace(15, 14), + /** + *
+     * Function references, including calls
+     * 
+ * + * IdentifierFunction = 15; + */ + IdentifierFunction(17, 15), + /** + *
+     * Function definition only
+     * 
+ * + * IdentifierFunctionDefinition = 16; + */ + IdentifierFunctionDefinition(18, 16), + /** + *
+     * Macro references, including invocations
+     * 
+ * + * IdentifierMacro = 17; + */ + IdentifierMacro(19, 17), + /** + *
+     * Macro definition only
+     * 
+ * + * IdentifierMacroDefinition = 18; + */ + IdentifierMacroDefinition(20, 18), + /** + *
+     * non-builtin types
+     * 
+ * + * IdentifierType = 19; + */ + IdentifierType(21, 19), + /** + *
+     * builtin types only, such as `str` for Python or `int` in Go
+     * 
+ * + * IdentifierBuiltinType = 20; + */ + IdentifierBuiltinType(22, 20), + /** + *
+     * Python decorators, c-like __attribute__
+     * 
+ * + * IdentifierAttribute = 21; + */ + IdentifierAttribute(23, 21), + /** + *
+     * `\b`
+     * 
+ * + * RegexEscape = 22; + */ + RegexEscape(24, 22), + /** + *
+     * `*`, `+`
+     * 
+ * + * RegexRepeated = 23; + */ + RegexRepeated(25, 23), + /** + *
+     * `.`
+     * 
+ * + * RegexWildcard = 24; + */ + RegexWildcard(26, 24), + /** + *
+     * `(`, `)`, `[`, `]`
+     * 
+ * + * RegexDelimiter = 25; + */ + RegexDelimiter(27, 25), + /** + *
+     * `|`, `-`
+     * 
+ * + * RegexJoin = 26; + */ + RegexJoin(28, 26), + /** + *
+     * Literal strings: "Hello, world!"
+     * 
+ * + * StringLiteral = 27; + */ + StringLiteral(29, 27), + /** + *
+     * non-regex escapes: "\t", "\n"
+     * 
+ * + * StringLiteralEscape = 28; + */ + StringLiteralEscape(30, 28), + /** + *
+     * datetimes within strings, special words within a string, `{}` in format strings
+     * 
+ * + * StringLiteralSpecial = 29; + */ + StringLiteralSpecial(31, 29), + /** + *
+     * "key" in { "key": "value" }, useful for example in JSON
+     * 
+ * + * StringLiteralKey = 30; + */ + StringLiteralKey(32, 30), + /** + *
+     * 'c' or similar, in languages that differentiate strings and characters
+     * 
+ * + * CharacterLiteral = 31; + */ + CharacterLiteral(33, 31), + /** + *
+     * Literal numbers, both floats and integers
+     * 
+ * + * NumericLiteral = 32; + */ + NumericLiteral(34, 32), + /** + *
+     * `true`, `false`
+     * 
+ * + * BooleanLiteral = 33; + */ + BooleanLiteral(35, 33), + /** + *
+     * Used for XML-like tags
+     * 
+ * + * Tag = 34; + */ + Tag(36, 34), + /** + *
+     * Attribute name in XML-like tags
+     * 
+ * + * TagAttribute = 35; + */ + TagAttribute(37, 35), + /** + *
+     * Delimiters for XML-like tags
+     * 
+ * + * TagDelimiter = 36; + */ + TagDelimiter(38, 36), + UNRECOGNIZED(-1, -1), + ; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 32, + /* patch= */ 1, + /* suffix= */ "", + SyntaxKind.class.getName()); + } + /** + * IdentifierKeyword = 4 [deprecated = true]; + */ + public static final SyntaxKind IdentifierKeyword = Keyword; + /** + * IdentifierModule = 14 [deprecated = true]; + */ + public static final SyntaxKind IdentifierModule = IdentifierNamespace; + /** + * UnspecifiedSyntaxKind = 0; + */ + public static final int UnspecifiedSyntaxKind_VALUE = 0; + /** + *
+     * Comment, including comment markers and text
+     * 
+ * + * Comment = 1; + */ + public static final int Comment_VALUE = 1; + /** + *
+     * `;` `.` `,`
+     * 
+ * + * PunctuationDelimiter = 2; + */ + public static final int PunctuationDelimiter_VALUE = 2; + /** + *
+     * (), {}, [] when used syntactically
+     * 
+ * + * PunctuationBracket = 3; + */ + public static final int PunctuationBracket_VALUE = 3; + /** + *
+     * `if`, `else`, `return`, `class`, etc.
+     * 
+ * + * Keyword = 4; + */ + public static final int Keyword_VALUE = 4; + /** + * IdentifierKeyword = 4 [deprecated = true]; + */ + @java.lang.Deprecated public static final int IdentifierKeyword_VALUE = 4; + /** + *
+     * `+`, `*`, etc.
+     * 
+ * + * IdentifierOperator = 5; + */ + public static final int IdentifierOperator_VALUE = 5; + /** + *
+     * non-specific catch-all for any identifier not better described elsewhere
+     * 
+ * + * Identifier = 6; + */ + public static final int Identifier_VALUE = 6; + /** + *
+     * Identifiers builtin to the language: `min`, `print` in Python.
+     * 
+ * + * IdentifierBuiltin = 7; + */ + public static final int IdentifierBuiltin_VALUE = 7; + /** + *
+     * Identifiers representing `null`-like values: `None` in Python, `nil` in Go.
+     * 
+ * + * IdentifierNull = 8; + */ + public static final int IdentifierNull_VALUE = 8; + /** + *
+     * `xyz` in `const xyz = "hello"`
+     * 
+ * + * IdentifierConstant = 9; + */ + public static final int IdentifierConstant_VALUE = 9; + /** + *
+     * `var X = "hello"` in Go
+     * 
+ * + * IdentifierMutableGlobal = 10; + */ + public static final int IdentifierMutableGlobal_VALUE = 10; + /** + *
+     * Parameter definition and references
+     * 
+ * + * IdentifierParameter = 11; + */ + public static final int IdentifierParameter_VALUE = 11; + /** + *
+     * Identifiers for variable definitions and references within a local scope
+     * 
+ * + * IdentifierLocal = 12; + */ + public static final int IdentifierLocal_VALUE = 12; + /** + *
+     * Identifiers that shadow other identifiers in an outer scope
+     * 
+ * + * IdentifierShadowed = 13; + */ + public static final int IdentifierShadowed_VALUE = 13; + /** + *
+     * Identifier representing a unit of code abstraction and/or namespacing.
+     *
+     * NOTE: This corresponds to a package in Go and JVM languages,
+     * and a module in languages like Python and JavaScript.
+     * 
+ * + * IdentifierNamespace = 14; + */ + public static final int IdentifierNamespace_VALUE = 14; + /** + * IdentifierModule = 14 [deprecated = true]; + */ + @java.lang.Deprecated public static final int IdentifierModule_VALUE = 14; + /** + *
+     * Function references, including calls
+     * 
+ * + * IdentifierFunction = 15; + */ + public static final int IdentifierFunction_VALUE = 15; + /** + *
+     * Function definition only
+     * 
+ * + * IdentifierFunctionDefinition = 16; + */ + public static final int IdentifierFunctionDefinition_VALUE = 16; + /** + *
+     * Macro references, including invocations
+     * 
+ * + * IdentifierMacro = 17; + */ + public static final int IdentifierMacro_VALUE = 17; + /** + *
+     * Macro definition only
+     * 
+ * + * IdentifierMacroDefinition = 18; + */ + public static final int IdentifierMacroDefinition_VALUE = 18; + /** + *
+     * non-builtin types
+     * 
+ * + * IdentifierType = 19; + */ + public static final int IdentifierType_VALUE = 19; + /** + *
+     * builtin types only, such as `str` for Python or `int` in Go
+     * 
+ * + * IdentifierBuiltinType = 20; + */ + public static final int IdentifierBuiltinType_VALUE = 20; + /** + *
+     * Python decorators, c-like __attribute__
+     * 
+ * + * IdentifierAttribute = 21; + */ + public static final int IdentifierAttribute_VALUE = 21; + /** + *
+     * `\b`
+     * 
+ * + * RegexEscape = 22; + */ + public static final int RegexEscape_VALUE = 22; + /** + *
+     * `*`, `+`
+     * 
+ * + * RegexRepeated = 23; + */ + public static final int RegexRepeated_VALUE = 23; + /** + *
+     * `.`
+     * 
+ * + * RegexWildcard = 24; + */ + public static final int RegexWildcard_VALUE = 24; + /** + *
+     * `(`, `)`, `[`, `]`
+     * 
+ * + * RegexDelimiter = 25; + */ + public static final int RegexDelimiter_VALUE = 25; + /** + *
+     * `|`, `-`
+     * 
+ * + * RegexJoin = 26; + */ + public static final int RegexJoin_VALUE = 26; + /** + *
+     * Literal strings: "Hello, world!"
+     * 
+ * + * StringLiteral = 27; + */ + public static final int StringLiteral_VALUE = 27; + /** + *
+     * non-regex escapes: "\t", "\n"
+     * 
+ * + * StringLiteralEscape = 28; + */ + public static final int StringLiteralEscape_VALUE = 28; + /** + *
+     * datetimes within strings, special words within a string, `{}` in format strings
+     * 
+ * + * StringLiteralSpecial = 29; + */ + public static final int StringLiteralSpecial_VALUE = 29; + /** + *
+     * "key" in { "key": "value" }, useful for example in JSON
+     * 
+ * + * StringLiteralKey = 30; + */ + public static final int StringLiteralKey_VALUE = 30; + /** + *
+     * 'c' or similar, in languages that differentiate strings and characters
+     * 
+ * + * CharacterLiteral = 31; + */ + public static final int CharacterLiteral_VALUE = 31; + /** + *
+     * Literal numbers, both floats and integers
+     * 
+ * + * NumericLiteral = 32; + */ + public static final int NumericLiteral_VALUE = 32; + /** + *
+     * `true`, `false`
+     * 
+ * + * BooleanLiteral = 33; + */ + public static final int BooleanLiteral_VALUE = 33; + /** + *
+     * Used for XML-like tags
+     * 
+ * + * Tag = 34; + */ + public static final int Tag_VALUE = 34; + /** + *
+     * Attribute name in XML-like tags
+     * 
+ * + * TagAttribute = 35; + */ + public static final int TagAttribute_VALUE = 35; + /** + *
+     * Delimiters for XML-like tags
+     * 
+ * + * TagDelimiter = 36; + */ + public static final int TagDelimiter_VALUE = 36; + + + public final int getNumber() { + if (index == -1) { + 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 SyntaxKind 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 SyntaxKind forNumber(int value) { + switch (value) { + case 0: return UnspecifiedSyntaxKind; + case 1: return Comment; + case 2: return PunctuationDelimiter; + case 3: return PunctuationBracket; + case 4: return Keyword; + case 5: return IdentifierOperator; + case 6: return Identifier; + case 7: return IdentifierBuiltin; + case 8: return IdentifierNull; + case 9: return IdentifierConstant; + case 10: return IdentifierMutableGlobal; + case 11: return IdentifierParameter; + case 12: return IdentifierLocal; + case 13: return IdentifierShadowed; + case 14: return IdentifierNamespace; + case 15: return IdentifierFunction; + case 16: return IdentifierFunctionDefinition; + case 17: return IdentifierMacro; + case 18: return IdentifierMacroDefinition; + case 19: return IdentifierType; + case 20: return IdentifierBuiltinType; + case 21: return IdentifierAttribute; + case 22: return RegexEscape; + case 23: return RegexRepeated; + case 24: return RegexWildcard; + case 25: return RegexDelimiter; + case 26: return RegexJoin; + case 27: return StringLiteral; + case 28: return StringLiteralEscape; + case 29: return StringLiteralSpecial; + case 30: return StringLiteralKey; + case 31: return CharacterLiteral; + case 32: return NumericLiteral; + case 33: return BooleanLiteral; + case 34: return Tag; + case 35: return TagAttribute; + case 36: return TagDelimiter; + default: return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap + internalGetValueMap() { + return internalValueMap; + } + private static final com.google.protobuf.Internal.EnumLiteMap< + SyntaxKind> internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap() { + public SyntaxKind findValueByNumber(int number) { + return SyntaxKind.forNumber(number); + } + }; + + public final com.google.protobuf.Descriptors.EnumValueDescriptor + getValueDescriptor() { + if (index == -1) { + throw new java.lang.IllegalStateException( + "Can't get the descriptor of an unrecognized enum value."); + } + return getDescriptor().getValues().get(index); + } + public final com.google.protobuf.Descriptors.EnumDescriptor + getDescriptorForType() { + return getDescriptor(); + } + public static com.google.protobuf.Descriptors.EnumDescriptor + getDescriptor() { + return scip.Scip.getDescriptor().getEnumTypes().get(4); + } + + private static final SyntaxKind[] VALUES = getStaticValuesArray(); + private static SyntaxKind[] getStaticValuesArray() { + return new SyntaxKind[] { + UnspecifiedSyntaxKind, Comment, PunctuationDelimiter, PunctuationBracket, Keyword, IdentifierKeyword, IdentifierOperator, Identifier, IdentifierBuiltin, IdentifierNull, IdentifierConstant, IdentifierMutableGlobal, IdentifierParameter, IdentifierLocal, IdentifierShadowed, IdentifierNamespace, IdentifierModule, IdentifierFunction, IdentifierFunctionDefinition, IdentifierMacro, IdentifierMacroDefinition, IdentifierType, IdentifierBuiltinType, IdentifierAttribute, RegexEscape, RegexRepeated, RegexWildcard, RegexDelimiter, RegexJoin, StringLiteral, StringLiteralEscape, StringLiteralSpecial, StringLiteralKey, CharacterLiteral, NumericLiteral, BooleanLiteral, Tag, TagAttribute, TagDelimiter, + }; + } + public static SyntaxKind 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 index; + private final int value; + + private SyntaxKind(int index, int value) { + this.index = index; + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:scip.SyntaxKind) + } + + /** + * Protobuf enum {@code scip.Severity} + */ + public enum Severity + implements com.google.protobuf.ProtocolMessageEnum { + /** + * UnspecifiedSeverity = 0; + */ + UnspecifiedSeverity(0), + /** + * Error = 1; + */ + Error(1), + /** + * Warning = 2; + */ + Warning(2), + /** + * Information = 3; + */ + Information(3), + /** + * Hint = 4; + */ + Hint(4), + UNRECOGNIZED(-1), + ; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 32, + /* patch= */ 1, + /* suffix= */ "", + Severity.class.getName()); + } + /** + * UnspecifiedSeverity = 0; + */ + public static final int UnspecifiedSeverity_VALUE = 0; + /** + * Error = 1; + */ + public static final int Error_VALUE = 1; + /** + * Warning = 2; + */ + public static final int Warning_VALUE = 2; + /** + * Information = 3; + */ + public static final int Information_VALUE = 3; + /** + * Hint = 4; + */ + public static final int Hint_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 Severity 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 Severity forNumber(int value) { + switch (value) { + case 0: return UnspecifiedSeverity; + case 1: return Error; + case 2: return Warning; + case 3: return Information; + case 4: return Hint; + default: return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap + internalGetValueMap() { + return internalValueMap; + } + private static final com.google.protobuf.Internal.EnumLiteMap< + Severity> internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap() { + public Severity findValueByNumber(int number) { + return Severity.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 com.google.protobuf.Descriptors.EnumDescriptor + getDescriptor() { + return scip.Scip.getDescriptor().getEnumTypes().get(5); + } + + private static final Severity[] VALUES = values(); + + public static Severity 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 Severity(int value) { + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:scip.Severity) + } + + /** + * Protobuf enum {@code scip.DiagnosticTag} + */ + public enum DiagnosticTag + implements com.google.protobuf.ProtocolMessageEnum { + /** + * UnspecifiedDiagnosticTag = 0; + */ + UnspecifiedDiagnosticTag(0), + /** + * Unnecessary = 1; + */ + Unnecessary(1), + /** + * Deprecated = 2; + */ + Deprecated(2), + UNRECOGNIZED(-1), + ; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 32, + /* patch= */ 1, + /* suffix= */ "", + DiagnosticTag.class.getName()); + } + /** + * UnspecifiedDiagnosticTag = 0; + */ + public static final int UnspecifiedDiagnosticTag_VALUE = 0; + /** + * Unnecessary = 1; + */ + public static final int Unnecessary_VALUE = 1; + /** + * Deprecated = 2; + */ + public static final int Deprecated_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 DiagnosticTag 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 DiagnosticTag forNumber(int value) { + switch (value) { + case 0: return UnspecifiedDiagnosticTag; + case 1: return Unnecessary; + case 2: return Deprecated; + default: return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap + internalGetValueMap() { + return internalValueMap; + } + private static final com.google.protobuf.Internal.EnumLiteMap< + DiagnosticTag> internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap() { + public DiagnosticTag findValueByNumber(int number) { + return DiagnosticTag.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 com.google.protobuf.Descriptors.EnumDescriptor + getDescriptor() { + return scip.Scip.getDescriptor().getEnumTypes().get(6); + } + + private static final DiagnosticTag[] VALUES = values(); + + public static DiagnosticTag 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 DiagnosticTag(int value) { + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:scip.DiagnosticTag) + } + + /** + *
+   * Language standardises names of common programming languages that can be used
+   * for the `Document.language` field. The primary purpose of this enum is to
+   * prevent a situation where we have a single programming language ends up with
+   * multiple string representations. For example, the C++ language uses the name
+   * "CPP" in this enum and other names such as "cpp" are incompatible.
+   * Feel free to send a pull-request to add missing programming languages.
+   * 
+ * + * Protobuf enum {@code scip.Language} + */ + public enum Language + implements com.google.protobuf.ProtocolMessageEnum { + /** + * UnspecifiedLanguage = 0; + */ + UnspecifiedLanguage(0), + /** + * ABAP = 60; + */ + ABAP(60), + /** + * Apex = 96; + */ + Apex(96), + /** + * APL = 49; + */ + APL(49), + /** + * Ada = 39; + */ + Ada(39), + /** + * Agda = 45; + */ + Agda(45), + /** + * AsciiDoc = 86; + */ + AsciiDoc(86), + /** + * Assembly = 58; + */ + Assembly(58), + /** + * Awk = 66; + */ + Awk(66), + /** + * Bat = 68; + */ + Bat(68), + /** + * BibTeX = 81; + */ + BibTeX(81), + /** + * C = 34; + */ + C(34), + /** + * COBOL = 59; + */ + COBOL(59), + /** + *
+     * C++ (the name "CPP" was chosen for consistency with LSP)
+     * 
+ * + * CPP = 35; + */ + CPP(35), + /** + * CSS = 26; + */ + CSS(26), + /** + * CSharp = 1; + */ + CSharp(1), + /** + * Clojure = 8; + */ + Clojure(8), + /** + * Coffeescript = 21; + */ + Coffeescript(21), + /** + * CommonLisp = 9; + */ + CommonLisp(9), + /** + * Coq = 47; + */ + Coq(47), + /** + * CUDA = 97; + */ + CUDA(97), + /** + * Dart = 3; + */ + Dart(3), + /** + * Delphi = 57; + */ + Delphi(57), + /** + * Diff = 88; + */ + Diff(88), + /** + * Dockerfile = 80; + */ + Dockerfile(80), + /** + * Dyalog = 50; + */ + Dyalog(50), + /** + * Elixir = 17; + */ + Elixir(17), + /** + * Erlang = 18; + */ + Erlang(18), + /** + * FSharp = 42; + */ + FSharp(42), + /** + * Fish = 65; + */ + Fish(65), + /** + * Flow = 24; + */ + Flow(24), + /** + * Fortran = 56; + */ + Fortran(56), + /** + * Git_Commit = 91; + */ + Git_Commit(91), + /** + * Git_Config = 89; + */ + Git_Config(89), + /** + * Git_Rebase = 92; + */ + Git_Rebase(92), + /** + * Go = 33; + */ + Go(33), + /** + * GraphQL = 98; + */ + GraphQL(98), + /** + * Groovy = 7; + */ + Groovy(7), + /** + * HTML = 30; + */ + HTML(30), + /** + * Hack = 20; + */ + Hack(20), + /** + * Handlebars = 90; + */ + Handlebars(90), + /** + * Haskell = 44; + */ + Haskell(44), + /** + * Idris = 46; + */ + Idris(46), + /** + * Ini = 72; + */ + Ini(72), + /** + * J = 51; + */ + J(51), + /** + * JSON = 75; + */ + JSON(75), + /** + * Java = 6; + */ + Java(6), + /** + * JavaScript = 22; + */ + JavaScript(22), + /** + * JavaScriptReact = 93; + */ + JavaScriptReact(93), + /** + * Jsonnet = 76; + */ + Jsonnet(76), + /** + * Julia = 55; + */ + Julia(55), + /** + * Justfile = 109; + */ + Justfile(109), + /** + * Kotlin = 4; + */ + Kotlin(4), + /** + * LaTeX = 83; + */ + LaTeX(83), + /** + * Lean = 48; + */ + Lean(48), + /** + * Less = 27; + */ + Less(27), + /** + * Lua = 12; + */ + Lua(12), + /** + * Luau = 108; + */ + Luau(108), + /** + * Makefile = 79; + */ + Makefile(79), + /** + * Markdown = 84; + */ + Markdown(84), + /** + * Matlab = 52; + */ + Matlab(52), + /** + *
+     * https://nickel-lang.org/
+     * 
+ * + * Nickel = 110; + */ + Nickel(110), + /** + * Nix = 77; + */ + Nix(77), + /** + * OCaml = 41; + */ + OCaml(41), + /** + * Objective_C = 36; + */ + Objective_C(36), + /** + * Objective_CPP = 37; + */ + Objective_CPP(37), + /** + * Pascal = 99; + */ + Pascal(99), + /** + * PHP = 19; + */ + PHP(19), + /** + * PLSQL = 70; + */ + PLSQL(70), + /** + * Perl = 13; + */ + Perl(13), + /** + * PowerShell = 67; + */ + PowerShell(67), + /** + * Prolog = 71; + */ + Prolog(71), + /** + * Protobuf = 100; + */ + Protobuf(100), + /** + * Python = 15; + */ + Python(15), + /** + * R = 54; + */ + R(54), + /** + * Racket = 11; + */ + Racket(11), + /** + * Raku = 14; + */ + Raku(14), + /** + * Razor = 62; + */ + Razor(62), + /** + *
+     * Internal language for testing SCIP
+     * 
+ * + * Repro = 102; + */ + Repro(102), + /** + * ReST = 85; + */ + ReST(85), + /** + * Ruby = 16; + */ + Ruby(16), + /** + * Rust = 40; + */ + Rust(40), + /** + * SAS = 61; + */ + SAS(61), + /** + * SCSS = 29; + */ + SCSS(29), + /** + * SML = 43; + */ + SML(43), + /** + * SQL = 69; + */ + SQL(69), + /** + * Sass = 28; + */ + Sass(28), + /** + * Scala = 5; + */ + Scala(5), + /** + * Scheme = 10; + */ + Scheme(10), + /** + *
+     * Bash
+     * 
+ * + * ShellScript = 64; + */ + ShellScript(64), + /** + * Skylark = 78; + */ + Skylark(78), + /** + * Slang = 107; + */ + Slang(107), + /** + * Solidity = 95; + */ + Solidity(95), + /** + * Svelte = 106; + */ + Svelte(106), + /** + * Swift = 2; + */ + Swift(2), + /** + * Tcl = 101; + */ + Tcl(101), + /** + * TOML = 73; + */ + TOML(73), + /** + * TeX = 82; + */ + TeX(82), + /** + * Thrift = 103; + */ + Thrift(103), + /** + * TypeScript = 23; + */ + TypeScript(23), + /** + * TypeScriptReact = 94; + */ + TypeScriptReact(94), + /** + * Verilog = 104; + */ + Verilog(104), + /** + * VHDL = 105; + */ + VHDL(105), + /** + * VisualBasic = 63; + */ + VisualBasic(63), + /** + * Vue = 25; + */ + Vue(25), + /** + * Wolfram = 53; + */ + Wolfram(53), + /** + * XML = 31; + */ + XML(31), + /** + * XSL = 32; + */ + XSL(32), + /** + * YAML = 74; + */ + YAML(74), + /** + *
+     * NextLanguage = 111;
+     * Steps add a new language:
+     * 1. Copy-paste the "NextLanguage = N" line above
+     * 2. Increment "NextLanguage = N" to "NextLanguage = N+1"
+     * 3. Replace "NextLanguage = N" with the name of the new language.
+     * 4. Move the new language to the correct line above using alphabetical order
+     * 5. (optional) Add a brief comment behind the language if the name is not self-explanatory
+     * 
+ * + * Zig = 38; + */ + Zig(38), + UNRECOGNIZED(-1), + ; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 32, + /* patch= */ 1, + /* suffix= */ "", + Language.class.getName()); + } + /** + * UnspecifiedLanguage = 0; + */ + public static final int UnspecifiedLanguage_VALUE = 0; + /** + * ABAP = 60; + */ + public static final int ABAP_VALUE = 60; + /** + * Apex = 96; + */ + public static final int Apex_VALUE = 96; + /** + * APL = 49; + */ + public static final int APL_VALUE = 49; + /** + * Ada = 39; + */ + public static final int Ada_VALUE = 39; + /** + * Agda = 45; + */ + public static final int Agda_VALUE = 45; + /** + * AsciiDoc = 86; + */ + public static final int AsciiDoc_VALUE = 86; + /** + * Assembly = 58; + */ + public static final int Assembly_VALUE = 58; + /** + * Awk = 66; + */ + public static final int Awk_VALUE = 66; + /** + * Bat = 68; + */ + public static final int Bat_VALUE = 68; + /** + * BibTeX = 81; + */ + public static final int BibTeX_VALUE = 81; + /** + * C = 34; + */ + public static final int C_VALUE = 34; + /** + * COBOL = 59; + */ + public static final int COBOL_VALUE = 59; + /** + *
+     * C++ (the name "CPP" was chosen for consistency with LSP)
+     * 
+ * + * CPP = 35; + */ + public static final int CPP_VALUE = 35; + /** + * CSS = 26; + */ + public static final int CSS_VALUE = 26; + /** + * CSharp = 1; + */ + public static final int CSharp_VALUE = 1; + /** + * Clojure = 8; + */ + public static final int Clojure_VALUE = 8; + /** + * Coffeescript = 21; + */ + public static final int Coffeescript_VALUE = 21; + /** + * CommonLisp = 9; + */ + public static final int CommonLisp_VALUE = 9; + /** + * Coq = 47; + */ + public static final int Coq_VALUE = 47; + /** + * CUDA = 97; + */ + public static final int CUDA_VALUE = 97; + /** + * Dart = 3; + */ + public static final int Dart_VALUE = 3; + /** + * Delphi = 57; + */ + public static final int Delphi_VALUE = 57; + /** + * Diff = 88; + */ + public static final int Diff_VALUE = 88; + /** + * Dockerfile = 80; + */ + public static final int Dockerfile_VALUE = 80; + /** + * Dyalog = 50; + */ + public static final int Dyalog_VALUE = 50; + /** + * Elixir = 17; + */ + public static final int Elixir_VALUE = 17; + /** + * Erlang = 18; + */ + public static final int Erlang_VALUE = 18; + /** + * FSharp = 42; + */ + public static final int FSharp_VALUE = 42; + /** + * Fish = 65; + */ + public static final int Fish_VALUE = 65; + /** + * Flow = 24; + */ + public static final int Flow_VALUE = 24; + /** + * Fortran = 56; + */ + public static final int Fortran_VALUE = 56; + /** + * Git_Commit = 91; + */ + public static final int Git_Commit_VALUE = 91; + /** + * Git_Config = 89; + */ + public static final int Git_Config_VALUE = 89; + /** + * Git_Rebase = 92; + */ + public static final int Git_Rebase_VALUE = 92; + /** + * Go = 33; + */ + public static final int Go_VALUE = 33; + /** + * GraphQL = 98; + */ + public static final int GraphQL_VALUE = 98; + /** + * Groovy = 7; + */ + public static final int Groovy_VALUE = 7; + /** + * HTML = 30; + */ + public static final int HTML_VALUE = 30; + /** + * Hack = 20; + */ + public static final int Hack_VALUE = 20; + /** + * Handlebars = 90; + */ + public static final int Handlebars_VALUE = 90; + /** + * Haskell = 44; + */ + public static final int Haskell_VALUE = 44; + /** + * Idris = 46; + */ + public static final int Idris_VALUE = 46; + /** + * Ini = 72; + */ + public static final int Ini_VALUE = 72; + /** + * J = 51; + */ + public static final int J_VALUE = 51; + /** + * JSON = 75; + */ + public static final int JSON_VALUE = 75; + /** + * Java = 6; + */ + public static final int Java_VALUE = 6; + /** + * JavaScript = 22; + */ + public static final int JavaScript_VALUE = 22; + /** + * JavaScriptReact = 93; + */ + public static final int JavaScriptReact_VALUE = 93; + /** + * Jsonnet = 76; + */ + public static final int Jsonnet_VALUE = 76; + /** + * Julia = 55; + */ + public static final int Julia_VALUE = 55; + /** + * Justfile = 109; + */ + public static final int Justfile_VALUE = 109; + /** + * Kotlin = 4; + */ + public static final int Kotlin_VALUE = 4; + /** + * LaTeX = 83; + */ + public static final int LaTeX_VALUE = 83; + /** + * Lean = 48; + */ + public static final int Lean_VALUE = 48; + /** + * Less = 27; + */ + public static final int Less_VALUE = 27; + /** + * Lua = 12; + */ + public static final int Lua_VALUE = 12; + /** + * Luau = 108; + */ + public static final int Luau_VALUE = 108; + /** + * Makefile = 79; + */ + public static final int Makefile_VALUE = 79; + /** + * Markdown = 84; + */ + public static final int Markdown_VALUE = 84; + /** + * Matlab = 52; + */ + public static final int Matlab_VALUE = 52; + /** + *
+     * https://nickel-lang.org/
+     * 
+ * + * Nickel = 110; + */ + public static final int Nickel_VALUE = 110; + /** + * Nix = 77; + */ + public static final int Nix_VALUE = 77; + /** + * OCaml = 41; + */ + public static final int OCaml_VALUE = 41; + /** + * Objective_C = 36; + */ + public static final int Objective_C_VALUE = 36; + /** + * Objective_CPP = 37; + */ + public static final int Objective_CPP_VALUE = 37; + /** + * Pascal = 99; + */ + public static final int Pascal_VALUE = 99; + /** + * PHP = 19; + */ + public static final int PHP_VALUE = 19; + /** + * PLSQL = 70; + */ + public static final int PLSQL_VALUE = 70; + /** + * Perl = 13; + */ + public static final int Perl_VALUE = 13; + /** + * PowerShell = 67; + */ + public static final int PowerShell_VALUE = 67; + /** + * Prolog = 71; + */ + public static final int Prolog_VALUE = 71; + /** + * Protobuf = 100; + */ + public static final int Protobuf_VALUE = 100; + /** + * Python = 15; + */ + public static final int Python_VALUE = 15; + /** + * R = 54; + */ + public static final int R_VALUE = 54; + /** + * Racket = 11; + */ + public static final int Racket_VALUE = 11; + /** + * Raku = 14; + */ + public static final int Raku_VALUE = 14; + /** + * Razor = 62; + */ + public static final int Razor_VALUE = 62; + /** + *
+     * Internal language for testing SCIP
+     * 
+ * + * Repro = 102; + */ + public static final int Repro_VALUE = 102; + /** + * ReST = 85; + */ + public static final int ReST_VALUE = 85; + /** + * Ruby = 16; + */ + public static final int Ruby_VALUE = 16; + /** + * Rust = 40; + */ + public static final int Rust_VALUE = 40; + /** + * SAS = 61; + */ + public static final int SAS_VALUE = 61; + /** + * SCSS = 29; + */ + public static final int SCSS_VALUE = 29; + /** + * SML = 43; + */ + public static final int SML_VALUE = 43; + /** + * SQL = 69; + */ + public static final int SQL_VALUE = 69; + /** + * Sass = 28; + */ + public static final int Sass_VALUE = 28; + /** + * Scala = 5; + */ + public static final int Scala_VALUE = 5; + /** + * Scheme = 10; + */ + public static final int Scheme_VALUE = 10; + /** + *
+     * Bash
+     * 
+ * + * ShellScript = 64; + */ + public static final int ShellScript_VALUE = 64; + /** + * Skylark = 78; + */ + public static final int Skylark_VALUE = 78; + /** + * Slang = 107; + */ + public static final int Slang_VALUE = 107; + /** + * Solidity = 95; + */ + public static final int Solidity_VALUE = 95; + /** + * Svelte = 106; + */ + public static final int Svelte_VALUE = 106; + /** + * Swift = 2; + */ + public static final int Swift_VALUE = 2; + /** + * Tcl = 101; + */ + public static final int Tcl_VALUE = 101; + /** + * TOML = 73; + */ + public static final int TOML_VALUE = 73; + /** + * TeX = 82; + */ + public static final int TeX_VALUE = 82; + /** + * Thrift = 103; + */ + public static final int Thrift_VALUE = 103; + /** + * TypeScript = 23; + */ + public static final int TypeScript_VALUE = 23; + /** + * TypeScriptReact = 94; + */ + public static final int TypeScriptReact_VALUE = 94; + /** + * Verilog = 104; + */ + public static final int Verilog_VALUE = 104; + /** + * VHDL = 105; + */ + public static final int VHDL_VALUE = 105; + /** + * VisualBasic = 63; + */ + public static final int VisualBasic_VALUE = 63; + /** + * Vue = 25; + */ + public static final int Vue_VALUE = 25; + /** + * Wolfram = 53; + */ + public static final int Wolfram_VALUE = 53; + /** + * XML = 31; + */ + public static final int XML_VALUE = 31; + /** + * XSL = 32; + */ + public static final int XSL_VALUE = 32; + /** + * YAML = 74; + */ + public static final int YAML_VALUE = 74; + /** + *
+     * NextLanguage = 111;
+     * Steps add a new language:
+     * 1. Copy-paste the "NextLanguage = N" line above
+     * 2. Increment "NextLanguage = N" to "NextLanguage = N+1"
+     * 3. Replace "NextLanguage = N" with the name of the new language.
+     * 4. Move the new language to the correct line above using alphabetical order
+     * 5. (optional) Add a brief comment behind the language if the name is not self-explanatory
+     * 
+ * + * Zig = 38; + */ + public static final int Zig_VALUE = 38; + + + 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 UnspecifiedLanguage; + case 60: return ABAP; + case 96: return Apex; + case 49: return APL; + case 39: return Ada; + case 45: return Agda; + case 86: return AsciiDoc; + case 58: return Assembly; + case 66: return Awk; + case 68: return Bat; + case 81: return BibTeX; + case 34: return C; + case 59: return COBOL; + case 35: return CPP; + case 26: return CSS; + case 1: return CSharp; + case 8: return Clojure; + case 21: return Coffeescript; + case 9: return CommonLisp; + case 47: return Coq; + case 97: return CUDA; + case 3: return Dart; + case 57: return Delphi; + case 88: return Diff; + case 80: return Dockerfile; + case 50: return Dyalog; + case 17: return Elixir; + case 18: return Erlang; + case 42: return FSharp; + case 65: return Fish; + case 24: return Flow; + case 56: return Fortran; + case 91: return Git_Commit; + case 89: return Git_Config; + case 92: return Git_Rebase; + case 33: return Go; + case 98: return GraphQL; + case 7: return Groovy; + case 30: return HTML; + case 20: return Hack; + case 90: return Handlebars; + case 44: return Haskell; + case 46: return Idris; + case 72: return Ini; + case 51: return J; + case 75: return JSON; + case 6: return Java; + case 22: return JavaScript; + case 93: return JavaScriptReact; + case 76: return Jsonnet; + case 55: return Julia; + case 109: return Justfile; + case 4: return Kotlin; + case 83: return LaTeX; + case 48: return Lean; + case 27: return Less; + case 12: return Lua; + case 108: return Luau; + case 79: return Makefile; + case 84: return Markdown; + case 52: return Matlab; + case 110: return Nickel; + case 77: return Nix; + case 41: return OCaml; + case 36: return Objective_C; + case 37: return Objective_CPP; + case 99: return Pascal; + case 19: return PHP; + case 70: return PLSQL; + case 13: return Perl; + case 67: return PowerShell; + case 71: return Prolog; + case 100: return Protobuf; + case 15: return Python; + case 54: return R; + case 11: return Racket; + case 14: return Raku; + case 62: return Razor; + case 102: return Repro; + case 85: return ReST; + case 16: return Ruby; + case 40: return Rust; + case 61: return SAS; + case 29: return SCSS; + case 43: return SML; + case 69: return SQL; + case 28: return Sass; + case 5: return Scala; + case 10: return Scheme; + case 64: return ShellScript; + case 78: return Skylark; + case 107: return Slang; + case 95: return Solidity; + case 106: return Svelte; + case 2: return Swift; + case 101: return Tcl; + case 73: return TOML; + case 82: return TeX; + case 103: return Thrift; + case 23: return TypeScript; + case 94: return TypeScriptReact; + case 104: return Verilog; + case 105: return VHDL; + case 63: return VisualBasic; + case 25: return Vue; + case 53: return Wolfram; + case 31: return XML; + case 32: return XSL; + case 74: return YAML; + case 38: return Zig; + 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 com.google.protobuf.Descriptors.EnumDescriptor + getDescriptor() { + return scip.Scip.getDescriptor().getEnumTypes().get(7); + } + + 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:scip.Language) + } + + public interface IndexOrBuilder extends + // @@protoc_insertion_point(interface_extends:scip.Index) + com.google.protobuf.MessageOrBuilder { + + /** + *
+     * Metadata about this index.
+     * 
+ * + * .scip.Metadata metadata = 1 [json_name = "metadata"]; + * @return Whether the metadata field is set. + */ + boolean hasMetadata(); + /** + *
+     * Metadata about this index.
+     * 
+ * + * .scip.Metadata metadata = 1 [json_name = "metadata"]; + * @return The metadata. + */ + scip.Scip.Metadata getMetadata(); + /** + *
+     * Metadata about this index.
+     * 
+ * + * .scip.Metadata metadata = 1 [json_name = "metadata"]; + */ + scip.Scip.MetadataOrBuilder getMetadataOrBuilder(); + + /** + *
+     * Documents that belong to this index.
+     * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + java.util.List + getDocumentsList(); + /** + *
+     * Documents that belong to this index.
+     * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + scip.Scip.Document getDocuments(int index); + /** + *
+     * Documents that belong to this index.
+     * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + int getDocumentsCount(); + /** + *
+     * Documents that belong to this index.
+     * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + java.util.List + getDocumentsOrBuilderList(); + /** + *
+     * Documents that belong to this index.
+     * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + scip.Scip.DocumentOrBuilder getDocumentsOrBuilder( + int index); + + /** + *
+     * (optional) Symbols that are referenced from this index but are defined in
+     * an external package (a separate `Index` message). Leave this field empty
+     * if you assume the external package will get indexed separately. If the
+     * external package won't get indexed for some reason then you can use this
+     * field to provide hover documentation for those external symbols.
+     * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + java.util.List + getExternalSymbolsList(); + /** + *
+     * (optional) Symbols that are referenced from this index but are defined in
+     * an external package (a separate `Index` message). Leave this field empty
+     * if you assume the external package will get indexed separately. If the
+     * external package won't get indexed for some reason then you can use this
+     * field to provide hover documentation for those external symbols.
+     * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + scip.Scip.SymbolInformation getExternalSymbols(int index); + /** + *
+     * (optional) Symbols that are referenced from this index but are defined in
+     * an external package (a separate `Index` message). Leave this field empty
+     * if you assume the external package will get indexed separately. If the
+     * external package won't get indexed for some reason then you can use this
+     * field to provide hover documentation for those external symbols.
+     * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + int getExternalSymbolsCount(); + /** + *
+     * (optional) Symbols that are referenced from this index but are defined in
+     * an external package (a separate `Index` message). Leave this field empty
+     * if you assume the external package will get indexed separately. If the
+     * external package won't get indexed for some reason then you can use this
+     * field to provide hover documentation for those external symbols.
+     * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + java.util.List + getExternalSymbolsOrBuilderList(); + /** + *
+     * (optional) Symbols that are referenced from this index but are defined in
+     * an external package (a separate `Index` message). Leave this field empty
+     * if you assume the external package will get indexed separately. If the
+     * external package won't get indexed for some reason then you can use this
+     * field to provide hover documentation for those external symbols.
+     * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + scip.Scip.SymbolInformationOrBuilder getExternalSymbolsOrBuilder( + int index); + } + /** + *
+   * Index represents a complete SCIP index for a workspace this is rooted at a
+   * single directory. An Index message payload can have a large memory footprint
+   * and it's therefore recommended to emit and consume an Index payload one field
+   * value at a time. To permit streaming consumption of an Index payload, the
+   * `metadata` field must appear at the start of the stream and must only appear
+   * once in the stream. Other field values may appear in any order.
+   * 
+ * + * Protobuf type {@code scip.Index} + */ + public static final class Index extends + com.google.protobuf.GeneratedMessage implements + // @@protoc_insertion_point(message_implements:scip.Index) + IndexOrBuilder { + private static final long serialVersionUID = 0L; + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 32, + /* patch= */ 1, + /* suffix= */ "", + Index.class.getName()); + } + // Use Index.newBuilder() to construct. + private Index(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + private Index() { + documents_ = java.util.Collections.emptyList(); + externalSymbols_ = java.util.Collections.emptyList(); + } + + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return scip.Scip.internal_static_scip_Index_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return scip.Scip.internal_static_scip_Index_fieldAccessorTable + .ensureFieldAccessorsInitialized( + scip.Scip.Index.class, scip.Scip.Index.Builder.class); + } + + private int bitField0_; + public static final int METADATA_FIELD_NUMBER = 1; + private scip.Scip.Metadata metadata_; + /** + *
+     * Metadata about this index.
+     * 
+ * + * .scip.Metadata metadata = 1 [json_name = "metadata"]; + * @return Whether the metadata field is set. + */ + @java.lang.Override + public boolean hasMetadata() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + *
+     * Metadata about this index.
+     * 
+ * + * .scip.Metadata metadata = 1 [json_name = "metadata"]; + * @return The metadata. + */ + @java.lang.Override + public scip.Scip.Metadata getMetadata() { + return metadata_ == null ? scip.Scip.Metadata.getDefaultInstance() : metadata_; + } + /** + *
+     * Metadata about this index.
+     * 
+ * + * .scip.Metadata metadata = 1 [json_name = "metadata"]; + */ + @java.lang.Override + public scip.Scip.MetadataOrBuilder getMetadataOrBuilder() { + return metadata_ == null ? scip.Scip.Metadata.getDefaultInstance() : metadata_; + } + + public static final int DOCUMENTS_FIELD_NUMBER = 2; + @SuppressWarnings("serial") + private java.util.List documents_; + /** + *
+     * Documents that belong to this index.
+     * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + @java.lang.Override + public java.util.List getDocumentsList() { + return documents_; + } + /** + *
+     * Documents that belong to this index.
+     * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + @java.lang.Override + public java.util.List + getDocumentsOrBuilderList() { + return documents_; + } + /** + *
+     * Documents that belong to this index.
+     * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + @java.lang.Override + public int getDocumentsCount() { + return documents_.size(); + } + /** + *
+     * Documents that belong to this index.
+     * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + @java.lang.Override + public scip.Scip.Document getDocuments(int index) { + return documents_.get(index); + } + /** + *
+     * Documents that belong to this index.
+     * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + @java.lang.Override + public scip.Scip.DocumentOrBuilder getDocumentsOrBuilder( + int index) { + return documents_.get(index); + } + + public static final int EXTERNAL_SYMBOLS_FIELD_NUMBER = 3; + @SuppressWarnings("serial") + private java.util.List externalSymbols_; + /** + *
+     * (optional) Symbols that are referenced from this index but are defined in
+     * an external package (a separate `Index` message). Leave this field empty
+     * if you assume the external package will get indexed separately. If the
+     * external package won't get indexed for some reason then you can use this
+     * field to provide hover documentation for those external symbols.
+     * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + @java.lang.Override + public java.util.List getExternalSymbolsList() { + return externalSymbols_; + } + /** + *
+     * (optional) Symbols that are referenced from this index but are defined in
+     * an external package (a separate `Index` message). Leave this field empty
+     * if you assume the external package will get indexed separately. If the
+     * external package won't get indexed for some reason then you can use this
+     * field to provide hover documentation for those external symbols.
+     * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + @java.lang.Override + public java.util.List + getExternalSymbolsOrBuilderList() { + return externalSymbols_; + } + /** + *
+     * (optional) Symbols that are referenced from this index but are defined in
+     * an external package (a separate `Index` message). Leave this field empty
+     * if you assume the external package will get indexed separately. If the
+     * external package won't get indexed for some reason then you can use this
+     * field to provide hover documentation for those external symbols.
+     * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + @java.lang.Override + public int getExternalSymbolsCount() { + return externalSymbols_.size(); + } + /** + *
+     * (optional) Symbols that are referenced from this index but are defined in
+     * an external package (a separate `Index` message). Leave this field empty
+     * if you assume the external package will get indexed separately. If the
+     * external package won't get indexed for some reason then you can use this
+     * field to provide hover documentation for those external symbols.
+     * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + @java.lang.Override + public scip.Scip.SymbolInformation getExternalSymbols(int index) { + return externalSymbols_.get(index); + } + /** + *
+     * (optional) Symbols that are referenced from this index but are defined in
+     * an external package (a separate `Index` message). Leave this field empty
+     * if you assume the external package will get indexed separately. If the
+     * external package won't get indexed for some reason then you can use this
+     * field to provide hover documentation for those external symbols.
+     * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + @java.lang.Override + public scip.Scip.SymbolInformationOrBuilder getExternalSymbolsOrBuilder( + int index) { + return externalSymbols_.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 (((bitField0_ & 0x00000001) != 0)) { + output.writeMessage(1, getMetadata()); + } + for (int i = 0; i < documents_.size(); i++) { + output.writeMessage(2, documents_.get(i)); + } + for (int i = 0; i < externalSymbols_.size(); i++) { + output.writeMessage(3, externalSymbols_.get(i)); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(1, getMetadata()); + } + for (int i = 0; i < documents_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(2, documents_.get(i)); + } + for (int i = 0; i < externalSymbols_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(3, externalSymbols_.get(i)); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof scip.Scip.Index)) { + return super.equals(obj); + } + scip.Scip.Index other = (scip.Scip.Index) obj; + + if (hasMetadata() != other.hasMetadata()) return false; + if (hasMetadata()) { + if (!getMetadata() + .equals(other.getMetadata())) return false; + } + if (!getDocumentsList() + .equals(other.getDocumentsList())) return false; + if (!getExternalSymbolsList() + .equals(other.getExternalSymbolsList())) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasMetadata()) { + hash = (37 * hash) + METADATA_FIELD_NUMBER; + hash = (53 * hash) + getMetadata().hashCode(); + } + if (getDocumentsCount() > 0) { + hash = (37 * hash) + DOCUMENTS_FIELD_NUMBER; + hash = (53 * hash) + getDocumentsList().hashCode(); + } + if (getExternalSymbolsCount() > 0) { + hash = (37 * hash) + EXTERNAL_SYMBOLS_FIELD_NUMBER; + hash = (53 * hash) + getExternalSymbolsList().hashCode(); + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static scip.Scip.Index parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static scip.Scip.Index parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static scip.Scip.Index parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static scip.Scip.Index parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static scip.Scip.Index parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static scip.Scip.Index parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static scip.Scip.Index parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static scip.Scip.Index parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public static scip.Scip.Index parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input); + } + + public static scip.Scip.Index parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static scip.Scip.Index parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static scip.Scip.Index parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(scip.Scip.Index 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + *
+     * Index represents a complete SCIP index for a workspace this is rooted at a
+     * single directory. An Index message payload can have a large memory footprint
+     * and it's therefore recommended to emit and consume an Index payload one field
+     * value at a time. To permit streaming consumption of an Index payload, the
+     * `metadata` field must appear at the start of the stream and must only appear
+     * once in the stream. Other field values may appear in any order.
+     * 
+ * + * Protobuf type {@code scip.Index} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder implements + // @@protoc_insertion_point(builder_implements:scip.Index) + scip.Scip.IndexOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return scip.Scip.internal_static_scip_Index_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return scip.Scip.internal_static_scip_Index_fieldAccessorTable + .ensureFieldAccessorsInitialized( + scip.Scip.Index.class, scip.Scip.Index.Builder.class); + } + + // Construct using scip.Scip.Index.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage + .alwaysUseFieldBuilders) { + internalGetMetadataFieldBuilder(); + internalGetDocumentsFieldBuilder(); + internalGetExternalSymbolsFieldBuilder(); + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + metadata_ = null; + if (metadataBuilder_ != null) { + metadataBuilder_.dispose(); + metadataBuilder_ = null; + } + if (documentsBuilder_ == null) { + documents_ = java.util.Collections.emptyList(); + } else { + documents_ = null; + documentsBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000002); + if (externalSymbolsBuilder_ == null) { + externalSymbols_ = java.util.Collections.emptyList(); + } else { + externalSymbols_ = null; + externalSymbolsBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000004); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return scip.Scip.internal_static_scip_Index_descriptor; + } + + @java.lang.Override + public scip.Scip.Index getDefaultInstanceForType() { + return scip.Scip.Index.getDefaultInstance(); + } + + @java.lang.Override + public scip.Scip.Index build() { + scip.Scip.Index result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public scip.Scip.Index buildPartial() { + scip.Scip.Index result = new scip.Scip.Index(this); + buildPartialRepeatedFields(result); + if (bitField0_ != 0) { buildPartial0(result); } + onBuilt(); + return result; + } + + private void buildPartialRepeatedFields(scip.Scip.Index result) { + if (documentsBuilder_ == null) { + if (((bitField0_ & 0x00000002) != 0)) { + documents_ = java.util.Collections.unmodifiableList(documents_); + bitField0_ = (bitField0_ & ~0x00000002); + } + result.documents_ = documents_; + } else { + result.documents_ = documentsBuilder_.build(); + } + if (externalSymbolsBuilder_ == null) { + if (((bitField0_ & 0x00000004) != 0)) { + externalSymbols_ = java.util.Collections.unmodifiableList(externalSymbols_); + bitField0_ = (bitField0_ & ~0x00000004); + } + result.externalSymbols_ = externalSymbols_; + } else { + result.externalSymbols_ = externalSymbolsBuilder_.build(); + } + } + + private void buildPartial0(scip.Scip.Index result) { + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.metadata_ = metadataBuilder_ == null + ? metadata_ + : metadataBuilder_.build(); + to_bitField0_ |= 0x00000001; + } + result.bitField0_ |= to_bitField0_; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof scip.Scip.Index) { + return mergeFrom((scip.Scip.Index)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(scip.Scip.Index other) { + if (other == scip.Scip.Index.getDefaultInstance()) return this; + if (other.hasMetadata()) { + mergeMetadata(other.getMetadata()); + } + if (documentsBuilder_ == null) { + if (!other.documents_.isEmpty()) { + if (documents_.isEmpty()) { + documents_ = other.documents_; + bitField0_ = (bitField0_ & ~0x00000002); + } else { + ensureDocumentsIsMutable(); + documents_.addAll(other.documents_); + } + onChanged(); + } + } else { + if (!other.documents_.isEmpty()) { + if (documentsBuilder_.isEmpty()) { + documentsBuilder_.dispose(); + documentsBuilder_ = null; + documents_ = other.documents_; + bitField0_ = (bitField0_ & ~0x00000002); + documentsBuilder_ = + com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ? + internalGetDocumentsFieldBuilder() : null; + } else { + documentsBuilder_.addAllMessages(other.documents_); + } + } + } + if (externalSymbolsBuilder_ == null) { + if (!other.externalSymbols_.isEmpty()) { + if (externalSymbols_.isEmpty()) { + externalSymbols_ = other.externalSymbols_; + bitField0_ = (bitField0_ & ~0x00000004); + } else { + ensureExternalSymbolsIsMutable(); + externalSymbols_.addAll(other.externalSymbols_); + } + onChanged(); + } + } else { + if (!other.externalSymbols_.isEmpty()) { + if (externalSymbolsBuilder_.isEmpty()) { + externalSymbolsBuilder_.dispose(); + externalSymbolsBuilder_ = null; + externalSymbols_ = other.externalSymbols_; + bitField0_ = (bitField0_ & ~0x00000004); + externalSymbolsBuilder_ = + com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ? + internalGetExternalSymbolsFieldBuilder() : null; + } else { + externalSymbolsBuilder_.addAllMessages(other.externalSymbols_); + } + } + } + this.mergeUnknownFields(other.getUnknownFields()); + 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 { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + input.readMessage( + internalGetMetadataFieldBuilder().getBuilder(), + extensionRegistry); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 18: { + scip.Scip.Document m = + input.readMessage( + scip.Scip.Document.parser(), + extensionRegistry); + if (documentsBuilder_ == null) { + ensureDocumentsIsMutable(); + documents_.add(m); + } else { + documentsBuilder_.addMessage(m); + } + break; + } // case 18 + case 26: { + scip.Scip.SymbolInformation m = + input.readMessage( + scip.Scip.SymbolInformation.parser(), + extensionRegistry); + if (externalSymbolsBuilder_ == null) { + ensureExternalSymbolsIsMutable(); + externalSymbols_.add(m); + } else { + externalSymbolsBuilder_.addMessage(m); + } + break; + } // case 26 + default: { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + private int bitField0_; + + private scip.Scip.Metadata metadata_; + private com.google.protobuf.SingleFieldBuilder< + scip.Scip.Metadata, scip.Scip.Metadata.Builder, scip.Scip.MetadataOrBuilder> metadataBuilder_; + /** + *
+       * Metadata about this index.
+       * 
+ * + * .scip.Metadata metadata = 1 [json_name = "metadata"]; + * @return Whether the metadata field is set. + */ + public boolean hasMetadata() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + *
+       * Metadata about this index.
+       * 
+ * + * .scip.Metadata metadata = 1 [json_name = "metadata"]; + * @return The metadata. + */ + public scip.Scip.Metadata getMetadata() { + if (metadataBuilder_ == null) { + return metadata_ == null ? scip.Scip.Metadata.getDefaultInstance() : metadata_; + } else { + return metadataBuilder_.getMessage(); + } + } + /** + *
+       * Metadata about this index.
+       * 
+ * + * .scip.Metadata metadata = 1 [json_name = "metadata"]; + */ + public Builder setMetadata(scip.Scip.Metadata value) { + if (metadataBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + metadata_ = value; + } else { + metadataBuilder_.setMessage(value); + } + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + /** + *
+       * Metadata about this index.
+       * 
+ * + * .scip.Metadata metadata = 1 [json_name = "metadata"]; + */ + public Builder setMetadata( + scip.Scip.Metadata.Builder builderForValue) { + if (metadataBuilder_ == null) { + metadata_ = builderForValue.build(); + } else { + metadataBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + /** + *
+       * Metadata about this index.
+       * 
+ * + * .scip.Metadata metadata = 1 [json_name = "metadata"]; + */ + public Builder mergeMetadata(scip.Scip.Metadata value) { + if (metadataBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0) && + metadata_ != null && + metadata_ != scip.Scip.Metadata.getDefaultInstance()) { + getMetadataBuilder().mergeFrom(value); + } else { + metadata_ = value; + } + } else { + metadataBuilder_.mergeFrom(value); + } + if (metadata_ != null) { + bitField0_ |= 0x00000001; + onChanged(); + } + return this; + } + /** + *
+       * Metadata about this index.
+       * 
+ * + * .scip.Metadata metadata = 1 [json_name = "metadata"]; + */ + public Builder clearMetadata() { + bitField0_ = (bitField0_ & ~0x00000001); + metadata_ = null; + if (metadataBuilder_ != null) { + metadataBuilder_.dispose(); + metadataBuilder_ = null; + } + onChanged(); + return this; + } + /** + *
+       * Metadata about this index.
+       * 
+ * + * .scip.Metadata metadata = 1 [json_name = "metadata"]; + */ + public scip.Scip.Metadata.Builder getMetadataBuilder() { + bitField0_ |= 0x00000001; + onChanged(); + return internalGetMetadataFieldBuilder().getBuilder(); + } + /** + *
+       * Metadata about this index.
+       * 
+ * + * .scip.Metadata metadata = 1 [json_name = "metadata"]; + */ + public scip.Scip.MetadataOrBuilder getMetadataOrBuilder() { + if (metadataBuilder_ != null) { + return metadataBuilder_.getMessageOrBuilder(); + } else { + return metadata_ == null ? + scip.Scip.Metadata.getDefaultInstance() : metadata_; + } + } + /** + *
+       * Metadata about this index.
+       * 
+ * + * .scip.Metadata metadata = 1 [json_name = "metadata"]; + */ + private com.google.protobuf.SingleFieldBuilder< + scip.Scip.Metadata, scip.Scip.Metadata.Builder, scip.Scip.MetadataOrBuilder> + internalGetMetadataFieldBuilder() { + if (metadataBuilder_ == null) { + metadataBuilder_ = new com.google.protobuf.SingleFieldBuilder< + scip.Scip.Metadata, scip.Scip.Metadata.Builder, scip.Scip.MetadataOrBuilder>( + getMetadata(), + getParentForChildren(), + isClean()); + metadata_ = null; + } + return metadataBuilder_; + } + + private java.util.List documents_ = + java.util.Collections.emptyList(); + private void ensureDocumentsIsMutable() { + if (!((bitField0_ & 0x00000002) != 0)) { + documents_ = new java.util.ArrayList(documents_); + bitField0_ |= 0x00000002; + } + } + + private com.google.protobuf.RepeatedFieldBuilder< + scip.Scip.Document, scip.Scip.Document.Builder, scip.Scip.DocumentOrBuilder> documentsBuilder_; + + /** + *
+       * Documents that belong to this index.
+       * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + public java.util.List getDocumentsList() { + if (documentsBuilder_ == null) { + return java.util.Collections.unmodifiableList(documents_); + } else { + return documentsBuilder_.getMessageList(); + } + } + /** + *
+       * Documents that belong to this index.
+       * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + public int getDocumentsCount() { + if (documentsBuilder_ == null) { + return documents_.size(); + } else { + return documentsBuilder_.getCount(); + } + } + /** + *
+       * Documents that belong to this index.
+       * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + public scip.Scip.Document getDocuments(int index) { + if (documentsBuilder_ == null) { + return documents_.get(index); + } else { + return documentsBuilder_.getMessage(index); + } + } + /** + *
+       * Documents that belong to this index.
+       * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + public Builder setDocuments( + int index, scip.Scip.Document value) { + if (documentsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureDocumentsIsMutable(); + documents_.set(index, value); + onChanged(); + } else { + documentsBuilder_.setMessage(index, value); + } + return this; + } + /** + *
+       * Documents that belong to this index.
+       * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + public Builder setDocuments( + int index, scip.Scip.Document.Builder builderForValue) { + if (documentsBuilder_ == null) { + ensureDocumentsIsMutable(); + documents_.set(index, builderForValue.build()); + onChanged(); + } else { + documentsBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + *
+       * Documents that belong to this index.
+       * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + public Builder addDocuments(scip.Scip.Document value) { + if (documentsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureDocumentsIsMutable(); + documents_.add(value); + onChanged(); + } else { + documentsBuilder_.addMessage(value); + } + return this; + } + /** + *
+       * Documents that belong to this index.
+       * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + public Builder addDocuments( + int index, scip.Scip.Document value) { + if (documentsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureDocumentsIsMutable(); + documents_.add(index, value); + onChanged(); + } else { + documentsBuilder_.addMessage(index, value); + } + return this; + } + /** + *
+       * Documents that belong to this index.
+       * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + public Builder addDocuments( + scip.Scip.Document.Builder builderForValue) { + if (documentsBuilder_ == null) { + ensureDocumentsIsMutable(); + documents_.add(builderForValue.build()); + onChanged(); + } else { + documentsBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + *
+       * Documents that belong to this index.
+       * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + public Builder addDocuments( + int index, scip.Scip.Document.Builder builderForValue) { + if (documentsBuilder_ == null) { + ensureDocumentsIsMutable(); + documents_.add(index, builderForValue.build()); + onChanged(); + } else { + documentsBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + *
+       * Documents that belong to this index.
+       * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + 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; + } + /** + *
+       * Documents that belong to this index.
+       * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + public Builder clearDocuments() { + if (documentsBuilder_ == null) { + documents_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + } else { + documentsBuilder_.clear(); + } + return this; + } + /** + *
+       * Documents that belong to this index.
+       * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + public Builder removeDocuments(int index) { + if (documentsBuilder_ == null) { + ensureDocumentsIsMutable(); + documents_.remove(index); + onChanged(); + } else { + documentsBuilder_.remove(index); + } + return this; + } + /** + *
+       * Documents that belong to this index.
+       * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + public scip.Scip.Document.Builder getDocumentsBuilder( + int index) { + return internalGetDocumentsFieldBuilder().getBuilder(index); + } + /** + *
+       * Documents that belong to this index.
+       * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + public scip.Scip.DocumentOrBuilder getDocumentsOrBuilder( + int index) { + if (documentsBuilder_ == null) { + return documents_.get(index); } else { + return documentsBuilder_.getMessageOrBuilder(index); + } + } + /** + *
+       * Documents that belong to this index.
+       * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + public java.util.List + getDocumentsOrBuilderList() { + if (documentsBuilder_ != null) { + return documentsBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(documents_); + } + } + /** + *
+       * Documents that belong to this index.
+       * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + public scip.Scip.Document.Builder addDocumentsBuilder() { + return internalGetDocumentsFieldBuilder().addBuilder( + scip.Scip.Document.getDefaultInstance()); + } + /** + *
+       * Documents that belong to this index.
+       * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + public scip.Scip.Document.Builder addDocumentsBuilder( + int index) { + return internalGetDocumentsFieldBuilder().addBuilder( + index, scip.Scip.Document.getDefaultInstance()); + } + /** + *
+       * Documents that belong to this index.
+       * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + public java.util.List + getDocumentsBuilderList() { + return internalGetDocumentsFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilder< + scip.Scip.Document, scip.Scip.Document.Builder, scip.Scip.DocumentOrBuilder> + internalGetDocumentsFieldBuilder() { + if (documentsBuilder_ == null) { + documentsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder< + scip.Scip.Document, scip.Scip.Document.Builder, scip.Scip.DocumentOrBuilder>( + documents_, + ((bitField0_ & 0x00000002) != 0), + getParentForChildren(), + isClean()); + documents_ = null; + } + return documentsBuilder_; + } + + private java.util.List externalSymbols_ = + java.util.Collections.emptyList(); + private void ensureExternalSymbolsIsMutable() { + if (!((bitField0_ & 0x00000004) != 0)) { + externalSymbols_ = new java.util.ArrayList(externalSymbols_); + bitField0_ |= 0x00000004; + } + } + + private com.google.protobuf.RepeatedFieldBuilder< + scip.Scip.SymbolInformation, scip.Scip.SymbolInformation.Builder, scip.Scip.SymbolInformationOrBuilder> externalSymbolsBuilder_; + + /** + *
+       * (optional) Symbols that are referenced from this index but are defined in
+       * an external package (a separate `Index` message). Leave this field empty
+       * if you assume the external package will get indexed separately. If the
+       * external package won't get indexed for some reason then you can use this
+       * field to provide hover documentation for those external symbols.
+       * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + public java.util.List getExternalSymbolsList() { + if (externalSymbolsBuilder_ == null) { + return java.util.Collections.unmodifiableList(externalSymbols_); + } else { + return externalSymbolsBuilder_.getMessageList(); + } + } + /** + *
+       * (optional) Symbols that are referenced from this index but are defined in
+       * an external package (a separate `Index` message). Leave this field empty
+       * if you assume the external package will get indexed separately. If the
+       * external package won't get indexed for some reason then you can use this
+       * field to provide hover documentation for those external symbols.
+       * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + public int getExternalSymbolsCount() { + if (externalSymbolsBuilder_ == null) { + return externalSymbols_.size(); + } else { + return externalSymbolsBuilder_.getCount(); + } + } + /** + *
+       * (optional) Symbols that are referenced from this index but are defined in
+       * an external package (a separate `Index` message). Leave this field empty
+       * if you assume the external package will get indexed separately. If the
+       * external package won't get indexed for some reason then you can use this
+       * field to provide hover documentation for those external symbols.
+       * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + public scip.Scip.SymbolInformation getExternalSymbols(int index) { + if (externalSymbolsBuilder_ == null) { + return externalSymbols_.get(index); + } else { + return externalSymbolsBuilder_.getMessage(index); + } + } + /** + *
+       * (optional) Symbols that are referenced from this index but are defined in
+       * an external package (a separate `Index` message). Leave this field empty
+       * if you assume the external package will get indexed separately. If the
+       * external package won't get indexed for some reason then you can use this
+       * field to provide hover documentation for those external symbols.
+       * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + public Builder setExternalSymbols( + int index, scip.Scip.SymbolInformation value) { + if (externalSymbolsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureExternalSymbolsIsMutable(); + externalSymbols_.set(index, value); + onChanged(); + } else { + externalSymbolsBuilder_.setMessage(index, value); + } + return this; + } + /** + *
+       * (optional) Symbols that are referenced from this index but are defined in
+       * an external package (a separate `Index` message). Leave this field empty
+       * if you assume the external package will get indexed separately. If the
+       * external package won't get indexed for some reason then you can use this
+       * field to provide hover documentation for those external symbols.
+       * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + public Builder setExternalSymbols( + int index, scip.Scip.SymbolInformation.Builder builderForValue) { + if (externalSymbolsBuilder_ == null) { + ensureExternalSymbolsIsMutable(); + externalSymbols_.set(index, builderForValue.build()); + onChanged(); + } else { + externalSymbolsBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + *
+       * (optional) Symbols that are referenced from this index but are defined in
+       * an external package (a separate `Index` message). Leave this field empty
+       * if you assume the external package will get indexed separately. If the
+       * external package won't get indexed for some reason then you can use this
+       * field to provide hover documentation for those external symbols.
+       * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + public Builder addExternalSymbols(scip.Scip.SymbolInformation value) { + if (externalSymbolsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureExternalSymbolsIsMutable(); + externalSymbols_.add(value); + onChanged(); + } else { + externalSymbolsBuilder_.addMessage(value); + } + return this; + } + /** + *
+       * (optional) Symbols that are referenced from this index but are defined in
+       * an external package (a separate `Index` message). Leave this field empty
+       * if you assume the external package will get indexed separately. If the
+       * external package won't get indexed for some reason then you can use this
+       * field to provide hover documentation for those external symbols.
+       * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + public Builder addExternalSymbols( + int index, scip.Scip.SymbolInformation value) { + if (externalSymbolsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureExternalSymbolsIsMutable(); + externalSymbols_.add(index, value); + onChanged(); + } else { + externalSymbolsBuilder_.addMessage(index, value); + } + return this; + } + /** + *
+       * (optional) Symbols that are referenced from this index but are defined in
+       * an external package (a separate `Index` message). Leave this field empty
+       * if you assume the external package will get indexed separately. If the
+       * external package won't get indexed for some reason then you can use this
+       * field to provide hover documentation for those external symbols.
+       * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + public Builder addExternalSymbols( + scip.Scip.SymbolInformation.Builder builderForValue) { + if (externalSymbolsBuilder_ == null) { + ensureExternalSymbolsIsMutable(); + externalSymbols_.add(builderForValue.build()); + onChanged(); + } else { + externalSymbolsBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + *
+       * (optional) Symbols that are referenced from this index but are defined in
+       * an external package (a separate `Index` message). Leave this field empty
+       * if you assume the external package will get indexed separately. If the
+       * external package won't get indexed for some reason then you can use this
+       * field to provide hover documentation for those external symbols.
+       * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + public Builder addExternalSymbols( + int index, scip.Scip.SymbolInformation.Builder builderForValue) { + if (externalSymbolsBuilder_ == null) { + ensureExternalSymbolsIsMutable(); + externalSymbols_.add(index, builderForValue.build()); + onChanged(); + } else { + externalSymbolsBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + *
+       * (optional) Symbols that are referenced from this index but are defined in
+       * an external package (a separate `Index` message). Leave this field empty
+       * if you assume the external package will get indexed separately. If the
+       * external package won't get indexed for some reason then you can use this
+       * field to provide hover documentation for those external symbols.
+       * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + public Builder addAllExternalSymbols( + java.lang.Iterable values) { + if (externalSymbolsBuilder_ == null) { + ensureExternalSymbolsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, externalSymbols_); + onChanged(); + } else { + externalSymbolsBuilder_.addAllMessages(values); + } + return this; + } + /** + *
+       * (optional) Symbols that are referenced from this index but are defined in
+       * an external package (a separate `Index` message). Leave this field empty
+       * if you assume the external package will get indexed separately. If the
+       * external package won't get indexed for some reason then you can use this
+       * field to provide hover documentation for those external symbols.
+       * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + public Builder clearExternalSymbols() { + if (externalSymbolsBuilder_ == null) { + externalSymbols_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000004); + onChanged(); + } else { + externalSymbolsBuilder_.clear(); + } + return this; + } + /** + *
+       * (optional) Symbols that are referenced from this index but are defined in
+       * an external package (a separate `Index` message). Leave this field empty
+       * if you assume the external package will get indexed separately. If the
+       * external package won't get indexed for some reason then you can use this
+       * field to provide hover documentation for those external symbols.
+       * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + public Builder removeExternalSymbols(int index) { + if (externalSymbolsBuilder_ == null) { + ensureExternalSymbolsIsMutable(); + externalSymbols_.remove(index); + onChanged(); + } else { + externalSymbolsBuilder_.remove(index); + } + return this; + } + /** + *
+       * (optional) Symbols that are referenced from this index but are defined in
+       * an external package (a separate `Index` message). Leave this field empty
+       * if you assume the external package will get indexed separately. If the
+       * external package won't get indexed for some reason then you can use this
+       * field to provide hover documentation for those external symbols.
+       * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + public scip.Scip.SymbolInformation.Builder getExternalSymbolsBuilder( + int index) { + return internalGetExternalSymbolsFieldBuilder().getBuilder(index); + } + /** + *
+       * (optional) Symbols that are referenced from this index but are defined in
+       * an external package (a separate `Index` message). Leave this field empty
+       * if you assume the external package will get indexed separately. If the
+       * external package won't get indexed for some reason then you can use this
+       * field to provide hover documentation for those external symbols.
+       * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + public scip.Scip.SymbolInformationOrBuilder getExternalSymbolsOrBuilder( + int index) { + if (externalSymbolsBuilder_ == null) { + return externalSymbols_.get(index); } else { + return externalSymbolsBuilder_.getMessageOrBuilder(index); + } + } + /** + *
+       * (optional) Symbols that are referenced from this index but are defined in
+       * an external package (a separate `Index` message). Leave this field empty
+       * if you assume the external package will get indexed separately. If the
+       * external package won't get indexed for some reason then you can use this
+       * field to provide hover documentation for those external symbols.
+       * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + public java.util.List + getExternalSymbolsOrBuilderList() { + if (externalSymbolsBuilder_ != null) { + return externalSymbolsBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(externalSymbols_); + } + } + /** + *
+       * (optional) Symbols that are referenced from this index but are defined in
+       * an external package (a separate `Index` message). Leave this field empty
+       * if you assume the external package will get indexed separately. If the
+       * external package won't get indexed for some reason then you can use this
+       * field to provide hover documentation for those external symbols.
+       * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + public scip.Scip.SymbolInformation.Builder addExternalSymbolsBuilder() { + return internalGetExternalSymbolsFieldBuilder().addBuilder( + scip.Scip.SymbolInformation.getDefaultInstance()); + } + /** + *
+       * (optional) Symbols that are referenced from this index but are defined in
+       * an external package (a separate `Index` message). Leave this field empty
+       * if you assume the external package will get indexed separately. If the
+       * external package won't get indexed for some reason then you can use this
+       * field to provide hover documentation for those external symbols.
+       * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + public scip.Scip.SymbolInformation.Builder addExternalSymbolsBuilder( + int index) { + return internalGetExternalSymbolsFieldBuilder().addBuilder( + index, scip.Scip.SymbolInformation.getDefaultInstance()); + } + /** + *
+       * (optional) Symbols that are referenced from this index but are defined in
+       * an external package (a separate `Index` message). Leave this field empty
+       * if you assume the external package will get indexed separately. If the
+       * external package won't get indexed for some reason then you can use this
+       * field to provide hover documentation for those external symbols.
+       * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + public java.util.List + getExternalSymbolsBuilderList() { + return internalGetExternalSymbolsFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilder< + scip.Scip.SymbolInformation, scip.Scip.SymbolInformation.Builder, scip.Scip.SymbolInformationOrBuilder> + internalGetExternalSymbolsFieldBuilder() { + if (externalSymbolsBuilder_ == null) { + externalSymbolsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder< + scip.Scip.SymbolInformation, scip.Scip.SymbolInformation.Builder, scip.Scip.SymbolInformationOrBuilder>( + externalSymbols_, + ((bitField0_ & 0x00000004) != 0), + getParentForChildren(), + isClean()); + externalSymbols_ = null; + } + return externalSymbolsBuilder_; + } + + // @@protoc_insertion_point(builder_scope:scip.Index) + } + + // @@protoc_insertion_point(class_scope:scip.Index) + private static final scip.Scip.Index DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new scip.Scip.Index(); + } + + public static scip.Scip.Index getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public Index parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public scip.Scip.Index getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface MetadataOrBuilder extends + // @@protoc_insertion_point(interface_extends:scip.Metadata) + com.google.protobuf.MessageOrBuilder { + + /** + *
+     * Which version of this protocol was used to generate this index?
+     * 
+ * + * .scip.ProtocolVersion version = 1 [json_name = "version"]; + * @return The enum numeric value on the wire for version. + */ + int getVersionValue(); + /** + *
+     * Which version of this protocol was used to generate this index?
+     * 
+ * + * .scip.ProtocolVersion version = 1 [json_name = "version"]; + * @return The version. + */ + scip.Scip.ProtocolVersion getVersion(); + + /** + *
+     * Information about the tool that produced this index.
+     * 
+ * + * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; + * @return Whether the toolInfo field is set. + */ + boolean hasToolInfo(); + /** + *
+     * Information about the tool that produced this index.
+     * 
+ * + * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; + * @return The toolInfo. + */ + scip.Scip.ToolInfo getToolInfo(); + /** + *
+     * Information about the tool that produced this index.
+     * 
+ * + * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; + */ + scip.Scip.ToolInfoOrBuilder getToolInfoOrBuilder(); + + /** + *
+     * URI-encoded absolute path to the root directory of this index. All
+     * documents in this index must appear in a subdirectory of this root
+     * directory.
+     * 
+ * + * string project_root = 3 [json_name = "projectRoot"]; + * @return The projectRoot. + */ + java.lang.String getProjectRoot(); + /** + *
+     * URI-encoded absolute path to the root directory of this index. All
+     * documents in this index must appear in a subdirectory of this root
+     * directory.
+     * 
+ * + * string project_root = 3 [json_name = "projectRoot"]; + * @return The bytes for projectRoot. + */ + com.google.protobuf.ByteString + getProjectRootBytes(); + + /** + *
+     * Text encoding of the source files on disk that are referenced from
+     * `Document.relative_path`. This value is unrelated to the `Document.text`
+     * field, which is a Protobuf string and hence must be UTF-8 encoded.
+     * 
+ * + * .scip.TextEncoding text_document_encoding = 4 [json_name = "textDocumentEncoding"]; + * @return The enum numeric value on the wire for textDocumentEncoding. + */ + int getTextDocumentEncodingValue(); + /** + *
+     * Text encoding of the source files on disk that are referenced from
+     * `Document.relative_path`. This value is unrelated to the `Document.text`
+     * field, which is a Protobuf string and hence must be UTF-8 encoded.
+     * 
+ * + * .scip.TextEncoding text_document_encoding = 4 [json_name = "textDocumentEncoding"]; + * @return The textDocumentEncoding. + */ + scip.Scip.TextEncoding getTextDocumentEncoding(); + } + /** + * Protobuf type {@code scip.Metadata} + */ + public static final class Metadata extends + com.google.protobuf.GeneratedMessage implements + // @@protoc_insertion_point(message_implements:scip.Metadata) + MetadataOrBuilder { + private static final long serialVersionUID = 0L; + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 32, + /* patch= */ 1, + /* suffix= */ "", + Metadata.class.getName()); + } + // Use Metadata.newBuilder() to construct. + private Metadata(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + private Metadata() { + version_ = 0; + projectRoot_ = ""; + textDocumentEncoding_ = 0; + } + + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return scip.Scip.internal_static_scip_Metadata_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return scip.Scip.internal_static_scip_Metadata_fieldAccessorTable + .ensureFieldAccessorsInitialized( + scip.Scip.Metadata.class, scip.Scip.Metadata.Builder.class); + } + + private int bitField0_; + public static final int VERSION_FIELD_NUMBER = 1; + private int version_ = 0; + /** + *
+     * Which version of this protocol was used to generate this index?
+     * 
+ * + * .scip.ProtocolVersion version = 1 [json_name = "version"]; + * @return The enum numeric value on the wire for version. + */ + @java.lang.Override public int getVersionValue() { + return version_; + } + /** + *
+     * Which version of this protocol was used to generate this index?
+     * 
+ * + * .scip.ProtocolVersion version = 1 [json_name = "version"]; + * @return The version. + */ + @java.lang.Override public scip.Scip.ProtocolVersion getVersion() { + scip.Scip.ProtocolVersion result = scip.Scip.ProtocolVersion.forNumber(version_); + return result == null ? scip.Scip.ProtocolVersion.UNRECOGNIZED : result; + } + + public static final int TOOL_INFO_FIELD_NUMBER = 2; + private scip.Scip.ToolInfo toolInfo_; + /** + *
+     * Information about the tool that produced this index.
+     * 
+ * + * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; + * @return Whether the toolInfo field is set. + */ + @java.lang.Override + public boolean hasToolInfo() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + *
+     * Information about the tool that produced this index.
+     * 
+ * + * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; + * @return The toolInfo. + */ + @java.lang.Override + public scip.Scip.ToolInfo getToolInfo() { + return toolInfo_ == null ? scip.Scip.ToolInfo.getDefaultInstance() : toolInfo_; + } + /** + *
+     * Information about the tool that produced this index.
+     * 
+ * + * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; + */ + @java.lang.Override + public scip.Scip.ToolInfoOrBuilder getToolInfoOrBuilder() { + return toolInfo_ == null ? scip.Scip.ToolInfo.getDefaultInstance() : toolInfo_; + } + + public static final int PROJECT_ROOT_FIELD_NUMBER = 3; + @SuppressWarnings("serial") + private volatile java.lang.Object projectRoot_ = ""; + /** + *
+     * URI-encoded absolute path to the root directory of this index. All
+     * documents in this index must appear in a subdirectory of this root
+     * directory.
+     * 
+ * + * string project_root = 3 [json_name = "projectRoot"]; + * @return The projectRoot. + */ + @java.lang.Override + public java.lang.String getProjectRoot() { + java.lang.Object ref = projectRoot_; + 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(); + projectRoot_ = s; + return s; + } + } + /** + *
+     * URI-encoded absolute path to the root directory of this index. All
+     * documents in this index must appear in a subdirectory of this root
+     * directory.
+     * 
+ * + * string project_root = 3 [json_name = "projectRoot"]; + * @return The bytes for projectRoot. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getProjectRootBytes() { + java.lang.Object ref = projectRoot_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + projectRoot_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int TEXT_DOCUMENT_ENCODING_FIELD_NUMBER = 4; + private int textDocumentEncoding_ = 0; + /** + *
+     * Text encoding of the source files on disk that are referenced from
+     * `Document.relative_path`. This value is unrelated to the `Document.text`
+     * field, which is a Protobuf string and hence must be UTF-8 encoded.
+     * 
+ * + * .scip.TextEncoding text_document_encoding = 4 [json_name = "textDocumentEncoding"]; + * @return The enum numeric value on the wire for textDocumentEncoding. + */ + @java.lang.Override public int getTextDocumentEncodingValue() { + return textDocumentEncoding_; + } + /** + *
+     * Text encoding of the source files on disk that are referenced from
+     * `Document.relative_path`. This value is unrelated to the `Document.text`
+     * field, which is a Protobuf string and hence must be UTF-8 encoded.
+     * 
+ * + * .scip.TextEncoding text_document_encoding = 4 [json_name = "textDocumentEncoding"]; + * @return The textDocumentEncoding. + */ + @java.lang.Override public scip.Scip.TextEncoding getTextDocumentEncoding() { + scip.Scip.TextEncoding result = scip.Scip.TextEncoding.forNumber(textDocumentEncoding_); + return result == null ? scip.Scip.TextEncoding.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 (version_ != scip.Scip.ProtocolVersion.UnspecifiedProtocolVersion.getNumber()) { + output.writeEnum(1, version_); + } + if (((bitField0_ & 0x00000001) != 0)) { + output.writeMessage(2, getToolInfo()); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(projectRoot_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 3, projectRoot_); + } + if (textDocumentEncoding_ != scip.Scip.TextEncoding.UnspecifiedTextEncoding.getNumber()) { + output.writeEnum(4, textDocumentEncoding_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (version_ != scip.Scip.ProtocolVersion.UnspecifiedProtocolVersion.getNumber()) { + size += com.google.protobuf.CodedOutputStream + .computeEnumSize(1, version_); + } + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(2, getToolInfo()); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(projectRoot_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(3, projectRoot_); + } + if (textDocumentEncoding_ != scip.Scip.TextEncoding.UnspecifiedTextEncoding.getNumber()) { + size += com.google.protobuf.CodedOutputStream + .computeEnumSize(4, textDocumentEncoding_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof scip.Scip.Metadata)) { + return super.equals(obj); + } + scip.Scip.Metadata other = (scip.Scip.Metadata) obj; + + if (version_ != other.version_) return false; + if (hasToolInfo() != other.hasToolInfo()) return false; + if (hasToolInfo()) { + if (!getToolInfo() + .equals(other.getToolInfo())) return false; + } + if (!getProjectRoot() + .equals(other.getProjectRoot())) return false; + if (textDocumentEncoding_ != other.textDocumentEncoding_) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) 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) + VERSION_FIELD_NUMBER; + hash = (53 * hash) + version_; + if (hasToolInfo()) { + hash = (37 * hash) + TOOL_INFO_FIELD_NUMBER; + hash = (53 * hash) + getToolInfo().hashCode(); + } + hash = (37 * hash) + PROJECT_ROOT_FIELD_NUMBER; + hash = (53 * hash) + getProjectRoot().hashCode(); + hash = (37 * hash) + TEXT_DOCUMENT_ENCODING_FIELD_NUMBER; + hash = (53 * hash) + textDocumentEncoding_; + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static scip.Scip.Metadata parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static scip.Scip.Metadata parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static scip.Scip.Metadata parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static scip.Scip.Metadata parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static scip.Scip.Metadata parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static scip.Scip.Metadata parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static scip.Scip.Metadata parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static scip.Scip.Metadata parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public static scip.Scip.Metadata parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input); + } + + public static scip.Scip.Metadata parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static scip.Scip.Metadata parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static scip.Scip.Metadata parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(scip.Scip.Metadata 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code scip.Metadata} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder implements + // @@protoc_insertion_point(builder_implements:scip.Metadata) + scip.Scip.MetadataOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return scip.Scip.internal_static_scip_Metadata_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return scip.Scip.internal_static_scip_Metadata_fieldAccessorTable + .ensureFieldAccessorsInitialized( + scip.Scip.Metadata.class, scip.Scip.Metadata.Builder.class); + } + + // Construct using scip.Scip.Metadata.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage + .alwaysUseFieldBuilders) { + internalGetToolInfoFieldBuilder(); + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + version_ = 0; + toolInfo_ = null; + if (toolInfoBuilder_ != null) { + toolInfoBuilder_.dispose(); + toolInfoBuilder_ = null; + } + projectRoot_ = ""; + textDocumentEncoding_ = 0; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return scip.Scip.internal_static_scip_Metadata_descriptor; + } + + @java.lang.Override + public scip.Scip.Metadata getDefaultInstanceForType() { + return scip.Scip.Metadata.getDefaultInstance(); + } + + @java.lang.Override + public scip.Scip.Metadata build() { + scip.Scip.Metadata result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public scip.Scip.Metadata buildPartial() { + scip.Scip.Metadata result = new scip.Scip.Metadata(this); + if (bitField0_ != 0) { buildPartial0(result); } + onBuilt(); + return result; + } + + private void buildPartial0(scip.Scip.Metadata result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.version_ = version_; + } + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000002) != 0)) { + result.toolInfo_ = toolInfoBuilder_ == null + ? toolInfo_ + : toolInfoBuilder_.build(); + to_bitField0_ |= 0x00000001; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.projectRoot_ = projectRoot_; + } + if (((from_bitField0_ & 0x00000008) != 0)) { + result.textDocumentEncoding_ = textDocumentEncoding_; + } + result.bitField0_ |= to_bitField0_; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof scip.Scip.Metadata) { + return mergeFrom((scip.Scip.Metadata)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(scip.Scip.Metadata other) { + if (other == scip.Scip.Metadata.getDefaultInstance()) return this; + if (other.version_ != 0) { + setVersionValue(other.getVersionValue()); + } + if (other.hasToolInfo()) { + mergeToolInfo(other.getToolInfo()); + } + if (!other.getProjectRoot().isEmpty()) { + projectRoot_ = other.projectRoot_; + bitField0_ |= 0x00000004; + onChanged(); + } + if (other.textDocumentEncoding_ != 0) { + setTextDocumentEncodingValue(other.getTextDocumentEncodingValue()); + } + this.mergeUnknownFields(other.getUnknownFields()); + 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 { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: { + version_ = input.readEnum(); + bitField0_ |= 0x00000001; + break; + } // case 8 + case 18: { + input.readMessage( + internalGetToolInfoFieldBuilder().getBuilder(), + extensionRegistry); + bitField0_ |= 0x00000002; + break; + } // case 18 + case 26: { + projectRoot_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000004; + break; + } // case 26 + case 32: { + textDocumentEncoding_ = input.readEnum(); + bitField0_ |= 0x00000008; + break; + } // case 32 + default: { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + private int bitField0_; + + private int version_ = 0; + /** + *
+       * Which version of this protocol was used to generate this index?
+       * 
+ * + * .scip.ProtocolVersion version = 1 [json_name = "version"]; + * @return The enum numeric value on the wire for version. + */ + @java.lang.Override public int getVersionValue() { + return version_; + } + /** + *
+       * Which version of this protocol was used to generate this index?
+       * 
+ * + * .scip.ProtocolVersion version = 1 [json_name = "version"]; + * @param value The enum numeric value on the wire for version to set. + * @return This builder for chaining. + */ + public Builder setVersionValue(int value) { + version_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + /** + *
+       * Which version of this protocol was used to generate this index?
+       * 
+ * + * .scip.ProtocolVersion version = 1 [json_name = "version"]; + * @return The version. + */ + @java.lang.Override + public scip.Scip.ProtocolVersion getVersion() { + scip.Scip.ProtocolVersion result = scip.Scip.ProtocolVersion.forNumber(version_); + return result == null ? scip.Scip.ProtocolVersion.UNRECOGNIZED : result; + } + /** + *
+       * Which version of this protocol was used to generate this index?
+       * 
+ * + * .scip.ProtocolVersion version = 1 [json_name = "version"]; + * @param value The version to set. + * @return This builder for chaining. + */ + public Builder setVersion(scip.Scip.ProtocolVersion value) { + if (value == null) { throw new NullPointerException(); } + bitField0_ |= 0x00000001; + version_ = value.getNumber(); + onChanged(); + return this; + } + /** + *
+       * Which version of this protocol was used to generate this index?
+       * 
+ * + * .scip.ProtocolVersion version = 1 [json_name = "version"]; + * @return This builder for chaining. + */ + public Builder clearVersion() { + bitField0_ = (bitField0_ & ~0x00000001); + version_ = 0; + onChanged(); + return this; + } + + private scip.Scip.ToolInfo toolInfo_; + private com.google.protobuf.SingleFieldBuilder< + scip.Scip.ToolInfo, scip.Scip.ToolInfo.Builder, scip.Scip.ToolInfoOrBuilder> toolInfoBuilder_; + /** + *
+       * Information about the tool that produced this index.
+       * 
+ * + * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; + * @return Whether the toolInfo field is set. + */ + public boolean hasToolInfo() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + *
+       * Information about the tool that produced this index.
+       * 
+ * + * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; + * @return The toolInfo. + */ + public scip.Scip.ToolInfo getToolInfo() { + if (toolInfoBuilder_ == null) { + return toolInfo_ == null ? scip.Scip.ToolInfo.getDefaultInstance() : toolInfo_; + } else { + return toolInfoBuilder_.getMessage(); + } + } + /** + *
+       * Information about the tool that produced this index.
+       * 
+ * + * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; + */ + public Builder setToolInfo(scip.Scip.ToolInfo value) { + if (toolInfoBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + toolInfo_ = value; + } else { + toolInfoBuilder_.setMessage(value); + } + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + /** + *
+       * Information about the tool that produced this index.
+       * 
+ * + * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; + */ + public Builder setToolInfo( + scip.Scip.ToolInfo.Builder builderForValue) { + if (toolInfoBuilder_ == null) { + toolInfo_ = builderForValue.build(); + } else { + toolInfoBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + /** + *
+       * Information about the tool that produced this index.
+       * 
+ * + * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; + */ + public Builder mergeToolInfo(scip.Scip.ToolInfo value) { + if (toolInfoBuilder_ == null) { + if (((bitField0_ & 0x00000002) != 0) && + toolInfo_ != null && + toolInfo_ != scip.Scip.ToolInfo.getDefaultInstance()) { + getToolInfoBuilder().mergeFrom(value); + } else { + toolInfo_ = value; + } + } else { + toolInfoBuilder_.mergeFrom(value); + } + if (toolInfo_ != null) { + bitField0_ |= 0x00000002; + onChanged(); + } + return this; + } + /** + *
+       * Information about the tool that produced this index.
+       * 
+ * + * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; + */ + public Builder clearToolInfo() { + bitField0_ = (bitField0_ & ~0x00000002); + toolInfo_ = null; + if (toolInfoBuilder_ != null) { + toolInfoBuilder_.dispose(); + toolInfoBuilder_ = null; + } + onChanged(); + return this; + } + /** + *
+       * Information about the tool that produced this index.
+       * 
+ * + * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; + */ + public scip.Scip.ToolInfo.Builder getToolInfoBuilder() { + bitField0_ |= 0x00000002; + onChanged(); + return internalGetToolInfoFieldBuilder().getBuilder(); + } + /** + *
+       * Information about the tool that produced this index.
+       * 
+ * + * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; + */ + public scip.Scip.ToolInfoOrBuilder getToolInfoOrBuilder() { + if (toolInfoBuilder_ != null) { + return toolInfoBuilder_.getMessageOrBuilder(); + } else { + return toolInfo_ == null ? + scip.Scip.ToolInfo.getDefaultInstance() : toolInfo_; + } + } + /** + *
+       * Information about the tool that produced this index.
+       * 
+ * + * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; + */ + private com.google.protobuf.SingleFieldBuilder< + scip.Scip.ToolInfo, scip.Scip.ToolInfo.Builder, scip.Scip.ToolInfoOrBuilder> + internalGetToolInfoFieldBuilder() { + if (toolInfoBuilder_ == null) { + toolInfoBuilder_ = new com.google.protobuf.SingleFieldBuilder< + scip.Scip.ToolInfo, scip.Scip.ToolInfo.Builder, scip.Scip.ToolInfoOrBuilder>( + getToolInfo(), + getParentForChildren(), + isClean()); + toolInfo_ = null; + } + return toolInfoBuilder_; + } + + private java.lang.Object projectRoot_ = ""; + /** + *
+       * URI-encoded absolute path to the root directory of this index. All
+       * documents in this index must appear in a subdirectory of this root
+       * directory.
+       * 
+ * + * string project_root = 3 [json_name = "projectRoot"]; + * @return The projectRoot. + */ + public java.lang.String getProjectRoot() { + java.lang.Object ref = projectRoot_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + projectRoot_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + *
+       * URI-encoded absolute path to the root directory of this index. All
+       * documents in this index must appear in a subdirectory of this root
+       * directory.
+       * 
+ * + * string project_root = 3 [json_name = "projectRoot"]; + * @return The bytes for projectRoot. + */ + public com.google.protobuf.ByteString + getProjectRootBytes() { + java.lang.Object ref = projectRoot_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + projectRoot_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + *
+       * URI-encoded absolute path to the root directory of this index. All
+       * documents in this index must appear in a subdirectory of this root
+       * directory.
+       * 
+ * + * string project_root = 3 [json_name = "projectRoot"]; + * @param value The projectRoot to set. + * @return This builder for chaining. + */ + public Builder setProjectRoot( + java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + projectRoot_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + /** + *
+       * URI-encoded absolute path to the root directory of this index. All
+       * documents in this index must appear in a subdirectory of this root
+       * directory.
+       * 
+ * + * string project_root = 3 [json_name = "projectRoot"]; + * @return This builder for chaining. + */ + public Builder clearProjectRoot() { + projectRoot_ = getDefaultInstance().getProjectRoot(); + bitField0_ = (bitField0_ & ~0x00000004); + onChanged(); + return this; + } + /** + *
+       * URI-encoded absolute path to the root directory of this index. All
+       * documents in this index must appear in a subdirectory of this root
+       * directory.
+       * 
+ * + * string project_root = 3 [json_name = "projectRoot"]; + * @param value The bytes for projectRoot to set. + * @return This builder for chaining. + */ + public Builder setProjectRootBytes( + com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + checkByteStringIsUtf8(value); + projectRoot_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + private int textDocumentEncoding_ = 0; + /** + *
+       * Text encoding of the source files on disk that are referenced from
+       * `Document.relative_path`. This value is unrelated to the `Document.text`
+       * field, which is a Protobuf string and hence must be UTF-8 encoded.
+       * 
+ * + * .scip.TextEncoding text_document_encoding = 4 [json_name = "textDocumentEncoding"]; + * @return The enum numeric value on the wire for textDocumentEncoding. + */ + @java.lang.Override public int getTextDocumentEncodingValue() { + return textDocumentEncoding_; + } + /** + *
+       * Text encoding of the source files on disk that are referenced from
+       * `Document.relative_path`. This value is unrelated to the `Document.text`
+       * field, which is a Protobuf string and hence must be UTF-8 encoded.
+       * 
+ * + * .scip.TextEncoding text_document_encoding = 4 [json_name = "textDocumentEncoding"]; + * @param value The enum numeric value on the wire for textDocumentEncoding to set. + * @return This builder for chaining. + */ + public Builder setTextDocumentEncodingValue(int value) { + textDocumentEncoding_ = value; + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + /** + *
+       * Text encoding of the source files on disk that are referenced from
+       * `Document.relative_path`. This value is unrelated to the `Document.text`
+       * field, which is a Protobuf string and hence must be UTF-8 encoded.
+       * 
+ * + * .scip.TextEncoding text_document_encoding = 4 [json_name = "textDocumentEncoding"]; + * @return The textDocumentEncoding. + */ + @java.lang.Override + public scip.Scip.TextEncoding getTextDocumentEncoding() { + scip.Scip.TextEncoding result = scip.Scip.TextEncoding.forNumber(textDocumentEncoding_); + return result == null ? scip.Scip.TextEncoding.UNRECOGNIZED : result; + } + /** + *
+       * Text encoding of the source files on disk that are referenced from
+       * `Document.relative_path`. This value is unrelated to the `Document.text`
+       * field, which is a Protobuf string and hence must be UTF-8 encoded.
+       * 
+ * + * .scip.TextEncoding text_document_encoding = 4 [json_name = "textDocumentEncoding"]; + * @param value The textDocumentEncoding to set. + * @return This builder for chaining. + */ + public Builder setTextDocumentEncoding(scip.Scip.TextEncoding value) { + if (value == null) { throw new NullPointerException(); } + bitField0_ |= 0x00000008; + textDocumentEncoding_ = value.getNumber(); + onChanged(); + return this; + } + /** + *
+       * Text encoding of the source files on disk that are referenced from
+       * `Document.relative_path`. This value is unrelated to the `Document.text`
+       * field, which is a Protobuf string and hence must be UTF-8 encoded.
+       * 
+ * + * .scip.TextEncoding text_document_encoding = 4 [json_name = "textDocumentEncoding"]; + * @return This builder for chaining. + */ + public Builder clearTextDocumentEncoding() { + bitField0_ = (bitField0_ & ~0x00000008); + textDocumentEncoding_ = 0; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:scip.Metadata) + } + + // @@protoc_insertion_point(class_scope:scip.Metadata) + private static final scip.Scip.Metadata DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new scip.Scip.Metadata(); + } + + public static scip.Scip.Metadata getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public Metadata parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public scip.Scip.Metadata getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface ToolInfoOrBuilder extends + // @@protoc_insertion_point(interface_extends:scip.ToolInfo) + com.google.protobuf.MessageOrBuilder { + + /** + *
+     * Name of the indexer that produced this index.
+     * 
+ * + * string name = 1 [json_name = "name"]; + * @return The name. + */ + java.lang.String getName(); + /** + *
+     * Name of the indexer that produced this index.
+     * 
+ * + * string name = 1 [json_name = "name"]; + * @return The bytes for name. + */ + com.google.protobuf.ByteString + getNameBytes(); + + /** + *
+     * Version of the indexer that produced this index.
+     * 
+ * + * string version = 2 [json_name = "version"]; + * @return The version. + */ + java.lang.String getVersion(); + /** + *
+     * Version of the indexer that produced this index.
+     * 
+ * + * string version = 2 [json_name = "version"]; + * @return The bytes for version. + */ + com.google.protobuf.ByteString + getVersionBytes(); + + /** + *
+     * Command-line arguments that were used to invoke this indexer.
+     * 
+ * + * repeated string arguments = 3 [json_name = "arguments"]; + * @return A list containing the arguments. + */ + java.util.List + getArgumentsList(); + /** + *
+     * Command-line arguments that were used to invoke this indexer.
+     * 
+ * + * repeated string arguments = 3 [json_name = "arguments"]; + * @return The count of arguments. + */ + int getArgumentsCount(); + /** + *
+     * Command-line arguments that were used to invoke this indexer.
+     * 
+ * + * repeated string arguments = 3 [json_name = "arguments"]; + * @param index The index of the element to return. + * @return The arguments at the given index. + */ + java.lang.String getArguments(int index); + /** + *
+     * Command-line arguments that were used to invoke this indexer.
+     * 
+ * + * repeated string arguments = 3 [json_name = "arguments"]; + * @param index The index of the value to return. + * @return The bytes of the arguments at the given index. + */ + com.google.protobuf.ByteString + getArgumentsBytes(int index); + } + /** + * Protobuf type {@code scip.ToolInfo} + */ + public static final class ToolInfo extends + com.google.protobuf.GeneratedMessage implements + // @@protoc_insertion_point(message_implements:scip.ToolInfo) + ToolInfoOrBuilder { + private static final long serialVersionUID = 0L; + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 32, + /* patch= */ 1, + /* suffix= */ "", + ToolInfo.class.getName()); + } + // Use ToolInfo.newBuilder() to construct. + private ToolInfo(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + private ToolInfo() { + name_ = ""; + version_ = ""; + arguments_ = + com.google.protobuf.LazyStringArrayList.emptyList(); + } + + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return scip.Scip.internal_static_scip_ToolInfo_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return scip.Scip.internal_static_scip_ToolInfo_fieldAccessorTable + .ensureFieldAccessorsInitialized( + scip.Scip.ToolInfo.class, scip.Scip.ToolInfo.Builder.class); + } + + public static final int NAME_FIELD_NUMBER = 1; + @SuppressWarnings("serial") + private volatile java.lang.Object name_ = ""; + /** + *
+     * Name of the indexer that produced this index.
+     * 
+ * + * string name = 1 [json_name = "name"]; + * @return The name. + */ + @java.lang.Override + public java.lang.String getName() { + java.lang.Object ref = name_; + 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(); + name_ = s; + return s; + } + } + /** + *
+     * Name of the indexer that produced this index.
+     * 
+ * + * string name = 1 [json_name = "name"]; + * @return The bytes for name. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int VERSION_FIELD_NUMBER = 2; + @SuppressWarnings("serial") + private volatile java.lang.Object version_ = ""; + /** + *
+     * Version of the indexer that produced this index.
+     * 
+ * + * string version = 2 [json_name = "version"]; + * @return The version. + */ + @java.lang.Override + public java.lang.String getVersion() { + java.lang.Object ref = version_; + 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(); + version_ = s; + return s; + } + } + /** + *
+     * Version of the indexer that produced this index.
+     * 
+ * + * string version = 2 [json_name = "version"]; + * @return The bytes for version. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getVersionBytes() { + java.lang.Object ref = version_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + version_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int ARGUMENTS_FIELD_NUMBER = 3; + @SuppressWarnings("serial") + private com.google.protobuf.LazyStringArrayList arguments_ = + com.google.protobuf.LazyStringArrayList.emptyList(); + /** + *
+     * Command-line arguments that were used to invoke this indexer.
+     * 
+ * + * repeated string arguments = 3 [json_name = "arguments"]; + * @return A list containing the arguments. + */ + public com.google.protobuf.ProtocolStringList + getArgumentsList() { + return arguments_; + } + /** + *
+     * Command-line arguments that were used to invoke this indexer.
+     * 
+ * + * repeated string arguments = 3 [json_name = "arguments"]; + * @return The count of arguments. + */ + public int getArgumentsCount() { + return arguments_.size(); + } + /** + *
+     * Command-line arguments that were used to invoke this indexer.
+     * 
+ * + * repeated string arguments = 3 [json_name = "arguments"]; + * @param index The index of the element to return. + * @return The arguments at the given index. + */ + public java.lang.String getArguments(int index) { + return arguments_.get(index); + } + /** + *
+     * Command-line arguments that were used to invoke this indexer.
+     * 
+ * + * repeated string arguments = 3 [json_name = "arguments"]; + * @param index The index of the value to return. + * @return The bytes of the arguments at the given index. + */ + public com.google.protobuf.ByteString + getArgumentsBytes(int index) { + return arguments_.getByteString(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 (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, name_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(version_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 2, version_); + } + for (int i = 0; i < arguments_.size(); i++) { + com.google.protobuf.GeneratedMessage.writeString(output, 3, arguments_.getRaw(i)); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, name_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(version_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(2, version_); + } + { + int dataSize = 0; + for (int i = 0; i < arguments_.size(); i++) { + dataSize += computeStringSizeNoTag(arguments_.getRaw(i)); + } + size += dataSize; + size += 1 * getArgumentsList().size(); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof scip.Scip.ToolInfo)) { + return super.equals(obj); + } + scip.Scip.ToolInfo other = (scip.Scip.ToolInfo) obj; + + if (!getName() + .equals(other.getName())) return false; + if (!getVersion() + .equals(other.getVersion())) return false; + if (!getArgumentsList() + .equals(other.getArgumentsList())) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) 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) + NAME_FIELD_NUMBER; + hash = (53 * hash) + getName().hashCode(); + hash = (37 * hash) + VERSION_FIELD_NUMBER; + hash = (53 * hash) + getVersion().hashCode(); + if (getArgumentsCount() > 0) { + hash = (37 * hash) + ARGUMENTS_FIELD_NUMBER; + hash = (53 * hash) + getArgumentsList().hashCode(); + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static scip.Scip.ToolInfo parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static scip.Scip.ToolInfo parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static scip.Scip.ToolInfo parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static scip.Scip.ToolInfo parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static scip.Scip.ToolInfo parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static scip.Scip.ToolInfo parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static scip.Scip.ToolInfo parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static scip.Scip.ToolInfo parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public static scip.Scip.ToolInfo parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input); + } + + public static scip.Scip.ToolInfo parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static scip.Scip.ToolInfo parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static scip.Scip.ToolInfo parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(scip.Scip.ToolInfo 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code scip.ToolInfo} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder implements + // @@protoc_insertion_point(builder_implements:scip.ToolInfo) + scip.Scip.ToolInfoOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return scip.Scip.internal_static_scip_ToolInfo_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return scip.Scip.internal_static_scip_ToolInfo_fieldAccessorTable + .ensureFieldAccessorsInitialized( + scip.Scip.ToolInfo.class, scip.Scip.ToolInfo.Builder.class); + } + + // Construct using scip.Scip.ToolInfo.newBuilder() + private Builder() { + + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + + } + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + name_ = ""; + version_ = ""; + arguments_ = + com.google.protobuf.LazyStringArrayList.emptyList(); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return scip.Scip.internal_static_scip_ToolInfo_descriptor; + } + + @java.lang.Override + public scip.Scip.ToolInfo getDefaultInstanceForType() { + return scip.Scip.ToolInfo.getDefaultInstance(); + } + + @java.lang.Override + public scip.Scip.ToolInfo build() { + scip.Scip.ToolInfo result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public scip.Scip.ToolInfo buildPartial() { + scip.Scip.ToolInfo result = new scip.Scip.ToolInfo(this); + if (bitField0_ != 0) { buildPartial0(result); } + onBuilt(); + return result; + } + + private void buildPartial0(scip.Scip.ToolInfo result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.name_ = name_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.version_ = version_; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + arguments_.makeImmutable(); + result.arguments_ = arguments_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof scip.Scip.ToolInfo) { + return mergeFrom((scip.Scip.ToolInfo)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(scip.Scip.ToolInfo other) { + if (other == scip.Scip.ToolInfo.getDefaultInstance()) return this; + if (!other.getName().isEmpty()) { + name_ = other.name_; + bitField0_ |= 0x00000001; + onChanged(); + } + if (!other.getVersion().isEmpty()) { + version_ = other.version_; + bitField0_ |= 0x00000002; + onChanged(); + } + if (!other.arguments_.isEmpty()) { + if (arguments_.isEmpty()) { + arguments_ = other.arguments_; + bitField0_ |= 0x00000004; + } else { + ensureArgumentsIsMutable(); + arguments_.addAll(other.arguments_); + } + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + 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 { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + name_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 18: { + version_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000002; + break; + } // case 18 + case 26: { + java.lang.String s = input.readStringRequireUtf8(); + ensureArgumentsIsMutable(); + arguments_.add(s); + break; + } // case 26 + default: { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + private int bitField0_; + + private java.lang.Object name_ = ""; + /** + *
+       * Name of the indexer that produced this index.
+       * 
+ * + * string name = 1 [json_name = "name"]; + * @return The name. + */ + public java.lang.String getName() { + java.lang.Object ref = name_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + name_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + *
+       * Name of the indexer that produced this index.
+       * 
+ * + * string name = 1 [json_name = "name"]; + * @return The bytes for name. + */ + public com.google.protobuf.ByteString + getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + *
+       * Name of the indexer that produced this index.
+       * 
+ * + * string name = 1 [json_name = "name"]; + * @param value The name to set. + * @return This builder for chaining. + */ + public Builder setName( + java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + name_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + /** + *
+       * Name of the indexer that produced this index.
+       * 
+ * + * string name = 1 [json_name = "name"]; + * @return This builder for chaining. + */ + public Builder clearName() { + name_ = getDefaultInstance().getName(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + /** + *
+       * Name of the indexer that produced this index.
+       * 
+ * + * string name = 1 [json_name = "name"]; + * @param value The bytes for name to set. + * @return This builder for chaining. + */ + public Builder setNameBytes( + com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + checkByteStringIsUtf8(value); + name_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private java.lang.Object version_ = ""; + /** + *
+       * Version of the indexer that produced this index.
+       * 
+ * + * string version = 2 [json_name = "version"]; + * @return The version. + */ + public java.lang.String getVersion() { + java.lang.Object ref = version_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + version_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + *
+       * Version of the indexer that produced this index.
+       * 
+ * + * string version = 2 [json_name = "version"]; + * @return The bytes for version. + */ + public com.google.protobuf.ByteString + getVersionBytes() { + java.lang.Object ref = version_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + version_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + *
+       * Version of the indexer that produced this index.
+       * 
+ * + * string version = 2 [json_name = "version"]; + * @param value The version to set. + * @return This builder for chaining. + */ + public Builder setVersion( + java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + version_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + /** + *
+       * Version of the indexer that produced this index.
+       * 
+ * + * string version = 2 [json_name = "version"]; + * @return This builder for chaining. + */ + public Builder clearVersion() { + version_ = getDefaultInstance().getVersion(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + /** + *
+       * Version of the indexer that produced this index.
+       * 
+ * + * string version = 2 [json_name = "version"]; + * @param value The bytes for version to set. + * @return This builder for chaining. + */ + public Builder setVersionBytes( + com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + checkByteStringIsUtf8(value); + version_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + private com.google.protobuf.LazyStringArrayList arguments_ = + com.google.protobuf.LazyStringArrayList.emptyList(); + private void ensureArgumentsIsMutable() { + if (!arguments_.isModifiable()) { + arguments_ = new com.google.protobuf.LazyStringArrayList(arguments_); + } + bitField0_ |= 0x00000004; + } + /** + *
+       * Command-line arguments that were used to invoke this indexer.
+       * 
+ * + * repeated string arguments = 3 [json_name = "arguments"]; + * @return A list containing the arguments. + */ + public com.google.protobuf.ProtocolStringList + getArgumentsList() { + arguments_.makeImmutable(); + return arguments_; + } + /** + *
+       * Command-line arguments that were used to invoke this indexer.
+       * 
+ * + * repeated string arguments = 3 [json_name = "arguments"]; + * @return The count of arguments. + */ + public int getArgumentsCount() { + return arguments_.size(); + } + /** + *
+       * Command-line arguments that were used to invoke this indexer.
+       * 
+ * + * repeated string arguments = 3 [json_name = "arguments"]; + * @param index The index of the element to return. + * @return The arguments at the given index. + */ + public java.lang.String getArguments(int index) { + return arguments_.get(index); + } + /** + *
+       * Command-line arguments that were used to invoke this indexer.
+       * 
+ * + * repeated string arguments = 3 [json_name = "arguments"]; + * @param index The index of the value to return. + * @return The bytes of the arguments at the given index. + */ + public com.google.protobuf.ByteString + getArgumentsBytes(int index) { + return arguments_.getByteString(index); + } + /** + *
+       * Command-line arguments that were used to invoke this indexer.
+       * 
+ * + * repeated string arguments = 3 [json_name = "arguments"]; + * @param index The index to set the value at. + * @param value The arguments to set. + * @return This builder for chaining. + */ + public Builder setArguments( + int index, java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + ensureArgumentsIsMutable(); + arguments_.set(index, value); + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + /** + *
+       * Command-line arguments that were used to invoke this indexer.
+       * 
+ * + * repeated string arguments = 3 [json_name = "arguments"]; + * @param value The arguments to add. + * @return This builder for chaining. + */ + public Builder addArguments( + java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + ensureArgumentsIsMutable(); + arguments_.add(value); + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + /** + *
+       * Command-line arguments that were used to invoke this indexer.
+       * 
+ * + * repeated string arguments = 3 [json_name = "arguments"]; + * @param values The arguments to add. + * @return This builder for chaining. + */ + public Builder addAllArguments( + java.lang.Iterable values) { + ensureArgumentsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, arguments_); + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + /** + *
+       * Command-line arguments that were used to invoke this indexer.
+       * 
+ * + * repeated string arguments = 3 [json_name = "arguments"]; + * @return This builder for chaining. + */ + public Builder clearArguments() { + arguments_ = + com.google.protobuf.LazyStringArrayList.emptyList(); + bitField0_ = (bitField0_ & ~0x00000004);; + onChanged(); + return this; + } + /** + *
+       * Command-line arguments that were used to invoke this indexer.
+       * 
+ * + * repeated string arguments = 3 [json_name = "arguments"]; + * @param value The bytes of the arguments to add. + * @return This builder for chaining. + */ + public Builder addArgumentsBytes( + com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + checkByteStringIsUtf8(value); + ensureArgumentsIsMutable(); + arguments_.add(value); + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:scip.ToolInfo) + } + + // @@protoc_insertion_point(class_scope:scip.ToolInfo) + private static final scip.Scip.ToolInfo DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new scip.Scip.ToolInfo(); + } + + public static scip.Scip.ToolInfo getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public ToolInfo parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public scip.Scip.ToolInfo getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface DocumentOrBuilder extends + // @@protoc_insertion_point(interface_extends:scip.Document) + com.google.protobuf.MessageOrBuilder { + + /** + *
+     * The string ID for the programming language this file is written in.
+     * The `Language` enum contains the names of most common programming languages.
+     * This field is typed as a string to permit any programming language, including
+     * ones that are not specified by the `Language` enum.
+     * 
+ * + * string language = 4 [json_name = "language"]; + * @return The language. + */ + java.lang.String getLanguage(); + /** + *
+     * The string ID for the programming language this file is written in.
+     * The `Language` enum contains the names of most common programming languages.
+     * This field is typed as a string to permit any programming language, including
+     * ones that are not specified by the `Language` enum.
+     * 
+ * + * string language = 4 [json_name = "language"]; + * @return The bytes for language. + */ + com.google.protobuf.ByteString + getLanguageBytes(); + + /** + *
+     * (Required) Unique path to the text document.
+     *
+     * 1. The path must be relative to the directory supplied in the associated
+     * `Metadata.project_root`.
+     * 2. The path must not begin with a leading '/'.
+     * 3. The path must point to a regular file, not a symbolic link.
+     * 4. The path must use '/' as the separator, including on Windows.
+     * 5. The path must be canonical; it cannot include empty components ('//'),
+     * or '.' or '..'.
+     * 
+ * + * string relative_path = 1 [json_name = "relativePath"]; + * @return The relativePath. + */ + java.lang.String getRelativePath(); + /** + *
+     * (Required) Unique path to the text document.
+     *
+     * 1. The path must be relative to the directory supplied in the associated
+     * `Metadata.project_root`.
+     * 2. The path must not begin with a leading '/'.
+     * 3. The path must point to a regular file, not a symbolic link.
+     * 4. The path must use '/' as the separator, including on Windows.
+     * 5. The path must be canonical; it cannot include empty components ('//'),
+     * or '.' or '..'.
+     * 
+ * + * string relative_path = 1 [json_name = "relativePath"]; + * @return The bytes for relativePath. + */ + com.google.protobuf.ByteString + getRelativePathBytes(); + + /** + *
+     * Occurrences that appear in this file.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + java.util.List + getOccurrencesList(); + /** + *
+     * Occurrences that appear in this file.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + scip.Scip.Occurrence getOccurrences(int index); + /** + *
+     * Occurrences that appear in this file.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + int getOccurrencesCount(); + /** + *
+     * Occurrences that appear in this file.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + java.util.List + getOccurrencesOrBuilderList(); + /** + *
+     * Occurrences that appear in this file.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + scip.Scip.OccurrenceOrBuilder getOccurrencesOrBuilder( + int index); + + /** + *
+     * Symbols that are "defined" within this document.
+     *
+     * This should include symbols which technically do not have any definition,
+     * but have a reference and are defined by some other symbol (see
+     * Relationship.is_definition).
+     * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + java.util.List + getSymbolsList(); + /** + *
+     * Symbols that are "defined" within this document.
+     *
+     * This should include symbols which technically do not have any definition,
+     * but have a reference and are defined by some other symbol (see
+     * Relationship.is_definition).
+     * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + scip.Scip.SymbolInformation getSymbols(int index); + /** + *
+     * Symbols that are "defined" within this document.
+     *
+     * This should include symbols which technically do not have any definition,
+     * but have a reference and are defined by some other symbol (see
+     * Relationship.is_definition).
+     * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + int getSymbolsCount(); + /** + *
+     * Symbols that are "defined" within this document.
+     *
+     * This should include symbols which technically do not have any definition,
+     * but have a reference and are defined by some other symbol (see
+     * Relationship.is_definition).
+     * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + java.util.List + getSymbolsOrBuilderList(); + /** + *
+     * Symbols that are "defined" within this document.
+     *
+     * This should include symbols which technically do not have any definition,
+     * but have a reference and are defined by some other symbol (see
+     * Relationship.is_definition).
+     * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + scip.Scip.SymbolInformationOrBuilder getSymbolsOrBuilder( + int index); + + /** + *
+     * (optional) Text contents of this document. Indexers are not expected to
+     * include the text by default. It's preferable that clients read the text
+     * contents from the file system by resolving the absolute path from joining
+     * `Index.metadata.project_root` and `Document.relative_path`. This field
+     * can be useful for testing or when working with virtual/in-memory documents.
+     * 
+ * + * string text = 5 [json_name = "text"]; + * @return The text. + */ + java.lang.String getText(); + /** + *
+     * (optional) Text contents of this document. Indexers are not expected to
+     * include the text by default. It's preferable that clients read the text
+     * contents from the file system by resolving the absolute path from joining
+     * `Index.metadata.project_root` and `Document.relative_path`. This field
+     * can be useful for testing or when working with virtual/in-memory documents.
+     * 
+ * + * string text = 5 [json_name = "text"]; + * @return The bytes for text. + */ + com.google.protobuf.ByteString + getTextBytes(); + + /** + *
+     * Specifies the encoding used for source ranges in this Document.
+     *
+     * Usually, this will match the type used to index the string type
+     * in the indexer's implementation language in O(1) time.
+     * - For an indexer implemented in JVM/.NET language or JavaScript/TypeScript,
+     * use UTF16CodeUnitOffsetFromLineStart.
+     * - For an indexer implemented in Python,
+     * use UTF32CodeUnitOffsetFromLineStart.
+     * - For an indexer implemented in Go, Rust or C++,
+     * use UTF8ByteOffsetFromLineStart.
+     * 
+ * + * .scip.PositionEncoding position_encoding = 6 [json_name = "positionEncoding"]; + * @return The enum numeric value on the wire for positionEncoding. + */ + int getPositionEncodingValue(); + /** + *
+     * Specifies the encoding used for source ranges in this Document.
+     *
+     * Usually, this will match the type used to index the string type
+     * in the indexer's implementation language in O(1) time.
+     * - For an indexer implemented in JVM/.NET language or JavaScript/TypeScript,
+     * use UTF16CodeUnitOffsetFromLineStart.
+     * - For an indexer implemented in Python,
+     * use UTF32CodeUnitOffsetFromLineStart.
+     * - For an indexer implemented in Go, Rust or C++,
+     * use UTF8ByteOffsetFromLineStart.
+     * 
+ * + * .scip.PositionEncoding position_encoding = 6 [json_name = "positionEncoding"]; + * @return The positionEncoding. + */ + scip.Scip.PositionEncoding getPositionEncoding(); + } + /** + *
+   * Document defines the metadata about a source file on disk.
+   * 
+ * + * Protobuf type {@code scip.Document} + */ + public static final class Document extends + com.google.protobuf.GeneratedMessage implements + // @@protoc_insertion_point(message_implements:scip.Document) + DocumentOrBuilder { + private static final long serialVersionUID = 0L; + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 32, + /* patch= */ 1, + /* suffix= */ "", + Document.class.getName()); + } + // Use Document.newBuilder() to construct. + private Document(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + private Document() { + language_ = ""; + relativePath_ = ""; + occurrences_ = java.util.Collections.emptyList(); + symbols_ = java.util.Collections.emptyList(); + text_ = ""; + positionEncoding_ = 0; + } + + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return scip.Scip.internal_static_scip_Document_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return scip.Scip.internal_static_scip_Document_fieldAccessorTable + .ensureFieldAccessorsInitialized( + scip.Scip.Document.class, scip.Scip.Document.Builder.class); + } + + public static final int LANGUAGE_FIELD_NUMBER = 4; + @SuppressWarnings("serial") + private volatile java.lang.Object language_ = ""; + /** + *
+     * The string ID for the programming language this file is written in.
+     * The `Language` enum contains the names of most common programming languages.
+     * This field is typed as a string to permit any programming language, including
+     * ones that are not specified by the `Language` enum.
+     * 
+ * + * string language = 4 [json_name = "language"]; + * @return The language. + */ + @java.lang.Override + public java.lang.String getLanguage() { + java.lang.Object ref = language_; + 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(); + language_ = s; + return s; + } + } + /** + *
+     * The string ID for the programming language this file is written in.
+     * The `Language` enum contains the names of most common programming languages.
+     * This field is typed as a string to permit any programming language, including
+     * ones that are not specified by the `Language` enum.
+     * 
+ * + * string language = 4 [json_name = "language"]; + * @return The bytes for language. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getLanguageBytes() { + java.lang.Object ref = language_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + language_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int RELATIVE_PATH_FIELD_NUMBER = 1; + @SuppressWarnings("serial") + private volatile java.lang.Object relativePath_ = ""; + /** + *
+     * (Required) Unique path to the text document.
+     *
+     * 1. The path must be relative to the directory supplied in the associated
+     * `Metadata.project_root`.
+     * 2. The path must not begin with a leading '/'.
+     * 3. The path must point to a regular file, not a symbolic link.
+     * 4. The path must use '/' as the separator, including on Windows.
+     * 5. The path must be canonical; it cannot include empty components ('//'),
+     * or '.' or '..'.
+     * 
+ * + * string relative_path = 1 [json_name = "relativePath"]; + * @return The relativePath. + */ + @java.lang.Override + public java.lang.String getRelativePath() { + java.lang.Object ref = relativePath_; + 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(); + relativePath_ = s; + return s; + } + } + /** + *
+     * (Required) Unique path to the text document.
+     *
+     * 1. The path must be relative to the directory supplied in the associated
+     * `Metadata.project_root`.
+     * 2. The path must not begin with a leading '/'.
+     * 3. The path must point to a regular file, not a symbolic link.
+     * 4. The path must use '/' as the separator, including on Windows.
+     * 5. The path must be canonical; it cannot include empty components ('//'),
+     * or '.' or '..'.
+     * 
+ * + * string relative_path = 1 [json_name = "relativePath"]; + * @return The bytes for relativePath. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getRelativePathBytes() { + java.lang.Object ref = relativePath_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + relativePath_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int OCCURRENCES_FIELD_NUMBER = 2; + @SuppressWarnings("serial") + private java.util.List occurrences_; + /** + *
+     * Occurrences that appear in this file.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + @java.lang.Override + public java.util.List getOccurrencesList() { + return occurrences_; + } + /** + *
+     * Occurrences that appear in this file.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + @java.lang.Override + public java.util.List + getOccurrencesOrBuilderList() { + return occurrences_; + } + /** + *
+     * Occurrences that appear in this file.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + @java.lang.Override + public int getOccurrencesCount() { + return occurrences_.size(); + } + /** + *
+     * Occurrences that appear in this file.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + @java.lang.Override + public scip.Scip.Occurrence getOccurrences(int index) { + return occurrences_.get(index); + } + /** + *
+     * Occurrences that appear in this file.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + @java.lang.Override + public scip.Scip.OccurrenceOrBuilder getOccurrencesOrBuilder( + int index) { + return occurrences_.get(index); + } + + public static final int SYMBOLS_FIELD_NUMBER = 3; + @SuppressWarnings("serial") + private java.util.List symbols_; + /** + *
+     * Symbols that are "defined" within this document.
+     *
+     * This should include symbols which technically do not have any definition,
+     * but have a reference and are defined by some other symbol (see
+     * Relationship.is_definition).
+     * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + @java.lang.Override + public java.util.List getSymbolsList() { + return symbols_; + } + /** + *
+     * Symbols that are "defined" within this document.
+     *
+     * This should include symbols which technically do not have any definition,
+     * but have a reference and are defined by some other symbol (see
+     * Relationship.is_definition).
+     * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + @java.lang.Override + public java.util.List + getSymbolsOrBuilderList() { + return symbols_; + } + /** + *
+     * Symbols that are "defined" within this document.
+     *
+     * This should include symbols which technically do not have any definition,
+     * but have a reference and are defined by some other symbol (see
+     * Relationship.is_definition).
+     * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + @java.lang.Override + public int getSymbolsCount() { + return symbols_.size(); + } + /** + *
+     * Symbols that are "defined" within this document.
+     *
+     * This should include symbols which technically do not have any definition,
+     * but have a reference and are defined by some other symbol (see
+     * Relationship.is_definition).
+     * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + @java.lang.Override + public scip.Scip.SymbolInformation getSymbols(int index) { + return symbols_.get(index); + } + /** + *
+     * Symbols that are "defined" within this document.
+     *
+     * This should include symbols which technically do not have any definition,
+     * but have a reference and are defined by some other symbol (see
+     * Relationship.is_definition).
+     * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + @java.lang.Override + public scip.Scip.SymbolInformationOrBuilder getSymbolsOrBuilder( + int index) { + return symbols_.get(index); + } + + public static final int TEXT_FIELD_NUMBER = 5; + @SuppressWarnings("serial") + private volatile java.lang.Object text_ = ""; + /** + *
+     * (optional) Text contents of this document. Indexers are not expected to
+     * include the text by default. It's preferable that clients read the text
+     * contents from the file system by resolving the absolute path from joining
+     * `Index.metadata.project_root` and `Document.relative_path`. This field
+     * can be useful for testing or when working with virtual/in-memory documents.
+     * 
+ * + * string text = 5 [json_name = "text"]; + * @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; + } + } + /** + *
+     * (optional) Text contents of this document. Indexers are not expected to
+     * include the text by default. It's preferable that clients read the text
+     * contents from the file system by resolving the absolute path from joining
+     * `Index.metadata.project_root` and `Document.relative_path`. This field
+     * can be useful for testing or when working with virtual/in-memory documents.
+     * 
+ * + * string text = 5 [json_name = "text"]; + * @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 POSITION_ENCODING_FIELD_NUMBER = 6; + private int positionEncoding_ = 0; + /** + *
+     * Specifies the encoding used for source ranges in this Document.
+     *
+     * Usually, this will match the type used to index the string type
+     * in the indexer's implementation language in O(1) time.
+     * - For an indexer implemented in JVM/.NET language or JavaScript/TypeScript,
+     * use UTF16CodeUnitOffsetFromLineStart.
+     * - For an indexer implemented in Python,
+     * use UTF32CodeUnitOffsetFromLineStart.
+     * - For an indexer implemented in Go, Rust or C++,
+     * use UTF8ByteOffsetFromLineStart.
+     * 
+ * + * .scip.PositionEncoding position_encoding = 6 [json_name = "positionEncoding"]; + * @return The enum numeric value on the wire for positionEncoding. + */ + @java.lang.Override public int getPositionEncodingValue() { + return positionEncoding_; + } + /** + *
+     * Specifies the encoding used for source ranges in this Document.
+     *
+     * Usually, this will match the type used to index the string type
+     * in the indexer's implementation language in O(1) time.
+     * - For an indexer implemented in JVM/.NET language or JavaScript/TypeScript,
+     * use UTF16CodeUnitOffsetFromLineStart.
+     * - For an indexer implemented in Python,
+     * use UTF32CodeUnitOffsetFromLineStart.
+     * - For an indexer implemented in Go, Rust or C++,
+     * use UTF8ByteOffsetFromLineStart.
+     * 
+ * + * .scip.PositionEncoding position_encoding = 6 [json_name = "positionEncoding"]; + * @return The positionEncoding. + */ + @java.lang.Override public scip.Scip.PositionEncoding getPositionEncoding() { + scip.Scip.PositionEncoding result = scip.Scip.PositionEncoding.forNumber(positionEncoding_); + return result == null ? scip.Scip.PositionEncoding.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 (!com.google.protobuf.GeneratedMessage.isStringEmpty(relativePath_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, relativePath_); + } + for (int i = 0; i < occurrences_.size(); i++) { + output.writeMessage(2, occurrences_.get(i)); + } + for (int i = 0; i < symbols_.size(); i++) { + output.writeMessage(3, symbols_.get(i)); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(language_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 4, language_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(text_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 5, text_); + } + if (positionEncoding_ != scip.Scip.PositionEncoding.UnspecifiedPositionEncoding.getNumber()) { + output.writeEnum(6, positionEncoding_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(relativePath_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, relativePath_); + } + for (int i = 0; i < occurrences_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(2, occurrences_.get(i)); + } + for (int i = 0; i < symbols_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(3, symbols_.get(i)); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(language_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(4, language_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(text_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(5, text_); + } + if (positionEncoding_ != scip.Scip.PositionEncoding.UnspecifiedPositionEncoding.getNumber()) { + size += com.google.protobuf.CodedOutputStream + .computeEnumSize(6, positionEncoding_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof scip.Scip.Document)) { + return super.equals(obj); + } + scip.Scip.Document other = (scip.Scip.Document) obj; + + if (!getLanguage() + .equals(other.getLanguage())) return false; + if (!getRelativePath() + .equals(other.getRelativePath())) return false; + if (!getOccurrencesList() + .equals(other.getOccurrencesList())) return false; + if (!getSymbolsList() + .equals(other.getSymbolsList())) return false; + if (!getText() + .equals(other.getText())) return false; + if (positionEncoding_ != other.positionEncoding_) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) 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) + LANGUAGE_FIELD_NUMBER; + hash = (53 * hash) + getLanguage().hashCode(); + hash = (37 * hash) + RELATIVE_PATH_FIELD_NUMBER; + hash = (53 * hash) + getRelativePath().hashCode(); + if (getOccurrencesCount() > 0) { + hash = (37 * hash) + OCCURRENCES_FIELD_NUMBER; + hash = (53 * hash) + getOccurrencesList().hashCode(); + } + if (getSymbolsCount() > 0) { + hash = (37 * hash) + SYMBOLS_FIELD_NUMBER; + hash = (53 * hash) + getSymbolsList().hashCode(); + } + hash = (37 * hash) + TEXT_FIELD_NUMBER; + hash = (53 * hash) + getText().hashCode(); + hash = (37 * hash) + POSITION_ENCODING_FIELD_NUMBER; + hash = (53 * hash) + positionEncoding_; + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static scip.Scip.Document parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static scip.Scip.Document parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static scip.Scip.Document parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static scip.Scip.Document parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static scip.Scip.Document parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static scip.Scip.Document parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static scip.Scip.Document parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static scip.Scip.Document parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public static scip.Scip.Document parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input); + } + + public static scip.Scip.Document parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static scip.Scip.Document parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static scip.Scip.Document parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(scip.Scip.Document 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + *
+     * Document defines the metadata about a source file on disk.
+     * 
+ * + * Protobuf type {@code scip.Document} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder implements + // @@protoc_insertion_point(builder_implements:scip.Document) + scip.Scip.DocumentOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return scip.Scip.internal_static_scip_Document_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return scip.Scip.internal_static_scip_Document_fieldAccessorTable + .ensureFieldAccessorsInitialized( + scip.Scip.Document.class, scip.Scip.Document.Builder.class); + } + + // Construct using scip.Scip.Document.newBuilder() + private Builder() { + + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + + } + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + language_ = ""; + relativePath_ = ""; + if (occurrencesBuilder_ == null) { + occurrences_ = java.util.Collections.emptyList(); + } else { + occurrences_ = null; + occurrencesBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000004); + if (symbolsBuilder_ == null) { + symbols_ = java.util.Collections.emptyList(); + } else { + symbols_ = null; + symbolsBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000008); + text_ = ""; + positionEncoding_ = 0; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return scip.Scip.internal_static_scip_Document_descriptor; + } + + @java.lang.Override + public scip.Scip.Document getDefaultInstanceForType() { + return scip.Scip.Document.getDefaultInstance(); + } + + @java.lang.Override + public scip.Scip.Document build() { + scip.Scip.Document result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public scip.Scip.Document buildPartial() { + scip.Scip.Document result = new scip.Scip.Document(this); + buildPartialRepeatedFields(result); + if (bitField0_ != 0) { buildPartial0(result); } + onBuilt(); + return result; + } + + private void buildPartialRepeatedFields(scip.Scip.Document result) { + if (occurrencesBuilder_ == null) { + if (((bitField0_ & 0x00000004) != 0)) { + occurrences_ = java.util.Collections.unmodifiableList(occurrences_); + bitField0_ = (bitField0_ & ~0x00000004); + } + result.occurrences_ = occurrences_; + } else { + result.occurrences_ = occurrencesBuilder_.build(); + } + if (symbolsBuilder_ == null) { + if (((bitField0_ & 0x00000008) != 0)) { + symbols_ = java.util.Collections.unmodifiableList(symbols_); + bitField0_ = (bitField0_ & ~0x00000008); + } + result.symbols_ = symbols_; + } else { + result.symbols_ = symbolsBuilder_.build(); + } + } + + private void buildPartial0(scip.Scip.Document result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.language_ = language_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.relativePath_ = relativePath_; + } + if (((from_bitField0_ & 0x00000010) != 0)) { + result.text_ = text_; + } + if (((from_bitField0_ & 0x00000020) != 0)) { + result.positionEncoding_ = positionEncoding_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof scip.Scip.Document) { + return mergeFrom((scip.Scip.Document)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(scip.Scip.Document other) { + if (other == scip.Scip.Document.getDefaultInstance()) return this; + if (!other.getLanguage().isEmpty()) { + language_ = other.language_; + bitField0_ |= 0x00000001; + onChanged(); + } + if (!other.getRelativePath().isEmpty()) { + relativePath_ = other.relativePath_; + bitField0_ |= 0x00000002; + onChanged(); + } + if (occurrencesBuilder_ == null) { + if (!other.occurrences_.isEmpty()) { + if (occurrences_.isEmpty()) { + occurrences_ = other.occurrences_; + bitField0_ = (bitField0_ & ~0x00000004); + } else { + ensureOccurrencesIsMutable(); + occurrences_.addAll(other.occurrences_); + } + onChanged(); + } + } else { + if (!other.occurrences_.isEmpty()) { + if (occurrencesBuilder_.isEmpty()) { + occurrencesBuilder_.dispose(); + occurrencesBuilder_ = null; + occurrences_ = other.occurrences_; + bitField0_ = (bitField0_ & ~0x00000004); + occurrencesBuilder_ = + com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ? + internalGetOccurrencesFieldBuilder() : null; + } else { + occurrencesBuilder_.addAllMessages(other.occurrences_); + } + } + } + if (symbolsBuilder_ == null) { + if (!other.symbols_.isEmpty()) { + if (symbols_.isEmpty()) { + symbols_ = other.symbols_; + bitField0_ = (bitField0_ & ~0x00000008); + } else { + ensureSymbolsIsMutable(); + symbols_.addAll(other.symbols_); + } + onChanged(); + } + } else { + if (!other.symbols_.isEmpty()) { + if (symbolsBuilder_.isEmpty()) { + symbolsBuilder_.dispose(); + symbolsBuilder_ = null; + symbols_ = other.symbols_; + bitField0_ = (bitField0_ & ~0x00000008); + symbolsBuilder_ = + com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ? + internalGetSymbolsFieldBuilder() : null; + } else { + symbolsBuilder_.addAllMessages(other.symbols_); + } + } + } + if (!other.getText().isEmpty()) { + text_ = other.text_; + bitField0_ |= 0x00000010; + onChanged(); + } + if (other.positionEncoding_ != 0) { + setPositionEncodingValue(other.getPositionEncodingValue()); + } + this.mergeUnknownFields(other.getUnknownFields()); + 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 { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + relativePath_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000002; + break; + } // case 10 + case 18: { + scip.Scip.Occurrence m = + input.readMessage( + scip.Scip.Occurrence.parser(), + extensionRegistry); + if (occurrencesBuilder_ == null) { + ensureOccurrencesIsMutable(); + occurrences_.add(m); + } else { + occurrencesBuilder_.addMessage(m); + } + break; + } // case 18 + case 26: { + scip.Scip.SymbolInformation m = + input.readMessage( + scip.Scip.SymbolInformation.parser(), + extensionRegistry); + if (symbolsBuilder_ == null) { + ensureSymbolsIsMutable(); + symbols_.add(m); + } else { + symbolsBuilder_.addMessage(m); + } + break; + } // case 26 + case 34: { + language_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 34 + case 42: { + text_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000010; + break; + } // case 42 + case 48: { + positionEncoding_ = input.readEnum(); + bitField0_ |= 0x00000020; + break; + } // case 48 + default: { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + private int bitField0_; + + private java.lang.Object language_ = ""; + /** + *
+       * The string ID for the programming language this file is written in.
+       * The `Language` enum contains the names of most common programming languages.
+       * This field is typed as a string to permit any programming language, including
+       * ones that are not specified by the `Language` enum.
+       * 
+ * + * string language = 4 [json_name = "language"]; + * @return The language. + */ + public java.lang.String getLanguage() { + java.lang.Object ref = language_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + language_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + *
+       * The string ID for the programming language this file is written in.
+       * The `Language` enum contains the names of most common programming languages.
+       * This field is typed as a string to permit any programming language, including
+       * ones that are not specified by the `Language` enum.
+       * 
+ * + * string language = 4 [json_name = "language"]; + * @return The bytes for language. + */ + public com.google.protobuf.ByteString + getLanguageBytes() { + java.lang.Object ref = language_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + language_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + *
+       * The string ID for the programming language this file is written in.
+       * The `Language` enum contains the names of most common programming languages.
+       * This field is typed as a string to permit any programming language, including
+       * ones that are not specified by the `Language` enum.
+       * 
+ * + * string language = 4 [json_name = "language"]; + * @param value The language to set. + * @return This builder for chaining. + */ + public Builder setLanguage( + java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + language_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + /** + *
+       * The string ID for the programming language this file is written in.
+       * The `Language` enum contains the names of most common programming languages.
+       * This field is typed as a string to permit any programming language, including
+       * ones that are not specified by the `Language` enum.
+       * 
+ * + * string language = 4 [json_name = "language"]; + * @return This builder for chaining. + */ + public Builder clearLanguage() { + language_ = getDefaultInstance().getLanguage(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + /** + *
+       * The string ID for the programming language this file is written in.
+       * The `Language` enum contains the names of most common programming languages.
+       * This field is typed as a string to permit any programming language, including
+       * ones that are not specified by the `Language` enum.
+       * 
+ * + * string language = 4 [json_name = "language"]; + * @param value The bytes for language to set. + * @return This builder for chaining. + */ + public Builder setLanguageBytes( + com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + checkByteStringIsUtf8(value); + language_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private java.lang.Object relativePath_ = ""; + /** + *
+       * (Required) Unique path to the text document.
+       *
+       * 1. The path must be relative to the directory supplied in the associated
+       * `Metadata.project_root`.
+       * 2. The path must not begin with a leading '/'.
+       * 3. The path must point to a regular file, not a symbolic link.
+       * 4. The path must use '/' as the separator, including on Windows.
+       * 5. The path must be canonical; it cannot include empty components ('//'),
+       * or '.' or '..'.
+       * 
+ * + * string relative_path = 1 [json_name = "relativePath"]; + * @return The relativePath. + */ + public java.lang.String getRelativePath() { + java.lang.Object ref = relativePath_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + relativePath_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + *
+       * (Required) Unique path to the text document.
+       *
+       * 1. The path must be relative to the directory supplied in the associated
+       * `Metadata.project_root`.
+       * 2. The path must not begin with a leading '/'.
+       * 3. The path must point to a regular file, not a symbolic link.
+       * 4. The path must use '/' as the separator, including on Windows.
+       * 5. The path must be canonical; it cannot include empty components ('//'),
+       * or '.' or '..'.
+       * 
+ * + * string relative_path = 1 [json_name = "relativePath"]; + * @return The bytes for relativePath. + */ + public com.google.protobuf.ByteString + getRelativePathBytes() { + java.lang.Object ref = relativePath_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + relativePath_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + *
+       * (Required) Unique path to the text document.
+       *
+       * 1. The path must be relative to the directory supplied in the associated
+       * `Metadata.project_root`.
+       * 2. The path must not begin with a leading '/'.
+       * 3. The path must point to a regular file, not a symbolic link.
+       * 4. The path must use '/' as the separator, including on Windows.
+       * 5. The path must be canonical; it cannot include empty components ('//'),
+       * or '.' or '..'.
+       * 
+ * + * string relative_path = 1 [json_name = "relativePath"]; + * @param value The relativePath to set. + * @return This builder for chaining. + */ + public Builder setRelativePath( + java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + relativePath_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + /** + *
+       * (Required) Unique path to the text document.
+       *
+       * 1. The path must be relative to the directory supplied in the associated
+       * `Metadata.project_root`.
+       * 2. The path must not begin with a leading '/'.
+       * 3. The path must point to a regular file, not a symbolic link.
+       * 4. The path must use '/' as the separator, including on Windows.
+       * 5. The path must be canonical; it cannot include empty components ('//'),
+       * or '.' or '..'.
+       * 
+ * + * string relative_path = 1 [json_name = "relativePath"]; + * @return This builder for chaining. + */ + public Builder clearRelativePath() { + relativePath_ = getDefaultInstance().getRelativePath(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + /** + *
+       * (Required) Unique path to the text document.
+       *
+       * 1. The path must be relative to the directory supplied in the associated
+       * `Metadata.project_root`.
+       * 2. The path must not begin with a leading '/'.
+       * 3. The path must point to a regular file, not a symbolic link.
+       * 4. The path must use '/' as the separator, including on Windows.
+       * 5. The path must be canonical; it cannot include empty components ('//'),
+       * or '.' or '..'.
+       * 
+ * + * string relative_path = 1 [json_name = "relativePath"]; + * @param value The bytes for relativePath to set. + * @return This builder for chaining. + */ + public Builder setRelativePathBytes( + com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + checkByteStringIsUtf8(value); + relativePath_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + private java.util.List occurrences_ = + java.util.Collections.emptyList(); + private void ensureOccurrencesIsMutable() { + if (!((bitField0_ & 0x00000004) != 0)) { + occurrences_ = new java.util.ArrayList(occurrences_); + bitField0_ |= 0x00000004; + } + } + + private com.google.protobuf.RepeatedFieldBuilder< + scip.Scip.Occurrence, scip.Scip.Occurrence.Builder, scip.Scip.OccurrenceOrBuilder> occurrencesBuilder_; + + /** + *
+       * Occurrences that appear in this file.
+       * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public java.util.List getOccurrencesList() { + if (occurrencesBuilder_ == null) { + return java.util.Collections.unmodifiableList(occurrences_); + } else { + return occurrencesBuilder_.getMessageList(); + } + } + /** + *
+       * Occurrences that appear in this file.
+       * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public int getOccurrencesCount() { + if (occurrencesBuilder_ == null) { + return occurrences_.size(); + } else { + return occurrencesBuilder_.getCount(); + } + } + /** + *
+       * Occurrences that appear in this file.
+       * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public scip.Scip.Occurrence getOccurrences(int index) { + if (occurrencesBuilder_ == null) { + return occurrences_.get(index); + } else { + return occurrencesBuilder_.getMessage(index); + } + } + /** + *
+       * Occurrences that appear in this file.
+       * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public Builder setOccurrences( + int index, scip.Scip.Occurrence value) { + if (occurrencesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureOccurrencesIsMutable(); + occurrences_.set(index, value); + onChanged(); + } else { + occurrencesBuilder_.setMessage(index, value); + } + return this; + } + /** + *
+       * Occurrences that appear in this file.
+       * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public Builder setOccurrences( + int index, scip.Scip.Occurrence.Builder builderForValue) { + if (occurrencesBuilder_ == null) { + ensureOccurrencesIsMutable(); + occurrences_.set(index, builderForValue.build()); + onChanged(); + } else { + occurrencesBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + *
+       * Occurrences that appear in this file.
+       * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public Builder addOccurrences(scip.Scip.Occurrence value) { + if (occurrencesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureOccurrencesIsMutable(); + occurrences_.add(value); + onChanged(); + } else { + occurrencesBuilder_.addMessage(value); + } + return this; + } + /** + *
+       * Occurrences that appear in this file.
+       * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public Builder addOccurrences( + int index, scip.Scip.Occurrence value) { + if (occurrencesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureOccurrencesIsMutable(); + occurrences_.add(index, value); + onChanged(); + } else { + occurrencesBuilder_.addMessage(index, value); + } + return this; + } + /** + *
+       * Occurrences that appear in this file.
+       * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public Builder addOccurrences( + scip.Scip.Occurrence.Builder builderForValue) { + if (occurrencesBuilder_ == null) { + ensureOccurrencesIsMutable(); + occurrences_.add(builderForValue.build()); + onChanged(); + } else { + occurrencesBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + *
+       * Occurrences that appear in this file.
+       * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public Builder addOccurrences( + int index, scip.Scip.Occurrence.Builder builderForValue) { + if (occurrencesBuilder_ == null) { + ensureOccurrencesIsMutable(); + occurrences_.add(index, builderForValue.build()); + onChanged(); + } else { + occurrencesBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + *
+       * Occurrences that appear in this file.
+       * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + 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; + } + /** + *
+       * Occurrences that appear in this file.
+       * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public Builder clearOccurrences() { + if (occurrencesBuilder_ == null) { + occurrences_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000004); + onChanged(); + } else { + occurrencesBuilder_.clear(); + } + return this; + } + /** + *
+       * Occurrences that appear in this file.
+       * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public Builder removeOccurrences(int index) { + if (occurrencesBuilder_ == null) { + ensureOccurrencesIsMutable(); + occurrences_.remove(index); + onChanged(); + } else { + occurrencesBuilder_.remove(index); + } + return this; + } + /** + *
+       * Occurrences that appear in this file.
+       * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public scip.Scip.Occurrence.Builder getOccurrencesBuilder( + int index) { + return internalGetOccurrencesFieldBuilder().getBuilder(index); + } + /** + *
+       * Occurrences that appear in this file.
+       * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public scip.Scip.OccurrenceOrBuilder getOccurrencesOrBuilder( + int index) { + if (occurrencesBuilder_ == null) { + return occurrences_.get(index); } else { + return occurrencesBuilder_.getMessageOrBuilder(index); + } + } + /** + *
+       * Occurrences that appear in this file.
+       * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public java.util.List + getOccurrencesOrBuilderList() { + if (occurrencesBuilder_ != null) { + return occurrencesBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(occurrences_); + } + } + /** + *
+       * Occurrences that appear in this file.
+       * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public scip.Scip.Occurrence.Builder addOccurrencesBuilder() { + return internalGetOccurrencesFieldBuilder().addBuilder( + scip.Scip.Occurrence.getDefaultInstance()); + } + /** + *
+       * Occurrences that appear in this file.
+       * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public scip.Scip.Occurrence.Builder addOccurrencesBuilder( + int index) { + return internalGetOccurrencesFieldBuilder().addBuilder( + index, scip.Scip.Occurrence.getDefaultInstance()); + } + /** + *
+       * Occurrences that appear in this file.
+       * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public java.util.List + getOccurrencesBuilderList() { + return internalGetOccurrencesFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilder< + scip.Scip.Occurrence, scip.Scip.Occurrence.Builder, scip.Scip.OccurrenceOrBuilder> + internalGetOccurrencesFieldBuilder() { + if (occurrencesBuilder_ == null) { + occurrencesBuilder_ = new com.google.protobuf.RepeatedFieldBuilder< + scip.Scip.Occurrence, scip.Scip.Occurrence.Builder, scip.Scip.OccurrenceOrBuilder>( + occurrences_, + ((bitField0_ & 0x00000004) != 0), + getParentForChildren(), + isClean()); + occurrences_ = null; + } + return occurrencesBuilder_; + } + + private java.util.List symbols_ = + java.util.Collections.emptyList(); + private void ensureSymbolsIsMutable() { + if (!((bitField0_ & 0x00000008) != 0)) { + symbols_ = new java.util.ArrayList(symbols_); + bitField0_ |= 0x00000008; + } + } + + private com.google.protobuf.RepeatedFieldBuilder< + scip.Scip.SymbolInformation, scip.Scip.SymbolInformation.Builder, scip.Scip.SymbolInformationOrBuilder> symbolsBuilder_; + + /** + *
+       * Symbols that are "defined" within this document.
+       *
+       * This should include symbols which technically do not have any definition,
+       * but have a reference and are defined by some other symbol (see
+       * Relationship.is_definition).
+       * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + public java.util.List getSymbolsList() { + if (symbolsBuilder_ == null) { + return java.util.Collections.unmodifiableList(symbols_); + } else { + return symbolsBuilder_.getMessageList(); + } + } + /** + *
+       * Symbols that are "defined" within this document.
+       *
+       * This should include symbols which technically do not have any definition,
+       * but have a reference and are defined by some other symbol (see
+       * Relationship.is_definition).
+       * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + public int getSymbolsCount() { + if (symbolsBuilder_ == null) { + return symbols_.size(); + } else { + return symbolsBuilder_.getCount(); + } + } + /** + *
+       * Symbols that are "defined" within this document.
+       *
+       * This should include symbols which technically do not have any definition,
+       * but have a reference and are defined by some other symbol (see
+       * Relationship.is_definition).
+       * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + public scip.Scip.SymbolInformation getSymbols(int index) { + if (symbolsBuilder_ == null) { + return symbols_.get(index); + } else { + return symbolsBuilder_.getMessage(index); + } + } + /** + *
+       * Symbols that are "defined" within this document.
+       *
+       * This should include symbols which technically do not have any definition,
+       * but have a reference and are defined by some other symbol (see
+       * Relationship.is_definition).
+       * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + public Builder setSymbols( + int index, scip.Scip.SymbolInformation value) { + if (symbolsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureSymbolsIsMutable(); + symbols_.set(index, value); + onChanged(); + } else { + symbolsBuilder_.setMessage(index, value); + } + return this; + } + /** + *
+       * Symbols that are "defined" within this document.
+       *
+       * This should include symbols which technically do not have any definition,
+       * but have a reference and are defined by some other symbol (see
+       * Relationship.is_definition).
+       * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + public Builder setSymbols( + int index, scip.Scip.SymbolInformation.Builder builderForValue) { + if (symbolsBuilder_ == null) { + ensureSymbolsIsMutable(); + symbols_.set(index, builderForValue.build()); + onChanged(); + } else { + symbolsBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + *
+       * Symbols that are "defined" within this document.
+       *
+       * This should include symbols which technically do not have any definition,
+       * but have a reference and are defined by some other symbol (see
+       * Relationship.is_definition).
+       * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + public Builder addSymbols(scip.Scip.SymbolInformation value) { + if (symbolsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureSymbolsIsMutable(); + symbols_.add(value); + onChanged(); + } else { + symbolsBuilder_.addMessage(value); + } + return this; + } + /** + *
+       * Symbols that are "defined" within this document.
+       *
+       * This should include symbols which technically do not have any definition,
+       * but have a reference and are defined by some other symbol (see
+       * Relationship.is_definition).
+       * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + public Builder addSymbols( + int index, scip.Scip.SymbolInformation value) { + if (symbolsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureSymbolsIsMutable(); + symbols_.add(index, value); + onChanged(); + } else { + symbolsBuilder_.addMessage(index, value); + } + return this; + } + /** + *
+       * Symbols that are "defined" within this document.
+       *
+       * This should include symbols which technically do not have any definition,
+       * but have a reference and are defined by some other symbol (see
+       * Relationship.is_definition).
+       * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + public Builder addSymbols( + scip.Scip.SymbolInformation.Builder builderForValue) { + if (symbolsBuilder_ == null) { + ensureSymbolsIsMutable(); + symbols_.add(builderForValue.build()); + onChanged(); + } else { + symbolsBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + *
+       * Symbols that are "defined" within this document.
+       *
+       * This should include symbols which technically do not have any definition,
+       * but have a reference and are defined by some other symbol (see
+       * Relationship.is_definition).
+       * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + public Builder addSymbols( + int index, scip.Scip.SymbolInformation.Builder builderForValue) { + if (symbolsBuilder_ == null) { + ensureSymbolsIsMutable(); + symbols_.add(index, builderForValue.build()); + onChanged(); + } else { + symbolsBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + *
+       * Symbols that are "defined" within this document.
+       *
+       * This should include symbols which technically do not have any definition,
+       * but have a reference and are defined by some other symbol (see
+       * Relationship.is_definition).
+       * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + 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; + } + /** + *
+       * Symbols that are "defined" within this document.
+       *
+       * This should include symbols which technically do not have any definition,
+       * but have a reference and are defined by some other symbol (see
+       * Relationship.is_definition).
+       * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + public Builder clearSymbols() { + if (symbolsBuilder_ == null) { + symbols_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000008); + onChanged(); + } else { + symbolsBuilder_.clear(); + } + return this; + } + /** + *
+       * Symbols that are "defined" within this document.
+       *
+       * This should include symbols which technically do not have any definition,
+       * but have a reference and are defined by some other symbol (see
+       * Relationship.is_definition).
+       * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + public Builder removeSymbols(int index) { + if (symbolsBuilder_ == null) { + ensureSymbolsIsMutable(); + symbols_.remove(index); + onChanged(); + } else { + symbolsBuilder_.remove(index); + } + return this; + } + /** + *
+       * Symbols that are "defined" within this document.
+       *
+       * This should include symbols which technically do not have any definition,
+       * but have a reference and are defined by some other symbol (see
+       * Relationship.is_definition).
+       * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + public scip.Scip.SymbolInformation.Builder getSymbolsBuilder( + int index) { + return internalGetSymbolsFieldBuilder().getBuilder(index); + } + /** + *
+       * Symbols that are "defined" within this document.
+       *
+       * This should include symbols which technically do not have any definition,
+       * but have a reference and are defined by some other symbol (see
+       * Relationship.is_definition).
+       * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + public scip.Scip.SymbolInformationOrBuilder getSymbolsOrBuilder( + int index) { + if (symbolsBuilder_ == null) { + return symbols_.get(index); } else { + return symbolsBuilder_.getMessageOrBuilder(index); + } + } + /** + *
+       * Symbols that are "defined" within this document.
+       *
+       * This should include symbols which technically do not have any definition,
+       * but have a reference and are defined by some other symbol (see
+       * Relationship.is_definition).
+       * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + public java.util.List + getSymbolsOrBuilderList() { + if (symbolsBuilder_ != null) { + return symbolsBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(symbols_); + } + } + /** + *
+       * Symbols that are "defined" within this document.
+       *
+       * This should include symbols which technically do not have any definition,
+       * but have a reference and are defined by some other symbol (see
+       * Relationship.is_definition).
+       * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + public scip.Scip.SymbolInformation.Builder addSymbolsBuilder() { + return internalGetSymbolsFieldBuilder().addBuilder( + scip.Scip.SymbolInformation.getDefaultInstance()); + } + /** + *
+       * Symbols that are "defined" within this document.
+       *
+       * This should include symbols which technically do not have any definition,
+       * but have a reference and are defined by some other symbol (see
+       * Relationship.is_definition).
+       * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + public scip.Scip.SymbolInformation.Builder addSymbolsBuilder( + int index) { + return internalGetSymbolsFieldBuilder().addBuilder( + index, scip.Scip.SymbolInformation.getDefaultInstance()); + } + /** + *
+       * Symbols that are "defined" within this document.
+       *
+       * This should include symbols which technically do not have any definition,
+       * but have a reference and are defined by some other symbol (see
+       * Relationship.is_definition).
+       * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + public java.util.List + getSymbolsBuilderList() { + return internalGetSymbolsFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilder< + scip.Scip.SymbolInformation, scip.Scip.SymbolInformation.Builder, scip.Scip.SymbolInformationOrBuilder> + internalGetSymbolsFieldBuilder() { + if (symbolsBuilder_ == null) { + symbolsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder< + scip.Scip.SymbolInformation, scip.Scip.SymbolInformation.Builder, scip.Scip.SymbolInformationOrBuilder>( + symbols_, + ((bitField0_ & 0x00000008) != 0), + getParentForChildren(), + isClean()); + symbols_ = null; + } + return symbolsBuilder_; + } + + private java.lang.Object text_ = ""; + /** + *
+       * (optional) Text contents of this document. Indexers are not expected to
+       * include the text by default. It's preferable that clients read the text
+       * contents from the file system by resolving the absolute path from joining
+       * `Index.metadata.project_root` and `Document.relative_path`. This field
+       * can be useful for testing or when working with virtual/in-memory documents.
+       * 
+ * + * string text = 5 [json_name = "text"]; + * @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; + } + } + /** + *
+       * (optional) Text contents of this document. Indexers are not expected to
+       * include the text by default. It's preferable that clients read the text
+       * contents from the file system by resolving the absolute path from joining
+       * `Index.metadata.project_root` and `Document.relative_path`. This field
+       * can be useful for testing or when working with virtual/in-memory documents.
+       * 
+ * + * string text = 5 [json_name = "text"]; + * @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; + } + } + /** + *
+       * (optional) Text contents of this document. Indexers are not expected to
+       * include the text by default. It's preferable that clients read the text
+       * contents from the file system by resolving the absolute path from joining
+       * `Index.metadata.project_root` and `Document.relative_path`. This field
+       * can be useful for testing or when working with virtual/in-memory documents.
+       * 
+ * + * string text = 5 [json_name = "text"]; + * @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; + bitField0_ |= 0x00000010; + onChanged(); + return this; + } + /** + *
+       * (optional) Text contents of this document. Indexers are not expected to
+       * include the text by default. It's preferable that clients read the text
+       * contents from the file system by resolving the absolute path from joining
+       * `Index.metadata.project_root` and `Document.relative_path`. This field
+       * can be useful for testing or when working with virtual/in-memory documents.
+       * 
+ * + * string text = 5 [json_name = "text"]; + * @return This builder for chaining. + */ + public Builder clearText() { + text_ = getDefaultInstance().getText(); + bitField0_ = (bitField0_ & ~0x00000010); + onChanged(); + return this; + } + /** + *
+       * (optional) Text contents of this document. Indexers are not expected to
+       * include the text by default. It's preferable that clients read the text
+       * contents from the file system by resolving the absolute path from joining
+       * `Index.metadata.project_root` and `Document.relative_path`. This field
+       * can be useful for testing or when working with virtual/in-memory documents.
+       * 
+ * + * string text = 5 [json_name = "text"]; + * @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; + bitField0_ |= 0x00000010; + onChanged(); + return this; + } + + private int positionEncoding_ = 0; + /** + *
+       * Specifies the encoding used for source ranges in this Document.
+       *
+       * Usually, this will match the type used to index the string type
+       * in the indexer's implementation language in O(1) time.
+       * - For an indexer implemented in JVM/.NET language or JavaScript/TypeScript,
+       * use UTF16CodeUnitOffsetFromLineStart.
+       * - For an indexer implemented in Python,
+       * use UTF32CodeUnitOffsetFromLineStart.
+       * - For an indexer implemented in Go, Rust or C++,
+       * use UTF8ByteOffsetFromLineStart.
+       * 
+ * + * .scip.PositionEncoding position_encoding = 6 [json_name = "positionEncoding"]; + * @return The enum numeric value on the wire for positionEncoding. + */ + @java.lang.Override public int getPositionEncodingValue() { + return positionEncoding_; + } + /** + *
+       * Specifies the encoding used for source ranges in this Document.
+       *
+       * Usually, this will match the type used to index the string type
+       * in the indexer's implementation language in O(1) time.
+       * - For an indexer implemented in JVM/.NET language or JavaScript/TypeScript,
+       * use UTF16CodeUnitOffsetFromLineStart.
+       * - For an indexer implemented in Python,
+       * use UTF32CodeUnitOffsetFromLineStart.
+       * - For an indexer implemented in Go, Rust or C++,
+       * use UTF8ByteOffsetFromLineStart.
+       * 
+ * + * .scip.PositionEncoding position_encoding = 6 [json_name = "positionEncoding"]; + * @param value The enum numeric value on the wire for positionEncoding to set. + * @return This builder for chaining. + */ + public Builder setPositionEncodingValue(int value) { + positionEncoding_ = value; + bitField0_ |= 0x00000020; + onChanged(); + return this; + } + /** + *
+       * Specifies the encoding used for source ranges in this Document.
+       *
+       * Usually, this will match the type used to index the string type
+       * in the indexer's implementation language in O(1) time.
+       * - For an indexer implemented in JVM/.NET language or JavaScript/TypeScript,
+       * use UTF16CodeUnitOffsetFromLineStart.
+       * - For an indexer implemented in Python,
+       * use UTF32CodeUnitOffsetFromLineStart.
+       * - For an indexer implemented in Go, Rust or C++,
+       * use UTF8ByteOffsetFromLineStart.
+       * 
+ * + * .scip.PositionEncoding position_encoding = 6 [json_name = "positionEncoding"]; + * @return The positionEncoding. + */ + @java.lang.Override + public scip.Scip.PositionEncoding getPositionEncoding() { + scip.Scip.PositionEncoding result = scip.Scip.PositionEncoding.forNumber(positionEncoding_); + return result == null ? scip.Scip.PositionEncoding.UNRECOGNIZED : result; + } + /** + *
+       * Specifies the encoding used for source ranges in this Document.
+       *
+       * Usually, this will match the type used to index the string type
+       * in the indexer's implementation language in O(1) time.
+       * - For an indexer implemented in JVM/.NET language or JavaScript/TypeScript,
+       * use UTF16CodeUnitOffsetFromLineStart.
+       * - For an indexer implemented in Python,
+       * use UTF32CodeUnitOffsetFromLineStart.
+       * - For an indexer implemented in Go, Rust or C++,
+       * use UTF8ByteOffsetFromLineStart.
+       * 
+ * + * .scip.PositionEncoding position_encoding = 6 [json_name = "positionEncoding"]; + * @param value The positionEncoding to set. + * @return This builder for chaining. + */ + public Builder setPositionEncoding(scip.Scip.PositionEncoding value) { + if (value == null) { throw new NullPointerException(); } + bitField0_ |= 0x00000020; + positionEncoding_ = value.getNumber(); + onChanged(); + return this; + } + /** + *
+       * Specifies the encoding used for source ranges in this Document.
+       *
+       * Usually, this will match the type used to index the string type
+       * in the indexer's implementation language in O(1) time.
+       * - For an indexer implemented in JVM/.NET language or JavaScript/TypeScript,
+       * use UTF16CodeUnitOffsetFromLineStart.
+       * - For an indexer implemented in Python,
+       * use UTF32CodeUnitOffsetFromLineStart.
+       * - For an indexer implemented in Go, Rust or C++,
+       * use UTF8ByteOffsetFromLineStart.
+       * 
+ * + * .scip.PositionEncoding position_encoding = 6 [json_name = "positionEncoding"]; + * @return This builder for chaining. + */ + public Builder clearPositionEncoding() { + bitField0_ = (bitField0_ & ~0x00000020); + positionEncoding_ = 0; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:scip.Document) + } + + // @@protoc_insertion_point(class_scope:scip.Document) + private static final scip.Scip.Document DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new scip.Scip.Document(); + } + + public static scip.Scip.Document getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public Document parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public scip.Scip.Document getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface SymbolOrBuilder extends + // @@protoc_insertion_point(interface_extends:scip.Symbol) + com.google.protobuf.MessageOrBuilder { + + /** + * string scheme = 1 [json_name = "scheme"]; + * @return The scheme. + */ + java.lang.String getScheme(); + /** + * string scheme = 1 [json_name = "scheme"]; + * @return The bytes for scheme. + */ + com.google.protobuf.ByteString + getSchemeBytes(); + + /** + * .scip.Package package = 2 [json_name = "package"]; + * @return Whether the package field is set. + */ + boolean hasPackage(); + /** + * .scip.Package package = 2 [json_name = "package"]; + * @return The package. + */ + scip.Scip.Package getPackage(); + /** + * .scip.Package package = 2 [json_name = "package"]; + */ + scip.Scip.PackageOrBuilder getPackageOrBuilder(); + + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + java.util.List + getDescriptorsList(); + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + scip.Scip.Descriptor getDescriptors(int index); + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + int getDescriptorsCount(); + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + java.util.List + getDescriptorsOrBuilderList(); + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + scip.Scip.DescriptorOrBuilder getDescriptorsOrBuilder( + int index); + } + /** + *
+   * Symbol is similar to a URI, it identifies a class, method, or a local
+   * variable. `SymbolInformation` contains rich metadata about symbols such as
+   * the docstring.
+   *
+   * Symbol has a standardized string representation, which can be used
+   * interchangeably with `Symbol`. The syntax for Symbol is the following:
+   * ```
+   * # (<x>)+ stands for one or more repetitions of <x>
+   * # (<x>)? stands for zero or one occurrence of <x>
+   * <symbol>               ::= <scheme> ' ' <package> ' ' (<descriptor>)+ | 'local ' <local-id>
+   * <package>              ::= <manager> ' ' <package-name> ' ' <version>
+   * <scheme>               ::= any UTF-8, escape spaces with double space. Must not be empty nor start with 'local'
+   * <manager>              ::= any UTF-8, escape spaces with double space. Use the placeholder '.' to indicate an empty value
+   * <package-name>         ::= same as above
+   * <version>              ::= same as above
+   * <descriptor>           ::= <namespace> | <type> | <term> | <method> | <type-parameter> | <parameter> | <meta> | <macro>
+   * <namespace>            ::= <name> '/'
+   * <type>                 ::= <name> '#'
+   * <term>                 ::= <name> '.'
+   * <meta>                 ::= <name> ':'
+   * <macro>                ::= <name> '!'
+   * <method>               ::= <name> '(' (<method-disambiguator>)? ').'
+   * <type-parameter>       ::= '[' <name> ']'
+   * <parameter>            ::= '(' <name> ')'
+   * <name>                 ::= <identifier>
+   * <method-disambiguator> ::= <simple-identifier>
+   * <identifier>           ::= <simple-identifier> | <escaped-identifier>
+   * <simple-identifier>    ::= (<identifier-character>)+
+   * <identifier-character> ::= '_' | '+' | '-' | '$' | ASCII letter or digit
+   * <escaped-identifier>   ::= '`' (<escaped-character>)+ '`', must contain at least one non-<identifier-character>
+   * <escaped-characters>   ::= any UTF-8, escape backticks with double backtick.
+   * <local-id>             ::= <simple-identifier>
+   * ```
+   *
+   * The list of descriptors for a symbol should together form a fully
+   * qualified name for the symbol. That is, it should serve as a unique
+   * identifier across the package. Typically, it will include one descriptor
+   * for every node in the AST (along the ancestry path) between the root of
+   * the file and the node corresponding to the symbol.
+   *
+   * Local symbols MUST only be used for entities which are local to a Document,
+   * and cannot be accessed from outside the Document.
+   * 
+ * + * Protobuf type {@code scip.Symbol} + */ + public static final class Symbol extends + com.google.protobuf.GeneratedMessage implements + // @@protoc_insertion_point(message_implements:scip.Symbol) + SymbolOrBuilder { + private static final long serialVersionUID = 0L; + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 32, + /* patch= */ 1, + /* suffix= */ "", + Symbol.class.getName()); + } + // Use Symbol.newBuilder() to construct. + private Symbol(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + private Symbol() { + scheme_ = ""; + descriptors_ = java.util.Collections.emptyList(); + } + + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return scip.Scip.internal_static_scip_Symbol_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return scip.Scip.internal_static_scip_Symbol_fieldAccessorTable + .ensureFieldAccessorsInitialized( + scip.Scip.Symbol.class, scip.Scip.Symbol.Builder.class); + } + + private int bitField0_; + public static final int SCHEME_FIELD_NUMBER = 1; + @SuppressWarnings("serial") + private volatile java.lang.Object scheme_ = ""; + /** + * string scheme = 1 [json_name = "scheme"]; + * @return The scheme. + */ + @java.lang.Override + public java.lang.String getScheme() { + java.lang.Object ref = scheme_; + 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(); + scheme_ = s; + return s; + } + } + /** + * string scheme = 1 [json_name = "scheme"]; + * @return The bytes for scheme. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getSchemeBytes() { + java.lang.Object ref = scheme_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + scheme_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int PACKAGE_FIELD_NUMBER = 2; + private scip.Scip.Package package_; + /** + * .scip.Package package = 2 [json_name = "package"]; + * @return Whether the package field is set. + */ + @java.lang.Override + public boolean hasPackage() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * .scip.Package package = 2 [json_name = "package"]; + * @return The package. + */ + @java.lang.Override + public scip.Scip.Package getPackage() { + return package_ == null ? scip.Scip.Package.getDefaultInstance() : package_; + } + /** + * .scip.Package package = 2 [json_name = "package"]; + */ + @java.lang.Override + public scip.Scip.PackageOrBuilder getPackageOrBuilder() { + return package_ == null ? scip.Scip.Package.getDefaultInstance() : package_; + } + + public static final int DESCRIPTORS_FIELD_NUMBER = 3; + @SuppressWarnings("serial") + private java.util.List descriptors_; + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + @java.lang.Override + public java.util.List getDescriptorsList() { + return descriptors_; + } + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + @java.lang.Override + public java.util.List + getDescriptorsOrBuilderList() { + return descriptors_; + } + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + @java.lang.Override + public int getDescriptorsCount() { + return descriptors_.size(); + } + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + @java.lang.Override + public scip.Scip.Descriptor getDescriptors(int index) { + return descriptors_.get(index); + } + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + @java.lang.Override + public scip.Scip.DescriptorOrBuilder getDescriptorsOrBuilder( + int index) { + return descriptors_.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 (!com.google.protobuf.GeneratedMessage.isStringEmpty(scheme_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, scheme_); + } + if (((bitField0_ & 0x00000001) != 0)) { + output.writeMessage(2, getPackage()); + } + for (int i = 0; i < descriptors_.size(); i++) { + output.writeMessage(3, descriptors_.get(i)); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(scheme_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, scheme_); + } + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(2, getPackage()); + } + for (int i = 0; i < descriptors_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(3, descriptors_.get(i)); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof scip.Scip.Symbol)) { + return super.equals(obj); + } + scip.Scip.Symbol other = (scip.Scip.Symbol) obj; + + if (!getScheme() + .equals(other.getScheme())) return false; + if (hasPackage() != other.hasPackage()) return false; + if (hasPackage()) { + if (!getPackage() + .equals(other.getPackage())) return false; + } + if (!getDescriptorsList() + .equals(other.getDescriptorsList())) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) 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) + SCHEME_FIELD_NUMBER; + hash = (53 * hash) + getScheme().hashCode(); + if (hasPackage()) { + hash = (37 * hash) + PACKAGE_FIELD_NUMBER; + hash = (53 * hash) + getPackage().hashCode(); + } + if (getDescriptorsCount() > 0) { + hash = (37 * hash) + DESCRIPTORS_FIELD_NUMBER; + hash = (53 * hash) + getDescriptorsList().hashCode(); + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static scip.Scip.Symbol parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static scip.Scip.Symbol parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static scip.Scip.Symbol parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static scip.Scip.Symbol parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static scip.Scip.Symbol parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static scip.Scip.Symbol parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static scip.Scip.Symbol parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static scip.Scip.Symbol parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public static scip.Scip.Symbol parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input); + } + + public static scip.Scip.Symbol parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static scip.Scip.Symbol parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static scip.Scip.Symbol parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(scip.Scip.Symbol 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + *
+     * Symbol is similar to a URI, it identifies a class, method, or a local
+     * variable. `SymbolInformation` contains rich metadata about symbols such as
+     * the docstring.
+     *
+     * Symbol has a standardized string representation, which can be used
+     * interchangeably with `Symbol`. The syntax for Symbol is the following:
+     * ```
+     * # (<x>)+ stands for one or more repetitions of <x>
+     * # (<x>)? stands for zero or one occurrence of <x>
+     * <symbol>               ::= <scheme> ' ' <package> ' ' (<descriptor>)+ | 'local ' <local-id>
+     * <package>              ::= <manager> ' ' <package-name> ' ' <version>
+     * <scheme>               ::= any UTF-8, escape spaces with double space. Must not be empty nor start with 'local'
+     * <manager>              ::= any UTF-8, escape spaces with double space. Use the placeholder '.' to indicate an empty value
+     * <package-name>         ::= same as above
+     * <version>              ::= same as above
+     * <descriptor>           ::= <namespace> | <type> | <term> | <method> | <type-parameter> | <parameter> | <meta> | <macro>
+     * <namespace>            ::= <name> '/'
+     * <type>                 ::= <name> '#'
+     * <term>                 ::= <name> '.'
+     * <meta>                 ::= <name> ':'
+     * <macro>                ::= <name> '!'
+     * <method>               ::= <name> '(' (<method-disambiguator>)? ').'
+     * <type-parameter>       ::= '[' <name> ']'
+     * <parameter>            ::= '(' <name> ')'
+     * <name>                 ::= <identifier>
+     * <method-disambiguator> ::= <simple-identifier>
+     * <identifier>           ::= <simple-identifier> | <escaped-identifier>
+     * <simple-identifier>    ::= (<identifier-character>)+
+     * <identifier-character> ::= '_' | '+' | '-' | '$' | ASCII letter or digit
+     * <escaped-identifier>   ::= '`' (<escaped-character>)+ '`', must contain at least one non-<identifier-character>
+     * <escaped-characters>   ::= any UTF-8, escape backticks with double backtick.
+     * <local-id>             ::= <simple-identifier>
+     * ```
+     *
+     * The list of descriptors for a symbol should together form a fully
+     * qualified name for the symbol. That is, it should serve as a unique
+     * identifier across the package. Typically, it will include one descriptor
+     * for every node in the AST (along the ancestry path) between the root of
+     * the file and the node corresponding to the symbol.
+     *
+     * Local symbols MUST only be used for entities which are local to a Document,
+     * and cannot be accessed from outside the Document.
+     * 
+ * + * Protobuf type {@code scip.Symbol} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder implements + // @@protoc_insertion_point(builder_implements:scip.Symbol) + scip.Scip.SymbolOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return scip.Scip.internal_static_scip_Symbol_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return scip.Scip.internal_static_scip_Symbol_fieldAccessorTable + .ensureFieldAccessorsInitialized( + scip.Scip.Symbol.class, scip.Scip.Symbol.Builder.class); + } + + // Construct using scip.Scip.Symbol.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage + .alwaysUseFieldBuilders) { + internalGetPackageFieldBuilder(); + internalGetDescriptorsFieldBuilder(); + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + scheme_ = ""; + package_ = null; + if (packageBuilder_ != null) { + packageBuilder_.dispose(); + packageBuilder_ = null; + } + if (descriptorsBuilder_ == null) { + descriptors_ = java.util.Collections.emptyList(); + } else { + descriptors_ = null; + descriptorsBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000004); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return scip.Scip.internal_static_scip_Symbol_descriptor; + } + + @java.lang.Override + public scip.Scip.Symbol getDefaultInstanceForType() { + return scip.Scip.Symbol.getDefaultInstance(); + } + + @java.lang.Override + public scip.Scip.Symbol build() { + scip.Scip.Symbol result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public scip.Scip.Symbol buildPartial() { + scip.Scip.Symbol result = new scip.Scip.Symbol(this); + buildPartialRepeatedFields(result); + if (bitField0_ != 0) { buildPartial0(result); } + onBuilt(); + return result; + } + + private void buildPartialRepeatedFields(scip.Scip.Symbol result) { + if (descriptorsBuilder_ == null) { + if (((bitField0_ & 0x00000004) != 0)) { + descriptors_ = java.util.Collections.unmodifiableList(descriptors_); + bitField0_ = (bitField0_ & ~0x00000004); + } + result.descriptors_ = descriptors_; + } else { + result.descriptors_ = descriptorsBuilder_.build(); + } + } + + private void buildPartial0(scip.Scip.Symbol result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.scheme_ = scheme_; + } + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000002) != 0)) { + result.package_ = packageBuilder_ == null + ? package_ + : packageBuilder_.build(); + to_bitField0_ |= 0x00000001; + } + result.bitField0_ |= to_bitField0_; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof scip.Scip.Symbol) { + return mergeFrom((scip.Scip.Symbol)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(scip.Scip.Symbol other) { + if (other == scip.Scip.Symbol.getDefaultInstance()) return this; + if (!other.getScheme().isEmpty()) { + scheme_ = other.scheme_; + bitField0_ |= 0x00000001; + onChanged(); + } + if (other.hasPackage()) { + mergePackage(other.getPackage()); + } + if (descriptorsBuilder_ == null) { + if (!other.descriptors_.isEmpty()) { + if (descriptors_.isEmpty()) { + descriptors_ = other.descriptors_; + bitField0_ = (bitField0_ & ~0x00000004); + } else { + ensureDescriptorsIsMutable(); + descriptors_.addAll(other.descriptors_); + } + onChanged(); + } + } else { + if (!other.descriptors_.isEmpty()) { + if (descriptorsBuilder_.isEmpty()) { + descriptorsBuilder_.dispose(); + descriptorsBuilder_ = null; + descriptors_ = other.descriptors_; + bitField0_ = (bitField0_ & ~0x00000004); + descriptorsBuilder_ = + com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ? + internalGetDescriptorsFieldBuilder() : null; + } else { + descriptorsBuilder_.addAllMessages(other.descriptors_); + } + } + } + this.mergeUnknownFields(other.getUnknownFields()); + 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 { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + scheme_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 18: { + input.readMessage( + internalGetPackageFieldBuilder().getBuilder(), + extensionRegistry); + bitField0_ |= 0x00000002; + break; + } // case 18 + case 26: { + scip.Scip.Descriptor m = + input.readMessage( + scip.Scip.Descriptor.parser(), + extensionRegistry); + if (descriptorsBuilder_ == null) { + ensureDescriptorsIsMutable(); + descriptors_.add(m); + } else { + descriptorsBuilder_.addMessage(m); + } + break; + } // case 26 + default: { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + private int bitField0_; + + private java.lang.Object scheme_ = ""; + /** + * string scheme = 1 [json_name = "scheme"]; + * @return The scheme. + */ + public java.lang.String getScheme() { + java.lang.Object ref = scheme_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + scheme_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * string scheme = 1 [json_name = "scheme"]; + * @return The bytes for scheme. + */ + public com.google.protobuf.ByteString + getSchemeBytes() { + java.lang.Object ref = scheme_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + scheme_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * string scheme = 1 [json_name = "scheme"]; + * @param value The scheme to set. + * @return This builder for chaining. + */ + public Builder setScheme( + java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + scheme_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + /** + * string scheme = 1 [json_name = "scheme"]; + * @return This builder for chaining. + */ + public Builder clearScheme() { + scheme_ = getDefaultInstance().getScheme(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + /** + * string scheme = 1 [json_name = "scheme"]; + * @param value The bytes for scheme to set. + * @return This builder for chaining. + */ + public Builder setSchemeBytes( + com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + checkByteStringIsUtf8(value); + scheme_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private scip.Scip.Package package_; + private com.google.protobuf.SingleFieldBuilder< + scip.Scip.Package, scip.Scip.Package.Builder, scip.Scip.PackageOrBuilder> packageBuilder_; + /** + * .scip.Package package = 2 [json_name = "package"]; + * @return Whether the package field is set. + */ + public boolean hasPackage() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * .scip.Package package = 2 [json_name = "package"]; + * @return The package. + */ + public scip.Scip.Package getPackage() { + if (packageBuilder_ == null) { + return package_ == null ? scip.Scip.Package.getDefaultInstance() : package_; + } else { + return packageBuilder_.getMessage(); + } + } + /** + * .scip.Package package = 2 [json_name = "package"]; + */ + public Builder setPackage(scip.Scip.Package value) { + if (packageBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + package_ = value; + } else { + packageBuilder_.setMessage(value); + } + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + /** + * .scip.Package package = 2 [json_name = "package"]; + */ + public Builder setPackage( + scip.Scip.Package.Builder builderForValue) { + if (packageBuilder_ == null) { + package_ = builderForValue.build(); + } else { + packageBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + /** + * .scip.Package package = 2 [json_name = "package"]; + */ + public Builder mergePackage(scip.Scip.Package value) { + if (packageBuilder_ == null) { + if (((bitField0_ & 0x00000002) != 0) && + package_ != null && + package_ != scip.Scip.Package.getDefaultInstance()) { + getPackageBuilder().mergeFrom(value); + } else { + package_ = value; + } + } else { + packageBuilder_.mergeFrom(value); + } + if (package_ != null) { + bitField0_ |= 0x00000002; + onChanged(); + } + return this; + } + /** + * .scip.Package package = 2 [json_name = "package"]; + */ + public Builder clearPackage() { + bitField0_ = (bitField0_ & ~0x00000002); + package_ = null; + if (packageBuilder_ != null) { + packageBuilder_.dispose(); + packageBuilder_ = null; + } + onChanged(); + return this; + } + /** + * .scip.Package package = 2 [json_name = "package"]; + */ + public scip.Scip.Package.Builder getPackageBuilder() { + bitField0_ |= 0x00000002; + onChanged(); + return internalGetPackageFieldBuilder().getBuilder(); + } + /** + * .scip.Package package = 2 [json_name = "package"]; + */ + public scip.Scip.PackageOrBuilder getPackageOrBuilder() { + if (packageBuilder_ != null) { + return packageBuilder_.getMessageOrBuilder(); + } else { + return package_ == null ? + scip.Scip.Package.getDefaultInstance() : package_; + } + } + /** + * .scip.Package package = 2 [json_name = "package"]; + */ + private com.google.protobuf.SingleFieldBuilder< + scip.Scip.Package, scip.Scip.Package.Builder, scip.Scip.PackageOrBuilder> + internalGetPackageFieldBuilder() { + if (packageBuilder_ == null) { + packageBuilder_ = new com.google.protobuf.SingleFieldBuilder< + scip.Scip.Package, scip.Scip.Package.Builder, scip.Scip.PackageOrBuilder>( + getPackage(), + getParentForChildren(), + isClean()); + package_ = null; + } + return packageBuilder_; + } + + private java.util.List descriptors_ = + java.util.Collections.emptyList(); + private void ensureDescriptorsIsMutable() { + if (!((bitField0_ & 0x00000004) != 0)) { + descriptors_ = new java.util.ArrayList(descriptors_); + bitField0_ |= 0x00000004; + } + } + + private com.google.protobuf.RepeatedFieldBuilder< + scip.Scip.Descriptor, scip.Scip.Descriptor.Builder, scip.Scip.DescriptorOrBuilder> descriptorsBuilder_; + + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + public java.util.List getDescriptorsList() { + if (descriptorsBuilder_ == null) { + return java.util.Collections.unmodifiableList(descriptors_); + } else { + return descriptorsBuilder_.getMessageList(); + } + } + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + public int getDescriptorsCount() { + if (descriptorsBuilder_ == null) { + return descriptors_.size(); + } else { + return descriptorsBuilder_.getCount(); + } + } + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + public scip.Scip.Descriptor getDescriptors(int index) { + if (descriptorsBuilder_ == null) { + return descriptors_.get(index); + } else { + return descriptorsBuilder_.getMessage(index); + } + } + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + public Builder setDescriptors( + int index, scip.Scip.Descriptor value) { + if (descriptorsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureDescriptorsIsMutable(); + descriptors_.set(index, value); + onChanged(); + } else { + descriptorsBuilder_.setMessage(index, value); + } + return this; + } + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + public Builder setDescriptors( + int index, scip.Scip.Descriptor.Builder builderForValue) { + if (descriptorsBuilder_ == null) { + ensureDescriptorsIsMutable(); + descriptors_.set(index, builderForValue.build()); + onChanged(); + } else { + descriptorsBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + public Builder addDescriptors(scip.Scip.Descriptor value) { + if (descriptorsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureDescriptorsIsMutable(); + descriptors_.add(value); + onChanged(); + } else { + descriptorsBuilder_.addMessage(value); + } + return this; + } + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + public Builder addDescriptors( + int index, scip.Scip.Descriptor value) { + if (descriptorsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureDescriptorsIsMutable(); + descriptors_.add(index, value); + onChanged(); + } else { + descriptorsBuilder_.addMessage(index, value); + } + return this; + } + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + public Builder addDescriptors( + scip.Scip.Descriptor.Builder builderForValue) { + if (descriptorsBuilder_ == null) { + ensureDescriptorsIsMutable(); + descriptors_.add(builderForValue.build()); + onChanged(); + } else { + descriptorsBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + public Builder addDescriptors( + int index, scip.Scip.Descriptor.Builder builderForValue) { + if (descriptorsBuilder_ == null) { + ensureDescriptorsIsMutable(); + descriptors_.add(index, builderForValue.build()); + onChanged(); + } else { + descriptorsBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + public Builder addAllDescriptors( + java.lang.Iterable values) { + if (descriptorsBuilder_ == null) { + ensureDescriptorsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, descriptors_); + onChanged(); + } else { + descriptorsBuilder_.addAllMessages(values); + } + return this; + } + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + public Builder clearDescriptors() { + if (descriptorsBuilder_ == null) { + descriptors_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000004); + onChanged(); + } else { + descriptorsBuilder_.clear(); + } + return this; + } + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + public Builder removeDescriptors(int index) { + if (descriptorsBuilder_ == null) { + ensureDescriptorsIsMutable(); + descriptors_.remove(index); + onChanged(); + } else { + descriptorsBuilder_.remove(index); + } + return this; + } + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + public scip.Scip.Descriptor.Builder getDescriptorsBuilder( + int index) { + return internalGetDescriptorsFieldBuilder().getBuilder(index); + } + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + public scip.Scip.DescriptorOrBuilder getDescriptorsOrBuilder( + int index) { + if (descriptorsBuilder_ == null) { + return descriptors_.get(index); } else { + return descriptorsBuilder_.getMessageOrBuilder(index); + } + } + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + public java.util.List + getDescriptorsOrBuilderList() { + if (descriptorsBuilder_ != null) { + return descriptorsBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(descriptors_); + } + } + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + public scip.Scip.Descriptor.Builder addDescriptorsBuilder() { + return internalGetDescriptorsFieldBuilder().addBuilder( + scip.Scip.Descriptor.getDefaultInstance()); + } + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + public scip.Scip.Descriptor.Builder addDescriptorsBuilder( + int index) { + return internalGetDescriptorsFieldBuilder().addBuilder( + index, scip.Scip.Descriptor.getDefaultInstance()); + } + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + public java.util.List + getDescriptorsBuilderList() { + return internalGetDescriptorsFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilder< + scip.Scip.Descriptor, scip.Scip.Descriptor.Builder, scip.Scip.DescriptorOrBuilder> + internalGetDescriptorsFieldBuilder() { + if (descriptorsBuilder_ == null) { + descriptorsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder< + scip.Scip.Descriptor, scip.Scip.Descriptor.Builder, scip.Scip.DescriptorOrBuilder>( + descriptors_, + ((bitField0_ & 0x00000004) != 0), + getParentForChildren(), + isClean()); + descriptors_ = null; + } + return descriptorsBuilder_; + } + + // @@protoc_insertion_point(builder_scope:scip.Symbol) + } + + // @@protoc_insertion_point(class_scope:scip.Symbol) + private static final scip.Scip.Symbol DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new scip.Scip.Symbol(); + } + + public static scip.Scip.Symbol getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public Symbol parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public scip.Scip.Symbol getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface PackageOrBuilder extends + // @@protoc_insertion_point(interface_extends:scip.Package) + com.google.protobuf.MessageOrBuilder { + + /** + * string manager = 1 [json_name = "manager"]; + * @return The manager. + */ + java.lang.String getManager(); + /** + * string manager = 1 [json_name = "manager"]; + * @return The bytes for manager. + */ + com.google.protobuf.ByteString + getManagerBytes(); + + /** + * string name = 2 [json_name = "name"]; + * @return The name. + */ + java.lang.String getName(); + /** + * string name = 2 [json_name = "name"]; + * @return The bytes for name. + */ + com.google.protobuf.ByteString + getNameBytes(); + + /** + * string version = 3 [json_name = "version"]; + * @return The version. + */ + java.lang.String getVersion(); + /** + * string version = 3 [json_name = "version"]; + * @return The bytes for version. + */ + com.google.protobuf.ByteString + getVersionBytes(); + } + /** + *
+   * Unit of packaging and distribution.
+   *
+   * NOTE: This corresponds to a module in Go and JVM languages.
+   * 
+ * + * Protobuf type {@code scip.Package} + */ + public static final class Package extends + com.google.protobuf.GeneratedMessage implements + // @@protoc_insertion_point(message_implements:scip.Package) + PackageOrBuilder { + private static final long serialVersionUID = 0L; + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 32, + /* patch= */ 1, + /* suffix= */ "", + Package.class.getName()); + } + // Use Package.newBuilder() to construct. + private Package(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + private Package() { + manager_ = ""; + name_ = ""; + version_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return scip.Scip.internal_static_scip_Package_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return scip.Scip.internal_static_scip_Package_fieldAccessorTable + .ensureFieldAccessorsInitialized( + scip.Scip.Package.class, scip.Scip.Package.Builder.class); + } + + public static final int MANAGER_FIELD_NUMBER = 1; + @SuppressWarnings("serial") + private volatile java.lang.Object manager_ = ""; + /** + * string manager = 1 [json_name = "manager"]; + * @return The manager. + */ + @java.lang.Override + public java.lang.String getManager() { + java.lang.Object ref = manager_; + 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(); + manager_ = s; + return s; + } + } + /** + * string manager = 1 [json_name = "manager"]; + * @return The bytes for manager. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getManagerBytes() { + java.lang.Object ref = manager_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + manager_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int NAME_FIELD_NUMBER = 2; + @SuppressWarnings("serial") + private volatile java.lang.Object name_ = ""; + /** + * string name = 2 [json_name = "name"]; + * @return The name. + */ + @java.lang.Override + public java.lang.String getName() { + java.lang.Object ref = name_; + 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(); + name_ = s; + return s; + } + } + /** + * string name = 2 [json_name = "name"]; + * @return The bytes for name. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int VERSION_FIELD_NUMBER = 3; + @SuppressWarnings("serial") + private volatile java.lang.Object version_ = ""; + /** + * string version = 3 [json_name = "version"]; + * @return The version. + */ + @java.lang.Override + public java.lang.String getVersion() { + java.lang.Object ref = version_; + 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(); + version_ = s; + return s; + } + } + /** + * string version = 3 [json_name = "version"]; + * @return The bytes for version. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getVersionBytes() { + java.lang.Object ref = version_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + version_ = 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 (!com.google.protobuf.GeneratedMessage.isStringEmpty(manager_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, manager_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 2, name_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(version_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 3, version_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(manager_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, manager_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(2, name_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(version_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(3, version_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof scip.Scip.Package)) { + return super.equals(obj); + } + scip.Scip.Package other = (scip.Scip.Package) obj; + + if (!getManager() + .equals(other.getManager())) return false; + if (!getName() + .equals(other.getName())) return false; + if (!getVersion() + .equals(other.getVersion())) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) 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) + MANAGER_FIELD_NUMBER; + hash = (53 * hash) + getManager().hashCode(); + hash = (37 * hash) + NAME_FIELD_NUMBER; + hash = (53 * hash) + getName().hashCode(); + hash = (37 * hash) + VERSION_FIELD_NUMBER; + hash = (53 * hash) + getVersion().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static scip.Scip.Package parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static scip.Scip.Package parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static scip.Scip.Package parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static scip.Scip.Package parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static scip.Scip.Package parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static scip.Scip.Package parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static scip.Scip.Package parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static scip.Scip.Package parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public static scip.Scip.Package parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input); + } + + public static scip.Scip.Package parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static scip.Scip.Package parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static scip.Scip.Package parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(scip.Scip.Package 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + *
+     * Unit of packaging and distribution.
+     *
+     * NOTE: This corresponds to a module in Go and JVM languages.
+     * 
+ * + * Protobuf type {@code scip.Package} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder implements + // @@protoc_insertion_point(builder_implements:scip.Package) + scip.Scip.PackageOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return scip.Scip.internal_static_scip_Package_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return scip.Scip.internal_static_scip_Package_fieldAccessorTable + .ensureFieldAccessorsInitialized( + scip.Scip.Package.class, scip.Scip.Package.Builder.class); + } + + // Construct using scip.Scip.Package.newBuilder() + private Builder() { + + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + + } + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + manager_ = ""; + name_ = ""; + version_ = ""; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return scip.Scip.internal_static_scip_Package_descriptor; + } + + @java.lang.Override + public scip.Scip.Package getDefaultInstanceForType() { + return scip.Scip.Package.getDefaultInstance(); + } + + @java.lang.Override + public scip.Scip.Package build() { + scip.Scip.Package result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public scip.Scip.Package buildPartial() { + scip.Scip.Package result = new scip.Scip.Package(this); + if (bitField0_ != 0) { buildPartial0(result); } + onBuilt(); + return result; + } + + private void buildPartial0(scip.Scip.Package result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.manager_ = manager_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.name_ = name_; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.version_ = version_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof scip.Scip.Package) { + return mergeFrom((scip.Scip.Package)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(scip.Scip.Package other) { + if (other == scip.Scip.Package.getDefaultInstance()) return this; + if (!other.getManager().isEmpty()) { + manager_ = other.manager_; + bitField0_ |= 0x00000001; + onChanged(); + } + if (!other.getName().isEmpty()) { + name_ = other.name_; + bitField0_ |= 0x00000002; + onChanged(); + } + if (!other.getVersion().isEmpty()) { + version_ = other.version_; + bitField0_ |= 0x00000004; + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + 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 { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + manager_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 18: { + name_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000002; + break; + } // case 18 + case 26: { + version_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000004; + break; + } // case 26 + default: { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + private int bitField0_; + + private java.lang.Object manager_ = ""; + /** + * string manager = 1 [json_name = "manager"]; + * @return The manager. + */ + public java.lang.String getManager() { + java.lang.Object ref = manager_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + manager_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * string manager = 1 [json_name = "manager"]; + * @return The bytes for manager. + */ + public com.google.protobuf.ByteString + getManagerBytes() { + java.lang.Object ref = manager_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + manager_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * string manager = 1 [json_name = "manager"]; + * @param value The manager to set. + * @return This builder for chaining. + */ + public Builder setManager( + java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + manager_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + /** + * string manager = 1 [json_name = "manager"]; + * @return This builder for chaining. + */ + public Builder clearManager() { + manager_ = getDefaultInstance().getManager(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + /** + * string manager = 1 [json_name = "manager"]; + * @param value The bytes for manager to set. + * @return This builder for chaining. + */ + public Builder setManagerBytes( + com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + checkByteStringIsUtf8(value); + manager_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private java.lang.Object name_ = ""; + /** + * string name = 2 [json_name = "name"]; + * @return The name. + */ + public java.lang.String getName() { + java.lang.Object ref = name_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + name_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * string name = 2 [json_name = "name"]; + * @return The bytes for name. + */ + public com.google.protobuf.ByteString + getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * string name = 2 [json_name = "name"]; + * @param value The name to set. + * @return This builder for chaining. + */ + public Builder setName( + java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + name_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + /** + * string name = 2 [json_name = "name"]; + * @return This builder for chaining. + */ + public Builder clearName() { + name_ = getDefaultInstance().getName(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + /** + * string name = 2 [json_name = "name"]; + * @param value The bytes for name to set. + * @return This builder for chaining. + */ + public Builder setNameBytes( + com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + checkByteStringIsUtf8(value); + name_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + private java.lang.Object version_ = ""; + /** + * string version = 3 [json_name = "version"]; + * @return The version. + */ + public java.lang.String getVersion() { + java.lang.Object ref = version_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + version_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * string version = 3 [json_name = "version"]; + * @return The bytes for version. + */ + public com.google.protobuf.ByteString + getVersionBytes() { + java.lang.Object ref = version_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + version_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * string version = 3 [json_name = "version"]; + * @param value The version to set. + * @return This builder for chaining. + */ + public Builder setVersion( + java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + version_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + /** + * string version = 3 [json_name = "version"]; + * @return This builder for chaining. + */ + public Builder clearVersion() { + version_ = getDefaultInstance().getVersion(); + bitField0_ = (bitField0_ & ~0x00000004); + onChanged(); + return this; + } + /** + * string version = 3 [json_name = "version"]; + * @param value The bytes for version to set. + * @return This builder for chaining. + */ + public Builder setVersionBytes( + com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + checkByteStringIsUtf8(value); + version_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:scip.Package) + } + + // @@protoc_insertion_point(class_scope:scip.Package) + private static final scip.Scip.Package DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new scip.Scip.Package(); + } + + public static scip.Scip.Package getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public Package parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public scip.Scip.Package getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface DescriptorOrBuilder extends + // @@protoc_insertion_point(interface_extends:scip.Descriptor) + com.google.protobuf.MessageOrBuilder { + + /** + * string name = 1 [json_name = "name"]; + * @return The name. + */ + java.lang.String getName(); + /** + * string name = 1 [json_name = "name"]; + * @return The bytes for name. + */ + com.google.protobuf.ByteString + getNameBytes(); + + /** + * string disambiguator = 2 [json_name = "disambiguator"]; + * @return The disambiguator. + */ + java.lang.String getDisambiguator(); + /** + * string disambiguator = 2 [json_name = "disambiguator"]; + * @return The bytes for disambiguator. + */ + com.google.protobuf.ByteString + getDisambiguatorBytes(); + + /** + *
+     * NOTE: If you add new fields here, make sure to update the prepareSlot()
+     * function responsible for parsing symbols.
+     * 
+ * + * .scip.Descriptor.Suffix suffix = 3 [json_name = "suffix"]; + * @return The enum numeric value on the wire for suffix. + */ + int getSuffixValue(); + /** + *
+     * NOTE: If you add new fields here, make sure to update the prepareSlot()
+     * function responsible for parsing symbols.
+     * 
+ * + * .scip.Descriptor.Suffix suffix = 3 [json_name = "suffix"]; + * @return The suffix. + */ + scip.Scip.Descriptor.Suffix getSuffix(); + } + /** + * Protobuf type {@code scip.Descriptor} + */ + public static final class Descriptor extends + com.google.protobuf.GeneratedMessage implements + // @@protoc_insertion_point(message_implements:scip.Descriptor) + DescriptorOrBuilder { + private static final long serialVersionUID = 0L; + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 32, + /* patch= */ 1, + /* suffix= */ "", + Descriptor.class.getName()); + } + // Use Descriptor.newBuilder() to construct. + private Descriptor(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + private Descriptor() { + name_ = ""; + disambiguator_ = ""; + suffix_ = 0; + } + + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return scip.Scip.internal_static_scip_Descriptor_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return scip.Scip.internal_static_scip_Descriptor_fieldAccessorTable + .ensureFieldAccessorsInitialized( + scip.Scip.Descriptor.class, scip.Scip.Descriptor.Builder.class); + } + + /** + * Protobuf enum {@code scip.Descriptor.Suffix} + */ + public enum Suffix + implements com.google.protobuf.ProtocolMessageEnum { + /** + * UnspecifiedSuffix = 0; + */ + UnspecifiedSuffix(0, 0), + /** + *
+       * Unit of code abstraction and/or namespacing.
+       *
+       * NOTE: This corresponds to a package in Go and JVM languages.
+       * 
+ * + * Namespace = 1; + */ + Namespace(1, 1), + /** + * Type = 2; + */ + Type(3, 2), + /** + * Term = 3; + */ + Term(4, 3), + /** + * Method = 4; + */ + Method(5, 4), + /** + * TypeParameter = 5; + */ + TypeParameter(6, 5), + /** + * Parameter = 6; + */ + Parameter(7, 6), + /** + *
+       * Can be used for any purpose.
+       * 
+ * + * Meta = 7; + */ + Meta(8, 7), + /** + * Local = 8; + */ + Local(9, 8), + /** + * Macro = 9; + */ + Macro(10, 9), + UNRECOGNIZED(-1, -1), + ; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 32, + /* patch= */ 1, + /* suffix= */ "", + Suffix.class.getName()); + } + /** + *
+       * Use Namespace instead.
+       * 
+ * + * Package = 1 [deprecated = true]; + */ + public static final Suffix Package = Namespace; + /** + * UnspecifiedSuffix = 0; + */ + public static final int UnspecifiedSuffix_VALUE = 0; + /** + *
+       * Unit of code abstraction and/or namespacing.
+       *
+       * NOTE: This corresponds to a package in Go and JVM languages.
+       * 
+ * + * Namespace = 1; + */ + public static final int Namespace_VALUE = 1; + /** + *
+       * Use Namespace instead.
+       * 
+ * + * Package = 1 [deprecated = true]; + */ + @java.lang.Deprecated public static final int Package_VALUE = 1; + /** + * Type = 2; + */ + public static final int Type_VALUE = 2; + /** + * Term = 3; + */ + public static final int Term_VALUE = 3; + /** + * Method = 4; + */ + public static final int Method_VALUE = 4; + /** + * TypeParameter = 5; + */ + public static final int TypeParameter_VALUE = 5; + /** + * Parameter = 6; + */ + public static final int Parameter_VALUE = 6; + /** + *
+       * Can be used for any purpose.
+       * 
+ * + * Meta = 7; + */ + public static final int Meta_VALUE = 7; + /** + * Local = 8; + */ + public static final int Local_VALUE = 8; + /** + * Macro = 9; + */ + public static final int Macro_VALUE = 9; + + + public final int getNumber() { + if (index == -1) { + 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 Suffix 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 Suffix forNumber(int value) { + switch (value) { + case 0: return UnspecifiedSuffix; + case 1: return Namespace; + case 2: return Type; + case 3: return Term; + case 4: return Method; + case 5: return TypeParameter; + case 6: return Parameter; + case 7: return Meta; + case 8: return Local; + case 9: return Macro; + default: return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap + internalGetValueMap() { + return internalValueMap; + } + private static final com.google.protobuf.Internal.EnumLiteMap< + Suffix> internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap() { + public Suffix findValueByNumber(int number) { + return Suffix.forNumber(number); + } + }; + + public final com.google.protobuf.Descriptors.EnumValueDescriptor + getValueDescriptor() { + if (index == -1) { + throw new java.lang.IllegalStateException( + "Can't get the descriptor of an unrecognized enum value."); + } + return getDescriptor().getValues().get(index); + } + public final com.google.protobuf.Descriptors.EnumDescriptor + getDescriptorForType() { + return getDescriptor(); + } + public static com.google.protobuf.Descriptors.EnumDescriptor + getDescriptor() { + return scip.Scip.Descriptor.getDescriptor().getEnumTypes().get(0); + } + + private static final Suffix[] VALUES = getStaticValuesArray(); + private static Suffix[] getStaticValuesArray() { + return new Suffix[] { + UnspecifiedSuffix, Namespace, Package, Type, Term, Method, TypeParameter, Parameter, Meta, Local, Macro, + }; + } + public static Suffix 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 index; + private final int value; + + private Suffix(int index, int value) { + this.index = index; + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:scip.Descriptor.Suffix) + } + + public static final int NAME_FIELD_NUMBER = 1; + @SuppressWarnings("serial") + private volatile java.lang.Object name_ = ""; + /** + * string name = 1 [json_name = "name"]; + * @return The name. + */ + @java.lang.Override + public java.lang.String getName() { + java.lang.Object ref = name_; + 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(); + name_ = s; + return s; + } + } + /** + * string name = 1 [json_name = "name"]; + * @return The bytes for name. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int DISAMBIGUATOR_FIELD_NUMBER = 2; + @SuppressWarnings("serial") + private volatile java.lang.Object disambiguator_ = ""; + /** + * string disambiguator = 2 [json_name = "disambiguator"]; + * @return The disambiguator. + */ + @java.lang.Override + public java.lang.String getDisambiguator() { + java.lang.Object ref = disambiguator_; + 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(); + disambiguator_ = s; + return s; + } + } + /** + * string disambiguator = 2 [json_name = "disambiguator"]; + * @return The bytes for disambiguator. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getDisambiguatorBytes() { + java.lang.Object ref = disambiguator_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + disambiguator_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int SUFFIX_FIELD_NUMBER = 3; + private int suffix_ = 0; + /** + *
+     * NOTE: If you add new fields here, make sure to update the prepareSlot()
+     * function responsible for parsing symbols.
+     * 
+ * + * .scip.Descriptor.Suffix suffix = 3 [json_name = "suffix"]; + * @return The enum numeric value on the wire for suffix. + */ + @java.lang.Override public int getSuffixValue() { + return suffix_; + } + /** + *
+     * NOTE: If you add new fields here, make sure to update the prepareSlot()
+     * function responsible for parsing symbols.
+     * 
+ * + * .scip.Descriptor.Suffix suffix = 3 [json_name = "suffix"]; + * @return The suffix. + */ + @java.lang.Override public scip.Scip.Descriptor.Suffix getSuffix() { + scip.Scip.Descriptor.Suffix result = scip.Scip.Descriptor.Suffix.forNumber(suffix_); + return result == null ? scip.Scip.Descriptor.Suffix.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 (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, name_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(disambiguator_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 2, disambiguator_); + } + if (suffix_ != scip.Scip.Descriptor.Suffix.UnspecifiedSuffix.getNumber()) { + output.writeEnum(3, suffix_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, name_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(disambiguator_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(2, disambiguator_); + } + if (suffix_ != scip.Scip.Descriptor.Suffix.UnspecifiedSuffix.getNumber()) { + size += com.google.protobuf.CodedOutputStream + .computeEnumSize(3, suffix_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof scip.Scip.Descriptor)) { + return super.equals(obj); + } + scip.Scip.Descriptor other = (scip.Scip.Descriptor) obj; + + if (!getName() + .equals(other.getName())) return false; + if (!getDisambiguator() + .equals(other.getDisambiguator())) return false; + if (suffix_ != other.suffix_) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) 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) + NAME_FIELD_NUMBER; + hash = (53 * hash) + getName().hashCode(); + hash = (37 * hash) + DISAMBIGUATOR_FIELD_NUMBER; + hash = (53 * hash) + getDisambiguator().hashCode(); + hash = (37 * hash) + SUFFIX_FIELD_NUMBER; + hash = (53 * hash) + suffix_; + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static scip.Scip.Descriptor parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static scip.Scip.Descriptor parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static scip.Scip.Descriptor parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static scip.Scip.Descriptor parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static scip.Scip.Descriptor parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static scip.Scip.Descriptor parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static scip.Scip.Descriptor parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static scip.Scip.Descriptor parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public static scip.Scip.Descriptor parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input); + } + + public static scip.Scip.Descriptor parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static scip.Scip.Descriptor parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static scip.Scip.Descriptor parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(scip.Scip.Descriptor 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code scip.Descriptor} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder implements + // @@protoc_insertion_point(builder_implements:scip.Descriptor) + scip.Scip.DescriptorOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return scip.Scip.internal_static_scip_Descriptor_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return scip.Scip.internal_static_scip_Descriptor_fieldAccessorTable + .ensureFieldAccessorsInitialized( + scip.Scip.Descriptor.class, scip.Scip.Descriptor.Builder.class); + } + + // Construct using scip.Scip.Descriptor.newBuilder() + private Builder() { + + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + + } + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + name_ = ""; + disambiguator_ = ""; + suffix_ = 0; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return scip.Scip.internal_static_scip_Descriptor_descriptor; + } + + @java.lang.Override + public scip.Scip.Descriptor getDefaultInstanceForType() { + return scip.Scip.Descriptor.getDefaultInstance(); + } + + @java.lang.Override + public scip.Scip.Descriptor build() { + scip.Scip.Descriptor result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public scip.Scip.Descriptor buildPartial() { + scip.Scip.Descriptor result = new scip.Scip.Descriptor(this); + if (bitField0_ != 0) { buildPartial0(result); } + onBuilt(); + return result; + } + + private void buildPartial0(scip.Scip.Descriptor result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.name_ = name_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.disambiguator_ = disambiguator_; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.suffix_ = suffix_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof scip.Scip.Descriptor) { + return mergeFrom((scip.Scip.Descriptor)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(scip.Scip.Descriptor other) { + if (other == scip.Scip.Descriptor.getDefaultInstance()) return this; + if (!other.getName().isEmpty()) { + name_ = other.name_; + bitField0_ |= 0x00000001; + onChanged(); + } + if (!other.getDisambiguator().isEmpty()) { + disambiguator_ = other.disambiguator_; + bitField0_ |= 0x00000002; + onChanged(); + } + if (other.suffix_ != 0) { + setSuffixValue(other.getSuffixValue()); + } + this.mergeUnknownFields(other.getUnknownFields()); + 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 { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + name_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 18: { + disambiguator_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000002; + break; + } // case 18 + case 24: { + suffix_ = input.readEnum(); + bitField0_ |= 0x00000004; + break; + } // case 24 + default: { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + private int bitField0_; + + private java.lang.Object name_ = ""; + /** + * string name = 1 [json_name = "name"]; + * @return The name. + */ + public java.lang.String getName() { + java.lang.Object ref = name_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + name_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * string name = 1 [json_name = "name"]; + * @return The bytes for name. + */ + public com.google.protobuf.ByteString + getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * string name = 1 [json_name = "name"]; + * @param value The name to set. + * @return This builder for chaining. + */ + public Builder setName( + java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + name_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + /** + * string name = 1 [json_name = "name"]; + * @return This builder for chaining. + */ + public Builder clearName() { + name_ = getDefaultInstance().getName(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + /** + * string name = 1 [json_name = "name"]; + * @param value The bytes for name to set. + * @return This builder for chaining. + */ + public Builder setNameBytes( + com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + checkByteStringIsUtf8(value); + name_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private java.lang.Object disambiguator_ = ""; + /** + * string disambiguator = 2 [json_name = "disambiguator"]; + * @return The disambiguator. + */ + public java.lang.String getDisambiguator() { + java.lang.Object ref = disambiguator_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + disambiguator_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * string disambiguator = 2 [json_name = "disambiguator"]; + * @return The bytes for disambiguator. + */ + public com.google.protobuf.ByteString + getDisambiguatorBytes() { + java.lang.Object ref = disambiguator_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + disambiguator_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * string disambiguator = 2 [json_name = "disambiguator"]; + * @param value The disambiguator to set. + * @return This builder for chaining. + */ + public Builder setDisambiguator( + java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + disambiguator_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + /** + * string disambiguator = 2 [json_name = "disambiguator"]; + * @return This builder for chaining. + */ + public Builder clearDisambiguator() { + disambiguator_ = getDefaultInstance().getDisambiguator(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + /** + * string disambiguator = 2 [json_name = "disambiguator"]; + * @param value The bytes for disambiguator to set. + * @return This builder for chaining. + */ + public Builder setDisambiguatorBytes( + com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + checkByteStringIsUtf8(value); + disambiguator_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + private int suffix_ = 0; + /** + *
+       * NOTE: If you add new fields here, make sure to update the prepareSlot()
+       * function responsible for parsing symbols.
+       * 
+ * + * .scip.Descriptor.Suffix suffix = 3 [json_name = "suffix"]; + * @return The enum numeric value on the wire for suffix. + */ + @java.lang.Override public int getSuffixValue() { + return suffix_; + } + /** + *
+       * NOTE: If you add new fields here, make sure to update the prepareSlot()
+       * function responsible for parsing symbols.
+       * 
+ * + * .scip.Descriptor.Suffix suffix = 3 [json_name = "suffix"]; + * @param value The enum numeric value on the wire for suffix to set. + * @return This builder for chaining. + */ + public Builder setSuffixValue(int value) { + suffix_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + /** + *
+       * NOTE: If you add new fields here, make sure to update the prepareSlot()
+       * function responsible for parsing symbols.
+       * 
+ * + * .scip.Descriptor.Suffix suffix = 3 [json_name = "suffix"]; + * @return The suffix. + */ + @java.lang.Override + public scip.Scip.Descriptor.Suffix getSuffix() { + scip.Scip.Descriptor.Suffix result = scip.Scip.Descriptor.Suffix.forNumber(suffix_); + return result == null ? scip.Scip.Descriptor.Suffix.UNRECOGNIZED : result; + } + /** + *
+       * NOTE: If you add new fields here, make sure to update the prepareSlot()
+       * function responsible for parsing symbols.
+       * 
+ * + * .scip.Descriptor.Suffix suffix = 3 [json_name = "suffix"]; + * @param value The suffix to set. + * @return This builder for chaining. + */ + public Builder setSuffix(scip.Scip.Descriptor.Suffix value) { + if (value == null) { throw new NullPointerException(); } + bitField0_ |= 0x00000004; + suffix_ = value.getNumber(); + onChanged(); + return this; + } + /** + *
+       * NOTE: If you add new fields here, make sure to update the prepareSlot()
+       * function responsible for parsing symbols.
+       * 
+ * + * .scip.Descriptor.Suffix suffix = 3 [json_name = "suffix"]; + * @return This builder for chaining. + */ + public Builder clearSuffix() { + bitField0_ = (bitField0_ & ~0x00000004); + suffix_ = 0; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:scip.Descriptor) + } + + // @@protoc_insertion_point(class_scope:scip.Descriptor) + private static final scip.Scip.Descriptor DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new scip.Scip.Descriptor(); + } + + public static scip.Scip.Descriptor getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public Descriptor parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public scip.Scip.Descriptor getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface SignatureOrBuilder extends + // @@protoc_insertion_point(interface_extends:scip.Signature) + com.google.protobuf.MessageOrBuilder { + + /** + *
+     * The language of the signature, e.g. "java", "go", "python".
+     * 
+ * + * string language = 4 [json_name = "language"]; + * @return The language. + */ + java.lang.String getLanguage(); + /** + *
+     * The language of the signature, e.g. "java", "go", "python".
+     * 
+ * + * string language = 4 [json_name = "language"]; + * @return The bytes for language. + */ + com.google.protobuf.ByteString + getLanguageBytes(); + + /** + *
+     * The text content of the signature, e.g. "void add(int a, int b)".
+     * 
+ * + * string text = 5 [json_name = "text"]; + * @return The text. + */ + java.lang.String getText(); + /** + *
+     * The text content of the signature, e.g. "void add(int a, int b)".
+     * 
+ * + * string text = 5 [json_name = "text"]; + * @return The bytes for text. + */ + com.google.protobuf.ByteString + getTextBytes(); + + /** + *
+     * (optional) Occurrences within the signature text that reference other
+     * symbols, enabling hyperlinking of types in the signature. Ranges are
+     * relative to the `text` field.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + java.util.List + getOccurrencesList(); + /** + *
+     * (optional) Occurrences within the signature text that reference other
+     * symbols, enabling hyperlinking of types in the signature. Ranges are
+     * relative to the `text` field.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + scip.Scip.Occurrence getOccurrences(int index); + /** + *
+     * (optional) Occurrences within the signature text that reference other
+     * symbols, enabling hyperlinking of types in the signature. Ranges are
+     * relative to the `text` field.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + int getOccurrencesCount(); + /** + *
+     * (optional) Occurrences within the signature text that reference other
+     * symbols, enabling hyperlinking of types in the signature. Ranges are
+     * relative to the `text` field.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + java.util.List + getOccurrencesOrBuilderList(); + /** + *
+     * (optional) Occurrences within the signature text that reference other
+     * symbols, enabling hyperlinking of types in the signature. Ranges are
+     * relative to the `text` field.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + scip.Scip.OccurrenceOrBuilder getOccurrencesOrBuilder( + int index); + } + /** + *
+   * Signature represents the signature of a symbol as it's displayed in API
+   * documentation or hover tooltips. It uses a subset of Document's fields with
+   * the same field numbers for wire compatibility with older indexes that encoded
+   * signatures using the Document message type.
+   * 
+ * + * Protobuf type {@code scip.Signature} + */ + public static final class Signature extends + com.google.protobuf.GeneratedMessage implements + // @@protoc_insertion_point(message_implements:scip.Signature) + SignatureOrBuilder { + private static final long serialVersionUID = 0L; + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 32, + /* patch= */ 1, + /* suffix= */ "", + Signature.class.getName()); + } + // Use Signature.newBuilder() to construct. + private Signature(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + private Signature() { + language_ = ""; + text_ = ""; + occurrences_ = java.util.Collections.emptyList(); + } + + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return scip.Scip.internal_static_scip_Signature_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return scip.Scip.internal_static_scip_Signature_fieldAccessorTable + .ensureFieldAccessorsInitialized( + scip.Scip.Signature.class, scip.Scip.Signature.Builder.class); + } + + public static final int LANGUAGE_FIELD_NUMBER = 4; + @SuppressWarnings("serial") + private volatile java.lang.Object language_ = ""; + /** + *
+     * The language of the signature, e.g. "java", "go", "python".
+     * 
+ * + * string language = 4 [json_name = "language"]; + * @return The language. + */ + @java.lang.Override + public java.lang.String getLanguage() { + java.lang.Object ref = language_; + 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(); + language_ = s; + return s; + } + } + /** + *
+     * The language of the signature, e.g. "java", "go", "python".
+     * 
+ * + * string language = 4 [json_name = "language"]; + * @return The bytes for language. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getLanguageBytes() { + java.lang.Object ref = language_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + language_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int TEXT_FIELD_NUMBER = 5; + @SuppressWarnings("serial") + private volatile java.lang.Object text_ = ""; + /** + *
+     * The text content of the signature, e.g. "void add(int a, int b)".
+     * 
+ * + * string text = 5 [json_name = "text"]; + * @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; + } + } + /** + *
+     * The text content of the signature, e.g. "void add(int a, int b)".
+     * 
+ * + * string text = 5 [json_name = "text"]; + * @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 OCCURRENCES_FIELD_NUMBER = 2; + @SuppressWarnings("serial") + private java.util.List occurrences_; + /** + *
+     * (optional) Occurrences within the signature text that reference other
+     * symbols, enabling hyperlinking of types in the signature. Ranges are
+     * relative to the `text` field.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + @java.lang.Override + public java.util.List getOccurrencesList() { + return occurrences_; + } + /** + *
+     * (optional) Occurrences within the signature text that reference other
+     * symbols, enabling hyperlinking of types in the signature. Ranges are
+     * relative to the `text` field.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + @java.lang.Override + public java.util.List + getOccurrencesOrBuilderList() { + return occurrences_; + } + /** + *
+     * (optional) Occurrences within the signature text that reference other
+     * symbols, enabling hyperlinking of types in the signature. Ranges are
+     * relative to the `text` field.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + @java.lang.Override + public int getOccurrencesCount() { + return occurrences_.size(); + } + /** + *
+     * (optional) Occurrences within the signature text that reference other
+     * symbols, enabling hyperlinking of types in the signature. Ranges are
+     * relative to the `text` field.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + @java.lang.Override + public scip.Scip.Occurrence getOccurrences(int index) { + return occurrences_.get(index); + } + /** + *
+     * (optional) Occurrences within the signature text that reference other
+     * symbols, enabling hyperlinking of types in the signature. Ranges are
+     * relative to the `text` field.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + @java.lang.Override + public scip.Scip.OccurrenceOrBuilder 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 { + for (int i = 0; i < occurrences_.size(); i++) { + output.writeMessage(2, occurrences_.get(i)); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(language_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 4, language_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(text_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 5, text_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + for (int i = 0; i < occurrences_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(2, occurrences_.get(i)); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(language_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(4, language_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(text_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(5, text_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof scip.Scip.Signature)) { + return super.equals(obj); + } + scip.Scip.Signature other = (scip.Scip.Signature) obj; + + if (!getLanguage() + .equals(other.getLanguage())) return false; + if (!getText() + .equals(other.getText())) return false; + if (!getOccurrencesList() + .equals(other.getOccurrencesList())) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) 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) + LANGUAGE_FIELD_NUMBER; + hash = (53 * hash) + getLanguage().hashCode(); + hash = (37 * hash) + TEXT_FIELD_NUMBER; + hash = (53 * hash) + getText().hashCode(); + if (getOccurrencesCount() > 0) { + hash = (37 * hash) + OCCURRENCES_FIELD_NUMBER; + hash = (53 * hash) + getOccurrencesList().hashCode(); + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static scip.Scip.Signature parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static scip.Scip.Signature parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static scip.Scip.Signature parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static scip.Scip.Signature parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static scip.Scip.Signature parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static scip.Scip.Signature parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static scip.Scip.Signature parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static scip.Scip.Signature parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public static scip.Scip.Signature parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input); + } + + public static scip.Scip.Signature parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static scip.Scip.Signature parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static scip.Scip.Signature parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(scip.Scip.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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + *
+     * Signature represents the signature of a symbol as it's displayed in API
+     * documentation or hover tooltips. It uses a subset of Document's fields with
+     * the same field numbers for wire compatibility with older indexes that encoded
+     * signatures using the Document message type.
+     * 
+ * + * Protobuf type {@code scip.Signature} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder implements + // @@protoc_insertion_point(builder_implements:scip.Signature) + scip.Scip.SignatureOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return scip.Scip.internal_static_scip_Signature_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return scip.Scip.internal_static_scip_Signature_fieldAccessorTable + .ensureFieldAccessorsInitialized( + scip.Scip.Signature.class, scip.Scip.Signature.Builder.class); + } + + // Construct using scip.Scip.Signature.newBuilder() + private Builder() { + + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + + } + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + language_ = ""; + text_ = ""; + if (occurrencesBuilder_ == null) { + occurrences_ = java.util.Collections.emptyList(); + } else { + occurrences_ = null; + occurrencesBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000004); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return scip.Scip.internal_static_scip_Signature_descriptor; + } + + @java.lang.Override + public scip.Scip.Signature getDefaultInstanceForType() { + return scip.Scip.Signature.getDefaultInstance(); + } + + @java.lang.Override + public scip.Scip.Signature build() { + scip.Scip.Signature result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public scip.Scip.Signature buildPartial() { + scip.Scip.Signature result = new scip.Scip.Signature(this); + buildPartialRepeatedFields(result); + if (bitField0_ != 0) { buildPartial0(result); } + onBuilt(); + return result; + } + + private void buildPartialRepeatedFields(scip.Scip.Signature result) { + if (occurrencesBuilder_ == null) { + if (((bitField0_ & 0x00000004) != 0)) { + occurrences_ = java.util.Collections.unmodifiableList(occurrences_); + bitField0_ = (bitField0_ & ~0x00000004); + } + result.occurrences_ = occurrences_; + } else { + result.occurrences_ = occurrencesBuilder_.build(); + } + } + + private void buildPartial0(scip.Scip.Signature result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.language_ = language_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.text_ = text_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof scip.Scip.Signature) { + return mergeFrom((scip.Scip.Signature)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(scip.Scip.Signature other) { + if (other == scip.Scip.Signature.getDefaultInstance()) return this; + if (!other.getLanguage().isEmpty()) { + language_ = other.language_; + bitField0_ |= 0x00000001; + onChanged(); + } + if (!other.getText().isEmpty()) { + text_ = other.text_; + bitField0_ |= 0x00000002; + onChanged(); + } + if (occurrencesBuilder_ == null) { + if (!other.occurrences_.isEmpty()) { + if (occurrences_.isEmpty()) { + occurrences_ = other.occurrences_; + bitField0_ = (bitField0_ & ~0x00000004); + } else { + ensureOccurrencesIsMutable(); + occurrences_.addAll(other.occurrences_); + } + onChanged(); + } + } else { + if (!other.occurrences_.isEmpty()) { + if (occurrencesBuilder_.isEmpty()) { + occurrencesBuilder_.dispose(); + occurrencesBuilder_ = null; + occurrences_ = other.occurrences_; + bitField0_ = (bitField0_ & ~0x00000004); + occurrencesBuilder_ = + com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ? + internalGetOccurrencesFieldBuilder() : null; + } else { + occurrencesBuilder_.addAllMessages(other.occurrences_); + } + } + } + this.mergeUnknownFields(other.getUnknownFields()); + 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 { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 18: { + scip.Scip.Occurrence m = + input.readMessage( + scip.Scip.Occurrence.parser(), + extensionRegistry); + if (occurrencesBuilder_ == null) { + ensureOccurrencesIsMutable(); + occurrences_.add(m); + } else { + occurrencesBuilder_.addMessage(m); + } + break; + } // case 18 + case 34: { + language_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 34 + case 42: { + text_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000002; + break; + } // case 42 + default: { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + private int bitField0_; + + private java.lang.Object language_ = ""; + /** + *
+       * The language of the signature, e.g. "java", "go", "python".
+       * 
+ * + * string language = 4 [json_name = "language"]; + * @return The language. + */ + public java.lang.String getLanguage() { + java.lang.Object ref = language_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + language_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + *
+       * The language of the signature, e.g. "java", "go", "python".
+       * 
+ * + * string language = 4 [json_name = "language"]; + * @return The bytes for language. + */ + public com.google.protobuf.ByteString + getLanguageBytes() { + java.lang.Object ref = language_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + language_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + *
+       * The language of the signature, e.g. "java", "go", "python".
+       * 
+ * + * string language = 4 [json_name = "language"]; + * @param value The language to set. + * @return This builder for chaining. + */ + public Builder setLanguage( + java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + language_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + /** + *
+       * The language of the signature, e.g. "java", "go", "python".
+       * 
+ * + * string language = 4 [json_name = "language"]; + * @return This builder for chaining. + */ + public Builder clearLanguage() { + language_ = getDefaultInstance().getLanguage(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + /** + *
+       * The language of the signature, e.g. "java", "go", "python".
+       * 
+ * + * string language = 4 [json_name = "language"]; + * @param value The bytes for language to set. + * @return This builder for chaining. + */ + public Builder setLanguageBytes( + com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + checkByteStringIsUtf8(value); + language_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private java.lang.Object text_ = ""; + /** + *
+       * The text content of the signature, e.g. "void add(int a, int b)".
+       * 
+ * + * string text = 5 [json_name = "text"]; + * @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; + } + } + /** + *
+       * The text content of the signature, e.g. "void add(int a, int b)".
+       * 
+ * + * string text = 5 [json_name = "text"]; + * @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; + } + } + /** + *
+       * The text content of the signature, e.g. "void add(int a, int b)".
+       * 
+ * + * string text = 5 [json_name = "text"]; + * @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; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + /** + *
+       * The text content of the signature, e.g. "void add(int a, int b)".
+       * 
+ * + * string text = 5 [json_name = "text"]; + * @return This builder for chaining. + */ + public Builder clearText() { + text_ = getDefaultInstance().getText(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + /** + *
+       * The text content of the signature, e.g. "void add(int a, int b)".
+       * 
+ * + * string text = 5 [json_name = "text"]; + * @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; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + private java.util.List occurrences_ = + java.util.Collections.emptyList(); + private void ensureOccurrencesIsMutable() { + if (!((bitField0_ & 0x00000004) != 0)) { + occurrences_ = new java.util.ArrayList(occurrences_); + bitField0_ |= 0x00000004; + } + } + + private com.google.protobuf.RepeatedFieldBuilder< + scip.Scip.Occurrence, scip.Scip.Occurrence.Builder, scip.Scip.OccurrenceOrBuilder> occurrencesBuilder_; + + /** + *
+       * (optional) Occurrences within the signature text that reference other
+       * symbols, enabling hyperlinking of types in the signature. Ranges are
+       * relative to the `text` field.
+       * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public java.util.List getOccurrencesList() { + if (occurrencesBuilder_ == null) { + return java.util.Collections.unmodifiableList(occurrences_); + } else { + return occurrencesBuilder_.getMessageList(); + } + } + /** + *
+       * (optional) Occurrences within the signature text that reference other
+       * symbols, enabling hyperlinking of types in the signature. Ranges are
+       * relative to the `text` field.
+       * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public int getOccurrencesCount() { + if (occurrencesBuilder_ == null) { + return occurrences_.size(); + } else { + return occurrencesBuilder_.getCount(); + } + } + /** + *
+       * (optional) Occurrences within the signature text that reference other
+       * symbols, enabling hyperlinking of types in the signature. Ranges are
+       * relative to the `text` field.
+       * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public scip.Scip.Occurrence getOccurrences(int index) { + if (occurrencesBuilder_ == null) { + return occurrences_.get(index); + } else { + return occurrencesBuilder_.getMessage(index); + } + } + /** + *
+       * (optional) Occurrences within the signature text that reference other
+       * symbols, enabling hyperlinking of types in the signature. Ranges are
+       * relative to the `text` field.
+       * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public Builder setOccurrences( + int index, scip.Scip.Occurrence value) { + if (occurrencesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureOccurrencesIsMutable(); + occurrences_.set(index, value); + onChanged(); + } else { + occurrencesBuilder_.setMessage(index, value); + } + return this; + } + /** + *
+       * (optional) Occurrences within the signature text that reference other
+       * symbols, enabling hyperlinking of types in the signature. Ranges are
+       * relative to the `text` field.
+       * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public Builder setOccurrences( + int index, scip.Scip.Occurrence.Builder builderForValue) { + if (occurrencesBuilder_ == null) { + ensureOccurrencesIsMutable(); + occurrences_.set(index, builderForValue.build()); + onChanged(); + } else { + occurrencesBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + *
+       * (optional) Occurrences within the signature text that reference other
+       * symbols, enabling hyperlinking of types in the signature. Ranges are
+       * relative to the `text` field.
+       * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public Builder addOccurrences(scip.Scip.Occurrence value) { + if (occurrencesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureOccurrencesIsMutable(); + occurrences_.add(value); + onChanged(); + } else { + occurrencesBuilder_.addMessage(value); + } + return this; + } + /** + *
+       * (optional) Occurrences within the signature text that reference other
+       * symbols, enabling hyperlinking of types in the signature. Ranges are
+       * relative to the `text` field.
+       * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public Builder addOccurrences( + int index, scip.Scip.Occurrence value) { + if (occurrencesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureOccurrencesIsMutable(); + occurrences_.add(index, value); + onChanged(); + } else { + occurrencesBuilder_.addMessage(index, value); + } + return this; + } + /** + *
+       * (optional) Occurrences within the signature text that reference other
+       * symbols, enabling hyperlinking of types in the signature. Ranges are
+       * relative to the `text` field.
+       * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public Builder addOccurrences( + scip.Scip.Occurrence.Builder builderForValue) { + if (occurrencesBuilder_ == null) { + ensureOccurrencesIsMutable(); + occurrences_.add(builderForValue.build()); + onChanged(); + } else { + occurrencesBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + *
+       * (optional) Occurrences within the signature text that reference other
+       * symbols, enabling hyperlinking of types in the signature. Ranges are
+       * relative to the `text` field.
+       * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public Builder addOccurrences( + int index, scip.Scip.Occurrence.Builder builderForValue) { + if (occurrencesBuilder_ == null) { + ensureOccurrencesIsMutable(); + occurrences_.add(index, builderForValue.build()); + onChanged(); + } else { + occurrencesBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + *
+       * (optional) Occurrences within the signature text that reference other
+       * symbols, enabling hyperlinking of types in the signature. Ranges are
+       * relative to the `text` field.
+       * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + 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; + } + /** + *
+       * (optional) Occurrences within the signature text that reference other
+       * symbols, enabling hyperlinking of types in the signature. Ranges are
+       * relative to the `text` field.
+       * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public Builder clearOccurrences() { + if (occurrencesBuilder_ == null) { + occurrences_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000004); + onChanged(); + } else { + occurrencesBuilder_.clear(); + } + return this; + } + /** + *
+       * (optional) Occurrences within the signature text that reference other
+       * symbols, enabling hyperlinking of types in the signature. Ranges are
+       * relative to the `text` field.
+       * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public Builder removeOccurrences(int index) { + if (occurrencesBuilder_ == null) { + ensureOccurrencesIsMutable(); + occurrences_.remove(index); + onChanged(); + } else { + occurrencesBuilder_.remove(index); + } + return this; + } + /** + *
+       * (optional) Occurrences within the signature text that reference other
+       * symbols, enabling hyperlinking of types in the signature. Ranges are
+       * relative to the `text` field.
+       * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public scip.Scip.Occurrence.Builder getOccurrencesBuilder( + int index) { + return internalGetOccurrencesFieldBuilder().getBuilder(index); + } + /** + *
+       * (optional) Occurrences within the signature text that reference other
+       * symbols, enabling hyperlinking of types in the signature. Ranges are
+       * relative to the `text` field.
+       * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public scip.Scip.OccurrenceOrBuilder getOccurrencesOrBuilder( + int index) { + if (occurrencesBuilder_ == null) { + return occurrences_.get(index); } else { + return occurrencesBuilder_.getMessageOrBuilder(index); + } + } + /** + *
+       * (optional) Occurrences within the signature text that reference other
+       * symbols, enabling hyperlinking of types in the signature. Ranges are
+       * relative to the `text` field.
+       * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public java.util.List + getOccurrencesOrBuilderList() { + if (occurrencesBuilder_ != null) { + return occurrencesBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(occurrences_); + } + } + /** + *
+       * (optional) Occurrences within the signature text that reference other
+       * symbols, enabling hyperlinking of types in the signature. Ranges are
+       * relative to the `text` field.
+       * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public scip.Scip.Occurrence.Builder addOccurrencesBuilder() { + return internalGetOccurrencesFieldBuilder().addBuilder( + scip.Scip.Occurrence.getDefaultInstance()); + } + /** + *
+       * (optional) Occurrences within the signature text that reference other
+       * symbols, enabling hyperlinking of types in the signature. Ranges are
+       * relative to the `text` field.
+       * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public scip.Scip.Occurrence.Builder addOccurrencesBuilder( + int index) { + return internalGetOccurrencesFieldBuilder().addBuilder( + index, scip.Scip.Occurrence.getDefaultInstance()); + } + /** + *
+       * (optional) Occurrences within the signature text that reference other
+       * symbols, enabling hyperlinking of types in the signature. Ranges are
+       * relative to the `text` field.
+       * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public java.util.List + getOccurrencesBuilderList() { + return internalGetOccurrencesFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilder< + scip.Scip.Occurrence, scip.Scip.Occurrence.Builder, scip.Scip.OccurrenceOrBuilder> + internalGetOccurrencesFieldBuilder() { + if (occurrencesBuilder_ == null) { + occurrencesBuilder_ = new com.google.protobuf.RepeatedFieldBuilder< + scip.Scip.Occurrence, scip.Scip.Occurrence.Builder, scip.Scip.OccurrenceOrBuilder>( + occurrences_, + ((bitField0_ & 0x00000004) != 0), + getParentForChildren(), + isClean()); + occurrences_ = null; + } + return occurrencesBuilder_; + } + + // @@protoc_insertion_point(builder_scope:scip.Signature) + } + + // @@protoc_insertion_point(class_scope:scip.Signature) + private static final scip.Scip.Signature DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new scip.Scip.Signature(); + } + + public static scip.Scip.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 { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public scip.Scip.Signature getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface SymbolInformationOrBuilder extends + // @@protoc_insertion_point(interface_extends:scip.SymbolInformation) + com.google.protobuf.MessageOrBuilder { + + /** + *
+     * Identifier of this symbol, which can be referenced from `Occurence.symbol`.
+     * The string must be formatted according to the grammar in `Symbol`.
+     * 
+ * + * string symbol = 1 [json_name = "symbol"]; + * @return The symbol. + */ + java.lang.String getSymbol(); + /** + *
+     * Identifier of this symbol, which can be referenced from `Occurence.symbol`.
+     * The string must be formatted according to the grammar in `Symbol`.
+     * 
+ * + * string symbol = 1 [json_name = "symbol"]; + * @return The bytes for symbol. + */ + com.google.protobuf.ByteString + getSymbolBytes(); + + /** + *
+     * (optional, but strongly recommended) The markdown-formatted documentation
+     * for this symbol. Use `SymbolInformation.signature_documentation` to
+     * document the method/class/type signature of this symbol.
+     * Due to historical reasons, indexers may include signature documentation in
+     * this field by rendering markdown code blocks. New indexers should only
+     * include non-code documentation in this field, for example docstrings.
+     * 
+ * + * repeated string documentation = 3 [json_name = "documentation"]; + * @return A list containing the documentation. + */ + java.util.List + getDocumentationList(); + /** + *
+     * (optional, but strongly recommended) The markdown-formatted documentation
+     * for this symbol. Use `SymbolInformation.signature_documentation` to
+     * document the method/class/type signature of this symbol.
+     * Due to historical reasons, indexers may include signature documentation in
+     * this field by rendering markdown code blocks. New indexers should only
+     * include non-code documentation in this field, for example docstrings.
+     * 
+ * + * repeated string documentation = 3 [json_name = "documentation"]; + * @return The count of documentation. + */ + int getDocumentationCount(); + /** + *
+     * (optional, but strongly recommended) The markdown-formatted documentation
+     * for this symbol. Use `SymbolInformation.signature_documentation` to
+     * document the method/class/type signature of this symbol.
+     * Due to historical reasons, indexers may include signature documentation in
+     * this field by rendering markdown code blocks. New indexers should only
+     * include non-code documentation in this field, for example docstrings.
+     * 
+ * + * repeated string documentation = 3 [json_name = "documentation"]; + * @param index The index of the element to return. + * @return The documentation at the given index. + */ + java.lang.String getDocumentation(int index); + /** + *
+     * (optional, but strongly recommended) The markdown-formatted documentation
+     * for this symbol. Use `SymbolInformation.signature_documentation` to
+     * document the method/class/type signature of this symbol.
+     * Due to historical reasons, indexers may include signature documentation in
+     * this field by rendering markdown code blocks. New indexers should only
+     * include non-code documentation in this field, for example docstrings.
+     * 
+ * + * repeated string documentation = 3 [json_name = "documentation"]; + * @param index The index of the value to return. + * @return The bytes of the documentation at the given index. + */ + com.google.protobuf.ByteString + getDocumentationBytes(int index); + + /** + *
+     * (optional) Relationships to other symbols (e.g., implements, type definition).
+     * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + java.util.List + getRelationshipsList(); + /** + *
+     * (optional) Relationships to other symbols (e.g., implements, type definition).
+     * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + scip.Scip.Relationship getRelationships(int index); + /** + *
+     * (optional) Relationships to other symbols (e.g., implements, type definition).
+     * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + int getRelationshipsCount(); + /** + *
+     * (optional) Relationships to other symbols (e.g., implements, type definition).
+     * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + java.util.List + getRelationshipsOrBuilderList(); + /** + *
+     * (optional) Relationships to other symbols (e.g., implements, type definition).
+     * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + scip.Scip.RelationshipOrBuilder getRelationshipsOrBuilder( + int index); + + /** + *
+     * The kind of this symbol. Use this field instead of
+     * `SymbolDescriptor.Suffix` to determine whether something is, for example, a
+     * class or a method.
+     * 
+ * + * .scip.SymbolInformation.Kind kind = 5 [json_name = "kind"]; + * @return The enum numeric value on the wire for kind. + */ + int getKindValue(); + /** + *
+     * The kind of this symbol. Use this field instead of
+     * `SymbolDescriptor.Suffix` to determine whether something is, for example, a
+     * class or a method.
+     * 
+ * + * .scip.SymbolInformation.Kind kind = 5 [json_name = "kind"]; + * @return The kind. + */ + scip.Scip.SymbolInformation.Kind getKind(); + + /** + *
+     * (optional) The name of this symbol as it should be displayed to the user.
+     * For example, the symbol "com/example/MyClass#myMethod(+1)." should have the
+     * display name "myMethod". The `symbol` field is not a reliable source of
+     * the display name for several reasons:
+     *
+     * - Local symbols don't encode the name.
+     * - Some languages have case-insensitive names, so the symbol is all-lowercase.
+     * - The symbol may encode names with special characters that should not be
+     * displayed to the user.
+     * 
+ * + * string display_name = 6 [json_name = "displayName"]; + * @return The displayName. + */ + java.lang.String getDisplayName(); + /** + *
+     * (optional) The name of this symbol as it should be displayed to the user.
+     * For example, the symbol "com/example/MyClass#myMethod(+1)." should have the
+     * display name "myMethod". The `symbol` field is not a reliable source of
+     * the display name for several reasons:
+     *
+     * - Local symbols don't encode the name.
+     * - Some languages have case-insensitive names, so the symbol is all-lowercase.
+     * - The symbol may encode names with special characters that should not be
+     * displayed to the user.
+     * 
+ * + * string display_name = 6 [json_name = "displayName"]; + * @return The bytes for displayName. + */ + com.google.protobuf.ByteString + getDisplayNameBytes(); + + /** + *
+     * (optional) The signature of this symbol as it's displayed in API
+     * documentation or in hover tooltips. For example, a Java method that adds
+     * two numbers would have `Signature.language = "java"` and
+     * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
+     * fields are required while `occurrences` can be optionally included to
+     * support hyperlinking referenced symbols in the signature.
+     * 
+ * + * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; + * @return Whether the signatureDocumentation field is set. + */ + boolean hasSignatureDocumentation(); + /** + *
+     * (optional) The signature of this symbol as it's displayed in API
+     * documentation or in hover tooltips. For example, a Java method that adds
+     * two numbers would have `Signature.language = "java"` and
+     * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
+     * fields are required while `occurrences` can be optionally included to
+     * support hyperlinking referenced symbols in the signature.
+     * 
+ * + * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; + * @return The signatureDocumentation. + */ + scip.Scip.Signature getSignatureDocumentation(); + /** + *
+     * (optional) The signature of this symbol as it's displayed in API
+     * documentation or in hover tooltips. For example, a Java method that adds
+     * two numbers would have `Signature.language = "java"` and
+     * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
+     * fields are required while `occurrences` can be optionally included to
+     * support hyperlinking referenced symbols in the signature.
+     * 
+ * + * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; + */ + scip.Scip.SignatureOrBuilder getSignatureDocumentationOrBuilder(); + + /** + *
+     * (optional) The enclosing symbol if this is a local symbol.  For non-local
+     * symbols, the enclosing symbol should be parsed from the `symbol` field
+     * using the `Descriptor` grammar.
+     *
+     * The primary use-case for this field is to allow local symbol to be displayed
+     * in a symbol hierarchy for API documentation. It's OK to leave this field
+     * empty for local variables since local variables usually don't belong in API
+     * documentation. However, in the situation that you wish to include a local
+     * symbol in the hierarchy, then you can use `enclosing_symbol` to locate the
+     * "parent" or "owner" of this local symbol. For example, a Java indexer may
+     * choose to use local symbols for private class fields while providing an
+     * `enclosing_symbol` to reference the enclosing class to allow the field to
+     * be part of the class documentation hierarchy. From the perspective of an
+     * author of an indexer, the decision to use a local symbol or global symbol
+     * should exclusively be determined whether the local symbol is accessible
+     * outside the document, not by the capability to find the enclosing
+     * symbol.
+     * 
+ * + * string enclosing_symbol = 8 [json_name = "enclosingSymbol"]; + * @return The enclosingSymbol. + */ + java.lang.String getEnclosingSymbol(); + /** + *
+     * (optional) The enclosing symbol if this is a local symbol.  For non-local
+     * symbols, the enclosing symbol should be parsed from the `symbol` field
+     * using the `Descriptor` grammar.
+     *
+     * The primary use-case for this field is to allow local symbol to be displayed
+     * in a symbol hierarchy for API documentation. It's OK to leave this field
+     * empty for local variables since local variables usually don't belong in API
+     * documentation. However, in the situation that you wish to include a local
+     * symbol in the hierarchy, then you can use `enclosing_symbol` to locate the
+     * "parent" or "owner" of this local symbol. For example, a Java indexer may
+     * choose to use local symbols for private class fields while providing an
+     * `enclosing_symbol` to reference the enclosing class to allow the field to
+     * be part of the class documentation hierarchy. From the perspective of an
+     * author of an indexer, the decision to use a local symbol or global symbol
+     * should exclusively be determined whether the local symbol is accessible
+     * outside the document, not by the capability to find the enclosing
+     * symbol.
+     * 
+ * + * string enclosing_symbol = 8 [json_name = "enclosingSymbol"]; + * @return The bytes for enclosingSymbol. + */ + com.google.protobuf.ByteString + getEnclosingSymbolBytes(); + } + /** + *
+   * SymbolInformation defines metadata about a symbol, such as the symbol's
+   * docstring or what package it's defined it.
+   * 
+ * + * Protobuf type {@code scip.SymbolInformation} + */ + public static final class SymbolInformation extends + com.google.protobuf.GeneratedMessage implements + // @@protoc_insertion_point(message_implements:scip.SymbolInformation) + SymbolInformationOrBuilder { + private static final long serialVersionUID = 0L; + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 32, + /* patch= */ 1, + /* suffix= */ "", + SymbolInformation.class.getName()); + } + // Use SymbolInformation.newBuilder() to construct. + private SymbolInformation(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + private SymbolInformation() { + symbol_ = ""; + documentation_ = + com.google.protobuf.LazyStringArrayList.emptyList(); + relationships_ = java.util.Collections.emptyList(); + kind_ = 0; + displayName_ = ""; + enclosingSymbol_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return scip.Scip.internal_static_scip_SymbolInformation_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return scip.Scip.internal_static_scip_SymbolInformation_fieldAccessorTable + .ensureFieldAccessorsInitialized( + scip.Scip.SymbolInformation.class, scip.Scip.SymbolInformation.Builder.class); + } + + /** + *
+     * (optional) Kind represents the fine-grained category of a symbol, suitable for presenting
+     * information about the symbol's meaning in the language.
+     *
+     * For example:
+     * - A Java method would have the kind `Method` while a Go function would
+     * have the kind `Function`, even if the symbols for these use the same
+     * syntax for the descriptor `SymbolDescriptor.Suffix.Method`.
+     * - A Go struct has the symbol kind `Struct` while a Java class has
+     * the symbol kind `Class` even if they both have the same descriptor:
+     * `SymbolDescriptor.Suffix.Type`.
+     *
+     * Since Kind is more fine-grained than Suffix:
+     * - If two symbols have the same Kind, they should share the same Suffix.
+     * - If two symbols have different Suffixes, they should have different Kinds.
+     * 
+ * + * Protobuf enum {@code scip.SymbolInformation.Kind} + */ + public enum Kind + implements com.google.protobuf.ProtocolMessageEnum { + /** + * UnspecifiedKind = 0; + */ + UnspecifiedKind(0), + /** + *
+       * A method which may or may not have a body. For Java, Kotlin etc.
+       * 
+ * + * AbstractMethod = 66; + */ + AbstractMethod(66), + /** + *
+       * For Ruby's attr_accessor
+       * 
+ * + * Accessor = 72; + */ + Accessor(72), + /** + * Array = 1; + */ + Array(1), + /** + *
+       * For Alloy
+       * 
+ * + * Assertion = 2; + */ + Assertion(2), + /** + * AssociatedType = 3; + */ + AssociatedType(3), + /** + *
+       * For C++
+       * 
+ * + * Attribute = 4; + */ + Attribute(4), + /** + *
+       * For Lean
+       * 
+ * + * Axiom = 5; + */ + Axiom(5), + /** + * Boolean = 6; + */ + Boolean(6), + /** + * Class = 7; + */ + Class(7), + /** + *
+       * For C++
+       * 
+ * + * Concept = 86; + */ + Concept(86), + /** + * Constant = 8; + */ + Constant(8), + /** + * Constructor = 9; + */ + Constructor(9), + /** + *
+       * For Solidity
+       * 
+ * + * Contract = 62; + */ + Contract(62), + /** + *
+       * For Haskell
+       * 
+ * + * DataFamily = 10; + */ + DataFamily(10), + /** + *
+       * For C# and F#
+       * 
+ * + * Delegate = 73; + */ + Delegate(73), + /** + * Enum = 11; + */ + Enum(11), + /** + * EnumMember = 12; + */ + EnumMember(12), + /** + * Error = 63; + */ + Error(63), + /** + * Event = 13; + */ + Event(13), + /** + *
+       * For Dart
+       * 
+ * + * Extension = 84; + */ + Extension(84), + /** + *
+       * For Alloy
+       * 
+ * + * Fact = 14; + */ + Fact(14), + /** + * Field = 15; + */ + Field(15), + /** + * File = 16; + */ + File(16), + /** + * Function = 17; + */ + Function(17), + /** + *
+       * For 'get' in Swift, 'attr_reader' in Ruby
+       * 
+ * + * Getter = 18; + */ + Getter(18), + /** + *
+       * For Raku
+       * 
+ * + * Grammar = 19; + */ + Grammar(19), + /** + *
+       * For Purescript and Lean
+       * 
+ * + * Instance = 20; + */ + Instance(20), + /** + * Interface = 21; + */ + Interface(21), + /** + * Key = 22; + */ + Key(22), + /** + *
+       * For Racket
+       * 
+ * + * Lang = 23; + */ + Lang(23), + /** + *
+       * For Lean
+       * 
+ * + * Lemma = 24; + */ + Lemma(24), + /** + *
+       * For solidity
+       * 
+ * + * Library = 64; + */ + Library(64), + /** + * Macro = 25; + */ + Macro(25), + /** + * Method = 26; + */ + Method(26), + /** + *
+       * For Ruby
+       * 
+ * + * MethodAlias = 74; + */ + MethodAlias(74), + /** + *
+       * Analogous to 'ThisParameter' and 'SelfParameter', but for languages
+       * like Go where the receiver doesn't have a conventional name.
+       * 
+ * + * MethodReceiver = 27; + */ + MethodReceiver(27), + /** + *
+       * Analogous to 'AbstractMethod', for Go.
+       * 
+ * + * MethodSpecification = 67; + */ + MethodSpecification(67), + /** + *
+       * For Protobuf
+       * 
+ * + * Message = 28; + */ + Message(28), + /** + *
+       * For Dart
+       * 
+ * + * Mixin = 85; + */ + Mixin(85), + /** + *
+       * For Solidity
+       * 
+ * + * Modifier = 65; + */ + Modifier(65), + /** + * Module = 29; + */ + Module(29), + /** + * Namespace = 30; + */ + Namespace(30), + /** + * Null = 31; + */ + Null(31), + /** + * Number = 32; + */ + Number(32), + /** + * Object = 33; + */ + Object(33), + /** + * Operator = 34; + */ + Operator(34), + /** + * Package = 35; + */ + Package(35), + /** + * PackageObject = 36; + */ + PackageObject(36), + /** + * Parameter = 37; + */ + Parameter(37), + /** + * ParameterLabel = 38; + */ + ParameterLabel(38), + /** + *
+       * For Haskell's PatternSynonyms
+       * 
+ * + * Pattern = 39; + */ + Pattern(39), + /** + *
+       * For Alloy
+       * 
+ * + * Predicate = 40; + */ + Predicate(40), + /** + * Property = 41; + */ + Property(41), + /** + *
+       * Analogous to 'Trait' and 'TypeClass', for Swift and Objective-C
+       * 
+ * + * Protocol = 42; + */ + Protocol(42), + /** + *
+       * Analogous to 'AbstractMethod', for Swift and Objective-C.
+       * 
+ * + * ProtocolMethod = 68; + */ + ProtocolMethod(68), + /** + *
+       * Analogous to 'AbstractMethod', for C++.
+       * 
+ * + * PureVirtualMethod = 69; + */ + PureVirtualMethod(69), + /** + *
+       * For Haskell
+       * 
+ * + * Quasiquoter = 43; + */ + Quasiquoter(43), + /** + *
+       * 'self' in Python, Rust, Swift etc.
+       * 
+ * + * SelfParameter = 44; + */ + SelfParameter(44), + /** + *
+       * For 'set' in Swift, 'attr_writer' in Ruby
+       * 
+ * + * Setter = 45; + */ + Setter(45), + /** + *
+       * For Alloy, analogous to 'Struct'.
+       * 
+ * + * Signature = 46; + */ + Signature(46), + /** + *
+       * For Ruby
+       * 
+ * + * SingletonClass = 75; + */ + SingletonClass(75), + /** + *
+       * Analogous to 'StaticMethod', for Ruby.
+       * 
+ * + * SingletonMethod = 76; + */ + SingletonMethod(76), + /** + *
+       * Analogous to 'StaticField', for C++
+       * 
+ * + * StaticDataMember = 77; + */ + StaticDataMember(77), + /** + *
+       * For C#
+       * 
+ * + * StaticEvent = 78; + */ + StaticEvent(78), + /** + *
+       * For C#
+       * 
+ * + * StaticField = 79; + */ + StaticField(79), + /** + *
+       * For Java, C#, C++ etc.
+       * 
+ * + * StaticMethod = 80; + */ + StaticMethod(80), + /** + *
+       * For C#, TypeScript etc.
+       * 
+ * + * StaticProperty = 81; + */ + StaticProperty(81), + /** + *
+       * For C, C++
+       * 
+ * + * StaticVariable = 82; + */ + StaticVariable(82), + /** + * String = 48; + */ + String(48), + /** + * Struct = 49; + */ + Struct(49), + /** + *
+       * For Swift
+       * 
+ * + * Subscript = 47; + */ + Subscript(47), + /** + *
+       * For Lean
+       * 
+ * + * Tactic = 50; + */ + Tactic(50), + /** + *
+       * For Lean
+       * 
+ * + * Theorem = 51; + */ + Theorem(51), + /** + *
+       * Method receiver for languages
+       * 'this' in JavaScript, C++, Java etc.
+       * 
+ * + * ThisParameter = 52; + */ + ThisParameter(52), + /** + *
+       * Analogous to 'Protocol' and 'TypeClass', for Rust, Scala etc.
+       * 
+ * + * Trait = 53; + */ + Trait(53), + /** + *
+       * Analogous to 'AbstractMethod', for Rust, Scala etc.
+       * 
+ * + * TraitMethod = 70; + */ + TraitMethod(70), + /** + *
+       * Data type definition for languages like OCaml which use `type`
+       * rather than separate keywords like `struct` and `enum`.
+       * 
+ * + * Type = 54; + */ + Type(54), + /** + * TypeAlias = 55; + */ + TypeAlias(55), + /** + *
+       * Analogous to 'Trait' and 'Protocol', for Haskell, Purescript etc.
+       * 
+ * + * TypeClass = 56; + */ + TypeClass(56), + /** + *
+       * Analogous to 'AbstractMethod', for Haskell, Purescript etc.
+       * 
+ * + * TypeClassMethod = 71; + */ + TypeClassMethod(71), + /** + *
+       * For Haskell
+       * 
+ * + * TypeFamily = 57; + */ + TypeFamily(57), + /** + * TypeParameter = 58; + */ + TypeParameter(58), + /** + *
+       * For C, C++, Capn Proto
+       * 
+ * + * Union = 59; + */ + Union(59), + /** + * Value = 60; + */ + Value(60), + /** + *
+       * Next = 87;
+       * Feel free to open a PR proposing new language-specific kinds.
+       * 
+ * + * Variable = 61; + */ + Variable(61), + UNRECOGNIZED(-1), + ; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 32, + /* patch= */ 1, + /* suffix= */ "", + Kind.class.getName()); + } + /** + * UnspecifiedKind = 0; + */ + public static final int UnspecifiedKind_VALUE = 0; + /** + *
+       * A method which may or may not have a body. For Java, Kotlin etc.
+       * 
+ * + * AbstractMethod = 66; + */ + public static final int AbstractMethod_VALUE = 66; + /** + *
+       * For Ruby's attr_accessor
+       * 
+ * + * Accessor = 72; + */ + public static final int Accessor_VALUE = 72; + /** + * Array = 1; + */ + public static final int Array_VALUE = 1; + /** + *
+       * For Alloy
+       * 
+ * + * Assertion = 2; + */ + public static final int Assertion_VALUE = 2; + /** + * AssociatedType = 3; + */ + public static final int AssociatedType_VALUE = 3; + /** + *
+       * For C++
+       * 
+ * + * Attribute = 4; + */ + public static final int Attribute_VALUE = 4; + /** + *
+       * For Lean
+       * 
+ * + * Axiom = 5; + */ + public static final int Axiom_VALUE = 5; + /** + * Boolean = 6; + */ + public static final int Boolean_VALUE = 6; + /** + * Class = 7; + */ + public static final int Class_VALUE = 7; + /** + *
+       * For C++
+       * 
+ * + * Concept = 86; + */ + public static final int Concept_VALUE = 86; + /** + * Constant = 8; + */ + public static final int Constant_VALUE = 8; + /** + * Constructor = 9; + */ + public static final int Constructor_VALUE = 9; + /** + *
+       * For Solidity
+       * 
+ * + * Contract = 62; + */ + public static final int Contract_VALUE = 62; + /** + *
+       * For Haskell
+       * 
+ * + * DataFamily = 10; + */ + public static final int DataFamily_VALUE = 10; + /** + *
+       * For C# and F#
+       * 
+ * + * Delegate = 73; + */ + public static final int Delegate_VALUE = 73; + /** + * Enum = 11; + */ + public static final int Enum_VALUE = 11; + /** + * EnumMember = 12; + */ + public static final int EnumMember_VALUE = 12; + /** + * Error = 63; + */ + public static final int Error_VALUE = 63; + /** + * Event = 13; + */ + public static final int Event_VALUE = 13; + /** + *
+       * For Dart
+       * 
+ * + * Extension = 84; + */ + public static final int Extension_VALUE = 84; + /** + *
+       * For Alloy
+       * 
+ * + * Fact = 14; + */ + public static final int Fact_VALUE = 14; + /** + * Field = 15; + */ + public static final int Field_VALUE = 15; + /** + * File = 16; + */ + public static final int File_VALUE = 16; + /** + * Function = 17; + */ + public static final int Function_VALUE = 17; + /** + *
+       * For 'get' in Swift, 'attr_reader' in Ruby
+       * 
+ * + * Getter = 18; + */ + public static final int Getter_VALUE = 18; + /** + *
+       * For Raku
+       * 
+ * + * Grammar = 19; + */ + public static final int Grammar_VALUE = 19; + /** + *
+       * For Purescript and Lean
+       * 
+ * + * Instance = 20; + */ + public static final int Instance_VALUE = 20; + /** + * Interface = 21; + */ + public static final int Interface_VALUE = 21; + /** + * Key = 22; + */ + public static final int Key_VALUE = 22; + /** + *
+       * For Racket
+       * 
+ * + * Lang = 23; + */ + public static final int Lang_VALUE = 23; + /** + *
+       * For Lean
+       * 
+ * + * Lemma = 24; + */ + public static final int Lemma_VALUE = 24; + /** + *
+       * For solidity
+       * 
+ * + * Library = 64; + */ + public static final int Library_VALUE = 64; + /** + * Macro = 25; + */ + public static final int Macro_VALUE = 25; + /** + * Method = 26; + */ + public static final int Method_VALUE = 26; + /** + *
+       * For Ruby
+       * 
+ * + * MethodAlias = 74; + */ + public static final int MethodAlias_VALUE = 74; + /** + *
+       * Analogous to 'ThisParameter' and 'SelfParameter', but for languages
+       * like Go where the receiver doesn't have a conventional name.
+       * 
+ * + * MethodReceiver = 27; + */ + public static final int MethodReceiver_VALUE = 27; + /** + *
+       * Analogous to 'AbstractMethod', for Go.
+       * 
+ * + * MethodSpecification = 67; + */ + public static final int MethodSpecification_VALUE = 67; + /** + *
+       * For Protobuf
+       * 
+ * + * Message = 28; + */ + public static final int Message_VALUE = 28; + /** + *
+       * For Dart
+       * 
+ * + * Mixin = 85; + */ + public static final int Mixin_VALUE = 85; + /** + *
+       * For Solidity
+       * 
+ * + * Modifier = 65; + */ + public static final int Modifier_VALUE = 65; + /** + * Module = 29; + */ + public static final int Module_VALUE = 29; + /** + * Namespace = 30; + */ + public static final int Namespace_VALUE = 30; + /** + * Null = 31; + */ + public static final int Null_VALUE = 31; + /** + * Number = 32; + */ + public static final int Number_VALUE = 32; + /** + * Object = 33; + */ + public static final int Object_VALUE = 33; + /** + * Operator = 34; + */ + public static final int Operator_VALUE = 34; + /** + * Package = 35; + */ + public static final int Package_VALUE = 35; + /** + * PackageObject = 36; + */ + public static final int PackageObject_VALUE = 36; + /** + * Parameter = 37; + */ + public static final int Parameter_VALUE = 37; + /** + * ParameterLabel = 38; + */ + public static final int ParameterLabel_VALUE = 38; + /** + *
+       * For Haskell's PatternSynonyms
+       * 
+ * + * Pattern = 39; + */ + public static final int Pattern_VALUE = 39; + /** + *
+       * For Alloy
+       * 
+ * + * Predicate = 40; + */ + public static final int Predicate_VALUE = 40; + /** + * Property = 41; + */ + public static final int Property_VALUE = 41; + /** + *
+       * Analogous to 'Trait' and 'TypeClass', for Swift and Objective-C
+       * 
+ * + * Protocol = 42; + */ + public static final int Protocol_VALUE = 42; + /** + *
+       * Analogous to 'AbstractMethod', for Swift and Objective-C.
+       * 
+ * + * ProtocolMethod = 68; + */ + public static final int ProtocolMethod_VALUE = 68; + /** + *
+       * Analogous to 'AbstractMethod', for C++.
+       * 
+ * + * PureVirtualMethod = 69; + */ + public static final int PureVirtualMethod_VALUE = 69; + /** + *
+       * For Haskell
+       * 
+ * + * Quasiquoter = 43; + */ + public static final int Quasiquoter_VALUE = 43; + /** + *
+       * 'self' in Python, Rust, Swift etc.
+       * 
+ * + * SelfParameter = 44; + */ + public static final int SelfParameter_VALUE = 44; + /** + *
+       * For 'set' in Swift, 'attr_writer' in Ruby
+       * 
+ * + * Setter = 45; + */ + public static final int Setter_VALUE = 45; + /** + *
+       * For Alloy, analogous to 'Struct'.
+       * 
+ * + * Signature = 46; + */ + public static final int Signature_VALUE = 46; + /** + *
+       * For Ruby
+       * 
+ * + * SingletonClass = 75; + */ + public static final int SingletonClass_VALUE = 75; + /** + *
+       * Analogous to 'StaticMethod', for Ruby.
+       * 
+ * + * SingletonMethod = 76; + */ + public static final int SingletonMethod_VALUE = 76; + /** + *
+       * Analogous to 'StaticField', for C++
+       * 
+ * + * StaticDataMember = 77; + */ + public static final int StaticDataMember_VALUE = 77; + /** + *
+       * For C#
+       * 
+ * + * StaticEvent = 78; + */ + public static final int StaticEvent_VALUE = 78; + /** + *
+       * For C#
+       * 
+ * + * StaticField = 79; + */ + public static final int StaticField_VALUE = 79; + /** + *
+       * For Java, C#, C++ etc.
+       * 
+ * + * StaticMethod = 80; + */ + public static final int StaticMethod_VALUE = 80; + /** + *
+       * For C#, TypeScript etc.
+       * 
+ * + * StaticProperty = 81; + */ + public static final int StaticProperty_VALUE = 81; + /** + *
+       * For C, C++
+       * 
+ * + * StaticVariable = 82; + */ + public static final int StaticVariable_VALUE = 82; + /** + * String = 48; + */ + public static final int String_VALUE = 48; + /** + * Struct = 49; + */ + public static final int Struct_VALUE = 49; + /** + *
+       * For Swift
+       * 
+ * + * Subscript = 47; + */ + public static final int Subscript_VALUE = 47; + /** + *
+       * For Lean
+       * 
+ * + * Tactic = 50; + */ + public static final int Tactic_VALUE = 50; + /** + *
+       * For Lean
+       * 
+ * + * Theorem = 51; + */ + public static final int Theorem_VALUE = 51; + /** + *
+       * Method receiver for languages
+       * 'this' in JavaScript, C++, Java etc.
+       * 
+ * + * ThisParameter = 52; + */ + public static final int ThisParameter_VALUE = 52; + /** + *
+       * Analogous to 'Protocol' and 'TypeClass', for Rust, Scala etc.
+       * 
+ * + * Trait = 53; + */ + public static final int Trait_VALUE = 53; + /** + *
+       * Analogous to 'AbstractMethod', for Rust, Scala etc.
+       * 
+ * + * TraitMethod = 70; + */ + public static final int TraitMethod_VALUE = 70; + /** + *
+       * Data type definition for languages like OCaml which use `type`
+       * rather than separate keywords like `struct` and `enum`.
+       * 
+ * + * Type = 54; + */ + public static final int Type_VALUE = 54; + /** + * TypeAlias = 55; + */ + public static final int TypeAlias_VALUE = 55; + /** + *
+       * Analogous to 'Trait' and 'Protocol', for Haskell, Purescript etc.
+       * 
+ * + * TypeClass = 56; + */ + public static final int TypeClass_VALUE = 56; + /** + *
+       * Analogous to 'AbstractMethod', for Haskell, Purescript etc.
+       * 
+ * + * TypeClassMethod = 71; + */ + public static final int TypeClassMethod_VALUE = 71; + /** + *
+       * For Haskell
+       * 
+ * + * TypeFamily = 57; + */ + public static final int TypeFamily_VALUE = 57; + /** + * TypeParameter = 58; + */ + public static final int TypeParameter_VALUE = 58; + /** + *
+       * For C, C++, Capn Proto
+       * 
+ * + * Union = 59; + */ + public static final int Union_VALUE = 59; + /** + * Value = 60; + */ + public static final int Value_VALUE = 60; + /** + *
+       * Next = 87;
+       * Feel free to open a PR proposing new language-specific kinds.
+       * 
+ * + * Variable = 61; + */ + public static final int Variable_VALUE = 61; + + + 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 UnspecifiedKind; + case 66: return AbstractMethod; + case 72: return Accessor; + case 1: return Array; + case 2: return Assertion; + case 3: return AssociatedType; + case 4: return Attribute; + case 5: return Axiom; + case 6: return Boolean; + case 7: return Class; + case 86: return Concept; + case 8: return Constant; + case 9: return Constructor; + case 62: return Contract; + case 10: return DataFamily; + case 73: return Delegate; + case 11: return Enum; + case 12: return EnumMember; + case 63: return Error; + case 13: return Event; + case 84: return Extension; + case 14: return Fact; + case 15: return Field; + case 16: return File; + case 17: return Function; + case 18: return Getter; + case 19: return Grammar; + case 20: return Instance; + case 21: return Interface; + case 22: return Key; + case 23: return Lang; + case 24: return Lemma; + case 64: return Library; + case 25: return Macro; + case 26: return Method; + case 74: return MethodAlias; + case 27: return MethodReceiver; + case 67: return MethodSpecification; + case 28: return Message; + case 85: return Mixin; + case 65: return Modifier; + case 29: return Module; + case 30: return Namespace; + case 31: return Null; + case 32: return Number; + case 33: return Object; + case 34: return Operator; + case 35: return Package; + case 36: return PackageObject; + case 37: return Parameter; + case 38: return ParameterLabel; + case 39: return Pattern; + case 40: return Predicate; + case 41: return Property; + case 42: return Protocol; + case 68: return ProtocolMethod; + case 69: return PureVirtualMethod; + case 43: return Quasiquoter; + case 44: return SelfParameter; + case 45: return Setter; + case 46: return Signature; + case 75: return SingletonClass; + case 76: return SingletonMethod; + case 77: return StaticDataMember; + case 78: return StaticEvent; + case 79: return StaticField; + case 80: return StaticMethod; + case 81: return StaticProperty; + case 82: return StaticVariable; + case 48: return String; + case 49: return Struct; + case 47: return Subscript; + case 50: return Tactic; + case 51: return Theorem; + case 52: return ThisParameter; + case 53: return Trait; + case 70: return TraitMethod; + case 54: return Type; + case 55: return TypeAlias; + case 56: return TypeClass; + case 71: return TypeClassMethod; + case 57: return TypeFamily; + case 58: return TypeParameter; + case 59: return Union; + case 60: return Value; + case 61: return Variable; + 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 com.google.protobuf.Descriptors.EnumDescriptor + getDescriptor() { + return scip.Scip.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:scip.SymbolInformation.Kind) + } + + private int bitField0_; + public static final int SYMBOL_FIELD_NUMBER = 1; + @SuppressWarnings("serial") + private volatile java.lang.Object symbol_ = ""; + /** + *
+     * Identifier of this symbol, which can be referenced from `Occurence.symbol`.
+     * The string must be formatted according to the grammar in `Symbol`.
+     * 
+ * + * string symbol = 1 [json_name = "symbol"]; + * @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; + } + } + /** + *
+     * Identifier of this symbol, which can be referenced from `Occurence.symbol`.
+     * The string must be formatted according to the grammar in `Symbol`.
+     * 
+ * + * string symbol = 1 [json_name = "symbol"]; + * @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 DOCUMENTATION_FIELD_NUMBER = 3; + @SuppressWarnings("serial") + private com.google.protobuf.LazyStringArrayList documentation_ = + com.google.protobuf.LazyStringArrayList.emptyList(); + /** + *
+     * (optional, but strongly recommended) The markdown-formatted documentation
+     * for this symbol. Use `SymbolInformation.signature_documentation` to
+     * document the method/class/type signature of this symbol.
+     * Due to historical reasons, indexers may include signature documentation in
+     * this field by rendering markdown code blocks. New indexers should only
+     * include non-code documentation in this field, for example docstrings.
+     * 
+ * + * repeated string documentation = 3 [json_name = "documentation"]; + * @return A list containing the documentation. + */ + public com.google.protobuf.ProtocolStringList + getDocumentationList() { + return documentation_; + } + /** + *
+     * (optional, but strongly recommended) The markdown-formatted documentation
+     * for this symbol. Use `SymbolInformation.signature_documentation` to
+     * document the method/class/type signature of this symbol.
+     * Due to historical reasons, indexers may include signature documentation in
+     * this field by rendering markdown code blocks. New indexers should only
+     * include non-code documentation in this field, for example docstrings.
+     * 
+ * + * repeated string documentation = 3 [json_name = "documentation"]; + * @return The count of documentation. + */ + public int getDocumentationCount() { + return documentation_.size(); + } + /** + *
+     * (optional, but strongly recommended) The markdown-formatted documentation
+     * for this symbol. Use `SymbolInformation.signature_documentation` to
+     * document the method/class/type signature of this symbol.
+     * Due to historical reasons, indexers may include signature documentation in
+     * this field by rendering markdown code blocks. New indexers should only
+     * include non-code documentation in this field, for example docstrings.
+     * 
+ * + * repeated string documentation = 3 [json_name = "documentation"]; + * @param index The index of the element to return. + * @return The documentation at the given index. + */ + public java.lang.String getDocumentation(int index) { + return documentation_.get(index); + } + /** + *
+     * (optional, but strongly recommended) The markdown-formatted documentation
+     * for this symbol. Use `SymbolInformation.signature_documentation` to
+     * document the method/class/type signature of this symbol.
+     * Due to historical reasons, indexers may include signature documentation in
+     * this field by rendering markdown code blocks. New indexers should only
+     * include non-code documentation in this field, for example docstrings.
+     * 
+ * + * repeated string documentation = 3 [json_name = "documentation"]; + * @param index The index of the value to return. + * @return The bytes of the documentation at the given index. + */ + public com.google.protobuf.ByteString + getDocumentationBytes(int index) { + return documentation_.getByteString(index); + } + + public static final int RELATIONSHIPS_FIELD_NUMBER = 4; + @SuppressWarnings("serial") + private java.util.List relationships_; + /** + *
+     * (optional) Relationships to other symbols (e.g., implements, type definition).
+     * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + @java.lang.Override + public java.util.List getRelationshipsList() { + return relationships_; + } + /** + *
+     * (optional) Relationships to other symbols (e.g., implements, type definition).
+     * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + @java.lang.Override + public java.util.List + getRelationshipsOrBuilderList() { + return relationships_; + } + /** + *
+     * (optional) Relationships to other symbols (e.g., implements, type definition).
+     * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + @java.lang.Override + public int getRelationshipsCount() { + return relationships_.size(); + } + /** + *
+     * (optional) Relationships to other symbols (e.g., implements, type definition).
+     * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + @java.lang.Override + public scip.Scip.Relationship getRelationships(int index) { + return relationships_.get(index); + } + /** + *
+     * (optional) Relationships to other symbols (e.g., implements, type definition).
+     * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + @java.lang.Override + public scip.Scip.RelationshipOrBuilder getRelationshipsOrBuilder( + int index) { + return relationships_.get(index); + } + + public static final int KIND_FIELD_NUMBER = 5; + private int kind_ = 0; + /** + *
+     * The kind of this symbol. Use this field instead of
+     * `SymbolDescriptor.Suffix` to determine whether something is, for example, a
+     * class or a method.
+     * 
+ * + * .scip.SymbolInformation.Kind kind = 5 [json_name = "kind"]; + * @return The enum numeric value on the wire for kind. + */ + @java.lang.Override public int getKindValue() { + return kind_; + } + /** + *
+     * The kind of this symbol. Use this field instead of
+     * `SymbolDescriptor.Suffix` to determine whether something is, for example, a
+     * class or a method.
+     * 
+ * + * .scip.SymbolInformation.Kind kind = 5 [json_name = "kind"]; + * @return The kind. + */ + @java.lang.Override public scip.Scip.SymbolInformation.Kind getKind() { + scip.Scip.SymbolInformation.Kind result = scip.Scip.SymbolInformation.Kind.forNumber(kind_); + return result == null ? scip.Scip.SymbolInformation.Kind.UNRECOGNIZED : result; + } + + public static final int DISPLAY_NAME_FIELD_NUMBER = 6; + @SuppressWarnings("serial") + private volatile java.lang.Object displayName_ = ""; + /** + *
+     * (optional) The name of this symbol as it should be displayed to the user.
+     * For example, the symbol "com/example/MyClass#myMethod(+1)." should have the
+     * display name "myMethod". The `symbol` field is not a reliable source of
+     * the display name for several reasons:
+     *
+     * - Local symbols don't encode the name.
+     * - Some languages have case-insensitive names, so the symbol is all-lowercase.
+     * - The symbol may encode names with special characters that should not be
+     * displayed to the user.
+     * 
+ * + * string display_name = 6 [json_name = "displayName"]; + * @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; + } + } + /** + *
+     * (optional) The name of this symbol as it should be displayed to the user.
+     * For example, the symbol "com/example/MyClass#myMethod(+1)." should have the
+     * display name "myMethod". The `symbol` field is not a reliable source of
+     * the display name for several reasons:
+     *
+     * - Local symbols don't encode the name.
+     * - Some languages have case-insensitive names, so the symbol is all-lowercase.
+     * - The symbol may encode names with special characters that should not be
+     * displayed to the user.
+     * 
+ * + * string display_name = 6 [json_name = "displayName"]; + * @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_DOCUMENTATION_FIELD_NUMBER = 7; + private scip.Scip.Signature signatureDocumentation_; + /** + *
+     * (optional) The signature of this symbol as it's displayed in API
+     * documentation or in hover tooltips. For example, a Java method that adds
+     * two numbers would have `Signature.language = "java"` and
+     * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
+     * fields are required while `occurrences` can be optionally included to
+     * support hyperlinking referenced symbols in the signature.
+     * 
+ * + * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; + * @return Whether the signatureDocumentation field is set. + */ + @java.lang.Override + public boolean hasSignatureDocumentation() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + *
+     * (optional) The signature of this symbol as it's displayed in API
+     * documentation or in hover tooltips. For example, a Java method that adds
+     * two numbers would have `Signature.language = "java"` and
+     * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
+     * fields are required while `occurrences` can be optionally included to
+     * support hyperlinking referenced symbols in the signature.
+     * 
+ * + * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; + * @return The signatureDocumentation. + */ + @java.lang.Override + public scip.Scip.Signature getSignatureDocumentation() { + return signatureDocumentation_ == null ? scip.Scip.Signature.getDefaultInstance() : signatureDocumentation_; + } + /** + *
+     * (optional) The signature of this symbol as it's displayed in API
+     * documentation or in hover tooltips. For example, a Java method that adds
+     * two numbers would have `Signature.language = "java"` and
+     * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
+     * fields are required while `occurrences` can be optionally included to
+     * support hyperlinking referenced symbols in the signature.
+     * 
+ * + * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; + */ + @java.lang.Override + public scip.Scip.SignatureOrBuilder getSignatureDocumentationOrBuilder() { + return signatureDocumentation_ == null ? scip.Scip.Signature.getDefaultInstance() : signatureDocumentation_; + } + + public static final int ENCLOSING_SYMBOL_FIELD_NUMBER = 8; + @SuppressWarnings("serial") + private volatile java.lang.Object enclosingSymbol_ = ""; + /** + *
+     * (optional) The enclosing symbol if this is a local symbol.  For non-local
+     * symbols, the enclosing symbol should be parsed from the `symbol` field
+     * using the `Descriptor` grammar.
+     *
+     * The primary use-case for this field is to allow local symbol to be displayed
+     * in a symbol hierarchy for API documentation. It's OK to leave this field
+     * empty for local variables since local variables usually don't belong in API
+     * documentation. However, in the situation that you wish to include a local
+     * symbol in the hierarchy, then you can use `enclosing_symbol` to locate the
+     * "parent" or "owner" of this local symbol. For example, a Java indexer may
+     * choose to use local symbols for private class fields while providing an
+     * `enclosing_symbol` to reference the enclosing class to allow the field to
+     * be part of the class documentation hierarchy. From the perspective of an
+     * author of an indexer, the decision to use a local symbol or global symbol
+     * should exclusively be determined whether the local symbol is accessible
+     * outside the document, not by the capability to find the enclosing
+     * symbol.
+     * 
+ * + * string enclosing_symbol = 8 [json_name = "enclosingSymbol"]; + * @return The enclosingSymbol. + */ + @java.lang.Override + public java.lang.String getEnclosingSymbol() { + java.lang.Object ref = enclosingSymbol_; + 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(); + enclosingSymbol_ = s; + return s; + } + } + /** + *
+     * (optional) The enclosing symbol if this is a local symbol.  For non-local
+     * symbols, the enclosing symbol should be parsed from the `symbol` field
+     * using the `Descriptor` grammar.
+     *
+     * The primary use-case for this field is to allow local symbol to be displayed
+     * in a symbol hierarchy for API documentation. It's OK to leave this field
+     * empty for local variables since local variables usually don't belong in API
+     * documentation. However, in the situation that you wish to include a local
+     * symbol in the hierarchy, then you can use `enclosing_symbol` to locate the
+     * "parent" or "owner" of this local symbol. For example, a Java indexer may
+     * choose to use local symbols for private class fields while providing an
+     * `enclosing_symbol` to reference the enclosing class to allow the field to
+     * be part of the class documentation hierarchy. From the perspective of an
+     * author of an indexer, the decision to use a local symbol or global symbol
+     * should exclusively be determined whether the local symbol is accessible
+     * outside the document, not by the capability to find the enclosing
+     * symbol.
+     * 
+ * + * string enclosing_symbol = 8 [json_name = "enclosingSymbol"]; + * @return The bytes for enclosingSymbol. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getEnclosingSymbolBytes() { + java.lang.Object ref = enclosingSymbol_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + enclosingSymbol_ = 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 (!com.google.protobuf.GeneratedMessage.isStringEmpty(symbol_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, symbol_); + } + for (int i = 0; i < documentation_.size(); i++) { + com.google.protobuf.GeneratedMessage.writeString(output, 3, documentation_.getRaw(i)); + } + for (int i = 0; i < relationships_.size(); i++) { + output.writeMessage(4, relationships_.get(i)); + } + if (kind_ != scip.Scip.SymbolInformation.Kind.UnspecifiedKind.getNumber()) { + output.writeEnum(5, kind_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(displayName_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 6, displayName_); + } + if (((bitField0_ & 0x00000001) != 0)) { + output.writeMessage(7, getSignatureDocumentation()); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(enclosingSymbol_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 8, enclosingSymbol_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(symbol_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, symbol_); + } + { + int dataSize = 0; + for (int i = 0; i < documentation_.size(); i++) { + dataSize += computeStringSizeNoTag(documentation_.getRaw(i)); + } + size += dataSize; + size += 1 * getDocumentationList().size(); + } + for (int i = 0; i < relationships_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(4, relationships_.get(i)); + } + if (kind_ != scip.Scip.SymbolInformation.Kind.UnspecifiedKind.getNumber()) { + size += com.google.protobuf.CodedOutputStream + .computeEnumSize(5, kind_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(displayName_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(6, displayName_); + } + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(7, getSignatureDocumentation()); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(enclosingSymbol_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(8, enclosingSymbol_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof scip.Scip.SymbolInformation)) { + return super.equals(obj); + } + scip.Scip.SymbolInformation other = (scip.Scip.SymbolInformation) obj; + + if (!getSymbol() + .equals(other.getSymbol())) return false; + if (!getDocumentationList() + .equals(other.getDocumentationList())) return false; + if (!getRelationshipsList() + .equals(other.getRelationshipsList())) return false; + if (kind_ != other.kind_) return false; + if (!getDisplayName() + .equals(other.getDisplayName())) return false; + if (hasSignatureDocumentation() != other.hasSignatureDocumentation()) return false; + if (hasSignatureDocumentation()) { + if (!getSignatureDocumentation() + .equals(other.getSignatureDocumentation())) return false; + } + if (!getEnclosingSymbol() + .equals(other.getEnclosingSymbol())) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) 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 (getDocumentationCount() > 0) { + hash = (37 * hash) + DOCUMENTATION_FIELD_NUMBER; + hash = (53 * hash) + getDocumentationList().hashCode(); + } + if (getRelationshipsCount() > 0) { + hash = (37 * hash) + RELATIONSHIPS_FIELD_NUMBER; + hash = (53 * hash) + getRelationshipsList().hashCode(); + } + hash = (37 * hash) + KIND_FIELD_NUMBER; + hash = (53 * hash) + kind_; + hash = (37 * hash) + DISPLAY_NAME_FIELD_NUMBER; + hash = (53 * hash) + getDisplayName().hashCode(); + if (hasSignatureDocumentation()) { + hash = (37 * hash) + SIGNATURE_DOCUMENTATION_FIELD_NUMBER; + hash = (53 * hash) + getSignatureDocumentation().hashCode(); + } + hash = (37 * hash) + ENCLOSING_SYMBOL_FIELD_NUMBER; + hash = (53 * hash) + getEnclosingSymbol().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static scip.Scip.SymbolInformation parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static scip.Scip.SymbolInformation parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static scip.Scip.SymbolInformation parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static scip.Scip.SymbolInformation parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static scip.Scip.SymbolInformation parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static scip.Scip.SymbolInformation parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static scip.Scip.SymbolInformation parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static scip.Scip.SymbolInformation parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public static scip.Scip.SymbolInformation parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input); + } + + public static scip.Scip.SymbolInformation parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static scip.Scip.SymbolInformation parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static scip.Scip.SymbolInformation parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(scip.Scip.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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + *
+     * SymbolInformation defines metadata about a symbol, such as the symbol's
+     * docstring or what package it's defined it.
+     * 
+ * + * Protobuf type {@code scip.SymbolInformation} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder implements + // @@protoc_insertion_point(builder_implements:scip.SymbolInformation) + scip.Scip.SymbolInformationOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return scip.Scip.internal_static_scip_SymbolInformation_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return scip.Scip.internal_static_scip_SymbolInformation_fieldAccessorTable + .ensureFieldAccessorsInitialized( + scip.Scip.SymbolInformation.class, scip.Scip.SymbolInformation.Builder.class); + } + + // Construct using scip.Scip.SymbolInformation.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage + .alwaysUseFieldBuilders) { + internalGetRelationshipsFieldBuilder(); + internalGetSignatureDocumentationFieldBuilder(); + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + symbol_ = ""; + documentation_ = + com.google.protobuf.LazyStringArrayList.emptyList(); + if (relationshipsBuilder_ == null) { + relationships_ = java.util.Collections.emptyList(); + } else { + relationships_ = null; + relationshipsBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000004); + kind_ = 0; + displayName_ = ""; + signatureDocumentation_ = null; + if (signatureDocumentationBuilder_ != null) { + signatureDocumentationBuilder_.dispose(); + signatureDocumentationBuilder_ = null; + } + enclosingSymbol_ = ""; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return scip.Scip.internal_static_scip_SymbolInformation_descriptor; + } + + @java.lang.Override + public scip.Scip.SymbolInformation getDefaultInstanceForType() { + return scip.Scip.SymbolInformation.getDefaultInstance(); + } + + @java.lang.Override + public scip.Scip.SymbolInformation build() { + scip.Scip.SymbolInformation result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public scip.Scip.SymbolInformation buildPartial() { + scip.Scip.SymbolInformation result = new scip.Scip.SymbolInformation(this); + buildPartialRepeatedFields(result); + if (bitField0_ != 0) { buildPartial0(result); } + onBuilt(); + return result; + } + + private void buildPartialRepeatedFields(scip.Scip.SymbolInformation result) { + if (relationshipsBuilder_ == null) { + if (((bitField0_ & 0x00000004) != 0)) { + relationships_ = java.util.Collections.unmodifiableList(relationships_); + bitField0_ = (bitField0_ & ~0x00000004); + } + result.relationships_ = relationships_; + } else { + result.relationships_ = relationshipsBuilder_.build(); + } + } + + private void buildPartial0(scip.Scip.SymbolInformation result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.symbol_ = symbol_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + documentation_.makeImmutable(); + result.documentation_ = documentation_; + } + if (((from_bitField0_ & 0x00000008) != 0)) { + result.kind_ = kind_; + } + if (((from_bitField0_ & 0x00000010) != 0)) { + result.displayName_ = displayName_; + } + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000020) != 0)) { + result.signatureDocumentation_ = signatureDocumentationBuilder_ == null + ? signatureDocumentation_ + : signatureDocumentationBuilder_.build(); + to_bitField0_ |= 0x00000001; + } + if (((from_bitField0_ & 0x00000040) != 0)) { + result.enclosingSymbol_ = enclosingSymbol_; + } + result.bitField0_ |= to_bitField0_; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof scip.Scip.SymbolInformation) { + return mergeFrom((scip.Scip.SymbolInformation)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(scip.Scip.SymbolInformation other) { + if (other == scip.Scip.SymbolInformation.getDefaultInstance()) return this; + if (!other.getSymbol().isEmpty()) { + symbol_ = other.symbol_; + bitField0_ |= 0x00000001; + onChanged(); + } + if (!other.documentation_.isEmpty()) { + if (documentation_.isEmpty()) { + documentation_ = other.documentation_; + bitField0_ |= 0x00000002; + } else { + ensureDocumentationIsMutable(); + documentation_.addAll(other.documentation_); + } + onChanged(); + } + if (relationshipsBuilder_ == null) { + if (!other.relationships_.isEmpty()) { + if (relationships_.isEmpty()) { + relationships_ = other.relationships_; + bitField0_ = (bitField0_ & ~0x00000004); + } else { + ensureRelationshipsIsMutable(); + relationships_.addAll(other.relationships_); + } + onChanged(); + } + } else { + if (!other.relationships_.isEmpty()) { + if (relationshipsBuilder_.isEmpty()) { + relationshipsBuilder_.dispose(); + relationshipsBuilder_ = null; + relationships_ = other.relationships_; + bitField0_ = (bitField0_ & ~0x00000004); + relationshipsBuilder_ = + com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ? + internalGetRelationshipsFieldBuilder() : null; + } else { + relationshipsBuilder_.addAllMessages(other.relationships_); + } + } + } + if (other.kind_ != 0) { + setKindValue(other.getKindValue()); + } + if (!other.getDisplayName().isEmpty()) { + displayName_ = other.displayName_; + bitField0_ |= 0x00000010; + onChanged(); + } + if (other.hasSignatureDocumentation()) { + mergeSignatureDocumentation(other.getSignatureDocumentation()); + } + if (!other.getEnclosingSymbol().isEmpty()) { + enclosingSymbol_ = other.enclosingSymbol_; + bitField0_ |= 0x00000040; + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + 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 { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + symbol_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 26: { + java.lang.String s = input.readStringRequireUtf8(); + ensureDocumentationIsMutable(); + documentation_.add(s); + break; + } // case 26 + case 34: { + scip.Scip.Relationship m = + input.readMessage( + scip.Scip.Relationship.parser(), + extensionRegistry); + if (relationshipsBuilder_ == null) { + ensureRelationshipsIsMutable(); + relationships_.add(m); + } else { + relationshipsBuilder_.addMessage(m); + } + break; + } // case 34 + case 40: { + kind_ = input.readEnum(); + bitField0_ |= 0x00000008; + break; + } // case 40 + case 50: { + displayName_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000010; + break; + } // case 50 + case 58: { + input.readMessage( + internalGetSignatureDocumentationFieldBuilder().getBuilder(), + extensionRegistry); + bitField0_ |= 0x00000020; + break; + } // case 58 + case 66: { + enclosingSymbol_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000040; + break; + } // case 66 + default: { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + private int bitField0_; + + private java.lang.Object symbol_ = ""; + /** + *
+       * Identifier of this symbol, which can be referenced from `Occurence.symbol`.
+       * The string must be formatted according to the grammar in `Symbol`.
+       * 
+ * + * string symbol = 1 [json_name = "symbol"]; + * @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; + } + } + /** + *
+       * Identifier of this symbol, which can be referenced from `Occurence.symbol`.
+       * The string must be formatted according to the grammar in `Symbol`.
+       * 
+ * + * string symbol = 1 [json_name = "symbol"]; + * @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; + } + } + /** + *
+       * Identifier of this symbol, which can be referenced from `Occurence.symbol`.
+       * The string must be formatted according to the grammar in `Symbol`.
+       * 
+ * + * string symbol = 1 [json_name = "symbol"]; + * @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; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + /** + *
+       * Identifier of this symbol, which can be referenced from `Occurence.symbol`.
+       * The string must be formatted according to the grammar in `Symbol`.
+       * 
+ * + * string symbol = 1 [json_name = "symbol"]; + * @return This builder for chaining. + */ + public Builder clearSymbol() { + symbol_ = getDefaultInstance().getSymbol(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + /** + *
+       * Identifier of this symbol, which can be referenced from `Occurence.symbol`.
+       * The string must be formatted according to the grammar in `Symbol`.
+       * 
+ * + * string symbol = 1 [json_name = "symbol"]; + * @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; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private com.google.protobuf.LazyStringArrayList documentation_ = + com.google.protobuf.LazyStringArrayList.emptyList(); + private void ensureDocumentationIsMutable() { + if (!documentation_.isModifiable()) { + documentation_ = new com.google.protobuf.LazyStringArrayList(documentation_); + } + bitField0_ |= 0x00000002; + } + /** + *
+       * (optional, but strongly recommended) The markdown-formatted documentation
+       * for this symbol. Use `SymbolInformation.signature_documentation` to
+       * document the method/class/type signature of this symbol.
+       * Due to historical reasons, indexers may include signature documentation in
+       * this field by rendering markdown code blocks. New indexers should only
+       * include non-code documentation in this field, for example docstrings.
+       * 
+ * + * repeated string documentation = 3 [json_name = "documentation"]; + * @return A list containing the documentation. + */ + public com.google.protobuf.ProtocolStringList + getDocumentationList() { + documentation_.makeImmutable(); + return documentation_; + } + /** + *
+       * (optional, but strongly recommended) The markdown-formatted documentation
+       * for this symbol. Use `SymbolInformation.signature_documentation` to
+       * document the method/class/type signature of this symbol.
+       * Due to historical reasons, indexers may include signature documentation in
+       * this field by rendering markdown code blocks. New indexers should only
+       * include non-code documentation in this field, for example docstrings.
+       * 
+ * + * repeated string documentation = 3 [json_name = "documentation"]; + * @return The count of documentation. + */ + public int getDocumentationCount() { + return documentation_.size(); + } + /** + *
+       * (optional, but strongly recommended) The markdown-formatted documentation
+       * for this symbol. Use `SymbolInformation.signature_documentation` to
+       * document the method/class/type signature of this symbol.
+       * Due to historical reasons, indexers may include signature documentation in
+       * this field by rendering markdown code blocks. New indexers should only
+       * include non-code documentation in this field, for example docstrings.
+       * 
+ * + * repeated string documentation = 3 [json_name = "documentation"]; + * @param index The index of the element to return. + * @return The documentation at the given index. + */ + public java.lang.String getDocumentation(int index) { + return documentation_.get(index); + } + /** + *
+       * (optional, but strongly recommended) The markdown-formatted documentation
+       * for this symbol. Use `SymbolInformation.signature_documentation` to
+       * document the method/class/type signature of this symbol.
+       * Due to historical reasons, indexers may include signature documentation in
+       * this field by rendering markdown code blocks. New indexers should only
+       * include non-code documentation in this field, for example docstrings.
+       * 
+ * + * repeated string documentation = 3 [json_name = "documentation"]; + * @param index The index of the value to return. + * @return The bytes of the documentation at the given index. + */ + public com.google.protobuf.ByteString + getDocumentationBytes(int index) { + return documentation_.getByteString(index); + } + /** + *
+       * (optional, but strongly recommended) The markdown-formatted documentation
+       * for this symbol. Use `SymbolInformation.signature_documentation` to
+       * document the method/class/type signature of this symbol.
+       * Due to historical reasons, indexers may include signature documentation in
+       * this field by rendering markdown code blocks. New indexers should only
+       * include non-code documentation in this field, for example docstrings.
+       * 
+ * + * repeated string documentation = 3 [json_name = "documentation"]; + * @param index The index to set the value at. + * @param value The documentation to set. + * @return This builder for chaining. + */ + public Builder setDocumentation( + int index, java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + ensureDocumentationIsMutable(); + documentation_.set(index, value); + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + /** + *
+       * (optional, but strongly recommended) The markdown-formatted documentation
+       * for this symbol. Use `SymbolInformation.signature_documentation` to
+       * document the method/class/type signature of this symbol.
+       * Due to historical reasons, indexers may include signature documentation in
+       * this field by rendering markdown code blocks. New indexers should only
+       * include non-code documentation in this field, for example docstrings.
+       * 
+ * + * repeated string documentation = 3 [json_name = "documentation"]; + * @param value The documentation to add. + * @return This builder for chaining. + */ + public Builder addDocumentation( + java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + ensureDocumentationIsMutable(); + documentation_.add(value); + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + /** + *
+       * (optional, but strongly recommended) The markdown-formatted documentation
+       * for this symbol. Use `SymbolInformation.signature_documentation` to
+       * document the method/class/type signature of this symbol.
+       * Due to historical reasons, indexers may include signature documentation in
+       * this field by rendering markdown code blocks. New indexers should only
+       * include non-code documentation in this field, for example docstrings.
+       * 
+ * + * repeated string documentation = 3 [json_name = "documentation"]; + * @param values The documentation to add. + * @return This builder for chaining. + */ + public Builder addAllDocumentation( + java.lang.Iterable values) { + ensureDocumentationIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, documentation_); + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + /** + *
+       * (optional, but strongly recommended) The markdown-formatted documentation
+       * for this symbol. Use `SymbolInformation.signature_documentation` to
+       * document the method/class/type signature of this symbol.
+       * Due to historical reasons, indexers may include signature documentation in
+       * this field by rendering markdown code blocks. New indexers should only
+       * include non-code documentation in this field, for example docstrings.
+       * 
+ * + * repeated string documentation = 3 [json_name = "documentation"]; + * @return This builder for chaining. + */ + public Builder clearDocumentation() { + documentation_ = + com.google.protobuf.LazyStringArrayList.emptyList(); + bitField0_ = (bitField0_ & ~0x00000002);; + onChanged(); + return this; + } + /** + *
+       * (optional, but strongly recommended) The markdown-formatted documentation
+       * for this symbol. Use `SymbolInformation.signature_documentation` to
+       * document the method/class/type signature of this symbol.
+       * Due to historical reasons, indexers may include signature documentation in
+       * this field by rendering markdown code blocks. New indexers should only
+       * include non-code documentation in this field, for example docstrings.
+       * 
+ * + * repeated string documentation = 3 [json_name = "documentation"]; + * @param value The bytes of the documentation to add. + * @return This builder for chaining. + */ + public Builder addDocumentationBytes( + com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + checkByteStringIsUtf8(value); + ensureDocumentationIsMutable(); + documentation_.add(value); + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + private java.util.List relationships_ = + java.util.Collections.emptyList(); + private void ensureRelationshipsIsMutable() { + if (!((bitField0_ & 0x00000004) != 0)) { + relationships_ = new java.util.ArrayList(relationships_); + bitField0_ |= 0x00000004; + } + } + + private com.google.protobuf.RepeatedFieldBuilder< + scip.Scip.Relationship, scip.Scip.Relationship.Builder, scip.Scip.RelationshipOrBuilder> relationshipsBuilder_; + + /** + *
+       * (optional) Relationships to other symbols (e.g., implements, type definition).
+       * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + public java.util.List getRelationshipsList() { + if (relationshipsBuilder_ == null) { + return java.util.Collections.unmodifiableList(relationships_); + } else { + return relationshipsBuilder_.getMessageList(); + } + } + /** + *
+       * (optional) Relationships to other symbols (e.g., implements, type definition).
+       * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + public int getRelationshipsCount() { + if (relationshipsBuilder_ == null) { + return relationships_.size(); + } else { + return relationshipsBuilder_.getCount(); + } + } + /** + *
+       * (optional) Relationships to other symbols (e.g., implements, type definition).
+       * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + public scip.Scip.Relationship getRelationships(int index) { + if (relationshipsBuilder_ == null) { + return relationships_.get(index); + } else { + return relationshipsBuilder_.getMessage(index); + } + } + /** + *
+       * (optional) Relationships to other symbols (e.g., implements, type definition).
+       * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + public Builder setRelationships( + int index, scip.Scip.Relationship value) { + if (relationshipsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureRelationshipsIsMutable(); + relationships_.set(index, value); + onChanged(); + } else { + relationshipsBuilder_.setMessage(index, value); + } + return this; + } + /** + *
+       * (optional) Relationships to other symbols (e.g., implements, type definition).
+       * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + public Builder setRelationships( + int index, scip.Scip.Relationship.Builder builderForValue) { + if (relationshipsBuilder_ == null) { + ensureRelationshipsIsMutable(); + relationships_.set(index, builderForValue.build()); + onChanged(); + } else { + relationshipsBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + *
+       * (optional) Relationships to other symbols (e.g., implements, type definition).
+       * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + public Builder addRelationships(scip.Scip.Relationship value) { + if (relationshipsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureRelationshipsIsMutable(); + relationships_.add(value); + onChanged(); + } else { + relationshipsBuilder_.addMessage(value); + } + return this; + } + /** + *
+       * (optional) Relationships to other symbols (e.g., implements, type definition).
+       * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + public Builder addRelationships( + int index, scip.Scip.Relationship value) { + if (relationshipsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureRelationshipsIsMutable(); + relationships_.add(index, value); + onChanged(); + } else { + relationshipsBuilder_.addMessage(index, value); + } + return this; + } + /** + *
+       * (optional) Relationships to other symbols (e.g., implements, type definition).
+       * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + public Builder addRelationships( + scip.Scip.Relationship.Builder builderForValue) { + if (relationshipsBuilder_ == null) { + ensureRelationshipsIsMutable(); + relationships_.add(builderForValue.build()); + onChanged(); + } else { + relationshipsBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + *
+       * (optional) Relationships to other symbols (e.g., implements, type definition).
+       * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + public Builder addRelationships( + int index, scip.Scip.Relationship.Builder builderForValue) { + if (relationshipsBuilder_ == null) { + ensureRelationshipsIsMutable(); + relationships_.add(index, builderForValue.build()); + onChanged(); + } else { + relationshipsBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + *
+       * (optional) Relationships to other symbols (e.g., implements, type definition).
+       * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + public Builder addAllRelationships( + java.lang.Iterable values) { + if (relationshipsBuilder_ == null) { + ensureRelationshipsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, relationships_); + onChanged(); + } else { + relationshipsBuilder_.addAllMessages(values); + } + return this; + } + /** + *
+       * (optional) Relationships to other symbols (e.g., implements, type definition).
+       * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + public Builder clearRelationships() { + if (relationshipsBuilder_ == null) { + relationships_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000004); + onChanged(); + } else { + relationshipsBuilder_.clear(); + } + return this; + } + /** + *
+       * (optional) Relationships to other symbols (e.g., implements, type definition).
+       * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + public Builder removeRelationships(int index) { + if (relationshipsBuilder_ == null) { + ensureRelationshipsIsMutable(); + relationships_.remove(index); + onChanged(); + } else { + relationshipsBuilder_.remove(index); + } + return this; + } + /** + *
+       * (optional) Relationships to other symbols (e.g., implements, type definition).
+       * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + public scip.Scip.Relationship.Builder getRelationshipsBuilder( + int index) { + return internalGetRelationshipsFieldBuilder().getBuilder(index); + } + /** + *
+       * (optional) Relationships to other symbols (e.g., implements, type definition).
+       * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + public scip.Scip.RelationshipOrBuilder getRelationshipsOrBuilder( + int index) { + if (relationshipsBuilder_ == null) { + return relationships_.get(index); } else { + return relationshipsBuilder_.getMessageOrBuilder(index); + } + } + /** + *
+       * (optional) Relationships to other symbols (e.g., implements, type definition).
+       * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + public java.util.List + getRelationshipsOrBuilderList() { + if (relationshipsBuilder_ != null) { + return relationshipsBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(relationships_); + } + } + /** + *
+       * (optional) Relationships to other symbols (e.g., implements, type definition).
+       * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + public scip.Scip.Relationship.Builder addRelationshipsBuilder() { + return internalGetRelationshipsFieldBuilder().addBuilder( + scip.Scip.Relationship.getDefaultInstance()); + } + /** + *
+       * (optional) Relationships to other symbols (e.g., implements, type definition).
+       * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + public scip.Scip.Relationship.Builder addRelationshipsBuilder( + int index) { + return internalGetRelationshipsFieldBuilder().addBuilder( + index, scip.Scip.Relationship.getDefaultInstance()); + } + /** + *
+       * (optional) Relationships to other symbols (e.g., implements, type definition).
+       * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + public java.util.List + getRelationshipsBuilderList() { + return internalGetRelationshipsFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilder< + scip.Scip.Relationship, scip.Scip.Relationship.Builder, scip.Scip.RelationshipOrBuilder> + internalGetRelationshipsFieldBuilder() { + if (relationshipsBuilder_ == null) { + relationshipsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder< + scip.Scip.Relationship, scip.Scip.Relationship.Builder, scip.Scip.RelationshipOrBuilder>( + relationships_, + ((bitField0_ & 0x00000004) != 0), + getParentForChildren(), + isClean()); + relationships_ = null; + } + return relationshipsBuilder_; + } + + private int kind_ = 0; + /** + *
+       * The kind of this symbol. Use this field instead of
+       * `SymbolDescriptor.Suffix` to determine whether something is, for example, a
+       * class or a method.
+       * 
+ * + * .scip.SymbolInformation.Kind kind = 5 [json_name = "kind"]; + * @return The enum numeric value on the wire for kind. + */ + @java.lang.Override public int getKindValue() { + return kind_; + } + /** + *
+       * The kind of this symbol. Use this field instead of
+       * `SymbolDescriptor.Suffix` to determine whether something is, for example, a
+       * class or a method.
+       * 
+ * + * .scip.SymbolInformation.Kind kind = 5 [json_name = "kind"]; + * @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; + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + /** + *
+       * The kind of this symbol. Use this field instead of
+       * `SymbolDescriptor.Suffix` to determine whether something is, for example, a
+       * class or a method.
+       * 
+ * + * .scip.SymbolInformation.Kind kind = 5 [json_name = "kind"]; + * @return The kind. + */ + @java.lang.Override + public scip.Scip.SymbolInformation.Kind getKind() { + scip.Scip.SymbolInformation.Kind result = scip.Scip.SymbolInformation.Kind.forNumber(kind_); + return result == null ? scip.Scip.SymbolInformation.Kind.UNRECOGNIZED : result; + } + /** + *
+       * The kind of this symbol. Use this field instead of
+       * `SymbolDescriptor.Suffix` to determine whether something is, for example, a
+       * class or a method.
+       * 
+ * + * .scip.SymbolInformation.Kind kind = 5 [json_name = "kind"]; + * @param value The kind to set. + * @return This builder for chaining. + */ + public Builder setKind(scip.Scip.SymbolInformation.Kind value) { + if (value == null) { throw new NullPointerException(); } + bitField0_ |= 0x00000008; + kind_ = value.getNumber(); + onChanged(); + return this; + } + /** + *
+       * The kind of this symbol. Use this field instead of
+       * `SymbolDescriptor.Suffix` to determine whether something is, for example, a
+       * class or a method.
+       * 
+ * + * .scip.SymbolInformation.Kind kind = 5 [json_name = "kind"]; + * @return This builder for chaining. + */ + public Builder clearKind() { + bitField0_ = (bitField0_ & ~0x00000008); + kind_ = 0; + onChanged(); + return this; + } + + private java.lang.Object displayName_ = ""; + /** + *
+       * (optional) The name of this symbol as it should be displayed to the user.
+       * For example, the symbol "com/example/MyClass#myMethod(+1)." should have the
+       * display name "myMethod". The `symbol` field is not a reliable source of
+       * the display name for several reasons:
+       *
+       * - Local symbols don't encode the name.
+       * - Some languages have case-insensitive names, so the symbol is all-lowercase.
+       * - The symbol may encode names with special characters that should not be
+       * displayed to the user.
+       * 
+ * + * string display_name = 6 [json_name = "displayName"]; + * @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; + } + } + /** + *
+       * (optional) The name of this symbol as it should be displayed to the user.
+       * For example, the symbol "com/example/MyClass#myMethod(+1)." should have the
+       * display name "myMethod". The `symbol` field is not a reliable source of
+       * the display name for several reasons:
+       *
+       * - Local symbols don't encode the name.
+       * - Some languages have case-insensitive names, so the symbol is all-lowercase.
+       * - The symbol may encode names with special characters that should not be
+       * displayed to the user.
+       * 
+ * + * string display_name = 6 [json_name = "displayName"]; + * @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; + } + } + /** + *
+       * (optional) The name of this symbol as it should be displayed to the user.
+       * For example, the symbol "com/example/MyClass#myMethod(+1)." should have the
+       * display name "myMethod". The `symbol` field is not a reliable source of
+       * the display name for several reasons:
+       *
+       * - Local symbols don't encode the name.
+       * - Some languages have case-insensitive names, so the symbol is all-lowercase.
+       * - The symbol may encode names with special characters that should not be
+       * displayed to the user.
+       * 
+ * + * string display_name = 6 [json_name = "displayName"]; + * @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; + bitField0_ |= 0x00000010; + onChanged(); + return this; + } + /** + *
+       * (optional) The name of this symbol as it should be displayed to the user.
+       * For example, the symbol "com/example/MyClass#myMethod(+1)." should have the
+       * display name "myMethod". The `symbol` field is not a reliable source of
+       * the display name for several reasons:
+       *
+       * - Local symbols don't encode the name.
+       * - Some languages have case-insensitive names, so the symbol is all-lowercase.
+       * - The symbol may encode names with special characters that should not be
+       * displayed to the user.
+       * 
+ * + * string display_name = 6 [json_name = "displayName"]; + * @return This builder for chaining. + */ + public Builder clearDisplayName() { + displayName_ = getDefaultInstance().getDisplayName(); + bitField0_ = (bitField0_ & ~0x00000010); + onChanged(); + return this; + } + /** + *
+       * (optional) The name of this symbol as it should be displayed to the user.
+       * For example, the symbol "com/example/MyClass#myMethod(+1)." should have the
+       * display name "myMethod". The `symbol` field is not a reliable source of
+       * the display name for several reasons:
+       *
+       * - Local symbols don't encode the name.
+       * - Some languages have case-insensitive names, so the symbol is all-lowercase.
+       * - The symbol may encode names with special characters that should not be
+       * displayed to the user.
+       * 
+ * + * string display_name = 6 [json_name = "displayName"]; + * @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; + bitField0_ |= 0x00000010; + onChanged(); + return this; + } + + private scip.Scip.Signature signatureDocumentation_; + private com.google.protobuf.SingleFieldBuilder< + scip.Scip.Signature, scip.Scip.Signature.Builder, scip.Scip.SignatureOrBuilder> signatureDocumentationBuilder_; + /** + *
+       * (optional) The signature of this symbol as it's displayed in API
+       * documentation or in hover tooltips. For example, a Java method that adds
+       * two numbers would have `Signature.language = "java"` and
+       * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
+       * fields are required while `occurrences` can be optionally included to
+       * support hyperlinking referenced symbols in the signature.
+       * 
+ * + * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; + * @return Whether the signatureDocumentation field is set. + */ + public boolean hasSignatureDocumentation() { + return ((bitField0_ & 0x00000020) != 0); + } + /** + *
+       * (optional) The signature of this symbol as it's displayed in API
+       * documentation or in hover tooltips. For example, a Java method that adds
+       * two numbers would have `Signature.language = "java"` and
+       * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
+       * fields are required while `occurrences` can be optionally included to
+       * support hyperlinking referenced symbols in the signature.
+       * 
+ * + * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; + * @return The signatureDocumentation. + */ + public scip.Scip.Signature getSignatureDocumentation() { + if (signatureDocumentationBuilder_ == null) { + return signatureDocumentation_ == null ? scip.Scip.Signature.getDefaultInstance() : signatureDocumentation_; + } else { + return signatureDocumentationBuilder_.getMessage(); + } + } + /** + *
+       * (optional) The signature of this symbol as it's displayed in API
+       * documentation or in hover tooltips. For example, a Java method that adds
+       * two numbers would have `Signature.language = "java"` and
+       * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
+       * fields are required while `occurrences` can be optionally included to
+       * support hyperlinking referenced symbols in the signature.
+       * 
+ * + * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; + */ + public Builder setSignatureDocumentation(scip.Scip.Signature value) { + if (signatureDocumentationBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + signatureDocumentation_ = value; + } else { + signatureDocumentationBuilder_.setMessage(value); + } + bitField0_ |= 0x00000020; + onChanged(); + return this; + } + /** + *
+       * (optional) The signature of this symbol as it's displayed in API
+       * documentation or in hover tooltips. For example, a Java method that adds
+       * two numbers would have `Signature.language = "java"` and
+       * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
+       * fields are required while `occurrences` can be optionally included to
+       * support hyperlinking referenced symbols in the signature.
+       * 
+ * + * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; + */ + public Builder setSignatureDocumentation( + scip.Scip.Signature.Builder builderForValue) { + if (signatureDocumentationBuilder_ == null) { + signatureDocumentation_ = builderForValue.build(); + } else { + signatureDocumentationBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000020; + onChanged(); + return this; + } + /** + *
+       * (optional) The signature of this symbol as it's displayed in API
+       * documentation or in hover tooltips. For example, a Java method that adds
+       * two numbers would have `Signature.language = "java"` and
+       * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
+       * fields are required while `occurrences` can be optionally included to
+       * support hyperlinking referenced symbols in the signature.
+       * 
+ * + * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; + */ + public Builder mergeSignatureDocumentation(scip.Scip.Signature value) { + if (signatureDocumentationBuilder_ == null) { + if (((bitField0_ & 0x00000020) != 0) && + signatureDocumentation_ != null && + signatureDocumentation_ != scip.Scip.Signature.getDefaultInstance()) { + getSignatureDocumentationBuilder().mergeFrom(value); + } else { + signatureDocumentation_ = value; + } + } else { + signatureDocumentationBuilder_.mergeFrom(value); + } + if (signatureDocumentation_ != null) { + bitField0_ |= 0x00000020; + onChanged(); + } + return this; + } + /** + *
+       * (optional) The signature of this symbol as it's displayed in API
+       * documentation or in hover tooltips. For example, a Java method that adds
+       * two numbers would have `Signature.language = "java"` and
+       * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
+       * fields are required while `occurrences` can be optionally included to
+       * support hyperlinking referenced symbols in the signature.
+       * 
+ * + * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; + */ + public Builder clearSignatureDocumentation() { + bitField0_ = (bitField0_ & ~0x00000020); + signatureDocumentation_ = null; + if (signatureDocumentationBuilder_ != null) { + signatureDocumentationBuilder_.dispose(); + signatureDocumentationBuilder_ = null; + } + onChanged(); + return this; + } + /** + *
+       * (optional) The signature of this symbol as it's displayed in API
+       * documentation or in hover tooltips. For example, a Java method that adds
+       * two numbers would have `Signature.language = "java"` and
+       * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
+       * fields are required while `occurrences` can be optionally included to
+       * support hyperlinking referenced symbols in the signature.
+       * 
+ * + * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; + */ + public scip.Scip.Signature.Builder getSignatureDocumentationBuilder() { + bitField0_ |= 0x00000020; + onChanged(); + return internalGetSignatureDocumentationFieldBuilder().getBuilder(); + } + /** + *
+       * (optional) The signature of this symbol as it's displayed in API
+       * documentation or in hover tooltips. For example, a Java method that adds
+       * two numbers would have `Signature.language = "java"` and
+       * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
+       * fields are required while `occurrences` can be optionally included to
+       * support hyperlinking referenced symbols in the signature.
+       * 
+ * + * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; + */ + public scip.Scip.SignatureOrBuilder getSignatureDocumentationOrBuilder() { + if (signatureDocumentationBuilder_ != null) { + return signatureDocumentationBuilder_.getMessageOrBuilder(); + } else { + return signatureDocumentation_ == null ? + scip.Scip.Signature.getDefaultInstance() : signatureDocumentation_; + } + } + /** + *
+       * (optional) The signature of this symbol as it's displayed in API
+       * documentation or in hover tooltips. For example, a Java method that adds
+       * two numbers would have `Signature.language = "java"` and
+       * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
+       * fields are required while `occurrences` can be optionally included to
+       * support hyperlinking referenced symbols in the signature.
+       * 
+ * + * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; + */ + private com.google.protobuf.SingleFieldBuilder< + scip.Scip.Signature, scip.Scip.Signature.Builder, scip.Scip.SignatureOrBuilder> + internalGetSignatureDocumentationFieldBuilder() { + if (signatureDocumentationBuilder_ == null) { + signatureDocumentationBuilder_ = new com.google.protobuf.SingleFieldBuilder< + scip.Scip.Signature, scip.Scip.Signature.Builder, scip.Scip.SignatureOrBuilder>( + getSignatureDocumentation(), + getParentForChildren(), + isClean()); + signatureDocumentation_ = null; + } + return signatureDocumentationBuilder_; + } + + private java.lang.Object enclosingSymbol_ = ""; + /** + *
+       * (optional) The enclosing symbol if this is a local symbol.  For non-local
+       * symbols, the enclosing symbol should be parsed from the `symbol` field
+       * using the `Descriptor` grammar.
+       *
+       * The primary use-case for this field is to allow local symbol to be displayed
+       * in a symbol hierarchy for API documentation. It's OK to leave this field
+       * empty for local variables since local variables usually don't belong in API
+       * documentation. However, in the situation that you wish to include a local
+       * symbol in the hierarchy, then you can use `enclosing_symbol` to locate the
+       * "parent" or "owner" of this local symbol. For example, a Java indexer may
+       * choose to use local symbols for private class fields while providing an
+       * `enclosing_symbol` to reference the enclosing class to allow the field to
+       * be part of the class documentation hierarchy. From the perspective of an
+       * author of an indexer, the decision to use a local symbol or global symbol
+       * should exclusively be determined whether the local symbol is accessible
+       * outside the document, not by the capability to find the enclosing
+       * symbol.
+       * 
+ * + * string enclosing_symbol = 8 [json_name = "enclosingSymbol"]; + * @return The enclosingSymbol. + */ + public java.lang.String getEnclosingSymbol() { + java.lang.Object ref = enclosingSymbol_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + enclosingSymbol_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + *
+       * (optional) The enclosing symbol if this is a local symbol.  For non-local
+       * symbols, the enclosing symbol should be parsed from the `symbol` field
+       * using the `Descriptor` grammar.
+       *
+       * The primary use-case for this field is to allow local symbol to be displayed
+       * in a symbol hierarchy for API documentation. It's OK to leave this field
+       * empty for local variables since local variables usually don't belong in API
+       * documentation. However, in the situation that you wish to include a local
+       * symbol in the hierarchy, then you can use `enclosing_symbol` to locate the
+       * "parent" or "owner" of this local symbol. For example, a Java indexer may
+       * choose to use local symbols for private class fields while providing an
+       * `enclosing_symbol` to reference the enclosing class to allow the field to
+       * be part of the class documentation hierarchy. From the perspective of an
+       * author of an indexer, the decision to use a local symbol or global symbol
+       * should exclusively be determined whether the local symbol is accessible
+       * outside the document, not by the capability to find the enclosing
+       * symbol.
+       * 
+ * + * string enclosing_symbol = 8 [json_name = "enclosingSymbol"]; + * @return The bytes for enclosingSymbol. + */ + public com.google.protobuf.ByteString + getEnclosingSymbolBytes() { + java.lang.Object ref = enclosingSymbol_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + enclosingSymbol_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + *
+       * (optional) The enclosing symbol if this is a local symbol.  For non-local
+       * symbols, the enclosing symbol should be parsed from the `symbol` field
+       * using the `Descriptor` grammar.
+       *
+       * The primary use-case for this field is to allow local symbol to be displayed
+       * in a symbol hierarchy for API documentation. It's OK to leave this field
+       * empty for local variables since local variables usually don't belong in API
+       * documentation. However, in the situation that you wish to include a local
+       * symbol in the hierarchy, then you can use `enclosing_symbol` to locate the
+       * "parent" or "owner" of this local symbol. For example, a Java indexer may
+       * choose to use local symbols for private class fields while providing an
+       * `enclosing_symbol` to reference the enclosing class to allow the field to
+       * be part of the class documentation hierarchy. From the perspective of an
+       * author of an indexer, the decision to use a local symbol or global symbol
+       * should exclusively be determined whether the local symbol is accessible
+       * outside the document, not by the capability to find the enclosing
+       * symbol.
+       * 
+ * + * string enclosing_symbol = 8 [json_name = "enclosingSymbol"]; + * @param value The enclosingSymbol to set. + * @return This builder for chaining. + */ + public Builder setEnclosingSymbol( + java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + enclosingSymbol_ = value; + bitField0_ |= 0x00000040; + onChanged(); + return this; + } + /** + *
+       * (optional) The enclosing symbol if this is a local symbol.  For non-local
+       * symbols, the enclosing symbol should be parsed from the `symbol` field
+       * using the `Descriptor` grammar.
+       *
+       * The primary use-case for this field is to allow local symbol to be displayed
+       * in a symbol hierarchy for API documentation. It's OK to leave this field
+       * empty for local variables since local variables usually don't belong in API
+       * documentation. However, in the situation that you wish to include a local
+       * symbol in the hierarchy, then you can use `enclosing_symbol` to locate the
+       * "parent" or "owner" of this local symbol. For example, a Java indexer may
+       * choose to use local symbols for private class fields while providing an
+       * `enclosing_symbol` to reference the enclosing class to allow the field to
+       * be part of the class documentation hierarchy. From the perspective of an
+       * author of an indexer, the decision to use a local symbol or global symbol
+       * should exclusively be determined whether the local symbol is accessible
+       * outside the document, not by the capability to find the enclosing
+       * symbol.
+       * 
+ * + * string enclosing_symbol = 8 [json_name = "enclosingSymbol"]; + * @return This builder for chaining. + */ + public Builder clearEnclosingSymbol() { + enclosingSymbol_ = getDefaultInstance().getEnclosingSymbol(); + bitField0_ = (bitField0_ & ~0x00000040); + onChanged(); + return this; + } + /** + *
+       * (optional) The enclosing symbol if this is a local symbol.  For non-local
+       * symbols, the enclosing symbol should be parsed from the `symbol` field
+       * using the `Descriptor` grammar.
+       *
+       * The primary use-case for this field is to allow local symbol to be displayed
+       * in a symbol hierarchy for API documentation. It's OK to leave this field
+       * empty for local variables since local variables usually don't belong in API
+       * documentation. However, in the situation that you wish to include a local
+       * symbol in the hierarchy, then you can use `enclosing_symbol` to locate the
+       * "parent" or "owner" of this local symbol. For example, a Java indexer may
+       * choose to use local symbols for private class fields while providing an
+       * `enclosing_symbol` to reference the enclosing class to allow the field to
+       * be part of the class documentation hierarchy. From the perspective of an
+       * author of an indexer, the decision to use a local symbol or global symbol
+       * should exclusively be determined whether the local symbol is accessible
+       * outside the document, not by the capability to find the enclosing
+       * symbol.
+       * 
+ * + * string enclosing_symbol = 8 [json_name = "enclosingSymbol"]; + * @param value The bytes for enclosingSymbol to set. + * @return This builder for chaining. + */ + public Builder setEnclosingSymbolBytes( + com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + checkByteStringIsUtf8(value); + enclosingSymbol_ = value; + bitField0_ |= 0x00000040; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:scip.SymbolInformation) + } + + // @@protoc_insertion_point(class_scope:scip.SymbolInformation) + private static final scip.Scip.SymbolInformation DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new scip.Scip.SymbolInformation(); + } + + public static scip.Scip.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 { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public scip.Scip.SymbolInformation getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface RelationshipOrBuilder extends + // @@protoc_insertion_point(interface_extends:scip.Relationship) + com.google.protobuf.MessageOrBuilder { + + /** + * string symbol = 1 [json_name = "symbol"]; + * @return The symbol. + */ + java.lang.String getSymbol(); + /** + * string symbol = 1 [json_name = "symbol"]; + * @return The bytes for symbol. + */ + com.google.protobuf.ByteString + getSymbolBytes(); + + /** + *
+     * When resolving "Find references", this field documents what other symbols
+     * should be included together with this symbol. For example, consider the
+     * following TypeScript code that defines two symbols `Animal#sound()` and
+     * `Dog#sound()`:
+     * ```ts
+     * interface Animal {
+     * ^^^^^^ definition Animal#
+     * sound(): string
+     * ^^^^^ definition Animal#sound()
+     * }
+     * class Dog implements Animal {
+     * ^^^ definition Dog#, relationships = [{symbol: "Animal#", is_implementation: true}]
+     * public sound(): string { return "woof" }
+     * ^^^^^ definition Dog#sound(), references_symbols = Animal#sound(), relationships = [{symbol: "Animal#sound()", is_implementation:true, is_reference: true}]
+     * }
+     * const animal: Animal = new Dog()
+     * ^^^^^^ reference Animal#
+     * console.log(animal.sound())
+     * ^^^^^ reference Animal#sound()
+     * ```
+     * Doing "Find references" on the symbol `Animal#sound()` should return
+     * references to the `Dog#sound()` method as well. Vice-versa, doing "Find
+     * references" on the `Dog#sound()` method should include references to the
+     * `Animal#sound()` method as well.
+     * 
+ * + * bool is_reference = 2 [json_name = "isReference"]; + * @return The isReference. + */ + boolean getIsReference(); + + /** + *
+     * Similar to `is_reference` but for "Find implementations".
+     * It's common for `is_implementation` and `is_reference` to both be true but
+     * it's not always the case.
+     * In the TypeScript example above, observe that `Dog#` has an
+     * `is_implementation` relationship with `"Animal#"` but not `is_reference`.
+     * This is because "Find references" on the "Animal#" symbol should not return
+     * "Dog#". We only want "Dog#" to return as a result for "Find
+     * implementations" on the "Animal#" symbol.
+     * 
+ * + * bool is_implementation = 3 [json_name = "isImplementation"]; + * @return The isImplementation. + */ + boolean getIsImplementation(); + + /** + *
+     * Similar to `references_symbols` but for "Go to type definition".
+     * 
+ * + * bool is_type_definition = 4 [json_name = "isTypeDefinition"]; + * @return The isTypeDefinition. + */ + boolean getIsTypeDefinition(); + + /** + *
+     * Allows overriding the behavior of "Go to definition" and "Find references"
+     * for symbols which do not have a definition of their own or could
+     * potentially have multiple definitions.
+     *
+     * For example, in a language with single inheritance and no field overriding,
+     * inherited fields can reuse the same symbol as the ancestor which declares
+     * the field. In such a situation, is_definition is not needed.
+     *
+     * On the other hand, in languages with single inheritance and some form
+     * of mixins, you can use is_definition to relate the symbol to the
+     * matching symbol in ancestor classes, and is_reference to relate the
+     * symbol to the matching symbol in mixins.
+     * 
+ * + * bool is_definition = 5 [json_name = "isDefinition"]; + * @return The isDefinition. + */ + boolean getIsDefinition(); + } + /** + * Protobuf type {@code scip.Relationship} + */ + public static final class Relationship extends + com.google.protobuf.GeneratedMessage implements + // @@protoc_insertion_point(message_implements:scip.Relationship) + RelationshipOrBuilder { + private static final long serialVersionUID = 0L; + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 32, + /* patch= */ 1, + /* suffix= */ "", + Relationship.class.getName()); + } + // Use Relationship.newBuilder() to construct. + private Relationship(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + private Relationship() { + symbol_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return scip.Scip.internal_static_scip_Relationship_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return scip.Scip.internal_static_scip_Relationship_fieldAccessorTable + .ensureFieldAccessorsInitialized( + scip.Scip.Relationship.class, scip.Scip.Relationship.Builder.class); + } + + public static final int SYMBOL_FIELD_NUMBER = 1; + @SuppressWarnings("serial") + private volatile java.lang.Object symbol_ = ""; + /** + * string symbol = 1 [json_name = "symbol"]; + * @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 [json_name = "symbol"]; + * @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 IS_REFERENCE_FIELD_NUMBER = 2; + private boolean isReference_ = false; + /** + *
+     * When resolving "Find references", this field documents what other symbols
+     * should be included together with this symbol. For example, consider the
+     * following TypeScript code that defines two symbols `Animal#sound()` and
+     * `Dog#sound()`:
+     * ```ts
+     * interface Animal {
+     * ^^^^^^ definition Animal#
+     * sound(): string
+     * ^^^^^ definition Animal#sound()
+     * }
+     * class Dog implements Animal {
+     * ^^^ definition Dog#, relationships = [{symbol: "Animal#", is_implementation: true}]
+     * public sound(): string { return "woof" }
+     * ^^^^^ definition Dog#sound(), references_symbols = Animal#sound(), relationships = [{symbol: "Animal#sound()", is_implementation:true, is_reference: true}]
+     * }
+     * const animal: Animal = new Dog()
+     * ^^^^^^ reference Animal#
+     * console.log(animal.sound())
+     * ^^^^^ reference Animal#sound()
+     * ```
+     * Doing "Find references" on the symbol `Animal#sound()` should return
+     * references to the `Dog#sound()` method as well. Vice-versa, doing "Find
+     * references" on the `Dog#sound()` method should include references to the
+     * `Animal#sound()` method as well.
+     * 
+ * + * bool is_reference = 2 [json_name = "isReference"]; + * @return The isReference. + */ + @java.lang.Override + public boolean getIsReference() { + return isReference_; + } + + public static final int IS_IMPLEMENTATION_FIELD_NUMBER = 3; + private boolean isImplementation_ = false; + /** + *
+     * Similar to `is_reference` but for "Find implementations".
+     * It's common for `is_implementation` and `is_reference` to both be true but
+     * it's not always the case.
+     * In the TypeScript example above, observe that `Dog#` has an
+     * `is_implementation` relationship with `"Animal#"` but not `is_reference`.
+     * This is because "Find references" on the "Animal#" symbol should not return
+     * "Dog#". We only want "Dog#" to return as a result for "Find
+     * implementations" on the "Animal#" symbol.
+     * 
+ * + * bool is_implementation = 3 [json_name = "isImplementation"]; + * @return The isImplementation. + */ + @java.lang.Override + public boolean getIsImplementation() { + return isImplementation_; + } + + public static final int IS_TYPE_DEFINITION_FIELD_NUMBER = 4; + private boolean isTypeDefinition_ = false; + /** + *
+     * Similar to `references_symbols` but for "Go to type definition".
+     * 
+ * + * bool is_type_definition = 4 [json_name = "isTypeDefinition"]; + * @return The isTypeDefinition. + */ + @java.lang.Override + public boolean getIsTypeDefinition() { + return isTypeDefinition_; + } + + public static final int IS_DEFINITION_FIELD_NUMBER = 5; + private boolean isDefinition_ = false; + /** + *
+     * Allows overriding the behavior of "Go to definition" and "Find references"
+     * for symbols which do not have a definition of their own or could
+     * potentially have multiple definitions.
+     *
+     * For example, in a language with single inheritance and no field overriding,
+     * inherited fields can reuse the same symbol as the ancestor which declares
+     * the field. In such a situation, is_definition is not needed.
+     *
+     * On the other hand, in languages with single inheritance and some form
+     * of mixins, you can use is_definition to relate the symbol to the
+     * matching symbol in ancestor classes, and is_reference to relate the
+     * symbol to the matching symbol in mixins.
+     * 
+ * + * bool is_definition = 5 [json_name = "isDefinition"]; + * @return The isDefinition. + */ + @java.lang.Override + public boolean getIsDefinition() { + return isDefinition_; + } + + 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 (!com.google.protobuf.GeneratedMessage.isStringEmpty(symbol_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, symbol_); + } + if (isReference_ != false) { + output.writeBool(2, isReference_); + } + if (isImplementation_ != false) { + output.writeBool(3, isImplementation_); + } + if (isTypeDefinition_ != false) { + output.writeBool(4, isTypeDefinition_); + } + if (isDefinition_ != false) { + output.writeBool(5, isDefinition_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(symbol_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, symbol_); + } + if (isReference_ != false) { + size += com.google.protobuf.CodedOutputStream + .computeBoolSize(2, isReference_); + } + if (isImplementation_ != false) { + size += com.google.protobuf.CodedOutputStream + .computeBoolSize(3, isImplementation_); + } + if (isTypeDefinition_ != false) { + size += com.google.protobuf.CodedOutputStream + .computeBoolSize(4, isTypeDefinition_); + } + if (isDefinition_ != false) { + size += com.google.protobuf.CodedOutputStream + .computeBoolSize(5, isDefinition_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof scip.Scip.Relationship)) { + return super.equals(obj); + } + scip.Scip.Relationship other = (scip.Scip.Relationship) obj; + + if (!getSymbol() + .equals(other.getSymbol())) return false; + if (getIsReference() + != other.getIsReference()) return false; + if (getIsImplementation() + != other.getIsImplementation()) return false; + if (getIsTypeDefinition() + != other.getIsTypeDefinition()) return false; + if (getIsDefinition() + != other.getIsDefinition()) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) 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) + IS_REFERENCE_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( + getIsReference()); + hash = (37 * hash) + IS_IMPLEMENTATION_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( + getIsImplementation()); + hash = (37 * hash) + IS_TYPE_DEFINITION_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( + getIsTypeDefinition()); + hash = (37 * hash) + IS_DEFINITION_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( + getIsDefinition()); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static scip.Scip.Relationship parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static scip.Scip.Relationship parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static scip.Scip.Relationship parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static scip.Scip.Relationship parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static scip.Scip.Relationship parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static scip.Scip.Relationship parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static scip.Scip.Relationship parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static scip.Scip.Relationship parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public static scip.Scip.Relationship parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input); + } + + public static scip.Scip.Relationship parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static scip.Scip.Relationship parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static scip.Scip.Relationship parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(scip.Scip.Relationship 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code scip.Relationship} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder implements + // @@protoc_insertion_point(builder_implements:scip.Relationship) + scip.Scip.RelationshipOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return scip.Scip.internal_static_scip_Relationship_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return scip.Scip.internal_static_scip_Relationship_fieldAccessorTable + .ensureFieldAccessorsInitialized( + scip.Scip.Relationship.class, scip.Scip.Relationship.Builder.class); + } + + // Construct using scip.Scip.Relationship.newBuilder() + private Builder() { + + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + + } + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + symbol_ = ""; + isReference_ = false; + isImplementation_ = false; + isTypeDefinition_ = false; + isDefinition_ = false; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return scip.Scip.internal_static_scip_Relationship_descriptor; + } + + @java.lang.Override + public scip.Scip.Relationship getDefaultInstanceForType() { + return scip.Scip.Relationship.getDefaultInstance(); + } + + @java.lang.Override + public scip.Scip.Relationship build() { + scip.Scip.Relationship result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public scip.Scip.Relationship buildPartial() { + scip.Scip.Relationship result = new scip.Scip.Relationship(this); + if (bitField0_ != 0) { buildPartial0(result); } + onBuilt(); + return result; + } + + private void buildPartial0(scip.Scip.Relationship result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.symbol_ = symbol_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.isReference_ = isReference_; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.isImplementation_ = isImplementation_; + } + if (((from_bitField0_ & 0x00000008) != 0)) { + result.isTypeDefinition_ = isTypeDefinition_; + } + if (((from_bitField0_ & 0x00000010) != 0)) { + result.isDefinition_ = isDefinition_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof scip.Scip.Relationship) { + return mergeFrom((scip.Scip.Relationship)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(scip.Scip.Relationship other) { + if (other == scip.Scip.Relationship.getDefaultInstance()) return this; + if (!other.getSymbol().isEmpty()) { + symbol_ = other.symbol_; + bitField0_ |= 0x00000001; + onChanged(); + } + if (other.getIsReference() != false) { + setIsReference(other.getIsReference()); + } + if (other.getIsImplementation() != false) { + setIsImplementation(other.getIsImplementation()); + } + if (other.getIsTypeDefinition() != false) { + setIsTypeDefinition(other.getIsTypeDefinition()); + } + if (other.getIsDefinition() != false) { + setIsDefinition(other.getIsDefinition()); + } + this.mergeUnknownFields(other.getUnknownFields()); + 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 { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + symbol_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 16: { + isReference_ = input.readBool(); + bitField0_ |= 0x00000002; + break; + } // case 16 + case 24: { + isImplementation_ = input.readBool(); + bitField0_ |= 0x00000004; + break; + } // case 24 + case 32: { + isTypeDefinition_ = input.readBool(); + bitField0_ |= 0x00000008; + break; + } // case 32 + case 40: { + isDefinition_ = input.readBool(); + bitField0_ |= 0x00000010; + break; + } // case 40 + default: { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + private int bitField0_; + + private java.lang.Object symbol_ = ""; + /** + * string symbol = 1 [json_name = "symbol"]; + * @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 [json_name = "symbol"]; + * @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 [json_name = "symbol"]; + * @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; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + /** + * string symbol = 1 [json_name = "symbol"]; + * @return This builder for chaining. + */ + public Builder clearSymbol() { + symbol_ = getDefaultInstance().getSymbol(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + /** + * string symbol = 1 [json_name = "symbol"]; + * @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; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private boolean isReference_ ; + /** + *
+       * When resolving "Find references", this field documents what other symbols
+       * should be included together with this symbol. For example, consider the
+       * following TypeScript code that defines two symbols `Animal#sound()` and
+       * `Dog#sound()`:
+       * ```ts
+       * interface Animal {
+       * ^^^^^^ definition Animal#
+       * sound(): string
+       * ^^^^^ definition Animal#sound()
+       * }
+       * class Dog implements Animal {
+       * ^^^ definition Dog#, relationships = [{symbol: "Animal#", is_implementation: true}]
+       * public sound(): string { return "woof" }
+       * ^^^^^ definition Dog#sound(), references_symbols = Animal#sound(), relationships = [{symbol: "Animal#sound()", is_implementation:true, is_reference: true}]
+       * }
+       * const animal: Animal = new Dog()
+       * ^^^^^^ reference Animal#
+       * console.log(animal.sound())
+       * ^^^^^ reference Animal#sound()
+       * ```
+       * Doing "Find references" on the symbol `Animal#sound()` should return
+       * references to the `Dog#sound()` method as well. Vice-versa, doing "Find
+       * references" on the `Dog#sound()` method should include references to the
+       * `Animal#sound()` method as well.
+       * 
+ * + * bool is_reference = 2 [json_name = "isReference"]; + * @return The isReference. + */ + @java.lang.Override + public boolean getIsReference() { + return isReference_; + } + /** + *
+       * When resolving "Find references", this field documents what other symbols
+       * should be included together with this symbol. For example, consider the
+       * following TypeScript code that defines two symbols `Animal#sound()` and
+       * `Dog#sound()`:
+       * ```ts
+       * interface Animal {
+       * ^^^^^^ definition Animal#
+       * sound(): string
+       * ^^^^^ definition Animal#sound()
+       * }
+       * class Dog implements Animal {
+       * ^^^ definition Dog#, relationships = [{symbol: "Animal#", is_implementation: true}]
+       * public sound(): string { return "woof" }
+       * ^^^^^ definition Dog#sound(), references_symbols = Animal#sound(), relationships = [{symbol: "Animal#sound()", is_implementation:true, is_reference: true}]
+       * }
+       * const animal: Animal = new Dog()
+       * ^^^^^^ reference Animal#
+       * console.log(animal.sound())
+       * ^^^^^ reference Animal#sound()
+       * ```
+       * Doing "Find references" on the symbol `Animal#sound()` should return
+       * references to the `Dog#sound()` method as well. Vice-versa, doing "Find
+       * references" on the `Dog#sound()` method should include references to the
+       * `Animal#sound()` method as well.
+       * 
+ * + * bool is_reference = 2 [json_name = "isReference"]; + * @param value The isReference to set. + * @return This builder for chaining. + */ + public Builder setIsReference(boolean value) { + + isReference_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + /** + *
+       * When resolving "Find references", this field documents what other symbols
+       * should be included together with this symbol. For example, consider the
+       * following TypeScript code that defines two symbols `Animal#sound()` and
+       * `Dog#sound()`:
+       * ```ts
+       * interface Animal {
+       * ^^^^^^ definition Animal#
+       * sound(): string
+       * ^^^^^ definition Animal#sound()
+       * }
+       * class Dog implements Animal {
+       * ^^^ definition Dog#, relationships = [{symbol: "Animal#", is_implementation: true}]
+       * public sound(): string { return "woof" }
+       * ^^^^^ definition Dog#sound(), references_symbols = Animal#sound(), relationships = [{symbol: "Animal#sound()", is_implementation:true, is_reference: true}]
+       * }
+       * const animal: Animal = new Dog()
+       * ^^^^^^ reference Animal#
+       * console.log(animal.sound())
+       * ^^^^^ reference Animal#sound()
+       * ```
+       * Doing "Find references" on the symbol `Animal#sound()` should return
+       * references to the `Dog#sound()` method as well. Vice-versa, doing "Find
+       * references" on the `Dog#sound()` method should include references to the
+       * `Animal#sound()` method as well.
+       * 
+ * + * bool is_reference = 2 [json_name = "isReference"]; + * @return This builder for chaining. + */ + public Builder clearIsReference() { + bitField0_ = (bitField0_ & ~0x00000002); + isReference_ = false; + onChanged(); + return this; + } + + private boolean isImplementation_ ; + /** + *
+       * Similar to `is_reference` but for "Find implementations".
+       * It's common for `is_implementation` and `is_reference` to both be true but
+       * it's not always the case.
+       * In the TypeScript example above, observe that `Dog#` has an
+       * `is_implementation` relationship with `"Animal#"` but not `is_reference`.
+       * This is because "Find references" on the "Animal#" symbol should not return
+       * "Dog#". We only want "Dog#" to return as a result for "Find
+       * implementations" on the "Animal#" symbol.
+       * 
+ * + * bool is_implementation = 3 [json_name = "isImplementation"]; + * @return The isImplementation. + */ + @java.lang.Override + public boolean getIsImplementation() { + return isImplementation_; + } + /** + *
+       * Similar to `is_reference` but for "Find implementations".
+       * It's common for `is_implementation` and `is_reference` to both be true but
+       * it's not always the case.
+       * In the TypeScript example above, observe that `Dog#` has an
+       * `is_implementation` relationship with `"Animal#"` but not `is_reference`.
+       * This is because "Find references" on the "Animal#" symbol should not return
+       * "Dog#". We only want "Dog#" to return as a result for "Find
+       * implementations" on the "Animal#" symbol.
+       * 
+ * + * bool is_implementation = 3 [json_name = "isImplementation"]; + * @param value The isImplementation to set. + * @return This builder for chaining. + */ + public Builder setIsImplementation(boolean value) { + + isImplementation_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + /** + *
+       * Similar to `is_reference` but for "Find implementations".
+       * It's common for `is_implementation` and `is_reference` to both be true but
+       * it's not always the case.
+       * In the TypeScript example above, observe that `Dog#` has an
+       * `is_implementation` relationship with `"Animal#"` but not `is_reference`.
+       * This is because "Find references" on the "Animal#" symbol should not return
+       * "Dog#". We only want "Dog#" to return as a result for "Find
+       * implementations" on the "Animal#" symbol.
+       * 
+ * + * bool is_implementation = 3 [json_name = "isImplementation"]; + * @return This builder for chaining. + */ + public Builder clearIsImplementation() { + bitField0_ = (bitField0_ & ~0x00000004); + isImplementation_ = false; + onChanged(); + return this; + } + + private boolean isTypeDefinition_ ; + /** + *
+       * Similar to `references_symbols` but for "Go to type definition".
+       * 
+ * + * bool is_type_definition = 4 [json_name = "isTypeDefinition"]; + * @return The isTypeDefinition. + */ + @java.lang.Override + public boolean getIsTypeDefinition() { + return isTypeDefinition_; + } + /** + *
+       * Similar to `references_symbols` but for "Go to type definition".
+       * 
+ * + * bool is_type_definition = 4 [json_name = "isTypeDefinition"]; + * @param value The isTypeDefinition to set. + * @return This builder for chaining. + */ + public Builder setIsTypeDefinition(boolean value) { + + isTypeDefinition_ = value; + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + /** + *
+       * Similar to `references_symbols` but for "Go to type definition".
+       * 
+ * + * bool is_type_definition = 4 [json_name = "isTypeDefinition"]; + * @return This builder for chaining. + */ + public Builder clearIsTypeDefinition() { + bitField0_ = (bitField0_ & ~0x00000008); + isTypeDefinition_ = false; + onChanged(); + return this; + } + + private boolean isDefinition_ ; + /** + *
+       * Allows overriding the behavior of "Go to definition" and "Find references"
+       * for symbols which do not have a definition of their own or could
+       * potentially have multiple definitions.
+       *
+       * For example, in a language with single inheritance and no field overriding,
+       * inherited fields can reuse the same symbol as the ancestor which declares
+       * the field. In such a situation, is_definition is not needed.
+       *
+       * On the other hand, in languages with single inheritance and some form
+       * of mixins, you can use is_definition to relate the symbol to the
+       * matching symbol in ancestor classes, and is_reference to relate the
+       * symbol to the matching symbol in mixins.
+       * 
+ * + * bool is_definition = 5 [json_name = "isDefinition"]; + * @return The isDefinition. + */ + @java.lang.Override + public boolean getIsDefinition() { + return isDefinition_; + } + /** + *
+       * Allows overriding the behavior of "Go to definition" and "Find references"
+       * for symbols which do not have a definition of their own or could
+       * potentially have multiple definitions.
+       *
+       * For example, in a language with single inheritance and no field overriding,
+       * inherited fields can reuse the same symbol as the ancestor which declares
+       * the field. In such a situation, is_definition is not needed.
+       *
+       * On the other hand, in languages with single inheritance and some form
+       * of mixins, you can use is_definition to relate the symbol to the
+       * matching symbol in ancestor classes, and is_reference to relate the
+       * symbol to the matching symbol in mixins.
+       * 
+ * + * bool is_definition = 5 [json_name = "isDefinition"]; + * @param value The isDefinition to set. + * @return This builder for chaining. + */ + public Builder setIsDefinition(boolean value) { + + isDefinition_ = value; + bitField0_ |= 0x00000010; + onChanged(); + return this; + } + /** + *
+       * Allows overriding the behavior of "Go to definition" and "Find references"
+       * for symbols which do not have a definition of their own or could
+       * potentially have multiple definitions.
+       *
+       * For example, in a language with single inheritance and no field overriding,
+       * inherited fields can reuse the same symbol as the ancestor which declares
+       * the field. In such a situation, is_definition is not needed.
+       *
+       * On the other hand, in languages with single inheritance and some form
+       * of mixins, you can use is_definition to relate the symbol to the
+       * matching symbol in ancestor classes, and is_reference to relate the
+       * symbol to the matching symbol in mixins.
+       * 
+ * + * bool is_definition = 5 [json_name = "isDefinition"]; + * @return This builder for chaining. + */ + public Builder clearIsDefinition() { + bitField0_ = (bitField0_ & ~0x00000010); + isDefinition_ = false; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:scip.Relationship) + } + + // @@protoc_insertion_point(class_scope:scip.Relationship) + private static final scip.Scip.Relationship DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new scip.Scip.Relationship(); + } + + public static scip.Scip.Relationship getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public Relationship parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public scip.Scip.Relationship getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface OccurrenceOrBuilder extends + // @@protoc_insertion_point(interface_extends:scip.Occurrence) + com.google.protobuf.MessageOrBuilder { + + /** + *
+     * Half-open [start, end) range of this occurrence. Must be exactly three or four
+     * elements:
+     *
+     * - Four elements: `[startLine, startCharacter, endLine, endCharacter]`
+     * - Three elements: `[startLine, startCharacter, endCharacter]`. The end line
+     * is inferred to have the same value as the start line.
+     *
+     * It is allowed for the range to be empty (i.e. start==end).
+     *
+     * Line numbers and characters are always 0-based. Make sure to increment the
+     * line/character values before displaying them in an editor-like UI because
+     * editors conventionally use 1-based numbers.
+     *
+     * The 'character' value is interpreted based on the PositionEncoding for
+     * the Document.
+     *
+     * Historical note: the original draft of this schema had a `Range` message
+     * type with `start` and `end` fields of type `Position`, mirroring LSP.
+     * Benchmarks revealed that this encoding was inefficient and that we could
+     * reduce the total payload size of an index by 50% by using `repeated int32`
+     * instead. The `repeated int32` encoding is admittedly more embarrassing to
+     * work with in some programming languages but we hope the performance
+     * improvements make up for it.
+     * 
+ * + * repeated int32 range = 1 [json_name = "range"]; + * @return A list containing the range. + */ + java.util.List getRangeList(); + /** + *
+     * Half-open [start, end) range of this occurrence. Must be exactly three or four
+     * elements:
+     *
+     * - Four elements: `[startLine, startCharacter, endLine, endCharacter]`
+     * - Three elements: `[startLine, startCharacter, endCharacter]`. The end line
+     * is inferred to have the same value as the start line.
+     *
+     * It is allowed for the range to be empty (i.e. start==end).
+     *
+     * Line numbers and characters are always 0-based. Make sure to increment the
+     * line/character values before displaying them in an editor-like UI because
+     * editors conventionally use 1-based numbers.
+     *
+     * The 'character' value is interpreted based on the PositionEncoding for
+     * the Document.
+     *
+     * Historical note: the original draft of this schema had a `Range` message
+     * type with `start` and `end` fields of type `Position`, mirroring LSP.
+     * Benchmarks revealed that this encoding was inefficient and that we could
+     * reduce the total payload size of an index by 50% by using `repeated int32`
+     * instead. The `repeated int32` encoding is admittedly more embarrassing to
+     * work with in some programming languages but we hope the performance
+     * improvements make up for it.
+     * 
+ * + * repeated int32 range = 1 [json_name = "range"]; + * @return The count of range. + */ + int getRangeCount(); + /** + *
+     * Half-open [start, end) range of this occurrence. Must be exactly three or four
+     * elements:
+     *
+     * - Four elements: `[startLine, startCharacter, endLine, endCharacter]`
+     * - Three elements: `[startLine, startCharacter, endCharacter]`. The end line
+     * is inferred to have the same value as the start line.
+     *
+     * It is allowed for the range to be empty (i.e. start==end).
+     *
+     * Line numbers and characters are always 0-based. Make sure to increment the
+     * line/character values before displaying them in an editor-like UI because
+     * editors conventionally use 1-based numbers.
+     *
+     * The 'character' value is interpreted based on the PositionEncoding for
+     * the Document.
+     *
+     * Historical note: the original draft of this schema had a `Range` message
+     * type with `start` and `end` fields of type `Position`, mirroring LSP.
+     * Benchmarks revealed that this encoding was inefficient and that we could
+     * reduce the total payload size of an index by 50% by using `repeated int32`
+     * instead. The `repeated int32` encoding is admittedly more embarrassing to
+     * work with in some programming languages but we hope the performance
+     * improvements make up for it.
+     * 
+ * + * repeated int32 range = 1 [json_name = "range"]; + * @param index The index of the element to return. + * @return The range at the given index. + */ + int getRange(int index); + + /** + *
+     * (optional) The symbol that appears at this position. See
+     * `SymbolInformation.symbol` for how to format symbols as strings.
+     * 
+ * + * string symbol = 2 [json_name = "symbol"]; + * @return The symbol. + */ + java.lang.String getSymbol(); + /** + *
+     * (optional) The symbol that appears at this position. See
+     * `SymbolInformation.symbol` for how to format symbols as strings.
+     * 
+ * + * string symbol = 2 [json_name = "symbol"]; + * @return The bytes for symbol. + */ + com.google.protobuf.ByteString + getSymbolBytes(); + + /** + *
+     * (optional) Bitset containing `SymbolRole`s in this occurrence.
+     * See `SymbolRole`'s documentation for how to read and write this field.
+     * 
+ * + * int32 symbol_roles = 3 [json_name = "symbolRoles"]; + * @return The symbolRoles. + */ + int getSymbolRoles(); + + /** + *
+     * (optional) CommonMark-formatted documentation for this specific range. If
+     * empty, the `Symbol.documentation` field is used instead. One example
+     * where this field might be useful is when the symbol represents a generic
+     * function (with abstract type parameters such as `List<T>`) and at this
+     * occurrence we know the exact values (such as `List<String>`).
+     *
+     * This field can also be used for dynamically or gradually typed languages,
+     * which commonly allow for type-changing assignment.
+     * 
+ * + * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; + * @return A list containing the overrideDocumentation. + */ + java.util.List + getOverrideDocumentationList(); + /** + *
+     * (optional) CommonMark-formatted documentation for this specific range. If
+     * empty, the `Symbol.documentation` field is used instead. One example
+     * where this field might be useful is when the symbol represents a generic
+     * function (with abstract type parameters such as `List<T>`) and at this
+     * occurrence we know the exact values (such as `List<String>`).
+     *
+     * This field can also be used for dynamically or gradually typed languages,
+     * which commonly allow for type-changing assignment.
+     * 
+ * + * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; + * @return The count of overrideDocumentation. + */ + int getOverrideDocumentationCount(); + /** + *
+     * (optional) CommonMark-formatted documentation for this specific range. If
+     * empty, the `Symbol.documentation` field is used instead. One example
+     * where this field might be useful is when the symbol represents a generic
+     * function (with abstract type parameters such as `List<T>`) and at this
+     * occurrence we know the exact values (such as `List<String>`).
+     *
+     * This field can also be used for dynamically or gradually typed languages,
+     * which commonly allow for type-changing assignment.
+     * 
+ * + * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; + * @param index The index of the element to return. + * @return The overrideDocumentation at the given index. + */ + java.lang.String getOverrideDocumentation(int index); + /** + *
+     * (optional) CommonMark-formatted documentation for this specific range. If
+     * empty, the `Symbol.documentation` field is used instead. One example
+     * where this field might be useful is when the symbol represents a generic
+     * function (with abstract type parameters such as `List<T>`) and at this
+     * occurrence we know the exact values (such as `List<String>`).
+     *
+     * This field can also be used for dynamically or gradually typed languages,
+     * which commonly allow for type-changing assignment.
+     * 
+ * + * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; + * @param index The index of the value to return. + * @return The bytes of the overrideDocumentation at the given index. + */ + com.google.protobuf.ByteString + getOverrideDocumentationBytes(int index); + + /** + *
+     * (optional) What syntax highlighting class should be used for this range?
+     * 
+ * + * .scip.SyntaxKind syntax_kind = 5 [json_name = "syntaxKind"]; + * @return The enum numeric value on the wire for syntaxKind. + */ + int getSyntaxKindValue(); + /** + *
+     * (optional) What syntax highlighting class should be used for this range?
+     * 
+ * + * .scip.SyntaxKind syntax_kind = 5 [json_name = "syntaxKind"]; + * @return The syntaxKind. + */ + scip.Scip.SyntaxKind getSyntaxKind(); + + /** + *
+     * (optional) Diagnostics that have been reported for this specific range.
+     * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + java.util.List + getDiagnosticsList(); + /** + *
+     * (optional) Diagnostics that have been reported for this specific range.
+     * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + scip.Scip.Diagnostic getDiagnostics(int index); + /** + *
+     * (optional) Diagnostics that have been reported for this specific range.
+     * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + int getDiagnosticsCount(); + /** + *
+     * (optional) Diagnostics that have been reported for this specific range.
+     * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + java.util.List + getDiagnosticsOrBuilderList(); + /** + *
+     * (optional) Diagnostics that have been reported for this specific range.
+     * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + scip.Scip.DiagnosticOrBuilder getDiagnosticsOrBuilder( + int index); + + /** + *
+     * (optional) Using the same encoding as the sibling `range` field, half-open
+     * source range of the nearest non-trivial enclosing AST node. This range must
+     * enclose the `range` field. Example applications that make use of the
+     * enclosing_range field:
+     *
+     * - Call hierarchies: to determine what symbols are references from the body
+     * of a function
+     * - Symbol outline: to display breadcrumbs from the cursor position to the
+     * root of the file
+     * - Expand selection: to select the nearest enclosing AST node.
+     * - Highlight range: to indicate the AST expression that is associated with a
+     * hover popover
+     *
+     * For definition occurrences, the enclosing range should indicate the
+     * start/end bounds of the entire definition AST node, including
+     * documentation.
+     * ```
+     * const n = 3
+     * ^ range
+     * ^^^^^^^^^^^ enclosing_range
+     *
+     * /** Parses the string into something */
+     * ^ enclosing_range start --------------------------------------|
+     * function parse(input string): string {                        |
+     * ^^^^^ range                                          |
+     * return input.slice(n)                                     |
+     * }                                                             |
+     * ^ enclosing_range end <---------------------------------------|
+     * ```
+     *
+     * Any attributes/decorators/attached macros should also be part of the
+     * enclosing range.
+     *
+     * ```python
+     * @cache
+     * ^ enclosing_range start---------------------|
+     * def factorial(n):                           |
+     * return n * factorial(n-1) if n else 1   |
+     * < enclosing_range end-----------------------|
+     *
+     * ```
+     *
+     * For reference occurrences, the enclosing range should indicate the start/end
+     * bounds of the parent expression.
+     * ```
+     * const a = a.b
+     * ^ range
+     * ^^^ enclosing_range
+     * const b = a.b(41).f(42).g(43)
+     * ^ range
+     * ^^^^^^^^^^^^^ enclosing_range
+     * ```
+     * 
+ * + * repeated int32 enclosing_range = 7 [json_name = "enclosingRange"]; + * @return A list containing the enclosingRange. + */ + java.util.List getEnclosingRangeList(); + /** + *
+     * (optional) Using the same encoding as the sibling `range` field, half-open
+     * source range of the nearest non-trivial enclosing AST node. This range must
+     * enclose the `range` field. Example applications that make use of the
+     * enclosing_range field:
+     *
+     * - Call hierarchies: to determine what symbols are references from the body
+     * of a function
+     * - Symbol outline: to display breadcrumbs from the cursor position to the
+     * root of the file
+     * - Expand selection: to select the nearest enclosing AST node.
+     * - Highlight range: to indicate the AST expression that is associated with a
+     * hover popover
+     *
+     * For definition occurrences, the enclosing range should indicate the
+     * start/end bounds of the entire definition AST node, including
+     * documentation.
+     * ```
+     * const n = 3
+     * ^ range
+     * ^^^^^^^^^^^ enclosing_range
+     *
+     * /** Parses the string into something */
+     * ^ enclosing_range start --------------------------------------|
+     * function parse(input string): string {                        |
+     * ^^^^^ range                                          |
+     * return input.slice(n)                                     |
+     * }                                                             |
+     * ^ enclosing_range end <---------------------------------------|
+     * ```
+     *
+     * Any attributes/decorators/attached macros should also be part of the
+     * enclosing range.
+     *
+     * ```python
+     * @cache
+     * ^ enclosing_range start---------------------|
+     * def factorial(n):                           |
+     * return n * factorial(n-1) if n else 1   |
+     * < enclosing_range end-----------------------|
+     *
+     * ```
+     *
+     * For reference occurrences, the enclosing range should indicate the start/end
+     * bounds of the parent expression.
+     * ```
+     * const a = a.b
+     * ^ range
+     * ^^^ enclosing_range
+     * const b = a.b(41).f(42).g(43)
+     * ^ range
+     * ^^^^^^^^^^^^^ enclosing_range
+     * ```
+     * 
+ * + * repeated int32 enclosing_range = 7 [json_name = "enclosingRange"]; + * @return The count of enclosingRange. + */ + int getEnclosingRangeCount(); + /** + *
+     * (optional) Using the same encoding as the sibling `range` field, half-open
+     * source range of the nearest non-trivial enclosing AST node. This range must
+     * enclose the `range` field. Example applications that make use of the
+     * enclosing_range field:
+     *
+     * - Call hierarchies: to determine what symbols are references from the body
+     * of a function
+     * - Symbol outline: to display breadcrumbs from the cursor position to the
+     * root of the file
+     * - Expand selection: to select the nearest enclosing AST node.
+     * - Highlight range: to indicate the AST expression that is associated with a
+     * hover popover
+     *
+     * For definition occurrences, the enclosing range should indicate the
+     * start/end bounds of the entire definition AST node, including
+     * documentation.
+     * ```
+     * const n = 3
+     * ^ range
+     * ^^^^^^^^^^^ enclosing_range
+     *
+     * /** Parses the string into something */
+     * ^ enclosing_range start --------------------------------------|
+     * function parse(input string): string {                        |
+     * ^^^^^ range                                          |
+     * return input.slice(n)                                     |
+     * }                                                             |
+     * ^ enclosing_range end <---------------------------------------|
+     * ```
+     *
+     * Any attributes/decorators/attached macros should also be part of the
+     * enclosing range.
+     *
+     * ```python
+     * @cache
+     * ^ enclosing_range start---------------------|
+     * def factorial(n):                           |
+     * return n * factorial(n-1) if n else 1   |
+     * < enclosing_range end-----------------------|
+     *
+     * ```
+     *
+     * For reference occurrences, the enclosing range should indicate the start/end
+     * bounds of the parent expression.
+     * ```
+     * const a = a.b
+     * ^ range
+     * ^^^ enclosing_range
+     * const b = a.b(41).f(42).g(43)
+     * ^ range
+     * ^^^^^^^^^^^^^ enclosing_range
+     * ```
+     * 
+ * + * repeated int32 enclosing_range = 7 [json_name = "enclosingRange"]; + * @param index The index of the element to return. + * @return The enclosingRange at the given index. + */ + int getEnclosingRange(int index); + } + /** + *
+   * Occurrence associates a source position with a symbol and/or highlighting
+   * information.
+   *
+   * If possible, indexers should try to bundle logically related information
+   * across occurrences into a single occurrence to reduce payload sizes.
+   * 
+ * + * Protobuf type {@code scip.Occurrence} + */ + public static final class Occurrence extends + com.google.protobuf.GeneratedMessage implements + // @@protoc_insertion_point(message_implements:scip.Occurrence) + OccurrenceOrBuilder { + private static final long serialVersionUID = 0L; + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 32, + /* patch= */ 1, + /* suffix= */ "", + Occurrence.class.getName()); + } + // Use Occurrence.newBuilder() to construct. + private Occurrence(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + private Occurrence() { + range_ = emptyIntList(); + symbol_ = ""; + overrideDocumentation_ = + com.google.protobuf.LazyStringArrayList.emptyList(); + syntaxKind_ = 0; + diagnostics_ = java.util.Collections.emptyList(); + enclosingRange_ = emptyIntList(); + } + + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return scip.Scip.internal_static_scip_Occurrence_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return scip.Scip.internal_static_scip_Occurrence_fieldAccessorTable + .ensureFieldAccessorsInitialized( + scip.Scip.Occurrence.class, scip.Scip.Occurrence.Builder.class); + } + + public static final int RANGE_FIELD_NUMBER = 1; + @SuppressWarnings("serial") + private com.google.protobuf.Internal.IntList range_ = + emptyIntList(); + /** + *
+     * Half-open [start, end) range of this occurrence. Must be exactly three or four
+     * elements:
+     *
+     * - Four elements: `[startLine, startCharacter, endLine, endCharacter]`
+     * - Three elements: `[startLine, startCharacter, endCharacter]`. The end line
+     * is inferred to have the same value as the start line.
+     *
+     * It is allowed for the range to be empty (i.e. start==end).
+     *
+     * Line numbers and characters are always 0-based. Make sure to increment the
+     * line/character values before displaying them in an editor-like UI because
+     * editors conventionally use 1-based numbers.
+     *
+     * The 'character' value is interpreted based on the PositionEncoding for
+     * the Document.
+     *
+     * Historical note: the original draft of this schema had a `Range` message
+     * type with `start` and `end` fields of type `Position`, mirroring LSP.
+     * Benchmarks revealed that this encoding was inefficient and that we could
+     * reduce the total payload size of an index by 50% by using `repeated int32`
+     * instead. The `repeated int32` encoding is admittedly more embarrassing to
+     * work with in some programming languages but we hope the performance
+     * improvements make up for it.
+     * 
+ * + * repeated int32 range = 1 [json_name = "range"]; + * @return A list containing the range. + */ + @java.lang.Override + public java.util.List + getRangeList() { + return range_; + } + /** + *
+     * Half-open [start, end) range of this occurrence. Must be exactly three or four
+     * elements:
+     *
+     * - Four elements: `[startLine, startCharacter, endLine, endCharacter]`
+     * - Three elements: `[startLine, startCharacter, endCharacter]`. The end line
+     * is inferred to have the same value as the start line.
+     *
+     * It is allowed for the range to be empty (i.e. start==end).
+     *
+     * Line numbers and characters are always 0-based. Make sure to increment the
+     * line/character values before displaying them in an editor-like UI because
+     * editors conventionally use 1-based numbers.
+     *
+     * The 'character' value is interpreted based on the PositionEncoding for
+     * the Document.
+     *
+     * Historical note: the original draft of this schema had a `Range` message
+     * type with `start` and `end` fields of type `Position`, mirroring LSP.
+     * Benchmarks revealed that this encoding was inefficient and that we could
+     * reduce the total payload size of an index by 50% by using `repeated int32`
+     * instead. The `repeated int32` encoding is admittedly more embarrassing to
+     * work with in some programming languages but we hope the performance
+     * improvements make up for it.
+     * 
+ * + * repeated int32 range = 1 [json_name = "range"]; + * @return The count of range. + */ + public int getRangeCount() { + return range_.size(); + } + /** + *
+     * Half-open [start, end) range of this occurrence. Must be exactly three or four
+     * elements:
+     *
+     * - Four elements: `[startLine, startCharacter, endLine, endCharacter]`
+     * - Three elements: `[startLine, startCharacter, endCharacter]`. The end line
+     * is inferred to have the same value as the start line.
+     *
+     * It is allowed for the range to be empty (i.e. start==end).
+     *
+     * Line numbers and characters are always 0-based. Make sure to increment the
+     * line/character values before displaying them in an editor-like UI because
+     * editors conventionally use 1-based numbers.
+     *
+     * The 'character' value is interpreted based on the PositionEncoding for
+     * the Document.
+     *
+     * Historical note: the original draft of this schema had a `Range` message
+     * type with `start` and `end` fields of type `Position`, mirroring LSP.
+     * Benchmarks revealed that this encoding was inefficient and that we could
+     * reduce the total payload size of an index by 50% by using `repeated int32`
+     * instead. The `repeated int32` encoding is admittedly more embarrassing to
+     * work with in some programming languages but we hope the performance
+     * improvements make up for it.
+     * 
+ * + * repeated int32 range = 1 [json_name = "range"]; + * @param index The index of the element to return. + * @return The range at the given index. + */ + public int getRange(int index) { + return range_.getInt(index); + } + private int rangeMemoizedSerializedSize = -1; + + public static final int SYMBOL_FIELD_NUMBER = 2; + @SuppressWarnings("serial") + private volatile java.lang.Object symbol_ = ""; + /** + *
+     * (optional) The symbol that appears at this position. See
+     * `SymbolInformation.symbol` for how to format symbols as strings.
+     * 
+ * + * string symbol = 2 [json_name = "symbol"]; + * @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; + } + } + /** + *
+     * (optional) The symbol that appears at this position. See
+     * `SymbolInformation.symbol` for how to format symbols as strings.
+     * 
+ * + * string symbol = 2 [json_name = "symbol"]; + * @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 SYMBOL_ROLES_FIELD_NUMBER = 3; + private int symbolRoles_ = 0; + /** + *
+     * (optional) Bitset containing `SymbolRole`s in this occurrence.
+     * See `SymbolRole`'s documentation for how to read and write this field.
+     * 
+ * + * int32 symbol_roles = 3 [json_name = "symbolRoles"]; + * @return The symbolRoles. + */ + @java.lang.Override + public int getSymbolRoles() { + return symbolRoles_; + } + + public static final int OVERRIDE_DOCUMENTATION_FIELD_NUMBER = 4; + @SuppressWarnings("serial") + private com.google.protobuf.LazyStringArrayList overrideDocumentation_ = + com.google.protobuf.LazyStringArrayList.emptyList(); + /** + *
+     * (optional) CommonMark-formatted documentation for this specific range. If
+     * empty, the `Symbol.documentation` field is used instead. One example
+     * where this field might be useful is when the symbol represents a generic
+     * function (with abstract type parameters such as `List<T>`) and at this
+     * occurrence we know the exact values (such as `List<String>`).
+     *
+     * This field can also be used for dynamically or gradually typed languages,
+     * which commonly allow for type-changing assignment.
+     * 
+ * + * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; + * @return A list containing the overrideDocumentation. + */ + public com.google.protobuf.ProtocolStringList + getOverrideDocumentationList() { + return overrideDocumentation_; + } + /** + *
+     * (optional) CommonMark-formatted documentation for this specific range. If
+     * empty, the `Symbol.documentation` field is used instead. One example
+     * where this field might be useful is when the symbol represents a generic
+     * function (with abstract type parameters such as `List<T>`) and at this
+     * occurrence we know the exact values (such as `List<String>`).
+     *
+     * This field can also be used for dynamically or gradually typed languages,
+     * which commonly allow for type-changing assignment.
+     * 
+ * + * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; + * @return The count of overrideDocumentation. + */ + public int getOverrideDocumentationCount() { + return overrideDocumentation_.size(); + } + /** + *
+     * (optional) CommonMark-formatted documentation for this specific range. If
+     * empty, the `Symbol.documentation` field is used instead. One example
+     * where this field might be useful is when the symbol represents a generic
+     * function (with abstract type parameters such as `List<T>`) and at this
+     * occurrence we know the exact values (such as `List<String>`).
+     *
+     * This field can also be used for dynamically or gradually typed languages,
+     * which commonly allow for type-changing assignment.
+     * 
+ * + * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; + * @param index The index of the element to return. + * @return The overrideDocumentation at the given index. + */ + public java.lang.String getOverrideDocumentation(int index) { + return overrideDocumentation_.get(index); + } + /** + *
+     * (optional) CommonMark-formatted documentation for this specific range. If
+     * empty, the `Symbol.documentation` field is used instead. One example
+     * where this field might be useful is when the symbol represents a generic
+     * function (with abstract type parameters such as `List<T>`) and at this
+     * occurrence we know the exact values (such as `List<String>`).
+     *
+     * This field can also be used for dynamically or gradually typed languages,
+     * which commonly allow for type-changing assignment.
+     * 
+ * + * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; + * @param index The index of the value to return. + * @return The bytes of the overrideDocumentation at the given index. + */ + public com.google.protobuf.ByteString + getOverrideDocumentationBytes(int index) { + return overrideDocumentation_.getByteString(index); + } + + public static final int SYNTAX_KIND_FIELD_NUMBER = 5; + private int syntaxKind_ = 0; + /** + *
+     * (optional) What syntax highlighting class should be used for this range?
+     * 
+ * + * .scip.SyntaxKind syntax_kind = 5 [json_name = "syntaxKind"]; + * @return The enum numeric value on the wire for syntaxKind. + */ + @java.lang.Override public int getSyntaxKindValue() { + return syntaxKind_; + } + /** + *
+     * (optional) What syntax highlighting class should be used for this range?
+     * 
+ * + * .scip.SyntaxKind syntax_kind = 5 [json_name = "syntaxKind"]; + * @return The syntaxKind. + */ + @java.lang.Override public scip.Scip.SyntaxKind getSyntaxKind() { + scip.Scip.SyntaxKind result = scip.Scip.SyntaxKind.forNumber(syntaxKind_); + return result == null ? scip.Scip.SyntaxKind.UNRECOGNIZED : result; + } + + public static final int DIAGNOSTICS_FIELD_NUMBER = 6; + @SuppressWarnings("serial") + private java.util.List diagnostics_; + /** + *
+     * (optional) Diagnostics that have been reported for this specific range.
+     * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + @java.lang.Override + public java.util.List getDiagnosticsList() { + return diagnostics_; + } + /** + *
+     * (optional) Diagnostics that have been reported for this specific range.
+     * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + @java.lang.Override + public java.util.List + getDiagnosticsOrBuilderList() { + return diagnostics_; + } + /** + *
+     * (optional) Diagnostics that have been reported for this specific range.
+     * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + @java.lang.Override + public int getDiagnosticsCount() { + return diagnostics_.size(); + } + /** + *
+     * (optional) Diagnostics that have been reported for this specific range.
+     * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + @java.lang.Override + public scip.Scip.Diagnostic getDiagnostics(int index) { + return diagnostics_.get(index); + } + /** + *
+     * (optional) Diagnostics that have been reported for this specific range.
+     * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + @java.lang.Override + public scip.Scip.DiagnosticOrBuilder getDiagnosticsOrBuilder( + int index) { + return diagnostics_.get(index); + } + + public static final int ENCLOSING_RANGE_FIELD_NUMBER = 7; + @SuppressWarnings("serial") + private com.google.protobuf.Internal.IntList enclosingRange_ = + emptyIntList(); + /** + *
+     * (optional) Using the same encoding as the sibling `range` field, half-open
+     * source range of the nearest non-trivial enclosing AST node. This range must
+     * enclose the `range` field. Example applications that make use of the
+     * enclosing_range field:
+     *
+     * - Call hierarchies: to determine what symbols are references from the body
+     * of a function
+     * - Symbol outline: to display breadcrumbs from the cursor position to the
+     * root of the file
+     * - Expand selection: to select the nearest enclosing AST node.
+     * - Highlight range: to indicate the AST expression that is associated with a
+     * hover popover
+     *
+     * For definition occurrences, the enclosing range should indicate the
+     * start/end bounds of the entire definition AST node, including
+     * documentation.
+     * ```
+     * const n = 3
+     * ^ range
+     * ^^^^^^^^^^^ enclosing_range
+     *
+     * /** Parses the string into something */
+     * ^ enclosing_range start --------------------------------------|
+     * function parse(input string): string {                        |
+     * ^^^^^ range                                          |
+     * return input.slice(n)                                     |
+     * }                                                             |
+     * ^ enclosing_range end <---------------------------------------|
+     * ```
+     *
+     * Any attributes/decorators/attached macros should also be part of the
+     * enclosing range.
+     *
+     * ```python
+     * @cache
+     * ^ enclosing_range start---------------------|
+     * def factorial(n):                           |
+     * return n * factorial(n-1) if n else 1   |
+     * < enclosing_range end-----------------------|
+     *
+     * ```
+     *
+     * For reference occurrences, the enclosing range should indicate the start/end
+     * bounds of the parent expression.
+     * ```
+     * const a = a.b
+     * ^ range
+     * ^^^ enclosing_range
+     * const b = a.b(41).f(42).g(43)
+     * ^ range
+     * ^^^^^^^^^^^^^ enclosing_range
+     * ```
+     * 
+ * + * repeated int32 enclosing_range = 7 [json_name = "enclosingRange"]; + * @return A list containing the enclosingRange. + */ + @java.lang.Override + public java.util.List + getEnclosingRangeList() { + return enclosingRange_; + } + /** + *
+     * (optional) Using the same encoding as the sibling `range` field, half-open
+     * source range of the nearest non-trivial enclosing AST node. This range must
+     * enclose the `range` field. Example applications that make use of the
+     * enclosing_range field:
+     *
+     * - Call hierarchies: to determine what symbols are references from the body
+     * of a function
+     * - Symbol outline: to display breadcrumbs from the cursor position to the
+     * root of the file
+     * - Expand selection: to select the nearest enclosing AST node.
+     * - Highlight range: to indicate the AST expression that is associated with a
+     * hover popover
+     *
+     * For definition occurrences, the enclosing range should indicate the
+     * start/end bounds of the entire definition AST node, including
+     * documentation.
+     * ```
+     * const n = 3
+     * ^ range
+     * ^^^^^^^^^^^ enclosing_range
+     *
+     * /** Parses the string into something */
+     * ^ enclosing_range start --------------------------------------|
+     * function parse(input string): string {                        |
+     * ^^^^^ range                                          |
+     * return input.slice(n)                                     |
+     * }                                                             |
+     * ^ enclosing_range end <---------------------------------------|
+     * ```
+     *
+     * Any attributes/decorators/attached macros should also be part of the
+     * enclosing range.
+     *
+     * ```python
+     * @cache
+     * ^ enclosing_range start---------------------|
+     * def factorial(n):                           |
+     * return n * factorial(n-1) if n else 1   |
+     * < enclosing_range end-----------------------|
+     *
+     * ```
+     *
+     * For reference occurrences, the enclosing range should indicate the start/end
+     * bounds of the parent expression.
+     * ```
+     * const a = a.b
+     * ^ range
+     * ^^^ enclosing_range
+     * const b = a.b(41).f(42).g(43)
+     * ^ range
+     * ^^^^^^^^^^^^^ enclosing_range
+     * ```
+     * 
+ * + * repeated int32 enclosing_range = 7 [json_name = "enclosingRange"]; + * @return The count of enclosingRange. + */ + public int getEnclosingRangeCount() { + return enclosingRange_.size(); + } + /** + *
+     * (optional) Using the same encoding as the sibling `range` field, half-open
+     * source range of the nearest non-trivial enclosing AST node. This range must
+     * enclose the `range` field. Example applications that make use of the
+     * enclosing_range field:
+     *
+     * - Call hierarchies: to determine what symbols are references from the body
+     * of a function
+     * - Symbol outline: to display breadcrumbs from the cursor position to the
+     * root of the file
+     * - Expand selection: to select the nearest enclosing AST node.
+     * - Highlight range: to indicate the AST expression that is associated with a
+     * hover popover
+     *
+     * For definition occurrences, the enclosing range should indicate the
+     * start/end bounds of the entire definition AST node, including
+     * documentation.
+     * ```
+     * const n = 3
+     * ^ range
+     * ^^^^^^^^^^^ enclosing_range
+     *
+     * /** Parses the string into something */
+     * ^ enclosing_range start --------------------------------------|
+     * function parse(input string): string {                        |
+     * ^^^^^ range                                          |
+     * return input.slice(n)                                     |
+     * }                                                             |
+     * ^ enclosing_range end <---------------------------------------|
+     * ```
+     *
+     * Any attributes/decorators/attached macros should also be part of the
+     * enclosing range.
+     *
+     * ```python
+     * @cache
+     * ^ enclosing_range start---------------------|
+     * def factorial(n):                           |
+     * return n * factorial(n-1) if n else 1   |
+     * < enclosing_range end-----------------------|
+     *
+     * ```
+     *
+     * For reference occurrences, the enclosing range should indicate the start/end
+     * bounds of the parent expression.
+     * ```
+     * const a = a.b
+     * ^ range
+     * ^^^ enclosing_range
+     * const b = a.b(41).f(42).g(43)
+     * ^ range
+     * ^^^^^^^^^^^^^ enclosing_range
+     * ```
+     * 
+ * + * repeated int32 enclosing_range = 7 [json_name = "enclosingRange"]; + * @param index The index of the element to return. + * @return The enclosingRange at the given index. + */ + public int getEnclosingRange(int index) { + return enclosingRange_.getInt(index); + } + private int enclosingRangeMemoizedSerializedSize = -1; + + 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 { + getSerializedSize(); + if (getRangeList().size() > 0) { + output.writeUInt32NoTag(10); + output.writeUInt32NoTag(rangeMemoizedSerializedSize); + } + for (int i = 0; i < range_.size(); i++) { + output.writeInt32NoTag(range_.getInt(i)); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(symbol_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 2, symbol_); + } + if (symbolRoles_ != 0) { + output.writeInt32(3, symbolRoles_); + } + for (int i = 0; i < overrideDocumentation_.size(); i++) { + com.google.protobuf.GeneratedMessage.writeString(output, 4, overrideDocumentation_.getRaw(i)); + } + if (syntaxKind_ != scip.Scip.SyntaxKind.UnspecifiedSyntaxKind.getNumber()) { + output.writeEnum(5, syntaxKind_); + } + for (int i = 0; i < diagnostics_.size(); i++) { + output.writeMessage(6, diagnostics_.get(i)); + } + if (getEnclosingRangeList().size() > 0) { + output.writeUInt32NoTag(58); + output.writeUInt32NoTag(enclosingRangeMemoizedSerializedSize); + } + for (int i = 0; i < enclosingRange_.size(); i++) { + output.writeInt32NoTag(enclosingRange_.getInt(i)); + } + getUnknownFields().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 < range_.size(); i++) { + dataSize += com.google.protobuf.CodedOutputStream + .computeInt32SizeNoTag(range_.getInt(i)); + } + size += dataSize; + if (!getRangeList().isEmpty()) { + size += 1; + size += com.google.protobuf.CodedOutputStream + .computeInt32SizeNoTag(dataSize); + } + rangeMemoizedSerializedSize = dataSize; + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(symbol_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(2, symbol_); + } + if (symbolRoles_ != 0) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(3, symbolRoles_); + } + { + int dataSize = 0; + for (int i = 0; i < overrideDocumentation_.size(); i++) { + dataSize += computeStringSizeNoTag(overrideDocumentation_.getRaw(i)); + } + size += dataSize; + size += 1 * getOverrideDocumentationList().size(); + } + if (syntaxKind_ != scip.Scip.SyntaxKind.UnspecifiedSyntaxKind.getNumber()) { + size += com.google.protobuf.CodedOutputStream + .computeEnumSize(5, syntaxKind_); + } + for (int i = 0; i < diagnostics_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(6, diagnostics_.get(i)); + } + { + int dataSize = 0; + for (int i = 0; i < enclosingRange_.size(); i++) { + dataSize += com.google.protobuf.CodedOutputStream + .computeInt32SizeNoTag(enclosingRange_.getInt(i)); + } + size += dataSize; + if (!getEnclosingRangeList().isEmpty()) { + size += 1; + size += com.google.protobuf.CodedOutputStream + .computeInt32SizeNoTag(dataSize); + } + enclosingRangeMemoizedSerializedSize = dataSize; + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof scip.Scip.Occurrence)) { + return super.equals(obj); + } + scip.Scip.Occurrence other = (scip.Scip.Occurrence) obj; + + if (!getRangeList() + .equals(other.getRangeList())) return false; + if (!getSymbol() + .equals(other.getSymbol())) return false; + if (getSymbolRoles() + != other.getSymbolRoles()) return false; + if (!getOverrideDocumentationList() + .equals(other.getOverrideDocumentationList())) return false; + if (syntaxKind_ != other.syntaxKind_) return false; + if (!getDiagnosticsList() + .equals(other.getDiagnosticsList())) return false; + if (!getEnclosingRangeList() + .equals(other.getEnclosingRangeList())) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (getRangeCount() > 0) { + hash = (37 * hash) + RANGE_FIELD_NUMBER; + hash = (53 * hash) + getRangeList().hashCode(); + } + hash = (37 * hash) + SYMBOL_FIELD_NUMBER; + hash = (53 * hash) + getSymbol().hashCode(); + hash = (37 * hash) + SYMBOL_ROLES_FIELD_NUMBER; + hash = (53 * hash) + getSymbolRoles(); + if (getOverrideDocumentationCount() > 0) { + hash = (37 * hash) + OVERRIDE_DOCUMENTATION_FIELD_NUMBER; + hash = (53 * hash) + getOverrideDocumentationList().hashCode(); + } + hash = (37 * hash) + SYNTAX_KIND_FIELD_NUMBER; + hash = (53 * hash) + syntaxKind_; + if (getDiagnosticsCount() > 0) { + hash = (37 * hash) + DIAGNOSTICS_FIELD_NUMBER; + hash = (53 * hash) + getDiagnosticsList().hashCode(); + } + if (getEnclosingRangeCount() > 0) { + hash = (37 * hash) + ENCLOSING_RANGE_FIELD_NUMBER; + hash = (53 * hash) + getEnclosingRangeList().hashCode(); + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static scip.Scip.Occurrence parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static scip.Scip.Occurrence parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static scip.Scip.Occurrence parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static scip.Scip.Occurrence parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static scip.Scip.Occurrence parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static scip.Scip.Occurrence parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static scip.Scip.Occurrence parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static scip.Scip.Occurrence parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public static scip.Scip.Occurrence parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input); + } + + public static scip.Scip.Occurrence parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static scip.Scip.Occurrence parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static scip.Scip.Occurrence parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(scip.Scip.Occurrence 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + *
+     * Occurrence associates a source position with a symbol and/or highlighting
+     * information.
+     *
+     * If possible, indexers should try to bundle logically related information
+     * across occurrences into a single occurrence to reduce payload sizes.
+     * 
+ * + * Protobuf type {@code scip.Occurrence} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder implements + // @@protoc_insertion_point(builder_implements:scip.Occurrence) + scip.Scip.OccurrenceOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return scip.Scip.internal_static_scip_Occurrence_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return scip.Scip.internal_static_scip_Occurrence_fieldAccessorTable + .ensureFieldAccessorsInitialized( + scip.Scip.Occurrence.class, scip.Scip.Occurrence.Builder.class); + } + + // Construct using scip.Scip.Occurrence.newBuilder() + private Builder() { + + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + + } + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + range_ = emptyIntList(); + symbol_ = ""; + symbolRoles_ = 0; + overrideDocumentation_ = + com.google.protobuf.LazyStringArrayList.emptyList(); + syntaxKind_ = 0; + if (diagnosticsBuilder_ == null) { + diagnostics_ = java.util.Collections.emptyList(); + } else { + diagnostics_ = null; + diagnosticsBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000020); + enclosingRange_ = emptyIntList(); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return scip.Scip.internal_static_scip_Occurrence_descriptor; + } + + @java.lang.Override + public scip.Scip.Occurrence getDefaultInstanceForType() { + return scip.Scip.Occurrence.getDefaultInstance(); + } + + @java.lang.Override + public scip.Scip.Occurrence build() { + scip.Scip.Occurrence result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public scip.Scip.Occurrence buildPartial() { + scip.Scip.Occurrence result = new scip.Scip.Occurrence(this); + buildPartialRepeatedFields(result); + if (bitField0_ != 0) { buildPartial0(result); } + onBuilt(); + return result; + } + + private void buildPartialRepeatedFields(scip.Scip.Occurrence result) { + if (diagnosticsBuilder_ == null) { + if (((bitField0_ & 0x00000020) != 0)) { + diagnostics_ = java.util.Collections.unmodifiableList(diagnostics_); + bitField0_ = (bitField0_ & ~0x00000020); + } + result.diagnostics_ = diagnostics_; + } else { + result.diagnostics_ = diagnosticsBuilder_.build(); + } + } + + private void buildPartial0(scip.Scip.Occurrence result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + range_.makeImmutable(); + result.range_ = range_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.symbol_ = symbol_; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.symbolRoles_ = symbolRoles_; + } + if (((from_bitField0_ & 0x00000008) != 0)) { + overrideDocumentation_.makeImmutable(); + result.overrideDocumentation_ = overrideDocumentation_; + } + if (((from_bitField0_ & 0x00000010) != 0)) { + result.syntaxKind_ = syntaxKind_; + } + if (((from_bitField0_ & 0x00000040) != 0)) { + enclosingRange_.makeImmutable(); + result.enclosingRange_ = enclosingRange_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof scip.Scip.Occurrence) { + return mergeFrom((scip.Scip.Occurrence)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(scip.Scip.Occurrence other) { + if (other == scip.Scip.Occurrence.getDefaultInstance()) return this; + if (!other.range_.isEmpty()) { + if (range_.isEmpty()) { + range_ = other.range_; + range_.makeImmutable(); + bitField0_ |= 0x00000001; + } else { + ensureRangeIsMutable(); + range_.addAll(other.range_); + } + onChanged(); + } + if (!other.getSymbol().isEmpty()) { + symbol_ = other.symbol_; + bitField0_ |= 0x00000002; + onChanged(); + } + if (other.getSymbolRoles() != 0) { + setSymbolRoles(other.getSymbolRoles()); + } + if (!other.overrideDocumentation_.isEmpty()) { + if (overrideDocumentation_.isEmpty()) { + overrideDocumentation_ = other.overrideDocumentation_; + bitField0_ |= 0x00000008; + } else { + ensureOverrideDocumentationIsMutable(); + overrideDocumentation_.addAll(other.overrideDocumentation_); + } + onChanged(); + } + if (other.syntaxKind_ != 0) { + setSyntaxKindValue(other.getSyntaxKindValue()); + } + if (diagnosticsBuilder_ == null) { + if (!other.diagnostics_.isEmpty()) { + if (diagnostics_.isEmpty()) { + diagnostics_ = other.diagnostics_; + bitField0_ = (bitField0_ & ~0x00000020); + } else { + ensureDiagnosticsIsMutable(); + diagnostics_.addAll(other.diagnostics_); + } + onChanged(); + } + } else { + if (!other.diagnostics_.isEmpty()) { + if (diagnosticsBuilder_.isEmpty()) { + diagnosticsBuilder_.dispose(); + diagnosticsBuilder_ = null; + diagnostics_ = other.diagnostics_; + bitField0_ = (bitField0_ & ~0x00000020); + diagnosticsBuilder_ = + com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ? + internalGetDiagnosticsFieldBuilder() : null; + } else { + diagnosticsBuilder_.addAllMessages(other.diagnostics_); + } + } + } + if (!other.enclosingRange_.isEmpty()) { + if (enclosingRange_.isEmpty()) { + enclosingRange_ = other.enclosingRange_; + enclosingRange_.makeImmutable(); + bitField0_ |= 0x00000040; + } else { + ensureEnclosingRangeIsMutable(); + enclosingRange_.addAll(other.enclosingRange_); + } + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + 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 { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: { + int v = input.readInt32(); + ensureRangeIsMutable(); + range_.addInt(v); + break; + } // case 8 + case 10: { + int length = input.readRawVarint32(); + int limit = input.pushLimit(length); + ensureRangeIsMutable(); + while (input.getBytesUntilLimit() > 0) { + range_.addInt(input.readInt32()); + } + input.popLimit(limit); + break; + } // case 10 + case 18: { + symbol_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000002; + break; + } // case 18 + case 24: { + symbolRoles_ = input.readInt32(); + bitField0_ |= 0x00000004; + break; + } // case 24 + case 34: { + java.lang.String s = input.readStringRequireUtf8(); + ensureOverrideDocumentationIsMutable(); + overrideDocumentation_.add(s); + break; + } // case 34 + case 40: { + syntaxKind_ = input.readEnum(); + bitField0_ |= 0x00000010; + break; + } // case 40 + case 50: { + scip.Scip.Diagnostic m = + input.readMessage( + scip.Scip.Diagnostic.parser(), + extensionRegistry); + if (diagnosticsBuilder_ == null) { + ensureDiagnosticsIsMutable(); + diagnostics_.add(m); + } else { + diagnosticsBuilder_.addMessage(m); + } + break; + } // case 50 + case 56: { + int v = input.readInt32(); + ensureEnclosingRangeIsMutable(); + enclosingRange_.addInt(v); + break; + } // case 56 + case 58: { + int length = input.readRawVarint32(); + int limit = input.pushLimit(length); + ensureEnclosingRangeIsMutable(); + while (input.getBytesUntilLimit() > 0) { + enclosingRange_.addInt(input.readInt32()); + } + input.popLimit(limit); + break; + } // case 58 + default: { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + private int bitField0_; + + private com.google.protobuf.Internal.IntList range_ = emptyIntList(); + private void ensureRangeIsMutable() { + if (!range_.isModifiable()) { + range_ = makeMutableCopy(range_); + } + bitField0_ |= 0x00000001; + } + /** + *
+       * Half-open [start, end) range of this occurrence. Must be exactly three or four
+       * elements:
+       *
+       * - Four elements: `[startLine, startCharacter, endLine, endCharacter]`
+       * - Three elements: `[startLine, startCharacter, endCharacter]`. The end line
+       * is inferred to have the same value as the start line.
+       *
+       * It is allowed for the range to be empty (i.e. start==end).
+       *
+       * Line numbers and characters are always 0-based. Make sure to increment the
+       * line/character values before displaying them in an editor-like UI because
+       * editors conventionally use 1-based numbers.
+       *
+       * The 'character' value is interpreted based on the PositionEncoding for
+       * the Document.
+       *
+       * Historical note: the original draft of this schema had a `Range` message
+       * type with `start` and `end` fields of type `Position`, mirroring LSP.
+       * Benchmarks revealed that this encoding was inefficient and that we could
+       * reduce the total payload size of an index by 50% by using `repeated int32`
+       * instead. The `repeated int32` encoding is admittedly more embarrassing to
+       * work with in some programming languages but we hope the performance
+       * improvements make up for it.
+       * 
+ * + * repeated int32 range = 1 [json_name = "range"]; + * @return A list containing the range. + */ + public java.util.List + getRangeList() { + range_.makeImmutable(); + return range_; + } + /** + *
+       * Half-open [start, end) range of this occurrence. Must be exactly three or four
+       * elements:
+       *
+       * - Four elements: `[startLine, startCharacter, endLine, endCharacter]`
+       * - Three elements: `[startLine, startCharacter, endCharacter]`. The end line
+       * is inferred to have the same value as the start line.
+       *
+       * It is allowed for the range to be empty (i.e. start==end).
+       *
+       * Line numbers and characters are always 0-based. Make sure to increment the
+       * line/character values before displaying them in an editor-like UI because
+       * editors conventionally use 1-based numbers.
+       *
+       * The 'character' value is interpreted based on the PositionEncoding for
+       * the Document.
+       *
+       * Historical note: the original draft of this schema had a `Range` message
+       * type with `start` and `end` fields of type `Position`, mirroring LSP.
+       * Benchmarks revealed that this encoding was inefficient and that we could
+       * reduce the total payload size of an index by 50% by using `repeated int32`
+       * instead. The `repeated int32` encoding is admittedly more embarrassing to
+       * work with in some programming languages but we hope the performance
+       * improvements make up for it.
+       * 
+ * + * repeated int32 range = 1 [json_name = "range"]; + * @return The count of range. + */ + public int getRangeCount() { + return range_.size(); + } + /** + *
+       * Half-open [start, end) range of this occurrence. Must be exactly three or four
+       * elements:
+       *
+       * - Four elements: `[startLine, startCharacter, endLine, endCharacter]`
+       * - Three elements: `[startLine, startCharacter, endCharacter]`. The end line
+       * is inferred to have the same value as the start line.
+       *
+       * It is allowed for the range to be empty (i.e. start==end).
+       *
+       * Line numbers and characters are always 0-based. Make sure to increment the
+       * line/character values before displaying them in an editor-like UI because
+       * editors conventionally use 1-based numbers.
+       *
+       * The 'character' value is interpreted based on the PositionEncoding for
+       * the Document.
+       *
+       * Historical note: the original draft of this schema had a `Range` message
+       * type with `start` and `end` fields of type `Position`, mirroring LSP.
+       * Benchmarks revealed that this encoding was inefficient and that we could
+       * reduce the total payload size of an index by 50% by using `repeated int32`
+       * instead. The `repeated int32` encoding is admittedly more embarrassing to
+       * work with in some programming languages but we hope the performance
+       * improvements make up for it.
+       * 
+ * + * repeated int32 range = 1 [json_name = "range"]; + * @param index The index of the element to return. + * @return The range at the given index. + */ + public int getRange(int index) { + return range_.getInt(index); + } + /** + *
+       * Half-open [start, end) range of this occurrence. Must be exactly three or four
+       * elements:
+       *
+       * - Four elements: `[startLine, startCharacter, endLine, endCharacter]`
+       * - Three elements: `[startLine, startCharacter, endCharacter]`. The end line
+       * is inferred to have the same value as the start line.
+       *
+       * It is allowed for the range to be empty (i.e. start==end).
+       *
+       * Line numbers and characters are always 0-based. Make sure to increment the
+       * line/character values before displaying them in an editor-like UI because
+       * editors conventionally use 1-based numbers.
+       *
+       * The 'character' value is interpreted based on the PositionEncoding for
+       * the Document.
+       *
+       * Historical note: the original draft of this schema had a `Range` message
+       * type with `start` and `end` fields of type `Position`, mirroring LSP.
+       * Benchmarks revealed that this encoding was inefficient and that we could
+       * reduce the total payload size of an index by 50% by using `repeated int32`
+       * instead. The `repeated int32` encoding is admittedly more embarrassing to
+       * work with in some programming languages but we hope the performance
+       * improvements make up for it.
+       * 
+ * + * repeated int32 range = 1 [json_name = "range"]; + * @param index The index to set the value at. + * @param value The range to set. + * @return This builder for chaining. + */ + public Builder setRange( + int index, int value) { + + ensureRangeIsMutable(); + range_.setInt(index, value); + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + /** + *
+       * Half-open [start, end) range of this occurrence. Must be exactly three or four
+       * elements:
+       *
+       * - Four elements: `[startLine, startCharacter, endLine, endCharacter]`
+       * - Three elements: `[startLine, startCharacter, endCharacter]`. The end line
+       * is inferred to have the same value as the start line.
+       *
+       * It is allowed for the range to be empty (i.e. start==end).
+       *
+       * Line numbers and characters are always 0-based. Make sure to increment the
+       * line/character values before displaying them in an editor-like UI because
+       * editors conventionally use 1-based numbers.
+       *
+       * The 'character' value is interpreted based on the PositionEncoding for
+       * the Document.
+       *
+       * Historical note: the original draft of this schema had a `Range` message
+       * type with `start` and `end` fields of type `Position`, mirroring LSP.
+       * Benchmarks revealed that this encoding was inefficient and that we could
+       * reduce the total payload size of an index by 50% by using `repeated int32`
+       * instead. The `repeated int32` encoding is admittedly more embarrassing to
+       * work with in some programming languages but we hope the performance
+       * improvements make up for it.
+       * 
+ * + * repeated int32 range = 1 [json_name = "range"]; + * @param value The range to add. + * @return This builder for chaining. + */ + public Builder addRange(int value) { + + ensureRangeIsMutable(); + range_.addInt(value); + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + /** + *
+       * Half-open [start, end) range of this occurrence. Must be exactly three or four
+       * elements:
+       *
+       * - Four elements: `[startLine, startCharacter, endLine, endCharacter]`
+       * - Three elements: `[startLine, startCharacter, endCharacter]`. The end line
+       * is inferred to have the same value as the start line.
+       *
+       * It is allowed for the range to be empty (i.e. start==end).
+       *
+       * Line numbers and characters are always 0-based. Make sure to increment the
+       * line/character values before displaying them in an editor-like UI because
+       * editors conventionally use 1-based numbers.
+       *
+       * The 'character' value is interpreted based on the PositionEncoding for
+       * the Document.
+       *
+       * Historical note: the original draft of this schema had a `Range` message
+       * type with `start` and `end` fields of type `Position`, mirroring LSP.
+       * Benchmarks revealed that this encoding was inefficient and that we could
+       * reduce the total payload size of an index by 50% by using `repeated int32`
+       * instead. The `repeated int32` encoding is admittedly more embarrassing to
+       * work with in some programming languages but we hope the performance
+       * improvements make up for it.
+       * 
+ * + * repeated int32 range = 1 [json_name = "range"]; + * @param values The range to add. + * @return This builder for chaining. + */ + public Builder addAllRange( + java.lang.Iterable values) { + ensureRangeIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, range_); + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + /** + *
+       * Half-open [start, end) range of this occurrence. Must be exactly three or four
+       * elements:
+       *
+       * - Four elements: `[startLine, startCharacter, endLine, endCharacter]`
+       * - Three elements: `[startLine, startCharacter, endCharacter]`. The end line
+       * is inferred to have the same value as the start line.
+       *
+       * It is allowed for the range to be empty (i.e. start==end).
+       *
+       * Line numbers and characters are always 0-based. Make sure to increment the
+       * line/character values before displaying them in an editor-like UI because
+       * editors conventionally use 1-based numbers.
+       *
+       * The 'character' value is interpreted based on the PositionEncoding for
+       * the Document.
+       *
+       * Historical note: the original draft of this schema had a `Range` message
+       * type with `start` and `end` fields of type `Position`, mirroring LSP.
+       * Benchmarks revealed that this encoding was inefficient and that we could
+       * reduce the total payload size of an index by 50% by using `repeated int32`
+       * instead. The `repeated int32` encoding is admittedly more embarrassing to
+       * work with in some programming languages but we hope the performance
+       * improvements make up for it.
+       * 
+ * + * repeated int32 range = 1 [json_name = "range"]; + * @return This builder for chaining. + */ + public Builder clearRange() { + range_ = emptyIntList(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + + private java.lang.Object symbol_ = ""; + /** + *
+       * (optional) The symbol that appears at this position. See
+       * `SymbolInformation.symbol` for how to format symbols as strings.
+       * 
+ * + * string symbol = 2 [json_name = "symbol"]; + * @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; + } + } + /** + *
+       * (optional) The symbol that appears at this position. See
+       * `SymbolInformation.symbol` for how to format symbols as strings.
+       * 
+ * + * string symbol = 2 [json_name = "symbol"]; + * @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; + } + } + /** + *
+       * (optional) The symbol that appears at this position. See
+       * `SymbolInformation.symbol` for how to format symbols as strings.
+       * 
+ * + * string symbol = 2 [json_name = "symbol"]; + * @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; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + /** + *
+       * (optional) The symbol that appears at this position. See
+       * `SymbolInformation.symbol` for how to format symbols as strings.
+       * 
+ * + * string symbol = 2 [json_name = "symbol"]; + * @return This builder for chaining. + */ + public Builder clearSymbol() { + symbol_ = getDefaultInstance().getSymbol(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + /** + *
+       * (optional) The symbol that appears at this position. See
+       * `SymbolInformation.symbol` for how to format symbols as strings.
+       * 
+ * + * string symbol = 2 [json_name = "symbol"]; + * @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; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + private int symbolRoles_ ; + /** + *
+       * (optional) Bitset containing `SymbolRole`s in this occurrence.
+       * See `SymbolRole`'s documentation for how to read and write this field.
+       * 
+ * + * int32 symbol_roles = 3 [json_name = "symbolRoles"]; + * @return The symbolRoles. + */ + @java.lang.Override + public int getSymbolRoles() { + return symbolRoles_; + } + /** + *
+       * (optional) Bitset containing `SymbolRole`s in this occurrence.
+       * See `SymbolRole`'s documentation for how to read and write this field.
+       * 
+ * + * int32 symbol_roles = 3 [json_name = "symbolRoles"]; + * @param value The symbolRoles to set. + * @return This builder for chaining. + */ + public Builder setSymbolRoles(int value) { + + symbolRoles_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + /** + *
+       * (optional) Bitset containing `SymbolRole`s in this occurrence.
+       * See `SymbolRole`'s documentation for how to read and write this field.
+       * 
+ * + * int32 symbol_roles = 3 [json_name = "symbolRoles"]; + * @return This builder for chaining. + */ + public Builder clearSymbolRoles() { + bitField0_ = (bitField0_ & ~0x00000004); + symbolRoles_ = 0; + onChanged(); + return this; + } + + private com.google.protobuf.LazyStringArrayList overrideDocumentation_ = + com.google.protobuf.LazyStringArrayList.emptyList(); + private void ensureOverrideDocumentationIsMutable() { + if (!overrideDocumentation_.isModifiable()) { + overrideDocumentation_ = new com.google.protobuf.LazyStringArrayList(overrideDocumentation_); + } + bitField0_ |= 0x00000008; + } + /** + *
+       * (optional) CommonMark-formatted documentation for this specific range. If
+       * empty, the `Symbol.documentation` field is used instead. One example
+       * where this field might be useful is when the symbol represents a generic
+       * function (with abstract type parameters such as `List<T>`) and at this
+       * occurrence we know the exact values (such as `List<String>`).
+       *
+       * This field can also be used for dynamically or gradually typed languages,
+       * which commonly allow for type-changing assignment.
+       * 
+ * + * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; + * @return A list containing the overrideDocumentation. + */ + public com.google.protobuf.ProtocolStringList + getOverrideDocumentationList() { + overrideDocumentation_.makeImmutable(); + return overrideDocumentation_; + } + /** + *
+       * (optional) CommonMark-formatted documentation for this specific range. If
+       * empty, the `Symbol.documentation` field is used instead. One example
+       * where this field might be useful is when the symbol represents a generic
+       * function (with abstract type parameters such as `List<T>`) and at this
+       * occurrence we know the exact values (such as `List<String>`).
+       *
+       * This field can also be used for dynamically or gradually typed languages,
+       * which commonly allow for type-changing assignment.
+       * 
+ * + * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; + * @return The count of overrideDocumentation. + */ + public int getOverrideDocumentationCount() { + return overrideDocumentation_.size(); + } + /** + *
+       * (optional) CommonMark-formatted documentation for this specific range. If
+       * empty, the `Symbol.documentation` field is used instead. One example
+       * where this field might be useful is when the symbol represents a generic
+       * function (with abstract type parameters such as `List<T>`) and at this
+       * occurrence we know the exact values (such as `List<String>`).
+       *
+       * This field can also be used for dynamically or gradually typed languages,
+       * which commonly allow for type-changing assignment.
+       * 
+ * + * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; + * @param index The index of the element to return. + * @return The overrideDocumentation at the given index. + */ + public java.lang.String getOverrideDocumentation(int index) { + return overrideDocumentation_.get(index); + } + /** + *
+       * (optional) CommonMark-formatted documentation for this specific range. If
+       * empty, the `Symbol.documentation` field is used instead. One example
+       * where this field might be useful is when the symbol represents a generic
+       * function (with abstract type parameters such as `List<T>`) and at this
+       * occurrence we know the exact values (such as `List<String>`).
+       *
+       * This field can also be used for dynamically or gradually typed languages,
+       * which commonly allow for type-changing assignment.
+       * 
+ * + * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; + * @param index The index of the value to return. + * @return The bytes of the overrideDocumentation at the given index. + */ + public com.google.protobuf.ByteString + getOverrideDocumentationBytes(int index) { + return overrideDocumentation_.getByteString(index); + } + /** + *
+       * (optional) CommonMark-formatted documentation for this specific range. If
+       * empty, the `Symbol.documentation` field is used instead. One example
+       * where this field might be useful is when the symbol represents a generic
+       * function (with abstract type parameters such as `List<T>`) and at this
+       * occurrence we know the exact values (such as `List<String>`).
+       *
+       * This field can also be used for dynamically or gradually typed languages,
+       * which commonly allow for type-changing assignment.
+       * 
+ * + * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; + * @param index The index to set the value at. + * @param value The overrideDocumentation to set. + * @return This builder for chaining. + */ + public Builder setOverrideDocumentation( + int index, java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + ensureOverrideDocumentationIsMutable(); + overrideDocumentation_.set(index, value); + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + /** + *
+       * (optional) CommonMark-formatted documentation for this specific range. If
+       * empty, the `Symbol.documentation` field is used instead. One example
+       * where this field might be useful is when the symbol represents a generic
+       * function (with abstract type parameters such as `List<T>`) and at this
+       * occurrence we know the exact values (such as `List<String>`).
+       *
+       * This field can also be used for dynamically or gradually typed languages,
+       * which commonly allow for type-changing assignment.
+       * 
+ * + * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; + * @param value The overrideDocumentation to add. + * @return This builder for chaining. + */ + public Builder addOverrideDocumentation( + java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + ensureOverrideDocumentationIsMutable(); + overrideDocumentation_.add(value); + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + /** + *
+       * (optional) CommonMark-formatted documentation for this specific range. If
+       * empty, the `Symbol.documentation` field is used instead. One example
+       * where this field might be useful is when the symbol represents a generic
+       * function (with abstract type parameters such as `List<T>`) and at this
+       * occurrence we know the exact values (such as `List<String>`).
+       *
+       * This field can also be used for dynamically or gradually typed languages,
+       * which commonly allow for type-changing assignment.
+       * 
+ * + * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; + * @param values The overrideDocumentation to add. + * @return This builder for chaining. + */ + public Builder addAllOverrideDocumentation( + java.lang.Iterable values) { + ensureOverrideDocumentationIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, overrideDocumentation_); + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + /** + *
+       * (optional) CommonMark-formatted documentation for this specific range. If
+       * empty, the `Symbol.documentation` field is used instead. One example
+       * where this field might be useful is when the symbol represents a generic
+       * function (with abstract type parameters such as `List<T>`) and at this
+       * occurrence we know the exact values (such as `List<String>`).
+       *
+       * This field can also be used for dynamically or gradually typed languages,
+       * which commonly allow for type-changing assignment.
+       * 
+ * + * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; + * @return This builder for chaining. + */ + public Builder clearOverrideDocumentation() { + overrideDocumentation_ = + com.google.protobuf.LazyStringArrayList.emptyList(); + bitField0_ = (bitField0_ & ~0x00000008);; + onChanged(); + return this; + } + /** + *
+       * (optional) CommonMark-formatted documentation for this specific range. If
+       * empty, the `Symbol.documentation` field is used instead. One example
+       * where this field might be useful is when the symbol represents a generic
+       * function (with abstract type parameters such as `List<T>`) and at this
+       * occurrence we know the exact values (such as `List<String>`).
+       *
+       * This field can also be used for dynamically or gradually typed languages,
+       * which commonly allow for type-changing assignment.
+       * 
+ * + * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; + * @param value The bytes of the overrideDocumentation to add. + * @return This builder for chaining. + */ + public Builder addOverrideDocumentationBytes( + com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + checkByteStringIsUtf8(value); + ensureOverrideDocumentationIsMutable(); + overrideDocumentation_.add(value); + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + + private int syntaxKind_ = 0; + /** + *
+       * (optional) What syntax highlighting class should be used for this range?
+       * 
+ * + * .scip.SyntaxKind syntax_kind = 5 [json_name = "syntaxKind"]; + * @return The enum numeric value on the wire for syntaxKind. + */ + @java.lang.Override public int getSyntaxKindValue() { + return syntaxKind_; + } + /** + *
+       * (optional) What syntax highlighting class should be used for this range?
+       * 
+ * + * .scip.SyntaxKind syntax_kind = 5 [json_name = "syntaxKind"]; + * @param value The enum numeric value on the wire for syntaxKind to set. + * @return This builder for chaining. + */ + public Builder setSyntaxKindValue(int value) { + syntaxKind_ = value; + bitField0_ |= 0x00000010; + onChanged(); + return this; + } + /** + *
+       * (optional) What syntax highlighting class should be used for this range?
+       * 
+ * + * .scip.SyntaxKind syntax_kind = 5 [json_name = "syntaxKind"]; + * @return The syntaxKind. + */ + @java.lang.Override + public scip.Scip.SyntaxKind getSyntaxKind() { + scip.Scip.SyntaxKind result = scip.Scip.SyntaxKind.forNumber(syntaxKind_); + return result == null ? scip.Scip.SyntaxKind.UNRECOGNIZED : result; + } + /** + *
+       * (optional) What syntax highlighting class should be used for this range?
+       * 
+ * + * .scip.SyntaxKind syntax_kind = 5 [json_name = "syntaxKind"]; + * @param value The syntaxKind to set. + * @return This builder for chaining. + */ + public Builder setSyntaxKind(scip.Scip.SyntaxKind value) { + if (value == null) { throw new NullPointerException(); } + bitField0_ |= 0x00000010; + syntaxKind_ = value.getNumber(); + onChanged(); + return this; + } + /** + *
+       * (optional) What syntax highlighting class should be used for this range?
+       * 
+ * + * .scip.SyntaxKind syntax_kind = 5 [json_name = "syntaxKind"]; + * @return This builder for chaining. + */ + public Builder clearSyntaxKind() { + bitField0_ = (bitField0_ & ~0x00000010); + syntaxKind_ = 0; + onChanged(); + return this; + } + + private java.util.List diagnostics_ = + java.util.Collections.emptyList(); + private void ensureDiagnosticsIsMutable() { + if (!((bitField0_ & 0x00000020) != 0)) { + diagnostics_ = new java.util.ArrayList(diagnostics_); + bitField0_ |= 0x00000020; + } + } + + private com.google.protobuf.RepeatedFieldBuilder< + scip.Scip.Diagnostic, scip.Scip.Diagnostic.Builder, scip.Scip.DiagnosticOrBuilder> diagnosticsBuilder_; + + /** + *
+       * (optional) Diagnostics that have been reported for this specific range.
+       * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + public java.util.List getDiagnosticsList() { + if (diagnosticsBuilder_ == null) { + return java.util.Collections.unmodifiableList(diagnostics_); + } else { + return diagnosticsBuilder_.getMessageList(); + } + } + /** + *
+       * (optional) Diagnostics that have been reported for this specific range.
+       * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + public int getDiagnosticsCount() { + if (diagnosticsBuilder_ == null) { + return diagnostics_.size(); + } else { + return diagnosticsBuilder_.getCount(); + } + } + /** + *
+       * (optional) Diagnostics that have been reported for this specific range.
+       * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + public scip.Scip.Diagnostic getDiagnostics(int index) { + if (diagnosticsBuilder_ == null) { + return diagnostics_.get(index); + } else { + return diagnosticsBuilder_.getMessage(index); + } + } + /** + *
+       * (optional) Diagnostics that have been reported for this specific range.
+       * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + public Builder setDiagnostics( + int index, scip.Scip.Diagnostic value) { + if (diagnosticsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureDiagnosticsIsMutable(); + diagnostics_.set(index, value); + onChanged(); + } else { + diagnosticsBuilder_.setMessage(index, value); + } + return this; + } + /** + *
+       * (optional) Diagnostics that have been reported for this specific range.
+       * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + public Builder setDiagnostics( + int index, scip.Scip.Diagnostic.Builder builderForValue) { + if (diagnosticsBuilder_ == null) { + ensureDiagnosticsIsMutable(); + diagnostics_.set(index, builderForValue.build()); + onChanged(); + } else { + diagnosticsBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + *
+       * (optional) Diagnostics that have been reported for this specific range.
+       * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + public Builder addDiagnostics(scip.Scip.Diagnostic value) { + if (diagnosticsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureDiagnosticsIsMutable(); + diagnostics_.add(value); + onChanged(); + } else { + diagnosticsBuilder_.addMessage(value); + } + return this; + } + /** + *
+       * (optional) Diagnostics that have been reported for this specific range.
+       * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + public Builder addDiagnostics( + int index, scip.Scip.Diagnostic value) { + if (diagnosticsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureDiagnosticsIsMutable(); + diagnostics_.add(index, value); + onChanged(); + } else { + diagnosticsBuilder_.addMessage(index, value); + } + return this; + } + /** + *
+       * (optional) Diagnostics that have been reported for this specific range.
+       * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + public Builder addDiagnostics( + scip.Scip.Diagnostic.Builder builderForValue) { + if (diagnosticsBuilder_ == null) { + ensureDiagnosticsIsMutable(); + diagnostics_.add(builderForValue.build()); + onChanged(); + } else { + diagnosticsBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + *
+       * (optional) Diagnostics that have been reported for this specific range.
+       * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + public Builder addDiagnostics( + int index, scip.Scip.Diagnostic.Builder builderForValue) { + if (diagnosticsBuilder_ == null) { + ensureDiagnosticsIsMutable(); + diagnostics_.add(index, builderForValue.build()); + onChanged(); + } else { + diagnosticsBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + *
+       * (optional) Diagnostics that have been reported for this specific range.
+       * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + public Builder addAllDiagnostics( + java.lang.Iterable values) { + if (diagnosticsBuilder_ == null) { + ensureDiagnosticsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, diagnostics_); + onChanged(); + } else { + diagnosticsBuilder_.addAllMessages(values); + } + return this; + } + /** + *
+       * (optional) Diagnostics that have been reported for this specific range.
+       * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + public Builder clearDiagnostics() { + if (diagnosticsBuilder_ == null) { + diagnostics_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000020); + onChanged(); + } else { + diagnosticsBuilder_.clear(); + } + return this; + } + /** + *
+       * (optional) Diagnostics that have been reported for this specific range.
+       * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + public Builder removeDiagnostics(int index) { + if (diagnosticsBuilder_ == null) { + ensureDiagnosticsIsMutable(); + diagnostics_.remove(index); + onChanged(); + } else { + diagnosticsBuilder_.remove(index); + } + return this; + } + /** + *
+       * (optional) Diagnostics that have been reported for this specific range.
+       * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + public scip.Scip.Diagnostic.Builder getDiagnosticsBuilder( + int index) { + return internalGetDiagnosticsFieldBuilder().getBuilder(index); + } + /** + *
+       * (optional) Diagnostics that have been reported for this specific range.
+       * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + public scip.Scip.DiagnosticOrBuilder getDiagnosticsOrBuilder( + int index) { + if (diagnosticsBuilder_ == null) { + return diagnostics_.get(index); } else { + return diagnosticsBuilder_.getMessageOrBuilder(index); + } + } + /** + *
+       * (optional) Diagnostics that have been reported for this specific range.
+       * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + public java.util.List + getDiagnosticsOrBuilderList() { + if (diagnosticsBuilder_ != null) { + return diagnosticsBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(diagnostics_); + } + } + /** + *
+       * (optional) Diagnostics that have been reported for this specific range.
+       * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + public scip.Scip.Diagnostic.Builder addDiagnosticsBuilder() { + return internalGetDiagnosticsFieldBuilder().addBuilder( + scip.Scip.Diagnostic.getDefaultInstance()); + } + /** + *
+       * (optional) Diagnostics that have been reported for this specific range.
+       * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + public scip.Scip.Diagnostic.Builder addDiagnosticsBuilder( + int index) { + return internalGetDiagnosticsFieldBuilder().addBuilder( + index, scip.Scip.Diagnostic.getDefaultInstance()); + } + /** + *
+       * (optional) Diagnostics that have been reported for this specific range.
+       * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + public java.util.List + getDiagnosticsBuilderList() { + return internalGetDiagnosticsFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilder< + scip.Scip.Diagnostic, scip.Scip.Diagnostic.Builder, scip.Scip.DiagnosticOrBuilder> + internalGetDiagnosticsFieldBuilder() { + if (diagnosticsBuilder_ == null) { + diagnosticsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder< + scip.Scip.Diagnostic, scip.Scip.Diagnostic.Builder, scip.Scip.DiagnosticOrBuilder>( + diagnostics_, + ((bitField0_ & 0x00000020) != 0), + getParentForChildren(), + isClean()); + diagnostics_ = null; + } + return diagnosticsBuilder_; + } + + private com.google.protobuf.Internal.IntList enclosingRange_ = emptyIntList(); + private void ensureEnclosingRangeIsMutable() { + if (!enclosingRange_.isModifiable()) { + enclosingRange_ = makeMutableCopy(enclosingRange_); + } + bitField0_ |= 0x00000040; + } + /** + *
+       * (optional) Using the same encoding as the sibling `range` field, half-open
+       * source range of the nearest non-trivial enclosing AST node. This range must
+       * enclose the `range` field. Example applications that make use of the
+       * enclosing_range field:
+       *
+       * - Call hierarchies: to determine what symbols are references from the body
+       * of a function
+       * - Symbol outline: to display breadcrumbs from the cursor position to the
+       * root of the file
+       * - Expand selection: to select the nearest enclosing AST node.
+       * - Highlight range: to indicate the AST expression that is associated with a
+       * hover popover
+       *
+       * For definition occurrences, the enclosing range should indicate the
+       * start/end bounds of the entire definition AST node, including
+       * documentation.
+       * ```
+       * const n = 3
+       * ^ range
+       * ^^^^^^^^^^^ enclosing_range
+       *
+       * /** Parses the string into something */
+       * ^ enclosing_range start --------------------------------------|
+       * function parse(input string): string {                        |
+       * ^^^^^ range                                          |
+       * return input.slice(n)                                     |
+       * }                                                             |
+       * ^ enclosing_range end <---------------------------------------|
+       * ```
+       *
+       * Any attributes/decorators/attached macros should also be part of the
+       * enclosing range.
+       *
+       * ```python
+       * @cache
+       * ^ enclosing_range start---------------------|
+       * def factorial(n):                           |
+       * return n * factorial(n-1) if n else 1   |
+       * < enclosing_range end-----------------------|
+       *
+       * ```
+       *
+       * For reference occurrences, the enclosing range should indicate the start/end
+       * bounds of the parent expression.
+       * ```
+       * const a = a.b
+       * ^ range
+       * ^^^ enclosing_range
+       * const b = a.b(41).f(42).g(43)
+       * ^ range
+       * ^^^^^^^^^^^^^ enclosing_range
+       * ```
+       * 
+ * + * repeated int32 enclosing_range = 7 [json_name = "enclosingRange"]; + * @return A list containing the enclosingRange. + */ + public java.util.List + getEnclosingRangeList() { + enclosingRange_.makeImmutable(); + return enclosingRange_; + } + /** + *
+       * (optional) Using the same encoding as the sibling `range` field, half-open
+       * source range of the nearest non-trivial enclosing AST node. This range must
+       * enclose the `range` field. Example applications that make use of the
+       * enclosing_range field:
+       *
+       * - Call hierarchies: to determine what symbols are references from the body
+       * of a function
+       * - Symbol outline: to display breadcrumbs from the cursor position to the
+       * root of the file
+       * - Expand selection: to select the nearest enclosing AST node.
+       * - Highlight range: to indicate the AST expression that is associated with a
+       * hover popover
+       *
+       * For definition occurrences, the enclosing range should indicate the
+       * start/end bounds of the entire definition AST node, including
+       * documentation.
+       * ```
+       * const n = 3
+       * ^ range
+       * ^^^^^^^^^^^ enclosing_range
+       *
+       * /** Parses the string into something */
+       * ^ enclosing_range start --------------------------------------|
+       * function parse(input string): string {                        |
+       * ^^^^^ range                                          |
+       * return input.slice(n)                                     |
+       * }                                                             |
+       * ^ enclosing_range end <---------------------------------------|
+       * ```
+       *
+       * Any attributes/decorators/attached macros should also be part of the
+       * enclosing range.
+       *
+       * ```python
+       * @cache
+       * ^ enclosing_range start---------------------|
+       * def factorial(n):                           |
+       * return n * factorial(n-1) if n else 1   |
+       * < enclosing_range end-----------------------|
+       *
+       * ```
+       *
+       * For reference occurrences, the enclosing range should indicate the start/end
+       * bounds of the parent expression.
+       * ```
+       * const a = a.b
+       * ^ range
+       * ^^^ enclosing_range
+       * const b = a.b(41).f(42).g(43)
+       * ^ range
+       * ^^^^^^^^^^^^^ enclosing_range
+       * ```
+       * 
+ * + * repeated int32 enclosing_range = 7 [json_name = "enclosingRange"]; + * @return The count of enclosingRange. + */ + public int getEnclosingRangeCount() { + return enclosingRange_.size(); + } + /** + *
+       * (optional) Using the same encoding as the sibling `range` field, half-open
+       * source range of the nearest non-trivial enclosing AST node. This range must
+       * enclose the `range` field. Example applications that make use of the
+       * enclosing_range field:
+       *
+       * - Call hierarchies: to determine what symbols are references from the body
+       * of a function
+       * - Symbol outline: to display breadcrumbs from the cursor position to the
+       * root of the file
+       * - Expand selection: to select the nearest enclosing AST node.
+       * - Highlight range: to indicate the AST expression that is associated with a
+       * hover popover
+       *
+       * For definition occurrences, the enclosing range should indicate the
+       * start/end bounds of the entire definition AST node, including
+       * documentation.
+       * ```
+       * const n = 3
+       * ^ range
+       * ^^^^^^^^^^^ enclosing_range
+       *
+       * /** Parses the string into something */
+       * ^ enclosing_range start --------------------------------------|
+       * function parse(input string): string {                        |
+       * ^^^^^ range                                          |
+       * return input.slice(n)                                     |
+       * }                                                             |
+       * ^ enclosing_range end <---------------------------------------|
+       * ```
+       *
+       * Any attributes/decorators/attached macros should also be part of the
+       * enclosing range.
+       *
+       * ```python
+       * @cache
+       * ^ enclosing_range start---------------------|
+       * def factorial(n):                           |
+       * return n * factorial(n-1) if n else 1   |
+       * < enclosing_range end-----------------------|
+       *
+       * ```
+       *
+       * For reference occurrences, the enclosing range should indicate the start/end
+       * bounds of the parent expression.
+       * ```
+       * const a = a.b
+       * ^ range
+       * ^^^ enclosing_range
+       * const b = a.b(41).f(42).g(43)
+       * ^ range
+       * ^^^^^^^^^^^^^ enclosing_range
+       * ```
+       * 
+ * + * repeated int32 enclosing_range = 7 [json_name = "enclosingRange"]; + * @param index The index of the element to return. + * @return The enclosingRange at the given index. + */ + public int getEnclosingRange(int index) { + return enclosingRange_.getInt(index); + } + /** + *
+       * (optional) Using the same encoding as the sibling `range` field, half-open
+       * source range of the nearest non-trivial enclosing AST node. This range must
+       * enclose the `range` field. Example applications that make use of the
+       * enclosing_range field:
+       *
+       * - Call hierarchies: to determine what symbols are references from the body
+       * of a function
+       * - Symbol outline: to display breadcrumbs from the cursor position to the
+       * root of the file
+       * - Expand selection: to select the nearest enclosing AST node.
+       * - Highlight range: to indicate the AST expression that is associated with a
+       * hover popover
+       *
+       * For definition occurrences, the enclosing range should indicate the
+       * start/end bounds of the entire definition AST node, including
+       * documentation.
+       * ```
+       * const n = 3
+       * ^ range
+       * ^^^^^^^^^^^ enclosing_range
+       *
+       * /** Parses the string into something */
+       * ^ enclosing_range start --------------------------------------|
+       * function parse(input string): string {                        |
+       * ^^^^^ range                                          |
+       * return input.slice(n)                                     |
+       * }                                                             |
+       * ^ enclosing_range end <---------------------------------------|
+       * ```
+       *
+       * Any attributes/decorators/attached macros should also be part of the
+       * enclosing range.
+       *
+       * ```python
+       * @cache
+       * ^ enclosing_range start---------------------|
+       * def factorial(n):                           |
+       * return n * factorial(n-1) if n else 1   |
+       * < enclosing_range end-----------------------|
+       *
+       * ```
+       *
+       * For reference occurrences, the enclosing range should indicate the start/end
+       * bounds of the parent expression.
+       * ```
+       * const a = a.b
+       * ^ range
+       * ^^^ enclosing_range
+       * const b = a.b(41).f(42).g(43)
+       * ^ range
+       * ^^^^^^^^^^^^^ enclosing_range
+       * ```
+       * 
+ * + * repeated int32 enclosing_range = 7 [json_name = "enclosingRange"]; + * @param index The index to set the value at. + * @param value The enclosingRange to set. + * @return This builder for chaining. + */ + public Builder setEnclosingRange( + int index, int value) { + + ensureEnclosingRangeIsMutable(); + enclosingRange_.setInt(index, value); + bitField0_ |= 0x00000040; + onChanged(); + return this; + } + /** + *
+       * (optional) Using the same encoding as the sibling `range` field, half-open
+       * source range of the nearest non-trivial enclosing AST node. This range must
+       * enclose the `range` field. Example applications that make use of the
+       * enclosing_range field:
+       *
+       * - Call hierarchies: to determine what symbols are references from the body
+       * of a function
+       * - Symbol outline: to display breadcrumbs from the cursor position to the
+       * root of the file
+       * - Expand selection: to select the nearest enclosing AST node.
+       * - Highlight range: to indicate the AST expression that is associated with a
+       * hover popover
+       *
+       * For definition occurrences, the enclosing range should indicate the
+       * start/end bounds of the entire definition AST node, including
+       * documentation.
+       * ```
+       * const n = 3
+       * ^ range
+       * ^^^^^^^^^^^ enclosing_range
+       *
+       * /** Parses the string into something */
+       * ^ enclosing_range start --------------------------------------|
+       * function parse(input string): string {                        |
+       * ^^^^^ range                                          |
+       * return input.slice(n)                                     |
+       * }                                                             |
+       * ^ enclosing_range end <---------------------------------------|
+       * ```
+       *
+       * Any attributes/decorators/attached macros should also be part of the
+       * enclosing range.
+       *
+       * ```python
+       * @cache
+       * ^ enclosing_range start---------------------|
+       * def factorial(n):                           |
+       * return n * factorial(n-1) if n else 1   |
+       * < enclosing_range end-----------------------|
+       *
+       * ```
+       *
+       * For reference occurrences, the enclosing range should indicate the start/end
+       * bounds of the parent expression.
+       * ```
+       * const a = a.b
+       * ^ range
+       * ^^^ enclosing_range
+       * const b = a.b(41).f(42).g(43)
+       * ^ range
+       * ^^^^^^^^^^^^^ enclosing_range
+       * ```
+       * 
+ * + * repeated int32 enclosing_range = 7 [json_name = "enclosingRange"]; + * @param value The enclosingRange to add. + * @return This builder for chaining. + */ + public Builder addEnclosingRange(int value) { + + ensureEnclosingRangeIsMutable(); + enclosingRange_.addInt(value); + bitField0_ |= 0x00000040; + onChanged(); + return this; + } + /** + *
+       * (optional) Using the same encoding as the sibling `range` field, half-open
+       * source range of the nearest non-trivial enclosing AST node. This range must
+       * enclose the `range` field. Example applications that make use of the
+       * enclosing_range field:
+       *
+       * - Call hierarchies: to determine what symbols are references from the body
+       * of a function
+       * - Symbol outline: to display breadcrumbs from the cursor position to the
+       * root of the file
+       * - Expand selection: to select the nearest enclosing AST node.
+       * - Highlight range: to indicate the AST expression that is associated with a
+       * hover popover
+       *
+       * For definition occurrences, the enclosing range should indicate the
+       * start/end bounds of the entire definition AST node, including
+       * documentation.
+       * ```
+       * const n = 3
+       * ^ range
+       * ^^^^^^^^^^^ enclosing_range
+       *
+       * /** Parses the string into something */
+       * ^ enclosing_range start --------------------------------------|
+       * function parse(input string): string {                        |
+       * ^^^^^ range                                          |
+       * return input.slice(n)                                     |
+       * }                                                             |
+       * ^ enclosing_range end <---------------------------------------|
+       * ```
+       *
+       * Any attributes/decorators/attached macros should also be part of the
+       * enclosing range.
+       *
+       * ```python
+       * @cache
+       * ^ enclosing_range start---------------------|
+       * def factorial(n):                           |
+       * return n * factorial(n-1) if n else 1   |
+       * < enclosing_range end-----------------------|
+       *
+       * ```
+       *
+       * For reference occurrences, the enclosing range should indicate the start/end
+       * bounds of the parent expression.
+       * ```
+       * const a = a.b
+       * ^ range
+       * ^^^ enclosing_range
+       * const b = a.b(41).f(42).g(43)
+       * ^ range
+       * ^^^^^^^^^^^^^ enclosing_range
+       * ```
+       * 
+ * + * repeated int32 enclosing_range = 7 [json_name = "enclosingRange"]; + * @param values The enclosingRange to add. + * @return This builder for chaining. + */ + public Builder addAllEnclosingRange( + java.lang.Iterable values) { + ensureEnclosingRangeIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, enclosingRange_); + bitField0_ |= 0x00000040; + onChanged(); + return this; + } + /** + *
+       * (optional) Using the same encoding as the sibling `range` field, half-open
+       * source range of the nearest non-trivial enclosing AST node. This range must
+       * enclose the `range` field. Example applications that make use of the
+       * enclosing_range field:
+       *
+       * - Call hierarchies: to determine what symbols are references from the body
+       * of a function
+       * - Symbol outline: to display breadcrumbs from the cursor position to the
+       * root of the file
+       * - Expand selection: to select the nearest enclosing AST node.
+       * - Highlight range: to indicate the AST expression that is associated with a
+       * hover popover
+       *
+       * For definition occurrences, the enclosing range should indicate the
+       * start/end bounds of the entire definition AST node, including
+       * documentation.
+       * ```
+       * const n = 3
+       * ^ range
+       * ^^^^^^^^^^^ enclosing_range
+       *
+       * /** Parses the string into something */
+       * ^ enclosing_range start --------------------------------------|
+       * function parse(input string): string {                        |
+       * ^^^^^ range                                          |
+       * return input.slice(n)                                     |
+       * }                                                             |
+       * ^ enclosing_range end <---------------------------------------|
+       * ```
+       *
+       * Any attributes/decorators/attached macros should also be part of the
+       * enclosing range.
+       *
+       * ```python
+       * @cache
+       * ^ enclosing_range start---------------------|
+       * def factorial(n):                           |
+       * return n * factorial(n-1) if n else 1   |
+       * < enclosing_range end-----------------------|
+       *
+       * ```
+       *
+       * For reference occurrences, the enclosing range should indicate the start/end
+       * bounds of the parent expression.
+       * ```
+       * const a = a.b
+       * ^ range
+       * ^^^ enclosing_range
+       * const b = a.b(41).f(42).g(43)
+       * ^ range
+       * ^^^^^^^^^^^^^ enclosing_range
+       * ```
+       * 
+ * + * repeated int32 enclosing_range = 7 [json_name = "enclosingRange"]; + * @return This builder for chaining. + */ + public Builder clearEnclosingRange() { + enclosingRange_ = emptyIntList(); + bitField0_ = (bitField0_ & ~0x00000040); + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:scip.Occurrence) + } + + // @@protoc_insertion_point(class_scope:scip.Occurrence) + private static final scip.Scip.Occurrence DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new scip.Scip.Occurrence(); + } + + public static scip.Scip.Occurrence getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public Occurrence parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public scip.Scip.Occurrence getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface DiagnosticOrBuilder extends + // @@protoc_insertion_point(interface_extends:scip.Diagnostic) + com.google.protobuf.MessageOrBuilder { + + /** + *
+     * Should this diagnostic be reported as an error, warning, info, or hint?
+     * 
+ * + * .scip.Severity severity = 1 [json_name = "severity"]; + * @return The enum numeric value on the wire for severity. + */ + int getSeverityValue(); + /** + *
+     * Should this diagnostic be reported as an error, warning, info, or hint?
+     * 
+ * + * .scip.Severity severity = 1 [json_name = "severity"]; + * @return The severity. + */ + scip.Scip.Severity getSeverity(); + + /** + *
+     * (optional) Code of this diagnostic, which might appear in the user interface.
+     * 
+ * + * string code = 2 [json_name = "code"]; + * @return The code. + */ + java.lang.String getCode(); + /** + *
+     * (optional) Code of this diagnostic, which might appear in the user interface.
+     * 
+ * + * string code = 2 [json_name = "code"]; + * @return The bytes for code. + */ + com.google.protobuf.ByteString + getCodeBytes(); + + /** + *
+     * Message of this diagnostic.
+     * 
+ * + * string message = 3 [json_name = "message"]; + * @return The message. + */ + java.lang.String getMessage(); + /** + *
+     * Message of this diagnostic.
+     * 
+ * + * string message = 3 [json_name = "message"]; + * @return The bytes for message. + */ + com.google.protobuf.ByteString + getMessageBytes(); + + /** + *
+     * (optional) Human-readable string describing the source of this diagnostic, e.g.
+     * 'typescript' or 'super lint'.
+     * 
+ * + * string source = 4 [json_name = "source"]; + * @return The source. + */ + java.lang.String getSource(); + /** + *
+     * (optional) Human-readable string describing the source of this diagnostic, e.g.
+     * 'typescript' or 'super lint'.
+     * 
+ * + * string source = 4 [json_name = "source"]; + * @return The bytes for source. + */ + com.google.protobuf.ByteString + getSourceBytes(); + + /** + * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; + * @return A list containing the tags. + */ + java.util.List getTagsList(); + /** + * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; + * @return The count of tags. + */ + int getTagsCount(); + /** + * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; + * @param index The index of the element to return. + * @return The tags at the given index. + */ + scip.Scip.DiagnosticTag getTags(int index); + /** + * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; + * @return A list containing the enum numeric values on the wire for tags. + */ + java.util.List + getTagsValueList(); + /** + * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; + * @param index The index of the value to return. + * @return The enum numeric value on the wire of tags at the given index. + */ + int getTagsValue(int index); + } + /** + *
+   * Represents a diagnostic, such as a compiler error or warning, which should be
+   * reported for a document.
+   * 
+ * + * Protobuf type {@code scip.Diagnostic} + */ + public static final class Diagnostic extends + com.google.protobuf.GeneratedMessage implements + // @@protoc_insertion_point(message_implements:scip.Diagnostic) + DiagnosticOrBuilder { + private static final long serialVersionUID = 0L; + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 32, + /* patch= */ 1, + /* suffix= */ "", + Diagnostic.class.getName()); + } + // Use Diagnostic.newBuilder() to construct. + private Diagnostic(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + private Diagnostic() { + severity_ = 0; + code_ = ""; + message_ = ""; + source_ = ""; + tags_ = emptyIntList(); + } + + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return scip.Scip.internal_static_scip_Diagnostic_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return scip.Scip.internal_static_scip_Diagnostic_fieldAccessorTable + .ensureFieldAccessorsInitialized( + scip.Scip.Diagnostic.class, scip.Scip.Diagnostic.Builder.class); + } + + public static final int SEVERITY_FIELD_NUMBER = 1; + private int severity_ = 0; + /** + *
+     * Should this diagnostic be reported as an error, warning, info, or hint?
+     * 
+ * + * .scip.Severity severity = 1 [json_name = "severity"]; + * @return The enum numeric value on the wire for severity. + */ + @java.lang.Override public int getSeverityValue() { + return severity_; + } + /** + *
+     * Should this diagnostic be reported as an error, warning, info, or hint?
+     * 
+ * + * .scip.Severity severity = 1 [json_name = "severity"]; + * @return The severity. + */ + @java.lang.Override public scip.Scip.Severity getSeverity() { + scip.Scip.Severity result = scip.Scip.Severity.forNumber(severity_); + return result == null ? scip.Scip.Severity.UNRECOGNIZED : result; + } + + public static final int CODE_FIELD_NUMBER = 2; + @SuppressWarnings("serial") + private volatile java.lang.Object code_ = ""; + /** + *
+     * (optional) Code of this diagnostic, which might appear in the user interface.
+     * 
+ * + * string code = 2 [json_name = "code"]; + * @return The code. + */ + @java.lang.Override + public java.lang.String getCode() { + java.lang.Object ref = code_; + 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(); + code_ = s; + return s; + } + } + /** + *
+     * (optional) Code of this diagnostic, which might appear in the user interface.
+     * 
+ * + * string code = 2 [json_name = "code"]; + * @return The bytes for code. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getCodeBytes() { + java.lang.Object ref = code_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + code_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int MESSAGE_FIELD_NUMBER = 3; + @SuppressWarnings("serial") + private volatile java.lang.Object message_ = ""; + /** + *
+     * Message of this diagnostic.
+     * 
+ * + * string message = 3 [json_name = "message"]; + * @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; + } + } + /** + *
+     * Message of this diagnostic.
+     * 
+ * + * string message = 3 [json_name = "message"]; + * @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 SOURCE_FIELD_NUMBER = 4; + @SuppressWarnings("serial") + private volatile java.lang.Object source_ = ""; + /** + *
+     * (optional) Human-readable string describing the source of this diagnostic, e.g.
+     * 'typescript' or 'super lint'.
+     * 
+ * + * string source = 4 [json_name = "source"]; + * @return The source. + */ + @java.lang.Override + public java.lang.String getSource() { + java.lang.Object ref = source_; + 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(); + source_ = s; + return s; + } + } + /** + *
+     * (optional) Human-readable string describing the source of this diagnostic, e.g.
+     * 'typescript' or 'super lint'.
+     * 
+ * + * string source = 4 [json_name = "source"]; + * @return The bytes for source. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getSourceBytes() { + java.lang.Object ref = source_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + source_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int TAGS_FIELD_NUMBER = 5; + @SuppressWarnings("serial") + private com.google.protobuf.Internal.IntList tags_ = + emptyIntList(); + private static final com.google.protobuf.Internal.IntListAdapter.IntConverter< + scip.Scip.DiagnosticTag> tags_converter_ = + new com.google.protobuf.Internal.IntListAdapter.IntConverter< + scip.Scip.DiagnosticTag>() { + public scip.Scip.DiagnosticTag convert(int from) { + scip.Scip.DiagnosticTag result = scip.Scip.DiagnosticTag.forNumber(from); + return result == null ? scip.Scip.DiagnosticTag.UNRECOGNIZED : result; + } + }; + /** + * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; + * @return A list containing the tags. + */ + @java.lang.Override + public java.util.List getTagsList() { + return new com.google.protobuf.Internal.IntListAdapter< + scip.Scip.DiagnosticTag>(tags_, tags_converter_); + } + /** + * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; + * @return The count of tags. + */ + @java.lang.Override + public int getTagsCount() { + return tags_.size(); + } + /** + * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; + * @param index The index of the element to return. + * @return The tags at the given index. + */ + @java.lang.Override + public scip.Scip.DiagnosticTag getTags(int index) { + return tags_converter_.convert(tags_.getInt(index)); + } + /** + * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; + * @return A list containing the enum numeric values on the wire for tags. + */ + @java.lang.Override + public java.util.List + getTagsValueList() { + return tags_; + } + /** + * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; + * @param index The index of the value to return. + * @return The enum numeric value on the wire of tags at the given index. + */ + @java.lang.Override + public int getTagsValue(int index) { + return tags_.getInt(index); + } + private int tagsMemoizedSerializedSize; + + 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 { + getSerializedSize(); + if (severity_ != scip.Scip.Severity.UnspecifiedSeverity.getNumber()) { + output.writeEnum(1, severity_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(code_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 2, code_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(message_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 3, message_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(source_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 4, source_); + } + if (getTagsList().size() > 0) { + output.writeUInt32NoTag(42); + output.writeUInt32NoTag(tagsMemoizedSerializedSize); + } + for (int i = 0; i < tags_.size(); i++) { + output.writeEnumNoTag(tags_.getInt(i)); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (severity_ != scip.Scip.Severity.UnspecifiedSeverity.getNumber()) { + size += com.google.protobuf.CodedOutputStream + .computeEnumSize(1, severity_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(code_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(2, code_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(message_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(3, message_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(source_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(4, source_); + } + { + int dataSize = 0; + for (int i = 0; i < tags_.size(); i++) { + dataSize += com.google.protobuf.CodedOutputStream + .computeEnumSizeNoTag(tags_.getInt(i)); + } + size += dataSize; + if (!getTagsList().isEmpty()) { size += 1; + size += com.google.protobuf.CodedOutputStream + .computeUInt32SizeNoTag(dataSize); + }tagsMemoizedSerializedSize = dataSize; + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof scip.Scip.Diagnostic)) { + return super.equals(obj); + } + scip.Scip.Diagnostic other = (scip.Scip.Diagnostic) obj; + + if (severity_ != other.severity_) return false; + if (!getCode() + .equals(other.getCode())) return false; + if (!getMessage() + .equals(other.getMessage())) return false; + if (!getSource() + .equals(other.getSource())) return false; + if (!tags_.equals(other.tags_)) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) 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) + SEVERITY_FIELD_NUMBER; + hash = (53 * hash) + severity_; + hash = (37 * hash) + CODE_FIELD_NUMBER; + hash = (53 * hash) + getCode().hashCode(); + hash = (37 * hash) + MESSAGE_FIELD_NUMBER; + hash = (53 * hash) + getMessage().hashCode(); + hash = (37 * hash) + SOURCE_FIELD_NUMBER; + hash = (53 * hash) + getSource().hashCode(); + if (getTagsCount() > 0) { + hash = (37 * hash) + TAGS_FIELD_NUMBER; + hash = (53 * hash) + tags_.hashCode(); + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static scip.Scip.Diagnostic parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static scip.Scip.Diagnostic parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static scip.Scip.Diagnostic parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static scip.Scip.Diagnostic parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static scip.Scip.Diagnostic parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static scip.Scip.Diagnostic parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static scip.Scip.Diagnostic parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static scip.Scip.Diagnostic parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public static scip.Scip.Diagnostic parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input); + } + + public static scip.Scip.Diagnostic parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static scip.Scip.Diagnostic parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static scip.Scip.Diagnostic parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(scip.Scip.Diagnostic 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + *
+     * Represents a diagnostic, such as a compiler error or warning, which should be
+     * reported for a document.
+     * 
+ * + * Protobuf type {@code scip.Diagnostic} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder implements + // @@protoc_insertion_point(builder_implements:scip.Diagnostic) + scip.Scip.DiagnosticOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return scip.Scip.internal_static_scip_Diagnostic_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return scip.Scip.internal_static_scip_Diagnostic_fieldAccessorTable + .ensureFieldAccessorsInitialized( + scip.Scip.Diagnostic.class, scip.Scip.Diagnostic.Builder.class); + } + + // Construct using scip.Scip.Diagnostic.newBuilder() + private Builder() { + + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + + } + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + severity_ = 0; + code_ = ""; + message_ = ""; + source_ = ""; + tags_ = emptyIntList(); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return scip.Scip.internal_static_scip_Diagnostic_descriptor; + } + + @java.lang.Override + public scip.Scip.Diagnostic getDefaultInstanceForType() { + return scip.Scip.Diagnostic.getDefaultInstance(); + } + + @java.lang.Override + public scip.Scip.Diagnostic build() { + scip.Scip.Diagnostic result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public scip.Scip.Diagnostic buildPartial() { + scip.Scip.Diagnostic result = new scip.Scip.Diagnostic(this); + if (bitField0_ != 0) { buildPartial0(result); } + onBuilt(); + return result; + } + + private void buildPartial0(scip.Scip.Diagnostic result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.severity_ = severity_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.code_ = code_; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.message_ = message_; + } + if (((from_bitField0_ & 0x00000008) != 0)) { + result.source_ = source_; + } + if (((from_bitField0_ & 0x00000010) != 0)) { + tags_.makeImmutable(); + result.tags_ = tags_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof scip.Scip.Diagnostic) { + return mergeFrom((scip.Scip.Diagnostic)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(scip.Scip.Diagnostic other) { + if (other == scip.Scip.Diagnostic.getDefaultInstance()) return this; + if (other.severity_ != 0) { + setSeverityValue(other.getSeverityValue()); + } + if (!other.getCode().isEmpty()) { + code_ = other.code_; + bitField0_ |= 0x00000002; + onChanged(); + } + if (!other.getMessage().isEmpty()) { + message_ = other.message_; + bitField0_ |= 0x00000004; + onChanged(); + } + if (!other.getSource().isEmpty()) { + source_ = other.source_; + bitField0_ |= 0x00000008; + onChanged(); + } + if (!other.tags_.isEmpty()) { + if (tags_.isEmpty()) { + tags_ = other.tags_; + tags_.makeImmutable(); + bitField0_ |= 0x00000010; + } else { + ensureTagsIsMutable(); + tags_.addAll(other.tags_); + } + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + 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 { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: { + severity_ = input.readEnum(); + bitField0_ |= 0x00000001; + break; + } // case 8 + case 18: { + code_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000002; + break; + } // case 18 + case 26: { + message_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000004; + break; + } // case 26 + case 34: { + source_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000008; + break; + } // case 34 + case 40: { + int tmpRaw = input.readEnum(); + ensureTagsIsMutable(); + tags_.addInt(tmpRaw); + break; + } // case 40 + case 42: { + int length = input.readRawVarint32(); + int limit = input.pushLimit(length); + ensureTagsIsMutable(); + while (input.getBytesUntilLimit() > 0) { + tags_.addInt(input.readEnum()); + } + input.popLimit(limit); + break; + } // case 42 + default: { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + private int bitField0_; + + private int severity_ = 0; + /** + *
+       * Should this diagnostic be reported as an error, warning, info, or hint?
+       * 
+ * + * .scip.Severity severity = 1 [json_name = "severity"]; + * @return The enum numeric value on the wire for severity. + */ + @java.lang.Override public int getSeverityValue() { + return severity_; + } + /** + *
+       * Should this diagnostic be reported as an error, warning, info, or hint?
+       * 
+ * + * .scip.Severity severity = 1 [json_name = "severity"]; + * @param value The enum numeric value on the wire for severity to set. + * @return This builder for chaining. + */ + public Builder setSeverityValue(int value) { + severity_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + /** + *
+       * Should this diagnostic be reported as an error, warning, info, or hint?
+       * 
+ * + * .scip.Severity severity = 1 [json_name = "severity"]; + * @return The severity. + */ + @java.lang.Override + public scip.Scip.Severity getSeverity() { + scip.Scip.Severity result = scip.Scip.Severity.forNumber(severity_); + return result == null ? scip.Scip.Severity.UNRECOGNIZED : result; + } + /** + *
+       * Should this diagnostic be reported as an error, warning, info, or hint?
+       * 
+ * + * .scip.Severity severity = 1 [json_name = "severity"]; + * @param value The severity to set. + * @return This builder for chaining. + */ + public Builder setSeverity(scip.Scip.Severity value) { + if (value == null) { throw new NullPointerException(); } + bitField0_ |= 0x00000001; + severity_ = value.getNumber(); + onChanged(); + return this; + } + /** + *
+       * Should this diagnostic be reported as an error, warning, info, or hint?
+       * 
+ * + * .scip.Severity severity = 1 [json_name = "severity"]; + * @return This builder for chaining. + */ + public Builder clearSeverity() { + bitField0_ = (bitField0_ & ~0x00000001); + severity_ = 0; + onChanged(); + return this; + } + + private java.lang.Object code_ = ""; + /** + *
+       * (optional) Code of this diagnostic, which might appear in the user interface.
+       * 
+ * + * string code = 2 [json_name = "code"]; + * @return The code. + */ + public java.lang.String getCode() { + java.lang.Object ref = code_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + code_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + *
+       * (optional) Code of this diagnostic, which might appear in the user interface.
+       * 
+ * + * string code = 2 [json_name = "code"]; + * @return The bytes for code. + */ + public com.google.protobuf.ByteString + getCodeBytes() { + java.lang.Object ref = code_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + code_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + *
+       * (optional) Code of this diagnostic, which might appear in the user interface.
+       * 
+ * + * string code = 2 [json_name = "code"]; + * @param value The code to set. + * @return This builder for chaining. + */ + public Builder setCode( + java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + code_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + /** + *
+       * (optional) Code of this diagnostic, which might appear in the user interface.
+       * 
+ * + * string code = 2 [json_name = "code"]; + * @return This builder for chaining. + */ + public Builder clearCode() { + code_ = getDefaultInstance().getCode(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + /** + *
+       * (optional) Code of this diagnostic, which might appear in the user interface.
+       * 
+ * + * string code = 2 [json_name = "code"]; + * @param value The bytes for code to set. + * @return This builder for chaining. + */ + public Builder setCodeBytes( + com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + checkByteStringIsUtf8(value); + code_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + private java.lang.Object message_ = ""; + /** + *
+       * Message of this diagnostic.
+       * 
+ * + * string message = 3 [json_name = "message"]; + * @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; + } + } + /** + *
+       * Message of this diagnostic.
+       * 
+ * + * string message = 3 [json_name = "message"]; + * @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; + } + } + /** + *
+       * Message of this diagnostic.
+       * 
+ * + * string message = 3 [json_name = "message"]; + * @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; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + /** + *
+       * Message of this diagnostic.
+       * 
+ * + * string message = 3 [json_name = "message"]; + * @return This builder for chaining. + */ + public Builder clearMessage() { + message_ = getDefaultInstance().getMessage(); + bitField0_ = (bitField0_ & ~0x00000004); + onChanged(); + return this; + } + /** + *
+       * Message of this diagnostic.
+       * 
+ * + * string message = 3 [json_name = "message"]; + * @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; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + private java.lang.Object source_ = ""; + /** + *
+       * (optional) Human-readable string describing the source of this diagnostic, e.g.
+       * 'typescript' or 'super lint'.
+       * 
+ * + * string source = 4 [json_name = "source"]; + * @return The source. + */ + public java.lang.String getSource() { + java.lang.Object ref = source_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + source_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + *
+       * (optional) Human-readable string describing the source of this diagnostic, e.g.
+       * 'typescript' or 'super lint'.
+       * 
+ * + * string source = 4 [json_name = "source"]; + * @return The bytes for source. + */ + public com.google.protobuf.ByteString + getSourceBytes() { + java.lang.Object ref = source_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + source_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + *
+       * (optional) Human-readable string describing the source of this diagnostic, e.g.
+       * 'typescript' or 'super lint'.
+       * 
+ * + * string source = 4 [json_name = "source"]; + * @param value The source to set. + * @return This builder for chaining. + */ + public Builder setSource( + java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + source_ = value; + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + /** + *
+       * (optional) Human-readable string describing the source of this diagnostic, e.g.
+       * 'typescript' or 'super lint'.
+       * 
+ * + * string source = 4 [json_name = "source"]; + * @return This builder for chaining. + */ + public Builder clearSource() { + source_ = getDefaultInstance().getSource(); + bitField0_ = (bitField0_ & ~0x00000008); + onChanged(); + return this; + } + /** + *
+       * (optional) Human-readable string describing the source of this diagnostic, e.g.
+       * 'typescript' or 'super lint'.
+       * 
+ * + * string source = 4 [json_name = "source"]; + * @param value The bytes for source to set. + * @return This builder for chaining. + */ + public Builder setSourceBytes( + com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + checkByteStringIsUtf8(value); + source_ = value; + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + + private com.google.protobuf.Internal.IntList tags_ = emptyIntList(); + private void ensureTagsIsMutable() { + if (!tags_.isModifiable()) { + tags_ = makeMutableCopy(tags_); + } + bitField0_ |= 0x00000010; + } + /** + * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; + * @return A list containing the tags. + */ + public java.util.List getTagsList() { + return new com.google.protobuf.Internal.IntListAdapter< + scip.Scip.DiagnosticTag>(tags_, tags_converter_); + } + /** + * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; + * @return The count of tags. + */ + public int getTagsCount() { + return tags_.size(); + } + /** + * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; + * @param index The index of the element to return. + * @return The tags at the given index. + */ + public scip.Scip.DiagnosticTag getTags(int index) { + return tags_converter_.convert(tags_.getInt(index)); + } + /** + * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; + * @param index The index to set the value at. + * @param value The tags to set. + * @return This builder for chaining. + */ + public Builder setTags( + int index, scip.Scip.DiagnosticTag value) { + if (value == null) { throw new NullPointerException(); } + ensureTagsIsMutable(); + tags_.setInt(index, value.getNumber()); + onChanged(); + return this; + } + /** + * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; + * @param value The tags to add. + * @return This builder for chaining. + */ + public Builder addTags(scip.Scip.DiagnosticTag value) { + if (value == null) { throw new NullPointerException(); } + ensureTagsIsMutable(); + tags_.addInt(value.getNumber()); + onChanged(); + return this; + } + /** + * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; + * @param values The tags to add. + * @return This builder for chaining. + */ + public Builder addAllTags( + java.lang.Iterable values) { + ensureTagsIsMutable(); + for (scip.Scip.DiagnosticTag value : values) { + tags_.addInt(value.getNumber()); + } + onChanged(); + return this; + } + /** + * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; + * @return This builder for chaining. + */ + public Builder clearTags() { + tags_ = emptyIntList(); + bitField0_ = (bitField0_ & ~0x00000010); + onChanged(); + return this; + } + /** + * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; + * @return A list containing the enum numeric values on the wire for tags. + */ + public java.util.List + getTagsValueList() { + tags_.makeImmutable(); + return tags_; + } + /** + * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; + * @param index The index of the value to return. + * @return The enum numeric value on the wire of tags at the given index. + */ + public int getTagsValue(int index) { + return tags_.getInt(index); + } + /** + * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; + * @param index The index to set the value at. + * @param value The enum numeric value on the wire for tags to set. + * @return This builder for chaining. + */ + public Builder setTagsValue( + int index, int value) { + ensureTagsIsMutable(); + tags_.setInt(index, value); + onChanged(); + return this; + } + /** + * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; + * @param value The enum numeric value on the wire for tags to add. + * @return This builder for chaining. + */ + public Builder addTagsValue(int value) { + ensureTagsIsMutable(); + tags_.addInt(value); + onChanged(); + return this; + } + /** + * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; + * @param values The enum numeric values on the wire for tags to add. + * @return This builder for chaining. + */ + public Builder addAllTagsValue( + java.lang.Iterable values) { + ensureTagsIsMutable(); + for (int value : values) { + tags_.addInt(value); + } + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:scip.Diagnostic) + } + + // @@protoc_insertion_point(class_scope:scip.Diagnostic) + private static final scip.Scip.Diagnostic DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new scip.Scip.Diagnostic(); + } + + public static scip.Scip.Diagnostic getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public Diagnostic parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public scip.Scip.Diagnostic getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_scip_Index_descriptor; + private static final + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_scip_Index_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_scip_Metadata_descriptor; + private static final + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_scip_Metadata_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_scip_ToolInfo_descriptor; + private static final + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_scip_ToolInfo_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_scip_Document_descriptor; + private static final + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_scip_Document_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_scip_Symbol_descriptor; + private static final + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_scip_Symbol_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_scip_Package_descriptor; + private static final + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_scip_Package_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_scip_Descriptor_descriptor; + private static final + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_scip_Descriptor_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_scip_Signature_descriptor; + private static final + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_scip_Signature_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_scip_SymbolInformation_descriptor; + private static final + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_scip_SymbolInformation_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_scip_Relationship_descriptor; + private static final + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_scip_Relationship_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_scip_Occurrence_descriptor; + private static final + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_scip_Occurrence_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_scip_Diagnostic_descriptor; + private static final + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_scip_Diagnostic_fieldAccessorTable; + + public static com.google.protobuf.Descriptors.FileDescriptor + getDescriptor() { + return descriptor; + } + private static com.google.protobuf.Descriptors.FileDescriptor + descriptor; + static { + java.lang.String[] descriptorData = { + "\n\nscip.proto\022\004scip\"\245\001\n\005Index\022*\n\010metadata" + + "\030\001 \001(\0132\016.scip.MetadataR\010metadata\022,\n\tdocu" + + "ments\030\002 \003(\0132\016.scip.DocumentR\tdocuments\022B" + + "\n\020external_symbols\030\003 \003(\0132\027.scip.SymbolIn" + + "formationR\017externalSymbols\"\325\001\n\010Metadata\022" + + "/\n\007version\030\001 \001(\0162\025.scip.ProtocolVersionR" + + "\007version\022+\n\ttool_info\030\002 \001(\0132\016.scip.ToolI" + + "nfoR\010toolInfo\022!\n\014project_root\030\003 \001(\tR\013pro" + + "jectRoot\022H\n\026text_document_encoding\030\004 \001(\016" + + "2\022.scip.TextEncodingR\024textDocumentEncodi" + + "ng\"V\n\010ToolInfo\022\022\n\004name\030\001 \001(\tR\004name\022\030\n\007ve" + + "rsion\030\002 \001(\tR\007version\022\034\n\targuments\030\003 \003(\tR" + + "\targuments\"\213\002\n\010Document\022\032\n\010language\030\004 \001(" + + "\tR\010language\022#\n\rrelative_path\030\001 \001(\tR\014rela" + + "tivePath\0222\n\013occurrences\030\002 \003(\0132\020.scip.Occ" + + "urrenceR\013occurrences\0221\n\007symbols\030\003 \003(\0132\027." + + "scip.SymbolInformationR\007symbols\022\022\n\004text\030" + + "\005 \001(\tR\004text\022C\n\021position_encoding\030\006 \001(\0162\026" + + ".scip.PositionEncodingR\020positionEncoding" + + "\"}\n\006Symbol\022\026\n\006scheme\030\001 \001(\tR\006scheme\022\'\n\007pa" + + "ckage\030\002 \001(\0132\r.scip.PackageR\007package\0222\n\013d" + + "escriptors\030\003 \003(\0132\020.scip.DescriptorR\013desc" + + "riptors\"Q\n\007Package\022\030\n\007manager\030\001 \001(\tR\007man" + + "ager\022\022\n\004name\030\002 \001(\tR\004name\022\030\n\007version\030\003 \001(" + + "\tR\007version\"\237\002\n\nDescriptor\022\022\n\004name\030\001 \001(\tR" + + "\004name\022$\n\rdisambiguator\030\002 \001(\tR\rdisambigua" + + "tor\022/\n\006suffix\030\003 \001(\0162\027.scip.Descriptor.Su" + + "ffixR\006suffix\"\245\001\n\006Suffix\022\025\n\021UnspecifiedSu" + + "ffix\020\000\022\r\n\tNamespace\020\001\022\017\n\007Package\020\001\032\002\010\001\022\010" + + "\n\004Type\020\002\022\010\n\004Term\020\003\022\n\n\006Method\020\004\022\021\n\rTypePa" + + "rameter\020\005\022\r\n\tParameter\020\006\022\010\n\004Meta\020\007\022\t\n\005Lo" + + "cal\020\010\022\t\n\005Macro\020\t\032\002\020\001\"\201\001\n\tSignature\022\032\n\010la" + + "nguage\030\004 \001(\tR\010language\022\022\n\004text\030\005 \001(\tR\004te" + + "xt\0222\n\013occurrences\030\002 \003(\0132\020.scip.Occurrenc" + + "eR\013occurrencesJ\004\010\001\020\002J\004\010\003\020\004J\004\010\006\020\007\"\323\014\n\021Sym" + + "bolInformation\022\026\n\006symbol\030\001 \001(\tR\006symbol\022$" + + "\n\rdocumentation\030\003 \003(\tR\rdocumentation\0228\n\r" + + "relationships\030\004 \003(\0132\022.scip.RelationshipR" + + "\rrelationships\0220\n\004kind\030\005 \001(\0162\034.scip.Symb" + + "olInformation.KindR\004kind\022!\n\014display_name" + + "\030\006 \001(\tR\013displayName\022H\n\027signature_documen" + + "tation\030\007 \001(\0132\017.scip.SignatureR\026signature" + + "Documentation\022)\n\020enclosing_symbol\030\010 \001(\tR" + + "\017enclosingSymbol\"\373\t\n\004Kind\022\023\n\017Unspecified" + + "Kind\020\000\022\022\n\016AbstractMethod\020B\022\014\n\010Accessor\020H" + + "\022\t\n\005Array\020\001\022\r\n\tAssertion\020\002\022\022\n\016Associated" + + "Type\020\003\022\r\n\tAttribute\020\004\022\t\n\005Axiom\020\005\022\013\n\007Bool" + + "ean\020\006\022\t\n\005Class\020\007\022\013\n\007Concept\020V\022\014\n\010Constan" + + "t\020\010\022\017\n\013Constructor\020\t\022\014\n\010Contract\020>\022\016\n\nDa" + + "taFamily\020\n\022\014\n\010Delegate\020I\022\010\n\004Enum\020\013\022\016\n\nEn" + + "umMember\020\014\022\t\n\005Error\020?\022\t\n\005Event\020\r\022\r\n\tExte" + + "nsion\020T\022\010\n\004Fact\020\016\022\t\n\005Field\020\017\022\010\n\004File\020\020\022\014" + + "\n\010Function\020\021\022\n\n\006Getter\020\022\022\013\n\007Grammar\020\023\022\014\n" + + "\010Instance\020\024\022\r\n\tInterface\020\025\022\007\n\003Key\020\026\022\010\n\004L" + + "ang\020\027\022\t\n\005Lemma\020\030\022\013\n\007Library\020@\022\t\n\005Macro\020\031" + + "\022\n\n\006Method\020\032\022\017\n\013MethodAlias\020J\022\022\n\016MethodR" + + "eceiver\020\033\022\027\n\023MethodSpecification\020C\022\013\n\007Me" + + "ssage\020\034\022\t\n\005Mixin\020U\022\014\n\010Modifier\020A\022\n\n\006Modu" + + "le\020\035\022\r\n\tNamespace\020\036\022\010\n\004Null\020\037\022\n\n\006Number\020" + + " \022\n\n\006Object\020!\022\014\n\010Operator\020\"\022\013\n\007Package\020#" + + "\022\021\n\rPackageObject\020$\022\r\n\tParameter\020%\022\022\n\016Pa" + + "rameterLabel\020&\022\013\n\007Pattern\020\'\022\r\n\tPredicate" + + "\020(\022\014\n\010Property\020)\022\014\n\010Protocol\020*\022\022\n\016Protoc" + + "olMethod\020D\022\025\n\021PureVirtualMethod\020E\022\017\n\013Qua" + + "siquoter\020+\022\021\n\rSelfParameter\020,\022\n\n\006Setter\020" + + "-\022\r\n\tSignature\020.\022\022\n\016SingletonClass\020K\022\023\n\017" + + "SingletonMethod\020L\022\024\n\020StaticDataMember\020M\022" + + "\017\n\013StaticEvent\020N\022\017\n\013StaticField\020O\022\020\n\014Sta" + + "ticMethod\020P\022\022\n\016StaticProperty\020Q\022\022\n\016Stati" + + "cVariable\020R\022\n\n\006String\0200\022\n\n\006Struct\0201\022\r\n\tS" + + "ubscript\020/\022\n\n\006Tactic\0202\022\013\n\007Theorem\0203\022\021\n\rT" + + "hisParameter\0204\022\t\n\005Trait\0205\022\017\n\013TraitMethod" + + "\020F\022\010\n\004Type\0206\022\r\n\tTypeAlias\0207\022\r\n\tTypeClass" + + "\0208\022\023\n\017TypeClassMethod\020G\022\016\n\nTypeFamily\0209\022" + + "\021\n\rTypeParameter\020:\022\t\n\005Union\020;\022\t\n\005Value\020<" + + "\022\014\n\010Variable\020=\"\311\001\n\014Relationship\022\026\n\006symbo" + + "l\030\001 \001(\tR\006symbol\022!\n\014is_reference\030\002 \001(\010R\013i" + + "sReference\022+\n\021is_implementation\030\003 \001(\010R\020i" + + "sImplementation\022,\n\022is_type_definition\030\004 " + + "\001(\010R\020isTypeDefinition\022#\n\ris_definition\030\005" + + " \001(\010R\014isDefinition\"\244\002\n\nOccurrence\022\024\n\005ran" + + "ge\030\001 \003(\005R\005range\022\026\n\006symbol\030\002 \001(\tR\006symbol\022" + + "!\n\014symbol_roles\030\003 \001(\005R\013symbolRoles\0225\n\026ov" + + "erride_documentation\030\004 \003(\tR\025overrideDocu" + + "mentation\0221\n\013syntax_kind\030\005 \001(\0162\020.scip.Sy" + + "ntaxKindR\nsyntaxKind\0222\n\013diagnostics\030\006 \003(" + + "\0132\020.scip.DiagnosticR\013diagnostics\022\'\n\017encl" + + "osing_range\030\007 \003(\005R\016enclosingRange\"\247\001\n\nDi" + + "agnostic\022*\n\010severity\030\001 \001(\0162\016.scip.Severi" + + "tyR\010severity\022\022\n\004code\030\002 \001(\tR\004code\022\030\n\007mess" + + "age\030\003 \001(\tR\007message\022\026\n\006source\030\004 \001(\tR\006sour" + + "ce\022\'\n\004tags\030\005 \003(\0162\023.scip.DiagnosticTagR\004t" + + "ags*1\n\017ProtocolVersion\022\036\n\032UnspecifiedPro" + + "tocolVersion\020\000*@\n\014TextEncoding\022\033\n\027Unspec" + + "ifiedTextEncoding\020\000\022\010\n\004UTF8\020\001\022\t\n\005UTF16\020\002" + + "*\244\001\n\020PositionEncoding\022\037\n\033UnspecifiedPosi" + + "tionEncoding\020\000\022#\n\037UTF8CodeUnitOffsetFrom" + + "LineStart\020\001\022$\n UTF16CodeUnitOffsetFromLi" + + "neStart\020\002\022$\n UTF32CodeUnitOffsetFromLine" + + "Start\020\003*\224\001\n\nSymbolRole\022\031\n\025UnspecifiedSym" + + "bolRole\020\000\022\016\n\nDefinition\020\001\022\n\n\006Import\020\002\022\017\n" + + "\013WriteAccess\020\004\022\016\n\nReadAccess\020\010\022\r\n\tGenera" + + "ted\020\020\022\010\n\004Test\020 \022\025\n\021ForwardDefinition\020@*\352" + + "\006\n\nSyntaxKind\022\031\n\025UnspecifiedSyntaxKind\020\000" + + "\022\013\n\007Comment\020\001\022\030\n\024PunctuationDelimiter\020\002\022" + + "\026\n\022PunctuationBracket\020\003\022\013\n\007Keyword\020\004\022\031\n\021" + + "IdentifierKeyword\020\004\032\002\010\001\022\026\n\022IdentifierOpe" + + "rator\020\005\022\016\n\nIdentifier\020\006\022\025\n\021IdentifierBui" + + "ltin\020\007\022\022\n\016IdentifierNull\020\010\022\026\n\022Identifier" + + "Constant\020\t\022\033\n\027IdentifierMutableGlobal\020\n\022" + + "\027\n\023IdentifierParameter\020\013\022\023\n\017IdentifierLo" + + "cal\020\014\022\026\n\022IdentifierShadowed\020\r\022\027\n\023Identif" + + "ierNamespace\020\016\022\030\n\020IdentifierModule\020\016\032\002\010\001" + + "\022\026\n\022IdentifierFunction\020\017\022 \n\034IdentifierFu" + + "nctionDefinition\020\020\022\023\n\017IdentifierMacro\020\021\022" + + "\035\n\031IdentifierMacroDefinition\020\022\022\022\n\016Identi" + + "fierType\020\023\022\031\n\025IdentifierBuiltinType\020\024\022\027\n" + + "\023IdentifierAttribute\020\025\022\017\n\013RegexEscape\020\026\022" + + "\021\n\rRegexRepeated\020\027\022\021\n\rRegexWildcard\020\030\022\022\n" + + "\016RegexDelimiter\020\031\022\r\n\tRegexJoin\020\032\022\021\n\rStri" + + "ngLiteral\020\033\022\027\n\023StringLiteralEscape\020\034\022\030\n\024" + + "StringLiteralSpecial\020\035\022\024\n\020StringLiteralK" + + "ey\020\036\022\024\n\020CharacterLiteral\020\037\022\022\n\016NumericLit" + + "eral\020 \022\022\n\016BooleanLiteral\020!\022\007\n\003Tag\020\"\022\020\n\014T" + + "agAttribute\020#\022\020\n\014TagDelimiter\020$\032\002\020\001*V\n\010S" + + "everity\022\027\n\023UnspecifiedSeverity\020\000\022\t\n\005Erro" + + "r\020\001\022\013\n\007Warning\020\002\022\017\n\013Information\020\003\022\010\n\004Hin" + + "t\020\004*N\n\rDiagnosticTag\022\034\n\030UnspecifiedDiagn" + + "osticTag\020\000\022\017\n\013Unnecessary\020\001\022\016\n\nDeprecate" + + "d\020\002*\233\n\n\010Language\022\027\n\023UnspecifiedLanguage\020" + + "\000\022\010\n\004ABAP\020<\022\010\n\004Apex\020`\022\007\n\003APL\0201\022\007\n\003Ada\020\'\022" + + "\010\n\004Agda\020-\022\014\n\010AsciiDoc\020V\022\014\n\010Assembly\020:\022\007\n" + + "\003Awk\020B\022\007\n\003Bat\020D\022\n\n\006BibTeX\020Q\022\005\n\001C\020\"\022\t\n\005CO" + + "BOL\020;\022\007\n\003CPP\020#\022\007\n\003CSS\020\032\022\n\n\006CSharp\020\001\022\013\n\007C" + + "lojure\020\010\022\020\n\014Coffeescript\020\025\022\016\n\nCommonLisp" + + "\020\t\022\007\n\003Coq\020/\022\010\n\004CUDA\020a\022\010\n\004Dart\020\003\022\n\n\006Delph" + + "i\0209\022\010\n\004Diff\020X\022\016\n\nDockerfile\020P\022\n\n\006Dyalog\020" + + "2\022\n\n\006Elixir\020\021\022\n\n\006Erlang\020\022\022\n\n\006FSharp\020*\022\010\n" + + "\004Fish\020A\022\010\n\004Flow\020\030\022\013\n\007Fortran\0208\022\016\n\nGit_Co" + + "mmit\020[\022\016\n\nGit_Config\020Y\022\016\n\nGit_Rebase\020\\\022\006" + + "\n\002Go\020!\022\013\n\007GraphQL\020b\022\n\n\006Groovy\020\007\022\010\n\004HTML\020" + + "\036\022\010\n\004Hack\020\024\022\016\n\nHandlebars\020Z\022\013\n\007Haskell\020," + + "\022\t\n\005Idris\020.\022\007\n\003Ini\020H\022\005\n\001J\0203\022\010\n\004JSON\020K\022\010\n" + + "\004Java\020\006\022\016\n\nJavaScript\020\026\022\023\n\017JavaScriptRea" + + "ct\020]\022\013\n\007Jsonnet\020L\022\t\n\005Julia\0207\022\014\n\010Justfile" + + "\020m\022\n\n\006Kotlin\020\004\022\t\n\005LaTeX\020S\022\010\n\004Lean\0200\022\010\n\004L" + + "ess\020\033\022\007\n\003Lua\020\014\022\010\n\004Luau\020l\022\014\n\010Makefile\020O\022\014" + + "\n\010Markdown\020T\022\n\n\006Matlab\0204\022\n\n\006Nickel\020n\022\007\n\003" + + "Nix\020M\022\t\n\005OCaml\020)\022\017\n\013Objective_C\020$\022\021\n\rObj" + + "ective_CPP\020%\022\n\n\006Pascal\020c\022\007\n\003PHP\020\023\022\t\n\005PLS" + + "QL\020F\022\010\n\004Perl\020\r\022\016\n\nPowerShell\020C\022\n\n\006Prolog" + + "\020G\022\014\n\010Protobuf\020d\022\n\n\006Python\020\017\022\005\n\001R\0206\022\n\n\006R" + + "acket\020\013\022\010\n\004Raku\020\016\022\t\n\005Razor\020>\022\t\n\005Repro\020f\022" + + "\010\n\004ReST\020U\022\010\n\004Ruby\020\020\022\010\n\004Rust\020(\022\007\n\003SAS\020=\022\010" + + "\n\004SCSS\020\035\022\007\n\003SML\020+\022\007\n\003SQL\020E\022\010\n\004Sass\020\034\022\t\n\005" + + "Scala\020\005\022\n\n\006Scheme\020\n\022\017\n\013ShellScript\020@\022\013\n\007" + + "Skylark\020N\022\t\n\005Slang\020k\022\014\n\010Solidity\020_\022\n\n\006Sv" + + "elte\020j\022\t\n\005Swift\020\002\022\007\n\003Tcl\020e\022\010\n\004TOML\020I\022\007\n\003" + + "TeX\020R\022\n\n\006Thrift\020g\022\016\n\nTypeScript\020\027\022\023\n\017Typ" + + "eScriptReact\020^\022\013\n\007Verilog\020h\022\010\n\004VHDL\020i\022\017\n" + + "\013VisualBasic\020?\022\007\n\003Vue\020\031\022\013\n\007Wolfram\0205\022\007\n\003" + + "XML\020\037\022\007\n\003XSL\020 \022\010\n\004YAML\020J\022\007\n\003Zig\020&B-Z+git" + + "hub.com/scip-code/scip/bindings/go/scip/" + + "b\006proto3" + }; + descriptor = com.google.protobuf.Descriptors.FileDescriptor + .internalBuildGeneratedFileFrom(descriptorData, + new com.google.protobuf.Descriptors.FileDescriptor[] { + }); + internal_static_scip_Index_descriptor = + getDescriptor().getMessageTypes().get(0); + internal_static_scip_Index_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_scip_Index_descriptor, + new java.lang.String[] { "Metadata", "Documents", "ExternalSymbols", }); + internal_static_scip_Metadata_descriptor = + getDescriptor().getMessageTypes().get(1); + internal_static_scip_Metadata_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_scip_Metadata_descriptor, + new java.lang.String[] { "Version", "ToolInfo", "ProjectRoot", "TextDocumentEncoding", }); + internal_static_scip_ToolInfo_descriptor = + getDescriptor().getMessageTypes().get(2); + internal_static_scip_ToolInfo_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_scip_ToolInfo_descriptor, + new java.lang.String[] { "Name", "Version", "Arguments", }); + internal_static_scip_Document_descriptor = + getDescriptor().getMessageTypes().get(3); + internal_static_scip_Document_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_scip_Document_descriptor, + new java.lang.String[] { "Language", "RelativePath", "Occurrences", "Symbols", "Text", "PositionEncoding", }); + internal_static_scip_Symbol_descriptor = + getDescriptor().getMessageTypes().get(4); + internal_static_scip_Symbol_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_scip_Symbol_descriptor, + new java.lang.String[] { "Scheme", "Package", "Descriptors", }); + internal_static_scip_Package_descriptor = + getDescriptor().getMessageTypes().get(5); + internal_static_scip_Package_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_scip_Package_descriptor, + new java.lang.String[] { "Manager", "Name", "Version", }); + internal_static_scip_Descriptor_descriptor = + getDescriptor().getMessageTypes().get(6); + internal_static_scip_Descriptor_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_scip_Descriptor_descriptor, + new java.lang.String[] { "Name", "Disambiguator", "Suffix", }); + internal_static_scip_Signature_descriptor = + getDescriptor().getMessageTypes().get(7); + internal_static_scip_Signature_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_scip_Signature_descriptor, + new java.lang.String[] { "Language", "Text", "Occurrences", }); + internal_static_scip_SymbolInformation_descriptor = + getDescriptor().getMessageTypes().get(8); + internal_static_scip_SymbolInformation_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_scip_SymbolInformation_descriptor, + new java.lang.String[] { "Symbol", "Documentation", "Relationships", "Kind", "DisplayName", "SignatureDocumentation", "EnclosingSymbol", }); + internal_static_scip_Relationship_descriptor = + getDescriptor().getMessageTypes().get(9); + internal_static_scip_Relationship_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_scip_Relationship_descriptor, + new java.lang.String[] { "Symbol", "IsReference", "IsImplementation", "IsTypeDefinition", "IsDefinition", }); + internal_static_scip_Occurrence_descriptor = + getDescriptor().getMessageTypes().get(10); + internal_static_scip_Occurrence_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_scip_Occurrence_descriptor, + new java.lang.String[] { "Range", "Symbol", "SymbolRoles", "OverrideDocumentation", "SyntaxKind", "Diagnostics", "EnclosingRange", }); + internal_static_scip_Diagnostic_descriptor = + getDescriptor().getMessageTypes().get(11); + internal_static_scip_Diagnostic_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_scip_Diagnostic_descriptor, + new java.lang.String[] { "Severity", "Code", "Message", "Source", "Tags", }); + descriptor.resolveAllFeaturesImmutable(); + } + + // @@protoc_insertion_point(outer_class_scope) +} diff --git a/bindings/kotlin/src/main/kotlin/scip/DescriptorKt.kt b/bindings/kotlin/src/main/kotlin/scip/DescriptorKt.kt new file mode 100644 index 00000000..8a85aca0 --- /dev/null +++ b/bindings/kotlin/src/main/kotlin/scip/DescriptorKt.kt @@ -0,0 +1,103 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: scip.proto + +// Generated files should ignore deprecation warnings +@file:Suppress("DEPRECATION") +package scip; + +@kotlin.jvm.JvmName("-initializedescriptor") +public inline fun descriptor(block: scip.DescriptorKt.Dsl.() -> kotlin.Unit): scip.Scip.Descriptor = + scip.DescriptorKt.Dsl._create(scip.Scip.Descriptor.newBuilder()).apply { block() }._build() +/** + * Protobuf type `scip.Descriptor` + */ +public object DescriptorKt { + @kotlin.OptIn(com.google.protobuf.kotlin.OnlyForUseByGeneratedProtoCode::class) + @com.google.protobuf.kotlin.ProtoDslMarker + public class Dsl private constructor( + private val _builder: scip.Scip.Descriptor.Builder + ) { + public companion object { + @kotlin.jvm.JvmSynthetic + @kotlin.PublishedApi + internal fun _create(builder: scip.Scip.Descriptor.Builder): Dsl = Dsl(builder) + } + + @kotlin.jvm.JvmSynthetic + @kotlin.PublishedApi + internal fun _build(): scip.Scip.Descriptor = _builder.build() + + /** + * `string name = 1 [json_name = "name"];` + */ + public var name: kotlin.String + @kotlin.jvm.JvmName("getName") + get() = _builder.name + @kotlin.jvm.JvmName("setName") + set(value) { + _builder.name = value + } + /** + * `string name = 1 [json_name = "name"];` + */ + public fun clearName() { + _builder.clearName() + } + + /** + * `string disambiguator = 2 [json_name = "disambiguator"];` + */ + public var disambiguator: kotlin.String + @kotlin.jvm.JvmName("getDisambiguator") + get() = _builder.disambiguator + @kotlin.jvm.JvmName("setDisambiguator") + set(value) { + _builder.disambiguator = value + } + /** + * `string disambiguator = 2 [json_name = "disambiguator"];` + */ + public fun clearDisambiguator() { + _builder.clearDisambiguator() + } + + /** + * ``` + * NOTE: If you add new fields here, make sure to update the prepareSlot() + * function responsible for parsing symbols. + * ``` + * + * `.scip.Descriptor.Suffix suffix = 3 [json_name = "suffix"];` + */ + public var suffix: scip.Scip.Descriptor.Suffix + @kotlin.jvm.JvmName("getSuffix") + get() = _builder.suffix + @kotlin.jvm.JvmName("setSuffix") + set(value) { + _builder.suffix = value + } + public var suffixValue: kotlin.Int + @kotlin.jvm.JvmName("getSuffixValue") + get() = _builder.suffixValue + @kotlin.jvm.JvmName("setSuffixValue") + set(value) { + _builder.suffixValue = value + } + /** + * ``` + * NOTE: If you add new fields here, make sure to update the prepareSlot() + * function responsible for parsing symbols. + * ``` + * + * `.scip.Descriptor.Suffix suffix = 3 [json_name = "suffix"];` + */ + public fun clearSuffix() { + _builder.clearSuffix() + } + } +} +@kotlin.jvm.JvmSynthetic +public inline fun scip.Scip.Descriptor.copy(block: `scip`.DescriptorKt.Dsl.() -> kotlin.Unit): scip.Scip.Descriptor = + `scip`.DescriptorKt.Dsl._create(this.toBuilder()).apply { block() }._build() + diff --git a/bindings/kotlin/src/main/kotlin/scip/DiagnosticKt.kt b/bindings/kotlin/src/main/kotlin/scip/DiagnosticKt.kt new file mode 100644 index 00000000..3e92f923 --- /dev/null +++ b/bindings/kotlin/src/main/kotlin/scip/DiagnosticKt.kt @@ -0,0 +1,214 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: scip.proto + +// Generated files should ignore deprecation warnings +@file:Suppress("DEPRECATION") +package scip; + +@kotlin.jvm.JvmName("-initializediagnostic") +public inline fun diagnostic(block: scip.DiagnosticKt.Dsl.() -> kotlin.Unit): scip.Scip.Diagnostic = + scip.DiagnosticKt.Dsl._create(scip.Scip.Diagnostic.newBuilder()).apply { block() }._build() +/** + * ``` + * Represents a diagnostic, such as a compiler error or warning, which should be + * reported for a document. + * ``` + * + * Protobuf type `scip.Diagnostic` + */ +public object DiagnosticKt { + @kotlin.OptIn(com.google.protobuf.kotlin.OnlyForUseByGeneratedProtoCode::class) + @com.google.protobuf.kotlin.ProtoDslMarker + public class Dsl private constructor( + private val _builder: scip.Scip.Diagnostic.Builder + ) { + public companion object { + @kotlin.jvm.JvmSynthetic + @kotlin.PublishedApi + internal fun _create(builder: scip.Scip.Diagnostic.Builder): Dsl = Dsl(builder) + } + + @kotlin.jvm.JvmSynthetic + @kotlin.PublishedApi + internal fun _build(): scip.Scip.Diagnostic = _builder.build() + + /** + * ``` + * Should this diagnostic be reported as an error, warning, info, or hint? + * ``` + * + * `.scip.Severity severity = 1 [json_name = "severity"];` + */ + public var severity: scip.Scip.Severity + @kotlin.jvm.JvmName("getSeverity") + get() = _builder.severity + @kotlin.jvm.JvmName("setSeverity") + set(value) { + _builder.severity = value + } + public var severityValue: kotlin.Int + @kotlin.jvm.JvmName("getSeverityValue") + get() = _builder.severityValue + @kotlin.jvm.JvmName("setSeverityValue") + set(value) { + _builder.severityValue = value + } + /** + * ``` + * Should this diagnostic be reported as an error, warning, info, or hint? + * ``` + * + * `.scip.Severity severity = 1 [json_name = "severity"];` + */ + public fun clearSeverity() { + _builder.clearSeverity() + } + + /** + * ``` + * (optional) Code of this diagnostic, which might appear in the user interface. + * ``` + * + * `string code = 2 [json_name = "code"];` + */ + public var code: kotlin.String + @kotlin.jvm.JvmName("getCode") + get() = _builder.code + @kotlin.jvm.JvmName("setCode") + set(value) { + _builder.code = value + } + /** + * ``` + * (optional) Code of this diagnostic, which might appear in the user interface. + * ``` + * + * `string code = 2 [json_name = "code"];` + */ + public fun clearCode() { + _builder.clearCode() + } + + /** + * ``` + * Message of this diagnostic. + * ``` + * + * `string message = 3 [json_name = "message"];` + */ + public var message: kotlin.String + @kotlin.jvm.JvmName("getMessage") + get() = _builder.message + @kotlin.jvm.JvmName("setMessage") + set(value) { + _builder.message = value + } + /** + * ``` + * Message of this diagnostic. + * ``` + * + * `string message = 3 [json_name = "message"];` + */ + public fun clearMessage() { + _builder.clearMessage() + } + + /** + * ``` + * (optional) Human-readable string describing the source of this diagnostic, e.g. + * 'typescript' or 'super lint'. + * ``` + * + * `string source = 4 [json_name = "source"];` + */ + public var source: kotlin.String + @kotlin.jvm.JvmName("getSource") + get() = _builder.source + @kotlin.jvm.JvmName("setSource") + set(value) { + _builder.source = value + } + /** + * ``` + * (optional) Human-readable string describing the source of this diagnostic, e.g. + * 'typescript' or 'super lint'. + * ``` + * + * `string source = 4 [json_name = "source"];` + */ + public fun clearSource() { + _builder.clearSource() + } + + /** + * An uninstantiable, behaviorless type to represent the field in + * generics. + */ + @kotlin.OptIn(com.google.protobuf.kotlin.OnlyForUseByGeneratedProtoCode::class) + public class TagsProxy private constructor() : com.google.protobuf.kotlin.DslProxy() + /** + * `repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"];` + */ + public val tags: com.google.protobuf.kotlin.DslList + @kotlin.jvm.JvmSynthetic + get() = com.google.protobuf.kotlin.DslList( + _builder.tagsList + ) + /** + * `repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"];` + * @param value The tags to add. + */ + @kotlin.jvm.JvmSynthetic +@kotlin.jvm.JvmName("addTags") + public fun com.google.protobuf.kotlin.DslList.add(value: scip.Scip.DiagnosticTag) { + _builder.addTags(value) + }/** + * `repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"];` + * @param value The tags to add. + */ + @kotlin.jvm.JvmSynthetic +@kotlin.jvm.JvmName("plusAssignTags") + @Suppress("NOTHING_TO_INLINE") + public inline operator fun com.google.protobuf.kotlin.DslList.plusAssign(value: scip.Scip.DiagnosticTag) { + add(value) + }/** + * `repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"];` + * @param values The tags to add. + */ + @kotlin.jvm.JvmSynthetic +@kotlin.jvm.JvmName("addAllTags") + public fun com.google.protobuf.kotlin.DslList.addAll(values: kotlin.collections.Iterable) { + _builder.addAllTags(values) + }/** + * `repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"];` + * @param values The tags to add. + */ + @kotlin.jvm.JvmSynthetic +@kotlin.jvm.JvmName("plusAssignAllTags") + @Suppress("NOTHING_TO_INLINE") + public inline operator fun com.google.protobuf.kotlin.DslList.plusAssign(values: kotlin.collections.Iterable) { + addAll(values) + }/** + * `repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"];` + * @param index The index to set the value at. + * @param value The tags to set. + */ + @kotlin.jvm.JvmSynthetic +@kotlin.jvm.JvmName("setTags") + public operator fun com.google.protobuf.kotlin.DslList.set(index: kotlin.Int, value: scip.Scip.DiagnosticTag) { + _builder.setTags(index, value) + }/** + * `repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"];` + */ + @kotlin.jvm.JvmSynthetic +@kotlin.jvm.JvmName("clearTags") + public fun com.google.protobuf.kotlin.DslList.clear() { + _builder.clearTags() + }} +} +@kotlin.jvm.JvmSynthetic +public inline fun scip.Scip.Diagnostic.copy(block: `scip`.DiagnosticKt.Dsl.() -> kotlin.Unit): scip.Scip.Diagnostic = + `scip`.DiagnosticKt.Dsl._create(this.toBuilder()).apply { block() }._build() + diff --git a/bindings/kotlin/src/main/kotlin/scip/DocumentKt.kt b/bindings/kotlin/src/main/kotlin/scip/DocumentKt.kt new file mode 100644 index 00000000..509ee908 --- /dev/null +++ b/bindings/kotlin/src/main/kotlin/scip/DocumentKt.kt @@ -0,0 +1,420 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: scip.proto + +// Generated files should ignore deprecation warnings +@file:Suppress("DEPRECATION") +package scip; + +@kotlin.jvm.JvmName("-initializedocument") +public inline fun document(block: scip.DocumentKt.Dsl.() -> kotlin.Unit): scip.Scip.Document = + scip.DocumentKt.Dsl._create(scip.Scip.Document.newBuilder()).apply { block() }._build() +/** + * ``` + * Document defines the metadata about a source file on disk. + * ``` + * + * Protobuf type `scip.Document` + */ +public object DocumentKt { + @kotlin.OptIn(com.google.protobuf.kotlin.OnlyForUseByGeneratedProtoCode::class) + @com.google.protobuf.kotlin.ProtoDslMarker + public class Dsl private constructor( + private val _builder: scip.Scip.Document.Builder + ) { + public companion object { + @kotlin.jvm.JvmSynthetic + @kotlin.PublishedApi + internal fun _create(builder: scip.Scip.Document.Builder): Dsl = Dsl(builder) + } + + @kotlin.jvm.JvmSynthetic + @kotlin.PublishedApi + internal fun _build(): scip.Scip.Document = _builder.build() + + /** + * ``` + * The string ID for the programming language this file is written in. + * The `Language` enum contains the names of most common programming languages. + * This field is typed as a string to permit any programming language, including + * ones that are not specified by the `Language` enum. + * ``` + * + * `string language = 4 [json_name = "language"];` + */ + public var language: kotlin.String + @kotlin.jvm.JvmName("getLanguage") + get() = _builder.language + @kotlin.jvm.JvmName("setLanguage") + set(value) { + _builder.language = value + } + /** + * ``` + * The string ID for the programming language this file is written in. + * The `Language` enum contains the names of most common programming languages. + * This field is typed as a string to permit any programming language, including + * ones that are not specified by the `Language` enum. + * ``` + * + * `string language = 4 [json_name = "language"];` + */ + public fun clearLanguage() { + _builder.clearLanguage() + } + + /** + * ``` + * (Required) Unique path to the text document. + * + * 1. The path must be relative to the directory supplied in the associated + * `Metadata.project_root`. + * 2. The path must not begin with a leading '/'. + * 3. The path must point to a regular file, not a symbolic link. + * 4. The path must use '/' as the separator, including on Windows. + * 5. The path must be canonical; it cannot include empty components ('//'), + * or '.' or '..'. + * ``` + * + * `string relative_path = 1 [json_name = "relativePath"];` + */ + public var relativePath: kotlin.String + @kotlin.jvm.JvmName("getRelativePath") + get() = _builder.relativePath + @kotlin.jvm.JvmName("setRelativePath") + set(value) { + _builder.relativePath = value + } + /** + * ``` + * (Required) Unique path to the text document. + * + * 1. The path must be relative to the directory supplied in the associated + * `Metadata.project_root`. + * 2. The path must not begin with a leading '/'. + * 3. The path must point to a regular file, not a symbolic link. + * 4. The path must use '/' as the separator, including on Windows. + * 5. The path must be canonical; it cannot include empty components ('//'), + * or '.' or '..'. + * ``` + * + * `string relative_path = 1 [json_name = "relativePath"];` + */ + public fun clearRelativePath() { + _builder.clearRelativePath() + } + + /** + * An uninstantiable, behaviorless type to represent the field in + * generics. + */ + @kotlin.OptIn(com.google.protobuf.kotlin.OnlyForUseByGeneratedProtoCode::class) + public class OccurrencesProxy private constructor() : com.google.protobuf.kotlin.DslProxy() + /** + * ``` + * Occurrences that appear in this file. + * ``` + * + * `repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"];` + */ + public val occurrences: com.google.protobuf.kotlin.DslList + @kotlin.jvm.JvmSynthetic + get() = com.google.protobuf.kotlin.DslList( + _builder.occurrencesList + ) + /** + * ``` + * Occurrences that appear in this file. + * ``` + * + * `repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"];` + * @param value The occurrences to add. + */ + @kotlin.jvm.JvmSynthetic +@kotlin.jvm.JvmName("addOccurrences") + public fun com.google.protobuf.kotlin.DslList.add(value: scip.Scip.Occurrence) { + _builder.addOccurrences(value) + } + /** + * ``` + * Occurrences that appear in this file. + * ``` + * + * `repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"];` + * @param value The occurrences to add. + */ + @kotlin.jvm.JvmSynthetic +@kotlin.jvm.JvmName("plusAssignOccurrences") + @Suppress("NOTHING_TO_INLINE") + public inline operator fun com.google.protobuf.kotlin.DslList.plusAssign(value: scip.Scip.Occurrence) { + add(value) + } + /** + * ``` + * Occurrences that appear in this file. + * ``` + * + * `repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"];` + * @param values The occurrences to add. + */ + @kotlin.jvm.JvmSynthetic +@kotlin.jvm.JvmName("addAllOccurrences") + public fun com.google.protobuf.kotlin.DslList.addAll(values: kotlin.collections.Iterable) { + _builder.addAllOccurrences(values) + } + /** + * ``` + * Occurrences that appear in this file. + * ``` + * + * `repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"];` + * @param values The occurrences to add. + */ + @kotlin.jvm.JvmSynthetic +@kotlin.jvm.JvmName("plusAssignAllOccurrences") + @Suppress("NOTHING_TO_INLINE") + public inline operator fun com.google.protobuf.kotlin.DslList.plusAssign(values: kotlin.collections.Iterable) { + addAll(values) + } + /** + * ``` + * Occurrences that appear in this file. + * ``` + * + * `repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"];` + * @param index The index to set the value at. + * @param value The occurrences to set. + */ + @kotlin.jvm.JvmSynthetic +@kotlin.jvm.JvmName("setOccurrences") + public operator fun com.google.protobuf.kotlin.DslList.set(index: kotlin.Int, value: scip.Scip.Occurrence) { + _builder.setOccurrences(index, value) + } + /** + * ``` + * Occurrences that appear in this file. + * ``` + * + * `repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"];` + */ + @kotlin.jvm.JvmSynthetic +@kotlin.jvm.JvmName("clearOccurrences") + public fun com.google.protobuf.kotlin.DslList.clear() { + _builder.clearOccurrences() + } + + /** + * An uninstantiable, behaviorless type to represent the field in + * generics. + */ + @kotlin.OptIn(com.google.protobuf.kotlin.OnlyForUseByGeneratedProtoCode::class) + public class SymbolsProxy private constructor() : com.google.protobuf.kotlin.DslProxy() + /** + * ``` + * Symbols that are "defined" within this document. + * + * This should include symbols which technically do not have any definition, + * but have a reference and are defined by some other symbol (see + * Relationship.is_definition). + * ``` + * + * `repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"];` + */ + public val symbols: com.google.protobuf.kotlin.DslList + @kotlin.jvm.JvmSynthetic + get() = com.google.protobuf.kotlin.DslList( + _builder.symbolsList + ) + /** + * ``` + * Symbols that are "defined" within this document. + * + * This should include symbols which technically do not have any definition, + * but have a reference and are defined by some other symbol (see + * Relationship.is_definition). + * ``` + * + * `repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"];` + * @param value The symbols to add. + */ + @kotlin.jvm.JvmSynthetic +@kotlin.jvm.JvmName("addSymbols") + public fun com.google.protobuf.kotlin.DslList.add(value: scip.Scip.SymbolInformation) { + _builder.addSymbols(value) + } + /** + * ``` + * Symbols that are "defined" within this document. + * + * This should include symbols which technically do not have any definition, + * but have a reference and are defined by some other symbol (see + * Relationship.is_definition). + * ``` + * + * `repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"];` + * @param value The symbols to add. + */ + @kotlin.jvm.JvmSynthetic +@kotlin.jvm.JvmName("plusAssignSymbols") + @Suppress("NOTHING_TO_INLINE") + public inline operator fun com.google.protobuf.kotlin.DslList.plusAssign(value: scip.Scip.SymbolInformation) { + add(value) + } + /** + * ``` + * Symbols that are "defined" within this document. + * + * This should include symbols which technically do not have any definition, + * but have a reference and are defined by some other symbol (see + * Relationship.is_definition). + * ``` + * + * `repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"];` + * @param values The symbols to add. + */ + @kotlin.jvm.JvmSynthetic +@kotlin.jvm.JvmName("addAllSymbols") + public fun com.google.protobuf.kotlin.DslList.addAll(values: kotlin.collections.Iterable) { + _builder.addAllSymbols(values) + } + /** + * ``` + * Symbols that are "defined" within this document. + * + * This should include symbols which technically do not have any definition, + * but have a reference and are defined by some other symbol (see + * Relationship.is_definition). + * ``` + * + * `repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"];` + * @param values The symbols to add. + */ + @kotlin.jvm.JvmSynthetic +@kotlin.jvm.JvmName("plusAssignAllSymbols") + @Suppress("NOTHING_TO_INLINE") + public inline operator fun com.google.protobuf.kotlin.DslList.plusAssign(values: kotlin.collections.Iterable) { + addAll(values) + } + /** + * ``` + * Symbols that are "defined" within this document. + * + * This should include symbols which technically do not have any definition, + * but have a reference and are defined by some other symbol (see + * Relationship.is_definition). + * ``` + * + * `repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"];` + * @param index The index to set the value at. + * @param value The symbols to set. + */ + @kotlin.jvm.JvmSynthetic +@kotlin.jvm.JvmName("setSymbols") + public operator fun com.google.protobuf.kotlin.DslList.set(index: kotlin.Int, value: scip.Scip.SymbolInformation) { + _builder.setSymbols(index, value) + } + /** + * ``` + * Symbols that are "defined" within this document. + * + * This should include symbols which technically do not have any definition, + * but have a reference and are defined by some other symbol (see + * Relationship.is_definition). + * ``` + * + * `repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"];` + */ + @kotlin.jvm.JvmSynthetic +@kotlin.jvm.JvmName("clearSymbols") + public fun com.google.protobuf.kotlin.DslList.clear() { + _builder.clearSymbols() + } + + /** + * ``` + * (optional) Text contents of this document. Indexers are not expected to + * include the text by default. It's preferable that clients read the text + * contents from the file system by resolving the absolute path from joining + * `Index.metadata.project_root` and `Document.relative_path`. This field + * can be useful for testing or when working with virtual/in-memory documents. + * ``` + * + * `string text = 5 [json_name = "text"];` + */ + public var text: kotlin.String + @kotlin.jvm.JvmName("getText") + get() = _builder.text + @kotlin.jvm.JvmName("setText") + set(value) { + _builder.text = value + } + /** + * ``` + * (optional) Text contents of this document. Indexers are not expected to + * include the text by default. It's preferable that clients read the text + * contents from the file system by resolving the absolute path from joining + * `Index.metadata.project_root` and `Document.relative_path`. This field + * can be useful for testing or when working with virtual/in-memory documents. + * ``` + * + * `string text = 5 [json_name = "text"];` + */ + public fun clearText() { + _builder.clearText() + } + + /** + * ``` + * Specifies the encoding used for source ranges in this Document. + * + * Usually, this will match the type used to index the string type + * in the indexer's implementation language in O(1) time. + * - For an indexer implemented in JVM/.NET language or JavaScript/TypeScript, + * use UTF16CodeUnitOffsetFromLineStart. + * - For an indexer implemented in Python, + * use UTF32CodeUnitOffsetFromLineStart. + * - For an indexer implemented in Go, Rust or C++, + * use UTF8ByteOffsetFromLineStart. + * ``` + * + * `.scip.PositionEncoding position_encoding = 6 [json_name = "positionEncoding"];` + */ + public var positionEncoding: scip.Scip.PositionEncoding + @kotlin.jvm.JvmName("getPositionEncoding") + get() = _builder.positionEncoding + @kotlin.jvm.JvmName("setPositionEncoding") + set(value) { + _builder.positionEncoding = value + } + public var positionEncodingValue: kotlin.Int + @kotlin.jvm.JvmName("getPositionEncodingValue") + get() = _builder.positionEncodingValue + @kotlin.jvm.JvmName("setPositionEncodingValue") + set(value) { + _builder.positionEncodingValue = value + } + /** + * ``` + * Specifies the encoding used for source ranges in this Document. + * + * Usually, this will match the type used to index the string type + * in the indexer's implementation language in O(1) time. + * - For an indexer implemented in JVM/.NET language or JavaScript/TypeScript, + * use UTF16CodeUnitOffsetFromLineStart. + * - For an indexer implemented in Python, + * use UTF32CodeUnitOffsetFromLineStart. + * - For an indexer implemented in Go, Rust or C++, + * use UTF8ByteOffsetFromLineStart. + * ``` + * + * `.scip.PositionEncoding position_encoding = 6 [json_name = "positionEncoding"];` + */ + public fun clearPositionEncoding() { + _builder.clearPositionEncoding() + } + } +} +@kotlin.jvm.JvmSynthetic +public inline fun scip.Scip.Document.copy(block: `scip`.DocumentKt.Dsl.() -> kotlin.Unit): scip.Scip.Document = + `scip`.DocumentKt.Dsl._create(this.toBuilder()).apply { block() }._build() + diff --git a/bindings/kotlin/src/main/kotlin/scip/IndexKt.kt b/bindings/kotlin/src/main/kotlin/scip/IndexKt.kt new file mode 100644 index 00000000..030004f1 --- /dev/null +++ b/bindings/kotlin/src/main/kotlin/scip/IndexKt.kt @@ -0,0 +1,312 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: scip.proto + +// Generated files should ignore deprecation warnings +@file:Suppress("DEPRECATION") +package scip; + +@kotlin.jvm.JvmName("-initializeindex") +public inline fun index(block: scip.IndexKt.Dsl.() -> kotlin.Unit): scip.Scip.Index = + scip.IndexKt.Dsl._create(scip.Scip.Index.newBuilder()).apply { block() }._build() +/** + * ``` + * Index represents a complete SCIP index for a workspace this is rooted at a + * single directory. An Index message payload can have a large memory footprint + * and it's therefore recommended to emit and consume an Index payload one field + * value at a time. To permit streaming consumption of an Index payload, the + * `metadata` field must appear at the start of the stream and must only appear + * once in the stream. Other field values may appear in any order. + * ``` + * + * Protobuf type `scip.Index` + */ +public object IndexKt { + @kotlin.OptIn(com.google.protobuf.kotlin.OnlyForUseByGeneratedProtoCode::class) + @com.google.protobuf.kotlin.ProtoDslMarker + public class Dsl private constructor( + private val _builder: scip.Scip.Index.Builder + ) { + public companion object { + @kotlin.jvm.JvmSynthetic + @kotlin.PublishedApi + internal fun _create(builder: scip.Scip.Index.Builder): Dsl = Dsl(builder) + } + + @kotlin.jvm.JvmSynthetic + @kotlin.PublishedApi + internal fun _build(): scip.Scip.Index = _builder.build() + + /** + * ``` + * Metadata about this index. + * ``` + * + * `.scip.Metadata metadata = 1 [json_name = "metadata"];` + */ + public var metadata: scip.Scip.Metadata + @kotlin.jvm.JvmName("getMetadata") + get() = _builder.metadata + @kotlin.jvm.JvmName("setMetadata") + set(value) { + _builder.metadata = value + } + /** + * ``` + * Metadata about this index. + * ``` + * + * `.scip.Metadata metadata = 1 [json_name = "metadata"];` + */ + public fun clearMetadata() { + _builder.clearMetadata() + } + /** + * ``` + * Metadata about this index. + * ``` + * + * `.scip.Metadata metadata = 1 [json_name = "metadata"];` + * @return Whether the metadata field is set. + */ + public fun hasMetadata(): kotlin.Boolean { + return _builder.hasMetadata() + } + + public val IndexKt.Dsl.metadataOrNull: scip.Scip.Metadata? + get() = _builder.metadataOrNull + + /** + * An uninstantiable, behaviorless type to represent the field in + * generics. + */ + @kotlin.OptIn(com.google.protobuf.kotlin.OnlyForUseByGeneratedProtoCode::class) + public class DocumentsProxy private constructor() : com.google.protobuf.kotlin.DslProxy() + /** + * ``` + * Documents that belong to this index. + * ``` + * + * `repeated .scip.Document documents = 2 [json_name = "documents"];` + */ + public val documents: com.google.protobuf.kotlin.DslList + @kotlin.jvm.JvmSynthetic + get() = com.google.protobuf.kotlin.DslList( + _builder.documentsList + ) + /** + * ``` + * Documents that belong to this index. + * ``` + * + * `repeated .scip.Document documents = 2 [json_name = "documents"];` + * @param value The documents to add. + */ + @kotlin.jvm.JvmSynthetic +@kotlin.jvm.JvmName("addDocuments") + public fun com.google.protobuf.kotlin.DslList.add(value: scip.Scip.Document) { + _builder.addDocuments(value) + } + /** + * ``` + * Documents that belong to this index. + * ``` + * + * `repeated .scip.Document documents = 2 [json_name = "documents"];` + * @param value The documents to add. + */ + @kotlin.jvm.JvmSynthetic +@kotlin.jvm.JvmName("plusAssignDocuments") + @Suppress("NOTHING_TO_INLINE") + public inline operator fun com.google.protobuf.kotlin.DslList.plusAssign(value: scip.Scip.Document) { + add(value) + } + /** + * ``` + * Documents that belong to this index. + * ``` + * + * `repeated .scip.Document documents = 2 [json_name = "documents"];` + * @param values The documents to add. + */ + @kotlin.jvm.JvmSynthetic +@kotlin.jvm.JvmName("addAllDocuments") + public fun com.google.protobuf.kotlin.DslList.addAll(values: kotlin.collections.Iterable) { + _builder.addAllDocuments(values) + } + /** + * ``` + * Documents that belong to this index. + * ``` + * + * `repeated .scip.Document documents = 2 [json_name = "documents"];` + * @param values The documents to add. + */ + @kotlin.jvm.JvmSynthetic +@kotlin.jvm.JvmName("plusAssignAllDocuments") + @Suppress("NOTHING_TO_INLINE") + public inline operator fun com.google.protobuf.kotlin.DslList.plusAssign(values: kotlin.collections.Iterable) { + addAll(values) + } + /** + * ``` + * Documents that belong to this index. + * ``` + * + * `repeated .scip.Document documents = 2 [json_name = "documents"];` + * @param index The index to set the value at. + * @param value The documents to set. + */ + @kotlin.jvm.JvmSynthetic +@kotlin.jvm.JvmName("setDocuments") + public operator fun com.google.protobuf.kotlin.DslList.set(index: kotlin.Int, value: scip.Scip.Document) { + _builder.setDocuments(index, value) + } + /** + * ``` + * Documents that belong to this index. + * ``` + * + * `repeated .scip.Document documents = 2 [json_name = "documents"];` + */ + @kotlin.jvm.JvmSynthetic +@kotlin.jvm.JvmName("clearDocuments") + public fun com.google.protobuf.kotlin.DslList.clear() { + _builder.clearDocuments() + } + + /** + * An uninstantiable, behaviorless type to represent the field in + * generics. + */ + @kotlin.OptIn(com.google.protobuf.kotlin.OnlyForUseByGeneratedProtoCode::class) + public class ExternalSymbolsProxy private constructor() : com.google.protobuf.kotlin.DslProxy() + /** + * ``` + * (optional) Symbols that are referenced from this index but are defined in + * an external package (a separate `Index` message). Leave this field empty + * if you assume the external package will get indexed separately. If the + * external package won't get indexed for some reason then you can use this + * field to provide hover documentation for those external symbols. + * ``` + * + * `repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"];` + */ + public val externalSymbols: com.google.protobuf.kotlin.DslList + @kotlin.jvm.JvmSynthetic + get() = com.google.protobuf.kotlin.DslList( + _builder.externalSymbolsList + ) + /** + * ``` + * (optional) Symbols that are referenced from this index but are defined in + * an external package (a separate `Index` message). Leave this field empty + * if you assume the external package will get indexed separately. If the + * external package won't get indexed for some reason then you can use this + * field to provide hover documentation for those external symbols. + * ``` + * + * `repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"];` + * @param value The externalSymbols to add. + */ + @kotlin.jvm.JvmSynthetic +@kotlin.jvm.JvmName("addExternalSymbols") + public fun com.google.protobuf.kotlin.DslList.add(value: scip.Scip.SymbolInformation) { + _builder.addExternalSymbols(value) + } + /** + * ``` + * (optional) Symbols that are referenced from this index but are defined in + * an external package (a separate `Index` message). Leave this field empty + * if you assume the external package will get indexed separately. If the + * external package won't get indexed for some reason then you can use this + * field to provide hover documentation for those external symbols. + * ``` + * + * `repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"];` + * @param value The externalSymbols to add. + */ + @kotlin.jvm.JvmSynthetic +@kotlin.jvm.JvmName("plusAssignExternalSymbols") + @Suppress("NOTHING_TO_INLINE") + public inline operator fun com.google.protobuf.kotlin.DslList.plusAssign(value: scip.Scip.SymbolInformation) { + add(value) + } + /** + * ``` + * (optional) Symbols that are referenced from this index but are defined in + * an external package (a separate `Index` message). Leave this field empty + * if you assume the external package will get indexed separately. If the + * external package won't get indexed for some reason then you can use this + * field to provide hover documentation for those external symbols. + * ``` + * + * `repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"];` + * @param values The externalSymbols to add. + */ + @kotlin.jvm.JvmSynthetic +@kotlin.jvm.JvmName("addAllExternalSymbols") + public fun com.google.protobuf.kotlin.DslList.addAll(values: kotlin.collections.Iterable) { + _builder.addAllExternalSymbols(values) + } + /** + * ``` + * (optional) Symbols that are referenced from this index but are defined in + * an external package (a separate `Index` message). Leave this field empty + * if you assume the external package will get indexed separately. If the + * external package won't get indexed for some reason then you can use this + * field to provide hover documentation for those external symbols. + * ``` + * + * `repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"];` + * @param values The externalSymbols to add. + */ + @kotlin.jvm.JvmSynthetic +@kotlin.jvm.JvmName("plusAssignAllExternalSymbols") + @Suppress("NOTHING_TO_INLINE") + public inline operator fun com.google.protobuf.kotlin.DslList.plusAssign(values: kotlin.collections.Iterable) { + addAll(values) + } + /** + * ``` + * (optional) Symbols that are referenced from this index but are defined in + * an external package (a separate `Index` message). Leave this field empty + * if you assume the external package will get indexed separately. If the + * external package won't get indexed for some reason then you can use this + * field to provide hover documentation for those external symbols. + * ``` + * + * `repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"];` + * @param index The index to set the value at. + * @param value The externalSymbols to set. + */ + @kotlin.jvm.JvmSynthetic +@kotlin.jvm.JvmName("setExternalSymbols") + public operator fun com.google.protobuf.kotlin.DslList.set(index: kotlin.Int, value: scip.Scip.SymbolInformation) { + _builder.setExternalSymbols(index, value) + } + /** + * ``` + * (optional) Symbols that are referenced from this index but are defined in + * an external package (a separate `Index` message). Leave this field empty + * if you assume the external package will get indexed separately. If the + * external package won't get indexed for some reason then you can use this + * field to provide hover documentation for those external symbols. + * ``` + * + * `repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"];` + */ + @kotlin.jvm.JvmSynthetic +@kotlin.jvm.JvmName("clearExternalSymbols") + public fun com.google.protobuf.kotlin.DslList.clear() { + _builder.clearExternalSymbols() + } + } +} +@kotlin.jvm.JvmSynthetic +public inline fun scip.Scip.Index.copy(block: `scip`.IndexKt.Dsl.() -> kotlin.Unit): scip.Scip.Index = + `scip`.IndexKt.Dsl._create(this.toBuilder()).apply { block() }._build() + +public val scip.Scip.IndexOrBuilder.metadataOrNull: scip.Scip.Metadata? + get() = if (hasMetadata()) getMetadata() else null + diff --git a/bindings/kotlin/src/main/kotlin/scip/MetadataKt.kt b/bindings/kotlin/src/main/kotlin/scip/MetadataKt.kt new file mode 100644 index 00000000..987be5b0 --- /dev/null +++ b/bindings/kotlin/src/main/kotlin/scip/MetadataKt.kt @@ -0,0 +1,174 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: scip.proto + +// Generated files should ignore deprecation warnings +@file:Suppress("DEPRECATION") +package scip; + +@kotlin.jvm.JvmName("-initializemetadata") +public inline fun metadata(block: scip.MetadataKt.Dsl.() -> kotlin.Unit): scip.Scip.Metadata = + scip.MetadataKt.Dsl._create(scip.Scip.Metadata.newBuilder()).apply { block() }._build() +/** + * Protobuf type `scip.Metadata` + */ +public object MetadataKt { + @kotlin.OptIn(com.google.protobuf.kotlin.OnlyForUseByGeneratedProtoCode::class) + @com.google.protobuf.kotlin.ProtoDslMarker + public class Dsl private constructor( + private val _builder: scip.Scip.Metadata.Builder + ) { + public companion object { + @kotlin.jvm.JvmSynthetic + @kotlin.PublishedApi + internal fun _create(builder: scip.Scip.Metadata.Builder): Dsl = Dsl(builder) + } + + @kotlin.jvm.JvmSynthetic + @kotlin.PublishedApi + internal fun _build(): scip.Scip.Metadata = _builder.build() + + /** + * ``` + * Which version of this protocol was used to generate this index? + * ``` + * + * `.scip.ProtocolVersion version = 1 [json_name = "version"];` + */ + public var version: scip.Scip.ProtocolVersion + @kotlin.jvm.JvmName("getVersion") + get() = _builder.version + @kotlin.jvm.JvmName("setVersion") + set(value) { + _builder.version = value + } + public var versionValue: kotlin.Int + @kotlin.jvm.JvmName("getVersionValue") + get() = _builder.versionValue + @kotlin.jvm.JvmName("setVersionValue") + set(value) { + _builder.versionValue = value + } + /** + * ``` + * Which version of this protocol was used to generate this index? + * ``` + * + * `.scip.ProtocolVersion version = 1 [json_name = "version"];` + */ + public fun clearVersion() { + _builder.clearVersion() + } + + /** + * ``` + * Information about the tool that produced this index. + * ``` + * + * `.scip.ToolInfo tool_info = 2 [json_name = "toolInfo"];` + */ + public var toolInfo: scip.Scip.ToolInfo + @kotlin.jvm.JvmName("getToolInfo") + get() = _builder.toolInfo + @kotlin.jvm.JvmName("setToolInfo") + set(value) { + _builder.toolInfo = value + } + /** + * ``` + * Information about the tool that produced this index. + * ``` + * + * `.scip.ToolInfo tool_info = 2 [json_name = "toolInfo"];` + */ + public fun clearToolInfo() { + _builder.clearToolInfo() + } + /** + * ``` + * Information about the tool that produced this index. + * ``` + * + * `.scip.ToolInfo tool_info = 2 [json_name = "toolInfo"];` + * @return Whether the toolInfo field is set. + */ + public fun hasToolInfo(): kotlin.Boolean { + return _builder.hasToolInfo() + } + + public val MetadataKt.Dsl.toolInfoOrNull: scip.Scip.ToolInfo? + get() = _builder.toolInfoOrNull + + /** + * ``` + * URI-encoded absolute path to the root directory of this index. All + * documents in this index must appear in a subdirectory of this root + * directory. + * ``` + * + * `string project_root = 3 [json_name = "projectRoot"];` + */ + public var projectRoot: kotlin.String + @kotlin.jvm.JvmName("getProjectRoot") + get() = _builder.projectRoot + @kotlin.jvm.JvmName("setProjectRoot") + set(value) { + _builder.projectRoot = value + } + /** + * ``` + * URI-encoded absolute path to the root directory of this index. All + * documents in this index must appear in a subdirectory of this root + * directory. + * ``` + * + * `string project_root = 3 [json_name = "projectRoot"];` + */ + public fun clearProjectRoot() { + _builder.clearProjectRoot() + } + + /** + * ``` + * Text encoding of the source files on disk that are referenced from + * `Document.relative_path`. This value is unrelated to the `Document.text` + * field, which is a Protobuf string and hence must be UTF-8 encoded. + * ``` + * + * `.scip.TextEncoding text_document_encoding = 4 [json_name = "textDocumentEncoding"];` + */ + public var textDocumentEncoding: scip.Scip.TextEncoding + @kotlin.jvm.JvmName("getTextDocumentEncoding") + get() = _builder.textDocumentEncoding + @kotlin.jvm.JvmName("setTextDocumentEncoding") + set(value) { + _builder.textDocumentEncoding = value + } + public var textDocumentEncodingValue: kotlin.Int + @kotlin.jvm.JvmName("getTextDocumentEncodingValue") + get() = _builder.textDocumentEncodingValue + @kotlin.jvm.JvmName("setTextDocumentEncodingValue") + set(value) { + _builder.textDocumentEncodingValue = value + } + /** + * ``` + * Text encoding of the source files on disk that are referenced from + * `Document.relative_path`. This value is unrelated to the `Document.text` + * field, which is a Protobuf string and hence must be UTF-8 encoded. + * ``` + * + * `.scip.TextEncoding text_document_encoding = 4 [json_name = "textDocumentEncoding"];` + */ + public fun clearTextDocumentEncoding() { + _builder.clearTextDocumentEncoding() + } + } +} +@kotlin.jvm.JvmSynthetic +public inline fun scip.Scip.Metadata.copy(block: `scip`.MetadataKt.Dsl.() -> kotlin.Unit): scip.Scip.Metadata = + `scip`.MetadataKt.Dsl._create(this.toBuilder()).apply { block() }._build() + +public val scip.Scip.MetadataOrBuilder.toolInfoOrNull: scip.Scip.ToolInfo? + get() = if (hasToolInfo()) getToolInfo() else null + diff --git a/bindings/kotlin/src/main/kotlin/scip/OccurrenceKt.kt b/bindings/kotlin/src/main/kotlin/scip/OccurrenceKt.kt new file mode 100644 index 00000000..493884ff --- /dev/null +++ b/bindings/kotlin/src/main/kotlin/scip/OccurrenceKt.kt @@ -0,0 +1,1072 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: scip.proto + +// Generated files should ignore deprecation warnings +@file:Suppress("DEPRECATION") +package scip; + +@kotlin.jvm.JvmName("-initializeoccurrence") +public inline fun occurrence(block: scip.OccurrenceKt.Dsl.() -> kotlin.Unit): scip.Scip.Occurrence = + scip.OccurrenceKt.Dsl._create(scip.Scip.Occurrence.newBuilder()).apply { block() }._build() +/** + * ``` + * Occurrence associates a source position with a symbol and/or highlighting + * information. + * + * If possible, indexers should try to bundle logically related information + * across occurrences into a single occurrence to reduce payload sizes. + * ``` + * + * Protobuf type `scip.Occurrence` + */ +public object OccurrenceKt { + @kotlin.OptIn(com.google.protobuf.kotlin.OnlyForUseByGeneratedProtoCode::class) + @com.google.protobuf.kotlin.ProtoDslMarker + public class Dsl private constructor( + private val _builder: scip.Scip.Occurrence.Builder + ) { + public companion object { + @kotlin.jvm.JvmSynthetic + @kotlin.PublishedApi + internal fun _create(builder: scip.Scip.Occurrence.Builder): Dsl = Dsl(builder) + } + + @kotlin.jvm.JvmSynthetic + @kotlin.PublishedApi + internal fun _build(): scip.Scip.Occurrence = _builder.build() + + /** + * An uninstantiable, behaviorless type to represent the field in + * generics. + */ + @kotlin.OptIn(com.google.protobuf.kotlin.OnlyForUseByGeneratedProtoCode::class) + public class RangeProxy private constructor() : com.google.protobuf.kotlin.DslProxy() + /** + * ``` + * Half-open [start, end) range of this occurrence. Must be exactly three or four + * elements: + * + * - Four elements: `[startLine, startCharacter, endLine, endCharacter]` + * - Three elements: `[startLine, startCharacter, endCharacter]`. The end line + * is inferred to have the same value as the start line. + * + * It is allowed for the range to be empty (i.e. start==end). + * + * Line numbers and characters are always 0-based. Make sure to increment the + * line/character values before displaying them in an editor-like UI because + * editors conventionally use 1-based numbers. + * + * The 'character' value is interpreted based on the PositionEncoding for + * the Document. + * + * Historical note: the original draft of this schema had a `Range` message + * type with `start` and `end` fields of type `Position`, mirroring LSP. + * Benchmarks revealed that this encoding was inefficient and that we could + * reduce the total payload size of an index by 50% by using `repeated int32` + * instead. The `repeated int32` encoding is admittedly more embarrassing to + * work with in some programming languages but we hope the performance + * improvements make up for it. + * ``` + * + * `repeated int32 range = 1 [json_name = "range"];` + */ + public val range: com.google.protobuf.kotlin.DslList + @kotlin.jvm.JvmSynthetic + get() = com.google.protobuf.kotlin.DslList( + _builder.rangeList + ) + /** + * ``` + * Half-open [start, end) range of this occurrence. Must be exactly three or four + * elements: + * + * - Four elements: `[startLine, startCharacter, endLine, endCharacter]` + * - Three elements: `[startLine, startCharacter, endCharacter]`. The end line + * is inferred to have the same value as the start line. + * + * It is allowed for the range to be empty (i.e. start==end). + * + * Line numbers and characters are always 0-based. Make sure to increment the + * line/character values before displaying them in an editor-like UI because + * editors conventionally use 1-based numbers. + * + * The 'character' value is interpreted based on the PositionEncoding for + * the Document. + * + * Historical note: the original draft of this schema had a `Range` message + * type with `start` and `end` fields of type `Position`, mirroring LSP. + * Benchmarks revealed that this encoding was inefficient and that we could + * reduce the total payload size of an index by 50% by using `repeated int32` + * instead. The `repeated int32` encoding is admittedly more embarrassing to + * work with in some programming languages but we hope the performance + * improvements make up for it. + * ``` + * + * `repeated int32 range = 1 [json_name = "range"];` + * @param value The range to add. + */ + @kotlin.jvm.JvmSynthetic +@kotlin.jvm.JvmName("addRange") + public fun com.google.protobuf.kotlin.DslList.add(value: kotlin.Int) { + _builder.addRange(value) + }/** + * ``` + * Half-open [start, end) range of this occurrence. Must be exactly three or four + * elements: + * + * - Four elements: `[startLine, startCharacter, endLine, endCharacter]` + * - Three elements: `[startLine, startCharacter, endCharacter]`. The end line + * is inferred to have the same value as the start line. + * + * It is allowed for the range to be empty (i.e. start==end). + * + * Line numbers and characters are always 0-based. Make sure to increment the + * line/character values before displaying them in an editor-like UI because + * editors conventionally use 1-based numbers. + * + * The 'character' value is interpreted based on the PositionEncoding for + * the Document. + * + * Historical note: the original draft of this schema had a `Range` message + * type with `start` and `end` fields of type `Position`, mirroring LSP. + * Benchmarks revealed that this encoding was inefficient and that we could + * reduce the total payload size of an index by 50% by using `repeated int32` + * instead. The `repeated int32` encoding is admittedly more embarrassing to + * work with in some programming languages but we hope the performance + * improvements make up for it. + * ``` + * + * `repeated int32 range = 1 [json_name = "range"];` + * @param value The range to add. + */ + @kotlin.jvm.JvmSynthetic +@kotlin.jvm.JvmName("plusAssignRange") + @Suppress("NOTHING_TO_INLINE") + public inline operator fun com.google.protobuf.kotlin.DslList.plusAssign(value: kotlin.Int) { + add(value) + }/** + * ``` + * Half-open [start, end) range of this occurrence. Must be exactly three or four + * elements: + * + * - Four elements: `[startLine, startCharacter, endLine, endCharacter]` + * - Three elements: `[startLine, startCharacter, endCharacter]`. The end line + * is inferred to have the same value as the start line. + * + * It is allowed for the range to be empty (i.e. start==end). + * + * Line numbers and characters are always 0-based. Make sure to increment the + * line/character values before displaying them in an editor-like UI because + * editors conventionally use 1-based numbers. + * + * The 'character' value is interpreted based on the PositionEncoding for + * the Document. + * + * Historical note: the original draft of this schema had a `Range` message + * type with `start` and `end` fields of type `Position`, mirroring LSP. + * Benchmarks revealed that this encoding was inefficient and that we could + * reduce the total payload size of an index by 50% by using `repeated int32` + * instead. The `repeated int32` encoding is admittedly more embarrassing to + * work with in some programming languages but we hope the performance + * improvements make up for it. + * ``` + * + * `repeated int32 range = 1 [json_name = "range"];` + * @param values The range to add. + */ + @kotlin.jvm.JvmSynthetic +@kotlin.jvm.JvmName("addAllRange") + public fun com.google.protobuf.kotlin.DslList.addAll(values: kotlin.collections.Iterable) { + _builder.addAllRange(values) + }/** + * ``` + * Half-open [start, end) range of this occurrence. Must be exactly three or four + * elements: + * + * - Four elements: `[startLine, startCharacter, endLine, endCharacter]` + * - Three elements: `[startLine, startCharacter, endCharacter]`. The end line + * is inferred to have the same value as the start line. + * + * It is allowed for the range to be empty (i.e. start==end). + * + * Line numbers and characters are always 0-based. Make sure to increment the + * line/character values before displaying them in an editor-like UI because + * editors conventionally use 1-based numbers. + * + * The 'character' value is interpreted based on the PositionEncoding for + * the Document. + * + * Historical note: the original draft of this schema had a `Range` message + * type with `start` and `end` fields of type `Position`, mirroring LSP. + * Benchmarks revealed that this encoding was inefficient and that we could + * reduce the total payload size of an index by 50% by using `repeated int32` + * instead. The `repeated int32` encoding is admittedly more embarrassing to + * work with in some programming languages but we hope the performance + * improvements make up for it. + * ``` + * + * `repeated int32 range = 1 [json_name = "range"];` + * @param values The range to add. + */ + @kotlin.jvm.JvmSynthetic +@kotlin.jvm.JvmName("plusAssignAllRange") + @Suppress("NOTHING_TO_INLINE") + public inline operator fun com.google.protobuf.kotlin.DslList.plusAssign(values: kotlin.collections.Iterable) { + addAll(values) + }/** + * ``` + * Half-open [start, end) range of this occurrence. Must be exactly three or four + * elements: + * + * - Four elements: `[startLine, startCharacter, endLine, endCharacter]` + * - Three elements: `[startLine, startCharacter, endCharacter]`. The end line + * is inferred to have the same value as the start line. + * + * It is allowed for the range to be empty (i.e. start==end). + * + * Line numbers and characters are always 0-based. Make sure to increment the + * line/character values before displaying them in an editor-like UI because + * editors conventionally use 1-based numbers. + * + * The 'character' value is interpreted based on the PositionEncoding for + * the Document. + * + * Historical note: the original draft of this schema had a `Range` message + * type with `start` and `end` fields of type `Position`, mirroring LSP. + * Benchmarks revealed that this encoding was inefficient and that we could + * reduce the total payload size of an index by 50% by using `repeated int32` + * instead. The `repeated int32` encoding is admittedly more embarrassing to + * work with in some programming languages but we hope the performance + * improvements make up for it. + * ``` + * + * `repeated int32 range = 1 [json_name = "range"];` + * @param index The index to set the value at. + * @param value The range to set. + */ + @kotlin.jvm.JvmSynthetic +@kotlin.jvm.JvmName("setRange") + public operator fun com.google.protobuf.kotlin.DslList.set(index: kotlin.Int, value: kotlin.Int) { + _builder.setRange(index, value) + }/** + * ``` + * Half-open [start, end) range of this occurrence. Must be exactly three or four + * elements: + * + * - Four elements: `[startLine, startCharacter, endLine, endCharacter]` + * - Three elements: `[startLine, startCharacter, endCharacter]`. The end line + * is inferred to have the same value as the start line. + * + * It is allowed for the range to be empty (i.e. start==end). + * + * Line numbers and characters are always 0-based. Make sure to increment the + * line/character values before displaying them in an editor-like UI because + * editors conventionally use 1-based numbers. + * + * The 'character' value is interpreted based on the PositionEncoding for + * the Document. + * + * Historical note: the original draft of this schema had a `Range` message + * type with `start` and `end` fields of type `Position`, mirroring LSP. + * Benchmarks revealed that this encoding was inefficient and that we could + * reduce the total payload size of an index by 50% by using `repeated int32` + * instead. The `repeated int32` encoding is admittedly more embarrassing to + * work with in some programming languages but we hope the performance + * improvements make up for it. + * ``` + * + * `repeated int32 range = 1 [json_name = "range"];` + */ + @kotlin.jvm.JvmSynthetic +@kotlin.jvm.JvmName("clearRange") + public fun com.google.protobuf.kotlin.DslList.clear() { + _builder.clearRange() + } + /** + * ``` + * (optional) The symbol that appears at this position. See + * `SymbolInformation.symbol` for how to format symbols as strings. + * ``` + * + * `string symbol = 2 [json_name = "symbol"];` + */ + public var symbol: kotlin.String + @kotlin.jvm.JvmName("getSymbol") + get() = _builder.symbol + @kotlin.jvm.JvmName("setSymbol") + set(value) { + _builder.symbol = value + } + /** + * ``` + * (optional) The symbol that appears at this position. See + * `SymbolInformation.symbol` for how to format symbols as strings. + * ``` + * + * `string symbol = 2 [json_name = "symbol"];` + */ + public fun clearSymbol() { + _builder.clearSymbol() + } + + /** + * ``` + * (optional) Bitset containing `SymbolRole`s in this occurrence. + * See `SymbolRole`'s documentation for how to read and write this field. + * ``` + * + * `int32 symbol_roles = 3 [json_name = "symbolRoles"];` + */ + public var symbolRoles: kotlin.Int + @kotlin.jvm.JvmName("getSymbolRoles") + get() = _builder.symbolRoles + @kotlin.jvm.JvmName("setSymbolRoles") + set(value) { + _builder.symbolRoles = value + } + /** + * ``` + * (optional) Bitset containing `SymbolRole`s in this occurrence. + * See `SymbolRole`'s documentation for how to read and write this field. + * ``` + * + * `int32 symbol_roles = 3 [json_name = "symbolRoles"];` + */ + public fun clearSymbolRoles() { + _builder.clearSymbolRoles() + } + + /** + * An uninstantiable, behaviorless type to represent the field in + * generics. + */ + @kotlin.OptIn(com.google.protobuf.kotlin.OnlyForUseByGeneratedProtoCode::class) + public class OverrideDocumentationProxy private constructor() : com.google.protobuf.kotlin.DslProxy() + /** + * ``` + * (optional) CommonMark-formatted documentation for this specific range. If + * empty, the `Symbol.documentation` field is used instead. One example + * where this field might be useful is when the symbol represents a generic + * function (with abstract type parameters such as `List`) and at this + * occurrence we know the exact values (such as `List`). + * + * This field can also be used for dynamically or gradually typed languages, + * which commonly allow for type-changing assignment. + * ``` + * + * `repeated string override_documentation = 4 [json_name = "overrideDocumentation"];` + * @return A list containing the overrideDocumentation. + */ + public val overrideDocumentation: com.google.protobuf.kotlin.DslList + @kotlin.OptIn(com.google.protobuf.kotlin.OnlyForUseByGeneratedProtoCode::class) + get() = com.google.protobuf.kotlin.DslList( + _builder.overrideDocumentationList + ) + /** + * ``` + * (optional) CommonMark-formatted documentation for this specific range. If + * empty, the `Symbol.documentation` field is used instead. One example + * where this field might be useful is when the symbol represents a generic + * function (with abstract type parameters such as `List`) and at this + * occurrence we know the exact values (such as `List`). + * + * This field can also be used for dynamically or gradually typed languages, + * which commonly allow for type-changing assignment. + * ``` + * + * `repeated string override_documentation = 4 [json_name = "overrideDocumentation"];` + * @param value The overrideDocumentation to add. + */ + @kotlin.jvm.JvmSynthetic +@kotlin.jvm.JvmName("addOverrideDocumentation") + public fun com.google.protobuf.kotlin.DslList.add(value: kotlin.String) { + _builder.addOverrideDocumentation(value) + } + /** + * ``` + * (optional) CommonMark-formatted documentation for this specific range. If + * empty, the `Symbol.documentation` field is used instead. One example + * where this field might be useful is when the symbol represents a generic + * function (with abstract type parameters such as `List`) and at this + * occurrence we know the exact values (such as `List`). + * + * This field can also be used for dynamically or gradually typed languages, + * which commonly allow for type-changing assignment. + * ``` + * + * `repeated string override_documentation = 4 [json_name = "overrideDocumentation"];` + * @param value The overrideDocumentation to add. + */ + @kotlin.jvm.JvmSynthetic +@kotlin.jvm.JvmName("plusAssignOverrideDocumentation") + @Suppress("NOTHING_TO_INLINE") + public inline operator fun com.google.protobuf.kotlin.DslList.plusAssign(value: kotlin.String) { + add(value) + } + /** + * ``` + * (optional) CommonMark-formatted documentation for this specific range. If + * empty, the `Symbol.documentation` field is used instead. One example + * where this field might be useful is when the symbol represents a generic + * function (with abstract type parameters such as `List`) and at this + * occurrence we know the exact values (such as `List`). + * + * This field can also be used for dynamically or gradually typed languages, + * which commonly allow for type-changing assignment. + * ``` + * + * `repeated string override_documentation = 4 [json_name = "overrideDocumentation"];` + * @param values The overrideDocumentation to add. + */ + @kotlin.jvm.JvmSynthetic +@kotlin.jvm.JvmName("addAllOverrideDocumentation") + public fun com.google.protobuf.kotlin.DslList.addAll(values: kotlin.collections.Iterable) { + _builder.addAllOverrideDocumentation(values) + } + /** + * ``` + * (optional) CommonMark-formatted documentation for this specific range. If + * empty, the `Symbol.documentation` field is used instead. One example + * where this field might be useful is when the symbol represents a generic + * function (with abstract type parameters such as `List`) and at this + * occurrence we know the exact values (such as `List`). + * + * This field can also be used for dynamically or gradually typed languages, + * which commonly allow for type-changing assignment. + * ``` + * + * `repeated string override_documentation = 4 [json_name = "overrideDocumentation"];` + * @param values The overrideDocumentation to add. + */ + @kotlin.jvm.JvmSynthetic +@kotlin.jvm.JvmName("plusAssignAllOverrideDocumentation") + @Suppress("NOTHING_TO_INLINE") + public inline operator fun com.google.protobuf.kotlin.DslList.plusAssign(values: kotlin.collections.Iterable) { + addAll(values) + } + /** + * ``` + * (optional) CommonMark-formatted documentation for this specific range. If + * empty, the `Symbol.documentation` field is used instead. One example + * where this field might be useful is when the symbol represents a generic + * function (with abstract type parameters such as `List`) and at this + * occurrence we know the exact values (such as `List`). + * + * This field can also be used for dynamically or gradually typed languages, + * which commonly allow for type-changing assignment. + * ``` + * + * `repeated string override_documentation = 4 [json_name = "overrideDocumentation"];` + * @param index The index to set the value at. + * @param value The overrideDocumentation to set. + */ + @kotlin.jvm.JvmSynthetic +@kotlin.jvm.JvmName("setOverrideDocumentation") + public operator fun com.google.protobuf.kotlin.DslList.set(index: kotlin.Int, value: kotlin.String) { + _builder.setOverrideDocumentation(index, value) + }/** + * ``` + * (optional) CommonMark-formatted documentation for this specific range. If + * empty, the `Symbol.documentation` field is used instead. One example + * where this field might be useful is when the symbol represents a generic + * function (with abstract type parameters such as `List`) and at this + * occurrence we know the exact values (such as `List`). + * + * This field can also be used for dynamically or gradually typed languages, + * which commonly allow for type-changing assignment. + * ``` + * + * `repeated string override_documentation = 4 [json_name = "overrideDocumentation"];` + */ + @kotlin.jvm.JvmSynthetic +@kotlin.jvm.JvmName("setOverrideDocumentation") + public fun com.google.protobuf.kotlin.DslList.clear() { + _builder.clearOverrideDocumentation() + } + /** + * ``` + * (optional) What syntax highlighting class should be used for this range? + * ``` + * + * `.scip.SyntaxKind syntax_kind = 5 [json_name = "syntaxKind"];` + */ + public var syntaxKind: scip.Scip.SyntaxKind + @kotlin.jvm.JvmName("getSyntaxKind") + get() = _builder.syntaxKind + @kotlin.jvm.JvmName("setSyntaxKind") + set(value) { + _builder.syntaxKind = value + } + public var syntaxKindValue: kotlin.Int + @kotlin.jvm.JvmName("getSyntaxKindValue") + get() = _builder.syntaxKindValue + @kotlin.jvm.JvmName("setSyntaxKindValue") + set(value) { + _builder.syntaxKindValue = value + } + /** + * ``` + * (optional) What syntax highlighting class should be used for this range? + * ``` + * + * `.scip.SyntaxKind syntax_kind = 5 [json_name = "syntaxKind"];` + */ + public fun clearSyntaxKind() { + _builder.clearSyntaxKind() + } + + /** + * An uninstantiable, behaviorless type to represent the field in + * generics. + */ + @kotlin.OptIn(com.google.protobuf.kotlin.OnlyForUseByGeneratedProtoCode::class) + public class DiagnosticsProxy private constructor() : com.google.protobuf.kotlin.DslProxy() + /** + * ``` + * (optional) Diagnostics that have been reported for this specific range. + * ``` + * + * `repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"];` + */ + public val diagnostics: com.google.protobuf.kotlin.DslList + @kotlin.jvm.JvmSynthetic + get() = com.google.protobuf.kotlin.DslList( + _builder.diagnosticsList + ) + /** + * ``` + * (optional) Diagnostics that have been reported for this specific range. + * ``` + * + * `repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"];` + * @param value The diagnostics to add. + */ + @kotlin.jvm.JvmSynthetic +@kotlin.jvm.JvmName("addDiagnostics") + public fun com.google.protobuf.kotlin.DslList.add(value: scip.Scip.Diagnostic) { + _builder.addDiagnostics(value) + } + /** + * ``` + * (optional) Diagnostics that have been reported for this specific range. + * ``` + * + * `repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"];` + * @param value The diagnostics to add. + */ + @kotlin.jvm.JvmSynthetic +@kotlin.jvm.JvmName("plusAssignDiagnostics") + @Suppress("NOTHING_TO_INLINE") + public inline operator fun com.google.protobuf.kotlin.DslList.plusAssign(value: scip.Scip.Diagnostic) { + add(value) + } + /** + * ``` + * (optional) Diagnostics that have been reported for this specific range. + * ``` + * + * `repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"];` + * @param values The diagnostics to add. + */ + @kotlin.jvm.JvmSynthetic +@kotlin.jvm.JvmName("addAllDiagnostics") + public fun com.google.protobuf.kotlin.DslList.addAll(values: kotlin.collections.Iterable) { + _builder.addAllDiagnostics(values) + } + /** + * ``` + * (optional) Diagnostics that have been reported for this specific range. + * ``` + * + * `repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"];` + * @param values The diagnostics to add. + */ + @kotlin.jvm.JvmSynthetic +@kotlin.jvm.JvmName("plusAssignAllDiagnostics") + @Suppress("NOTHING_TO_INLINE") + public inline operator fun com.google.protobuf.kotlin.DslList.plusAssign(values: kotlin.collections.Iterable) { + addAll(values) + } + /** + * ``` + * (optional) Diagnostics that have been reported for this specific range. + * ``` + * + * `repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"];` + * @param index The index to set the value at. + * @param value The diagnostics to set. + */ + @kotlin.jvm.JvmSynthetic +@kotlin.jvm.JvmName("setDiagnostics") + public operator fun com.google.protobuf.kotlin.DslList.set(index: kotlin.Int, value: scip.Scip.Diagnostic) { + _builder.setDiagnostics(index, value) + } + /** + * ``` + * (optional) Diagnostics that have been reported for this specific range. + * ``` + * + * `repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"];` + */ + @kotlin.jvm.JvmSynthetic +@kotlin.jvm.JvmName("clearDiagnostics") + public fun com.google.protobuf.kotlin.DslList.clear() { + _builder.clearDiagnostics() + } + + /** + * An uninstantiable, behaviorless type to represent the field in + * generics. + */ + @kotlin.OptIn(com.google.protobuf.kotlin.OnlyForUseByGeneratedProtoCode::class) + public class EnclosingRangeProxy private constructor() : com.google.protobuf.kotlin.DslProxy() + /** + * ``` + * (optional) Using the same encoding as the sibling `range` field, half-open + * source range of the nearest non-trivial enclosing AST node. This range must + * enclose the `range` field. Example applications that make use of the + * enclosing_range field: + * + * - Call hierarchies: to determine what symbols are references from the body + * of a function + * - Symbol outline: to display breadcrumbs from the cursor position to the + * root of the file + * - Expand selection: to select the nearest enclosing AST node. + * - Highlight range: to indicate the AST expression that is associated with a + * hover popover + * + * For definition occurrences, the enclosing range should indicate the + * start/end bounds of the entire definition AST node, including + * documentation. + * ``` + * const n = 3 + * ^ range + * ^^^^^^^^^^^ enclosing_range + * + * /** Parses the string into something */ + * ^ enclosing_range start --------------------------------------| + * function parse(input string): string { | + * ^^^^^ range | + * return input.slice(n) | + * } | + * ^ enclosing_range end <---------------------------------------| + * ``` + * + * Any attributes/decorators/attached macros should also be part of the + * enclosing range. + * + * ```python + * @cache + * ^ enclosing_range start---------------------| + * def factorial(n): | + * return n * factorial(n-1) if n else 1 | + * < enclosing_range end-----------------------| + * + * ``` + * + * For reference occurrences, the enclosing range should indicate the start/end + * bounds of the parent expression. + * ``` + * const a = a.b + * ^ range + * ^^^ enclosing_range + * const b = a.b(41).f(42).g(43) + * ^ range + * ^^^^^^^^^^^^^ enclosing_range + * ``` + * ``` + * + * `repeated int32 enclosing_range = 7 [json_name = "enclosingRange"];` + */ + public val enclosingRange: com.google.protobuf.kotlin.DslList + @kotlin.jvm.JvmSynthetic + get() = com.google.protobuf.kotlin.DslList( + _builder.enclosingRangeList + ) + /** + * ``` + * (optional) Using the same encoding as the sibling `range` field, half-open + * source range of the nearest non-trivial enclosing AST node. This range must + * enclose the `range` field. Example applications that make use of the + * enclosing_range field: + * + * - Call hierarchies: to determine what symbols are references from the body + * of a function + * - Symbol outline: to display breadcrumbs from the cursor position to the + * root of the file + * - Expand selection: to select the nearest enclosing AST node. + * - Highlight range: to indicate the AST expression that is associated with a + * hover popover + * + * For definition occurrences, the enclosing range should indicate the + * start/end bounds of the entire definition AST node, including + * documentation. + * ``` + * const n = 3 + * ^ range + * ^^^^^^^^^^^ enclosing_range + * + * /** Parses the string into something */ + * ^ enclosing_range start --------------------------------------| + * function parse(input string): string { | + * ^^^^^ range | + * return input.slice(n) | + * } | + * ^ enclosing_range end <---------------------------------------| + * ``` + * + * Any attributes/decorators/attached macros should also be part of the + * enclosing range. + * + * ```python + * @cache + * ^ enclosing_range start---------------------| + * def factorial(n): | + * return n * factorial(n-1) if n else 1 | + * < enclosing_range end-----------------------| + * + * ``` + * + * For reference occurrences, the enclosing range should indicate the start/end + * bounds of the parent expression. + * ``` + * const a = a.b + * ^ range + * ^^^ enclosing_range + * const b = a.b(41).f(42).g(43) + * ^ range + * ^^^^^^^^^^^^^ enclosing_range + * ``` + * ``` + * + * `repeated int32 enclosing_range = 7 [json_name = "enclosingRange"];` + * @param value The enclosingRange to add. + */ + @kotlin.jvm.JvmSynthetic +@kotlin.jvm.JvmName("addEnclosingRange") + public fun com.google.protobuf.kotlin.DslList.add(value: kotlin.Int) { + _builder.addEnclosingRange(value) + }/** + * ``` + * (optional) Using the same encoding as the sibling `range` field, half-open + * source range of the nearest non-trivial enclosing AST node. This range must + * enclose the `range` field. Example applications that make use of the + * enclosing_range field: + * + * - Call hierarchies: to determine what symbols are references from the body + * of a function + * - Symbol outline: to display breadcrumbs from the cursor position to the + * root of the file + * - Expand selection: to select the nearest enclosing AST node. + * - Highlight range: to indicate the AST expression that is associated with a + * hover popover + * + * For definition occurrences, the enclosing range should indicate the + * start/end bounds of the entire definition AST node, including + * documentation. + * ``` + * const n = 3 + * ^ range + * ^^^^^^^^^^^ enclosing_range + * + * /** Parses the string into something */ + * ^ enclosing_range start --------------------------------------| + * function parse(input string): string { | + * ^^^^^ range | + * return input.slice(n) | + * } | + * ^ enclosing_range end <---------------------------------------| + * ``` + * + * Any attributes/decorators/attached macros should also be part of the + * enclosing range. + * + * ```python + * @cache + * ^ enclosing_range start---------------------| + * def factorial(n): | + * return n * factorial(n-1) if n else 1 | + * < enclosing_range end-----------------------| + * + * ``` + * + * For reference occurrences, the enclosing range should indicate the start/end + * bounds of the parent expression. + * ``` + * const a = a.b + * ^ range + * ^^^ enclosing_range + * const b = a.b(41).f(42).g(43) + * ^ range + * ^^^^^^^^^^^^^ enclosing_range + * ``` + * ``` + * + * `repeated int32 enclosing_range = 7 [json_name = "enclosingRange"];` + * @param value The enclosingRange to add. + */ + @kotlin.jvm.JvmSynthetic +@kotlin.jvm.JvmName("plusAssignEnclosingRange") + @Suppress("NOTHING_TO_INLINE") + public inline operator fun com.google.protobuf.kotlin.DslList.plusAssign(value: kotlin.Int) { + add(value) + }/** + * ``` + * (optional) Using the same encoding as the sibling `range` field, half-open + * source range of the nearest non-trivial enclosing AST node. This range must + * enclose the `range` field. Example applications that make use of the + * enclosing_range field: + * + * - Call hierarchies: to determine what symbols are references from the body + * of a function + * - Symbol outline: to display breadcrumbs from the cursor position to the + * root of the file + * - Expand selection: to select the nearest enclosing AST node. + * - Highlight range: to indicate the AST expression that is associated with a + * hover popover + * + * For definition occurrences, the enclosing range should indicate the + * start/end bounds of the entire definition AST node, including + * documentation. + * ``` + * const n = 3 + * ^ range + * ^^^^^^^^^^^ enclosing_range + * + * /** Parses the string into something */ + * ^ enclosing_range start --------------------------------------| + * function parse(input string): string { | + * ^^^^^ range | + * return input.slice(n) | + * } | + * ^ enclosing_range end <---------------------------------------| + * ``` + * + * Any attributes/decorators/attached macros should also be part of the + * enclosing range. + * + * ```python + * @cache + * ^ enclosing_range start---------------------| + * def factorial(n): | + * return n * factorial(n-1) if n else 1 | + * < enclosing_range end-----------------------| + * + * ``` + * + * For reference occurrences, the enclosing range should indicate the start/end + * bounds of the parent expression. + * ``` + * const a = a.b + * ^ range + * ^^^ enclosing_range + * const b = a.b(41).f(42).g(43) + * ^ range + * ^^^^^^^^^^^^^ enclosing_range + * ``` + * ``` + * + * `repeated int32 enclosing_range = 7 [json_name = "enclosingRange"];` + * @param values The enclosingRange to add. + */ + @kotlin.jvm.JvmSynthetic +@kotlin.jvm.JvmName("addAllEnclosingRange") + public fun com.google.protobuf.kotlin.DslList.addAll(values: kotlin.collections.Iterable) { + _builder.addAllEnclosingRange(values) + }/** + * ``` + * (optional) Using the same encoding as the sibling `range` field, half-open + * source range of the nearest non-trivial enclosing AST node. This range must + * enclose the `range` field. Example applications that make use of the + * enclosing_range field: + * + * - Call hierarchies: to determine what symbols are references from the body + * of a function + * - Symbol outline: to display breadcrumbs from the cursor position to the + * root of the file + * - Expand selection: to select the nearest enclosing AST node. + * - Highlight range: to indicate the AST expression that is associated with a + * hover popover + * + * For definition occurrences, the enclosing range should indicate the + * start/end bounds of the entire definition AST node, including + * documentation. + * ``` + * const n = 3 + * ^ range + * ^^^^^^^^^^^ enclosing_range + * + * /** Parses the string into something */ + * ^ enclosing_range start --------------------------------------| + * function parse(input string): string { | + * ^^^^^ range | + * return input.slice(n) | + * } | + * ^ enclosing_range end <---------------------------------------| + * ``` + * + * Any attributes/decorators/attached macros should also be part of the + * enclosing range. + * + * ```python + * @cache + * ^ enclosing_range start---------------------| + * def factorial(n): | + * return n * factorial(n-1) if n else 1 | + * < enclosing_range end-----------------------| + * + * ``` + * + * For reference occurrences, the enclosing range should indicate the start/end + * bounds of the parent expression. + * ``` + * const a = a.b + * ^ range + * ^^^ enclosing_range + * const b = a.b(41).f(42).g(43) + * ^ range + * ^^^^^^^^^^^^^ enclosing_range + * ``` + * ``` + * + * `repeated int32 enclosing_range = 7 [json_name = "enclosingRange"];` + * @param values The enclosingRange to add. + */ + @kotlin.jvm.JvmSynthetic +@kotlin.jvm.JvmName("plusAssignAllEnclosingRange") + @Suppress("NOTHING_TO_INLINE") + public inline operator fun com.google.protobuf.kotlin.DslList.plusAssign(values: kotlin.collections.Iterable) { + addAll(values) + }/** + * ``` + * (optional) Using the same encoding as the sibling `range` field, half-open + * source range of the nearest non-trivial enclosing AST node. This range must + * enclose the `range` field. Example applications that make use of the + * enclosing_range field: + * + * - Call hierarchies: to determine what symbols are references from the body + * of a function + * - Symbol outline: to display breadcrumbs from the cursor position to the + * root of the file + * - Expand selection: to select the nearest enclosing AST node. + * - Highlight range: to indicate the AST expression that is associated with a + * hover popover + * + * For definition occurrences, the enclosing range should indicate the + * start/end bounds of the entire definition AST node, including + * documentation. + * ``` + * const n = 3 + * ^ range + * ^^^^^^^^^^^ enclosing_range + * + * /** Parses the string into something */ + * ^ enclosing_range start --------------------------------------| + * function parse(input string): string { | + * ^^^^^ range | + * return input.slice(n) | + * } | + * ^ enclosing_range end <---------------------------------------| + * ``` + * + * Any attributes/decorators/attached macros should also be part of the + * enclosing range. + * + * ```python + * @cache + * ^ enclosing_range start---------------------| + * def factorial(n): | + * return n * factorial(n-1) if n else 1 | + * < enclosing_range end-----------------------| + * + * ``` + * + * For reference occurrences, the enclosing range should indicate the start/end + * bounds of the parent expression. + * ``` + * const a = a.b + * ^ range + * ^^^ enclosing_range + * const b = a.b(41).f(42).g(43) + * ^ range + * ^^^^^^^^^^^^^ enclosing_range + * ``` + * ``` + * + * `repeated int32 enclosing_range = 7 [json_name = "enclosingRange"];` + * @param index The index to set the value at. + * @param value The enclosingRange to set. + */ + @kotlin.jvm.JvmSynthetic +@kotlin.jvm.JvmName("setEnclosingRange") + public operator fun com.google.protobuf.kotlin.DslList.set(index: kotlin.Int, value: kotlin.Int) { + _builder.setEnclosingRange(index, value) + }/** + * ``` + * (optional) Using the same encoding as the sibling `range` field, half-open + * source range of the nearest non-trivial enclosing AST node. This range must + * enclose the `range` field. Example applications that make use of the + * enclosing_range field: + * + * - Call hierarchies: to determine what symbols are references from the body + * of a function + * - Symbol outline: to display breadcrumbs from the cursor position to the + * root of the file + * - Expand selection: to select the nearest enclosing AST node. + * - Highlight range: to indicate the AST expression that is associated with a + * hover popover + * + * For definition occurrences, the enclosing range should indicate the + * start/end bounds of the entire definition AST node, including + * documentation. + * ``` + * const n = 3 + * ^ range + * ^^^^^^^^^^^ enclosing_range + * + * /** Parses the string into something */ + * ^ enclosing_range start --------------------------------------| + * function parse(input string): string { | + * ^^^^^ range | + * return input.slice(n) | + * } | + * ^ enclosing_range end <---------------------------------------| + * ``` + * + * Any attributes/decorators/attached macros should also be part of the + * enclosing range. + * + * ```python + * @cache + * ^ enclosing_range start---------------------| + * def factorial(n): | + * return n * factorial(n-1) if n else 1 | + * < enclosing_range end-----------------------| + * + * ``` + * + * For reference occurrences, the enclosing range should indicate the start/end + * bounds of the parent expression. + * ``` + * const a = a.b + * ^ range + * ^^^ enclosing_range + * const b = a.b(41).f(42).g(43) + * ^ range + * ^^^^^^^^^^^^^ enclosing_range + * ``` + * ``` + * + * `repeated int32 enclosing_range = 7 [json_name = "enclosingRange"];` + */ + @kotlin.jvm.JvmSynthetic +@kotlin.jvm.JvmName("clearEnclosingRange") + public fun com.google.protobuf.kotlin.DslList.clear() { + _builder.clearEnclosingRange() + }} +} +@kotlin.jvm.JvmSynthetic +public inline fun scip.Scip.Occurrence.copy(block: `scip`.OccurrenceKt.Dsl.() -> kotlin.Unit): scip.Scip.Occurrence = + `scip`.OccurrenceKt.Dsl._create(this.toBuilder()).apply { block() }._build() + diff --git a/bindings/kotlin/src/main/kotlin/scip/PackageKt.kt b/bindings/kotlin/src/main/kotlin/scip/PackageKt.kt new file mode 100644 index 00000000..30269620 --- /dev/null +++ b/bindings/kotlin/src/main/kotlin/scip/PackageKt.kt @@ -0,0 +1,92 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: scip.proto + +// Generated files should ignore deprecation warnings +@file:Suppress("DEPRECATION") +package scip; + +@kotlin.jvm.JvmName("-initializepackage_") +public inline fun package_(block: scip.PackageKt.Dsl.() -> kotlin.Unit): scip.Scip.Package = + scip.PackageKt.Dsl._create(scip.Scip.Package.newBuilder()).apply { block() }._build() +/** + * ``` + * Unit of packaging and distribution. + * + * NOTE: This corresponds to a module in Go and JVM languages. + * ``` + * + * Protobuf type `scip.Package` + */ +public object PackageKt { + @kotlin.OptIn(com.google.protobuf.kotlin.OnlyForUseByGeneratedProtoCode::class) + @com.google.protobuf.kotlin.ProtoDslMarker + public class Dsl private constructor( + private val _builder: scip.Scip.Package.Builder + ) { + public companion object { + @kotlin.jvm.JvmSynthetic + @kotlin.PublishedApi + internal fun _create(builder: scip.Scip.Package.Builder): Dsl = Dsl(builder) + } + + @kotlin.jvm.JvmSynthetic + @kotlin.PublishedApi + internal fun _build(): scip.Scip.Package = _builder.build() + + /** + * `string manager = 1 [json_name = "manager"];` + */ + public var manager: kotlin.String + @kotlin.jvm.JvmName("getManager") + get() = _builder.manager + @kotlin.jvm.JvmName("setManager") + set(value) { + _builder.manager = value + } + /** + * `string manager = 1 [json_name = "manager"];` + */ + public fun clearManager() { + _builder.clearManager() + } + + /** + * `string name = 2 [json_name = "name"];` + */ + public var name: kotlin.String + @kotlin.jvm.JvmName("getName") + get() = _builder.name + @kotlin.jvm.JvmName("setName") + set(value) { + _builder.name = value + } + /** + * `string name = 2 [json_name = "name"];` + */ + public fun clearName() { + _builder.clearName() + } + + /** + * `string version = 3 [json_name = "version"];` + */ + public var version: kotlin.String + @kotlin.jvm.JvmName("getVersion") + get() = _builder.version + @kotlin.jvm.JvmName("setVersion") + set(value) { + _builder.version = value + } + /** + * `string version = 3 [json_name = "version"];` + */ + public fun clearVersion() { + _builder.clearVersion() + } + } +} +@kotlin.jvm.JvmSynthetic +public inline fun scip.Scip.Package.copy(block: `scip`.PackageKt.Dsl.() -> kotlin.Unit): scip.Scip.Package = + `scip`.PackageKt.Dsl._create(this.toBuilder()).apply { block() }._build() + diff --git a/bindings/kotlin/src/main/kotlin/scip/RelationshipKt.kt b/bindings/kotlin/src/main/kotlin/scip/RelationshipKt.kt new file mode 100644 index 00000000..f32162c9 --- /dev/null +++ b/bindings/kotlin/src/main/kotlin/scip/RelationshipKt.kt @@ -0,0 +1,234 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: scip.proto + +// Generated files should ignore deprecation warnings +@file:Suppress("DEPRECATION") +package scip; + +@kotlin.jvm.JvmName("-initializerelationship") +public inline fun relationship(block: scip.RelationshipKt.Dsl.() -> kotlin.Unit): scip.Scip.Relationship = + scip.RelationshipKt.Dsl._create(scip.Scip.Relationship.newBuilder()).apply { block() }._build() +/** + * Protobuf type `scip.Relationship` + */ +public object RelationshipKt { + @kotlin.OptIn(com.google.protobuf.kotlin.OnlyForUseByGeneratedProtoCode::class) + @com.google.protobuf.kotlin.ProtoDslMarker + public class Dsl private constructor( + private val _builder: scip.Scip.Relationship.Builder + ) { + public companion object { + @kotlin.jvm.JvmSynthetic + @kotlin.PublishedApi + internal fun _create(builder: scip.Scip.Relationship.Builder): Dsl = Dsl(builder) + } + + @kotlin.jvm.JvmSynthetic + @kotlin.PublishedApi + internal fun _build(): scip.Scip.Relationship = _builder.build() + + /** + * `string symbol = 1 [json_name = "symbol"];` + */ + public var symbol: kotlin.String + @kotlin.jvm.JvmName("getSymbol") + get() = _builder.symbol + @kotlin.jvm.JvmName("setSymbol") + set(value) { + _builder.symbol = value + } + /** + * `string symbol = 1 [json_name = "symbol"];` + */ + public fun clearSymbol() { + _builder.clearSymbol() + } + + /** + * ``` + * When resolving "Find references", this field documents what other symbols + * should be included together with this symbol. For example, consider the + * following TypeScript code that defines two symbols `Animal#sound()` and + * `Dog#sound()`: + * ```ts + * interface Animal { + * ^^^^^^ definition Animal# + * sound(): string + * ^^^^^ definition Animal#sound() + * } + * class Dog implements Animal { + * ^^^ definition Dog#, relationships = [{symbol: "Animal#", is_implementation: true}] + * public sound(): string { return "woof" } + * ^^^^^ definition Dog#sound(), references_symbols = Animal#sound(), relationships = [{symbol: "Animal#sound()", is_implementation:true, is_reference: true}] + * } + * const animal: Animal = new Dog() + * ^^^^^^ reference Animal# + * console.log(animal.sound()) + * ^^^^^ reference Animal#sound() + * ``` + * Doing "Find references" on the symbol `Animal#sound()` should return + * references to the `Dog#sound()` method as well. Vice-versa, doing "Find + * references" on the `Dog#sound()` method should include references to the + * `Animal#sound()` method as well. + * ``` + * + * `bool is_reference = 2 [json_name = "isReference"];` + */ + public var isReference: kotlin.Boolean + @kotlin.jvm.JvmName("getIsReference") + get() = _builder.isReference + @kotlin.jvm.JvmName("setIsReference") + set(value) { + _builder.isReference = value + } + /** + * ``` + * When resolving "Find references", this field documents what other symbols + * should be included together with this symbol. For example, consider the + * following TypeScript code that defines two symbols `Animal#sound()` and + * `Dog#sound()`: + * ```ts + * interface Animal { + * ^^^^^^ definition Animal# + * sound(): string + * ^^^^^ definition Animal#sound() + * } + * class Dog implements Animal { + * ^^^ definition Dog#, relationships = [{symbol: "Animal#", is_implementation: true}] + * public sound(): string { return "woof" } + * ^^^^^ definition Dog#sound(), references_symbols = Animal#sound(), relationships = [{symbol: "Animal#sound()", is_implementation:true, is_reference: true}] + * } + * const animal: Animal = new Dog() + * ^^^^^^ reference Animal# + * console.log(animal.sound()) + * ^^^^^ reference Animal#sound() + * ``` + * Doing "Find references" on the symbol `Animal#sound()` should return + * references to the `Dog#sound()` method as well. Vice-versa, doing "Find + * references" on the `Dog#sound()` method should include references to the + * `Animal#sound()` method as well. + * ``` + * + * `bool is_reference = 2 [json_name = "isReference"];` + */ + public fun clearIsReference() { + _builder.clearIsReference() + } + + /** + * ``` + * Similar to `is_reference` but for "Find implementations". + * It's common for `is_implementation` and `is_reference` to both be true but + * it's not always the case. + * In the TypeScript example above, observe that `Dog#` has an + * `is_implementation` relationship with `"Animal#"` but not `is_reference`. + * This is because "Find references" on the "Animal#" symbol should not return + * "Dog#". We only want "Dog#" to return as a result for "Find + * implementations" on the "Animal#" symbol. + * ``` + * + * `bool is_implementation = 3 [json_name = "isImplementation"];` + */ + public var isImplementation: kotlin.Boolean + @kotlin.jvm.JvmName("getIsImplementation") + get() = _builder.isImplementation + @kotlin.jvm.JvmName("setIsImplementation") + set(value) { + _builder.isImplementation = value + } + /** + * ``` + * Similar to `is_reference` but for "Find implementations". + * It's common for `is_implementation` and `is_reference` to both be true but + * it's not always the case. + * In the TypeScript example above, observe that `Dog#` has an + * `is_implementation` relationship with `"Animal#"` but not `is_reference`. + * This is because "Find references" on the "Animal#" symbol should not return + * "Dog#". We only want "Dog#" to return as a result for "Find + * implementations" on the "Animal#" symbol. + * ``` + * + * `bool is_implementation = 3 [json_name = "isImplementation"];` + */ + public fun clearIsImplementation() { + _builder.clearIsImplementation() + } + + /** + * ``` + * Similar to `references_symbols` but for "Go to type definition". + * ``` + * + * `bool is_type_definition = 4 [json_name = "isTypeDefinition"];` + */ + public var isTypeDefinition: kotlin.Boolean + @kotlin.jvm.JvmName("getIsTypeDefinition") + get() = _builder.isTypeDefinition + @kotlin.jvm.JvmName("setIsTypeDefinition") + set(value) { + _builder.isTypeDefinition = value + } + /** + * ``` + * Similar to `references_symbols` but for "Go to type definition". + * ``` + * + * `bool is_type_definition = 4 [json_name = "isTypeDefinition"];` + */ + public fun clearIsTypeDefinition() { + _builder.clearIsTypeDefinition() + } + + /** + * ``` + * Allows overriding the behavior of "Go to definition" and "Find references" + * for symbols which do not have a definition of their own or could + * potentially have multiple definitions. + * + * For example, in a language with single inheritance and no field overriding, + * inherited fields can reuse the same symbol as the ancestor which declares + * the field. In such a situation, is_definition is not needed. + * + * On the other hand, in languages with single inheritance and some form + * of mixins, you can use is_definition to relate the symbol to the + * matching symbol in ancestor classes, and is_reference to relate the + * symbol to the matching symbol in mixins. + * ``` + * + * `bool is_definition = 5 [json_name = "isDefinition"];` + */ + public var isDefinition: kotlin.Boolean + @kotlin.jvm.JvmName("getIsDefinition") + get() = _builder.isDefinition + @kotlin.jvm.JvmName("setIsDefinition") + set(value) { + _builder.isDefinition = value + } + /** + * ``` + * Allows overriding the behavior of "Go to definition" and "Find references" + * for symbols which do not have a definition of their own or could + * potentially have multiple definitions. + * + * For example, in a language with single inheritance and no field overriding, + * inherited fields can reuse the same symbol as the ancestor which declares + * the field. In such a situation, is_definition is not needed. + * + * On the other hand, in languages with single inheritance and some form + * of mixins, you can use is_definition to relate the symbol to the + * matching symbol in ancestor classes, and is_reference to relate the + * symbol to the matching symbol in mixins. + * ``` + * + * `bool is_definition = 5 [json_name = "isDefinition"];` + */ + public fun clearIsDefinition() { + _builder.clearIsDefinition() + } + } +} +@kotlin.jvm.JvmSynthetic +public inline fun scip.Scip.Relationship.copy(block: `scip`.RelationshipKt.Dsl.() -> kotlin.Unit): scip.Scip.Relationship = + `scip`.RelationshipKt.Dsl._create(this.toBuilder()).apply { block() }._build() + diff --git a/bindings/kotlin/src/main/kotlin/scip/ScipKt.proto.kt b/bindings/kotlin/src/main/kotlin/scip/ScipKt.proto.kt new file mode 100644 index 00000000..a1065f62 --- /dev/null +++ b/bindings/kotlin/src/main/kotlin/scip/ScipKt.proto.kt @@ -0,0 +1,8 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: scip.proto + +// Generated files should ignore deprecation warnings +@file:Suppress("DEPRECATION") +package scip; + diff --git a/bindings/kotlin/src/main/kotlin/scip/SignatureKt.kt b/bindings/kotlin/src/main/kotlin/scip/SignatureKt.kt new file mode 100644 index 00000000..1b93d703 --- /dev/null +++ b/bindings/kotlin/src/main/kotlin/scip/SignatureKt.kt @@ -0,0 +1,205 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: scip.proto + +// Generated files should ignore deprecation warnings +@file:Suppress("DEPRECATION") +package scip; + +@kotlin.jvm.JvmName("-initializesignature") +public inline fun signature(block: scip.SignatureKt.Dsl.() -> kotlin.Unit): scip.Scip.Signature = + scip.SignatureKt.Dsl._create(scip.Scip.Signature.newBuilder()).apply { block() }._build() +/** + * ``` + * Signature represents the signature of a symbol as it's displayed in API + * documentation or hover tooltips. It uses a subset of Document's fields with + * the same field numbers for wire compatibility with older indexes that encoded + * signatures using the Document message type. + * ``` + * + * Protobuf type `scip.Signature` + */ +public object SignatureKt { + @kotlin.OptIn(com.google.protobuf.kotlin.OnlyForUseByGeneratedProtoCode::class) + @com.google.protobuf.kotlin.ProtoDslMarker + public class Dsl private constructor( + private val _builder: scip.Scip.Signature.Builder + ) { + public companion object { + @kotlin.jvm.JvmSynthetic + @kotlin.PublishedApi + internal fun _create(builder: scip.Scip.Signature.Builder): Dsl = Dsl(builder) + } + + @kotlin.jvm.JvmSynthetic + @kotlin.PublishedApi + internal fun _build(): scip.Scip.Signature = _builder.build() + + /** + * ``` + * The language of the signature, e.g. "java", "go", "python". + * ``` + * + * `string language = 4 [json_name = "language"];` + */ + public var language: kotlin.String + @kotlin.jvm.JvmName("getLanguage") + get() = _builder.language + @kotlin.jvm.JvmName("setLanguage") + set(value) { + _builder.language = value + } + /** + * ``` + * The language of the signature, e.g. "java", "go", "python". + * ``` + * + * `string language = 4 [json_name = "language"];` + */ + public fun clearLanguage() { + _builder.clearLanguage() + } + + /** + * ``` + * The text content of the signature, e.g. "void add(int a, int b)". + * ``` + * + * `string text = 5 [json_name = "text"];` + */ + public var text: kotlin.String + @kotlin.jvm.JvmName("getText") + get() = _builder.text + @kotlin.jvm.JvmName("setText") + set(value) { + _builder.text = value + } + /** + * ``` + * The text content of the signature, e.g. "void add(int a, int b)". + * ``` + * + * `string text = 5 [json_name = "text"];` + */ + public fun clearText() { + _builder.clearText() + } + + /** + * An uninstantiable, behaviorless type to represent the field in + * generics. + */ + @kotlin.OptIn(com.google.protobuf.kotlin.OnlyForUseByGeneratedProtoCode::class) + public class OccurrencesProxy private constructor() : com.google.protobuf.kotlin.DslProxy() + /** + * ``` + * (optional) Occurrences within the signature text that reference other + * symbols, enabling hyperlinking of types in the signature. Ranges are + * relative to the `text` field. + * ``` + * + * `repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"];` + */ + public val occurrences: com.google.protobuf.kotlin.DslList + @kotlin.jvm.JvmSynthetic + get() = com.google.protobuf.kotlin.DslList( + _builder.occurrencesList + ) + /** + * ``` + * (optional) Occurrences within the signature text that reference other + * symbols, enabling hyperlinking of types in the signature. Ranges are + * relative to the `text` field. + * ``` + * + * `repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"];` + * @param value The occurrences to add. + */ + @kotlin.jvm.JvmSynthetic +@kotlin.jvm.JvmName("addOccurrences") + public fun com.google.protobuf.kotlin.DslList.add(value: scip.Scip.Occurrence) { + _builder.addOccurrences(value) + } + /** + * ``` + * (optional) Occurrences within the signature text that reference other + * symbols, enabling hyperlinking of types in the signature. Ranges are + * relative to the `text` field. + * ``` + * + * `repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"];` + * @param value The occurrences to add. + */ + @kotlin.jvm.JvmSynthetic +@kotlin.jvm.JvmName("plusAssignOccurrences") + @Suppress("NOTHING_TO_INLINE") + public inline operator fun com.google.protobuf.kotlin.DslList.plusAssign(value: scip.Scip.Occurrence) { + add(value) + } + /** + * ``` + * (optional) Occurrences within the signature text that reference other + * symbols, enabling hyperlinking of types in the signature. Ranges are + * relative to the `text` field. + * ``` + * + * `repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"];` + * @param values The occurrences to add. + */ + @kotlin.jvm.JvmSynthetic +@kotlin.jvm.JvmName("addAllOccurrences") + public fun com.google.protobuf.kotlin.DslList.addAll(values: kotlin.collections.Iterable) { + _builder.addAllOccurrences(values) + } + /** + * ``` + * (optional) Occurrences within the signature text that reference other + * symbols, enabling hyperlinking of types in the signature. Ranges are + * relative to the `text` field. + * ``` + * + * `repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"];` + * @param values The occurrences to add. + */ + @kotlin.jvm.JvmSynthetic +@kotlin.jvm.JvmName("plusAssignAllOccurrences") + @Suppress("NOTHING_TO_INLINE") + public inline operator fun com.google.protobuf.kotlin.DslList.plusAssign(values: kotlin.collections.Iterable) { + addAll(values) + } + /** + * ``` + * (optional) Occurrences within the signature text that reference other + * symbols, enabling hyperlinking of types in the signature. Ranges are + * relative to the `text` field. + * ``` + * + * `repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"];` + * @param index The index to set the value at. + * @param value The occurrences to set. + */ + @kotlin.jvm.JvmSynthetic +@kotlin.jvm.JvmName("setOccurrences") + public operator fun com.google.protobuf.kotlin.DslList.set(index: kotlin.Int, value: scip.Scip.Occurrence) { + _builder.setOccurrences(index, value) + } + /** + * ``` + * (optional) Occurrences within the signature text that reference other + * symbols, enabling hyperlinking of types in the signature. Ranges are + * relative to the `text` field. + * ``` + * + * `repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"];` + */ + @kotlin.jvm.JvmSynthetic +@kotlin.jvm.JvmName("clearOccurrences") + public fun com.google.protobuf.kotlin.DslList.clear() { + _builder.clearOccurrences() + } + } +} +@kotlin.jvm.JvmSynthetic +public inline fun scip.Scip.Signature.copy(block: `scip`.SignatureKt.Dsl.() -> kotlin.Unit): scip.Scip.Signature = + `scip`.SignatureKt.Dsl._create(this.toBuilder()).apply { block() }._build() + diff --git a/bindings/kotlin/src/main/kotlin/scip/SymbolInformationKt.kt b/bindings/kotlin/src/main/kotlin/scip/SymbolInformationKt.kt new file mode 100644 index 00000000..7d941806 --- /dev/null +++ b/bindings/kotlin/src/main/kotlin/scip/SymbolInformationKt.kt @@ -0,0 +1,490 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: scip.proto + +// Generated files should ignore deprecation warnings +@file:Suppress("DEPRECATION") +package scip; + +@kotlin.jvm.JvmName("-initializesymbolInformation") +public inline fun symbolInformation(block: scip.SymbolInformationKt.Dsl.() -> kotlin.Unit): scip.Scip.SymbolInformation = + scip.SymbolInformationKt.Dsl._create(scip.Scip.SymbolInformation.newBuilder()).apply { block() }._build() +/** + * ``` + * SymbolInformation defines metadata about a symbol, such as the symbol's + * docstring or what package it's defined it. + * ``` + * + * Protobuf type `scip.SymbolInformation` + */ +public object SymbolInformationKt { + @kotlin.OptIn(com.google.protobuf.kotlin.OnlyForUseByGeneratedProtoCode::class) + @com.google.protobuf.kotlin.ProtoDslMarker + public class Dsl private constructor( + private val _builder: scip.Scip.SymbolInformation.Builder + ) { + public companion object { + @kotlin.jvm.JvmSynthetic + @kotlin.PublishedApi + internal fun _create(builder: scip.Scip.SymbolInformation.Builder): Dsl = Dsl(builder) + } + + @kotlin.jvm.JvmSynthetic + @kotlin.PublishedApi + internal fun _build(): scip.Scip.SymbolInformation = _builder.build() + + /** + * ``` + * Identifier of this symbol, which can be referenced from `Occurence.symbol`. + * The string must be formatted according to the grammar in `Symbol`. + * ``` + * + * `string symbol = 1 [json_name = "symbol"];` + */ + public var symbol: kotlin.String + @kotlin.jvm.JvmName("getSymbol") + get() = _builder.symbol + @kotlin.jvm.JvmName("setSymbol") + set(value) { + _builder.symbol = value + } + /** + * ``` + * Identifier of this symbol, which can be referenced from `Occurence.symbol`. + * The string must be formatted according to the grammar in `Symbol`. + * ``` + * + * `string symbol = 1 [json_name = "symbol"];` + */ + public fun clearSymbol() { + _builder.clearSymbol() + } + + /** + * An uninstantiable, behaviorless type to represent the field in + * generics. + */ + @kotlin.OptIn(com.google.protobuf.kotlin.OnlyForUseByGeneratedProtoCode::class) + public class DocumentationProxy private constructor() : com.google.protobuf.kotlin.DslProxy() + /** + * ``` + * (optional, but strongly recommended) The markdown-formatted documentation + * for this symbol. Use `SymbolInformation.signature_documentation` to + * document the method/class/type signature of this symbol. + * Due to historical reasons, indexers may include signature documentation in + * this field by rendering markdown code blocks. New indexers should only + * include non-code documentation in this field, for example docstrings. + * ``` + * + * `repeated string documentation = 3 [json_name = "documentation"];` + * @return A list containing the documentation. + */ + public val documentation: com.google.protobuf.kotlin.DslList + @kotlin.OptIn(com.google.protobuf.kotlin.OnlyForUseByGeneratedProtoCode::class) + get() = com.google.protobuf.kotlin.DslList( + _builder.documentationList + ) + /** + * ``` + * (optional, but strongly recommended) The markdown-formatted documentation + * for this symbol. Use `SymbolInformation.signature_documentation` to + * document the method/class/type signature of this symbol. + * Due to historical reasons, indexers may include signature documentation in + * this field by rendering markdown code blocks. New indexers should only + * include non-code documentation in this field, for example docstrings. + * ``` + * + * `repeated string documentation = 3 [json_name = "documentation"];` + * @param value The documentation to add. + */ + @kotlin.jvm.JvmSynthetic +@kotlin.jvm.JvmName("addDocumentation") + public fun com.google.protobuf.kotlin.DslList.add(value: kotlin.String) { + _builder.addDocumentation(value) + } + /** + * ``` + * (optional, but strongly recommended) The markdown-formatted documentation + * for this symbol. Use `SymbolInformation.signature_documentation` to + * document the method/class/type signature of this symbol. + * Due to historical reasons, indexers may include signature documentation in + * this field by rendering markdown code blocks. New indexers should only + * include non-code documentation in this field, for example docstrings. + * ``` + * + * `repeated string documentation = 3 [json_name = "documentation"];` + * @param value The documentation to add. + */ + @kotlin.jvm.JvmSynthetic +@kotlin.jvm.JvmName("plusAssignDocumentation") + @Suppress("NOTHING_TO_INLINE") + public inline operator fun com.google.protobuf.kotlin.DslList.plusAssign(value: kotlin.String) { + add(value) + } + /** + * ``` + * (optional, but strongly recommended) The markdown-formatted documentation + * for this symbol. Use `SymbolInformation.signature_documentation` to + * document the method/class/type signature of this symbol. + * Due to historical reasons, indexers may include signature documentation in + * this field by rendering markdown code blocks. New indexers should only + * include non-code documentation in this field, for example docstrings. + * ``` + * + * `repeated string documentation = 3 [json_name = "documentation"];` + * @param values The documentation to add. + */ + @kotlin.jvm.JvmSynthetic +@kotlin.jvm.JvmName("addAllDocumentation") + public fun com.google.protobuf.kotlin.DslList.addAll(values: kotlin.collections.Iterable) { + _builder.addAllDocumentation(values) + } + /** + * ``` + * (optional, but strongly recommended) The markdown-formatted documentation + * for this symbol. Use `SymbolInformation.signature_documentation` to + * document the method/class/type signature of this symbol. + * Due to historical reasons, indexers may include signature documentation in + * this field by rendering markdown code blocks. New indexers should only + * include non-code documentation in this field, for example docstrings. + * ``` + * + * `repeated string documentation = 3 [json_name = "documentation"];` + * @param values The documentation to add. + */ + @kotlin.jvm.JvmSynthetic +@kotlin.jvm.JvmName("plusAssignAllDocumentation") + @Suppress("NOTHING_TO_INLINE") + public inline operator fun com.google.protobuf.kotlin.DslList.plusAssign(values: kotlin.collections.Iterable) { + addAll(values) + } + /** + * ``` + * (optional, but strongly recommended) The markdown-formatted documentation + * for this symbol. Use `SymbolInformation.signature_documentation` to + * document the method/class/type signature of this symbol. + * Due to historical reasons, indexers may include signature documentation in + * this field by rendering markdown code blocks. New indexers should only + * include non-code documentation in this field, for example docstrings. + * ``` + * + * `repeated string documentation = 3 [json_name = "documentation"];` + * @param index The index to set the value at. + * @param value The documentation to set. + */ + @kotlin.jvm.JvmSynthetic +@kotlin.jvm.JvmName("setDocumentation") + public operator fun com.google.protobuf.kotlin.DslList.set(index: kotlin.Int, value: kotlin.String) { + _builder.setDocumentation(index, value) + }/** + * ``` + * (optional, but strongly recommended) The markdown-formatted documentation + * for this symbol. Use `SymbolInformation.signature_documentation` to + * document the method/class/type signature of this symbol. + * Due to historical reasons, indexers may include signature documentation in + * this field by rendering markdown code blocks. New indexers should only + * include non-code documentation in this field, for example docstrings. + * ``` + * + * `repeated string documentation = 3 [json_name = "documentation"];` + */ + @kotlin.jvm.JvmSynthetic +@kotlin.jvm.JvmName("setDocumentation") + public fun com.google.protobuf.kotlin.DslList.clear() { + _builder.clearDocumentation() + } + /** + * An uninstantiable, behaviorless type to represent the field in + * generics. + */ + @kotlin.OptIn(com.google.protobuf.kotlin.OnlyForUseByGeneratedProtoCode::class) + public class RelationshipsProxy private constructor() : com.google.protobuf.kotlin.DslProxy() + /** + * ``` + * (optional) Relationships to other symbols (e.g., implements, type definition). + * ``` + * + * `repeated .scip.Relationship relationships = 4 [json_name = "relationships"];` + */ + public val relationships: com.google.protobuf.kotlin.DslList + @kotlin.jvm.JvmSynthetic + get() = com.google.protobuf.kotlin.DslList( + _builder.relationshipsList + ) + /** + * ``` + * (optional) Relationships to other symbols (e.g., implements, type definition). + * ``` + * + * `repeated .scip.Relationship relationships = 4 [json_name = "relationships"];` + * @param value The relationships to add. + */ + @kotlin.jvm.JvmSynthetic +@kotlin.jvm.JvmName("addRelationships") + public fun com.google.protobuf.kotlin.DslList.add(value: scip.Scip.Relationship) { + _builder.addRelationships(value) + } + /** + * ``` + * (optional) Relationships to other symbols (e.g., implements, type definition). + * ``` + * + * `repeated .scip.Relationship relationships = 4 [json_name = "relationships"];` + * @param value The relationships to add. + */ + @kotlin.jvm.JvmSynthetic +@kotlin.jvm.JvmName("plusAssignRelationships") + @Suppress("NOTHING_TO_INLINE") + public inline operator fun com.google.protobuf.kotlin.DslList.plusAssign(value: scip.Scip.Relationship) { + add(value) + } + /** + * ``` + * (optional) Relationships to other symbols (e.g., implements, type definition). + * ``` + * + * `repeated .scip.Relationship relationships = 4 [json_name = "relationships"];` + * @param values The relationships to add. + */ + @kotlin.jvm.JvmSynthetic +@kotlin.jvm.JvmName("addAllRelationships") + public fun com.google.protobuf.kotlin.DslList.addAll(values: kotlin.collections.Iterable) { + _builder.addAllRelationships(values) + } + /** + * ``` + * (optional) Relationships to other symbols (e.g., implements, type definition). + * ``` + * + * `repeated .scip.Relationship relationships = 4 [json_name = "relationships"];` + * @param values The relationships to add. + */ + @kotlin.jvm.JvmSynthetic +@kotlin.jvm.JvmName("plusAssignAllRelationships") + @Suppress("NOTHING_TO_INLINE") + public inline operator fun com.google.protobuf.kotlin.DslList.plusAssign(values: kotlin.collections.Iterable) { + addAll(values) + } + /** + * ``` + * (optional) Relationships to other symbols (e.g., implements, type definition). + * ``` + * + * `repeated .scip.Relationship relationships = 4 [json_name = "relationships"];` + * @param index The index to set the value at. + * @param value The relationships to set. + */ + @kotlin.jvm.JvmSynthetic +@kotlin.jvm.JvmName("setRelationships") + public operator fun com.google.protobuf.kotlin.DslList.set(index: kotlin.Int, value: scip.Scip.Relationship) { + _builder.setRelationships(index, value) + } + /** + * ``` + * (optional) Relationships to other symbols (e.g., implements, type definition). + * ``` + * + * `repeated .scip.Relationship relationships = 4 [json_name = "relationships"];` + */ + @kotlin.jvm.JvmSynthetic +@kotlin.jvm.JvmName("clearRelationships") + public fun com.google.protobuf.kotlin.DslList.clear() { + _builder.clearRelationships() + } + + /** + * ``` + * The kind of this symbol. Use this field instead of + * `SymbolDescriptor.Suffix` to determine whether something is, for example, a + * class or a method. + * ``` + * + * `.scip.SymbolInformation.Kind kind = 5 [json_name = "kind"];` + */ + public var kind: scip.Scip.SymbolInformation.Kind + @kotlin.jvm.JvmName("getKind") + get() = _builder.kind + @kotlin.jvm.JvmName("setKind") + set(value) { + _builder.kind = value + } + public var kindValue: kotlin.Int + @kotlin.jvm.JvmName("getKindValue") + get() = _builder.kindValue + @kotlin.jvm.JvmName("setKindValue") + set(value) { + _builder.kindValue = value + } + /** + * ``` + * The kind of this symbol. Use this field instead of + * `SymbolDescriptor.Suffix` to determine whether something is, for example, a + * class or a method. + * ``` + * + * `.scip.SymbolInformation.Kind kind = 5 [json_name = "kind"];` + */ + public fun clearKind() { + _builder.clearKind() + } + + /** + * ``` + * (optional) The name of this symbol as it should be displayed to the user. + * For example, the symbol "com/example/MyClass#myMethod(+1)." should have the + * display name "myMethod". The `symbol` field is not a reliable source of + * the display name for several reasons: + * + * - Local symbols don't encode the name. + * - Some languages have case-insensitive names, so the symbol is all-lowercase. + * - The symbol may encode names with special characters that should not be + * displayed to the user. + * ``` + * + * `string display_name = 6 [json_name = "displayName"];` + */ + public var displayName: kotlin.String + @kotlin.jvm.JvmName("getDisplayName") + get() = _builder.displayName + @kotlin.jvm.JvmName("setDisplayName") + set(value) { + _builder.displayName = value + } + /** + * ``` + * (optional) The name of this symbol as it should be displayed to the user. + * For example, the symbol "com/example/MyClass#myMethod(+1)." should have the + * display name "myMethod". The `symbol` field is not a reliable source of + * the display name for several reasons: + * + * - Local symbols don't encode the name. + * - Some languages have case-insensitive names, so the symbol is all-lowercase. + * - The symbol may encode names with special characters that should not be + * displayed to the user. + * ``` + * + * `string display_name = 6 [json_name = "displayName"];` + */ + public fun clearDisplayName() { + _builder.clearDisplayName() + } + + /** + * ``` + * (optional) The signature of this symbol as it's displayed in API + * documentation or in hover tooltips. For example, a Java method that adds + * two numbers would have `Signature.language = "java"` and + * `Signature.text = "void add(int a, int b)"`. The `language` and `text` + * fields are required while `occurrences` can be optionally included to + * support hyperlinking referenced symbols in the signature. + * ``` + * + * `.scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"];` + */ + public var signatureDocumentation: scip.Scip.Signature + @kotlin.jvm.JvmName("getSignatureDocumentation") + get() = _builder.signatureDocumentation + @kotlin.jvm.JvmName("setSignatureDocumentation") + set(value) { + _builder.signatureDocumentation = value + } + /** + * ``` + * (optional) The signature of this symbol as it's displayed in API + * documentation or in hover tooltips. For example, a Java method that adds + * two numbers would have `Signature.language = "java"` and + * `Signature.text = "void add(int a, int b)"`. The `language` and `text` + * fields are required while `occurrences` can be optionally included to + * support hyperlinking referenced symbols in the signature. + * ``` + * + * `.scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"];` + */ + public fun clearSignatureDocumentation() { + _builder.clearSignatureDocumentation() + } + /** + * ``` + * (optional) The signature of this symbol as it's displayed in API + * documentation or in hover tooltips. For example, a Java method that adds + * two numbers would have `Signature.language = "java"` and + * `Signature.text = "void add(int a, int b)"`. The `language` and `text` + * fields are required while `occurrences` can be optionally included to + * support hyperlinking referenced symbols in the signature. + * ``` + * + * `.scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"];` + * @return Whether the signatureDocumentation field is set. + */ + public fun hasSignatureDocumentation(): kotlin.Boolean { + return _builder.hasSignatureDocumentation() + } + + public val SymbolInformationKt.Dsl.signatureDocumentationOrNull: scip.Scip.Signature? + get() = _builder.signatureDocumentationOrNull + + /** + * ``` + * (optional) The enclosing symbol if this is a local symbol. For non-local + * symbols, the enclosing symbol should be parsed from the `symbol` field + * using the `Descriptor` grammar. + * + * The primary use-case for this field is to allow local symbol to be displayed + * in a symbol hierarchy for API documentation. It's OK to leave this field + * empty for local variables since local variables usually don't belong in API + * documentation. However, in the situation that you wish to include a local + * symbol in the hierarchy, then you can use `enclosing_symbol` to locate the + * "parent" or "owner" of this local symbol. For example, a Java indexer may + * choose to use local symbols for private class fields while providing an + * `enclosing_symbol` to reference the enclosing class to allow the field to + * be part of the class documentation hierarchy. From the perspective of an + * author of an indexer, the decision to use a local symbol or global symbol + * should exclusively be determined whether the local symbol is accessible + * outside the document, not by the capability to find the enclosing + * symbol. + * ``` + * + * `string enclosing_symbol = 8 [json_name = "enclosingSymbol"];` + */ + public var enclosingSymbol: kotlin.String + @kotlin.jvm.JvmName("getEnclosingSymbol") + get() = _builder.enclosingSymbol + @kotlin.jvm.JvmName("setEnclosingSymbol") + set(value) { + _builder.enclosingSymbol = value + } + /** + * ``` + * (optional) The enclosing symbol if this is a local symbol. For non-local + * symbols, the enclosing symbol should be parsed from the `symbol` field + * using the `Descriptor` grammar. + * + * The primary use-case for this field is to allow local symbol to be displayed + * in a symbol hierarchy for API documentation. It's OK to leave this field + * empty for local variables since local variables usually don't belong in API + * documentation. However, in the situation that you wish to include a local + * symbol in the hierarchy, then you can use `enclosing_symbol` to locate the + * "parent" or "owner" of this local symbol. For example, a Java indexer may + * choose to use local symbols for private class fields while providing an + * `enclosing_symbol` to reference the enclosing class to allow the field to + * be part of the class documentation hierarchy. From the perspective of an + * author of an indexer, the decision to use a local symbol or global symbol + * should exclusively be determined whether the local symbol is accessible + * outside the document, not by the capability to find the enclosing + * symbol. + * ``` + * + * `string enclosing_symbol = 8 [json_name = "enclosingSymbol"];` + */ + public fun clearEnclosingSymbol() { + _builder.clearEnclosingSymbol() + } + } +} +@kotlin.jvm.JvmSynthetic +public inline fun scip.Scip.SymbolInformation.copy(block: `scip`.SymbolInformationKt.Dsl.() -> kotlin.Unit): scip.Scip.SymbolInformation = + `scip`.SymbolInformationKt.Dsl._create(this.toBuilder()).apply { block() }._build() + +public val scip.Scip.SymbolInformationOrBuilder.signatureDocumentationOrNull: scip.Scip.Signature? + get() = if (hasSignatureDocumentation()) getSignatureDocumentation() else null + diff --git a/bindings/kotlin/src/main/kotlin/scip/SymbolKt.kt b/bindings/kotlin/src/main/kotlin/scip/SymbolKt.kt new file mode 100644 index 00000000..060a1807 --- /dev/null +++ b/bindings/kotlin/src/main/kotlin/scip/SymbolKt.kt @@ -0,0 +1,198 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: scip.proto + +// Generated files should ignore deprecation warnings +@file:Suppress("DEPRECATION") +package scip; + +@kotlin.jvm.JvmName("-initializesymbol") +public inline fun symbol(block: scip.SymbolKt.Dsl.() -> kotlin.Unit): scip.Scip.Symbol = + scip.SymbolKt.Dsl._create(scip.Scip.Symbol.newBuilder()).apply { block() }._build() +/** + * ``` + * Symbol is similar to a URI, it identifies a class, method, or a local + * variable. `SymbolInformation` contains rich metadata about symbols such as + * the docstring. + * + * Symbol has a standardized string representation, which can be used + * interchangeably with `Symbol`. The syntax for Symbol is the following: + * ``` + * # ()+ stands for one or more repetitions of + * # ()? stands for zero or one occurrence of + * ::= ' ' ' ' ()+ | 'local ' + * ::= ' ' ' ' + * ::= any UTF-8, escape spaces with double space. Must not be empty nor start with 'local' + * ::= any UTF-8, escape spaces with double space. Use the placeholder '.' to indicate an empty value + * ::= same as above + * ::= same as above + * ::= | | | | | | | + * ::= '/' + * ::= '#' + * ::= '.' + * ::= ':' + * ::= '!' + * ::= '(' ()? ').' + * ::= '[' ']' + * ::= '(' ')' + * ::= + * ::= + * ::= | + * ::= ()+ + * ::= '_' | '+' | '-' | '$' | ASCII letter or digit + * ::= '`' ()+ '`', must contain at least one non- + * ::= any UTF-8, escape backticks with double backtick. + * ::= + * ``` + * + * The list of descriptors for a symbol should together form a fully + * qualified name for the symbol. That is, it should serve as a unique + * identifier across the package. Typically, it will include one descriptor + * for every node in the AST (along the ancestry path) between the root of + * the file and the node corresponding to the symbol. + * + * Local symbols MUST only be used for entities which are local to a Document, + * and cannot be accessed from outside the Document. + * ``` + * + * Protobuf type `scip.Symbol` + */ +public object SymbolKt { + @kotlin.OptIn(com.google.protobuf.kotlin.OnlyForUseByGeneratedProtoCode::class) + @com.google.protobuf.kotlin.ProtoDslMarker + public class Dsl private constructor( + private val _builder: scip.Scip.Symbol.Builder + ) { + public companion object { + @kotlin.jvm.JvmSynthetic + @kotlin.PublishedApi + internal fun _create(builder: scip.Scip.Symbol.Builder): Dsl = Dsl(builder) + } + + @kotlin.jvm.JvmSynthetic + @kotlin.PublishedApi + internal fun _build(): scip.Scip.Symbol = _builder.build() + + /** + * `string scheme = 1 [json_name = "scheme"];` + */ + public var scheme: kotlin.String + @kotlin.jvm.JvmName("getScheme") + get() = _builder.scheme + @kotlin.jvm.JvmName("setScheme") + set(value) { + _builder.scheme = value + } + /** + * `string scheme = 1 [json_name = "scheme"];` + */ + public fun clearScheme() { + _builder.clearScheme() + } + + /** + * `.scip.Package package = 2 [json_name = "package"];` + */ + public var package_: scip.Scip.Package + @kotlin.jvm.JvmName("getPackage_") + get() = _builder.`package` + @kotlin.jvm.JvmName("setPackage_") + set(value) { + _builder.`package` = value + } + /** + * `.scip.Package package = 2 [json_name = "package"];` + */ + public fun clearPackage_() { + _builder.clearPackage() + } + /** + * `.scip.Package package = 2 [json_name = "package"];` + * @return Whether the package field is set. + */ + public fun hasPackage_(): kotlin.Boolean { + return _builder.hasPackage() + } + + public val SymbolKt.Dsl.packageOrNull: scip.Scip.Package? + get() = _builder.packageOrNull + + /** + * An uninstantiable, behaviorless type to represent the field in + * generics. + */ + @kotlin.OptIn(com.google.protobuf.kotlin.OnlyForUseByGeneratedProtoCode::class) + public class DescriptorsProxy private constructor() : com.google.protobuf.kotlin.DslProxy() + /** + * `repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"];` + */ + public val descriptors: com.google.protobuf.kotlin.DslList + @kotlin.jvm.JvmSynthetic + get() = com.google.protobuf.kotlin.DslList( + _builder.descriptorsList + ) + /** + * `repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"];` + * @param value The descriptors to add. + */ + @kotlin.jvm.JvmSynthetic +@kotlin.jvm.JvmName("addDescriptors") + public fun com.google.protobuf.kotlin.DslList.add(value: scip.Scip.Descriptor) { + _builder.addDescriptors(value) + } + /** + * `repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"];` + * @param value The descriptors to add. + */ + @kotlin.jvm.JvmSynthetic +@kotlin.jvm.JvmName("plusAssignDescriptors") + @Suppress("NOTHING_TO_INLINE") + public inline operator fun com.google.protobuf.kotlin.DslList.plusAssign(value: scip.Scip.Descriptor) { + add(value) + } + /** + * `repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"];` + * @param values The descriptors to add. + */ + @kotlin.jvm.JvmSynthetic +@kotlin.jvm.JvmName("addAllDescriptors") + public fun com.google.protobuf.kotlin.DslList.addAll(values: kotlin.collections.Iterable) { + _builder.addAllDescriptors(values) + } + /** + * `repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"];` + * @param values The descriptors to add. + */ + @kotlin.jvm.JvmSynthetic +@kotlin.jvm.JvmName("plusAssignAllDescriptors") + @Suppress("NOTHING_TO_INLINE") + public inline operator fun com.google.protobuf.kotlin.DslList.plusAssign(values: kotlin.collections.Iterable) { + addAll(values) + } + /** + * `repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"];` + * @param index The index to set the value at. + * @param value The descriptors to set. + */ + @kotlin.jvm.JvmSynthetic +@kotlin.jvm.JvmName("setDescriptors") + public operator fun com.google.protobuf.kotlin.DslList.set(index: kotlin.Int, value: scip.Scip.Descriptor) { + _builder.setDescriptors(index, value) + } + /** + * `repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"];` + */ + @kotlin.jvm.JvmSynthetic +@kotlin.jvm.JvmName("clearDescriptors") + public fun com.google.protobuf.kotlin.DslList.clear() { + _builder.clearDescriptors() + } + } +} +@kotlin.jvm.JvmSynthetic +public inline fun scip.Scip.Symbol.copy(block: `scip`.SymbolKt.Dsl.() -> kotlin.Unit): scip.Scip.Symbol = + `scip`.SymbolKt.Dsl._create(this.toBuilder()).apply { block() }._build() + +public val scip.Scip.SymbolOrBuilder.packageOrNull: scip.Scip.Package? + get() = if (hasPackage()) getPackage() else null + diff --git a/bindings/kotlin/src/main/kotlin/scip/ToolInfoKt.kt b/bindings/kotlin/src/main/kotlin/scip/ToolInfoKt.kt new file mode 100644 index 00000000..cbdea87a --- /dev/null +++ b/bindings/kotlin/src/main/kotlin/scip/ToolInfoKt.kt @@ -0,0 +1,183 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: scip.proto + +// Generated files should ignore deprecation warnings +@file:Suppress("DEPRECATION") +package scip; + +@kotlin.jvm.JvmName("-initializetoolInfo") +public inline fun toolInfo(block: scip.ToolInfoKt.Dsl.() -> kotlin.Unit): scip.Scip.ToolInfo = + scip.ToolInfoKt.Dsl._create(scip.Scip.ToolInfo.newBuilder()).apply { block() }._build() +/** + * Protobuf type `scip.ToolInfo` + */ +public object ToolInfoKt { + @kotlin.OptIn(com.google.protobuf.kotlin.OnlyForUseByGeneratedProtoCode::class) + @com.google.protobuf.kotlin.ProtoDslMarker + public class Dsl private constructor( + private val _builder: scip.Scip.ToolInfo.Builder + ) { + public companion object { + @kotlin.jvm.JvmSynthetic + @kotlin.PublishedApi + internal fun _create(builder: scip.Scip.ToolInfo.Builder): Dsl = Dsl(builder) + } + + @kotlin.jvm.JvmSynthetic + @kotlin.PublishedApi + internal fun _build(): scip.Scip.ToolInfo = _builder.build() + + /** + * ``` + * Name of the indexer that produced this index. + * ``` + * + * `string name = 1 [json_name = "name"];` + */ + public var name: kotlin.String + @kotlin.jvm.JvmName("getName") + get() = _builder.name + @kotlin.jvm.JvmName("setName") + set(value) { + _builder.name = value + } + /** + * ``` + * Name of the indexer that produced this index. + * ``` + * + * `string name = 1 [json_name = "name"];` + */ + public fun clearName() { + _builder.clearName() + } + + /** + * ``` + * Version of the indexer that produced this index. + * ``` + * + * `string version = 2 [json_name = "version"];` + */ + public var version: kotlin.String + @kotlin.jvm.JvmName("getVersion") + get() = _builder.version + @kotlin.jvm.JvmName("setVersion") + set(value) { + _builder.version = value + } + /** + * ``` + * Version of the indexer that produced this index. + * ``` + * + * `string version = 2 [json_name = "version"];` + */ + public fun clearVersion() { + _builder.clearVersion() + } + + /** + * An uninstantiable, behaviorless type to represent the field in + * generics. + */ + @kotlin.OptIn(com.google.protobuf.kotlin.OnlyForUseByGeneratedProtoCode::class) + public class ArgumentsProxy private constructor() : com.google.protobuf.kotlin.DslProxy() + /** + * ``` + * Command-line arguments that were used to invoke this indexer. + * ``` + * + * `repeated string arguments = 3 [json_name = "arguments"];` + * @return A list containing the arguments. + */ + public val arguments: com.google.protobuf.kotlin.DslList + @kotlin.OptIn(com.google.protobuf.kotlin.OnlyForUseByGeneratedProtoCode::class) + get() = com.google.protobuf.kotlin.DslList( + _builder.argumentsList + ) + /** + * ``` + * Command-line arguments that were used to invoke this indexer. + * ``` + * + * `repeated string arguments = 3 [json_name = "arguments"];` + * @param value The arguments to add. + */ + @kotlin.jvm.JvmSynthetic +@kotlin.jvm.JvmName("addArguments") + public fun com.google.protobuf.kotlin.DslList.add(value: kotlin.String) { + _builder.addArguments(value) + } + /** + * ``` + * Command-line arguments that were used to invoke this indexer. + * ``` + * + * `repeated string arguments = 3 [json_name = "arguments"];` + * @param value The arguments to add. + */ + @kotlin.jvm.JvmSynthetic +@kotlin.jvm.JvmName("plusAssignArguments") + @Suppress("NOTHING_TO_INLINE") + public inline operator fun com.google.protobuf.kotlin.DslList.plusAssign(value: kotlin.String) { + add(value) + } + /** + * ``` + * Command-line arguments that were used to invoke this indexer. + * ``` + * + * `repeated string arguments = 3 [json_name = "arguments"];` + * @param values The arguments to add. + */ + @kotlin.jvm.JvmSynthetic +@kotlin.jvm.JvmName("addAllArguments") + public fun com.google.protobuf.kotlin.DslList.addAll(values: kotlin.collections.Iterable) { + _builder.addAllArguments(values) + } + /** + * ``` + * Command-line arguments that were used to invoke this indexer. + * ``` + * + * `repeated string arguments = 3 [json_name = "arguments"];` + * @param values The arguments to add. + */ + @kotlin.jvm.JvmSynthetic +@kotlin.jvm.JvmName("plusAssignAllArguments") + @Suppress("NOTHING_TO_INLINE") + public inline operator fun com.google.protobuf.kotlin.DslList.plusAssign(values: kotlin.collections.Iterable) { + addAll(values) + } + /** + * ``` + * Command-line arguments that were used to invoke this indexer. + * ``` + * + * `repeated string arguments = 3 [json_name = "arguments"];` + * @param index The index to set the value at. + * @param value The arguments to set. + */ + @kotlin.jvm.JvmSynthetic +@kotlin.jvm.JvmName("setArguments") + public operator fun com.google.protobuf.kotlin.DslList.set(index: kotlin.Int, value: kotlin.String) { + _builder.setArguments(index, value) + }/** + * ``` + * Command-line arguments that were used to invoke this indexer. + * ``` + * + * `repeated string arguments = 3 [json_name = "arguments"];` + */ + @kotlin.jvm.JvmSynthetic +@kotlin.jvm.JvmName("setArguments") + public fun com.google.protobuf.kotlin.DslList.clear() { + _builder.clearArguments() + }} +} +@kotlin.jvm.JvmSynthetic +public inline fun scip.Scip.ToolInfo.copy(block: `scip`.ToolInfoKt.Dsl.() -> kotlin.Unit): scip.Scip.ToolInfo = + `scip`.ToolInfoKt.Dsl._create(this.toBuilder()).apply { block() }._build() + diff --git a/buf.gen.yaml b/buf.gen.yaml index 59803072..d9dac097 100644 --- a/buf.gen.yaml +++ b/buf.gen.yaml @@ -1,21 +1,28 @@ # Configuration file for https://buf.build/, which we use for Protobuf code generation. -version: v1 +version: v2 plugins: - - name: doc + - local: protoc-gen-doc out: ./docs/ opt: docs/scip.sprig,scip.md # NOTE: the sprig file is a template, it is not generated. - - name: go + - local: protoc-gen-go out: ./bindings/go/scip/ opt: - paths=source_relative - - name: es + - local: protoc-gen-es out: ./bindings/typescript/ opt: - target=ts - - name: rust - path: protoc-gen-rs + - local: protoc-gen-rs out: ./bindings/rust/src/generated/ - - name: haskell - path: proto-lens-protoc + - local: proto-lens-protoc out: ./bindings/haskell/src + - protoc_builtin: java + out: ./bindings/java/src/main/java/ + # The Kotlin generator only emits the DSL extensions; the underlying message + # classes are still produced by the Java generator and must live alongside + # them so that the Kotlin binding is buildable on its own. + - protoc_builtin: java + out: ./bindings/kotlin/src/main/java/ + - protoc_builtin: kotlin + out: ./bindings/kotlin/src/main/kotlin/ diff --git a/checks.nix b/checks.nix index 4af31b73..134e4cbe 100644 --- a/checks.nix +++ b/checks.nix @@ -2,6 +2,21 @@ pkgs, version, }: +let + # Extracts the project's element from a pom.xml. + # Looks for the unique top-level at 2-space indentation, which + # distinguishes it from elements nested inside , + # , etc. (deeper indentation). + extractPomVersion = + pomFile: + let + lines = pkgs.lib.splitString "\n" (builtins.readFile pomFile); + isVersionLine = line: builtins.match "^ [^<]+$" line != null; + versionLine = pkgs.lib.findFirst isVersionLine null lines; + match = builtins.match "^ ([^<]+)$" versionLine; + in + builtins.head match; +in { github-actions = pkgs.stdenv.mkDerivation { pname = "scip-github-actions"; @@ -66,6 +81,38 @@ ''; }; + java-bindings = + let + pomVersion = extractPomVersion ./bindings/java/pom.xml; + in + assert pkgs.lib.assertMsg ( + pomVersion == version + ) "Version mismatch in bindings/java/pom.xml: expected ${version}, got ${pomVersion}"; + pkgs.maven.buildMavenPackage { + pname = "scip-bindings-java"; + inherit version; + src = ./bindings/java; + mvnHash = "sha256-qh+F+aNYKBDkdW4fZVnjN03F0bxTMhlZmWM51EnXF6Y="; + doCheck = false; + installPhase = "touch $out"; + }; + + kotlin-bindings = + let + pomVersion = extractPomVersion ./bindings/kotlin/pom.xml; + in + assert pkgs.lib.assertMsg ( + pomVersion == version + ) "Version mismatch in bindings/kotlin/pom.xml: expected ${version}, got ${pomVersion}"; + pkgs.maven.buildMavenPackage { + pname = "scip-bindings-kotlin"; + inherit version; + src = ./bindings/kotlin; + mvnHash = "sha256-sLoAmf+p/UGVYOxbTT8u+zfzfZzckdxTUktWmbZFg/A="; + doCheck = false; + installPhase = "touch $out"; + }; + reprolang = let reprolangVersion = (builtins.fromJSON (builtins.readFile ./reprolang/package.json)).version; diff --git a/flake.nix b/flake.nix index 73f9302f..bb752c2e 100644 --- a/flake.nix +++ b/flake.nix @@ -66,6 +66,7 @@ gotools haskellPackages.proto-lens-protoc prettier + protobuf protoc-gen-doc protoc-gen-es protoc-gen-go From b77bb905ab023fa0e4f5476fa11f2d2ba6be4a0f Mon Sep 17 00:00:00 2001 From: jupblb Date: Tue, 12 May 2026 15:38:32 +0200 Subject: [PATCH 2/8] checks: tighten extractPomVersion regex to [0-9.]+ The previous [^<]+ pattern accepted any non-< character, including whitespace and unrelated text. Restrict it to digits + dots, matching the semantic-version style we use across all bindings (and the project's cmd/scip/version.txt). This will fail loudly if a non-numeric version suffix ever sneaks into a pom.xml. --- checks.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/checks.nix b/checks.nix index 134e4cbe..a0b8e0d0 100644 --- a/checks.nix +++ b/checks.nix @@ -11,9 +11,9 @@ let pomFile: let lines = pkgs.lib.splitString "\n" (builtins.readFile pomFile); - isVersionLine = line: builtins.match "^ [^<]+$" line != null; + isVersionLine = line: builtins.match "^ [0-9.]+$" line != null; versionLine = pkgs.lib.findFirst isVersionLine null lines; - match = builtins.match "^ ([^<]+)$" versionLine; + match = builtins.match "^ ([0-9.]+)$" versionLine; in builtins.head match; in From 3eabdf10b78d8e17127b0ac345c267e7b29cea3a Mon Sep 17 00:00:00 2001 From: jupblb Date: Tue, 12 May 2026 15:49:47 +0200 Subject: [PATCH 3/8] ci: include Java and Kotlin bindings in update-vendor-hash workflow Adds bindings/java/pom.xml and bindings/kotlin/pom.xml as trigger paths and includes checks.x86_64-linux.{java,kotlin}-bindings in the nix-update loop so that Renovate-driven dependency bumps (e.g. protobuf-java, protobuf-kotlin, kotlin-stdlib) get their mvnHash recomputed and pushed back to the PR automatically, matching the existing handling for the Go and TypeScript bindings. nix-update natively supports updating mvnHash on pkgs.maven.buildMavenPackage derivations, and a local dry-run against both new attributes is idempotent against the currently-committed hashes. --- .github/workflows/update-vendor-hash.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/update-vendor-hash.yaml b/.github/workflows/update-vendor-hash.yaml index 0266b85a..2593cffd 100644 --- a/.github/workflows/update-vendor-hash.yaml +++ b/.github/workflows/update-vendor-hash.yaml @@ -20,6 +20,8 @@ on: - reprolang/go.sum - bindings/typescript/package.json - bindings/typescript/package-lock.json + - bindings/java/pom.xml + - bindings/kotlin/pom.xml permissions: contents: read @@ -60,6 +62,8 @@ jobs: for attr in \ packages.x86_64-linux.scip \ checks.x86_64-linux.go-bindings \ + checks.x86_64-linux.java-bindings \ + checks.x86_64-linux.kotlin-bindings \ checks.x86_64-linux.reprolang \ checks.x86_64-linux.typescript-bindings; do nix run github:Mic92/nix-update -- \ From fbca21b87d99f2f9394781e1d276f6ad6f5d62f7 Mon Sep 17 00:00:00 2001 From: jupblb Date: Tue, 12 May 2026 15:54:08 +0200 Subject: [PATCH 4/8] Use org.scip-code as the JVM bindings groupId Maven Central requires the groupId to follow reverse-DNS notation of a domain you control. The project owns scip-code.org, so the correct namespace is org.scip-code (not com.scip-code, which I picked arbitrarily in the initial commit and which would not be verifiable). --- bindings/java/pom.xml | 2 +- bindings/kotlin/pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/bindings/java/pom.xml b/bindings/java/pom.xml index 20a30de1..69715441 100644 --- a/bindings/java/pom.xml +++ b/bindings/java/pom.xml @@ -4,7 +4,7 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - com.scip-code + org.scip-code scip-java 0.7.1 jar diff --git a/bindings/kotlin/pom.xml b/bindings/kotlin/pom.xml index f499775a..08c9d2ff 100644 --- a/bindings/kotlin/pom.xml +++ b/bindings/kotlin/pom.xml @@ -4,7 +4,7 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - com.scip-code + org.scip-code scip-kotlin 0.7.1 jar From b30e5a34286cfc2277941b370eb3226f86c8a7a6 Mon Sep 17 00:00:00 2001 From: jupblb Date: Wed, 13 May 2026 11:48:45 +0200 Subject: [PATCH 5/8] Mark Java/Kotlin generated bindings as linguist-generated Hides the ~23k-line Scip.java and the Kotlin DSL files from default GitHub diffs and excludes them from the repository's language statistics, matching how the Go, Rust, Haskell, and TypeScript generated bindings are handled. --- .gitattributes | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitattributes b/.gitattributes index a187d025..2eb6336b 100644 --- a/.gitattributes +++ b/.gitattributes @@ -2,5 +2,8 @@ bindings/typescript/scip.ts linguist-generated=true bindings/go/scip/scip.pb.go linguist-generated=true bindings/rust/src/generated/scip.rs linguist-generated=true bindings/haskell/src/Proto/**.hs linguist-generated=true +bindings/java/src/main/java/scip/Scip.java linguist-generated=true +bindings/kotlin/src/main/java/scip/Scip.java linguist-generated=true +bindings/kotlin/src/main/kotlin/scip/**.kt linguist-generated=true docs/scip.md linguist-generated=true yarn.lock linguist-generated=true From 9c4141974c54a8fafa92bdde37027805d3927bae Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 13 May 2026 09:51:10 +0000 Subject: [PATCH 6/8] chore: tidy Go modules and update vendor hashes --- go.sum | 2 -- 1 file changed, 2 deletions(-) diff --git a/go.sum b/go.sum index c3f401e0..5887b590 100644 --- a/go.sum +++ b/go.sum @@ -142,8 +142,6 @@ github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/X github.com/k0kubun/pp/v3 v3.1.0 h1:ifxtqJkRZhw3h554/z/8zm6AAbyO4LLKDlA5eV+9O8Q= github.com/k0kubun/pp/v3 v3.1.0/go.mod h1:vIrP5CF0n78pKHm2Ku6GVerpZBJvscg48WepUYEk2gw= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.18.0 h1:c/Cqfb0r+Yi+JtIEq73FWXVkRonBlf0CRNYc8Zttxdo= -github.com/klauspost/compress v1.18.0/go.mod h1:2Pp+KzxcywXVXMr50+X0Q/Lsb43OQHYWRCY2AiWywWQ= github.com/klauspost/compress v1.18.6 h1:2jupLlAwFm95+YDR+NwD2MEfFO9d4z4Prjl1XXDjuao= github.com/klauspost/compress v1.18.6/go.mod h1:cwPg85FWrGar70rWktvGQj8/hthj3wpl0PGDogxkrSQ= github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= From 09398a7d354c832fbe28decc870279dcce8cae8d Mon Sep 17 00:00:00 2001 From: jupblb Date: Wed, 13 May 2026 12:44:26 +0200 Subject: [PATCH 7/8] Polish JVM bindings per code review feedback Addresses five concerns about the initial Java/Kotlin bindings: 1. Use a conventional reverse-DNS Java package. The bare 'package scip;' collided with the outer class name 'Scip' (FQN 'scip.Scip') and confused tools like Bazel java_proto_library strict-deps, ProGuard/R8, and OSGi. Set java_package to 'org.scip_code.scip' (matching the verified scip-code.org domain), so messages live at FQNs like 'org.scip_code.scip.Index'. 2. Set java_multiple_files = true. Previously the entire ~23k-line generated output sat inside one outer 'Scip' class, forcing nested-class call sites like Scip.Index.newBuilder(). With multiple-files, each message becomes its own top-level class: 'import org.scip_code.scip.Index'. Picked now because this is a wire-compatible source-API change but very expensive to flip post-1.0. Also set java_outer_classname = 'ScipProto' so the file-level descriptor holder doesn't collide with any 'Scip*' message names that the new layout exposes. 3. Declare protobuf-java-util as a dependency in both poms. JsonFormat and the related util classes are something most real-world consumers eventually reach for; declaring it transitively saves them from discovering the missing dep at runtime via NoClassDefFoundError. 4. Ship the canonical scip.proto schema as a Maven classifier artifact in both bindings (e.g. 'mvn dependency:get org.scip-code:scip-java:0.7.1:proto:proto'), so Bazel/Buck/Pants users and consumers generating bindings in another language can pull the schema directly instead of vendoring it. Implemented via build-helper-maven-plugin's attach-artifact goal, with proto-generate copying scip.proto into bindings/{java,kotlin}/src/ main/proto/scip.proto so the Maven build can find it. The copies are excluded from buf's input set in buf.yaml to avoid duplicate top-level proto symbols. 5. Document the protobuf 4 gencode-vs-runtime compatibility window in per-binding READMEs (new bindings/{java,kotlin}/README.md). Pinning protobuf-java to a strict version was rejected because it would break Maven/Gradle dependency convergence with consumers using a newer 4.x; using a version range was rejected because it would break Nix mvnHash determinism. Documenting the upgrade direction is the established protobuf-project recommendation. Side effects: * The haskell and rust bindings get regenerated to reflect the new option ordering in scip.proto (alphabetized to satisfy buf format). Only embedded file descriptors / line numbers shift; no API changes. * .gitattributes patterns updated for the new java_multiple_files layout under org/scip_code/scip/. * checks.nix mvnHash refreshed to account for the new protobuf-java-util and build-helper-maven-plugin deps. --- .gitattributes | 6 +- bindings/go/scip/scip.pb.go | 3 +- bindings/haskell/src/Proto/Scip.hs | 2213 +- bindings/java/README.md | 78 + bindings/java/pom.xml | 49 +- .../java/org/scip_code/scip/Descriptor.java | 996 + .../scip_code/scip/DescriptorOrBuilder.java | 57 + .../java/org/scip_code/scip/Diagnostic.java | 1248 + .../scip_code/scip/DiagnosticOrBuilder.java | 122 + .../org/scip_code/scip/DiagnosticTag.java | 134 + .../java/org/scip_code/scip/Document.java | 2134 ++ .../org/scip_code/scip/DocumentOrBuilder.java | 247 + .../main/java/org/scip_code/scip/Index.java | 1607 ++ .../org/scip_code/scip/IndexOrBuilder.java | 147 + .../java/org/scip_code/scip/Language.java | 1158 + .../java/org/scip_code/scip/Metadata.java | 1039 + .../org/scip_code/scip/MetadataOrBuilder.java | 105 + .../java/org/scip_code/scip/Occurrence.java | 2696 ++ .../scip_code/scip/OccurrenceOrBuilder.java | 454 + .../main/java/org/scip_code/scip/Package.java | 786 + .../org/scip_code/scip/PackageOrBuilder.java | 48 + .../org/scip_code/scip/PositionEncoding.java | 209 + .../org/scip_code/scip/ProtocolVersion.java | 116 + .../java/org/scip_code/scip/Relationship.java | 998 + .../scip_code/scip/RelationshipOrBuilder.java | 105 + .../java/org/scip_code/scip/ScipProto.java | 344 + .../java/org/scip_code/scip/Severity.java | 152 + .../java/org/scip_code/scip/Signature.java | 1200 + .../scip_code/scip/SignatureOrBuilder.java | 106 + .../main/java/org/scip_code/scip/Symbol.java | 1140 + .../org/scip_code/scip/SymbolInformation.java | 3545 +++ .../scip/SymbolInformationOrBuilder.java | 292 + .../org/scip_code/scip/SymbolOrBuilder.java | 63 + .../java/org/scip_code/scip/SymbolRole.java | 261 + .../java/org/scip_code/scip/SyntaxKind.java | 756 + .../java/org/scip_code/scip/TextEncoding.java | 134 + .../java/org/scip_code/scip/ToolInfo.java | 935 + .../org/scip_code/scip/ToolInfoOrBuilder.java | 93 + bindings/java/src/main/java/scip/Scip.java | 23170 ---------------- bindings/java/src/main/proto/scip.proto | 903 + bindings/kotlin/README.md | 90 + bindings/kotlin/pom.xml | 44 +- .../java/org/scip_code/scip/Descriptor.java | 996 + .../scip_code/scip/DescriptorOrBuilder.java | 57 + .../java/org/scip_code/scip/Diagnostic.java | 1248 + .../scip_code/scip/DiagnosticOrBuilder.java | 122 + .../org/scip_code/scip/DiagnosticTag.java | 134 + .../java/org/scip_code/scip/Document.java | 2134 ++ .../org/scip_code/scip/DocumentOrBuilder.java | 247 + .../main/java/org/scip_code/scip/Index.java | 1607 ++ .../org/scip_code/scip/IndexOrBuilder.java | 147 + .../java/org/scip_code/scip/Language.java | 1158 + .../java/org/scip_code/scip/Metadata.java | 1039 + .../org/scip_code/scip/MetadataOrBuilder.java | 105 + .../java/org/scip_code/scip/Occurrence.java | 2696 ++ .../scip_code/scip/OccurrenceOrBuilder.java | 454 + .../main/java/org/scip_code/scip/Package.java | 786 + .../org/scip_code/scip/PackageOrBuilder.java | 48 + .../org/scip_code/scip/PositionEncoding.java | 209 + .../org/scip_code/scip/ProtocolVersion.java | 116 + .../java/org/scip_code/scip/Relationship.java | 998 + .../scip_code/scip/RelationshipOrBuilder.java | 105 + .../java/org/scip_code/scip/ScipProto.java | 344 + .../java/org/scip_code/scip/Severity.java | 152 + .../java/org/scip_code/scip/Signature.java | 1200 + .../scip_code/scip/SignatureOrBuilder.java | 106 + .../main/java/org/scip_code/scip/Symbol.java | 1140 + .../org/scip_code/scip/SymbolInformation.java | 3545 +++ .../scip/SymbolInformationOrBuilder.java | 292 + .../org/scip_code/scip/SymbolOrBuilder.java | 63 + .../java/org/scip_code/scip/SymbolRole.java | 261 + .../java/org/scip_code/scip/SyntaxKind.java | 756 + .../java/org/scip_code/scip/TextEncoding.java | 134 + .../java/org/scip_code/scip/ToolInfo.java | 935 + .../org/scip_code/scip/ToolInfoOrBuilder.java | 93 + bindings/kotlin/src/main/java/scip/Scip.java | 23170 ---------------- .../{ => org/scip_code}/scip/DescriptorKt.kt | 18 +- .../{ => org/scip_code}/scip/DiagnosticKt.kt | 32 +- .../{ => org/scip_code}/scip/DocumentKt.kt | 46 +- .../{ => org/scip_code}/scip/IndexKt.kt | 50 +- .../{ => org/scip_code}/scip/MetadataKt.kt | 26 +- .../{ => org/scip_code}/scip/OccurrenceKt.kt | 32 +- .../{ => org/scip_code}/scip/PackageKt.kt | 16 +- .../scip_code}/scip/RelationshipKt.kt | 16 +- .../scip_code/scip/ScipProtoKt.proto.kt} | 2 +- .../{ => org/scip_code}/scip/SignatureKt.kt | 30 +- .../scip_code}/scip/SymbolInformationKt.kt | 38 +- .../{ => org/scip_code}/scip/SymbolKt.kt | 36 +- .../{ => org/scip_code}/scip/ToolInfoKt.kt | 16 +- bindings/kotlin/src/main/proto/scip.proto | 903 + bindings/rust/src/generated/scip.rs | 2602 +- bindings/typescript/scip_pb.ts | 2 +- buf.yaml | 6 + checks.nix | 4 +- flake.nix | 7 + scip.proto | 6 + 96 files changed, 51545 insertions(+), 48923 deletions(-) create mode 100644 bindings/java/README.md create mode 100644 bindings/java/src/main/java/org/scip_code/scip/Descriptor.java create mode 100644 bindings/java/src/main/java/org/scip_code/scip/DescriptorOrBuilder.java create mode 100644 bindings/java/src/main/java/org/scip_code/scip/Diagnostic.java create mode 100644 bindings/java/src/main/java/org/scip_code/scip/DiagnosticOrBuilder.java create mode 100644 bindings/java/src/main/java/org/scip_code/scip/DiagnosticTag.java create mode 100644 bindings/java/src/main/java/org/scip_code/scip/Document.java create mode 100644 bindings/java/src/main/java/org/scip_code/scip/DocumentOrBuilder.java create mode 100644 bindings/java/src/main/java/org/scip_code/scip/Index.java create mode 100644 bindings/java/src/main/java/org/scip_code/scip/IndexOrBuilder.java create mode 100644 bindings/java/src/main/java/org/scip_code/scip/Language.java create mode 100644 bindings/java/src/main/java/org/scip_code/scip/Metadata.java create mode 100644 bindings/java/src/main/java/org/scip_code/scip/MetadataOrBuilder.java create mode 100644 bindings/java/src/main/java/org/scip_code/scip/Occurrence.java create mode 100644 bindings/java/src/main/java/org/scip_code/scip/OccurrenceOrBuilder.java create mode 100644 bindings/java/src/main/java/org/scip_code/scip/Package.java create mode 100644 bindings/java/src/main/java/org/scip_code/scip/PackageOrBuilder.java create mode 100644 bindings/java/src/main/java/org/scip_code/scip/PositionEncoding.java create mode 100644 bindings/java/src/main/java/org/scip_code/scip/ProtocolVersion.java create mode 100644 bindings/java/src/main/java/org/scip_code/scip/Relationship.java create mode 100644 bindings/java/src/main/java/org/scip_code/scip/RelationshipOrBuilder.java create mode 100644 bindings/java/src/main/java/org/scip_code/scip/ScipProto.java create mode 100644 bindings/java/src/main/java/org/scip_code/scip/Severity.java create mode 100644 bindings/java/src/main/java/org/scip_code/scip/Signature.java create mode 100644 bindings/java/src/main/java/org/scip_code/scip/SignatureOrBuilder.java create mode 100644 bindings/java/src/main/java/org/scip_code/scip/Symbol.java create mode 100644 bindings/java/src/main/java/org/scip_code/scip/SymbolInformation.java create mode 100644 bindings/java/src/main/java/org/scip_code/scip/SymbolInformationOrBuilder.java create mode 100644 bindings/java/src/main/java/org/scip_code/scip/SymbolOrBuilder.java create mode 100644 bindings/java/src/main/java/org/scip_code/scip/SymbolRole.java create mode 100644 bindings/java/src/main/java/org/scip_code/scip/SyntaxKind.java create mode 100644 bindings/java/src/main/java/org/scip_code/scip/TextEncoding.java create mode 100644 bindings/java/src/main/java/org/scip_code/scip/ToolInfo.java create mode 100644 bindings/java/src/main/java/org/scip_code/scip/ToolInfoOrBuilder.java delete mode 100644 bindings/java/src/main/java/scip/Scip.java create mode 100644 bindings/java/src/main/proto/scip.proto create mode 100644 bindings/kotlin/README.md create mode 100644 bindings/kotlin/src/main/java/org/scip_code/scip/Descriptor.java create mode 100644 bindings/kotlin/src/main/java/org/scip_code/scip/DescriptorOrBuilder.java create mode 100644 bindings/kotlin/src/main/java/org/scip_code/scip/Diagnostic.java create mode 100644 bindings/kotlin/src/main/java/org/scip_code/scip/DiagnosticOrBuilder.java create mode 100644 bindings/kotlin/src/main/java/org/scip_code/scip/DiagnosticTag.java create mode 100644 bindings/kotlin/src/main/java/org/scip_code/scip/Document.java create mode 100644 bindings/kotlin/src/main/java/org/scip_code/scip/DocumentOrBuilder.java create mode 100644 bindings/kotlin/src/main/java/org/scip_code/scip/Index.java create mode 100644 bindings/kotlin/src/main/java/org/scip_code/scip/IndexOrBuilder.java create mode 100644 bindings/kotlin/src/main/java/org/scip_code/scip/Language.java create mode 100644 bindings/kotlin/src/main/java/org/scip_code/scip/Metadata.java create mode 100644 bindings/kotlin/src/main/java/org/scip_code/scip/MetadataOrBuilder.java create mode 100644 bindings/kotlin/src/main/java/org/scip_code/scip/Occurrence.java create mode 100644 bindings/kotlin/src/main/java/org/scip_code/scip/OccurrenceOrBuilder.java create mode 100644 bindings/kotlin/src/main/java/org/scip_code/scip/Package.java create mode 100644 bindings/kotlin/src/main/java/org/scip_code/scip/PackageOrBuilder.java create mode 100644 bindings/kotlin/src/main/java/org/scip_code/scip/PositionEncoding.java create mode 100644 bindings/kotlin/src/main/java/org/scip_code/scip/ProtocolVersion.java create mode 100644 bindings/kotlin/src/main/java/org/scip_code/scip/Relationship.java create mode 100644 bindings/kotlin/src/main/java/org/scip_code/scip/RelationshipOrBuilder.java create mode 100644 bindings/kotlin/src/main/java/org/scip_code/scip/ScipProto.java create mode 100644 bindings/kotlin/src/main/java/org/scip_code/scip/Severity.java create mode 100644 bindings/kotlin/src/main/java/org/scip_code/scip/Signature.java create mode 100644 bindings/kotlin/src/main/java/org/scip_code/scip/SignatureOrBuilder.java create mode 100644 bindings/kotlin/src/main/java/org/scip_code/scip/Symbol.java create mode 100644 bindings/kotlin/src/main/java/org/scip_code/scip/SymbolInformation.java create mode 100644 bindings/kotlin/src/main/java/org/scip_code/scip/SymbolInformationOrBuilder.java create mode 100644 bindings/kotlin/src/main/java/org/scip_code/scip/SymbolOrBuilder.java create mode 100644 bindings/kotlin/src/main/java/org/scip_code/scip/SymbolRole.java create mode 100644 bindings/kotlin/src/main/java/org/scip_code/scip/SyntaxKind.java create mode 100644 bindings/kotlin/src/main/java/org/scip_code/scip/TextEncoding.java create mode 100644 bindings/kotlin/src/main/java/org/scip_code/scip/ToolInfo.java create mode 100644 bindings/kotlin/src/main/java/org/scip_code/scip/ToolInfoOrBuilder.java delete mode 100644 bindings/kotlin/src/main/java/scip/Scip.java rename bindings/kotlin/src/main/kotlin/{ => org/scip_code}/scip/DescriptorKt.kt (75%) rename bindings/kotlin/src/main/kotlin/{ => org/scip_code}/scip/DiagnosticKt.kt (76%) rename bindings/kotlin/src/main/kotlin/{ => org/scip_code}/scip/DocumentKt.kt (83%) rename bindings/kotlin/src/main/kotlin/{ => org/scip_code}/scip/IndexKt.kt (78%) rename bindings/kotlin/src/main/kotlin/{ => org/scip_code}/scip/MetadataKt.kt (81%) rename bindings/kotlin/src/main/kotlin/{ => org/scip_code}/scip/OccurrenceKt.kt (96%) rename bindings/kotlin/src/main/kotlin/{ => org/scip_code}/scip/PackageKt.kt (73%) rename bindings/kotlin/src/main/kotlin/{ => org/scip_code}/scip/RelationshipKt.kt (91%) rename bindings/kotlin/src/main/kotlin/{scip/ScipKt.proto.kt => org/scip_code/scip/ScipProtoKt.proto.kt} (87%) rename bindings/kotlin/src/main/kotlin/{ => org/scip_code}/scip/SignatureKt.kt (79%) rename bindings/kotlin/src/main/kotlin/{ => org/scip_code}/scip/SymbolInformationKt.kt (90%) rename bindings/kotlin/src/main/kotlin/{ => org/scip_code}/scip/SymbolKt.kt (78%) rename bindings/kotlin/src/main/kotlin/{ => org/scip_code}/scip/ToolInfoKt.kt (88%) create mode 100644 bindings/kotlin/src/main/proto/scip.proto diff --git a/.gitattributes b/.gitattributes index 2eb6336b..da771885 100644 --- a/.gitattributes +++ b/.gitattributes @@ -2,8 +2,8 @@ bindings/typescript/scip.ts linguist-generated=true bindings/go/scip/scip.pb.go linguist-generated=true bindings/rust/src/generated/scip.rs linguist-generated=true bindings/haskell/src/Proto/**.hs linguist-generated=true -bindings/java/src/main/java/scip/Scip.java linguist-generated=true -bindings/kotlin/src/main/java/scip/Scip.java linguist-generated=true -bindings/kotlin/src/main/kotlin/scip/**.kt linguist-generated=true +bindings/java/src/main/java/org/scip_code/scip/**.java linguist-generated=true +bindings/kotlin/src/main/java/org/scip_code/scip/**.java linguist-generated=true +bindings/kotlin/src/main/kotlin/org/scip_code/scip/**.kt linguist-generated=true docs/scip.md linguist-generated=true yarn.lock linguist-generated=true diff --git a/bindings/go/scip/scip.pb.go b/bindings/go/scip/scip.pb.go index fd9b87b6..4562272d 100644 --- a/bindings/go/scip/scip.pb.go +++ b/bindings/go/scip/scip.pb.go @@ -2976,7 +2976,8 @@ const file_scip_proto_rawDesc = "" + "\x03XML\x10\x1f\x12\a\n" + "\x03XSL\x10 \x12\b\n" + "\x04YAML\x10J\x12\a\n" + - "\x03Zig\x10&B-Z+github.com/scip-code/scip/bindings/go/scip/b\x06proto3" + "\x03Zig\x10&BN\n" + + "\x12org.scip_code.scipB\tScipProtoP\x01Z+github.com/scip-code/scip/bindings/go/scip/b\x06proto3" var ( file_scip_proto_rawDescOnce sync.Once diff --git a/bindings/haskell/src/Proto/Scip.hs b/bindings/haskell/src/Proto/Scip.hs index f478e2b7..5b938a9d 100644 --- a/bindings/haskell/src/Proto/Scip.hs +++ b/bindings/haskell/src/Proto/Scip.hs @@ -6654,9 +6654,10 @@ packedFileDescriptor \\ETXXML\DLE\US\DC2\a\n\ \\ETXXSL\DLE \DC2\b\n\ \\EOTYAML\DLEJ\DC2\a\n\ - \\ETXZig\DLE&B-Z+github.com/scip-code/scip/bindings/go/scip/J\227\190\STX\n\ + \\ETXZig\DLE&BN\n\ + \\DC2org.scip_code.scipB\tScipProtoP\SOHZ+github.com/scip-code/scip/bindings/go/scip/J\129\193\STX\n\ \\a\DC2\ENQ\n\ - \\NUL\128\a\SOH\n\ + \\NUL\134\a\SOH\n\ \\130\EOT\n\ \\SOH\f\DC2\ETX\n\ \\NUL\DC22\247\ETX An index contains one or more pieces of information about a given piece of\n\ @@ -6675,8 +6676,24 @@ packedFileDescriptor \\SOH\b\DC2\ETX\SO\NULB\n\ \\t\n\ \\STX\b\v\DC2\ETX\SO\NULB\n\ + \\b\n\ + \\SOH\b\DC2\ETX\SI\NUL\"\n\ + \\t\n\ + \\STX\b\n\ + \\DC2\ETX\SI\NUL\"\n\ + \\b\n\ + \\SOH\b\DC2\ETX\DC3\NUL*\n\ + \\231\SOH\n\ + \\STX\b\b\DC2\ETX\DC3\NUL*\SUB\219\SOH Avoid collision between the file-level outer class (which holds the file\n\ + \ descriptor and registerAllExtensions) and messages also called \"Scip*\"\n\ + \ once java_multiple_files emits each message as its own top-level class.\n\ + \\n\ + \\b\n\ + \\SOH\b\DC2\ETX\DC4\NUL+\n\ + \\t\n\ + \\STX\b\SOH\DC2\ETX\DC4\NUL+\n\ \\208\ETX\n\ - \\STX\EOT\NUL\DC2\EOT\SYN\NUL#\SOH\SUB\195\ETX Index represents a complete SCIP index for a workspace this is rooted at a\n\ + \\STX\EOT\NUL\DC2\EOT\FS\NUL)\SOH\SUB\195\ETX Index represents a complete SCIP index for a workspace this is rooted at a\n\ \ single directory. An Index message payload can have a large memory footprint\n\ \ and it's therefore recommended to emit and consume an Index payload one field\n\ \ value at a time. To permit streaming consumption of an Index payload, the\n\ @@ -6685,31 +6702,31 @@ packedFileDescriptor \\n\ \\n\ \\n\ - \\ETX\EOT\NUL\SOH\DC2\ETX\SYN\b\r\n\ + \\ETX\EOT\NUL\SOH\DC2\ETX\FS\b\r\n\ \)\n\ - \\EOT\EOT\NUL\STX\NUL\DC2\ETX\CAN\STX\CAN\SUB\FS Metadata about this index.\n\ + \\EOT\EOT\NUL\STX\NUL\DC2\ETX\RS\STX\CAN\SUB\FS Metadata about this index.\n\ \\n\ \\f\n\ - \\ENQ\EOT\NUL\STX\NUL\ACK\DC2\ETX\CAN\STX\n\ + \\ENQ\EOT\NUL\STX\NUL\ACK\DC2\ETX\RS\STX\n\ \\n\ \\f\n\ - \\ENQ\EOT\NUL\STX\NUL\SOH\DC2\ETX\CAN\v\DC3\n\ + \\ENQ\EOT\NUL\STX\NUL\SOH\DC2\ETX\RS\v\DC3\n\ \\f\n\ - \\ENQ\EOT\NUL\STX\NUL\ETX\DC2\ETX\CAN\SYN\ETB\n\ + \\ENQ\EOT\NUL\STX\NUL\ETX\DC2\ETX\RS\SYN\ETB\n\ \3\n\ - \\EOT\EOT\NUL\STX\SOH\DC2\ETX\SUB\STX\"\SUB& Documents that belong to this index.\n\ + \\EOT\EOT\NUL\STX\SOH\DC2\ETX \STX\"\SUB& Documents that belong to this index.\n\ \\n\ \\f\n\ - \\ENQ\EOT\NUL\STX\SOH\EOT\DC2\ETX\SUB\STX\n\ + \\ENQ\EOT\NUL\STX\SOH\EOT\DC2\ETX \STX\n\ \\n\ \\f\n\ - \\ENQ\EOT\NUL\STX\SOH\ACK\DC2\ETX\SUB\v\DC3\n\ + \\ENQ\EOT\NUL\STX\SOH\ACK\DC2\ETX \v\DC3\n\ \\f\n\ - \\ENQ\EOT\NUL\STX\SOH\SOH\DC2\ETX\SUB\DC4\GS\n\ + \\ENQ\EOT\NUL\STX\SOH\SOH\DC2\ETX \DC4\GS\n\ \\f\n\ - \\ENQ\EOT\NUL\STX\SOH\ETX\DC2\ETX\SUB !\n\ + \\ENQ\EOT\NUL\STX\SOH\ETX\DC2\ETX !\n\ \\246\ETX\n\ - \\EOT\EOT\NUL\STX\STX\DC2\ETX \STX2\SUB\233\STX (optional) Symbols that are referenced from this index but are defined in\n\ + \\EOT\EOT\NUL\STX\STX\DC2\ETX&\STX2\SUB\233\STX (optional) Symbols that are referenced from this index but are defined in\n\ \ an external package (a separate `Index` message). Leave this field empty\n\ \ if you assume the external package will get indexed separately. If the\n\ \ external package won't get indexed for some reason then you can use this\n\ @@ -6718,155 +6735,155 @@ packedFileDescriptor \ function in `IndexVisitor` and update `ParseStreaming`.\n\ \\n\ \\f\n\ - \\ENQ\EOT\NUL\STX\STX\EOT\DC2\ETX \STX\n\ + \\ENQ\EOT\NUL\STX\STX\EOT\DC2\ETX&\STX\n\ \\n\ \\f\n\ - \\ENQ\EOT\NUL\STX\STX\ACK\DC2\ETX \v\FS\n\ + \\ENQ\EOT\NUL\STX\STX\ACK\DC2\ETX&\v\FS\n\ \\f\n\ - \\ENQ\EOT\NUL\STX\STX\SOH\DC2\ETX \GS-\n\ + \\ENQ\EOT\NUL\STX\STX\SOH\DC2\ETX&\GS-\n\ \\f\n\ - \\ENQ\EOT\NUL\STX\STX\ETX\DC2\ETX 01\n\ + \\ENQ\EOT\NUL\STX\STX\ETX\DC2\ETX&01\n\ \\n\ \\n\ - \\STX\EOT\SOH\DC2\EOT%\NUL2\SOH\n\ + \\STX\EOT\SOH\DC2\EOT+\NUL8\SOH\n\ \\n\ \\n\ - \\ETX\EOT\SOH\SOH\DC2\ETX%\b\DLE\n\ + \\ETX\EOT\SOH\SOH\DC2\ETX+\b\DLE\n\ \N\n\ - \\EOT\EOT\SOH\STX\NUL\DC2\ETX'\STX\RS\SUBA Which version of this protocol was used to generate this index?\n\ + \\EOT\EOT\SOH\STX\NUL\DC2\ETX-\STX\RS\SUBA Which version of this protocol was used to generate this index?\n\ \\n\ \\f\n\ - \\ENQ\EOT\SOH\STX\NUL\ACK\DC2\ETX'\STX\DC1\n\ + \\ENQ\EOT\SOH\STX\NUL\ACK\DC2\ETX-\STX\DC1\n\ \\f\n\ - \\ENQ\EOT\SOH\STX\NUL\SOH\DC2\ETX'\DC2\EM\n\ + \\ENQ\EOT\SOH\STX\NUL\SOH\DC2\ETX-\DC2\EM\n\ \\f\n\ - \\ENQ\EOT\SOH\STX\NUL\ETX\DC2\ETX'\FS\GS\n\ + \\ENQ\EOT\SOH\STX\NUL\ETX\DC2\ETX-\FS\GS\n\ \C\n\ - \\EOT\EOT\SOH\STX\SOH\DC2\ETX)\STX\EM\SUB6 Information about the tool that produced this index.\n\ + \\EOT\EOT\SOH\STX\SOH\DC2\ETX/\STX\EM\SUB6 Information about the tool that produced this index.\n\ \\n\ \\f\n\ - \\ENQ\EOT\SOH\STX\SOH\ACK\DC2\ETX)\STX\n\ + \\ENQ\EOT\SOH\STX\SOH\ACK\DC2\ETX/\STX\n\ \\n\ \\f\n\ - \\ENQ\EOT\SOH\STX\SOH\SOH\DC2\ETX)\v\DC4\n\ + \\ENQ\EOT\SOH\STX\SOH\SOH\DC2\ETX/\v\DC4\n\ \\f\n\ - \\ENQ\EOT\SOH\STX\SOH\ETX\DC2\ETX)\ETB\CAN\n\ + \\ENQ\EOT\SOH\STX\SOH\ETX\DC2\ETX/\ETB\CAN\n\ \\162\SOH\n\ - \\EOT\EOT\SOH\STX\STX\DC2\ETX-\STX\SUB\SUB\148\SOH URI-encoded absolute path to the root directory of this index. All\n\ + \\EOT\EOT\SOH\STX\STX\DC2\ETX3\STX\SUB\SUB\148\SOH URI-encoded absolute path to the root directory of this index. All\n\ \ documents in this index must appear in a subdirectory of this root\n\ \ directory.\n\ \\n\ \\f\n\ - \\ENQ\EOT\SOH\STX\STX\ENQ\DC2\ETX-\STX\b\n\ + \\ENQ\EOT\SOH\STX\STX\ENQ\DC2\ETX3\STX\b\n\ \\f\n\ - \\ENQ\EOT\SOH\STX\STX\SOH\DC2\ETX-\t\NAK\n\ + \\ENQ\EOT\SOH\STX\STX\SOH\DC2\ETX3\t\NAK\n\ \\f\n\ - \\ENQ\EOT\SOH\STX\STX\ETX\DC2\ETX-\CAN\EM\n\ + \\ENQ\EOT\SOH\STX\STX\ETX\DC2\ETX3\CAN\EM\n\ \\224\SOH\n\ - \\EOT\EOT\SOH\STX\ETX\DC2\ETX1\STX*\SUB\210\SOH Text encoding of the source files on disk that are referenced from\n\ + \\EOT\EOT\SOH\STX\ETX\DC2\ETX7\STX*\SUB\210\SOH Text encoding of the source files on disk that are referenced from\n\ \ `Document.relative_path`. This value is unrelated to the `Document.text`\n\ \ field, which is a Protobuf string and hence must be UTF-8 encoded.\n\ \\n\ \\f\n\ - \\ENQ\EOT\SOH\STX\ETX\ACK\DC2\ETX1\STX\SO\n\ + \\ENQ\EOT\SOH\STX\ETX\ACK\DC2\ETX7\STX\SO\n\ \\f\n\ - \\ENQ\EOT\SOH\STX\ETX\SOH\DC2\ETX1\SI%\n\ + \\ENQ\EOT\SOH\STX\ETX\SOH\DC2\ETX7\SI%\n\ \\f\n\ - \\ENQ\EOT\SOH\STX\ETX\ETX\DC2\ETX1()\n\ + \\ENQ\EOT\SOH\STX\ETX\ETX\DC2\ETX7()\n\ \\n\ \\n\ - \\STX\ENQ\NUL\DC2\EOT4\NUL6\SOH\n\ + \\STX\ENQ\NUL\DC2\EOT:\NUL<\SOH\n\ \\n\ \\n\ - \\ETX\ENQ\NUL\SOH\DC2\ETX4\ENQ\DC4\n\ + \\ETX\ENQ\NUL\SOH\DC2\ETX:\ENQ\DC4\n\ \\v\n\ - \\EOT\ENQ\NUL\STX\NUL\DC2\ETX5\STX!\n\ + \\EOT\ENQ\NUL\STX\NUL\DC2\ETX;\STX!\n\ \\f\n\ - \\ENQ\ENQ\NUL\STX\NUL\SOH\DC2\ETX5\STX\FS\n\ + \\ENQ\ENQ\NUL\STX\NUL\SOH\DC2\ETX;\STX\FS\n\ \\f\n\ - \\ENQ\ENQ\NUL\STX\NUL\STX\DC2\ETX5\US \n\ + \\ENQ\ENQ\NUL\STX\NUL\STX\DC2\ETX;\US \n\ \\n\ \\n\ - \\STX\ENQ\SOH\DC2\EOT8\NUL<\SOH\n\ + \\STX\ENQ\SOH\DC2\EOT>\NULB\SOH\n\ \\n\ \\n\ - \\ETX\ENQ\SOH\SOH\DC2\ETX8\ENQ\DC1\n\ + \\ETX\ENQ\SOH\SOH\DC2\ETX>\ENQ\DC1\n\ \\v\n\ - \\EOT\ENQ\SOH\STX\NUL\DC2\ETX9\STX\RS\n\ + \\EOT\ENQ\SOH\STX\NUL\DC2\ETX?\STX\RS\n\ \\f\n\ - \\ENQ\ENQ\SOH\STX\NUL\SOH\DC2\ETX9\STX\EM\n\ + \\ENQ\ENQ\SOH\STX\NUL\SOH\DC2\ETX?\STX\EM\n\ \\f\n\ - \\ENQ\ENQ\SOH\STX\NUL\STX\DC2\ETX9\FS\GS\n\ + \\ENQ\ENQ\SOH\STX\NUL\STX\DC2\ETX?\FS\GS\n\ \\v\n\ - \\EOT\ENQ\SOH\STX\SOH\DC2\ETX:\STX\v\n\ + \\EOT\ENQ\SOH\STX\SOH\DC2\ETX@\STX\v\n\ \\f\n\ - \\ENQ\ENQ\SOH\STX\SOH\SOH\DC2\ETX:\STX\ACK\n\ + \\ENQ\ENQ\SOH\STX\SOH\SOH\DC2\ETX@\STX\ACK\n\ \\f\n\ - \\ENQ\ENQ\SOH\STX\SOH\STX\DC2\ETX:\t\n\ + \\ENQ\ENQ\SOH\STX\SOH\STX\DC2\ETX@\t\n\ \\n\ \\v\n\ - \\EOT\ENQ\SOH\STX\STX\DC2\ETX;\STX\f\n\ + \\EOT\ENQ\SOH\STX\STX\DC2\ETXA\STX\f\n\ \\f\n\ - \\ENQ\ENQ\SOH\STX\STX\SOH\DC2\ETX;\STX\a\n\ + \\ENQ\ENQ\SOH\STX\STX\SOH\DC2\ETXA\STX\a\n\ \\f\n\ - \\ENQ\ENQ\SOH\STX\STX\STX\DC2\ETX;\n\ + \\ENQ\ENQ\SOH\STX\STX\STX\DC2\ETXA\n\ \\v\n\ \\n\ \\n\ - \\STX\EOT\STX\DC2\EOT>\NULE\SOH\n\ + \\STX\EOT\STX\DC2\EOTD\NULK\SOH\n\ \\n\ \\n\ - \\ETX\EOT\STX\SOH\DC2\ETX>\b\DLE\n\ + \\ETX\EOT\STX\SOH\DC2\ETXD\b\DLE\n\ \<\n\ - \\EOT\EOT\STX\STX\NUL\DC2\ETX@\STX\DC2\SUB/ Name of the indexer that produced this index.\n\ + \\EOT\EOT\STX\STX\NUL\DC2\ETXF\STX\DC2\SUB/ Name of the indexer that produced this index.\n\ \\n\ \\f\n\ - \\ENQ\EOT\STX\STX\NUL\ENQ\DC2\ETX@\STX\b\n\ + \\ENQ\EOT\STX\STX\NUL\ENQ\DC2\ETXF\STX\b\n\ \\f\n\ - \\ENQ\EOT\STX\STX\NUL\SOH\DC2\ETX@\t\r\n\ + \\ENQ\EOT\STX\STX\NUL\SOH\DC2\ETXF\t\r\n\ \\f\n\ - \\ENQ\EOT\STX\STX\NUL\ETX\DC2\ETX@\DLE\DC1\n\ + \\ENQ\EOT\STX\STX\NUL\ETX\DC2\ETXF\DLE\DC1\n\ \?\n\ - \\EOT\EOT\STX\STX\SOH\DC2\ETXB\STX\NAK\SUB2 Version of the indexer that produced this index.\n\ + \\EOT\EOT\STX\STX\SOH\DC2\ETXH\STX\NAK\SUB2 Version of the indexer that produced this index.\n\ \\n\ \\f\n\ - \\ENQ\EOT\STX\STX\SOH\ENQ\DC2\ETXB\STX\b\n\ + \\ENQ\EOT\STX\STX\SOH\ENQ\DC2\ETXH\STX\b\n\ \\f\n\ - \\ENQ\EOT\STX\STX\SOH\SOH\DC2\ETXB\t\DLE\n\ + \\ENQ\EOT\STX\STX\SOH\SOH\DC2\ETXH\t\DLE\n\ \\f\n\ - \\ENQ\EOT\STX\STX\SOH\ETX\DC2\ETXB\DC3\DC4\n\ + \\ENQ\EOT\STX\STX\SOH\ETX\DC2\ETXH\DC3\DC4\n\ \L\n\ - \\EOT\EOT\STX\STX\STX\DC2\ETXD\STX \SUB? Command-line arguments that were used to invoke this indexer.\n\ + \\EOT\EOT\STX\STX\STX\DC2\ETXJ\STX \SUB? Command-line arguments that were used to invoke this indexer.\n\ \\n\ \\f\n\ - \\ENQ\EOT\STX\STX\STX\EOT\DC2\ETXD\STX\n\ + \\ENQ\EOT\STX\STX\STX\EOT\DC2\ETXJ\STX\n\ \\n\ \\f\n\ - \\ENQ\EOT\STX\STX\STX\ENQ\DC2\ETXD\v\DC1\n\ + \\ENQ\EOT\STX\STX\STX\ENQ\DC2\ETXJ\v\DC1\n\ \\f\n\ - \\ENQ\EOT\STX\STX\STX\SOH\DC2\ETXD\DC2\ESC\n\ + \\ENQ\EOT\STX\STX\STX\SOH\DC2\ETXJ\DC2\ESC\n\ \\f\n\ - \\ENQ\EOT\STX\STX\STX\ETX\DC2\ETXD\RS\US\n\ + \\ENQ\EOT\STX\STX\STX\ETX\DC2\ETXJ\RS\US\n\ \H\n\ - \\STX\EOT\ETX\DC2\EOTH\NULs\SOH\SUB< Document defines the metadata about a source file on disk.\n\ + \\STX\EOT\ETX\DC2\EOTN\NULy\SOH\SUB< Document defines the metadata about a source file on disk.\n\ \\n\ \\n\ \\n\ - \\ETX\EOT\ETX\SOH\DC2\ETXH\b\DLE\n\ + \\ETX\EOT\ETX\SOH\DC2\ETXN\b\DLE\n\ \\165\STX\n\ - \\EOT\EOT\ETX\STX\NUL\DC2\ETXM\STX\SYN\SUB\151\STX The string ID for the programming language this file is written in.\n\ + \\EOT\EOT\ETX\STX\NUL\DC2\ETXS\STX\SYN\SUB\151\STX The string ID for the programming language this file is written in.\n\ \ The `Language` enum contains the names of most common programming languages.\n\ \ This field is typed as a string to permit any programming language, including\n\ \ ones that are not specified by the `Language` enum.\n\ \\n\ \\f\n\ - \\ENQ\EOT\ETX\STX\NUL\ENQ\DC2\ETXM\STX\b\n\ + \\ENQ\EOT\ETX\STX\NUL\ENQ\DC2\ETXS\STX\b\n\ \\f\n\ - \\ENQ\EOT\ETX\STX\NUL\SOH\DC2\ETXM\t\DC1\n\ + \\ENQ\EOT\ETX\STX\NUL\SOH\DC2\ETXS\t\DC1\n\ \\f\n\ - \\ENQ\EOT\ETX\STX\NUL\ETX\DC2\ETXM\DC4\NAK\n\ + \\ENQ\EOT\ETX\STX\NUL\ETX\DC2\ETXS\DC4\NAK\n\ \\181\ETX\n\ - \\EOT\EOT\ETX\STX\SOH\DC2\ETXW\STX\ESC\SUB\167\ETX (Required) Unique path to the text document.\n\ + \\EOT\EOT\ETX\STX\SOH\DC2\ETX]\STX\ESC\SUB\167\ETX (Required) Unique path to the text document.\n\ \\n\ \ 1. The path must be relative to the directory supplied in the associated\n\ \ `Metadata.project_root`.\n\ @@ -6877,54 +6894,54 @@ packedFileDescriptor \ or '.' or '..'.\n\ \\n\ \\f\n\ - \\ENQ\EOT\ETX\STX\SOH\ENQ\DC2\ETXW\STX\b\n\ + \\ENQ\EOT\ETX\STX\SOH\ENQ\DC2\ETX]\STX\b\n\ \\f\n\ - \\ENQ\EOT\ETX\STX\SOH\SOH\DC2\ETXW\t\SYN\n\ + \\ENQ\EOT\ETX\STX\SOH\SOH\DC2\ETX]\t\SYN\n\ \\f\n\ - \\ENQ\EOT\ETX\STX\SOH\ETX\DC2\ETXW\EM\SUB\n\ + \\ENQ\EOT\ETX\STX\SOH\ETX\DC2\ETX]\EM\SUB\n\ \4\n\ - \\EOT\EOT\ETX\STX\STX\DC2\ETXY\STX&\SUB' Occurrences that appear in this file.\n\ + \\EOT\EOT\ETX\STX\STX\DC2\ETX_\STX&\SUB' Occurrences that appear in this file.\n\ \\n\ \\f\n\ - \\ENQ\EOT\ETX\STX\STX\EOT\DC2\ETXY\STX\n\ + \\ENQ\EOT\ETX\STX\STX\EOT\DC2\ETX_\STX\n\ \\n\ \\f\n\ - \\ENQ\EOT\ETX\STX\STX\ACK\DC2\ETXY\v\NAK\n\ + \\ENQ\EOT\ETX\STX\STX\ACK\DC2\ETX_\v\NAK\n\ \\f\n\ - \\ENQ\EOT\ETX\STX\STX\SOH\DC2\ETXY\SYN!\n\ + \\ENQ\EOT\ETX\STX\STX\SOH\DC2\ETX_\SYN!\n\ \\f\n\ - \\ENQ\EOT\ETX\STX\STX\ETX\DC2\ETXY$%\n\ + \\ENQ\EOT\ETX\STX\STX\ETX\DC2\ETX_$%\n\ \\234\SOH\n\ - \\EOT\EOT\ETX\STX\ETX\DC2\ETX_\STX)\SUB\220\SOH Symbols that are \"defined\" within this document.\n\ + \\EOT\EOT\ETX\STX\ETX\DC2\ETXe\STX)\SUB\220\SOH Symbols that are \"defined\" within this document.\n\ \\n\ \ This should include symbols which technically do not have any definition,\n\ \ but have a reference and are defined by some other symbol (see\n\ \ Relationship.is_definition).\n\ \\n\ \\f\n\ - \\ENQ\EOT\ETX\STX\ETX\EOT\DC2\ETX_\STX\n\ + \\ENQ\EOT\ETX\STX\ETX\EOT\DC2\ETXe\STX\n\ \\n\ \\f\n\ - \\ENQ\EOT\ETX\STX\ETX\ACK\DC2\ETX_\v\FS\n\ + \\ENQ\EOT\ETX\STX\ETX\ACK\DC2\ETXe\v\FS\n\ \\f\n\ - \\ENQ\EOT\ETX\STX\ETX\SOH\DC2\ETX_\GS$\n\ + \\ENQ\EOT\ETX\STX\ETX\SOH\DC2\ETXe\GS$\n\ \\f\n\ - \\ENQ\EOT\ETX\STX\ETX\ETX\DC2\ETX_'(\n\ + \\ENQ\EOT\ETX\STX\ETX\ETX\DC2\ETXe'(\n\ \\128\ETX\n\ - \\EOT\EOT\ETX\STX\EOT\DC2\ETXf\STX\DC2\SUB\242\STX (optional) Text contents of this document. Indexers are not expected to\n\ + \\EOT\EOT\ETX\STX\EOT\DC2\ETXl\STX\DC2\SUB\242\STX (optional) Text contents of this document. Indexers are not expected to\n\ \ include the text by default. It's preferable that clients read the text\n\ \ contents from the file system by resolving the absolute path from joining\n\ \ `Index.metadata.project_root` and `Document.relative_path`. This field\n\ \ can be useful for testing or when working with virtual/in-memory documents.\n\ \\n\ \\f\n\ - \\ENQ\EOT\ETX\STX\EOT\ENQ\DC2\ETXf\STX\b\n\ + \\ENQ\EOT\ETX\STX\EOT\ENQ\DC2\ETXl\STX\b\n\ \\f\n\ - \\ENQ\EOT\ETX\STX\EOT\SOH\DC2\ETXf\t\r\n\ + \\ENQ\EOT\ETX\STX\EOT\SOH\DC2\ETXl\t\r\n\ \\f\n\ - \\ENQ\EOT\ETX\STX\EOT\ETX\DC2\ETXf\DLE\DC1\n\ + \\ENQ\EOT\ETX\STX\EOT\ETX\DC2\ETXl\DLE\DC1\n\ \\231\ETX\n\ - \\EOT\EOT\ETX\STX\ENQ\DC2\ETXr\STX)\SUB\217\ETX Specifies the encoding used for source ranges in this Document.\n\ + \\EOT\EOT\ETX\STX\ENQ\DC2\ETXx\STX)\SUB\217\ETX Specifies the encoding used for source ranges in this Document.\n\ \\n\ \ Usually, this will match the type used to index the string type\n\ \ in the indexer's implementation language in O(1) time.\n\ @@ -6936,27 +6953,27 @@ packedFileDescriptor \ use UTF8ByteOffsetFromLineStart.\n\ \\n\ \\f\n\ - \\ENQ\EOT\ETX\STX\ENQ\ACK\DC2\ETXr\STX\DC2\n\ + \\ENQ\EOT\ETX\STX\ENQ\ACK\DC2\ETXx\STX\DC2\n\ \\f\n\ - \\ENQ\EOT\ETX\STX\ENQ\SOH\DC2\ETXr\DC3$\n\ + \\ENQ\EOT\ETX\STX\ENQ\SOH\DC2\ETXx\DC3$\n\ \\f\n\ - \\ENQ\EOT\ETX\STX\ENQ\ETX\DC2\ETXr'(\n\ + \\ENQ\EOT\ETX\STX\ENQ\ETX\DC2\ETXx'(\n\ \Q\n\ - \\STX\ENQ\STX\DC2\ENQv\NUL\142\SOH\SOH\SUBD Encoding used to interpret the 'character' value in source ranges.\n\ + \\STX\ENQ\STX\DC2\ENQ|\NUL\148\SOH\SOH\SUBD Encoding used to interpret the 'character' value in source ranges.\n\ \\n\ \\n\ \\n\ - \\ETX\ENQ\STX\SOH\DC2\ETXv\ENQ\NAK\n\ + \\ETX\ENQ\STX\SOH\DC2\ETX|\ENQ\NAK\n\ \\147\SOH\n\ - \\EOT\ENQ\STX\STX\NUL\DC2\ETXy\STX\"\SUB\133\SOH Default value. This value should not be used by new SCIP indexers\n\ + \\EOT\ENQ\STX\STX\NUL\DC2\ETX\DEL\STX\"\SUB\133\SOH Default value. This value should not be used by new SCIP indexers\n\ \ so that a consumer can process the SCIP index without ambiguity.\n\ \\n\ \\f\n\ - \\ENQ\ENQ\STX\STX\NUL\SOH\DC2\ETXy\STX\GS\n\ + \\ENQ\ENQ\STX\STX\NUL\SOH\DC2\ETX\DEL\STX\GS\n\ \\f\n\ - \\ENQ\ENQ\STX\STX\NUL\STX\DC2\ETXy !\n\ + \\ENQ\ENQ\STX\STX\NUL\STX\DC2\ETX\DEL !\n\ \\247\SOH\n\ - \\EOT\ENQ\STX\STX\SOH\DC2\EOT\128\SOH\STX&\SUB\232\SOH The 'character' value is interpreted as an offset in terms\n\ + \\EOT\ENQ\STX\STX\SOH\DC2\EOT\134\SOH\STX&\SUB\232\SOH The 'character' value is interpreted as an offset in terms\n\ \ of UTF-8 code units (i.e. bytes).\n\ \\n\ \ Example: For the string \"\240\159\154\128 Woo\" in UTF-8, the bytes are\n\ @@ -6964,11 +6981,11 @@ packedFileDescriptor \ would be 5.\n\ \\n\ \\r\n\ - \\ENQ\ENQ\STX\STX\SOH\SOH\DC2\EOT\128\SOH\STX!\n\ + \\ENQ\ENQ\STX\STX\SOH\SOH\DC2\EOT\134\SOH\STX!\n\ \\r\n\ - \\ENQ\ENQ\STX\STX\SOH\STX\DC2\EOT\128\SOH$%\n\ + \\ENQ\ENQ\STX\STX\SOH\STX\DC2\EOT\134\SOH$%\n\ \\130\STX\n\ - \\EOT\ENQ\STX\STX\STX\DC2\EOT\135\SOH\STX'\SUB\243\SOH The 'character' value is interpreted as an offset in terms\n\ + \\EOT\ENQ\STX\STX\STX\DC2\EOT\141\SOH\STX'\SUB\243\SOH The 'character' value is interpreted as an offset in terms\n\ \ of UTF-16 code units (each is 2 bytes).\n\ \\n\ \ Example: For the string \"\240\159\154\128 Woo\", the UTF-16 code units are\n\ @@ -6976,22 +6993,22 @@ packedFileDescriptor \ would be 3.\n\ \\n\ \\r\n\ - \\ENQ\ENQ\STX\STX\STX\SOH\DC2\EOT\135\SOH\STX\"\n\ + \\ENQ\ENQ\STX\STX\STX\SOH\DC2\EOT\141\SOH\STX\"\n\ \\r\n\ - \\ENQ\ENQ\STX\STX\STX\STX\DC2\EOT\135\SOH%&\n\ + \\ENQ\ENQ\STX\STX\STX\STX\DC2\EOT\141\SOH%&\n\ \\245\SOH\n\ - \\EOT\ENQ\STX\STX\ETX\DC2\EOT\141\SOH\STX'\SUB\230\SOH The 'character' value is interpreted as an offset in terms\n\ + \\EOT\ENQ\STX\STX\ETX\DC2\EOT\147\SOH\STX'\SUB\230\SOH The 'character' value is interpreted as an offset in terms\n\ \ of UTF-32 code units (each is 4 bytes).\n\ \\n\ \ Example: For the string \"\240\159\154\128 Woo\", the UTF-32 code units are\n\ \ ['\240\159\154\128', ' ', 'W', 'o', 'o'], so the offset for 'W' would be 2.\n\ \\n\ \\r\n\ - \\ENQ\ENQ\STX\STX\ETX\SOH\DC2\EOT\141\SOH\STX\"\n\ + \\ENQ\ENQ\STX\STX\ETX\SOH\DC2\EOT\147\SOH\STX\"\n\ \\r\n\ - \\ENQ\ENQ\STX\STX\ETX\STX\DC2\EOT\141\SOH%&\n\ + \\ENQ\ENQ\STX\STX\ETX\STX\DC2\EOT\147\SOH%&\n\ \\204\DC2\n\ - \\STX\EOT\EOT\DC2\ACK\186\SOH\NUL\190\SOH\SOH\SUB\189\DC2 Symbol is similar to a URI, it identifies a class, method, or a local\n\ + \\STX\EOT\EOT\DC2\ACK\192\SOH\NUL\196\SOH\SOH\SUB\189\DC2 Symbol is similar to a URI, it identifies a class, method, or a local\n\ \ variable. `SymbolInformation` contains rich metadata about symbols such as\n\ \ the docstring.\n\ \\n\ @@ -7035,263 +7052,263 @@ packedFileDescriptor \ and cannot be accessed from outside the Document.\n\ \\n\ \\v\n\ - \\ETX\EOT\EOT\SOH\DC2\EOT\186\SOH\b\SO\n\ + \\ETX\EOT\EOT\SOH\DC2\EOT\192\SOH\b\SO\n\ \\f\n\ - \\EOT\EOT\EOT\STX\NUL\DC2\EOT\187\SOH\STX\DC4\n\ + \\EOT\EOT\EOT\STX\NUL\DC2\EOT\193\SOH\STX\DC4\n\ \\r\n\ - \\ENQ\EOT\EOT\STX\NUL\ENQ\DC2\EOT\187\SOH\STX\b\n\ + \\ENQ\EOT\EOT\STX\NUL\ENQ\DC2\EOT\193\SOH\STX\b\n\ \\r\n\ - \\ENQ\EOT\EOT\STX\NUL\SOH\DC2\EOT\187\SOH\t\SI\n\ + \\ENQ\EOT\EOT\STX\NUL\SOH\DC2\EOT\193\SOH\t\SI\n\ \\r\n\ - \\ENQ\EOT\EOT\STX\NUL\ETX\DC2\EOT\187\SOH\DC2\DC3\n\ + \\ENQ\EOT\EOT\STX\NUL\ETX\DC2\EOT\193\SOH\DC2\DC3\n\ \\f\n\ - \\EOT\EOT\EOT\STX\SOH\DC2\EOT\188\SOH\STX\SYN\n\ + \\EOT\EOT\EOT\STX\SOH\DC2\EOT\194\SOH\STX\SYN\n\ \\r\n\ - \\ENQ\EOT\EOT\STX\SOH\ACK\DC2\EOT\188\SOH\STX\t\n\ + \\ENQ\EOT\EOT\STX\SOH\ACK\DC2\EOT\194\SOH\STX\t\n\ \\r\n\ - \\ENQ\EOT\EOT\STX\SOH\SOH\DC2\EOT\188\SOH\n\ + \\ENQ\EOT\EOT\STX\SOH\SOH\DC2\EOT\194\SOH\n\ \\DC1\n\ \\r\n\ - \\ENQ\EOT\EOT\STX\SOH\ETX\DC2\EOT\188\SOH\DC4\NAK\n\ + \\ENQ\EOT\EOT\STX\SOH\ETX\DC2\EOT\194\SOH\DC4\NAK\n\ \\f\n\ - \\EOT\EOT\EOT\STX\STX\DC2\EOT\189\SOH\STX&\n\ + \\EOT\EOT\EOT\STX\STX\DC2\EOT\195\SOH\STX&\n\ \\r\n\ - \\ENQ\EOT\EOT\STX\STX\EOT\DC2\EOT\189\SOH\STX\n\ + \\ENQ\EOT\EOT\STX\STX\EOT\DC2\EOT\195\SOH\STX\n\ \\n\ \\r\n\ - \\ENQ\EOT\EOT\STX\STX\ACK\DC2\EOT\189\SOH\v\NAK\n\ + \\ENQ\EOT\EOT\STX\STX\ACK\DC2\EOT\195\SOH\v\NAK\n\ \\r\n\ - \\ENQ\EOT\EOT\STX\STX\SOH\DC2\EOT\189\SOH\SYN!\n\ + \\ENQ\EOT\EOT\STX\STX\SOH\DC2\EOT\195\SOH\SYN!\n\ \\r\n\ - \\ENQ\EOT\EOT\STX\STX\ETX\DC2\EOT\189\SOH$%\n\ + \\ENQ\EOT\EOT\STX\STX\ETX\DC2\EOT\195\SOH$%\n\ \q\n\ - \\STX\EOT\ENQ\DC2\ACK\195\SOH\NUL\199\SOH\SOH\SUBc Unit of packaging and distribution.\n\ + \\STX\EOT\ENQ\DC2\ACK\201\SOH\NUL\205\SOH\SOH\SUBc Unit of packaging and distribution.\n\ \\n\ \ NOTE: This corresponds to a module in Go and JVM languages.\n\ \\n\ \\v\n\ - \\ETX\EOT\ENQ\SOH\DC2\EOT\195\SOH\b\SI\n\ + \\ETX\EOT\ENQ\SOH\DC2\EOT\201\SOH\b\SI\n\ \\f\n\ - \\EOT\EOT\ENQ\STX\NUL\DC2\EOT\196\SOH\STX\NAK\n\ + \\EOT\EOT\ENQ\STX\NUL\DC2\EOT\202\SOH\STX\NAK\n\ \\r\n\ - \\ENQ\EOT\ENQ\STX\NUL\ENQ\DC2\EOT\196\SOH\STX\b\n\ + \\ENQ\EOT\ENQ\STX\NUL\ENQ\DC2\EOT\202\SOH\STX\b\n\ \\r\n\ - \\ENQ\EOT\ENQ\STX\NUL\SOH\DC2\EOT\196\SOH\t\DLE\n\ + \\ENQ\EOT\ENQ\STX\NUL\SOH\DC2\EOT\202\SOH\t\DLE\n\ \\r\n\ - \\ENQ\EOT\ENQ\STX\NUL\ETX\DC2\EOT\196\SOH\DC3\DC4\n\ + \\ENQ\EOT\ENQ\STX\NUL\ETX\DC2\EOT\202\SOH\DC3\DC4\n\ \\f\n\ - \\EOT\EOT\ENQ\STX\SOH\DC2\EOT\197\SOH\STX\DC2\n\ + \\EOT\EOT\ENQ\STX\SOH\DC2\EOT\203\SOH\STX\DC2\n\ \\r\n\ - \\ENQ\EOT\ENQ\STX\SOH\ENQ\DC2\EOT\197\SOH\STX\b\n\ + \\ENQ\EOT\ENQ\STX\SOH\ENQ\DC2\EOT\203\SOH\STX\b\n\ \\r\n\ - \\ENQ\EOT\ENQ\STX\SOH\SOH\DC2\EOT\197\SOH\t\r\n\ + \\ENQ\EOT\ENQ\STX\SOH\SOH\DC2\EOT\203\SOH\t\r\n\ \\r\n\ - \\ENQ\EOT\ENQ\STX\SOH\ETX\DC2\EOT\197\SOH\DLE\DC1\n\ + \\ENQ\EOT\ENQ\STX\SOH\ETX\DC2\EOT\203\SOH\DLE\DC1\n\ \\f\n\ - \\EOT\EOT\ENQ\STX\STX\DC2\EOT\198\SOH\STX\NAK\n\ + \\EOT\EOT\ENQ\STX\STX\DC2\EOT\204\SOH\STX\NAK\n\ \\r\n\ - \\ENQ\EOT\ENQ\STX\STX\ENQ\DC2\EOT\198\SOH\STX\b\n\ + \\ENQ\EOT\ENQ\STX\STX\ENQ\DC2\EOT\204\SOH\STX\b\n\ \\r\n\ - \\ENQ\EOT\ENQ\STX\STX\SOH\DC2\EOT\198\SOH\t\DLE\n\ + \\ENQ\EOT\ENQ\STX\STX\SOH\DC2\EOT\204\SOH\t\DLE\n\ \\r\n\ - \\ENQ\EOT\ENQ\STX\STX\ETX\DC2\EOT\198\SOH\DC3\DC4\n\ + \\ENQ\EOT\ENQ\STX\STX\ETX\DC2\EOT\204\SOH\DC3\DC4\n\ \\f\n\ - \\STX\EOT\ACK\DC2\ACK\201\SOH\NUL\226\SOH\SOH\n\ + \\STX\EOT\ACK\DC2\ACK\207\SOH\NUL\232\SOH\SOH\n\ \\v\n\ - \\ETX\EOT\ACK\SOH\DC2\EOT\201\SOH\b\DC2\n\ + \\ETX\EOT\ACK\SOH\DC2\EOT\207\SOH\b\DC2\n\ \\SO\n\ - \\EOT\EOT\ACK\EOT\NUL\DC2\ACK\202\SOH\STX\220\SOH\ETX\n\ + \\EOT\EOT\ACK\EOT\NUL\DC2\ACK\208\SOH\STX\226\SOH\ETX\n\ \\r\n\ - \\ENQ\EOT\ACK\EOT\NUL\SOH\DC2\EOT\202\SOH\a\r\n\ + \\ENQ\EOT\ACK\EOT\NUL\SOH\DC2\EOT\208\SOH\a\r\n\ \\r\n\ - \\ENQ\EOT\ACK\EOT\NUL\ETX\DC2\EOT\203\SOH\EOT\RS\n\ + \\ENQ\EOT\ACK\EOT\NUL\ETX\DC2\EOT\209\SOH\EOT\RS\n\ \\SO\n\ - \\ACK\EOT\ACK\EOT\NUL\ETX\STX\DC2\EOT\203\SOH\EOT\RS\n\ + \\ACK\EOT\ACK\EOT\NUL\ETX\STX\DC2\EOT\209\SOH\EOT\RS\n\ \\SO\n\ - \\ACK\EOT\ACK\EOT\NUL\STX\NUL\DC2\EOT\204\SOH\EOT\SUB\n\ + \\ACK\EOT\ACK\EOT\NUL\STX\NUL\DC2\EOT\210\SOH\EOT\SUB\n\ \\SI\n\ - \\a\EOT\ACK\EOT\NUL\STX\NUL\SOH\DC2\EOT\204\SOH\EOT\NAK\n\ + \\a\EOT\ACK\EOT\NUL\STX\NUL\SOH\DC2\EOT\210\SOH\EOT\NAK\n\ \\SI\n\ - \\a\EOT\ACK\EOT\NUL\STX\NUL\STX\DC2\EOT\204\SOH\CAN\EM\n\ + \\a\EOT\ACK\EOT\NUL\STX\NUL\STX\DC2\EOT\210\SOH\CAN\EM\n\ \}\n\ - \\ACK\EOT\ACK\EOT\NUL\STX\SOH\DC2\EOT\208\SOH\EOT\DC2\SUBm Unit of code abstraction and/or namespacing.\n\ + \\ACK\EOT\ACK\EOT\NUL\STX\SOH\DC2\EOT\214\SOH\EOT\DC2\SUBm Unit of code abstraction and/or namespacing.\n\ \\n\ \ NOTE: This corresponds to a package in Go and JVM languages.\n\ \\n\ \\SI\n\ - \\a\EOT\ACK\EOT\NUL\STX\SOH\SOH\DC2\EOT\208\SOH\EOT\r\n\ + \\a\EOT\ACK\EOT\NUL\STX\SOH\SOH\DC2\EOT\214\SOH\EOT\r\n\ \\SI\n\ - \\a\EOT\ACK\EOT\NUL\STX\SOH\STX\DC2\EOT\208\SOH\DLE\DC1\n\ + \\a\EOT\ACK\EOT\NUL\STX\SOH\STX\DC2\EOT\214\SOH\DLE\DC1\n\ \(\n\ - \\ACK\EOT\ACK\EOT\NUL\STX\STX\DC2\EOT\210\SOH\EOT$\SUB\CAN Use Namespace instead.\n\ + \\ACK\EOT\ACK\EOT\NUL\STX\STX\DC2\EOT\216\SOH\EOT$\SUB\CAN Use Namespace instead.\n\ \\n\ \\SI\n\ - \\a\EOT\ACK\EOT\NUL\STX\STX\SOH\DC2\EOT\210\SOH\EOT\v\n\ + \\a\EOT\ACK\EOT\NUL\STX\STX\SOH\DC2\EOT\216\SOH\EOT\v\n\ \\SI\n\ - \\a\EOT\ACK\EOT\NUL\STX\STX\STX\DC2\EOT\210\SOH\SO\SI\n\ + \\a\EOT\ACK\EOT\NUL\STX\STX\STX\DC2\EOT\216\SOH\SO\SI\n\ \\SI\n\ - \\a\EOT\ACK\EOT\NUL\STX\STX\ETX\DC2\EOT\210\SOH\DLE#\n\ + \\a\EOT\ACK\EOT\NUL\STX\STX\ETX\DC2\EOT\216\SOH\DLE#\n\ \\DLE\n\ - \\b\EOT\ACK\EOT\NUL\STX\STX\ETX\SOH\DC2\EOT\210\SOH\DC1\"\n\ + \\b\EOT\ACK\EOT\NUL\STX\STX\ETX\SOH\DC2\EOT\216\SOH\DC1\"\n\ \\SO\n\ - \\ACK\EOT\ACK\EOT\NUL\STX\ETX\DC2\EOT\211\SOH\EOT\r\n\ + \\ACK\EOT\ACK\EOT\NUL\STX\ETX\DC2\EOT\217\SOH\EOT\r\n\ \\SI\n\ - \\a\EOT\ACK\EOT\NUL\STX\ETX\SOH\DC2\EOT\211\SOH\EOT\b\n\ + \\a\EOT\ACK\EOT\NUL\STX\ETX\SOH\DC2\EOT\217\SOH\EOT\b\n\ \\SI\n\ - \\a\EOT\ACK\EOT\NUL\STX\ETX\STX\DC2\EOT\211\SOH\v\f\n\ + \\a\EOT\ACK\EOT\NUL\STX\ETX\STX\DC2\EOT\217\SOH\v\f\n\ \\SO\n\ - \\ACK\EOT\ACK\EOT\NUL\STX\EOT\DC2\EOT\212\SOH\EOT\r\n\ + \\ACK\EOT\ACK\EOT\NUL\STX\EOT\DC2\EOT\218\SOH\EOT\r\n\ \\SI\n\ - \\a\EOT\ACK\EOT\NUL\STX\EOT\SOH\DC2\EOT\212\SOH\EOT\b\n\ + \\a\EOT\ACK\EOT\NUL\STX\EOT\SOH\DC2\EOT\218\SOH\EOT\b\n\ \\SI\n\ - \\a\EOT\ACK\EOT\NUL\STX\EOT\STX\DC2\EOT\212\SOH\v\f\n\ + \\a\EOT\ACK\EOT\NUL\STX\EOT\STX\DC2\EOT\218\SOH\v\f\n\ \\SO\n\ - \\ACK\EOT\ACK\EOT\NUL\STX\ENQ\DC2\EOT\213\SOH\EOT\SI\n\ + \\ACK\EOT\ACK\EOT\NUL\STX\ENQ\DC2\EOT\219\SOH\EOT\SI\n\ \\SI\n\ - \\a\EOT\ACK\EOT\NUL\STX\ENQ\SOH\DC2\EOT\213\SOH\EOT\n\ + \\a\EOT\ACK\EOT\NUL\STX\ENQ\SOH\DC2\EOT\219\SOH\EOT\n\ \\n\ \\SI\n\ - \\a\EOT\ACK\EOT\NUL\STX\ENQ\STX\DC2\EOT\213\SOH\r\SO\n\ + \\a\EOT\ACK\EOT\NUL\STX\ENQ\STX\DC2\EOT\219\SOH\r\SO\n\ \\SO\n\ - \\ACK\EOT\ACK\EOT\NUL\STX\ACK\DC2\EOT\214\SOH\EOT\SYN\n\ + \\ACK\EOT\ACK\EOT\NUL\STX\ACK\DC2\EOT\220\SOH\EOT\SYN\n\ \\SI\n\ - \\a\EOT\ACK\EOT\NUL\STX\ACK\SOH\DC2\EOT\214\SOH\EOT\DC1\n\ + \\a\EOT\ACK\EOT\NUL\STX\ACK\SOH\DC2\EOT\220\SOH\EOT\DC1\n\ \\SI\n\ - \\a\EOT\ACK\EOT\NUL\STX\ACK\STX\DC2\EOT\214\SOH\DC4\NAK\n\ + \\a\EOT\ACK\EOT\NUL\STX\ACK\STX\DC2\EOT\220\SOH\DC4\NAK\n\ \\SO\n\ - \\ACK\EOT\ACK\EOT\NUL\STX\a\DC2\EOT\215\SOH\EOT\DC2\n\ + \\ACK\EOT\ACK\EOT\NUL\STX\a\DC2\EOT\221\SOH\EOT\DC2\n\ \\SI\n\ - \\a\EOT\ACK\EOT\NUL\STX\a\SOH\DC2\EOT\215\SOH\EOT\r\n\ + \\a\EOT\ACK\EOT\NUL\STX\a\SOH\DC2\EOT\221\SOH\EOT\r\n\ \\SI\n\ - \\a\EOT\ACK\EOT\NUL\STX\a\STX\DC2\EOT\215\SOH\DLE\DC1\n\ + \\a\EOT\ACK\EOT\NUL\STX\a\STX\DC2\EOT\221\SOH\DLE\DC1\n\ \.\n\ - \\ACK\EOT\ACK\EOT\NUL\STX\b\DC2\EOT\217\SOH\EOT\r\SUB\RS Can be used for any purpose.\n\ + \\ACK\EOT\ACK\EOT\NUL\STX\b\DC2\EOT\223\SOH\EOT\r\SUB\RS Can be used for any purpose.\n\ \\n\ \\SI\n\ - \\a\EOT\ACK\EOT\NUL\STX\b\SOH\DC2\EOT\217\SOH\EOT\b\n\ + \\a\EOT\ACK\EOT\NUL\STX\b\SOH\DC2\EOT\223\SOH\EOT\b\n\ \\SI\n\ - \\a\EOT\ACK\EOT\NUL\STX\b\STX\DC2\EOT\217\SOH\v\f\n\ + \\a\EOT\ACK\EOT\NUL\STX\b\STX\DC2\EOT\223\SOH\v\f\n\ \\SO\n\ - \\ACK\EOT\ACK\EOT\NUL\STX\t\DC2\EOT\218\SOH\EOT\SO\n\ + \\ACK\EOT\ACK\EOT\NUL\STX\t\DC2\EOT\224\SOH\EOT\SO\n\ \\SI\n\ - \\a\EOT\ACK\EOT\NUL\STX\t\SOH\DC2\EOT\218\SOH\EOT\t\n\ + \\a\EOT\ACK\EOT\NUL\STX\t\SOH\DC2\EOT\224\SOH\EOT\t\n\ \\SI\n\ - \\a\EOT\ACK\EOT\NUL\STX\t\STX\DC2\EOT\218\SOH\f\r\n\ + \\a\EOT\ACK\EOT\NUL\STX\t\STX\DC2\EOT\224\SOH\f\r\n\ \\SO\n\ \\ACK\EOT\ACK\EOT\NUL\STX\n\ - \\DC2\EOT\219\SOH\EOT\SO\n\ + \\DC2\EOT\225\SOH\EOT\SO\n\ \\SI\n\ \\a\EOT\ACK\EOT\NUL\STX\n\ - \\SOH\DC2\EOT\219\SOH\EOT\t\n\ + \\SOH\DC2\EOT\225\SOH\EOT\t\n\ \\SI\n\ \\a\EOT\ACK\EOT\NUL\STX\n\ - \\STX\DC2\EOT\219\SOH\f\r\n\ + \\STX\DC2\EOT\225\SOH\f\r\n\ \\f\n\ - \\EOT\EOT\ACK\STX\NUL\DC2\EOT\221\SOH\STX\DC2\n\ + \\EOT\EOT\ACK\STX\NUL\DC2\EOT\227\SOH\STX\DC2\n\ \\r\n\ - \\ENQ\EOT\ACK\STX\NUL\ENQ\DC2\EOT\221\SOH\STX\b\n\ + \\ENQ\EOT\ACK\STX\NUL\ENQ\DC2\EOT\227\SOH\STX\b\n\ \\r\n\ - \\ENQ\EOT\ACK\STX\NUL\SOH\DC2\EOT\221\SOH\t\r\n\ + \\ENQ\EOT\ACK\STX\NUL\SOH\DC2\EOT\227\SOH\t\r\n\ \\r\n\ - \\ENQ\EOT\ACK\STX\NUL\ETX\DC2\EOT\221\SOH\DLE\DC1\n\ + \\ENQ\EOT\ACK\STX\NUL\ETX\DC2\EOT\227\SOH\DLE\DC1\n\ \\f\n\ - \\EOT\EOT\ACK\STX\SOH\DC2\EOT\222\SOH\STX\ESC\n\ + \\EOT\EOT\ACK\STX\SOH\DC2\EOT\228\SOH\STX\ESC\n\ \\r\n\ - \\ENQ\EOT\ACK\STX\SOH\ENQ\DC2\EOT\222\SOH\STX\b\n\ + \\ENQ\EOT\ACK\STX\SOH\ENQ\DC2\EOT\228\SOH\STX\b\n\ \\r\n\ - \\ENQ\EOT\ACK\STX\SOH\SOH\DC2\EOT\222\SOH\t\SYN\n\ + \\ENQ\EOT\ACK\STX\SOH\SOH\DC2\EOT\228\SOH\t\SYN\n\ \\r\n\ - \\ENQ\EOT\ACK\STX\SOH\ETX\DC2\EOT\222\SOH\EM\SUB\n\ + \\ENQ\EOT\ACK\STX\SOH\ETX\DC2\EOT\228\SOH\EM\SUB\n\ \\130\SOH\n\ - \\EOT\EOT\ACK\STX\STX\DC2\EOT\223\SOH\STX\DC4\"t NOTE: If you add new fields here, make sure to update the prepareSlot()\n\ + \\EOT\EOT\ACK\STX\STX\DC2\EOT\229\SOH\STX\DC4\"t NOTE: If you add new fields here, make sure to update the prepareSlot()\n\ \ function responsible for parsing symbols.\n\ \\n\ \\r\n\ - \\ENQ\EOT\ACK\STX\STX\ACK\DC2\EOT\223\SOH\STX\b\n\ + \\ENQ\EOT\ACK\STX\STX\ACK\DC2\EOT\229\SOH\STX\b\n\ \\r\n\ - \\ENQ\EOT\ACK\STX\STX\SOH\DC2\EOT\223\SOH\t\SI\n\ + \\ENQ\EOT\ACK\STX\STX\SOH\DC2\EOT\229\SOH\t\SI\n\ \\r\n\ - \\ENQ\EOT\ACK\STX\STX\ETX\DC2\EOT\223\SOH\DC2\DC3\n\ + \\ENQ\EOT\ACK\STX\STX\ETX\DC2\EOT\229\SOH\DC2\DC3\n\ \\161\STX\n\ - \\STX\EOT\a\DC2\ACK\232\SOH\NUL\245\SOH\SOH\SUB\146\STX Signature represents the signature of a symbol as it's displayed in API\n\ + \\STX\EOT\a\DC2\ACK\238\SOH\NUL\251\SOH\SOH\SUB\146\STX Signature represents the signature of a symbol as it's displayed in API\n\ \ documentation or hover tooltips. It uses a subset of Document's fields with\n\ \ the same field numbers for wire compatibility with older indexes that encoded\n\ \ signatures using the Document message type.\n\ \\n\ \\v\n\ - \\ETX\EOT\a\SOH\DC2\EOT\232\SOH\b\DC1\n\ + \\ETX\EOT\a\SOH\DC2\EOT\238\SOH\b\DC1\n\ \K\n\ - \\EOT\EOT\a\STX\NUL\DC2\EOT\234\SOH\STX\SYN\SUB= The language of the signature, e.g. \"java\", \"go\", \"python\".\n\ + \\EOT\EOT\a\STX\NUL\DC2\EOT\240\SOH\STX\SYN\SUB= The language of the signature, e.g. \"java\", \"go\", \"python\".\n\ \\n\ \\r\n\ - \\ENQ\EOT\a\STX\NUL\ENQ\DC2\EOT\234\SOH\STX\b\n\ + \\ENQ\EOT\a\STX\NUL\ENQ\DC2\EOT\240\SOH\STX\b\n\ \\r\n\ - \\ENQ\EOT\a\STX\NUL\SOH\DC2\EOT\234\SOH\t\DC1\n\ + \\ENQ\EOT\a\STX\NUL\SOH\DC2\EOT\240\SOH\t\DC1\n\ \\r\n\ - \\ENQ\EOT\a\STX\NUL\ETX\DC2\EOT\234\SOH\DC4\NAK\n\ + \\ENQ\EOT\a\STX\NUL\ETX\DC2\EOT\240\SOH\DC4\NAK\n\ \Q\n\ - \\EOT\EOT\a\STX\SOH\DC2\EOT\236\SOH\STX\DC2\SUBC The text content of the signature, e.g. \"void add(int a, int b)\".\n\ + \\EOT\EOT\a\STX\SOH\DC2\EOT\242\SOH\STX\DC2\SUBC The text content of the signature, e.g. \"void add(int a, int b)\".\n\ \\n\ \\r\n\ - \\ENQ\EOT\a\STX\SOH\ENQ\DC2\EOT\236\SOH\STX\b\n\ + \\ENQ\EOT\a\STX\SOH\ENQ\DC2\EOT\242\SOH\STX\b\n\ \\r\n\ - \\ENQ\EOT\a\STX\SOH\SOH\DC2\EOT\236\SOH\t\r\n\ + \\ENQ\EOT\a\STX\SOH\SOH\DC2\EOT\242\SOH\t\r\n\ \\r\n\ - \\ENQ\EOT\a\STX\SOH\ETX\DC2\EOT\236\SOH\DLE\DC1\n\ + \\ENQ\EOT\a\STX\SOH\ETX\DC2\EOT\242\SOH\DLE\DC1\n\ \\187\SOH\n\ - \\EOT\EOT\a\STX\STX\DC2\EOT\240\SOH\STX&\SUB\172\SOH (optional) Occurrences within the signature text that reference other\n\ + \\EOT\EOT\a\STX\STX\DC2\EOT\246\SOH\STX&\SUB\172\SOH (optional) Occurrences within the signature text that reference other\n\ \ symbols, enabling hyperlinking of types in the signature. Ranges are\n\ \ relative to the `text` field.\n\ \\n\ \\r\n\ - \\ENQ\EOT\a\STX\STX\EOT\DC2\EOT\240\SOH\STX\n\ + \\ENQ\EOT\a\STX\STX\EOT\DC2\EOT\246\SOH\STX\n\ \\n\ \\r\n\ - \\ENQ\EOT\a\STX\STX\ACK\DC2\EOT\240\SOH\v\NAK\n\ + \\ENQ\EOT\a\STX\STX\ACK\DC2\EOT\246\SOH\v\NAK\n\ \\r\n\ - \\ENQ\EOT\a\STX\STX\SOH\DC2\EOT\240\SOH\SYN!\n\ + \\ENQ\EOT\a\STX\STX\SOH\DC2\EOT\246\SOH\SYN!\n\ \\r\n\ - \\ENQ\EOT\a\STX\STX\ETX\DC2\EOT\240\SOH$%\n\ + \\ENQ\EOT\a\STX\STX\ETX\DC2\EOT\246\SOH$%\n\ \\151\SOH\n\ - \\ETX\EOT\a\t\DC2\EOT\244\SOH\STX\DC3\SUB\137\SOH Reserved field numbers from the Document message to prevent accidental\n\ + \\ETX\EOT\a\t\DC2\EOT\250\SOH\STX\DC3\SUB\137\SOH Reserved field numbers from the Document message to prevent accidental\n\ \ reuse, which would break wire compatibility with older indexes.\n\ \\n\ \\f\n\ - \\EOT\EOT\a\t\NUL\DC2\EOT\244\SOH\v\f\n\ + \\EOT\EOT\a\t\NUL\DC2\EOT\250\SOH\v\f\n\ \\r\n\ - \\ENQ\EOT\a\t\NUL\SOH\DC2\EOT\244\SOH\v\f\n\ + \\ENQ\EOT\a\t\NUL\SOH\DC2\EOT\250\SOH\v\f\n\ \\r\n\ - \\ENQ\EOT\a\t\NUL\STX\DC2\EOT\244\SOH\v\f\n\ + \\ENQ\EOT\a\t\NUL\STX\DC2\EOT\250\SOH\v\f\n\ \\f\n\ - \\EOT\EOT\a\t\SOH\DC2\EOT\244\SOH\SO\SI\n\ + \\EOT\EOT\a\t\SOH\DC2\EOT\250\SOH\SO\SI\n\ \\r\n\ - \\ENQ\EOT\a\t\SOH\SOH\DC2\EOT\244\SOH\SO\SI\n\ + \\ENQ\EOT\a\t\SOH\SOH\DC2\EOT\250\SOH\SO\SI\n\ \\r\n\ - \\ENQ\EOT\a\t\SOH\STX\DC2\EOT\244\SOH\SO\SI\n\ + \\ENQ\EOT\a\t\SOH\STX\DC2\EOT\250\SOH\SO\SI\n\ \\f\n\ - \\EOT\EOT\a\t\STX\DC2\EOT\244\SOH\DC1\DC2\n\ + \\EOT\EOT\a\t\STX\DC2\EOT\250\SOH\DC1\DC2\n\ \\r\n\ - \\ENQ\EOT\a\t\STX\SOH\DC2\EOT\244\SOH\DC1\DC2\n\ + \\ENQ\EOT\a\t\STX\SOH\DC2\EOT\250\SOH\DC1\DC2\n\ \\r\n\ - \\ENQ\EOT\a\t\STX\STX\DC2\EOT\244\SOH\DC1\DC2\n\ + \\ENQ\EOT\a\t\STX\STX\DC2\EOT\250\SOH\DC1\DC2\n\ \\131\SOH\n\ - \\STX\EOT\b\DC2\ACK\249\SOH\NUL\203\ETX\SOH\SUBu SymbolInformation defines metadata about a symbol, such as the symbol's\n\ + \\STX\EOT\b\DC2\ACK\255\SOH\NUL\209\ETX\SOH\SUBu SymbolInformation defines metadata about a symbol, such as the symbol's\n\ \ docstring or what package it's defined it.\n\ \\n\ \\v\n\ - \\ETX\EOT\b\SOH\DC2\EOT\249\SOH\b\EM\n\ + \\ETX\EOT\b\SOH\DC2\EOT\255\SOH\b\EM\n\ \\160\SOH\n\ - \\EOT\EOT\b\STX\NUL\DC2\EOT\252\SOH\STX\DC4\SUB\145\SOH Identifier of this symbol, which can be referenced from `Occurence.symbol`.\n\ + \\EOT\EOT\b\STX\NUL\DC2\EOT\130\STX\STX\DC4\SUB\145\SOH Identifier of this symbol, which can be referenced from `Occurence.symbol`.\n\ \ The string must be formatted according to the grammar in `Symbol`.\n\ \\n\ \\r\n\ - \\ENQ\EOT\b\STX\NUL\ENQ\DC2\EOT\252\SOH\STX\b\n\ + \\ENQ\EOT\b\STX\NUL\ENQ\DC2\EOT\130\STX\STX\b\n\ \\r\n\ - \\ENQ\EOT\b\STX\NUL\SOH\DC2\EOT\252\SOH\t\SI\n\ + \\ENQ\EOT\b\STX\NUL\SOH\DC2\EOT\130\STX\t\SI\n\ \\r\n\ - \\ENQ\EOT\b\STX\NUL\ETX\DC2\EOT\252\SOH\DC2\DC3\n\ + \\ENQ\EOT\b\STX\NUL\ETX\DC2\EOT\130\STX\DC2\DC3\n\ \\180\ETX\n\ - \\EOT\EOT\b\STX\SOH\DC2\EOT\131\STX\STX$\SUB\165\ETX (optional, but strongly recommended) The markdown-formatted documentation\n\ + \\EOT\EOT\b\STX\SOH\DC2\EOT\137\STX\STX$\SUB\165\ETX (optional, but strongly recommended) The markdown-formatted documentation\n\ \ for this symbol. Use `SymbolInformation.signature_documentation` to\n\ \ document the method/class/type signature of this symbol.\n\ \ Due to historical reasons, indexers may include signature documentation in\n\ @@ -7299,39 +7316,39 @@ packedFileDescriptor \ include non-code documentation in this field, for example docstrings.\n\ \\n\ \\r\n\ - \\ENQ\EOT\b\STX\SOH\EOT\DC2\EOT\131\STX\STX\n\ + \\ENQ\EOT\b\STX\SOH\EOT\DC2\EOT\137\STX\STX\n\ \\n\ \\r\n\ - \\ENQ\EOT\b\STX\SOH\ENQ\DC2\EOT\131\STX\v\DC1\n\ + \\ENQ\EOT\b\STX\SOH\ENQ\DC2\EOT\137\STX\v\DC1\n\ \\r\n\ - \\ENQ\EOT\b\STX\SOH\SOH\DC2\EOT\131\STX\DC2\US\n\ + \\ENQ\EOT\b\STX\SOH\SOH\DC2\EOT\137\STX\DC2\US\n\ \\r\n\ - \\ENQ\EOT\b\STX\SOH\ETX\DC2\EOT\131\STX\"#\n\ + \\ENQ\EOT\b\STX\SOH\ETX\DC2\EOT\137\STX\"#\n\ \^\n\ - \\EOT\EOT\b\STX\STX\DC2\EOT\133\STX\STX*\SUBP (optional) Relationships to other symbols (e.g., implements, type definition).\n\ + \\EOT\EOT\b\STX\STX\DC2\EOT\139\STX\STX*\SUBP (optional) Relationships to other symbols (e.g., implements, type definition).\n\ \\n\ \\r\n\ - \\ENQ\EOT\b\STX\STX\EOT\DC2\EOT\133\STX\STX\n\ + \\ENQ\EOT\b\STX\STX\EOT\DC2\EOT\139\STX\STX\n\ \\n\ \\r\n\ - \\ENQ\EOT\b\STX\STX\ACK\DC2\EOT\133\STX\v\ETB\n\ + \\ENQ\EOT\b\STX\STX\ACK\DC2\EOT\139\STX\v\ETB\n\ \\r\n\ - \\ENQ\EOT\b\STX\STX\SOH\DC2\EOT\133\STX\CAN%\n\ + \\ENQ\EOT\b\STX\STX\SOH\DC2\EOT\139\STX\CAN%\n\ \\r\n\ - \\ENQ\EOT\b\STX\STX\ETX\DC2\EOT\133\STX()\n\ + \\ENQ\EOT\b\STX\STX\ETX\DC2\EOT\139\STX()\n\ \\164\SOH\n\ - \\EOT\EOT\b\STX\ETX\DC2\EOT\137\STX\STX\DLE\SUB\149\SOH The kind of this symbol. Use this field instead of\n\ + \\EOT\EOT\b\STX\ETX\DC2\EOT\143\STX\STX\DLE\SUB\149\SOH The kind of this symbol. Use this field instead of\n\ \ `SymbolDescriptor.Suffix` to determine whether something is, for example, a\n\ \ class or a method.\n\ \\n\ \\r\n\ - \\ENQ\EOT\b\STX\ETX\ACK\DC2\EOT\137\STX\STX\ACK\n\ + \\ENQ\EOT\b\STX\ETX\ACK\DC2\EOT\143\STX\STX\ACK\n\ \\r\n\ - \\ENQ\EOT\b\STX\ETX\SOH\DC2\EOT\137\STX\a\v\n\ + \\ENQ\EOT\b\STX\ETX\SOH\DC2\EOT\143\STX\a\v\n\ \\r\n\ - \\ENQ\EOT\b\STX\ETX\ETX\DC2\EOT\137\STX\SO\SI\n\ + \\ENQ\EOT\b\STX\ETX\ETX\DC2\EOT\143\STX\SO\SI\n\ \\245\ENQ\n\ - \\EOT\EOT\b\EOT\NUL\DC2\ACK\152\STX\STX\167\ETX\ETX\SUB\228\ENQ (optional) Kind represents the fine-grained category of a symbol, suitable for presenting\n\ + \\EOT\EOT\b\EOT\NUL\DC2\ACK\158\STX\STX\173\ETX\ETX\SUB\228\ENQ (optional) Kind represents the fine-grained category of a symbol, suitable for presenting\n\ \ information about the symbol's meaning in the language.\n\ \\n\ \ For example:\n\ @@ -7347,603 +7364,603 @@ packedFileDescriptor \ - If two symbols have different Suffixes, they should have different Kinds.\n\ \\n\ \\r\n\ - \\ENQ\EOT\b\EOT\NUL\SOH\DC2\EOT\152\STX\a\v\n\ + \\ENQ\EOT\b\EOT\NUL\SOH\DC2\EOT\158\STX\a\v\n\ \\SO\n\ - \\ACK\EOT\b\EOT\NUL\STX\NUL\DC2\EOT\153\STX\EOT\CAN\n\ + \\ACK\EOT\b\EOT\NUL\STX\NUL\DC2\EOT\159\STX\EOT\CAN\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX\NUL\SOH\DC2\EOT\153\STX\EOT\DC3\n\ + \\a\EOT\b\EOT\NUL\STX\NUL\SOH\DC2\EOT\159\STX\EOT\DC3\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX\NUL\STX\DC2\EOT\153\STX\SYN\ETB\n\ + \\a\EOT\b\EOT\NUL\STX\NUL\STX\DC2\EOT\159\STX\SYN\ETB\n\ \R\n\ - \\ACK\EOT\b\EOT\NUL\STX\SOH\DC2\EOT\155\STX\EOT\CAN\SUBB A method which may or may not have a body. For Java, Kotlin etc.\n\ + \\ACK\EOT\b\EOT\NUL\STX\SOH\DC2\EOT\161\STX\EOT\CAN\SUBB A method which may or may not have a body. For Java, Kotlin etc.\n\ \\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX\SOH\SOH\DC2\EOT\155\STX\EOT\DC2\n\ + \\a\EOT\b\EOT\NUL\STX\SOH\SOH\DC2\EOT\161\STX\EOT\DC2\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX\SOH\STX\DC2\EOT\155\STX\NAK\ETB\n\ + \\a\EOT\b\EOT\NUL\STX\SOH\STX\DC2\EOT\161\STX\NAK\ETB\n\ \*\n\ - \\ACK\EOT\b\EOT\NUL\STX\STX\DC2\EOT\157\STX\EOT\DC2\SUB\SUB For Ruby's attr_accessor\n\ + \\ACK\EOT\b\EOT\NUL\STX\STX\DC2\EOT\163\STX\EOT\DC2\SUB\SUB For Ruby's attr_accessor\n\ \\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX\STX\SOH\DC2\EOT\157\STX\EOT\f\n\ + \\a\EOT\b\EOT\NUL\STX\STX\SOH\DC2\EOT\163\STX\EOT\f\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX\STX\STX\DC2\EOT\157\STX\SI\DC1\n\ + \\a\EOT\b\EOT\NUL\STX\STX\STX\DC2\EOT\163\STX\SI\DC1\n\ \\SO\n\ - \\ACK\EOT\b\EOT\NUL\STX\ETX\DC2\EOT\158\STX\EOT\SO\n\ + \\ACK\EOT\b\EOT\NUL\STX\ETX\DC2\EOT\164\STX\EOT\SO\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX\ETX\SOH\DC2\EOT\158\STX\EOT\t\n\ + \\a\EOT\b\EOT\NUL\STX\ETX\SOH\DC2\EOT\164\STX\EOT\t\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX\ETX\STX\DC2\EOT\158\STX\f\r\n\ + \\a\EOT\b\EOT\NUL\STX\ETX\STX\DC2\EOT\164\STX\f\r\n\ \\ESC\n\ - \\ACK\EOT\b\EOT\NUL\STX\EOT\DC2\EOT\160\STX\EOT\DC2\SUB\v For Alloy\n\ + \\ACK\EOT\b\EOT\NUL\STX\EOT\DC2\EOT\166\STX\EOT\DC2\SUB\v For Alloy\n\ \\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX\EOT\SOH\DC2\EOT\160\STX\EOT\r\n\ + \\a\EOT\b\EOT\NUL\STX\EOT\SOH\DC2\EOT\166\STX\EOT\r\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX\EOT\STX\DC2\EOT\160\STX\DLE\DC1\n\ + \\a\EOT\b\EOT\NUL\STX\EOT\STX\DC2\EOT\166\STX\DLE\DC1\n\ \\SO\n\ - \\ACK\EOT\b\EOT\NUL\STX\ENQ\DC2\EOT\161\STX\EOT\ETB\n\ + \\ACK\EOT\b\EOT\NUL\STX\ENQ\DC2\EOT\167\STX\EOT\ETB\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX\ENQ\SOH\DC2\EOT\161\STX\EOT\DC2\n\ + \\a\EOT\b\EOT\NUL\STX\ENQ\SOH\DC2\EOT\167\STX\EOT\DC2\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX\ENQ\STX\DC2\EOT\161\STX\NAK\SYN\n\ + \\a\EOT\b\EOT\NUL\STX\ENQ\STX\DC2\EOT\167\STX\NAK\SYN\n\ \\EM\n\ - \\ACK\EOT\b\EOT\NUL\STX\ACK\DC2\EOT\163\STX\EOT\DC2\SUB\t For C++\n\ + \\ACK\EOT\b\EOT\NUL\STX\ACK\DC2\EOT\169\STX\EOT\DC2\SUB\t For C++\n\ \\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX\ACK\SOH\DC2\EOT\163\STX\EOT\r\n\ + \\a\EOT\b\EOT\NUL\STX\ACK\SOH\DC2\EOT\169\STX\EOT\r\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX\ACK\STX\DC2\EOT\163\STX\DLE\DC1\n\ + \\a\EOT\b\EOT\NUL\STX\ACK\STX\DC2\EOT\169\STX\DLE\DC1\n\ \\SUB\n\ - \\ACK\EOT\b\EOT\NUL\STX\a\DC2\EOT\165\STX\EOT\SO\SUB\n\ + \\ACK\EOT\b\EOT\NUL\STX\a\DC2\EOT\171\STX\EOT\SO\SUB\n\ \ For Lean\n\ \\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX\a\SOH\DC2\EOT\165\STX\EOT\t\n\ + \\a\EOT\b\EOT\NUL\STX\a\SOH\DC2\EOT\171\STX\EOT\t\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX\a\STX\DC2\EOT\165\STX\f\r\n\ + \\a\EOT\b\EOT\NUL\STX\a\STX\DC2\EOT\171\STX\f\r\n\ \\SO\n\ - \\ACK\EOT\b\EOT\NUL\STX\b\DC2\EOT\166\STX\EOT\DLE\n\ + \\ACK\EOT\b\EOT\NUL\STX\b\DC2\EOT\172\STX\EOT\DLE\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX\b\SOH\DC2\EOT\166\STX\EOT\v\n\ + \\a\EOT\b\EOT\NUL\STX\b\SOH\DC2\EOT\172\STX\EOT\v\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX\b\STX\DC2\EOT\166\STX\SO\SI\n\ + \\a\EOT\b\EOT\NUL\STX\b\STX\DC2\EOT\172\STX\SO\SI\n\ \\SO\n\ - \\ACK\EOT\b\EOT\NUL\STX\t\DC2\EOT\167\STX\EOT\SO\n\ + \\ACK\EOT\b\EOT\NUL\STX\t\DC2\EOT\173\STX\EOT\SO\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX\t\SOH\DC2\EOT\167\STX\EOT\t\n\ + \\a\EOT\b\EOT\NUL\STX\t\SOH\DC2\EOT\173\STX\EOT\t\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX\t\STX\DC2\EOT\167\STX\f\r\n\ + \\a\EOT\b\EOT\NUL\STX\t\STX\DC2\EOT\173\STX\f\r\n\ \\EM\n\ \\ACK\EOT\b\EOT\NUL\STX\n\ - \\DC2\EOT\169\STX\EOT\DC1\SUB\t For C++\n\ + \\DC2\EOT\175\STX\EOT\DC1\SUB\t For C++\n\ \\n\ \\SI\n\ \\a\EOT\b\EOT\NUL\STX\n\ - \\SOH\DC2\EOT\169\STX\EOT\v\n\ + \\SOH\DC2\EOT\175\STX\EOT\v\n\ \\SI\n\ \\a\EOT\b\EOT\NUL\STX\n\ - \\STX\DC2\EOT\169\STX\SO\DLE\n\ + \\STX\DC2\EOT\175\STX\SO\DLE\n\ \\SO\n\ - \\ACK\EOT\b\EOT\NUL\STX\v\DC2\EOT\170\STX\EOT\DC1\n\ + \\ACK\EOT\b\EOT\NUL\STX\v\DC2\EOT\176\STX\EOT\DC1\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX\v\SOH\DC2\EOT\170\STX\EOT\f\n\ + \\a\EOT\b\EOT\NUL\STX\v\SOH\DC2\EOT\176\STX\EOT\f\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX\v\STX\DC2\EOT\170\STX\SI\DLE\n\ + \\a\EOT\b\EOT\NUL\STX\v\STX\DC2\EOT\176\STX\SI\DLE\n\ \\SO\n\ - \\ACK\EOT\b\EOT\NUL\STX\f\DC2\EOT\171\STX\EOT\DC4\n\ + \\ACK\EOT\b\EOT\NUL\STX\f\DC2\EOT\177\STX\EOT\DC4\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX\f\SOH\DC2\EOT\171\STX\EOT\SI\n\ + \\a\EOT\b\EOT\NUL\STX\f\SOH\DC2\EOT\177\STX\EOT\SI\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX\f\STX\DC2\EOT\171\STX\DC2\DC3\n\ + \\a\EOT\b\EOT\NUL\STX\f\STX\DC2\EOT\177\STX\DC2\DC3\n\ \\RS\n\ - \\ACK\EOT\b\EOT\NUL\STX\r\DC2\EOT\173\STX\EOT\DC2\SUB\SO For Solidity\n\ + \\ACK\EOT\b\EOT\NUL\STX\r\DC2\EOT\179\STX\EOT\DC2\SUB\SO For Solidity\n\ \\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX\r\SOH\DC2\EOT\173\STX\EOT\f\n\ + \\a\EOT\b\EOT\NUL\STX\r\SOH\DC2\EOT\179\STX\EOT\f\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX\r\STX\DC2\EOT\173\STX\SI\DC1\n\ + \\a\EOT\b\EOT\NUL\STX\r\STX\DC2\EOT\179\STX\SI\DC1\n\ \\GS\n\ - \\ACK\EOT\b\EOT\NUL\STX\SO\DC2\EOT\175\STX\EOT\DC4\SUB\r For Haskell\n\ + \\ACK\EOT\b\EOT\NUL\STX\SO\DC2\EOT\181\STX\EOT\DC4\SUB\r For Haskell\n\ \\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX\SO\SOH\DC2\EOT\175\STX\EOT\SO\n\ + \\a\EOT\b\EOT\NUL\STX\SO\SOH\DC2\EOT\181\STX\EOT\SO\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX\SO\STX\DC2\EOT\175\STX\DC1\DC3\n\ + \\a\EOT\b\EOT\NUL\STX\SO\STX\DC2\EOT\181\STX\DC1\DC3\n\ \\US\n\ - \\ACK\EOT\b\EOT\NUL\STX\SI\DC2\EOT\177\STX\EOT\DC2\SUB\SI For C# and F#\n\ + \\ACK\EOT\b\EOT\NUL\STX\SI\DC2\EOT\183\STX\EOT\DC2\SUB\SI For C# and F#\n\ \\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX\SI\SOH\DC2\EOT\177\STX\EOT\f\n\ + \\a\EOT\b\EOT\NUL\STX\SI\SOH\DC2\EOT\183\STX\EOT\f\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX\SI\STX\DC2\EOT\177\STX\SI\DC1\n\ + \\a\EOT\b\EOT\NUL\STX\SI\STX\DC2\EOT\183\STX\SI\DC1\n\ \\SO\n\ - \\ACK\EOT\b\EOT\NUL\STX\DLE\DC2\EOT\178\STX\EOT\SO\n\ + \\ACK\EOT\b\EOT\NUL\STX\DLE\DC2\EOT\184\STX\EOT\SO\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX\DLE\SOH\DC2\EOT\178\STX\EOT\b\n\ + \\a\EOT\b\EOT\NUL\STX\DLE\SOH\DC2\EOT\184\STX\EOT\b\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX\DLE\STX\DC2\EOT\178\STX\v\r\n\ + \\a\EOT\b\EOT\NUL\STX\DLE\STX\DC2\EOT\184\STX\v\r\n\ \\SO\n\ - \\ACK\EOT\b\EOT\NUL\STX\DC1\DC2\EOT\179\STX\EOT\DC4\n\ + \\ACK\EOT\b\EOT\NUL\STX\DC1\DC2\EOT\185\STX\EOT\DC4\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX\DC1\SOH\DC2\EOT\179\STX\EOT\SO\n\ + \\a\EOT\b\EOT\NUL\STX\DC1\SOH\DC2\EOT\185\STX\EOT\SO\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX\DC1\STX\DC2\EOT\179\STX\DC1\DC3\n\ + \\a\EOT\b\EOT\NUL\STX\DC1\STX\DC2\EOT\185\STX\DC1\DC3\n\ \\SO\n\ - \\ACK\EOT\b\EOT\NUL\STX\DC2\DC2\EOT\180\STX\EOT\SI\n\ + \\ACK\EOT\b\EOT\NUL\STX\DC2\DC2\EOT\186\STX\EOT\SI\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX\DC2\SOH\DC2\EOT\180\STX\EOT\t\n\ + \\a\EOT\b\EOT\NUL\STX\DC2\SOH\DC2\EOT\186\STX\EOT\t\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX\DC2\STX\DC2\EOT\180\STX\f\SO\n\ + \\a\EOT\b\EOT\NUL\STX\DC2\STX\DC2\EOT\186\STX\f\SO\n\ \\SO\n\ - \\ACK\EOT\b\EOT\NUL\STX\DC3\DC2\EOT\181\STX\EOT\SI\n\ + \\ACK\EOT\b\EOT\NUL\STX\DC3\DC2\EOT\187\STX\EOT\SI\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX\DC3\SOH\DC2\EOT\181\STX\EOT\t\n\ + \\a\EOT\b\EOT\NUL\STX\DC3\SOH\DC2\EOT\187\STX\EOT\t\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX\DC3\STX\DC2\EOT\181\STX\f\SO\n\ + \\a\EOT\b\EOT\NUL\STX\DC3\STX\DC2\EOT\187\STX\f\SO\n\ \\SUB\n\ - \\ACK\EOT\b\EOT\NUL\STX\DC4\DC2\EOT\183\STX\EOT\DC3\SUB\n\ + \\ACK\EOT\b\EOT\NUL\STX\DC4\DC2\EOT\189\STX\EOT\DC3\SUB\n\ \ For Dart\n\ \\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX\DC4\SOH\DC2\EOT\183\STX\EOT\r\n\ + \\a\EOT\b\EOT\NUL\STX\DC4\SOH\DC2\EOT\189\STX\EOT\r\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX\DC4\STX\DC2\EOT\183\STX\DLE\DC2\n\ + \\a\EOT\b\EOT\NUL\STX\DC4\STX\DC2\EOT\189\STX\DLE\DC2\n\ \\ESC\n\ - \\ACK\EOT\b\EOT\NUL\STX\NAK\DC2\EOT\185\STX\EOT\SO\SUB\v For Alloy\n\ + \\ACK\EOT\b\EOT\NUL\STX\NAK\DC2\EOT\191\STX\EOT\SO\SUB\v For Alloy\n\ \\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX\NAK\SOH\DC2\EOT\185\STX\EOT\b\n\ + \\a\EOT\b\EOT\NUL\STX\NAK\SOH\DC2\EOT\191\STX\EOT\b\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX\NAK\STX\DC2\EOT\185\STX\v\r\n\ + \\a\EOT\b\EOT\NUL\STX\NAK\STX\DC2\EOT\191\STX\v\r\n\ \\SO\n\ - \\ACK\EOT\b\EOT\NUL\STX\SYN\DC2\EOT\186\STX\EOT\SI\n\ + \\ACK\EOT\b\EOT\NUL\STX\SYN\DC2\EOT\192\STX\EOT\SI\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX\SYN\SOH\DC2\EOT\186\STX\EOT\t\n\ + \\a\EOT\b\EOT\NUL\STX\SYN\SOH\DC2\EOT\192\STX\EOT\t\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX\SYN\STX\DC2\EOT\186\STX\f\SO\n\ + \\a\EOT\b\EOT\NUL\STX\SYN\STX\DC2\EOT\192\STX\f\SO\n\ \\SO\n\ - \\ACK\EOT\b\EOT\NUL\STX\ETB\DC2\EOT\187\STX\EOT\SO\n\ + \\ACK\EOT\b\EOT\NUL\STX\ETB\DC2\EOT\193\STX\EOT\SO\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX\ETB\SOH\DC2\EOT\187\STX\EOT\b\n\ + \\a\EOT\b\EOT\NUL\STX\ETB\SOH\DC2\EOT\193\STX\EOT\b\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX\ETB\STX\DC2\EOT\187\STX\v\r\n\ + \\a\EOT\b\EOT\NUL\STX\ETB\STX\DC2\EOT\193\STX\v\r\n\ \\SO\n\ - \\ACK\EOT\b\EOT\NUL\STX\CAN\DC2\EOT\188\STX\EOT\DC2\n\ + \\ACK\EOT\b\EOT\NUL\STX\CAN\DC2\EOT\194\STX\EOT\DC2\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX\CAN\SOH\DC2\EOT\188\STX\EOT\f\n\ + \\a\EOT\b\EOT\NUL\STX\CAN\SOH\DC2\EOT\194\STX\EOT\f\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX\CAN\STX\DC2\EOT\188\STX\SI\DC1\n\ + \\a\EOT\b\EOT\NUL\STX\CAN\STX\DC2\EOT\194\STX\SI\DC1\n\ \;\n\ - \\ACK\EOT\b\EOT\NUL\STX\EM\DC2\EOT\190\STX\EOT\DLE\SUB+ For 'get' in Swift, 'attr_reader' in Ruby\n\ + \\ACK\EOT\b\EOT\NUL\STX\EM\DC2\EOT\196\STX\EOT\DLE\SUB+ For 'get' in Swift, 'attr_reader' in Ruby\n\ \\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX\EM\SOH\DC2\EOT\190\STX\EOT\n\ + \\a\EOT\b\EOT\NUL\STX\EM\SOH\DC2\EOT\196\STX\EOT\n\ \\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX\EM\STX\DC2\EOT\190\STX\r\SI\n\ + \\a\EOT\b\EOT\NUL\STX\EM\STX\DC2\EOT\196\STX\r\SI\n\ \\SUB\n\ - \\ACK\EOT\b\EOT\NUL\STX\SUB\DC2\EOT\192\STX\EOT\DC1\SUB\n\ + \\ACK\EOT\b\EOT\NUL\STX\SUB\DC2\EOT\198\STX\EOT\DC1\SUB\n\ \ For Raku\n\ \\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX\SUB\SOH\DC2\EOT\192\STX\EOT\v\n\ + \\a\EOT\b\EOT\NUL\STX\SUB\SOH\DC2\EOT\198\STX\EOT\v\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX\SUB\STX\DC2\EOT\192\STX\SO\DLE\n\ + \\a\EOT\b\EOT\NUL\STX\SUB\STX\DC2\EOT\198\STX\SO\DLE\n\ \)\n\ - \\ACK\EOT\b\EOT\NUL\STX\ESC\DC2\EOT\194\STX\EOT\DC2\SUB\EM For Purescript and Lean\n\ + \\ACK\EOT\b\EOT\NUL\STX\ESC\DC2\EOT\200\STX\EOT\DC2\SUB\EM For Purescript and Lean\n\ \\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX\ESC\SOH\DC2\EOT\194\STX\EOT\f\n\ + \\a\EOT\b\EOT\NUL\STX\ESC\SOH\DC2\EOT\200\STX\EOT\f\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX\ESC\STX\DC2\EOT\194\STX\SI\DC1\n\ + \\a\EOT\b\EOT\NUL\STX\ESC\STX\DC2\EOT\200\STX\SI\DC1\n\ \\SO\n\ - \\ACK\EOT\b\EOT\NUL\STX\FS\DC2\EOT\195\STX\EOT\DC3\n\ + \\ACK\EOT\b\EOT\NUL\STX\FS\DC2\EOT\201\STX\EOT\DC3\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX\FS\SOH\DC2\EOT\195\STX\EOT\r\n\ + \\a\EOT\b\EOT\NUL\STX\FS\SOH\DC2\EOT\201\STX\EOT\r\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX\FS\STX\DC2\EOT\195\STX\DLE\DC2\n\ + \\a\EOT\b\EOT\NUL\STX\FS\STX\DC2\EOT\201\STX\DLE\DC2\n\ \\SO\n\ - \\ACK\EOT\b\EOT\NUL\STX\GS\DC2\EOT\196\STX\EOT\r\n\ + \\ACK\EOT\b\EOT\NUL\STX\GS\DC2\EOT\202\STX\EOT\r\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX\GS\SOH\DC2\EOT\196\STX\EOT\a\n\ + \\a\EOT\b\EOT\NUL\STX\GS\SOH\DC2\EOT\202\STX\EOT\a\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX\GS\STX\DC2\EOT\196\STX\n\ + \\a\EOT\b\EOT\NUL\STX\GS\STX\DC2\EOT\202\STX\n\ \\f\n\ \\FS\n\ - \\ACK\EOT\b\EOT\NUL\STX\RS\DC2\EOT\198\STX\EOT\SO\SUB\f For Racket\n\ + \\ACK\EOT\b\EOT\NUL\STX\RS\DC2\EOT\204\STX\EOT\SO\SUB\f For Racket\n\ \\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX\RS\SOH\DC2\EOT\198\STX\EOT\b\n\ + \\a\EOT\b\EOT\NUL\STX\RS\SOH\DC2\EOT\204\STX\EOT\b\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX\RS\STX\DC2\EOT\198\STX\v\r\n\ + \\a\EOT\b\EOT\NUL\STX\RS\STX\DC2\EOT\204\STX\v\r\n\ \\SUB\n\ - \\ACK\EOT\b\EOT\NUL\STX\US\DC2\EOT\200\STX\EOT\SI\SUB\n\ + \\ACK\EOT\b\EOT\NUL\STX\US\DC2\EOT\206\STX\EOT\SI\SUB\n\ \ For Lean\n\ \\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX\US\SOH\DC2\EOT\200\STX\EOT\t\n\ + \\a\EOT\b\EOT\NUL\STX\US\SOH\DC2\EOT\206\STX\EOT\t\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX\US\STX\DC2\EOT\200\STX\f\SO\n\ + \\a\EOT\b\EOT\NUL\STX\US\STX\DC2\EOT\206\STX\f\SO\n\ \\RS\n\ - \\ACK\EOT\b\EOT\NUL\STX \DC2\EOT\202\STX\EOT\DC1\SUB\SO For solidity\n\ + \\ACK\EOT\b\EOT\NUL\STX \DC2\EOT\208\STX\EOT\DC1\SUB\SO For solidity\n\ \\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX \SOH\DC2\EOT\202\STX\EOT\v\n\ + \\a\EOT\b\EOT\NUL\STX \SOH\DC2\EOT\208\STX\EOT\v\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX \STX\DC2\EOT\202\STX\SO\DLE\n\ + \\a\EOT\b\EOT\NUL\STX \STX\DC2\EOT\208\STX\SO\DLE\n\ \\SO\n\ - \\ACK\EOT\b\EOT\NUL\STX!\DC2\EOT\203\STX\EOT\SI\n\ + \\ACK\EOT\b\EOT\NUL\STX!\DC2\EOT\209\STX\EOT\SI\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX!\SOH\DC2\EOT\203\STX\EOT\t\n\ + \\a\EOT\b\EOT\NUL\STX!\SOH\DC2\EOT\209\STX\EOT\t\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX!\STX\DC2\EOT\203\STX\f\SO\n\ + \\a\EOT\b\EOT\NUL\STX!\STX\DC2\EOT\209\STX\f\SO\n\ \\SO\n\ - \\ACK\EOT\b\EOT\NUL\STX\"\DC2\EOT\204\STX\EOT\DLE\n\ + \\ACK\EOT\b\EOT\NUL\STX\"\DC2\EOT\210\STX\EOT\DLE\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX\"\SOH\DC2\EOT\204\STX\EOT\n\ + \\a\EOT\b\EOT\NUL\STX\"\SOH\DC2\EOT\210\STX\EOT\n\ \\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX\"\STX\DC2\EOT\204\STX\r\SI\n\ + \\a\EOT\b\EOT\NUL\STX\"\STX\DC2\EOT\210\STX\r\SI\n\ \\SUB\n\ - \\ACK\EOT\b\EOT\NUL\STX#\DC2\EOT\206\STX\EOT\NAK\SUB\n\ + \\ACK\EOT\b\EOT\NUL\STX#\DC2\EOT\212\STX\EOT\NAK\SUB\n\ \ For Ruby\n\ \\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX#\SOH\DC2\EOT\206\STX\EOT\SI\n\ + \\a\EOT\b\EOT\NUL\STX#\SOH\DC2\EOT\212\STX\EOT\SI\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX#\STX\DC2\EOT\206\STX\DC2\DC4\n\ + \\a\EOT\b\EOT\NUL\STX#\STX\DC2\EOT\212\STX\DC2\DC4\n\ \\148\SOH\n\ - \\ACK\EOT\b\EOT\NUL\STX$\DC2\EOT\209\STX\EOT\CAN\SUB\131\SOH Analogous to 'ThisParameter' and 'SelfParameter', but for languages\n\ + \\ACK\EOT\b\EOT\NUL\STX$\DC2\EOT\215\STX\EOT\CAN\SUB\131\SOH Analogous to 'ThisParameter' and 'SelfParameter', but for languages\n\ \ like Go where the receiver doesn't have a conventional name.\n\ \\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX$\SOH\DC2\EOT\209\STX\EOT\DC2\n\ + \\a\EOT\b\EOT\NUL\STX$\SOH\DC2\EOT\215\STX\EOT\DC2\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX$\STX\DC2\EOT\209\STX\NAK\ETB\n\ + \\a\EOT\b\EOT\NUL\STX$\STX\DC2\EOT\215\STX\NAK\ETB\n\ \8\n\ - \\ACK\EOT\b\EOT\NUL\STX%\DC2\EOT\211\STX\EOT\GS\SUB( Analogous to 'AbstractMethod', for Go.\n\ + \\ACK\EOT\b\EOT\NUL\STX%\DC2\EOT\217\STX\EOT\GS\SUB( Analogous to 'AbstractMethod', for Go.\n\ \\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX%\SOH\DC2\EOT\211\STX\EOT\ETB\n\ + \\a\EOT\b\EOT\NUL\STX%\SOH\DC2\EOT\217\STX\EOT\ETB\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX%\STX\DC2\EOT\211\STX\SUB\FS\n\ + \\a\EOT\b\EOT\NUL\STX%\STX\DC2\EOT\217\STX\SUB\FS\n\ \\RS\n\ - \\ACK\EOT\b\EOT\NUL\STX&\DC2\EOT\213\STX\EOT\DC1\SUB\SO For Protobuf\n\ + \\ACK\EOT\b\EOT\NUL\STX&\DC2\EOT\219\STX\EOT\DC1\SUB\SO For Protobuf\n\ \\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX&\SOH\DC2\EOT\213\STX\EOT\v\n\ + \\a\EOT\b\EOT\NUL\STX&\SOH\DC2\EOT\219\STX\EOT\v\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX&\STX\DC2\EOT\213\STX\SO\DLE\n\ + \\a\EOT\b\EOT\NUL\STX&\STX\DC2\EOT\219\STX\SO\DLE\n\ \\SUB\n\ - \\ACK\EOT\b\EOT\NUL\STX'\DC2\EOT\215\STX\EOT\SI\SUB\n\ + \\ACK\EOT\b\EOT\NUL\STX'\DC2\EOT\221\STX\EOT\SI\SUB\n\ \ For Dart\n\ \\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX'\SOH\DC2\EOT\215\STX\EOT\t\n\ + \\a\EOT\b\EOT\NUL\STX'\SOH\DC2\EOT\221\STX\EOT\t\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX'\STX\DC2\EOT\215\STX\f\SO\n\ + \\a\EOT\b\EOT\NUL\STX'\STX\DC2\EOT\221\STX\f\SO\n\ \\RS\n\ - \\ACK\EOT\b\EOT\NUL\STX(\DC2\EOT\217\STX\EOT\DC2\SUB\SO For Solidity\n\ + \\ACK\EOT\b\EOT\NUL\STX(\DC2\EOT\223\STX\EOT\DC2\SUB\SO For Solidity\n\ \\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX(\SOH\DC2\EOT\217\STX\EOT\f\n\ + \\a\EOT\b\EOT\NUL\STX(\SOH\DC2\EOT\223\STX\EOT\f\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX(\STX\DC2\EOT\217\STX\SI\DC1\n\ + \\a\EOT\b\EOT\NUL\STX(\STX\DC2\EOT\223\STX\SI\DC1\n\ \\SO\n\ - \\ACK\EOT\b\EOT\NUL\STX)\DC2\EOT\218\STX\EOT\DLE\n\ + \\ACK\EOT\b\EOT\NUL\STX)\DC2\EOT\224\STX\EOT\DLE\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX)\SOH\DC2\EOT\218\STX\EOT\n\ + \\a\EOT\b\EOT\NUL\STX)\SOH\DC2\EOT\224\STX\EOT\n\ \\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX)\STX\DC2\EOT\218\STX\r\SI\n\ + \\a\EOT\b\EOT\NUL\STX)\STX\DC2\EOT\224\STX\r\SI\n\ \\SO\n\ - \\ACK\EOT\b\EOT\NUL\STX*\DC2\EOT\219\STX\EOT\DC3\n\ + \\ACK\EOT\b\EOT\NUL\STX*\DC2\EOT\225\STX\EOT\DC3\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX*\SOH\DC2\EOT\219\STX\EOT\r\n\ + \\a\EOT\b\EOT\NUL\STX*\SOH\DC2\EOT\225\STX\EOT\r\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX*\STX\DC2\EOT\219\STX\DLE\DC2\n\ + \\a\EOT\b\EOT\NUL\STX*\STX\DC2\EOT\225\STX\DLE\DC2\n\ \\SO\n\ - \\ACK\EOT\b\EOT\NUL\STX+\DC2\EOT\220\STX\EOT\SO\n\ + \\ACK\EOT\b\EOT\NUL\STX+\DC2\EOT\226\STX\EOT\SO\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX+\SOH\DC2\EOT\220\STX\EOT\b\n\ + \\a\EOT\b\EOT\NUL\STX+\SOH\DC2\EOT\226\STX\EOT\b\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX+\STX\DC2\EOT\220\STX\v\r\n\ + \\a\EOT\b\EOT\NUL\STX+\STX\DC2\EOT\226\STX\v\r\n\ \\SO\n\ - \\ACK\EOT\b\EOT\NUL\STX,\DC2\EOT\221\STX\EOT\DLE\n\ + \\ACK\EOT\b\EOT\NUL\STX,\DC2\EOT\227\STX\EOT\DLE\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX,\SOH\DC2\EOT\221\STX\EOT\n\ + \\a\EOT\b\EOT\NUL\STX,\SOH\DC2\EOT\227\STX\EOT\n\ \\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX,\STX\DC2\EOT\221\STX\r\SI\n\ + \\a\EOT\b\EOT\NUL\STX,\STX\DC2\EOT\227\STX\r\SI\n\ \\SO\n\ - \\ACK\EOT\b\EOT\NUL\STX-\DC2\EOT\222\STX\EOT\DLE\n\ + \\ACK\EOT\b\EOT\NUL\STX-\DC2\EOT\228\STX\EOT\DLE\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX-\SOH\DC2\EOT\222\STX\EOT\n\ + \\a\EOT\b\EOT\NUL\STX-\SOH\DC2\EOT\228\STX\EOT\n\ \\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX-\STX\DC2\EOT\222\STX\r\SI\n\ + \\a\EOT\b\EOT\NUL\STX-\STX\DC2\EOT\228\STX\r\SI\n\ \\SO\n\ - \\ACK\EOT\b\EOT\NUL\STX.\DC2\EOT\223\STX\EOT\DC2\n\ + \\ACK\EOT\b\EOT\NUL\STX.\DC2\EOT\229\STX\EOT\DC2\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX.\SOH\DC2\EOT\223\STX\EOT\f\n\ + \\a\EOT\b\EOT\NUL\STX.\SOH\DC2\EOT\229\STX\EOT\f\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX.\STX\DC2\EOT\223\STX\SI\DC1\n\ + \\a\EOT\b\EOT\NUL\STX.\STX\DC2\EOT\229\STX\SI\DC1\n\ \\SO\n\ - \\ACK\EOT\b\EOT\NUL\STX/\DC2\EOT\224\STX\EOT\DC1\n\ + \\ACK\EOT\b\EOT\NUL\STX/\DC2\EOT\230\STX\EOT\DC1\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX/\SOH\DC2\EOT\224\STX\EOT\v\n\ + \\a\EOT\b\EOT\NUL\STX/\SOH\DC2\EOT\230\STX\EOT\v\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX/\STX\DC2\EOT\224\STX\SO\DLE\n\ + \\a\EOT\b\EOT\NUL\STX/\STX\DC2\EOT\230\STX\SO\DLE\n\ \\SO\n\ - \\ACK\EOT\b\EOT\NUL\STX0\DC2\EOT\225\STX\EOT\ETB\n\ + \\ACK\EOT\b\EOT\NUL\STX0\DC2\EOT\231\STX\EOT\ETB\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX0\SOH\DC2\EOT\225\STX\EOT\DC1\n\ + \\a\EOT\b\EOT\NUL\STX0\SOH\DC2\EOT\231\STX\EOT\DC1\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX0\STX\DC2\EOT\225\STX\DC4\SYN\n\ + \\a\EOT\b\EOT\NUL\STX0\STX\DC2\EOT\231\STX\DC4\SYN\n\ \\SO\n\ - \\ACK\EOT\b\EOT\NUL\STX1\DC2\EOT\226\STX\EOT\DC3\n\ + \\ACK\EOT\b\EOT\NUL\STX1\DC2\EOT\232\STX\EOT\DC3\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX1\SOH\DC2\EOT\226\STX\EOT\r\n\ + \\a\EOT\b\EOT\NUL\STX1\SOH\DC2\EOT\232\STX\EOT\r\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX1\STX\DC2\EOT\226\STX\DLE\DC2\n\ + \\a\EOT\b\EOT\NUL\STX1\STX\DC2\EOT\232\STX\DLE\DC2\n\ \\SO\n\ - \\ACK\EOT\b\EOT\NUL\STX2\DC2\EOT\227\STX\EOT\CAN\n\ + \\ACK\EOT\b\EOT\NUL\STX2\DC2\EOT\233\STX\EOT\CAN\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX2\SOH\DC2\EOT\227\STX\EOT\DC2\n\ + \\a\EOT\b\EOT\NUL\STX2\SOH\DC2\EOT\233\STX\EOT\DC2\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX2\STX\DC2\EOT\227\STX\NAK\ETB\n\ + \\a\EOT\b\EOT\NUL\STX2\STX\DC2\EOT\233\STX\NAK\ETB\n\ \/\n\ - \\ACK\EOT\b\EOT\NUL\STX3\DC2\EOT\229\STX\EOT\DC1\SUB\US For Haskell's PatternSynonyms\n\ + \\ACK\EOT\b\EOT\NUL\STX3\DC2\EOT\235\STX\EOT\DC1\SUB\US For Haskell's PatternSynonyms\n\ \\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX3\SOH\DC2\EOT\229\STX\EOT\v\n\ + \\a\EOT\b\EOT\NUL\STX3\SOH\DC2\EOT\235\STX\EOT\v\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX3\STX\DC2\EOT\229\STX\SO\DLE\n\ + \\a\EOT\b\EOT\NUL\STX3\STX\DC2\EOT\235\STX\SO\DLE\n\ \\ESC\n\ - \\ACK\EOT\b\EOT\NUL\STX4\DC2\EOT\231\STX\EOT\DC3\SUB\v For Alloy\n\ + \\ACK\EOT\b\EOT\NUL\STX4\DC2\EOT\237\STX\EOT\DC3\SUB\v For Alloy\n\ \\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX4\SOH\DC2\EOT\231\STX\EOT\r\n\ + \\a\EOT\b\EOT\NUL\STX4\SOH\DC2\EOT\237\STX\EOT\r\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX4\STX\DC2\EOT\231\STX\DLE\DC2\n\ + \\a\EOT\b\EOT\NUL\STX4\STX\DC2\EOT\237\STX\DLE\DC2\n\ \\SO\n\ - \\ACK\EOT\b\EOT\NUL\STX5\DC2\EOT\232\STX\EOT\DC2\n\ + \\ACK\EOT\b\EOT\NUL\STX5\DC2\EOT\238\STX\EOT\DC2\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX5\SOH\DC2\EOT\232\STX\EOT\f\n\ + \\a\EOT\b\EOT\NUL\STX5\SOH\DC2\EOT\238\STX\EOT\f\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX5\STX\DC2\EOT\232\STX\SI\DC1\n\ + \\a\EOT\b\EOT\NUL\STX5\STX\DC2\EOT\238\STX\SI\DC1\n\ \Q\n\ - \\ACK\EOT\b\EOT\NUL\STX6\DC2\EOT\234\STX\EOT\DC2\SUBA Analogous to 'Trait' and 'TypeClass', for Swift and Objective-C\n\ + \\ACK\EOT\b\EOT\NUL\STX6\DC2\EOT\240\STX\EOT\DC2\SUBA Analogous to 'Trait' and 'TypeClass', for Swift and Objective-C\n\ \\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX6\SOH\DC2\EOT\234\STX\EOT\f\n\ + \\a\EOT\b\EOT\NUL\STX6\SOH\DC2\EOT\240\STX\EOT\f\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX6\STX\DC2\EOT\234\STX\SI\DC1\n\ + \\a\EOT\b\EOT\NUL\STX6\STX\DC2\EOT\240\STX\SI\DC1\n\ \K\n\ - \\ACK\EOT\b\EOT\NUL\STX7\DC2\EOT\236\STX\EOT\CAN\SUB; Analogous to 'AbstractMethod', for Swift and Objective-C.\n\ + \\ACK\EOT\b\EOT\NUL\STX7\DC2\EOT\242\STX\EOT\CAN\SUB; Analogous to 'AbstractMethod', for Swift and Objective-C.\n\ \\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX7\SOH\DC2\EOT\236\STX\EOT\DC2\n\ + \\a\EOT\b\EOT\NUL\STX7\SOH\DC2\EOT\242\STX\EOT\DC2\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX7\STX\DC2\EOT\236\STX\NAK\ETB\n\ + \\a\EOT\b\EOT\NUL\STX7\STX\DC2\EOT\242\STX\NAK\ETB\n\ \9\n\ - \\ACK\EOT\b\EOT\NUL\STX8\DC2\EOT\238\STX\EOT\ESC\SUB) Analogous to 'AbstractMethod', for C++.\n\ + \\ACK\EOT\b\EOT\NUL\STX8\DC2\EOT\244\STX\EOT\ESC\SUB) Analogous to 'AbstractMethod', for C++.\n\ \\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX8\SOH\DC2\EOT\238\STX\EOT\NAK\n\ + \\a\EOT\b\EOT\NUL\STX8\SOH\DC2\EOT\244\STX\EOT\NAK\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX8\STX\DC2\EOT\238\STX\CAN\SUB\n\ + \\a\EOT\b\EOT\NUL\STX8\STX\DC2\EOT\244\STX\CAN\SUB\n\ \\GS\n\ - \\ACK\EOT\b\EOT\NUL\STX9\DC2\EOT\240\STX\EOT\NAK\SUB\r For Haskell\n\ + \\ACK\EOT\b\EOT\NUL\STX9\DC2\EOT\246\STX\EOT\NAK\SUB\r For Haskell\n\ \\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX9\SOH\DC2\EOT\240\STX\EOT\SI\n\ + \\a\EOT\b\EOT\NUL\STX9\SOH\DC2\EOT\246\STX\EOT\SI\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX9\STX\DC2\EOT\240\STX\DC2\DC4\n\ + \\a\EOT\b\EOT\NUL\STX9\STX\DC2\EOT\246\STX\DC2\DC4\n\ \4\n\ - \\ACK\EOT\b\EOT\NUL\STX:\DC2\EOT\242\STX\EOT\ETB\SUB$ 'self' in Python, Rust, Swift etc.\n\ + \\ACK\EOT\b\EOT\NUL\STX:\DC2\EOT\248\STX\EOT\ETB\SUB$ 'self' in Python, Rust, Swift etc.\n\ \\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX:\SOH\DC2\EOT\242\STX\EOT\DC1\n\ + \\a\EOT\b\EOT\NUL\STX:\SOH\DC2\EOT\248\STX\EOT\DC1\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX:\STX\DC2\EOT\242\STX\DC4\SYN\n\ + \\a\EOT\b\EOT\NUL\STX:\STX\DC2\EOT\248\STX\DC4\SYN\n\ \;\n\ - \\ACK\EOT\b\EOT\NUL\STX;\DC2\EOT\244\STX\EOT\DLE\SUB+ For 'set' in Swift, 'attr_writer' in Ruby\n\ + \\ACK\EOT\b\EOT\NUL\STX;\DC2\EOT\250\STX\EOT\DLE\SUB+ For 'set' in Swift, 'attr_writer' in Ruby\n\ \\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX;\SOH\DC2\EOT\244\STX\EOT\n\ + \\a\EOT\b\EOT\NUL\STX;\SOH\DC2\EOT\250\STX\EOT\n\ \\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX;\STX\DC2\EOT\244\STX\r\SI\n\ + \\a\EOT\b\EOT\NUL\STX;\STX\DC2\EOT\250\STX\r\SI\n\ \3\n\ - \\ACK\EOT\b\EOT\NUL\STX<\DC2\EOT\246\STX\EOT\DC3\SUB# For Alloy, analogous to 'Struct'.\n\ + \\ACK\EOT\b\EOT\NUL\STX<\DC2\EOT\252\STX\EOT\DC3\SUB# For Alloy, analogous to 'Struct'.\n\ \\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX<\SOH\DC2\EOT\246\STX\EOT\r\n\ + \\a\EOT\b\EOT\NUL\STX<\SOH\DC2\EOT\252\STX\EOT\r\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX<\STX\DC2\EOT\246\STX\DLE\DC2\n\ + \\a\EOT\b\EOT\NUL\STX<\STX\DC2\EOT\252\STX\DLE\DC2\n\ \\SUB\n\ - \\ACK\EOT\b\EOT\NUL\STX=\DC2\EOT\248\STX\EOT\CAN\SUB\n\ + \\ACK\EOT\b\EOT\NUL\STX=\DC2\EOT\254\STX\EOT\CAN\SUB\n\ \ For Ruby\n\ \\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX=\SOH\DC2\EOT\248\STX\EOT\DC2\n\ + \\a\EOT\b\EOT\NUL\STX=\SOH\DC2\EOT\254\STX\EOT\DC2\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX=\STX\DC2\EOT\248\STX\NAK\ETB\n\ + \\a\EOT\b\EOT\NUL\STX=\STX\DC2\EOT\254\STX\NAK\ETB\n\ \8\n\ - \\ACK\EOT\b\EOT\NUL\STX>\DC2\EOT\250\STX\EOT\EM\SUB( Analogous to 'StaticMethod', for Ruby.\n\ + \\ACK\EOT\b\EOT\NUL\STX>\DC2\EOT\128\ETX\EOT\EM\SUB( Analogous to 'StaticMethod', for Ruby.\n\ \\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX>\SOH\DC2\EOT\250\STX\EOT\DC3\n\ + \\a\EOT\b\EOT\NUL\STX>\SOH\DC2\EOT\128\ETX\EOT\DC3\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX>\STX\DC2\EOT\250\STX\SYN\CAN\n\ + \\a\EOT\b\EOT\NUL\STX>\STX\DC2\EOT\128\ETX\SYN\CAN\n\ \5\n\ - \\ACK\EOT\b\EOT\NUL\STX?\DC2\EOT\252\STX\EOT\SUB\SUB% Analogous to 'StaticField', for C++\n\ + \\ACK\EOT\b\EOT\NUL\STX?\DC2\EOT\130\ETX\EOT\SUB\SUB% Analogous to 'StaticField', for C++\n\ \\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX?\SOH\DC2\EOT\252\STX\EOT\DC4\n\ + \\a\EOT\b\EOT\NUL\STX?\SOH\DC2\EOT\130\ETX\EOT\DC4\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX?\STX\DC2\EOT\252\STX\ETB\EM\n\ + \\a\EOT\b\EOT\NUL\STX?\STX\DC2\EOT\130\ETX\ETB\EM\n\ \\CAN\n\ - \\ACK\EOT\b\EOT\NUL\STX@\DC2\EOT\254\STX\EOT\NAK\SUB\b For C#\n\ + \\ACK\EOT\b\EOT\NUL\STX@\DC2\EOT\132\ETX\EOT\NAK\SUB\b For C#\n\ \\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX@\SOH\DC2\EOT\254\STX\EOT\SI\n\ + \\a\EOT\b\EOT\NUL\STX@\SOH\DC2\EOT\132\ETX\EOT\SI\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STX@\STX\DC2\EOT\254\STX\DC2\DC4\n\ + \\a\EOT\b\EOT\NUL\STX@\STX\DC2\EOT\132\ETX\DC2\DC4\n\ \\CAN\n\ - \\ACK\EOT\b\EOT\NUL\STXA\DC2\EOT\128\ETX\EOT\NAK\SUB\b For C#\n\ + \\ACK\EOT\b\EOT\NUL\STXA\DC2\EOT\134\ETX\EOT\NAK\SUB\b For C#\n\ \\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STXA\SOH\DC2\EOT\128\ETX\EOT\SI\n\ + \\a\EOT\b\EOT\NUL\STXA\SOH\DC2\EOT\134\ETX\EOT\SI\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STXA\STX\DC2\EOT\128\ETX\DC2\DC4\n\ + \\a\EOT\b\EOT\NUL\STXA\STX\DC2\EOT\134\ETX\DC2\DC4\n\ \(\n\ - \\ACK\EOT\b\EOT\NUL\STXB\DC2\EOT\130\ETX\EOT\SYN\SUB\CAN For Java, C#, C++ etc.\n\ + \\ACK\EOT\b\EOT\NUL\STXB\DC2\EOT\136\ETX\EOT\SYN\SUB\CAN For Java, C#, C++ etc.\n\ \\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STXB\SOH\DC2\EOT\130\ETX\EOT\DLE\n\ + \\a\EOT\b\EOT\NUL\STXB\SOH\DC2\EOT\136\ETX\EOT\DLE\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STXB\STX\DC2\EOT\130\ETX\DC3\NAK\n\ + \\a\EOT\b\EOT\NUL\STXB\STX\DC2\EOT\136\ETX\DC3\NAK\n\ \)\n\ - \\ACK\EOT\b\EOT\NUL\STXC\DC2\EOT\132\ETX\EOT\CAN\SUB\EM For C#, TypeScript etc.\n\ + \\ACK\EOT\b\EOT\NUL\STXC\DC2\EOT\138\ETX\EOT\CAN\SUB\EM For C#, TypeScript etc.\n\ \\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STXC\SOH\DC2\EOT\132\ETX\EOT\DC2\n\ + \\a\EOT\b\EOT\NUL\STXC\SOH\DC2\EOT\138\ETX\EOT\DC2\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STXC\STX\DC2\EOT\132\ETX\NAK\ETB\n\ + \\a\EOT\b\EOT\NUL\STXC\STX\DC2\EOT\138\ETX\NAK\ETB\n\ \\FS\n\ - \\ACK\EOT\b\EOT\NUL\STXD\DC2\EOT\134\ETX\EOT\CAN\SUB\f For C, C++\n\ + \\ACK\EOT\b\EOT\NUL\STXD\DC2\EOT\140\ETX\EOT\CAN\SUB\f For C, C++\n\ \\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STXD\SOH\DC2\EOT\134\ETX\EOT\DC2\n\ + \\a\EOT\b\EOT\NUL\STXD\SOH\DC2\EOT\140\ETX\EOT\DC2\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STXD\STX\DC2\EOT\134\ETX\NAK\ETB\n\ + \\a\EOT\b\EOT\NUL\STXD\STX\DC2\EOT\140\ETX\NAK\ETB\n\ \\SO\n\ - \\ACK\EOT\b\EOT\NUL\STXE\DC2\EOT\135\ETX\EOT\DLE\n\ + \\ACK\EOT\b\EOT\NUL\STXE\DC2\EOT\141\ETX\EOT\DLE\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STXE\SOH\DC2\EOT\135\ETX\EOT\n\ + \\a\EOT\b\EOT\NUL\STXE\SOH\DC2\EOT\141\ETX\EOT\n\ \\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STXE\STX\DC2\EOT\135\ETX\r\SI\n\ + \\a\EOT\b\EOT\NUL\STXE\STX\DC2\EOT\141\ETX\r\SI\n\ \\SO\n\ - \\ACK\EOT\b\EOT\NUL\STXF\DC2\EOT\136\ETX\EOT\DLE\n\ + \\ACK\EOT\b\EOT\NUL\STXF\DC2\EOT\142\ETX\EOT\DLE\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STXF\SOH\DC2\EOT\136\ETX\EOT\n\ + \\a\EOT\b\EOT\NUL\STXF\SOH\DC2\EOT\142\ETX\EOT\n\ \\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STXF\STX\DC2\EOT\136\ETX\r\SI\n\ + \\a\EOT\b\EOT\NUL\STXF\STX\DC2\EOT\142\ETX\r\SI\n\ \\ESC\n\ - \\ACK\EOT\b\EOT\NUL\STXG\DC2\EOT\138\ETX\EOT\DC3\SUB\v For Swift\n\ + \\ACK\EOT\b\EOT\NUL\STXG\DC2\EOT\144\ETX\EOT\DC3\SUB\v For Swift\n\ \\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STXG\SOH\DC2\EOT\138\ETX\EOT\r\n\ + \\a\EOT\b\EOT\NUL\STXG\SOH\DC2\EOT\144\ETX\EOT\r\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STXG\STX\DC2\EOT\138\ETX\DLE\DC2\n\ + \\a\EOT\b\EOT\NUL\STXG\STX\DC2\EOT\144\ETX\DLE\DC2\n\ \\SUB\n\ - \\ACK\EOT\b\EOT\NUL\STXH\DC2\EOT\140\ETX\EOT\DLE\SUB\n\ + \\ACK\EOT\b\EOT\NUL\STXH\DC2\EOT\146\ETX\EOT\DLE\SUB\n\ \ For Lean\n\ \\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STXH\SOH\DC2\EOT\140\ETX\EOT\n\ + \\a\EOT\b\EOT\NUL\STXH\SOH\DC2\EOT\146\ETX\EOT\n\ \\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STXH\STX\DC2\EOT\140\ETX\r\SI\n\ + \\a\EOT\b\EOT\NUL\STXH\STX\DC2\EOT\146\ETX\r\SI\n\ \\SUB\n\ - \\ACK\EOT\b\EOT\NUL\STXI\DC2\EOT\142\ETX\EOT\DC1\SUB\n\ + \\ACK\EOT\b\EOT\NUL\STXI\DC2\EOT\148\ETX\EOT\DC1\SUB\n\ \ For Lean\n\ \\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STXI\SOH\DC2\EOT\142\ETX\EOT\v\n\ + \\a\EOT\b\EOT\NUL\STXI\SOH\DC2\EOT\148\ETX\EOT\v\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STXI\STX\DC2\EOT\142\ETX\SO\DLE\n\ + \\a\EOT\b\EOT\NUL\STXI\STX\DC2\EOT\148\ETX\SO\DLE\n\ \U\n\ - \\ACK\EOT\b\EOT\NUL\STXJ\DC2\EOT\145\ETX\EOT\ETB\SUBE Method receiver for languages\n\ + \\ACK\EOT\b\EOT\NUL\STXJ\DC2\EOT\151\ETX\EOT\ETB\SUBE Method receiver for languages\n\ \ 'this' in JavaScript, C++, Java etc.\n\ \\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STXJ\SOH\DC2\EOT\145\ETX\EOT\DC1\n\ + \\a\EOT\b\EOT\NUL\STXJ\SOH\DC2\EOT\151\ETX\EOT\DC1\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STXJ\STX\DC2\EOT\145\ETX\DC4\SYN\n\ + \\a\EOT\b\EOT\NUL\STXJ\STX\DC2\EOT\151\ETX\DC4\SYN\n\ \O\n\ - \\ACK\EOT\b\EOT\NUL\STXK\DC2\EOT\147\ETX\EOT\SI\SUB? Analogous to 'Protocol' and 'TypeClass', for Rust, Scala etc.\n\ + \\ACK\EOT\b\EOT\NUL\STXK\DC2\EOT\153\ETX\EOT\SI\SUB? Analogous to 'Protocol' and 'TypeClass', for Rust, Scala etc.\n\ \\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STXK\SOH\DC2\EOT\147\ETX\EOT\t\n\ + \\a\EOT\b\EOT\NUL\STXK\SOH\DC2\EOT\153\ETX\EOT\t\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STXK\STX\DC2\EOT\147\ETX\f\SO\n\ + \\a\EOT\b\EOT\NUL\STXK\STX\DC2\EOT\153\ETX\f\SO\n\ \E\n\ - \\ACK\EOT\b\EOT\NUL\STXL\DC2\EOT\149\ETX\EOT\NAK\SUB5 Analogous to 'AbstractMethod', for Rust, Scala etc.\n\ + \\ACK\EOT\b\EOT\NUL\STXL\DC2\EOT\155\ETX\EOT\NAK\SUB5 Analogous to 'AbstractMethod', for Rust, Scala etc.\n\ \\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STXL\SOH\DC2\EOT\149\ETX\EOT\SI\n\ + \\a\EOT\b\EOT\NUL\STXL\SOH\DC2\EOT\155\ETX\EOT\SI\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STXL\STX\DC2\EOT\149\ETX\DC2\DC4\n\ + \\a\EOT\b\EOT\NUL\STXL\STX\DC2\EOT\155\ETX\DC2\DC4\n\ \\137\SOH\n\ - \\ACK\EOT\b\EOT\NUL\STXM\DC2\EOT\152\ETX\EOT\SO\SUBy Data type definition for languages like OCaml which use `type`\n\ + \\ACK\EOT\b\EOT\NUL\STXM\DC2\EOT\158\ETX\EOT\SO\SUBy Data type definition for languages like OCaml which use `type`\n\ \ rather than separate keywords like `struct` and `enum`.\n\ \\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STXM\SOH\DC2\EOT\152\ETX\EOT\b\n\ + \\a\EOT\b\EOT\NUL\STXM\SOH\DC2\EOT\158\ETX\EOT\b\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STXM\STX\DC2\EOT\152\ETX\v\r\n\ + \\a\EOT\b\EOT\NUL\STXM\STX\DC2\EOT\158\ETX\v\r\n\ \\SO\n\ - \\ACK\EOT\b\EOT\NUL\STXN\DC2\EOT\153\ETX\EOT\DC3\n\ + \\ACK\EOT\b\EOT\NUL\STXN\DC2\EOT\159\ETX\EOT\DC3\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STXN\SOH\DC2\EOT\153\ETX\EOT\r\n\ + \\a\EOT\b\EOT\NUL\STXN\SOH\DC2\EOT\159\ETX\EOT\r\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STXN\STX\DC2\EOT\153\ETX\DLE\DC2\n\ + \\a\EOT\b\EOT\NUL\STXN\STX\DC2\EOT\159\ETX\DLE\DC2\n\ \S\n\ - \\ACK\EOT\b\EOT\NUL\STXO\DC2\EOT\155\ETX\EOT\DC3\SUBC Analogous to 'Trait' and 'Protocol', for Haskell, Purescript etc.\n\ + \\ACK\EOT\b\EOT\NUL\STXO\DC2\EOT\161\ETX\EOT\DC3\SUBC Analogous to 'Trait' and 'Protocol', for Haskell, Purescript etc.\n\ \\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STXO\SOH\DC2\EOT\155\ETX\EOT\r\n\ + \\a\EOT\b\EOT\NUL\STXO\SOH\DC2\EOT\161\ETX\EOT\r\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STXO\STX\DC2\EOT\155\ETX\DLE\DC2\n\ + \\a\EOT\b\EOT\NUL\STXO\STX\DC2\EOT\161\ETX\DLE\DC2\n\ \M\n\ - \\ACK\EOT\b\EOT\NUL\STXP\DC2\EOT\157\ETX\EOT\EM\SUB= Analogous to 'AbstractMethod', for Haskell, Purescript etc.\n\ + \\ACK\EOT\b\EOT\NUL\STXP\DC2\EOT\163\ETX\EOT\EM\SUB= Analogous to 'AbstractMethod', for Haskell, Purescript etc.\n\ \\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STXP\SOH\DC2\EOT\157\ETX\EOT\DC3\n\ + \\a\EOT\b\EOT\NUL\STXP\SOH\DC2\EOT\163\ETX\EOT\DC3\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STXP\STX\DC2\EOT\157\ETX\SYN\CAN\n\ + \\a\EOT\b\EOT\NUL\STXP\STX\DC2\EOT\163\ETX\SYN\CAN\n\ \\GS\n\ - \\ACK\EOT\b\EOT\NUL\STXQ\DC2\EOT\159\ETX\EOT\DC4\SUB\r For Haskell\n\ + \\ACK\EOT\b\EOT\NUL\STXQ\DC2\EOT\165\ETX\EOT\DC4\SUB\r For Haskell\n\ \\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STXQ\SOH\DC2\EOT\159\ETX\EOT\SO\n\ + \\a\EOT\b\EOT\NUL\STXQ\SOH\DC2\EOT\165\ETX\EOT\SO\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STXQ\STX\DC2\EOT\159\ETX\DC1\DC3\n\ + \\a\EOT\b\EOT\NUL\STXQ\STX\DC2\EOT\165\ETX\DC1\DC3\n\ \\SO\n\ - \\ACK\EOT\b\EOT\NUL\STXR\DC2\EOT\160\ETX\EOT\ETB\n\ + \\ACK\EOT\b\EOT\NUL\STXR\DC2\EOT\166\ETX\EOT\ETB\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STXR\SOH\DC2\EOT\160\ETX\EOT\DC1\n\ + \\a\EOT\b\EOT\NUL\STXR\SOH\DC2\EOT\166\ETX\EOT\DC1\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STXR\STX\DC2\EOT\160\ETX\DC4\SYN\n\ + \\a\EOT\b\EOT\NUL\STXR\STX\DC2\EOT\166\ETX\DC4\SYN\n\ \(\n\ - \\ACK\EOT\b\EOT\NUL\STXS\DC2\EOT\162\ETX\EOT\SI\SUB\CAN For C, C++, Capn Proto\n\ + \\ACK\EOT\b\EOT\NUL\STXS\DC2\EOT\168\ETX\EOT\SI\SUB\CAN For C, C++, Capn Proto\n\ \\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STXS\SOH\DC2\EOT\162\ETX\EOT\t\n\ + \\a\EOT\b\EOT\NUL\STXS\SOH\DC2\EOT\168\ETX\EOT\t\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STXS\STX\DC2\EOT\162\ETX\f\SO\n\ + \\a\EOT\b\EOT\NUL\STXS\STX\DC2\EOT\168\ETX\f\SO\n\ \\SO\n\ - \\ACK\EOT\b\EOT\NUL\STXT\DC2\EOT\163\ETX\EOT\SI\n\ + \\ACK\EOT\b\EOT\NUL\STXT\DC2\EOT\169\ETX\EOT\SI\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STXT\SOH\DC2\EOT\163\ETX\EOT\t\n\ + \\a\EOT\b\EOT\NUL\STXT\SOH\DC2\EOT\169\ETX\EOT\t\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STXT\STX\DC2\EOT\163\ETX\f\SO\n\ + \\a\EOT\b\EOT\NUL\STXT\STX\DC2\EOT\169\ETX\f\SO\n\ \[\n\ - \\ACK\EOT\b\EOT\NUL\STXU\DC2\EOT\164\ETX\EOT\DC2\"K Next = 87;\n\ + \\ACK\EOT\b\EOT\NUL\STXU\DC2\EOT\170\ETX\EOT\DC2\"K Next = 87;\n\ \ Feel free to open a PR proposing new language-specific kinds.\n\ \\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STXU\SOH\DC2\EOT\164\ETX\EOT\f\n\ + \\a\EOT\b\EOT\NUL\STXU\SOH\DC2\EOT\170\ETX\EOT\f\n\ \\SI\n\ - \\a\EOT\b\EOT\NUL\STXU\STX\DC2\EOT\164\ETX\SI\DC1\n\ + \\a\EOT\b\EOT\NUL\STXU\STX\DC2\EOT\170\ETX\SI\DC1\n\ \\243\ETX\n\ - \\EOT\EOT\b\STX\EOT\DC2\EOT\177\ETX\STX\SUB\SUB\228\ETX (optional) The name of this symbol as it should be displayed to the user.\n\ + \\EOT\EOT\b\STX\EOT\DC2\EOT\183\ETX\STX\SUB\SUB\228\ETX (optional) The name of this symbol as it should be displayed to the user.\n\ \ For example, the symbol \"com/example/MyClass#myMethod(+1).\" should have the\n\ \ display name \"myMethod\". The `symbol` field is not a reliable source of\n\ \ the display name for several reasons:\n\ @@ -7954,13 +7971,13 @@ packedFileDescriptor \ displayed to the user.\n\ \\n\ \\r\n\ - \\ENQ\EOT\b\STX\EOT\ENQ\DC2\EOT\177\ETX\STX\b\n\ + \\ENQ\EOT\b\STX\EOT\ENQ\DC2\EOT\183\ETX\STX\b\n\ \\r\n\ - \\ENQ\EOT\b\STX\EOT\SOH\DC2\EOT\177\ETX\t\NAK\n\ + \\ENQ\EOT\b\STX\EOT\SOH\DC2\EOT\183\ETX\t\NAK\n\ \\r\n\ - \\ENQ\EOT\b\STX\EOT\ETX\DC2\EOT\177\ETX\CAN\EM\n\ + \\ENQ\EOT\b\STX\EOT\ETX\DC2\EOT\183\ETX\CAN\EM\n\ \\159\ETX\n\ - \\EOT\EOT\b\STX\ENQ\DC2\EOT\184\ETX\STX(\SUB\144\ETX (optional) The signature of this symbol as it's displayed in API\n\ + \\EOT\EOT\b\STX\ENQ\DC2\EOT\190\ETX\STX(\SUB\144\ETX (optional) The signature of this symbol as it's displayed in API\n\ \ documentation or in hover tooltips. For example, a Java method that adds\n\ \ two numbers would have `Signature.language = \"java\"` and\n\ \ `Signature.text = \"void add(int a, int b)\"`. The `language` and `text`\n\ @@ -7968,13 +7985,13 @@ packedFileDescriptor \ support hyperlinking referenced symbols in the signature.\n\ \\n\ \\r\n\ - \\ENQ\EOT\b\STX\ENQ\ACK\DC2\EOT\184\ETX\STX\v\n\ + \\ENQ\EOT\b\STX\ENQ\ACK\DC2\EOT\190\ETX\STX\v\n\ \\r\n\ - \\ENQ\EOT\b\STX\ENQ\SOH\DC2\EOT\184\ETX\f#\n\ + \\ENQ\EOT\b\STX\ENQ\SOH\DC2\EOT\190\ETX\f#\n\ \\r\n\ - \\ENQ\EOT\b\STX\ENQ\ETX\DC2\EOT\184\ETX&'\n\ + \\ENQ\EOT\b\STX\ENQ\ETX\DC2\EOT\190\ETX&'\n\ \\201\b\n\ - \\EOT\EOT\b\STX\ACK\DC2\EOT\202\ETX\STX\RS\SUB\186\b (optional) The enclosing symbol if this is a local symbol. For non-local\n\ + \\EOT\EOT\b\STX\ACK\DC2\EOT\208\ETX\STX\RS\SUB\186\b (optional) The enclosing symbol if this is a local symbol. For non-local\n\ \ symbols, the enclosing symbol should be parsed from the `symbol` field\n\ \ using the `Descriptor` grammar.\n\ \\n\ @@ -7993,25 +8010,25 @@ packedFileDescriptor \ symbol.\n\ \\n\ \\r\n\ - \\ENQ\EOT\b\STX\ACK\ENQ\DC2\EOT\202\ETX\STX\b\n\ + \\ENQ\EOT\b\STX\ACK\ENQ\DC2\EOT\208\ETX\STX\b\n\ \\r\n\ - \\ENQ\EOT\b\STX\ACK\SOH\DC2\EOT\202\ETX\t\EM\n\ + \\ENQ\EOT\b\STX\ACK\SOH\DC2\EOT\208\ETX\t\EM\n\ \\r\n\ - \\ENQ\EOT\b\STX\ACK\ETX\DC2\EOT\202\ETX\FS\GS\n\ + \\ENQ\EOT\b\STX\ACK\ETX\DC2\EOT\208\ETX\FS\GS\n\ \\f\n\ - \\STX\EOT\t\DC2\ACK\205\ETX\NUL\129\EOT\SOH\n\ + \\STX\EOT\t\DC2\ACK\211\ETX\NUL\135\EOT\SOH\n\ \\v\n\ - \\ETX\EOT\t\SOH\DC2\EOT\205\ETX\b\DC4\n\ + \\ETX\EOT\t\SOH\DC2\EOT\211\ETX\b\DC4\n\ \\f\n\ - \\EOT\EOT\t\STX\NUL\DC2\EOT\206\ETX\STX\DC4\n\ + \\EOT\EOT\t\STX\NUL\DC2\EOT\212\ETX\STX\DC4\n\ \\r\n\ - \\ENQ\EOT\t\STX\NUL\ENQ\DC2\EOT\206\ETX\STX\b\n\ + \\ENQ\EOT\t\STX\NUL\ENQ\DC2\EOT\212\ETX\STX\b\n\ \\r\n\ - \\ENQ\EOT\t\STX\NUL\SOH\DC2\EOT\206\ETX\t\SI\n\ + \\ENQ\EOT\t\STX\NUL\SOH\DC2\EOT\212\ETX\t\SI\n\ \\r\n\ - \\ENQ\EOT\t\STX\NUL\ETX\DC2\EOT\206\ETX\DC2\DC3\n\ + \\ENQ\EOT\t\STX\NUL\ETX\DC2\EOT\212\ETX\DC2\DC3\n\ \\222\b\n\ - \\EOT\EOT\t\STX\SOH\DC2\EOT\231\ETX\STX\CAN\SUB\207\b When resolving \"Find references\", this field documents what other symbols\n\ + \\EOT\EOT\t\STX\SOH\DC2\EOT\237\ETX\STX\CAN\SUB\207\b When resolving \"Find references\", this field documents what other symbols\n\ \ should be included together with this symbol. For example, consider the\n\ \ following TypeScript code that defines two symbols `Animal#sound()` and\n\ \ `Dog#sound()`:\n\ @@ -8037,13 +8054,13 @@ packedFileDescriptor \ `Animal#sound()` method as well.\n\ \\n\ \\r\n\ - \\ENQ\EOT\t\STX\SOH\ENQ\DC2\EOT\231\ETX\STX\ACK\n\ + \\ENQ\EOT\t\STX\SOH\ENQ\DC2\EOT\237\ETX\STX\ACK\n\ \\r\n\ - \\ENQ\EOT\t\STX\SOH\SOH\DC2\EOT\231\ETX\a\DC3\n\ + \\ENQ\EOT\t\STX\SOH\SOH\DC2\EOT\237\ETX\a\DC3\n\ \\r\n\ - \\ENQ\EOT\t\STX\SOH\ETX\DC2\EOT\231\ETX\SYN\ETB\n\ + \\ENQ\EOT\t\STX\SOH\ETX\DC2\EOT\237\ETX\SYN\ETB\n\ \\238\ETX\n\ - \\EOT\EOT\t\STX\STX\DC2\EOT\240\ETX\STX\GS\SUB\223\ETX Similar to `is_reference` but for \"Find implementations\".\n\ + \\EOT\EOT\t\STX\STX\DC2\EOT\246\ETX\STX\GS\SUB\223\ETX Similar to `is_reference` but for \"Find implementations\".\n\ \ It's common for `is_implementation` and `is_reference` to both be true but\n\ \ it's not always the case.\n\ \ In the TypeScript example above, observe that `Dog#` has an\n\ @@ -8053,22 +8070,22 @@ packedFileDescriptor \ implementations\" on the \"Animal#\" symbol.\n\ \\n\ \\r\n\ - \\ENQ\EOT\t\STX\STX\ENQ\DC2\EOT\240\ETX\STX\ACK\n\ + \\ENQ\EOT\t\STX\STX\ENQ\DC2\EOT\246\ETX\STX\ACK\n\ \\r\n\ - \\ENQ\EOT\t\STX\STX\SOH\DC2\EOT\240\ETX\a\CAN\n\ + \\ENQ\EOT\t\STX\STX\SOH\DC2\EOT\246\ETX\a\CAN\n\ \\r\n\ - \\ENQ\EOT\t\STX\STX\ETX\DC2\EOT\240\ETX\ESC\FS\n\ + \\ENQ\EOT\t\STX\STX\ETX\DC2\EOT\246\ETX\ESC\FS\n\ \P\n\ - \\EOT\EOT\t\STX\ETX\DC2\EOT\242\ETX\STX\RS\SUBB Similar to `references_symbols` but for \"Go to type definition\".\n\ + \\EOT\EOT\t\STX\ETX\DC2\EOT\248\ETX\STX\RS\SUBB Similar to `references_symbols` but for \"Go to type definition\".\n\ \\n\ \\r\n\ - \\ENQ\EOT\t\STX\ETX\ENQ\DC2\EOT\242\ETX\STX\ACK\n\ + \\ENQ\EOT\t\STX\ETX\ENQ\DC2\EOT\248\ETX\STX\ACK\n\ \\r\n\ - \\ENQ\EOT\t\STX\ETX\SOH\DC2\EOT\242\ETX\a\EM\n\ + \\ENQ\EOT\t\STX\ETX\SOH\DC2\EOT\248\ETX\a\EM\n\ \\r\n\ - \\ENQ\EOT\t\STX\ETX\ETX\DC2\EOT\242\ETX\FS\GS\n\ + \\ENQ\EOT\t\STX\ETX\ETX\DC2\EOT\248\ETX\FS\GS\n\ \\216\ENQ\n\ - \\EOT\EOT\t\STX\EOT\DC2\EOT\255\ETX\STX\EM\SUB\134\ENQ Allows overriding the behavior of \"Go to definition\" and \"Find references\"\n\ + \\EOT\EOT\t\STX\EOT\DC2\EOT\133\EOT\STX\EM\SUB\134\ENQ Allows overriding the behavior of \"Go to definition\" and \"Find references\"\n\ \ for symbols which do not have a definition of their own or could\n\ \ potentially have multiple definitions.\n\ \\n\ @@ -8083,379 +8100,379 @@ packedFileDescriptor \\"A Update registerInverseRelationships on adding a new field here.\n\ \\n\ \\r\n\ - \\ENQ\EOT\t\STX\EOT\ENQ\DC2\EOT\255\ETX\STX\ACK\n\ + \\ENQ\EOT\t\STX\EOT\ENQ\DC2\EOT\133\EOT\STX\ACK\n\ \\r\n\ - \\ENQ\EOT\t\STX\EOT\SOH\DC2\EOT\255\ETX\a\DC4\n\ + \\ENQ\EOT\t\STX\EOT\SOH\DC2\EOT\133\EOT\a\DC4\n\ \\r\n\ - \\ENQ\EOT\t\STX\EOT\ETX\DC2\EOT\255\ETX\ETB\CAN\n\ + \\ENQ\EOT\t\STX\EOT\ETX\DC2\EOT\133\EOT\ETB\CAN\n\ \\136\ETX\n\ - \\STX\ENQ\ETX\DC2\ACK\136\EOT\NUL\158\EOT\SOH\SUB\249\STX SymbolRole declares what \"role\" a symbol has in an occurrence. A role is\n\ + \\STX\ENQ\ETX\DC2\ACK\142\EOT\NUL\164\EOT\SOH\SUB\249\STX SymbolRole declares what \"role\" a symbol has in an occurrence. A role is\n\ \ encoded as a bitset where each bit represents a different role. For example,\n\ \ to determine if the `Import` role is set, test whether the second bit of the\n\ \ enum value is defined. In pseudocode, this can be implemented with the\n\ \ logic: `const isImportRole = (role.value & SymbolRole.Import.value) > 0`.\n\ \\n\ \\v\n\ - \\ETX\ENQ\ETX\SOH\DC2\EOT\136\EOT\ENQ\SI\n\ + \\ETX\ENQ\ETX\SOH\DC2\EOT\142\EOT\ENQ\SI\n\ \v\n\ - \\EOT\ENQ\ETX\STX\NUL\DC2\EOT\139\EOT\STX\FS\SUBh This case is not meant to be used; it only exists to avoid an error\n\ + \\EOT\ENQ\ETX\STX\NUL\DC2\EOT\145\EOT\STX\FS\SUBh This case is not meant to be used; it only exists to avoid an error\n\ \ from the Protobuf code generator.\n\ \\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX\NUL\SOH\DC2\EOT\139\EOT\STX\ETB\n\ + \\ENQ\ENQ\ETX\STX\NUL\SOH\DC2\EOT\145\EOT\STX\ETB\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX\NUL\STX\DC2\EOT\139\EOT\SUB\ESC\n\ + \\ENQ\ENQ\ETX\STX\NUL\STX\DC2\EOT\145\EOT\SUB\ESC\n\ \T\n\ - \\EOT\ENQ\ETX\STX\SOH\DC2\EOT\141\EOT\STX\DC3\SUBF Is the symbol defined here? If not, then this is a symbol reference.\n\ + \\EOT\ENQ\ETX\STX\SOH\DC2\EOT\147\EOT\STX\DC3\SUBF Is the symbol defined here? If not, then this is a symbol reference.\n\ \\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX\SOH\SOH\DC2\EOT\141\EOT\STX\f\n\ + \\ENQ\ENQ\ETX\STX\SOH\SOH\DC2\EOT\147\EOT\STX\f\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX\SOH\STX\DC2\EOT\141\EOT\SI\DC2\n\ + \\ENQ\ENQ\ETX\STX\SOH\STX\DC2\EOT\147\EOT\SI\DC2\n\ \,\n\ - \\EOT\ENQ\ETX\STX\STX\DC2\EOT\143\EOT\STX\SI\SUB\RS Is the symbol imported here?\n\ + \\EOT\ENQ\ETX\STX\STX\DC2\EOT\149\EOT\STX\SI\SUB\RS Is the symbol imported here?\n\ \\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX\STX\SOH\DC2\EOT\143\EOT\STX\b\n\ + \\ENQ\ENQ\ETX\STX\STX\SOH\DC2\EOT\149\EOT\STX\b\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX\STX\STX\DC2\EOT\143\EOT\v\SO\n\ + \\ENQ\ENQ\ETX\STX\STX\STX\DC2\EOT\149\EOT\v\SO\n\ \+\n\ - \\EOT\ENQ\ETX\STX\ETX\DC2\EOT\145\EOT\STX\DC4\SUB\GS Is the symbol written here?\n\ + \\EOT\ENQ\ETX\STX\ETX\DC2\EOT\151\EOT\STX\DC4\SUB\GS Is the symbol written here?\n\ \\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX\ETX\SOH\DC2\EOT\145\EOT\STX\r\n\ + \\ENQ\ENQ\ETX\STX\ETX\SOH\DC2\EOT\151\EOT\STX\r\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX\ETX\STX\DC2\EOT\145\EOT\DLE\DC3\n\ + \\ENQ\ENQ\ETX\STX\ETX\STX\DC2\EOT\151\EOT\DLE\DC3\n\ \(\n\ - \\EOT\ENQ\ETX\STX\EOT\DC2\EOT\147\EOT\STX\DC3\SUB\SUB Is the symbol read here?\n\ + \\EOT\ENQ\ETX\STX\EOT\DC2\EOT\153\EOT\STX\DC3\SUB\SUB Is the symbol read here?\n\ \\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX\EOT\SOH\DC2\EOT\147\EOT\STX\f\n\ + \\ENQ\ENQ\ETX\STX\EOT\SOH\DC2\EOT\153\EOT\STX\f\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX\EOT\STX\DC2\EOT\147\EOT\SI\DC2\n\ + \\ENQ\ENQ\ETX\STX\EOT\STX\DC2\EOT\153\EOT\SI\DC2\n\ \0\n\ - \\EOT\ENQ\ETX\STX\ENQ\DC2\EOT\149\EOT\STX\DC3\SUB\" Is the symbol in generated code?\n\ + \\EOT\ENQ\ETX\STX\ENQ\DC2\EOT\155\EOT\STX\DC3\SUB\" Is the symbol in generated code?\n\ \\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX\ENQ\SOH\DC2\EOT\149\EOT\STX\v\n\ + \\ENQ\ENQ\ETX\STX\ENQ\SOH\DC2\EOT\155\EOT\STX\v\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX\ENQ\STX\DC2\EOT\149\EOT\SO\DC2\n\ + \\ENQ\ENQ\ETX\STX\ENQ\STX\DC2\EOT\155\EOT\SO\DC2\n\ \+\n\ - \\EOT\ENQ\ETX\STX\ACK\DC2\EOT\151\EOT\STX\SO\SUB\GS Is the symbol in test code?\n\ + \\EOT\ENQ\ETX\STX\ACK\DC2\EOT\157\EOT\STX\SO\SUB\GS Is the symbol in test code?\n\ \\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX\ACK\SOH\DC2\EOT\151\EOT\STX\ACK\n\ + \\ENQ\ENQ\ETX\STX\ACK\SOH\DC2\EOT\157\EOT\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX\ACK\STX\DC2\EOT\151\EOT\t\r\n\ + \\ENQ\ENQ\ETX\STX\ACK\STX\DC2\EOT\157\EOT\t\r\n\ \\237\SOH\n\ - \\EOT\ENQ\ETX\STX\a\DC2\EOT\157\EOT\STX\ESC\SUB\222\SOH Is this a signature for a symbol that is defined elsewhere?\n\ + \\EOT\ENQ\ETX\STX\a\DC2\EOT\163\EOT\STX\ESC\SUB\222\SOH Is this a signature for a symbol that is defined elsewhere?\n\ \\n\ \ Applies to forward declarations for languages like C, C++\n\ \ and Objective-C, as well as `val` declarations in interface\n\ \ files in languages like SML and OCaml.\n\ \\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX\a\SOH\DC2\EOT\157\EOT\STX\DC3\n\ + \\ENQ\ENQ\ETX\STX\a\SOH\DC2\EOT\163\EOT\STX\DC3\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX\a\STX\DC2\EOT\157\EOT\SYN\SUB\n\ + \\ENQ\ENQ\ETX\STX\a\STX\DC2\EOT\163\EOT\SYN\SUB\n\ \\f\n\ - \\STX\ENQ\EOT\DC2\ACK\160\EOT\NUL\253\EOT\SOH\n\ + \\STX\ENQ\EOT\DC2\ACK\166\EOT\NUL\131\ENQ\SOH\n\ \\v\n\ - \\ETX\ENQ\EOT\SOH\DC2\EOT\160\EOT\ENQ\SI\n\ + \\ETX\ENQ\EOT\SOH\DC2\EOT\166\EOT\ENQ\SI\n\ \\v\n\ - \\ETX\ENQ\EOT\ETX\DC2\EOT\161\EOT\STX\FS\n\ + \\ETX\ENQ\EOT\ETX\DC2\EOT\167\EOT\STX\FS\n\ \\f\n\ - \\EOT\ENQ\EOT\ETX\STX\DC2\EOT\161\EOT\STX\FS\n\ + \\EOT\ENQ\EOT\ETX\STX\DC2\EOT\167\EOT\STX\FS\n\ \\f\n\ - \\EOT\ENQ\EOT\STX\NUL\DC2\EOT\163\EOT\STX\FS\n\ + \\EOT\ENQ\EOT\STX\NUL\DC2\EOT\169\EOT\STX\FS\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\NUL\SOH\DC2\EOT\163\EOT\STX\ETB\n\ + \\ENQ\ENQ\EOT\STX\NUL\SOH\DC2\EOT\169\EOT\STX\ETB\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\NUL\STX\DC2\EOT\163\EOT\SUB\ESC\n\ + \\ENQ\ENQ\EOT\STX\NUL\STX\DC2\EOT\169\EOT\SUB\ESC\n\ \;\n\ - \\EOT\ENQ\EOT\STX\SOH\DC2\EOT\166\EOT\STX\SO\SUB- Comment, including comment markers and text\n\ + \\EOT\ENQ\EOT\STX\SOH\DC2\EOT\172\EOT\STX\SO\SUB- Comment, including comment markers and text\n\ \\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\SOH\SOH\DC2\EOT\166\EOT\STX\t\n\ + \\ENQ\ENQ\EOT\STX\SOH\SOH\DC2\EOT\172\EOT\STX\t\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\SOH\STX\DC2\EOT\166\EOT\f\r\n\ + \\ENQ\ENQ\EOT\STX\SOH\STX\DC2\EOT\172\EOT\f\r\n\ \\ESC\n\ - \\EOT\ENQ\EOT\STX\STX\DC2\EOT\169\EOT\STX\ESC\SUB\r `;` `.` `,`\n\ + \\EOT\ENQ\EOT\STX\STX\DC2\EOT\175\EOT\STX\ESC\SUB\r `;` `.` `,`\n\ \\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\STX\SOH\DC2\EOT\169\EOT\STX\SYN\n\ + \\ENQ\ENQ\EOT\STX\STX\SOH\DC2\EOT\175\EOT\STX\SYN\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\STX\STX\DC2\EOT\169\EOT\EM\SUB\n\ + \\ENQ\ENQ\EOT\STX\STX\STX\DC2\EOT\175\EOT\EM\SUB\n\ \2\n\ - \\EOT\ENQ\EOT\STX\ETX\DC2\EOT\171\EOT\STX\EM\SUB$ (), {}, [] when used syntactically\n\ + \\EOT\ENQ\EOT\STX\ETX\DC2\EOT\177\EOT\STX\EM\SUB$ (), {}, [] when used syntactically\n\ \\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\ETX\SOH\DC2\EOT\171\EOT\STX\DC4\n\ + \\ENQ\ENQ\EOT\STX\ETX\SOH\DC2\EOT\177\EOT\STX\DC4\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\ETX\STX\DC2\EOT\171\EOT\ETB\CAN\n\ + \\ENQ\ENQ\EOT\STX\ETX\STX\DC2\EOT\177\EOT\ETB\CAN\n\ \5\n\ - \\EOT\ENQ\EOT\STX\EOT\DC2\EOT\174\EOT\STX\SO\SUB' `if`, `else`, `return`, `class`, etc.\n\ + \\EOT\ENQ\EOT\STX\EOT\DC2\EOT\180\EOT\STX\SO\SUB' `if`, `else`, `return`, `class`, etc.\n\ \\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\EOT\SOH\DC2\EOT\174\EOT\STX\t\n\ + \\ENQ\ENQ\EOT\STX\EOT\SOH\DC2\EOT\180\EOT\STX\t\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\EOT\STX\DC2\EOT\174\EOT\f\r\n\ + \\ENQ\ENQ\EOT\STX\EOT\STX\DC2\EOT\180\EOT\f\r\n\ \\f\n\ - \\EOT\ENQ\EOT\STX\ENQ\DC2\EOT\175\EOT\STX,\n\ + \\EOT\ENQ\EOT\STX\ENQ\DC2\EOT\181\EOT\STX,\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\ENQ\SOH\DC2\EOT\175\EOT\STX\DC3\n\ + \\ENQ\ENQ\EOT\STX\ENQ\SOH\DC2\EOT\181\EOT\STX\DC3\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\ENQ\STX\DC2\EOT\175\EOT\SYN\ETB\n\ + \\ENQ\ENQ\EOT\STX\ENQ\STX\DC2\EOT\181\EOT\SYN\ETB\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\ENQ\ETX\DC2\EOT\175\EOT\CAN+\n\ + \\ENQ\ENQ\EOT\STX\ENQ\ETX\DC2\EOT\181\EOT\CAN+\n\ \\SO\n\ - \\ACK\ENQ\EOT\STX\ENQ\ETX\SOH\DC2\EOT\175\EOT\EM*\n\ + \\ACK\ENQ\EOT\STX\ENQ\ETX\SOH\DC2\EOT\181\EOT\EM*\n\ \\RS\n\ - \\EOT\ENQ\EOT\STX\ACK\DC2\EOT\178\EOT\STX\EM\SUB\DLE `+`, `*`, etc.\n\ + \\EOT\ENQ\EOT\STX\ACK\DC2\EOT\184\EOT\STX\EM\SUB\DLE `+`, `*`, etc.\n\ \\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\ACK\SOH\DC2\EOT\178\EOT\STX\DC4\n\ + \\ENQ\ENQ\EOT\STX\ACK\SOH\DC2\EOT\184\EOT\STX\DC4\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\ACK\STX\DC2\EOT\178\EOT\ETB\CAN\n\ + \\ENQ\ENQ\EOT\STX\ACK\STX\DC2\EOT\184\EOT\ETB\CAN\n\ \X\n\ - \\EOT\ENQ\EOT\STX\a\DC2\EOT\181\EOT\STX\DC1\SUBJ non-specific catch-all for any identifier not better described elsewhere\n\ + \\EOT\ENQ\EOT\STX\a\DC2\EOT\187\EOT\STX\DC1\SUBJ non-specific catch-all for any identifier not better described elsewhere\n\ \\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\a\SOH\DC2\EOT\181\EOT\STX\f\n\ + \\ENQ\ENQ\EOT\STX\a\SOH\DC2\EOT\187\EOT\STX\f\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\a\STX\DC2\EOT\181\EOT\SI\DLE\n\ + \\ENQ\ENQ\EOT\STX\a\STX\DC2\EOT\187\EOT\SI\DLE\n\ \N\n\ - \\EOT\ENQ\EOT\STX\b\DC2\EOT\183\EOT\STX\CAN\SUB@ Identifiers builtin to the language: `min`, `print` in Python.\n\ + \\EOT\ENQ\EOT\STX\b\DC2\EOT\189\EOT\STX\CAN\SUB@ Identifiers builtin to the language: `min`, `print` in Python.\n\ \\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\b\SOH\DC2\EOT\183\EOT\STX\DC3\n\ + \\ENQ\ENQ\EOT\STX\b\SOH\DC2\EOT\189\EOT\STX\DC3\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\b\STX\DC2\EOT\183\EOT\SYN\ETB\n\ + \\ENQ\ENQ\EOT\STX\b\STX\DC2\EOT\189\EOT\SYN\ETB\n\ \[\n\ - \\EOT\ENQ\EOT\STX\t\DC2\EOT\185\EOT\STX\NAK\SUBM Identifiers representing `null`-like values: `None` in Python, `nil` in Go.\n\ + \\EOT\ENQ\EOT\STX\t\DC2\EOT\191\EOT\STX\NAK\SUBM Identifiers representing `null`-like values: `None` in Python, `nil` in Go.\n\ \\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\t\SOH\DC2\EOT\185\EOT\STX\DLE\n\ + \\ENQ\ENQ\EOT\STX\t\SOH\DC2\EOT\191\EOT\STX\DLE\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\t\STX\DC2\EOT\185\EOT\DC3\DC4\n\ + \\ENQ\ENQ\EOT\STX\t\STX\DC2\EOT\191\EOT\DC3\DC4\n\ \.\n\ \\EOT\ENQ\EOT\STX\n\ - \\DC2\EOT\187\EOT\STX\EM\SUB `xyz` in `const xyz = \"hello\"`\n\ + \\DC2\EOT\193\EOT\STX\EM\SUB `xyz` in `const xyz = \"hello\"`\n\ \\n\ \\r\n\ \\ENQ\ENQ\EOT\STX\n\ - \\SOH\DC2\EOT\187\EOT\STX\DC4\n\ + \\SOH\DC2\EOT\193\EOT\STX\DC4\n\ \\r\n\ \\ENQ\ENQ\EOT\STX\n\ - \\STX\DC2\EOT\187\EOT\ETB\CAN\n\ + \\STX\DC2\EOT\193\EOT\ETB\CAN\n\ \'\n\ - \\EOT\ENQ\EOT\STX\v\DC2\EOT\189\EOT\STX\US\SUB\EM `var X = \"hello\"` in Go\n\ + \\EOT\ENQ\EOT\STX\v\DC2\EOT\195\EOT\STX\US\SUB\EM `var X = \"hello\"` in Go\n\ \\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\v\SOH\DC2\EOT\189\EOT\STX\EM\n\ + \\ENQ\ENQ\EOT\STX\v\SOH\DC2\EOT\195\EOT\STX\EM\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\v\STX\DC2\EOT\189\EOT\FS\RS\n\ + \\ENQ\ENQ\EOT\STX\v\STX\DC2\EOT\195\EOT\FS\RS\n\ \3\n\ - \\EOT\ENQ\EOT\STX\f\DC2\EOT\191\EOT\STX\ESC\SUB% Parameter definition and references\n\ + \\EOT\ENQ\EOT\STX\f\DC2\EOT\197\EOT\STX\ESC\SUB% Parameter definition and references\n\ \\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\f\SOH\DC2\EOT\191\EOT\STX\NAK\n\ + \\ENQ\ENQ\EOT\STX\f\SOH\DC2\EOT\197\EOT\STX\NAK\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\f\STX\DC2\EOT\191\EOT\CAN\SUB\n\ + \\ENQ\ENQ\EOT\STX\f\STX\DC2\EOT\197\EOT\CAN\SUB\n\ \X\n\ - \\EOT\ENQ\EOT\STX\r\DC2\EOT\193\EOT\STX\ETB\SUBJ Identifiers for variable definitions and references within a local scope\n\ + \\EOT\ENQ\EOT\STX\r\DC2\EOT\199\EOT\STX\ETB\SUBJ Identifiers for variable definitions and references within a local scope\n\ \\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\r\SOH\DC2\EOT\193\EOT\STX\DC1\n\ + \\ENQ\ENQ\EOT\STX\r\SOH\DC2\EOT\199\EOT\STX\DC1\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\r\STX\DC2\EOT\193\EOT\DC4\SYN\n\ + \\ENQ\ENQ\EOT\STX\r\STX\DC2\EOT\199\EOT\DC4\SYN\n\ \K\n\ - \\EOT\ENQ\EOT\STX\SO\DC2\EOT\195\EOT\STX\SUB\SUB= Identifiers that shadow other identifiers in an outer scope\n\ + \\EOT\ENQ\EOT\STX\SO\DC2\EOT\201\EOT\STX\SUB\SUB= Identifiers that shadow other identifiers in an outer scope\n\ \\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\SO\SOH\DC2\EOT\195\EOT\STX\DC4\n\ + \\ENQ\ENQ\EOT\STX\SO\SOH\DC2\EOT\201\EOT\STX\DC4\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\SO\STX\DC2\EOT\195\EOT\ETB\EM\n\ + \\ENQ\ENQ\EOT\STX\SO\STX\DC2\EOT\201\EOT\ETB\EM\n\ \\205\SOH\n\ - \\EOT\ENQ\EOT\STX\SI\DC2\EOT\200\EOT\STX\ESC\SUB\190\SOH Identifier representing a unit of code abstraction and/or namespacing.\n\ + \\EOT\ENQ\EOT\STX\SI\DC2\EOT\206\EOT\STX\ESC\SUB\190\SOH Identifier representing a unit of code abstraction and/or namespacing.\n\ \\n\ \ NOTE: This corresponds to a package in Go and JVM languages,\n\ \ and a module in languages like Python and JavaScript.\n\ \\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\SI\SOH\DC2\EOT\200\EOT\STX\NAK\n\ + \\ENQ\ENQ\EOT\STX\SI\SOH\DC2\EOT\206\EOT\STX\NAK\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\SI\STX\DC2\EOT\200\EOT\CAN\SUB\n\ + \\ENQ\ENQ\EOT\STX\SI\STX\DC2\EOT\206\EOT\CAN\SUB\n\ \\f\n\ - \\EOT\ENQ\EOT\STX\DLE\DC2\EOT\201\EOT\STX,\n\ + \\EOT\ENQ\EOT\STX\DLE\DC2\EOT\207\EOT\STX,\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\DLE\SOH\DC2\EOT\201\EOT\STX\DC2\n\ + \\ENQ\ENQ\EOT\STX\DLE\SOH\DC2\EOT\207\EOT\STX\DC2\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\DLE\STX\DC2\EOT\201\EOT\NAK\ETB\n\ + \\ENQ\ENQ\EOT\STX\DLE\STX\DC2\EOT\207\EOT\NAK\ETB\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\DLE\ETX\DC2\EOT\201\EOT\CAN+\n\ + \\ENQ\ENQ\EOT\STX\DLE\ETX\DC2\EOT\207\EOT\CAN+\n\ \\SO\n\ - \\ACK\ENQ\EOT\STX\DLE\ETX\SOH\DC2\EOT\201\EOT\EM*\n\ + \\ACK\ENQ\EOT\STX\DLE\ETX\SOH\DC2\EOT\207\EOT\EM*\n\ \4\n\ - \\EOT\ENQ\EOT\STX\DC1\DC2\EOT\204\EOT\STX\SUB\SUB& Function references, including calls\n\ + \\EOT\ENQ\EOT\STX\DC1\DC2\EOT\210\EOT\STX\SUB\SUB& Function references, including calls\n\ \\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\DC1\SOH\DC2\EOT\204\EOT\STX\DC4\n\ + \\ENQ\ENQ\EOT\STX\DC1\SOH\DC2\EOT\210\EOT\STX\DC4\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\DC1\STX\DC2\EOT\204\EOT\ETB\EM\n\ + \\ENQ\ENQ\EOT\STX\DC1\STX\DC2\EOT\210\EOT\ETB\EM\n\ \(\n\ - \\EOT\ENQ\EOT\STX\DC2\DC2\EOT\206\EOT\STX$\SUB\SUB Function definition only\n\ + \\EOT\ENQ\EOT\STX\DC2\DC2\EOT\212\EOT\STX$\SUB\SUB Function definition only\n\ \\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\DC2\SOH\DC2\EOT\206\EOT\STX\RS\n\ + \\ENQ\ENQ\EOT\STX\DC2\SOH\DC2\EOT\212\EOT\STX\RS\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\DC2\STX\DC2\EOT\206\EOT!#\n\ + \\ENQ\ENQ\EOT\STX\DC2\STX\DC2\EOT\212\EOT!#\n\ \7\n\ - \\EOT\ENQ\EOT\STX\DC3\DC2\EOT\209\EOT\STX\ETB\SUB) Macro references, including invocations\n\ + \\EOT\ENQ\EOT\STX\DC3\DC2\EOT\215\EOT\STX\ETB\SUB) Macro references, including invocations\n\ \\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\DC3\SOH\DC2\EOT\209\EOT\STX\DC1\n\ + \\ENQ\ENQ\EOT\STX\DC3\SOH\DC2\EOT\215\EOT\STX\DC1\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\DC3\STX\DC2\EOT\209\EOT\DC4\SYN\n\ + \\ENQ\ENQ\EOT\STX\DC3\STX\DC2\EOT\215\EOT\DC4\SYN\n\ \%\n\ - \\EOT\ENQ\EOT\STX\DC4\DC2\EOT\211\EOT\STX!\SUB\ETB Macro definition only\n\ + \\EOT\ENQ\EOT\STX\DC4\DC2\EOT\217\EOT\STX!\SUB\ETB Macro definition only\n\ \\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\DC4\SOH\DC2\EOT\211\EOT\STX\ESC\n\ + \\ENQ\ENQ\EOT\STX\DC4\SOH\DC2\EOT\217\EOT\STX\ESC\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\DC4\STX\DC2\EOT\211\EOT\RS \n\ + \\ENQ\ENQ\EOT\STX\DC4\STX\DC2\EOT\217\EOT\RS \n\ \!\n\ - \\EOT\ENQ\EOT\STX\NAK\DC2\EOT\214\EOT\STX\SYN\SUB\DC3 non-builtin types\n\ + \\EOT\ENQ\EOT\STX\NAK\DC2\EOT\220\EOT\STX\SYN\SUB\DC3 non-builtin types\n\ \\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\NAK\SOH\DC2\EOT\214\EOT\STX\DLE\n\ + \\ENQ\ENQ\EOT\STX\NAK\SOH\DC2\EOT\220\EOT\STX\DLE\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\NAK\STX\DC2\EOT\214\EOT\DC3\NAK\n\ + \\ENQ\ENQ\EOT\STX\NAK\STX\DC2\EOT\220\EOT\DC3\NAK\n\ \K\n\ - \\EOT\ENQ\EOT\STX\SYN\DC2\EOT\216\EOT\STX\GS\SUB= builtin types only, such as `str` for Python or `int` in Go\n\ + \\EOT\ENQ\EOT\STX\SYN\DC2\EOT\222\EOT\STX\GS\SUB= builtin types only, such as `str` for Python or `int` in Go\n\ \\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\SYN\SOH\DC2\EOT\216\EOT\STX\ETB\n\ + \\ENQ\ENQ\EOT\STX\SYN\SOH\DC2\EOT\222\EOT\STX\ETB\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\SYN\STX\DC2\EOT\216\EOT\SUB\FS\n\ + \\ENQ\ENQ\EOT\STX\SYN\STX\DC2\EOT\222\EOT\SUB\FS\n\ \7\n\ - \\EOT\ENQ\EOT\STX\ETB\DC2\EOT\219\EOT\STX\ESC\SUB) Python decorators, c-like __attribute__\n\ + \\EOT\ENQ\EOT\STX\ETB\DC2\EOT\225\EOT\STX\ESC\SUB) Python decorators, c-like __attribute__\n\ \\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\ETB\SOH\DC2\EOT\219\EOT\STX\NAK\n\ + \\ENQ\ENQ\EOT\STX\ETB\SOH\DC2\EOT\225\EOT\STX\NAK\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\ETB\STX\DC2\EOT\219\EOT\CAN\SUB\n\ + \\ENQ\ENQ\EOT\STX\ETB\STX\DC2\EOT\225\EOT\CAN\SUB\n\ \\DC4\n\ - \\EOT\ENQ\EOT\STX\CAN\DC2\EOT\222\EOT\STX\DC3\SUB\ACK `\\b`\n\ + \\EOT\ENQ\EOT\STX\CAN\DC2\EOT\228\EOT\STX\DC3\SUB\ACK `\\b`\n\ \\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\CAN\SOH\DC2\EOT\222\EOT\STX\r\n\ + \\ENQ\ENQ\EOT\STX\CAN\SOH\DC2\EOT\228\EOT\STX\r\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\CAN\STX\DC2\EOT\222\EOT\DLE\DC2\n\ + \\ENQ\ENQ\EOT\STX\CAN\STX\DC2\EOT\228\EOT\DLE\DC2\n\ \\CAN\n\ - \\EOT\ENQ\EOT\STX\EM\DC2\EOT\224\EOT\STX\NAK\SUB\n\ + \\EOT\ENQ\EOT\STX\EM\DC2\EOT\230\EOT\STX\NAK\SUB\n\ \ `*`, `+`\n\ \\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\EM\SOH\DC2\EOT\224\EOT\STX\SI\n\ + \\ENQ\ENQ\EOT\STX\EM\SOH\DC2\EOT\230\EOT\STX\SI\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\EM\STX\DC2\EOT\224\EOT\DC2\DC4\n\ + \\ENQ\ENQ\EOT\STX\EM\STX\DC2\EOT\230\EOT\DC2\DC4\n\ \\DC3\n\ - \\EOT\ENQ\EOT\STX\SUB\DC2\EOT\226\EOT\STX\NAK\SUB\ENQ `.`\n\ + \\EOT\ENQ\EOT\STX\SUB\DC2\EOT\232\EOT\STX\NAK\SUB\ENQ `.`\n\ \\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\SUB\SOH\DC2\EOT\226\EOT\STX\SI\n\ + \\ENQ\ENQ\EOT\STX\SUB\SOH\DC2\EOT\232\EOT\STX\SI\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\SUB\STX\DC2\EOT\226\EOT\DC2\DC4\n\ + \\ENQ\ENQ\EOT\STX\SUB\STX\DC2\EOT\232\EOT\DC2\DC4\n\ \\"\n\ - \\EOT\ENQ\EOT\STX\ESC\DC2\EOT\228\EOT\STX\SYN\SUB\DC4 `(`, `)`, `[`, `]`\n\ + \\EOT\ENQ\EOT\STX\ESC\DC2\EOT\234\EOT\STX\SYN\SUB\DC4 `(`, `)`, `[`, `]`\n\ \\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\ESC\SOH\DC2\EOT\228\EOT\STX\DLE\n\ + \\ENQ\ENQ\EOT\STX\ESC\SOH\DC2\EOT\234\EOT\STX\DLE\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\ESC\STX\DC2\EOT\228\EOT\DC3\NAK\n\ + \\ENQ\ENQ\EOT\STX\ESC\STX\DC2\EOT\234\EOT\DC3\NAK\n\ \\CAN\n\ - \\EOT\ENQ\EOT\STX\FS\DC2\EOT\230\EOT\STX\DC1\SUB\n\ + \\EOT\ENQ\EOT\STX\FS\DC2\EOT\236\EOT\STX\DC1\SUB\n\ \ `|`, `-`\n\ \\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\FS\SOH\DC2\EOT\230\EOT\STX\v\n\ + \\ENQ\ENQ\EOT\STX\FS\SOH\DC2\EOT\236\EOT\STX\v\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\FS\STX\DC2\EOT\230\EOT\SO\DLE\n\ + \\ENQ\ENQ\EOT\STX\FS\STX\DC2\EOT\236\EOT\SO\DLE\n\ \0\n\ - \\EOT\ENQ\EOT\STX\GS\DC2\EOT\233\EOT\STX\NAK\SUB\" Literal strings: \"Hello, world!\"\n\ + \\EOT\ENQ\EOT\STX\GS\DC2\EOT\239\EOT\STX\NAK\SUB\" Literal strings: \"Hello, world!\"\n\ \\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\GS\SOH\DC2\EOT\233\EOT\STX\SI\n\ + \\ENQ\ENQ\EOT\STX\GS\SOH\DC2\EOT\239\EOT\STX\SI\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\GS\STX\DC2\EOT\233\EOT\DC2\DC4\n\ + \\ENQ\ENQ\EOT\STX\GS\STX\DC2\EOT\239\EOT\DC2\DC4\n\ \-\n\ - \\EOT\ENQ\EOT\STX\RS\DC2\EOT\235\EOT\STX\ESC\SUB\US non-regex escapes: \"\\t\", \"\\n\"\n\ + \\EOT\ENQ\EOT\STX\RS\DC2\EOT\241\EOT\STX\ESC\SUB\US non-regex escapes: \"\\t\", \"\\n\"\n\ \\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\RS\SOH\DC2\EOT\235\EOT\STX\NAK\n\ + \\ENQ\ENQ\EOT\STX\RS\SOH\DC2\EOT\241\EOT\STX\NAK\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\RS\STX\DC2\EOT\235\EOT\CAN\SUB\n\ + \\ENQ\ENQ\EOT\STX\RS\STX\DC2\EOT\241\EOT\CAN\SUB\n\ \_\n\ - \\EOT\ENQ\EOT\STX\US\DC2\EOT\237\EOT\STX\FS\SUBQ datetimes within strings, special words within a string, `{}` in format strings\n\ + \\EOT\ENQ\EOT\STX\US\DC2\EOT\243\EOT\STX\FS\SUBQ datetimes within strings, special words within a string, `{}` in format strings\n\ \\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\US\SOH\DC2\EOT\237\EOT\STX\SYN\n\ + \\ENQ\ENQ\EOT\STX\US\SOH\DC2\EOT\243\EOT\STX\SYN\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\US\STX\DC2\EOT\237\EOT\EM\ESC\n\ + \\ENQ\ENQ\EOT\STX\US\STX\DC2\EOT\243\EOT\EM\ESC\n\ \G\n\ - \\EOT\ENQ\EOT\STX \DC2\EOT\239\EOT\STX\CAN\SUB9 \"key\" in { \"key\": \"value\" }, useful for example in JSON\n\ + \\EOT\ENQ\EOT\STX \DC2\EOT\245\EOT\STX\CAN\SUB9 \"key\" in { \"key\": \"value\" }, useful for example in JSON\n\ \\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX \SOH\DC2\EOT\239\EOT\STX\DC2\n\ + \\ENQ\ENQ\EOT\STX \SOH\DC2\EOT\245\EOT\STX\DC2\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX \STX\DC2\EOT\239\EOT\NAK\ETB\n\ + \\ENQ\ENQ\EOT\STX \STX\DC2\EOT\245\EOT\NAK\ETB\n\ \V\n\ - \\EOT\ENQ\EOT\STX!\DC2\EOT\241\EOT\STX\CAN\SUBH 'c' or similar, in languages that differentiate strings and characters\n\ + \\EOT\ENQ\EOT\STX!\DC2\EOT\247\EOT\STX\CAN\SUBH 'c' or similar, in languages that differentiate strings and characters\n\ \\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX!\SOH\DC2\EOT\241\EOT\STX\DC2\n\ + \\ENQ\ENQ\EOT\STX!\SOH\DC2\EOT\247\EOT\STX\DC2\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX!\STX\DC2\EOT\241\EOT\NAK\ETB\n\ + \\ENQ\ENQ\EOT\STX!\STX\DC2\EOT\247\EOT\NAK\ETB\n\ \9\n\ - \\EOT\ENQ\EOT\STX\"\DC2\EOT\243\EOT\STX\SYN\SUB+ Literal numbers, both floats and integers\n\ + \\EOT\ENQ\EOT\STX\"\DC2\EOT\249\EOT\STX\SYN\SUB+ Literal numbers, both floats and integers\n\ \\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\"\SOH\DC2\EOT\243\EOT\STX\DLE\n\ + \\ENQ\ENQ\EOT\STX\"\SOH\DC2\EOT\249\EOT\STX\DLE\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\"\STX\DC2\EOT\243\EOT\DC3\NAK\n\ + \\ENQ\ENQ\EOT\STX\"\STX\DC2\EOT\249\EOT\DC3\NAK\n\ \\US\n\ - \\EOT\ENQ\EOT\STX#\DC2\EOT\245\EOT\STX\SYN\SUB\DC1 `true`, `false`\n\ + \\EOT\ENQ\EOT\STX#\DC2\EOT\251\EOT\STX\SYN\SUB\DC1 `true`, `false`\n\ \\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX#\SOH\DC2\EOT\245\EOT\STX\DLE\n\ + \\ENQ\ENQ\EOT\STX#\SOH\DC2\EOT\251\EOT\STX\DLE\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX#\STX\DC2\EOT\245\EOT\DC3\NAK\n\ + \\ENQ\ENQ\EOT\STX#\STX\DC2\EOT\251\EOT\DC3\NAK\n\ \&\n\ - \\EOT\ENQ\EOT\STX$\DC2\EOT\248\EOT\STX\v\SUB\CAN Used for XML-like tags\n\ + \\EOT\ENQ\EOT\STX$\DC2\EOT\254\EOT\STX\v\SUB\CAN Used for XML-like tags\n\ \\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX$\SOH\DC2\EOT\248\EOT\STX\ENQ\n\ + \\ENQ\ENQ\EOT\STX$\SOH\DC2\EOT\254\EOT\STX\ENQ\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX$\STX\DC2\EOT\248\EOT\b\n\ + \\ENQ\ENQ\EOT\STX$\STX\DC2\EOT\254\EOT\b\n\ \\n\ \/\n\ - \\EOT\ENQ\EOT\STX%\DC2\EOT\250\EOT\STX\DC4\SUB! Attribute name in XML-like tags\n\ + \\EOT\ENQ\EOT\STX%\DC2\EOT\128\ENQ\STX\DC4\SUB! Attribute name in XML-like tags\n\ \\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX%\SOH\DC2\EOT\250\EOT\STX\SO\n\ + \\ENQ\ENQ\EOT\STX%\SOH\DC2\EOT\128\ENQ\STX\SO\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX%\STX\DC2\EOT\250\EOT\DC1\DC3\n\ + \\ENQ\ENQ\EOT\STX%\STX\DC2\EOT\128\ENQ\DC1\DC3\n\ \,\n\ - \\EOT\ENQ\EOT\STX&\DC2\EOT\252\EOT\STX\DC4\SUB\RS Delimiters for XML-like tags\n\ + \\EOT\ENQ\EOT\STX&\DC2\EOT\130\ENQ\STX\DC4\SUB\RS Delimiters for XML-like tags\n\ \\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX&\SOH\DC2\EOT\252\EOT\STX\SO\n\ + \\ENQ\ENQ\EOT\STX&\SOH\DC2\EOT\130\ENQ\STX\SO\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX&\STX\DC2\EOT\252\EOT\DC1\DC3\n\ + \\ENQ\ENQ\EOT\STX&\STX\DC2\EOT\130\ENQ\DC1\DC3\n\ \\249\SOH\n\ \\STX\EOT\n\ - \\DC2\ACK\132\ENQ\NUL\229\ENQ\SOH\SUB\234\SOH Occurrence associates a source position with a symbol and/or highlighting\n\ + \\DC2\ACK\138\ENQ\NUL\235\ENQ\SOH\SUB\234\SOH Occurrence associates a source position with a symbol and/or highlighting\n\ \ information.\n\ \\n\ \ If possible, indexers should try to bundle logically related information\n\ @@ -8463,10 +8480,10 @@ packedFileDescriptor \\n\ \\v\n\ \\ETX\EOT\n\ - \\SOH\DC2\EOT\132\ENQ\b\DC2\n\ + \\SOH\DC2\EOT\138\ENQ\b\DC2\n\ \\232\b\n\ \\EOT\EOT\n\ - \\STX\NUL\DC2\EOT\156\ENQ\STX\ESC\SUB\217\b Half-open [start, end) range of this occurrence. Must be exactly three or four\n\ + \\STX\NUL\DC2\EOT\162\ENQ\STX\ESC\SUB\217\b Half-open [start, end) range of this occurrence. Must be exactly three or four\n\ \ elements:\n\ \\n\ \ - Four elements: `[startLine, startCharacter, endLine, endCharacter]`\n\ @@ -8492,48 +8509,48 @@ packedFileDescriptor \\n\ \\r\n\ \\ENQ\EOT\n\ - \\STX\NUL\EOT\DC2\EOT\156\ENQ\STX\n\ + \\STX\NUL\EOT\DC2\EOT\162\ENQ\STX\n\ \\n\ \\r\n\ \\ENQ\EOT\n\ - \\STX\NUL\ENQ\DC2\EOT\156\ENQ\v\DLE\n\ + \\STX\NUL\ENQ\DC2\EOT\162\ENQ\v\DLE\n\ \\r\n\ \\ENQ\EOT\n\ - \\STX\NUL\SOH\DC2\EOT\156\ENQ\DC1\SYN\n\ + \\STX\NUL\SOH\DC2\EOT\162\ENQ\DC1\SYN\n\ \\r\n\ \\ENQ\EOT\n\ - \\STX\NUL\ETX\DC2\EOT\156\ENQ\EM\SUB\n\ + \\STX\NUL\ETX\DC2\EOT\162\ENQ\EM\SUB\n\ \\138\SOH\n\ \\EOT\EOT\n\ - \\STX\SOH\DC2\EOT\159\ENQ\STX\DC4\SUB| (optional) The symbol that appears at this position. See\n\ + \\STX\SOH\DC2\EOT\165\ENQ\STX\DC4\SUB| (optional) The symbol that appears at this position. See\n\ \ `SymbolInformation.symbol` for how to format symbols as strings.\n\ \\n\ \\r\n\ \\ENQ\EOT\n\ - \\STX\SOH\ENQ\DC2\EOT\159\ENQ\STX\b\n\ + \\STX\SOH\ENQ\DC2\EOT\165\ENQ\STX\b\n\ \\r\n\ \\ENQ\EOT\n\ - \\STX\SOH\SOH\DC2\EOT\159\ENQ\t\SI\n\ + \\STX\SOH\SOH\DC2\EOT\165\ENQ\t\SI\n\ \\r\n\ \\ENQ\EOT\n\ - \\STX\SOH\ETX\DC2\EOT\159\ENQ\DC2\DC3\n\ + \\STX\SOH\ETX\DC2\EOT\165\ENQ\DC2\DC3\n\ \\151\SOH\n\ \\EOT\EOT\n\ - \\STX\STX\DC2\EOT\162\ENQ\STX\EM\SUB\136\SOH (optional) Bitset containing `SymbolRole`s in this occurrence.\n\ + \\STX\STX\DC2\EOT\168\ENQ\STX\EM\SUB\136\SOH (optional) Bitset containing `SymbolRole`s in this occurrence.\n\ \ See `SymbolRole`'s documentation for how to read and write this field.\n\ \\n\ \\r\n\ \\ENQ\EOT\n\ - \\STX\STX\ENQ\DC2\EOT\162\ENQ\STX\a\n\ + \\STX\STX\ENQ\DC2\EOT\168\ENQ\STX\a\n\ \\r\n\ \\ENQ\EOT\n\ - \\STX\STX\SOH\DC2\EOT\162\ENQ\b\DC4\n\ + \\STX\STX\SOH\DC2\EOT\168\ENQ\b\DC4\n\ \\r\n\ \\ENQ\EOT\n\ - \\STX\STX\ETX\DC2\EOT\162\ENQ\ETB\CAN\n\ + \\STX\STX\ETX\DC2\EOT\168\ENQ\ETB\CAN\n\ \\241\ETX\n\ \\EOT\EOT\n\ - \\STX\ETX\DC2\EOT\171\ENQ\STX-\SUB\226\ETX (optional) CommonMark-formatted documentation for this specific range. If\n\ + \\STX\ETX\DC2\EOT\177\ENQ\STX-\SUB\226\ETX (optional) CommonMark-formatted documentation for this specific range. If\n\ \ empty, the `Symbol.documentation` field is used instead. One example\n\ \ where this field might be useful is when the symbol represents a generic\n\ \ function (with abstract type parameters such as `List`) and at this\n\ @@ -8544,50 +8561,50 @@ packedFileDescriptor \\n\ \\r\n\ \\ENQ\EOT\n\ - \\STX\ETX\EOT\DC2\EOT\171\ENQ\STX\n\ + \\STX\ETX\EOT\DC2\EOT\177\ENQ\STX\n\ \\n\ \\r\n\ \\ENQ\EOT\n\ - \\STX\ETX\ENQ\DC2\EOT\171\ENQ\v\DC1\n\ + \\STX\ETX\ENQ\DC2\EOT\177\ENQ\v\DC1\n\ \\r\n\ \\ENQ\EOT\n\ - \\STX\ETX\SOH\DC2\EOT\171\ENQ\DC2(\n\ + \\STX\ETX\SOH\DC2\EOT\177\ENQ\DC2(\n\ \\r\n\ \\ENQ\EOT\n\ - \\STX\ETX\ETX\DC2\EOT\171\ENQ+,\n\ + \\STX\ETX\ETX\DC2\EOT\177\ENQ+,\n\ \X\n\ \\EOT\EOT\n\ - \\STX\EOT\DC2\EOT\173\ENQ\STX\GS\SUBJ (optional) What syntax highlighting class should be used for this range?\n\ + \\STX\EOT\DC2\EOT\179\ENQ\STX\GS\SUBJ (optional) What syntax highlighting class should be used for this range?\n\ \\n\ \\r\n\ \\ENQ\EOT\n\ - \\STX\EOT\ACK\DC2\EOT\173\ENQ\STX\f\n\ + \\STX\EOT\ACK\DC2\EOT\179\ENQ\STX\f\n\ \\r\n\ \\ENQ\EOT\n\ - \\STX\EOT\SOH\DC2\EOT\173\ENQ\r\CAN\n\ + \\STX\EOT\SOH\DC2\EOT\179\ENQ\r\CAN\n\ \\r\n\ \\ENQ\EOT\n\ - \\STX\EOT\ETX\DC2\EOT\173\ENQ\ESC\FS\n\ + \\STX\EOT\ETX\DC2\EOT\179\ENQ\ESC\FS\n\ \W\n\ \\EOT\EOT\n\ - \\STX\ENQ\DC2\EOT\175\ENQ\STX&\SUBI (optional) Diagnostics that have been reported for this specific range.\n\ + \\STX\ENQ\DC2\EOT\181\ENQ\STX&\SUBI (optional) Diagnostics that have been reported for this specific range.\n\ \\n\ \\r\n\ \\ENQ\EOT\n\ - \\STX\ENQ\EOT\DC2\EOT\175\ENQ\STX\n\ + \\STX\ENQ\EOT\DC2\EOT\181\ENQ\STX\n\ \\n\ \\r\n\ \\ENQ\EOT\n\ - \\STX\ENQ\ACK\DC2\EOT\175\ENQ\v\NAK\n\ + \\STX\ENQ\ACK\DC2\EOT\181\ENQ\v\NAK\n\ \\r\n\ \\ENQ\EOT\n\ - \\STX\ENQ\SOH\DC2\EOT\175\ENQ\SYN!\n\ + \\STX\ENQ\SOH\DC2\EOT\181\ENQ\SYN!\n\ \\r\n\ \\ENQ\EOT\n\ - \\STX\ENQ\ETX\DC2\EOT\175\ENQ$%\n\ + \\STX\ENQ\ETX\DC2\EOT\181\ENQ$%\n\ \\183\SO\n\ \\EOT\EOT\n\ - \\STX\ACK\DC2\EOT\228\ENQ\STX%\SUB\168\SO (optional) Using the same encoding as the sibling `range` field, half-open\n\ + \\STX\ACK\DC2\EOT\234\ENQ\STX%\SUB\168\SO (optional) Using the same encoding as the sibling `range` field, half-open\n\ \ source range of the nearest non-trivial enclosing AST node. This range must\n\ \ enclose the `range` field. Example applications that make use of the\n\ \ enclosing_range field:\n\ @@ -8642,132 +8659,132 @@ packedFileDescriptor \\n\ \\r\n\ \\ENQ\EOT\n\ - \\STX\ACK\EOT\DC2\EOT\228\ENQ\STX\n\ + \\STX\ACK\EOT\DC2\EOT\234\ENQ\STX\n\ \\n\ \\r\n\ \\ENQ\EOT\n\ - \\STX\ACK\ENQ\DC2\EOT\228\ENQ\v\DLE\n\ + \\STX\ACK\ENQ\DC2\EOT\234\ENQ\v\DLE\n\ \\r\n\ \\ENQ\EOT\n\ - \\STX\ACK\SOH\DC2\EOT\228\ENQ\DC1 \n\ + \\STX\ACK\SOH\DC2\EOT\234\ENQ\DC1 \n\ \\r\n\ \\ENQ\EOT\n\ - \\STX\ACK\ETX\DC2\EOT\228\ENQ#$\n\ + \\STX\ACK\ETX\DC2\EOT\234\ENQ#$\n\ \w\n\ - \\STX\EOT\v\DC2\ACK\233\ENQ\NUL\244\ENQ\SOH\SUBi Represents a diagnostic, such as a compiler error or warning, which should be\n\ + \\STX\EOT\v\DC2\ACK\239\ENQ\NUL\250\ENQ\SOH\SUBi Represents a diagnostic, such as a compiler error or warning, which should be\n\ \ reported for a document.\n\ \\n\ \\v\n\ - \\ETX\EOT\v\SOH\DC2\EOT\233\ENQ\b\DC2\n\ + \\ETX\EOT\v\SOH\DC2\EOT\239\ENQ\b\DC2\n\ \W\n\ - \\EOT\EOT\v\STX\NUL\DC2\EOT\235\ENQ\STX\CAN\SUBI Should this diagnostic be reported as an error, warning, info, or hint?\n\ + \\EOT\EOT\v\STX\NUL\DC2\EOT\241\ENQ\STX\CAN\SUBI Should this diagnostic be reported as an error, warning, info, or hint?\n\ \\n\ \\r\n\ - \\ENQ\EOT\v\STX\NUL\ACK\DC2\EOT\235\ENQ\STX\n\ + \\ENQ\EOT\v\STX\NUL\ACK\DC2\EOT\241\ENQ\STX\n\ \\n\ \\r\n\ - \\ENQ\EOT\v\STX\NUL\SOH\DC2\EOT\235\ENQ\v\DC3\n\ + \\ENQ\EOT\v\STX\NUL\SOH\DC2\EOT\241\ENQ\v\DC3\n\ \\r\n\ - \\ENQ\EOT\v\STX\NUL\ETX\DC2\EOT\235\ENQ\SYN\ETB\n\ + \\ENQ\EOT\v\STX\NUL\ETX\DC2\EOT\241\ENQ\SYN\ETB\n\ \]\n\ - \\EOT\EOT\v\STX\SOH\DC2\EOT\237\ENQ\STX\DC2\SUBO (optional) Code of this diagnostic, which might appear in the user interface.\n\ + \\EOT\EOT\v\STX\SOH\DC2\EOT\243\ENQ\STX\DC2\SUBO (optional) Code of this diagnostic, which might appear in the user interface.\n\ \\n\ \\r\n\ - \\ENQ\EOT\v\STX\SOH\ENQ\DC2\EOT\237\ENQ\STX\b\n\ + \\ENQ\EOT\v\STX\SOH\ENQ\DC2\EOT\243\ENQ\STX\b\n\ \\r\n\ - \\ENQ\EOT\v\STX\SOH\SOH\DC2\EOT\237\ENQ\t\r\n\ + \\ENQ\EOT\v\STX\SOH\SOH\DC2\EOT\243\ENQ\t\r\n\ \\r\n\ - \\ENQ\EOT\v\STX\SOH\ETX\DC2\EOT\237\ENQ\DLE\DC1\n\ + \\ENQ\EOT\v\STX\SOH\ETX\DC2\EOT\243\ENQ\DLE\DC1\n\ \+\n\ - \\EOT\EOT\v\STX\STX\DC2\EOT\239\ENQ\STX\NAK\SUB\GS Message of this diagnostic.\n\ + \\EOT\EOT\v\STX\STX\DC2\EOT\245\ENQ\STX\NAK\SUB\GS Message of this diagnostic.\n\ \\n\ \\r\n\ - \\ENQ\EOT\v\STX\STX\ENQ\DC2\EOT\239\ENQ\STX\b\n\ + \\ENQ\EOT\v\STX\STX\ENQ\DC2\EOT\245\ENQ\STX\b\n\ \\r\n\ - \\ENQ\EOT\v\STX\STX\SOH\DC2\EOT\239\ENQ\t\DLE\n\ + \\ENQ\EOT\v\STX\STX\SOH\DC2\EOT\245\ENQ\t\DLE\n\ \\r\n\ - \\ENQ\EOT\v\STX\STX\ETX\DC2\EOT\239\ENQ\DC3\DC4\n\ + \\ENQ\EOT\v\STX\STX\ETX\DC2\EOT\245\ENQ\DC3\DC4\n\ \~\n\ - \\EOT\EOT\v\STX\ETX\DC2\EOT\242\ENQ\STX\DC4\SUBp (optional) Human-readable string describing the source of this diagnostic, e.g.\n\ + \\EOT\EOT\v\STX\ETX\DC2\EOT\248\ENQ\STX\DC4\SUBp (optional) Human-readable string describing the source of this diagnostic, e.g.\n\ \ 'typescript' or 'super lint'.\n\ \\n\ \\r\n\ - \\ENQ\EOT\v\STX\ETX\ENQ\DC2\EOT\242\ENQ\STX\b\n\ + \\ENQ\EOT\v\STX\ETX\ENQ\DC2\EOT\248\ENQ\STX\b\n\ \\r\n\ - \\ENQ\EOT\v\STX\ETX\SOH\DC2\EOT\242\ENQ\t\SI\n\ + \\ENQ\EOT\v\STX\ETX\SOH\DC2\EOT\248\ENQ\t\SI\n\ \\r\n\ - \\ENQ\EOT\v\STX\ETX\ETX\DC2\EOT\242\ENQ\DC2\DC3\n\ + \\ENQ\EOT\v\STX\ETX\ETX\DC2\EOT\248\ENQ\DC2\DC3\n\ \\f\n\ - \\EOT\EOT\v\STX\EOT\DC2\EOT\243\ENQ\STX\"\n\ + \\EOT\EOT\v\STX\EOT\DC2\EOT\249\ENQ\STX\"\n\ \\r\n\ - \\ENQ\EOT\v\STX\EOT\EOT\DC2\EOT\243\ENQ\STX\n\ + \\ENQ\EOT\v\STX\EOT\EOT\DC2\EOT\249\ENQ\STX\n\ \\n\ \\r\n\ - \\ENQ\EOT\v\STX\EOT\ACK\DC2\EOT\243\ENQ\v\CAN\n\ + \\ENQ\EOT\v\STX\EOT\ACK\DC2\EOT\249\ENQ\v\CAN\n\ \\r\n\ - \\ENQ\EOT\v\STX\EOT\SOH\DC2\EOT\243\ENQ\EM\GS\n\ + \\ENQ\EOT\v\STX\EOT\SOH\DC2\EOT\249\ENQ\EM\GS\n\ \\r\n\ - \\ENQ\EOT\v\STX\EOT\ETX\DC2\EOT\243\ENQ !\n\ + \\ENQ\EOT\v\STX\EOT\ETX\DC2\EOT\249\ENQ !\n\ \\f\n\ - \\STX\ENQ\ENQ\DC2\ACK\246\ENQ\NUL\252\ENQ\SOH\n\ + \\STX\ENQ\ENQ\DC2\ACK\252\ENQ\NUL\130\ACK\SOH\n\ \\v\n\ - \\ETX\ENQ\ENQ\SOH\DC2\EOT\246\ENQ\ENQ\r\n\ + \\ETX\ENQ\ENQ\SOH\DC2\EOT\252\ENQ\ENQ\r\n\ \\f\n\ - \\EOT\ENQ\ENQ\STX\NUL\DC2\EOT\247\ENQ\STX\SUB\n\ + \\EOT\ENQ\ENQ\STX\NUL\DC2\EOT\253\ENQ\STX\SUB\n\ \\r\n\ - \\ENQ\ENQ\ENQ\STX\NUL\SOH\DC2\EOT\247\ENQ\STX\NAK\n\ + \\ENQ\ENQ\ENQ\STX\NUL\SOH\DC2\EOT\253\ENQ\STX\NAK\n\ \\r\n\ - \\ENQ\ENQ\ENQ\STX\NUL\STX\DC2\EOT\247\ENQ\CAN\EM\n\ + \\ENQ\ENQ\ENQ\STX\NUL\STX\DC2\EOT\253\ENQ\CAN\EM\n\ \\f\n\ - \\EOT\ENQ\ENQ\STX\SOH\DC2\EOT\248\ENQ\STX\f\n\ + \\EOT\ENQ\ENQ\STX\SOH\DC2\EOT\254\ENQ\STX\f\n\ \\r\n\ - \\ENQ\ENQ\ENQ\STX\SOH\SOH\DC2\EOT\248\ENQ\STX\a\n\ + \\ENQ\ENQ\ENQ\STX\SOH\SOH\DC2\EOT\254\ENQ\STX\a\n\ \\r\n\ - \\ENQ\ENQ\ENQ\STX\SOH\STX\DC2\EOT\248\ENQ\n\ + \\ENQ\ENQ\ENQ\STX\SOH\STX\DC2\EOT\254\ENQ\n\ \\v\n\ \\f\n\ - \\EOT\ENQ\ENQ\STX\STX\DC2\EOT\249\ENQ\STX\SO\n\ + \\EOT\ENQ\ENQ\STX\STX\DC2\EOT\255\ENQ\STX\SO\n\ \\r\n\ - \\ENQ\ENQ\ENQ\STX\STX\SOH\DC2\EOT\249\ENQ\STX\t\n\ + \\ENQ\ENQ\ENQ\STX\STX\SOH\DC2\EOT\255\ENQ\STX\t\n\ \\r\n\ - \\ENQ\ENQ\ENQ\STX\STX\STX\DC2\EOT\249\ENQ\f\r\n\ + \\ENQ\ENQ\ENQ\STX\STX\STX\DC2\EOT\255\ENQ\f\r\n\ \\f\n\ - \\EOT\ENQ\ENQ\STX\ETX\DC2\EOT\250\ENQ\STX\DC2\n\ + \\EOT\ENQ\ENQ\STX\ETX\DC2\EOT\128\ACK\STX\DC2\n\ \\r\n\ - \\ENQ\ENQ\ENQ\STX\ETX\SOH\DC2\EOT\250\ENQ\STX\r\n\ + \\ENQ\ENQ\ENQ\STX\ETX\SOH\DC2\EOT\128\ACK\STX\r\n\ \\r\n\ - \\ENQ\ENQ\ENQ\STX\ETX\STX\DC2\EOT\250\ENQ\DLE\DC1\n\ + \\ENQ\ENQ\ENQ\STX\ETX\STX\DC2\EOT\128\ACK\DLE\DC1\n\ \\f\n\ - \\EOT\ENQ\ENQ\STX\EOT\DC2\EOT\251\ENQ\STX\v\n\ + \\EOT\ENQ\ENQ\STX\EOT\DC2\EOT\129\ACK\STX\v\n\ \\r\n\ - \\ENQ\ENQ\ENQ\STX\EOT\SOH\DC2\EOT\251\ENQ\STX\ACK\n\ + \\ENQ\ENQ\ENQ\STX\EOT\SOH\DC2\EOT\129\ACK\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\ENQ\STX\EOT\STX\DC2\EOT\251\ENQ\t\n\ + \\ENQ\ENQ\ENQ\STX\EOT\STX\DC2\EOT\129\ACK\t\n\ \\n\ \\f\n\ - \\STX\ENQ\ACK\DC2\ACK\254\ENQ\NUL\130\ACK\SOH\n\ + \\STX\ENQ\ACK\DC2\ACK\132\ACK\NUL\136\ACK\SOH\n\ \\v\n\ - \\ETX\ENQ\ACK\SOH\DC2\EOT\254\ENQ\ENQ\DC2\n\ + \\ETX\ENQ\ACK\SOH\DC2\EOT\132\ACK\ENQ\DC2\n\ \\f\n\ - \\EOT\ENQ\ACK\STX\NUL\DC2\EOT\255\ENQ\STX\US\n\ + \\EOT\ENQ\ACK\STX\NUL\DC2\EOT\133\ACK\STX\US\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX\NUL\SOH\DC2\EOT\255\ENQ\STX\SUB\n\ + \\ENQ\ENQ\ACK\STX\NUL\SOH\DC2\EOT\133\ACK\STX\SUB\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX\NUL\STX\DC2\EOT\255\ENQ\GS\RS\n\ + \\ENQ\ENQ\ACK\STX\NUL\STX\DC2\EOT\133\ACK\GS\RS\n\ \\f\n\ - \\EOT\ENQ\ACK\STX\SOH\DC2\EOT\128\ACK\STX\DC2\n\ + \\EOT\ENQ\ACK\STX\SOH\DC2\EOT\134\ACK\STX\DC2\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX\SOH\SOH\DC2\EOT\128\ACK\STX\r\n\ + \\ENQ\ENQ\ACK\STX\SOH\SOH\DC2\EOT\134\ACK\STX\r\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX\SOH\STX\DC2\EOT\128\ACK\DLE\DC1\n\ + \\ENQ\ENQ\ACK\STX\SOH\STX\DC2\EOT\134\ACK\DLE\DC1\n\ \\f\n\ - \\EOT\ENQ\ACK\STX\STX\DC2\EOT\129\ACK\STX\DC1\n\ + \\EOT\ENQ\ACK\STX\STX\DC2\EOT\135\ACK\STX\DC1\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX\STX\SOH\DC2\EOT\129\ACK\STX\f\n\ + \\ENQ\ENQ\ACK\STX\STX\SOH\DC2\EOT\135\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX\STX\STX\DC2\EOT\129\ACK\SI\DLE\n\ + \\ENQ\ENQ\ACK\STX\STX\STX\DC2\EOT\135\ACK\SI\DLE\n\ \\208\ETX\n\ - \\STX\ENQ\a\DC2\ACK\138\ACK\NUL\128\a\SOH\SUB\193\ETX Language standardises names of common programming languages that can be used\n\ + \\STX\ENQ\a\DC2\ACK\144\ACK\NUL\134\a\SOH\SUB\193\ETX Language standardises names of common programming languages that can be used\n\ \ for the `Document.language` field. The primary purpose of this enum is to\n\ \ prevent a situation where we have a single programming language ends up with\n\ \ multiple string representations. For example, the C++ language uses the name\n\ @@ -8775,709 +8792,709 @@ packedFileDescriptor \ Feel free to send a pull-request to add missing programming languages.\n\ \\n\ \\v\n\ - \\ETX\ENQ\a\SOH\DC2\EOT\138\ACK\ENQ\r\n\ + \\ETX\ENQ\a\SOH\DC2\EOT\144\ACK\ENQ\r\n\ \\f\n\ - \\EOT\ENQ\a\STX\NUL\DC2\EOT\139\ACK\STX\SUB\n\ + \\EOT\ENQ\a\STX\NUL\DC2\EOT\145\ACK\STX\SUB\n\ \\r\n\ - \\ENQ\ENQ\a\STX\NUL\SOH\DC2\EOT\139\ACK\STX\NAK\n\ + \\ENQ\ENQ\a\STX\NUL\SOH\DC2\EOT\145\ACK\STX\NAK\n\ \\r\n\ - \\ENQ\ENQ\a\STX\NUL\STX\DC2\EOT\139\ACK\CAN\EM\n\ + \\ENQ\ENQ\a\STX\NUL\STX\DC2\EOT\145\ACK\CAN\EM\n\ \\f\n\ - \\EOT\ENQ\a\STX\SOH\DC2\EOT\140\ACK\STX\f\n\ + \\EOT\ENQ\a\STX\SOH\DC2\EOT\146\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\a\STX\SOH\SOH\DC2\EOT\140\ACK\STX\ACK\n\ + \\ENQ\ENQ\a\STX\SOH\SOH\DC2\EOT\146\ACK\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\a\STX\SOH\STX\DC2\EOT\140\ACK\t\v\n\ + \\ENQ\ENQ\a\STX\SOH\STX\DC2\EOT\146\ACK\t\v\n\ \\f\n\ - \\EOT\ENQ\a\STX\STX\DC2\EOT\141\ACK\STX\f\n\ + \\EOT\ENQ\a\STX\STX\DC2\EOT\147\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\a\STX\STX\SOH\DC2\EOT\141\ACK\STX\ACK\n\ + \\ENQ\ENQ\a\STX\STX\SOH\DC2\EOT\147\ACK\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\a\STX\STX\STX\DC2\EOT\141\ACK\t\v\n\ + \\ENQ\ENQ\a\STX\STX\STX\DC2\EOT\147\ACK\t\v\n\ \\f\n\ - \\EOT\ENQ\a\STX\ETX\DC2\EOT\142\ACK\STX\v\n\ + \\EOT\ENQ\a\STX\ETX\DC2\EOT\148\ACK\STX\v\n\ \\r\n\ - \\ENQ\ENQ\a\STX\ETX\SOH\DC2\EOT\142\ACK\STX\ENQ\n\ + \\ENQ\ENQ\a\STX\ETX\SOH\DC2\EOT\148\ACK\STX\ENQ\n\ \\r\n\ - \\ENQ\ENQ\a\STX\ETX\STX\DC2\EOT\142\ACK\b\n\ + \\ENQ\ENQ\a\STX\ETX\STX\DC2\EOT\148\ACK\b\n\ \\n\ \\f\n\ - \\EOT\ENQ\a\STX\EOT\DC2\EOT\143\ACK\STX\v\n\ + \\EOT\ENQ\a\STX\EOT\DC2\EOT\149\ACK\STX\v\n\ \\r\n\ - \\ENQ\ENQ\a\STX\EOT\SOH\DC2\EOT\143\ACK\STX\ENQ\n\ + \\ENQ\ENQ\a\STX\EOT\SOH\DC2\EOT\149\ACK\STX\ENQ\n\ \\r\n\ - \\ENQ\ENQ\a\STX\EOT\STX\DC2\EOT\143\ACK\b\n\ + \\ENQ\ENQ\a\STX\EOT\STX\DC2\EOT\149\ACK\b\n\ \\n\ \\f\n\ - \\EOT\ENQ\a\STX\ENQ\DC2\EOT\144\ACK\STX\f\n\ + \\EOT\ENQ\a\STX\ENQ\DC2\EOT\150\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\a\STX\ENQ\SOH\DC2\EOT\144\ACK\STX\ACK\n\ + \\ENQ\ENQ\a\STX\ENQ\SOH\DC2\EOT\150\ACK\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\a\STX\ENQ\STX\DC2\EOT\144\ACK\t\v\n\ + \\ENQ\ENQ\a\STX\ENQ\STX\DC2\EOT\150\ACK\t\v\n\ \\f\n\ - \\EOT\ENQ\a\STX\ACK\DC2\EOT\145\ACK\STX\DLE\n\ + \\EOT\ENQ\a\STX\ACK\DC2\EOT\151\ACK\STX\DLE\n\ \\r\n\ - \\ENQ\ENQ\a\STX\ACK\SOH\DC2\EOT\145\ACK\STX\n\ + \\ENQ\ENQ\a\STX\ACK\SOH\DC2\EOT\151\ACK\STX\n\ \\n\ \\r\n\ - \\ENQ\ENQ\a\STX\ACK\STX\DC2\EOT\145\ACK\r\SI\n\ + \\ENQ\ENQ\a\STX\ACK\STX\DC2\EOT\151\ACK\r\SI\n\ \\f\n\ - \\EOT\ENQ\a\STX\a\DC2\EOT\146\ACK\STX\DLE\n\ + \\EOT\ENQ\a\STX\a\DC2\EOT\152\ACK\STX\DLE\n\ \\r\n\ - \\ENQ\ENQ\a\STX\a\SOH\DC2\EOT\146\ACK\STX\n\ + \\ENQ\ENQ\a\STX\a\SOH\DC2\EOT\152\ACK\STX\n\ \\n\ \\r\n\ - \\ENQ\ENQ\a\STX\a\STX\DC2\EOT\146\ACK\r\SI\n\ + \\ENQ\ENQ\a\STX\a\STX\DC2\EOT\152\ACK\r\SI\n\ \\f\n\ - \\EOT\ENQ\a\STX\b\DC2\EOT\147\ACK\STX\v\n\ + \\EOT\ENQ\a\STX\b\DC2\EOT\153\ACK\STX\v\n\ \\r\n\ - \\ENQ\ENQ\a\STX\b\SOH\DC2\EOT\147\ACK\STX\ENQ\n\ + \\ENQ\ENQ\a\STX\b\SOH\DC2\EOT\153\ACK\STX\ENQ\n\ \\r\n\ - \\ENQ\ENQ\a\STX\b\STX\DC2\EOT\147\ACK\b\n\ + \\ENQ\ENQ\a\STX\b\STX\DC2\EOT\153\ACK\b\n\ \\n\ \\f\n\ - \\EOT\ENQ\a\STX\t\DC2\EOT\148\ACK\STX\v\n\ + \\EOT\ENQ\a\STX\t\DC2\EOT\154\ACK\STX\v\n\ \\r\n\ - \\ENQ\ENQ\a\STX\t\SOH\DC2\EOT\148\ACK\STX\ENQ\n\ + \\ENQ\ENQ\a\STX\t\SOH\DC2\EOT\154\ACK\STX\ENQ\n\ \\r\n\ - \\ENQ\ENQ\a\STX\t\STX\DC2\EOT\148\ACK\b\n\ + \\ENQ\ENQ\a\STX\t\STX\DC2\EOT\154\ACK\b\n\ \\n\ \\f\n\ \\EOT\ENQ\a\STX\n\ - \\DC2\EOT\149\ACK\STX\SO\n\ + \\DC2\EOT\155\ACK\STX\SO\n\ \\r\n\ \\ENQ\ENQ\a\STX\n\ - \\SOH\DC2\EOT\149\ACK\STX\b\n\ + \\SOH\DC2\EOT\155\ACK\STX\b\n\ \\r\n\ \\ENQ\ENQ\a\STX\n\ - \\STX\DC2\EOT\149\ACK\v\r\n\ + \\STX\DC2\EOT\155\ACK\v\r\n\ \\f\n\ - \\EOT\ENQ\a\STX\v\DC2\EOT\150\ACK\STX\t\n\ + \\EOT\ENQ\a\STX\v\DC2\EOT\156\ACK\STX\t\n\ \\r\n\ - \\ENQ\ENQ\a\STX\v\SOH\DC2\EOT\150\ACK\STX\ETX\n\ + \\ENQ\ENQ\a\STX\v\SOH\DC2\EOT\156\ACK\STX\ETX\n\ \\r\n\ - \\ENQ\ENQ\a\STX\v\STX\DC2\EOT\150\ACK\ACK\b\n\ + \\ENQ\ENQ\a\STX\v\STX\DC2\EOT\156\ACK\ACK\b\n\ \\f\n\ - \\EOT\ENQ\a\STX\f\DC2\EOT\151\ACK\STX\r\n\ + \\EOT\ENQ\a\STX\f\DC2\EOT\157\ACK\STX\r\n\ \\r\n\ - \\ENQ\ENQ\a\STX\f\SOH\DC2\EOT\151\ACK\STX\a\n\ + \\ENQ\ENQ\a\STX\f\SOH\DC2\EOT\157\ACK\STX\a\n\ \\r\n\ - \\ENQ\ENQ\a\STX\f\STX\DC2\EOT\151\ACK\n\ + \\ENQ\ENQ\a\STX\f\STX\DC2\EOT\157\ACK\n\ \\f\n\ \H\n\ - \\EOT\ENQ\a\STX\r\DC2\EOT\152\ACK\STX\v\": C++ (the name \"CPP\" was chosen for consistency with LSP)\n\ + \\EOT\ENQ\a\STX\r\DC2\EOT\158\ACK\STX\v\": C++ (the name \"CPP\" was chosen for consistency with LSP)\n\ \\n\ \\r\n\ - \\ENQ\ENQ\a\STX\r\SOH\DC2\EOT\152\ACK\STX\ENQ\n\ + \\ENQ\ENQ\a\STX\r\SOH\DC2\EOT\158\ACK\STX\ENQ\n\ \\r\n\ - \\ENQ\ENQ\a\STX\r\STX\DC2\EOT\152\ACK\b\n\ + \\ENQ\ENQ\a\STX\r\STX\DC2\EOT\158\ACK\b\n\ \\n\ \\f\n\ - \\EOT\ENQ\a\STX\SO\DC2\EOT\153\ACK\STX\v\n\ + \\EOT\ENQ\a\STX\SO\DC2\EOT\159\ACK\STX\v\n\ \\r\n\ - \\ENQ\ENQ\a\STX\SO\SOH\DC2\EOT\153\ACK\STX\ENQ\n\ + \\ENQ\ENQ\a\STX\SO\SOH\DC2\EOT\159\ACK\STX\ENQ\n\ \\r\n\ - \\ENQ\ENQ\a\STX\SO\STX\DC2\EOT\153\ACK\b\n\ + \\ENQ\ENQ\a\STX\SO\STX\DC2\EOT\159\ACK\b\n\ \\n\ \\f\n\ - \\EOT\ENQ\a\STX\SI\DC2\EOT\154\ACK\STX\r\n\ + \\EOT\ENQ\a\STX\SI\DC2\EOT\160\ACK\STX\r\n\ \\r\n\ - \\ENQ\ENQ\a\STX\SI\SOH\DC2\EOT\154\ACK\STX\b\n\ + \\ENQ\ENQ\a\STX\SI\SOH\DC2\EOT\160\ACK\STX\b\n\ \\r\n\ - \\ENQ\ENQ\a\STX\SI\STX\DC2\EOT\154\ACK\v\f\n\ + \\ENQ\ENQ\a\STX\SI\STX\DC2\EOT\160\ACK\v\f\n\ \\f\n\ - \\EOT\ENQ\a\STX\DLE\DC2\EOT\155\ACK\STX\SO\n\ + \\EOT\ENQ\a\STX\DLE\DC2\EOT\161\ACK\STX\SO\n\ \\r\n\ - \\ENQ\ENQ\a\STX\DLE\SOH\DC2\EOT\155\ACK\STX\t\n\ + \\ENQ\ENQ\a\STX\DLE\SOH\DC2\EOT\161\ACK\STX\t\n\ \\r\n\ - \\ENQ\ENQ\a\STX\DLE\STX\DC2\EOT\155\ACK\f\r\n\ + \\ENQ\ENQ\a\STX\DLE\STX\DC2\EOT\161\ACK\f\r\n\ \\f\n\ - \\EOT\ENQ\a\STX\DC1\DC2\EOT\156\ACK\STX\DC4\n\ + \\EOT\ENQ\a\STX\DC1\DC2\EOT\162\ACK\STX\DC4\n\ \\r\n\ - \\ENQ\ENQ\a\STX\DC1\SOH\DC2\EOT\156\ACK\STX\SO\n\ + \\ENQ\ENQ\a\STX\DC1\SOH\DC2\EOT\162\ACK\STX\SO\n\ \\r\n\ - \\ENQ\ENQ\a\STX\DC1\STX\DC2\EOT\156\ACK\DC1\DC3\n\ + \\ENQ\ENQ\a\STX\DC1\STX\DC2\EOT\162\ACK\DC1\DC3\n\ \\f\n\ - \\EOT\ENQ\a\STX\DC2\DC2\EOT\157\ACK\STX\DC1\n\ + \\EOT\ENQ\a\STX\DC2\DC2\EOT\163\ACK\STX\DC1\n\ \\r\n\ - \\ENQ\ENQ\a\STX\DC2\SOH\DC2\EOT\157\ACK\STX\f\n\ + \\ENQ\ENQ\a\STX\DC2\SOH\DC2\EOT\163\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\a\STX\DC2\STX\DC2\EOT\157\ACK\SI\DLE\n\ + \\ENQ\ENQ\a\STX\DC2\STX\DC2\EOT\163\ACK\SI\DLE\n\ \\f\n\ - \\EOT\ENQ\a\STX\DC3\DC2\EOT\158\ACK\STX\v\n\ + \\EOT\ENQ\a\STX\DC3\DC2\EOT\164\ACK\STX\v\n\ \\r\n\ - \\ENQ\ENQ\a\STX\DC3\SOH\DC2\EOT\158\ACK\STX\ENQ\n\ + \\ENQ\ENQ\a\STX\DC3\SOH\DC2\EOT\164\ACK\STX\ENQ\n\ \\r\n\ - \\ENQ\ENQ\a\STX\DC3\STX\DC2\EOT\158\ACK\b\n\ + \\ENQ\ENQ\a\STX\DC3\STX\DC2\EOT\164\ACK\b\n\ \\n\ \\f\n\ - \\EOT\ENQ\a\STX\DC4\DC2\EOT\159\ACK\STX\f\n\ + \\EOT\ENQ\a\STX\DC4\DC2\EOT\165\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\a\STX\DC4\SOH\DC2\EOT\159\ACK\STX\ACK\n\ + \\ENQ\ENQ\a\STX\DC4\SOH\DC2\EOT\165\ACK\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\a\STX\DC4\STX\DC2\EOT\159\ACK\t\v\n\ + \\ENQ\ENQ\a\STX\DC4\STX\DC2\EOT\165\ACK\t\v\n\ \\f\n\ - \\EOT\ENQ\a\STX\NAK\DC2\EOT\160\ACK\STX\v\n\ + \\EOT\ENQ\a\STX\NAK\DC2\EOT\166\ACK\STX\v\n\ \\r\n\ - \\ENQ\ENQ\a\STX\NAK\SOH\DC2\EOT\160\ACK\STX\ACK\n\ + \\ENQ\ENQ\a\STX\NAK\SOH\DC2\EOT\166\ACK\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\a\STX\NAK\STX\DC2\EOT\160\ACK\t\n\ + \\ENQ\ENQ\a\STX\NAK\STX\DC2\EOT\166\ACK\t\n\ \\n\ \\f\n\ - \\EOT\ENQ\a\STX\SYN\DC2\EOT\161\ACK\STX\SO\n\ + \\EOT\ENQ\a\STX\SYN\DC2\EOT\167\ACK\STX\SO\n\ \\r\n\ - \\ENQ\ENQ\a\STX\SYN\SOH\DC2\EOT\161\ACK\STX\b\n\ + \\ENQ\ENQ\a\STX\SYN\SOH\DC2\EOT\167\ACK\STX\b\n\ \\r\n\ - \\ENQ\ENQ\a\STX\SYN\STX\DC2\EOT\161\ACK\v\r\n\ + \\ENQ\ENQ\a\STX\SYN\STX\DC2\EOT\167\ACK\v\r\n\ \\f\n\ - \\EOT\ENQ\a\STX\ETB\DC2\EOT\162\ACK\STX\f\n\ + \\EOT\ENQ\a\STX\ETB\DC2\EOT\168\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\a\STX\ETB\SOH\DC2\EOT\162\ACK\STX\ACK\n\ + \\ENQ\ENQ\a\STX\ETB\SOH\DC2\EOT\168\ACK\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\a\STX\ETB\STX\DC2\EOT\162\ACK\t\v\n\ + \\ENQ\ENQ\a\STX\ETB\STX\DC2\EOT\168\ACK\t\v\n\ \\f\n\ - \\EOT\ENQ\a\STX\CAN\DC2\EOT\163\ACK\STX\DC2\n\ + \\EOT\ENQ\a\STX\CAN\DC2\EOT\169\ACK\STX\DC2\n\ \\r\n\ - \\ENQ\ENQ\a\STX\CAN\SOH\DC2\EOT\163\ACK\STX\f\n\ + \\ENQ\ENQ\a\STX\CAN\SOH\DC2\EOT\169\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\a\STX\CAN\STX\DC2\EOT\163\ACK\SI\DC1\n\ + \\ENQ\ENQ\a\STX\CAN\STX\DC2\EOT\169\ACK\SI\DC1\n\ \\f\n\ - \\EOT\ENQ\a\STX\EM\DC2\EOT\164\ACK\STX\SO\n\ + \\EOT\ENQ\a\STX\EM\DC2\EOT\170\ACK\STX\SO\n\ \\r\n\ - \\ENQ\ENQ\a\STX\EM\SOH\DC2\EOT\164\ACK\STX\b\n\ + \\ENQ\ENQ\a\STX\EM\SOH\DC2\EOT\170\ACK\STX\b\n\ \\r\n\ - \\ENQ\ENQ\a\STX\EM\STX\DC2\EOT\164\ACK\v\r\n\ + \\ENQ\ENQ\a\STX\EM\STX\DC2\EOT\170\ACK\v\r\n\ \\f\n\ - \\EOT\ENQ\a\STX\SUB\DC2\EOT\165\ACK\STX\SO\n\ + \\EOT\ENQ\a\STX\SUB\DC2\EOT\171\ACK\STX\SO\n\ \\r\n\ - \\ENQ\ENQ\a\STX\SUB\SOH\DC2\EOT\165\ACK\STX\b\n\ + \\ENQ\ENQ\a\STX\SUB\SOH\DC2\EOT\171\ACK\STX\b\n\ \\r\n\ - \\ENQ\ENQ\a\STX\SUB\STX\DC2\EOT\165\ACK\v\r\n\ + \\ENQ\ENQ\a\STX\SUB\STX\DC2\EOT\171\ACK\v\r\n\ \\f\n\ - \\EOT\ENQ\a\STX\ESC\DC2\EOT\166\ACK\STX\SO\n\ + \\EOT\ENQ\a\STX\ESC\DC2\EOT\172\ACK\STX\SO\n\ \\r\n\ - \\ENQ\ENQ\a\STX\ESC\SOH\DC2\EOT\166\ACK\STX\b\n\ + \\ENQ\ENQ\a\STX\ESC\SOH\DC2\EOT\172\ACK\STX\b\n\ \\r\n\ - \\ENQ\ENQ\a\STX\ESC\STX\DC2\EOT\166\ACK\v\r\n\ + \\ENQ\ENQ\a\STX\ESC\STX\DC2\EOT\172\ACK\v\r\n\ \\f\n\ - \\EOT\ENQ\a\STX\FS\DC2\EOT\167\ACK\STX\SO\n\ + \\EOT\ENQ\a\STX\FS\DC2\EOT\173\ACK\STX\SO\n\ \\r\n\ - \\ENQ\ENQ\a\STX\FS\SOH\DC2\EOT\167\ACK\STX\b\n\ + \\ENQ\ENQ\a\STX\FS\SOH\DC2\EOT\173\ACK\STX\b\n\ \\r\n\ - \\ENQ\ENQ\a\STX\FS\STX\DC2\EOT\167\ACK\v\r\n\ + \\ENQ\ENQ\a\STX\FS\STX\DC2\EOT\173\ACK\v\r\n\ \\f\n\ - \\EOT\ENQ\a\STX\GS\DC2\EOT\168\ACK\STX\f\n\ + \\EOT\ENQ\a\STX\GS\DC2\EOT\174\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\a\STX\GS\SOH\DC2\EOT\168\ACK\STX\ACK\n\ + \\ENQ\ENQ\a\STX\GS\SOH\DC2\EOT\174\ACK\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\a\STX\GS\STX\DC2\EOT\168\ACK\t\v\n\ + \\ENQ\ENQ\a\STX\GS\STX\DC2\EOT\174\ACK\t\v\n\ \\f\n\ - \\EOT\ENQ\a\STX\RS\DC2\EOT\169\ACK\STX\f\n\ + \\EOT\ENQ\a\STX\RS\DC2\EOT\175\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\a\STX\RS\SOH\DC2\EOT\169\ACK\STX\ACK\n\ + \\ENQ\ENQ\a\STX\RS\SOH\DC2\EOT\175\ACK\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\a\STX\RS\STX\DC2\EOT\169\ACK\t\v\n\ + \\ENQ\ENQ\a\STX\RS\STX\DC2\EOT\175\ACK\t\v\n\ \\f\n\ - \\EOT\ENQ\a\STX\US\DC2\EOT\170\ACK\STX\SI\n\ + \\EOT\ENQ\a\STX\US\DC2\EOT\176\ACK\STX\SI\n\ \\r\n\ - \\ENQ\ENQ\a\STX\US\SOH\DC2\EOT\170\ACK\STX\t\n\ + \\ENQ\ENQ\a\STX\US\SOH\DC2\EOT\176\ACK\STX\t\n\ \\r\n\ - \\ENQ\ENQ\a\STX\US\STX\DC2\EOT\170\ACK\f\SO\n\ + \\ENQ\ENQ\a\STX\US\STX\DC2\EOT\176\ACK\f\SO\n\ \\f\n\ - \\EOT\ENQ\a\STX \DC2\EOT\171\ACK\STX\DC2\n\ + \\EOT\ENQ\a\STX \DC2\EOT\177\ACK\STX\DC2\n\ \\r\n\ - \\ENQ\ENQ\a\STX \SOH\DC2\EOT\171\ACK\STX\f\n\ + \\ENQ\ENQ\a\STX \SOH\DC2\EOT\177\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\a\STX \STX\DC2\EOT\171\ACK\SI\DC1\n\ + \\ENQ\ENQ\a\STX \STX\DC2\EOT\177\ACK\SI\DC1\n\ \\f\n\ - \\EOT\ENQ\a\STX!\DC2\EOT\172\ACK\STX\DC2\n\ + \\EOT\ENQ\a\STX!\DC2\EOT\178\ACK\STX\DC2\n\ \\r\n\ - \\ENQ\ENQ\a\STX!\SOH\DC2\EOT\172\ACK\STX\f\n\ + \\ENQ\ENQ\a\STX!\SOH\DC2\EOT\178\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\a\STX!\STX\DC2\EOT\172\ACK\SI\DC1\n\ + \\ENQ\ENQ\a\STX!\STX\DC2\EOT\178\ACK\SI\DC1\n\ \\f\n\ - \\EOT\ENQ\a\STX\"\DC2\EOT\173\ACK\STX\DC2\n\ + \\EOT\ENQ\a\STX\"\DC2\EOT\179\ACK\STX\DC2\n\ \\r\n\ - \\ENQ\ENQ\a\STX\"\SOH\DC2\EOT\173\ACK\STX\f\n\ + \\ENQ\ENQ\a\STX\"\SOH\DC2\EOT\179\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\a\STX\"\STX\DC2\EOT\173\ACK\SI\DC1\n\ + \\ENQ\ENQ\a\STX\"\STX\DC2\EOT\179\ACK\SI\DC1\n\ \\f\n\ - \\EOT\ENQ\a\STX#\DC2\EOT\174\ACK\STX\n\ + \\EOT\ENQ\a\STX#\DC2\EOT\180\ACK\STX\n\ \\n\ \\r\n\ - \\ENQ\ENQ\a\STX#\SOH\DC2\EOT\174\ACK\STX\EOT\n\ + \\ENQ\ENQ\a\STX#\SOH\DC2\EOT\180\ACK\STX\EOT\n\ \\r\n\ - \\ENQ\ENQ\a\STX#\STX\DC2\EOT\174\ACK\a\t\n\ + \\ENQ\ENQ\a\STX#\STX\DC2\EOT\180\ACK\a\t\n\ \\f\n\ - \\EOT\ENQ\a\STX$\DC2\EOT\175\ACK\STX\SI\n\ + \\EOT\ENQ\a\STX$\DC2\EOT\181\ACK\STX\SI\n\ \\r\n\ - \\ENQ\ENQ\a\STX$\SOH\DC2\EOT\175\ACK\STX\t\n\ + \\ENQ\ENQ\a\STX$\SOH\DC2\EOT\181\ACK\STX\t\n\ \\r\n\ - \\ENQ\ENQ\a\STX$\STX\DC2\EOT\175\ACK\f\SO\n\ + \\ENQ\ENQ\a\STX$\STX\DC2\EOT\181\ACK\f\SO\n\ \\f\n\ - \\EOT\ENQ\a\STX%\DC2\EOT\176\ACK\STX\r\n\ + \\EOT\ENQ\a\STX%\DC2\EOT\182\ACK\STX\r\n\ \\r\n\ - \\ENQ\ENQ\a\STX%\SOH\DC2\EOT\176\ACK\STX\b\n\ + \\ENQ\ENQ\a\STX%\SOH\DC2\EOT\182\ACK\STX\b\n\ \\r\n\ - \\ENQ\ENQ\a\STX%\STX\DC2\EOT\176\ACK\v\f\n\ + \\ENQ\ENQ\a\STX%\STX\DC2\EOT\182\ACK\v\f\n\ \\f\n\ - \\EOT\ENQ\a\STX&\DC2\EOT\177\ACK\STX\f\n\ + \\EOT\ENQ\a\STX&\DC2\EOT\183\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\a\STX&\SOH\DC2\EOT\177\ACK\STX\ACK\n\ + \\ENQ\ENQ\a\STX&\SOH\DC2\EOT\183\ACK\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\a\STX&\STX\DC2\EOT\177\ACK\t\v\n\ + \\ENQ\ENQ\a\STX&\STX\DC2\EOT\183\ACK\t\v\n\ \\f\n\ - \\EOT\ENQ\a\STX'\DC2\EOT\178\ACK\STX\f\n\ + \\EOT\ENQ\a\STX'\DC2\EOT\184\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\a\STX'\SOH\DC2\EOT\178\ACK\STX\ACK\n\ + \\ENQ\ENQ\a\STX'\SOH\DC2\EOT\184\ACK\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\a\STX'\STX\DC2\EOT\178\ACK\t\v\n\ + \\ENQ\ENQ\a\STX'\STX\DC2\EOT\184\ACK\t\v\n\ \\f\n\ - \\EOT\ENQ\a\STX(\DC2\EOT\179\ACK\STX\DC2\n\ + \\EOT\ENQ\a\STX(\DC2\EOT\185\ACK\STX\DC2\n\ \\r\n\ - \\ENQ\ENQ\a\STX(\SOH\DC2\EOT\179\ACK\STX\f\n\ + \\ENQ\ENQ\a\STX(\SOH\DC2\EOT\185\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\a\STX(\STX\DC2\EOT\179\ACK\SI\DC1\n\ + \\ENQ\ENQ\a\STX(\STX\DC2\EOT\185\ACK\SI\DC1\n\ \\f\n\ - \\EOT\ENQ\a\STX)\DC2\EOT\180\ACK\STX\SI\n\ + \\EOT\ENQ\a\STX)\DC2\EOT\186\ACK\STX\SI\n\ \\r\n\ - \\ENQ\ENQ\a\STX)\SOH\DC2\EOT\180\ACK\STX\t\n\ + \\ENQ\ENQ\a\STX)\SOH\DC2\EOT\186\ACK\STX\t\n\ \\r\n\ - \\ENQ\ENQ\a\STX)\STX\DC2\EOT\180\ACK\f\SO\n\ + \\ENQ\ENQ\a\STX)\STX\DC2\EOT\186\ACK\f\SO\n\ \\f\n\ - \\EOT\ENQ\a\STX*\DC2\EOT\181\ACK\STX\r\n\ + \\EOT\ENQ\a\STX*\DC2\EOT\187\ACK\STX\r\n\ \\r\n\ - \\ENQ\ENQ\a\STX*\SOH\DC2\EOT\181\ACK\STX\a\n\ + \\ENQ\ENQ\a\STX*\SOH\DC2\EOT\187\ACK\STX\a\n\ \\r\n\ - \\ENQ\ENQ\a\STX*\STX\DC2\EOT\181\ACK\n\ + \\ENQ\ENQ\a\STX*\STX\DC2\EOT\187\ACK\n\ \\f\n\ \\f\n\ - \\EOT\ENQ\a\STX+\DC2\EOT\182\ACK\STX\v\n\ + \\EOT\ENQ\a\STX+\DC2\EOT\188\ACK\STX\v\n\ \\r\n\ - \\ENQ\ENQ\a\STX+\SOH\DC2\EOT\182\ACK\STX\ENQ\n\ + \\ENQ\ENQ\a\STX+\SOH\DC2\EOT\188\ACK\STX\ENQ\n\ \\r\n\ - \\ENQ\ENQ\a\STX+\STX\DC2\EOT\182\ACK\b\n\ + \\ENQ\ENQ\a\STX+\STX\DC2\EOT\188\ACK\b\n\ \\n\ \\f\n\ - \\EOT\ENQ\a\STX,\DC2\EOT\183\ACK\STX\t\n\ + \\EOT\ENQ\a\STX,\DC2\EOT\189\ACK\STX\t\n\ \\r\n\ - \\ENQ\ENQ\a\STX,\SOH\DC2\EOT\183\ACK\STX\ETX\n\ + \\ENQ\ENQ\a\STX,\SOH\DC2\EOT\189\ACK\STX\ETX\n\ \\r\n\ - \\ENQ\ENQ\a\STX,\STX\DC2\EOT\183\ACK\ACK\b\n\ + \\ENQ\ENQ\a\STX,\STX\DC2\EOT\189\ACK\ACK\b\n\ \\f\n\ - \\EOT\ENQ\a\STX-\DC2\EOT\184\ACK\STX\f\n\ + \\EOT\ENQ\a\STX-\DC2\EOT\190\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\a\STX-\SOH\DC2\EOT\184\ACK\STX\ACK\n\ + \\ENQ\ENQ\a\STX-\SOH\DC2\EOT\190\ACK\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\a\STX-\STX\DC2\EOT\184\ACK\t\v\n\ + \\ENQ\ENQ\a\STX-\STX\DC2\EOT\190\ACK\t\v\n\ \\f\n\ - \\EOT\ENQ\a\STX.\DC2\EOT\185\ACK\STX\v\n\ + \\EOT\ENQ\a\STX.\DC2\EOT\191\ACK\STX\v\n\ \\r\n\ - \\ENQ\ENQ\a\STX.\SOH\DC2\EOT\185\ACK\STX\ACK\n\ + \\ENQ\ENQ\a\STX.\SOH\DC2\EOT\191\ACK\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\a\STX.\STX\DC2\EOT\185\ACK\t\n\ + \\ENQ\ENQ\a\STX.\STX\DC2\EOT\191\ACK\t\n\ \\n\ \\f\n\ - \\EOT\ENQ\a\STX/\DC2\EOT\186\ACK\STX\DC2\n\ + \\EOT\ENQ\a\STX/\DC2\EOT\192\ACK\STX\DC2\n\ \\r\n\ - \\ENQ\ENQ\a\STX/\SOH\DC2\EOT\186\ACK\STX\f\n\ + \\ENQ\ENQ\a\STX/\SOH\DC2\EOT\192\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\a\STX/\STX\DC2\EOT\186\ACK\SI\DC1\n\ + \\ENQ\ENQ\a\STX/\STX\DC2\EOT\192\ACK\SI\DC1\n\ \\f\n\ - \\EOT\ENQ\a\STX0\DC2\EOT\187\ACK\STX\ETB\n\ + \\EOT\ENQ\a\STX0\DC2\EOT\193\ACK\STX\ETB\n\ \\r\n\ - \\ENQ\ENQ\a\STX0\SOH\DC2\EOT\187\ACK\STX\DC1\n\ + \\ENQ\ENQ\a\STX0\SOH\DC2\EOT\193\ACK\STX\DC1\n\ \\r\n\ - \\ENQ\ENQ\a\STX0\STX\DC2\EOT\187\ACK\DC4\SYN\n\ + \\ENQ\ENQ\a\STX0\STX\DC2\EOT\193\ACK\DC4\SYN\n\ \\f\n\ - \\EOT\ENQ\a\STX1\DC2\EOT\188\ACK\STX\SI\n\ + \\EOT\ENQ\a\STX1\DC2\EOT\194\ACK\STX\SI\n\ \\r\n\ - \\ENQ\ENQ\a\STX1\SOH\DC2\EOT\188\ACK\STX\t\n\ + \\ENQ\ENQ\a\STX1\SOH\DC2\EOT\194\ACK\STX\t\n\ \\r\n\ - \\ENQ\ENQ\a\STX1\STX\DC2\EOT\188\ACK\f\SO\n\ + \\ENQ\ENQ\a\STX1\STX\DC2\EOT\194\ACK\f\SO\n\ \\f\n\ - \\EOT\ENQ\a\STX2\DC2\EOT\189\ACK\STX\r\n\ + \\EOT\ENQ\a\STX2\DC2\EOT\195\ACK\STX\r\n\ \\r\n\ - \\ENQ\ENQ\a\STX2\SOH\DC2\EOT\189\ACK\STX\a\n\ + \\ENQ\ENQ\a\STX2\SOH\DC2\EOT\195\ACK\STX\a\n\ \\r\n\ - \\ENQ\ENQ\a\STX2\STX\DC2\EOT\189\ACK\n\ + \\ENQ\ENQ\a\STX2\STX\DC2\EOT\195\ACK\n\ \\f\n\ \\f\n\ - \\EOT\ENQ\a\STX3\DC2\EOT\190\ACK\STX\DC1\n\ + \\EOT\ENQ\a\STX3\DC2\EOT\196\ACK\STX\DC1\n\ \\r\n\ - \\ENQ\ENQ\a\STX3\SOH\DC2\EOT\190\ACK\STX\n\ + \\ENQ\ENQ\a\STX3\SOH\DC2\EOT\196\ACK\STX\n\ \\n\ \\r\n\ - \\ENQ\ENQ\a\STX3\STX\DC2\EOT\190\ACK\r\DLE\n\ + \\ENQ\ENQ\a\STX3\STX\DC2\EOT\196\ACK\r\DLE\n\ \\f\n\ - \\EOT\ENQ\a\STX4\DC2\EOT\191\ACK\STX\r\n\ + \\EOT\ENQ\a\STX4\DC2\EOT\197\ACK\STX\r\n\ \\r\n\ - \\ENQ\ENQ\a\STX4\SOH\DC2\EOT\191\ACK\STX\b\n\ + \\ENQ\ENQ\a\STX4\SOH\DC2\EOT\197\ACK\STX\b\n\ \\r\n\ - \\ENQ\ENQ\a\STX4\STX\DC2\EOT\191\ACK\v\f\n\ + \\ENQ\ENQ\a\STX4\STX\DC2\EOT\197\ACK\v\f\n\ \\f\n\ - \\EOT\ENQ\a\STX5\DC2\EOT\192\ACK\STX\r\n\ + \\EOT\ENQ\a\STX5\DC2\EOT\198\ACK\STX\r\n\ \\r\n\ - \\ENQ\ENQ\a\STX5\SOH\DC2\EOT\192\ACK\STX\a\n\ + \\ENQ\ENQ\a\STX5\SOH\DC2\EOT\198\ACK\STX\a\n\ \\r\n\ - \\ENQ\ENQ\a\STX5\STX\DC2\EOT\192\ACK\n\ + \\ENQ\ENQ\a\STX5\STX\DC2\EOT\198\ACK\n\ \\f\n\ \\f\n\ - \\EOT\ENQ\a\STX6\DC2\EOT\193\ACK\STX\f\n\ + \\EOT\ENQ\a\STX6\DC2\EOT\199\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\a\STX6\SOH\DC2\EOT\193\ACK\STX\ACK\n\ + \\ENQ\ENQ\a\STX6\SOH\DC2\EOT\199\ACK\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\a\STX6\STX\DC2\EOT\193\ACK\t\v\n\ + \\ENQ\ENQ\a\STX6\STX\DC2\EOT\199\ACK\t\v\n\ \\f\n\ - \\EOT\ENQ\a\STX7\DC2\EOT\194\ACK\STX\f\n\ + \\EOT\ENQ\a\STX7\DC2\EOT\200\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\a\STX7\SOH\DC2\EOT\194\ACK\STX\ACK\n\ + \\ENQ\ENQ\a\STX7\SOH\DC2\EOT\200\ACK\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\a\STX7\STX\DC2\EOT\194\ACK\t\v\n\ + \\ENQ\ENQ\a\STX7\STX\DC2\EOT\200\ACK\t\v\n\ \\f\n\ - \\EOT\ENQ\a\STX8\DC2\EOT\195\ACK\STX\v\n\ + \\EOT\ENQ\a\STX8\DC2\EOT\201\ACK\STX\v\n\ \\r\n\ - \\ENQ\ENQ\a\STX8\SOH\DC2\EOT\195\ACK\STX\ENQ\n\ + \\ENQ\ENQ\a\STX8\SOH\DC2\EOT\201\ACK\STX\ENQ\n\ \\r\n\ - \\ENQ\ENQ\a\STX8\STX\DC2\EOT\195\ACK\b\n\ + \\ENQ\ENQ\a\STX8\STX\DC2\EOT\201\ACK\b\n\ \\n\ \\f\n\ - \\EOT\ENQ\a\STX9\DC2\EOT\196\ACK\STX\r\n\ + \\EOT\ENQ\a\STX9\DC2\EOT\202\ACK\STX\r\n\ \\r\n\ - \\ENQ\ENQ\a\STX9\SOH\DC2\EOT\196\ACK\STX\ACK\n\ + \\ENQ\ENQ\a\STX9\SOH\DC2\EOT\202\ACK\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\a\STX9\STX\DC2\EOT\196\ACK\t\f\n\ + \\ENQ\ENQ\a\STX9\STX\DC2\EOT\202\ACK\t\f\n\ \\f\n\ - \\EOT\ENQ\a\STX:\DC2\EOT\197\ACK\STX\DLE\n\ + \\EOT\ENQ\a\STX:\DC2\EOT\203\ACK\STX\DLE\n\ \\r\n\ - \\ENQ\ENQ\a\STX:\SOH\DC2\EOT\197\ACK\STX\n\ + \\ENQ\ENQ\a\STX:\SOH\DC2\EOT\203\ACK\STX\n\ \\n\ \\r\n\ - \\ENQ\ENQ\a\STX:\STX\DC2\EOT\197\ACK\r\SI\n\ + \\ENQ\ENQ\a\STX:\STX\DC2\EOT\203\ACK\r\SI\n\ \\f\n\ - \\EOT\ENQ\a\STX;\DC2\EOT\198\ACK\STX\DLE\n\ + \\EOT\ENQ\a\STX;\DC2\EOT\204\ACK\STX\DLE\n\ \\r\n\ - \\ENQ\ENQ\a\STX;\SOH\DC2\EOT\198\ACK\STX\n\ + \\ENQ\ENQ\a\STX;\SOH\DC2\EOT\204\ACK\STX\n\ \\n\ \\r\n\ - \\ENQ\ENQ\a\STX;\STX\DC2\EOT\198\ACK\r\SI\n\ + \\ENQ\ENQ\a\STX;\STX\DC2\EOT\204\ACK\r\SI\n\ \\f\n\ - \\EOT\ENQ\a\STX<\DC2\EOT\199\ACK\STX\SO\n\ + \\EOT\ENQ\a\STX<\DC2\EOT\205\ACK\STX\SO\n\ \\r\n\ - \\ENQ\ENQ\a\STX<\SOH\DC2\EOT\199\ACK\STX\b\n\ + \\ENQ\ENQ\a\STX<\SOH\DC2\EOT\205\ACK\STX\b\n\ \\r\n\ - \\ENQ\ENQ\a\STX<\STX\DC2\EOT\199\ACK\v\r\n\ + \\ENQ\ENQ\a\STX<\STX\DC2\EOT\205\ACK\v\r\n\ \(\n\ - \\EOT\ENQ\a\STX=\DC2\EOT\200\ACK\STX\SI\"\SUB https://nickel-lang.org/\n\ + \\EOT\ENQ\a\STX=\DC2\EOT\206\ACK\STX\SI\"\SUB https://nickel-lang.org/\n\ \\n\ \\r\n\ - \\ENQ\ENQ\a\STX=\SOH\DC2\EOT\200\ACK\STX\b\n\ + \\ENQ\ENQ\a\STX=\SOH\DC2\EOT\206\ACK\STX\b\n\ \\r\n\ - \\ENQ\ENQ\a\STX=\STX\DC2\EOT\200\ACK\v\SO\n\ + \\ENQ\ENQ\a\STX=\STX\DC2\EOT\206\ACK\v\SO\n\ \\f\n\ - \\EOT\ENQ\a\STX>\DC2\EOT\201\ACK\STX\v\n\ + \\EOT\ENQ\a\STX>\DC2\EOT\207\ACK\STX\v\n\ \\r\n\ - \\ENQ\ENQ\a\STX>\SOH\DC2\EOT\201\ACK\STX\ENQ\n\ + \\ENQ\ENQ\a\STX>\SOH\DC2\EOT\207\ACK\STX\ENQ\n\ \\r\n\ - \\ENQ\ENQ\a\STX>\STX\DC2\EOT\201\ACK\b\n\ + \\ENQ\ENQ\a\STX>\STX\DC2\EOT\207\ACK\b\n\ \\n\ \\f\n\ - \\EOT\ENQ\a\STX?\DC2\EOT\202\ACK\STX\r\n\ + \\EOT\ENQ\a\STX?\DC2\EOT\208\ACK\STX\r\n\ \\r\n\ - \\ENQ\ENQ\a\STX?\SOH\DC2\EOT\202\ACK\STX\a\n\ + \\ENQ\ENQ\a\STX?\SOH\DC2\EOT\208\ACK\STX\a\n\ \\r\n\ - \\ENQ\ENQ\a\STX?\STX\DC2\EOT\202\ACK\n\ + \\ENQ\ENQ\a\STX?\STX\DC2\EOT\208\ACK\n\ \\f\n\ \\f\n\ - \\EOT\ENQ\a\STX@\DC2\EOT\203\ACK\STX\DC3\n\ + \\EOT\ENQ\a\STX@\DC2\EOT\209\ACK\STX\DC3\n\ \\r\n\ - \\ENQ\ENQ\a\STX@\SOH\DC2\EOT\203\ACK\STX\r\n\ + \\ENQ\ENQ\a\STX@\SOH\DC2\EOT\209\ACK\STX\r\n\ \\r\n\ - \\ENQ\ENQ\a\STX@\STX\DC2\EOT\203\ACK\DLE\DC2\n\ + \\ENQ\ENQ\a\STX@\STX\DC2\EOT\209\ACK\DLE\DC2\n\ \\f\n\ - \\EOT\ENQ\a\STXA\DC2\EOT\204\ACK\STX\NAK\n\ + \\EOT\ENQ\a\STXA\DC2\EOT\210\ACK\STX\NAK\n\ \\r\n\ - \\ENQ\ENQ\a\STXA\SOH\DC2\EOT\204\ACK\STX\SI\n\ + \\ENQ\ENQ\a\STXA\SOH\DC2\EOT\210\ACK\STX\SI\n\ \\r\n\ - \\ENQ\ENQ\a\STXA\STX\DC2\EOT\204\ACK\DC2\DC4\n\ + \\ENQ\ENQ\a\STXA\STX\DC2\EOT\210\ACK\DC2\DC4\n\ \\f\n\ - \\EOT\ENQ\a\STXB\DC2\EOT\205\ACK\STX\SO\n\ + \\EOT\ENQ\a\STXB\DC2\EOT\211\ACK\STX\SO\n\ \\r\n\ - \\ENQ\ENQ\a\STXB\SOH\DC2\EOT\205\ACK\STX\b\n\ + \\ENQ\ENQ\a\STXB\SOH\DC2\EOT\211\ACK\STX\b\n\ \\r\n\ - \\ENQ\ENQ\a\STXB\STX\DC2\EOT\205\ACK\v\r\n\ + \\ENQ\ENQ\a\STXB\STX\DC2\EOT\211\ACK\v\r\n\ \\f\n\ - \\EOT\ENQ\a\STXC\DC2\EOT\206\ACK\STX\v\n\ + \\EOT\ENQ\a\STXC\DC2\EOT\212\ACK\STX\v\n\ \\r\n\ - \\ENQ\ENQ\a\STXC\SOH\DC2\EOT\206\ACK\STX\ENQ\n\ + \\ENQ\ENQ\a\STXC\SOH\DC2\EOT\212\ACK\STX\ENQ\n\ \\r\n\ - \\ENQ\ENQ\a\STXC\STX\DC2\EOT\206\ACK\b\n\ + \\ENQ\ENQ\a\STXC\STX\DC2\EOT\212\ACK\b\n\ \\n\ \\f\n\ - \\EOT\ENQ\a\STXD\DC2\EOT\207\ACK\STX\r\n\ + \\EOT\ENQ\a\STXD\DC2\EOT\213\ACK\STX\r\n\ \\r\n\ - \\ENQ\ENQ\a\STXD\SOH\DC2\EOT\207\ACK\STX\a\n\ + \\ENQ\ENQ\a\STXD\SOH\DC2\EOT\213\ACK\STX\a\n\ \\r\n\ - \\ENQ\ENQ\a\STXD\STX\DC2\EOT\207\ACK\n\ + \\ENQ\ENQ\a\STXD\STX\DC2\EOT\213\ACK\n\ \\f\n\ \\f\n\ - \\EOT\ENQ\a\STXE\DC2\EOT\208\ACK\STX\f\n\ + \\EOT\ENQ\a\STXE\DC2\EOT\214\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\a\STXE\SOH\DC2\EOT\208\ACK\STX\ACK\n\ + \\ENQ\ENQ\a\STXE\SOH\DC2\EOT\214\ACK\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\a\STXE\STX\DC2\EOT\208\ACK\t\v\n\ + \\ENQ\ENQ\a\STXE\STX\DC2\EOT\214\ACK\t\v\n\ \\f\n\ - \\EOT\ENQ\a\STXF\DC2\EOT\209\ACK\STX\DC2\n\ + \\EOT\ENQ\a\STXF\DC2\EOT\215\ACK\STX\DC2\n\ \\r\n\ - \\ENQ\ENQ\a\STXF\SOH\DC2\EOT\209\ACK\STX\f\n\ + \\ENQ\ENQ\a\STXF\SOH\DC2\EOT\215\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\a\STXF\STX\DC2\EOT\209\ACK\SI\DC1\n\ + \\ENQ\ENQ\a\STXF\STX\DC2\EOT\215\ACK\SI\DC1\n\ \\f\n\ - \\EOT\ENQ\a\STXG\DC2\EOT\210\ACK\STX\SO\n\ + \\EOT\ENQ\a\STXG\DC2\EOT\216\ACK\STX\SO\n\ \\r\n\ - \\ENQ\ENQ\a\STXG\SOH\DC2\EOT\210\ACK\STX\b\n\ + \\ENQ\ENQ\a\STXG\SOH\DC2\EOT\216\ACK\STX\b\n\ \\r\n\ - \\ENQ\ENQ\a\STXG\STX\DC2\EOT\210\ACK\v\r\n\ + \\ENQ\ENQ\a\STXG\STX\DC2\EOT\216\ACK\v\r\n\ \\f\n\ - \\EOT\ENQ\a\STXH\DC2\EOT\211\ACK\STX\DC1\n\ + \\EOT\ENQ\a\STXH\DC2\EOT\217\ACK\STX\DC1\n\ \\r\n\ - \\ENQ\ENQ\a\STXH\SOH\DC2\EOT\211\ACK\STX\n\ + \\ENQ\ENQ\a\STXH\SOH\DC2\EOT\217\ACK\STX\n\ \\n\ \\r\n\ - \\ENQ\ENQ\a\STXH\STX\DC2\EOT\211\ACK\r\DLE\n\ + \\ENQ\ENQ\a\STXH\STX\DC2\EOT\217\ACK\r\DLE\n\ \\f\n\ - \\EOT\ENQ\a\STXI\DC2\EOT\212\ACK\STX\SO\n\ + \\EOT\ENQ\a\STXI\DC2\EOT\218\ACK\STX\SO\n\ \\r\n\ - \\ENQ\ENQ\a\STXI\SOH\DC2\EOT\212\ACK\STX\b\n\ + \\ENQ\ENQ\a\STXI\SOH\DC2\EOT\218\ACK\STX\b\n\ \\r\n\ - \\ENQ\ENQ\a\STXI\STX\DC2\EOT\212\ACK\v\r\n\ + \\ENQ\ENQ\a\STXI\STX\DC2\EOT\218\ACK\v\r\n\ \\f\n\ - \\EOT\ENQ\a\STXJ\DC2\EOT\213\ACK\STX\t\n\ + \\EOT\ENQ\a\STXJ\DC2\EOT\219\ACK\STX\t\n\ \\r\n\ - \\ENQ\ENQ\a\STXJ\SOH\DC2\EOT\213\ACK\STX\ETX\n\ + \\ENQ\ENQ\a\STXJ\SOH\DC2\EOT\219\ACK\STX\ETX\n\ \\r\n\ - \\ENQ\ENQ\a\STXJ\STX\DC2\EOT\213\ACK\ACK\b\n\ + \\ENQ\ENQ\a\STXJ\STX\DC2\EOT\219\ACK\ACK\b\n\ \\f\n\ - \\EOT\ENQ\a\STXK\DC2\EOT\214\ACK\STX\SO\n\ + \\EOT\ENQ\a\STXK\DC2\EOT\220\ACK\STX\SO\n\ \\r\n\ - \\ENQ\ENQ\a\STXK\SOH\DC2\EOT\214\ACK\STX\b\n\ + \\ENQ\ENQ\a\STXK\SOH\DC2\EOT\220\ACK\STX\b\n\ \\r\n\ - \\ENQ\ENQ\a\STXK\STX\DC2\EOT\214\ACK\v\r\n\ + \\ENQ\ENQ\a\STXK\STX\DC2\EOT\220\ACK\v\r\n\ \\f\n\ - \\EOT\ENQ\a\STXL\DC2\EOT\215\ACK\STX\f\n\ + \\EOT\ENQ\a\STXL\DC2\EOT\221\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\a\STXL\SOH\DC2\EOT\215\ACK\STX\ACK\n\ + \\ENQ\ENQ\a\STXL\SOH\DC2\EOT\221\ACK\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\a\STXL\STX\DC2\EOT\215\ACK\t\v\n\ + \\ENQ\ENQ\a\STXL\STX\DC2\EOT\221\ACK\t\v\n\ \\f\n\ - \\EOT\ENQ\a\STXM\DC2\EOT\216\ACK\STX\r\n\ + \\EOT\ENQ\a\STXM\DC2\EOT\222\ACK\STX\r\n\ \\r\n\ - \\ENQ\ENQ\a\STXM\SOH\DC2\EOT\216\ACK\STX\a\n\ + \\ENQ\ENQ\a\STXM\SOH\DC2\EOT\222\ACK\STX\a\n\ \\r\n\ - \\ENQ\ENQ\a\STXM\STX\DC2\EOT\216\ACK\n\ + \\ENQ\ENQ\a\STXM\STX\DC2\EOT\222\ACK\n\ \\f\n\ \2\n\ - \\EOT\ENQ\a\STXN\DC2\EOT\217\ACK\STX\SO\"$ Internal language for testing SCIP\n\ + \\EOT\ENQ\a\STXN\DC2\EOT\223\ACK\STX\SO\"$ Internal language for testing SCIP\n\ \\n\ \\r\n\ - \\ENQ\ENQ\a\STXN\SOH\DC2\EOT\217\ACK\STX\a\n\ + \\ENQ\ENQ\a\STXN\SOH\DC2\EOT\223\ACK\STX\a\n\ \\r\n\ - \\ENQ\ENQ\a\STXN\STX\DC2\EOT\217\ACK\n\ + \\ENQ\ENQ\a\STXN\STX\DC2\EOT\223\ACK\n\ \\r\n\ \\f\n\ - \\EOT\ENQ\a\STXO\DC2\EOT\218\ACK\STX\f\n\ + \\EOT\ENQ\a\STXO\DC2\EOT\224\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\a\STXO\SOH\DC2\EOT\218\ACK\STX\ACK\n\ + \\ENQ\ENQ\a\STXO\SOH\DC2\EOT\224\ACK\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\a\STXO\STX\DC2\EOT\218\ACK\t\v\n\ + \\ENQ\ENQ\a\STXO\STX\DC2\EOT\224\ACK\t\v\n\ \\f\n\ - \\EOT\ENQ\a\STXP\DC2\EOT\219\ACK\STX\f\n\ + \\EOT\ENQ\a\STXP\DC2\EOT\225\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\a\STXP\SOH\DC2\EOT\219\ACK\STX\ACK\n\ + \\ENQ\ENQ\a\STXP\SOH\DC2\EOT\225\ACK\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\a\STXP\STX\DC2\EOT\219\ACK\t\v\n\ + \\ENQ\ENQ\a\STXP\STX\DC2\EOT\225\ACK\t\v\n\ \\f\n\ - \\EOT\ENQ\a\STXQ\DC2\EOT\220\ACK\STX\f\n\ + \\EOT\ENQ\a\STXQ\DC2\EOT\226\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\a\STXQ\SOH\DC2\EOT\220\ACK\STX\ACK\n\ + \\ENQ\ENQ\a\STXQ\SOH\DC2\EOT\226\ACK\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\a\STXQ\STX\DC2\EOT\220\ACK\t\v\n\ + \\ENQ\ENQ\a\STXQ\STX\DC2\EOT\226\ACK\t\v\n\ \\f\n\ - \\EOT\ENQ\a\STXR\DC2\EOT\221\ACK\STX\v\n\ + \\EOT\ENQ\a\STXR\DC2\EOT\227\ACK\STX\v\n\ \\r\n\ - \\ENQ\ENQ\a\STXR\SOH\DC2\EOT\221\ACK\STX\ENQ\n\ + \\ENQ\ENQ\a\STXR\SOH\DC2\EOT\227\ACK\STX\ENQ\n\ \\r\n\ - \\ENQ\ENQ\a\STXR\STX\DC2\EOT\221\ACK\b\n\ + \\ENQ\ENQ\a\STXR\STX\DC2\EOT\227\ACK\b\n\ \\n\ \\f\n\ - \\EOT\ENQ\a\STXS\DC2\EOT\222\ACK\STX\f\n\ + \\EOT\ENQ\a\STXS\DC2\EOT\228\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\a\STXS\SOH\DC2\EOT\222\ACK\STX\ACK\n\ + \\ENQ\ENQ\a\STXS\SOH\DC2\EOT\228\ACK\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\a\STXS\STX\DC2\EOT\222\ACK\t\v\n\ + \\ENQ\ENQ\a\STXS\STX\DC2\EOT\228\ACK\t\v\n\ \\f\n\ - \\EOT\ENQ\a\STXT\DC2\EOT\223\ACK\STX\v\n\ + \\EOT\ENQ\a\STXT\DC2\EOT\229\ACK\STX\v\n\ \\r\n\ - \\ENQ\ENQ\a\STXT\SOH\DC2\EOT\223\ACK\STX\ENQ\n\ + \\ENQ\ENQ\a\STXT\SOH\DC2\EOT\229\ACK\STX\ENQ\n\ \\r\n\ - \\ENQ\ENQ\a\STXT\STX\DC2\EOT\223\ACK\b\n\ + \\ENQ\ENQ\a\STXT\STX\DC2\EOT\229\ACK\b\n\ \\n\ \\f\n\ - \\EOT\ENQ\a\STXU\DC2\EOT\224\ACK\STX\v\n\ + \\EOT\ENQ\a\STXU\DC2\EOT\230\ACK\STX\v\n\ \\r\n\ - \\ENQ\ENQ\a\STXU\SOH\DC2\EOT\224\ACK\STX\ENQ\n\ + \\ENQ\ENQ\a\STXU\SOH\DC2\EOT\230\ACK\STX\ENQ\n\ \\r\n\ - \\ENQ\ENQ\a\STXU\STX\DC2\EOT\224\ACK\b\n\ + \\ENQ\ENQ\a\STXU\STX\DC2\EOT\230\ACK\b\n\ \\n\ \\f\n\ - \\EOT\ENQ\a\STXV\DC2\EOT\225\ACK\STX\f\n\ + \\EOT\ENQ\a\STXV\DC2\EOT\231\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\a\STXV\SOH\DC2\EOT\225\ACK\STX\ACK\n\ + \\ENQ\ENQ\a\STXV\SOH\DC2\EOT\231\ACK\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\a\STXV\STX\DC2\EOT\225\ACK\t\v\n\ + \\ENQ\ENQ\a\STXV\STX\DC2\EOT\231\ACK\t\v\n\ \\f\n\ - \\EOT\ENQ\a\STXW\DC2\EOT\226\ACK\STX\f\n\ + \\EOT\ENQ\a\STXW\DC2\EOT\232\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\a\STXW\SOH\DC2\EOT\226\ACK\STX\a\n\ + \\ENQ\ENQ\a\STXW\SOH\DC2\EOT\232\ACK\STX\a\n\ \\r\n\ - \\ENQ\ENQ\a\STXW\STX\DC2\EOT\226\ACK\n\ + \\ENQ\ENQ\a\STXW\STX\DC2\EOT\232\ACK\n\ \\v\n\ \\f\n\ - \\EOT\ENQ\a\STXX\DC2\EOT\227\ACK\STX\SO\n\ + \\EOT\ENQ\a\STXX\DC2\EOT\233\ACK\STX\SO\n\ \\r\n\ - \\ENQ\ENQ\a\STXX\SOH\DC2\EOT\227\ACK\STX\b\n\ + \\ENQ\ENQ\a\STXX\SOH\DC2\EOT\233\ACK\STX\b\n\ \\r\n\ - \\ENQ\ENQ\a\STXX\STX\DC2\EOT\227\ACK\v\r\n\ + \\ENQ\ENQ\a\STXX\STX\DC2\EOT\233\ACK\v\r\n\ \\DC4\n\ - \\EOT\ENQ\a\STXY\DC2\EOT\228\ACK\STX\DC3\"\ACK Bash\n\ + \\EOT\ENQ\a\STXY\DC2\EOT\234\ACK\STX\DC3\"\ACK Bash\n\ \\n\ \\r\n\ - \\ENQ\ENQ\a\STXY\SOH\DC2\EOT\228\ACK\STX\r\n\ + \\ENQ\ENQ\a\STXY\SOH\DC2\EOT\234\ACK\STX\r\n\ \\r\n\ - \\ENQ\ENQ\a\STXY\STX\DC2\EOT\228\ACK\DLE\DC2\n\ + \\ENQ\ENQ\a\STXY\STX\DC2\EOT\234\ACK\DLE\DC2\n\ \\f\n\ - \\EOT\ENQ\a\STXZ\DC2\EOT\229\ACK\STX\SI\n\ + \\EOT\ENQ\a\STXZ\DC2\EOT\235\ACK\STX\SI\n\ \\r\n\ - \\ENQ\ENQ\a\STXZ\SOH\DC2\EOT\229\ACK\STX\t\n\ + \\ENQ\ENQ\a\STXZ\SOH\DC2\EOT\235\ACK\STX\t\n\ \\r\n\ - \\ENQ\ENQ\a\STXZ\STX\DC2\EOT\229\ACK\f\SO\n\ + \\ENQ\ENQ\a\STXZ\STX\DC2\EOT\235\ACK\f\SO\n\ \\f\n\ - \\EOT\ENQ\a\STX[\DC2\EOT\230\ACK\STX\SO\n\ + \\EOT\ENQ\a\STX[\DC2\EOT\236\ACK\STX\SO\n\ \\r\n\ - \\ENQ\ENQ\a\STX[\SOH\DC2\EOT\230\ACK\STX\a\n\ + \\ENQ\ENQ\a\STX[\SOH\DC2\EOT\236\ACK\STX\a\n\ \\r\n\ - \\ENQ\ENQ\a\STX[\STX\DC2\EOT\230\ACK\n\ + \\ENQ\ENQ\a\STX[\STX\DC2\EOT\236\ACK\n\ \\r\n\ \\f\n\ - \\EOT\ENQ\a\STX\\\DC2\EOT\231\ACK\STX\DLE\n\ + \\EOT\ENQ\a\STX\\\DC2\EOT\237\ACK\STX\DLE\n\ \\r\n\ - \\ENQ\ENQ\a\STX\\\SOH\DC2\EOT\231\ACK\STX\n\ + \\ENQ\ENQ\a\STX\\\SOH\DC2\EOT\237\ACK\STX\n\ \\n\ \\r\n\ - \\ENQ\ENQ\a\STX\\\STX\DC2\EOT\231\ACK\r\SI\n\ + \\ENQ\ENQ\a\STX\\\STX\DC2\EOT\237\ACK\r\SI\n\ \\f\n\ - \\EOT\ENQ\a\STX]\DC2\EOT\232\ACK\STX\SI\n\ + \\EOT\ENQ\a\STX]\DC2\EOT\238\ACK\STX\SI\n\ \\r\n\ - \\ENQ\ENQ\a\STX]\SOH\DC2\EOT\232\ACK\STX\b\n\ + \\ENQ\ENQ\a\STX]\SOH\DC2\EOT\238\ACK\STX\b\n\ \\r\n\ - \\ENQ\ENQ\a\STX]\STX\DC2\EOT\232\ACK\v\SO\n\ + \\ENQ\ENQ\a\STX]\STX\DC2\EOT\238\ACK\v\SO\n\ \\f\n\ - \\EOT\ENQ\a\STX^\DC2\EOT\233\ACK\STX\f\n\ + \\EOT\ENQ\a\STX^\DC2\EOT\239\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\a\STX^\SOH\DC2\EOT\233\ACK\STX\a\n\ + \\ENQ\ENQ\a\STX^\SOH\DC2\EOT\239\ACK\STX\a\n\ \\r\n\ - \\ENQ\ENQ\a\STX^\STX\DC2\EOT\233\ACK\n\ + \\ENQ\ENQ\a\STX^\STX\DC2\EOT\239\ACK\n\ \\v\n\ \\f\n\ - \\EOT\ENQ\a\STX_\DC2\EOT\234\ACK\STX\f\n\ + \\EOT\ENQ\a\STX_\DC2\EOT\240\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\a\STX_\SOH\DC2\EOT\234\ACK\STX\ENQ\n\ + \\ENQ\ENQ\a\STX_\SOH\DC2\EOT\240\ACK\STX\ENQ\n\ \\r\n\ - \\ENQ\ENQ\a\STX_\STX\DC2\EOT\234\ACK\b\v\n\ + \\ENQ\ENQ\a\STX_\STX\DC2\EOT\240\ACK\b\v\n\ \\f\n\ - \\EOT\ENQ\a\STX`\DC2\EOT\235\ACK\STX\f\n\ + \\EOT\ENQ\a\STX`\DC2\EOT\241\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\a\STX`\SOH\DC2\EOT\235\ACK\STX\ACK\n\ + \\ENQ\ENQ\a\STX`\SOH\DC2\EOT\241\ACK\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\a\STX`\STX\DC2\EOT\235\ACK\t\v\n\ + \\ENQ\ENQ\a\STX`\STX\DC2\EOT\241\ACK\t\v\n\ \\f\n\ - \\EOT\ENQ\a\STXa\DC2\EOT\236\ACK\STX\v\n\ + \\EOT\ENQ\a\STXa\DC2\EOT\242\ACK\STX\v\n\ \\r\n\ - \\ENQ\ENQ\a\STXa\SOH\DC2\EOT\236\ACK\STX\ENQ\n\ + \\ENQ\ENQ\a\STXa\SOH\DC2\EOT\242\ACK\STX\ENQ\n\ \\r\n\ - \\ENQ\ENQ\a\STXa\STX\DC2\EOT\236\ACK\b\n\ + \\ENQ\ENQ\a\STXa\STX\DC2\EOT\242\ACK\b\n\ \\n\ \\f\n\ - \\EOT\ENQ\a\STXb\DC2\EOT\237\ACK\STX\SI\n\ + \\EOT\ENQ\a\STXb\DC2\EOT\243\ACK\STX\SI\n\ \\r\n\ - \\ENQ\ENQ\a\STXb\SOH\DC2\EOT\237\ACK\STX\b\n\ + \\ENQ\ENQ\a\STXb\SOH\DC2\EOT\243\ACK\STX\b\n\ \\r\n\ - \\ENQ\ENQ\a\STXb\STX\DC2\EOT\237\ACK\v\SO\n\ + \\ENQ\ENQ\a\STXb\STX\DC2\EOT\243\ACK\v\SO\n\ \\f\n\ - \\EOT\ENQ\a\STXc\DC2\EOT\238\ACK\STX\DC2\n\ + \\EOT\ENQ\a\STXc\DC2\EOT\244\ACK\STX\DC2\n\ \\r\n\ - \\ENQ\ENQ\a\STXc\SOH\DC2\EOT\238\ACK\STX\f\n\ + \\ENQ\ENQ\a\STXc\SOH\DC2\EOT\244\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\a\STXc\STX\DC2\EOT\238\ACK\SI\DC1\n\ + \\ENQ\ENQ\a\STXc\STX\DC2\EOT\244\ACK\SI\DC1\n\ \\f\n\ - \\EOT\ENQ\a\STXd\DC2\EOT\239\ACK\STX\ETB\n\ + \\EOT\ENQ\a\STXd\DC2\EOT\245\ACK\STX\ETB\n\ \\r\n\ - \\ENQ\ENQ\a\STXd\SOH\DC2\EOT\239\ACK\STX\DC1\n\ + \\ENQ\ENQ\a\STXd\SOH\DC2\EOT\245\ACK\STX\DC1\n\ \\r\n\ - \\ENQ\ENQ\a\STXd\STX\DC2\EOT\239\ACK\DC4\SYN\n\ + \\ENQ\ENQ\a\STXd\STX\DC2\EOT\245\ACK\DC4\SYN\n\ \\f\n\ - \\EOT\ENQ\a\STXe\DC2\EOT\240\ACK\STX\DLE\n\ + \\EOT\ENQ\a\STXe\DC2\EOT\246\ACK\STX\DLE\n\ \\r\n\ - \\ENQ\ENQ\a\STXe\SOH\DC2\EOT\240\ACK\STX\t\n\ + \\ENQ\ENQ\a\STXe\SOH\DC2\EOT\246\ACK\STX\t\n\ \\r\n\ - \\ENQ\ENQ\a\STXe\STX\DC2\EOT\240\ACK\f\SI\n\ + \\ENQ\ENQ\a\STXe\STX\DC2\EOT\246\ACK\f\SI\n\ \\f\n\ - \\EOT\ENQ\a\STXf\DC2\EOT\241\ACK\STX\r\n\ + \\EOT\ENQ\a\STXf\DC2\EOT\247\ACK\STX\r\n\ \\r\n\ - \\ENQ\ENQ\a\STXf\SOH\DC2\EOT\241\ACK\STX\ACK\n\ + \\ENQ\ENQ\a\STXf\SOH\DC2\EOT\247\ACK\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\a\STXf\STX\DC2\EOT\241\ACK\t\f\n\ + \\ENQ\ENQ\a\STXf\STX\DC2\EOT\247\ACK\t\f\n\ \\f\n\ - \\EOT\ENQ\a\STXg\DC2\EOT\242\ACK\STX\DC3\n\ + \\EOT\ENQ\a\STXg\DC2\EOT\248\ACK\STX\DC3\n\ \\r\n\ - \\ENQ\ENQ\a\STXg\SOH\DC2\EOT\242\ACK\STX\r\n\ + \\ENQ\ENQ\a\STXg\SOH\DC2\EOT\248\ACK\STX\r\n\ \\r\n\ - \\ENQ\ENQ\a\STXg\STX\DC2\EOT\242\ACK\DLE\DC2\n\ + \\ENQ\ENQ\a\STXg\STX\DC2\EOT\248\ACK\DLE\DC2\n\ \\f\n\ - \\EOT\ENQ\a\STXh\DC2\EOT\243\ACK\STX\v\n\ + \\EOT\ENQ\a\STXh\DC2\EOT\249\ACK\STX\v\n\ \\r\n\ - \\ENQ\ENQ\a\STXh\SOH\DC2\EOT\243\ACK\STX\ENQ\n\ + \\ENQ\ENQ\a\STXh\SOH\DC2\EOT\249\ACK\STX\ENQ\n\ \\r\n\ - \\ENQ\ENQ\a\STXh\STX\DC2\EOT\243\ACK\b\n\ + \\ENQ\ENQ\a\STXh\STX\DC2\EOT\249\ACK\b\n\ \\n\ \\f\n\ - \\EOT\ENQ\a\STXi\DC2\EOT\244\ACK\STX\SI\n\ + \\EOT\ENQ\a\STXi\DC2\EOT\250\ACK\STX\SI\n\ \\r\n\ - \\ENQ\ENQ\a\STXi\SOH\DC2\EOT\244\ACK\STX\t\n\ + \\ENQ\ENQ\a\STXi\SOH\DC2\EOT\250\ACK\STX\t\n\ \\r\n\ - \\ENQ\ENQ\a\STXi\STX\DC2\EOT\244\ACK\f\SO\n\ + \\ENQ\ENQ\a\STXi\STX\DC2\EOT\250\ACK\f\SO\n\ \\f\n\ - \\EOT\ENQ\a\STXj\DC2\EOT\245\ACK\STX\v\n\ + \\EOT\ENQ\a\STXj\DC2\EOT\251\ACK\STX\v\n\ \\r\n\ - \\ENQ\ENQ\a\STXj\SOH\DC2\EOT\245\ACK\STX\ENQ\n\ + \\ENQ\ENQ\a\STXj\SOH\DC2\EOT\251\ACK\STX\ENQ\n\ \\r\n\ - \\ENQ\ENQ\a\STXj\STX\DC2\EOT\245\ACK\b\n\ + \\ENQ\ENQ\a\STXj\STX\DC2\EOT\251\ACK\b\n\ \\n\ \\f\n\ - \\EOT\ENQ\a\STXk\DC2\EOT\246\ACK\STX\v\n\ + \\EOT\ENQ\a\STXk\DC2\EOT\252\ACK\STX\v\n\ \\r\n\ - \\ENQ\ENQ\a\STXk\SOH\DC2\EOT\246\ACK\STX\ENQ\n\ + \\ENQ\ENQ\a\STXk\SOH\DC2\EOT\252\ACK\STX\ENQ\n\ \\r\n\ - \\ENQ\ENQ\a\STXk\STX\DC2\EOT\246\ACK\b\n\ + \\ENQ\ENQ\a\STXk\STX\DC2\EOT\252\ACK\b\n\ \\n\ \\f\n\ - \\EOT\ENQ\a\STXl\DC2\EOT\247\ACK\STX\f\n\ + \\EOT\ENQ\a\STXl\DC2\EOT\253\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\a\STXl\SOH\DC2\EOT\247\ACK\STX\ACK\n\ + \\ENQ\ENQ\a\STXl\SOH\DC2\EOT\253\ACK\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\a\STXl\STX\DC2\EOT\247\ACK\t\v\n\ + \\ENQ\ENQ\a\STXl\STX\DC2\EOT\253\ACK\t\v\n\ \\147\ETX\n\ - \\EOT\ENQ\a\STXm\DC2\EOT\248\ACK\STX\v\"\132\ETX NextLanguage = 111;\n\ + \\EOT\ENQ\a\STXm\DC2\EOT\254\ACK\STX\v\"\132\ETX NextLanguage = 111;\n\ \ Steps add a new language:\n\ \ 1. Copy-paste the \"NextLanguage = N\" line above\n\ \ 2. Increment \"NextLanguage = N\" to \"NextLanguage = N+1\"\n\ @@ -9486,7 +9503,7 @@ packedFileDescriptor \ 5. (optional) Add a brief comment behind the language if the name is not self-explanatory\n\ \\n\ \\r\n\ - \\ENQ\ENQ\a\STXm\SOH\DC2\EOT\248\ACK\STX\ENQ\n\ + \\ENQ\ENQ\a\STXm\SOH\DC2\EOT\254\ACK\STX\ENQ\n\ \\r\n\ - \\ENQ\ENQ\a\STXm\STX\DC2\EOT\248\ACK\b\n\ + \\ENQ\ENQ\a\STXm\STX\DC2\EOT\254\ACK\b\n\ \b\ACKproto3" \ No newline at end of file diff --git a/bindings/java/README.md b/bindings/java/README.md new file mode 100644 index 00000000..85c14851 --- /dev/null +++ b/bindings/java/README.md @@ -0,0 +1,78 @@ +# Java bindings for SCIP + +Generated Java bindings for the [Semantic Code Intelligence Protocol (SCIP)](https://github.com/scip-code/scip). + +## Coordinates + +```xml + + org.scip-code + scip-java + 0.7.1 + +``` + +The canonical `.proto` schema is also published as a classifier artifact: + +```sh +mvn dependency:get -Dartifact=org.scip-code:scip-java:0.7.1:proto:proto +``` + +## Quickstart + +```java +import org.scip_code.scip.Index; +import org.scip_code.scip.Document; +import org.scip_code.scip.Metadata; + +Index index = Index.newBuilder() + .setMetadata(Metadata.newBuilder().setProjectRoot("file:///workspace").build()) + .addDocuments(Document.newBuilder().setRelativePath("src/main.java").build()) + .build(); + +byte[] bytes = index.toByteArray(); +``` + +JSON serialization (via `protobuf-java-util`, declared as a transitive dependency): + +```java +import com.google.protobuf.util.JsonFormat; + +String json = JsonFormat.printer().print(index); +``` + +## Compatibility notes + +### Protobuf runtime + +The generated code is built against `protobuf-java` 4.32.1. At class load +time, generated code calls `validateProtobufGencodeVersion()` which enforces +**runtime version >= gencode version** within the same major version. + +| Your `protobuf-java` | Compatible? | +| -------------------- | ---------------------------------------------------------------------------------- | +| 4.32.1 (matched) | ✅ | +| 4.33.x (newer) | ✅ — Maven/Gradle dependency resolution will typically converge here automatically | +| 4.31.x (older) | ❌ — runtime crash with `ProtobufRuntimeVersionException` | +| 5.x.x or 3.x.x | ❌ — major version mismatch | + +If you depend on another library that pins an older `protobuf-java`, you must +upgrade it (or pin `protobuf-java` to >=4.32.1 in your own build). + +### JVM target + +The bindings target Java 11. They run on any JDK ≥ 11. + +## Building from source + +This binding is generated by `buf generate` from the project's [scip.proto](../../scip.proto). To regenerate after modifying the proto, run from the repository root: + +```sh +nix run .#proto-generate --impure +``` + +To build the artifact locally: + +```sh +mvn -B package +``` diff --git a/bindings/java/pom.xml b/bindings/java/pom.xml index 69715441..0f4677a4 100644 --- a/bindings/java/pom.xml +++ b/bindings/java/pom.xml @@ -33,7 +33,10 @@ 11 4.32.1 @@ -44,5 +47,49 @@ protobuf-java ${protobuf.version} + + + com.google.protobuf + protobuf-java-util + ${protobuf.version} + + + + + + + org.codehaus.mojo + build-helper-maven-plugin + 3.6.1 + + + attach-proto + package + + attach-artifact + + + + + ${project.basedir}/src/main/proto/scip.proto + proto + proto + + + + + + + + diff --git a/bindings/java/src/main/java/org/scip_code/scip/Descriptor.java b/bindings/java/src/main/java/org/scip_code/scip/Descriptor.java new file mode 100644 index 00000000..1d90b149 --- /dev/null +++ b/bindings/java/src/main/java/org/scip_code/scip/Descriptor.java @@ -0,0 +1,996 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: scip.proto +// Protobuf Java Version: 4.32.1 + +package org.scip_code.scip; + +/** + * Protobuf type {@code scip.Descriptor} + */ +@com.google.protobuf.Generated +public final class Descriptor extends + com.google.protobuf.GeneratedMessage implements + // @@protoc_insertion_point(message_implements:scip.Descriptor) + DescriptorOrBuilder { +private static final long serialVersionUID = 0L; + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 32, + /* patch= */ 1, + /* suffix= */ "", + Descriptor.class.getName()); + } + // Use Descriptor.newBuilder() to construct. + private Descriptor(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + private Descriptor() { + name_ = ""; + disambiguator_ = ""; + suffix_ = 0; + } + + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.scip_code.scip.ScipProto.internal_static_scip_Descriptor_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.scip_code.scip.ScipProto.internal_static_scip_Descriptor_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.scip_code.scip.Descriptor.class, org.scip_code.scip.Descriptor.Builder.class); + } + + /** + * Protobuf enum {@code scip.Descriptor.Suffix} + */ + public enum Suffix + implements com.google.protobuf.ProtocolMessageEnum { + /** + * UnspecifiedSuffix = 0; + */ + UnspecifiedSuffix(0, 0), + /** + *
+     * Unit of code abstraction and/or namespacing.
+     *
+     * NOTE: This corresponds to a package in Go and JVM languages.
+     * 
+ * + * Namespace = 1; + */ + Namespace(1, 1), + /** + * Type = 2; + */ + Type(3, 2), + /** + * Term = 3; + */ + Term(4, 3), + /** + * Method = 4; + */ + Method(5, 4), + /** + * TypeParameter = 5; + */ + TypeParameter(6, 5), + /** + * Parameter = 6; + */ + Parameter(7, 6), + /** + *
+     * Can be used for any purpose.
+     * 
+ * + * Meta = 7; + */ + Meta(8, 7), + /** + * Local = 8; + */ + Local(9, 8), + /** + * Macro = 9; + */ + Macro(10, 9), + UNRECOGNIZED(-1, -1), + ; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 32, + /* patch= */ 1, + /* suffix= */ "", + Suffix.class.getName()); + } + /** + *
+     * Use Namespace instead.
+     * 
+ * + * Package = 1 [deprecated = true]; + */ + public static final Suffix Package = Namespace; + /** + * UnspecifiedSuffix = 0; + */ + public static final int UnspecifiedSuffix_VALUE = 0; + /** + *
+     * Unit of code abstraction and/or namespacing.
+     *
+     * NOTE: This corresponds to a package in Go and JVM languages.
+     * 
+ * + * Namespace = 1; + */ + public static final int Namespace_VALUE = 1; + /** + *
+     * Use Namespace instead.
+     * 
+ * + * Package = 1 [deprecated = true]; + */ + @java.lang.Deprecated public static final int Package_VALUE = 1; + /** + * Type = 2; + */ + public static final int Type_VALUE = 2; + /** + * Term = 3; + */ + public static final int Term_VALUE = 3; + /** + * Method = 4; + */ + public static final int Method_VALUE = 4; + /** + * TypeParameter = 5; + */ + public static final int TypeParameter_VALUE = 5; + /** + * Parameter = 6; + */ + public static final int Parameter_VALUE = 6; + /** + *
+     * Can be used for any purpose.
+     * 
+ * + * Meta = 7; + */ + public static final int Meta_VALUE = 7; + /** + * Local = 8; + */ + public static final int Local_VALUE = 8; + /** + * Macro = 9; + */ + public static final int Macro_VALUE = 9; + + + public final int getNumber() { + if (index == -1) { + 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 Suffix 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 Suffix forNumber(int value) { + switch (value) { + case 0: return UnspecifiedSuffix; + case 1: return Namespace; + case 2: return Type; + case 3: return Term; + case 4: return Method; + case 5: return TypeParameter; + case 6: return Parameter; + case 7: return Meta; + case 8: return Local; + case 9: return Macro; + default: return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap + internalGetValueMap() { + return internalValueMap; + } + private static final com.google.protobuf.Internal.EnumLiteMap< + Suffix> internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap() { + public Suffix findValueByNumber(int number) { + return Suffix.forNumber(number); + } + }; + + public final com.google.protobuf.Descriptors.EnumValueDescriptor + getValueDescriptor() { + if (index == -1) { + throw new java.lang.IllegalStateException( + "Can't get the descriptor of an unrecognized enum value."); + } + return getDescriptor().getValues().get(index); + } + public final com.google.protobuf.Descriptors.EnumDescriptor + getDescriptorForType() { + return getDescriptor(); + } + public static com.google.protobuf.Descriptors.EnumDescriptor + getDescriptor() { + return org.scip_code.scip.Descriptor.getDescriptor().getEnumTypes().get(0); + } + + private static final Suffix[] VALUES = getStaticValuesArray(); + private static Suffix[] getStaticValuesArray() { + return new Suffix[] { + UnspecifiedSuffix, Namespace, Package, Type, Term, Method, TypeParameter, Parameter, Meta, Local, Macro, + }; + } + public static Suffix 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 index; + private final int value; + + private Suffix(int index, int value) { + this.index = index; + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:scip.Descriptor.Suffix) + } + + public static final int NAME_FIELD_NUMBER = 1; + @SuppressWarnings("serial") + private volatile java.lang.Object name_ = ""; + /** + * string name = 1 [json_name = "name"]; + * @return The name. + */ + @java.lang.Override + public java.lang.String getName() { + java.lang.Object ref = name_; + 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(); + name_ = s; + return s; + } + } + /** + * string name = 1 [json_name = "name"]; + * @return The bytes for name. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int DISAMBIGUATOR_FIELD_NUMBER = 2; + @SuppressWarnings("serial") + private volatile java.lang.Object disambiguator_ = ""; + /** + * string disambiguator = 2 [json_name = "disambiguator"]; + * @return The disambiguator. + */ + @java.lang.Override + public java.lang.String getDisambiguator() { + java.lang.Object ref = disambiguator_; + 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(); + disambiguator_ = s; + return s; + } + } + /** + * string disambiguator = 2 [json_name = "disambiguator"]; + * @return The bytes for disambiguator. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getDisambiguatorBytes() { + java.lang.Object ref = disambiguator_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + disambiguator_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int SUFFIX_FIELD_NUMBER = 3; + private int suffix_ = 0; + /** + *
+   * NOTE: If you add new fields here, make sure to update the prepareSlot()
+   * function responsible for parsing symbols.
+   * 
+ * + * .scip.Descriptor.Suffix suffix = 3 [json_name = "suffix"]; + * @return The enum numeric value on the wire for suffix. + */ + @java.lang.Override public int getSuffixValue() { + return suffix_; + } + /** + *
+   * NOTE: If you add new fields here, make sure to update the prepareSlot()
+   * function responsible for parsing symbols.
+   * 
+ * + * .scip.Descriptor.Suffix suffix = 3 [json_name = "suffix"]; + * @return The suffix. + */ + @java.lang.Override public org.scip_code.scip.Descriptor.Suffix getSuffix() { + org.scip_code.scip.Descriptor.Suffix result = org.scip_code.scip.Descriptor.Suffix.forNumber(suffix_); + return result == null ? org.scip_code.scip.Descriptor.Suffix.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 (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, name_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(disambiguator_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 2, disambiguator_); + } + if (suffix_ != org.scip_code.scip.Descriptor.Suffix.UnspecifiedSuffix.getNumber()) { + output.writeEnum(3, suffix_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, name_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(disambiguator_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(2, disambiguator_); + } + if (suffix_ != org.scip_code.scip.Descriptor.Suffix.UnspecifiedSuffix.getNumber()) { + size += com.google.protobuf.CodedOutputStream + .computeEnumSize(3, suffix_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof org.scip_code.scip.Descriptor)) { + return super.equals(obj); + } + org.scip_code.scip.Descriptor other = (org.scip_code.scip.Descriptor) obj; + + if (!getName() + .equals(other.getName())) return false; + if (!getDisambiguator() + .equals(other.getDisambiguator())) return false; + if (suffix_ != other.suffix_) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) 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) + NAME_FIELD_NUMBER; + hash = (53 * hash) + getName().hashCode(); + hash = (37 * hash) + DISAMBIGUATOR_FIELD_NUMBER; + hash = (53 * hash) + getDisambiguator().hashCode(); + hash = (37 * hash) + SUFFIX_FIELD_NUMBER; + hash = (53 * hash) + suffix_; + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static org.scip_code.scip.Descriptor parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.scip_code.scip.Descriptor parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.scip_code.scip.Descriptor parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.scip_code.scip.Descriptor parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.scip_code.scip.Descriptor parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.scip_code.scip.Descriptor parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.scip_code.scip.Descriptor parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static org.scip_code.scip.Descriptor parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public static org.scip_code.scip.Descriptor parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input); + } + + public static org.scip_code.scip.Descriptor parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static org.scip_code.scip.Descriptor parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static org.scip_code.scip.Descriptor parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(org.scip_code.scip.Descriptor 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code scip.Descriptor} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder implements + // @@protoc_insertion_point(builder_implements:scip.Descriptor) + org.scip_code.scip.DescriptorOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.scip_code.scip.ScipProto.internal_static_scip_Descriptor_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.scip_code.scip.ScipProto.internal_static_scip_Descriptor_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.scip_code.scip.Descriptor.class, org.scip_code.scip.Descriptor.Builder.class); + } + + // Construct using org.scip_code.scip.Descriptor.newBuilder() + private Builder() { + + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + + } + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + name_ = ""; + disambiguator_ = ""; + suffix_ = 0; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return org.scip_code.scip.ScipProto.internal_static_scip_Descriptor_descriptor; + } + + @java.lang.Override + public org.scip_code.scip.Descriptor getDefaultInstanceForType() { + return org.scip_code.scip.Descriptor.getDefaultInstance(); + } + + @java.lang.Override + public org.scip_code.scip.Descriptor build() { + org.scip_code.scip.Descriptor result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public org.scip_code.scip.Descriptor buildPartial() { + org.scip_code.scip.Descriptor result = new org.scip_code.scip.Descriptor(this); + if (bitField0_ != 0) { buildPartial0(result); } + onBuilt(); + return result; + } + + private void buildPartial0(org.scip_code.scip.Descriptor result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.name_ = name_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.disambiguator_ = disambiguator_; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.suffix_ = suffix_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof org.scip_code.scip.Descriptor) { + return mergeFrom((org.scip_code.scip.Descriptor)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(org.scip_code.scip.Descriptor other) { + if (other == org.scip_code.scip.Descriptor.getDefaultInstance()) return this; + if (!other.getName().isEmpty()) { + name_ = other.name_; + bitField0_ |= 0x00000001; + onChanged(); + } + if (!other.getDisambiguator().isEmpty()) { + disambiguator_ = other.disambiguator_; + bitField0_ |= 0x00000002; + onChanged(); + } + if (other.suffix_ != 0) { + setSuffixValue(other.getSuffixValue()); + } + this.mergeUnknownFields(other.getUnknownFields()); + 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 { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + name_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 18: { + disambiguator_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000002; + break; + } // case 18 + case 24: { + suffix_ = input.readEnum(); + bitField0_ |= 0x00000004; + break; + } // case 24 + default: { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + private int bitField0_; + + private java.lang.Object name_ = ""; + /** + * string name = 1 [json_name = "name"]; + * @return The name. + */ + public java.lang.String getName() { + java.lang.Object ref = name_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + name_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * string name = 1 [json_name = "name"]; + * @return The bytes for name. + */ + public com.google.protobuf.ByteString + getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * string name = 1 [json_name = "name"]; + * @param value The name to set. + * @return This builder for chaining. + */ + public Builder setName( + java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + name_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + /** + * string name = 1 [json_name = "name"]; + * @return This builder for chaining. + */ + public Builder clearName() { + name_ = getDefaultInstance().getName(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + /** + * string name = 1 [json_name = "name"]; + * @param value The bytes for name to set. + * @return This builder for chaining. + */ + public Builder setNameBytes( + com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + checkByteStringIsUtf8(value); + name_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private java.lang.Object disambiguator_ = ""; + /** + * string disambiguator = 2 [json_name = "disambiguator"]; + * @return The disambiguator. + */ + public java.lang.String getDisambiguator() { + java.lang.Object ref = disambiguator_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + disambiguator_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * string disambiguator = 2 [json_name = "disambiguator"]; + * @return The bytes for disambiguator. + */ + public com.google.protobuf.ByteString + getDisambiguatorBytes() { + java.lang.Object ref = disambiguator_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + disambiguator_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * string disambiguator = 2 [json_name = "disambiguator"]; + * @param value The disambiguator to set. + * @return This builder for chaining. + */ + public Builder setDisambiguator( + java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + disambiguator_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + /** + * string disambiguator = 2 [json_name = "disambiguator"]; + * @return This builder for chaining. + */ + public Builder clearDisambiguator() { + disambiguator_ = getDefaultInstance().getDisambiguator(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + /** + * string disambiguator = 2 [json_name = "disambiguator"]; + * @param value The bytes for disambiguator to set. + * @return This builder for chaining. + */ + public Builder setDisambiguatorBytes( + com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + checkByteStringIsUtf8(value); + disambiguator_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + private int suffix_ = 0; + /** + *
+     * NOTE: If you add new fields here, make sure to update the prepareSlot()
+     * function responsible for parsing symbols.
+     * 
+ * + * .scip.Descriptor.Suffix suffix = 3 [json_name = "suffix"]; + * @return The enum numeric value on the wire for suffix. + */ + @java.lang.Override public int getSuffixValue() { + return suffix_; + } + /** + *
+     * NOTE: If you add new fields here, make sure to update the prepareSlot()
+     * function responsible for parsing symbols.
+     * 
+ * + * .scip.Descriptor.Suffix suffix = 3 [json_name = "suffix"]; + * @param value The enum numeric value on the wire for suffix to set. + * @return This builder for chaining. + */ + public Builder setSuffixValue(int value) { + suffix_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + /** + *
+     * NOTE: If you add new fields here, make sure to update the prepareSlot()
+     * function responsible for parsing symbols.
+     * 
+ * + * .scip.Descriptor.Suffix suffix = 3 [json_name = "suffix"]; + * @return The suffix. + */ + @java.lang.Override + public org.scip_code.scip.Descriptor.Suffix getSuffix() { + org.scip_code.scip.Descriptor.Suffix result = org.scip_code.scip.Descriptor.Suffix.forNumber(suffix_); + return result == null ? org.scip_code.scip.Descriptor.Suffix.UNRECOGNIZED : result; + } + /** + *
+     * NOTE: If you add new fields here, make sure to update the prepareSlot()
+     * function responsible for parsing symbols.
+     * 
+ * + * .scip.Descriptor.Suffix suffix = 3 [json_name = "suffix"]; + * @param value The suffix to set. + * @return This builder for chaining. + */ + public Builder setSuffix(org.scip_code.scip.Descriptor.Suffix value) { + if (value == null) { throw new NullPointerException(); } + bitField0_ |= 0x00000004; + suffix_ = value.getNumber(); + onChanged(); + return this; + } + /** + *
+     * NOTE: If you add new fields here, make sure to update the prepareSlot()
+     * function responsible for parsing symbols.
+     * 
+ * + * .scip.Descriptor.Suffix suffix = 3 [json_name = "suffix"]; + * @return This builder for chaining. + */ + public Builder clearSuffix() { + bitField0_ = (bitField0_ & ~0x00000004); + suffix_ = 0; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:scip.Descriptor) + } + + // @@protoc_insertion_point(class_scope:scip.Descriptor) + private static final org.scip_code.scip.Descriptor DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new org.scip_code.scip.Descriptor(); + } + + public static org.scip_code.scip.Descriptor getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public Descriptor parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public org.scip_code.scip.Descriptor getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + +} + diff --git a/bindings/java/src/main/java/org/scip_code/scip/DescriptorOrBuilder.java b/bindings/java/src/main/java/org/scip_code/scip/DescriptorOrBuilder.java new file mode 100644 index 00000000..c4163c6e --- /dev/null +++ b/bindings/java/src/main/java/org/scip_code/scip/DescriptorOrBuilder.java @@ -0,0 +1,57 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: scip.proto +// Protobuf Java Version: 4.32.1 + +package org.scip_code.scip; + +@com.google.protobuf.Generated +public interface DescriptorOrBuilder extends + // @@protoc_insertion_point(interface_extends:scip.Descriptor) + com.google.protobuf.MessageOrBuilder { + + /** + * string name = 1 [json_name = "name"]; + * @return The name. + */ + java.lang.String getName(); + /** + * string name = 1 [json_name = "name"]; + * @return The bytes for name. + */ + com.google.protobuf.ByteString + getNameBytes(); + + /** + * string disambiguator = 2 [json_name = "disambiguator"]; + * @return The disambiguator. + */ + java.lang.String getDisambiguator(); + /** + * string disambiguator = 2 [json_name = "disambiguator"]; + * @return The bytes for disambiguator. + */ + com.google.protobuf.ByteString + getDisambiguatorBytes(); + + /** + *
+   * NOTE: If you add new fields here, make sure to update the prepareSlot()
+   * function responsible for parsing symbols.
+   * 
+ * + * .scip.Descriptor.Suffix suffix = 3 [json_name = "suffix"]; + * @return The enum numeric value on the wire for suffix. + */ + int getSuffixValue(); + /** + *
+   * NOTE: If you add new fields here, make sure to update the prepareSlot()
+   * function responsible for parsing symbols.
+   * 
+ * + * .scip.Descriptor.Suffix suffix = 3 [json_name = "suffix"]; + * @return The suffix. + */ + org.scip_code.scip.Descriptor.Suffix getSuffix(); +} diff --git a/bindings/java/src/main/java/org/scip_code/scip/Diagnostic.java b/bindings/java/src/main/java/org/scip_code/scip/Diagnostic.java new file mode 100644 index 00000000..da370203 --- /dev/null +++ b/bindings/java/src/main/java/org/scip_code/scip/Diagnostic.java @@ -0,0 +1,1248 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: scip.proto +// Protobuf Java Version: 4.32.1 + +package org.scip_code.scip; + +/** + *
+ * Represents a diagnostic, such as a compiler error or warning, which should be
+ * reported for a document.
+ * 
+ * + * Protobuf type {@code scip.Diagnostic} + */ +@com.google.protobuf.Generated +public final class Diagnostic extends + com.google.protobuf.GeneratedMessage implements + // @@protoc_insertion_point(message_implements:scip.Diagnostic) + DiagnosticOrBuilder { +private static final long serialVersionUID = 0L; + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 32, + /* patch= */ 1, + /* suffix= */ "", + Diagnostic.class.getName()); + } + // Use Diagnostic.newBuilder() to construct. + private Diagnostic(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + private Diagnostic() { + severity_ = 0; + code_ = ""; + message_ = ""; + source_ = ""; + tags_ = emptyIntList(); + } + + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.scip_code.scip.ScipProto.internal_static_scip_Diagnostic_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.scip_code.scip.ScipProto.internal_static_scip_Diagnostic_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.scip_code.scip.Diagnostic.class, org.scip_code.scip.Diagnostic.Builder.class); + } + + public static final int SEVERITY_FIELD_NUMBER = 1; + private int severity_ = 0; + /** + *
+   * Should this diagnostic be reported as an error, warning, info, or hint?
+   * 
+ * + * .scip.Severity severity = 1 [json_name = "severity"]; + * @return The enum numeric value on the wire for severity. + */ + @java.lang.Override public int getSeverityValue() { + return severity_; + } + /** + *
+   * Should this diagnostic be reported as an error, warning, info, or hint?
+   * 
+ * + * .scip.Severity severity = 1 [json_name = "severity"]; + * @return The severity. + */ + @java.lang.Override public org.scip_code.scip.Severity getSeverity() { + org.scip_code.scip.Severity result = org.scip_code.scip.Severity.forNumber(severity_); + return result == null ? org.scip_code.scip.Severity.UNRECOGNIZED : result; + } + + public static final int CODE_FIELD_NUMBER = 2; + @SuppressWarnings("serial") + private volatile java.lang.Object code_ = ""; + /** + *
+   * (optional) Code of this diagnostic, which might appear in the user interface.
+   * 
+ * + * string code = 2 [json_name = "code"]; + * @return The code. + */ + @java.lang.Override + public java.lang.String getCode() { + java.lang.Object ref = code_; + 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(); + code_ = s; + return s; + } + } + /** + *
+   * (optional) Code of this diagnostic, which might appear in the user interface.
+   * 
+ * + * string code = 2 [json_name = "code"]; + * @return The bytes for code. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getCodeBytes() { + java.lang.Object ref = code_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + code_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int MESSAGE_FIELD_NUMBER = 3; + @SuppressWarnings("serial") + private volatile java.lang.Object message_ = ""; + /** + *
+   * Message of this diagnostic.
+   * 
+ * + * string message = 3 [json_name = "message"]; + * @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; + } + } + /** + *
+   * Message of this diagnostic.
+   * 
+ * + * string message = 3 [json_name = "message"]; + * @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 SOURCE_FIELD_NUMBER = 4; + @SuppressWarnings("serial") + private volatile java.lang.Object source_ = ""; + /** + *
+   * (optional) Human-readable string describing the source of this diagnostic, e.g.
+   * 'typescript' or 'super lint'.
+   * 
+ * + * string source = 4 [json_name = "source"]; + * @return The source. + */ + @java.lang.Override + public java.lang.String getSource() { + java.lang.Object ref = source_; + 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(); + source_ = s; + return s; + } + } + /** + *
+   * (optional) Human-readable string describing the source of this diagnostic, e.g.
+   * 'typescript' or 'super lint'.
+   * 
+ * + * string source = 4 [json_name = "source"]; + * @return The bytes for source. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getSourceBytes() { + java.lang.Object ref = source_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + source_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int TAGS_FIELD_NUMBER = 5; + @SuppressWarnings("serial") + private com.google.protobuf.Internal.IntList tags_ = + emptyIntList(); + private static final com.google.protobuf.Internal.IntListAdapter.IntConverter< + org.scip_code.scip.DiagnosticTag> tags_converter_ = + new com.google.protobuf.Internal.IntListAdapter.IntConverter< + org.scip_code.scip.DiagnosticTag>() { + public org.scip_code.scip.DiagnosticTag convert(int from) { + org.scip_code.scip.DiagnosticTag result = org.scip_code.scip.DiagnosticTag.forNumber(from); + return result == null ? org.scip_code.scip.DiagnosticTag.UNRECOGNIZED : result; + } + }; + /** + * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; + * @return A list containing the tags. + */ + @java.lang.Override + public java.util.List getTagsList() { + return new com.google.protobuf.Internal.IntListAdapter< + org.scip_code.scip.DiagnosticTag>(tags_, tags_converter_); + } + /** + * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; + * @return The count of tags. + */ + @java.lang.Override + public int getTagsCount() { + return tags_.size(); + } + /** + * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; + * @param index The index of the element to return. + * @return The tags at the given index. + */ + @java.lang.Override + public org.scip_code.scip.DiagnosticTag getTags(int index) { + return tags_converter_.convert(tags_.getInt(index)); + } + /** + * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; + * @return A list containing the enum numeric values on the wire for tags. + */ + @java.lang.Override + public java.util.List + getTagsValueList() { + return tags_; + } + /** + * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; + * @param index The index of the value to return. + * @return The enum numeric value on the wire of tags at the given index. + */ + @java.lang.Override + public int getTagsValue(int index) { + return tags_.getInt(index); + } + private int tagsMemoizedSerializedSize; + + 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 { + getSerializedSize(); + if (severity_ != org.scip_code.scip.Severity.UnspecifiedSeverity.getNumber()) { + output.writeEnum(1, severity_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(code_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 2, code_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(message_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 3, message_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(source_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 4, source_); + } + if (getTagsList().size() > 0) { + output.writeUInt32NoTag(42); + output.writeUInt32NoTag(tagsMemoizedSerializedSize); + } + for (int i = 0; i < tags_.size(); i++) { + output.writeEnumNoTag(tags_.getInt(i)); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (severity_ != org.scip_code.scip.Severity.UnspecifiedSeverity.getNumber()) { + size += com.google.protobuf.CodedOutputStream + .computeEnumSize(1, severity_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(code_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(2, code_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(message_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(3, message_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(source_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(4, source_); + } + { + int dataSize = 0; + for (int i = 0; i < tags_.size(); i++) { + dataSize += com.google.protobuf.CodedOutputStream + .computeEnumSizeNoTag(tags_.getInt(i)); + } + size += dataSize; + if (!getTagsList().isEmpty()) { size += 1; + size += com.google.protobuf.CodedOutputStream + .computeUInt32SizeNoTag(dataSize); + }tagsMemoizedSerializedSize = dataSize; + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof org.scip_code.scip.Diagnostic)) { + return super.equals(obj); + } + org.scip_code.scip.Diagnostic other = (org.scip_code.scip.Diagnostic) obj; + + if (severity_ != other.severity_) return false; + if (!getCode() + .equals(other.getCode())) return false; + if (!getMessage() + .equals(other.getMessage())) return false; + if (!getSource() + .equals(other.getSource())) return false; + if (!tags_.equals(other.tags_)) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) 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) + SEVERITY_FIELD_NUMBER; + hash = (53 * hash) + severity_; + hash = (37 * hash) + CODE_FIELD_NUMBER; + hash = (53 * hash) + getCode().hashCode(); + hash = (37 * hash) + MESSAGE_FIELD_NUMBER; + hash = (53 * hash) + getMessage().hashCode(); + hash = (37 * hash) + SOURCE_FIELD_NUMBER; + hash = (53 * hash) + getSource().hashCode(); + if (getTagsCount() > 0) { + hash = (37 * hash) + TAGS_FIELD_NUMBER; + hash = (53 * hash) + tags_.hashCode(); + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static org.scip_code.scip.Diagnostic parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.scip_code.scip.Diagnostic parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.scip_code.scip.Diagnostic parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.scip_code.scip.Diagnostic parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.scip_code.scip.Diagnostic parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.scip_code.scip.Diagnostic parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.scip_code.scip.Diagnostic parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static org.scip_code.scip.Diagnostic parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public static org.scip_code.scip.Diagnostic parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input); + } + + public static org.scip_code.scip.Diagnostic parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static org.scip_code.scip.Diagnostic parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static org.scip_code.scip.Diagnostic parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(org.scip_code.scip.Diagnostic 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + *
+   * Represents a diagnostic, such as a compiler error or warning, which should be
+   * reported for a document.
+   * 
+ * + * Protobuf type {@code scip.Diagnostic} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder implements + // @@protoc_insertion_point(builder_implements:scip.Diagnostic) + org.scip_code.scip.DiagnosticOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.scip_code.scip.ScipProto.internal_static_scip_Diagnostic_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.scip_code.scip.ScipProto.internal_static_scip_Diagnostic_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.scip_code.scip.Diagnostic.class, org.scip_code.scip.Diagnostic.Builder.class); + } + + // Construct using org.scip_code.scip.Diagnostic.newBuilder() + private Builder() { + + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + + } + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + severity_ = 0; + code_ = ""; + message_ = ""; + source_ = ""; + tags_ = emptyIntList(); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return org.scip_code.scip.ScipProto.internal_static_scip_Diagnostic_descriptor; + } + + @java.lang.Override + public org.scip_code.scip.Diagnostic getDefaultInstanceForType() { + return org.scip_code.scip.Diagnostic.getDefaultInstance(); + } + + @java.lang.Override + public org.scip_code.scip.Diagnostic build() { + org.scip_code.scip.Diagnostic result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public org.scip_code.scip.Diagnostic buildPartial() { + org.scip_code.scip.Diagnostic result = new org.scip_code.scip.Diagnostic(this); + if (bitField0_ != 0) { buildPartial0(result); } + onBuilt(); + return result; + } + + private void buildPartial0(org.scip_code.scip.Diagnostic result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.severity_ = severity_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.code_ = code_; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.message_ = message_; + } + if (((from_bitField0_ & 0x00000008) != 0)) { + result.source_ = source_; + } + if (((from_bitField0_ & 0x00000010) != 0)) { + tags_.makeImmutable(); + result.tags_ = tags_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof org.scip_code.scip.Diagnostic) { + return mergeFrom((org.scip_code.scip.Diagnostic)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(org.scip_code.scip.Diagnostic other) { + if (other == org.scip_code.scip.Diagnostic.getDefaultInstance()) return this; + if (other.severity_ != 0) { + setSeverityValue(other.getSeverityValue()); + } + if (!other.getCode().isEmpty()) { + code_ = other.code_; + bitField0_ |= 0x00000002; + onChanged(); + } + if (!other.getMessage().isEmpty()) { + message_ = other.message_; + bitField0_ |= 0x00000004; + onChanged(); + } + if (!other.getSource().isEmpty()) { + source_ = other.source_; + bitField0_ |= 0x00000008; + onChanged(); + } + if (!other.tags_.isEmpty()) { + if (tags_.isEmpty()) { + tags_ = other.tags_; + tags_.makeImmutable(); + bitField0_ |= 0x00000010; + } else { + ensureTagsIsMutable(); + tags_.addAll(other.tags_); + } + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + 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 { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: { + severity_ = input.readEnum(); + bitField0_ |= 0x00000001; + break; + } // case 8 + case 18: { + code_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000002; + break; + } // case 18 + case 26: { + message_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000004; + break; + } // case 26 + case 34: { + source_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000008; + break; + } // case 34 + case 40: { + int tmpRaw = input.readEnum(); + ensureTagsIsMutable(); + tags_.addInt(tmpRaw); + break; + } // case 40 + case 42: { + int length = input.readRawVarint32(); + int limit = input.pushLimit(length); + ensureTagsIsMutable(); + while (input.getBytesUntilLimit() > 0) { + tags_.addInt(input.readEnum()); + } + input.popLimit(limit); + break; + } // case 42 + default: { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + private int bitField0_; + + private int severity_ = 0; + /** + *
+     * Should this diagnostic be reported as an error, warning, info, or hint?
+     * 
+ * + * .scip.Severity severity = 1 [json_name = "severity"]; + * @return The enum numeric value on the wire for severity. + */ + @java.lang.Override public int getSeverityValue() { + return severity_; + } + /** + *
+     * Should this diagnostic be reported as an error, warning, info, or hint?
+     * 
+ * + * .scip.Severity severity = 1 [json_name = "severity"]; + * @param value The enum numeric value on the wire for severity to set. + * @return This builder for chaining. + */ + public Builder setSeverityValue(int value) { + severity_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + /** + *
+     * Should this diagnostic be reported as an error, warning, info, or hint?
+     * 
+ * + * .scip.Severity severity = 1 [json_name = "severity"]; + * @return The severity. + */ + @java.lang.Override + public org.scip_code.scip.Severity getSeverity() { + org.scip_code.scip.Severity result = org.scip_code.scip.Severity.forNumber(severity_); + return result == null ? org.scip_code.scip.Severity.UNRECOGNIZED : result; + } + /** + *
+     * Should this diagnostic be reported as an error, warning, info, or hint?
+     * 
+ * + * .scip.Severity severity = 1 [json_name = "severity"]; + * @param value The severity to set. + * @return This builder for chaining. + */ + public Builder setSeverity(org.scip_code.scip.Severity value) { + if (value == null) { throw new NullPointerException(); } + bitField0_ |= 0x00000001; + severity_ = value.getNumber(); + onChanged(); + return this; + } + /** + *
+     * Should this diagnostic be reported as an error, warning, info, or hint?
+     * 
+ * + * .scip.Severity severity = 1 [json_name = "severity"]; + * @return This builder for chaining. + */ + public Builder clearSeverity() { + bitField0_ = (bitField0_ & ~0x00000001); + severity_ = 0; + onChanged(); + return this; + } + + private java.lang.Object code_ = ""; + /** + *
+     * (optional) Code of this diagnostic, which might appear in the user interface.
+     * 
+ * + * string code = 2 [json_name = "code"]; + * @return The code. + */ + public java.lang.String getCode() { + java.lang.Object ref = code_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + code_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + *
+     * (optional) Code of this diagnostic, which might appear in the user interface.
+     * 
+ * + * string code = 2 [json_name = "code"]; + * @return The bytes for code. + */ + public com.google.protobuf.ByteString + getCodeBytes() { + java.lang.Object ref = code_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + code_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + *
+     * (optional) Code of this diagnostic, which might appear in the user interface.
+     * 
+ * + * string code = 2 [json_name = "code"]; + * @param value The code to set. + * @return This builder for chaining. + */ + public Builder setCode( + java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + code_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + /** + *
+     * (optional) Code of this diagnostic, which might appear in the user interface.
+     * 
+ * + * string code = 2 [json_name = "code"]; + * @return This builder for chaining. + */ + public Builder clearCode() { + code_ = getDefaultInstance().getCode(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + /** + *
+     * (optional) Code of this diagnostic, which might appear in the user interface.
+     * 
+ * + * string code = 2 [json_name = "code"]; + * @param value The bytes for code to set. + * @return This builder for chaining. + */ + public Builder setCodeBytes( + com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + checkByteStringIsUtf8(value); + code_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + private java.lang.Object message_ = ""; + /** + *
+     * Message of this diagnostic.
+     * 
+ * + * string message = 3 [json_name = "message"]; + * @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; + } + } + /** + *
+     * Message of this diagnostic.
+     * 
+ * + * string message = 3 [json_name = "message"]; + * @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; + } + } + /** + *
+     * Message of this diagnostic.
+     * 
+ * + * string message = 3 [json_name = "message"]; + * @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; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + /** + *
+     * Message of this diagnostic.
+     * 
+ * + * string message = 3 [json_name = "message"]; + * @return This builder for chaining. + */ + public Builder clearMessage() { + message_ = getDefaultInstance().getMessage(); + bitField0_ = (bitField0_ & ~0x00000004); + onChanged(); + return this; + } + /** + *
+     * Message of this diagnostic.
+     * 
+ * + * string message = 3 [json_name = "message"]; + * @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; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + private java.lang.Object source_ = ""; + /** + *
+     * (optional) Human-readable string describing the source of this diagnostic, e.g.
+     * 'typescript' or 'super lint'.
+     * 
+ * + * string source = 4 [json_name = "source"]; + * @return The source. + */ + public java.lang.String getSource() { + java.lang.Object ref = source_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + source_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + *
+     * (optional) Human-readable string describing the source of this diagnostic, e.g.
+     * 'typescript' or 'super lint'.
+     * 
+ * + * string source = 4 [json_name = "source"]; + * @return The bytes for source. + */ + public com.google.protobuf.ByteString + getSourceBytes() { + java.lang.Object ref = source_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + source_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + *
+     * (optional) Human-readable string describing the source of this diagnostic, e.g.
+     * 'typescript' or 'super lint'.
+     * 
+ * + * string source = 4 [json_name = "source"]; + * @param value The source to set. + * @return This builder for chaining. + */ + public Builder setSource( + java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + source_ = value; + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + /** + *
+     * (optional) Human-readable string describing the source of this diagnostic, e.g.
+     * 'typescript' or 'super lint'.
+     * 
+ * + * string source = 4 [json_name = "source"]; + * @return This builder for chaining. + */ + public Builder clearSource() { + source_ = getDefaultInstance().getSource(); + bitField0_ = (bitField0_ & ~0x00000008); + onChanged(); + return this; + } + /** + *
+     * (optional) Human-readable string describing the source of this diagnostic, e.g.
+     * 'typescript' or 'super lint'.
+     * 
+ * + * string source = 4 [json_name = "source"]; + * @param value The bytes for source to set. + * @return This builder for chaining. + */ + public Builder setSourceBytes( + com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + checkByteStringIsUtf8(value); + source_ = value; + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + + private com.google.protobuf.Internal.IntList tags_ = emptyIntList(); + private void ensureTagsIsMutable() { + if (!tags_.isModifiable()) { + tags_ = makeMutableCopy(tags_); + } + bitField0_ |= 0x00000010; + } + /** + * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; + * @return A list containing the tags. + */ + public java.util.List getTagsList() { + return new com.google.protobuf.Internal.IntListAdapter< + org.scip_code.scip.DiagnosticTag>(tags_, tags_converter_); + } + /** + * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; + * @return The count of tags. + */ + public int getTagsCount() { + return tags_.size(); + } + /** + * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; + * @param index The index of the element to return. + * @return The tags at the given index. + */ + public org.scip_code.scip.DiagnosticTag getTags(int index) { + return tags_converter_.convert(tags_.getInt(index)); + } + /** + * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; + * @param index The index to set the value at. + * @param value The tags to set. + * @return This builder for chaining. + */ + public Builder setTags( + int index, org.scip_code.scip.DiagnosticTag value) { + if (value == null) { throw new NullPointerException(); } + ensureTagsIsMutable(); + tags_.setInt(index, value.getNumber()); + onChanged(); + return this; + } + /** + * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; + * @param value The tags to add. + * @return This builder for chaining. + */ + public Builder addTags(org.scip_code.scip.DiagnosticTag value) { + if (value == null) { throw new NullPointerException(); } + ensureTagsIsMutable(); + tags_.addInt(value.getNumber()); + onChanged(); + return this; + } + /** + * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; + * @param values The tags to add. + * @return This builder for chaining. + */ + public Builder addAllTags( + java.lang.Iterable values) { + ensureTagsIsMutable(); + for (org.scip_code.scip.DiagnosticTag value : values) { + tags_.addInt(value.getNumber()); + } + onChanged(); + return this; + } + /** + * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; + * @return This builder for chaining. + */ + public Builder clearTags() { + tags_ = emptyIntList(); + bitField0_ = (bitField0_ & ~0x00000010); + onChanged(); + return this; + } + /** + * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; + * @return A list containing the enum numeric values on the wire for tags. + */ + public java.util.List + getTagsValueList() { + tags_.makeImmutable(); + return tags_; + } + /** + * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; + * @param index The index of the value to return. + * @return The enum numeric value on the wire of tags at the given index. + */ + public int getTagsValue(int index) { + return tags_.getInt(index); + } + /** + * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; + * @param index The index to set the value at. + * @param value The enum numeric value on the wire for tags to set. + * @return This builder for chaining. + */ + public Builder setTagsValue( + int index, int value) { + ensureTagsIsMutable(); + tags_.setInt(index, value); + onChanged(); + return this; + } + /** + * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; + * @param value The enum numeric value on the wire for tags to add. + * @return This builder for chaining. + */ + public Builder addTagsValue(int value) { + ensureTagsIsMutable(); + tags_.addInt(value); + onChanged(); + return this; + } + /** + * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; + * @param values The enum numeric values on the wire for tags to add. + * @return This builder for chaining. + */ + public Builder addAllTagsValue( + java.lang.Iterable values) { + ensureTagsIsMutable(); + for (int value : values) { + tags_.addInt(value); + } + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:scip.Diagnostic) + } + + // @@protoc_insertion_point(class_scope:scip.Diagnostic) + private static final org.scip_code.scip.Diagnostic DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new org.scip_code.scip.Diagnostic(); + } + + public static org.scip_code.scip.Diagnostic getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public Diagnostic parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public org.scip_code.scip.Diagnostic getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + +} + diff --git a/bindings/java/src/main/java/org/scip_code/scip/DiagnosticOrBuilder.java b/bindings/java/src/main/java/org/scip_code/scip/DiagnosticOrBuilder.java new file mode 100644 index 00000000..1980b5dc --- /dev/null +++ b/bindings/java/src/main/java/org/scip_code/scip/DiagnosticOrBuilder.java @@ -0,0 +1,122 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: scip.proto +// Protobuf Java Version: 4.32.1 + +package org.scip_code.scip; + +@com.google.protobuf.Generated +public interface DiagnosticOrBuilder extends + // @@protoc_insertion_point(interface_extends:scip.Diagnostic) + com.google.protobuf.MessageOrBuilder { + + /** + *
+   * Should this diagnostic be reported as an error, warning, info, or hint?
+   * 
+ * + * .scip.Severity severity = 1 [json_name = "severity"]; + * @return The enum numeric value on the wire for severity. + */ + int getSeverityValue(); + /** + *
+   * Should this diagnostic be reported as an error, warning, info, or hint?
+   * 
+ * + * .scip.Severity severity = 1 [json_name = "severity"]; + * @return The severity. + */ + org.scip_code.scip.Severity getSeverity(); + + /** + *
+   * (optional) Code of this diagnostic, which might appear in the user interface.
+   * 
+ * + * string code = 2 [json_name = "code"]; + * @return The code. + */ + java.lang.String getCode(); + /** + *
+   * (optional) Code of this diagnostic, which might appear in the user interface.
+   * 
+ * + * string code = 2 [json_name = "code"]; + * @return The bytes for code. + */ + com.google.protobuf.ByteString + getCodeBytes(); + + /** + *
+   * Message of this diagnostic.
+   * 
+ * + * string message = 3 [json_name = "message"]; + * @return The message. + */ + java.lang.String getMessage(); + /** + *
+   * Message of this diagnostic.
+   * 
+ * + * string message = 3 [json_name = "message"]; + * @return The bytes for message. + */ + com.google.protobuf.ByteString + getMessageBytes(); + + /** + *
+   * (optional) Human-readable string describing the source of this diagnostic, e.g.
+   * 'typescript' or 'super lint'.
+   * 
+ * + * string source = 4 [json_name = "source"]; + * @return The source. + */ + java.lang.String getSource(); + /** + *
+   * (optional) Human-readable string describing the source of this diagnostic, e.g.
+   * 'typescript' or 'super lint'.
+   * 
+ * + * string source = 4 [json_name = "source"]; + * @return The bytes for source. + */ + com.google.protobuf.ByteString + getSourceBytes(); + + /** + * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; + * @return A list containing the tags. + */ + java.util.List getTagsList(); + /** + * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; + * @return The count of tags. + */ + int getTagsCount(); + /** + * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; + * @param index The index of the element to return. + * @return The tags at the given index. + */ + org.scip_code.scip.DiagnosticTag getTags(int index); + /** + * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; + * @return A list containing the enum numeric values on the wire for tags. + */ + java.util.List + getTagsValueList(); + /** + * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; + * @param index The index of the value to return. + * @return The enum numeric value on the wire of tags at the given index. + */ + int getTagsValue(int index); +} diff --git a/bindings/java/src/main/java/org/scip_code/scip/DiagnosticTag.java b/bindings/java/src/main/java/org/scip_code/scip/DiagnosticTag.java new file mode 100644 index 00000000..7b1d15ac --- /dev/null +++ b/bindings/java/src/main/java/org/scip_code/scip/DiagnosticTag.java @@ -0,0 +1,134 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: scip.proto +// Protobuf Java Version: 4.32.1 + +package org.scip_code.scip; + +/** + * Protobuf enum {@code scip.DiagnosticTag} + */ +@com.google.protobuf.Generated +public enum DiagnosticTag + implements com.google.protobuf.ProtocolMessageEnum { + /** + * UnspecifiedDiagnosticTag = 0; + */ + UnspecifiedDiagnosticTag(0), + /** + * Unnecessary = 1; + */ + Unnecessary(1), + /** + * Deprecated = 2; + */ + Deprecated(2), + UNRECOGNIZED(-1), + ; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 32, + /* patch= */ 1, + /* suffix= */ "", + DiagnosticTag.class.getName()); + } + /** + * UnspecifiedDiagnosticTag = 0; + */ + public static final int UnspecifiedDiagnosticTag_VALUE = 0; + /** + * Unnecessary = 1; + */ + public static final int Unnecessary_VALUE = 1; + /** + * Deprecated = 2; + */ + public static final int Deprecated_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 DiagnosticTag 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 DiagnosticTag forNumber(int value) { + switch (value) { + case 0: return UnspecifiedDiagnosticTag; + case 1: return Unnecessary; + case 2: return Deprecated; + default: return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap + internalGetValueMap() { + return internalValueMap; + } + private static final com.google.protobuf.Internal.EnumLiteMap< + DiagnosticTag> internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap() { + public DiagnosticTag findValueByNumber(int number) { + return DiagnosticTag.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 com.google.protobuf.Descriptors.EnumDescriptor + getDescriptor() { + return org.scip_code.scip.ScipProto.getDescriptor().getEnumTypes().get(6); + } + + private static final DiagnosticTag[] VALUES = values(); + + public static DiagnosticTag 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 DiagnosticTag(int value) { + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:scip.DiagnosticTag) +} + diff --git a/bindings/java/src/main/java/org/scip_code/scip/Document.java b/bindings/java/src/main/java/org/scip_code/scip/Document.java new file mode 100644 index 00000000..750f0380 --- /dev/null +++ b/bindings/java/src/main/java/org/scip_code/scip/Document.java @@ -0,0 +1,2134 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: scip.proto +// Protobuf Java Version: 4.32.1 + +package org.scip_code.scip; + +/** + *
+ * Document defines the metadata about a source file on disk.
+ * 
+ * + * Protobuf type {@code scip.Document} + */ +@com.google.protobuf.Generated +public final class Document extends + com.google.protobuf.GeneratedMessage implements + // @@protoc_insertion_point(message_implements:scip.Document) + DocumentOrBuilder { +private static final long serialVersionUID = 0L; + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 32, + /* patch= */ 1, + /* suffix= */ "", + Document.class.getName()); + } + // Use Document.newBuilder() to construct. + private Document(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + private Document() { + language_ = ""; + relativePath_ = ""; + occurrences_ = java.util.Collections.emptyList(); + symbols_ = java.util.Collections.emptyList(); + text_ = ""; + positionEncoding_ = 0; + } + + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.scip_code.scip.ScipProto.internal_static_scip_Document_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.scip_code.scip.ScipProto.internal_static_scip_Document_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.scip_code.scip.Document.class, org.scip_code.scip.Document.Builder.class); + } + + public static final int LANGUAGE_FIELD_NUMBER = 4; + @SuppressWarnings("serial") + private volatile java.lang.Object language_ = ""; + /** + *
+   * The string ID for the programming language this file is written in.
+   * The `Language` enum contains the names of most common programming languages.
+   * This field is typed as a string to permit any programming language, including
+   * ones that are not specified by the `Language` enum.
+   * 
+ * + * string language = 4 [json_name = "language"]; + * @return The language. + */ + @java.lang.Override + public java.lang.String getLanguage() { + java.lang.Object ref = language_; + 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(); + language_ = s; + return s; + } + } + /** + *
+   * The string ID for the programming language this file is written in.
+   * The `Language` enum contains the names of most common programming languages.
+   * This field is typed as a string to permit any programming language, including
+   * ones that are not specified by the `Language` enum.
+   * 
+ * + * string language = 4 [json_name = "language"]; + * @return The bytes for language. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getLanguageBytes() { + java.lang.Object ref = language_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + language_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int RELATIVE_PATH_FIELD_NUMBER = 1; + @SuppressWarnings("serial") + private volatile java.lang.Object relativePath_ = ""; + /** + *
+   * (Required) Unique path to the text document.
+   *
+   * 1. The path must be relative to the directory supplied in the associated
+   * `Metadata.project_root`.
+   * 2. The path must not begin with a leading '/'.
+   * 3. The path must point to a regular file, not a symbolic link.
+   * 4. The path must use '/' as the separator, including on Windows.
+   * 5. The path must be canonical; it cannot include empty components ('//'),
+   * or '.' or '..'.
+   * 
+ * + * string relative_path = 1 [json_name = "relativePath"]; + * @return The relativePath. + */ + @java.lang.Override + public java.lang.String getRelativePath() { + java.lang.Object ref = relativePath_; + 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(); + relativePath_ = s; + return s; + } + } + /** + *
+   * (Required) Unique path to the text document.
+   *
+   * 1. The path must be relative to the directory supplied in the associated
+   * `Metadata.project_root`.
+   * 2. The path must not begin with a leading '/'.
+   * 3. The path must point to a regular file, not a symbolic link.
+   * 4. The path must use '/' as the separator, including on Windows.
+   * 5. The path must be canonical; it cannot include empty components ('//'),
+   * or '.' or '..'.
+   * 
+ * + * string relative_path = 1 [json_name = "relativePath"]; + * @return The bytes for relativePath. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getRelativePathBytes() { + java.lang.Object ref = relativePath_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + relativePath_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int OCCURRENCES_FIELD_NUMBER = 2; + @SuppressWarnings("serial") + private java.util.List occurrences_; + /** + *
+   * Occurrences that appear in this file.
+   * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + @java.lang.Override + public java.util.List getOccurrencesList() { + return occurrences_; + } + /** + *
+   * Occurrences that appear in this file.
+   * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + @java.lang.Override + public java.util.List + getOccurrencesOrBuilderList() { + return occurrences_; + } + /** + *
+   * Occurrences that appear in this file.
+   * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + @java.lang.Override + public int getOccurrencesCount() { + return occurrences_.size(); + } + /** + *
+   * Occurrences that appear in this file.
+   * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + @java.lang.Override + public org.scip_code.scip.Occurrence getOccurrences(int index) { + return occurrences_.get(index); + } + /** + *
+   * Occurrences that appear in this file.
+   * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + @java.lang.Override + public org.scip_code.scip.OccurrenceOrBuilder getOccurrencesOrBuilder( + int index) { + return occurrences_.get(index); + } + + public static final int SYMBOLS_FIELD_NUMBER = 3; + @SuppressWarnings("serial") + private java.util.List symbols_; + /** + *
+   * Symbols that are "defined" within this document.
+   *
+   * This should include symbols which technically do not have any definition,
+   * but have a reference and are defined by some other symbol (see
+   * Relationship.is_definition).
+   * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + @java.lang.Override + public java.util.List getSymbolsList() { + return symbols_; + } + /** + *
+   * Symbols that are "defined" within this document.
+   *
+   * This should include symbols which technically do not have any definition,
+   * but have a reference and are defined by some other symbol (see
+   * Relationship.is_definition).
+   * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + @java.lang.Override + public java.util.List + getSymbolsOrBuilderList() { + return symbols_; + } + /** + *
+   * Symbols that are "defined" within this document.
+   *
+   * This should include symbols which technically do not have any definition,
+   * but have a reference and are defined by some other symbol (see
+   * Relationship.is_definition).
+   * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + @java.lang.Override + public int getSymbolsCount() { + return symbols_.size(); + } + /** + *
+   * Symbols that are "defined" within this document.
+   *
+   * This should include symbols which technically do not have any definition,
+   * but have a reference and are defined by some other symbol (see
+   * Relationship.is_definition).
+   * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + @java.lang.Override + public org.scip_code.scip.SymbolInformation getSymbols(int index) { + return symbols_.get(index); + } + /** + *
+   * Symbols that are "defined" within this document.
+   *
+   * This should include symbols which technically do not have any definition,
+   * but have a reference and are defined by some other symbol (see
+   * Relationship.is_definition).
+   * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + @java.lang.Override + public org.scip_code.scip.SymbolInformationOrBuilder getSymbolsOrBuilder( + int index) { + return symbols_.get(index); + } + + public static final int TEXT_FIELD_NUMBER = 5; + @SuppressWarnings("serial") + private volatile java.lang.Object text_ = ""; + /** + *
+   * (optional) Text contents of this document. Indexers are not expected to
+   * include the text by default. It's preferable that clients read the text
+   * contents from the file system by resolving the absolute path from joining
+   * `Index.metadata.project_root` and `Document.relative_path`. This field
+   * can be useful for testing or when working with virtual/in-memory documents.
+   * 
+ * + * string text = 5 [json_name = "text"]; + * @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; + } + } + /** + *
+   * (optional) Text contents of this document. Indexers are not expected to
+   * include the text by default. It's preferable that clients read the text
+   * contents from the file system by resolving the absolute path from joining
+   * `Index.metadata.project_root` and `Document.relative_path`. This field
+   * can be useful for testing or when working with virtual/in-memory documents.
+   * 
+ * + * string text = 5 [json_name = "text"]; + * @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 POSITION_ENCODING_FIELD_NUMBER = 6; + private int positionEncoding_ = 0; + /** + *
+   * Specifies the encoding used for source ranges in this Document.
+   *
+   * Usually, this will match the type used to index the string type
+   * in the indexer's implementation language in O(1) time.
+   * - For an indexer implemented in JVM/.NET language or JavaScript/TypeScript,
+   * use UTF16CodeUnitOffsetFromLineStart.
+   * - For an indexer implemented in Python,
+   * use UTF32CodeUnitOffsetFromLineStart.
+   * - For an indexer implemented in Go, Rust or C++,
+   * use UTF8ByteOffsetFromLineStart.
+   * 
+ * + * .scip.PositionEncoding position_encoding = 6 [json_name = "positionEncoding"]; + * @return The enum numeric value on the wire for positionEncoding. + */ + @java.lang.Override public int getPositionEncodingValue() { + return positionEncoding_; + } + /** + *
+   * Specifies the encoding used for source ranges in this Document.
+   *
+   * Usually, this will match the type used to index the string type
+   * in the indexer's implementation language in O(1) time.
+   * - For an indexer implemented in JVM/.NET language or JavaScript/TypeScript,
+   * use UTF16CodeUnitOffsetFromLineStart.
+   * - For an indexer implemented in Python,
+   * use UTF32CodeUnitOffsetFromLineStart.
+   * - For an indexer implemented in Go, Rust or C++,
+   * use UTF8ByteOffsetFromLineStart.
+   * 
+ * + * .scip.PositionEncoding position_encoding = 6 [json_name = "positionEncoding"]; + * @return The positionEncoding. + */ + @java.lang.Override public org.scip_code.scip.PositionEncoding getPositionEncoding() { + org.scip_code.scip.PositionEncoding result = org.scip_code.scip.PositionEncoding.forNumber(positionEncoding_); + return result == null ? org.scip_code.scip.PositionEncoding.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 (!com.google.protobuf.GeneratedMessage.isStringEmpty(relativePath_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, relativePath_); + } + for (int i = 0; i < occurrences_.size(); i++) { + output.writeMessage(2, occurrences_.get(i)); + } + for (int i = 0; i < symbols_.size(); i++) { + output.writeMessage(3, symbols_.get(i)); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(language_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 4, language_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(text_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 5, text_); + } + if (positionEncoding_ != org.scip_code.scip.PositionEncoding.UnspecifiedPositionEncoding.getNumber()) { + output.writeEnum(6, positionEncoding_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(relativePath_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, relativePath_); + } + for (int i = 0; i < occurrences_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(2, occurrences_.get(i)); + } + for (int i = 0; i < symbols_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(3, symbols_.get(i)); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(language_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(4, language_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(text_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(5, text_); + } + if (positionEncoding_ != org.scip_code.scip.PositionEncoding.UnspecifiedPositionEncoding.getNumber()) { + size += com.google.protobuf.CodedOutputStream + .computeEnumSize(6, positionEncoding_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof org.scip_code.scip.Document)) { + return super.equals(obj); + } + org.scip_code.scip.Document other = (org.scip_code.scip.Document) obj; + + if (!getLanguage() + .equals(other.getLanguage())) return false; + if (!getRelativePath() + .equals(other.getRelativePath())) return false; + if (!getOccurrencesList() + .equals(other.getOccurrencesList())) return false; + if (!getSymbolsList() + .equals(other.getSymbolsList())) return false; + if (!getText() + .equals(other.getText())) return false; + if (positionEncoding_ != other.positionEncoding_) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) 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) + LANGUAGE_FIELD_NUMBER; + hash = (53 * hash) + getLanguage().hashCode(); + hash = (37 * hash) + RELATIVE_PATH_FIELD_NUMBER; + hash = (53 * hash) + getRelativePath().hashCode(); + if (getOccurrencesCount() > 0) { + hash = (37 * hash) + OCCURRENCES_FIELD_NUMBER; + hash = (53 * hash) + getOccurrencesList().hashCode(); + } + if (getSymbolsCount() > 0) { + hash = (37 * hash) + SYMBOLS_FIELD_NUMBER; + hash = (53 * hash) + getSymbolsList().hashCode(); + } + hash = (37 * hash) + TEXT_FIELD_NUMBER; + hash = (53 * hash) + getText().hashCode(); + hash = (37 * hash) + POSITION_ENCODING_FIELD_NUMBER; + hash = (53 * hash) + positionEncoding_; + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static org.scip_code.scip.Document parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.scip_code.scip.Document parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.scip_code.scip.Document parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.scip_code.scip.Document parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.scip_code.scip.Document parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.scip_code.scip.Document parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.scip_code.scip.Document parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static org.scip_code.scip.Document parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public static org.scip_code.scip.Document parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input); + } + + public static org.scip_code.scip.Document parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static org.scip_code.scip.Document parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static org.scip_code.scip.Document parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(org.scip_code.scip.Document 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + *
+   * Document defines the metadata about a source file on disk.
+   * 
+ * + * Protobuf type {@code scip.Document} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder implements + // @@protoc_insertion_point(builder_implements:scip.Document) + org.scip_code.scip.DocumentOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.scip_code.scip.ScipProto.internal_static_scip_Document_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.scip_code.scip.ScipProto.internal_static_scip_Document_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.scip_code.scip.Document.class, org.scip_code.scip.Document.Builder.class); + } + + // Construct using org.scip_code.scip.Document.newBuilder() + private Builder() { + + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + + } + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + language_ = ""; + relativePath_ = ""; + if (occurrencesBuilder_ == null) { + occurrences_ = java.util.Collections.emptyList(); + } else { + occurrences_ = null; + occurrencesBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000004); + if (symbolsBuilder_ == null) { + symbols_ = java.util.Collections.emptyList(); + } else { + symbols_ = null; + symbolsBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000008); + text_ = ""; + positionEncoding_ = 0; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return org.scip_code.scip.ScipProto.internal_static_scip_Document_descriptor; + } + + @java.lang.Override + public org.scip_code.scip.Document getDefaultInstanceForType() { + return org.scip_code.scip.Document.getDefaultInstance(); + } + + @java.lang.Override + public org.scip_code.scip.Document build() { + org.scip_code.scip.Document result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public org.scip_code.scip.Document buildPartial() { + org.scip_code.scip.Document result = new org.scip_code.scip.Document(this); + buildPartialRepeatedFields(result); + if (bitField0_ != 0) { buildPartial0(result); } + onBuilt(); + return result; + } + + private void buildPartialRepeatedFields(org.scip_code.scip.Document result) { + if (occurrencesBuilder_ == null) { + if (((bitField0_ & 0x00000004) != 0)) { + occurrences_ = java.util.Collections.unmodifiableList(occurrences_); + bitField0_ = (bitField0_ & ~0x00000004); + } + result.occurrences_ = occurrences_; + } else { + result.occurrences_ = occurrencesBuilder_.build(); + } + if (symbolsBuilder_ == null) { + if (((bitField0_ & 0x00000008) != 0)) { + symbols_ = java.util.Collections.unmodifiableList(symbols_); + bitField0_ = (bitField0_ & ~0x00000008); + } + result.symbols_ = symbols_; + } else { + result.symbols_ = symbolsBuilder_.build(); + } + } + + private void buildPartial0(org.scip_code.scip.Document result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.language_ = language_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.relativePath_ = relativePath_; + } + if (((from_bitField0_ & 0x00000010) != 0)) { + result.text_ = text_; + } + if (((from_bitField0_ & 0x00000020) != 0)) { + result.positionEncoding_ = positionEncoding_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof org.scip_code.scip.Document) { + return mergeFrom((org.scip_code.scip.Document)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(org.scip_code.scip.Document other) { + if (other == org.scip_code.scip.Document.getDefaultInstance()) return this; + if (!other.getLanguage().isEmpty()) { + language_ = other.language_; + bitField0_ |= 0x00000001; + onChanged(); + } + if (!other.getRelativePath().isEmpty()) { + relativePath_ = other.relativePath_; + bitField0_ |= 0x00000002; + onChanged(); + } + if (occurrencesBuilder_ == null) { + if (!other.occurrences_.isEmpty()) { + if (occurrences_.isEmpty()) { + occurrences_ = other.occurrences_; + bitField0_ = (bitField0_ & ~0x00000004); + } else { + ensureOccurrencesIsMutable(); + occurrences_.addAll(other.occurrences_); + } + onChanged(); + } + } else { + if (!other.occurrences_.isEmpty()) { + if (occurrencesBuilder_.isEmpty()) { + occurrencesBuilder_.dispose(); + occurrencesBuilder_ = null; + occurrences_ = other.occurrences_; + bitField0_ = (bitField0_ & ~0x00000004); + occurrencesBuilder_ = + com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ? + internalGetOccurrencesFieldBuilder() : null; + } else { + occurrencesBuilder_.addAllMessages(other.occurrences_); + } + } + } + if (symbolsBuilder_ == null) { + if (!other.symbols_.isEmpty()) { + if (symbols_.isEmpty()) { + symbols_ = other.symbols_; + bitField0_ = (bitField0_ & ~0x00000008); + } else { + ensureSymbolsIsMutable(); + symbols_.addAll(other.symbols_); + } + onChanged(); + } + } else { + if (!other.symbols_.isEmpty()) { + if (symbolsBuilder_.isEmpty()) { + symbolsBuilder_.dispose(); + symbolsBuilder_ = null; + symbols_ = other.symbols_; + bitField0_ = (bitField0_ & ~0x00000008); + symbolsBuilder_ = + com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ? + internalGetSymbolsFieldBuilder() : null; + } else { + symbolsBuilder_.addAllMessages(other.symbols_); + } + } + } + if (!other.getText().isEmpty()) { + text_ = other.text_; + bitField0_ |= 0x00000010; + onChanged(); + } + if (other.positionEncoding_ != 0) { + setPositionEncodingValue(other.getPositionEncodingValue()); + } + this.mergeUnknownFields(other.getUnknownFields()); + 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 { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + relativePath_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000002; + break; + } // case 10 + case 18: { + org.scip_code.scip.Occurrence m = + input.readMessage( + org.scip_code.scip.Occurrence.parser(), + extensionRegistry); + if (occurrencesBuilder_ == null) { + ensureOccurrencesIsMutable(); + occurrences_.add(m); + } else { + occurrencesBuilder_.addMessage(m); + } + break; + } // case 18 + case 26: { + org.scip_code.scip.SymbolInformation m = + input.readMessage( + org.scip_code.scip.SymbolInformation.parser(), + extensionRegistry); + if (symbolsBuilder_ == null) { + ensureSymbolsIsMutable(); + symbols_.add(m); + } else { + symbolsBuilder_.addMessage(m); + } + break; + } // case 26 + case 34: { + language_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 34 + case 42: { + text_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000010; + break; + } // case 42 + case 48: { + positionEncoding_ = input.readEnum(); + bitField0_ |= 0x00000020; + break; + } // case 48 + default: { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + private int bitField0_; + + private java.lang.Object language_ = ""; + /** + *
+     * The string ID for the programming language this file is written in.
+     * The `Language` enum contains the names of most common programming languages.
+     * This field is typed as a string to permit any programming language, including
+     * ones that are not specified by the `Language` enum.
+     * 
+ * + * string language = 4 [json_name = "language"]; + * @return The language. + */ + public java.lang.String getLanguage() { + java.lang.Object ref = language_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + language_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + *
+     * The string ID for the programming language this file is written in.
+     * The `Language` enum contains the names of most common programming languages.
+     * This field is typed as a string to permit any programming language, including
+     * ones that are not specified by the `Language` enum.
+     * 
+ * + * string language = 4 [json_name = "language"]; + * @return The bytes for language. + */ + public com.google.protobuf.ByteString + getLanguageBytes() { + java.lang.Object ref = language_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + language_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + *
+     * The string ID for the programming language this file is written in.
+     * The `Language` enum contains the names of most common programming languages.
+     * This field is typed as a string to permit any programming language, including
+     * ones that are not specified by the `Language` enum.
+     * 
+ * + * string language = 4 [json_name = "language"]; + * @param value The language to set. + * @return This builder for chaining. + */ + public Builder setLanguage( + java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + language_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + /** + *
+     * The string ID for the programming language this file is written in.
+     * The `Language` enum contains the names of most common programming languages.
+     * This field is typed as a string to permit any programming language, including
+     * ones that are not specified by the `Language` enum.
+     * 
+ * + * string language = 4 [json_name = "language"]; + * @return This builder for chaining. + */ + public Builder clearLanguage() { + language_ = getDefaultInstance().getLanguage(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + /** + *
+     * The string ID for the programming language this file is written in.
+     * The `Language` enum contains the names of most common programming languages.
+     * This field is typed as a string to permit any programming language, including
+     * ones that are not specified by the `Language` enum.
+     * 
+ * + * string language = 4 [json_name = "language"]; + * @param value The bytes for language to set. + * @return This builder for chaining. + */ + public Builder setLanguageBytes( + com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + checkByteStringIsUtf8(value); + language_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private java.lang.Object relativePath_ = ""; + /** + *
+     * (Required) Unique path to the text document.
+     *
+     * 1. The path must be relative to the directory supplied in the associated
+     * `Metadata.project_root`.
+     * 2. The path must not begin with a leading '/'.
+     * 3. The path must point to a regular file, not a symbolic link.
+     * 4. The path must use '/' as the separator, including on Windows.
+     * 5. The path must be canonical; it cannot include empty components ('//'),
+     * or '.' or '..'.
+     * 
+ * + * string relative_path = 1 [json_name = "relativePath"]; + * @return The relativePath. + */ + public java.lang.String getRelativePath() { + java.lang.Object ref = relativePath_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + relativePath_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + *
+     * (Required) Unique path to the text document.
+     *
+     * 1. The path must be relative to the directory supplied in the associated
+     * `Metadata.project_root`.
+     * 2. The path must not begin with a leading '/'.
+     * 3. The path must point to a regular file, not a symbolic link.
+     * 4. The path must use '/' as the separator, including on Windows.
+     * 5. The path must be canonical; it cannot include empty components ('//'),
+     * or '.' or '..'.
+     * 
+ * + * string relative_path = 1 [json_name = "relativePath"]; + * @return The bytes for relativePath. + */ + public com.google.protobuf.ByteString + getRelativePathBytes() { + java.lang.Object ref = relativePath_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + relativePath_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + *
+     * (Required) Unique path to the text document.
+     *
+     * 1. The path must be relative to the directory supplied in the associated
+     * `Metadata.project_root`.
+     * 2. The path must not begin with a leading '/'.
+     * 3. The path must point to a regular file, not a symbolic link.
+     * 4. The path must use '/' as the separator, including on Windows.
+     * 5. The path must be canonical; it cannot include empty components ('//'),
+     * or '.' or '..'.
+     * 
+ * + * string relative_path = 1 [json_name = "relativePath"]; + * @param value The relativePath to set. + * @return This builder for chaining. + */ + public Builder setRelativePath( + java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + relativePath_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + /** + *
+     * (Required) Unique path to the text document.
+     *
+     * 1. The path must be relative to the directory supplied in the associated
+     * `Metadata.project_root`.
+     * 2. The path must not begin with a leading '/'.
+     * 3. The path must point to a regular file, not a symbolic link.
+     * 4. The path must use '/' as the separator, including on Windows.
+     * 5. The path must be canonical; it cannot include empty components ('//'),
+     * or '.' or '..'.
+     * 
+ * + * string relative_path = 1 [json_name = "relativePath"]; + * @return This builder for chaining. + */ + public Builder clearRelativePath() { + relativePath_ = getDefaultInstance().getRelativePath(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + /** + *
+     * (Required) Unique path to the text document.
+     *
+     * 1. The path must be relative to the directory supplied in the associated
+     * `Metadata.project_root`.
+     * 2. The path must not begin with a leading '/'.
+     * 3. The path must point to a regular file, not a symbolic link.
+     * 4. The path must use '/' as the separator, including on Windows.
+     * 5. The path must be canonical; it cannot include empty components ('//'),
+     * or '.' or '..'.
+     * 
+ * + * string relative_path = 1 [json_name = "relativePath"]; + * @param value The bytes for relativePath to set. + * @return This builder for chaining. + */ + public Builder setRelativePathBytes( + com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + checkByteStringIsUtf8(value); + relativePath_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + private java.util.List occurrences_ = + java.util.Collections.emptyList(); + private void ensureOccurrencesIsMutable() { + if (!((bitField0_ & 0x00000004) != 0)) { + occurrences_ = new java.util.ArrayList(occurrences_); + bitField0_ |= 0x00000004; + } + } + + private com.google.protobuf.RepeatedFieldBuilder< + org.scip_code.scip.Occurrence, org.scip_code.scip.Occurrence.Builder, org.scip_code.scip.OccurrenceOrBuilder> occurrencesBuilder_; + + /** + *
+     * Occurrences that appear in this file.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public java.util.List getOccurrencesList() { + if (occurrencesBuilder_ == null) { + return java.util.Collections.unmodifiableList(occurrences_); + } else { + return occurrencesBuilder_.getMessageList(); + } + } + /** + *
+     * Occurrences that appear in this file.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public int getOccurrencesCount() { + if (occurrencesBuilder_ == null) { + return occurrences_.size(); + } else { + return occurrencesBuilder_.getCount(); + } + } + /** + *
+     * Occurrences that appear in this file.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public org.scip_code.scip.Occurrence getOccurrences(int index) { + if (occurrencesBuilder_ == null) { + return occurrences_.get(index); + } else { + return occurrencesBuilder_.getMessage(index); + } + } + /** + *
+     * Occurrences that appear in this file.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public Builder setOccurrences( + int index, org.scip_code.scip.Occurrence value) { + if (occurrencesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureOccurrencesIsMutable(); + occurrences_.set(index, value); + onChanged(); + } else { + occurrencesBuilder_.setMessage(index, value); + } + return this; + } + /** + *
+     * Occurrences that appear in this file.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public Builder setOccurrences( + int index, org.scip_code.scip.Occurrence.Builder builderForValue) { + if (occurrencesBuilder_ == null) { + ensureOccurrencesIsMutable(); + occurrences_.set(index, builderForValue.build()); + onChanged(); + } else { + occurrencesBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + *
+     * Occurrences that appear in this file.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public Builder addOccurrences(org.scip_code.scip.Occurrence value) { + if (occurrencesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureOccurrencesIsMutable(); + occurrences_.add(value); + onChanged(); + } else { + occurrencesBuilder_.addMessage(value); + } + return this; + } + /** + *
+     * Occurrences that appear in this file.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public Builder addOccurrences( + int index, org.scip_code.scip.Occurrence value) { + if (occurrencesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureOccurrencesIsMutable(); + occurrences_.add(index, value); + onChanged(); + } else { + occurrencesBuilder_.addMessage(index, value); + } + return this; + } + /** + *
+     * Occurrences that appear in this file.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public Builder addOccurrences( + org.scip_code.scip.Occurrence.Builder builderForValue) { + if (occurrencesBuilder_ == null) { + ensureOccurrencesIsMutable(); + occurrences_.add(builderForValue.build()); + onChanged(); + } else { + occurrencesBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + *
+     * Occurrences that appear in this file.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public Builder addOccurrences( + int index, org.scip_code.scip.Occurrence.Builder builderForValue) { + if (occurrencesBuilder_ == null) { + ensureOccurrencesIsMutable(); + occurrences_.add(index, builderForValue.build()); + onChanged(); + } else { + occurrencesBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + *
+     * Occurrences that appear in this file.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + 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; + } + /** + *
+     * Occurrences that appear in this file.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public Builder clearOccurrences() { + if (occurrencesBuilder_ == null) { + occurrences_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000004); + onChanged(); + } else { + occurrencesBuilder_.clear(); + } + return this; + } + /** + *
+     * Occurrences that appear in this file.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public Builder removeOccurrences(int index) { + if (occurrencesBuilder_ == null) { + ensureOccurrencesIsMutable(); + occurrences_.remove(index); + onChanged(); + } else { + occurrencesBuilder_.remove(index); + } + return this; + } + /** + *
+     * Occurrences that appear in this file.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public org.scip_code.scip.Occurrence.Builder getOccurrencesBuilder( + int index) { + return internalGetOccurrencesFieldBuilder().getBuilder(index); + } + /** + *
+     * Occurrences that appear in this file.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public org.scip_code.scip.OccurrenceOrBuilder getOccurrencesOrBuilder( + int index) { + if (occurrencesBuilder_ == null) { + return occurrences_.get(index); } else { + return occurrencesBuilder_.getMessageOrBuilder(index); + } + } + /** + *
+     * Occurrences that appear in this file.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public java.util.List + getOccurrencesOrBuilderList() { + if (occurrencesBuilder_ != null) { + return occurrencesBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(occurrences_); + } + } + /** + *
+     * Occurrences that appear in this file.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public org.scip_code.scip.Occurrence.Builder addOccurrencesBuilder() { + return internalGetOccurrencesFieldBuilder().addBuilder( + org.scip_code.scip.Occurrence.getDefaultInstance()); + } + /** + *
+     * Occurrences that appear in this file.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public org.scip_code.scip.Occurrence.Builder addOccurrencesBuilder( + int index) { + return internalGetOccurrencesFieldBuilder().addBuilder( + index, org.scip_code.scip.Occurrence.getDefaultInstance()); + } + /** + *
+     * Occurrences that appear in this file.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public java.util.List + getOccurrencesBuilderList() { + return internalGetOccurrencesFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilder< + org.scip_code.scip.Occurrence, org.scip_code.scip.Occurrence.Builder, org.scip_code.scip.OccurrenceOrBuilder> + internalGetOccurrencesFieldBuilder() { + if (occurrencesBuilder_ == null) { + occurrencesBuilder_ = new com.google.protobuf.RepeatedFieldBuilder< + org.scip_code.scip.Occurrence, org.scip_code.scip.Occurrence.Builder, org.scip_code.scip.OccurrenceOrBuilder>( + occurrences_, + ((bitField0_ & 0x00000004) != 0), + getParentForChildren(), + isClean()); + occurrences_ = null; + } + return occurrencesBuilder_; + } + + private java.util.List symbols_ = + java.util.Collections.emptyList(); + private void ensureSymbolsIsMutable() { + if (!((bitField0_ & 0x00000008) != 0)) { + symbols_ = new java.util.ArrayList(symbols_); + bitField0_ |= 0x00000008; + } + } + + private com.google.protobuf.RepeatedFieldBuilder< + org.scip_code.scip.SymbolInformation, org.scip_code.scip.SymbolInformation.Builder, org.scip_code.scip.SymbolInformationOrBuilder> symbolsBuilder_; + + /** + *
+     * Symbols that are "defined" within this document.
+     *
+     * This should include symbols which technically do not have any definition,
+     * but have a reference and are defined by some other symbol (see
+     * Relationship.is_definition).
+     * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + public java.util.List getSymbolsList() { + if (symbolsBuilder_ == null) { + return java.util.Collections.unmodifiableList(symbols_); + } else { + return symbolsBuilder_.getMessageList(); + } + } + /** + *
+     * Symbols that are "defined" within this document.
+     *
+     * This should include symbols which technically do not have any definition,
+     * but have a reference and are defined by some other symbol (see
+     * Relationship.is_definition).
+     * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + public int getSymbolsCount() { + if (symbolsBuilder_ == null) { + return symbols_.size(); + } else { + return symbolsBuilder_.getCount(); + } + } + /** + *
+     * Symbols that are "defined" within this document.
+     *
+     * This should include symbols which technically do not have any definition,
+     * but have a reference and are defined by some other symbol (see
+     * Relationship.is_definition).
+     * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + public org.scip_code.scip.SymbolInformation getSymbols(int index) { + if (symbolsBuilder_ == null) { + return symbols_.get(index); + } else { + return symbolsBuilder_.getMessage(index); + } + } + /** + *
+     * Symbols that are "defined" within this document.
+     *
+     * This should include symbols which technically do not have any definition,
+     * but have a reference and are defined by some other symbol (see
+     * Relationship.is_definition).
+     * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + public Builder setSymbols( + int index, org.scip_code.scip.SymbolInformation value) { + if (symbolsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureSymbolsIsMutable(); + symbols_.set(index, value); + onChanged(); + } else { + symbolsBuilder_.setMessage(index, value); + } + return this; + } + /** + *
+     * Symbols that are "defined" within this document.
+     *
+     * This should include symbols which technically do not have any definition,
+     * but have a reference and are defined by some other symbol (see
+     * Relationship.is_definition).
+     * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + public Builder setSymbols( + int index, org.scip_code.scip.SymbolInformation.Builder builderForValue) { + if (symbolsBuilder_ == null) { + ensureSymbolsIsMutable(); + symbols_.set(index, builderForValue.build()); + onChanged(); + } else { + symbolsBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + *
+     * Symbols that are "defined" within this document.
+     *
+     * This should include symbols which technically do not have any definition,
+     * but have a reference and are defined by some other symbol (see
+     * Relationship.is_definition).
+     * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + public Builder addSymbols(org.scip_code.scip.SymbolInformation value) { + if (symbolsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureSymbolsIsMutable(); + symbols_.add(value); + onChanged(); + } else { + symbolsBuilder_.addMessage(value); + } + return this; + } + /** + *
+     * Symbols that are "defined" within this document.
+     *
+     * This should include symbols which technically do not have any definition,
+     * but have a reference and are defined by some other symbol (see
+     * Relationship.is_definition).
+     * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + public Builder addSymbols( + int index, org.scip_code.scip.SymbolInformation value) { + if (symbolsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureSymbolsIsMutable(); + symbols_.add(index, value); + onChanged(); + } else { + symbolsBuilder_.addMessage(index, value); + } + return this; + } + /** + *
+     * Symbols that are "defined" within this document.
+     *
+     * This should include symbols which technically do not have any definition,
+     * but have a reference and are defined by some other symbol (see
+     * Relationship.is_definition).
+     * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + public Builder addSymbols( + org.scip_code.scip.SymbolInformation.Builder builderForValue) { + if (symbolsBuilder_ == null) { + ensureSymbolsIsMutable(); + symbols_.add(builderForValue.build()); + onChanged(); + } else { + symbolsBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + *
+     * Symbols that are "defined" within this document.
+     *
+     * This should include symbols which technically do not have any definition,
+     * but have a reference and are defined by some other symbol (see
+     * Relationship.is_definition).
+     * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + public Builder addSymbols( + int index, org.scip_code.scip.SymbolInformation.Builder builderForValue) { + if (symbolsBuilder_ == null) { + ensureSymbolsIsMutable(); + symbols_.add(index, builderForValue.build()); + onChanged(); + } else { + symbolsBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + *
+     * Symbols that are "defined" within this document.
+     *
+     * This should include symbols which technically do not have any definition,
+     * but have a reference and are defined by some other symbol (see
+     * Relationship.is_definition).
+     * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + 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; + } + /** + *
+     * Symbols that are "defined" within this document.
+     *
+     * This should include symbols which technically do not have any definition,
+     * but have a reference and are defined by some other symbol (see
+     * Relationship.is_definition).
+     * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + public Builder clearSymbols() { + if (symbolsBuilder_ == null) { + symbols_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000008); + onChanged(); + } else { + symbolsBuilder_.clear(); + } + return this; + } + /** + *
+     * Symbols that are "defined" within this document.
+     *
+     * This should include symbols which technically do not have any definition,
+     * but have a reference and are defined by some other symbol (see
+     * Relationship.is_definition).
+     * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + public Builder removeSymbols(int index) { + if (symbolsBuilder_ == null) { + ensureSymbolsIsMutable(); + symbols_.remove(index); + onChanged(); + } else { + symbolsBuilder_.remove(index); + } + return this; + } + /** + *
+     * Symbols that are "defined" within this document.
+     *
+     * This should include symbols which technically do not have any definition,
+     * but have a reference and are defined by some other symbol (see
+     * Relationship.is_definition).
+     * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + public org.scip_code.scip.SymbolInformation.Builder getSymbolsBuilder( + int index) { + return internalGetSymbolsFieldBuilder().getBuilder(index); + } + /** + *
+     * Symbols that are "defined" within this document.
+     *
+     * This should include symbols which technically do not have any definition,
+     * but have a reference and are defined by some other symbol (see
+     * Relationship.is_definition).
+     * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + public org.scip_code.scip.SymbolInformationOrBuilder getSymbolsOrBuilder( + int index) { + if (symbolsBuilder_ == null) { + return symbols_.get(index); } else { + return symbolsBuilder_.getMessageOrBuilder(index); + } + } + /** + *
+     * Symbols that are "defined" within this document.
+     *
+     * This should include symbols which technically do not have any definition,
+     * but have a reference and are defined by some other symbol (see
+     * Relationship.is_definition).
+     * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + public java.util.List + getSymbolsOrBuilderList() { + if (symbolsBuilder_ != null) { + return symbolsBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(symbols_); + } + } + /** + *
+     * Symbols that are "defined" within this document.
+     *
+     * This should include symbols which technically do not have any definition,
+     * but have a reference and are defined by some other symbol (see
+     * Relationship.is_definition).
+     * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + public org.scip_code.scip.SymbolInformation.Builder addSymbolsBuilder() { + return internalGetSymbolsFieldBuilder().addBuilder( + org.scip_code.scip.SymbolInformation.getDefaultInstance()); + } + /** + *
+     * Symbols that are "defined" within this document.
+     *
+     * This should include symbols which technically do not have any definition,
+     * but have a reference and are defined by some other symbol (see
+     * Relationship.is_definition).
+     * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + public org.scip_code.scip.SymbolInformation.Builder addSymbolsBuilder( + int index) { + return internalGetSymbolsFieldBuilder().addBuilder( + index, org.scip_code.scip.SymbolInformation.getDefaultInstance()); + } + /** + *
+     * Symbols that are "defined" within this document.
+     *
+     * This should include symbols which technically do not have any definition,
+     * but have a reference and are defined by some other symbol (see
+     * Relationship.is_definition).
+     * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + public java.util.List + getSymbolsBuilderList() { + return internalGetSymbolsFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilder< + org.scip_code.scip.SymbolInformation, org.scip_code.scip.SymbolInformation.Builder, org.scip_code.scip.SymbolInformationOrBuilder> + internalGetSymbolsFieldBuilder() { + if (symbolsBuilder_ == null) { + symbolsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder< + org.scip_code.scip.SymbolInformation, org.scip_code.scip.SymbolInformation.Builder, org.scip_code.scip.SymbolInformationOrBuilder>( + symbols_, + ((bitField0_ & 0x00000008) != 0), + getParentForChildren(), + isClean()); + symbols_ = null; + } + return symbolsBuilder_; + } + + private java.lang.Object text_ = ""; + /** + *
+     * (optional) Text contents of this document. Indexers are not expected to
+     * include the text by default. It's preferable that clients read the text
+     * contents from the file system by resolving the absolute path from joining
+     * `Index.metadata.project_root` and `Document.relative_path`. This field
+     * can be useful for testing or when working with virtual/in-memory documents.
+     * 
+ * + * string text = 5 [json_name = "text"]; + * @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; + } + } + /** + *
+     * (optional) Text contents of this document. Indexers are not expected to
+     * include the text by default. It's preferable that clients read the text
+     * contents from the file system by resolving the absolute path from joining
+     * `Index.metadata.project_root` and `Document.relative_path`. This field
+     * can be useful for testing or when working with virtual/in-memory documents.
+     * 
+ * + * string text = 5 [json_name = "text"]; + * @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; + } + } + /** + *
+     * (optional) Text contents of this document. Indexers are not expected to
+     * include the text by default. It's preferable that clients read the text
+     * contents from the file system by resolving the absolute path from joining
+     * `Index.metadata.project_root` and `Document.relative_path`. This field
+     * can be useful for testing or when working with virtual/in-memory documents.
+     * 
+ * + * string text = 5 [json_name = "text"]; + * @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; + bitField0_ |= 0x00000010; + onChanged(); + return this; + } + /** + *
+     * (optional) Text contents of this document. Indexers are not expected to
+     * include the text by default. It's preferable that clients read the text
+     * contents from the file system by resolving the absolute path from joining
+     * `Index.metadata.project_root` and `Document.relative_path`. This field
+     * can be useful for testing or when working with virtual/in-memory documents.
+     * 
+ * + * string text = 5 [json_name = "text"]; + * @return This builder for chaining. + */ + public Builder clearText() { + text_ = getDefaultInstance().getText(); + bitField0_ = (bitField0_ & ~0x00000010); + onChanged(); + return this; + } + /** + *
+     * (optional) Text contents of this document. Indexers are not expected to
+     * include the text by default. It's preferable that clients read the text
+     * contents from the file system by resolving the absolute path from joining
+     * `Index.metadata.project_root` and `Document.relative_path`. This field
+     * can be useful for testing or when working with virtual/in-memory documents.
+     * 
+ * + * string text = 5 [json_name = "text"]; + * @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; + bitField0_ |= 0x00000010; + onChanged(); + return this; + } + + private int positionEncoding_ = 0; + /** + *
+     * Specifies the encoding used for source ranges in this Document.
+     *
+     * Usually, this will match the type used to index the string type
+     * in the indexer's implementation language in O(1) time.
+     * - For an indexer implemented in JVM/.NET language or JavaScript/TypeScript,
+     * use UTF16CodeUnitOffsetFromLineStart.
+     * - For an indexer implemented in Python,
+     * use UTF32CodeUnitOffsetFromLineStart.
+     * - For an indexer implemented in Go, Rust or C++,
+     * use UTF8ByteOffsetFromLineStart.
+     * 
+ * + * .scip.PositionEncoding position_encoding = 6 [json_name = "positionEncoding"]; + * @return The enum numeric value on the wire for positionEncoding. + */ + @java.lang.Override public int getPositionEncodingValue() { + return positionEncoding_; + } + /** + *
+     * Specifies the encoding used for source ranges in this Document.
+     *
+     * Usually, this will match the type used to index the string type
+     * in the indexer's implementation language in O(1) time.
+     * - For an indexer implemented in JVM/.NET language or JavaScript/TypeScript,
+     * use UTF16CodeUnitOffsetFromLineStart.
+     * - For an indexer implemented in Python,
+     * use UTF32CodeUnitOffsetFromLineStart.
+     * - For an indexer implemented in Go, Rust or C++,
+     * use UTF8ByteOffsetFromLineStart.
+     * 
+ * + * .scip.PositionEncoding position_encoding = 6 [json_name = "positionEncoding"]; + * @param value The enum numeric value on the wire for positionEncoding to set. + * @return This builder for chaining. + */ + public Builder setPositionEncodingValue(int value) { + positionEncoding_ = value; + bitField0_ |= 0x00000020; + onChanged(); + return this; + } + /** + *
+     * Specifies the encoding used for source ranges in this Document.
+     *
+     * Usually, this will match the type used to index the string type
+     * in the indexer's implementation language in O(1) time.
+     * - For an indexer implemented in JVM/.NET language or JavaScript/TypeScript,
+     * use UTF16CodeUnitOffsetFromLineStart.
+     * - For an indexer implemented in Python,
+     * use UTF32CodeUnitOffsetFromLineStart.
+     * - For an indexer implemented in Go, Rust or C++,
+     * use UTF8ByteOffsetFromLineStart.
+     * 
+ * + * .scip.PositionEncoding position_encoding = 6 [json_name = "positionEncoding"]; + * @return The positionEncoding. + */ + @java.lang.Override + public org.scip_code.scip.PositionEncoding getPositionEncoding() { + org.scip_code.scip.PositionEncoding result = org.scip_code.scip.PositionEncoding.forNumber(positionEncoding_); + return result == null ? org.scip_code.scip.PositionEncoding.UNRECOGNIZED : result; + } + /** + *
+     * Specifies the encoding used for source ranges in this Document.
+     *
+     * Usually, this will match the type used to index the string type
+     * in the indexer's implementation language in O(1) time.
+     * - For an indexer implemented in JVM/.NET language or JavaScript/TypeScript,
+     * use UTF16CodeUnitOffsetFromLineStart.
+     * - For an indexer implemented in Python,
+     * use UTF32CodeUnitOffsetFromLineStart.
+     * - For an indexer implemented in Go, Rust or C++,
+     * use UTF8ByteOffsetFromLineStart.
+     * 
+ * + * .scip.PositionEncoding position_encoding = 6 [json_name = "positionEncoding"]; + * @param value The positionEncoding to set. + * @return This builder for chaining. + */ + public Builder setPositionEncoding(org.scip_code.scip.PositionEncoding value) { + if (value == null) { throw new NullPointerException(); } + bitField0_ |= 0x00000020; + positionEncoding_ = value.getNumber(); + onChanged(); + return this; + } + /** + *
+     * Specifies the encoding used for source ranges in this Document.
+     *
+     * Usually, this will match the type used to index the string type
+     * in the indexer's implementation language in O(1) time.
+     * - For an indexer implemented in JVM/.NET language or JavaScript/TypeScript,
+     * use UTF16CodeUnitOffsetFromLineStart.
+     * - For an indexer implemented in Python,
+     * use UTF32CodeUnitOffsetFromLineStart.
+     * - For an indexer implemented in Go, Rust or C++,
+     * use UTF8ByteOffsetFromLineStart.
+     * 
+ * + * .scip.PositionEncoding position_encoding = 6 [json_name = "positionEncoding"]; + * @return This builder for chaining. + */ + public Builder clearPositionEncoding() { + bitField0_ = (bitField0_ & ~0x00000020); + positionEncoding_ = 0; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:scip.Document) + } + + // @@protoc_insertion_point(class_scope:scip.Document) + private static final org.scip_code.scip.Document DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new org.scip_code.scip.Document(); + } + + public static org.scip_code.scip.Document getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public Document parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public org.scip_code.scip.Document getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + +} + diff --git a/bindings/java/src/main/java/org/scip_code/scip/DocumentOrBuilder.java b/bindings/java/src/main/java/org/scip_code/scip/DocumentOrBuilder.java new file mode 100644 index 00000000..ad1e69ae --- /dev/null +++ b/bindings/java/src/main/java/org/scip_code/scip/DocumentOrBuilder.java @@ -0,0 +1,247 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: scip.proto +// Protobuf Java Version: 4.32.1 + +package org.scip_code.scip; + +@com.google.protobuf.Generated +public interface DocumentOrBuilder extends + // @@protoc_insertion_point(interface_extends:scip.Document) + com.google.protobuf.MessageOrBuilder { + + /** + *
+   * The string ID for the programming language this file is written in.
+   * The `Language` enum contains the names of most common programming languages.
+   * This field is typed as a string to permit any programming language, including
+   * ones that are not specified by the `Language` enum.
+   * 
+ * + * string language = 4 [json_name = "language"]; + * @return The language. + */ + java.lang.String getLanguage(); + /** + *
+   * The string ID for the programming language this file is written in.
+   * The `Language` enum contains the names of most common programming languages.
+   * This field is typed as a string to permit any programming language, including
+   * ones that are not specified by the `Language` enum.
+   * 
+ * + * string language = 4 [json_name = "language"]; + * @return The bytes for language. + */ + com.google.protobuf.ByteString + getLanguageBytes(); + + /** + *
+   * (Required) Unique path to the text document.
+   *
+   * 1. The path must be relative to the directory supplied in the associated
+   * `Metadata.project_root`.
+   * 2. The path must not begin with a leading '/'.
+   * 3. The path must point to a regular file, not a symbolic link.
+   * 4. The path must use '/' as the separator, including on Windows.
+   * 5. The path must be canonical; it cannot include empty components ('//'),
+   * or '.' or '..'.
+   * 
+ * + * string relative_path = 1 [json_name = "relativePath"]; + * @return The relativePath. + */ + java.lang.String getRelativePath(); + /** + *
+   * (Required) Unique path to the text document.
+   *
+   * 1. The path must be relative to the directory supplied in the associated
+   * `Metadata.project_root`.
+   * 2. The path must not begin with a leading '/'.
+   * 3. The path must point to a regular file, not a symbolic link.
+   * 4. The path must use '/' as the separator, including on Windows.
+   * 5. The path must be canonical; it cannot include empty components ('//'),
+   * or '.' or '..'.
+   * 
+ * + * string relative_path = 1 [json_name = "relativePath"]; + * @return The bytes for relativePath. + */ + com.google.protobuf.ByteString + getRelativePathBytes(); + + /** + *
+   * Occurrences that appear in this file.
+   * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + java.util.List + getOccurrencesList(); + /** + *
+   * Occurrences that appear in this file.
+   * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + org.scip_code.scip.Occurrence getOccurrences(int index); + /** + *
+   * Occurrences that appear in this file.
+   * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + int getOccurrencesCount(); + /** + *
+   * Occurrences that appear in this file.
+   * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + java.util.List + getOccurrencesOrBuilderList(); + /** + *
+   * Occurrences that appear in this file.
+   * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + org.scip_code.scip.OccurrenceOrBuilder getOccurrencesOrBuilder( + int index); + + /** + *
+   * Symbols that are "defined" within this document.
+   *
+   * This should include symbols which technically do not have any definition,
+   * but have a reference and are defined by some other symbol (see
+   * Relationship.is_definition).
+   * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + java.util.List + getSymbolsList(); + /** + *
+   * Symbols that are "defined" within this document.
+   *
+   * This should include symbols which technically do not have any definition,
+   * but have a reference and are defined by some other symbol (see
+   * Relationship.is_definition).
+   * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + org.scip_code.scip.SymbolInformation getSymbols(int index); + /** + *
+   * Symbols that are "defined" within this document.
+   *
+   * This should include symbols which technically do not have any definition,
+   * but have a reference and are defined by some other symbol (see
+   * Relationship.is_definition).
+   * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + int getSymbolsCount(); + /** + *
+   * Symbols that are "defined" within this document.
+   *
+   * This should include symbols which technically do not have any definition,
+   * but have a reference and are defined by some other symbol (see
+   * Relationship.is_definition).
+   * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + java.util.List + getSymbolsOrBuilderList(); + /** + *
+   * Symbols that are "defined" within this document.
+   *
+   * This should include symbols which technically do not have any definition,
+   * but have a reference and are defined by some other symbol (see
+   * Relationship.is_definition).
+   * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + org.scip_code.scip.SymbolInformationOrBuilder getSymbolsOrBuilder( + int index); + + /** + *
+   * (optional) Text contents of this document. Indexers are not expected to
+   * include the text by default. It's preferable that clients read the text
+   * contents from the file system by resolving the absolute path from joining
+   * `Index.metadata.project_root` and `Document.relative_path`. This field
+   * can be useful for testing or when working with virtual/in-memory documents.
+   * 
+ * + * string text = 5 [json_name = "text"]; + * @return The text. + */ + java.lang.String getText(); + /** + *
+   * (optional) Text contents of this document. Indexers are not expected to
+   * include the text by default. It's preferable that clients read the text
+   * contents from the file system by resolving the absolute path from joining
+   * `Index.metadata.project_root` and `Document.relative_path`. This field
+   * can be useful for testing or when working with virtual/in-memory documents.
+   * 
+ * + * string text = 5 [json_name = "text"]; + * @return The bytes for text. + */ + com.google.protobuf.ByteString + getTextBytes(); + + /** + *
+   * Specifies the encoding used for source ranges in this Document.
+   *
+   * Usually, this will match the type used to index the string type
+   * in the indexer's implementation language in O(1) time.
+   * - For an indexer implemented in JVM/.NET language or JavaScript/TypeScript,
+   * use UTF16CodeUnitOffsetFromLineStart.
+   * - For an indexer implemented in Python,
+   * use UTF32CodeUnitOffsetFromLineStart.
+   * - For an indexer implemented in Go, Rust or C++,
+   * use UTF8ByteOffsetFromLineStart.
+   * 
+ * + * .scip.PositionEncoding position_encoding = 6 [json_name = "positionEncoding"]; + * @return The enum numeric value on the wire for positionEncoding. + */ + int getPositionEncodingValue(); + /** + *
+   * Specifies the encoding used for source ranges in this Document.
+   *
+   * Usually, this will match the type used to index the string type
+   * in the indexer's implementation language in O(1) time.
+   * - For an indexer implemented in JVM/.NET language or JavaScript/TypeScript,
+   * use UTF16CodeUnitOffsetFromLineStart.
+   * - For an indexer implemented in Python,
+   * use UTF32CodeUnitOffsetFromLineStart.
+   * - For an indexer implemented in Go, Rust or C++,
+   * use UTF8ByteOffsetFromLineStart.
+   * 
+ * + * .scip.PositionEncoding position_encoding = 6 [json_name = "positionEncoding"]; + * @return The positionEncoding. + */ + org.scip_code.scip.PositionEncoding getPositionEncoding(); +} diff --git a/bindings/java/src/main/java/org/scip_code/scip/Index.java b/bindings/java/src/main/java/org/scip_code/scip/Index.java new file mode 100644 index 00000000..20249318 --- /dev/null +++ b/bindings/java/src/main/java/org/scip_code/scip/Index.java @@ -0,0 +1,1607 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: scip.proto +// Protobuf Java Version: 4.32.1 + +package org.scip_code.scip; + +/** + *
+ * Index represents a complete SCIP index for a workspace this is rooted at a
+ * single directory. An Index message payload can have a large memory footprint
+ * and it's therefore recommended to emit and consume an Index payload one field
+ * value at a time. To permit streaming consumption of an Index payload, the
+ * `metadata` field must appear at the start of the stream and must only appear
+ * once in the stream. Other field values may appear in any order.
+ * 
+ * + * Protobuf type {@code scip.Index} + */ +@com.google.protobuf.Generated +public final class Index extends + com.google.protobuf.GeneratedMessage implements + // @@protoc_insertion_point(message_implements:scip.Index) + IndexOrBuilder { +private static final long serialVersionUID = 0L; + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 32, + /* patch= */ 1, + /* suffix= */ "", + Index.class.getName()); + } + // Use Index.newBuilder() to construct. + private Index(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + private Index() { + documents_ = java.util.Collections.emptyList(); + externalSymbols_ = java.util.Collections.emptyList(); + } + + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.scip_code.scip.ScipProto.internal_static_scip_Index_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.scip_code.scip.ScipProto.internal_static_scip_Index_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.scip_code.scip.Index.class, org.scip_code.scip.Index.Builder.class); + } + + private int bitField0_; + public static final int METADATA_FIELD_NUMBER = 1; + private org.scip_code.scip.Metadata metadata_; + /** + *
+   * Metadata about this index.
+   * 
+ * + * .scip.Metadata metadata = 1 [json_name = "metadata"]; + * @return Whether the metadata field is set. + */ + @java.lang.Override + public boolean hasMetadata() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + *
+   * Metadata about this index.
+   * 
+ * + * .scip.Metadata metadata = 1 [json_name = "metadata"]; + * @return The metadata. + */ + @java.lang.Override + public org.scip_code.scip.Metadata getMetadata() { + return metadata_ == null ? org.scip_code.scip.Metadata.getDefaultInstance() : metadata_; + } + /** + *
+   * Metadata about this index.
+   * 
+ * + * .scip.Metadata metadata = 1 [json_name = "metadata"]; + */ + @java.lang.Override + public org.scip_code.scip.MetadataOrBuilder getMetadataOrBuilder() { + return metadata_ == null ? org.scip_code.scip.Metadata.getDefaultInstance() : metadata_; + } + + public static final int DOCUMENTS_FIELD_NUMBER = 2; + @SuppressWarnings("serial") + private java.util.List documents_; + /** + *
+   * Documents that belong to this index.
+   * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + @java.lang.Override + public java.util.List getDocumentsList() { + return documents_; + } + /** + *
+   * Documents that belong to this index.
+   * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + @java.lang.Override + public java.util.List + getDocumentsOrBuilderList() { + return documents_; + } + /** + *
+   * Documents that belong to this index.
+   * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + @java.lang.Override + public int getDocumentsCount() { + return documents_.size(); + } + /** + *
+   * Documents that belong to this index.
+   * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + @java.lang.Override + public org.scip_code.scip.Document getDocuments(int index) { + return documents_.get(index); + } + /** + *
+   * Documents that belong to this index.
+   * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + @java.lang.Override + public org.scip_code.scip.DocumentOrBuilder getDocumentsOrBuilder( + int index) { + return documents_.get(index); + } + + public static final int EXTERNAL_SYMBOLS_FIELD_NUMBER = 3; + @SuppressWarnings("serial") + private java.util.List externalSymbols_; + /** + *
+   * (optional) Symbols that are referenced from this index but are defined in
+   * an external package (a separate `Index` message). Leave this field empty
+   * if you assume the external package will get indexed separately. If the
+   * external package won't get indexed for some reason then you can use this
+   * field to provide hover documentation for those external symbols.
+   * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + @java.lang.Override + public java.util.List getExternalSymbolsList() { + return externalSymbols_; + } + /** + *
+   * (optional) Symbols that are referenced from this index but are defined in
+   * an external package (a separate `Index` message). Leave this field empty
+   * if you assume the external package will get indexed separately. If the
+   * external package won't get indexed for some reason then you can use this
+   * field to provide hover documentation for those external symbols.
+   * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + @java.lang.Override + public java.util.List + getExternalSymbolsOrBuilderList() { + return externalSymbols_; + } + /** + *
+   * (optional) Symbols that are referenced from this index but are defined in
+   * an external package (a separate `Index` message). Leave this field empty
+   * if you assume the external package will get indexed separately. If the
+   * external package won't get indexed for some reason then you can use this
+   * field to provide hover documentation for those external symbols.
+   * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + @java.lang.Override + public int getExternalSymbolsCount() { + return externalSymbols_.size(); + } + /** + *
+   * (optional) Symbols that are referenced from this index but are defined in
+   * an external package (a separate `Index` message). Leave this field empty
+   * if you assume the external package will get indexed separately. If the
+   * external package won't get indexed for some reason then you can use this
+   * field to provide hover documentation for those external symbols.
+   * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + @java.lang.Override + public org.scip_code.scip.SymbolInformation getExternalSymbols(int index) { + return externalSymbols_.get(index); + } + /** + *
+   * (optional) Symbols that are referenced from this index but are defined in
+   * an external package (a separate `Index` message). Leave this field empty
+   * if you assume the external package will get indexed separately. If the
+   * external package won't get indexed for some reason then you can use this
+   * field to provide hover documentation for those external symbols.
+   * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + @java.lang.Override + public org.scip_code.scip.SymbolInformationOrBuilder getExternalSymbolsOrBuilder( + int index) { + return externalSymbols_.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 (((bitField0_ & 0x00000001) != 0)) { + output.writeMessage(1, getMetadata()); + } + for (int i = 0; i < documents_.size(); i++) { + output.writeMessage(2, documents_.get(i)); + } + for (int i = 0; i < externalSymbols_.size(); i++) { + output.writeMessage(3, externalSymbols_.get(i)); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(1, getMetadata()); + } + for (int i = 0; i < documents_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(2, documents_.get(i)); + } + for (int i = 0; i < externalSymbols_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(3, externalSymbols_.get(i)); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof org.scip_code.scip.Index)) { + return super.equals(obj); + } + org.scip_code.scip.Index other = (org.scip_code.scip.Index) obj; + + if (hasMetadata() != other.hasMetadata()) return false; + if (hasMetadata()) { + if (!getMetadata() + .equals(other.getMetadata())) return false; + } + if (!getDocumentsList() + .equals(other.getDocumentsList())) return false; + if (!getExternalSymbolsList() + .equals(other.getExternalSymbolsList())) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasMetadata()) { + hash = (37 * hash) + METADATA_FIELD_NUMBER; + hash = (53 * hash) + getMetadata().hashCode(); + } + if (getDocumentsCount() > 0) { + hash = (37 * hash) + DOCUMENTS_FIELD_NUMBER; + hash = (53 * hash) + getDocumentsList().hashCode(); + } + if (getExternalSymbolsCount() > 0) { + hash = (37 * hash) + EXTERNAL_SYMBOLS_FIELD_NUMBER; + hash = (53 * hash) + getExternalSymbolsList().hashCode(); + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static org.scip_code.scip.Index parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.scip_code.scip.Index parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.scip_code.scip.Index parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.scip_code.scip.Index parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.scip_code.scip.Index parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.scip_code.scip.Index parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.scip_code.scip.Index parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static org.scip_code.scip.Index parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public static org.scip_code.scip.Index parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input); + } + + public static org.scip_code.scip.Index parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static org.scip_code.scip.Index parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static org.scip_code.scip.Index parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(org.scip_code.scip.Index 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + *
+   * Index represents a complete SCIP index for a workspace this is rooted at a
+   * single directory. An Index message payload can have a large memory footprint
+   * and it's therefore recommended to emit and consume an Index payload one field
+   * value at a time. To permit streaming consumption of an Index payload, the
+   * `metadata` field must appear at the start of the stream and must only appear
+   * once in the stream. Other field values may appear in any order.
+   * 
+ * + * Protobuf type {@code scip.Index} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder implements + // @@protoc_insertion_point(builder_implements:scip.Index) + org.scip_code.scip.IndexOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.scip_code.scip.ScipProto.internal_static_scip_Index_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.scip_code.scip.ScipProto.internal_static_scip_Index_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.scip_code.scip.Index.class, org.scip_code.scip.Index.Builder.class); + } + + // Construct using org.scip_code.scip.Index.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage + .alwaysUseFieldBuilders) { + internalGetMetadataFieldBuilder(); + internalGetDocumentsFieldBuilder(); + internalGetExternalSymbolsFieldBuilder(); + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + metadata_ = null; + if (metadataBuilder_ != null) { + metadataBuilder_.dispose(); + metadataBuilder_ = null; + } + if (documentsBuilder_ == null) { + documents_ = java.util.Collections.emptyList(); + } else { + documents_ = null; + documentsBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000002); + if (externalSymbolsBuilder_ == null) { + externalSymbols_ = java.util.Collections.emptyList(); + } else { + externalSymbols_ = null; + externalSymbolsBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000004); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return org.scip_code.scip.ScipProto.internal_static_scip_Index_descriptor; + } + + @java.lang.Override + public org.scip_code.scip.Index getDefaultInstanceForType() { + return org.scip_code.scip.Index.getDefaultInstance(); + } + + @java.lang.Override + public org.scip_code.scip.Index build() { + org.scip_code.scip.Index result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public org.scip_code.scip.Index buildPartial() { + org.scip_code.scip.Index result = new org.scip_code.scip.Index(this); + buildPartialRepeatedFields(result); + if (bitField0_ != 0) { buildPartial0(result); } + onBuilt(); + return result; + } + + private void buildPartialRepeatedFields(org.scip_code.scip.Index result) { + if (documentsBuilder_ == null) { + if (((bitField0_ & 0x00000002) != 0)) { + documents_ = java.util.Collections.unmodifiableList(documents_); + bitField0_ = (bitField0_ & ~0x00000002); + } + result.documents_ = documents_; + } else { + result.documents_ = documentsBuilder_.build(); + } + if (externalSymbolsBuilder_ == null) { + if (((bitField0_ & 0x00000004) != 0)) { + externalSymbols_ = java.util.Collections.unmodifiableList(externalSymbols_); + bitField0_ = (bitField0_ & ~0x00000004); + } + result.externalSymbols_ = externalSymbols_; + } else { + result.externalSymbols_ = externalSymbolsBuilder_.build(); + } + } + + private void buildPartial0(org.scip_code.scip.Index result) { + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.metadata_ = metadataBuilder_ == null + ? metadata_ + : metadataBuilder_.build(); + to_bitField0_ |= 0x00000001; + } + result.bitField0_ |= to_bitField0_; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof org.scip_code.scip.Index) { + return mergeFrom((org.scip_code.scip.Index)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(org.scip_code.scip.Index other) { + if (other == org.scip_code.scip.Index.getDefaultInstance()) return this; + if (other.hasMetadata()) { + mergeMetadata(other.getMetadata()); + } + if (documentsBuilder_ == null) { + if (!other.documents_.isEmpty()) { + if (documents_.isEmpty()) { + documents_ = other.documents_; + bitField0_ = (bitField0_ & ~0x00000002); + } else { + ensureDocumentsIsMutable(); + documents_.addAll(other.documents_); + } + onChanged(); + } + } else { + if (!other.documents_.isEmpty()) { + if (documentsBuilder_.isEmpty()) { + documentsBuilder_.dispose(); + documentsBuilder_ = null; + documents_ = other.documents_; + bitField0_ = (bitField0_ & ~0x00000002); + documentsBuilder_ = + com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ? + internalGetDocumentsFieldBuilder() : null; + } else { + documentsBuilder_.addAllMessages(other.documents_); + } + } + } + if (externalSymbolsBuilder_ == null) { + if (!other.externalSymbols_.isEmpty()) { + if (externalSymbols_.isEmpty()) { + externalSymbols_ = other.externalSymbols_; + bitField0_ = (bitField0_ & ~0x00000004); + } else { + ensureExternalSymbolsIsMutable(); + externalSymbols_.addAll(other.externalSymbols_); + } + onChanged(); + } + } else { + if (!other.externalSymbols_.isEmpty()) { + if (externalSymbolsBuilder_.isEmpty()) { + externalSymbolsBuilder_.dispose(); + externalSymbolsBuilder_ = null; + externalSymbols_ = other.externalSymbols_; + bitField0_ = (bitField0_ & ~0x00000004); + externalSymbolsBuilder_ = + com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ? + internalGetExternalSymbolsFieldBuilder() : null; + } else { + externalSymbolsBuilder_.addAllMessages(other.externalSymbols_); + } + } + } + this.mergeUnknownFields(other.getUnknownFields()); + 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 { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + input.readMessage( + internalGetMetadataFieldBuilder().getBuilder(), + extensionRegistry); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 18: { + org.scip_code.scip.Document m = + input.readMessage( + org.scip_code.scip.Document.parser(), + extensionRegistry); + if (documentsBuilder_ == null) { + ensureDocumentsIsMutable(); + documents_.add(m); + } else { + documentsBuilder_.addMessage(m); + } + break; + } // case 18 + case 26: { + org.scip_code.scip.SymbolInformation m = + input.readMessage( + org.scip_code.scip.SymbolInformation.parser(), + extensionRegistry); + if (externalSymbolsBuilder_ == null) { + ensureExternalSymbolsIsMutable(); + externalSymbols_.add(m); + } else { + externalSymbolsBuilder_.addMessage(m); + } + break; + } // case 26 + default: { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + private int bitField0_; + + private org.scip_code.scip.Metadata metadata_; + private com.google.protobuf.SingleFieldBuilder< + org.scip_code.scip.Metadata, org.scip_code.scip.Metadata.Builder, org.scip_code.scip.MetadataOrBuilder> metadataBuilder_; + /** + *
+     * Metadata about this index.
+     * 
+ * + * .scip.Metadata metadata = 1 [json_name = "metadata"]; + * @return Whether the metadata field is set. + */ + public boolean hasMetadata() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + *
+     * Metadata about this index.
+     * 
+ * + * .scip.Metadata metadata = 1 [json_name = "metadata"]; + * @return The metadata. + */ + public org.scip_code.scip.Metadata getMetadata() { + if (metadataBuilder_ == null) { + return metadata_ == null ? org.scip_code.scip.Metadata.getDefaultInstance() : metadata_; + } else { + return metadataBuilder_.getMessage(); + } + } + /** + *
+     * Metadata about this index.
+     * 
+ * + * .scip.Metadata metadata = 1 [json_name = "metadata"]; + */ + public Builder setMetadata(org.scip_code.scip.Metadata value) { + if (metadataBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + metadata_ = value; + } else { + metadataBuilder_.setMessage(value); + } + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + /** + *
+     * Metadata about this index.
+     * 
+ * + * .scip.Metadata metadata = 1 [json_name = "metadata"]; + */ + public Builder setMetadata( + org.scip_code.scip.Metadata.Builder builderForValue) { + if (metadataBuilder_ == null) { + metadata_ = builderForValue.build(); + } else { + metadataBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + /** + *
+     * Metadata about this index.
+     * 
+ * + * .scip.Metadata metadata = 1 [json_name = "metadata"]; + */ + public Builder mergeMetadata(org.scip_code.scip.Metadata value) { + if (metadataBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0) && + metadata_ != null && + metadata_ != org.scip_code.scip.Metadata.getDefaultInstance()) { + getMetadataBuilder().mergeFrom(value); + } else { + metadata_ = value; + } + } else { + metadataBuilder_.mergeFrom(value); + } + if (metadata_ != null) { + bitField0_ |= 0x00000001; + onChanged(); + } + return this; + } + /** + *
+     * Metadata about this index.
+     * 
+ * + * .scip.Metadata metadata = 1 [json_name = "metadata"]; + */ + public Builder clearMetadata() { + bitField0_ = (bitField0_ & ~0x00000001); + metadata_ = null; + if (metadataBuilder_ != null) { + metadataBuilder_.dispose(); + metadataBuilder_ = null; + } + onChanged(); + return this; + } + /** + *
+     * Metadata about this index.
+     * 
+ * + * .scip.Metadata metadata = 1 [json_name = "metadata"]; + */ + public org.scip_code.scip.Metadata.Builder getMetadataBuilder() { + bitField0_ |= 0x00000001; + onChanged(); + return internalGetMetadataFieldBuilder().getBuilder(); + } + /** + *
+     * Metadata about this index.
+     * 
+ * + * .scip.Metadata metadata = 1 [json_name = "metadata"]; + */ + public org.scip_code.scip.MetadataOrBuilder getMetadataOrBuilder() { + if (metadataBuilder_ != null) { + return metadataBuilder_.getMessageOrBuilder(); + } else { + return metadata_ == null ? + org.scip_code.scip.Metadata.getDefaultInstance() : metadata_; + } + } + /** + *
+     * Metadata about this index.
+     * 
+ * + * .scip.Metadata metadata = 1 [json_name = "metadata"]; + */ + private com.google.protobuf.SingleFieldBuilder< + org.scip_code.scip.Metadata, org.scip_code.scip.Metadata.Builder, org.scip_code.scip.MetadataOrBuilder> + internalGetMetadataFieldBuilder() { + if (metadataBuilder_ == null) { + metadataBuilder_ = new com.google.protobuf.SingleFieldBuilder< + org.scip_code.scip.Metadata, org.scip_code.scip.Metadata.Builder, org.scip_code.scip.MetadataOrBuilder>( + getMetadata(), + getParentForChildren(), + isClean()); + metadata_ = null; + } + return metadataBuilder_; + } + + private java.util.List documents_ = + java.util.Collections.emptyList(); + private void ensureDocumentsIsMutable() { + if (!((bitField0_ & 0x00000002) != 0)) { + documents_ = new java.util.ArrayList(documents_); + bitField0_ |= 0x00000002; + } + } + + private com.google.protobuf.RepeatedFieldBuilder< + org.scip_code.scip.Document, org.scip_code.scip.Document.Builder, org.scip_code.scip.DocumentOrBuilder> documentsBuilder_; + + /** + *
+     * Documents that belong to this index.
+     * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + public java.util.List getDocumentsList() { + if (documentsBuilder_ == null) { + return java.util.Collections.unmodifiableList(documents_); + } else { + return documentsBuilder_.getMessageList(); + } + } + /** + *
+     * Documents that belong to this index.
+     * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + public int getDocumentsCount() { + if (documentsBuilder_ == null) { + return documents_.size(); + } else { + return documentsBuilder_.getCount(); + } + } + /** + *
+     * Documents that belong to this index.
+     * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + public org.scip_code.scip.Document getDocuments(int index) { + if (documentsBuilder_ == null) { + return documents_.get(index); + } else { + return documentsBuilder_.getMessage(index); + } + } + /** + *
+     * Documents that belong to this index.
+     * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + public Builder setDocuments( + int index, org.scip_code.scip.Document value) { + if (documentsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureDocumentsIsMutable(); + documents_.set(index, value); + onChanged(); + } else { + documentsBuilder_.setMessage(index, value); + } + return this; + } + /** + *
+     * Documents that belong to this index.
+     * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + public Builder setDocuments( + int index, org.scip_code.scip.Document.Builder builderForValue) { + if (documentsBuilder_ == null) { + ensureDocumentsIsMutable(); + documents_.set(index, builderForValue.build()); + onChanged(); + } else { + documentsBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + *
+     * Documents that belong to this index.
+     * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + public Builder addDocuments(org.scip_code.scip.Document value) { + if (documentsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureDocumentsIsMutable(); + documents_.add(value); + onChanged(); + } else { + documentsBuilder_.addMessage(value); + } + return this; + } + /** + *
+     * Documents that belong to this index.
+     * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + public Builder addDocuments( + int index, org.scip_code.scip.Document value) { + if (documentsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureDocumentsIsMutable(); + documents_.add(index, value); + onChanged(); + } else { + documentsBuilder_.addMessage(index, value); + } + return this; + } + /** + *
+     * Documents that belong to this index.
+     * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + public Builder addDocuments( + org.scip_code.scip.Document.Builder builderForValue) { + if (documentsBuilder_ == null) { + ensureDocumentsIsMutable(); + documents_.add(builderForValue.build()); + onChanged(); + } else { + documentsBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + *
+     * Documents that belong to this index.
+     * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + public Builder addDocuments( + int index, org.scip_code.scip.Document.Builder builderForValue) { + if (documentsBuilder_ == null) { + ensureDocumentsIsMutable(); + documents_.add(index, builderForValue.build()); + onChanged(); + } else { + documentsBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + *
+     * Documents that belong to this index.
+     * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + 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; + } + /** + *
+     * Documents that belong to this index.
+     * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + public Builder clearDocuments() { + if (documentsBuilder_ == null) { + documents_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + } else { + documentsBuilder_.clear(); + } + return this; + } + /** + *
+     * Documents that belong to this index.
+     * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + public Builder removeDocuments(int index) { + if (documentsBuilder_ == null) { + ensureDocumentsIsMutable(); + documents_.remove(index); + onChanged(); + } else { + documentsBuilder_.remove(index); + } + return this; + } + /** + *
+     * Documents that belong to this index.
+     * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + public org.scip_code.scip.Document.Builder getDocumentsBuilder( + int index) { + return internalGetDocumentsFieldBuilder().getBuilder(index); + } + /** + *
+     * Documents that belong to this index.
+     * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + public org.scip_code.scip.DocumentOrBuilder getDocumentsOrBuilder( + int index) { + if (documentsBuilder_ == null) { + return documents_.get(index); } else { + return documentsBuilder_.getMessageOrBuilder(index); + } + } + /** + *
+     * Documents that belong to this index.
+     * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + public java.util.List + getDocumentsOrBuilderList() { + if (documentsBuilder_ != null) { + return documentsBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(documents_); + } + } + /** + *
+     * Documents that belong to this index.
+     * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + public org.scip_code.scip.Document.Builder addDocumentsBuilder() { + return internalGetDocumentsFieldBuilder().addBuilder( + org.scip_code.scip.Document.getDefaultInstance()); + } + /** + *
+     * Documents that belong to this index.
+     * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + public org.scip_code.scip.Document.Builder addDocumentsBuilder( + int index) { + return internalGetDocumentsFieldBuilder().addBuilder( + index, org.scip_code.scip.Document.getDefaultInstance()); + } + /** + *
+     * Documents that belong to this index.
+     * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + public java.util.List + getDocumentsBuilderList() { + return internalGetDocumentsFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilder< + org.scip_code.scip.Document, org.scip_code.scip.Document.Builder, org.scip_code.scip.DocumentOrBuilder> + internalGetDocumentsFieldBuilder() { + if (documentsBuilder_ == null) { + documentsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder< + org.scip_code.scip.Document, org.scip_code.scip.Document.Builder, org.scip_code.scip.DocumentOrBuilder>( + documents_, + ((bitField0_ & 0x00000002) != 0), + getParentForChildren(), + isClean()); + documents_ = null; + } + return documentsBuilder_; + } + + private java.util.List externalSymbols_ = + java.util.Collections.emptyList(); + private void ensureExternalSymbolsIsMutable() { + if (!((bitField0_ & 0x00000004) != 0)) { + externalSymbols_ = new java.util.ArrayList(externalSymbols_); + bitField0_ |= 0x00000004; + } + } + + private com.google.protobuf.RepeatedFieldBuilder< + org.scip_code.scip.SymbolInformation, org.scip_code.scip.SymbolInformation.Builder, org.scip_code.scip.SymbolInformationOrBuilder> externalSymbolsBuilder_; + + /** + *
+     * (optional) Symbols that are referenced from this index but are defined in
+     * an external package (a separate `Index` message). Leave this field empty
+     * if you assume the external package will get indexed separately. If the
+     * external package won't get indexed for some reason then you can use this
+     * field to provide hover documentation for those external symbols.
+     * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + public java.util.List getExternalSymbolsList() { + if (externalSymbolsBuilder_ == null) { + return java.util.Collections.unmodifiableList(externalSymbols_); + } else { + return externalSymbolsBuilder_.getMessageList(); + } + } + /** + *
+     * (optional) Symbols that are referenced from this index but are defined in
+     * an external package (a separate `Index` message). Leave this field empty
+     * if you assume the external package will get indexed separately. If the
+     * external package won't get indexed for some reason then you can use this
+     * field to provide hover documentation for those external symbols.
+     * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + public int getExternalSymbolsCount() { + if (externalSymbolsBuilder_ == null) { + return externalSymbols_.size(); + } else { + return externalSymbolsBuilder_.getCount(); + } + } + /** + *
+     * (optional) Symbols that are referenced from this index but are defined in
+     * an external package (a separate `Index` message). Leave this field empty
+     * if you assume the external package will get indexed separately. If the
+     * external package won't get indexed for some reason then you can use this
+     * field to provide hover documentation for those external symbols.
+     * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + public org.scip_code.scip.SymbolInformation getExternalSymbols(int index) { + if (externalSymbolsBuilder_ == null) { + return externalSymbols_.get(index); + } else { + return externalSymbolsBuilder_.getMessage(index); + } + } + /** + *
+     * (optional) Symbols that are referenced from this index but are defined in
+     * an external package (a separate `Index` message). Leave this field empty
+     * if you assume the external package will get indexed separately. If the
+     * external package won't get indexed for some reason then you can use this
+     * field to provide hover documentation for those external symbols.
+     * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + public Builder setExternalSymbols( + int index, org.scip_code.scip.SymbolInformation value) { + if (externalSymbolsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureExternalSymbolsIsMutable(); + externalSymbols_.set(index, value); + onChanged(); + } else { + externalSymbolsBuilder_.setMessage(index, value); + } + return this; + } + /** + *
+     * (optional) Symbols that are referenced from this index but are defined in
+     * an external package (a separate `Index` message). Leave this field empty
+     * if you assume the external package will get indexed separately. If the
+     * external package won't get indexed for some reason then you can use this
+     * field to provide hover documentation for those external symbols.
+     * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + public Builder setExternalSymbols( + int index, org.scip_code.scip.SymbolInformation.Builder builderForValue) { + if (externalSymbolsBuilder_ == null) { + ensureExternalSymbolsIsMutable(); + externalSymbols_.set(index, builderForValue.build()); + onChanged(); + } else { + externalSymbolsBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + *
+     * (optional) Symbols that are referenced from this index but are defined in
+     * an external package (a separate `Index` message). Leave this field empty
+     * if you assume the external package will get indexed separately. If the
+     * external package won't get indexed for some reason then you can use this
+     * field to provide hover documentation for those external symbols.
+     * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + public Builder addExternalSymbols(org.scip_code.scip.SymbolInformation value) { + if (externalSymbolsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureExternalSymbolsIsMutable(); + externalSymbols_.add(value); + onChanged(); + } else { + externalSymbolsBuilder_.addMessage(value); + } + return this; + } + /** + *
+     * (optional) Symbols that are referenced from this index but are defined in
+     * an external package (a separate `Index` message). Leave this field empty
+     * if you assume the external package will get indexed separately. If the
+     * external package won't get indexed for some reason then you can use this
+     * field to provide hover documentation for those external symbols.
+     * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + public Builder addExternalSymbols( + int index, org.scip_code.scip.SymbolInformation value) { + if (externalSymbolsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureExternalSymbolsIsMutable(); + externalSymbols_.add(index, value); + onChanged(); + } else { + externalSymbolsBuilder_.addMessage(index, value); + } + return this; + } + /** + *
+     * (optional) Symbols that are referenced from this index but are defined in
+     * an external package (a separate `Index` message). Leave this field empty
+     * if you assume the external package will get indexed separately. If the
+     * external package won't get indexed for some reason then you can use this
+     * field to provide hover documentation for those external symbols.
+     * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + public Builder addExternalSymbols( + org.scip_code.scip.SymbolInformation.Builder builderForValue) { + if (externalSymbolsBuilder_ == null) { + ensureExternalSymbolsIsMutable(); + externalSymbols_.add(builderForValue.build()); + onChanged(); + } else { + externalSymbolsBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + *
+     * (optional) Symbols that are referenced from this index but are defined in
+     * an external package (a separate `Index` message). Leave this field empty
+     * if you assume the external package will get indexed separately. If the
+     * external package won't get indexed for some reason then you can use this
+     * field to provide hover documentation for those external symbols.
+     * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + public Builder addExternalSymbols( + int index, org.scip_code.scip.SymbolInformation.Builder builderForValue) { + if (externalSymbolsBuilder_ == null) { + ensureExternalSymbolsIsMutable(); + externalSymbols_.add(index, builderForValue.build()); + onChanged(); + } else { + externalSymbolsBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + *
+     * (optional) Symbols that are referenced from this index but are defined in
+     * an external package (a separate `Index` message). Leave this field empty
+     * if you assume the external package will get indexed separately. If the
+     * external package won't get indexed for some reason then you can use this
+     * field to provide hover documentation for those external symbols.
+     * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + public Builder addAllExternalSymbols( + java.lang.Iterable values) { + if (externalSymbolsBuilder_ == null) { + ensureExternalSymbolsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, externalSymbols_); + onChanged(); + } else { + externalSymbolsBuilder_.addAllMessages(values); + } + return this; + } + /** + *
+     * (optional) Symbols that are referenced from this index but are defined in
+     * an external package (a separate `Index` message). Leave this field empty
+     * if you assume the external package will get indexed separately. If the
+     * external package won't get indexed for some reason then you can use this
+     * field to provide hover documentation for those external symbols.
+     * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + public Builder clearExternalSymbols() { + if (externalSymbolsBuilder_ == null) { + externalSymbols_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000004); + onChanged(); + } else { + externalSymbolsBuilder_.clear(); + } + return this; + } + /** + *
+     * (optional) Symbols that are referenced from this index but are defined in
+     * an external package (a separate `Index` message). Leave this field empty
+     * if you assume the external package will get indexed separately. If the
+     * external package won't get indexed for some reason then you can use this
+     * field to provide hover documentation for those external symbols.
+     * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + public Builder removeExternalSymbols(int index) { + if (externalSymbolsBuilder_ == null) { + ensureExternalSymbolsIsMutable(); + externalSymbols_.remove(index); + onChanged(); + } else { + externalSymbolsBuilder_.remove(index); + } + return this; + } + /** + *
+     * (optional) Symbols that are referenced from this index but are defined in
+     * an external package (a separate `Index` message). Leave this field empty
+     * if you assume the external package will get indexed separately. If the
+     * external package won't get indexed for some reason then you can use this
+     * field to provide hover documentation for those external symbols.
+     * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + public org.scip_code.scip.SymbolInformation.Builder getExternalSymbolsBuilder( + int index) { + return internalGetExternalSymbolsFieldBuilder().getBuilder(index); + } + /** + *
+     * (optional) Symbols that are referenced from this index but are defined in
+     * an external package (a separate `Index` message). Leave this field empty
+     * if you assume the external package will get indexed separately. If the
+     * external package won't get indexed for some reason then you can use this
+     * field to provide hover documentation for those external symbols.
+     * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + public org.scip_code.scip.SymbolInformationOrBuilder getExternalSymbolsOrBuilder( + int index) { + if (externalSymbolsBuilder_ == null) { + return externalSymbols_.get(index); } else { + return externalSymbolsBuilder_.getMessageOrBuilder(index); + } + } + /** + *
+     * (optional) Symbols that are referenced from this index but are defined in
+     * an external package (a separate `Index` message). Leave this field empty
+     * if you assume the external package will get indexed separately. If the
+     * external package won't get indexed for some reason then you can use this
+     * field to provide hover documentation for those external symbols.
+     * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + public java.util.List + getExternalSymbolsOrBuilderList() { + if (externalSymbolsBuilder_ != null) { + return externalSymbolsBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(externalSymbols_); + } + } + /** + *
+     * (optional) Symbols that are referenced from this index but are defined in
+     * an external package (a separate `Index` message). Leave this field empty
+     * if you assume the external package will get indexed separately. If the
+     * external package won't get indexed for some reason then you can use this
+     * field to provide hover documentation for those external symbols.
+     * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + public org.scip_code.scip.SymbolInformation.Builder addExternalSymbolsBuilder() { + return internalGetExternalSymbolsFieldBuilder().addBuilder( + org.scip_code.scip.SymbolInformation.getDefaultInstance()); + } + /** + *
+     * (optional) Symbols that are referenced from this index but are defined in
+     * an external package (a separate `Index` message). Leave this field empty
+     * if you assume the external package will get indexed separately. If the
+     * external package won't get indexed for some reason then you can use this
+     * field to provide hover documentation for those external symbols.
+     * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + public org.scip_code.scip.SymbolInformation.Builder addExternalSymbolsBuilder( + int index) { + return internalGetExternalSymbolsFieldBuilder().addBuilder( + index, org.scip_code.scip.SymbolInformation.getDefaultInstance()); + } + /** + *
+     * (optional) Symbols that are referenced from this index but are defined in
+     * an external package (a separate `Index` message). Leave this field empty
+     * if you assume the external package will get indexed separately. If the
+     * external package won't get indexed for some reason then you can use this
+     * field to provide hover documentation for those external symbols.
+     * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + public java.util.List + getExternalSymbolsBuilderList() { + return internalGetExternalSymbolsFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilder< + org.scip_code.scip.SymbolInformation, org.scip_code.scip.SymbolInformation.Builder, org.scip_code.scip.SymbolInformationOrBuilder> + internalGetExternalSymbolsFieldBuilder() { + if (externalSymbolsBuilder_ == null) { + externalSymbolsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder< + org.scip_code.scip.SymbolInformation, org.scip_code.scip.SymbolInformation.Builder, org.scip_code.scip.SymbolInformationOrBuilder>( + externalSymbols_, + ((bitField0_ & 0x00000004) != 0), + getParentForChildren(), + isClean()); + externalSymbols_ = null; + } + return externalSymbolsBuilder_; + } + + // @@protoc_insertion_point(builder_scope:scip.Index) + } + + // @@protoc_insertion_point(class_scope:scip.Index) + private static final org.scip_code.scip.Index DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new org.scip_code.scip.Index(); + } + + public static org.scip_code.scip.Index getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public Index parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public org.scip_code.scip.Index getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + +} + diff --git a/bindings/java/src/main/java/org/scip_code/scip/IndexOrBuilder.java b/bindings/java/src/main/java/org/scip_code/scip/IndexOrBuilder.java new file mode 100644 index 00000000..2d605ab1 --- /dev/null +++ b/bindings/java/src/main/java/org/scip_code/scip/IndexOrBuilder.java @@ -0,0 +1,147 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: scip.proto +// Protobuf Java Version: 4.32.1 + +package org.scip_code.scip; + +@com.google.protobuf.Generated +public interface IndexOrBuilder extends + // @@protoc_insertion_point(interface_extends:scip.Index) + com.google.protobuf.MessageOrBuilder { + + /** + *
+   * Metadata about this index.
+   * 
+ * + * .scip.Metadata metadata = 1 [json_name = "metadata"]; + * @return Whether the metadata field is set. + */ + boolean hasMetadata(); + /** + *
+   * Metadata about this index.
+   * 
+ * + * .scip.Metadata metadata = 1 [json_name = "metadata"]; + * @return The metadata. + */ + org.scip_code.scip.Metadata getMetadata(); + /** + *
+   * Metadata about this index.
+   * 
+ * + * .scip.Metadata metadata = 1 [json_name = "metadata"]; + */ + org.scip_code.scip.MetadataOrBuilder getMetadataOrBuilder(); + + /** + *
+   * Documents that belong to this index.
+   * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + java.util.List + getDocumentsList(); + /** + *
+   * Documents that belong to this index.
+   * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + org.scip_code.scip.Document getDocuments(int index); + /** + *
+   * Documents that belong to this index.
+   * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + int getDocumentsCount(); + /** + *
+   * Documents that belong to this index.
+   * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + java.util.List + getDocumentsOrBuilderList(); + /** + *
+   * Documents that belong to this index.
+   * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + org.scip_code.scip.DocumentOrBuilder getDocumentsOrBuilder( + int index); + + /** + *
+   * (optional) Symbols that are referenced from this index but are defined in
+   * an external package (a separate `Index` message). Leave this field empty
+   * if you assume the external package will get indexed separately. If the
+   * external package won't get indexed for some reason then you can use this
+   * field to provide hover documentation for those external symbols.
+   * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + java.util.List + getExternalSymbolsList(); + /** + *
+   * (optional) Symbols that are referenced from this index but are defined in
+   * an external package (a separate `Index` message). Leave this field empty
+   * if you assume the external package will get indexed separately. If the
+   * external package won't get indexed for some reason then you can use this
+   * field to provide hover documentation for those external symbols.
+   * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + org.scip_code.scip.SymbolInformation getExternalSymbols(int index); + /** + *
+   * (optional) Symbols that are referenced from this index but are defined in
+   * an external package (a separate `Index` message). Leave this field empty
+   * if you assume the external package will get indexed separately. If the
+   * external package won't get indexed for some reason then you can use this
+   * field to provide hover documentation for those external symbols.
+   * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + int getExternalSymbolsCount(); + /** + *
+   * (optional) Symbols that are referenced from this index but are defined in
+   * an external package (a separate `Index` message). Leave this field empty
+   * if you assume the external package will get indexed separately. If the
+   * external package won't get indexed for some reason then you can use this
+   * field to provide hover documentation for those external symbols.
+   * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + java.util.List + getExternalSymbolsOrBuilderList(); + /** + *
+   * (optional) Symbols that are referenced from this index but are defined in
+   * an external package (a separate `Index` message). Leave this field empty
+   * if you assume the external package will get indexed separately. If the
+   * external package won't get indexed for some reason then you can use this
+   * field to provide hover documentation for those external symbols.
+   * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + org.scip_code.scip.SymbolInformationOrBuilder getExternalSymbolsOrBuilder( + int index); +} diff --git a/bindings/java/src/main/java/org/scip_code/scip/Language.java b/bindings/java/src/main/java/org/scip_code/scip/Language.java new file mode 100644 index 00000000..3428ae46 --- /dev/null +++ b/bindings/java/src/main/java/org/scip_code/scip/Language.java @@ -0,0 +1,1158 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: scip.proto +// Protobuf Java Version: 4.32.1 + +package org.scip_code.scip; + +/** + *
+ * Language standardises names of common programming languages that can be used
+ * for the `Document.language` field. The primary purpose of this enum is to
+ * prevent a situation where we have a single programming language ends up with
+ * multiple string representations. For example, the C++ language uses the name
+ * "CPP" in this enum and other names such as "cpp" are incompatible.
+ * Feel free to send a pull-request to add missing programming languages.
+ * 
+ * + * Protobuf enum {@code scip.Language} + */ +@com.google.protobuf.Generated +public enum Language + implements com.google.protobuf.ProtocolMessageEnum { + /** + * UnspecifiedLanguage = 0; + */ + UnspecifiedLanguage(0), + /** + * ABAP = 60; + */ + ABAP(60), + /** + * Apex = 96; + */ + Apex(96), + /** + * APL = 49; + */ + APL(49), + /** + * Ada = 39; + */ + Ada(39), + /** + * Agda = 45; + */ + Agda(45), + /** + * AsciiDoc = 86; + */ + AsciiDoc(86), + /** + * Assembly = 58; + */ + Assembly(58), + /** + * Awk = 66; + */ + Awk(66), + /** + * Bat = 68; + */ + Bat(68), + /** + * BibTeX = 81; + */ + BibTeX(81), + /** + * C = 34; + */ + C(34), + /** + * COBOL = 59; + */ + COBOL(59), + /** + *
+   * C++ (the name "CPP" was chosen for consistency with LSP)
+   * 
+ * + * CPP = 35; + */ + CPP(35), + /** + * CSS = 26; + */ + CSS(26), + /** + * CSharp = 1; + */ + CSharp(1), + /** + * Clojure = 8; + */ + Clojure(8), + /** + * Coffeescript = 21; + */ + Coffeescript(21), + /** + * CommonLisp = 9; + */ + CommonLisp(9), + /** + * Coq = 47; + */ + Coq(47), + /** + * CUDA = 97; + */ + CUDA(97), + /** + * Dart = 3; + */ + Dart(3), + /** + * Delphi = 57; + */ + Delphi(57), + /** + * Diff = 88; + */ + Diff(88), + /** + * Dockerfile = 80; + */ + Dockerfile(80), + /** + * Dyalog = 50; + */ + Dyalog(50), + /** + * Elixir = 17; + */ + Elixir(17), + /** + * Erlang = 18; + */ + Erlang(18), + /** + * FSharp = 42; + */ + FSharp(42), + /** + * Fish = 65; + */ + Fish(65), + /** + * Flow = 24; + */ + Flow(24), + /** + * Fortran = 56; + */ + Fortran(56), + /** + * Git_Commit = 91; + */ + Git_Commit(91), + /** + * Git_Config = 89; + */ + Git_Config(89), + /** + * Git_Rebase = 92; + */ + Git_Rebase(92), + /** + * Go = 33; + */ + Go(33), + /** + * GraphQL = 98; + */ + GraphQL(98), + /** + * Groovy = 7; + */ + Groovy(7), + /** + * HTML = 30; + */ + HTML(30), + /** + * Hack = 20; + */ + Hack(20), + /** + * Handlebars = 90; + */ + Handlebars(90), + /** + * Haskell = 44; + */ + Haskell(44), + /** + * Idris = 46; + */ + Idris(46), + /** + * Ini = 72; + */ + Ini(72), + /** + * J = 51; + */ + J(51), + /** + * JSON = 75; + */ + JSON(75), + /** + * Java = 6; + */ + Java(6), + /** + * JavaScript = 22; + */ + JavaScript(22), + /** + * JavaScriptReact = 93; + */ + JavaScriptReact(93), + /** + * Jsonnet = 76; + */ + Jsonnet(76), + /** + * Julia = 55; + */ + Julia(55), + /** + * Justfile = 109; + */ + Justfile(109), + /** + * Kotlin = 4; + */ + Kotlin(4), + /** + * LaTeX = 83; + */ + LaTeX(83), + /** + * Lean = 48; + */ + Lean(48), + /** + * Less = 27; + */ + Less(27), + /** + * Lua = 12; + */ + Lua(12), + /** + * Luau = 108; + */ + Luau(108), + /** + * Makefile = 79; + */ + Makefile(79), + /** + * Markdown = 84; + */ + Markdown(84), + /** + * Matlab = 52; + */ + Matlab(52), + /** + *
+   * https://nickel-lang.org/
+   * 
+ * + * Nickel = 110; + */ + Nickel(110), + /** + * Nix = 77; + */ + Nix(77), + /** + * OCaml = 41; + */ + OCaml(41), + /** + * Objective_C = 36; + */ + Objective_C(36), + /** + * Objective_CPP = 37; + */ + Objective_CPP(37), + /** + * Pascal = 99; + */ + Pascal(99), + /** + * PHP = 19; + */ + PHP(19), + /** + * PLSQL = 70; + */ + PLSQL(70), + /** + * Perl = 13; + */ + Perl(13), + /** + * PowerShell = 67; + */ + PowerShell(67), + /** + * Prolog = 71; + */ + Prolog(71), + /** + * Protobuf = 100; + */ + Protobuf(100), + /** + * Python = 15; + */ + Python(15), + /** + * R = 54; + */ + R(54), + /** + * Racket = 11; + */ + Racket(11), + /** + * Raku = 14; + */ + Raku(14), + /** + * Razor = 62; + */ + Razor(62), + /** + *
+   * Internal language for testing SCIP
+   * 
+ * + * Repro = 102; + */ + Repro(102), + /** + * ReST = 85; + */ + ReST(85), + /** + * Ruby = 16; + */ + Ruby(16), + /** + * Rust = 40; + */ + Rust(40), + /** + * SAS = 61; + */ + SAS(61), + /** + * SCSS = 29; + */ + SCSS(29), + /** + * SML = 43; + */ + SML(43), + /** + * SQL = 69; + */ + SQL(69), + /** + * Sass = 28; + */ + Sass(28), + /** + * Scala = 5; + */ + Scala(5), + /** + * Scheme = 10; + */ + Scheme(10), + /** + *
+   * Bash
+   * 
+ * + * ShellScript = 64; + */ + ShellScript(64), + /** + * Skylark = 78; + */ + Skylark(78), + /** + * Slang = 107; + */ + Slang(107), + /** + * Solidity = 95; + */ + Solidity(95), + /** + * Svelte = 106; + */ + Svelte(106), + /** + * Swift = 2; + */ + Swift(2), + /** + * Tcl = 101; + */ + Tcl(101), + /** + * TOML = 73; + */ + TOML(73), + /** + * TeX = 82; + */ + TeX(82), + /** + * Thrift = 103; + */ + Thrift(103), + /** + * TypeScript = 23; + */ + TypeScript(23), + /** + * TypeScriptReact = 94; + */ + TypeScriptReact(94), + /** + * Verilog = 104; + */ + Verilog(104), + /** + * VHDL = 105; + */ + VHDL(105), + /** + * VisualBasic = 63; + */ + VisualBasic(63), + /** + * Vue = 25; + */ + Vue(25), + /** + * Wolfram = 53; + */ + Wolfram(53), + /** + * XML = 31; + */ + XML(31), + /** + * XSL = 32; + */ + XSL(32), + /** + * YAML = 74; + */ + YAML(74), + /** + *
+   * NextLanguage = 111;
+   * Steps add a new language:
+   * 1. Copy-paste the "NextLanguage = N" line above
+   * 2. Increment "NextLanguage = N" to "NextLanguage = N+1"
+   * 3. Replace "NextLanguage = N" with the name of the new language.
+   * 4. Move the new language to the correct line above using alphabetical order
+   * 5. (optional) Add a brief comment behind the language if the name is not self-explanatory
+   * 
+ * + * Zig = 38; + */ + Zig(38), + UNRECOGNIZED(-1), + ; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 32, + /* patch= */ 1, + /* suffix= */ "", + Language.class.getName()); + } + /** + * UnspecifiedLanguage = 0; + */ + public static final int UnspecifiedLanguage_VALUE = 0; + /** + * ABAP = 60; + */ + public static final int ABAP_VALUE = 60; + /** + * Apex = 96; + */ + public static final int Apex_VALUE = 96; + /** + * APL = 49; + */ + public static final int APL_VALUE = 49; + /** + * Ada = 39; + */ + public static final int Ada_VALUE = 39; + /** + * Agda = 45; + */ + public static final int Agda_VALUE = 45; + /** + * AsciiDoc = 86; + */ + public static final int AsciiDoc_VALUE = 86; + /** + * Assembly = 58; + */ + public static final int Assembly_VALUE = 58; + /** + * Awk = 66; + */ + public static final int Awk_VALUE = 66; + /** + * Bat = 68; + */ + public static final int Bat_VALUE = 68; + /** + * BibTeX = 81; + */ + public static final int BibTeX_VALUE = 81; + /** + * C = 34; + */ + public static final int C_VALUE = 34; + /** + * COBOL = 59; + */ + public static final int COBOL_VALUE = 59; + /** + *
+   * C++ (the name "CPP" was chosen for consistency with LSP)
+   * 
+ * + * CPP = 35; + */ + public static final int CPP_VALUE = 35; + /** + * CSS = 26; + */ + public static final int CSS_VALUE = 26; + /** + * CSharp = 1; + */ + public static final int CSharp_VALUE = 1; + /** + * Clojure = 8; + */ + public static final int Clojure_VALUE = 8; + /** + * Coffeescript = 21; + */ + public static final int Coffeescript_VALUE = 21; + /** + * CommonLisp = 9; + */ + public static final int CommonLisp_VALUE = 9; + /** + * Coq = 47; + */ + public static final int Coq_VALUE = 47; + /** + * CUDA = 97; + */ + public static final int CUDA_VALUE = 97; + /** + * Dart = 3; + */ + public static final int Dart_VALUE = 3; + /** + * Delphi = 57; + */ + public static final int Delphi_VALUE = 57; + /** + * Diff = 88; + */ + public static final int Diff_VALUE = 88; + /** + * Dockerfile = 80; + */ + public static final int Dockerfile_VALUE = 80; + /** + * Dyalog = 50; + */ + public static final int Dyalog_VALUE = 50; + /** + * Elixir = 17; + */ + public static final int Elixir_VALUE = 17; + /** + * Erlang = 18; + */ + public static final int Erlang_VALUE = 18; + /** + * FSharp = 42; + */ + public static final int FSharp_VALUE = 42; + /** + * Fish = 65; + */ + public static final int Fish_VALUE = 65; + /** + * Flow = 24; + */ + public static final int Flow_VALUE = 24; + /** + * Fortran = 56; + */ + public static final int Fortran_VALUE = 56; + /** + * Git_Commit = 91; + */ + public static final int Git_Commit_VALUE = 91; + /** + * Git_Config = 89; + */ + public static final int Git_Config_VALUE = 89; + /** + * Git_Rebase = 92; + */ + public static final int Git_Rebase_VALUE = 92; + /** + * Go = 33; + */ + public static final int Go_VALUE = 33; + /** + * GraphQL = 98; + */ + public static final int GraphQL_VALUE = 98; + /** + * Groovy = 7; + */ + public static final int Groovy_VALUE = 7; + /** + * HTML = 30; + */ + public static final int HTML_VALUE = 30; + /** + * Hack = 20; + */ + public static final int Hack_VALUE = 20; + /** + * Handlebars = 90; + */ + public static final int Handlebars_VALUE = 90; + /** + * Haskell = 44; + */ + public static final int Haskell_VALUE = 44; + /** + * Idris = 46; + */ + public static final int Idris_VALUE = 46; + /** + * Ini = 72; + */ + public static final int Ini_VALUE = 72; + /** + * J = 51; + */ + public static final int J_VALUE = 51; + /** + * JSON = 75; + */ + public static final int JSON_VALUE = 75; + /** + * Java = 6; + */ + public static final int Java_VALUE = 6; + /** + * JavaScript = 22; + */ + public static final int JavaScript_VALUE = 22; + /** + * JavaScriptReact = 93; + */ + public static final int JavaScriptReact_VALUE = 93; + /** + * Jsonnet = 76; + */ + public static final int Jsonnet_VALUE = 76; + /** + * Julia = 55; + */ + public static final int Julia_VALUE = 55; + /** + * Justfile = 109; + */ + public static final int Justfile_VALUE = 109; + /** + * Kotlin = 4; + */ + public static final int Kotlin_VALUE = 4; + /** + * LaTeX = 83; + */ + public static final int LaTeX_VALUE = 83; + /** + * Lean = 48; + */ + public static final int Lean_VALUE = 48; + /** + * Less = 27; + */ + public static final int Less_VALUE = 27; + /** + * Lua = 12; + */ + public static final int Lua_VALUE = 12; + /** + * Luau = 108; + */ + public static final int Luau_VALUE = 108; + /** + * Makefile = 79; + */ + public static final int Makefile_VALUE = 79; + /** + * Markdown = 84; + */ + public static final int Markdown_VALUE = 84; + /** + * Matlab = 52; + */ + public static final int Matlab_VALUE = 52; + /** + *
+   * https://nickel-lang.org/
+   * 
+ * + * Nickel = 110; + */ + public static final int Nickel_VALUE = 110; + /** + * Nix = 77; + */ + public static final int Nix_VALUE = 77; + /** + * OCaml = 41; + */ + public static final int OCaml_VALUE = 41; + /** + * Objective_C = 36; + */ + public static final int Objective_C_VALUE = 36; + /** + * Objective_CPP = 37; + */ + public static final int Objective_CPP_VALUE = 37; + /** + * Pascal = 99; + */ + public static final int Pascal_VALUE = 99; + /** + * PHP = 19; + */ + public static final int PHP_VALUE = 19; + /** + * PLSQL = 70; + */ + public static final int PLSQL_VALUE = 70; + /** + * Perl = 13; + */ + public static final int Perl_VALUE = 13; + /** + * PowerShell = 67; + */ + public static final int PowerShell_VALUE = 67; + /** + * Prolog = 71; + */ + public static final int Prolog_VALUE = 71; + /** + * Protobuf = 100; + */ + public static final int Protobuf_VALUE = 100; + /** + * Python = 15; + */ + public static final int Python_VALUE = 15; + /** + * R = 54; + */ + public static final int R_VALUE = 54; + /** + * Racket = 11; + */ + public static final int Racket_VALUE = 11; + /** + * Raku = 14; + */ + public static final int Raku_VALUE = 14; + /** + * Razor = 62; + */ + public static final int Razor_VALUE = 62; + /** + *
+   * Internal language for testing SCIP
+   * 
+ * + * Repro = 102; + */ + public static final int Repro_VALUE = 102; + /** + * ReST = 85; + */ + public static final int ReST_VALUE = 85; + /** + * Ruby = 16; + */ + public static final int Ruby_VALUE = 16; + /** + * Rust = 40; + */ + public static final int Rust_VALUE = 40; + /** + * SAS = 61; + */ + public static final int SAS_VALUE = 61; + /** + * SCSS = 29; + */ + public static final int SCSS_VALUE = 29; + /** + * SML = 43; + */ + public static final int SML_VALUE = 43; + /** + * SQL = 69; + */ + public static final int SQL_VALUE = 69; + /** + * Sass = 28; + */ + public static final int Sass_VALUE = 28; + /** + * Scala = 5; + */ + public static final int Scala_VALUE = 5; + /** + * Scheme = 10; + */ + public static final int Scheme_VALUE = 10; + /** + *
+   * Bash
+   * 
+ * + * ShellScript = 64; + */ + public static final int ShellScript_VALUE = 64; + /** + * Skylark = 78; + */ + public static final int Skylark_VALUE = 78; + /** + * Slang = 107; + */ + public static final int Slang_VALUE = 107; + /** + * Solidity = 95; + */ + public static final int Solidity_VALUE = 95; + /** + * Svelte = 106; + */ + public static final int Svelte_VALUE = 106; + /** + * Swift = 2; + */ + public static final int Swift_VALUE = 2; + /** + * Tcl = 101; + */ + public static final int Tcl_VALUE = 101; + /** + * TOML = 73; + */ + public static final int TOML_VALUE = 73; + /** + * TeX = 82; + */ + public static final int TeX_VALUE = 82; + /** + * Thrift = 103; + */ + public static final int Thrift_VALUE = 103; + /** + * TypeScript = 23; + */ + public static final int TypeScript_VALUE = 23; + /** + * TypeScriptReact = 94; + */ + public static final int TypeScriptReact_VALUE = 94; + /** + * Verilog = 104; + */ + public static final int Verilog_VALUE = 104; + /** + * VHDL = 105; + */ + public static final int VHDL_VALUE = 105; + /** + * VisualBasic = 63; + */ + public static final int VisualBasic_VALUE = 63; + /** + * Vue = 25; + */ + public static final int Vue_VALUE = 25; + /** + * Wolfram = 53; + */ + public static final int Wolfram_VALUE = 53; + /** + * XML = 31; + */ + public static final int XML_VALUE = 31; + /** + * XSL = 32; + */ + public static final int XSL_VALUE = 32; + /** + * YAML = 74; + */ + public static final int YAML_VALUE = 74; + /** + *
+   * NextLanguage = 111;
+   * Steps add a new language:
+   * 1. Copy-paste the "NextLanguage = N" line above
+   * 2. Increment "NextLanguage = N" to "NextLanguage = N+1"
+   * 3. Replace "NextLanguage = N" with the name of the new language.
+   * 4. Move the new language to the correct line above using alphabetical order
+   * 5. (optional) Add a brief comment behind the language if the name is not self-explanatory
+   * 
+ * + * Zig = 38; + */ + public static final int Zig_VALUE = 38; + + + 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 UnspecifiedLanguage; + case 60: return ABAP; + case 96: return Apex; + case 49: return APL; + case 39: return Ada; + case 45: return Agda; + case 86: return AsciiDoc; + case 58: return Assembly; + case 66: return Awk; + case 68: return Bat; + case 81: return BibTeX; + case 34: return C; + case 59: return COBOL; + case 35: return CPP; + case 26: return CSS; + case 1: return CSharp; + case 8: return Clojure; + case 21: return Coffeescript; + case 9: return CommonLisp; + case 47: return Coq; + case 97: return CUDA; + case 3: return Dart; + case 57: return Delphi; + case 88: return Diff; + case 80: return Dockerfile; + case 50: return Dyalog; + case 17: return Elixir; + case 18: return Erlang; + case 42: return FSharp; + case 65: return Fish; + case 24: return Flow; + case 56: return Fortran; + case 91: return Git_Commit; + case 89: return Git_Config; + case 92: return Git_Rebase; + case 33: return Go; + case 98: return GraphQL; + case 7: return Groovy; + case 30: return HTML; + case 20: return Hack; + case 90: return Handlebars; + case 44: return Haskell; + case 46: return Idris; + case 72: return Ini; + case 51: return J; + case 75: return JSON; + case 6: return Java; + case 22: return JavaScript; + case 93: return JavaScriptReact; + case 76: return Jsonnet; + case 55: return Julia; + case 109: return Justfile; + case 4: return Kotlin; + case 83: return LaTeX; + case 48: return Lean; + case 27: return Less; + case 12: return Lua; + case 108: return Luau; + case 79: return Makefile; + case 84: return Markdown; + case 52: return Matlab; + case 110: return Nickel; + case 77: return Nix; + case 41: return OCaml; + case 36: return Objective_C; + case 37: return Objective_CPP; + case 99: return Pascal; + case 19: return PHP; + case 70: return PLSQL; + case 13: return Perl; + case 67: return PowerShell; + case 71: return Prolog; + case 100: return Protobuf; + case 15: return Python; + case 54: return R; + case 11: return Racket; + case 14: return Raku; + case 62: return Razor; + case 102: return Repro; + case 85: return ReST; + case 16: return Ruby; + case 40: return Rust; + case 61: return SAS; + case 29: return SCSS; + case 43: return SML; + case 69: return SQL; + case 28: return Sass; + case 5: return Scala; + case 10: return Scheme; + case 64: return ShellScript; + case 78: return Skylark; + case 107: return Slang; + case 95: return Solidity; + case 106: return Svelte; + case 2: return Swift; + case 101: return Tcl; + case 73: return TOML; + case 82: return TeX; + case 103: return Thrift; + case 23: return TypeScript; + case 94: return TypeScriptReact; + case 104: return Verilog; + case 105: return VHDL; + case 63: return VisualBasic; + case 25: return Vue; + case 53: return Wolfram; + case 31: return XML; + case 32: return XSL; + case 74: return YAML; + case 38: return Zig; + 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 com.google.protobuf.Descriptors.EnumDescriptor + getDescriptor() { + return org.scip_code.scip.ScipProto.getDescriptor().getEnumTypes().get(7); + } + + 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:scip.Language) +} + diff --git a/bindings/java/src/main/java/org/scip_code/scip/Metadata.java b/bindings/java/src/main/java/org/scip_code/scip/Metadata.java new file mode 100644 index 00000000..496cbf16 --- /dev/null +++ b/bindings/java/src/main/java/org/scip_code/scip/Metadata.java @@ -0,0 +1,1039 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: scip.proto +// Protobuf Java Version: 4.32.1 + +package org.scip_code.scip; + +/** + * Protobuf type {@code scip.Metadata} + */ +@com.google.protobuf.Generated +public final class Metadata extends + com.google.protobuf.GeneratedMessage implements + // @@protoc_insertion_point(message_implements:scip.Metadata) + MetadataOrBuilder { +private static final long serialVersionUID = 0L; + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 32, + /* patch= */ 1, + /* suffix= */ "", + Metadata.class.getName()); + } + // Use Metadata.newBuilder() to construct. + private Metadata(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + private Metadata() { + version_ = 0; + projectRoot_ = ""; + textDocumentEncoding_ = 0; + } + + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.scip_code.scip.ScipProto.internal_static_scip_Metadata_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.scip_code.scip.ScipProto.internal_static_scip_Metadata_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.scip_code.scip.Metadata.class, org.scip_code.scip.Metadata.Builder.class); + } + + private int bitField0_; + public static final int VERSION_FIELD_NUMBER = 1; + private int version_ = 0; + /** + *
+   * Which version of this protocol was used to generate this index?
+   * 
+ * + * .scip.ProtocolVersion version = 1 [json_name = "version"]; + * @return The enum numeric value on the wire for version. + */ + @java.lang.Override public int getVersionValue() { + return version_; + } + /** + *
+   * Which version of this protocol was used to generate this index?
+   * 
+ * + * .scip.ProtocolVersion version = 1 [json_name = "version"]; + * @return The version. + */ + @java.lang.Override public org.scip_code.scip.ProtocolVersion getVersion() { + org.scip_code.scip.ProtocolVersion result = org.scip_code.scip.ProtocolVersion.forNumber(version_); + return result == null ? org.scip_code.scip.ProtocolVersion.UNRECOGNIZED : result; + } + + public static final int TOOL_INFO_FIELD_NUMBER = 2; + private org.scip_code.scip.ToolInfo toolInfo_; + /** + *
+   * Information about the tool that produced this index.
+   * 
+ * + * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; + * @return Whether the toolInfo field is set. + */ + @java.lang.Override + public boolean hasToolInfo() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + *
+   * Information about the tool that produced this index.
+   * 
+ * + * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; + * @return The toolInfo. + */ + @java.lang.Override + public org.scip_code.scip.ToolInfo getToolInfo() { + return toolInfo_ == null ? org.scip_code.scip.ToolInfo.getDefaultInstance() : toolInfo_; + } + /** + *
+   * Information about the tool that produced this index.
+   * 
+ * + * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; + */ + @java.lang.Override + public org.scip_code.scip.ToolInfoOrBuilder getToolInfoOrBuilder() { + return toolInfo_ == null ? org.scip_code.scip.ToolInfo.getDefaultInstance() : toolInfo_; + } + + public static final int PROJECT_ROOT_FIELD_NUMBER = 3; + @SuppressWarnings("serial") + private volatile java.lang.Object projectRoot_ = ""; + /** + *
+   * URI-encoded absolute path to the root directory of this index. All
+   * documents in this index must appear in a subdirectory of this root
+   * directory.
+   * 
+ * + * string project_root = 3 [json_name = "projectRoot"]; + * @return The projectRoot. + */ + @java.lang.Override + public java.lang.String getProjectRoot() { + java.lang.Object ref = projectRoot_; + 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(); + projectRoot_ = s; + return s; + } + } + /** + *
+   * URI-encoded absolute path to the root directory of this index. All
+   * documents in this index must appear in a subdirectory of this root
+   * directory.
+   * 
+ * + * string project_root = 3 [json_name = "projectRoot"]; + * @return The bytes for projectRoot. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getProjectRootBytes() { + java.lang.Object ref = projectRoot_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + projectRoot_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int TEXT_DOCUMENT_ENCODING_FIELD_NUMBER = 4; + private int textDocumentEncoding_ = 0; + /** + *
+   * Text encoding of the source files on disk that are referenced from
+   * `Document.relative_path`. This value is unrelated to the `Document.text`
+   * field, which is a Protobuf string and hence must be UTF-8 encoded.
+   * 
+ * + * .scip.TextEncoding text_document_encoding = 4 [json_name = "textDocumentEncoding"]; + * @return The enum numeric value on the wire for textDocumentEncoding. + */ + @java.lang.Override public int getTextDocumentEncodingValue() { + return textDocumentEncoding_; + } + /** + *
+   * Text encoding of the source files on disk that are referenced from
+   * `Document.relative_path`. This value is unrelated to the `Document.text`
+   * field, which is a Protobuf string and hence must be UTF-8 encoded.
+   * 
+ * + * .scip.TextEncoding text_document_encoding = 4 [json_name = "textDocumentEncoding"]; + * @return The textDocumentEncoding. + */ + @java.lang.Override public org.scip_code.scip.TextEncoding getTextDocumentEncoding() { + org.scip_code.scip.TextEncoding result = org.scip_code.scip.TextEncoding.forNumber(textDocumentEncoding_); + return result == null ? org.scip_code.scip.TextEncoding.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 (version_ != org.scip_code.scip.ProtocolVersion.UnspecifiedProtocolVersion.getNumber()) { + output.writeEnum(1, version_); + } + if (((bitField0_ & 0x00000001) != 0)) { + output.writeMessage(2, getToolInfo()); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(projectRoot_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 3, projectRoot_); + } + if (textDocumentEncoding_ != org.scip_code.scip.TextEncoding.UnspecifiedTextEncoding.getNumber()) { + output.writeEnum(4, textDocumentEncoding_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (version_ != org.scip_code.scip.ProtocolVersion.UnspecifiedProtocolVersion.getNumber()) { + size += com.google.protobuf.CodedOutputStream + .computeEnumSize(1, version_); + } + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(2, getToolInfo()); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(projectRoot_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(3, projectRoot_); + } + if (textDocumentEncoding_ != org.scip_code.scip.TextEncoding.UnspecifiedTextEncoding.getNumber()) { + size += com.google.protobuf.CodedOutputStream + .computeEnumSize(4, textDocumentEncoding_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof org.scip_code.scip.Metadata)) { + return super.equals(obj); + } + org.scip_code.scip.Metadata other = (org.scip_code.scip.Metadata) obj; + + if (version_ != other.version_) return false; + if (hasToolInfo() != other.hasToolInfo()) return false; + if (hasToolInfo()) { + if (!getToolInfo() + .equals(other.getToolInfo())) return false; + } + if (!getProjectRoot() + .equals(other.getProjectRoot())) return false; + if (textDocumentEncoding_ != other.textDocumentEncoding_) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) 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) + VERSION_FIELD_NUMBER; + hash = (53 * hash) + version_; + if (hasToolInfo()) { + hash = (37 * hash) + TOOL_INFO_FIELD_NUMBER; + hash = (53 * hash) + getToolInfo().hashCode(); + } + hash = (37 * hash) + PROJECT_ROOT_FIELD_NUMBER; + hash = (53 * hash) + getProjectRoot().hashCode(); + hash = (37 * hash) + TEXT_DOCUMENT_ENCODING_FIELD_NUMBER; + hash = (53 * hash) + textDocumentEncoding_; + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static org.scip_code.scip.Metadata parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.scip_code.scip.Metadata parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.scip_code.scip.Metadata parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.scip_code.scip.Metadata parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.scip_code.scip.Metadata parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.scip_code.scip.Metadata parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.scip_code.scip.Metadata parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static org.scip_code.scip.Metadata parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public static org.scip_code.scip.Metadata parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input); + } + + public static org.scip_code.scip.Metadata parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static org.scip_code.scip.Metadata parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static org.scip_code.scip.Metadata parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(org.scip_code.scip.Metadata 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code scip.Metadata} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder implements + // @@protoc_insertion_point(builder_implements:scip.Metadata) + org.scip_code.scip.MetadataOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.scip_code.scip.ScipProto.internal_static_scip_Metadata_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.scip_code.scip.ScipProto.internal_static_scip_Metadata_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.scip_code.scip.Metadata.class, org.scip_code.scip.Metadata.Builder.class); + } + + // Construct using org.scip_code.scip.Metadata.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage + .alwaysUseFieldBuilders) { + internalGetToolInfoFieldBuilder(); + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + version_ = 0; + toolInfo_ = null; + if (toolInfoBuilder_ != null) { + toolInfoBuilder_.dispose(); + toolInfoBuilder_ = null; + } + projectRoot_ = ""; + textDocumentEncoding_ = 0; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return org.scip_code.scip.ScipProto.internal_static_scip_Metadata_descriptor; + } + + @java.lang.Override + public org.scip_code.scip.Metadata getDefaultInstanceForType() { + return org.scip_code.scip.Metadata.getDefaultInstance(); + } + + @java.lang.Override + public org.scip_code.scip.Metadata build() { + org.scip_code.scip.Metadata result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public org.scip_code.scip.Metadata buildPartial() { + org.scip_code.scip.Metadata result = new org.scip_code.scip.Metadata(this); + if (bitField0_ != 0) { buildPartial0(result); } + onBuilt(); + return result; + } + + private void buildPartial0(org.scip_code.scip.Metadata result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.version_ = version_; + } + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000002) != 0)) { + result.toolInfo_ = toolInfoBuilder_ == null + ? toolInfo_ + : toolInfoBuilder_.build(); + to_bitField0_ |= 0x00000001; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.projectRoot_ = projectRoot_; + } + if (((from_bitField0_ & 0x00000008) != 0)) { + result.textDocumentEncoding_ = textDocumentEncoding_; + } + result.bitField0_ |= to_bitField0_; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof org.scip_code.scip.Metadata) { + return mergeFrom((org.scip_code.scip.Metadata)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(org.scip_code.scip.Metadata other) { + if (other == org.scip_code.scip.Metadata.getDefaultInstance()) return this; + if (other.version_ != 0) { + setVersionValue(other.getVersionValue()); + } + if (other.hasToolInfo()) { + mergeToolInfo(other.getToolInfo()); + } + if (!other.getProjectRoot().isEmpty()) { + projectRoot_ = other.projectRoot_; + bitField0_ |= 0x00000004; + onChanged(); + } + if (other.textDocumentEncoding_ != 0) { + setTextDocumentEncodingValue(other.getTextDocumentEncodingValue()); + } + this.mergeUnknownFields(other.getUnknownFields()); + 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 { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: { + version_ = input.readEnum(); + bitField0_ |= 0x00000001; + break; + } // case 8 + case 18: { + input.readMessage( + internalGetToolInfoFieldBuilder().getBuilder(), + extensionRegistry); + bitField0_ |= 0x00000002; + break; + } // case 18 + case 26: { + projectRoot_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000004; + break; + } // case 26 + case 32: { + textDocumentEncoding_ = input.readEnum(); + bitField0_ |= 0x00000008; + break; + } // case 32 + default: { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + private int bitField0_; + + private int version_ = 0; + /** + *
+     * Which version of this protocol was used to generate this index?
+     * 
+ * + * .scip.ProtocolVersion version = 1 [json_name = "version"]; + * @return The enum numeric value on the wire for version. + */ + @java.lang.Override public int getVersionValue() { + return version_; + } + /** + *
+     * Which version of this protocol was used to generate this index?
+     * 
+ * + * .scip.ProtocolVersion version = 1 [json_name = "version"]; + * @param value The enum numeric value on the wire for version to set. + * @return This builder for chaining. + */ + public Builder setVersionValue(int value) { + version_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + /** + *
+     * Which version of this protocol was used to generate this index?
+     * 
+ * + * .scip.ProtocolVersion version = 1 [json_name = "version"]; + * @return The version. + */ + @java.lang.Override + public org.scip_code.scip.ProtocolVersion getVersion() { + org.scip_code.scip.ProtocolVersion result = org.scip_code.scip.ProtocolVersion.forNumber(version_); + return result == null ? org.scip_code.scip.ProtocolVersion.UNRECOGNIZED : result; + } + /** + *
+     * Which version of this protocol was used to generate this index?
+     * 
+ * + * .scip.ProtocolVersion version = 1 [json_name = "version"]; + * @param value The version to set. + * @return This builder for chaining. + */ + public Builder setVersion(org.scip_code.scip.ProtocolVersion value) { + if (value == null) { throw new NullPointerException(); } + bitField0_ |= 0x00000001; + version_ = value.getNumber(); + onChanged(); + return this; + } + /** + *
+     * Which version of this protocol was used to generate this index?
+     * 
+ * + * .scip.ProtocolVersion version = 1 [json_name = "version"]; + * @return This builder for chaining. + */ + public Builder clearVersion() { + bitField0_ = (bitField0_ & ~0x00000001); + version_ = 0; + onChanged(); + return this; + } + + private org.scip_code.scip.ToolInfo toolInfo_; + private com.google.protobuf.SingleFieldBuilder< + org.scip_code.scip.ToolInfo, org.scip_code.scip.ToolInfo.Builder, org.scip_code.scip.ToolInfoOrBuilder> toolInfoBuilder_; + /** + *
+     * Information about the tool that produced this index.
+     * 
+ * + * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; + * @return Whether the toolInfo field is set. + */ + public boolean hasToolInfo() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + *
+     * Information about the tool that produced this index.
+     * 
+ * + * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; + * @return The toolInfo. + */ + public org.scip_code.scip.ToolInfo getToolInfo() { + if (toolInfoBuilder_ == null) { + return toolInfo_ == null ? org.scip_code.scip.ToolInfo.getDefaultInstance() : toolInfo_; + } else { + return toolInfoBuilder_.getMessage(); + } + } + /** + *
+     * Information about the tool that produced this index.
+     * 
+ * + * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; + */ + public Builder setToolInfo(org.scip_code.scip.ToolInfo value) { + if (toolInfoBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + toolInfo_ = value; + } else { + toolInfoBuilder_.setMessage(value); + } + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + /** + *
+     * Information about the tool that produced this index.
+     * 
+ * + * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; + */ + public Builder setToolInfo( + org.scip_code.scip.ToolInfo.Builder builderForValue) { + if (toolInfoBuilder_ == null) { + toolInfo_ = builderForValue.build(); + } else { + toolInfoBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + /** + *
+     * Information about the tool that produced this index.
+     * 
+ * + * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; + */ + public Builder mergeToolInfo(org.scip_code.scip.ToolInfo value) { + if (toolInfoBuilder_ == null) { + if (((bitField0_ & 0x00000002) != 0) && + toolInfo_ != null && + toolInfo_ != org.scip_code.scip.ToolInfo.getDefaultInstance()) { + getToolInfoBuilder().mergeFrom(value); + } else { + toolInfo_ = value; + } + } else { + toolInfoBuilder_.mergeFrom(value); + } + if (toolInfo_ != null) { + bitField0_ |= 0x00000002; + onChanged(); + } + return this; + } + /** + *
+     * Information about the tool that produced this index.
+     * 
+ * + * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; + */ + public Builder clearToolInfo() { + bitField0_ = (bitField0_ & ~0x00000002); + toolInfo_ = null; + if (toolInfoBuilder_ != null) { + toolInfoBuilder_.dispose(); + toolInfoBuilder_ = null; + } + onChanged(); + return this; + } + /** + *
+     * Information about the tool that produced this index.
+     * 
+ * + * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; + */ + public org.scip_code.scip.ToolInfo.Builder getToolInfoBuilder() { + bitField0_ |= 0x00000002; + onChanged(); + return internalGetToolInfoFieldBuilder().getBuilder(); + } + /** + *
+     * Information about the tool that produced this index.
+     * 
+ * + * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; + */ + public org.scip_code.scip.ToolInfoOrBuilder getToolInfoOrBuilder() { + if (toolInfoBuilder_ != null) { + return toolInfoBuilder_.getMessageOrBuilder(); + } else { + return toolInfo_ == null ? + org.scip_code.scip.ToolInfo.getDefaultInstance() : toolInfo_; + } + } + /** + *
+     * Information about the tool that produced this index.
+     * 
+ * + * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; + */ + private com.google.protobuf.SingleFieldBuilder< + org.scip_code.scip.ToolInfo, org.scip_code.scip.ToolInfo.Builder, org.scip_code.scip.ToolInfoOrBuilder> + internalGetToolInfoFieldBuilder() { + if (toolInfoBuilder_ == null) { + toolInfoBuilder_ = new com.google.protobuf.SingleFieldBuilder< + org.scip_code.scip.ToolInfo, org.scip_code.scip.ToolInfo.Builder, org.scip_code.scip.ToolInfoOrBuilder>( + getToolInfo(), + getParentForChildren(), + isClean()); + toolInfo_ = null; + } + return toolInfoBuilder_; + } + + private java.lang.Object projectRoot_ = ""; + /** + *
+     * URI-encoded absolute path to the root directory of this index. All
+     * documents in this index must appear in a subdirectory of this root
+     * directory.
+     * 
+ * + * string project_root = 3 [json_name = "projectRoot"]; + * @return The projectRoot. + */ + public java.lang.String getProjectRoot() { + java.lang.Object ref = projectRoot_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + projectRoot_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + *
+     * URI-encoded absolute path to the root directory of this index. All
+     * documents in this index must appear in a subdirectory of this root
+     * directory.
+     * 
+ * + * string project_root = 3 [json_name = "projectRoot"]; + * @return The bytes for projectRoot. + */ + public com.google.protobuf.ByteString + getProjectRootBytes() { + java.lang.Object ref = projectRoot_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + projectRoot_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + *
+     * URI-encoded absolute path to the root directory of this index. All
+     * documents in this index must appear in a subdirectory of this root
+     * directory.
+     * 
+ * + * string project_root = 3 [json_name = "projectRoot"]; + * @param value The projectRoot to set. + * @return This builder for chaining. + */ + public Builder setProjectRoot( + java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + projectRoot_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + /** + *
+     * URI-encoded absolute path to the root directory of this index. All
+     * documents in this index must appear in a subdirectory of this root
+     * directory.
+     * 
+ * + * string project_root = 3 [json_name = "projectRoot"]; + * @return This builder for chaining. + */ + public Builder clearProjectRoot() { + projectRoot_ = getDefaultInstance().getProjectRoot(); + bitField0_ = (bitField0_ & ~0x00000004); + onChanged(); + return this; + } + /** + *
+     * URI-encoded absolute path to the root directory of this index. All
+     * documents in this index must appear in a subdirectory of this root
+     * directory.
+     * 
+ * + * string project_root = 3 [json_name = "projectRoot"]; + * @param value The bytes for projectRoot to set. + * @return This builder for chaining. + */ + public Builder setProjectRootBytes( + com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + checkByteStringIsUtf8(value); + projectRoot_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + private int textDocumentEncoding_ = 0; + /** + *
+     * Text encoding of the source files on disk that are referenced from
+     * `Document.relative_path`. This value is unrelated to the `Document.text`
+     * field, which is a Protobuf string and hence must be UTF-8 encoded.
+     * 
+ * + * .scip.TextEncoding text_document_encoding = 4 [json_name = "textDocumentEncoding"]; + * @return The enum numeric value on the wire for textDocumentEncoding. + */ + @java.lang.Override public int getTextDocumentEncodingValue() { + return textDocumentEncoding_; + } + /** + *
+     * Text encoding of the source files on disk that are referenced from
+     * `Document.relative_path`. This value is unrelated to the `Document.text`
+     * field, which is a Protobuf string and hence must be UTF-8 encoded.
+     * 
+ * + * .scip.TextEncoding text_document_encoding = 4 [json_name = "textDocumentEncoding"]; + * @param value The enum numeric value on the wire for textDocumentEncoding to set. + * @return This builder for chaining. + */ + public Builder setTextDocumentEncodingValue(int value) { + textDocumentEncoding_ = value; + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + /** + *
+     * Text encoding of the source files on disk that are referenced from
+     * `Document.relative_path`. This value is unrelated to the `Document.text`
+     * field, which is a Protobuf string and hence must be UTF-8 encoded.
+     * 
+ * + * .scip.TextEncoding text_document_encoding = 4 [json_name = "textDocumentEncoding"]; + * @return The textDocumentEncoding. + */ + @java.lang.Override + public org.scip_code.scip.TextEncoding getTextDocumentEncoding() { + org.scip_code.scip.TextEncoding result = org.scip_code.scip.TextEncoding.forNumber(textDocumentEncoding_); + return result == null ? org.scip_code.scip.TextEncoding.UNRECOGNIZED : result; + } + /** + *
+     * Text encoding of the source files on disk that are referenced from
+     * `Document.relative_path`. This value is unrelated to the `Document.text`
+     * field, which is a Protobuf string and hence must be UTF-8 encoded.
+     * 
+ * + * .scip.TextEncoding text_document_encoding = 4 [json_name = "textDocumentEncoding"]; + * @param value The textDocumentEncoding to set. + * @return This builder for chaining. + */ + public Builder setTextDocumentEncoding(org.scip_code.scip.TextEncoding value) { + if (value == null) { throw new NullPointerException(); } + bitField0_ |= 0x00000008; + textDocumentEncoding_ = value.getNumber(); + onChanged(); + return this; + } + /** + *
+     * Text encoding of the source files on disk that are referenced from
+     * `Document.relative_path`. This value is unrelated to the `Document.text`
+     * field, which is a Protobuf string and hence must be UTF-8 encoded.
+     * 
+ * + * .scip.TextEncoding text_document_encoding = 4 [json_name = "textDocumentEncoding"]; + * @return This builder for chaining. + */ + public Builder clearTextDocumentEncoding() { + bitField0_ = (bitField0_ & ~0x00000008); + textDocumentEncoding_ = 0; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:scip.Metadata) + } + + // @@protoc_insertion_point(class_scope:scip.Metadata) + private static final org.scip_code.scip.Metadata DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new org.scip_code.scip.Metadata(); + } + + public static org.scip_code.scip.Metadata getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public Metadata parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public org.scip_code.scip.Metadata getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + +} + diff --git a/bindings/java/src/main/java/org/scip_code/scip/MetadataOrBuilder.java b/bindings/java/src/main/java/org/scip_code/scip/MetadataOrBuilder.java new file mode 100644 index 00000000..83212b96 --- /dev/null +++ b/bindings/java/src/main/java/org/scip_code/scip/MetadataOrBuilder.java @@ -0,0 +1,105 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: scip.proto +// Protobuf Java Version: 4.32.1 + +package org.scip_code.scip; + +@com.google.protobuf.Generated +public interface MetadataOrBuilder extends + // @@protoc_insertion_point(interface_extends:scip.Metadata) + com.google.protobuf.MessageOrBuilder { + + /** + *
+   * Which version of this protocol was used to generate this index?
+   * 
+ * + * .scip.ProtocolVersion version = 1 [json_name = "version"]; + * @return The enum numeric value on the wire for version. + */ + int getVersionValue(); + /** + *
+   * Which version of this protocol was used to generate this index?
+   * 
+ * + * .scip.ProtocolVersion version = 1 [json_name = "version"]; + * @return The version. + */ + org.scip_code.scip.ProtocolVersion getVersion(); + + /** + *
+   * Information about the tool that produced this index.
+   * 
+ * + * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; + * @return Whether the toolInfo field is set. + */ + boolean hasToolInfo(); + /** + *
+   * Information about the tool that produced this index.
+   * 
+ * + * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; + * @return The toolInfo. + */ + org.scip_code.scip.ToolInfo getToolInfo(); + /** + *
+   * Information about the tool that produced this index.
+   * 
+ * + * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; + */ + org.scip_code.scip.ToolInfoOrBuilder getToolInfoOrBuilder(); + + /** + *
+   * URI-encoded absolute path to the root directory of this index. All
+   * documents in this index must appear in a subdirectory of this root
+   * directory.
+   * 
+ * + * string project_root = 3 [json_name = "projectRoot"]; + * @return The projectRoot. + */ + java.lang.String getProjectRoot(); + /** + *
+   * URI-encoded absolute path to the root directory of this index. All
+   * documents in this index must appear in a subdirectory of this root
+   * directory.
+   * 
+ * + * string project_root = 3 [json_name = "projectRoot"]; + * @return The bytes for projectRoot. + */ + com.google.protobuf.ByteString + getProjectRootBytes(); + + /** + *
+   * Text encoding of the source files on disk that are referenced from
+   * `Document.relative_path`. This value is unrelated to the `Document.text`
+   * field, which is a Protobuf string and hence must be UTF-8 encoded.
+   * 
+ * + * .scip.TextEncoding text_document_encoding = 4 [json_name = "textDocumentEncoding"]; + * @return The enum numeric value on the wire for textDocumentEncoding. + */ + int getTextDocumentEncodingValue(); + /** + *
+   * Text encoding of the source files on disk that are referenced from
+   * `Document.relative_path`. This value is unrelated to the `Document.text`
+   * field, which is a Protobuf string and hence must be UTF-8 encoded.
+   * 
+ * + * .scip.TextEncoding text_document_encoding = 4 [json_name = "textDocumentEncoding"]; + * @return The textDocumentEncoding. + */ + org.scip_code.scip.TextEncoding getTextDocumentEncoding(); +} diff --git a/bindings/java/src/main/java/org/scip_code/scip/Occurrence.java b/bindings/java/src/main/java/org/scip_code/scip/Occurrence.java new file mode 100644 index 00000000..c80833f4 --- /dev/null +++ b/bindings/java/src/main/java/org/scip_code/scip/Occurrence.java @@ -0,0 +1,2696 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: scip.proto +// Protobuf Java Version: 4.32.1 + +package org.scip_code.scip; + +/** + *
+ * Occurrence associates a source position with a symbol and/or highlighting
+ * information.
+ *
+ * If possible, indexers should try to bundle logically related information
+ * across occurrences into a single occurrence to reduce payload sizes.
+ * 
+ * + * Protobuf type {@code scip.Occurrence} + */ +@com.google.protobuf.Generated +public final class Occurrence extends + com.google.protobuf.GeneratedMessage implements + // @@protoc_insertion_point(message_implements:scip.Occurrence) + OccurrenceOrBuilder { +private static final long serialVersionUID = 0L; + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 32, + /* patch= */ 1, + /* suffix= */ "", + Occurrence.class.getName()); + } + // Use Occurrence.newBuilder() to construct. + private Occurrence(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + private Occurrence() { + range_ = emptyIntList(); + symbol_ = ""; + overrideDocumentation_ = + com.google.protobuf.LazyStringArrayList.emptyList(); + syntaxKind_ = 0; + diagnostics_ = java.util.Collections.emptyList(); + enclosingRange_ = emptyIntList(); + } + + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.scip_code.scip.ScipProto.internal_static_scip_Occurrence_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.scip_code.scip.ScipProto.internal_static_scip_Occurrence_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.scip_code.scip.Occurrence.class, org.scip_code.scip.Occurrence.Builder.class); + } + + public static final int RANGE_FIELD_NUMBER = 1; + @SuppressWarnings("serial") + private com.google.protobuf.Internal.IntList range_ = + emptyIntList(); + /** + *
+   * Half-open [start, end) range of this occurrence. Must be exactly three or four
+   * elements:
+   *
+   * - Four elements: `[startLine, startCharacter, endLine, endCharacter]`
+   * - Three elements: `[startLine, startCharacter, endCharacter]`. The end line
+   * is inferred to have the same value as the start line.
+   *
+   * It is allowed for the range to be empty (i.e. start==end).
+   *
+   * Line numbers and characters are always 0-based. Make sure to increment the
+   * line/character values before displaying them in an editor-like UI because
+   * editors conventionally use 1-based numbers.
+   *
+   * The 'character' value is interpreted based on the PositionEncoding for
+   * the Document.
+   *
+   * Historical note: the original draft of this schema had a `Range` message
+   * type with `start` and `end` fields of type `Position`, mirroring LSP.
+   * Benchmarks revealed that this encoding was inefficient and that we could
+   * reduce the total payload size of an index by 50% by using `repeated int32`
+   * instead. The `repeated int32` encoding is admittedly more embarrassing to
+   * work with in some programming languages but we hope the performance
+   * improvements make up for it.
+   * 
+ * + * repeated int32 range = 1 [json_name = "range"]; + * @return A list containing the range. + */ + @java.lang.Override + public java.util.List + getRangeList() { + return range_; + } + /** + *
+   * Half-open [start, end) range of this occurrence. Must be exactly three or four
+   * elements:
+   *
+   * - Four elements: `[startLine, startCharacter, endLine, endCharacter]`
+   * - Three elements: `[startLine, startCharacter, endCharacter]`. The end line
+   * is inferred to have the same value as the start line.
+   *
+   * It is allowed for the range to be empty (i.e. start==end).
+   *
+   * Line numbers and characters are always 0-based. Make sure to increment the
+   * line/character values before displaying them in an editor-like UI because
+   * editors conventionally use 1-based numbers.
+   *
+   * The 'character' value is interpreted based on the PositionEncoding for
+   * the Document.
+   *
+   * Historical note: the original draft of this schema had a `Range` message
+   * type with `start` and `end` fields of type `Position`, mirroring LSP.
+   * Benchmarks revealed that this encoding was inefficient and that we could
+   * reduce the total payload size of an index by 50% by using `repeated int32`
+   * instead. The `repeated int32` encoding is admittedly more embarrassing to
+   * work with in some programming languages but we hope the performance
+   * improvements make up for it.
+   * 
+ * + * repeated int32 range = 1 [json_name = "range"]; + * @return The count of range. + */ + public int getRangeCount() { + return range_.size(); + } + /** + *
+   * Half-open [start, end) range of this occurrence. Must be exactly three or four
+   * elements:
+   *
+   * - Four elements: `[startLine, startCharacter, endLine, endCharacter]`
+   * - Three elements: `[startLine, startCharacter, endCharacter]`. The end line
+   * is inferred to have the same value as the start line.
+   *
+   * It is allowed for the range to be empty (i.e. start==end).
+   *
+   * Line numbers and characters are always 0-based. Make sure to increment the
+   * line/character values before displaying them in an editor-like UI because
+   * editors conventionally use 1-based numbers.
+   *
+   * The 'character' value is interpreted based on the PositionEncoding for
+   * the Document.
+   *
+   * Historical note: the original draft of this schema had a `Range` message
+   * type with `start` and `end` fields of type `Position`, mirroring LSP.
+   * Benchmarks revealed that this encoding was inefficient and that we could
+   * reduce the total payload size of an index by 50% by using `repeated int32`
+   * instead. The `repeated int32` encoding is admittedly more embarrassing to
+   * work with in some programming languages but we hope the performance
+   * improvements make up for it.
+   * 
+ * + * repeated int32 range = 1 [json_name = "range"]; + * @param index The index of the element to return. + * @return The range at the given index. + */ + public int getRange(int index) { + return range_.getInt(index); + } + private int rangeMemoizedSerializedSize = -1; + + public static final int SYMBOL_FIELD_NUMBER = 2; + @SuppressWarnings("serial") + private volatile java.lang.Object symbol_ = ""; + /** + *
+   * (optional) The symbol that appears at this position. See
+   * `SymbolInformation.symbol` for how to format symbols as strings.
+   * 
+ * + * string symbol = 2 [json_name = "symbol"]; + * @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; + } + } + /** + *
+   * (optional) The symbol that appears at this position. See
+   * `SymbolInformation.symbol` for how to format symbols as strings.
+   * 
+ * + * string symbol = 2 [json_name = "symbol"]; + * @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 SYMBOL_ROLES_FIELD_NUMBER = 3; + private int symbolRoles_ = 0; + /** + *
+   * (optional) Bitset containing `SymbolRole`s in this occurrence.
+   * See `SymbolRole`'s documentation for how to read and write this field.
+   * 
+ * + * int32 symbol_roles = 3 [json_name = "symbolRoles"]; + * @return The symbolRoles. + */ + @java.lang.Override + public int getSymbolRoles() { + return symbolRoles_; + } + + public static final int OVERRIDE_DOCUMENTATION_FIELD_NUMBER = 4; + @SuppressWarnings("serial") + private com.google.protobuf.LazyStringArrayList overrideDocumentation_ = + com.google.protobuf.LazyStringArrayList.emptyList(); + /** + *
+   * (optional) CommonMark-formatted documentation for this specific range. If
+   * empty, the `Symbol.documentation` field is used instead. One example
+   * where this field might be useful is when the symbol represents a generic
+   * function (with abstract type parameters such as `List<T>`) and at this
+   * occurrence we know the exact values (such as `List<String>`).
+   *
+   * This field can also be used for dynamically or gradually typed languages,
+   * which commonly allow for type-changing assignment.
+   * 
+ * + * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; + * @return A list containing the overrideDocumentation. + */ + public com.google.protobuf.ProtocolStringList + getOverrideDocumentationList() { + return overrideDocumentation_; + } + /** + *
+   * (optional) CommonMark-formatted documentation for this specific range. If
+   * empty, the `Symbol.documentation` field is used instead. One example
+   * where this field might be useful is when the symbol represents a generic
+   * function (with abstract type parameters such as `List<T>`) and at this
+   * occurrence we know the exact values (such as `List<String>`).
+   *
+   * This field can also be used for dynamically or gradually typed languages,
+   * which commonly allow for type-changing assignment.
+   * 
+ * + * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; + * @return The count of overrideDocumentation. + */ + public int getOverrideDocumentationCount() { + return overrideDocumentation_.size(); + } + /** + *
+   * (optional) CommonMark-formatted documentation for this specific range. If
+   * empty, the `Symbol.documentation` field is used instead. One example
+   * where this field might be useful is when the symbol represents a generic
+   * function (with abstract type parameters such as `List<T>`) and at this
+   * occurrence we know the exact values (such as `List<String>`).
+   *
+   * This field can also be used for dynamically or gradually typed languages,
+   * which commonly allow for type-changing assignment.
+   * 
+ * + * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; + * @param index The index of the element to return. + * @return The overrideDocumentation at the given index. + */ + public java.lang.String getOverrideDocumentation(int index) { + return overrideDocumentation_.get(index); + } + /** + *
+   * (optional) CommonMark-formatted documentation for this specific range. If
+   * empty, the `Symbol.documentation` field is used instead. One example
+   * where this field might be useful is when the symbol represents a generic
+   * function (with abstract type parameters such as `List<T>`) and at this
+   * occurrence we know the exact values (such as `List<String>`).
+   *
+   * This field can also be used for dynamically or gradually typed languages,
+   * which commonly allow for type-changing assignment.
+   * 
+ * + * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; + * @param index The index of the value to return. + * @return The bytes of the overrideDocumentation at the given index. + */ + public com.google.protobuf.ByteString + getOverrideDocumentationBytes(int index) { + return overrideDocumentation_.getByteString(index); + } + + public static final int SYNTAX_KIND_FIELD_NUMBER = 5; + private int syntaxKind_ = 0; + /** + *
+   * (optional) What syntax highlighting class should be used for this range?
+   * 
+ * + * .scip.SyntaxKind syntax_kind = 5 [json_name = "syntaxKind"]; + * @return The enum numeric value on the wire for syntaxKind. + */ + @java.lang.Override public int getSyntaxKindValue() { + return syntaxKind_; + } + /** + *
+   * (optional) What syntax highlighting class should be used for this range?
+   * 
+ * + * .scip.SyntaxKind syntax_kind = 5 [json_name = "syntaxKind"]; + * @return The syntaxKind. + */ + @java.lang.Override public org.scip_code.scip.SyntaxKind getSyntaxKind() { + org.scip_code.scip.SyntaxKind result = org.scip_code.scip.SyntaxKind.forNumber(syntaxKind_); + return result == null ? org.scip_code.scip.SyntaxKind.UNRECOGNIZED : result; + } + + public static final int DIAGNOSTICS_FIELD_NUMBER = 6; + @SuppressWarnings("serial") + private java.util.List diagnostics_; + /** + *
+   * (optional) Diagnostics that have been reported for this specific range.
+   * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + @java.lang.Override + public java.util.List getDiagnosticsList() { + return diagnostics_; + } + /** + *
+   * (optional) Diagnostics that have been reported for this specific range.
+   * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + @java.lang.Override + public java.util.List + getDiagnosticsOrBuilderList() { + return diagnostics_; + } + /** + *
+   * (optional) Diagnostics that have been reported for this specific range.
+   * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + @java.lang.Override + public int getDiagnosticsCount() { + return diagnostics_.size(); + } + /** + *
+   * (optional) Diagnostics that have been reported for this specific range.
+   * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + @java.lang.Override + public org.scip_code.scip.Diagnostic getDiagnostics(int index) { + return diagnostics_.get(index); + } + /** + *
+   * (optional) Diagnostics that have been reported for this specific range.
+   * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + @java.lang.Override + public org.scip_code.scip.DiagnosticOrBuilder getDiagnosticsOrBuilder( + int index) { + return diagnostics_.get(index); + } + + public static final int ENCLOSING_RANGE_FIELD_NUMBER = 7; + @SuppressWarnings("serial") + private com.google.protobuf.Internal.IntList enclosingRange_ = + emptyIntList(); + /** + *
+   * (optional) Using the same encoding as the sibling `range` field, half-open
+   * source range of the nearest non-trivial enclosing AST node. This range must
+   * enclose the `range` field. Example applications that make use of the
+   * enclosing_range field:
+   *
+   * - Call hierarchies: to determine what symbols are references from the body
+   * of a function
+   * - Symbol outline: to display breadcrumbs from the cursor position to the
+   * root of the file
+   * - Expand selection: to select the nearest enclosing AST node.
+   * - Highlight range: to indicate the AST expression that is associated with a
+   * hover popover
+   *
+   * For definition occurrences, the enclosing range should indicate the
+   * start/end bounds of the entire definition AST node, including
+   * documentation.
+   * ```
+   * const n = 3
+   * ^ range
+   * ^^^^^^^^^^^ enclosing_range
+   *
+   * /** Parses the string into something */
+   * ^ enclosing_range start --------------------------------------|
+   * function parse(input string): string {                        |
+   * ^^^^^ range                                          |
+   * return input.slice(n)                                     |
+   * }                                                             |
+   * ^ enclosing_range end <---------------------------------------|
+   * ```
+   *
+   * Any attributes/decorators/attached macros should also be part of the
+   * enclosing range.
+   *
+   * ```python
+   * @cache
+   * ^ enclosing_range start---------------------|
+   * def factorial(n):                           |
+   * return n * factorial(n-1) if n else 1   |
+   * < enclosing_range end-----------------------|
+   *
+   * ```
+   *
+   * For reference occurrences, the enclosing range should indicate the start/end
+   * bounds of the parent expression.
+   * ```
+   * const a = a.b
+   * ^ range
+   * ^^^ enclosing_range
+   * const b = a.b(41).f(42).g(43)
+   * ^ range
+   * ^^^^^^^^^^^^^ enclosing_range
+   * ```
+   * 
+ * + * repeated int32 enclosing_range = 7 [json_name = "enclosingRange"]; + * @return A list containing the enclosingRange. + */ + @java.lang.Override + public java.util.List + getEnclosingRangeList() { + return enclosingRange_; + } + /** + *
+   * (optional) Using the same encoding as the sibling `range` field, half-open
+   * source range of the nearest non-trivial enclosing AST node. This range must
+   * enclose the `range` field. Example applications that make use of the
+   * enclosing_range field:
+   *
+   * - Call hierarchies: to determine what symbols are references from the body
+   * of a function
+   * - Symbol outline: to display breadcrumbs from the cursor position to the
+   * root of the file
+   * - Expand selection: to select the nearest enclosing AST node.
+   * - Highlight range: to indicate the AST expression that is associated with a
+   * hover popover
+   *
+   * For definition occurrences, the enclosing range should indicate the
+   * start/end bounds of the entire definition AST node, including
+   * documentation.
+   * ```
+   * const n = 3
+   * ^ range
+   * ^^^^^^^^^^^ enclosing_range
+   *
+   * /** Parses the string into something */
+   * ^ enclosing_range start --------------------------------------|
+   * function parse(input string): string {                        |
+   * ^^^^^ range                                          |
+   * return input.slice(n)                                     |
+   * }                                                             |
+   * ^ enclosing_range end <---------------------------------------|
+   * ```
+   *
+   * Any attributes/decorators/attached macros should also be part of the
+   * enclosing range.
+   *
+   * ```python
+   * @cache
+   * ^ enclosing_range start---------------------|
+   * def factorial(n):                           |
+   * return n * factorial(n-1) if n else 1   |
+   * < enclosing_range end-----------------------|
+   *
+   * ```
+   *
+   * For reference occurrences, the enclosing range should indicate the start/end
+   * bounds of the parent expression.
+   * ```
+   * const a = a.b
+   * ^ range
+   * ^^^ enclosing_range
+   * const b = a.b(41).f(42).g(43)
+   * ^ range
+   * ^^^^^^^^^^^^^ enclosing_range
+   * ```
+   * 
+ * + * repeated int32 enclosing_range = 7 [json_name = "enclosingRange"]; + * @return The count of enclosingRange. + */ + public int getEnclosingRangeCount() { + return enclosingRange_.size(); + } + /** + *
+   * (optional) Using the same encoding as the sibling `range` field, half-open
+   * source range of the nearest non-trivial enclosing AST node. This range must
+   * enclose the `range` field. Example applications that make use of the
+   * enclosing_range field:
+   *
+   * - Call hierarchies: to determine what symbols are references from the body
+   * of a function
+   * - Symbol outline: to display breadcrumbs from the cursor position to the
+   * root of the file
+   * - Expand selection: to select the nearest enclosing AST node.
+   * - Highlight range: to indicate the AST expression that is associated with a
+   * hover popover
+   *
+   * For definition occurrences, the enclosing range should indicate the
+   * start/end bounds of the entire definition AST node, including
+   * documentation.
+   * ```
+   * const n = 3
+   * ^ range
+   * ^^^^^^^^^^^ enclosing_range
+   *
+   * /** Parses the string into something */
+   * ^ enclosing_range start --------------------------------------|
+   * function parse(input string): string {                        |
+   * ^^^^^ range                                          |
+   * return input.slice(n)                                     |
+   * }                                                             |
+   * ^ enclosing_range end <---------------------------------------|
+   * ```
+   *
+   * Any attributes/decorators/attached macros should also be part of the
+   * enclosing range.
+   *
+   * ```python
+   * @cache
+   * ^ enclosing_range start---------------------|
+   * def factorial(n):                           |
+   * return n * factorial(n-1) if n else 1   |
+   * < enclosing_range end-----------------------|
+   *
+   * ```
+   *
+   * For reference occurrences, the enclosing range should indicate the start/end
+   * bounds of the parent expression.
+   * ```
+   * const a = a.b
+   * ^ range
+   * ^^^ enclosing_range
+   * const b = a.b(41).f(42).g(43)
+   * ^ range
+   * ^^^^^^^^^^^^^ enclosing_range
+   * ```
+   * 
+ * + * repeated int32 enclosing_range = 7 [json_name = "enclosingRange"]; + * @param index The index of the element to return. + * @return The enclosingRange at the given index. + */ + public int getEnclosingRange(int index) { + return enclosingRange_.getInt(index); + } + private int enclosingRangeMemoizedSerializedSize = -1; + + 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 { + getSerializedSize(); + if (getRangeList().size() > 0) { + output.writeUInt32NoTag(10); + output.writeUInt32NoTag(rangeMemoizedSerializedSize); + } + for (int i = 0; i < range_.size(); i++) { + output.writeInt32NoTag(range_.getInt(i)); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(symbol_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 2, symbol_); + } + if (symbolRoles_ != 0) { + output.writeInt32(3, symbolRoles_); + } + for (int i = 0; i < overrideDocumentation_.size(); i++) { + com.google.protobuf.GeneratedMessage.writeString(output, 4, overrideDocumentation_.getRaw(i)); + } + if (syntaxKind_ != org.scip_code.scip.SyntaxKind.UnspecifiedSyntaxKind.getNumber()) { + output.writeEnum(5, syntaxKind_); + } + for (int i = 0; i < diagnostics_.size(); i++) { + output.writeMessage(6, diagnostics_.get(i)); + } + if (getEnclosingRangeList().size() > 0) { + output.writeUInt32NoTag(58); + output.writeUInt32NoTag(enclosingRangeMemoizedSerializedSize); + } + for (int i = 0; i < enclosingRange_.size(); i++) { + output.writeInt32NoTag(enclosingRange_.getInt(i)); + } + getUnknownFields().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 < range_.size(); i++) { + dataSize += com.google.protobuf.CodedOutputStream + .computeInt32SizeNoTag(range_.getInt(i)); + } + size += dataSize; + if (!getRangeList().isEmpty()) { + size += 1; + size += com.google.protobuf.CodedOutputStream + .computeInt32SizeNoTag(dataSize); + } + rangeMemoizedSerializedSize = dataSize; + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(symbol_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(2, symbol_); + } + if (symbolRoles_ != 0) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(3, symbolRoles_); + } + { + int dataSize = 0; + for (int i = 0; i < overrideDocumentation_.size(); i++) { + dataSize += computeStringSizeNoTag(overrideDocumentation_.getRaw(i)); + } + size += dataSize; + size += 1 * getOverrideDocumentationList().size(); + } + if (syntaxKind_ != org.scip_code.scip.SyntaxKind.UnspecifiedSyntaxKind.getNumber()) { + size += com.google.protobuf.CodedOutputStream + .computeEnumSize(5, syntaxKind_); + } + for (int i = 0; i < diagnostics_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(6, diagnostics_.get(i)); + } + { + int dataSize = 0; + for (int i = 0; i < enclosingRange_.size(); i++) { + dataSize += com.google.protobuf.CodedOutputStream + .computeInt32SizeNoTag(enclosingRange_.getInt(i)); + } + size += dataSize; + if (!getEnclosingRangeList().isEmpty()) { + size += 1; + size += com.google.protobuf.CodedOutputStream + .computeInt32SizeNoTag(dataSize); + } + enclosingRangeMemoizedSerializedSize = dataSize; + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof org.scip_code.scip.Occurrence)) { + return super.equals(obj); + } + org.scip_code.scip.Occurrence other = (org.scip_code.scip.Occurrence) obj; + + if (!getRangeList() + .equals(other.getRangeList())) return false; + if (!getSymbol() + .equals(other.getSymbol())) return false; + if (getSymbolRoles() + != other.getSymbolRoles()) return false; + if (!getOverrideDocumentationList() + .equals(other.getOverrideDocumentationList())) return false; + if (syntaxKind_ != other.syntaxKind_) return false; + if (!getDiagnosticsList() + .equals(other.getDiagnosticsList())) return false; + if (!getEnclosingRangeList() + .equals(other.getEnclosingRangeList())) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (getRangeCount() > 0) { + hash = (37 * hash) + RANGE_FIELD_NUMBER; + hash = (53 * hash) + getRangeList().hashCode(); + } + hash = (37 * hash) + SYMBOL_FIELD_NUMBER; + hash = (53 * hash) + getSymbol().hashCode(); + hash = (37 * hash) + SYMBOL_ROLES_FIELD_NUMBER; + hash = (53 * hash) + getSymbolRoles(); + if (getOverrideDocumentationCount() > 0) { + hash = (37 * hash) + OVERRIDE_DOCUMENTATION_FIELD_NUMBER; + hash = (53 * hash) + getOverrideDocumentationList().hashCode(); + } + hash = (37 * hash) + SYNTAX_KIND_FIELD_NUMBER; + hash = (53 * hash) + syntaxKind_; + if (getDiagnosticsCount() > 0) { + hash = (37 * hash) + DIAGNOSTICS_FIELD_NUMBER; + hash = (53 * hash) + getDiagnosticsList().hashCode(); + } + if (getEnclosingRangeCount() > 0) { + hash = (37 * hash) + ENCLOSING_RANGE_FIELD_NUMBER; + hash = (53 * hash) + getEnclosingRangeList().hashCode(); + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static org.scip_code.scip.Occurrence parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.scip_code.scip.Occurrence parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.scip_code.scip.Occurrence parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.scip_code.scip.Occurrence parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.scip_code.scip.Occurrence parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.scip_code.scip.Occurrence parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.scip_code.scip.Occurrence parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static org.scip_code.scip.Occurrence parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public static org.scip_code.scip.Occurrence parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input); + } + + public static org.scip_code.scip.Occurrence parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static org.scip_code.scip.Occurrence parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static org.scip_code.scip.Occurrence parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(org.scip_code.scip.Occurrence 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + *
+   * Occurrence associates a source position with a symbol and/or highlighting
+   * information.
+   *
+   * If possible, indexers should try to bundle logically related information
+   * across occurrences into a single occurrence to reduce payload sizes.
+   * 
+ * + * Protobuf type {@code scip.Occurrence} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder implements + // @@protoc_insertion_point(builder_implements:scip.Occurrence) + org.scip_code.scip.OccurrenceOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.scip_code.scip.ScipProto.internal_static_scip_Occurrence_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.scip_code.scip.ScipProto.internal_static_scip_Occurrence_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.scip_code.scip.Occurrence.class, org.scip_code.scip.Occurrence.Builder.class); + } + + // Construct using org.scip_code.scip.Occurrence.newBuilder() + private Builder() { + + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + + } + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + range_ = emptyIntList(); + symbol_ = ""; + symbolRoles_ = 0; + overrideDocumentation_ = + com.google.protobuf.LazyStringArrayList.emptyList(); + syntaxKind_ = 0; + if (diagnosticsBuilder_ == null) { + diagnostics_ = java.util.Collections.emptyList(); + } else { + diagnostics_ = null; + diagnosticsBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000020); + enclosingRange_ = emptyIntList(); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return org.scip_code.scip.ScipProto.internal_static_scip_Occurrence_descriptor; + } + + @java.lang.Override + public org.scip_code.scip.Occurrence getDefaultInstanceForType() { + return org.scip_code.scip.Occurrence.getDefaultInstance(); + } + + @java.lang.Override + public org.scip_code.scip.Occurrence build() { + org.scip_code.scip.Occurrence result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public org.scip_code.scip.Occurrence buildPartial() { + org.scip_code.scip.Occurrence result = new org.scip_code.scip.Occurrence(this); + buildPartialRepeatedFields(result); + if (bitField0_ != 0) { buildPartial0(result); } + onBuilt(); + return result; + } + + private void buildPartialRepeatedFields(org.scip_code.scip.Occurrence result) { + if (diagnosticsBuilder_ == null) { + if (((bitField0_ & 0x00000020) != 0)) { + diagnostics_ = java.util.Collections.unmodifiableList(diagnostics_); + bitField0_ = (bitField0_ & ~0x00000020); + } + result.diagnostics_ = diagnostics_; + } else { + result.diagnostics_ = diagnosticsBuilder_.build(); + } + } + + private void buildPartial0(org.scip_code.scip.Occurrence result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + range_.makeImmutable(); + result.range_ = range_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.symbol_ = symbol_; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.symbolRoles_ = symbolRoles_; + } + if (((from_bitField0_ & 0x00000008) != 0)) { + overrideDocumentation_.makeImmutable(); + result.overrideDocumentation_ = overrideDocumentation_; + } + if (((from_bitField0_ & 0x00000010) != 0)) { + result.syntaxKind_ = syntaxKind_; + } + if (((from_bitField0_ & 0x00000040) != 0)) { + enclosingRange_.makeImmutable(); + result.enclosingRange_ = enclosingRange_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof org.scip_code.scip.Occurrence) { + return mergeFrom((org.scip_code.scip.Occurrence)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(org.scip_code.scip.Occurrence other) { + if (other == org.scip_code.scip.Occurrence.getDefaultInstance()) return this; + if (!other.range_.isEmpty()) { + if (range_.isEmpty()) { + range_ = other.range_; + range_.makeImmutable(); + bitField0_ |= 0x00000001; + } else { + ensureRangeIsMutable(); + range_.addAll(other.range_); + } + onChanged(); + } + if (!other.getSymbol().isEmpty()) { + symbol_ = other.symbol_; + bitField0_ |= 0x00000002; + onChanged(); + } + if (other.getSymbolRoles() != 0) { + setSymbolRoles(other.getSymbolRoles()); + } + if (!other.overrideDocumentation_.isEmpty()) { + if (overrideDocumentation_.isEmpty()) { + overrideDocumentation_ = other.overrideDocumentation_; + bitField0_ |= 0x00000008; + } else { + ensureOverrideDocumentationIsMutable(); + overrideDocumentation_.addAll(other.overrideDocumentation_); + } + onChanged(); + } + if (other.syntaxKind_ != 0) { + setSyntaxKindValue(other.getSyntaxKindValue()); + } + if (diagnosticsBuilder_ == null) { + if (!other.diagnostics_.isEmpty()) { + if (diagnostics_.isEmpty()) { + diagnostics_ = other.diagnostics_; + bitField0_ = (bitField0_ & ~0x00000020); + } else { + ensureDiagnosticsIsMutable(); + diagnostics_.addAll(other.diagnostics_); + } + onChanged(); + } + } else { + if (!other.diagnostics_.isEmpty()) { + if (diagnosticsBuilder_.isEmpty()) { + diagnosticsBuilder_.dispose(); + diagnosticsBuilder_ = null; + diagnostics_ = other.diagnostics_; + bitField0_ = (bitField0_ & ~0x00000020); + diagnosticsBuilder_ = + com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ? + internalGetDiagnosticsFieldBuilder() : null; + } else { + diagnosticsBuilder_.addAllMessages(other.diagnostics_); + } + } + } + if (!other.enclosingRange_.isEmpty()) { + if (enclosingRange_.isEmpty()) { + enclosingRange_ = other.enclosingRange_; + enclosingRange_.makeImmutable(); + bitField0_ |= 0x00000040; + } else { + ensureEnclosingRangeIsMutable(); + enclosingRange_.addAll(other.enclosingRange_); + } + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + 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 { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: { + int v = input.readInt32(); + ensureRangeIsMutable(); + range_.addInt(v); + break; + } // case 8 + case 10: { + int length = input.readRawVarint32(); + int limit = input.pushLimit(length); + ensureRangeIsMutable(); + while (input.getBytesUntilLimit() > 0) { + range_.addInt(input.readInt32()); + } + input.popLimit(limit); + break; + } // case 10 + case 18: { + symbol_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000002; + break; + } // case 18 + case 24: { + symbolRoles_ = input.readInt32(); + bitField0_ |= 0x00000004; + break; + } // case 24 + case 34: { + java.lang.String s = input.readStringRequireUtf8(); + ensureOverrideDocumentationIsMutable(); + overrideDocumentation_.add(s); + break; + } // case 34 + case 40: { + syntaxKind_ = input.readEnum(); + bitField0_ |= 0x00000010; + break; + } // case 40 + case 50: { + org.scip_code.scip.Diagnostic m = + input.readMessage( + org.scip_code.scip.Diagnostic.parser(), + extensionRegistry); + if (diagnosticsBuilder_ == null) { + ensureDiagnosticsIsMutable(); + diagnostics_.add(m); + } else { + diagnosticsBuilder_.addMessage(m); + } + break; + } // case 50 + case 56: { + int v = input.readInt32(); + ensureEnclosingRangeIsMutable(); + enclosingRange_.addInt(v); + break; + } // case 56 + case 58: { + int length = input.readRawVarint32(); + int limit = input.pushLimit(length); + ensureEnclosingRangeIsMutable(); + while (input.getBytesUntilLimit() > 0) { + enclosingRange_.addInt(input.readInt32()); + } + input.popLimit(limit); + break; + } // case 58 + default: { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + private int bitField0_; + + private com.google.protobuf.Internal.IntList range_ = emptyIntList(); + private void ensureRangeIsMutable() { + if (!range_.isModifiable()) { + range_ = makeMutableCopy(range_); + } + bitField0_ |= 0x00000001; + } + /** + *
+     * Half-open [start, end) range of this occurrence. Must be exactly three or four
+     * elements:
+     *
+     * - Four elements: `[startLine, startCharacter, endLine, endCharacter]`
+     * - Three elements: `[startLine, startCharacter, endCharacter]`. The end line
+     * is inferred to have the same value as the start line.
+     *
+     * It is allowed for the range to be empty (i.e. start==end).
+     *
+     * Line numbers and characters are always 0-based. Make sure to increment the
+     * line/character values before displaying them in an editor-like UI because
+     * editors conventionally use 1-based numbers.
+     *
+     * The 'character' value is interpreted based on the PositionEncoding for
+     * the Document.
+     *
+     * Historical note: the original draft of this schema had a `Range` message
+     * type with `start` and `end` fields of type `Position`, mirroring LSP.
+     * Benchmarks revealed that this encoding was inefficient and that we could
+     * reduce the total payload size of an index by 50% by using `repeated int32`
+     * instead. The `repeated int32` encoding is admittedly more embarrassing to
+     * work with in some programming languages but we hope the performance
+     * improvements make up for it.
+     * 
+ * + * repeated int32 range = 1 [json_name = "range"]; + * @return A list containing the range. + */ + public java.util.List + getRangeList() { + range_.makeImmutable(); + return range_; + } + /** + *
+     * Half-open [start, end) range of this occurrence. Must be exactly three or four
+     * elements:
+     *
+     * - Four elements: `[startLine, startCharacter, endLine, endCharacter]`
+     * - Three elements: `[startLine, startCharacter, endCharacter]`. The end line
+     * is inferred to have the same value as the start line.
+     *
+     * It is allowed for the range to be empty (i.e. start==end).
+     *
+     * Line numbers and characters are always 0-based. Make sure to increment the
+     * line/character values before displaying them in an editor-like UI because
+     * editors conventionally use 1-based numbers.
+     *
+     * The 'character' value is interpreted based on the PositionEncoding for
+     * the Document.
+     *
+     * Historical note: the original draft of this schema had a `Range` message
+     * type with `start` and `end` fields of type `Position`, mirroring LSP.
+     * Benchmarks revealed that this encoding was inefficient and that we could
+     * reduce the total payload size of an index by 50% by using `repeated int32`
+     * instead. The `repeated int32` encoding is admittedly more embarrassing to
+     * work with in some programming languages but we hope the performance
+     * improvements make up for it.
+     * 
+ * + * repeated int32 range = 1 [json_name = "range"]; + * @return The count of range. + */ + public int getRangeCount() { + return range_.size(); + } + /** + *
+     * Half-open [start, end) range of this occurrence. Must be exactly three or four
+     * elements:
+     *
+     * - Four elements: `[startLine, startCharacter, endLine, endCharacter]`
+     * - Three elements: `[startLine, startCharacter, endCharacter]`. The end line
+     * is inferred to have the same value as the start line.
+     *
+     * It is allowed for the range to be empty (i.e. start==end).
+     *
+     * Line numbers and characters are always 0-based. Make sure to increment the
+     * line/character values before displaying them in an editor-like UI because
+     * editors conventionally use 1-based numbers.
+     *
+     * The 'character' value is interpreted based on the PositionEncoding for
+     * the Document.
+     *
+     * Historical note: the original draft of this schema had a `Range` message
+     * type with `start` and `end` fields of type `Position`, mirroring LSP.
+     * Benchmarks revealed that this encoding was inefficient and that we could
+     * reduce the total payload size of an index by 50% by using `repeated int32`
+     * instead. The `repeated int32` encoding is admittedly more embarrassing to
+     * work with in some programming languages but we hope the performance
+     * improvements make up for it.
+     * 
+ * + * repeated int32 range = 1 [json_name = "range"]; + * @param index The index of the element to return. + * @return The range at the given index. + */ + public int getRange(int index) { + return range_.getInt(index); + } + /** + *
+     * Half-open [start, end) range of this occurrence. Must be exactly three or four
+     * elements:
+     *
+     * - Four elements: `[startLine, startCharacter, endLine, endCharacter]`
+     * - Three elements: `[startLine, startCharacter, endCharacter]`. The end line
+     * is inferred to have the same value as the start line.
+     *
+     * It is allowed for the range to be empty (i.e. start==end).
+     *
+     * Line numbers and characters are always 0-based. Make sure to increment the
+     * line/character values before displaying them in an editor-like UI because
+     * editors conventionally use 1-based numbers.
+     *
+     * The 'character' value is interpreted based on the PositionEncoding for
+     * the Document.
+     *
+     * Historical note: the original draft of this schema had a `Range` message
+     * type with `start` and `end` fields of type `Position`, mirroring LSP.
+     * Benchmarks revealed that this encoding was inefficient and that we could
+     * reduce the total payload size of an index by 50% by using `repeated int32`
+     * instead. The `repeated int32` encoding is admittedly more embarrassing to
+     * work with in some programming languages but we hope the performance
+     * improvements make up for it.
+     * 
+ * + * repeated int32 range = 1 [json_name = "range"]; + * @param index The index to set the value at. + * @param value The range to set. + * @return This builder for chaining. + */ + public Builder setRange( + int index, int value) { + + ensureRangeIsMutable(); + range_.setInt(index, value); + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + /** + *
+     * Half-open [start, end) range of this occurrence. Must be exactly three or four
+     * elements:
+     *
+     * - Four elements: `[startLine, startCharacter, endLine, endCharacter]`
+     * - Three elements: `[startLine, startCharacter, endCharacter]`. The end line
+     * is inferred to have the same value as the start line.
+     *
+     * It is allowed for the range to be empty (i.e. start==end).
+     *
+     * Line numbers and characters are always 0-based. Make sure to increment the
+     * line/character values before displaying them in an editor-like UI because
+     * editors conventionally use 1-based numbers.
+     *
+     * The 'character' value is interpreted based on the PositionEncoding for
+     * the Document.
+     *
+     * Historical note: the original draft of this schema had a `Range` message
+     * type with `start` and `end` fields of type `Position`, mirroring LSP.
+     * Benchmarks revealed that this encoding was inefficient and that we could
+     * reduce the total payload size of an index by 50% by using `repeated int32`
+     * instead. The `repeated int32` encoding is admittedly more embarrassing to
+     * work with in some programming languages but we hope the performance
+     * improvements make up for it.
+     * 
+ * + * repeated int32 range = 1 [json_name = "range"]; + * @param value The range to add. + * @return This builder for chaining. + */ + public Builder addRange(int value) { + + ensureRangeIsMutable(); + range_.addInt(value); + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + /** + *
+     * Half-open [start, end) range of this occurrence. Must be exactly three or four
+     * elements:
+     *
+     * - Four elements: `[startLine, startCharacter, endLine, endCharacter]`
+     * - Three elements: `[startLine, startCharacter, endCharacter]`. The end line
+     * is inferred to have the same value as the start line.
+     *
+     * It is allowed for the range to be empty (i.e. start==end).
+     *
+     * Line numbers and characters are always 0-based. Make sure to increment the
+     * line/character values before displaying them in an editor-like UI because
+     * editors conventionally use 1-based numbers.
+     *
+     * The 'character' value is interpreted based on the PositionEncoding for
+     * the Document.
+     *
+     * Historical note: the original draft of this schema had a `Range` message
+     * type with `start` and `end` fields of type `Position`, mirroring LSP.
+     * Benchmarks revealed that this encoding was inefficient and that we could
+     * reduce the total payload size of an index by 50% by using `repeated int32`
+     * instead. The `repeated int32` encoding is admittedly more embarrassing to
+     * work with in some programming languages but we hope the performance
+     * improvements make up for it.
+     * 
+ * + * repeated int32 range = 1 [json_name = "range"]; + * @param values The range to add. + * @return This builder for chaining. + */ + public Builder addAllRange( + java.lang.Iterable values) { + ensureRangeIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, range_); + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + /** + *
+     * Half-open [start, end) range of this occurrence. Must be exactly three or four
+     * elements:
+     *
+     * - Four elements: `[startLine, startCharacter, endLine, endCharacter]`
+     * - Three elements: `[startLine, startCharacter, endCharacter]`. The end line
+     * is inferred to have the same value as the start line.
+     *
+     * It is allowed for the range to be empty (i.e. start==end).
+     *
+     * Line numbers and characters are always 0-based. Make sure to increment the
+     * line/character values before displaying them in an editor-like UI because
+     * editors conventionally use 1-based numbers.
+     *
+     * The 'character' value is interpreted based on the PositionEncoding for
+     * the Document.
+     *
+     * Historical note: the original draft of this schema had a `Range` message
+     * type with `start` and `end` fields of type `Position`, mirroring LSP.
+     * Benchmarks revealed that this encoding was inefficient and that we could
+     * reduce the total payload size of an index by 50% by using `repeated int32`
+     * instead. The `repeated int32` encoding is admittedly more embarrassing to
+     * work with in some programming languages but we hope the performance
+     * improvements make up for it.
+     * 
+ * + * repeated int32 range = 1 [json_name = "range"]; + * @return This builder for chaining. + */ + public Builder clearRange() { + range_ = emptyIntList(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + + private java.lang.Object symbol_ = ""; + /** + *
+     * (optional) The symbol that appears at this position. See
+     * `SymbolInformation.symbol` for how to format symbols as strings.
+     * 
+ * + * string symbol = 2 [json_name = "symbol"]; + * @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; + } + } + /** + *
+     * (optional) The symbol that appears at this position. See
+     * `SymbolInformation.symbol` for how to format symbols as strings.
+     * 
+ * + * string symbol = 2 [json_name = "symbol"]; + * @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; + } + } + /** + *
+     * (optional) The symbol that appears at this position. See
+     * `SymbolInformation.symbol` for how to format symbols as strings.
+     * 
+ * + * string symbol = 2 [json_name = "symbol"]; + * @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; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + /** + *
+     * (optional) The symbol that appears at this position. See
+     * `SymbolInformation.symbol` for how to format symbols as strings.
+     * 
+ * + * string symbol = 2 [json_name = "symbol"]; + * @return This builder for chaining. + */ + public Builder clearSymbol() { + symbol_ = getDefaultInstance().getSymbol(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + /** + *
+     * (optional) The symbol that appears at this position. See
+     * `SymbolInformation.symbol` for how to format symbols as strings.
+     * 
+ * + * string symbol = 2 [json_name = "symbol"]; + * @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; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + private int symbolRoles_ ; + /** + *
+     * (optional) Bitset containing `SymbolRole`s in this occurrence.
+     * See `SymbolRole`'s documentation for how to read and write this field.
+     * 
+ * + * int32 symbol_roles = 3 [json_name = "symbolRoles"]; + * @return The symbolRoles. + */ + @java.lang.Override + public int getSymbolRoles() { + return symbolRoles_; + } + /** + *
+     * (optional) Bitset containing `SymbolRole`s in this occurrence.
+     * See `SymbolRole`'s documentation for how to read and write this field.
+     * 
+ * + * int32 symbol_roles = 3 [json_name = "symbolRoles"]; + * @param value The symbolRoles to set. + * @return This builder for chaining. + */ + public Builder setSymbolRoles(int value) { + + symbolRoles_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + /** + *
+     * (optional) Bitset containing `SymbolRole`s in this occurrence.
+     * See `SymbolRole`'s documentation for how to read and write this field.
+     * 
+ * + * int32 symbol_roles = 3 [json_name = "symbolRoles"]; + * @return This builder for chaining. + */ + public Builder clearSymbolRoles() { + bitField0_ = (bitField0_ & ~0x00000004); + symbolRoles_ = 0; + onChanged(); + return this; + } + + private com.google.protobuf.LazyStringArrayList overrideDocumentation_ = + com.google.protobuf.LazyStringArrayList.emptyList(); + private void ensureOverrideDocumentationIsMutable() { + if (!overrideDocumentation_.isModifiable()) { + overrideDocumentation_ = new com.google.protobuf.LazyStringArrayList(overrideDocumentation_); + } + bitField0_ |= 0x00000008; + } + /** + *
+     * (optional) CommonMark-formatted documentation for this specific range. If
+     * empty, the `Symbol.documentation` field is used instead. One example
+     * where this field might be useful is when the symbol represents a generic
+     * function (with abstract type parameters such as `List<T>`) and at this
+     * occurrence we know the exact values (such as `List<String>`).
+     *
+     * This field can also be used for dynamically or gradually typed languages,
+     * which commonly allow for type-changing assignment.
+     * 
+ * + * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; + * @return A list containing the overrideDocumentation. + */ + public com.google.protobuf.ProtocolStringList + getOverrideDocumentationList() { + overrideDocumentation_.makeImmutable(); + return overrideDocumentation_; + } + /** + *
+     * (optional) CommonMark-formatted documentation for this specific range. If
+     * empty, the `Symbol.documentation` field is used instead. One example
+     * where this field might be useful is when the symbol represents a generic
+     * function (with abstract type parameters such as `List<T>`) and at this
+     * occurrence we know the exact values (such as `List<String>`).
+     *
+     * This field can also be used for dynamically or gradually typed languages,
+     * which commonly allow for type-changing assignment.
+     * 
+ * + * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; + * @return The count of overrideDocumentation. + */ + public int getOverrideDocumentationCount() { + return overrideDocumentation_.size(); + } + /** + *
+     * (optional) CommonMark-formatted documentation for this specific range. If
+     * empty, the `Symbol.documentation` field is used instead. One example
+     * where this field might be useful is when the symbol represents a generic
+     * function (with abstract type parameters such as `List<T>`) and at this
+     * occurrence we know the exact values (such as `List<String>`).
+     *
+     * This field can also be used for dynamically or gradually typed languages,
+     * which commonly allow for type-changing assignment.
+     * 
+ * + * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; + * @param index The index of the element to return. + * @return The overrideDocumentation at the given index. + */ + public java.lang.String getOverrideDocumentation(int index) { + return overrideDocumentation_.get(index); + } + /** + *
+     * (optional) CommonMark-formatted documentation for this specific range. If
+     * empty, the `Symbol.documentation` field is used instead. One example
+     * where this field might be useful is when the symbol represents a generic
+     * function (with abstract type parameters such as `List<T>`) and at this
+     * occurrence we know the exact values (such as `List<String>`).
+     *
+     * This field can also be used for dynamically or gradually typed languages,
+     * which commonly allow for type-changing assignment.
+     * 
+ * + * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; + * @param index The index of the value to return. + * @return The bytes of the overrideDocumentation at the given index. + */ + public com.google.protobuf.ByteString + getOverrideDocumentationBytes(int index) { + return overrideDocumentation_.getByteString(index); + } + /** + *
+     * (optional) CommonMark-formatted documentation for this specific range. If
+     * empty, the `Symbol.documentation` field is used instead. One example
+     * where this field might be useful is when the symbol represents a generic
+     * function (with abstract type parameters such as `List<T>`) and at this
+     * occurrence we know the exact values (such as `List<String>`).
+     *
+     * This field can also be used for dynamically or gradually typed languages,
+     * which commonly allow for type-changing assignment.
+     * 
+ * + * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; + * @param index The index to set the value at. + * @param value The overrideDocumentation to set. + * @return This builder for chaining. + */ + public Builder setOverrideDocumentation( + int index, java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + ensureOverrideDocumentationIsMutable(); + overrideDocumentation_.set(index, value); + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + /** + *
+     * (optional) CommonMark-formatted documentation for this specific range. If
+     * empty, the `Symbol.documentation` field is used instead. One example
+     * where this field might be useful is when the symbol represents a generic
+     * function (with abstract type parameters such as `List<T>`) and at this
+     * occurrence we know the exact values (such as `List<String>`).
+     *
+     * This field can also be used for dynamically or gradually typed languages,
+     * which commonly allow for type-changing assignment.
+     * 
+ * + * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; + * @param value The overrideDocumentation to add. + * @return This builder for chaining. + */ + public Builder addOverrideDocumentation( + java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + ensureOverrideDocumentationIsMutable(); + overrideDocumentation_.add(value); + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + /** + *
+     * (optional) CommonMark-formatted documentation for this specific range. If
+     * empty, the `Symbol.documentation` field is used instead. One example
+     * where this field might be useful is when the symbol represents a generic
+     * function (with abstract type parameters such as `List<T>`) and at this
+     * occurrence we know the exact values (such as `List<String>`).
+     *
+     * This field can also be used for dynamically or gradually typed languages,
+     * which commonly allow for type-changing assignment.
+     * 
+ * + * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; + * @param values The overrideDocumentation to add. + * @return This builder for chaining. + */ + public Builder addAllOverrideDocumentation( + java.lang.Iterable values) { + ensureOverrideDocumentationIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, overrideDocumentation_); + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + /** + *
+     * (optional) CommonMark-formatted documentation for this specific range. If
+     * empty, the `Symbol.documentation` field is used instead. One example
+     * where this field might be useful is when the symbol represents a generic
+     * function (with abstract type parameters such as `List<T>`) and at this
+     * occurrence we know the exact values (such as `List<String>`).
+     *
+     * This field can also be used for dynamically or gradually typed languages,
+     * which commonly allow for type-changing assignment.
+     * 
+ * + * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; + * @return This builder for chaining. + */ + public Builder clearOverrideDocumentation() { + overrideDocumentation_ = + com.google.protobuf.LazyStringArrayList.emptyList(); + bitField0_ = (bitField0_ & ~0x00000008);; + onChanged(); + return this; + } + /** + *
+     * (optional) CommonMark-formatted documentation for this specific range. If
+     * empty, the `Symbol.documentation` field is used instead. One example
+     * where this field might be useful is when the symbol represents a generic
+     * function (with abstract type parameters such as `List<T>`) and at this
+     * occurrence we know the exact values (such as `List<String>`).
+     *
+     * This field can also be used for dynamically or gradually typed languages,
+     * which commonly allow for type-changing assignment.
+     * 
+ * + * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; + * @param value The bytes of the overrideDocumentation to add. + * @return This builder for chaining. + */ + public Builder addOverrideDocumentationBytes( + com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + checkByteStringIsUtf8(value); + ensureOverrideDocumentationIsMutable(); + overrideDocumentation_.add(value); + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + + private int syntaxKind_ = 0; + /** + *
+     * (optional) What syntax highlighting class should be used for this range?
+     * 
+ * + * .scip.SyntaxKind syntax_kind = 5 [json_name = "syntaxKind"]; + * @return The enum numeric value on the wire for syntaxKind. + */ + @java.lang.Override public int getSyntaxKindValue() { + return syntaxKind_; + } + /** + *
+     * (optional) What syntax highlighting class should be used for this range?
+     * 
+ * + * .scip.SyntaxKind syntax_kind = 5 [json_name = "syntaxKind"]; + * @param value The enum numeric value on the wire for syntaxKind to set. + * @return This builder for chaining. + */ + public Builder setSyntaxKindValue(int value) { + syntaxKind_ = value; + bitField0_ |= 0x00000010; + onChanged(); + return this; + } + /** + *
+     * (optional) What syntax highlighting class should be used for this range?
+     * 
+ * + * .scip.SyntaxKind syntax_kind = 5 [json_name = "syntaxKind"]; + * @return The syntaxKind. + */ + @java.lang.Override + public org.scip_code.scip.SyntaxKind getSyntaxKind() { + org.scip_code.scip.SyntaxKind result = org.scip_code.scip.SyntaxKind.forNumber(syntaxKind_); + return result == null ? org.scip_code.scip.SyntaxKind.UNRECOGNIZED : result; + } + /** + *
+     * (optional) What syntax highlighting class should be used for this range?
+     * 
+ * + * .scip.SyntaxKind syntax_kind = 5 [json_name = "syntaxKind"]; + * @param value The syntaxKind to set. + * @return This builder for chaining. + */ + public Builder setSyntaxKind(org.scip_code.scip.SyntaxKind value) { + if (value == null) { throw new NullPointerException(); } + bitField0_ |= 0x00000010; + syntaxKind_ = value.getNumber(); + onChanged(); + return this; + } + /** + *
+     * (optional) What syntax highlighting class should be used for this range?
+     * 
+ * + * .scip.SyntaxKind syntax_kind = 5 [json_name = "syntaxKind"]; + * @return This builder for chaining. + */ + public Builder clearSyntaxKind() { + bitField0_ = (bitField0_ & ~0x00000010); + syntaxKind_ = 0; + onChanged(); + return this; + } + + private java.util.List diagnostics_ = + java.util.Collections.emptyList(); + private void ensureDiagnosticsIsMutable() { + if (!((bitField0_ & 0x00000020) != 0)) { + diagnostics_ = new java.util.ArrayList(diagnostics_); + bitField0_ |= 0x00000020; + } + } + + private com.google.protobuf.RepeatedFieldBuilder< + org.scip_code.scip.Diagnostic, org.scip_code.scip.Diagnostic.Builder, org.scip_code.scip.DiagnosticOrBuilder> diagnosticsBuilder_; + + /** + *
+     * (optional) Diagnostics that have been reported for this specific range.
+     * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + public java.util.List getDiagnosticsList() { + if (diagnosticsBuilder_ == null) { + return java.util.Collections.unmodifiableList(diagnostics_); + } else { + return diagnosticsBuilder_.getMessageList(); + } + } + /** + *
+     * (optional) Diagnostics that have been reported for this specific range.
+     * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + public int getDiagnosticsCount() { + if (diagnosticsBuilder_ == null) { + return diagnostics_.size(); + } else { + return diagnosticsBuilder_.getCount(); + } + } + /** + *
+     * (optional) Diagnostics that have been reported for this specific range.
+     * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + public org.scip_code.scip.Diagnostic getDiagnostics(int index) { + if (diagnosticsBuilder_ == null) { + return diagnostics_.get(index); + } else { + return diagnosticsBuilder_.getMessage(index); + } + } + /** + *
+     * (optional) Diagnostics that have been reported for this specific range.
+     * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + public Builder setDiagnostics( + int index, org.scip_code.scip.Diagnostic value) { + if (diagnosticsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureDiagnosticsIsMutable(); + diagnostics_.set(index, value); + onChanged(); + } else { + diagnosticsBuilder_.setMessage(index, value); + } + return this; + } + /** + *
+     * (optional) Diagnostics that have been reported for this specific range.
+     * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + public Builder setDiagnostics( + int index, org.scip_code.scip.Diagnostic.Builder builderForValue) { + if (diagnosticsBuilder_ == null) { + ensureDiagnosticsIsMutable(); + diagnostics_.set(index, builderForValue.build()); + onChanged(); + } else { + diagnosticsBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + *
+     * (optional) Diagnostics that have been reported for this specific range.
+     * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + public Builder addDiagnostics(org.scip_code.scip.Diagnostic value) { + if (diagnosticsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureDiagnosticsIsMutable(); + diagnostics_.add(value); + onChanged(); + } else { + diagnosticsBuilder_.addMessage(value); + } + return this; + } + /** + *
+     * (optional) Diagnostics that have been reported for this specific range.
+     * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + public Builder addDiagnostics( + int index, org.scip_code.scip.Diagnostic value) { + if (diagnosticsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureDiagnosticsIsMutable(); + diagnostics_.add(index, value); + onChanged(); + } else { + diagnosticsBuilder_.addMessage(index, value); + } + return this; + } + /** + *
+     * (optional) Diagnostics that have been reported for this specific range.
+     * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + public Builder addDiagnostics( + org.scip_code.scip.Diagnostic.Builder builderForValue) { + if (diagnosticsBuilder_ == null) { + ensureDiagnosticsIsMutable(); + diagnostics_.add(builderForValue.build()); + onChanged(); + } else { + diagnosticsBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + *
+     * (optional) Diagnostics that have been reported for this specific range.
+     * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + public Builder addDiagnostics( + int index, org.scip_code.scip.Diagnostic.Builder builderForValue) { + if (diagnosticsBuilder_ == null) { + ensureDiagnosticsIsMutable(); + diagnostics_.add(index, builderForValue.build()); + onChanged(); + } else { + diagnosticsBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + *
+     * (optional) Diagnostics that have been reported for this specific range.
+     * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + public Builder addAllDiagnostics( + java.lang.Iterable values) { + if (diagnosticsBuilder_ == null) { + ensureDiagnosticsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, diagnostics_); + onChanged(); + } else { + diagnosticsBuilder_.addAllMessages(values); + } + return this; + } + /** + *
+     * (optional) Diagnostics that have been reported for this specific range.
+     * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + public Builder clearDiagnostics() { + if (diagnosticsBuilder_ == null) { + diagnostics_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000020); + onChanged(); + } else { + diagnosticsBuilder_.clear(); + } + return this; + } + /** + *
+     * (optional) Diagnostics that have been reported for this specific range.
+     * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + public Builder removeDiagnostics(int index) { + if (diagnosticsBuilder_ == null) { + ensureDiagnosticsIsMutable(); + diagnostics_.remove(index); + onChanged(); + } else { + diagnosticsBuilder_.remove(index); + } + return this; + } + /** + *
+     * (optional) Diagnostics that have been reported for this specific range.
+     * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + public org.scip_code.scip.Diagnostic.Builder getDiagnosticsBuilder( + int index) { + return internalGetDiagnosticsFieldBuilder().getBuilder(index); + } + /** + *
+     * (optional) Diagnostics that have been reported for this specific range.
+     * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + public org.scip_code.scip.DiagnosticOrBuilder getDiagnosticsOrBuilder( + int index) { + if (diagnosticsBuilder_ == null) { + return diagnostics_.get(index); } else { + return diagnosticsBuilder_.getMessageOrBuilder(index); + } + } + /** + *
+     * (optional) Diagnostics that have been reported for this specific range.
+     * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + public java.util.List + getDiagnosticsOrBuilderList() { + if (diagnosticsBuilder_ != null) { + return diagnosticsBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(diagnostics_); + } + } + /** + *
+     * (optional) Diagnostics that have been reported for this specific range.
+     * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + public org.scip_code.scip.Diagnostic.Builder addDiagnosticsBuilder() { + return internalGetDiagnosticsFieldBuilder().addBuilder( + org.scip_code.scip.Diagnostic.getDefaultInstance()); + } + /** + *
+     * (optional) Diagnostics that have been reported for this specific range.
+     * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + public org.scip_code.scip.Diagnostic.Builder addDiagnosticsBuilder( + int index) { + return internalGetDiagnosticsFieldBuilder().addBuilder( + index, org.scip_code.scip.Diagnostic.getDefaultInstance()); + } + /** + *
+     * (optional) Diagnostics that have been reported for this specific range.
+     * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + public java.util.List + getDiagnosticsBuilderList() { + return internalGetDiagnosticsFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilder< + org.scip_code.scip.Diagnostic, org.scip_code.scip.Diagnostic.Builder, org.scip_code.scip.DiagnosticOrBuilder> + internalGetDiagnosticsFieldBuilder() { + if (diagnosticsBuilder_ == null) { + diagnosticsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder< + org.scip_code.scip.Diagnostic, org.scip_code.scip.Diagnostic.Builder, org.scip_code.scip.DiagnosticOrBuilder>( + diagnostics_, + ((bitField0_ & 0x00000020) != 0), + getParentForChildren(), + isClean()); + diagnostics_ = null; + } + return diagnosticsBuilder_; + } + + private com.google.protobuf.Internal.IntList enclosingRange_ = emptyIntList(); + private void ensureEnclosingRangeIsMutable() { + if (!enclosingRange_.isModifiable()) { + enclosingRange_ = makeMutableCopy(enclosingRange_); + } + bitField0_ |= 0x00000040; + } + /** + *
+     * (optional) Using the same encoding as the sibling `range` field, half-open
+     * source range of the nearest non-trivial enclosing AST node. This range must
+     * enclose the `range` field. Example applications that make use of the
+     * enclosing_range field:
+     *
+     * - Call hierarchies: to determine what symbols are references from the body
+     * of a function
+     * - Symbol outline: to display breadcrumbs from the cursor position to the
+     * root of the file
+     * - Expand selection: to select the nearest enclosing AST node.
+     * - Highlight range: to indicate the AST expression that is associated with a
+     * hover popover
+     *
+     * For definition occurrences, the enclosing range should indicate the
+     * start/end bounds of the entire definition AST node, including
+     * documentation.
+     * ```
+     * const n = 3
+     * ^ range
+     * ^^^^^^^^^^^ enclosing_range
+     *
+     * /** Parses the string into something */
+     * ^ enclosing_range start --------------------------------------|
+     * function parse(input string): string {                        |
+     * ^^^^^ range                                          |
+     * return input.slice(n)                                     |
+     * }                                                             |
+     * ^ enclosing_range end <---------------------------------------|
+     * ```
+     *
+     * Any attributes/decorators/attached macros should also be part of the
+     * enclosing range.
+     *
+     * ```python
+     * @cache
+     * ^ enclosing_range start---------------------|
+     * def factorial(n):                           |
+     * return n * factorial(n-1) if n else 1   |
+     * < enclosing_range end-----------------------|
+     *
+     * ```
+     *
+     * For reference occurrences, the enclosing range should indicate the start/end
+     * bounds of the parent expression.
+     * ```
+     * const a = a.b
+     * ^ range
+     * ^^^ enclosing_range
+     * const b = a.b(41).f(42).g(43)
+     * ^ range
+     * ^^^^^^^^^^^^^ enclosing_range
+     * ```
+     * 
+ * + * repeated int32 enclosing_range = 7 [json_name = "enclosingRange"]; + * @return A list containing the enclosingRange. + */ + public java.util.List + getEnclosingRangeList() { + enclosingRange_.makeImmutable(); + return enclosingRange_; + } + /** + *
+     * (optional) Using the same encoding as the sibling `range` field, half-open
+     * source range of the nearest non-trivial enclosing AST node. This range must
+     * enclose the `range` field. Example applications that make use of the
+     * enclosing_range field:
+     *
+     * - Call hierarchies: to determine what symbols are references from the body
+     * of a function
+     * - Symbol outline: to display breadcrumbs from the cursor position to the
+     * root of the file
+     * - Expand selection: to select the nearest enclosing AST node.
+     * - Highlight range: to indicate the AST expression that is associated with a
+     * hover popover
+     *
+     * For definition occurrences, the enclosing range should indicate the
+     * start/end bounds of the entire definition AST node, including
+     * documentation.
+     * ```
+     * const n = 3
+     * ^ range
+     * ^^^^^^^^^^^ enclosing_range
+     *
+     * /** Parses the string into something */
+     * ^ enclosing_range start --------------------------------------|
+     * function parse(input string): string {                        |
+     * ^^^^^ range                                          |
+     * return input.slice(n)                                     |
+     * }                                                             |
+     * ^ enclosing_range end <---------------------------------------|
+     * ```
+     *
+     * Any attributes/decorators/attached macros should also be part of the
+     * enclosing range.
+     *
+     * ```python
+     * @cache
+     * ^ enclosing_range start---------------------|
+     * def factorial(n):                           |
+     * return n * factorial(n-1) if n else 1   |
+     * < enclosing_range end-----------------------|
+     *
+     * ```
+     *
+     * For reference occurrences, the enclosing range should indicate the start/end
+     * bounds of the parent expression.
+     * ```
+     * const a = a.b
+     * ^ range
+     * ^^^ enclosing_range
+     * const b = a.b(41).f(42).g(43)
+     * ^ range
+     * ^^^^^^^^^^^^^ enclosing_range
+     * ```
+     * 
+ * + * repeated int32 enclosing_range = 7 [json_name = "enclosingRange"]; + * @return The count of enclosingRange. + */ + public int getEnclosingRangeCount() { + return enclosingRange_.size(); + } + /** + *
+     * (optional) Using the same encoding as the sibling `range` field, half-open
+     * source range of the nearest non-trivial enclosing AST node. This range must
+     * enclose the `range` field. Example applications that make use of the
+     * enclosing_range field:
+     *
+     * - Call hierarchies: to determine what symbols are references from the body
+     * of a function
+     * - Symbol outline: to display breadcrumbs from the cursor position to the
+     * root of the file
+     * - Expand selection: to select the nearest enclosing AST node.
+     * - Highlight range: to indicate the AST expression that is associated with a
+     * hover popover
+     *
+     * For definition occurrences, the enclosing range should indicate the
+     * start/end bounds of the entire definition AST node, including
+     * documentation.
+     * ```
+     * const n = 3
+     * ^ range
+     * ^^^^^^^^^^^ enclosing_range
+     *
+     * /** Parses the string into something */
+     * ^ enclosing_range start --------------------------------------|
+     * function parse(input string): string {                        |
+     * ^^^^^ range                                          |
+     * return input.slice(n)                                     |
+     * }                                                             |
+     * ^ enclosing_range end <---------------------------------------|
+     * ```
+     *
+     * Any attributes/decorators/attached macros should also be part of the
+     * enclosing range.
+     *
+     * ```python
+     * @cache
+     * ^ enclosing_range start---------------------|
+     * def factorial(n):                           |
+     * return n * factorial(n-1) if n else 1   |
+     * < enclosing_range end-----------------------|
+     *
+     * ```
+     *
+     * For reference occurrences, the enclosing range should indicate the start/end
+     * bounds of the parent expression.
+     * ```
+     * const a = a.b
+     * ^ range
+     * ^^^ enclosing_range
+     * const b = a.b(41).f(42).g(43)
+     * ^ range
+     * ^^^^^^^^^^^^^ enclosing_range
+     * ```
+     * 
+ * + * repeated int32 enclosing_range = 7 [json_name = "enclosingRange"]; + * @param index The index of the element to return. + * @return The enclosingRange at the given index. + */ + public int getEnclosingRange(int index) { + return enclosingRange_.getInt(index); + } + /** + *
+     * (optional) Using the same encoding as the sibling `range` field, half-open
+     * source range of the nearest non-trivial enclosing AST node. This range must
+     * enclose the `range` field. Example applications that make use of the
+     * enclosing_range field:
+     *
+     * - Call hierarchies: to determine what symbols are references from the body
+     * of a function
+     * - Symbol outline: to display breadcrumbs from the cursor position to the
+     * root of the file
+     * - Expand selection: to select the nearest enclosing AST node.
+     * - Highlight range: to indicate the AST expression that is associated with a
+     * hover popover
+     *
+     * For definition occurrences, the enclosing range should indicate the
+     * start/end bounds of the entire definition AST node, including
+     * documentation.
+     * ```
+     * const n = 3
+     * ^ range
+     * ^^^^^^^^^^^ enclosing_range
+     *
+     * /** Parses the string into something */
+     * ^ enclosing_range start --------------------------------------|
+     * function parse(input string): string {                        |
+     * ^^^^^ range                                          |
+     * return input.slice(n)                                     |
+     * }                                                             |
+     * ^ enclosing_range end <---------------------------------------|
+     * ```
+     *
+     * Any attributes/decorators/attached macros should also be part of the
+     * enclosing range.
+     *
+     * ```python
+     * @cache
+     * ^ enclosing_range start---------------------|
+     * def factorial(n):                           |
+     * return n * factorial(n-1) if n else 1   |
+     * < enclosing_range end-----------------------|
+     *
+     * ```
+     *
+     * For reference occurrences, the enclosing range should indicate the start/end
+     * bounds of the parent expression.
+     * ```
+     * const a = a.b
+     * ^ range
+     * ^^^ enclosing_range
+     * const b = a.b(41).f(42).g(43)
+     * ^ range
+     * ^^^^^^^^^^^^^ enclosing_range
+     * ```
+     * 
+ * + * repeated int32 enclosing_range = 7 [json_name = "enclosingRange"]; + * @param index The index to set the value at. + * @param value The enclosingRange to set. + * @return This builder for chaining. + */ + public Builder setEnclosingRange( + int index, int value) { + + ensureEnclosingRangeIsMutable(); + enclosingRange_.setInt(index, value); + bitField0_ |= 0x00000040; + onChanged(); + return this; + } + /** + *
+     * (optional) Using the same encoding as the sibling `range` field, half-open
+     * source range of the nearest non-trivial enclosing AST node. This range must
+     * enclose the `range` field. Example applications that make use of the
+     * enclosing_range field:
+     *
+     * - Call hierarchies: to determine what symbols are references from the body
+     * of a function
+     * - Symbol outline: to display breadcrumbs from the cursor position to the
+     * root of the file
+     * - Expand selection: to select the nearest enclosing AST node.
+     * - Highlight range: to indicate the AST expression that is associated with a
+     * hover popover
+     *
+     * For definition occurrences, the enclosing range should indicate the
+     * start/end bounds of the entire definition AST node, including
+     * documentation.
+     * ```
+     * const n = 3
+     * ^ range
+     * ^^^^^^^^^^^ enclosing_range
+     *
+     * /** Parses the string into something */
+     * ^ enclosing_range start --------------------------------------|
+     * function parse(input string): string {                        |
+     * ^^^^^ range                                          |
+     * return input.slice(n)                                     |
+     * }                                                             |
+     * ^ enclosing_range end <---------------------------------------|
+     * ```
+     *
+     * Any attributes/decorators/attached macros should also be part of the
+     * enclosing range.
+     *
+     * ```python
+     * @cache
+     * ^ enclosing_range start---------------------|
+     * def factorial(n):                           |
+     * return n * factorial(n-1) if n else 1   |
+     * < enclosing_range end-----------------------|
+     *
+     * ```
+     *
+     * For reference occurrences, the enclosing range should indicate the start/end
+     * bounds of the parent expression.
+     * ```
+     * const a = a.b
+     * ^ range
+     * ^^^ enclosing_range
+     * const b = a.b(41).f(42).g(43)
+     * ^ range
+     * ^^^^^^^^^^^^^ enclosing_range
+     * ```
+     * 
+ * + * repeated int32 enclosing_range = 7 [json_name = "enclosingRange"]; + * @param value The enclosingRange to add. + * @return This builder for chaining. + */ + public Builder addEnclosingRange(int value) { + + ensureEnclosingRangeIsMutable(); + enclosingRange_.addInt(value); + bitField0_ |= 0x00000040; + onChanged(); + return this; + } + /** + *
+     * (optional) Using the same encoding as the sibling `range` field, half-open
+     * source range of the nearest non-trivial enclosing AST node. This range must
+     * enclose the `range` field. Example applications that make use of the
+     * enclosing_range field:
+     *
+     * - Call hierarchies: to determine what symbols are references from the body
+     * of a function
+     * - Symbol outline: to display breadcrumbs from the cursor position to the
+     * root of the file
+     * - Expand selection: to select the nearest enclosing AST node.
+     * - Highlight range: to indicate the AST expression that is associated with a
+     * hover popover
+     *
+     * For definition occurrences, the enclosing range should indicate the
+     * start/end bounds of the entire definition AST node, including
+     * documentation.
+     * ```
+     * const n = 3
+     * ^ range
+     * ^^^^^^^^^^^ enclosing_range
+     *
+     * /** Parses the string into something */
+     * ^ enclosing_range start --------------------------------------|
+     * function parse(input string): string {                        |
+     * ^^^^^ range                                          |
+     * return input.slice(n)                                     |
+     * }                                                             |
+     * ^ enclosing_range end <---------------------------------------|
+     * ```
+     *
+     * Any attributes/decorators/attached macros should also be part of the
+     * enclosing range.
+     *
+     * ```python
+     * @cache
+     * ^ enclosing_range start---------------------|
+     * def factorial(n):                           |
+     * return n * factorial(n-1) if n else 1   |
+     * < enclosing_range end-----------------------|
+     *
+     * ```
+     *
+     * For reference occurrences, the enclosing range should indicate the start/end
+     * bounds of the parent expression.
+     * ```
+     * const a = a.b
+     * ^ range
+     * ^^^ enclosing_range
+     * const b = a.b(41).f(42).g(43)
+     * ^ range
+     * ^^^^^^^^^^^^^ enclosing_range
+     * ```
+     * 
+ * + * repeated int32 enclosing_range = 7 [json_name = "enclosingRange"]; + * @param values The enclosingRange to add. + * @return This builder for chaining. + */ + public Builder addAllEnclosingRange( + java.lang.Iterable values) { + ensureEnclosingRangeIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, enclosingRange_); + bitField0_ |= 0x00000040; + onChanged(); + return this; + } + /** + *
+     * (optional) Using the same encoding as the sibling `range` field, half-open
+     * source range of the nearest non-trivial enclosing AST node. This range must
+     * enclose the `range` field. Example applications that make use of the
+     * enclosing_range field:
+     *
+     * - Call hierarchies: to determine what symbols are references from the body
+     * of a function
+     * - Symbol outline: to display breadcrumbs from the cursor position to the
+     * root of the file
+     * - Expand selection: to select the nearest enclosing AST node.
+     * - Highlight range: to indicate the AST expression that is associated with a
+     * hover popover
+     *
+     * For definition occurrences, the enclosing range should indicate the
+     * start/end bounds of the entire definition AST node, including
+     * documentation.
+     * ```
+     * const n = 3
+     * ^ range
+     * ^^^^^^^^^^^ enclosing_range
+     *
+     * /** Parses the string into something */
+     * ^ enclosing_range start --------------------------------------|
+     * function parse(input string): string {                        |
+     * ^^^^^ range                                          |
+     * return input.slice(n)                                     |
+     * }                                                             |
+     * ^ enclosing_range end <---------------------------------------|
+     * ```
+     *
+     * Any attributes/decorators/attached macros should also be part of the
+     * enclosing range.
+     *
+     * ```python
+     * @cache
+     * ^ enclosing_range start---------------------|
+     * def factorial(n):                           |
+     * return n * factorial(n-1) if n else 1   |
+     * < enclosing_range end-----------------------|
+     *
+     * ```
+     *
+     * For reference occurrences, the enclosing range should indicate the start/end
+     * bounds of the parent expression.
+     * ```
+     * const a = a.b
+     * ^ range
+     * ^^^ enclosing_range
+     * const b = a.b(41).f(42).g(43)
+     * ^ range
+     * ^^^^^^^^^^^^^ enclosing_range
+     * ```
+     * 
+ * + * repeated int32 enclosing_range = 7 [json_name = "enclosingRange"]; + * @return This builder for chaining. + */ + public Builder clearEnclosingRange() { + enclosingRange_ = emptyIntList(); + bitField0_ = (bitField0_ & ~0x00000040); + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:scip.Occurrence) + } + + // @@protoc_insertion_point(class_scope:scip.Occurrence) + private static final org.scip_code.scip.Occurrence DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new org.scip_code.scip.Occurrence(); + } + + public static org.scip_code.scip.Occurrence getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public Occurrence parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public org.scip_code.scip.Occurrence getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + +} + diff --git a/bindings/java/src/main/java/org/scip_code/scip/OccurrenceOrBuilder.java b/bindings/java/src/main/java/org/scip_code/scip/OccurrenceOrBuilder.java new file mode 100644 index 00000000..4a2d8251 --- /dev/null +++ b/bindings/java/src/main/java/org/scip_code/scip/OccurrenceOrBuilder.java @@ -0,0 +1,454 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: scip.proto +// Protobuf Java Version: 4.32.1 + +package org.scip_code.scip; + +@com.google.protobuf.Generated +public interface OccurrenceOrBuilder extends + // @@protoc_insertion_point(interface_extends:scip.Occurrence) + com.google.protobuf.MessageOrBuilder { + + /** + *
+   * Half-open [start, end) range of this occurrence. Must be exactly three or four
+   * elements:
+   *
+   * - Four elements: `[startLine, startCharacter, endLine, endCharacter]`
+   * - Three elements: `[startLine, startCharacter, endCharacter]`. The end line
+   * is inferred to have the same value as the start line.
+   *
+   * It is allowed for the range to be empty (i.e. start==end).
+   *
+   * Line numbers and characters are always 0-based. Make sure to increment the
+   * line/character values before displaying them in an editor-like UI because
+   * editors conventionally use 1-based numbers.
+   *
+   * The 'character' value is interpreted based on the PositionEncoding for
+   * the Document.
+   *
+   * Historical note: the original draft of this schema had a `Range` message
+   * type with `start` and `end` fields of type `Position`, mirroring LSP.
+   * Benchmarks revealed that this encoding was inefficient and that we could
+   * reduce the total payload size of an index by 50% by using `repeated int32`
+   * instead. The `repeated int32` encoding is admittedly more embarrassing to
+   * work with in some programming languages but we hope the performance
+   * improvements make up for it.
+   * 
+ * + * repeated int32 range = 1 [json_name = "range"]; + * @return A list containing the range. + */ + java.util.List getRangeList(); + /** + *
+   * Half-open [start, end) range of this occurrence. Must be exactly three or four
+   * elements:
+   *
+   * - Four elements: `[startLine, startCharacter, endLine, endCharacter]`
+   * - Three elements: `[startLine, startCharacter, endCharacter]`. The end line
+   * is inferred to have the same value as the start line.
+   *
+   * It is allowed for the range to be empty (i.e. start==end).
+   *
+   * Line numbers and characters are always 0-based. Make sure to increment the
+   * line/character values before displaying them in an editor-like UI because
+   * editors conventionally use 1-based numbers.
+   *
+   * The 'character' value is interpreted based on the PositionEncoding for
+   * the Document.
+   *
+   * Historical note: the original draft of this schema had a `Range` message
+   * type with `start` and `end` fields of type `Position`, mirroring LSP.
+   * Benchmarks revealed that this encoding was inefficient and that we could
+   * reduce the total payload size of an index by 50% by using `repeated int32`
+   * instead. The `repeated int32` encoding is admittedly more embarrassing to
+   * work with in some programming languages but we hope the performance
+   * improvements make up for it.
+   * 
+ * + * repeated int32 range = 1 [json_name = "range"]; + * @return The count of range. + */ + int getRangeCount(); + /** + *
+   * Half-open [start, end) range of this occurrence. Must be exactly three or four
+   * elements:
+   *
+   * - Four elements: `[startLine, startCharacter, endLine, endCharacter]`
+   * - Three elements: `[startLine, startCharacter, endCharacter]`. The end line
+   * is inferred to have the same value as the start line.
+   *
+   * It is allowed for the range to be empty (i.e. start==end).
+   *
+   * Line numbers and characters are always 0-based. Make sure to increment the
+   * line/character values before displaying them in an editor-like UI because
+   * editors conventionally use 1-based numbers.
+   *
+   * The 'character' value is interpreted based on the PositionEncoding for
+   * the Document.
+   *
+   * Historical note: the original draft of this schema had a `Range` message
+   * type with `start` and `end` fields of type `Position`, mirroring LSP.
+   * Benchmarks revealed that this encoding was inefficient and that we could
+   * reduce the total payload size of an index by 50% by using `repeated int32`
+   * instead. The `repeated int32` encoding is admittedly more embarrassing to
+   * work with in some programming languages but we hope the performance
+   * improvements make up for it.
+   * 
+ * + * repeated int32 range = 1 [json_name = "range"]; + * @param index The index of the element to return. + * @return The range at the given index. + */ + int getRange(int index); + + /** + *
+   * (optional) The symbol that appears at this position. See
+   * `SymbolInformation.symbol` for how to format symbols as strings.
+   * 
+ * + * string symbol = 2 [json_name = "symbol"]; + * @return The symbol. + */ + java.lang.String getSymbol(); + /** + *
+   * (optional) The symbol that appears at this position. See
+   * `SymbolInformation.symbol` for how to format symbols as strings.
+   * 
+ * + * string symbol = 2 [json_name = "symbol"]; + * @return The bytes for symbol. + */ + com.google.protobuf.ByteString + getSymbolBytes(); + + /** + *
+   * (optional) Bitset containing `SymbolRole`s in this occurrence.
+   * See `SymbolRole`'s documentation for how to read and write this field.
+   * 
+ * + * int32 symbol_roles = 3 [json_name = "symbolRoles"]; + * @return The symbolRoles. + */ + int getSymbolRoles(); + + /** + *
+   * (optional) CommonMark-formatted documentation for this specific range. If
+   * empty, the `Symbol.documentation` field is used instead. One example
+   * where this field might be useful is when the symbol represents a generic
+   * function (with abstract type parameters such as `List<T>`) and at this
+   * occurrence we know the exact values (such as `List<String>`).
+   *
+   * This field can also be used for dynamically or gradually typed languages,
+   * which commonly allow for type-changing assignment.
+   * 
+ * + * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; + * @return A list containing the overrideDocumentation. + */ + java.util.List + getOverrideDocumentationList(); + /** + *
+   * (optional) CommonMark-formatted documentation for this specific range. If
+   * empty, the `Symbol.documentation` field is used instead. One example
+   * where this field might be useful is when the symbol represents a generic
+   * function (with abstract type parameters such as `List<T>`) and at this
+   * occurrence we know the exact values (such as `List<String>`).
+   *
+   * This field can also be used for dynamically or gradually typed languages,
+   * which commonly allow for type-changing assignment.
+   * 
+ * + * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; + * @return The count of overrideDocumentation. + */ + int getOverrideDocumentationCount(); + /** + *
+   * (optional) CommonMark-formatted documentation for this specific range. If
+   * empty, the `Symbol.documentation` field is used instead. One example
+   * where this field might be useful is when the symbol represents a generic
+   * function (with abstract type parameters such as `List<T>`) and at this
+   * occurrence we know the exact values (such as `List<String>`).
+   *
+   * This field can also be used for dynamically or gradually typed languages,
+   * which commonly allow for type-changing assignment.
+   * 
+ * + * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; + * @param index The index of the element to return. + * @return The overrideDocumentation at the given index. + */ + java.lang.String getOverrideDocumentation(int index); + /** + *
+   * (optional) CommonMark-formatted documentation for this specific range. If
+   * empty, the `Symbol.documentation` field is used instead. One example
+   * where this field might be useful is when the symbol represents a generic
+   * function (with abstract type parameters such as `List<T>`) and at this
+   * occurrence we know the exact values (such as `List<String>`).
+   *
+   * This field can also be used for dynamically or gradually typed languages,
+   * which commonly allow for type-changing assignment.
+   * 
+ * + * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; + * @param index The index of the value to return. + * @return The bytes of the overrideDocumentation at the given index. + */ + com.google.protobuf.ByteString + getOverrideDocumentationBytes(int index); + + /** + *
+   * (optional) What syntax highlighting class should be used for this range?
+   * 
+ * + * .scip.SyntaxKind syntax_kind = 5 [json_name = "syntaxKind"]; + * @return The enum numeric value on the wire for syntaxKind. + */ + int getSyntaxKindValue(); + /** + *
+   * (optional) What syntax highlighting class should be used for this range?
+   * 
+ * + * .scip.SyntaxKind syntax_kind = 5 [json_name = "syntaxKind"]; + * @return The syntaxKind. + */ + org.scip_code.scip.SyntaxKind getSyntaxKind(); + + /** + *
+   * (optional) Diagnostics that have been reported for this specific range.
+   * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + java.util.List + getDiagnosticsList(); + /** + *
+   * (optional) Diagnostics that have been reported for this specific range.
+   * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + org.scip_code.scip.Diagnostic getDiagnostics(int index); + /** + *
+   * (optional) Diagnostics that have been reported for this specific range.
+   * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + int getDiagnosticsCount(); + /** + *
+   * (optional) Diagnostics that have been reported for this specific range.
+   * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + java.util.List + getDiagnosticsOrBuilderList(); + /** + *
+   * (optional) Diagnostics that have been reported for this specific range.
+   * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + org.scip_code.scip.DiagnosticOrBuilder getDiagnosticsOrBuilder( + int index); + + /** + *
+   * (optional) Using the same encoding as the sibling `range` field, half-open
+   * source range of the nearest non-trivial enclosing AST node. This range must
+   * enclose the `range` field. Example applications that make use of the
+   * enclosing_range field:
+   *
+   * - Call hierarchies: to determine what symbols are references from the body
+   * of a function
+   * - Symbol outline: to display breadcrumbs from the cursor position to the
+   * root of the file
+   * - Expand selection: to select the nearest enclosing AST node.
+   * - Highlight range: to indicate the AST expression that is associated with a
+   * hover popover
+   *
+   * For definition occurrences, the enclosing range should indicate the
+   * start/end bounds of the entire definition AST node, including
+   * documentation.
+   * ```
+   * const n = 3
+   * ^ range
+   * ^^^^^^^^^^^ enclosing_range
+   *
+   * /** Parses the string into something */
+   * ^ enclosing_range start --------------------------------------|
+   * function parse(input string): string {                        |
+   * ^^^^^ range                                          |
+   * return input.slice(n)                                     |
+   * }                                                             |
+   * ^ enclosing_range end <---------------------------------------|
+   * ```
+   *
+   * Any attributes/decorators/attached macros should also be part of the
+   * enclosing range.
+   *
+   * ```python
+   * @cache
+   * ^ enclosing_range start---------------------|
+   * def factorial(n):                           |
+   * return n * factorial(n-1) if n else 1   |
+   * < enclosing_range end-----------------------|
+   *
+   * ```
+   *
+   * For reference occurrences, the enclosing range should indicate the start/end
+   * bounds of the parent expression.
+   * ```
+   * const a = a.b
+   * ^ range
+   * ^^^ enclosing_range
+   * const b = a.b(41).f(42).g(43)
+   * ^ range
+   * ^^^^^^^^^^^^^ enclosing_range
+   * ```
+   * 
+ * + * repeated int32 enclosing_range = 7 [json_name = "enclosingRange"]; + * @return A list containing the enclosingRange. + */ + java.util.List getEnclosingRangeList(); + /** + *
+   * (optional) Using the same encoding as the sibling `range` field, half-open
+   * source range of the nearest non-trivial enclosing AST node. This range must
+   * enclose the `range` field. Example applications that make use of the
+   * enclosing_range field:
+   *
+   * - Call hierarchies: to determine what symbols are references from the body
+   * of a function
+   * - Symbol outline: to display breadcrumbs from the cursor position to the
+   * root of the file
+   * - Expand selection: to select the nearest enclosing AST node.
+   * - Highlight range: to indicate the AST expression that is associated with a
+   * hover popover
+   *
+   * For definition occurrences, the enclosing range should indicate the
+   * start/end bounds of the entire definition AST node, including
+   * documentation.
+   * ```
+   * const n = 3
+   * ^ range
+   * ^^^^^^^^^^^ enclosing_range
+   *
+   * /** Parses the string into something */
+   * ^ enclosing_range start --------------------------------------|
+   * function parse(input string): string {                        |
+   * ^^^^^ range                                          |
+   * return input.slice(n)                                     |
+   * }                                                             |
+   * ^ enclosing_range end <---------------------------------------|
+   * ```
+   *
+   * Any attributes/decorators/attached macros should also be part of the
+   * enclosing range.
+   *
+   * ```python
+   * @cache
+   * ^ enclosing_range start---------------------|
+   * def factorial(n):                           |
+   * return n * factorial(n-1) if n else 1   |
+   * < enclosing_range end-----------------------|
+   *
+   * ```
+   *
+   * For reference occurrences, the enclosing range should indicate the start/end
+   * bounds of the parent expression.
+   * ```
+   * const a = a.b
+   * ^ range
+   * ^^^ enclosing_range
+   * const b = a.b(41).f(42).g(43)
+   * ^ range
+   * ^^^^^^^^^^^^^ enclosing_range
+   * ```
+   * 
+ * + * repeated int32 enclosing_range = 7 [json_name = "enclosingRange"]; + * @return The count of enclosingRange. + */ + int getEnclosingRangeCount(); + /** + *
+   * (optional) Using the same encoding as the sibling `range` field, half-open
+   * source range of the nearest non-trivial enclosing AST node. This range must
+   * enclose the `range` field. Example applications that make use of the
+   * enclosing_range field:
+   *
+   * - Call hierarchies: to determine what symbols are references from the body
+   * of a function
+   * - Symbol outline: to display breadcrumbs from the cursor position to the
+   * root of the file
+   * - Expand selection: to select the nearest enclosing AST node.
+   * - Highlight range: to indicate the AST expression that is associated with a
+   * hover popover
+   *
+   * For definition occurrences, the enclosing range should indicate the
+   * start/end bounds of the entire definition AST node, including
+   * documentation.
+   * ```
+   * const n = 3
+   * ^ range
+   * ^^^^^^^^^^^ enclosing_range
+   *
+   * /** Parses the string into something */
+   * ^ enclosing_range start --------------------------------------|
+   * function parse(input string): string {                        |
+   * ^^^^^ range                                          |
+   * return input.slice(n)                                     |
+   * }                                                             |
+   * ^ enclosing_range end <---------------------------------------|
+   * ```
+   *
+   * Any attributes/decorators/attached macros should also be part of the
+   * enclosing range.
+   *
+   * ```python
+   * @cache
+   * ^ enclosing_range start---------------------|
+   * def factorial(n):                           |
+   * return n * factorial(n-1) if n else 1   |
+   * < enclosing_range end-----------------------|
+   *
+   * ```
+   *
+   * For reference occurrences, the enclosing range should indicate the start/end
+   * bounds of the parent expression.
+   * ```
+   * const a = a.b
+   * ^ range
+   * ^^^ enclosing_range
+   * const b = a.b(41).f(42).g(43)
+   * ^ range
+   * ^^^^^^^^^^^^^ enclosing_range
+   * ```
+   * 
+ * + * repeated int32 enclosing_range = 7 [json_name = "enclosingRange"]; + * @param index The index of the element to return. + * @return The enclosingRange at the given index. + */ + int getEnclosingRange(int index); +} diff --git a/bindings/java/src/main/java/org/scip_code/scip/Package.java b/bindings/java/src/main/java/org/scip_code/scip/Package.java new file mode 100644 index 00000000..9898f798 --- /dev/null +++ b/bindings/java/src/main/java/org/scip_code/scip/Package.java @@ -0,0 +1,786 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: scip.proto +// Protobuf Java Version: 4.32.1 + +package org.scip_code.scip; + +/** + *
+ * Unit of packaging and distribution.
+ *
+ * NOTE: This corresponds to a module in Go and JVM languages.
+ * 
+ * + * Protobuf type {@code scip.Package} + */ +@com.google.protobuf.Generated +public final class Package extends + com.google.protobuf.GeneratedMessage implements + // @@protoc_insertion_point(message_implements:scip.Package) + PackageOrBuilder { +private static final long serialVersionUID = 0L; + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 32, + /* patch= */ 1, + /* suffix= */ "", + Package.class.getName()); + } + // Use Package.newBuilder() to construct. + private Package(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + private Package() { + manager_ = ""; + name_ = ""; + version_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.scip_code.scip.ScipProto.internal_static_scip_Package_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.scip_code.scip.ScipProto.internal_static_scip_Package_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.scip_code.scip.Package.class, org.scip_code.scip.Package.Builder.class); + } + + public static final int MANAGER_FIELD_NUMBER = 1; + @SuppressWarnings("serial") + private volatile java.lang.Object manager_ = ""; + /** + * string manager = 1 [json_name = "manager"]; + * @return The manager. + */ + @java.lang.Override + public java.lang.String getManager() { + java.lang.Object ref = manager_; + 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(); + manager_ = s; + return s; + } + } + /** + * string manager = 1 [json_name = "manager"]; + * @return The bytes for manager. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getManagerBytes() { + java.lang.Object ref = manager_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + manager_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int NAME_FIELD_NUMBER = 2; + @SuppressWarnings("serial") + private volatile java.lang.Object name_ = ""; + /** + * string name = 2 [json_name = "name"]; + * @return The name. + */ + @java.lang.Override + public java.lang.String getName() { + java.lang.Object ref = name_; + 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(); + name_ = s; + return s; + } + } + /** + * string name = 2 [json_name = "name"]; + * @return The bytes for name. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int VERSION_FIELD_NUMBER = 3; + @SuppressWarnings("serial") + private volatile java.lang.Object version_ = ""; + /** + * string version = 3 [json_name = "version"]; + * @return The version. + */ + @java.lang.Override + public java.lang.String getVersion() { + java.lang.Object ref = version_; + 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(); + version_ = s; + return s; + } + } + /** + * string version = 3 [json_name = "version"]; + * @return The bytes for version. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getVersionBytes() { + java.lang.Object ref = version_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + version_ = 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 (!com.google.protobuf.GeneratedMessage.isStringEmpty(manager_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, manager_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 2, name_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(version_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 3, version_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(manager_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, manager_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(2, name_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(version_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(3, version_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof org.scip_code.scip.Package)) { + return super.equals(obj); + } + org.scip_code.scip.Package other = (org.scip_code.scip.Package) obj; + + if (!getManager() + .equals(other.getManager())) return false; + if (!getName() + .equals(other.getName())) return false; + if (!getVersion() + .equals(other.getVersion())) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) 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) + MANAGER_FIELD_NUMBER; + hash = (53 * hash) + getManager().hashCode(); + hash = (37 * hash) + NAME_FIELD_NUMBER; + hash = (53 * hash) + getName().hashCode(); + hash = (37 * hash) + VERSION_FIELD_NUMBER; + hash = (53 * hash) + getVersion().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static org.scip_code.scip.Package parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.scip_code.scip.Package parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.scip_code.scip.Package parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.scip_code.scip.Package parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.scip_code.scip.Package parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.scip_code.scip.Package parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.scip_code.scip.Package parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static org.scip_code.scip.Package parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public static org.scip_code.scip.Package parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input); + } + + public static org.scip_code.scip.Package parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static org.scip_code.scip.Package parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static org.scip_code.scip.Package parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(org.scip_code.scip.Package 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + *
+   * Unit of packaging and distribution.
+   *
+   * NOTE: This corresponds to a module in Go and JVM languages.
+   * 
+ * + * Protobuf type {@code scip.Package} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder implements + // @@protoc_insertion_point(builder_implements:scip.Package) + org.scip_code.scip.PackageOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.scip_code.scip.ScipProto.internal_static_scip_Package_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.scip_code.scip.ScipProto.internal_static_scip_Package_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.scip_code.scip.Package.class, org.scip_code.scip.Package.Builder.class); + } + + // Construct using org.scip_code.scip.Package.newBuilder() + private Builder() { + + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + + } + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + manager_ = ""; + name_ = ""; + version_ = ""; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return org.scip_code.scip.ScipProto.internal_static_scip_Package_descriptor; + } + + @java.lang.Override + public org.scip_code.scip.Package getDefaultInstanceForType() { + return org.scip_code.scip.Package.getDefaultInstance(); + } + + @java.lang.Override + public org.scip_code.scip.Package build() { + org.scip_code.scip.Package result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public org.scip_code.scip.Package buildPartial() { + org.scip_code.scip.Package result = new org.scip_code.scip.Package(this); + if (bitField0_ != 0) { buildPartial0(result); } + onBuilt(); + return result; + } + + private void buildPartial0(org.scip_code.scip.Package result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.manager_ = manager_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.name_ = name_; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.version_ = version_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof org.scip_code.scip.Package) { + return mergeFrom((org.scip_code.scip.Package)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(org.scip_code.scip.Package other) { + if (other == org.scip_code.scip.Package.getDefaultInstance()) return this; + if (!other.getManager().isEmpty()) { + manager_ = other.manager_; + bitField0_ |= 0x00000001; + onChanged(); + } + if (!other.getName().isEmpty()) { + name_ = other.name_; + bitField0_ |= 0x00000002; + onChanged(); + } + if (!other.getVersion().isEmpty()) { + version_ = other.version_; + bitField0_ |= 0x00000004; + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + 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 { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + manager_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 18: { + name_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000002; + break; + } // case 18 + case 26: { + version_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000004; + break; + } // case 26 + default: { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + private int bitField0_; + + private java.lang.Object manager_ = ""; + /** + * string manager = 1 [json_name = "manager"]; + * @return The manager. + */ + public java.lang.String getManager() { + java.lang.Object ref = manager_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + manager_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * string manager = 1 [json_name = "manager"]; + * @return The bytes for manager. + */ + public com.google.protobuf.ByteString + getManagerBytes() { + java.lang.Object ref = manager_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + manager_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * string manager = 1 [json_name = "manager"]; + * @param value The manager to set. + * @return This builder for chaining. + */ + public Builder setManager( + java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + manager_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + /** + * string manager = 1 [json_name = "manager"]; + * @return This builder for chaining. + */ + public Builder clearManager() { + manager_ = getDefaultInstance().getManager(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + /** + * string manager = 1 [json_name = "manager"]; + * @param value The bytes for manager to set. + * @return This builder for chaining. + */ + public Builder setManagerBytes( + com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + checkByteStringIsUtf8(value); + manager_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private java.lang.Object name_ = ""; + /** + * string name = 2 [json_name = "name"]; + * @return The name. + */ + public java.lang.String getName() { + java.lang.Object ref = name_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + name_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * string name = 2 [json_name = "name"]; + * @return The bytes for name. + */ + public com.google.protobuf.ByteString + getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * string name = 2 [json_name = "name"]; + * @param value The name to set. + * @return This builder for chaining. + */ + public Builder setName( + java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + name_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + /** + * string name = 2 [json_name = "name"]; + * @return This builder for chaining. + */ + public Builder clearName() { + name_ = getDefaultInstance().getName(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + /** + * string name = 2 [json_name = "name"]; + * @param value The bytes for name to set. + * @return This builder for chaining. + */ + public Builder setNameBytes( + com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + checkByteStringIsUtf8(value); + name_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + private java.lang.Object version_ = ""; + /** + * string version = 3 [json_name = "version"]; + * @return The version. + */ + public java.lang.String getVersion() { + java.lang.Object ref = version_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + version_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * string version = 3 [json_name = "version"]; + * @return The bytes for version. + */ + public com.google.protobuf.ByteString + getVersionBytes() { + java.lang.Object ref = version_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + version_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * string version = 3 [json_name = "version"]; + * @param value The version to set. + * @return This builder for chaining. + */ + public Builder setVersion( + java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + version_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + /** + * string version = 3 [json_name = "version"]; + * @return This builder for chaining. + */ + public Builder clearVersion() { + version_ = getDefaultInstance().getVersion(); + bitField0_ = (bitField0_ & ~0x00000004); + onChanged(); + return this; + } + /** + * string version = 3 [json_name = "version"]; + * @param value The bytes for version to set. + * @return This builder for chaining. + */ + public Builder setVersionBytes( + com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + checkByteStringIsUtf8(value); + version_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:scip.Package) + } + + // @@protoc_insertion_point(class_scope:scip.Package) + private static final org.scip_code.scip.Package DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new org.scip_code.scip.Package(); + } + + public static org.scip_code.scip.Package getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public Package parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public org.scip_code.scip.Package getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + +} + diff --git a/bindings/java/src/main/java/org/scip_code/scip/PackageOrBuilder.java b/bindings/java/src/main/java/org/scip_code/scip/PackageOrBuilder.java new file mode 100644 index 00000000..3fc03231 --- /dev/null +++ b/bindings/java/src/main/java/org/scip_code/scip/PackageOrBuilder.java @@ -0,0 +1,48 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: scip.proto +// Protobuf Java Version: 4.32.1 + +package org.scip_code.scip; + +@com.google.protobuf.Generated +public interface PackageOrBuilder extends + // @@protoc_insertion_point(interface_extends:scip.Package) + com.google.protobuf.MessageOrBuilder { + + /** + * string manager = 1 [json_name = "manager"]; + * @return The manager. + */ + java.lang.String getManager(); + /** + * string manager = 1 [json_name = "manager"]; + * @return The bytes for manager. + */ + com.google.protobuf.ByteString + getManagerBytes(); + + /** + * string name = 2 [json_name = "name"]; + * @return The name. + */ + java.lang.String getName(); + /** + * string name = 2 [json_name = "name"]; + * @return The bytes for name. + */ + com.google.protobuf.ByteString + getNameBytes(); + + /** + * string version = 3 [json_name = "version"]; + * @return The version. + */ + java.lang.String getVersion(); + /** + * string version = 3 [json_name = "version"]; + * @return The bytes for version. + */ + com.google.protobuf.ByteString + getVersionBytes(); +} diff --git a/bindings/java/src/main/java/org/scip_code/scip/PositionEncoding.java b/bindings/java/src/main/java/org/scip_code/scip/PositionEncoding.java new file mode 100644 index 00000000..47e46f71 --- /dev/null +++ b/bindings/java/src/main/java/org/scip_code/scip/PositionEncoding.java @@ -0,0 +1,209 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: scip.proto +// Protobuf Java Version: 4.32.1 + +package org.scip_code.scip; + +/** + *
+ * Encoding used to interpret the 'character' value in source ranges.
+ * 
+ * + * Protobuf enum {@code scip.PositionEncoding} + */ +@com.google.protobuf.Generated +public enum PositionEncoding + implements com.google.protobuf.ProtocolMessageEnum { + /** + *
+   * Default value. This value should not be used by new SCIP indexers
+   * so that a consumer can process the SCIP index without ambiguity.
+   * 
+ * + * UnspecifiedPositionEncoding = 0; + */ + UnspecifiedPositionEncoding(0), + /** + *
+   * The 'character' value is interpreted as an offset in terms
+   * of UTF-8 code units (i.e. bytes).
+   *
+   * Example: For the string "🚀 Woo" in UTF-8, the bytes are
+   * [240, 159, 154, 128, 32, 87, 111, 111], so the offset for 'W'
+   * would be 5.
+   * 
+ * + * UTF8CodeUnitOffsetFromLineStart = 1; + */ + UTF8CodeUnitOffsetFromLineStart(1), + /** + *
+   * The 'character' value is interpreted as an offset in terms
+   * of UTF-16 code units (each is 2 bytes).
+   *
+   * Example: For the string "🚀 Woo", the UTF-16 code units are
+   * ['\ud83d', '\ude80', ' ', 'W', 'o', 'o'], so the offset for 'W'
+   * would be 3.
+   * 
+ * + * UTF16CodeUnitOffsetFromLineStart = 2; + */ + UTF16CodeUnitOffsetFromLineStart(2), + /** + *
+   * The 'character' value is interpreted as an offset in terms
+   * of UTF-32 code units (each is 4 bytes).
+   *
+   * Example: For the string "🚀 Woo", the UTF-32 code units are
+   * ['🚀', ' ', 'W', 'o', 'o'], so the offset for 'W' would be 2.
+   * 
+ * + * UTF32CodeUnitOffsetFromLineStart = 3; + */ + UTF32CodeUnitOffsetFromLineStart(3), + UNRECOGNIZED(-1), + ; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 32, + /* patch= */ 1, + /* suffix= */ "", + PositionEncoding.class.getName()); + } + /** + *
+   * Default value. This value should not be used by new SCIP indexers
+   * so that a consumer can process the SCIP index without ambiguity.
+   * 
+ * + * UnspecifiedPositionEncoding = 0; + */ + public static final int UnspecifiedPositionEncoding_VALUE = 0; + /** + *
+   * The 'character' value is interpreted as an offset in terms
+   * of UTF-8 code units (i.e. bytes).
+   *
+   * Example: For the string "🚀 Woo" in UTF-8, the bytes are
+   * [240, 159, 154, 128, 32, 87, 111, 111], so the offset for 'W'
+   * would be 5.
+   * 
+ * + * UTF8CodeUnitOffsetFromLineStart = 1; + */ + public static final int UTF8CodeUnitOffsetFromLineStart_VALUE = 1; + /** + *
+   * The 'character' value is interpreted as an offset in terms
+   * of UTF-16 code units (each is 2 bytes).
+   *
+   * Example: For the string "🚀 Woo", the UTF-16 code units are
+   * ['\ud83d', '\ude80', ' ', 'W', 'o', 'o'], so the offset for 'W'
+   * would be 3.
+   * 
+ * + * UTF16CodeUnitOffsetFromLineStart = 2; + */ + public static final int UTF16CodeUnitOffsetFromLineStart_VALUE = 2; + /** + *
+   * The 'character' value is interpreted as an offset in terms
+   * of UTF-32 code units (each is 4 bytes).
+   *
+   * Example: For the string "🚀 Woo", the UTF-32 code units are
+   * ['🚀', ' ', 'W', 'o', 'o'], so the offset for 'W' would be 2.
+   * 
+ * + * UTF32CodeUnitOffsetFromLineStart = 3; + */ + public static final int UTF32CodeUnitOffsetFromLineStart_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 PositionEncoding 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 PositionEncoding forNumber(int value) { + switch (value) { + case 0: return UnspecifiedPositionEncoding; + case 1: return UTF8CodeUnitOffsetFromLineStart; + case 2: return UTF16CodeUnitOffsetFromLineStart; + case 3: return UTF32CodeUnitOffsetFromLineStart; + default: return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap + internalGetValueMap() { + return internalValueMap; + } + private static final com.google.protobuf.Internal.EnumLiteMap< + PositionEncoding> internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap() { + public PositionEncoding findValueByNumber(int number) { + return PositionEncoding.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 com.google.protobuf.Descriptors.EnumDescriptor + getDescriptor() { + return org.scip_code.scip.ScipProto.getDescriptor().getEnumTypes().get(2); + } + + private static final PositionEncoding[] VALUES = values(); + + public static PositionEncoding 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 PositionEncoding(int value) { + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:scip.PositionEncoding) +} + diff --git a/bindings/java/src/main/java/org/scip_code/scip/ProtocolVersion.java b/bindings/java/src/main/java/org/scip_code/scip/ProtocolVersion.java new file mode 100644 index 00000000..4e975c2b --- /dev/null +++ b/bindings/java/src/main/java/org/scip_code/scip/ProtocolVersion.java @@ -0,0 +1,116 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: scip.proto +// Protobuf Java Version: 4.32.1 + +package org.scip_code.scip; + +/** + * Protobuf enum {@code scip.ProtocolVersion} + */ +@com.google.protobuf.Generated +public enum ProtocolVersion + implements com.google.protobuf.ProtocolMessageEnum { + /** + * UnspecifiedProtocolVersion = 0; + */ + UnspecifiedProtocolVersion(0), + UNRECOGNIZED(-1), + ; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 32, + /* patch= */ 1, + /* suffix= */ "", + ProtocolVersion.class.getName()); + } + /** + * UnspecifiedProtocolVersion = 0; + */ + public static final int UnspecifiedProtocolVersion_VALUE = 0; + + + 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 ProtocolVersion 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 ProtocolVersion forNumber(int value) { + switch (value) { + case 0: return UnspecifiedProtocolVersion; + default: return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap + internalGetValueMap() { + return internalValueMap; + } + private static final com.google.protobuf.Internal.EnumLiteMap< + ProtocolVersion> internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap() { + public ProtocolVersion findValueByNumber(int number) { + return ProtocolVersion.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 com.google.protobuf.Descriptors.EnumDescriptor + getDescriptor() { + return org.scip_code.scip.ScipProto.getDescriptor().getEnumTypes().get(0); + } + + private static final ProtocolVersion[] VALUES = values(); + + public static ProtocolVersion 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 ProtocolVersion(int value) { + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:scip.ProtocolVersion) +} + diff --git a/bindings/java/src/main/java/org/scip_code/scip/Relationship.java b/bindings/java/src/main/java/org/scip_code/scip/Relationship.java new file mode 100644 index 00000000..6b1db513 --- /dev/null +++ b/bindings/java/src/main/java/org/scip_code/scip/Relationship.java @@ -0,0 +1,998 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: scip.proto +// Protobuf Java Version: 4.32.1 + +package org.scip_code.scip; + +/** + * Protobuf type {@code scip.Relationship} + */ +@com.google.protobuf.Generated +public final class Relationship extends + com.google.protobuf.GeneratedMessage implements + // @@protoc_insertion_point(message_implements:scip.Relationship) + RelationshipOrBuilder { +private static final long serialVersionUID = 0L; + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 32, + /* patch= */ 1, + /* suffix= */ "", + Relationship.class.getName()); + } + // Use Relationship.newBuilder() to construct. + private Relationship(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + private Relationship() { + symbol_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.scip_code.scip.ScipProto.internal_static_scip_Relationship_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.scip_code.scip.ScipProto.internal_static_scip_Relationship_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.scip_code.scip.Relationship.class, org.scip_code.scip.Relationship.Builder.class); + } + + public static final int SYMBOL_FIELD_NUMBER = 1; + @SuppressWarnings("serial") + private volatile java.lang.Object symbol_ = ""; + /** + * string symbol = 1 [json_name = "symbol"]; + * @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 [json_name = "symbol"]; + * @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 IS_REFERENCE_FIELD_NUMBER = 2; + private boolean isReference_ = false; + /** + *
+   * When resolving "Find references", this field documents what other symbols
+   * should be included together with this symbol. For example, consider the
+   * following TypeScript code that defines two symbols `Animal#sound()` and
+   * `Dog#sound()`:
+   * ```ts
+   * interface Animal {
+   * ^^^^^^ definition Animal#
+   * sound(): string
+   * ^^^^^ definition Animal#sound()
+   * }
+   * class Dog implements Animal {
+   * ^^^ definition Dog#, relationships = [{symbol: "Animal#", is_implementation: true}]
+   * public sound(): string { return "woof" }
+   * ^^^^^ definition Dog#sound(), references_symbols = Animal#sound(), relationships = [{symbol: "Animal#sound()", is_implementation:true, is_reference: true}]
+   * }
+   * const animal: Animal = new Dog()
+   * ^^^^^^ reference Animal#
+   * console.log(animal.sound())
+   * ^^^^^ reference Animal#sound()
+   * ```
+   * Doing "Find references" on the symbol `Animal#sound()` should return
+   * references to the `Dog#sound()` method as well. Vice-versa, doing "Find
+   * references" on the `Dog#sound()` method should include references to the
+   * `Animal#sound()` method as well.
+   * 
+ * + * bool is_reference = 2 [json_name = "isReference"]; + * @return The isReference. + */ + @java.lang.Override + public boolean getIsReference() { + return isReference_; + } + + public static final int IS_IMPLEMENTATION_FIELD_NUMBER = 3; + private boolean isImplementation_ = false; + /** + *
+   * Similar to `is_reference` but for "Find implementations".
+   * It's common for `is_implementation` and `is_reference` to both be true but
+   * it's not always the case.
+   * In the TypeScript example above, observe that `Dog#` has an
+   * `is_implementation` relationship with `"Animal#"` but not `is_reference`.
+   * This is because "Find references" on the "Animal#" symbol should not return
+   * "Dog#". We only want "Dog#" to return as a result for "Find
+   * implementations" on the "Animal#" symbol.
+   * 
+ * + * bool is_implementation = 3 [json_name = "isImplementation"]; + * @return The isImplementation. + */ + @java.lang.Override + public boolean getIsImplementation() { + return isImplementation_; + } + + public static final int IS_TYPE_DEFINITION_FIELD_NUMBER = 4; + private boolean isTypeDefinition_ = false; + /** + *
+   * Similar to `references_symbols` but for "Go to type definition".
+   * 
+ * + * bool is_type_definition = 4 [json_name = "isTypeDefinition"]; + * @return The isTypeDefinition. + */ + @java.lang.Override + public boolean getIsTypeDefinition() { + return isTypeDefinition_; + } + + public static final int IS_DEFINITION_FIELD_NUMBER = 5; + private boolean isDefinition_ = false; + /** + *
+   * Allows overriding the behavior of "Go to definition" and "Find references"
+   * for symbols which do not have a definition of their own or could
+   * potentially have multiple definitions.
+   *
+   * For example, in a language with single inheritance and no field overriding,
+   * inherited fields can reuse the same symbol as the ancestor which declares
+   * the field. In such a situation, is_definition is not needed.
+   *
+   * On the other hand, in languages with single inheritance and some form
+   * of mixins, you can use is_definition to relate the symbol to the
+   * matching symbol in ancestor classes, and is_reference to relate the
+   * symbol to the matching symbol in mixins.
+   * 
+ * + * bool is_definition = 5 [json_name = "isDefinition"]; + * @return The isDefinition. + */ + @java.lang.Override + public boolean getIsDefinition() { + return isDefinition_; + } + + 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 (!com.google.protobuf.GeneratedMessage.isStringEmpty(symbol_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, symbol_); + } + if (isReference_ != false) { + output.writeBool(2, isReference_); + } + if (isImplementation_ != false) { + output.writeBool(3, isImplementation_); + } + if (isTypeDefinition_ != false) { + output.writeBool(4, isTypeDefinition_); + } + if (isDefinition_ != false) { + output.writeBool(5, isDefinition_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(symbol_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, symbol_); + } + if (isReference_ != false) { + size += com.google.protobuf.CodedOutputStream + .computeBoolSize(2, isReference_); + } + if (isImplementation_ != false) { + size += com.google.protobuf.CodedOutputStream + .computeBoolSize(3, isImplementation_); + } + if (isTypeDefinition_ != false) { + size += com.google.protobuf.CodedOutputStream + .computeBoolSize(4, isTypeDefinition_); + } + if (isDefinition_ != false) { + size += com.google.protobuf.CodedOutputStream + .computeBoolSize(5, isDefinition_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof org.scip_code.scip.Relationship)) { + return super.equals(obj); + } + org.scip_code.scip.Relationship other = (org.scip_code.scip.Relationship) obj; + + if (!getSymbol() + .equals(other.getSymbol())) return false; + if (getIsReference() + != other.getIsReference()) return false; + if (getIsImplementation() + != other.getIsImplementation()) return false; + if (getIsTypeDefinition() + != other.getIsTypeDefinition()) return false; + if (getIsDefinition() + != other.getIsDefinition()) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) 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) + IS_REFERENCE_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( + getIsReference()); + hash = (37 * hash) + IS_IMPLEMENTATION_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( + getIsImplementation()); + hash = (37 * hash) + IS_TYPE_DEFINITION_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( + getIsTypeDefinition()); + hash = (37 * hash) + IS_DEFINITION_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( + getIsDefinition()); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static org.scip_code.scip.Relationship parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.scip_code.scip.Relationship parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.scip_code.scip.Relationship parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.scip_code.scip.Relationship parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.scip_code.scip.Relationship parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.scip_code.scip.Relationship parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.scip_code.scip.Relationship parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static org.scip_code.scip.Relationship parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public static org.scip_code.scip.Relationship parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input); + } + + public static org.scip_code.scip.Relationship parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static org.scip_code.scip.Relationship parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static org.scip_code.scip.Relationship parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(org.scip_code.scip.Relationship 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code scip.Relationship} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder implements + // @@protoc_insertion_point(builder_implements:scip.Relationship) + org.scip_code.scip.RelationshipOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.scip_code.scip.ScipProto.internal_static_scip_Relationship_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.scip_code.scip.ScipProto.internal_static_scip_Relationship_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.scip_code.scip.Relationship.class, org.scip_code.scip.Relationship.Builder.class); + } + + // Construct using org.scip_code.scip.Relationship.newBuilder() + private Builder() { + + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + + } + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + symbol_ = ""; + isReference_ = false; + isImplementation_ = false; + isTypeDefinition_ = false; + isDefinition_ = false; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return org.scip_code.scip.ScipProto.internal_static_scip_Relationship_descriptor; + } + + @java.lang.Override + public org.scip_code.scip.Relationship getDefaultInstanceForType() { + return org.scip_code.scip.Relationship.getDefaultInstance(); + } + + @java.lang.Override + public org.scip_code.scip.Relationship build() { + org.scip_code.scip.Relationship result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public org.scip_code.scip.Relationship buildPartial() { + org.scip_code.scip.Relationship result = new org.scip_code.scip.Relationship(this); + if (bitField0_ != 0) { buildPartial0(result); } + onBuilt(); + return result; + } + + private void buildPartial0(org.scip_code.scip.Relationship result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.symbol_ = symbol_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.isReference_ = isReference_; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.isImplementation_ = isImplementation_; + } + if (((from_bitField0_ & 0x00000008) != 0)) { + result.isTypeDefinition_ = isTypeDefinition_; + } + if (((from_bitField0_ & 0x00000010) != 0)) { + result.isDefinition_ = isDefinition_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof org.scip_code.scip.Relationship) { + return mergeFrom((org.scip_code.scip.Relationship)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(org.scip_code.scip.Relationship other) { + if (other == org.scip_code.scip.Relationship.getDefaultInstance()) return this; + if (!other.getSymbol().isEmpty()) { + symbol_ = other.symbol_; + bitField0_ |= 0x00000001; + onChanged(); + } + if (other.getIsReference() != false) { + setIsReference(other.getIsReference()); + } + if (other.getIsImplementation() != false) { + setIsImplementation(other.getIsImplementation()); + } + if (other.getIsTypeDefinition() != false) { + setIsTypeDefinition(other.getIsTypeDefinition()); + } + if (other.getIsDefinition() != false) { + setIsDefinition(other.getIsDefinition()); + } + this.mergeUnknownFields(other.getUnknownFields()); + 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 { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + symbol_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 16: { + isReference_ = input.readBool(); + bitField0_ |= 0x00000002; + break; + } // case 16 + case 24: { + isImplementation_ = input.readBool(); + bitField0_ |= 0x00000004; + break; + } // case 24 + case 32: { + isTypeDefinition_ = input.readBool(); + bitField0_ |= 0x00000008; + break; + } // case 32 + case 40: { + isDefinition_ = input.readBool(); + bitField0_ |= 0x00000010; + break; + } // case 40 + default: { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + private int bitField0_; + + private java.lang.Object symbol_ = ""; + /** + * string symbol = 1 [json_name = "symbol"]; + * @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 [json_name = "symbol"]; + * @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 [json_name = "symbol"]; + * @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; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + /** + * string symbol = 1 [json_name = "symbol"]; + * @return This builder for chaining. + */ + public Builder clearSymbol() { + symbol_ = getDefaultInstance().getSymbol(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + /** + * string symbol = 1 [json_name = "symbol"]; + * @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; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private boolean isReference_ ; + /** + *
+     * When resolving "Find references", this field documents what other symbols
+     * should be included together with this symbol. For example, consider the
+     * following TypeScript code that defines two symbols `Animal#sound()` and
+     * `Dog#sound()`:
+     * ```ts
+     * interface Animal {
+     * ^^^^^^ definition Animal#
+     * sound(): string
+     * ^^^^^ definition Animal#sound()
+     * }
+     * class Dog implements Animal {
+     * ^^^ definition Dog#, relationships = [{symbol: "Animal#", is_implementation: true}]
+     * public sound(): string { return "woof" }
+     * ^^^^^ definition Dog#sound(), references_symbols = Animal#sound(), relationships = [{symbol: "Animal#sound()", is_implementation:true, is_reference: true}]
+     * }
+     * const animal: Animal = new Dog()
+     * ^^^^^^ reference Animal#
+     * console.log(animal.sound())
+     * ^^^^^ reference Animal#sound()
+     * ```
+     * Doing "Find references" on the symbol `Animal#sound()` should return
+     * references to the `Dog#sound()` method as well. Vice-versa, doing "Find
+     * references" on the `Dog#sound()` method should include references to the
+     * `Animal#sound()` method as well.
+     * 
+ * + * bool is_reference = 2 [json_name = "isReference"]; + * @return The isReference. + */ + @java.lang.Override + public boolean getIsReference() { + return isReference_; + } + /** + *
+     * When resolving "Find references", this field documents what other symbols
+     * should be included together with this symbol. For example, consider the
+     * following TypeScript code that defines two symbols `Animal#sound()` and
+     * `Dog#sound()`:
+     * ```ts
+     * interface Animal {
+     * ^^^^^^ definition Animal#
+     * sound(): string
+     * ^^^^^ definition Animal#sound()
+     * }
+     * class Dog implements Animal {
+     * ^^^ definition Dog#, relationships = [{symbol: "Animal#", is_implementation: true}]
+     * public sound(): string { return "woof" }
+     * ^^^^^ definition Dog#sound(), references_symbols = Animal#sound(), relationships = [{symbol: "Animal#sound()", is_implementation:true, is_reference: true}]
+     * }
+     * const animal: Animal = new Dog()
+     * ^^^^^^ reference Animal#
+     * console.log(animal.sound())
+     * ^^^^^ reference Animal#sound()
+     * ```
+     * Doing "Find references" on the symbol `Animal#sound()` should return
+     * references to the `Dog#sound()` method as well. Vice-versa, doing "Find
+     * references" on the `Dog#sound()` method should include references to the
+     * `Animal#sound()` method as well.
+     * 
+ * + * bool is_reference = 2 [json_name = "isReference"]; + * @param value The isReference to set. + * @return This builder for chaining. + */ + public Builder setIsReference(boolean value) { + + isReference_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + /** + *
+     * When resolving "Find references", this field documents what other symbols
+     * should be included together with this symbol. For example, consider the
+     * following TypeScript code that defines two symbols `Animal#sound()` and
+     * `Dog#sound()`:
+     * ```ts
+     * interface Animal {
+     * ^^^^^^ definition Animal#
+     * sound(): string
+     * ^^^^^ definition Animal#sound()
+     * }
+     * class Dog implements Animal {
+     * ^^^ definition Dog#, relationships = [{symbol: "Animal#", is_implementation: true}]
+     * public sound(): string { return "woof" }
+     * ^^^^^ definition Dog#sound(), references_symbols = Animal#sound(), relationships = [{symbol: "Animal#sound()", is_implementation:true, is_reference: true}]
+     * }
+     * const animal: Animal = new Dog()
+     * ^^^^^^ reference Animal#
+     * console.log(animal.sound())
+     * ^^^^^ reference Animal#sound()
+     * ```
+     * Doing "Find references" on the symbol `Animal#sound()` should return
+     * references to the `Dog#sound()` method as well. Vice-versa, doing "Find
+     * references" on the `Dog#sound()` method should include references to the
+     * `Animal#sound()` method as well.
+     * 
+ * + * bool is_reference = 2 [json_name = "isReference"]; + * @return This builder for chaining. + */ + public Builder clearIsReference() { + bitField0_ = (bitField0_ & ~0x00000002); + isReference_ = false; + onChanged(); + return this; + } + + private boolean isImplementation_ ; + /** + *
+     * Similar to `is_reference` but for "Find implementations".
+     * It's common for `is_implementation` and `is_reference` to both be true but
+     * it's not always the case.
+     * In the TypeScript example above, observe that `Dog#` has an
+     * `is_implementation` relationship with `"Animal#"` but not `is_reference`.
+     * This is because "Find references" on the "Animal#" symbol should not return
+     * "Dog#". We only want "Dog#" to return as a result for "Find
+     * implementations" on the "Animal#" symbol.
+     * 
+ * + * bool is_implementation = 3 [json_name = "isImplementation"]; + * @return The isImplementation. + */ + @java.lang.Override + public boolean getIsImplementation() { + return isImplementation_; + } + /** + *
+     * Similar to `is_reference` but for "Find implementations".
+     * It's common for `is_implementation` and `is_reference` to both be true but
+     * it's not always the case.
+     * In the TypeScript example above, observe that `Dog#` has an
+     * `is_implementation` relationship with `"Animal#"` but not `is_reference`.
+     * This is because "Find references" on the "Animal#" symbol should not return
+     * "Dog#". We only want "Dog#" to return as a result for "Find
+     * implementations" on the "Animal#" symbol.
+     * 
+ * + * bool is_implementation = 3 [json_name = "isImplementation"]; + * @param value The isImplementation to set. + * @return This builder for chaining. + */ + public Builder setIsImplementation(boolean value) { + + isImplementation_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + /** + *
+     * Similar to `is_reference` but for "Find implementations".
+     * It's common for `is_implementation` and `is_reference` to both be true but
+     * it's not always the case.
+     * In the TypeScript example above, observe that `Dog#` has an
+     * `is_implementation` relationship with `"Animal#"` but not `is_reference`.
+     * This is because "Find references" on the "Animal#" symbol should not return
+     * "Dog#". We only want "Dog#" to return as a result for "Find
+     * implementations" on the "Animal#" symbol.
+     * 
+ * + * bool is_implementation = 3 [json_name = "isImplementation"]; + * @return This builder for chaining. + */ + public Builder clearIsImplementation() { + bitField0_ = (bitField0_ & ~0x00000004); + isImplementation_ = false; + onChanged(); + return this; + } + + private boolean isTypeDefinition_ ; + /** + *
+     * Similar to `references_symbols` but for "Go to type definition".
+     * 
+ * + * bool is_type_definition = 4 [json_name = "isTypeDefinition"]; + * @return The isTypeDefinition. + */ + @java.lang.Override + public boolean getIsTypeDefinition() { + return isTypeDefinition_; + } + /** + *
+     * Similar to `references_symbols` but for "Go to type definition".
+     * 
+ * + * bool is_type_definition = 4 [json_name = "isTypeDefinition"]; + * @param value The isTypeDefinition to set. + * @return This builder for chaining. + */ + public Builder setIsTypeDefinition(boolean value) { + + isTypeDefinition_ = value; + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + /** + *
+     * Similar to `references_symbols` but for "Go to type definition".
+     * 
+ * + * bool is_type_definition = 4 [json_name = "isTypeDefinition"]; + * @return This builder for chaining. + */ + public Builder clearIsTypeDefinition() { + bitField0_ = (bitField0_ & ~0x00000008); + isTypeDefinition_ = false; + onChanged(); + return this; + } + + private boolean isDefinition_ ; + /** + *
+     * Allows overriding the behavior of "Go to definition" and "Find references"
+     * for symbols which do not have a definition of their own or could
+     * potentially have multiple definitions.
+     *
+     * For example, in a language with single inheritance and no field overriding,
+     * inherited fields can reuse the same symbol as the ancestor which declares
+     * the field. In such a situation, is_definition is not needed.
+     *
+     * On the other hand, in languages with single inheritance and some form
+     * of mixins, you can use is_definition to relate the symbol to the
+     * matching symbol in ancestor classes, and is_reference to relate the
+     * symbol to the matching symbol in mixins.
+     * 
+ * + * bool is_definition = 5 [json_name = "isDefinition"]; + * @return The isDefinition. + */ + @java.lang.Override + public boolean getIsDefinition() { + return isDefinition_; + } + /** + *
+     * Allows overriding the behavior of "Go to definition" and "Find references"
+     * for symbols which do not have a definition of their own or could
+     * potentially have multiple definitions.
+     *
+     * For example, in a language with single inheritance and no field overriding,
+     * inherited fields can reuse the same symbol as the ancestor which declares
+     * the field. In such a situation, is_definition is not needed.
+     *
+     * On the other hand, in languages with single inheritance and some form
+     * of mixins, you can use is_definition to relate the symbol to the
+     * matching symbol in ancestor classes, and is_reference to relate the
+     * symbol to the matching symbol in mixins.
+     * 
+ * + * bool is_definition = 5 [json_name = "isDefinition"]; + * @param value The isDefinition to set. + * @return This builder for chaining. + */ + public Builder setIsDefinition(boolean value) { + + isDefinition_ = value; + bitField0_ |= 0x00000010; + onChanged(); + return this; + } + /** + *
+     * Allows overriding the behavior of "Go to definition" and "Find references"
+     * for symbols which do not have a definition of their own or could
+     * potentially have multiple definitions.
+     *
+     * For example, in a language with single inheritance and no field overriding,
+     * inherited fields can reuse the same symbol as the ancestor which declares
+     * the field. In such a situation, is_definition is not needed.
+     *
+     * On the other hand, in languages with single inheritance and some form
+     * of mixins, you can use is_definition to relate the symbol to the
+     * matching symbol in ancestor classes, and is_reference to relate the
+     * symbol to the matching symbol in mixins.
+     * 
+ * + * bool is_definition = 5 [json_name = "isDefinition"]; + * @return This builder for chaining. + */ + public Builder clearIsDefinition() { + bitField0_ = (bitField0_ & ~0x00000010); + isDefinition_ = false; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:scip.Relationship) + } + + // @@protoc_insertion_point(class_scope:scip.Relationship) + private static final org.scip_code.scip.Relationship DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new org.scip_code.scip.Relationship(); + } + + public static org.scip_code.scip.Relationship getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public Relationship parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public org.scip_code.scip.Relationship getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + +} + diff --git a/bindings/java/src/main/java/org/scip_code/scip/RelationshipOrBuilder.java b/bindings/java/src/main/java/org/scip_code/scip/RelationshipOrBuilder.java new file mode 100644 index 00000000..419dccc4 --- /dev/null +++ b/bindings/java/src/main/java/org/scip_code/scip/RelationshipOrBuilder.java @@ -0,0 +1,105 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: scip.proto +// Protobuf Java Version: 4.32.1 + +package org.scip_code.scip; + +@com.google.protobuf.Generated +public interface RelationshipOrBuilder extends + // @@protoc_insertion_point(interface_extends:scip.Relationship) + com.google.protobuf.MessageOrBuilder { + + /** + * string symbol = 1 [json_name = "symbol"]; + * @return The symbol. + */ + java.lang.String getSymbol(); + /** + * string symbol = 1 [json_name = "symbol"]; + * @return The bytes for symbol. + */ + com.google.protobuf.ByteString + getSymbolBytes(); + + /** + *
+   * When resolving "Find references", this field documents what other symbols
+   * should be included together with this symbol. For example, consider the
+   * following TypeScript code that defines two symbols `Animal#sound()` and
+   * `Dog#sound()`:
+   * ```ts
+   * interface Animal {
+   * ^^^^^^ definition Animal#
+   * sound(): string
+   * ^^^^^ definition Animal#sound()
+   * }
+   * class Dog implements Animal {
+   * ^^^ definition Dog#, relationships = [{symbol: "Animal#", is_implementation: true}]
+   * public sound(): string { return "woof" }
+   * ^^^^^ definition Dog#sound(), references_symbols = Animal#sound(), relationships = [{symbol: "Animal#sound()", is_implementation:true, is_reference: true}]
+   * }
+   * const animal: Animal = new Dog()
+   * ^^^^^^ reference Animal#
+   * console.log(animal.sound())
+   * ^^^^^ reference Animal#sound()
+   * ```
+   * Doing "Find references" on the symbol `Animal#sound()` should return
+   * references to the `Dog#sound()` method as well. Vice-versa, doing "Find
+   * references" on the `Dog#sound()` method should include references to the
+   * `Animal#sound()` method as well.
+   * 
+ * + * bool is_reference = 2 [json_name = "isReference"]; + * @return The isReference. + */ + boolean getIsReference(); + + /** + *
+   * Similar to `is_reference` but for "Find implementations".
+   * It's common for `is_implementation` and `is_reference` to both be true but
+   * it's not always the case.
+   * In the TypeScript example above, observe that `Dog#` has an
+   * `is_implementation` relationship with `"Animal#"` but not `is_reference`.
+   * This is because "Find references" on the "Animal#" symbol should not return
+   * "Dog#". We only want "Dog#" to return as a result for "Find
+   * implementations" on the "Animal#" symbol.
+   * 
+ * + * bool is_implementation = 3 [json_name = "isImplementation"]; + * @return The isImplementation. + */ + boolean getIsImplementation(); + + /** + *
+   * Similar to `references_symbols` but for "Go to type definition".
+   * 
+ * + * bool is_type_definition = 4 [json_name = "isTypeDefinition"]; + * @return The isTypeDefinition. + */ + boolean getIsTypeDefinition(); + + /** + *
+   * Allows overriding the behavior of "Go to definition" and "Find references"
+   * for symbols which do not have a definition of their own or could
+   * potentially have multiple definitions.
+   *
+   * For example, in a language with single inheritance and no field overriding,
+   * inherited fields can reuse the same symbol as the ancestor which declares
+   * the field. In such a situation, is_definition is not needed.
+   *
+   * On the other hand, in languages with single inheritance and some form
+   * of mixins, you can use is_definition to relate the symbol to the
+   * matching symbol in ancestor classes, and is_reference to relate the
+   * symbol to the matching symbol in mixins.
+   * 
+ * + * bool is_definition = 5 [json_name = "isDefinition"]; + * @return The isDefinition. + */ + boolean getIsDefinition(); +} diff --git a/bindings/java/src/main/java/org/scip_code/scip/ScipProto.java b/bindings/java/src/main/java/org/scip_code/scip/ScipProto.java new file mode 100644 index 00000000..37286743 --- /dev/null +++ b/bindings/java/src/main/java/org/scip_code/scip/ScipProto.java @@ -0,0 +1,344 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: scip.proto +// Protobuf Java Version: 4.32.1 + +package org.scip_code.scip; + +@com.google.protobuf.Generated +public final class ScipProto extends com.google.protobuf.GeneratedFile { + private ScipProto() {} + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 32, + /* patch= */ 1, + /* suffix= */ "", + ScipProto.class.getName()); + } + public static void registerAllExtensions( + com.google.protobuf.ExtensionRegistryLite registry) { + } + + public static void registerAllExtensions( + com.google.protobuf.ExtensionRegistry registry) { + registerAllExtensions( + (com.google.protobuf.ExtensionRegistryLite) registry); + } + static final com.google.protobuf.Descriptors.Descriptor + internal_static_scip_Index_descriptor; + static final + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_scip_Index_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_scip_Metadata_descriptor; + static final + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_scip_Metadata_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_scip_ToolInfo_descriptor; + static final + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_scip_ToolInfo_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_scip_Document_descriptor; + static final + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_scip_Document_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_scip_Symbol_descriptor; + static final + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_scip_Symbol_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_scip_Package_descriptor; + static final + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_scip_Package_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_scip_Descriptor_descriptor; + static final + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_scip_Descriptor_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_scip_Signature_descriptor; + static final + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_scip_Signature_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_scip_SymbolInformation_descriptor; + static final + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_scip_SymbolInformation_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_scip_Relationship_descriptor; + static final + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_scip_Relationship_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_scip_Occurrence_descriptor; + static final + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_scip_Occurrence_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_scip_Diagnostic_descriptor; + static final + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_scip_Diagnostic_fieldAccessorTable; + + public static com.google.protobuf.Descriptors.FileDescriptor + getDescriptor() { + return descriptor; + } + private static com.google.protobuf.Descriptors.FileDescriptor + descriptor; + static { + java.lang.String[] descriptorData = { + "\n\nscip.proto\022\004scip\"\245\001\n\005Index\022*\n\010metadata" + + "\030\001 \001(\0132\016.scip.MetadataR\010metadata\022,\n\tdocu" + + "ments\030\002 \003(\0132\016.scip.DocumentR\tdocuments\022B" + + "\n\020external_symbols\030\003 \003(\0132\027.scip.SymbolIn" + + "formationR\017externalSymbols\"\325\001\n\010Metadata\022" + + "/\n\007version\030\001 \001(\0162\025.scip.ProtocolVersionR" + + "\007version\022+\n\ttool_info\030\002 \001(\0132\016.scip.ToolI" + + "nfoR\010toolInfo\022!\n\014project_root\030\003 \001(\tR\013pro" + + "jectRoot\022H\n\026text_document_encoding\030\004 \001(\016" + + "2\022.scip.TextEncodingR\024textDocumentEncodi" + + "ng\"V\n\010ToolInfo\022\022\n\004name\030\001 \001(\tR\004name\022\030\n\007ve" + + "rsion\030\002 \001(\tR\007version\022\034\n\targuments\030\003 \003(\tR" + + "\targuments\"\213\002\n\010Document\022\032\n\010language\030\004 \001(" + + "\tR\010language\022#\n\rrelative_path\030\001 \001(\tR\014rela" + + "tivePath\0222\n\013occurrences\030\002 \003(\0132\020.scip.Occ" + + "urrenceR\013occurrences\0221\n\007symbols\030\003 \003(\0132\027." + + "scip.SymbolInformationR\007symbols\022\022\n\004text\030" + + "\005 \001(\tR\004text\022C\n\021position_encoding\030\006 \001(\0162\026" + + ".scip.PositionEncodingR\020positionEncoding" + + "\"}\n\006Symbol\022\026\n\006scheme\030\001 \001(\tR\006scheme\022\'\n\007pa" + + "ckage\030\002 \001(\0132\r.scip.PackageR\007package\0222\n\013d" + + "escriptors\030\003 \003(\0132\020.scip.DescriptorR\013desc" + + "riptors\"Q\n\007Package\022\030\n\007manager\030\001 \001(\tR\007man" + + "ager\022\022\n\004name\030\002 \001(\tR\004name\022\030\n\007version\030\003 \001(" + + "\tR\007version\"\237\002\n\nDescriptor\022\022\n\004name\030\001 \001(\tR" + + "\004name\022$\n\rdisambiguator\030\002 \001(\tR\rdisambigua" + + "tor\022/\n\006suffix\030\003 \001(\0162\027.scip.Descriptor.Su" + + "ffixR\006suffix\"\245\001\n\006Suffix\022\025\n\021UnspecifiedSu" + + "ffix\020\000\022\r\n\tNamespace\020\001\022\017\n\007Package\020\001\032\002\010\001\022\010" + + "\n\004Type\020\002\022\010\n\004Term\020\003\022\n\n\006Method\020\004\022\021\n\rTypePa" + + "rameter\020\005\022\r\n\tParameter\020\006\022\010\n\004Meta\020\007\022\t\n\005Lo" + + "cal\020\010\022\t\n\005Macro\020\t\032\002\020\001\"\201\001\n\tSignature\022\032\n\010la" + + "nguage\030\004 \001(\tR\010language\022\022\n\004text\030\005 \001(\tR\004te" + + "xt\0222\n\013occurrences\030\002 \003(\0132\020.scip.Occurrenc" + + "eR\013occurrencesJ\004\010\001\020\002J\004\010\003\020\004J\004\010\006\020\007\"\323\014\n\021Sym" + + "bolInformation\022\026\n\006symbol\030\001 \001(\tR\006symbol\022$" + + "\n\rdocumentation\030\003 \003(\tR\rdocumentation\0228\n\r" + + "relationships\030\004 \003(\0132\022.scip.RelationshipR" + + "\rrelationships\0220\n\004kind\030\005 \001(\0162\034.scip.Symb" + + "olInformation.KindR\004kind\022!\n\014display_name" + + "\030\006 \001(\tR\013displayName\022H\n\027signature_documen" + + "tation\030\007 \001(\0132\017.scip.SignatureR\026signature" + + "Documentation\022)\n\020enclosing_symbol\030\010 \001(\tR" + + "\017enclosingSymbol\"\373\t\n\004Kind\022\023\n\017Unspecified" + + "Kind\020\000\022\022\n\016AbstractMethod\020B\022\014\n\010Accessor\020H" + + "\022\t\n\005Array\020\001\022\r\n\tAssertion\020\002\022\022\n\016Associated" + + "Type\020\003\022\r\n\tAttribute\020\004\022\t\n\005Axiom\020\005\022\013\n\007Bool" + + "ean\020\006\022\t\n\005Class\020\007\022\013\n\007Concept\020V\022\014\n\010Constan" + + "t\020\010\022\017\n\013Constructor\020\t\022\014\n\010Contract\020>\022\016\n\nDa" + + "taFamily\020\n\022\014\n\010Delegate\020I\022\010\n\004Enum\020\013\022\016\n\nEn" + + "umMember\020\014\022\t\n\005Error\020?\022\t\n\005Event\020\r\022\r\n\tExte" + + "nsion\020T\022\010\n\004Fact\020\016\022\t\n\005Field\020\017\022\010\n\004File\020\020\022\014" + + "\n\010Function\020\021\022\n\n\006Getter\020\022\022\013\n\007Grammar\020\023\022\014\n" + + "\010Instance\020\024\022\r\n\tInterface\020\025\022\007\n\003Key\020\026\022\010\n\004L" + + "ang\020\027\022\t\n\005Lemma\020\030\022\013\n\007Library\020@\022\t\n\005Macro\020\031" + + "\022\n\n\006Method\020\032\022\017\n\013MethodAlias\020J\022\022\n\016MethodR" + + "eceiver\020\033\022\027\n\023MethodSpecification\020C\022\013\n\007Me" + + "ssage\020\034\022\t\n\005Mixin\020U\022\014\n\010Modifier\020A\022\n\n\006Modu" + + "le\020\035\022\r\n\tNamespace\020\036\022\010\n\004Null\020\037\022\n\n\006Number\020" + + " \022\n\n\006Object\020!\022\014\n\010Operator\020\"\022\013\n\007Package\020#" + + "\022\021\n\rPackageObject\020$\022\r\n\tParameter\020%\022\022\n\016Pa" + + "rameterLabel\020&\022\013\n\007Pattern\020\'\022\r\n\tPredicate" + + "\020(\022\014\n\010Property\020)\022\014\n\010Protocol\020*\022\022\n\016Protoc" + + "olMethod\020D\022\025\n\021PureVirtualMethod\020E\022\017\n\013Qua" + + "siquoter\020+\022\021\n\rSelfParameter\020,\022\n\n\006Setter\020" + + "-\022\r\n\tSignature\020.\022\022\n\016SingletonClass\020K\022\023\n\017" + + "SingletonMethod\020L\022\024\n\020StaticDataMember\020M\022" + + "\017\n\013StaticEvent\020N\022\017\n\013StaticField\020O\022\020\n\014Sta" + + "ticMethod\020P\022\022\n\016StaticProperty\020Q\022\022\n\016Stati" + + "cVariable\020R\022\n\n\006String\0200\022\n\n\006Struct\0201\022\r\n\tS" + + "ubscript\020/\022\n\n\006Tactic\0202\022\013\n\007Theorem\0203\022\021\n\rT" + + "hisParameter\0204\022\t\n\005Trait\0205\022\017\n\013TraitMethod" + + "\020F\022\010\n\004Type\0206\022\r\n\tTypeAlias\0207\022\r\n\tTypeClass" + + "\0208\022\023\n\017TypeClassMethod\020G\022\016\n\nTypeFamily\0209\022" + + "\021\n\rTypeParameter\020:\022\t\n\005Union\020;\022\t\n\005Value\020<" + + "\022\014\n\010Variable\020=\"\311\001\n\014Relationship\022\026\n\006symbo" + + "l\030\001 \001(\tR\006symbol\022!\n\014is_reference\030\002 \001(\010R\013i" + + "sReference\022+\n\021is_implementation\030\003 \001(\010R\020i" + + "sImplementation\022,\n\022is_type_definition\030\004 " + + "\001(\010R\020isTypeDefinition\022#\n\ris_definition\030\005" + + " \001(\010R\014isDefinition\"\244\002\n\nOccurrence\022\024\n\005ran" + + "ge\030\001 \003(\005R\005range\022\026\n\006symbol\030\002 \001(\tR\006symbol\022" + + "!\n\014symbol_roles\030\003 \001(\005R\013symbolRoles\0225\n\026ov" + + "erride_documentation\030\004 \003(\tR\025overrideDocu" + + "mentation\0221\n\013syntax_kind\030\005 \001(\0162\020.scip.Sy" + + "ntaxKindR\nsyntaxKind\0222\n\013diagnostics\030\006 \003(" + + "\0132\020.scip.DiagnosticR\013diagnostics\022\'\n\017encl" + + "osing_range\030\007 \003(\005R\016enclosingRange\"\247\001\n\nDi" + + "agnostic\022*\n\010severity\030\001 \001(\0162\016.scip.Severi" + + "tyR\010severity\022\022\n\004code\030\002 \001(\tR\004code\022\030\n\007mess" + + "age\030\003 \001(\tR\007message\022\026\n\006source\030\004 \001(\tR\006sour" + + "ce\022\'\n\004tags\030\005 \003(\0162\023.scip.DiagnosticTagR\004t" + + "ags*1\n\017ProtocolVersion\022\036\n\032UnspecifiedPro" + + "tocolVersion\020\000*@\n\014TextEncoding\022\033\n\027Unspec" + + "ifiedTextEncoding\020\000\022\010\n\004UTF8\020\001\022\t\n\005UTF16\020\002" + + "*\244\001\n\020PositionEncoding\022\037\n\033UnspecifiedPosi" + + "tionEncoding\020\000\022#\n\037UTF8CodeUnitOffsetFrom" + + "LineStart\020\001\022$\n UTF16CodeUnitOffsetFromLi" + + "neStart\020\002\022$\n UTF32CodeUnitOffsetFromLine" + + "Start\020\003*\224\001\n\nSymbolRole\022\031\n\025UnspecifiedSym" + + "bolRole\020\000\022\016\n\nDefinition\020\001\022\n\n\006Import\020\002\022\017\n" + + "\013WriteAccess\020\004\022\016\n\nReadAccess\020\010\022\r\n\tGenera" + + "ted\020\020\022\010\n\004Test\020 \022\025\n\021ForwardDefinition\020@*\352" + + "\006\n\nSyntaxKind\022\031\n\025UnspecifiedSyntaxKind\020\000" + + "\022\013\n\007Comment\020\001\022\030\n\024PunctuationDelimiter\020\002\022" + + "\026\n\022PunctuationBracket\020\003\022\013\n\007Keyword\020\004\022\031\n\021" + + "IdentifierKeyword\020\004\032\002\010\001\022\026\n\022IdentifierOpe" + + "rator\020\005\022\016\n\nIdentifier\020\006\022\025\n\021IdentifierBui" + + "ltin\020\007\022\022\n\016IdentifierNull\020\010\022\026\n\022Identifier" + + "Constant\020\t\022\033\n\027IdentifierMutableGlobal\020\n\022" + + "\027\n\023IdentifierParameter\020\013\022\023\n\017IdentifierLo" + + "cal\020\014\022\026\n\022IdentifierShadowed\020\r\022\027\n\023Identif" + + "ierNamespace\020\016\022\030\n\020IdentifierModule\020\016\032\002\010\001" + + "\022\026\n\022IdentifierFunction\020\017\022 \n\034IdentifierFu" + + "nctionDefinition\020\020\022\023\n\017IdentifierMacro\020\021\022" + + "\035\n\031IdentifierMacroDefinition\020\022\022\022\n\016Identi" + + "fierType\020\023\022\031\n\025IdentifierBuiltinType\020\024\022\027\n" + + "\023IdentifierAttribute\020\025\022\017\n\013RegexEscape\020\026\022" + + "\021\n\rRegexRepeated\020\027\022\021\n\rRegexWildcard\020\030\022\022\n" + + "\016RegexDelimiter\020\031\022\r\n\tRegexJoin\020\032\022\021\n\rStri" + + "ngLiteral\020\033\022\027\n\023StringLiteralEscape\020\034\022\030\n\024" + + "StringLiteralSpecial\020\035\022\024\n\020StringLiteralK" + + "ey\020\036\022\024\n\020CharacterLiteral\020\037\022\022\n\016NumericLit" + + "eral\020 \022\022\n\016BooleanLiteral\020!\022\007\n\003Tag\020\"\022\020\n\014T" + + "agAttribute\020#\022\020\n\014TagDelimiter\020$\032\002\020\001*V\n\010S" + + "everity\022\027\n\023UnspecifiedSeverity\020\000\022\t\n\005Erro" + + "r\020\001\022\013\n\007Warning\020\002\022\017\n\013Information\020\003\022\010\n\004Hin" + + "t\020\004*N\n\rDiagnosticTag\022\034\n\030UnspecifiedDiagn" + + "osticTag\020\000\022\017\n\013Unnecessary\020\001\022\016\n\nDeprecate" + + "d\020\002*\233\n\n\010Language\022\027\n\023UnspecifiedLanguage\020" + + "\000\022\010\n\004ABAP\020<\022\010\n\004Apex\020`\022\007\n\003APL\0201\022\007\n\003Ada\020\'\022" + + "\010\n\004Agda\020-\022\014\n\010AsciiDoc\020V\022\014\n\010Assembly\020:\022\007\n" + + "\003Awk\020B\022\007\n\003Bat\020D\022\n\n\006BibTeX\020Q\022\005\n\001C\020\"\022\t\n\005CO" + + "BOL\020;\022\007\n\003CPP\020#\022\007\n\003CSS\020\032\022\n\n\006CSharp\020\001\022\013\n\007C" + + "lojure\020\010\022\020\n\014Coffeescript\020\025\022\016\n\nCommonLisp" + + "\020\t\022\007\n\003Coq\020/\022\010\n\004CUDA\020a\022\010\n\004Dart\020\003\022\n\n\006Delph" + + "i\0209\022\010\n\004Diff\020X\022\016\n\nDockerfile\020P\022\n\n\006Dyalog\020" + + "2\022\n\n\006Elixir\020\021\022\n\n\006Erlang\020\022\022\n\n\006FSharp\020*\022\010\n" + + "\004Fish\020A\022\010\n\004Flow\020\030\022\013\n\007Fortran\0208\022\016\n\nGit_Co" + + "mmit\020[\022\016\n\nGit_Config\020Y\022\016\n\nGit_Rebase\020\\\022\006" + + "\n\002Go\020!\022\013\n\007GraphQL\020b\022\n\n\006Groovy\020\007\022\010\n\004HTML\020" + + "\036\022\010\n\004Hack\020\024\022\016\n\nHandlebars\020Z\022\013\n\007Haskell\020," + + "\022\t\n\005Idris\020.\022\007\n\003Ini\020H\022\005\n\001J\0203\022\010\n\004JSON\020K\022\010\n" + + "\004Java\020\006\022\016\n\nJavaScript\020\026\022\023\n\017JavaScriptRea" + + "ct\020]\022\013\n\007Jsonnet\020L\022\t\n\005Julia\0207\022\014\n\010Justfile" + + "\020m\022\n\n\006Kotlin\020\004\022\t\n\005LaTeX\020S\022\010\n\004Lean\0200\022\010\n\004L" + + "ess\020\033\022\007\n\003Lua\020\014\022\010\n\004Luau\020l\022\014\n\010Makefile\020O\022\014" + + "\n\010Markdown\020T\022\n\n\006Matlab\0204\022\n\n\006Nickel\020n\022\007\n\003" + + "Nix\020M\022\t\n\005OCaml\020)\022\017\n\013Objective_C\020$\022\021\n\rObj" + + "ective_CPP\020%\022\n\n\006Pascal\020c\022\007\n\003PHP\020\023\022\t\n\005PLS" + + "QL\020F\022\010\n\004Perl\020\r\022\016\n\nPowerShell\020C\022\n\n\006Prolog" + + "\020G\022\014\n\010Protobuf\020d\022\n\n\006Python\020\017\022\005\n\001R\0206\022\n\n\006R" + + "acket\020\013\022\010\n\004Raku\020\016\022\t\n\005Razor\020>\022\t\n\005Repro\020f\022" + + "\010\n\004ReST\020U\022\010\n\004Ruby\020\020\022\010\n\004Rust\020(\022\007\n\003SAS\020=\022\010" + + "\n\004SCSS\020\035\022\007\n\003SML\020+\022\007\n\003SQL\020E\022\010\n\004Sass\020\034\022\t\n\005" + + "Scala\020\005\022\n\n\006Scheme\020\n\022\017\n\013ShellScript\020@\022\013\n\007" + + "Skylark\020N\022\t\n\005Slang\020k\022\014\n\010Solidity\020_\022\n\n\006Sv" + + "elte\020j\022\t\n\005Swift\020\002\022\007\n\003Tcl\020e\022\010\n\004TOML\020I\022\007\n\003" + + "TeX\020R\022\n\n\006Thrift\020g\022\016\n\nTypeScript\020\027\022\023\n\017Typ" + + "eScriptReact\020^\022\013\n\007Verilog\020h\022\010\n\004VHDL\020i\022\017\n" + + "\013VisualBasic\020?\022\007\n\003Vue\020\031\022\013\n\007Wolfram\0205\022\007\n\003" + + "XML\020\037\022\007\n\003XSL\020 \022\010\n\004YAML\020J\022\007\n\003Zig\020&BN\n\022org" + + ".scip_code.scipB\tScipProtoP\001Z+github.com" + + "/scip-code/scip/bindings/go/scip/b\006proto" + + "3" + }; + descriptor = com.google.protobuf.Descriptors.FileDescriptor + .internalBuildGeneratedFileFrom(descriptorData, + new com.google.protobuf.Descriptors.FileDescriptor[] { + }); + internal_static_scip_Index_descriptor = + getDescriptor().getMessageTypes().get(0); + internal_static_scip_Index_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_scip_Index_descriptor, + new java.lang.String[] { "Metadata", "Documents", "ExternalSymbols", }); + internal_static_scip_Metadata_descriptor = + getDescriptor().getMessageTypes().get(1); + internal_static_scip_Metadata_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_scip_Metadata_descriptor, + new java.lang.String[] { "Version", "ToolInfo", "ProjectRoot", "TextDocumentEncoding", }); + internal_static_scip_ToolInfo_descriptor = + getDescriptor().getMessageTypes().get(2); + internal_static_scip_ToolInfo_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_scip_ToolInfo_descriptor, + new java.lang.String[] { "Name", "Version", "Arguments", }); + internal_static_scip_Document_descriptor = + getDescriptor().getMessageTypes().get(3); + internal_static_scip_Document_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_scip_Document_descriptor, + new java.lang.String[] { "Language", "RelativePath", "Occurrences", "Symbols", "Text", "PositionEncoding", }); + internal_static_scip_Symbol_descriptor = + getDescriptor().getMessageTypes().get(4); + internal_static_scip_Symbol_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_scip_Symbol_descriptor, + new java.lang.String[] { "Scheme", "Package", "Descriptors", }); + internal_static_scip_Package_descriptor = + getDescriptor().getMessageTypes().get(5); + internal_static_scip_Package_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_scip_Package_descriptor, + new java.lang.String[] { "Manager", "Name", "Version", }); + internal_static_scip_Descriptor_descriptor = + getDescriptor().getMessageTypes().get(6); + internal_static_scip_Descriptor_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_scip_Descriptor_descriptor, + new java.lang.String[] { "Name", "Disambiguator", "Suffix", }); + internal_static_scip_Signature_descriptor = + getDescriptor().getMessageTypes().get(7); + internal_static_scip_Signature_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_scip_Signature_descriptor, + new java.lang.String[] { "Language", "Text", "Occurrences", }); + internal_static_scip_SymbolInformation_descriptor = + getDescriptor().getMessageTypes().get(8); + internal_static_scip_SymbolInformation_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_scip_SymbolInformation_descriptor, + new java.lang.String[] { "Symbol", "Documentation", "Relationships", "Kind", "DisplayName", "SignatureDocumentation", "EnclosingSymbol", }); + internal_static_scip_Relationship_descriptor = + getDescriptor().getMessageTypes().get(9); + internal_static_scip_Relationship_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_scip_Relationship_descriptor, + new java.lang.String[] { "Symbol", "IsReference", "IsImplementation", "IsTypeDefinition", "IsDefinition", }); + internal_static_scip_Occurrence_descriptor = + getDescriptor().getMessageTypes().get(10); + internal_static_scip_Occurrence_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_scip_Occurrence_descriptor, + new java.lang.String[] { "Range", "Symbol", "SymbolRoles", "OverrideDocumentation", "SyntaxKind", "Diagnostics", "EnclosingRange", }); + internal_static_scip_Diagnostic_descriptor = + getDescriptor().getMessageTypes().get(11); + internal_static_scip_Diagnostic_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_scip_Diagnostic_descriptor, + new java.lang.String[] { "Severity", "Code", "Message", "Source", "Tags", }); + descriptor.resolveAllFeaturesImmutable(); + } + + // @@protoc_insertion_point(outer_class_scope) +} diff --git a/bindings/java/src/main/java/org/scip_code/scip/Severity.java b/bindings/java/src/main/java/org/scip_code/scip/Severity.java new file mode 100644 index 00000000..a9d5164a --- /dev/null +++ b/bindings/java/src/main/java/org/scip_code/scip/Severity.java @@ -0,0 +1,152 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: scip.proto +// Protobuf Java Version: 4.32.1 + +package org.scip_code.scip; + +/** + * Protobuf enum {@code scip.Severity} + */ +@com.google.protobuf.Generated +public enum Severity + implements com.google.protobuf.ProtocolMessageEnum { + /** + * UnspecifiedSeverity = 0; + */ + UnspecifiedSeverity(0), + /** + * Error = 1; + */ + Error(1), + /** + * Warning = 2; + */ + Warning(2), + /** + * Information = 3; + */ + Information(3), + /** + * Hint = 4; + */ + Hint(4), + UNRECOGNIZED(-1), + ; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 32, + /* patch= */ 1, + /* suffix= */ "", + Severity.class.getName()); + } + /** + * UnspecifiedSeverity = 0; + */ + public static final int UnspecifiedSeverity_VALUE = 0; + /** + * Error = 1; + */ + public static final int Error_VALUE = 1; + /** + * Warning = 2; + */ + public static final int Warning_VALUE = 2; + /** + * Information = 3; + */ + public static final int Information_VALUE = 3; + /** + * Hint = 4; + */ + public static final int Hint_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 Severity 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 Severity forNumber(int value) { + switch (value) { + case 0: return UnspecifiedSeverity; + case 1: return Error; + case 2: return Warning; + case 3: return Information; + case 4: return Hint; + default: return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap + internalGetValueMap() { + return internalValueMap; + } + private static final com.google.protobuf.Internal.EnumLiteMap< + Severity> internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap() { + public Severity findValueByNumber(int number) { + return Severity.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 com.google.protobuf.Descriptors.EnumDescriptor + getDescriptor() { + return org.scip_code.scip.ScipProto.getDescriptor().getEnumTypes().get(5); + } + + private static final Severity[] VALUES = values(); + + public static Severity 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 Severity(int value) { + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:scip.Severity) +} + diff --git a/bindings/java/src/main/java/org/scip_code/scip/Signature.java b/bindings/java/src/main/java/org/scip_code/scip/Signature.java new file mode 100644 index 00000000..bde4efbd --- /dev/null +++ b/bindings/java/src/main/java/org/scip_code/scip/Signature.java @@ -0,0 +1,1200 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: scip.proto +// Protobuf Java Version: 4.32.1 + +package org.scip_code.scip; + +/** + *
+ * Signature represents the signature of a symbol as it's displayed in API
+ * documentation or hover tooltips. It uses a subset of Document's fields with
+ * the same field numbers for wire compatibility with older indexes that encoded
+ * signatures using the Document message type.
+ * 
+ * + * Protobuf type {@code scip.Signature} + */ +@com.google.protobuf.Generated +public final class Signature extends + com.google.protobuf.GeneratedMessage implements + // @@protoc_insertion_point(message_implements:scip.Signature) + SignatureOrBuilder { +private static final long serialVersionUID = 0L; + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 32, + /* patch= */ 1, + /* suffix= */ "", + Signature.class.getName()); + } + // Use Signature.newBuilder() to construct. + private Signature(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + private Signature() { + language_ = ""; + text_ = ""; + occurrences_ = java.util.Collections.emptyList(); + } + + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.scip_code.scip.ScipProto.internal_static_scip_Signature_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.scip_code.scip.ScipProto.internal_static_scip_Signature_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.scip_code.scip.Signature.class, org.scip_code.scip.Signature.Builder.class); + } + + public static final int LANGUAGE_FIELD_NUMBER = 4; + @SuppressWarnings("serial") + private volatile java.lang.Object language_ = ""; + /** + *
+   * The language of the signature, e.g. "java", "go", "python".
+   * 
+ * + * string language = 4 [json_name = "language"]; + * @return The language. + */ + @java.lang.Override + public java.lang.String getLanguage() { + java.lang.Object ref = language_; + 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(); + language_ = s; + return s; + } + } + /** + *
+   * The language of the signature, e.g. "java", "go", "python".
+   * 
+ * + * string language = 4 [json_name = "language"]; + * @return The bytes for language. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getLanguageBytes() { + java.lang.Object ref = language_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + language_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int TEXT_FIELD_NUMBER = 5; + @SuppressWarnings("serial") + private volatile java.lang.Object text_ = ""; + /** + *
+   * The text content of the signature, e.g. "void add(int a, int b)".
+   * 
+ * + * string text = 5 [json_name = "text"]; + * @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; + } + } + /** + *
+   * The text content of the signature, e.g. "void add(int a, int b)".
+   * 
+ * + * string text = 5 [json_name = "text"]; + * @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 OCCURRENCES_FIELD_NUMBER = 2; + @SuppressWarnings("serial") + private java.util.List occurrences_; + /** + *
+   * (optional) Occurrences within the signature text that reference other
+   * symbols, enabling hyperlinking of types in the signature. Ranges are
+   * relative to the `text` field.
+   * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + @java.lang.Override + public java.util.List getOccurrencesList() { + return occurrences_; + } + /** + *
+   * (optional) Occurrences within the signature text that reference other
+   * symbols, enabling hyperlinking of types in the signature. Ranges are
+   * relative to the `text` field.
+   * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + @java.lang.Override + public java.util.List + getOccurrencesOrBuilderList() { + return occurrences_; + } + /** + *
+   * (optional) Occurrences within the signature text that reference other
+   * symbols, enabling hyperlinking of types in the signature. Ranges are
+   * relative to the `text` field.
+   * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + @java.lang.Override + public int getOccurrencesCount() { + return occurrences_.size(); + } + /** + *
+   * (optional) Occurrences within the signature text that reference other
+   * symbols, enabling hyperlinking of types in the signature. Ranges are
+   * relative to the `text` field.
+   * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + @java.lang.Override + public org.scip_code.scip.Occurrence getOccurrences(int index) { + return occurrences_.get(index); + } + /** + *
+   * (optional) Occurrences within the signature text that reference other
+   * symbols, enabling hyperlinking of types in the signature. Ranges are
+   * relative to the `text` field.
+   * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + @java.lang.Override + public org.scip_code.scip.OccurrenceOrBuilder 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 { + for (int i = 0; i < occurrences_.size(); i++) { + output.writeMessage(2, occurrences_.get(i)); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(language_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 4, language_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(text_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 5, text_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + for (int i = 0; i < occurrences_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(2, occurrences_.get(i)); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(language_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(4, language_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(text_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(5, text_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof org.scip_code.scip.Signature)) { + return super.equals(obj); + } + org.scip_code.scip.Signature other = (org.scip_code.scip.Signature) obj; + + if (!getLanguage() + .equals(other.getLanguage())) return false; + if (!getText() + .equals(other.getText())) return false; + if (!getOccurrencesList() + .equals(other.getOccurrencesList())) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) 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) + LANGUAGE_FIELD_NUMBER; + hash = (53 * hash) + getLanguage().hashCode(); + hash = (37 * hash) + TEXT_FIELD_NUMBER; + hash = (53 * hash) + getText().hashCode(); + if (getOccurrencesCount() > 0) { + hash = (37 * hash) + OCCURRENCES_FIELD_NUMBER; + hash = (53 * hash) + getOccurrencesList().hashCode(); + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static org.scip_code.scip.Signature parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.scip_code.scip.Signature parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.scip_code.scip.Signature parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.scip_code.scip.Signature parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.scip_code.scip.Signature parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.scip_code.scip.Signature parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.scip_code.scip.Signature parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static org.scip_code.scip.Signature parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public static org.scip_code.scip.Signature parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input); + } + + public static org.scip_code.scip.Signature parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static org.scip_code.scip.Signature parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static org.scip_code.scip.Signature parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(org.scip_code.scip.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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + *
+   * Signature represents the signature of a symbol as it's displayed in API
+   * documentation or hover tooltips. It uses a subset of Document's fields with
+   * the same field numbers for wire compatibility with older indexes that encoded
+   * signatures using the Document message type.
+   * 
+ * + * Protobuf type {@code scip.Signature} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder implements + // @@protoc_insertion_point(builder_implements:scip.Signature) + org.scip_code.scip.SignatureOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.scip_code.scip.ScipProto.internal_static_scip_Signature_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.scip_code.scip.ScipProto.internal_static_scip_Signature_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.scip_code.scip.Signature.class, org.scip_code.scip.Signature.Builder.class); + } + + // Construct using org.scip_code.scip.Signature.newBuilder() + private Builder() { + + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + + } + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + language_ = ""; + text_ = ""; + if (occurrencesBuilder_ == null) { + occurrences_ = java.util.Collections.emptyList(); + } else { + occurrences_ = null; + occurrencesBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000004); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return org.scip_code.scip.ScipProto.internal_static_scip_Signature_descriptor; + } + + @java.lang.Override + public org.scip_code.scip.Signature getDefaultInstanceForType() { + return org.scip_code.scip.Signature.getDefaultInstance(); + } + + @java.lang.Override + public org.scip_code.scip.Signature build() { + org.scip_code.scip.Signature result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public org.scip_code.scip.Signature buildPartial() { + org.scip_code.scip.Signature result = new org.scip_code.scip.Signature(this); + buildPartialRepeatedFields(result); + if (bitField0_ != 0) { buildPartial0(result); } + onBuilt(); + return result; + } + + private void buildPartialRepeatedFields(org.scip_code.scip.Signature result) { + if (occurrencesBuilder_ == null) { + if (((bitField0_ & 0x00000004) != 0)) { + occurrences_ = java.util.Collections.unmodifiableList(occurrences_); + bitField0_ = (bitField0_ & ~0x00000004); + } + result.occurrences_ = occurrences_; + } else { + result.occurrences_ = occurrencesBuilder_.build(); + } + } + + private void buildPartial0(org.scip_code.scip.Signature result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.language_ = language_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.text_ = text_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof org.scip_code.scip.Signature) { + return mergeFrom((org.scip_code.scip.Signature)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(org.scip_code.scip.Signature other) { + if (other == org.scip_code.scip.Signature.getDefaultInstance()) return this; + if (!other.getLanguage().isEmpty()) { + language_ = other.language_; + bitField0_ |= 0x00000001; + onChanged(); + } + if (!other.getText().isEmpty()) { + text_ = other.text_; + bitField0_ |= 0x00000002; + onChanged(); + } + if (occurrencesBuilder_ == null) { + if (!other.occurrences_.isEmpty()) { + if (occurrences_.isEmpty()) { + occurrences_ = other.occurrences_; + bitField0_ = (bitField0_ & ~0x00000004); + } else { + ensureOccurrencesIsMutable(); + occurrences_.addAll(other.occurrences_); + } + onChanged(); + } + } else { + if (!other.occurrences_.isEmpty()) { + if (occurrencesBuilder_.isEmpty()) { + occurrencesBuilder_.dispose(); + occurrencesBuilder_ = null; + occurrences_ = other.occurrences_; + bitField0_ = (bitField0_ & ~0x00000004); + occurrencesBuilder_ = + com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ? + internalGetOccurrencesFieldBuilder() : null; + } else { + occurrencesBuilder_.addAllMessages(other.occurrences_); + } + } + } + this.mergeUnknownFields(other.getUnknownFields()); + 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 { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 18: { + org.scip_code.scip.Occurrence m = + input.readMessage( + org.scip_code.scip.Occurrence.parser(), + extensionRegistry); + if (occurrencesBuilder_ == null) { + ensureOccurrencesIsMutable(); + occurrences_.add(m); + } else { + occurrencesBuilder_.addMessage(m); + } + break; + } // case 18 + case 34: { + language_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 34 + case 42: { + text_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000002; + break; + } // case 42 + default: { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + private int bitField0_; + + private java.lang.Object language_ = ""; + /** + *
+     * The language of the signature, e.g. "java", "go", "python".
+     * 
+ * + * string language = 4 [json_name = "language"]; + * @return The language. + */ + public java.lang.String getLanguage() { + java.lang.Object ref = language_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + language_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + *
+     * The language of the signature, e.g. "java", "go", "python".
+     * 
+ * + * string language = 4 [json_name = "language"]; + * @return The bytes for language. + */ + public com.google.protobuf.ByteString + getLanguageBytes() { + java.lang.Object ref = language_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + language_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + *
+     * The language of the signature, e.g. "java", "go", "python".
+     * 
+ * + * string language = 4 [json_name = "language"]; + * @param value The language to set. + * @return This builder for chaining. + */ + public Builder setLanguage( + java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + language_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + /** + *
+     * The language of the signature, e.g. "java", "go", "python".
+     * 
+ * + * string language = 4 [json_name = "language"]; + * @return This builder for chaining. + */ + public Builder clearLanguage() { + language_ = getDefaultInstance().getLanguage(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + /** + *
+     * The language of the signature, e.g. "java", "go", "python".
+     * 
+ * + * string language = 4 [json_name = "language"]; + * @param value The bytes for language to set. + * @return This builder for chaining. + */ + public Builder setLanguageBytes( + com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + checkByteStringIsUtf8(value); + language_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private java.lang.Object text_ = ""; + /** + *
+     * The text content of the signature, e.g. "void add(int a, int b)".
+     * 
+ * + * string text = 5 [json_name = "text"]; + * @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; + } + } + /** + *
+     * The text content of the signature, e.g. "void add(int a, int b)".
+     * 
+ * + * string text = 5 [json_name = "text"]; + * @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; + } + } + /** + *
+     * The text content of the signature, e.g. "void add(int a, int b)".
+     * 
+ * + * string text = 5 [json_name = "text"]; + * @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; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + /** + *
+     * The text content of the signature, e.g. "void add(int a, int b)".
+     * 
+ * + * string text = 5 [json_name = "text"]; + * @return This builder for chaining. + */ + public Builder clearText() { + text_ = getDefaultInstance().getText(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + /** + *
+     * The text content of the signature, e.g. "void add(int a, int b)".
+     * 
+ * + * string text = 5 [json_name = "text"]; + * @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; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + private java.util.List occurrences_ = + java.util.Collections.emptyList(); + private void ensureOccurrencesIsMutable() { + if (!((bitField0_ & 0x00000004) != 0)) { + occurrences_ = new java.util.ArrayList(occurrences_); + bitField0_ |= 0x00000004; + } + } + + private com.google.protobuf.RepeatedFieldBuilder< + org.scip_code.scip.Occurrence, org.scip_code.scip.Occurrence.Builder, org.scip_code.scip.OccurrenceOrBuilder> occurrencesBuilder_; + + /** + *
+     * (optional) Occurrences within the signature text that reference other
+     * symbols, enabling hyperlinking of types in the signature. Ranges are
+     * relative to the `text` field.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public java.util.List getOccurrencesList() { + if (occurrencesBuilder_ == null) { + return java.util.Collections.unmodifiableList(occurrences_); + } else { + return occurrencesBuilder_.getMessageList(); + } + } + /** + *
+     * (optional) Occurrences within the signature text that reference other
+     * symbols, enabling hyperlinking of types in the signature. Ranges are
+     * relative to the `text` field.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public int getOccurrencesCount() { + if (occurrencesBuilder_ == null) { + return occurrences_.size(); + } else { + return occurrencesBuilder_.getCount(); + } + } + /** + *
+     * (optional) Occurrences within the signature text that reference other
+     * symbols, enabling hyperlinking of types in the signature. Ranges are
+     * relative to the `text` field.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public org.scip_code.scip.Occurrence getOccurrences(int index) { + if (occurrencesBuilder_ == null) { + return occurrences_.get(index); + } else { + return occurrencesBuilder_.getMessage(index); + } + } + /** + *
+     * (optional) Occurrences within the signature text that reference other
+     * symbols, enabling hyperlinking of types in the signature. Ranges are
+     * relative to the `text` field.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public Builder setOccurrences( + int index, org.scip_code.scip.Occurrence value) { + if (occurrencesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureOccurrencesIsMutable(); + occurrences_.set(index, value); + onChanged(); + } else { + occurrencesBuilder_.setMessage(index, value); + } + return this; + } + /** + *
+     * (optional) Occurrences within the signature text that reference other
+     * symbols, enabling hyperlinking of types in the signature. Ranges are
+     * relative to the `text` field.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public Builder setOccurrences( + int index, org.scip_code.scip.Occurrence.Builder builderForValue) { + if (occurrencesBuilder_ == null) { + ensureOccurrencesIsMutable(); + occurrences_.set(index, builderForValue.build()); + onChanged(); + } else { + occurrencesBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + *
+     * (optional) Occurrences within the signature text that reference other
+     * symbols, enabling hyperlinking of types in the signature. Ranges are
+     * relative to the `text` field.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public Builder addOccurrences(org.scip_code.scip.Occurrence value) { + if (occurrencesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureOccurrencesIsMutable(); + occurrences_.add(value); + onChanged(); + } else { + occurrencesBuilder_.addMessage(value); + } + return this; + } + /** + *
+     * (optional) Occurrences within the signature text that reference other
+     * symbols, enabling hyperlinking of types in the signature. Ranges are
+     * relative to the `text` field.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public Builder addOccurrences( + int index, org.scip_code.scip.Occurrence value) { + if (occurrencesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureOccurrencesIsMutable(); + occurrences_.add(index, value); + onChanged(); + } else { + occurrencesBuilder_.addMessage(index, value); + } + return this; + } + /** + *
+     * (optional) Occurrences within the signature text that reference other
+     * symbols, enabling hyperlinking of types in the signature. Ranges are
+     * relative to the `text` field.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public Builder addOccurrences( + org.scip_code.scip.Occurrence.Builder builderForValue) { + if (occurrencesBuilder_ == null) { + ensureOccurrencesIsMutable(); + occurrences_.add(builderForValue.build()); + onChanged(); + } else { + occurrencesBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + *
+     * (optional) Occurrences within the signature text that reference other
+     * symbols, enabling hyperlinking of types in the signature. Ranges are
+     * relative to the `text` field.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public Builder addOccurrences( + int index, org.scip_code.scip.Occurrence.Builder builderForValue) { + if (occurrencesBuilder_ == null) { + ensureOccurrencesIsMutable(); + occurrences_.add(index, builderForValue.build()); + onChanged(); + } else { + occurrencesBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + *
+     * (optional) Occurrences within the signature text that reference other
+     * symbols, enabling hyperlinking of types in the signature. Ranges are
+     * relative to the `text` field.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + 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; + } + /** + *
+     * (optional) Occurrences within the signature text that reference other
+     * symbols, enabling hyperlinking of types in the signature. Ranges are
+     * relative to the `text` field.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public Builder clearOccurrences() { + if (occurrencesBuilder_ == null) { + occurrences_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000004); + onChanged(); + } else { + occurrencesBuilder_.clear(); + } + return this; + } + /** + *
+     * (optional) Occurrences within the signature text that reference other
+     * symbols, enabling hyperlinking of types in the signature. Ranges are
+     * relative to the `text` field.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public Builder removeOccurrences(int index) { + if (occurrencesBuilder_ == null) { + ensureOccurrencesIsMutable(); + occurrences_.remove(index); + onChanged(); + } else { + occurrencesBuilder_.remove(index); + } + return this; + } + /** + *
+     * (optional) Occurrences within the signature text that reference other
+     * symbols, enabling hyperlinking of types in the signature. Ranges are
+     * relative to the `text` field.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public org.scip_code.scip.Occurrence.Builder getOccurrencesBuilder( + int index) { + return internalGetOccurrencesFieldBuilder().getBuilder(index); + } + /** + *
+     * (optional) Occurrences within the signature text that reference other
+     * symbols, enabling hyperlinking of types in the signature. Ranges are
+     * relative to the `text` field.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public org.scip_code.scip.OccurrenceOrBuilder getOccurrencesOrBuilder( + int index) { + if (occurrencesBuilder_ == null) { + return occurrences_.get(index); } else { + return occurrencesBuilder_.getMessageOrBuilder(index); + } + } + /** + *
+     * (optional) Occurrences within the signature text that reference other
+     * symbols, enabling hyperlinking of types in the signature. Ranges are
+     * relative to the `text` field.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public java.util.List + getOccurrencesOrBuilderList() { + if (occurrencesBuilder_ != null) { + return occurrencesBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(occurrences_); + } + } + /** + *
+     * (optional) Occurrences within the signature text that reference other
+     * symbols, enabling hyperlinking of types in the signature. Ranges are
+     * relative to the `text` field.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public org.scip_code.scip.Occurrence.Builder addOccurrencesBuilder() { + return internalGetOccurrencesFieldBuilder().addBuilder( + org.scip_code.scip.Occurrence.getDefaultInstance()); + } + /** + *
+     * (optional) Occurrences within the signature text that reference other
+     * symbols, enabling hyperlinking of types in the signature. Ranges are
+     * relative to the `text` field.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public org.scip_code.scip.Occurrence.Builder addOccurrencesBuilder( + int index) { + return internalGetOccurrencesFieldBuilder().addBuilder( + index, org.scip_code.scip.Occurrence.getDefaultInstance()); + } + /** + *
+     * (optional) Occurrences within the signature text that reference other
+     * symbols, enabling hyperlinking of types in the signature. Ranges are
+     * relative to the `text` field.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public java.util.List + getOccurrencesBuilderList() { + return internalGetOccurrencesFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilder< + org.scip_code.scip.Occurrence, org.scip_code.scip.Occurrence.Builder, org.scip_code.scip.OccurrenceOrBuilder> + internalGetOccurrencesFieldBuilder() { + if (occurrencesBuilder_ == null) { + occurrencesBuilder_ = new com.google.protobuf.RepeatedFieldBuilder< + org.scip_code.scip.Occurrence, org.scip_code.scip.Occurrence.Builder, org.scip_code.scip.OccurrenceOrBuilder>( + occurrences_, + ((bitField0_ & 0x00000004) != 0), + getParentForChildren(), + isClean()); + occurrences_ = null; + } + return occurrencesBuilder_; + } + + // @@protoc_insertion_point(builder_scope:scip.Signature) + } + + // @@protoc_insertion_point(class_scope:scip.Signature) + private static final org.scip_code.scip.Signature DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new org.scip_code.scip.Signature(); + } + + public static org.scip_code.scip.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 { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public org.scip_code.scip.Signature getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + +} + diff --git a/bindings/java/src/main/java/org/scip_code/scip/SignatureOrBuilder.java b/bindings/java/src/main/java/org/scip_code/scip/SignatureOrBuilder.java new file mode 100644 index 00000000..4efea015 --- /dev/null +++ b/bindings/java/src/main/java/org/scip_code/scip/SignatureOrBuilder.java @@ -0,0 +1,106 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: scip.proto +// Protobuf Java Version: 4.32.1 + +package org.scip_code.scip; + +@com.google.protobuf.Generated +public interface SignatureOrBuilder extends + // @@protoc_insertion_point(interface_extends:scip.Signature) + com.google.protobuf.MessageOrBuilder { + + /** + *
+   * The language of the signature, e.g. "java", "go", "python".
+   * 
+ * + * string language = 4 [json_name = "language"]; + * @return The language. + */ + java.lang.String getLanguage(); + /** + *
+   * The language of the signature, e.g. "java", "go", "python".
+   * 
+ * + * string language = 4 [json_name = "language"]; + * @return The bytes for language. + */ + com.google.protobuf.ByteString + getLanguageBytes(); + + /** + *
+   * The text content of the signature, e.g. "void add(int a, int b)".
+   * 
+ * + * string text = 5 [json_name = "text"]; + * @return The text. + */ + java.lang.String getText(); + /** + *
+   * The text content of the signature, e.g. "void add(int a, int b)".
+   * 
+ * + * string text = 5 [json_name = "text"]; + * @return The bytes for text. + */ + com.google.protobuf.ByteString + getTextBytes(); + + /** + *
+   * (optional) Occurrences within the signature text that reference other
+   * symbols, enabling hyperlinking of types in the signature. Ranges are
+   * relative to the `text` field.
+   * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + java.util.List + getOccurrencesList(); + /** + *
+   * (optional) Occurrences within the signature text that reference other
+   * symbols, enabling hyperlinking of types in the signature. Ranges are
+   * relative to the `text` field.
+   * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + org.scip_code.scip.Occurrence getOccurrences(int index); + /** + *
+   * (optional) Occurrences within the signature text that reference other
+   * symbols, enabling hyperlinking of types in the signature. Ranges are
+   * relative to the `text` field.
+   * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + int getOccurrencesCount(); + /** + *
+   * (optional) Occurrences within the signature text that reference other
+   * symbols, enabling hyperlinking of types in the signature. Ranges are
+   * relative to the `text` field.
+   * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + java.util.List + getOccurrencesOrBuilderList(); + /** + *
+   * (optional) Occurrences within the signature text that reference other
+   * symbols, enabling hyperlinking of types in the signature. Ranges are
+   * relative to the `text` field.
+   * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + org.scip_code.scip.OccurrenceOrBuilder getOccurrencesOrBuilder( + int index); +} diff --git a/bindings/java/src/main/java/org/scip_code/scip/Symbol.java b/bindings/java/src/main/java/org/scip_code/scip/Symbol.java new file mode 100644 index 00000000..69c453fe --- /dev/null +++ b/bindings/java/src/main/java/org/scip_code/scip/Symbol.java @@ -0,0 +1,1140 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: scip.proto +// Protobuf Java Version: 4.32.1 + +package org.scip_code.scip; + +/** + *
+ * Symbol is similar to a URI, it identifies a class, method, or a local
+ * variable. `SymbolInformation` contains rich metadata about symbols such as
+ * the docstring.
+ *
+ * Symbol has a standardized string representation, which can be used
+ * interchangeably with `Symbol`. The syntax for Symbol is the following:
+ * ```
+ * # (<x>)+ stands for one or more repetitions of <x>
+ * # (<x>)? stands for zero or one occurrence of <x>
+ * <symbol>               ::= <scheme> ' ' <package> ' ' (<descriptor>)+ | 'local ' <local-id>
+ * <package>              ::= <manager> ' ' <package-name> ' ' <version>
+ * <scheme>               ::= any UTF-8, escape spaces with double space. Must not be empty nor start with 'local'
+ * <manager>              ::= any UTF-8, escape spaces with double space. Use the placeholder '.' to indicate an empty value
+ * <package-name>         ::= same as above
+ * <version>              ::= same as above
+ * <descriptor>           ::= <namespace> | <type> | <term> | <method> | <type-parameter> | <parameter> | <meta> | <macro>
+ * <namespace>            ::= <name> '/'
+ * <type>                 ::= <name> '#'
+ * <term>                 ::= <name> '.'
+ * <meta>                 ::= <name> ':'
+ * <macro>                ::= <name> '!'
+ * <method>               ::= <name> '(' (<method-disambiguator>)? ').'
+ * <type-parameter>       ::= '[' <name> ']'
+ * <parameter>            ::= '(' <name> ')'
+ * <name>                 ::= <identifier>
+ * <method-disambiguator> ::= <simple-identifier>
+ * <identifier>           ::= <simple-identifier> | <escaped-identifier>
+ * <simple-identifier>    ::= (<identifier-character>)+
+ * <identifier-character> ::= '_' | '+' | '-' | '$' | ASCII letter or digit
+ * <escaped-identifier>   ::= '`' (<escaped-character>)+ '`', must contain at least one non-<identifier-character>
+ * <escaped-characters>   ::= any UTF-8, escape backticks with double backtick.
+ * <local-id>             ::= <simple-identifier>
+ * ```
+ *
+ * The list of descriptors for a symbol should together form a fully
+ * qualified name for the symbol. That is, it should serve as a unique
+ * identifier across the package. Typically, it will include one descriptor
+ * for every node in the AST (along the ancestry path) between the root of
+ * the file and the node corresponding to the symbol.
+ *
+ * Local symbols MUST only be used for entities which are local to a Document,
+ * and cannot be accessed from outside the Document.
+ * 
+ * + * Protobuf type {@code scip.Symbol} + */ +@com.google.protobuf.Generated +public final class Symbol extends + com.google.protobuf.GeneratedMessage implements + // @@protoc_insertion_point(message_implements:scip.Symbol) + SymbolOrBuilder { +private static final long serialVersionUID = 0L; + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 32, + /* patch= */ 1, + /* suffix= */ "", + Symbol.class.getName()); + } + // Use Symbol.newBuilder() to construct. + private Symbol(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + private Symbol() { + scheme_ = ""; + descriptors_ = java.util.Collections.emptyList(); + } + + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.scip_code.scip.ScipProto.internal_static_scip_Symbol_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.scip_code.scip.ScipProto.internal_static_scip_Symbol_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.scip_code.scip.Symbol.class, org.scip_code.scip.Symbol.Builder.class); + } + + private int bitField0_; + public static final int SCHEME_FIELD_NUMBER = 1; + @SuppressWarnings("serial") + private volatile java.lang.Object scheme_ = ""; + /** + * string scheme = 1 [json_name = "scheme"]; + * @return The scheme. + */ + @java.lang.Override + public java.lang.String getScheme() { + java.lang.Object ref = scheme_; + 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(); + scheme_ = s; + return s; + } + } + /** + * string scheme = 1 [json_name = "scheme"]; + * @return The bytes for scheme. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getSchemeBytes() { + java.lang.Object ref = scheme_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + scheme_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int PACKAGE_FIELD_NUMBER = 2; + private org.scip_code.scip.Package package_; + /** + * .scip.Package package = 2 [json_name = "package"]; + * @return Whether the package field is set. + */ + @java.lang.Override + public boolean hasPackage() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * .scip.Package package = 2 [json_name = "package"]; + * @return The package. + */ + @java.lang.Override + public org.scip_code.scip.Package getPackage() { + return package_ == null ? org.scip_code.scip.Package.getDefaultInstance() : package_; + } + /** + * .scip.Package package = 2 [json_name = "package"]; + */ + @java.lang.Override + public org.scip_code.scip.PackageOrBuilder getPackageOrBuilder() { + return package_ == null ? org.scip_code.scip.Package.getDefaultInstance() : package_; + } + + public static final int DESCRIPTORS_FIELD_NUMBER = 3; + @SuppressWarnings("serial") + private java.util.List descriptors_; + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + @java.lang.Override + public java.util.List getDescriptorsList() { + return descriptors_; + } + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + @java.lang.Override + public java.util.List + getDescriptorsOrBuilderList() { + return descriptors_; + } + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + @java.lang.Override + public int getDescriptorsCount() { + return descriptors_.size(); + } + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + @java.lang.Override + public org.scip_code.scip.Descriptor getDescriptors(int index) { + return descriptors_.get(index); + } + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + @java.lang.Override + public org.scip_code.scip.DescriptorOrBuilder getDescriptorsOrBuilder( + int index) { + return descriptors_.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 (!com.google.protobuf.GeneratedMessage.isStringEmpty(scheme_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, scheme_); + } + if (((bitField0_ & 0x00000001) != 0)) { + output.writeMessage(2, getPackage()); + } + for (int i = 0; i < descriptors_.size(); i++) { + output.writeMessage(3, descriptors_.get(i)); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(scheme_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, scheme_); + } + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(2, getPackage()); + } + for (int i = 0; i < descriptors_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(3, descriptors_.get(i)); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof org.scip_code.scip.Symbol)) { + return super.equals(obj); + } + org.scip_code.scip.Symbol other = (org.scip_code.scip.Symbol) obj; + + if (!getScheme() + .equals(other.getScheme())) return false; + if (hasPackage() != other.hasPackage()) return false; + if (hasPackage()) { + if (!getPackage() + .equals(other.getPackage())) return false; + } + if (!getDescriptorsList() + .equals(other.getDescriptorsList())) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) 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) + SCHEME_FIELD_NUMBER; + hash = (53 * hash) + getScheme().hashCode(); + if (hasPackage()) { + hash = (37 * hash) + PACKAGE_FIELD_NUMBER; + hash = (53 * hash) + getPackage().hashCode(); + } + if (getDescriptorsCount() > 0) { + hash = (37 * hash) + DESCRIPTORS_FIELD_NUMBER; + hash = (53 * hash) + getDescriptorsList().hashCode(); + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static org.scip_code.scip.Symbol parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.scip_code.scip.Symbol parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.scip_code.scip.Symbol parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.scip_code.scip.Symbol parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.scip_code.scip.Symbol parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.scip_code.scip.Symbol parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.scip_code.scip.Symbol parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static org.scip_code.scip.Symbol parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public static org.scip_code.scip.Symbol parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input); + } + + public static org.scip_code.scip.Symbol parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static org.scip_code.scip.Symbol parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static org.scip_code.scip.Symbol parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(org.scip_code.scip.Symbol 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + *
+   * Symbol is similar to a URI, it identifies a class, method, or a local
+   * variable. `SymbolInformation` contains rich metadata about symbols such as
+   * the docstring.
+   *
+   * Symbol has a standardized string representation, which can be used
+   * interchangeably with `Symbol`. The syntax for Symbol is the following:
+   * ```
+   * # (<x>)+ stands for one or more repetitions of <x>
+   * # (<x>)? stands for zero or one occurrence of <x>
+   * <symbol>               ::= <scheme> ' ' <package> ' ' (<descriptor>)+ | 'local ' <local-id>
+   * <package>              ::= <manager> ' ' <package-name> ' ' <version>
+   * <scheme>               ::= any UTF-8, escape spaces with double space. Must not be empty nor start with 'local'
+   * <manager>              ::= any UTF-8, escape spaces with double space. Use the placeholder '.' to indicate an empty value
+   * <package-name>         ::= same as above
+   * <version>              ::= same as above
+   * <descriptor>           ::= <namespace> | <type> | <term> | <method> | <type-parameter> | <parameter> | <meta> | <macro>
+   * <namespace>            ::= <name> '/'
+   * <type>                 ::= <name> '#'
+   * <term>                 ::= <name> '.'
+   * <meta>                 ::= <name> ':'
+   * <macro>                ::= <name> '!'
+   * <method>               ::= <name> '(' (<method-disambiguator>)? ').'
+   * <type-parameter>       ::= '[' <name> ']'
+   * <parameter>            ::= '(' <name> ')'
+   * <name>                 ::= <identifier>
+   * <method-disambiguator> ::= <simple-identifier>
+   * <identifier>           ::= <simple-identifier> | <escaped-identifier>
+   * <simple-identifier>    ::= (<identifier-character>)+
+   * <identifier-character> ::= '_' | '+' | '-' | '$' | ASCII letter or digit
+   * <escaped-identifier>   ::= '`' (<escaped-character>)+ '`', must contain at least one non-<identifier-character>
+   * <escaped-characters>   ::= any UTF-8, escape backticks with double backtick.
+   * <local-id>             ::= <simple-identifier>
+   * ```
+   *
+   * The list of descriptors for a symbol should together form a fully
+   * qualified name for the symbol. That is, it should serve as a unique
+   * identifier across the package. Typically, it will include one descriptor
+   * for every node in the AST (along the ancestry path) between the root of
+   * the file and the node corresponding to the symbol.
+   *
+   * Local symbols MUST only be used for entities which are local to a Document,
+   * and cannot be accessed from outside the Document.
+   * 
+ * + * Protobuf type {@code scip.Symbol} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder implements + // @@protoc_insertion_point(builder_implements:scip.Symbol) + org.scip_code.scip.SymbolOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.scip_code.scip.ScipProto.internal_static_scip_Symbol_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.scip_code.scip.ScipProto.internal_static_scip_Symbol_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.scip_code.scip.Symbol.class, org.scip_code.scip.Symbol.Builder.class); + } + + // Construct using org.scip_code.scip.Symbol.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage + .alwaysUseFieldBuilders) { + internalGetPackageFieldBuilder(); + internalGetDescriptorsFieldBuilder(); + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + scheme_ = ""; + package_ = null; + if (packageBuilder_ != null) { + packageBuilder_.dispose(); + packageBuilder_ = null; + } + if (descriptorsBuilder_ == null) { + descriptors_ = java.util.Collections.emptyList(); + } else { + descriptors_ = null; + descriptorsBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000004); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return org.scip_code.scip.ScipProto.internal_static_scip_Symbol_descriptor; + } + + @java.lang.Override + public org.scip_code.scip.Symbol getDefaultInstanceForType() { + return org.scip_code.scip.Symbol.getDefaultInstance(); + } + + @java.lang.Override + public org.scip_code.scip.Symbol build() { + org.scip_code.scip.Symbol result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public org.scip_code.scip.Symbol buildPartial() { + org.scip_code.scip.Symbol result = new org.scip_code.scip.Symbol(this); + buildPartialRepeatedFields(result); + if (bitField0_ != 0) { buildPartial0(result); } + onBuilt(); + return result; + } + + private void buildPartialRepeatedFields(org.scip_code.scip.Symbol result) { + if (descriptorsBuilder_ == null) { + if (((bitField0_ & 0x00000004) != 0)) { + descriptors_ = java.util.Collections.unmodifiableList(descriptors_); + bitField0_ = (bitField0_ & ~0x00000004); + } + result.descriptors_ = descriptors_; + } else { + result.descriptors_ = descriptorsBuilder_.build(); + } + } + + private void buildPartial0(org.scip_code.scip.Symbol result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.scheme_ = scheme_; + } + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000002) != 0)) { + result.package_ = packageBuilder_ == null + ? package_ + : packageBuilder_.build(); + to_bitField0_ |= 0x00000001; + } + result.bitField0_ |= to_bitField0_; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof org.scip_code.scip.Symbol) { + return mergeFrom((org.scip_code.scip.Symbol)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(org.scip_code.scip.Symbol other) { + if (other == org.scip_code.scip.Symbol.getDefaultInstance()) return this; + if (!other.getScheme().isEmpty()) { + scheme_ = other.scheme_; + bitField0_ |= 0x00000001; + onChanged(); + } + if (other.hasPackage()) { + mergePackage(other.getPackage()); + } + if (descriptorsBuilder_ == null) { + if (!other.descriptors_.isEmpty()) { + if (descriptors_.isEmpty()) { + descriptors_ = other.descriptors_; + bitField0_ = (bitField0_ & ~0x00000004); + } else { + ensureDescriptorsIsMutable(); + descriptors_.addAll(other.descriptors_); + } + onChanged(); + } + } else { + if (!other.descriptors_.isEmpty()) { + if (descriptorsBuilder_.isEmpty()) { + descriptorsBuilder_.dispose(); + descriptorsBuilder_ = null; + descriptors_ = other.descriptors_; + bitField0_ = (bitField0_ & ~0x00000004); + descriptorsBuilder_ = + com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ? + internalGetDescriptorsFieldBuilder() : null; + } else { + descriptorsBuilder_.addAllMessages(other.descriptors_); + } + } + } + this.mergeUnknownFields(other.getUnknownFields()); + 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 { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + scheme_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 18: { + input.readMessage( + internalGetPackageFieldBuilder().getBuilder(), + extensionRegistry); + bitField0_ |= 0x00000002; + break; + } // case 18 + case 26: { + org.scip_code.scip.Descriptor m = + input.readMessage( + org.scip_code.scip.Descriptor.parser(), + extensionRegistry); + if (descriptorsBuilder_ == null) { + ensureDescriptorsIsMutable(); + descriptors_.add(m); + } else { + descriptorsBuilder_.addMessage(m); + } + break; + } // case 26 + default: { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + private int bitField0_; + + private java.lang.Object scheme_ = ""; + /** + * string scheme = 1 [json_name = "scheme"]; + * @return The scheme. + */ + public java.lang.String getScheme() { + java.lang.Object ref = scheme_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + scheme_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * string scheme = 1 [json_name = "scheme"]; + * @return The bytes for scheme. + */ + public com.google.protobuf.ByteString + getSchemeBytes() { + java.lang.Object ref = scheme_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + scheme_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * string scheme = 1 [json_name = "scheme"]; + * @param value The scheme to set. + * @return This builder for chaining. + */ + public Builder setScheme( + java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + scheme_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + /** + * string scheme = 1 [json_name = "scheme"]; + * @return This builder for chaining. + */ + public Builder clearScheme() { + scheme_ = getDefaultInstance().getScheme(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + /** + * string scheme = 1 [json_name = "scheme"]; + * @param value The bytes for scheme to set. + * @return This builder for chaining. + */ + public Builder setSchemeBytes( + com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + checkByteStringIsUtf8(value); + scheme_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private org.scip_code.scip.Package package_; + private com.google.protobuf.SingleFieldBuilder< + org.scip_code.scip.Package, org.scip_code.scip.Package.Builder, org.scip_code.scip.PackageOrBuilder> packageBuilder_; + /** + * .scip.Package package = 2 [json_name = "package"]; + * @return Whether the package field is set. + */ + public boolean hasPackage() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * .scip.Package package = 2 [json_name = "package"]; + * @return The package. + */ + public org.scip_code.scip.Package getPackage() { + if (packageBuilder_ == null) { + return package_ == null ? org.scip_code.scip.Package.getDefaultInstance() : package_; + } else { + return packageBuilder_.getMessage(); + } + } + /** + * .scip.Package package = 2 [json_name = "package"]; + */ + public Builder setPackage(org.scip_code.scip.Package value) { + if (packageBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + package_ = value; + } else { + packageBuilder_.setMessage(value); + } + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + /** + * .scip.Package package = 2 [json_name = "package"]; + */ + public Builder setPackage( + org.scip_code.scip.Package.Builder builderForValue) { + if (packageBuilder_ == null) { + package_ = builderForValue.build(); + } else { + packageBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + /** + * .scip.Package package = 2 [json_name = "package"]; + */ + public Builder mergePackage(org.scip_code.scip.Package value) { + if (packageBuilder_ == null) { + if (((bitField0_ & 0x00000002) != 0) && + package_ != null && + package_ != org.scip_code.scip.Package.getDefaultInstance()) { + getPackageBuilder().mergeFrom(value); + } else { + package_ = value; + } + } else { + packageBuilder_.mergeFrom(value); + } + if (package_ != null) { + bitField0_ |= 0x00000002; + onChanged(); + } + return this; + } + /** + * .scip.Package package = 2 [json_name = "package"]; + */ + public Builder clearPackage() { + bitField0_ = (bitField0_ & ~0x00000002); + package_ = null; + if (packageBuilder_ != null) { + packageBuilder_.dispose(); + packageBuilder_ = null; + } + onChanged(); + return this; + } + /** + * .scip.Package package = 2 [json_name = "package"]; + */ + public org.scip_code.scip.Package.Builder getPackageBuilder() { + bitField0_ |= 0x00000002; + onChanged(); + return internalGetPackageFieldBuilder().getBuilder(); + } + /** + * .scip.Package package = 2 [json_name = "package"]; + */ + public org.scip_code.scip.PackageOrBuilder getPackageOrBuilder() { + if (packageBuilder_ != null) { + return packageBuilder_.getMessageOrBuilder(); + } else { + return package_ == null ? + org.scip_code.scip.Package.getDefaultInstance() : package_; + } + } + /** + * .scip.Package package = 2 [json_name = "package"]; + */ + private com.google.protobuf.SingleFieldBuilder< + org.scip_code.scip.Package, org.scip_code.scip.Package.Builder, org.scip_code.scip.PackageOrBuilder> + internalGetPackageFieldBuilder() { + if (packageBuilder_ == null) { + packageBuilder_ = new com.google.protobuf.SingleFieldBuilder< + org.scip_code.scip.Package, org.scip_code.scip.Package.Builder, org.scip_code.scip.PackageOrBuilder>( + getPackage(), + getParentForChildren(), + isClean()); + package_ = null; + } + return packageBuilder_; + } + + private java.util.List descriptors_ = + java.util.Collections.emptyList(); + private void ensureDescriptorsIsMutable() { + if (!((bitField0_ & 0x00000004) != 0)) { + descriptors_ = new java.util.ArrayList(descriptors_); + bitField0_ |= 0x00000004; + } + } + + private com.google.protobuf.RepeatedFieldBuilder< + org.scip_code.scip.Descriptor, org.scip_code.scip.Descriptor.Builder, org.scip_code.scip.DescriptorOrBuilder> descriptorsBuilder_; + + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + public java.util.List getDescriptorsList() { + if (descriptorsBuilder_ == null) { + return java.util.Collections.unmodifiableList(descriptors_); + } else { + return descriptorsBuilder_.getMessageList(); + } + } + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + public int getDescriptorsCount() { + if (descriptorsBuilder_ == null) { + return descriptors_.size(); + } else { + return descriptorsBuilder_.getCount(); + } + } + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + public org.scip_code.scip.Descriptor getDescriptors(int index) { + if (descriptorsBuilder_ == null) { + return descriptors_.get(index); + } else { + return descriptorsBuilder_.getMessage(index); + } + } + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + public Builder setDescriptors( + int index, org.scip_code.scip.Descriptor value) { + if (descriptorsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureDescriptorsIsMutable(); + descriptors_.set(index, value); + onChanged(); + } else { + descriptorsBuilder_.setMessage(index, value); + } + return this; + } + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + public Builder setDescriptors( + int index, org.scip_code.scip.Descriptor.Builder builderForValue) { + if (descriptorsBuilder_ == null) { + ensureDescriptorsIsMutable(); + descriptors_.set(index, builderForValue.build()); + onChanged(); + } else { + descriptorsBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + public Builder addDescriptors(org.scip_code.scip.Descriptor value) { + if (descriptorsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureDescriptorsIsMutable(); + descriptors_.add(value); + onChanged(); + } else { + descriptorsBuilder_.addMessage(value); + } + return this; + } + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + public Builder addDescriptors( + int index, org.scip_code.scip.Descriptor value) { + if (descriptorsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureDescriptorsIsMutable(); + descriptors_.add(index, value); + onChanged(); + } else { + descriptorsBuilder_.addMessage(index, value); + } + return this; + } + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + public Builder addDescriptors( + org.scip_code.scip.Descriptor.Builder builderForValue) { + if (descriptorsBuilder_ == null) { + ensureDescriptorsIsMutable(); + descriptors_.add(builderForValue.build()); + onChanged(); + } else { + descriptorsBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + public Builder addDescriptors( + int index, org.scip_code.scip.Descriptor.Builder builderForValue) { + if (descriptorsBuilder_ == null) { + ensureDescriptorsIsMutable(); + descriptors_.add(index, builderForValue.build()); + onChanged(); + } else { + descriptorsBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + public Builder addAllDescriptors( + java.lang.Iterable values) { + if (descriptorsBuilder_ == null) { + ensureDescriptorsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, descriptors_); + onChanged(); + } else { + descriptorsBuilder_.addAllMessages(values); + } + return this; + } + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + public Builder clearDescriptors() { + if (descriptorsBuilder_ == null) { + descriptors_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000004); + onChanged(); + } else { + descriptorsBuilder_.clear(); + } + return this; + } + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + public Builder removeDescriptors(int index) { + if (descriptorsBuilder_ == null) { + ensureDescriptorsIsMutable(); + descriptors_.remove(index); + onChanged(); + } else { + descriptorsBuilder_.remove(index); + } + return this; + } + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + public org.scip_code.scip.Descriptor.Builder getDescriptorsBuilder( + int index) { + return internalGetDescriptorsFieldBuilder().getBuilder(index); + } + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + public org.scip_code.scip.DescriptorOrBuilder getDescriptorsOrBuilder( + int index) { + if (descriptorsBuilder_ == null) { + return descriptors_.get(index); } else { + return descriptorsBuilder_.getMessageOrBuilder(index); + } + } + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + public java.util.List + getDescriptorsOrBuilderList() { + if (descriptorsBuilder_ != null) { + return descriptorsBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(descriptors_); + } + } + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + public org.scip_code.scip.Descriptor.Builder addDescriptorsBuilder() { + return internalGetDescriptorsFieldBuilder().addBuilder( + org.scip_code.scip.Descriptor.getDefaultInstance()); + } + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + public org.scip_code.scip.Descriptor.Builder addDescriptorsBuilder( + int index) { + return internalGetDescriptorsFieldBuilder().addBuilder( + index, org.scip_code.scip.Descriptor.getDefaultInstance()); + } + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + public java.util.List + getDescriptorsBuilderList() { + return internalGetDescriptorsFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilder< + org.scip_code.scip.Descriptor, org.scip_code.scip.Descriptor.Builder, org.scip_code.scip.DescriptorOrBuilder> + internalGetDescriptorsFieldBuilder() { + if (descriptorsBuilder_ == null) { + descriptorsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder< + org.scip_code.scip.Descriptor, org.scip_code.scip.Descriptor.Builder, org.scip_code.scip.DescriptorOrBuilder>( + descriptors_, + ((bitField0_ & 0x00000004) != 0), + getParentForChildren(), + isClean()); + descriptors_ = null; + } + return descriptorsBuilder_; + } + + // @@protoc_insertion_point(builder_scope:scip.Symbol) + } + + // @@protoc_insertion_point(class_scope:scip.Symbol) + private static final org.scip_code.scip.Symbol DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new org.scip_code.scip.Symbol(); + } + + public static org.scip_code.scip.Symbol getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public Symbol parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public org.scip_code.scip.Symbol getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + +} + diff --git a/bindings/java/src/main/java/org/scip_code/scip/SymbolInformation.java b/bindings/java/src/main/java/org/scip_code/scip/SymbolInformation.java new file mode 100644 index 00000000..287c09bd --- /dev/null +++ b/bindings/java/src/main/java/org/scip_code/scip/SymbolInformation.java @@ -0,0 +1,3545 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: scip.proto +// Protobuf Java Version: 4.32.1 + +package org.scip_code.scip; + +/** + *
+ * SymbolInformation defines metadata about a symbol, such as the symbol's
+ * docstring or what package it's defined it.
+ * 
+ * + * Protobuf type {@code scip.SymbolInformation} + */ +@com.google.protobuf.Generated +public final class SymbolInformation extends + com.google.protobuf.GeneratedMessage implements + // @@protoc_insertion_point(message_implements:scip.SymbolInformation) + SymbolInformationOrBuilder { +private static final long serialVersionUID = 0L; + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 32, + /* patch= */ 1, + /* suffix= */ "", + SymbolInformation.class.getName()); + } + // Use SymbolInformation.newBuilder() to construct. + private SymbolInformation(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + private SymbolInformation() { + symbol_ = ""; + documentation_ = + com.google.protobuf.LazyStringArrayList.emptyList(); + relationships_ = java.util.Collections.emptyList(); + kind_ = 0; + displayName_ = ""; + enclosingSymbol_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.scip_code.scip.ScipProto.internal_static_scip_SymbolInformation_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.scip_code.scip.ScipProto.internal_static_scip_SymbolInformation_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.scip_code.scip.SymbolInformation.class, org.scip_code.scip.SymbolInformation.Builder.class); + } + + /** + *
+   * (optional) Kind represents the fine-grained category of a symbol, suitable for presenting
+   * information about the symbol's meaning in the language.
+   *
+   * For example:
+   * - A Java method would have the kind `Method` while a Go function would
+   * have the kind `Function`, even if the symbols for these use the same
+   * syntax for the descriptor `SymbolDescriptor.Suffix.Method`.
+   * - A Go struct has the symbol kind `Struct` while a Java class has
+   * the symbol kind `Class` even if they both have the same descriptor:
+   * `SymbolDescriptor.Suffix.Type`.
+   *
+   * Since Kind is more fine-grained than Suffix:
+   * - If two symbols have the same Kind, they should share the same Suffix.
+   * - If two symbols have different Suffixes, they should have different Kinds.
+   * 
+ * + * Protobuf enum {@code scip.SymbolInformation.Kind} + */ + public enum Kind + implements com.google.protobuf.ProtocolMessageEnum { + /** + * UnspecifiedKind = 0; + */ + UnspecifiedKind(0), + /** + *
+     * A method which may or may not have a body. For Java, Kotlin etc.
+     * 
+ * + * AbstractMethod = 66; + */ + AbstractMethod(66), + /** + *
+     * For Ruby's attr_accessor
+     * 
+ * + * Accessor = 72; + */ + Accessor(72), + /** + * Array = 1; + */ + Array(1), + /** + *
+     * For Alloy
+     * 
+ * + * Assertion = 2; + */ + Assertion(2), + /** + * AssociatedType = 3; + */ + AssociatedType(3), + /** + *
+     * For C++
+     * 
+ * + * Attribute = 4; + */ + Attribute(4), + /** + *
+     * For Lean
+     * 
+ * + * Axiom = 5; + */ + Axiom(5), + /** + * Boolean = 6; + */ + Boolean(6), + /** + * Class = 7; + */ + Class(7), + /** + *
+     * For C++
+     * 
+ * + * Concept = 86; + */ + Concept(86), + /** + * Constant = 8; + */ + Constant(8), + /** + * Constructor = 9; + */ + Constructor(9), + /** + *
+     * For Solidity
+     * 
+ * + * Contract = 62; + */ + Contract(62), + /** + *
+     * For Haskell
+     * 
+ * + * DataFamily = 10; + */ + DataFamily(10), + /** + *
+     * For C# and F#
+     * 
+ * + * Delegate = 73; + */ + Delegate(73), + /** + * Enum = 11; + */ + Enum(11), + /** + * EnumMember = 12; + */ + EnumMember(12), + /** + * Error = 63; + */ + Error(63), + /** + * Event = 13; + */ + Event(13), + /** + *
+     * For Dart
+     * 
+ * + * Extension = 84; + */ + Extension(84), + /** + *
+     * For Alloy
+     * 
+ * + * Fact = 14; + */ + Fact(14), + /** + * Field = 15; + */ + Field(15), + /** + * File = 16; + */ + File(16), + /** + * Function = 17; + */ + Function(17), + /** + *
+     * For 'get' in Swift, 'attr_reader' in Ruby
+     * 
+ * + * Getter = 18; + */ + Getter(18), + /** + *
+     * For Raku
+     * 
+ * + * Grammar = 19; + */ + Grammar(19), + /** + *
+     * For Purescript and Lean
+     * 
+ * + * Instance = 20; + */ + Instance(20), + /** + * Interface = 21; + */ + Interface(21), + /** + * Key = 22; + */ + Key(22), + /** + *
+     * For Racket
+     * 
+ * + * Lang = 23; + */ + Lang(23), + /** + *
+     * For Lean
+     * 
+ * + * Lemma = 24; + */ + Lemma(24), + /** + *
+     * For solidity
+     * 
+ * + * Library = 64; + */ + Library(64), + /** + * Macro = 25; + */ + Macro(25), + /** + * Method = 26; + */ + Method(26), + /** + *
+     * For Ruby
+     * 
+ * + * MethodAlias = 74; + */ + MethodAlias(74), + /** + *
+     * Analogous to 'ThisParameter' and 'SelfParameter', but for languages
+     * like Go where the receiver doesn't have a conventional name.
+     * 
+ * + * MethodReceiver = 27; + */ + MethodReceiver(27), + /** + *
+     * Analogous to 'AbstractMethod', for Go.
+     * 
+ * + * MethodSpecification = 67; + */ + MethodSpecification(67), + /** + *
+     * For Protobuf
+     * 
+ * + * Message = 28; + */ + Message(28), + /** + *
+     * For Dart
+     * 
+ * + * Mixin = 85; + */ + Mixin(85), + /** + *
+     * For Solidity
+     * 
+ * + * Modifier = 65; + */ + Modifier(65), + /** + * Module = 29; + */ + Module(29), + /** + * Namespace = 30; + */ + Namespace(30), + /** + * Null = 31; + */ + Null(31), + /** + * Number = 32; + */ + Number(32), + /** + * Object = 33; + */ + Object(33), + /** + * Operator = 34; + */ + Operator(34), + /** + * Package = 35; + */ + Package(35), + /** + * PackageObject = 36; + */ + PackageObject(36), + /** + * Parameter = 37; + */ + Parameter(37), + /** + * ParameterLabel = 38; + */ + ParameterLabel(38), + /** + *
+     * For Haskell's PatternSynonyms
+     * 
+ * + * Pattern = 39; + */ + Pattern(39), + /** + *
+     * For Alloy
+     * 
+ * + * Predicate = 40; + */ + Predicate(40), + /** + * Property = 41; + */ + Property(41), + /** + *
+     * Analogous to 'Trait' and 'TypeClass', for Swift and Objective-C
+     * 
+ * + * Protocol = 42; + */ + Protocol(42), + /** + *
+     * Analogous to 'AbstractMethod', for Swift and Objective-C.
+     * 
+ * + * ProtocolMethod = 68; + */ + ProtocolMethod(68), + /** + *
+     * Analogous to 'AbstractMethod', for C++.
+     * 
+ * + * PureVirtualMethod = 69; + */ + PureVirtualMethod(69), + /** + *
+     * For Haskell
+     * 
+ * + * Quasiquoter = 43; + */ + Quasiquoter(43), + /** + *
+     * 'self' in Python, Rust, Swift etc.
+     * 
+ * + * SelfParameter = 44; + */ + SelfParameter(44), + /** + *
+     * For 'set' in Swift, 'attr_writer' in Ruby
+     * 
+ * + * Setter = 45; + */ + Setter(45), + /** + *
+     * For Alloy, analogous to 'Struct'.
+     * 
+ * + * Signature = 46; + */ + Signature(46), + /** + *
+     * For Ruby
+     * 
+ * + * SingletonClass = 75; + */ + SingletonClass(75), + /** + *
+     * Analogous to 'StaticMethod', for Ruby.
+     * 
+ * + * SingletonMethod = 76; + */ + SingletonMethod(76), + /** + *
+     * Analogous to 'StaticField', for C++
+     * 
+ * + * StaticDataMember = 77; + */ + StaticDataMember(77), + /** + *
+     * For C#
+     * 
+ * + * StaticEvent = 78; + */ + StaticEvent(78), + /** + *
+     * For C#
+     * 
+ * + * StaticField = 79; + */ + StaticField(79), + /** + *
+     * For Java, C#, C++ etc.
+     * 
+ * + * StaticMethod = 80; + */ + StaticMethod(80), + /** + *
+     * For C#, TypeScript etc.
+     * 
+ * + * StaticProperty = 81; + */ + StaticProperty(81), + /** + *
+     * For C, C++
+     * 
+ * + * StaticVariable = 82; + */ + StaticVariable(82), + /** + * String = 48; + */ + String(48), + /** + * Struct = 49; + */ + Struct(49), + /** + *
+     * For Swift
+     * 
+ * + * Subscript = 47; + */ + Subscript(47), + /** + *
+     * For Lean
+     * 
+ * + * Tactic = 50; + */ + Tactic(50), + /** + *
+     * For Lean
+     * 
+ * + * Theorem = 51; + */ + Theorem(51), + /** + *
+     * Method receiver for languages
+     * 'this' in JavaScript, C++, Java etc.
+     * 
+ * + * ThisParameter = 52; + */ + ThisParameter(52), + /** + *
+     * Analogous to 'Protocol' and 'TypeClass', for Rust, Scala etc.
+     * 
+ * + * Trait = 53; + */ + Trait(53), + /** + *
+     * Analogous to 'AbstractMethod', for Rust, Scala etc.
+     * 
+ * + * TraitMethod = 70; + */ + TraitMethod(70), + /** + *
+     * Data type definition for languages like OCaml which use `type`
+     * rather than separate keywords like `struct` and `enum`.
+     * 
+ * + * Type = 54; + */ + Type(54), + /** + * TypeAlias = 55; + */ + TypeAlias(55), + /** + *
+     * Analogous to 'Trait' and 'Protocol', for Haskell, Purescript etc.
+     * 
+ * + * TypeClass = 56; + */ + TypeClass(56), + /** + *
+     * Analogous to 'AbstractMethod', for Haskell, Purescript etc.
+     * 
+ * + * TypeClassMethod = 71; + */ + TypeClassMethod(71), + /** + *
+     * For Haskell
+     * 
+ * + * TypeFamily = 57; + */ + TypeFamily(57), + /** + * TypeParameter = 58; + */ + TypeParameter(58), + /** + *
+     * For C, C++, Capn Proto
+     * 
+ * + * Union = 59; + */ + Union(59), + /** + * Value = 60; + */ + Value(60), + /** + *
+     * Next = 87;
+     * Feel free to open a PR proposing new language-specific kinds.
+     * 
+ * + * Variable = 61; + */ + Variable(61), + UNRECOGNIZED(-1), + ; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 32, + /* patch= */ 1, + /* suffix= */ "", + Kind.class.getName()); + } + /** + * UnspecifiedKind = 0; + */ + public static final int UnspecifiedKind_VALUE = 0; + /** + *
+     * A method which may or may not have a body. For Java, Kotlin etc.
+     * 
+ * + * AbstractMethod = 66; + */ + public static final int AbstractMethod_VALUE = 66; + /** + *
+     * For Ruby's attr_accessor
+     * 
+ * + * Accessor = 72; + */ + public static final int Accessor_VALUE = 72; + /** + * Array = 1; + */ + public static final int Array_VALUE = 1; + /** + *
+     * For Alloy
+     * 
+ * + * Assertion = 2; + */ + public static final int Assertion_VALUE = 2; + /** + * AssociatedType = 3; + */ + public static final int AssociatedType_VALUE = 3; + /** + *
+     * For C++
+     * 
+ * + * Attribute = 4; + */ + public static final int Attribute_VALUE = 4; + /** + *
+     * For Lean
+     * 
+ * + * Axiom = 5; + */ + public static final int Axiom_VALUE = 5; + /** + * Boolean = 6; + */ + public static final int Boolean_VALUE = 6; + /** + * Class = 7; + */ + public static final int Class_VALUE = 7; + /** + *
+     * For C++
+     * 
+ * + * Concept = 86; + */ + public static final int Concept_VALUE = 86; + /** + * Constant = 8; + */ + public static final int Constant_VALUE = 8; + /** + * Constructor = 9; + */ + public static final int Constructor_VALUE = 9; + /** + *
+     * For Solidity
+     * 
+ * + * Contract = 62; + */ + public static final int Contract_VALUE = 62; + /** + *
+     * For Haskell
+     * 
+ * + * DataFamily = 10; + */ + public static final int DataFamily_VALUE = 10; + /** + *
+     * For C# and F#
+     * 
+ * + * Delegate = 73; + */ + public static final int Delegate_VALUE = 73; + /** + * Enum = 11; + */ + public static final int Enum_VALUE = 11; + /** + * EnumMember = 12; + */ + public static final int EnumMember_VALUE = 12; + /** + * Error = 63; + */ + public static final int Error_VALUE = 63; + /** + * Event = 13; + */ + public static final int Event_VALUE = 13; + /** + *
+     * For Dart
+     * 
+ * + * Extension = 84; + */ + public static final int Extension_VALUE = 84; + /** + *
+     * For Alloy
+     * 
+ * + * Fact = 14; + */ + public static final int Fact_VALUE = 14; + /** + * Field = 15; + */ + public static final int Field_VALUE = 15; + /** + * File = 16; + */ + public static final int File_VALUE = 16; + /** + * Function = 17; + */ + public static final int Function_VALUE = 17; + /** + *
+     * For 'get' in Swift, 'attr_reader' in Ruby
+     * 
+ * + * Getter = 18; + */ + public static final int Getter_VALUE = 18; + /** + *
+     * For Raku
+     * 
+ * + * Grammar = 19; + */ + public static final int Grammar_VALUE = 19; + /** + *
+     * For Purescript and Lean
+     * 
+ * + * Instance = 20; + */ + public static final int Instance_VALUE = 20; + /** + * Interface = 21; + */ + public static final int Interface_VALUE = 21; + /** + * Key = 22; + */ + public static final int Key_VALUE = 22; + /** + *
+     * For Racket
+     * 
+ * + * Lang = 23; + */ + public static final int Lang_VALUE = 23; + /** + *
+     * For Lean
+     * 
+ * + * Lemma = 24; + */ + public static final int Lemma_VALUE = 24; + /** + *
+     * For solidity
+     * 
+ * + * Library = 64; + */ + public static final int Library_VALUE = 64; + /** + * Macro = 25; + */ + public static final int Macro_VALUE = 25; + /** + * Method = 26; + */ + public static final int Method_VALUE = 26; + /** + *
+     * For Ruby
+     * 
+ * + * MethodAlias = 74; + */ + public static final int MethodAlias_VALUE = 74; + /** + *
+     * Analogous to 'ThisParameter' and 'SelfParameter', but for languages
+     * like Go where the receiver doesn't have a conventional name.
+     * 
+ * + * MethodReceiver = 27; + */ + public static final int MethodReceiver_VALUE = 27; + /** + *
+     * Analogous to 'AbstractMethod', for Go.
+     * 
+ * + * MethodSpecification = 67; + */ + public static final int MethodSpecification_VALUE = 67; + /** + *
+     * For Protobuf
+     * 
+ * + * Message = 28; + */ + public static final int Message_VALUE = 28; + /** + *
+     * For Dart
+     * 
+ * + * Mixin = 85; + */ + public static final int Mixin_VALUE = 85; + /** + *
+     * For Solidity
+     * 
+ * + * Modifier = 65; + */ + public static final int Modifier_VALUE = 65; + /** + * Module = 29; + */ + public static final int Module_VALUE = 29; + /** + * Namespace = 30; + */ + public static final int Namespace_VALUE = 30; + /** + * Null = 31; + */ + public static final int Null_VALUE = 31; + /** + * Number = 32; + */ + public static final int Number_VALUE = 32; + /** + * Object = 33; + */ + public static final int Object_VALUE = 33; + /** + * Operator = 34; + */ + public static final int Operator_VALUE = 34; + /** + * Package = 35; + */ + public static final int Package_VALUE = 35; + /** + * PackageObject = 36; + */ + public static final int PackageObject_VALUE = 36; + /** + * Parameter = 37; + */ + public static final int Parameter_VALUE = 37; + /** + * ParameterLabel = 38; + */ + public static final int ParameterLabel_VALUE = 38; + /** + *
+     * For Haskell's PatternSynonyms
+     * 
+ * + * Pattern = 39; + */ + public static final int Pattern_VALUE = 39; + /** + *
+     * For Alloy
+     * 
+ * + * Predicate = 40; + */ + public static final int Predicate_VALUE = 40; + /** + * Property = 41; + */ + public static final int Property_VALUE = 41; + /** + *
+     * Analogous to 'Trait' and 'TypeClass', for Swift and Objective-C
+     * 
+ * + * Protocol = 42; + */ + public static final int Protocol_VALUE = 42; + /** + *
+     * Analogous to 'AbstractMethod', for Swift and Objective-C.
+     * 
+ * + * ProtocolMethod = 68; + */ + public static final int ProtocolMethod_VALUE = 68; + /** + *
+     * Analogous to 'AbstractMethod', for C++.
+     * 
+ * + * PureVirtualMethod = 69; + */ + public static final int PureVirtualMethod_VALUE = 69; + /** + *
+     * For Haskell
+     * 
+ * + * Quasiquoter = 43; + */ + public static final int Quasiquoter_VALUE = 43; + /** + *
+     * 'self' in Python, Rust, Swift etc.
+     * 
+ * + * SelfParameter = 44; + */ + public static final int SelfParameter_VALUE = 44; + /** + *
+     * For 'set' in Swift, 'attr_writer' in Ruby
+     * 
+ * + * Setter = 45; + */ + public static final int Setter_VALUE = 45; + /** + *
+     * For Alloy, analogous to 'Struct'.
+     * 
+ * + * Signature = 46; + */ + public static final int Signature_VALUE = 46; + /** + *
+     * For Ruby
+     * 
+ * + * SingletonClass = 75; + */ + public static final int SingletonClass_VALUE = 75; + /** + *
+     * Analogous to 'StaticMethod', for Ruby.
+     * 
+ * + * SingletonMethod = 76; + */ + public static final int SingletonMethod_VALUE = 76; + /** + *
+     * Analogous to 'StaticField', for C++
+     * 
+ * + * StaticDataMember = 77; + */ + public static final int StaticDataMember_VALUE = 77; + /** + *
+     * For C#
+     * 
+ * + * StaticEvent = 78; + */ + public static final int StaticEvent_VALUE = 78; + /** + *
+     * For C#
+     * 
+ * + * StaticField = 79; + */ + public static final int StaticField_VALUE = 79; + /** + *
+     * For Java, C#, C++ etc.
+     * 
+ * + * StaticMethod = 80; + */ + public static final int StaticMethod_VALUE = 80; + /** + *
+     * For C#, TypeScript etc.
+     * 
+ * + * StaticProperty = 81; + */ + public static final int StaticProperty_VALUE = 81; + /** + *
+     * For C, C++
+     * 
+ * + * StaticVariable = 82; + */ + public static final int StaticVariable_VALUE = 82; + /** + * String = 48; + */ + public static final int String_VALUE = 48; + /** + * Struct = 49; + */ + public static final int Struct_VALUE = 49; + /** + *
+     * For Swift
+     * 
+ * + * Subscript = 47; + */ + public static final int Subscript_VALUE = 47; + /** + *
+     * For Lean
+     * 
+ * + * Tactic = 50; + */ + public static final int Tactic_VALUE = 50; + /** + *
+     * For Lean
+     * 
+ * + * Theorem = 51; + */ + public static final int Theorem_VALUE = 51; + /** + *
+     * Method receiver for languages
+     * 'this' in JavaScript, C++, Java etc.
+     * 
+ * + * ThisParameter = 52; + */ + public static final int ThisParameter_VALUE = 52; + /** + *
+     * Analogous to 'Protocol' and 'TypeClass', for Rust, Scala etc.
+     * 
+ * + * Trait = 53; + */ + public static final int Trait_VALUE = 53; + /** + *
+     * Analogous to 'AbstractMethod', for Rust, Scala etc.
+     * 
+ * + * TraitMethod = 70; + */ + public static final int TraitMethod_VALUE = 70; + /** + *
+     * Data type definition for languages like OCaml which use `type`
+     * rather than separate keywords like `struct` and `enum`.
+     * 
+ * + * Type = 54; + */ + public static final int Type_VALUE = 54; + /** + * TypeAlias = 55; + */ + public static final int TypeAlias_VALUE = 55; + /** + *
+     * Analogous to 'Trait' and 'Protocol', for Haskell, Purescript etc.
+     * 
+ * + * TypeClass = 56; + */ + public static final int TypeClass_VALUE = 56; + /** + *
+     * Analogous to 'AbstractMethod', for Haskell, Purescript etc.
+     * 
+ * + * TypeClassMethod = 71; + */ + public static final int TypeClassMethod_VALUE = 71; + /** + *
+     * For Haskell
+     * 
+ * + * TypeFamily = 57; + */ + public static final int TypeFamily_VALUE = 57; + /** + * TypeParameter = 58; + */ + public static final int TypeParameter_VALUE = 58; + /** + *
+     * For C, C++, Capn Proto
+     * 
+ * + * Union = 59; + */ + public static final int Union_VALUE = 59; + /** + * Value = 60; + */ + public static final int Value_VALUE = 60; + /** + *
+     * Next = 87;
+     * Feel free to open a PR proposing new language-specific kinds.
+     * 
+ * + * Variable = 61; + */ + public static final int Variable_VALUE = 61; + + + 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 UnspecifiedKind; + case 66: return AbstractMethod; + case 72: return Accessor; + case 1: return Array; + case 2: return Assertion; + case 3: return AssociatedType; + case 4: return Attribute; + case 5: return Axiom; + case 6: return Boolean; + case 7: return Class; + case 86: return Concept; + case 8: return Constant; + case 9: return Constructor; + case 62: return Contract; + case 10: return DataFamily; + case 73: return Delegate; + case 11: return Enum; + case 12: return EnumMember; + case 63: return Error; + case 13: return Event; + case 84: return Extension; + case 14: return Fact; + case 15: return Field; + case 16: return File; + case 17: return Function; + case 18: return Getter; + case 19: return Grammar; + case 20: return Instance; + case 21: return Interface; + case 22: return Key; + case 23: return Lang; + case 24: return Lemma; + case 64: return Library; + case 25: return Macro; + case 26: return Method; + case 74: return MethodAlias; + case 27: return MethodReceiver; + case 67: return MethodSpecification; + case 28: return Message; + case 85: return Mixin; + case 65: return Modifier; + case 29: return Module; + case 30: return Namespace; + case 31: return Null; + case 32: return Number; + case 33: return Object; + case 34: return Operator; + case 35: return Package; + case 36: return PackageObject; + case 37: return Parameter; + case 38: return ParameterLabel; + case 39: return Pattern; + case 40: return Predicate; + case 41: return Property; + case 42: return Protocol; + case 68: return ProtocolMethod; + case 69: return PureVirtualMethod; + case 43: return Quasiquoter; + case 44: return SelfParameter; + case 45: return Setter; + case 46: return Signature; + case 75: return SingletonClass; + case 76: return SingletonMethod; + case 77: return StaticDataMember; + case 78: return StaticEvent; + case 79: return StaticField; + case 80: return StaticMethod; + case 81: return StaticProperty; + case 82: return StaticVariable; + case 48: return String; + case 49: return Struct; + case 47: return Subscript; + case 50: return Tactic; + case 51: return Theorem; + case 52: return ThisParameter; + case 53: return Trait; + case 70: return TraitMethod; + case 54: return Type; + case 55: return TypeAlias; + case 56: return TypeClass; + case 71: return TypeClassMethod; + case 57: return TypeFamily; + case 58: return TypeParameter; + case 59: return Union; + case 60: return Value; + case 61: return Variable; + 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 com.google.protobuf.Descriptors.EnumDescriptor + getDescriptor() { + return org.scip_code.scip.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:scip.SymbolInformation.Kind) + } + + private int bitField0_; + public static final int SYMBOL_FIELD_NUMBER = 1; + @SuppressWarnings("serial") + private volatile java.lang.Object symbol_ = ""; + /** + *
+   * Identifier of this symbol, which can be referenced from `Occurence.symbol`.
+   * The string must be formatted according to the grammar in `Symbol`.
+   * 
+ * + * string symbol = 1 [json_name = "symbol"]; + * @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; + } + } + /** + *
+   * Identifier of this symbol, which can be referenced from `Occurence.symbol`.
+   * The string must be formatted according to the grammar in `Symbol`.
+   * 
+ * + * string symbol = 1 [json_name = "symbol"]; + * @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 DOCUMENTATION_FIELD_NUMBER = 3; + @SuppressWarnings("serial") + private com.google.protobuf.LazyStringArrayList documentation_ = + com.google.protobuf.LazyStringArrayList.emptyList(); + /** + *
+   * (optional, but strongly recommended) The markdown-formatted documentation
+   * for this symbol. Use `SymbolInformation.signature_documentation` to
+   * document the method/class/type signature of this symbol.
+   * Due to historical reasons, indexers may include signature documentation in
+   * this field by rendering markdown code blocks. New indexers should only
+   * include non-code documentation in this field, for example docstrings.
+   * 
+ * + * repeated string documentation = 3 [json_name = "documentation"]; + * @return A list containing the documentation. + */ + public com.google.protobuf.ProtocolStringList + getDocumentationList() { + return documentation_; + } + /** + *
+   * (optional, but strongly recommended) The markdown-formatted documentation
+   * for this symbol. Use `SymbolInformation.signature_documentation` to
+   * document the method/class/type signature of this symbol.
+   * Due to historical reasons, indexers may include signature documentation in
+   * this field by rendering markdown code blocks. New indexers should only
+   * include non-code documentation in this field, for example docstrings.
+   * 
+ * + * repeated string documentation = 3 [json_name = "documentation"]; + * @return The count of documentation. + */ + public int getDocumentationCount() { + return documentation_.size(); + } + /** + *
+   * (optional, but strongly recommended) The markdown-formatted documentation
+   * for this symbol. Use `SymbolInformation.signature_documentation` to
+   * document the method/class/type signature of this symbol.
+   * Due to historical reasons, indexers may include signature documentation in
+   * this field by rendering markdown code blocks. New indexers should only
+   * include non-code documentation in this field, for example docstrings.
+   * 
+ * + * repeated string documentation = 3 [json_name = "documentation"]; + * @param index The index of the element to return. + * @return The documentation at the given index. + */ + public java.lang.String getDocumentation(int index) { + return documentation_.get(index); + } + /** + *
+   * (optional, but strongly recommended) The markdown-formatted documentation
+   * for this symbol. Use `SymbolInformation.signature_documentation` to
+   * document the method/class/type signature of this symbol.
+   * Due to historical reasons, indexers may include signature documentation in
+   * this field by rendering markdown code blocks. New indexers should only
+   * include non-code documentation in this field, for example docstrings.
+   * 
+ * + * repeated string documentation = 3 [json_name = "documentation"]; + * @param index The index of the value to return. + * @return The bytes of the documentation at the given index. + */ + public com.google.protobuf.ByteString + getDocumentationBytes(int index) { + return documentation_.getByteString(index); + } + + public static final int RELATIONSHIPS_FIELD_NUMBER = 4; + @SuppressWarnings("serial") + private java.util.List relationships_; + /** + *
+   * (optional) Relationships to other symbols (e.g., implements, type definition).
+   * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + @java.lang.Override + public java.util.List getRelationshipsList() { + return relationships_; + } + /** + *
+   * (optional) Relationships to other symbols (e.g., implements, type definition).
+   * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + @java.lang.Override + public java.util.List + getRelationshipsOrBuilderList() { + return relationships_; + } + /** + *
+   * (optional) Relationships to other symbols (e.g., implements, type definition).
+   * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + @java.lang.Override + public int getRelationshipsCount() { + return relationships_.size(); + } + /** + *
+   * (optional) Relationships to other symbols (e.g., implements, type definition).
+   * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + @java.lang.Override + public org.scip_code.scip.Relationship getRelationships(int index) { + return relationships_.get(index); + } + /** + *
+   * (optional) Relationships to other symbols (e.g., implements, type definition).
+   * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + @java.lang.Override + public org.scip_code.scip.RelationshipOrBuilder getRelationshipsOrBuilder( + int index) { + return relationships_.get(index); + } + + public static final int KIND_FIELD_NUMBER = 5; + private int kind_ = 0; + /** + *
+   * The kind of this symbol. Use this field instead of
+   * `SymbolDescriptor.Suffix` to determine whether something is, for example, a
+   * class or a method.
+   * 
+ * + * .scip.SymbolInformation.Kind kind = 5 [json_name = "kind"]; + * @return The enum numeric value on the wire for kind. + */ + @java.lang.Override public int getKindValue() { + return kind_; + } + /** + *
+   * The kind of this symbol. Use this field instead of
+   * `SymbolDescriptor.Suffix` to determine whether something is, for example, a
+   * class or a method.
+   * 
+ * + * .scip.SymbolInformation.Kind kind = 5 [json_name = "kind"]; + * @return The kind. + */ + @java.lang.Override public org.scip_code.scip.SymbolInformation.Kind getKind() { + org.scip_code.scip.SymbolInformation.Kind result = org.scip_code.scip.SymbolInformation.Kind.forNumber(kind_); + return result == null ? org.scip_code.scip.SymbolInformation.Kind.UNRECOGNIZED : result; + } + + public static final int DISPLAY_NAME_FIELD_NUMBER = 6; + @SuppressWarnings("serial") + private volatile java.lang.Object displayName_ = ""; + /** + *
+   * (optional) The name of this symbol as it should be displayed to the user.
+   * For example, the symbol "com/example/MyClass#myMethod(+1)." should have the
+   * display name "myMethod". The `symbol` field is not a reliable source of
+   * the display name for several reasons:
+   *
+   * - Local symbols don't encode the name.
+   * - Some languages have case-insensitive names, so the symbol is all-lowercase.
+   * - The symbol may encode names with special characters that should not be
+   * displayed to the user.
+   * 
+ * + * string display_name = 6 [json_name = "displayName"]; + * @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; + } + } + /** + *
+   * (optional) The name of this symbol as it should be displayed to the user.
+   * For example, the symbol "com/example/MyClass#myMethod(+1)." should have the
+   * display name "myMethod". The `symbol` field is not a reliable source of
+   * the display name for several reasons:
+   *
+   * - Local symbols don't encode the name.
+   * - Some languages have case-insensitive names, so the symbol is all-lowercase.
+   * - The symbol may encode names with special characters that should not be
+   * displayed to the user.
+   * 
+ * + * string display_name = 6 [json_name = "displayName"]; + * @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_DOCUMENTATION_FIELD_NUMBER = 7; + private org.scip_code.scip.Signature signatureDocumentation_; + /** + *
+   * (optional) The signature of this symbol as it's displayed in API
+   * documentation or in hover tooltips. For example, a Java method that adds
+   * two numbers would have `Signature.language = "java"` and
+   * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
+   * fields are required while `occurrences` can be optionally included to
+   * support hyperlinking referenced symbols in the signature.
+   * 
+ * + * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; + * @return Whether the signatureDocumentation field is set. + */ + @java.lang.Override + public boolean hasSignatureDocumentation() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + *
+   * (optional) The signature of this symbol as it's displayed in API
+   * documentation or in hover tooltips. For example, a Java method that adds
+   * two numbers would have `Signature.language = "java"` and
+   * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
+   * fields are required while `occurrences` can be optionally included to
+   * support hyperlinking referenced symbols in the signature.
+   * 
+ * + * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; + * @return The signatureDocumentation. + */ + @java.lang.Override + public org.scip_code.scip.Signature getSignatureDocumentation() { + return signatureDocumentation_ == null ? org.scip_code.scip.Signature.getDefaultInstance() : signatureDocumentation_; + } + /** + *
+   * (optional) The signature of this symbol as it's displayed in API
+   * documentation or in hover tooltips. For example, a Java method that adds
+   * two numbers would have `Signature.language = "java"` and
+   * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
+   * fields are required while `occurrences` can be optionally included to
+   * support hyperlinking referenced symbols in the signature.
+   * 
+ * + * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; + */ + @java.lang.Override + public org.scip_code.scip.SignatureOrBuilder getSignatureDocumentationOrBuilder() { + return signatureDocumentation_ == null ? org.scip_code.scip.Signature.getDefaultInstance() : signatureDocumentation_; + } + + public static final int ENCLOSING_SYMBOL_FIELD_NUMBER = 8; + @SuppressWarnings("serial") + private volatile java.lang.Object enclosingSymbol_ = ""; + /** + *
+   * (optional) The enclosing symbol if this is a local symbol.  For non-local
+   * symbols, the enclosing symbol should be parsed from the `symbol` field
+   * using the `Descriptor` grammar.
+   *
+   * The primary use-case for this field is to allow local symbol to be displayed
+   * in a symbol hierarchy for API documentation. It's OK to leave this field
+   * empty for local variables since local variables usually don't belong in API
+   * documentation. However, in the situation that you wish to include a local
+   * symbol in the hierarchy, then you can use `enclosing_symbol` to locate the
+   * "parent" or "owner" of this local symbol. For example, a Java indexer may
+   * choose to use local symbols for private class fields while providing an
+   * `enclosing_symbol` to reference the enclosing class to allow the field to
+   * be part of the class documentation hierarchy. From the perspective of an
+   * author of an indexer, the decision to use a local symbol or global symbol
+   * should exclusively be determined whether the local symbol is accessible
+   * outside the document, not by the capability to find the enclosing
+   * symbol.
+   * 
+ * + * string enclosing_symbol = 8 [json_name = "enclosingSymbol"]; + * @return The enclosingSymbol. + */ + @java.lang.Override + public java.lang.String getEnclosingSymbol() { + java.lang.Object ref = enclosingSymbol_; + 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(); + enclosingSymbol_ = s; + return s; + } + } + /** + *
+   * (optional) The enclosing symbol if this is a local symbol.  For non-local
+   * symbols, the enclosing symbol should be parsed from the `symbol` field
+   * using the `Descriptor` grammar.
+   *
+   * The primary use-case for this field is to allow local symbol to be displayed
+   * in a symbol hierarchy for API documentation. It's OK to leave this field
+   * empty for local variables since local variables usually don't belong in API
+   * documentation. However, in the situation that you wish to include a local
+   * symbol in the hierarchy, then you can use `enclosing_symbol` to locate the
+   * "parent" or "owner" of this local symbol. For example, a Java indexer may
+   * choose to use local symbols for private class fields while providing an
+   * `enclosing_symbol` to reference the enclosing class to allow the field to
+   * be part of the class documentation hierarchy. From the perspective of an
+   * author of an indexer, the decision to use a local symbol or global symbol
+   * should exclusively be determined whether the local symbol is accessible
+   * outside the document, not by the capability to find the enclosing
+   * symbol.
+   * 
+ * + * string enclosing_symbol = 8 [json_name = "enclosingSymbol"]; + * @return The bytes for enclosingSymbol. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getEnclosingSymbolBytes() { + java.lang.Object ref = enclosingSymbol_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + enclosingSymbol_ = 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 (!com.google.protobuf.GeneratedMessage.isStringEmpty(symbol_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, symbol_); + } + for (int i = 0; i < documentation_.size(); i++) { + com.google.protobuf.GeneratedMessage.writeString(output, 3, documentation_.getRaw(i)); + } + for (int i = 0; i < relationships_.size(); i++) { + output.writeMessage(4, relationships_.get(i)); + } + if (kind_ != org.scip_code.scip.SymbolInformation.Kind.UnspecifiedKind.getNumber()) { + output.writeEnum(5, kind_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(displayName_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 6, displayName_); + } + if (((bitField0_ & 0x00000001) != 0)) { + output.writeMessage(7, getSignatureDocumentation()); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(enclosingSymbol_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 8, enclosingSymbol_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(symbol_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, symbol_); + } + { + int dataSize = 0; + for (int i = 0; i < documentation_.size(); i++) { + dataSize += computeStringSizeNoTag(documentation_.getRaw(i)); + } + size += dataSize; + size += 1 * getDocumentationList().size(); + } + for (int i = 0; i < relationships_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(4, relationships_.get(i)); + } + if (kind_ != org.scip_code.scip.SymbolInformation.Kind.UnspecifiedKind.getNumber()) { + size += com.google.protobuf.CodedOutputStream + .computeEnumSize(5, kind_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(displayName_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(6, displayName_); + } + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(7, getSignatureDocumentation()); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(enclosingSymbol_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(8, enclosingSymbol_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof org.scip_code.scip.SymbolInformation)) { + return super.equals(obj); + } + org.scip_code.scip.SymbolInformation other = (org.scip_code.scip.SymbolInformation) obj; + + if (!getSymbol() + .equals(other.getSymbol())) return false; + if (!getDocumentationList() + .equals(other.getDocumentationList())) return false; + if (!getRelationshipsList() + .equals(other.getRelationshipsList())) return false; + if (kind_ != other.kind_) return false; + if (!getDisplayName() + .equals(other.getDisplayName())) return false; + if (hasSignatureDocumentation() != other.hasSignatureDocumentation()) return false; + if (hasSignatureDocumentation()) { + if (!getSignatureDocumentation() + .equals(other.getSignatureDocumentation())) return false; + } + if (!getEnclosingSymbol() + .equals(other.getEnclosingSymbol())) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) 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 (getDocumentationCount() > 0) { + hash = (37 * hash) + DOCUMENTATION_FIELD_NUMBER; + hash = (53 * hash) + getDocumentationList().hashCode(); + } + if (getRelationshipsCount() > 0) { + hash = (37 * hash) + RELATIONSHIPS_FIELD_NUMBER; + hash = (53 * hash) + getRelationshipsList().hashCode(); + } + hash = (37 * hash) + KIND_FIELD_NUMBER; + hash = (53 * hash) + kind_; + hash = (37 * hash) + DISPLAY_NAME_FIELD_NUMBER; + hash = (53 * hash) + getDisplayName().hashCode(); + if (hasSignatureDocumentation()) { + hash = (37 * hash) + SIGNATURE_DOCUMENTATION_FIELD_NUMBER; + hash = (53 * hash) + getSignatureDocumentation().hashCode(); + } + hash = (37 * hash) + ENCLOSING_SYMBOL_FIELD_NUMBER; + hash = (53 * hash) + getEnclosingSymbol().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static org.scip_code.scip.SymbolInformation parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.scip_code.scip.SymbolInformation parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.scip_code.scip.SymbolInformation parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.scip_code.scip.SymbolInformation parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.scip_code.scip.SymbolInformation parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.scip_code.scip.SymbolInformation parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.scip_code.scip.SymbolInformation parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static org.scip_code.scip.SymbolInformation parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public static org.scip_code.scip.SymbolInformation parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input); + } + + public static org.scip_code.scip.SymbolInformation parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static org.scip_code.scip.SymbolInformation parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static org.scip_code.scip.SymbolInformation parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(org.scip_code.scip.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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + *
+   * SymbolInformation defines metadata about a symbol, such as the symbol's
+   * docstring or what package it's defined it.
+   * 
+ * + * Protobuf type {@code scip.SymbolInformation} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder implements + // @@protoc_insertion_point(builder_implements:scip.SymbolInformation) + org.scip_code.scip.SymbolInformationOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.scip_code.scip.ScipProto.internal_static_scip_SymbolInformation_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.scip_code.scip.ScipProto.internal_static_scip_SymbolInformation_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.scip_code.scip.SymbolInformation.class, org.scip_code.scip.SymbolInformation.Builder.class); + } + + // Construct using org.scip_code.scip.SymbolInformation.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage + .alwaysUseFieldBuilders) { + internalGetRelationshipsFieldBuilder(); + internalGetSignatureDocumentationFieldBuilder(); + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + symbol_ = ""; + documentation_ = + com.google.protobuf.LazyStringArrayList.emptyList(); + if (relationshipsBuilder_ == null) { + relationships_ = java.util.Collections.emptyList(); + } else { + relationships_ = null; + relationshipsBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000004); + kind_ = 0; + displayName_ = ""; + signatureDocumentation_ = null; + if (signatureDocumentationBuilder_ != null) { + signatureDocumentationBuilder_.dispose(); + signatureDocumentationBuilder_ = null; + } + enclosingSymbol_ = ""; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return org.scip_code.scip.ScipProto.internal_static_scip_SymbolInformation_descriptor; + } + + @java.lang.Override + public org.scip_code.scip.SymbolInformation getDefaultInstanceForType() { + return org.scip_code.scip.SymbolInformation.getDefaultInstance(); + } + + @java.lang.Override + public org.scip_code.scip.SymbolInformation build() { + org.scip_code.scip.SymbolInformation result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public org.scip_code.scip.SymbolInformation buildPartial() { + org.scip_code.scip.SymbolInformation result = new org.scip_code.scip.SymbolInformation(this); + buildPartialRepeatedFields(result); + if (bitField0_ != 0) { buildPartial0(result); } + onBuilt(); + return result; + } + + private void buildPartialRepeatedFields(org.scip_code.scip.SymbolInformation result) { + if (relationshipsBuilder_ == null) { + if (((bitField0_ & 0x00000004) != 0)) { + relationships_ = java.util.Collections.unmodifiableList(relationships_); + bitField0_ = (bitField0_ & ~0x00000004); + } + result.relationships_ = relationships_; + } else { + result.relationships_ = relationshipsBuilder_.build(); + } + } + + private void buildPartial0(org.scip_code.scip.SymbolInformation result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.symbol_ = symbol_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + documentation_.makeImmutable(); + result.documentation_ = documentation_; + } + if (((from_bitField0_ & 0x00000008) != 0)) { + result.kind_ = kind_; + } + if (((from_bitField0_ & 0x00000010) != 0)) { + result.displayName_ = displayName_; + } + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000020) != 0)) { + result.signatureDocumentation_ = signatureDocumentationBuilder_ == null + ? signatureDocumentation_ + : signatureDocumentationBuilder_.build(); + to_bitField0_ |= 0x00000001; + } + if (((from_bitField0_ & 0x00000040) != 0)) { + result.enclosingSymbol_ = enclosingSymbol_; + } + result.bitField0_ |= to_bitField0_; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof org.scip_code.scip.SymbolInformation) { + return mergeFrom((org.scip_code.scip.SymbolInformation)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(org.scip_code.scip.SymbolInformation other) { + if (other == org.scip_code.scip.SymbolInformation.getDefaultInstance()) return this; + if (!other.getSymbol().isEmpty()) { + symbol_ = other.symbol_; + bitField0_ |= 0x00000001; + onChanged(); + } + if (!other.documentation_.isEmpty()) { + if (documentation_.isEmpty()) { + documentation_ = other.documentation_; + bitField0_ |= 0x00000002; + } else { + ensureDocumentationIsMutable(); + documentation_.addAll(other.documentation_); + } + onChanged(); + } + if (relationshipsBuilder_ == null) { + if (!other.relationships_.isEmpty()) { + if (relationships_.isEmpty()) { + relationships_ = other.relationships_; + bitField0_ = (bitField0_ & ~0x00000004); + } else { + ensureRelationshipsIsMutable(); + relationships_.addAll(other.relationships_); + } + onChanged(); + } + } else { + if (!other.relationships_.isEmpty()) { + if (relationshipsBuilder_.isEmpty()) { + relationshipsBuilder_.dispose(); + relationshipsBuilder_ = null; + relationships_ = other.relationships_; + bitField0_ = (bitField0_ & ~0x00000004); + relationshipsBuilder_ = + com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ? + internalGetRelationshipsFieldBuilder() : null; + } else { + relationshipsBuilder_.addAllMessages(other.relationships_); + } + } + } + if (other.kind_ != 0) { + setKindValue(other.getKindValue()); + } + if (!other.getDisplayName().isEmpty()) { + displayName_ = other.displayName_; + bitField0_ |= 0x00000010; + onChanged(); + } + if (other.hasSignatureDocumentation()) { + mergeSignatureDocumentation(other.getSignatureDocumentation()); + } + if (!other.getEnclosingSymbol().isEmpty()) { + enclosingSymbol_ = other.enclosingSymbol_; + bitField0_ |= 0x00000040; + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + 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 { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + symbol_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 26: { + java.lang.String s = input.readStringRequireUtf8(); + ensureDocumentationIsMutable(); + documentation_.add(s); + break; + } // case 26 + case 34: { + org.scip_code.scip.Relationship m = + input.readMessage( + org.scip_code.scip.Relationship.parser(), + extensionRegistry); + if (relationshipsBuilder_ == null) { + ensureRelationshipsIsMutable(); + relationships_.add(m); + } else { + relationshipsBuilder_.addMessage(m); + } + break; + } // case 34 + case 40: { + kind_ = input.readEnum(); + bitField0_ |= 0x00000008; + break; + } // case 40 + case 50: { + displayName_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000010; + break; + } // case 50 + case 58: { + input.readMessage( + internalGetSignatureDocumentationFieldBuilder().getBuilder(), + extensionRegistry); + bitField0_ |= 0x00000020; + break; + } // case 58 + case 66: { + enclosingSymbol_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000040; + break; + } // case 66 + default: { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + private int bitField0_; + + private java.lang.Object symbol_ = ""; + /** + *
+     * Identifier of this symbol, which can be referenced from `Occurence.symbol`.
+     * The string must be formatted according to the grammar in `Symbol`.
+     * 
+ * + * string symbol = 1 [json_name = "symbol"]; + * @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; + } + } + /** + *
+     * Identifier of this symbol, which can be referenced from `Occurence.symbol`.
+     * The string must be formatted according to the grammar in `Symbol`.
+     * 
+ * + * string symbol = 1 [json_name = "symbol"]; + * @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; + } + } + /** + *
+     * Identifier of this symbol, which can be referenced from `Occurence.symbol`.
+     * The string must be formatted according to the grammar in `Symbol`.
+     * 
+ * + * string symbol = 1 [json_name = "symbol"]; + * @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; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + /** + *
+     * Identifier of this symbol, which can be referenced from `Occurence.symbol`.
+     * The string must be formatted according to the grammar in `Symbol`.
+     * 
+ * + * string symbol = 1 [json_name = "symbol"]; + * @return This builder for chaining. + */ + public Builder clearSymbol() { + symbol_ = getDefaultInstance().getSymbol(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + /** + *
+     * Identifier of this symbol, which can be referenced from `Occurence.symbol`.
+     * The string must be formatted according to the grammar in `Symbol`.
+     * 
+ * + * string symbol = 1 [json_name = "symbol"]; + * @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; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private com.google.protobuf.LazyStringArrayList documentation_ = + com.google.protobuf.LazyStringArrayList.emptyList(); + private void ensureDocumentationIsMutable() { + if (!documentation_.isModifiable()) { + documentation_ = new com.google.protobuf.LazyStringArrayList(documentation_); + } + bitField0_ |= 0x00000002; + } + /** + *
+     * (optional, but strongly recommended) The markdown-formatted documentation
+     * for this symbol. Use `SymbolInformation.signature_documentation` to
+     * document the method/class/type signature of this symbol.
+     * Due to historical reasons, indexers may include signature documentation in
+     * this field by rendering markdown code blocks. New indexers should only
+     * include non-code documentation in this field, for example docstrings.
+     * 
+ * + * repeated string documentation = 3 [json_name = "documentation"]; + * @return A list containing the documentation. + */ + public com.google.protobuf.ProtocolStringList + getDocumentationList() { + documentation_.makeImmutable(); + return documentation_; + } + /** + *
+     * (optional, but strongly recommended) The markdown-formatted documentation
+     * for this symbol. Use `SymbolInformation.signature_documentation` to
+     * document the method/class/type signature of this symbol.
+     * Due to historical reasons, indexers may include signature documentation in
+     * this field by rendering markdown code blocks. New indexers should only
+     * include non-code documentation in this field, for example docstrings.
+     * 
+ * + * repeated string documentation = 3 [json_name = "documentation"]; + * @return The count of documentation. + */ + public int getDocumentationCount() { + return documentation_.size(); + } + /** + *
+     * (optional, but strongly recommended) The markdown-formatted documentation
+     * for this symbol. Use `SymbolInformation.signature_documentation` to
+     * document the method/class/type signature of this symbol.
+     * Due to historical reasons, indexers may include signature documentation in
+     * this field by rendering markdown code blocks. New indexers should only
+     * include non-code documentation in this field, for example docstrings.
+     * 
+ * + * repeated string documentation = 3 [json_name = "documentation"]; + * @param index The index of the element to return. + * @return The documentation at the given index. + */ + public java.lang.String getDocumentation(int index) { + return documentation_.get(index); + } + /** + *
+     * (optional, but strongly recommended) The markdown-formatted documentation
+     * for this symbol. Use `SymbolInformation.signature_documentation` to
+     * document the method/class/type signature of this symbol.
+     * Due to historical reasons, indexers may include signature documentation in
+     * this field by rendering markdown code blocks. New indexers should only
+     * include non-code documentation in this field, for example docstrings.
+     * 
+ * + * repeated string documentation = 3 [json_name = "documentation"]; + * @param index The index of the value to return. + * @return The bytes of the documentation at the given index. + */ + public com.google.protobuf.ByteString + getDocumentationBytes(int index) { + return documentation_.getByteString(index); + } + /** + *
+     * (optional, but strongly recommended) The markdown-formatted documentation
+     * for this symbol. Use `SymbolInformation.signature_documentation` to
+     * document the method/class/type signature of this symbol.
+     * Due to historical reasons, indexers may include signature documentation in
+     * this field by rendering markdown code blocks. New indexers should only
+     * include non-code documentation in this field, for example docstrings.
+     * 
+ * + * repeated string documentation = 3 [json_name = "documentation"]; + * @param index The index to set the value at. + * @param value The documentation to set. + * @return This builder for chaining. + */ + public Builder setDocumentation( + int index, java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + ensureDocumentationIsMutable(); + documentation_.set(index, value); + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + /** + *
+     * (optional, but strongly recommended) The markdown-formatted documentation
+     * for this symbol. Use `SymbolInformation.signature_documentation` to
+     * document the method/class/type signature of this symbol.
+     * Due to historical reasons, indexers may include signature documentation in
+     * this field by rendering markdown code blocks. New indexers should only
+     * include non-code documentation in this field, for example docstrings.
+     * 
+ * + * repeated string documentation = 3 [json_name = "documentation"]; + * @param value The documentation to add. + * @return This builder for chaining. + */ + public Builder addDocumentation( + java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + ensureDocumentationIsMutable(); + documentation_.add(value); + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + /** + *
+     * (optional, but strongly recommended) The markdown-formatted documentation
+     * for this symbol. Use `SymbolInformation.signature_documentation` to
+     * document the method/class/type signature of this symbol.
+     * Due to historical reasons, indexers may include signature documentation in
+     * this field by rendering markdown code blocks. New indexers should only
+     * include non-code documentation in this field, for example docstrings.
+     * 
+ * + * repeated string documentation = 3 [json_name = "documentation"]; + * @param values The documentation to add. + * @return This builder for chaining. + */ + public Builder addAllDocumentation( + java.lang.Iterable values) { + ensureDocumentationIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, documentation_); + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + /** + *
+     * (optional, but strongly recommended) The markdown-formatted documentation
+     * for this symbol. Use `SymbolInformation.signature_documentation` to
+     * document the method/class/type signature of this symbol.
+     * Due to historical reasons, indexers may include signature documentation in
+     * this field by rendering markdown code blocks. New indexers should only
+     * include non-code documentation in this field, for example docstrings.
+     * 
+ * + * repeated string documentation = 3 [json_name = "documentation"]; + * @return This builder for chaining. + */ + public Builder clearDocumentation() { + documentation_ = + com.google.protobuf.LazyStringArrayList.emptyList(); + bitField0_ = (bitField0_ & ~0x00000002);; + onChanged(); + return this; + } + /** + *
+     * (optional, but strongly recommended) The markdown-formatted documentation
+     * for this symbol. Use `SymbolInformation.signature_documentation` to
+     * document the method/class/type signature of this symbol.
+     * Due to historical reasons, indexers may include signature documentation in
+     * this field by rendering markdown code blocks. New indexers should only
+     * include non-code documentation in this field, for example docstrings.
+     * 
+ * + * repeated string documentation = 3 [json_name = "documentation"]; + * @param value The bytes of the documentation to add. + * @return This builder for chaining. + */ + public Builder addDocumentationBytes( + com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + checkByteStringIsUtf8(value); + ensureDocumentationIsMutable(); + documentation_.add(value); + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + private java.util.List relationships_ = + java.util.Collections.emptyList(); + private void ensureRelationshipsIsMutable() { + if (!((bitField0_ & 0x00000004) != 0)) { + relationships_ = new java.util.ArrayList(relationships_); + bitField0_ |= 0x00000004; + } + } + + private com.google.protobuf.RepeatedFieldBuilder< + org.scip_code.scip.Relationship, org.scip_code.scip.Relationship.Builder, org.scip_code.scip.RelationshipOrBuilder> relationshipsBuilder_; + + /** + *
+     * (optional) Relationships to other symbols (e.g., implements, type definition).
+     * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + public java.util.List getRelationshipsList() { + if (relationshipsBuilder_ == null) { + return java.util.Collections.unmodifiableList(relationships_); + } else { + return relationshipsBuilder_.getMessageList(); + } + } + /** + *
+     * (optional) Relationships to other symbols (e.g., implements, type definition).
+     * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + public int getRelationshipsCount() { + if (relationshipsBuilder_ == null) { + return relationships_.size(); + } else { + return relationshipsBuilder_.getCount(); + } + } + /** + *
+     * (optional) Relationships to other symbols (e.g., implements, type definition).
+     * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + public org.scip_code.scip.Relationship getRelationships(int index) { + if (relationshipsBuilder_ == null) { + return relationships_.get(index); + } else { + return relationshipsBuilder_.getMessage(index); + } + } + /** + *
+     * (optional) Relationships to other symbols (e.g., implements, type definition).
+     * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + public Builder setRelationships( + int index, org.scip_code.scip.Relationship value) { + if (relationshipsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureRelationshipsIsMutable(); + relationships_.set(index, value); + onChanged(); + } else { + relationshipsBuilder_.setMessage(index, value); + } + return this; + } + /** + *
+     * (optional) Relationships to other symbols (e.g., implements, type definition).
+     * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + public Builder setRelationships( + int index, org.scip_code.scip.Relationship.Builder builderForValue) { + if (relationshipsBuilder_ == null) { + ensureRelationshipsIsMutable(); + relationships_.set(index, builderForValue.build()); + onChanged(); + } else { + relationshipsBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + *
+     * (optional) Relationships to other symbols (e.g., implements, type definition).
+     * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + public Builder addRelationships(org.scip_code.scip.Relationship value) { + if (relationshipsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureRelationshipsIsMutable(); + relationships_.add(value); + onChanged(); + } else { + relationshipsBuilder_.addMessage(value); + } + return this; + } + /** + *
+     * (optional) Relationships to other symbols (e.g., implements, type definition).
+     * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + public Builder addRelationships( + int index, org.scip_code.scip.Relationship value) { + if (relationshipsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureRelationshipsIsMutable(); + relationships_.add(index, value); + onChanged(); + } else { + relationshipsBuilder_.addMessage(index, value); + } + return this; + } + /** + *
+     * (optional) Relationships to other symbols (e.g., implements, type definition).
+     * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + public Builder addRelationships( + org.scip_code.scip.Relationship.Builder builderForValue) { + if (relationshipsBuilder_ == null) { + ensureRelationshipsIsMutable(); + relationships_.add(builderForValue.build()); + onChanged(); + } else { + relationshipsBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + *
+     * (optional) Relationships to other symbols (e.g., implements, type definition).
+     * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + public Builder addRelationships( + int index, org.scip_code.scip.Relationship.Builder builderForValue) { + if (relationshipsBuilder_ == null) { + ensureRelationshipsIsMutable(); + relationships_.add(index, builderForValue.build()); + onChanged(); + } else { + relationshipsBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + *
+     * (optional) Relationships to other symbols (e.g., implements, type definition).
+     * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + public Builder addAllRelationships( + java.lang.Iterable values) { + if (relationshipsBuilder_ == null) { + ensureRelationshipsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, relationships_); + onChanged(); + } else { + relationshipsBuilder_.addAllMessages(values); + } + return this; + } + /** + *
+     * (optional) Relationships to other symbols (e.g., implements, type definition).
+     * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + public Builder clearRelationships() { + if (relationshipsBuilder_ == null) { + relationships_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000004); + onChanged(); + } else { + relationshipsBuilder_.clear(); + } + return this; + } + /** + *
+     * (optional) Relationships to other symbols (e.g., implements, type definition).
+     * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + public Builder removeRelationships(int index) { + if (relationshipsBuilder_ == null) { + ensureRelationshipsIsMutable(); + relationships_.remove(index); + onChanged(); + } else { + relationshipsBuilder_.remove(index); + } + return this; + } + /** + *
+     * (optional) Relationships to other symbols (e.g., implements, type definition).
+     * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + public org.scip_code.scip.Relationship.Builder getRelationshipsBuilder( + int index) { + return internalGetRelationshipsFieldBuilder().getBuilder(index); + } + /** + *
+     * (optional) Relationships to other symbols (e.g., implements, type definition).
+     * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + public org.scip_code.scip.RelationshipOrBuilder getRelationshipsOrBuilder( + int index) { + if (relationshipsBuilder_ == null) { + return relationships_.get(index); } else { + return relationshipsBuilder_.getMessageOrBuilder(index); + } + } + /** + *
+     * (optional) Relationships to other symbols (e.g., implements, type definition).
+     * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + public java.util.List + getRelationshipsOrBuilderList() { + if (relationshipsBuilder_ != null) { + return relationshipsBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(relationships_); + } + } + /** + *
+     * (optional) Relationships to other symbols (e.g., implements, type definition).
+     * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + public org.scip_code.scip.Relationship.Builder addRelationshipsBuilder() { + return internalGetRelationshipsFieldBuilder().addBuilder( + org.scip_code.scip.Relationship.getDefaultInstance()); + } + /** + *
+     * (optional) Relationships to other symbols (e.g., implements, type definition).
+     * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + public org.scip_code.scip.Relationship.Builder addRelationshipsBuilder( + int index) { + return internalGetRelationshipsFieldBuilder().addBuilder( + index, org.scip_code.scip.Relationship.getDefaultInstance()); + } + /** + *
+     * (optional) Relationships to other symbols (e.g., implements, type definition).
+     * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + public java.util.List + getRelationshipsBuilderList() { + return internalGetRelationshipsFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilder< + org.scip_code.scip.Relationship, org.scip_code.scip.Relationship.Builder, org.scip_code.scip.RelationshipOrBuilder> + internalGetRelationshipsFieldBuilder() { + if (relationshipsBuilder_ == null) { + relationshipsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder< + org.scip_code.scip.Relationship, org.scip_code.scip.Relationship.Builder, org.scip_code.scip.RelationshipOrBuilder>( + relationships_, + ((bitField0_ & 0x00000004) != 0), + getParentForChildren(), + isClean()); + relationships_ = null; + } + return relationshipsBuilder_; + } + + private int kind_ = 0; + /** + *
+     * The kind of this symbol. Use this field instead of
+     * `SymbolDescriptor.Suffix` to determine whether something is, for example, a
+     * class or a method.
+     * 
+ * + * .scip.SymbolInformation.Kind kind = 5 [json_name = "kind"]; + * @return The enum numeric value on the wire for kind. + */ + @java.lang.Override public int getKindValue() { + return kind_; + } + /** + *
+     * The kind of this symbol. Use this field instead of
+     * `SymbolDescriptor.Suffix` to determine whether something is, for example, a
+     * class or a method.
+     * 
+ * + * .scip.SymbolInformation.Kind kind = 5 [json_name = "kind"]; + * @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; + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + /** + *
+     * The kind of this symbol. Use this field instead of
+     * `SymbolDescriptor.Suffix` to determine whether something is, for example, a
+     * class or a method.
+     * 
+ * + * .scip.SymbolInformation.Kind kind = 5 [json_name = "kind"]; + * @return The kind. + */ + @java.lang.Override + public org.scip_code.scip.SymbolInformation.Kind getKind() { + org.scip_code.scip.SymbolInformation.Kind result = org.scip_code.scip.SymbolInformation.Kind.forNumber(kind_); + return result == null ? org.scip_code.scip.SymbolInformation.Kind.UNRECOGNIZED : result; + } + /** + *
+     * The kind of this symbol. Use this field instead of
+     * `SymbolDescriptor.Suffix` to determine whether something is, for example, a
+     * class or a method.
+     * 
+ * + * .scip.SymbolInformation.Kind kind = 5 [json_name = "kind"]; + * @param value The kind to set. + * @return This builder for chaining. + */ + public Builder setKind(org.scip_code.scip.SymbolInformation.Kind value) { + if (value == null) { throw new NullPointerException(); } + bitField0_ |= 0x00000008; + kind_ = value.getNumber(); + onChanged(); + return this; + } + /** + *
+     * The kind of this symbol. Use this field instead of
+     * `SymbolDescriptor.Suffix` to determine whether something is, for example, a
+     * class or a method.
+     * 
+ * + * .scip.SymbolInformation.Kind kind = 5 [json_name = "kind"]; + * @return This builder for chaining. + */ + public Builder clearKind() { + bitField0_ = (bitField0_ & ~0x00000008); + kind_ = 0; + onChanged(); + return this; + } + + private java.lang.Object displayName_ = ""; + /** + *
+     * (optional) The name of this symbol as it should be displayed to the user.
+     * For example, the symbol "com/example/MyClass#myMethod(+1)." should have the
+     * display name "myMethod". The `symbol` field is not a reliable source of
+     * the display name for several reasons:
+     *
+     * - Local symbols don't encode the name.
+     * - Some languages have case-insensitive names, so the symbol is all-lowercase.
+     * - The symbol may encode names with special characters that should not be
+     * displayed to the user.
+     * 
+ * + * string display_name = 6 [json_name = "displayName"]; + * @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; + } + } + /** + *
+     * (optional) The name of this symbol as it should be displayed to the user.
+     * For example, the symbol "com/example/MyClass#myMethod(+1)." should have the
+     * display name "myMethod". The `symbol` field is not a reliable source of
+     * the display name for several reasons:
+     *
+     * - Local symbols don't encode the name.
+     * - Some languages have case-insensitive names, so the symbol is all-lowercase.
+     * - The symbol may encode names with special characters that should not be
+     * displayed to the user.
+     * 
+ * + * string display_name = 6 [json_name = "displayName"]; + * @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; + } + } + /** + *
+     * (optional) The name of this symbol as it should be displayed to the user.
+     * For example, the symbol "com/example/MyClass#myMethod(+1)." should have the
+     * display name "myMethod". The `symbol` field is not a reliable source of
+     * the display name for several reasons:
+     *
+     * - Local symbols don't encode the name.
+     * - Some languages have case-insensitive names, so the symbol is all-lowercase.
+     * - The symbol may encode names with special characters that should not be
+     * displayed to the user.
+     * 
+ * + * string display_name = 6 [json_name = "displayName"]; + * @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; + bitField0_ |= 0x00000010; + onChanged(); + return this; + } + /** + *
+     * (optional) The name of this symbol as it should be displayed to the user.
+     * For example, the symbol "com/example/MyClass#myMethod(+1)." should have the
+     * display name "myMethod". The `symbol` field is not a reliable source of
+     * the display name for several reasons:
+     *
+     * - Local symbols don't encode the name.
+     * - Some languages have case-insensitive names, so the symbol is all-lowercase.
+     * - The symbol may encode names with special characters that should not be
+     * displayed to the user.
+     * 
+ * + * string display_name = 6 [json_name = "displayName"]; + * @return This builder for chaining. + */ + public Builder clearDisplayName() { + displayName_ = getDefaultInstance().getDisplayName(); + bitField0_ = (bitField0_ & ~0x00000010); + onChanged(); + return this; + } + /** + *
+     * (optional) The name of this symbol as it should be displayed to the user.
+     * For example, the symbol "com/example/MyClass#myMethod(+1)." should have the
+     * display name "myMethod". The `symbol` field is not a reliable source of
+     * the display name for several reasons:
+     *
+     * - Local symbols don't encode the name.
+     * - Some languages have case-insensitive names, so the symbol is all-lowercase.
+     * - The symbol may encode names with special characters that should not be
+     * displayed to the user.
+     * 
+ * + * string display_name = 6 [json_name = "displayName"]; + * @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; + bitField0_ |= 0x00000010; + onChanged(); + return this; + } + + private org.scip_code.scip.Signature signatureDocumentation_; + private com.google.protobuf.SingleFieldBuilder< + org.scip_code.scip.Signature, org.scip_code.scip.Signature.Builder, org.scip_code.scip.SignatureOrBuilder> signatureDocumentationBuilder_; + /** + *
+     * (optional) The signature of this symbol as it's displayed in API
+     * documentation or in hover tooltips. For example, a Java method that adds
+     * two numbers would have `Signature.language = "java"` and
+     * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
+     * fields are required while `occurrences` can be optionally included to
+     * support hyperlinking referenced symbols in the signature.
+     * 
+ * + * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; + * @return Whether the signatureDocumentation field is set. + */ + public boolean hasSignatureDocumentation() { + return ((bitField0_ & 0x00000020) != 0); + } + /** + *
+     * (optional) The signature of this symbol as it's displayed in API
+     * documentation or in hover tooltips. For example, a Java method that adds
+     * two numbers would have `Signature.language = "java"` and
+     * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
+     * fields are required while `occurrences` can be optionally included to
+     * support hyperlinking referenced symbols in the signature.
+     * 
+ * + * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; + * @return The signatureDocumentation. + */ + public org.scip_code.scip.Signature getSignatureDocumentation() { + if (signatureDocumentationBuilder_ == null) { + return signatureDocumentation_ == null ? org.scip_code.scip.Signature.getDefaultInstance() : signatureDocumentation_; + } else { + return signatureDocumentationBuilder_.getMessage(); + } + } + /** + *
+     * (optional) The signature of this symbol as it's displayed in API
+     * documentation or in hover tooltips. For example, a Java method that adds
+     * two numbers would have `Signature.language = "java"` and
+     * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
+     * fields are required while `occurrences` can be optionally included to
+     * support hyperlinking referenced symbols in the signature.
+     * 
+ * + * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; + */ + public Builder setSignatureDocumentation(org.scip_code.scip.Signature value) { + if (signatureDocumentationBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + signatureDocumentation_ = value; + } else { + signatureDocumentationBuilder_.setMessage(value); + } + bitField0_ |= 0x00000020; + onChanged(); + return this; + } + /** + *
+     * (optional) The signature of this symbol as it's displayed in API
+     * documentation or in hover tooltips. For example, a Java method that adds
+     * two numbers would have `Signature.language = "java"` and
+     * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
+     * fields are required while `occurrences` can be optionally included to
+     * support hyperlinking referenced symbols in the signature.
+     * 
+ * + * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; + */ + public Builder setSignatureDocumentation( + org.scip_code.scip.Signature.Builder builderForValue) { + if (signatureDocumentationBuilder_ == null) { + signatureDocumentation_ = builderForValue.build(); + } else { + signatureDocumentationBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000020; + onChanged(); + return this; + } + /** + *
+     * (optional) The signature of this symbol as it's displayed in API
+     * documentation or in hover tooltips. For example, a Java method that adds
+     * two numbers would have `Signature.language = "java"` and
+     * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
+     * fields are required while `occurrences` can be optionally included to
+     * support hyperlinking referenced symbols in the signature.
+     * 
+ * + * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; + */ + public Builder mergeSignatureDocumentation(org.scip_code.scip.Signature value) { + if (signatureDocumentationBuilder_ == null) { + if (((bitField0_ & 0x00000020) != 0) && + signatureDocumentation_ != null && + signatureDocumentation_ != org.scip_code.scip.Signature.getDefaultInstance()) { + getSignatureDocumentationBuilder().mergeFrom(value); + } else { + signatureDocumentation_ = value; + } + } else { + signatureDocumentationBuilder_.mergeFrom(value); + } + if (signatureDocumentation_ != null) { + bitField0_ |= 0x00000020; + onChanged(); + } + return this; + } + /** + *
+     * (optional) The signature of this symbol as it's displayed in API
+     * documentation or in hover tooltips. For example, a Java method that adds
+     * two numbers would have `Signature.language = "java"` and
+     * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
+     * fields are required while `occurrences` can be optionally included to
+     * support hyperlinking referenced symbols in the signature.
+     * 
+ * + * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; + */ + public Builder clearSignatureDocumentation() { + bitField0_ = (bitField0_ & ~0x00000020); + signatureDocumentation_ = null; + if (signatureDocumentationBuilder_ != null) { + signatureDocumentationBuilder_.dispose(); + signatureDocumentationBuilder_ = null; + } + onChanged(); + return this; + } + /** + *
+     * (optional) The signature of this symbol as it's displayed in API
+     * documentation or in hover tooltips. For example, a Java method that adds
+     * two numbers would have `Signature.language = "java"` and
+     * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
+     * fields are required while `occurrences` can be optionally included to
+     * support hyperlinking referenced symbols in the signature.
+     * 
+ * + * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; + */ + public org.scip_code.scip.Signature.Builder getSignatureDocumentationBuilder() { + bitField0_ |= 0x00000020; + onChanged(); + return internalGetSignatureDocumentationFieldBuilder().getBuilder(); + } + /** + *
+     * (optional) The signature of this symbol as it's displayed in API
+     * documentation or in hover tooltips. For example, a Java method that adds
+     * two numbers would have `Signature.language = "java"` and
+     * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
+     * fields are required while `occurrences` can be optionally included to
+     * support hyperlinking referenced symbols in the signature.
+     * 
+ * + * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; + */ + public org.scip_code.scip.SignatureOrBuilder getSignatureDocumentationOrBuilder() { + if (signatureDocumentationBuilder_ != null) { + return signatureDocumentationBuilder_.getMessageOrBuilder(); + } else { + return signatureDocumentation_ == null ? + org.scip_code.scip.Signature.getDefaultInstance() : signatureDocumentation_; + } + } + /** + *
+     * (optional) The signature of this symbol as it's displayed in API
+     * documentation or in hover tooltips. For example, a Java method that adds
+     * two numbers would have `Signature.language = "java"` and
+     * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
+     * fields are required while `occurrences` can be optionally included to
+     * support hyperlinking referenced symbols in the signature.
+     * 
+ * + * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; + */ + private com.google.protobuf.SingleFieldBuilder< + org.scip_code.scip.Signature, org.scip_code.scip.Signature.Builder, org.scip_code.scip.SignatureOrBuilder> + internalGetSignatureDocumentationFieldBuilder() { + if (signatureDocumentationBuilder_ == null) { + signatureDocumentationBuilder_ = new com.google.protobuf.SingleFieldBuilder< + org.scip_code.scip.Signature, org.scip_code.scip.Signature.Builder, org.scip_code.scip.SignatureOrBuilder>( + getSignatureDocumentation(), + getParentForChildren(), + isClean()); + signatureDocumentation_ = null; + } + return signatureDocumentationBuilder_; + } + + private java.lang.Object enclosingSymbol_ = ""; + /** + *
+     * (optional) The enclosing symbol if this is a local symbol.  For non-local
+     * symbols, the enclosing symbol should be parsed from the `symbol` field
+     * using the `Descriptor` grammar.
+     *
+     * The primary use-case for this field is to allow local symbol to be displayed
+     * in a symbol hierarchy for API documentation. It's OK to leave this field
+     * empty for local variables since local variables usually don't belong in API
+     * documentation. However, in the situation that you wish to include a local
+     * symbol in the hierarchy, then you can use `enclosing_symbol` to locate the
+     * "parent" or "owner" of this local symbol. For example, a Java indexer may
+     * choose to use local symbols for private class fields while providing an
+     * `enclosing_symbol` to reference the enclosing class to allow the field to
+     * be part of the class documentation hierarchy. From the perspective of an
+     * author of an indexer, the decision to use a local symbol or global symbol
+     * should exclusively be determined whether the local symbol is accessible
+     * outside the document, not by the capability to find the enclosing
+     * symbol.
+     * 
+ * + * string enclosing_symbol = 8 [json_name = "enclosingSymbol"]; + * @return The enclosingSymbol. + */ + public java.lang.String getEnclosingSymbol() { + java.lang.Object ref = enclosingSymbol_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + enclosingSymbol_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + *
+     * (optional) The enclosing symbol if this is a local symbol.  For non-local
+     * symbols, the enclosing symbol should be parsed from the `symbol` field
+     * using the `Descriptor` grammar.
+     *
+     * The primary use-case for this field is to allow local symbol to be displayed
+     * in a symbol hierarchy for API documentation. It's OK to leave this field
+     * empty for local variables since local variables usually don't belong in API
+     * documentation. However, in the situation that you wish to include a local
+     * symbol in the hierarchy, then you can use `enclosing_symbol` to locate the
+     * "parent" or "owner" of this local symbol. For example, a Java indexer may
+     * choose to use local symbols for private class fields while providing an
+     * `enclosing_symbol` to reference the enclosing class to allow the field to
+     * be part of the class documentation hierarchy. From the perspective of an
+     * author of an indexer, the decision to use a local symbol or global symbol
+     * should exclusively be determined whether the local symbol is accessible
+     * outside the document, not by the capability to find the enclosing
+     * symbol.
+     * 
+ * + * string enclosing_symbol = 8 [json_name = "enclosingSymbol"]; + * @return The bytes for enclosingSymbol. + */ + public com.google.protobuf.ByteString + getEnclosingSymbolBytes() { + java.lang.Object ref = enclosingSymbol_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + enclosingSymbol_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + *
+     * (optional) The enclosing symbol if this is a local symbol.  For non-local
+     * symbols, the enclosing symbol should be parsed from the `symbol` field
+     * using the `Descriptor` grammar.
+     *
+     * The primary use-case for this field is to allow local symbol to be displayed
+     * in a symbol hierarchy for API documentation. It's OK to leave this field
+     * empty for local variables since local variables usually don't belong in API
+     * documentation. However, in the situation that you wish to include a local
+     * symbol in the hierarchy, then you can use `enclosing_symbol` to locate the
+     * "parent" or "owner" of this local symbol. For example, a Java indexer may
+     * choose to use local symbols for private class fields while providing an
+     * `enclosing_symbol` to reference the enclosing class to allow the field to
+     * be part of the class documentation hierarchy. From the perspective of an
+     * author of an indexer, the decision to use a local symbol or global symbol
+     * should exclusively be determined whether the local symbol is accessible
+     * outside the document, not by the capability to find the enclosing
+     * symbol.
+     * 
+ * + * string enclosing_symbol = 8 [json_name = "enclosingSymbol"]; + * @param value The enclosingSymbol to set. + * @return This builder for chaining. + */ + public Builder setEnclosingSymbol( + java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + enclosingSymbol_ = value; + bitField0_ |= 0x00000040; + onChanged(); + return this; + } + /** + *
+     * (optional) The enclosing symbol if this is a local symbol.  For non-local
+     * symbols, the enclosing symbol should be parsed from the `symbol` field
+     * using the `Descriptor` grammar.
+     *
+     * The primary use-case for this field is to allow local symbol to be displayed
+     * in a symbol hierarchy for API documentation. It's OK to leave this field
+     * empty for local variables since local variables usually don't belong in API
+     * documentation. However, in the situation that you wish to include a local
+     * symbol in the hierarchy, then you can use `enclosing_symbol` to locate the
+     * "parent" or "owner" of this local symbol. For example, a Java indexer may
+     * choose to use local symbols for private class fields while providing an
+     * `enclosing_symbol` to reference the enclosing class to allow the field to
+     * be part of the class documentation hierarchy. From the perspective of an
+     * author of an indexer, the decision to use a local symbol or global symbol
+     * should exclusively be determined whether the local symbol is accessible
+     * outside the document, not by the capability to find the enclosing
+     * symbol.
+     * 
+ * + * string enclosing_symbol = 8 [json_name = "enclosingSymbol"]; + * @return This builder for chaining. + */ + public Builder clearEnclosingSymbol() { + enclosingSymbol_ = getDefaultInstance().getEnclosingSymbol(); + bitField0_ = (bitField0_ & ~0x00000040); + onChanged(); + return this; + } + /** + *
+     * (optional) The enclosing symbol if this is a local symbol.  For non-local
+     * symbols, the enclosing symbol should be parsed from the `symbol` field
+     * using the `Descriptor` grammar.
+     *
+     * The primary use-case for this field is to allow local symbol to be displayed
+     * in a symbol hierarchy for API documentation. It's OK to leave this field
+     * empty for local variables since local variables usually don't belong in API
+     * documentation. However, in the situation that you wish to include a local
+     * symbol in the hierarchy, then you can use `enclosing_symbol` to locate the
+     * "parent" or "owner" of this local symbol. For example, a Java indexer may
+     * choose to use local symbols for private class fields while providing an
+     * `enclosing_symbol` to reference the enclosing class to allow the field to
+     * be part of the class documentation hierarchy. From the perspective of an
+     * author of an indexer, the decision to use a local symbol or global symbol
+     * should exclusively be determined whether the local symbol is accessible
+     * outside the document, not by the capability to find the enclosing
+     * symbol.
+     * 
+ * + * string enclosing_symbol = 8 [json_name = "enclosingSymbol"]; + * @param value The bytes for enclosingSymbol to set. + * @return This builder for chaining. + */ + public Builder setEnclosingSymbolBytes( + com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + checkByteStringIsUtf8(value); + enclosingSymbol_ = value; + bitField0_ |= 0x00000040; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:scip.SymbolInformation) + } + + // @@protoc_insertion_point(class_scope:scip.SymbolInformation) + private static final org.scip_code.scip.SymbolInformation DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new org.scip_code.scip.SymbolInformation(); + } + + public static org.scip_code.scip.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 { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public org.scip_code.scip.SymbolInformation getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + +} + diff --git a/bindings/java/src/main/java/org/scip_code/scip/SymbolInformationOrBuilder.java b/bindings/java/src/main/java/org/scip_code/scip/SymbolInformationOrBuilder.java new file mode 100644 index 00000000..ba919cc1 --- /dev/null +++ b/bindings/java/src/main/java/org/scip_code/scip/SymbolInformationOrBuilder.java @@ -0,0 +1,292 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: scip.proto +// Protobuf Java Version: 4.32.1 + +package org.scip_code.scip; + +@com.google.protobuf.Generated +public interface SymbolInformationOrBuilder extends + // @@protoc_insertion_point(interface_extends:scip.SymbolInformation) + com.google.protobuf.MessageOrBuilder { + + /** + *
+   * Identifier of this symbol, which can be referenced from `Occurence.symbol`.
+   * The string must be formatted according to the grammar in `Symbol`.
+   * 
+ * + * string symbol = 1 [json_name = "symbol"]; + * @return The symbol. + */ + java.lang.String getSymbol(); + /** + *
+   * Identifier of this symbol, which can be referenced from `Occurence.symbol`.
+   * The string must be formatted according to the grammar in `Symbol`.
+   * 
+ * + * string symbol = 1 [json_name = "symbol"]; + * @return The bytes for symbol. + */ + com.google.protobuf.ByteString + getSymbolBytes(); + + /** + *
+   * (optional, but strongly recommended) The markdown-formatted documentation
+   * for this symbol. Use `SymbolInformation.signature_documentation` to
+   * document the method/class/type signature of this symbol.
+   * Due to historical reasons, indexers may include signature documentation in
+   * this field by rendering markdown code blocks. New indexers should only
+   * include non-code documentation in this field, for example docstrings.
+   * 
+ * + * repeated string documentation = 3 [json_name = "documentation"]; + * @return A list containing the documentation. + */ + java.util.List + getDocumentationList(); + /** + *
+   * (optional, but strongly recommended) The markdown-formatted documentation
+   * for this symbol. Use `SymbolInformation.signature_documentation` to
+   * document the method/class/type signature of this symbol.
+   * Due to historical reasons, indexers may include signature documentation in
+   * this field by rendering markdown code blocks. New indexers should only
+   * include non-code documentation in this field, for example docstrings.
+   * 
+ * + * repeated string documentation = 3 [json_name = "documentation"]; + * @return The count of documentation. + */ + int getDocumentationCount(); + /** + *
+   * (optional, but strongly recommended) The markdown-formatted documentation
+   * for this symbol. Use `SymbolInformation.signature_documentation` to
+   * document the method/class/type signature of this symbol.
+   * Due to historical reasons, indexers may include signature documentation in
+   * this field by rendering markdown code blocks. New indexers should only
+   * include non-code documentation in this field, for example docstrings.
+   * 
+ * + * repeated string documentation = 3 [json_name = "documentation"]; + * @param index The index of the element to return. + * @return The documentation at the given index. + */ + java.lang.String getDocumentation(int index); + /** + *
+   * (optional, but strongly recommended) The markdown-formatted documentation
+   * for this symbol. Use `SymbolInformation.signature_documentation` to
+   * document the method/class/type signature of this symbol.
+   * Due to historical reasons, indexers may include signature documentation in
+   * this field by rendering markdown code blocks. New indexers should only
+   * include non-code documentation in this field, for example docstrings.
+   * 
+ * + * repeated string documentation = 3 [json_name = "documentation"]; + * @param index The index of the value to return. + * @return The bytes of the documentation at the given index. + */ + com.google.protobuf.ByteString + getDocumentationBytes(int index); + + /** + *
+   * (optional) Relationships to other symbols (e.g., implements, type definition).
+   * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + java.util.List + getRelationshipsList(); + /** + *
+   * (optional) Relationships to other symbols (e.g., implements, type definition).
+   * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + org.scip_code.scip.Relationship getRelationships(int index); + /** + *
+   * (optional) Relationships to other symbols (e.g., implements, type definition).
+   * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + int getRelationshipsCount(); + /** + *
+   * (optional) Relationships to other symbols (e.g., implements, type definition).
+   * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + java.util.List + getRelationshipsOrBuilderList(); + /** + *
+   * (optional) Relationships to other symbols (e.g., implements, type definition).
+   * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + org.scip_code.scip.RelationshipOrBuilder getRelationshipsOrBuilder( + int index); + + /** + *
+   * The kind of this symbol. Use this field instead of
+   * `SymbolDescriptor.Suffix` to determine whether something is, for example, a
+   * class or a method.
+   * 
+ * + * .scip.SymbolInformation.Kind kind = 5 [json_name = "kind"]; + * @return The enum numeric value on the wire for kind. + */ + int getKindValue(); + /** + *
+   * The kind of this symbol. Use this field instead of
+   * `SymbolDescriptor.Suffix` to determine whether something is, for example, a
+   * class or a method.
+   * 
+ * + * .scip.SymbolInformation.Kind kind = 5 [json_name = "kind"]; + * @return The kind. + */ + org.scip_code.scip.SymbolInformation.Kind getKind(); + + /** + *
+   * (optional) The name of this symbol as it should be displayed to the user.
+   * For example, the symbol "com/example/MyClass#myMethod(+1)." should have the
+   * display name "myMethod". The `symbol` field is not a reliable source of
+   * the display name for several reasons:
+   *
+   * - Local symbols don't encode the name.
+   * - Some languages have case-insensitive names, so the symbol is all-lowercase.
+   * - The symbol may encode names with special characters that should not be
+   * displayed to the user.
+   * 
+ * + * string display_name = 6 [json_name = "displayName"]; + * @return The displayName. + */ + java.lang.String getDisplayName(); + /** + *
+   * (optional) The name of this symbol as it should be displayed to the user.
+   * For example, the symbol "com/example/MyClass#myMethod(+1)." should have the
+   * display name "myMethod". The `symbol` field is not a reliable source of
+   * the display name for several reasons:
+   *
+   * - Local symbols don't encode the name.
+   * - Some languages have case-insensitive names, so the symbol is all-lowercase.
+   * - The symbol may encode names with special characters that should not be
+   * displayed to the user.
+   * 
+ * + * string display_name = 6 [json_name = "displayName"]; + * @return The bytes for displayName. + */ + com.google.protobuf.ByteString + getDisplayNameBytes(); + + /** + *
+   * (optional) The signature of this symbol as it's displayed in API
+   * documentation or in hover tooltips. For example, a Java method that adds
+   * two numbers would have `Signature.language = "java"` and
+   * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
+   * fields are required while `occurrences` can be optionally included to
+   * support hyperlinking referenced symbols in the signature.
+   * 
+ * + * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; + * @return Whether the signatureDocumentation field is set. + */ + boolean hasSignatureDocumentation(); + /** + *
+   * (optional) The signature of this symbol as it's displayed in API
+   * documentation or in hover tooltips. For example, a Java method that adds
+   * two numbers would have `Signature.language = "java"` and
+   * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
+   * fields are required while `occurrences` can be optionally included to
+   * support hyperlinking referenced symbols in the signature.
+   * 
+ * + * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; + * @return The signatureDocumentation. + */ + org.scip_code.scip.Signature getSignatureDocumentation(); + /** + *
+   * (optional) The signature of this symbol as it's displayed in API
+   * documentation or in hover tooltips. For example, a Java method that adds
+   * two numbers would have `Signature.language = "java"` and
+   * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
+   * fields are required while `occurrences` can be optionally included to
+   * support hyperlinking referenced symbols in the signature.
+   * 
+ * + * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; + */ + org.scip_code.scip.SignatureOrBuilder getSignatureDocumentationOrBuilder(); + + /** + *
+   * (optional) The enclosing symbol if this is a local symbol.  For non-local
+   * symbols, the enclosing symbol should be parsed from the `symbol` field
+   * using the `Descriptor` grammar.
+   *
+   * The primary use-case for this field is to allow local symbol to be displayed
+   * in a symbol hierarchy for API documentation. It's OK to leave this field
+   * empty for local variables since local variables usually don't belong in API
+   * documentation. However, in the situation that you wish to include a local
+   * symbol in the hierarchy, then you can use `enclosing_symbol` to locate the
+   * "parent" or "owner" of this local symbol. For example, a Java indexer may
+   * choose to use local symbols for private class fields while providing an
+   * `enclosing_symbol` to reference the enclosing class to allow the field to
+   * be part of the class documentation hierarchy. From the perspective of an
+   * author of an indexer, the decision to use a local symbol or global symbol
+   * should exclusively be determined whether the local symbol is accessible
+   * outside the document, not by the capability to find the enclosing
+   * symbol.
+   * 
+ * + * string enclosing_symbol = 8 [json_name = "enclosingSymbol"]; + * @return The enclosingSymbol. + */ + java.lang.String getEnclosingSymbol(); + /** + *
+   * (optional) The enclosing symbol if this is a local symbol.  For non-local
+   * symbols, the enclosing symbol should be parsed from the `symbol` field
+   * using the `Descriptor` grammar.
+   *
+   * The primary use-case for this field is to allow local symbol to be displayed
+   * in a symbol hierarchy for API documentation. It's OK to leave this field
+   * empty for local variables since local variables usually don't belong in API
+   * documentation. However, in the situation that you wish to include a local
+   * symbol in the hierarchy, then you can use `enclosing_symbol` to locate the
+   * "parent" or "owner" of this local symbol. For example, a Java indexer may
+   * choose to use local symbols for private class fields while providing an
+   * `enclosing_symbol` to reference the enclosing class to allow the field to
+   * be part of the class documentation hierarchy. From the perspective of an
+   * author of an indexer, the decision to use a local symbol or global symbol
+   * should exclusively be determined whether the local symbol is accessible
+   * outside the document, not by the capability to find the enclosing
+   * symbol.
+   * 
+ * + * string enclosing_symbol = 8 [json_name = "enclosingSymbol"]; + * @return The bytes for enclosingSymbol. + */ + com.google.protobuf.ByteString + getEnclosingSymbolBytes(); +} diff --git a/bindings/java/src/main/java/org/scip_code/scip/SymbolOrBuilder.java b/bindings/java/src/main/java/org/scip_code/scip/SymbolOrBuilder.java new file mode 100644 index 00000000..3136b042 --- /dev/null +++ b/bindings/java/src/main/java/org/scip_code/scip/SymbolOrBuilder.java @@ -0,0 +1,63 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: scip.proto +// Protobuf Java Version: 4.32.1 + +package org.scip_code.scip; + +@com.google.protobuf.Generated +public interface SymbolOrBuilder extends + // @@protoc_insertion_point(interface_extends:scip.Symbol) + com.google.protobuf.MessageOrBuilder { + + /** + * string scheme = 1 [json_name = "scheme"]; + * @return The scheme. + */ + java.lang.String getScheme(); + /** + * string scheme = 1 [json_name = "scheme"]; + * @return The bytes for scheme. + */ + com.google.protobuf.ByteString + getSchemeBytes(); + + /** + * .scip.Package package = 2 [json_name = "package"]; + * @return Whether the package field is set. + */ + boolean hasPackage(); + /** + * .scip.Package package = 2 [json_name = "package"]; + * @return The package. + */ + org.scip_code.scip.Package getPackage(); + /** + * .scip.Package package = 2 [json_name = "package"]; + */ + org.scip_code.scip.PackageOrBuilder getPackageOrBuilder(); + + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + java.util.List + getDescriptorsList(); + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + org.scip_code.scip.Descriptor getDescriptors(int index); + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + int getDescriptorsCount(); + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + java.util.List + getDescriptorsOrBuilderList(); + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + org.scip_code.scip.DescriptorOrBuilder getDescriptorsOrBuilder( + int index); +} diff --git a/bindings/java/src/main/java/org/scip_code/scip/SymbolRole.java b/bindings/java/src/main/java/org/scip_code/scip/SymbolRole.java new file mode 100644 index 00000000..c840aafd --- /dev/null +++ b/bindings/java/src/main/java/org/scip_code/scip/SymbolRole.java @@ -0,0 +1,261 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: scip.proto +// Protobuf Java Version: 4.32.1 + +package org.scip_code.scip; + +/** + *
+ * SymbolRole declares what "role" a symbol has in an occurrence. A role is
+ * encoded as a bitset where each bit represents a different role. For example,
+ * to determine if the `Import` role is set, test whether the second bit of the
+ * enum value is defined. In pseudocode, this can be implemented with the
+ * logic: `const isImportRole = (role.value & SymbolRole.Import.value) > 0`.
+ * 
+ * + * Protobuf enum {@code scip.SymbolRole} + */ +@com.google.protobuf.Generated +public enum SymbolRole + implements com.google.protobuf.ProtocolMessageEnum { + /** + *
+   * This case is not meant to be used; it only exists to avoid an error
+   * from the Protobuf code generator.
+   * 
+ * + * UnspecifiedSymbolRole = 0; + */ + UnspecifiedSymbolRole(0), + /** + *
+   * Is the symbol defined here? If not, then this is a symbol reference.
+   * 
+ * + * Definition = 1; + */ + Definition(1), + /** + *
+   * Is the symbol imported here?
+   * 
+ * + * Import = 2; + */ + Import(2), + /** + *
+   * Is the symbol written here?
+   * 
+ * + * WriteAccess = 4; + */ + WriteAccess(4), + /** + *
+   * Is the symbol read here?
+   * 
+ * + * ReadAccess = 8; + */ + ReadAccess(8), + /** + *
+   * Is the symbol in generated code?
+   * 
+ * + * Generated = 16; + */ + Generated(16), + /** + *
+   * Is the symbol in test code?
+   * 
+ * + * Test = 32; + */ + Test(32), + /** + *
+   * Is this a signature for a symbol that is defined elsewhere?
+   *
+   * Applies to forward declarations for languages like C, C++
+   * and Objective-C, as well as `val` declarations in interface
+   * files in languages like SML and OCaml.
+   * 
+ * + * ForwardDefinition = 64; + */ + ForwardDefinition(64), + UNRECOGNIZED(-1), + ; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 32, + /* patch= */ 1, + /* suffix= */ "", + SymbolRole.class.getName()); + } + /** + *
+   * This case is not meant to be used; it only exists to avoid an error
+   * from the Protobuf code generator.
+   * 
+ * + * UnspecifiedSymbolRole = 0; + */ + public static final int UnspecifiedSymbolRole_VALUE = 0; + /** + *
+   * Is the symbol defined here? If not, then this is a symbol reference.
+   * 
+ * + * Definition = 1; + */ + public static final int Definition_VALUE = 1; + /** + *
+   * Is the symbol imported here?
+   * 
+ * + * Import = 2; + */ + public static final int Import_VALUE = 2; + /** + *
+   * Is the symbol written here?
+   * 
+ * + * WriteAccess = 4; + */ + public static final int WriteAccess_VALUE = 4; + /** + *
+   * Is the symbol read here?
+   * 
+ * + * ReadAccess = 8; + */ + public static final int ReadAccess_VALUE = 8; + /** + *
+   * Is the symbol in generated code?
+   * 
+ * + * Generated = 16; + */ + public static final int Generated_VALUE = 16; + /** + *
+   * Is the symbol in test code?
+   * 
+ * + * Test = 32; + */ + public static final int Test_VALUE = 32; + /** + *
+   * Is this a signature for a symbol that is defined elsewhere?
+   *
+   * Applies to forward declarations for languages like C, C++
+   * and Objective-C, as well as `val` declarations in interface
+   * files in languages like SML and OCaml.
+   * 
+ * + * ForwardDefinition = 64; + */ + public static final int ForwardDefinition_VALUE = 64; + + + 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 SymbolRole 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 SymbolRole forNumber(int value) { + switch (value) { + case 0: return UnspecifiedSymbolRole; + case 1: return Definition; + case 2: return Import; + case 4: return WriteAccess; + case 8: return ReadAccess; + case 16: return Generated; + case 32: return Test; + case 64: return ForwardDefinition; + default: return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap + internalGetValueMap() { + return internalValueMap; + } + private static final com.google.protobuf.Internal.EnumLiteMap< + SymbolRole> internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap() { + public SymbolRole findValueByNumber(int number) { + return SymbolRole.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 com.google.protobuf.Descriptors.EnumDescriptor + getDescriptor() { + return org.scip_code.scip.ScipProto.getDescriptor().getEnumTypes().get(3); + } + + private static final SymbolRole[] VALUES = values(); + + public static SymbolRole 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 SymbolRole(int value) { + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:scip.SymbolRole) +} + diff --git a/bindings/java/src/main/java/org/scip_code/scip/SyntaxKind.java b/bindings/java/src/main/java/org/scip_code/scip/SyntaxKind.java new file mode 100644 index 00000000..2fe54309 --- /dev/null +++ b/bindings/java/src/main/java/org/scip_code/scip/SyntaxKind.java @@ -0,0 +1,756 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: scip.proto +// Protobuf Java Version: 4.32.1 + +package org.scip_code.scip; + +/** + * Protobuf enum {@code scip.SyntaxKind} + */ +@com.google.protobuf.Generated +public enum SyntaxKind + implements com.google.protobuf.ProtocolMessageEnum { + /** + * UnspecifiedSyntaxKind = 0; + */ + UnspecifiedSyntaxKind(0, 0), + /** + *
+   * Comment, including comment markers and text
+   * 
+ * + * Comment = 1; + */ + Comment(1, 1), + /** + *
+   * `;` `.` `,`
+   * 
+ * + * PunctuationDelimiter = 2; + */ + PunctuationDelimiter(2, 2), + /** + *
+   * (), {}, [] when used syntactically
+   * 
+ * + * PunctuationBracket = 3; + */ + PunctuationBracket(3, 3), + /** + *
+   * `if`, `else`, `return`, `class`, etc.
+   * 
+ * + * Keyword = 4; + */ + Keyword(4, 4), + /** + *
+   * `+`, `*`, etc.
+   * 
+ * + * IdentifierOperator = 5; + */ + IdentifierOperator(6, 5), + /** + *
+   * non-specific catch-all for any identifier not better described elsewhere
+   * 
+ * + * Identifier = 6; + */ + Identifier(7, 6), + /** + *
+   * Identifiers builtin to the language: `min`, `print` in Python.
+   * 
+ * + * IdentifierBuiltin = 7; + */ + IdentifierBuiltin(8, 7), + /** + *
+   * Identifiers representing `null`-like values: `None` in Python, `nil` in Go.
+   * 
+ * + * IdentifierNull = 8; + */ + IdentifierNull(9, 8), + /** + *
+   * `xyz` in `const xyz = "hello"`
+   * 
+ * + * IdentifierConstant = 9; + */ + IdentifierConstant(10, 9), + /** + *
+   * `var X = "hello"` in Go
+   * 
+ * + * IdentifierMutableGlobal = 10; + */ + IdentifierMutableGlobal(11, 10), + /** + *
+   * Parameter definition and references
+   * 
+ * + * IdentifierParameter = 11; + */ + IdentifierParameter(12, 11), + /** + *
+   * Identifiers for variable definitions and references within a local scope
+   * 
+ * + * IdentifierLocal = 12; + */ + IdentifierLocal(13, 12), + /** + *
+   * Identifiers that shadow other identifiers in an outer scope
+   * 
+ * + * IdentifierShadowed = 13; + */ + IdentifierShadowed(14, 13), + /** + *
+   * Identifier representing a unit of code abstraction and/or namespacing.
+   *
+   * NOTE: This corresponds to a package in Go and JVM languages,
+   * and a module in languages like Python and JavaScript.
+   * 
+ * + * IdentifierNamespace = 14; + */ + IdentifierNamespace(15, 14), + /** + *
+   * Function references, including calls
+   * 
+ * + * IdentifierFunction = 15; + */ + IdentifierFunction(17, 15), + /** + *
+   * Function definition only
+   * 
+ * + * IdentifierFunctionDefinition = 16; + */ + IdentifierFunctionDefinition(18, 16), + /** + *
+   * Macro references, including invocations
+   * 
+ * + * IdentifierMacro = 17; + */ + IdentifierMacro(19, 17), + /** + *
+   * Macro definition only
+   * 
+ * + * IdentifierMacroDefinition = 18; + */ + IdentifierMacroDefinition(20, 18), + /** + *
+   * non-builtin types
+   * 
+ * + * IdentifierType = 19; + */ + IdentifierType(21, 19), + /** + *
+   * builtin types only, such as `str` for Python or `int` in Go
+   * 
+ * + * IdentifierBuiltinType = 20; + */ + IdentifierBuiltinType(22, 20), + /** + *
+   * Python decorators, c-like __attribute__
+   * 
+ * + * IdentifierAttribute = 21; + */ + IdentifierAttribute(23, 21), + /** + *
+   * `\b`
+   * 
+ * + * RegexEscape = 22; + */ + RegexEscape(24, 22), + /** + *
+   * `*`, `+`
+   * 
+ * + * RegexRepeated = 23; + */ + RegexRepeated(25, 23), + /** + *
+   * `.`
+   * 
+ * + * RegexWildcard = 24; + */ + RegexWildcard(26, 24), + /** + *
+   * `(`, `)`, `[`, `]`
+   * 
+ * + * RegexDelimiter = 25; + */ + RegexDelimiter(27, 25), + /** + *
+   * `|`, `-`
+   * 
+ * + * RegexJoin = 26; + */ + RegexJoin(28, 26), + /** + *
+   * Literal strings: "Hello, world!"
+   * 
+ * + * StringLiteral = 27; + */ + StringLiteral(29, 27), + /** + *
+   * non-regex escapes: "\t", "\n"
+   * 
+ * + * StringLiteralEscape = 28; + */ + StringLiteralEscape(30, 28), + /** + *
+   * datetimes within strings, special words within a string, `{}` in format strings
+   * 
+ * + * StringLiteralSpecial = 29; + */ + StringLiteralSpecial(31, 29), + /** + *
+   * "key" in { "key": "value" }, useful for example in JSON
+   * 
+ * + * StringLiteralKey = 30; + */ + StringLiteralKey(32, 30), + /** + *
+   * 'c' or similar, in languages that differentiate strings and characters
+   * 
+ * + * CharacterLiteral = 31; + */ + CharacterLiteral(33, 31), + /** + *
+   * Literal numbers, both floats and integers
+   * 
+ * + * NumericLiteral = 32; + */ + NumericLiteral(34, 32), + /** + *
+   * `true`, `false`
+   * 
+ * + * BooleanLiteral = 33; + */ + BooleanLiteral(35, 33), + /** + *
+   * Used for XML-like tags
+   * 
+ * + * Tag = 34; + */ + Tag(36, 34), + /** + *
+   * Attribute name in XML-like tags
+   * 
+ * + * TagAttribute = 35; + */ + TagAttribute(37, 35), + /** + *
+   * Delimiters for XML-like tags
+   * 
+ * + * TagDelimiter = 36; + */ + TagDelimiter(38, 36), + UNRECOGNIZED(-1, -1), + ; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 32, + /* patch= */ 1, + /* suffix= */ "", + SyntaxKind.class.getName()); + } + /** + * IdentifierKeyword = 4 [deprecated = true]; + */ + public static final SyntaxKind IdentifierKeyword = Keyword; + /** + * IdentifierModule = 14 [deprecated = true]; + */ + public static final SyntaxKind IdentifierModule = IdentifierNamespace; + /** + * UnspecifiedSyntaxKind = 0; + */ + public static final int UnspecifiedSyntaxKind_VALUE = 0; + /** + *
+   * Comment, including comment markers and text
+   * 
+ * + * Comment = 1; + */ + public static final int Comment_VALUE = 1; + /** + *
+   * `;` `.` `,`
+   * 
+ * + * PunctuationDelimiter = 2; + */ + public static final int PunctuationDelimiter_VALUE = 2; + /** + *
+   * (), {}, [] when used syntactically
+   * 
+ * + * PunctuationBracket = 3; + */ + public static final int PunctuationBracket_VALUE = 3; + /** + *
+   * `if`, `else`, `return`, `class`, etc.
+   * 
+ * + * Keyword = 4; + */ + public static final int Keyword_VALUE = 4; + /** + * IdentifierKeyword = 4 [deprecated = true]; + */ + @java.lang.Deprecated public static final int IdentifierKeyword_VALUE = 4; + /** + *
+   * `+`, `*`, etc.
+   * 
+ * + * IdentifierOperator = 5; + */ + public static final int IdentifierOperator_VALUE = 5; + /** + *
+   * non-specific catch-all for any identifier not better described elsewhere
+   * 
+ * + * Identifier = 6; + */ + public static final int Identifier_VALUE = 6; + /** + *
+   * Identifiers builtin to the language: `min`, `print` in Python.
+   * 
+ * + * IdentifierBuiltin = 7; + */ + public static final int IdentifierBuiltin_VALUE = 7; + /** + *
+   * Identifiers representing `null`-like values: `None` in Python, `nil` in Go.
+   * 
+ * + * IdentifierNull = 8; + */ + public static final int IdentifierNull_VALUE = 8; + /** + *
+   * `xyz` in `const xyz = "hello"`
+   * 
+ * + * IdentifierConstant = 9; + */ + public static final int IdentifierConstant_VALUE = 9; + /** + *
+   * `var X = "hello"` in Go
+   * 
+ * + * IdentifierMutableGlobal = 10; + */ + public static final int IdentifierMutableGlobal_VALUE = 10; + /** + *
+   * Parameter definition and references
+   * 
+ * + * IdentifierParameter = 11; + */ + public static final int IdentifierParameter_VALUE = 11; + /** + *
+   * Identifiers for variable definitions and references within a local scope
+   * 
+ * + * IdentifierLocal = 12; + */ + public static final int IdentifierLocal_VALUE = 12; + /** + *
+   * Identifiers that shadow other identifiers in an outer scope
+   * 
+ * + * IdentifierShadowed = 13; + */ + public static final int IdentifierShadowed_VALUE = 13; + /** + *
+   * Identifier representing a unit of code abstraction and/or namespacing.
+   *
+   * NOTE: This corresponds to a package in Go and JVM languages,
+   * and a module in languages like Python and JavaScript.
+   * 
+ * + * IdentifierNamespace = 14; + */ + public static final int IdentifierNamespace_VALUE = 14; + /** + * IdentifierModule = 14 [deprecated = true]; + */ + @java.lang.Deprecated public static final int IdentifierModule_VALUE = 14; + /** + *
+   * Function references, including calls
+   * 
+ * + * IdentifierFunction = 15; + */ + public static final int IdentifierFunction_VALUE = 15; + /** + *
+   * Function definition only
+   * 
+ * + * IdentifierFunctionDefinition = 16; + */ + public static final int IdentifierFunctionDefinition_VALUE = 16; + /** + *
+   * Macro references, including invocations
+   * 
+ * + * IdentifierMacro = 17; + */ + public static final int IdentifierMacro_VALUE = 17; + /** + *
+   * Macro definition only
+   * 
+ * + * IdentifierMacroDefinition = 18; + */ + public static final int IdentifierMacroDefinition_VALUE = 18; + /** + *
+   * non-builtin types
+   * 
+ * + * IdentifierType = 19; + */ + public static final int IdentifierType_VALUE = 19; + /** + *
+   * builtin types only, such as `str` for Python or `int` in Go
+   * 
+ * + * IdentifierBuiltinType = 20; + */ + public static final int IdentifierBuiltinType_VALUE = 20; + /** + *
+   * Python decorators, c-like __attribute__
+   * 
+ * + * IdentifierAttribute = 21; + */ + public static final int IdentifierAttribute_VALUE = 21; + /** + *
+   * `\b`
+   * 
+ * + * RegexEscape = 22; + */ + public static final int RegexEscape_VALUE = 22; + /** + *
+   * `*`, `+`
+   * 
+ * + * RegexRepeated = 23; + */ + public static final int RegexRepeated_VALUE = 23; + /** + *
+   * `.`
+   * 
+ * + * RegexWildcard = 24; + */ + public static final int RegexWildcard_VALUE = 24; + /** + *
+   * `(`, `)`, `[`, `]`
+   * 
+ * + * RegexDelimiter = 25; + */ + public static final int RegexDelimiter_VALUE = 25; + /** + *
+   * `|`, `-`
+   * 
+ * + * RegexJoin = 26; + */ + public static final int RegexJoin_VALUE = 26; + /** + *
+   * Literal strings: "Hello, world!"
+   * 
+ * + * StringLiteral = 27; + */ + public static final int StringLiteral_VALUE = 27; + /** + *
+   * non-regex escapes: "\t", "\n"
+   * 
+ * + * StringLiteralEscape = 28; + */ + public static final int StringLiteralEscape_VALUE = 28; + /** + *
+   * datetimes within strings, special words within a string, `{}` in format strings
+   * 
+ * + * StringLiteralSpecial = 29; + */ + public static final int StringLiteralSpecial_VALUE = 29; + /** + *
+   * "key" in { "key": "value" }, useful for example in JSON
+   * 
+ * + * StringLiteralKey = 30; + */ + public static final int StringLiteralKey_VALUE = 30; + /** + *
+   * 'c' or similar, in languages that differentiate strings and characters
+   * 
+ * + * CharacterLiteral = 31; + */ + public static final int CharacterLiteral_VALUE = 31; + /** + *
+   * Literal numbers, both floats and integers
+   * 
+ * + * NumericLiteral = 32; + */ + public static final int NumericLiteral_VALUE = 32; + /** + *
+   * `true`, `false`
+   * 
+ * + * BooleanLiteral = 33; + */ + public static final int BooleanLiteral_VALUE = 33; + /** + *
+   * Used for XML-like tags
+   * 
+ * + * Tag = 34; + */ + public static final int Tag_VALUE = 34; + /** + *
+   * Attribute name in XML-like tags
+   * 
+ * + * TagAttribute = 35; + */ + public static final int TagAttribute_VALUE = 35; + /** + *
+   * Delimiters for XML-like tags
+   * 
+ * + * TagDelimiter = 36; + */ + public static final int TagDelimiter_VALUE = 36; + + + public final int getNumber() { + if (index == -1) { + 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 SyntaxKind 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 SyntaxKind forNumber(int value) { + switch (value) { + case 0: return UnspecifiedSyntaxKind; + case 1: return Comment; + case 2: return PunctuationDelimiter; + case 3: return PunctuationBracket; + case 4: return Keyword; + case 5: return IdentifierOperator; + case 6: return Identifier; + case 7: return IdentifierBuiltin; + case 8: return IdentifierNull; + case 9: return IdentifierConstant; + case 10: return IdentifierMutableGlobal; + case 11: return IdentifierParameter; + case 12: return IdentifierLocal; + case 13: return IdentifierShadowed; + case 14: return IdentifierNamespace; + case 15: return IdentifierFunction; + case 16: return IdentifierFunctionDefinition; + case 17: return IdentifierMacro; + case 18: return IdentifierMacroDefinition; + case 19: return IdentifierType; + case 20: return IdentifierBuiltinType; + case 21: return IdentifierAttribute; + case 22: return RegexEscape; + case 23: return RegexRepeated; + case 24: return RegexWildcard; + case 25: return RegexDelimiter; + case 26: return RegexJoin; + case 27: return StringLiteral; + case 28: return StringLiteralEscape; + case 29: return StringLiteralSpecial; + case 30: return StringLiteralKey; + case 31: return CharacterLiteral; + case 32: return NumericLiteral; + case 33: return BooleanLiteral; + case 34: return Tag; + case 35: return TagAttribute; + case 36: return TagDelimiter; + default: return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap + internalGetValueMap() { + return internalValueMap; + } + private static final com.google.protobuf.Internal.EnumLiteMap< + SyntaxKind> internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap() { + public SyntaxKind findValueByNumber(int number) { + return SyntaxKind.forNumber(number); + } + }; + + public final com.google.protobuf.Descriptors.EnumValueDescriptor + getValueDescriptor() { + if (index == -1) { + throw new java.lang.IllegalStateException( + "Can't get the descriptor of an unrecognized enum value."); + } + return getDescriptor().getValues().get(index); + } + public final com.google.protobuf.Descriptors.EnumDescriptor + getDescriptorForType() { + return getDescriptor(); + } + public static com.google.protobuf.Descriptors.EnumDescriptor + getDescriptor() { + return org.scip_code.scip.ScipProto.getDescriptor().getEnumTypes().get(4); + } + + private static final SyntaxKind[] VALUES = getStaticValuesArray(); + private static SyntaxKind[] getStaticValuesArray() { + return new SyntaxKind[] { + UnspecifiedSyntaxKind, Comment, PunctuationDelimiter, PunctuationBracket, Keyword, IdentifierKeyword, IdentifierOperator, Identifier, IdentifierBuiltin, IdentifierNull, IdentifierConstant, IdentifierMutableGlobal, IdentifierParameter, IdentifierLocal, IdentifierShadowed, IdentifierNamespace, IdentifierModule, IdentifierFunction, IdentifierFunctionDefinition, IdentifierMacro, IdentifierMacroDefinition, IdentifierType, IdentifierBuiltinType, IdentifierAttribute, RegexEscape, RegexRepeated, RegexWildcard, RegexDelimiter, RegexJoin, StringLiteral, StringLiteralEscape, StringLiteralSpecial, StringLiteralKey, CharacterLiteral, NumericLiteral, BooleanLiteral, Tag, TagAttribute, TagDelimiter, + }; + } + public static SyntaxKind 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 index; + private final int value; + + private SyntaxKind(int index, int value) { + this.index = index; + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:scip.SyntaxKind) +} + diff --git a/bindings/java/src/main/java/org/scip_code/scip/TextEncoding.java b/bindings/java/src/main/java/org/scip_code/scip/TextEncoding.java new file mode 100644 index 00000000..77ad6441 --- /dev/null +++ b/bindings/java/src/main/java/org/scip_code/scip/TextEncoding.java @@ -0,0 +1,134 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: scip.proto +// Protobuf Java Version: 4.32.1 + +package org.scip_code.scip; + +/** + * Protobuf enum {@code scip.TextEncoding} + */ +@com.google.protobuf.Generated +public enum TextEncoding + implements com.google.protobuf.ProtocolMessageEnum { + /** + * UnspecifiedTextEncoding = 0; + */ + UnspecifiedTextEncoding(0), + /** + * UTF8 = 1; + */ + UTF8(1), + /** + * UTF16 = 2; + */ + UTF16(2), + UNRECOGNIZED(-1), + ; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 32, + /* patch= */ 1, + /* suffix= */ "", + TextEncoding.class.getName()); + } + /** + * UnspecifiedTextEncoding = 0; + */ + public static final int UnspecifiedTextEncoding_VALUE = 0; + /** + * UTF8 = 1; + */ + public static final int UTF8_VALUE = 1; + /** + * UTF16 = 2; + */ + public static final int UTF16_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 TextEncoding 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 TextEncoding forNumber(int value) { + switch (value) { + case 0: return UnspecifiedTextEncoding; + case 1: return UTF8; + case 2: return UTF16; + default: return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap + internalGetValueMap() { + return internalValueMap; + } + private static final com.google.protobuf.Internal.EnumLiteMap< + TextEncoding> internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap() { + public TextEncoding findValueByNumber(int number) { + return TextEncoding.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 com.google.protobuf.Descriptors.EnumDescriptor + getDescriptor() { + return org.scip_code.scip.ScipProto.getDescriptor().getEnumTypes().get(1); + } + + private static final TextEncoding[] VALUES = values(); + + public static TextEncoding 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 TextEncoding(int value) { + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:scip.TextEncoding) +} + diff --git a/bindings/java/src/main/java/org/scip_code/scip/ToolInfo.java b/bindings/java/src/main/java/org/scip_code/scip/ToolInfo.java new file mode 100644 index 00000000..1c67a372 --- /dev/null +++ b/bindings/java/src/main/java/org/scip_code/scip/ToolInfo.java @@ -0,0 +1,935 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: scip.proto +// Protobuf Java Version: 4.32.1 + +package org.scip_code.scip; + +/** + * Protobuf type {@code scip.ToolInfo} + */ +@com.google.protobuf.Generated +public final class ToolInfo extends + com.google.protobuf.GeneratedMessage implements + // @@protoc_insertion_point(message_implements:scip.ToolInfo) + ToolInfoOrBuilder { +private static final long serialVersionUID = 0L; + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 32, + /* patch= */ 1, + /* suffix= */ "", + ToolInfo.class.getName()); + } + // Use ToolInfo.newBuilder() to construct. + private ToolInfo(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + private ToolInfo() { + name_ = ""; + version_ = ""; + arguments_ = + com.google.protobuf.LazyStringArrayList.emptyList(); + } + + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.scip_code.scip.ScipProto.internal_static_scip_ToolInfo_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.scip_code.scip.ScipProto.internal_static_scip_ToolInfo_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.scip_code.scip.ToolInfo.class, org.scip_code.scip.ToolInfo.Builder.class); + } + + public static final int NAME_FIELD_NUMBER = 1; + @SuppressWarnings("serial") + private volatile java.lang.Object name_ = ""; + /** + *
+   * Name of the indexer that produced this index.
+   * 
+ * + * string name = 1 [json_name = "name"]; + * @return The name. + */ + @java.lang.Override + public java.lang.String getName() { + java.lang.Object ref = name_; + 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(); + name_ = s; + return s; + } + } + /** + *
+   * Name of the indexer that produced this index.
+   * 
+ * + * string name = 1 [json_name = "name"]; + * @return The bytes for name. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int VERSION_FIELD_NUMBER = 2; + @SuppressWarnings("serial") + private volatile java.lang.Object version_ = ""; + /** + *
+   * Version of the indexer that produced this index.
+   * 
+ * + * string version = 2 [json_name = "version"]; + * @return The version. + */ + @java.lang.Override + public java.lang.String getVersion() { + java.lang.Object ref = version_; + 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(); + version_ = s; + return s; + } + } + /** + *
+   * Version of the indexer that produced this index.
+   * 
+ * + * string version = 2 [json_name = "version"]; + * @return The bytes for version. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getVersionBytes() { + java.lang.Object ref = version_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + version_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int ARGUMENTS_FIELD_NUMBER = 3; + @SuppressWarnings("serial") + private com.google.protobuf.LazyStringArrayList arguments_ = + com.google.protobuf.LazyStringArrayList.emptyList(); + /** + *
+   * Command-line arguments that were used to invoke this indexer.
+   * 
+ * + * repeated string arguments = 3 [json_name = "arguments"]; + * @return A list containing the arguments. + */ + public com.google.protobuf.ProtocolStringList + getArgumentsList() { + return arguments_; + } + /** + *
+   * Command-line arguments that were used to invoke this indexer.
+   * 
+ * + * repeated string arguments = 3 [json_name = "arguments"]; + * @return The count of arguments. + */ + public int getArgumentsCount() { + return arguments_.size(); + } + /** + *
+   * Command-line arguments that were used to invoke this indexer.
+   * 
+ * + * repeated string arguments = 3 [json_name = "arguments"]; + * @param index The index of the element to return. + * @return The arguments at the given index. + */ + public java.lang.String getArguments(int index) { + return arguments_.get(index); + } + /** + *
+   * Command-line arguments that were used to invoke this indexer.
+   * 
+ * + * repeated string arguments = 3 [json_name = "arguments"]; + * @param index The index of the value to return. + * @return The bytes of the arguments at the given index. + */ + public com.google.protobuf.ByteString + getArgumentsBytes(int index) { + return arguments_.getByteString(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 (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, name_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(version_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 2, version_); + } + for (int i = 0; i < arguments_.size(); i++) { + com.google.protobuf.GeneratedMessage.writeString(output, 3, arguments_.getRaw(i)); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, name_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(version_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(2, version_); + } + { + int dataSize = 0; + for (int i = 0; i < arguments_.size(); i++) { + dataSize += computeStringSizeNoTag(arguments_.getRaw(i)); + } + size += dataSize; + size += 1 * getArgumentsList().size(); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof org.scip_code.scip.ToolInfo)) { + return super.equals(obj); + } + org.scip_code.scip.ToolInfo other = (org.scip_code.scip.ToolInfo) obj; + + if (!getName() + .equals(other.getName())) return false; + if (!getVersion() + .equals(other.getVersion())) return false; + if (!getArgumentsList() + .equals(other.getArgumentsList())) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) 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) + NAME_FIELD_NUMBER; + hash = (53 * hash) + getName().hashCode(); + hash = (37 * hash) + VERSION_FIELD_NUMBER; + hash = (53 * hash) + getVersion().hashCode(); + if (getArgumentsCount() > 0) { + hash = (37 * hash) + ARGUMENTS_FIELD_NUMBER; + hash = (53 * hash) + getArgumentsList().hashCode(); + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static org.scip_code.scip.ToolInfo parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.scip_code.scip.ToolInfo parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.scip_code.scip.ToolInfo parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.scip_code.scip.ToolInfo parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.scip_code.scip.ToolInfo parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.scip_code.scip.ToolInfo parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.scip_code.scip.ToolInfo parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static org.scip_code.scip.ToolInfo parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public static org.scip_code.scip.ToolInfo parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input); + } + + public static org.scip_code.scip.ToolInfo parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static org.scip_code.scip.ToolInfo parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static org.scip_code.scip.ToolInfo parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(org.scip_code.scip.ToolInfo 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code scip.ToolInfo} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder implements + // @@protoc_insertion_point(builder_implements:scip.ToolInfo) + org.scip_code.scip.ToolInfoOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.scip_code.scip.ScipProto.internal_static_scip_ToolInfo_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.scip_code.scip.ScipProto.internal_static_scip_ToolInfo_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.scip_code.scip.ToolInfo.class, org.scip_code.scip.ToolInfo.Builder.class); + } + + // Construct using org.scip_code.scip.ToolInfo.newBuilder() + private Builder() { + + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + + } + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + name_ = ""; + version_ = ""; + arguments_ = + com.google.protobuf.LazyStringArrayList.emptyList(); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return org.scip_code.scip.ScipProto.internal_static_scip_ToolInfo_descriptor; + } + + @java.lang.Override + public org.scip_code.scip.ToolInfo getDefaultInstanceForType() { + return org.scip_code.scip.ToolInfo.getDefaultInstance(); + } + + @java.lang.Override + public org.scip_code.scip.ToolInfo build() { + org.scip_code.scip.ToolInfo result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public org.scip_code.scip.ToolInfo buildPartial() { + org.scip_code.scip.ToolInfo result = new org.scip_code.scip.ToolInfo(this); + if (bitField0_ != 0) { buildPartial0(result); } + onBuilt(); + return result; + } + + private void buildPartial0(org.scip_code.scip.ToolInfo result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.name_ = name_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.version_ = version_; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + arguments_.makeImmutable(); + result.arguments_ = arguments_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof org.scip_code.scip.ToolInfo) { + return mergeFrom((org.scip_code.scip.ToolInfo)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(org.scip_code.scip.ToolInfo other) { + if (other == org.scip_code.scip.ToolInfo.getDefaultInstance()) return this; + if (!other.getName().isEmpty()) { + name_ = other.name_; + bitField0_ |= 0x00000001; + onChanged(); + } + if (!other.getVersion().isEmpty()) { + version_ = other.version_; + bitField0_ |= 0x00000002; + onChanged(); + } + if (!other.arguments_.isEmpty()) { + if (arguments_.isEmpty()) { + arguments_ = other.arguments_; + bitField0_ |= 0x00000004; + } else { + ensureArgumentsIsMutable(); + arguments_.addAll(other.arguments_); + } + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + 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 { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + name_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 18: { + version_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000002; + break; + } // case 18 + case 26: { + java.lang.String s = input.readStringRequireUtf8(); + ensureArgumentsIsMutable(); + arguments_.add(s); + break; + } // case 26 + default: { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + private int bitField0_; + + private java.lang.Object name_ = ""; + /** + *
+     * Name of the indexer that produced this index.
+     * 
+ * + * string name = 1 [json_name = "name"]; + * @return The name. + */ + public java.lang.String getName() { + java.lang.Object ref = name_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + name_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + *
+     * Name of the indexer that produced this index.
+     * 
+ * + * string name = 1 [json_name = "name"]; + * @return The bytes for name. + */ + public com.google.protobuf.ByteString + getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + *
+     * Name of the indexer that produced this index.
+     * 
+ * + * string name = 1 [json_name = "name"]; + * @param value The name to set. + * @return This builder for chaining. + */ + public Builder setName( + java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + name_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + /** + *
+     * Name of the indexer that produced this index.
+     * 
+ * + * string name = 1 [json_name = "name"]; + * @return This builder for chaining. + */ + public Builder clearName() { + name_ = getDefaultInstance().getName(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + /** + *
+     * Name of the indexer that produced this index.
+     * 
+ * + * string name = 1 [json_name = "name"]; + * @param value The bytes for name to set. + * @return This builder for chaining. + */ + public Builder setNameBytes( + com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + checkByteStringIsUtf8(value); + name_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private java.lang.Object version_ = ""; + /** + *
+     * Version of the indexer that produced this index.
+     * 
+ * + * string version = 2 [json_name = "version"]; + * @return The version. + */ + public java.lang.String getVersion() { + java.lang.Object ref = version_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + version_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + *
+     * Version of the indexer that produced this index.
+     * 
+ * + * string version = 2 [json_name = "version"]; + * @return The bytes for version. + */ + public com.google.protobuf.ByteString + getVersionBytes() { + java.lang.Object ref = version_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + version_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + *
+     * Version of the indexer that produced this index.
+     * 
+ * + * string version = 2 [json_name = "version"]; + * @param value The version to set. + * @return This builder for chaining. + */ + public Builder setVersion( + java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + version_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + /** + *
+     * Version of the indexer that produced this index.
+     * 
+ * + * string version = 2 [json_name = "version"]; + * @return This builder for chaining. + */ + public Builder clearVersion() { + version_ = getDefaultInstance().getVersion(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + /** + *
+     * Version of the indexer that produced this index.
+     * 
+ * + * string version = 2 [json_name = "version"]; + * @param value The bytes for version to set. + * @return This builder for chaining. + */ + public Builder setVersionBytes( + com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + checkByteStringIsUtf8(value); + version_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + private com.google.protobuf.LazyStringArrayList arguments_ = + com.google.protobuf.LazyStringArrayList.emptyList(); + private void ensureArgumentsIsMutable() { + if (!arguments_.isModifiable()) { + arguments_ = new com.google.protobuf.LazyStringArrayList(arguments_); + } + bitField0_ |= 0x00000004; + } + /** + *
+     * Command-line arguments that were used to invoke this indexer.
+     * 
+ * + * repeated string arguments = 3 [json_name = "arguments"]; + * @return A list containing the arguments. + */ + public com.google.protobuf.ProtocolStringList + getArgumentsList() { + arguments_.makeImmutable(); + return arguments_; + } + /** + *
+     * Command-line arguments that were used to invoke this indexer.
+     * 
+ * + * repeated string arguments = 3 [json_name = "arguments"]; + * @return The count of arguments. + */ + public int getArgumentsCount() { + return arguments_.size(); + } + /** + *
+     * Command-line arguments that were used to invoke this indexer.
+     * 
+ * + * repeated string arguments = 3 [json_name = "arguments"]; + * @param index The index of the element to return. + * @return The arguments at the given index. + */ + public java.lang.String getArguments(int index) { + return arguments_.get(index); + } + /** + *
+     * Command-line arguments that were used to invoke this indexer.
+     * 
+ * + * repeated string arguments = 3 [json_name = "arguments"]; + * @param index The index of the value to return. + * @return The bytes of the arguments at the given index. + */ + public com.google.protobuf.ByteString + getArgumentsBytes(int index) { + return arguments_.getByteString(index); + } + /** + *
+     * Command-line arguments that were used to invoke this indexer.
+     * 
+ * + * repeated string arguments = 3 [json_name = "arguments"]; + * @param index The index to set the value at. + * @param value The arguments to set. + * @return This builder for chaining. + */ + public Builder setArguments( + int index, java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + ensureArgumentsIsMutable(); + arguments_.set(index, value); + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + /** + *
+     * Command-line arguments that were used to invoke this indexer.
+     * 
+ * + * repeated string arguments = 3 [json_name = "arguments"]; + * @param value The arguments to add. + * @return This builder for chaining. + */ + public Builder addArguments( + java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + ensureArgumentsIsMutable(); + arguments_.add(value); + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + /** + *
+     * Command-line arguments that were used to invoke this indexer.
+     * 
+ * + * repeated string arguments = 3 [json_name = "arguments"]; + * @param values The arguments to add. + * @return This builder for chaining. + */ + public Builder addAllArguments( + java.lang.Iterable values) { + ensureArgumentsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, arguments_); + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + /** + *
+     * Command-line arguments that were used to invoke this indexer.
+     * 
+ * + * repeated string arguments = 3 [json_name = "arguments"]; + * @return This builder for chaining. + */ + public Builder clearArguments() { + arguments_ = + com.google.protobuf.LazyStringArrayList.emptyList(); + bitField0_ = (bitField0_ & ~0x00000004);; + onChanged(); + return this; + } + /** + *
+     * Command-line arguments that were used to invoke this indexer.
+     * 
+ * + * repeated string arguments = 3 [json_name = "arguments"]; + * @param value The bytes of the arguments to add. + * @return This builder for chaining. + */ + public Builder addArgumentsBytes( + com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + checkByteStringIsUtf8(value); + ensureArgumentsIsMutable(); + arguments_.add(value); + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:scip.ToolInfo) + } + + // @@protoc_insertion_point(class_scope:scip.ToolInfo) + private static final org.scip_code.scip.ToolInfo DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new org.scip_code.scip.ToolInfo(); + } + + public static org.scip_code.scip.ToolInfo getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public ToolInfo parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public org.scip_code.scip.ToolInfo getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + +} + diff --git a/bindings/java/src/main/java/org/scip_code/scip/ToolInfoOrBuilder.java b/bindings/java/src/main/java/org/scip_code/scip/ToolInfoOrBuilder.java new file mode 100644 index 00000000..e74585f0 --- /dev/null +++ b/bindings/java/src/main/java/org/scip_code/scip/ToolInfoOrBuilder.java @@ -0,0 +1,93 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: scip.proto +// Protobuf Java Version: 4.32.1 + +package org.scip_code.scip; + +@com.google.protobuf.Generated +public interface ToolInfoOrBuilder extends + // @@protoc_insertion_point(interface_extends:scip.ToolInfo) + com.google.protobuf.MessageOrBuilder { + + /** + *
+   * Name of the indexer that produced this index.
+   * 
+ * + * string name = 1 [json_name = "name"]; + * @return The name. + */ + java.lang.String getName(); + /** + *
+   * Name of the indexer that produced this index.
+   * 
+ * + * string name = 1 [json_name = "name"]; + * @return The bytes for name. + */ + com.google.protobuf.ByteString + getNameBytes(); + + /** + *
+   * Version of the indexer that produced this index.
+   * 
+ * + * string version = 2 [json_name = "version"]; + * @return The version. + */ + java.lang.String getVersion(); + /** + *
+   * Version of the indexer that produced this index.
+   * 
+ * + * string version = 2 [json_name = "version"]; + * @return The bytes for version. + */ + com.google.protobuf.ByteString + getVersionBytes(); + + /** + *
+   * Command-line arguments that were used to invoke this indexer.
+   * 
+ * + * repeated string arguments = 3 [json_name = "arguments"]; + * @return A list containing the arguments. + */ + java.util.List + getArgumentsList(); + /** + *
+   * Command-line arguments that were used to invoke this indexer.
+   * 
+ * + * repeated string arguments = 3 [json_name = "arguments"]; + * @return The count of arguments. + */ + int getArgumentsCount(); + /** + *
+   * Command-line arguments that were used to invoke this indexer.
+   * 
+ * + * repeated string arguments = 3 [json_name = "arguments"]; + * @param index The index of the element to return. + * @return The arguments at the given index. + */ + java.lang.String getArguments(int index); + /** + *
+   * Command-line arguments that were used to invoke this indexer.
+   * 
+ * + * repeated string arguments = 3 [json_name = "arguments"]; + * @param index The index of the value to return. + * @return The bytes of the arguments at the given index. + */ + com.google.protobuf.ByteString + getArgumentsBytes(int index); +} diff --git a/bindings/java/src/main/java/scip/Scip.java b/bindings/java/src/main/java/scip/Scip.java deleted file mode 100644 index 325c4701..00000000 --- a/bindings/java/src/main/java/scip/Scip.java +++ /dev/null @@ -1,23170 +0,0 @@ -// Generated by the protocol buffer compiler. DO NOT EDIT! -// NO CHECKED-IN PROTOBUF GENCODE -// source: scip.proto -// Protobuf Java Version: 4.32.1 - -package scip; - -@com.google.protobuf.Generated -public final class Scip extends com.google.protobuf.GeneratedFile { - private Scip() {} - static { - com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( - com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, - /* major= */ 4, - /* minor= */ 32, - /* patch= */ 1, - /* suffix= */ "", - Scip.class.getName()); - } - 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 scip.ProtocolVersion} - */ - public enum ProtocolVersion - implements com.google.protobuf.ProtocolMessageEnum { - /** - * UnspecifiedProtocolVersion = 0; - */ - UnspecifiedProtocolVersion(0), - UNRECOGNIZED(-1), - ; - - static { - com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( - com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, - /* major= */ 4, - /* minor= */ 32, - /* patch= */ 1, - /* suffix= */ "", - ProtocolVersion.class.getName()); - } - /** - * UnspecifiedProtocolVersion = 0; - */ - public static final int UnspecifiedProtocolVersion_VALUE = 0; - - - 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 ProtocolVersion 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 ProtocolVersion forNumber(int value) { - switch (value) { - case 0: return UnspecifiedProtocolVersion; - default: return null; - } - } - - public static com.google.protobuf.Internal.EnumLiteMap - internalGetValueMap() { - return internalValueMap; - } - private static final com.google.protobuf.Internal.EnumLiteMap< - ProtocolVersion> internalValueMap = - new com.google.protobuf.Internal.EnumLiteMap() { - public ProtocolVersion findValueByNumber(int number) { - return ProtocolVersion.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 com.google.protobuf.Descriptors.EnumDescriptor - getDescriptor() { - return scip.Scip.getDescriptor().getEnumTypes().get(0); - } - - private static final ProtocolVersion[] VALUES = values(); - - public static ProtocolVersion 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 ProtocolVersion(int value) { - this.value = value; - } - - // @@protoc_insertion_point(enum_scope:scip.ProtocolVersion) - } - - /** - * Protobuf enum {@code scip.TextEncoding} - */ - public enum TextEncoding - implements com.google.protobuf.ProtocolMessageEnum { - /** - * UnspecifiedTextEncoding = 0; - */ - UnspecifiedTextEncoding(0), - /** - * UTF8 = 1; - */ - UTF8(1), - /** - * UTF16 = 2; - */ - UTF16(2), - UNRECOGNIZED(-1), - ; - - static { - com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( - com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, - /* major= */ 4, - /* minor= */ 32, - /* patch= */ 1, - /* suffix= */ "", - TextEncoding.class.getName()); - } - /** - * UnspecifiedTextEncoding = 0; - */ - public static final int UnspecifiedTextEncoding_VALUE = 0; - /** - * UTF8 = 1; - */ - public static final int UTF8_VALUE = 1; - /** - * UTF16 = 2; - */ - public static final int UTF16_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 TextEncoding 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 TextEncoding forNumber(int value) { - switch (value) { - case 0: return UnspecifiedTextEncoding; - case 1: return UTF8; - case 2: return UTF16; - default: return null; - } - } - - public static com.google.protobuf.Internal.EnumLiteMap - internalGetValueMap() { - return internalValueMap; - } - private static final com.google.protobuf.Internal.EnumLiteMap< - TextEncoding> internalValueMap = - new com.google.protobuf.Internal.EnumLiteMap() { - public TextEncoding findValueByNumber(int number) { - return TextEncoding.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 com.google.protobuf.Descriptors.EnumDescriptor - getDescriptor() { - return scip.Scip.getDescriptor().getEnumTypes().get(1); - } - - private static final TextEncoding[] VALUES = values(); - - public static TextEncoding 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 TextEncoding(int value) { - this.value = value; - } - - // @@protoc_insertion_point(enum_scope:scip.TextEncoding) - } - - /** - *
-   * Encoding used to interpret the 'character' value in source ranges.
-   * 
- * - * Protobuf enum {@code scip.PositionEncoding} - */ - public enum PositionEncoding - implements com.google.protobuf.ProtocolMessageEnum { - /** - *
-     * Default value. This value should not be used by new SCIP indexers
-     * so that a consumer can process the SCIP index without ambiguity.
-     * 
- * - * UnspecifiedPositionEncoding = 0; - */ - UnspecifiedPositionEncoding(0), - /** - *
-     * The 'character' value is interpreted as an offset in terms
-     * of UTF-8 code units (i.e. bytes).
-     *
-     * Example: For the string "🚀 Woo" in UTF-8, the bytes are
-     * [240, 159, 154, 128, 32, 87, 111, 111], so the offset for 'W'
-     * would be 5.
-     * 
- * - * UTF8CodeUnitOffsetFromLineStart = 1; - */ - UTF8CodeUnitOffsetFromLineStart(1), - /** - *
-     * The 'character' value is interpreted as an offset in terms
-     * of UTF-16 code units (each is 2 bytes).
-     *
-     * Example: For the string "🚀 Woo", the UTF-16 code units are
-     * ['\ud83d', '\ude80', ' ', 'W', 'o', 'o'], so the offset for 'W'
-     * would be 3.
-     * 
- * - * UTF16CodeUnitOffsetFromLineStart = 2; - */ - UTF16CodeUnitOffsetFromLineStart(2), - /** - *
-     * The 'character' value is interpreted as an offset in terms
-     * of UTF-32 code units (each is 4 bytes).
-     *
-     * Example: For the string "🚀 Woo", the UTF-32 code units are
-     * ['🚀', ' ', 'W', 'o', 'o'], so the offset for 'W' would be 2.
-     * 
- * - * UTF32CodeUnitOffsetFromLineStart = 3; - */ - UTF32CodeUnitOffsetFromLineStart(3), - UNRECOGNIZED(-1), - ; - - static { - com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( - com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, - /* major= */ 4, - /* minor= */ 32, - /* patch= */ 1, - /* suffix= */ "", - PositionEncoding.class.getName()); - } - /** - *
-     * Default value. This value should not be used by new SCIP indexers
-     * so that a consumer can process the SCIP index without ambiguity.
-     * 
- * - * UnspecifiedPositionEncoding = 0; - */ - public static final int UnspecifiedPositionEncoding_VALUE = 0; - /** - *
-     * The 'character' value is interpreted as an offset in terms
-     * of UTF-8 code units (i.e. bytes).
-     *
-     * Example: For the string "🚀 Woo" in UTF-8, the bytes are
-     * [240, 159, 154, 128, 32, 87, 111, 111], so the offset for 'W'
-     * would be 5.
-     * 
- * - * UTF8CodeUnitOffsetFromLineStart = 1; - */ - public static final int UTF8CodeUnitOffsetFromLineStart_VALUE = 1; - /** - *
-     * The 'character' value is interpreted as an offset in terms
-     * of UTF-16 code units (each is 2 bytes).
-     *
-     * Example: For the string "🚀 Woo", the UTF-16 code units are
-     * ['\ud83d', '\ude80', ' ', 'W', 'o', 'o'], so the offset for 'W'
-     * would be 3.
-     * 
- * - * UTF16CodeUnitOffsetFromLineStart = 2; - */ - public static final int UTF16CodeUnitOffsetFromLineStart_VALUE = 2; - /** - *
-     * The 'character' value is interpreted as an offset in terms
-     * of UTF-32 code units (each is 4 bytes).
-     *
-     * Example: For the string "🚀 Woo", the UTF-32 code units are
-     * ['🚀', ' ', 'W', 'o', 'o'], so the offset for 'W' would be 2.
-     * 
- * - * UTF32CodeUnitOffsetFromLineStart = 3; - */ - public static final int UTF32CodeUnitOffsetFromLineStart_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 PositionEncoding 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 PositionEncoding forNumber(int value) { - switch (value) { - case 0: return UnspecifiedPositionEncoding; - case 1: return UTF8CodeUnitOffsetFromLineStart; - case 2: return UTF16CodeUnitOffsetFromLineStart; - case 3: return UTF32CodeUnitOffsetFromLineStart; - default: return null; - } - } - - public static com.google.protobuf.Internal.EnumLiteMap - internalGetValueMap() { - return internalValueMap; - } - private static final com.google.protobuf.Internal.EnumLiteMap< - PositionEncoding> internalValueMap = - new com.google.protobuf.Internal.EnumLiteMap() { - public PositionEncoding findValueByNumber(int number) { - return PositionEncoding.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 com.google.protobuf.Descriptors.EnumDescriptor - getDescriptor() { - return scip.Scip.getDescriptor().getEnumTypes().get(2); - } - - private static final PositionEncoding[] VALUES = values(); - - public static PositionEncoding 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 PositionEncoding(int value) { - this.value = value; - } - - // @@protoc_insertion_point(enum_scope:scip.PositionEncoding) - } - - /** - *
-   * SymbolRole declares what "role" a symbol has in an occurrence. A role is
-   * encoded as a bitset where each bit represents a different role. For example,
-   * to determine if the `Import` role is set, test whether the second bit of the
-   * enum value is defined. In pseudocode, this can be implemented with the
-   * logic: `const isImportRole = (role.value & SymbolRole.Import.value) > 0`.
-   * 
- * - * Protobuf enum {@code scip.SymbolRole} - */ - public enum SymbolRole - implements com.google.protobuf.ProtocolMessageEnum { - /** - *
-     * This case is not meant to be used; it only exists to avoid an error
-     * from the Protobuf code generator.
-     * 
- * - * UnspecifiedSymbolRole = 0; - */ - UnspecifiedSymbolRole(0), - /** - *
-     * Is the symbol defined here? If not, then this is a symbol reference.
-     * 
- * - * Definition = 1; - */ - Definition(1), - /** - *
-     * Is the symbol imported here?
-     * 
- * - * Import = 2; - */ - Import(2), - /** - *
-     * Is the symbol written here?
-     * 
- * - * WriteAccess = 4; - */ - WriteAccess(4), - /** - *
-     * Is the symbol read here?
-     * 
- * - * ReadAccess = 8; - */ - ReadAccess(8), - /** - *
-     * Is the symbol in generated code?
-     * 
- * - * Generated = 16; - */ - Generated(16), - /** - *
-     * Is the symbol in test code?
-     * 
- * - * Test = 32; - */ - Test(32), - /** - *
-     * Is this a signature for a symbol that is defined elsewhere?
-     *
-     * Applies to forward declarations for languages like C, C++
-     * and Objective-C, as well as `val` declarations in interface
-     * files in languages like SML and OCaml.
-     * 
- * - * ForwardDefinition = 64; - */ - ForwardDefinition(64), - UNRECOGNIZED(-1), - ; - - static { - com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( - com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, - /* major= */ 4, - /* minor= */ 32, - /* patch= */ 1, - /* suffix= */ "", - SymbolRole.class.getName()); - } - /** - *
-     * This case is not meant to be used; it only exists to avoid an error
-     * from the Protobuf code generator.
-     * 
- * - * UnspecifiedSymbolRole = 0; - */ - public static final int UnspecifiedSymbolRole_VALUE = 0; - /** - *
-     * Is the symbol defined here? If not, then this is a symbol reference.
-     * 
- * - * Definition = 1; - */ - public static final int Definition_VALUE = 1; - /** - *
-     * Is the symbol imported here?
-     * 
- * - * Import = 2; - */ - public static final int Import_VALUE = 2; - /** - *
-     * Is the symbol written here?
-     * 
- * - * WriteAccess = 4; - */ - public static final int WriteAccess_VALUE = 4; - /** - *
-     * Is the symbol read here?
-     * 
- * - * ReadAccess = 8; - */ - public static final int ReadAccess_VALUE = 8; - /** - *
-     * Is the symbol in generated code?
-     * 
- * - * Generated = 16; - */ - public static final int Generated_VALUE = 16; - /** - *
-     * Is the symbol in test code?
-     * 
- * - * Test = 32; - */ - public static final int Test_VALUE = 32; - /** - *
-     * Is this a signature for a symbol that is defined elsewhere?
-     *
-     * Applies to forward declarations for languages like C, C++
-     * and Objective-C, as well as `val` declarations in interface
-     * files in languages like SML and OCaml.
-     * 
- * - * ForwardDefinition = 64; - */ - public static final int ForwardDefinition_VALUE = 64; - - - 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 SymbolRole 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 SymbolRole forNumber(int value) { - switch (value) { - case 0: return UnspecifiedSymbolRole; - case 1: return Definition; - case 2: return Import; - case 4: return WriteAccess; - case 8: return ReadAccess; - case 16: return Generated; - case 32: return Test; - case 64: return ForwardDefinition; - default: return null; - } - } - - public static com.google.protobuf.Internal.EnumLiteMap - internalGetValueMap() { - return internalValueMap; - } - private static final com.google.protobuf.Internal.EnumLiteMap< - SymbolRole> internalValueMap = - new com.google.protobuf.Internal.EnumLiteMap() { - public SymbolRole findValueByNumber(int number) { - return SymbolRole.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 com.google.protobuf.Descriptors.EnumDescriptor - getDescriptor() { - return scip.Scip.getDescriptor().getEnumTypes().get(3); - } - - private static final SymbolRole[] VALUES = values(); - - public static SymbolRole 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 SymbolRole(int value) { - this.value = value; - } - - // @@protoc_insertion_point(enum_scope:scip.SymbolRole) - } - - /** - * Protobuf enum {@code scip.SyntaxKind} - */ - public enum SyntaxKind - implements com.google.protobuf.ProtocolMessageEnum { - /** - * UnspecifiedSyntaxKind = 0; - */ - UnspecifiedSyntaxKind(0, 0), - /** - *
-     * Comment, including comment markers and text
-     * 
- * - * Comment = 1; - */ - Comment(1, 1), - /** - *
-     * `;` `.` `,`
-     * 
- * - * PunctuationDelimiter = 2; - */ - PunctuationDelimiter(2, 2), - /** - *
-     * (), {}, [] when used syntactically
-     * 
- * - * PunctuationBracket = 3; - */ - PunctuationBracket(3, 3), - /** - *
-     * `if`, `else`, `return`, `class`, etc.
-     * 
- * - * Keyword = 4; - */ - Keyword(4, 4), - /** - *
-     * `+`, `*`, etc.
-     * 
- * - * IdentifierOperator = 5; - */ - IdentifierOperator(6, 5), - /** - *
-     * non-specific catch-all for any identifier not better described elsewhere
-     * 
- * - * Identifier = 6; - */ - Identifier(7, 6), - /** - *
-     * Identifiers builtin to the language: `min`, `print` in Python.
-     * 
- * - * IdentifierBuiltin = 7; - */ - IdentifierBuiltin(8, 7), - /** - *
-     * Identifiers representing `null`-like values: `None` in Python, `nil` in Go.
-     * 
- * - * IdentifierNull = 8; - */ - IdentifierNull(9, 8), - /** - *
-     * `xyz` in `const xyz = "hello"`
-     * 
- * - * IdentifierConstant = 9; - */ - IdentifierConstant(10, 9), - /** - *
-     * `var X = "hello"` in Go
-     * 
- * - * IdentifierMutableGlobal = 10; - */ - IdentifierMutableGlobal(11, 10), - /** - *
-     * Parameter definition and references
-     * 
- * - * IdentifierParameter = 11; - */ - IdentifierParameter(12, 11), - /** - *
-     * Identifiers for variable definitions and references within a local scope
-     * 
- * - * IdentifierLocal = 12; - */ - IdentifierLocal(13, 12), - /** - *
-     * Identifiers that shadow other identifiers in an outer scope
-     * 
- * - * IdentifierShadowed = 13; - */ - IdentifierShadowed(14, 13), - /** - *
-     * Identifier representing a unit of code abstraction and/or namespacing.
-     *
-     * NOTE: This corresponds to a package in Go and JVM languages,
-     * and a module in languages like Python and JavaScript.
-     * 
- * - * IdentifierNamespace = 14; - */ - IdentifierNamespace(15, 14), - /** - *
-     * Function references, including calls
-     * 
- * - * IdentifierFunction = 15; - */ - IdentifierFunction(17, 15), - /** - *
-     * Function definition only
-     * 
- * - * IdentifierFunctionDefinition = 16; - */ - IdentifierFunctionDefinition(18, 16), - /** - *
-     * Macro references, including invocations
-     * 
- * - * IdentifierMacro = 17; - */ - IdentifierMacro(19, 17), - /** - *
-     * Macro definition only
-     * 
- * - * IdentifierMacroDefinition = 18; - */ - IdentifierMacroDefinition(20, 18), - /** - *
-     * non-builtin types
-     * 
- * - * IdentifierType = 19; - */ - IdentifierType(21, 19), - /** - *
-     * builtin types only, such as `str` for Python or `int` in Go
-     * 
- * - * IdentifierBuiltinType = 20; - */ - IdentifierBuiltinType(22, 20), - /** - *
-     * Python decorators, c-like __attribute__
-     * 
- * - * IdentifierAttribute = 21; - */ - IdentifierAttribute(23, 21), - /** - *
-     * `\b`
-     * 
- * - * RegexEscape = 22; - */ - RegexEscape(24, 22), - /** - *
-     * `*`, `+`
-     * 
- * - * RegexRepeated = 23; - */ - RegexRepeated(25, 23), - /** - *
-     * `.`
-     * 
- * - * RegexWildcard = 24; - */ - RegexWildcard(26, 24), - /** - *
-     * `(`, `)`, `[`, `]`
-     * 
- * - * RegexDelimiter = 25; - */ - RegexDelimiter(27, 25), - /** - *
-     * `|`, `-`
-     * 
- * - * RegexJoin = 26; - */ - RegexJoin(28, 26), - /** - *
-     * Literal strings: "Hello, world!"
-     * 
- * - * StringLiteral = 27; - */ - StringLiteral(29, 27), - /** - *
-     * non-regex escapes: "\t", "\n"
-     * 
- * - * StringLiteralEscape = 28; - */ - StringLiteralEscape(30, 28), - /** - *
-     * datetimes within strings, special words within a string, `{}` in format strings
-     * 
- * - * StringLiteralSpecial = 29; - */ - StringLiteralSpecial(31, 29), - /** - *
-     * "key" in { "key": "value" }, useful for example in JSON
-     * 
- * - * StringLiteralKey = 30; - */ - StringLiteralKey(32, 30), - /** - *
-     * 'c' or similar, in languages that differentiate strings and characters
-     * 
- * - * CharacterLiteral = 31; - */ - CharacterLiteral(33, 31), - /** - *
-     * Literal numbers, both floats and integers
-     * 
- * - * NumericLiteral = 32; - */ - NumericLiteral(34, 32), - /** - *
-     * `true`, `false`
-     * 
- * - * BooleanLiteral = 33; - */ - BooleanLiteral(35, 33), - /** - *
-     * Used for XML-like tags
-     * 
- * - * Tag = 34; - */ - Tag(36, 34), - /** - *
-     * Attribute name in XML-like tags
-     * 
- * - * TagAttribute = 35; - */ - TagAttribute(37, 35), - /** - *
-     * Delimiters for XML-like tags
-     * 
- * - * TagDelimiter = 36; - */ - TagDelimiter(38, 36), - UNRECOGNIZED(-1, -1), - ; - - static { - com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( - com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, - /* major= */ 4, - /* minor= */ 32, - /* patch= */ 1, - /* suffix= */ "", - SyntaxKind.class.getName()); - } - /** - * IdentifierKeyword = 4 [deprecated = true]; - */ - public static final SyntaxKind IdentifierKeyword = Keyword; - /** - * IdentifierModule = 14 [deprecated = true]; - */ - public static final SyntaxKind IdentifierModule = IdentifierNamespace; - /** - * UnspecifiedSyntaxKind = 0; - */ - public static final int UnspecifiedSyntaxKind_VALUE = 0; - /** - *
-     * Comment, including comment markers and text
-     * 
- * - * Comment = 1; - */ - public static final int Comment_VALUE = 1; - /** - *
-     * `;` `.` `,`
-     * 
- * - * PunctuationDelimiter = 2; - */ - public static final int PunctuationDelimiter_VALUE = 2; - /** - *
-     * (), {}, [] when used syntactically
-     * 
- * - * PunctuationBracket = 3; - */ - public static final int PunctuationBracket_VALUE = 3; - /** - *
-     * `if`, `else`, `return`, `class`, etc.
-     * 
- * - * Keyword = 4; - */ - public static final int Keyword_VALUE = 4; - /** - * IdentifierKeyword = 4 [deprecated = true]; - */ - @java.lang.Deprecated public static final int IdentifierKeyword_VALUE = 4; - /** - *
-     * `+`, `*`, etc.
-     * 
- * - * IdentifierOperator = 5; - */ - public static final int IdentifierOperator_VALUE = 5; - /** - *
-     * non-specific catch-all for any identifier not better described elsewhere
-     * 
- * - * Identifier = 6; - */ - public static final int Identifier_VALUE = 6; - /** - *
-     * Identifiers builtin to the language: `min`, `print` in Python.
-     * 
- * - * IdentifierBuiltin = 7; - */ - public static final int IdentifierBuiltin_VALUE = 7; - /** - *
-     * Identifiers representing `null`-like values: `None` in Python, `nil` in Go.
-     * 
- * - * IdentifierNull = 8; - */ - public static final int IdentifierNull_VALUE = 8; - /** - *
-     * `xyz` in `const xyz = "hello"`
-     * 
- * - * IdentifierConstant = 9; - */ - public static final int IdentifierConstant_VALUE = 9; - /** - *
-     * `var X = "hello"` in Go
-     * 
- * - * IdentifierMutableGlobal = 10; - */ - public static final int IdentifierMutableGlobal_VALUE = 10; - /** - *
-     * Parameter definition and references
-     * 
- * - * IdentifierParameter = 11; - */ - public static final int IdentifierParameter_VALUE = 11; - /** - *
-     * Identifiers for variable definitions and references within a local scope
-     * 
- * - * IdentifierLocal = 12; - */ - public static final int IdentifierLocal_VALUE = 12; - /** - *
-     * Identifiers that shadow other identifiers in an outer scope
-     * 
- * - * IdentifierShadowed = 13; - */ - public static final int IdentifierShadowed_VALUE = 13; - /** - *
-     * Identifier representing a unit of code abstraction and/or namespacing.
-     *
-     * NOTE: This corresponds to a package in Go and JVM languages,
-     * and a module in languages like Python and JavaScript.
-     * 
- * - * IdentifierNamespace = 14; - */ - public static final int IdentifierNamespace_VALUE = 14; - /** - * IdentifierModule = 14 [deprecated = true]; - */ - @java.lang.Deprecated public static final int IdentifierModule_VALUE = 14; - /** - *
-     * Function references, including calls
-     * 
- * - * IdentifierFunction = 15; - */ - public static final int IdentifierFunction_VALUE = 15; - /** - *
-     * Function definition only
-     * 
- * - * IdentifierFunctionDefinition = 16; - */ - public static final int IdentifierFunctionDefinition_VALUE = 16; - /** - *
-     * Macro references, including invocations
-     * 
- * - * IdentifierMacro = 17; - */ - public static final int IdentifierMacro_VALUE = 17; - /** - *
-     * Macro definition only
-     * 
- * - * IdentifierMacroDefinition = 18; - */ - public static final int IdentifierMacroDefinition_VALUE = 18; - /** - *
-     * non-builtin types
-     * 
- * - * IdentifierType = 19; - */ - public static final int IdentifierType_VALUE = 19; - /** - *
-     * builtin types only, such as `str` for Python or `int` in Go
-     * 
- * - * IdentifierBuiltinType = 20; - */ - public static final int IdentifierBuiltinType_VALUE = 20; - /** - *
-     * Python decorators, c-like __attribute__
-     * 
- * - * IdentifierAttribute = 21; - */ - public static final int IdentifierAttribute_VALUE = 21; - /** - *
-     * `\b`
-     * 
- * - * RegexEscape = 22; - */ - public static final int RegexEscape_VALUE = 22; - /** - *
-     * `*`, `+`
-     * 
- * - * RegexRepeated = 23; - */ - public static final int RegexRepeated_VALUE = 23; - /** - *
-     * `.`
-     * 
- * - * RegexWildcard = 24; - */ - public static final int RegexWildcard_VALUE = 24; - /** - *
-     * `(`, `)`, `[`, `]`
-     * 
- * - * RegexDelimiter = 25; - */ - public static final int RegexDelimiter_VALUE = 25; - /** - *
-     * `|`, `-`
-     * 
- * - * RegexJoin = 26; - */ - public static final int RegexJoin_VALUE = 26; - /** - *
-     * Literal strings: "Hello, world!"
-     * 
- * - * StringLiteral = 27; - */ - public static final int StringLiteral_VALUE = 27; - /** - *
-     * non-regex escapes: "\t", "\n"
-     * 
- * - * StringLiteralEscape = 28; - */ - public static final int StringLiteralEscape_VALUE = 28; - /** - *
-     * datetimes within strings, special words within a string, `{}` in format strings
-     * 
- * - * StringLiteralSpecial = 29; - */ - public static final int StringLiteralSpecial_VALUE = 29; - /** - *
-     * "key" in { "key": "value" }, useful for example in JSON
-     * 
- * - * StringLiteralKey = 30; - */ - public static final int StringLiteralKey_VALUE = 30; - /** - *
-     * 'c' or similar, in languages that differentiate strings and characters
-     * 
- * - * CharacterLiteral = 31; - */ - public static final int CharacterLiteral_VALUE = 31; - /** - *
-     * Literal numbers, both floats and integers
-     * 
- * - * NumericLiteral = 32; - */ - public static final int NumericLiteral_VALUE = 32; - /** - *
-     * `true`, `false`
-     * 
- * - * BooleanLiteral = 33; - */ - public static final int BooleanLiteral_VALUE = 33; - /** - *
-     * Used for XML-like tags
-     * 
- * - * Tag = 34; - */ - public static final int Tag_VALUE = 34; - /** - *
-     * Attribute name in XML-like tags
-     * 
- * - * TagAttribute = 35; - */ - public static final int TagAttribute_VALUE = 35; - /** - *
-     * Delimiters for XML-like tags
-     * 
- * - * TagDelimiter = 36; - */ - public static final int TagDelimiter_VALUE = 36; - - - public final int getNumber() { - if (index == -1) { - 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 SyntaxKind 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 SyntaxKind forNumber(int value) { - switch (value) { - case 0: return UnspecifiedSyntaxKind; - case 1: return Comment; - case 2: return PunctuationDelimiter; - case 3: return PunctuationBracket; - case 4: return Keyword; - case 5: return IdentifierOperator; - case 6: return Identifier; - case 7: return IdentifierBuiltin; - case 8: return IdentifierNull; - case 9: return IdentifierConstant; - case 10: return IdentifierMutableGlobal; - case 11: return IdentifierParameter; - case 12: return IdentifierLocal; - case 13: return IdentifierShadowed; - case 14: return IdentifierNamespace; - case 15: return IdentifierFunction; - case 16: return IdentifierFunctionDefinition; - case 17: return IdentifierMacro; - case 18: return IdentifierMacroDefinition; - case 19: return IdentifierType; - case 20: return IdentifierBuiltinType; - case 21: return IdentifierAttribute; - case 22: return RegexEscape; - case 23: return RegexRepeated; - case 24: return RegexWildcard; - case 25: return RegexDelimiter; - case 26: return RegexJoin; - case 27: return StringLiteral; - case 28: return StringLiteralEscape; - case 29: return StringLiteralSpecial; - case 30: return StringLiteralKey; - case 31: return CharacterLiteral; - case 32: return NumericLiteral; - case 33: return BooleanLiteral; - case 34: return Tag; - case 35: return TagAttribute; - case 36: return TagDelimiter; - default: return null; - } - } - - public static com.google.protobuf.Internal.EnumLiteMap - internalGetValueMap() { - return internalValueMap; - } - private static final com.google.protobuf.Internal.EnumLiteMap< - SyntaxKind> internalValueMap = - new com.google.protobuf.Internal.EnumLiteMap() { - public SyntaxKind findValueByNumber(int number) { - return SyntaxKind.forNumber(number); - } - }; - - public final com.google.protobuf.Descriptors.EnumValueDescriptor - getValueDescriptor() { - if (index == -1) { - throw new java.lang.IllegalStateException( - "Can't get the descriptor of an unrecognized enum value."); - } - return getDescriptor().getValues().get(index); - } - public final com.google.protobuf.Descriptors.EnumDescriptor - getDescriptorForType() { - return getDescriptor(); - } - public static com.google.protobuf.Descriptors.EnumDescriptor - getDescriptor() { - return scip.Scip.getDescriptor().getEnumTypes().get(4); - } - - private static final SyntaxKind[] VALUES = getStaticValuesArray(); - private static SyntaxKind[] getStaticValuesArray() { - return new SyntaxKind[] { - UnspecifiedSyntaxKind, Comment, PunctuationDelimiter, PunctuationBracket, Keyword, IdentifierKeyword, IdentifierOperator, Identifier, IdentifierBuiltin, IdentifierNull, IdentifierConstant, IdentifierMutableGlobal, IdentifierParameter, IdentifierLocal, IdentifierShadowed, IdentifierNamespace, IdentifierModule, IdentifierFunction, IdentifierFunctionDefinition, IdentifierMacro, IdentifierMacroDefinition, IdentifierType, IdentifierBuiltinType, IdentifierAttribute, RegexEscape, RegexRepeated, RegexWildcard, RegexDelimiter, RegexJoin, StringLiteral, StringLiteralEscape, StringLiteralSpecial, StringLiteralKey, CharacterLiteral, NumericLiteral, BooleanLiteral, Tag, TagAttribute, TagDelimiter, - }; - } - public static SyntaxKind 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 index; - private final int value; - - private SyntaxKind(int index, int value) { - this.index = index; - this.value = value; - } - - // @@protoc_insertion_point(enum_scope:scip.SyntaxKind) - } - - /** - * Protobuf enum {@code scip.Severity} - */ - public enum Severity - implements com.google.protobuf.ProtocolMessageEnum { - /** - * UnspecifiedSeverity = 0; - */ - UnspecifiedSeverity(0), - /** - * Error = 1; - */ - Error(1), - /** - * Warning = 2; - */ - Warning(2), - /** - * Information = 3; - */ - Information(3), - /** - * Hint = 4; - */ - Hint(4), - UNRECOGNIZED(-1), - ; - - static { - com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( - com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, - /* major= */ 4, - /* minor= */ 32, - /* patch= */ 1, - /* suffix= */ "", - Severity.class.getName()); - } - /** - * UnspecifiedSeverity = 0; - */ - public static final int UnspecifiedSeverity_VALUE = 0; - /** - * Error = 1; - */ - public static final int Error_VALUE = 1; - /** - * Warning = 2; - */ - public static final int Warning_VALUE = 2; - /** - * Information = 3; - */ - public static final int Information_VALUE = 3; - /** - * Hint = 4; - */ - public static final int Hint_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 Severity 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 Severity forNumber(int value) { - switch (value) { - case 0: return UnspecifiedSeverity; - case 1: return Error; - case 2: return Warning; - case 3: return Information; - case 4: return Hint; - default: return null; - } - } - - public static com.google.protobuf.Internal.EnumLiteMap - internalGetValueMap() { - return internalValueMap; - } - private static final com.google.protobuf.Internal.EnumLiteMap< - Severity> internalValueMap = - new com.google.protobuf.Internal.EnumLiteMap() { - public Severity findValueByNumber(int number) { - return Severity.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 com.google.protobuf.Descriptors.EnumDescriptor - getDescriptor() { - return scip.Scip.getDescriptor().getEnumTypes().get(5); - } - - private static final Severity[] VALUES = values(); - - public static Severity 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 Severity(int value) { - this.value = value; - } - - // @@protoc_insertion_point(enum_scope:scip.Severity) - } - - /** - * Protobuf enum {@code scip.DiagnosticTag} - */ - public enum DiagnosticTag - implements com.google.protobuf.ProtocolMessageEnum { - /** - * UnspecifiedDiagnosticTag = 0; - */ - UnspecifiedDiagnosticTag(0), - /** - * Unnecessary = 1; - */ - Unnecessary(1), - /** - * Deprecated = 2; - */ - Deprecated(2), - UNRECOGNIZED(-1), - ; - - static { - com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( - com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, - /* major= */ 4, - /* minor= */ 32, - /* patch= */ 1, - /* suffix= */ "", - DiagnosticTag.class.getName()); - } - /** - * UnspecifiedDiagnosticTag = 0; - */ - public static final int UnspecifiedDiagnosticTag_VALUE = 0; - /** - * Unnecessary = 1; - */ - public static final int Unnecessary_VALUE = 1; - /** - * Deprecated = 2; - */ - public static final int Deprecated_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 DiagnosticTag 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 DiagnosticTag forNumber(int value) { - switch (value) { - case 0: return UnspecifiedDiagnosticTag; - case 1: return Unnecessary; - case 2: return Deprecated; - default: return null; - } - } - - public static com.google.protobuf.Internal.EnumLiteMap - internalGetValueMap() { - return internalValueMap; - } - private static final com.google.protobuf.Internal.EnumLiteMap< - DiagnosticTag> internalValueMap = - new com.google.protobuf.Internal.EnumLiteMap() { - public DiagnosticTag findValueByNumber(int number) { - return DiagnosticTag.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 com.google.protobuf.Descriptors.EnumDescriptor - getDescriptor() { - return scip.Scip.getDescriptor().getEnumTypes().get(6); - } - - private static final DiagnosticTag[] VALUES = values(); - - public static DiagnosticTag 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 DiagnosticTag(int value) { - this.value = value; - } - - // @@protoc_insertion_point(enum_scope:scip.DiagnosticTag) - } - - /** - *
-   * Language standardises names of common programming languages that can be used
-   * for the `Document.language` field. The primary purpose of this enum is to
-   * prevent a situation where we have a single programming language ends up with
-   * multiple string representations. For example, the C++ language uses the name
-   * "CPP" in this enum and other names such as "cpp" are incompatible.
-   * Feel free to send a pull-request to add missing programming languages.
-   * 
- * - * Protobuf enum {@code scip.Language} - */ - public enum Language - implements com.google.protobuf.ProtocolMessageEnum { - /** - * UnspecifiedLanguage = 0; - */ - UnspecifiedLanguage(0), - /** - * ABAP = 60; - */ - ABAP(60), - /** - * Apex = 96; - */ - Apex(96), - /** - * APL = 49; - */ - APL(49), - /** - * Ada = 39; - */ - Ada(39), - /** - * Agda = 45; - */ - Agda(45), - /** - * AsciiDoc = 86; - */ - AsciiDoc(86), - /** - * Assembly = 58; - */ - Assembly(58), - /** - * Awk = 66; - */ - Awk(66), - /** - * Bat = 68; - */ - Bat(68), - /** - * BibTeX = 81; - */ - BibTeX(81), - /** - * C = 34; - */ - C(34), - /** - * COBOL = 59; - */ - COBOL(59), - /** - *
-     * C++ (the name "CPP" was chosen for consistency with LSP)
-     * 
- * - * CPP = 35; - */ - CPP(35), - /** - * CSS = 26; - */ - CSS(26), - /** - * CSharp = 1; - */ - CSharp(1), - /** - * Clojure = 8; - */ - Clojure(8), - /** - * Coffeescript = 21; - */ - Coffeescript(21), - /** - * CommonLisp = 9; - */ - CommonLisp(9), - /** - * Coq = 47; - */ - Coq(47), - /** - * CUDA = 97; - */ - CUDA(97), - /** - * Dart = 3; - */ - Dart(3), - /** - * Delphi = 57; - */ - Delphi(57), - /** - * Diff = 88; - */ - Diff(88), - /** - * Dockerfile = 80; - */ - Dockerfile(80), - /** - * Dyalog = 50; - */ - Dyalog(50), - /** - * Elixir = 17; - */ - Elixir(17), - /** - * Erlang = 18; - */ - Erlang(18), - /** - * FSharp = 42; - */ - FSharp(42), - /** - * Fish = 65; - */ - Fish(65), - /** - * Flow = 24; - */ - Flow(24), - /** - * Fortran = 56; - */ - Fortran(56), - /** - * Git_Commit = 91; - */ - Git_Commit(91), - /** - * Git_Config = 89; - */ - Git_Config(89), - /** - * Git_Rebase = 92; - */ - Git_Rebase(92), - /** - * Go = 33; - */ - Go(33), - /** - * GraphQL = 98; - */ - GraphQL(98), - /** - * Groovy = 7; - */ - Groovy(7), - /** - * HTML = 30; - */ - HTML(30), - /** - * Hack = 20; - */ - Hack(20), - /** - * Handlebars = 90; - */ - Handlebars(90), - /** - * Haskell = 44; - */ - Haskell(44), - /** - * Idris = 46; - */ - Idris(46), - /** - * Ini = 72; - */ - Ini(72), - /** - * J = 51; - */ - J(51), - /** - * JSON = 75; - */ - JSON(75), - /** - * Java = 6; - */ - Java(6), - /** - * JavaScript = 22; - */ - JavaScript(22), - /** - * JavaScriptReact = 93; - */ - JavaScriptReact(93), - /** - * Jsonnet = 76; - */ - Jsonnet(76), - /** - * Julia = 55; - */ - Julia(55), - /** - * Justfile = 109; - */ - Justfile(109), - /** - * Kotlin = 4; - */ - Kotlin(4), - /** - * LaTeX = 83; - */ - LaTeX(83), - /** - * Lean = 48; - */ - Lean(48), - /** - * Less = 27; - */ - Less(27), - /** - * Lua = 12; - */ - Lua(12), - /** - * Luau = 108; - */ - Luau(108), - /** - * Makefile = 79; - */ - Makefile(79), - /** - * Markdown = 84; - */ - Markdown(84), - /** - * Matlab = 52; - */ - Matlab(52), - /** - *
-     * https://nickel-lang.org/
-     * 
- * - * Nickel = 110; - */ - Nickel(110), - /** - * Nix = 77; - */ - Nix(77), - /** - * OCaml = 41; - */ - OCaml(41), - /** - * Objective_C = 36; - */ - Objective_C(36), - /** - * Objective_CPP = 37; - */ - Objective_CPP(37), - /** - * Pascal = 99; - */ - Pascal(99), - /** - * PHP = 19; - */ - PHP(19), - /** - * PLSQL = 70; - */ - PLSQL(70), - /** - * Perl = 13; - */ - Perl(13), - /** - * PowerShell = 67; - */ - PowerShell(67), - /** - * Prolog = 71; - */ - Prolog(71), - /** - * Protobuf = 100; - */ - Protobuf(100), - /** - * Python = 15; - */ - Python(15), - /** - * R = 54; - */ - R(54), - /** - * Racket = 11; - */ - Racket(11), - /** - * Raku = 14; - */ - Raku(14), - /** - * Razor = 62; - */ - Razor(62), - /** - *
-     * Internal language for testing SCIP
-     * 
- * - * Repro = 102; - */ - Repro(102), - /** - * ReST = 85; - */ - ReST(85), - /** - * Ruby = 16; - */ - Ruby(16), - /** - * Rust = 40; - */ - Rust(40), - /** - * SAS = 61; - */ - SAS(61), - /** - * SCSS = 29; - */ - SCSS(29), - /** - * SML = 43; - */ - SML(43), - /** - * SQL = 69; - */ - SQL(69), - /** - * Sass = 28; - */ - Sass(28), - /** - * Scala = 5; - */ - Scala(5), - /** - * Scheme = 10; - */ - Scheme(10), - /** - *
-     * Bash
-     * 
- * - * ShellScript = 64; - */ - ShellScript(64), - /** - * Skylark = 78; - */ - Skylark(78), - /** - * Slang = 107; - */ - Slang(107), - /** - * Solidity = 95; - */ - Solidity(95), - /** - * Svelte = 106; - */ - Svelte(106), - /** - * Swift = 2; - */ - Swift(2), - /** - * Tcl = 101; - */ - Tcl(101), - /** - * TOML = 73; - */ - TOML(73), - /** - * TeX = 82; - */ - TeX(82), - /** - * Thrift = 103; - */ - Thrift(103), - /** - * TypeScript = 23; - */ - TypeScript(23), - /** - * TypeScriptReact = 94; - */ - TypeScriptReact(94), - /** - * Verilog = 104; - */ - Verilog(104), - /** - * VHDL = 105; - */ - VHDL(105), - /** - * VisualBasic = 63; - */ - VisualBasic(63), - /** - * Vue = 25; - */ - Vue(25), - /** - * Wolfram = 53; - */ - Wolfram(53), - /** - * XML = 31; - */ - XML(31), - /** - * XSL = 32; - */ - XSL(32), - /** - * YAML = 74; - */ - YAML(74), - /** - *
-     * NextLanguage = 111;
-     * Steps add a new language:
-     * 1. Copy-paste the "NextLanguage = N" line above
-     * 2. Increment "NextLanguage = N" to "NextLanguage = N+1"
-     * 3. Replace "NextLanguage = N" with the name of the new language.
-     * 4. Move the new language to the correct line above using alphabetical order
-     * 5. (optional) Add a brief comment behind the language if the name is not self-explanatory
-     * 
- * - * Zig = 38; - */ - Zig(38), - UNRECOGNIZED(-1), - ; - - static { - com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( - com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, - /* major= */ 4, - /* minor= */ 32, - /* patch= */ 1, - /* suffix= */ "", - Language.class.getName()); - } - /** - * UnspecifiedLanguage = 0; - */ - public static final int UnspecifiedLanguage_VALUE = 0; - /** - * ABAP = 60; - */ - public static final int ABAP_VALUE = 60; - /** - * Apex = 96; - */ - public static final int Apex_VALUE = 96; - /** - * APL = 49; - */ - public static final int APL_VALUE = 49; - /** - * Ada = 39; - */ - public static final int Ada_VALUE = 39; - /** - * Agda = 45; - */ - public static final int Agda_VALUE = 45; - /** - * AsciiDoc = 86; - */ - public static final int AsciiDoc_VALUE = 86; - /** - * Assembly = 58; - */ - public static final int Assembly_VALUE = 58; - /** - * Awk = 66; - */ - public static final int Awk_VALUE = 66; - /** - * Bat = 68; - */ - public static final int Bat_VALUE = 68; - /** - * BibTeX = 81; - */ - public static final int BibTeX_VALUE = 81; - /** - * C = 34; - */ - public static final int C_VALUE = 34; - /** - * COBOL = 59; - */ - public static final int COBOL_VALUE = 59; - /** - *
-     * C++ (the name "CPP" was chosen for consistency with LSP)
-     * 
- * - * CPP = 35; - */ - public static final int CPP_VALUE = 35; - /** - * CSS = 26; - */ - public static final int CSS_VALUE = 26; - /** - * CSharp = 1; - */ - public static final int CSharp_VALUE = 1; - /** - * Clojure = 8; - */ - public static final int Clojure_VALUE = 8; - /** - * Coffeescript = 21; - */ - public static final int Coffeescript_VALUE = 21; - /** - * CommonLisp = 9; - */ - public static final int CommonLisp_VALUE = 9; - /** - * Coq = 47; - */ - public static final int Coq_VALUE = 47; - /** - * CUDA = 97; - */ - public static final int CUDA_VALUE = 97; - /** - * Dart = 3; - */ - public static final int Dart_VALUE = 3; - /** - * Delphi = 57; - */ - public static final int Delphi_VALUE = 57; - /** - * Diff = 88; - */ - public static final int Diff_VALUE = 88; - /** - * Dockerfile = 80; - */ - public static final int Dockerfile_VALUE = 80; - /** - * Dyalog = 50; - */ - public static final int Dyalog_VALUE = 50; - /** - * Elixir = 17; - */ - public static final int Elixir_VALUE = 17; - /** - * Erlang = 18; - */ - public static final int Erlang_VALUE = 18; - /** - * FSharp = 42; - */ - public static final int FSharp_VALUE = 42; - /** - * Fish = 65; - */ - public static final int Fish_VALUE = 65; - /** - * Flow = 24; - */ - public static final int Flow_VALUE = 24; - /** - * Fortran = 56; - */ - public static final int Fortran_VALUE = 56; - /** - * Git_Commit = 91; - */ - public static final int Git_Commit_VALUE = 91; - /** - * Git_Config = 89; - */ - public static final int Git_Config_VALUE = 89; - /** - * Git_Rebase = 92; - */ - public static final int Git_Rebase_VALUE = 92; - /** - * Go = 33; - */ - public static final int Go_VALUE = 33; - /** - * GraphQL = 98; - */ - public static final int GraphQL_VALUE = 98; - /** - * Groovy = 7; - */ - public static final int Groovy_VALUE = 7; - /** - * HTML = 30; - */ - public static final int HTML_VALUE = 30; - /** - * Hack = 20; - */ - public static final int Hack_VALUE = 20; - /** - * Handlebars = 90; - */ - public static final int Handlebars_VALUE = 90; - /** - * Haskell = 44; - */ - public static final int Haskell_VALUE = 44; - /** - * Idris = 46; - */ - public static final int Idris_VALUE = 46; - /** - * Ini = 72; - */ - public static final int Ini_VALUE = 72; - /** - * J = 51; - */ - public static final int J_VALUE = 51; - /** - * JSON = 75; - */ - public static final int JSON_VALUE = 75; - /** - * Java = 6; - */ - public static final int Java_VALUE = 6; - /** - * JavaScript = 22; - */ - public static final int JavaScript_VALUE = 22; - /** - * JavaScriptReact = 93; - */ - public static final int JavaScriptReact_VALUE = 93; - /** - * Jsonnet = 76; - */ - public static final int Jsonnet_VALUE = 76; - /** - * Julia = 55; - */ - public static final int Julia_VALUE = 55; - /** - * Justfile = 109; - */ - public static final int Justfile_VALUE = 109; - /** - * Kotlin = 4; - */ - public static final int Kotlin_VALUE = 4; - /** - * LaTeX = 83; - */ - public static final int LaTeX_VALUE = 83; - /** - * Lean = 48; - */ - public static final int Lean_VALUE = 48; - /** - * Less = 27; - */ - public static final int Less_VALUE = 27; - /** - * Lua = 12; - */ - public static final int Lua_VALUE = 12; - /** - * Luau = 108; - */ - public static final int Luau_VALUE = 108; - /** - * Makefile = 79; - */ - public static final int Makefile_VALUE = 79; - /** - * Markdown = 84; - */ - public static final int Markdown_VALUE = 84; - /** - * Matlab = 52; - */ - public static final int Matlab_VALUE = 52; - /** - *
-     * https://nickel-lang.org/
-     * 
- * - * Nickel = 110; - */ - public static final int Nickel_VALUE = 110; - /** - * Nix = 77; - */ - public static final int Nix_VALUE = 77; - /** - * OCaml = 41; - */ - public static final int OCaml_VALUE = 41; - /** - * Objective_C = 36; - */ - public static final int Objective_C_VALUE = 36; - /** - * Objective_CPP = 37; - */ - public static final int Objective_CPP_VALUE = 37; - /** - * Pascal = 99; - */ - public static final int Pascal_VALUE = 99; - /** - * PHP = 19; - */ - public static final int PHP_VALUE = 19; - /** - * PLSQL = 70; - */ - public static final int PLSQL_VALUE = 70; - /** - * Perl = 13; - */ - public static final int Perl_VALUE = 13; - /** - * PowerShell = 67; - */ - public static final int PowerShell_VALUE = 67; - /** - * Prolog = 71; - */ - public static final int Prolog_VALUE = 71; - /** - * Protobuf = 100; - */ - public static final int Protobuf_VALUE = 100; - /** - * Python = 15; - */ - public static final int Python_VALUE = 15; - /** - * R = 54; - */ - public static final int R_VALUE = 54; - /** - * Racket = 11; - */ - public static final int Racket_VALUE = 11; - /** - * Raku = 14; - */ - public static final int Raku_VALUE = 14; - /** - * Razor = 62; - */ - public static final int Razor_VALUE = 62; - /** - *
-     * Internal language for testing SCIP
-     * 
- * - * Repro = 102; - */ - public static final int Repro_VALUE = 102; - /** - * ReST = 85; - */ - public static final int ReST_VALUE = 85; - /** - * Ruby = 16; - */ - public static final int Ruby_VALUE = 16; - /** - * Rust = 40; - */ - public static final int Rust_VALUE = 40; - /** - * SAS = 61; - */ - public static final int SAS_VALUE = 61; - /** - * SCSS = 29; - */ - public static final int SCSS_VALUE = 29; - /** - * SML = 43; - */ - public static final int SML_VALUE = 43; - /** - * SQL = 69; - */ - public static final int SQL_VALUE = 69; - /** - * Sass = 28; - */ - public static final int Sass_VALUE = 28; - /** - * Scala = 5; - */ - public static final int Scala_VALUE = 5; - /** - * Scheme = 10; - */ - public static final int Scheme_VALUE = 10; - /** - *
-     * Bash
-     * 
- * - * ShellScript = 64; - */ - public static final int ShellScript_VALUE = 64; - /** - * Skylark = 78; - */ - public static final int Skylark_VALUE = 78; - /** - * Slang = 107; - */ - public static final int Slang_VALUE = 107; - /** - * Solidity = 95; - */ - public static final int Solidity_VALUE = 95; - /** - * Svelte = 106; - */ - public static final int Svelte_VALUE = 106; - /** - * Swift = 2; - */ - public static final int Swift_VALUE = 2; - /** - * Tcl = 101; - */ - public static final int Tcl_VALUE = 101; - /** - * TOML = 73; - */ - public static final int TOML_VALUE = 73; - /** - * TeX = 82; - */ - public static final int TeX_VALUE = 82; - /** - * Thrift = 103; - */ - public static final int Thrift_VALUE = 103; - /** - * TypeScript = 23; - */ - public static final int TypeScript_VALUE = 23; - /** - * TypeScriptReact = 94; - */ - public static final int TypeScriptReact_VALUE = 94; - /** - * Verilog = 104; - */ - public static final int Verilog_VALUE = 104; - /** - * VHDL = 105; - */ - public static final int VHDL_VALUE = 105; - /** - * VisualBasic = 63; - */ - public static final int VisualBasic_VALUE = 63; - /** - * Vue = 25; - */ - public static final int Vue_VALUE = 25; - /** - * Wolfram = 53; - */ - public static final int Wolfram_VALUE = 53; - /** - * XML = 31; - */ - public static final int XML_VALUE = 31; - /** - * XSL = 32; - */ - public static final int XSL_VALUE = 32; - /** - * YAML = 74; - */ - public static final int YAML_VALUE = 74; - /** - *
-     * NextLanguage = 111;
-     * Steps add a new language:
-     * 1. Copy-paste the "NextLanguage = N" line above
-     * 2. Increment "NextLanguage = N" to "NextLanguage = N+1"
-     * 3. Replace "NextLanguage = N" with the name of the new language.
-     * 4. Move the new language to the correct line above using alphabetical order
-     * 5. (optional) Add a brief comment behind the language if the name is not self-explanatory
-     * 
- * - * Zig = 38; - */ - public static final int Zig_VALUE = 38; - - - 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 UnspecifiedLanguage; - case 60: return ABAP; - case 96: return Apex; - case 49: return APL; - case 39: return Ada; - case 45: return Agda; - case 86: return AsciiDoc; - case 58: return Assembly; - case 66: return Awk; - case 68: return Bat; - case 81: return BibTeX; - case 34: return C; - case 59: return COBOL; - case 35: return CPP; - case 26: return CSS; - case 1: return CSharp; - case 8: return Clojure; - case 21: return Coffeescript; - case 9: return CommonLisp; - case 47: return Coq; - case 97: return CUDA; - case 3: return Dart; - case 57: return Delphi; - case 88: return Diff; - case 80: return Dockerfile; - case 50: return Dyalog; - case 17: return Elixir; - case 18: return Erlang; - case 42: return FSharp; - case 65: return Fish; - case 24: return Flow; - case 56: return Fortran; - case 91: return Git_Commit; - case 89: return Git_Config; - case 92: return Git_Rebase; - case 33: return Go; - case 98: return GraphQL; - case 7: return Groovy; - case 30: return HTML; - case 20: return Hack; - case 90: return Handlebars; - case 44: return Haskell; - case 46: return Idris; - case 72: return Ini; - case 51: return J; - case 75: return JSON; - case 6: return Java; - case 22: return JavaScript; - case 93: return JavaScriptReact; - case 76: return Jsonnet; - case 55: return Julia; - case 109: return Justfile; - case 4: return Kotlin; - case 83: return LaTeX; - case 48: return Lean; - case 27: return Less; - case 12: return Lua; - case 108: return Luau; - case 79: return Makefile; - case 84: return Markdown; - case 52: return Matlab; - case 110: return Nickel; - case 77: return Nix; - case 41: return OCaml; - case 36: return Objective_C; - case 37: return Objective_CPP; - case 99: return Pascal; - case 19: return PHP; - case 70: return PLSQL; - case 13: return Perl; - case 67: return PowerShell; - case 71: return Prolog; - case 100: return Protobuf; - case 15: return Python; - case 54: return R; - case 11: return Racket; - case 14: return Raku; - case 62: return Razor; - case 102: return Repro; - case 85: return ReST; - case 16: return Ruby; - case 40: return Rust; - case 61: return SAS; - case 29: return SCSS; - case 43: return SML; - case 69: return SQL; - case 28: return Sass; - case 5: return Scala; - case 10: return Scheme; - case 64: return ShellScript; - case 78: return Skylark; - case 107: return Slang; - case 95: return Solidity; - case 106: return Svelte; - case 2: return Swift; - case 101: return Tcl; - case 73: return TOML; - case 82: return TeX; - case 103: return Thrift; - case 23: return TypeScript; - case 94: return TypeScriptReact; - case 104: return Verilog; - case 105: return VHDL; - case 63: return VisualBasic; - case 25: return Vue; - case 53: return Wolfram; - case 31: return XML; - case 32: return XSL; - case 74: return YAML; - case 38: return Zig; - 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 com.google.protobuf.Descriptors.EnumDescriptor - getDescriptor() { - return scip.Scip.getDescriptor().getEnumTypes().get(7); - } - - 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:scip.Language) - } - - public interface IndexOrBuilder extends - // @@protoc_insertion_point(interface_extends:scip.Index) - com.google.protobuf.MessageOrBuilder { - - /** - *
-     * Metadata about this index.
-     * 
- * - * .scip.Metadata metadata = 1 [json_name = "metadata"]; - * @return Whether the metadata field is set. - */ - boolean hasMetadata(); - /** - *
-     * Metadata about this index.
-     * 
- * - * .scip.Metadata metadata = 1 [json_name = "metadata"]; - * @return The metadata. - */ - scip.Scip.Metadata getMetadata(); - /** - *
-     * Metadata about this index.
-     * 
- * - * .scip.Metadata metadata = 1 [json_name = "metadata"]; - */ - scip.Scip.MetadataOrBuilder getMetadataOrBuilder(); - - /** - *
-     * Documents that belong to this index.
-     * 
- * - * repeated .scip.Document documents = 2 [json_name = "documents"]; - */ - java.util.List - getDocumentsList(); - /** - *
-     * Documents that belong to this index.
-     * 
- * - * repeated .scip.Document documents = 2 [json_name = "documents"]; - */ - scip.Scip.Document getDocuments(int index); - /** - *
-     * Documents that belong to this index.
-     * 
- * - * repeated .scip.Document documents = 2 [json_name = "documents"]; - */ - int getDocumentsCount(); - /** - *
-     * Documents that belong to this index.
-     * 
- * - * repeated .scip.Document documents = 2 [json_name = "documents"]; - */ - java.util.List - getDocumentsOrBuilderList(); - /** - *
-     * Documents that belong to this index.
-     * 
- * - * repeated .scip.Document documents = 2 [json_name = "documents"]; - */ - scip.Scip.DocumentOrBuilder getDocumentsOrBuilder( - int index); - - /** - *
-     * (optional) Symbols that are referenced from this index but are defined in
-     * an external package (a separate `Index` message). Leave this field empty
-     * if you assume the external package will get indexed separately. If the
-     * external package won't get indexed for some reason then you can use this
-     * field to provide hover documentation for those external symbols.
-     * 
- * - * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; - */ - java.util.List - getExternalSymbolsList(); - /** - *
-     * (optional) Symbols that are referenced from this index but are defined in
-     * an external package (a separate `Index` message). Leave this field empty
-     * if you assume the external package will get indexed separately. If the
-     * external package won't get indexed for some reason then you can use this
-     * field to provide hover documentation for those external symbols.
-     * 
- * - * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; - */ - scip.Scip.SymbolInformation getExternalSymbols(int index); - /** - *
-     * (optional) Symbols that are referenced from this index but are defined in
-     * an external package (a separate `Index` message). Leave this field empty
-     * if you assume the external package will get indexed separately. If the
-     * external package won't get indexed for some reason then you can use this
-     * field to provide hover documentation for those external symbols.
-     * 
- * - * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; - */ - int getExternalSymbolsCount(); - /** - *
-     * (optional) Symbols that are referenced from this index but are defined in
-     * an external package (a separate `Index` message). Leave this field empty
-     * if you assume the external package will get indexed separately. If the
-     * external package won't get indexed for some reason then you can use this
-     * field to provide hover documentation for those external symbols.
-     * 
- * - * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; - */ - java.util.List - getExternalSymbolsOrBuilderList(); - /** - *
-     * (optional) Symbols that are referenced from this index but are defined in
-     * an external package (a separate `Index` message). Leave this field empty
-     * if you assume the external package will get indexed separately. If the
-     * external package won't get indexed for some reason then you can use this
-     * field to provide hover documentation for those external symbols.
-     * 
- * - * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; - */ - scip.Scip.SymbolInformationOrBuilder getExternalSymbolsOrBuilder( - int index); - } - /** - *
-   * Index represents a complete SCIP index for a workspace this is rooted at a
-   * single directory. An Index message payload can have a large memory footprint
-   * and it's therefore recommended to emit and consume an Index payload one field
-   * value at a time. To permit streaming consumption of an Index payload, the
-   * `metadata` field must appear at the start of the stream and must only appear
-   * once in the stream. Other field values may appear in any order.
-   * 
- * - * Protobuf type {@code scip.Index} - */ - public static final class Index extends - com.google.protobuf.GeneratedMessage implements - // @@protoc_insertion_point(message_implements:scip.Index) - IndexOrBuilder { - private static final long serialVersionUID = 0L; - static { - com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( - com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, - /* major= */ 4, - /* minor= */ 32, - /* patch= */ 1, - /* suffix= */ "", - Index.class.getName()); - } - // Use Index.newBuilder() to construct. - private Index(com.google.protobuf.GeneratedMessage.Builder builder) { - super(builder); - } - private Index() { - documents_ = java.util.Collections.emptyList(); - externalSymbols_ = java.util.Collections.emptyList(); - } - - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return scip.Scip.internal_static_scip_Index_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessage.FieldAccessorTable - internalGetFieldAccessorTable() { - return scip.Scip.internal_static_scip_Index_fieldAccessorTable - .ensureFieldAccessorsInitialized( - scip.Scip.Index.class, scip.Scip.Index.Builder.class); - } - - private int bitField0_; - public static final int METADATA_FIELD_NUMBER = 1; - private scip.Scip.Metadata metadata_; - /** - *
-     * Metadata about this index.
-     * 
- * - * .scip.Metadata metadata = 1 [json_name = "metadata"]; - * @return Whether the metadata field is set. - */ - @java.lang.Override - public boolean hasMetadata() { - return ((bitField0_ & 0x00000001) != 0); - } - /** - *
-     * Metadata about this index.
-     * 
- * - * .scip.Metadata metadata = 1 [json_name = "metadata"]; - * @return The metadata. - */ - @java.lang.Override - public scip.Scip.Metadata getMetadata() { - return metadata_ == null ? scip.Scip.Metadata.getDefaultInstance() : metadata_; - } - /** - *
-     * Metadata about this index.
-     * 
- * - * .scip.Metadata metadata = 1 [json_name = "metadata"]; - */ - @java.lang.Override - public scip.Scip.MetadataOrBuilder getMetadataOrBuilder() { - return metadata_ == null ? scip.Scip.Metadata.getDefaultInstance() : metadata_; - } - - public static final int DOCUMENTS_FIELD_NUMBER = 2; - @SuppressWarnings("serial") - private java.util.List documents_; - /** - *
-     * Documents that belong to this index.
-     * 
- * - * repeated .scip.Document documents = 2 [json_name = "documents"]; - */ - @java.lang.Override - public java.util.List getDocumentsList() { - return documents_; - } - /** - *
-     * Documents that belong to this index.
-     * 
- * - * repeated .scip.Document documents = 2 [json_name = "documents"]; - */ - @java.lang.Override - public java.util.List - getDocumentsOrBuilderList() { - return documents_; - } - /** - *
-     * Documents that belong to this index.
-     * 
- * - * repeated .scip.Document documents = 2 [json_name = "documents"]; - */ - @java.lang.Override - public int getDocumentsCount() { - return documents_.size(); - } - /** - *
-     * Documents that belong to this index.
-     * 
- * - * repeated .scip.Document documents = 2 [json_name = "documents"]; - */ - @java.lang.Override - public scip.Scip.Document getDocuments(int index) { - return documents_.get(index); - } - /** - *
-     * Documents that belong to this index.
-     * 
- * - * repeated .scip.Document documents = 2 [json_name = "documents"]; - */ - @java.lang.Override - public scip.Scip.DocumentOrBuilder getDocumentsOrBuilder( - int index) { - return documents_.get(index); - } - - public static final int EXTERNAL_SYMBOLS_FIELD_NUMBER = 3; - @SuppressWarnings("serial") - private java.util.List externalSymbols_; - /** - *
-     * (optional) Symbols that are referenced from this index but are defined in
-     * an external package (a separate `Index` message). Leave this field empty
-     * if you assume the external package will get indexed separately. If the
-     * external package won't get indexed for some reason then you can use this
-     * field to provide hover documentation for those external symbols.
-     * 
- * - * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; - */ - @java.lang.Override - public java.util.List getExternalSymbolsList() { - return externalSymbols_; - } - /** - *
-     * (optional) Symbols that are referenced from this index but are defined in
-     * an external package (a separate `Index` message). Leave this field empty
-     * if you assume the external package will get indexed separately. If the
-     * external package won't get indexed for some reason then you can use this
-     * field to provide hover documentation for those external symbols.
-     * 
- * - * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; - */ - @java.lang.Override - public java.util.List - getExternalSymbolsOrBuilderList() { - return externalSymbols_; - } - /** - *
-     * (optional) Symbols that are referenced from this index but are defined in
-     * an external package (a separate `Index` message). Leave this field empty
-     * if you assume the external package will get indexed separately. If the
-     * external package won't get indexed for some reason then you can use this
-     * field to provide hover documentation for those external symbols.
-     * 
- * - * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; - */ - @java.lang.Override - public int getExternalSymbolsCount() { - return externalSymbols_.size(); - } - /** - *
-     * (optional) Symbols that are referenced from this index but are defined in
-     * an external package (a separate `Index` message). Leave this field empty
-     * if you assume the external package will get indexed separately. If the
-     * external package won't get indexed for some reason then you can use this
-     * field to provide hover documentation for those external symbols.
-     * 
- * - * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; - */ - @java.lang.Override - public scip.Scip.SymbolInformation getExternalSymbols(int index) { - return externalSymbols_.get(index); - } - /** - *
-     * (optional) Symbols that are referenced from this index but are defined in
-     * an external package (a separate `Index` message). Leave this field empty
-     * if you assume the external package will get indexed separately. If the
-     * external package won't get indexed for some reason then you can use this
-     * field to provide hover documentation for those external symbols.
-     * 
- * - * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; - */ - @java.lang.Override - public scip.Scip.SymbolInformationOrBuilder getExternalSymbolsOrBuilder( - int index) { - return externalSymbols_.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 (((bitField0_ & 0x00000001) != 0)) { - output.writeMessage(1, getMetadata()); - } - for (int i = 0; i < documents_.size(); i++) { - output.writeMessage(2, documents_.get(i)); - } - for (int i = 0; i < externalSymbols_.size(); i++) { - output.writeMessage(3, externalSymbols_.get(i)); - } - getUnknownFields().writeTo(output); - } - - @java.lang.Override - public int getSerializedSize() { - int size = memoizedSize; - if (size != -1) return size; - - size = 0; - if (((bitField0_ & 0x00000001) != 0)) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(1, getMetadata()); - } - for (int i = 0; i < documents_.size(); i++) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(2, documents_.get(i)); - } - for (int i = 0; i < externalSymbols_.size(); i++) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(3, externalSymbols_.get(i)); - } - size += getUnknownFields().getSerializedSize(); - memoizedSize = size; - return size; - } - - @java.lang.Override - public boolean equals(final java.lang.Object obj) { - if (obj == this) { - return true; - } - if (!(obj instanceof scip.Scip.Index)) { - return super.equals(obj); - } - scip.Scip.Index other = (scip.Scip.Index) obj; - - if (hasMetadata() != other.hasMetadata()) return false; - if (hasMetadata()) { - if (!getMetadata() - .equals(other.getMetadata())) return false; - } - if (!getDocumentsList() - .equals(other.getDocumentsList())) return false; - if (!getExternalSymbolsList() - .equals(other.getExternalSymbolsList())) return false; - if (!getUnknownFields().equals(other.getUnknownFields())) return false; - return true; - } - - @java.lang.Override - public int hashCode() { - if (memoizedHashCode != 0) { - return memoizedHashCode; - } - int hash = 41; - hash = (19 * hash) + getDescriptor().hashCode(); - if (hasMetadata()) { - hash = (37 * hash) + METADATA_FIELD_NUMBER; - hash = (53 * hash) + getMetadata().hashCode(); - } - if (getDocumentsCount() > 0) { - hash = (37 * hash) + DOCUMENTS_FIELD_NUMBER; - hash = (53 * hash) + getDocumentsList().hashCode(); - } - if (getExternalSymbolsCount() > 0) { - hash = (37 * hash) + EXTERNAL_SYMBOLS_FIELD_NUMBER; - hash = (53 * hash) + getExternalSymbolsList().hashCode(); - } - hash = (29 * hash) + getUnknownFields().hashCode(); - memoizedHashCode = hash; - return hash; - } - - public static scip.Scip.Index parseFrom( - java.nio.ByteBuffer data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static scip.Scip.Index parseFrom( - java.nio.ByteBuffer data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static scip.Scip.Index parseFrom( - com.google.protobuf.ByteString data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static scip.Scip.Index parseFrom( - com.google.protobuf.ByteString data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static scip.Scip.Index parseFrom(byte[] data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static scip.Scip.Index parseFrom( - byte[] data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static scip.Scip.Index parseFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input); - } - public static scip.Scip.Index parseFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input, extensionRegistry); - } - - public static scip.Scip.Index parseDelimitedFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseDelimitedWithIOException(PARSER, input); - } - - public static scip.Scip.Index parseDelimitedFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseDelimitedWithIOException(PARSER, input, extensionRegistry); - } - public static scip.Scip.Index parseFrom( - com.google.protobuf.CodedInputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input); - } - public static scip.Scip.Index parseFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input, extensionRegistry); - } - - @java.lang.Override - public Builder newBuilderForType() { return newBuilder(); } - public static Builder newBuilder() { - return DEFAULT_INSTANCE.toBuilder(); - } - public static Builder newBuilder(scip.Scip.Index 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.GeneratedMessage.BuilderParent parent) { - Builder builder = new Builder(parent); - return builder; - } - /** - *
-     * Index represents a complete SCIP index for a workspace this is rooted at a
-     * single directory. An Index message payload can have a large memory footprint
-     * and it's therefore recommended to emit and consume an Index payload one field
-     * value at a time. To permit streaming consumption of an Index payload, the
-     * `metadata` field must appear at the start of the stream and must only appear
-     * once in the stream. Other field values may appear in any order.
-     * 
- * - * Protobuf type {@code scip.Index} - */ - public static final class Builder extends - com.google.protobuf.GeneratedMessage.Builder implements - // @@protoc_insertion_point(builder_implements:scip.Index) - scip.Scip.IndexOrBuilder { - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return scip.Scip.internal_static_scip_Index_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessage.FieldAccessorTable - internalGetFieldAccessorTable() { - return scip.Scip.internal_static_scip_Index_fieldAccessorTable - .ensureFieldAccessorsInitialized( - scip.Scip.Index.class, scip.Scip.Index.Builder.class); - } - - // Construct using scip.Scip.Index.newBuilder() - private Builder() { - maybeForceBuilderInitialization(); - } - - private Builder( - com.google.protobuf.GeneratedMessage.BuilderParent parent) { - super(parent); - maybeForceBuilderInitialization(); - } - private void maybeForceBuilderInitialization() { - if (com.google.protobuf.GeneratedMessage - .alwaysUseFieldBuilders) { - internalGetMetadataFieldBuilder(); - internalGetDocumentsFieldBuilder(); - internalGetExternalSymbolsFieldBuilder(); - } - } - @java.lang.Override - public Builder clear() { - super.clear(); - bitField0_ = 0; - metadata_ = null; - if (metadataBuilder_ != null) { - metadataBuilder_.dispose(); - metadataBuilder_ = null; - } - if (documentsBuilder_ == null) { - documents_ = java.util.Collections.emptyList(); - } else { - documents_ = null; - documentsBuilder_.clear(); - } - bitField0_ = (bitField0_ & ~0x00000002); - if (externalSymbolsBuilder_ == null) { - externalSymbols_ = java.util.Collections.emptyList(); - } else { - externalSymbols_ = null; - externalSymbolsBuilder_.clear(); - } - bitField0_ = (bitField0_ & ~0x00000004); - return this; - } - - @java.lang.Override - public com.google.protobuf.Descriptors.Descriptor - getDescriptorForType() { - return scip.Scip.internal_static_scip_Index_descriptor; - } - - @java.lang.Override - public scip.Scip.Index getDefaultInstanceForType() { - return scip.Scip.Index.getDefaultInstance(); - } - - @java.lang.Override - public scip.Scip.Index build() { - scip.Scip.Index result = buildPartial(); - if (!result.isInitialized()) { - throw newUninitializedMessageException(result); - } - return result; - } - - @java.lang.Override - public scip.Scip.Index buildPartial() { - scip.Scip.Index result = new scip.Scip.Index(this); - buildPartialRepeatedFields(result); - if (bitField0_ != 0) { buildPartial0(result); } - onBuilt(); - return result; - } - - private void buildPartialRepeatedFields(scip.Scip.Index result) { - if (documentsBuilder_ == null) { - if (((bitField0_ & 0x00000002) != 0)) { - documents_ = java.util.Collections.unmodifiableList(documents_); - bitField0_ = (bitField0_ & ~0x00000002); - } - result.documents_ = documents_; - } else { - result.documents_ = documentsBuilder_.build(); - } - if (externalSymbolsBuilder_ == null) { - if (((bitField0_ & 0x00000004) != 0)) { - externalSymbols_ = java.util.Collections.unmodifiableList(externalSymbols_); - bitField0_ = (bitField0_ & ~0x00000004); - } - result.externalSymbols_ = externalSymbols_; - } else { - result.externalSymbols_ = externalSymbolsBuilder_.build(); - } - } - - private void buildPartial0(scip.Scip.Index result) { - int from_bitField0_ = bitField0_; - int to_bitField0_ = 0; - if (((from_bitField0_ & 0x00000001) != 0)) { - result.metadata_ = metadataBuilder_ == null - ? metadata_ - : metadataBuilder_.build(); - to_bitField0_ |= 0x00000001; - } - result.bitField0_ |= to_bitField0_; - } - - @java.lang.Override - public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof scip.Scip.Index) { - return mergeFrom((scip.Scip.Index)other); - } else { - super.mergeFrom(other); - return this; - } - } - - public Builder mergeFrom(scip.Scip.Index other) { - if (other == scip.Scip.Index.getDefaultInstance()) return this; - if (other.hasMetadata()) { - mergeMetadata(other.getMetadata()); - } - if (documentsBuilder_ == null) { - if (!other.documents_.isEmpty()) { - if (documents_.isEmpty()) { - documents_ = other.documents_; - bitField0_ = (bitField0_ & ~0x00000002); - } else { - ensureDocumentsIsMutable(); - documents_.addAll(other.documents_); - } - onChanged(); - } - } else { - if (!other.documents_.isEmpty()) { - if (documentsBuilder_.isEmpty()) { - documentsBuilder_.dispose(); - documentsBuilder_ = null; - documents_ = other.documents_; - bitField0_ = (bitField0_ & ~0x00000002); - documentsBuilder_ = - com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ? - internalGetDocumentsFieldBuilder() : null; - } else { - documentsBuilder_.addAllMessages(other.documents_); - } - } - } - if (externalSymbolsBuilder_ == null) { - if (!other.externalSymbols_.isEmpty()) { - if (externalSymbols_.isEmpty()) { - externalSymbols_ = other.externalSymbols_; - bitField0_ = (bitField0_ & ~0x00000004); - } else { - ensureExternalSymbolsIsMutable(); - externalSymbols_.addAll(other.externalSymbols_); - } - onChanged(); - } - } else { - if (!other.externalSymbols_.isEmpty()) { - if (externalSymbolsBuilder_.isEmpty()) { - externalSymbolsBuilder_.dispose(); - externalSymbolsBuilder_ = null; - externalSymbols_ = other.externalSymbols_; - bitField0_ = (bitField0_ & ~0x00000004); - externalSymbolsBuilder_ = - com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ? - internalGetExternalSymbolsFieldBuilder() : null; - } else { - externalSymbolsBuilder_.addAllMessages(other.externalSymbols_); - } - } - } - this.mergeUnknownFields(other.getUnknownFields()); - 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 { - if (extensionRegistry == null) { - throw new java.lang.NullPointerException(); - } - try { - boolean done = false; - while (!done) { - int tag = input.readTag(); - switch (tag) { - case 0: - done = true; - break; - case 10: { - input.readMessage( - internalGetMetadataFieldBuilder().getBuilder(), - extensionRegistry); - bitField0_ |= 0x00000001; - break; - } // case 10 - case 18: { - scip.Scip.Document m = - input.readMessage( - scip.Scip.Document.parser(), - extensionRegistry); - if (documentsBuilder_ == null) { - ensureDocumentsIsMutable(); - documents_.add(m); - } else { - documentsBuilder_.addMessage(m); - } - break; - } // case 18 - case 26: { - scip.Scip.SymbolInformation m = - input.readMessage( - scip.Scip.SymbolInformation.parser(), - extensionRegistry); - if (externalSymbolsBuilder_ == null) { - ensureExternalSymbolsIsMutable(); - externalSymbols_.add(m); - } else { - externalSymbolsBuilder_.addMessage(m); - } - break; - } // case 26 - default: { - if (!super.parseUnknownField(input, extensionRegistry, tag)) { - done = true; // was an endgroup tag - } - break; - } // default: - } // switch (tag) - } // while (!done) - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.unwrapIOException(); - } finally { - onChanged(); - } // finally - return this; - } - private int bitField0_; - - private scip.Scip.Metadata metadata_; - private com.google.protobuf.SingleFieldBuilder< - scip.Scip.Metadata, scip.Scip.Metadata.Builder, scip.Scip.MetadataOrBuilder> metadataBuilder_; - /** - *
-       * Metadata about this index.
-       * 
- * - * .scip.Metadata metadata = 1 [json_name = "metadata"]; - * @return Whether the metadata field is set. - */ - public boolean hasMetadata() { - return ((bitField0_ & 0x00000001) != 0); - } - /** - *
-       * Metadata about this index.
-       * 
- * - * .scip.Metadata metadata = 1 [json_name = "metadata"]; - * @return The metadata. - */ - public scip.Scip.Metadata getMetadata() { - if (metadataBuilder_ == null) { - return metadata_ == null ? scip.Scip.Metadata.getDefaultInstance() : metadata_; - } else { - return metadataBuilder_.getMessage(); - } - } - /** - *
-       * Metadata about this index.
-       * 
- * - * .scip.Metadata metadata = 1 [json_name = "metadata"]; - */ - public Builder setMetadata(scip.Scip.Metadata value) { - if (metadataBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - metadata_ = value; - } else { - metadataBuilder_.setMessage(value); - } - bitField0_ |= 0x00000001; - onChanged(); - return this; - } - /** - *
-       * Metadata about this index.
-       * 
- * - * .scip.Metadata metadata = 1 [json_name = "metadata"]; - */ - public Builder setMetadata( - scip.Scip.Metadata.Builder builderForValue) { - if (metadataBuilder_ == null) { - metadata_ = builderForValue.build(); - } else { - metadataBuilder_.setMessage(builderForValue.build()); - } - bitField0_ |= 0x00000001; - onChanged(); - return this; - } - /** - *
-       * Metadata about this index.
-       * 
- * - * .scip.Metadata metadata = 1 [json_name = "metadata"]; - */ - public Builder mergeMetadata(scip.Scip.Metadata value) { - if (metadataBuilder_ == null) { - if (((bitField0_ & 0x00000001) != 0) && - metadata_ != null && - metadata_ != scip.Scip.Metadata.getDefaultInstance()) { - getMetadataBuilder().mergeFrom(value); - } else { - metadata_ = value; - } - } else { - metadataBuilder_.mergeFrom(value); - } - if (metadata_ != null) { - bitField0_ |= 0x00000001; - onChanged(); - } - return this; - } - /** - *
-       * Metadata about this index.
-       * 
- * - * .scip.Metadata metadata = 1 [json_name = "metadata"]; - */ - public Builder clearMetadata() { - bitField0_ = (bitField0_ & ~0x00000001); - metadata_ = null; - if (metadataBuilder_ != null) { - metadataBuilder_.dispose(); - metadataBuilder_ = null; - } - onChanged(); - return this; - } - /** - *
-       * Metadata about this index.
-       * 
- * - * .scip.Metadata metadata = 1 [json_name = "metadata"]; - */ - public scip.Scip.Metadata.Builder getMetadataBuilder() { - bitField0_ |= 0x00000001; - onChanged(); - return internalGetMetadataFieldBuilder().getBuilder(); - } - /** - *
-       * Metadata about this index.
-       * 
- * - * .scip.Metadata metadata = 1 [json_name = "metadata"]; - */ - public scip.Scip.MetadataOrBuilder getMetadataOrBuilder() { - if (metadataBuilder_ != null) { - return metadataBuilder_.getMessageOrBuilder(); - } else { - return metadata_ == null ? - scip.Scip.Metadata.getDefaultInstance() : metadata_; - } - } - /** - *
-       * Metadata about this index.
-       * 
- * - * .scip.Metadata metadata = 1 [json_name = "metadata"]; - */ - private com.google.protobuf.SingleFieldBuilder< - scip.Scip.Metadata, scip.Scip.Metadata.Builder, scip.Scip.MetadataOrBuilder> - internalGetMetadataFieldBuilder() { - if (metadataBuilder_ == null) { - metadataBuilder_ = new com.google.protobuf.SingleFieldBuilder< - scip.Scip.Metadata, scip.Scip.Metadata.Builder, scip.Scip.MetadataOrBuilder>( - getMetadata(), - getParentForChildren(), - isClean()); - metadata_ = null; - } - return metadataBuilder_; - } - - private java.util.List documents_ = - java.util.Collections.emptyList(); - private void ensureDocumentsIsMutable() { - if (!((bitField0_ & 0x00000002) != 0)) { - documents_ = new java.util.ArrayList(documents_); - bitField0_ |= 0x00000002; - } - } - - private com.google.protobuf.RepeatedFieldBuilder< - scip.Scip.Document, scip.Scip.Document.Builder, scip.Scip.DocumentOrBuilder> documentsBuilder_; - - /** - *
-       * Documents that belong to this index.
-       * 
- * - * repeated .scip.Document documents = 2 [json_name = "documents"]; - */ - public java.util.List getDocumentsList() { - if (documentsBuilder_ == null) { - return java.util.Collections.unmodifiableList(documents_); - } else { - return documentsBuilder_.getMessageList(); - } - } - /** - *
-       * Documents that belong to this index.
-       * 
- * - * repeated .scip.Document documents = 2 [json_name = "documents"]; - */ - public int getDocumentsCount() { - if (documentsBuilder_ == null) { - return documents_.size(); - } else { - return documentsBuilder_.getCount(); - } - } - /** - *
-       * Documents that belong to this index.
-       * 
- * - * repeated .scip.Document documents = 2 [json_name = "documents"]; - */ - public scip.Scip.Document getDocuments(int index) { - if (documentsBuilder_ == null) { - return documents_.get(index); - } else { - return documentsBuilder_.getMessage(index); - } - } - /** - *
-       * Documents that belong to this index.
-       * 
- * - * repeated .scip.Document documents = 2 [json_name = "documents"]; - */ - public Builder setDocuments( - int index, scip.Scip.Document value) { - if (documentsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureDocumentsIsMutable(); - documents_.set(index, value); - onChanged(); - } else { - documentsBuilder_.setMessage(index, value); - } - return this; - } - /** - *
-       * Documents that belong to this index.
-       * 
- * - * repeated .scip.Document documents = 2 [json_name = "documents"]; - */ - public Builder setDocuments( - int index, scip.Scip.Document.Builder builderForValue) { - if (documentsBuilder_ == null) { - ensureDocumentsIsMutable(); - documents_.set(index, builderForValue.build()); - onChanged(); - } else { - documentsBuilder_.setMessage(index, builderForValue.build()); - } - return this; - } - /** - *
-       * Documents that belong to this index.
-       * 
- * - * repeated .scip.Document documents = 2 [json_name = "documents"]; - */ - public Builder addDocuments(scip.Scip.Document value) { - if (documentsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureDocumentsIsMutable(); - documents_.add(value); - onChanged(); - } else { - documentsBuilder_.addMessage(value); - } - return this; - } - /** - *
-       * Documents that belong to this index.
-       * 
- * - * repeated .scip.Document documents = 2 [json_name = "documents"]; - */ - public Builder addDocuments( - int index, scip.Scip.Document value) { - if (documentsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureDocumentsIsMutable(); - documents_.add(index, value); - onChanged(); - } else { - documentsBuilder_.addMessage(index, value); - } - return this; - } - /** - *
-       * Documents that belong to this index.
-       * 
- * - * repeated .scip.Document documents = 2 [json_name = "documents"]; - */ - public Builder addDocuments( - scip.Scip.Document.Builder builderForValue) { - if (documentsBuilder_ == null) { - ensureDocumentsIsMutable(); - documents_.add(builderForValue.build()); - onChanged(); - } else { - documentsBuilder_.addMessage(builderForValue.build()); - } - return this; - } - /** - *
-       * Documents that belong to this index.
-       * 
- * - * repeated .scip.Document documents = 2 [json_name = "documents"]; - */ - public Builder addDocuments( - int index, scip.Scip.Document.Builder builderForValue) { - if (documentsBuilder_ == null) { - ensureDocumentsIsMutable(); - documents_.add(index, builderForValue.build()); - onChanged(); - } else { - documentsBuilder_.addMessage(index, builderForValue.build()); - } - return this; - } - /** - *
-       * Documents that belong to this index.
-       * 
- * - * repeated .scip.Document documents = 2 [json_name = "documents"]; - */ - 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; - } - /** - *
-       * Documents that belong to this index.
-       * 
- * - * repeated .scip.Document documents = 2 [json_name = "documents"]; - */ - public Builder clearDocuments() { - if (documentsBuilder_ == null) { - documents_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000002); - onChanged(); - } else { - documentsBuilder_.clear(); - } - return this; - } - /** - *
-       * Documents that belong to this index.
-       * 
- * - * repeated .scip.Document documents = 2 [json_name = "documents"]; - */ - public Builder removeDocuments(int index) { - if (documentsBuilder_ == null) { - ensureDocumentsIsMutable(); - documents_.remove(index); - onChanged(); - } else { - documentsBuilder_.remove(index); - } - return this; - } - /** - *
-       * Documents that belong to this index.
-       * 
- * - * repeated .scip.Document documents = 2 [json_name = "documents"]; - */ - public scip.Scip.Document.Builder getDocumentsBuilder( - int index) { - return internalGetDocumentsFieldBuilder().getBuilder(index); - } - /** - *
-       * Documents that belong to this index.
-       * 
- * - * repeated .scip.Document documents = 2 [json_name = "documents"]; - */ - public scip.Scip.DocumentOrBuilder getDocumentsOrBuilder( - int index) { - if (documentsBuilder_ == null) { - return documents_.get(index); } else { - return documentsBuilder_.getMessageOrBuilder(index); - } - } - /** - *
-       * Documents that belong to this index.
-       * 
- * - * repeated .scip.Document documents = 2 [json_name = "documents"]; - */ - public java.util.List - getDocumentsOrBuilderList() { - if (documentsBuilder_ != null) { - return documentsBuilder_.getMessageOrBuilderList(); - } else { - return java.util.Collections.unmodifiableList(documents_); - } - } - /** - *
-       * Documents that belong to this index.
-       * 
- * - * repeated .scip.Document documents = 2 [json_name = "documents"]; - */ - public scip.Scip.Document.Builder addDocumentsBuilder() { - return internalGetDocumentsFieldBuilder().addBuilder( - scip.Scip.Document.getDefaultInstance()); - } - /** - *
-       * Documents that belong to this index.
-       * 
- * - * repeated .scip.Document documents = 2 [json_name = "documents"]; - */ - public scip.Scip.Document.Builder addDocumentsBuilder( - int index) { - return internalGetDocumentsFieldBuilder().addBuilder( - index, scip.Scip.Document.getDefaultInstance()); - } - /** - *
-       * Documents that belong to this index.
-       * 
- * - * repeated .scip.Document documents = 2 [json_name = "documents"]; - */ - public java.util.List - getDocumentsBuilderList() { - return internalGetDocumentsFieldBuilder().getBuilderList(); - } - private com.google.protobuf.RepeatedFieldBuilder< - scip.Scip.Document, scip.Scip.Document.Builder, scip.Scip.DocumentOrBuilder> - internalGetDocumentsFieldBuilder() { - if (documentsBuilder_ == null) { - documentsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder< - scip.Scip.Document, scip.Scip.Document.Builder, scip.Scip.DocumentOrBuilder>( - documents_, - ((bitField0_ & 0x00000002) != 0), - getParentForChildren(), - isClean()); - documents_ = null; - } - return documentsBuilder_; - } - - private java.util.List externalSymbols_ = - java.util.Collections.emptyList(); - private void ensureExternalSymbolsIsMutable() { - if (!((bitField0_ & 0x00000004) != 0)) { - externalSymbols_ = new java.util.ArrayList(externalSymbols_); - bitField0_ |= 0x00000004; - } - } - - private com.google.protobuf.RepeatedFieldBuilder< - scip.Scip.SymbolInformation, scip.Scip.SymbolInformation.Builder, scip.Scip.SymbolInformationOrBuilder> externalSymbolsBuilder_; - - /** - *
-       * (optional) Symbols that are referenced from this index but are defined in
-       * an external package (a separate `Index` message). Leave this field empty
-       * if you assume the external package will get indexed separately. If the
-       * external package won't get indexed for some reason then you can use this
-       * field to provide hover documentation for those external symbols.
-       * 
- * - * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; - */ - public java.util.List getExternalSymbolsList() { - if (externalSymbolsBuilder_ == null) { - return java.util.Collections.unmodifiableList(externalSymbols_); - } else { - return externalSymbolsBuilder_.getMessageList(); - } - } - /** - *
-       * (optional) Symbols that are referenced from this index but are defined in
-       * an external package (a separate `Index` message). Leave this field empty
-       * if you assume the external package will get indexed separately. If the
-       * external package won't get indexed for some reason then you can use this
-       * field to provide hover documentation for those external symbols.
-       * 
- * - * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; - */ - public int getExternalSymbolsCount() { - if (externalSymbolsBuilder_ == null) { - return externalSymbols_.size(); - } else { - return externalSymbolsBuilder_.getCount(); - } - } - /** - *
-       * (optional) Symbols that are referenced from this index but are defined in
-       * an external package (a separate `Index` message). Leave this field empty
-       * if you assume the external package will get indexed separately. If the
-       * external package won't get indexed for some reason then you can use this
-       * field to provide hover documentation for those external symbols.
-       * 
- * - * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; - */ - public scip.Scip.SymbolInformation getExternalSymbols(int index) { - if (externalSymbolsBuilder_ == null) { - return externalSymbols_.get(index); - } else { - return externalSymbolsBuilder_.getMessage(index); - } - } - /** - *
-       * (optional) Symbols that are referenced from this index but are defined in
-       * an external package (a separate `Index` message). Leave this field empty
-       * if you assume the external package will get indexed separately. If the
-       * external package won't get indexed for some reason then you can use this
-       * field to provide hover documentation for those external symbols.
-       * 
- * - * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; - */ - public Builder setExternalSymbols( - int index, scip.Scip.SymbolInformation value) { - if (externalSymbolsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureExternalSymbolsIsMutable(); - externalSymbols_.set(index, value); - onChanged(); - } else { - externalSymbolsBuilder_.setMessage(index, value); - } - return this; - } - /** - *
-       * (optional) Symbols that are referenced from this index but are defined in
-       * an external package (a separate `Index` message). Leave this field empty
-       * if you assume the external package will get indexed separately. If the
-       * external package won't get indexed for some reason then you can use this
-       * field to provide hover documentation for those external symbols.
-       * 
- * - * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; - */ - public Builder setExternalSymbols( - int index, scip.Scip.SymbolInformation.Builder builderForValue) { - if (externalSymbolsBuilder_ == null) { - ensureExternalSymbolsIsMutable(); - externalSymbols_.set(index, builderForValue.build()); - onChanged(); - } else { - externalSymbolsBuilder_.setMessage(index, builderForValue.build()); - } - return this; - } - /** - *
-       * (optional) Symbols that are referenced from this index but are defined in
-       * an external package (a separate `Index` message). Leave this field empty
-       * if you assume the external package will get indexed separately. If the
-       * external package won't get indexed for some reason then you can use this
-       * field to provide hover documentation for those external symbols.
-       * 
- * - * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; - */ - public Builder addExternalSymbols(scip.Scip.SymbolInformation value) { - if (externalSymbolsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureExternalSymbolsIsMutable(); - externalSymbols_.add(value); - onChanged(); - } else { - externalSymbolsBuilder_.addMessage(value); - } - return this; - } - /** - *
-       * (optional) Symbols that are referenced from this index but are defined in
-       * an external package (a separate `Index` message). Leave this field empty
-       * if you assume the external package will get indexed separately. If the
-       * external package won't get indexed for some reason then you can use this
-       * field to provide hover documentation for those external symbols.
-       * 
- * - * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; - */ - public Builder addExternalSymbols( - int index, scip.Scip.SymbolInformation value) { - if (externalSymbolsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureExternalSymbolsIsMutable(); - externalSymbols_.add(index, value); - onChanged(); - } else { - externalSymbolsBuilder_.addMessage(index, value); - } - return this; - } - /** - *
-       * (optional) Symbols that are referenced from this index but are defined in
-       * an external package (a separate `Index` message). Leave this field empty
-       * if you assume the external package will get indexed separately. If the
-       * external package won't get indexed for some reason then you can use this
-       * field to provide hover documentation for those external symbols.
-       * 
- * - * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; - */ - public Builder addExternalSymbols( - scip.Scip.SymbolInformation.Builder builderForValue) { - if (externalSymbolsBuilder_ == null) { - ensureExternalSymbolsIsMutable(); - externalSymbols_.add(builderForValue.build()); - onChanged(); - } else { - externalSymbolsBuilder_.addMessage(builderForValue.build()); - } - return this; - } - /** - *
-       * (optional) Symbols that are referenced from this index but are defined in
-       * an external package (a separate `Index` message). Leave this field empty
-       * if you assume the external package will get indexed separately. If the
-       * external package won't get indexed for some reason then you can use this
-       * field to provide hover documentation for those external symbols.
-       * 
- * - * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; - */ - public Builder addExternalSymbols( - int index, scip.Scip.SymbolInformation.Builder builderForValue) { - if (externalSymbolsBuilder_ == null) { - ensureExternalSymbolsIsMutable(); - externalSymbols_.add(index, builderForValue.build()); - onChanged(); - } else { - externalSymbolsBuilder_.addMessage(index, builderForValue.build()); - } - return this; - } - /** - *
-       * (optional) Symbols that are referenced from this index but are defined in
-       * an external package (a separate `Index` message). Leave this field empty
-       * if you assume the external package will get indexed separately. If the
-       * external package won't get indexed for some reason then you can use this
-       * field to provide hover documentation for those external symbols.
-       * 
- * - * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; - */ - public Builder addAllExternalSymbols( - java.lang.Iterable values) { - if (externalSymbolsBuilder_ == null) { - ensureExternalSymbolsIsMutable(); - com.google.protobuf.AbstractMessageLite.Builder.addAll( - values, externalSymbols_); - onChanged(); - } else { - externalSymbolsBuilder_.addAllMessages(values); - } - return this; - } - /** - *
-       * (optional) Symbols that are referenced from this index but are defined in
-       * an external package (a separate `Index` message). Leave this field empty
-       * if you assume the external package will get indexed separately. If the
-       * external package won't get indexed for some reason then you can use this
-       * field to provide hover documentation for those external symbols.
-       * 
- * - * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; - */ - public Builder clearExternalSymbols() { - if (externalSymbolsBuilder_ == null) { - externalSymbols_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000004); - onChanged(); - } else { - externalSymbolsBuilder_.clear(); - } - return this; - } - /** - *
-       * (optional) Symbols that are referenced from this index but are defined in
-       * an external package (a separate `Index` message). Leave this field empty
-       * if you assume the external package will get indexed separately. If the
-       * external package won't get indexed for some reason then you can use this
-       * field to provide hover documentation for those external symbols.
-       * 
- * - * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; - */ - public Builder removeExternalSymbols(int index) { - if (externalSymbolsBuilder_ == null) { - ensureExternalSymbolsIsMutable(); - externalSymbols_.remove(index); - onChanged(); - } else { - externalSymbolsBuilder_.remove(index); - } - return this; - } - /** - *
-       * (optional) Symbols that are referenced from this index but are defined in
-       * an external package (a separate `Index` message). Leave this field empty
-       * if you assume the external package will get indexed separately. If the
-       * external package won't get indexed for some reason then you can use this
-       * field to provide hover documentation for those external symbols.
-       * 
- * - * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; - */ - public scip.Scip.SymbolInformation.Builder getExternalSymbolsBuilder( - int index) { - return internalGetExternalSymbolsFieldBuilder().getBuilder(index); - } - /** - *
-       * (optional) Symbols that are referenced from this index but are defined in
-       * an external package (a separate `Index` message). Leave this field empty
-       * if you assume the external package will get indexed separately. If the
-       * external package won't get indexed for some reason then you can use this
-       * field to provide hover documentation for those external symbols.
-       * 
- * - * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; - */ - public scip.Scip.SymbolInformationOrBuilder getExternalSymbolsOrBuilder( - int index) { - if (externalSymbolsBuilder_ == null) { - return externalSymbols_.get(index); } else { - return externalSymbolsBuilder_.getMessageOrBuilder(index); - } - } - /** - *
-       * (optional) Symbols that are referenced from this index but are defined in
-       * an external package (a separate `Index` message). Leave this field empty
-       * if you assume the external package will get indexed separately. If the
-       * external package won't get indexed for some reason then you can use this
-       * field to provide hover documentation for those external symbols.
-       * 
- * - * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; - */ - public java.util.List - getExternalSymbolsOrBuilderList() { - if (externalSymbolsBuilder_ != null) { - return externalSymbolsBuilder_.getMessageOrBuilderList(); - } else { - return java.util.Collections.unmodifiableList(externalSymbols_); - } - } - /** - *
-       * (optional) Symbols that are referenced from this index but are defined in
-       * an external package (a separate `Index` message). Leave this field empty
-       * if you assume the external package will get indexed separately. If the
-       * external package won't get indexed for some reason then you can use this
-       * field to provide hover documentation for those external symbols.
-       * 
- * - * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; - */ - public scip.Scip.SymbolInformation.Builder addExternalSymbolsBuilder() { - return internalGetExternalSymbolsFieldBuilder().addBuilder( - scip.Scip.SymbolInformation.getDefaultInstance()); - } - /** - *
-       * (optional) Symbols that are referenced from this index but are defined in
-       * an external package (a separate `Index` message). Leave this field empty
-       * if you assume the external package will get indexed separately. If the
-       * external package won't get indexed for some reason then you can use this
-       * field to provide hover documentation for those external symbols.
-       * 
- * - * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; - */ - public scip.Scip.SymbolInformation.Builder addExternalSymbolsBuilder( - int index) { - return internalGetExternalSymbolsFieldBuilder().addBuilder( - index, scip.Scip.SymbolInformation.getDefaultInstance()); - } - /** - *
-       * (optional) Symbols that are referenced from this index but are defined in
-       * an external package (a separate `Index` message). Leave this field empty
-       * if you assume the external package will get indexed separately. If the
-       * external package won't get indexed for some reason then you can use this
-       * field to provide hover documentation for those external symbols.
-       * 
- * - * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; - */ - public java.util.List - getExternalSymbolsBuilderList() { - return internalGetExternalSymbolsFieldBuilder().getBuilderList(); - } - private com.google.protobuf.RepeatedFieldBuilder< - scip.Scip.SymbolInformation, scip.Scip.SymbolInformation.Builder, scip.Scip.SymbolInformationOrBuilder> - internalGetExternalSymbolsFieldBuilder() { - if (externalSymbolsBuilder_ == null) { - externalSymbolsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder< - scip.Scip.SymbolInformation, scip.Scip.SymbolInformation.Builder, scip.Scip.SymbolInformationOrBuilder>( - externalSymbols_, - ((bitField0_ & 0x00000004) != 0), - getParentForChildren(), - isClean()); - externalSymbols_ = null; - } - return externalSymbolsBuilder_; - } - - // @@protoc_insertion_point(builder_scope:scip.Index) - } - - // @@protoc_insertion_point(class_scope:scip.Index) - private static final scip.Scip.Index DEFAULT_INSTANCE; - static { - DEFAULT_INSTANCE = new scip.Scip.Index(); - } - - public static scip.Scip.Index getDefaultInstance() { - return DEFAULT_INSTANCE; - } - - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { - @java.lang.Override - public Index parsePartialFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - Builder builder = newBuilder(); - try { - builder.mergeFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.setUnfinishedMessage(builder.buildPartial()); - } catch (com.google.protobuf.UninitializedMessageException e) { - throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); - } catch (java.io.IOException e) { - throw new com.google.protobuf.InvalidProtocolBufferException(e) - .setUnfinishedMessage(builder.buildPartial()); - } - return builder.buildPartial(); - } - }; - - public static com.google.protobuf.Parser parser() { - return PARSER; - } - - @java.lang.Override - public com.google.protobuf.Parser getParserForType() { - return PARSER; - } - - @java.lang.Override - public scip.Scip.Index getDefaultInstanceForType() { - return DEFAULT_INSTANCE; - } - - } - - public interface MetadataOrBuilder extends - // @@protoc_insertion_point(interface_extends:scip.Metadata) - com.google.protobuf.MessageOrBuilder { - - /** - *
-     * Which version of this protocol was used to generate this index?
-     * 
- * - * .scip.ProtocolVersion version = 1 [json_name = "version"]; - * @return The enum numeric value on the wire for version. - */ - int getVersionValue(); - /** - *
-     * Which version of this protocol was used to generate this index?
-     * 
- * - * .scip.ProtocolVersion version = 1 [json_name = "version"]; - * @return The version. - */ - scip.Scip.ProtocolVersion getVersion(); - - /** - *
-     * Information about the tool that produced this index.
-     * 
- * - * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; - * @return Whether the toolInfo field is set. - */ - boolean hasToolInfo(); - /** - *
-     * Information about the tool that produced this index.
-     * 
- * - * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; - * @return The toolInfo. - */ - scip.Scip.ToolInfo getToolInfo(); - /** - *
-     * Information about the tool that produced this index.
-     * 
- * - * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; - */ - scip.Scip.ToolInfoOrBuilder getToolInfoOrBuilder(); - - /** - *
-     * URI-encoded absolute path to the root directory of this index. All
-     * documents in this index must appear in a subdirectory of this root
-     * directory.
-     * 
- * - * string project_root = 3 [json_name = "projectRoot"]; - * @return The projectRoot. - */ - java.lang.String getProjectRoot(); - /** - *
-     * URI-encoded absolute path to the root directory of this index. All
-     * documents in this index must appear in a subdirectory of this root
-     * directory.
-     * 
- * - * string project_root = 3 [json_name = "projectRoot"]; - * @return The bytes for projectRoot. - */ - com.google.protobuf.ByteString - getProjectRootBytes(); - - /** - *
-     * Text encoding of the source files on disk that are referenced from
-     * `Document.relative_path`. This value is unrelated to the `Document.text`
-     * field, which is a Protobuf string and hence must be UTF-8 encoded.
-     * 
- * - * .scip.TextEncoding text_document_encoding = 4 [json_name = "textDocumentEncoding"]; - * @return The enum numeric value on the wire for textDocumentEncoding. - */ - int getTextDocumentEncodingValue(); - /** - *
-     * Text encoding of the source files on disk that are referenced from
-     * `Document.relative_path`. This value is unrelated to the `Document.text`
-     * field, which is a Protobuf string and hence must be UTF-8 encoded.
-     * 
- * - * .scip.TextEncoding text_document_encoding = 4 [json_name = "textDocumentEncoding"]; - * @return The textDocumentEncoding. - */ - scip.Scip.TextEncoding getTextDocumentEncoding(); - } - /** - * Protobuf type {@code scip.Metadata} - */ - public static final class Metadata extends - com.google.protobuf.GeneratedMessage implements - // @@protoc_insertion_point(message_implements:scip.Metadata) - MetadataOrBuilder { - private static final long serialVersionUID = 0L; - static { - com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( - com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, - /* major= */ 4, - /* minor= */ 32, - /* patch= */ 1, - /* suffix= */ "", - Metadata.class.getName()); - } - // Use Metadata.newBuilder() to construct. - private Metadata(com.google.protobuf.GeneratedMessage.Builder builder) { - super(builder); - } - private Metadata() { - version_ = 0; - projectRoot_ = ""; - textDocumentEncoding_ = 0; - } - - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return scip.Scip.internal_static_scip_Metadata_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessage.FieldAccessorTable - internalGetFieldAccessorTable() { - return scip.Scip.internal_static_scip_Metadata_fieldAccessorTable - .ensureFieldAccessorsInitialized( - scip.Scip.Metadata.class, scip.Scip.Metadata.Builder.class); - } - - private int bitField0_; - public static final int VERSION_FIELD_NUMBER = 1; - private int version_ = 0; - /** - *
-     * Which version of this protocol was used to generate this index?
-     * 
- * - * .scip.ProtocolVersion version = 1 [json_name = "version"]; - * @return The enum numeric value on the wire for version. - */ - @java.lang.Override public int getVersionValue() { - return version_; - } - /** - *
-     * Which version of this protocol was used to generate this index?
-     * 
- * - * .scip.ProtocolVersion version = 1 [json_name = "version"]; - * @return The version. - */ - @java.lang.Override public scip.Scip.ProtocolVersion getVersion() { - scip.Scip.ProtocolVersion result = scip.Scip.ProtocolVersion.forNumber(version_); - return result == null ? scip.Scip.ProtocolVersion.UNRECOGNIZED : result; - } - - public static final int TOOL_INFO_FIELD_NUMBER = 2; - private scip.Scip.ToolInfo toolInfo_; - /** - *
-     * Information about the tool that produced this index.
-     * 
- * - * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; - * @return Whether the toolInfo field is set. - */ - @java.lang.Override - public boolean hasToolInfo() { - return ((bitField0_ & 0x00000001) != 0); - } - /** - *
-     * Information about the tool that produced this index.
-     * 
- * - * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; - * @return The toolInfo. - */ - @java.lang.Override - public scip.Scip.ToolInfo getToolInfo() { - return toolInfo_ == null ? scip.Scip.ToolInfo.getDefaultInstance() : toolInfo_; - } - /** - *
-     * Information about the tool that produced this index.
-     * 
- * - * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; - */ - @java.lang.Override - public scip.Scip.ToolInfoOrBuilder getToolInfoOrBuilder() { - return toolInfo_ == null ? scip.Scip.ToolInfo.getDefaultInstance() : toolInfo_; - } - - public static final int PROJECT_ROOT_FIELD_NUMBER = 3; - @SuppressWarnings("serial") - private volatile java.lang.Object projectRoot_ = ""; - /** - *
-     * URI-encoded absolute path to the root directory of this index. All
-     * documents in this index must appear in a subdirectory of this root
-     * directory.
-     * 
- * - * string project_root = 3 [json_name = "projectRoot"]; - * @return The projectRoot. - */ - @java.lang.Override - public java.lang.String getProjectRoot() { - java.lang.Object ref = projectRoot_; - 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(); - projectRoot_ = s; - return s; - } - } - /** - *
-     * URI-encoded absolute path to the root directory of this index. All
-     * documents in this index must appear in a subdirectory of this root
-     * directory.
-     * 
- * - * string project_root = 3 [json_name = "projectRoot"]; - * @return The bytes for projectRoot. - */ - @java.lang.Override - public com.google.protobuf.ByteString - getProjectRootBytes() { - java.lang.Object ref = projectRoot_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - projectRoot_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - - public static final int TEXT_DOCUMENT_ENCODING_FIELD_NUMBER = 4; - private int textDocumentEncoding_ = 0; - /** - *
-     * Text encoding of the source files on disk that are referenced from
-     * `Document.relative_path`. This value is unrelated to the `Document.text`
-     * field, which is a Protobuf string and hence must be UTF-8 encoded.
-     * 
- * - * .scip.TextEncoding text_document_encoding = 4 [json_name = "textDocumentEncoding"]; - * @return The enum numeric value on the wire for textDocumentEncoding. - */ - @java.lang.Override public int getTextDocumentEncodingValue() { - return textDocumentEncoding_; - } - /** - *
-     * Text encoding of the source files on disk that are referenced from
-     * `Document.relative_path`. This value is unrelated to the `Document.text`
-     * field, which is a Protobuf string and hence must be UTF-8 encoded.
-     * 
- * - * .scip.TextEncoding text_document_encoding = 4 [json_name = "textDocumentEncoding"]; - * @return The textDocumentEncoding. - */ - @java.lang.Override public scip.Scip.TextEncoding getTextDocumentEncoding() { - scip.Scip.TextEncoding result = scip.Scip.TextEncoding.forNumber(textDocumentEncoding_); - return result == null ? scip.Scip.TextEncoding.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 (version_ != scip.Scip.ProtocolVersion.UnspecifiedProtocolVersion.getNumber()) { - output.writeEnum(1, version_); - } - if (((bitField0_ & 0x00000001) != 0)) { - output.writeMessage(2, getToolInfo()); - } - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(projectRoot_)) { - com.google.protobuf.GeneratedMessage.writeString(output, 3, projectRoot_); - } - if (textDocumentEncoding_ != scip.Scip.TextEncoding.UnspecifiedTextEncoding.getNumber()) { - output.writeEnum(4, textDocumentEncoding_); - } - getUnknownFields().writeTo(output); - } - - @java.lang.Override - public int getSerializedSize() { - int size = memoizedSize; - if (size != -1) return size; - - size = 0; - if (version_ != scip.Scip.ProtocolVersion.UnspecifiedProtocolVersion.getNumber()) { - size += com.google.protobuf.CodedOutputStream - .computeEnumSize(1, version_); - } - if (((bitField0_ & 0x00000001) != 0)) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(2, getToolInfo()); - } - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(projectRoot_)) { - size += com.google.protobuf.GeneratedMessage.computeStringSize(3, projectRoot_); - } - if (textDocumentEncoding_ != scip.Scip.TextEncoding.UnspecifiedTextEncoding.getNumber()) { - size += com.google.protobuf.CodedOutputStream - .computeEnumSize(4, textDocumentEncoding_); - } - size += getUnknownFields().getSerializedSize(); - memoizedSize = size; - return size; - } - - @java.lang.Override - public boolean equals(final java.lang.Object obj) { - if (obj == this) { - return true; - } - if (!(obj instanceof scip.Scip.Metadata)) { - return super.equals(obj); - } - scip.Scip.Metadata other = (scip.Scip.Metadata) obj; - - if (version_ != other.version_) return false; - if (hasToolInfo() != other.hasToolInfo()) return false; - if (hasToolInfo()) { - if (!getToolInfo() - .equals(other.getToolInfo())) return false; - } - if (!getProjectRoot() - .equals(other.getProjectRoot())) return false; - if (textDocumentEncoding_ != other.textDocumentEncoding_) return false; - if (!getUnknownFields().equals(other.getUnknownFields())) 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) + VERSION_FIELD_NUMBER; - hash = (53 * hash) + version_; - if (hasToolInfo()) { - hash = (37 * hash) + TOOL_INFO_FIELD_NUMBER; - hash = (53 * hash) + getToolInfo().hashCode(); - } - hash = (37 * hash) + PROJECT_ROOT_FIELD_NUMBER; - hash = (53 * hash) + getProjectRoot().hashCode(); - hash = (37 * hash) + TEXT_DOCUMENT_ENCODING_FIELD_NUMBER; - hash = (53 * hash) + textDocumentEncoding_; - hash = (29 * hash) + getUnknownFields().hashCode(); - memoizedHashCode = hash; - return hash; - } - - public static scip.Scip.Metadata parseFrom( - java.nio.ByteBuffer data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static scip.Scip.Metadata parseFrom( - java.nio.ByteBuffer data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static scip.Scip.Metadata parseFrom( - com.google.protobuf.ByteString data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static scip.Scip.Metadata parseFrom( - com.google.protobuf.ByteString data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static scip.Scip.Metadata parseFrom(byte[] data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static scip.Scip.Metadata parseFrom( - byte[] data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static scip.Scip.Metadata parseFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input); - } - public static scip.Scip.Metadata parseFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input, extensionRegistry); - } - - public static scip.Scip.Metadata parseDelimitedFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseDelimitedWithIOException(PARSER, input); - } - - public static scip.Scip.Metadata parseDelimitedFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseDelimitedWithIOException(PARSER, input, extensionRegistry); - } - public static scip.Scip.Metadata parseFrom( - com.google.protobuf.CodedInputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input); - } - public static scip.Scip.Metadata parseFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input, extensionRegistry); - } - - @java.lang.Override - public Builder newBuilderForType() { return newBuilder(); } - public static Builder newBuilder() { - return DEFAULT_INSTANCE.toBuilder(); - } - public static Builder newBuilder(scip.Scip.Metadata 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.GeneratedMessage.BuilderParent parent) { - Builder builder = new Builder(parent); - return builder; - } - /** - * Protobuf type {@code scip.Metadata} - */ - public static final class Builder extends - com.google.protobuf.GeneratedMessage.Builder implements - // @@protoc_insertion_point(builder_implements:scip.Metadata) - scip.Scip.MetadataOrBuilder { - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return scip.Scip.internal_static_scip_Metadata_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessage.FieldAccessorTable - internalGetFieldAccessorTable() { - return scip.Scip.internal_static_scip_Metadata_fieldAccessorTable - .ensureFieldAccessorsInitialized( - scip.Scip.Metadata.class, scip.Scip.Metadata.Builder.class); - } - - // Construct using scip.Scip.Metadata.newBuilder() - private Builder() { - maybeForceBuilderInitialization(); - } - - private Builder( - com.google.protobuf.GeneratedMessage.BuilderParent parent) { - super(parent); - maybeForceBuilderInitialization(); - } - private void maybeForceBuilderInitialization() { - if (com.google.protobuf.GeneratedMessage - .alwaysUseFieldBuilders) { - internalGetToolInfoFieldBuilder(); - } - } - @java.lang.Override - public Builder clear() { - super.clear(); - bitField0_ = 0; - version_ = 0; - toolInfo_ = null; - if (toolInfoBuilder_ != null) { - toolInfoBuilder_.dispose(); - toolInfoBuilder_ = null; - } - projectRoot_ = ""; - textDocumentEncoding_ = 0; - return this; - } - - @java.lang.Override - public com.google.protobuf.Descriptors.Descriptor - getDescriptorForType() { - return scip.Scip.internal_static_scip_Metadata_descriptor; - } - - @java.lang.Override - public scip.Scip.Metadata getDefaultInstanceForType() { - return scip.Scip.Metadata.getDefaultInstance(); - } - - @java.lang.Override - public scip.Scip.Metadata build() { - scip.Scip.Metadata result = buildPartial(); - if (!result.isInitialized()) { - throw newUninitializedMessageException(result); - } - return result; - } - - @java.lang.Override - public scip.Scip.Metadata buildPartial() { - scip.Scip.Metadata result = new scip.Scip.Metadata(this); - if (bitField0_ != 0) { buildPartial0(result); } - onBuilt(); - return result; - } - - private void buildPartial0(scip.Scip.Metadata result) { - int from_bitField0_ = bitField0_; - if (((from_bitField0_ & 0x00000001) != 0)) { - result.version_ = version_; - } - int to_bitField0_ = 0; - if (((from_bitField0_ & 0x00000002) != 0)) { - result.toolInfo_ = toolInfoBuilder_ == null - ? toolInfo_ - : toolInfoBuilder_.build(); - to_bitField0_ |= 0x00000001; - } - if (((from_bitField0_ & 0x00000004) != 0)) { - result.projectRoot_ = projectRoot_; - } - if (((from_bitField0_ & 0x00000008) != 0)) { - result.textDocumentEncoding_ = textDocumentEncoding_; - } - result.bitField0_ |= to_bitField0_; - } - - @java.lang.Override - public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof scip.Scip.Metadata) { - return mergeFrom((scip.Scip.Metadata)other); - } else { - super.mergeFrom(other); - return this; - } - } - - public Builder mergeFrom(scip.Scip.Metadata other) { - if (other == scip.Scip.Metadata.getDefaultInstance()) return this; - if (other.version_ != 0) { - setVersionValue(other.getVersionValue()); - } - if (other.hasToolInfo()) { - mergeToolInfo(other.getToolInfo()); - } - if (!other.getProjectRoot().isEmpty()) { - projectRoot_ = other.projectRoot_; - bitField0_ |= 0x00000004; - onChanged(); - } - if (other.textDocumentEncoding_ != 0) { - setTextDocumentEncodingValue(other.getTextDocumentEncodingValue()); - } - this.mergeUnknownFields(other.getUnknownFields()); - 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 { - if (extensionRegistry == null) { - throw new java.lang.NullPointerException(); - } - try { - boolean done = false; - while (!done) { - int tag = input.readTag(); - switch (tag) { - case 0: - done = true; - break; - case 8: { - version_ = input.readEnum(); - bitField0_ |= 0x00000001; - break; - } // case 8 - case 18: { - input.readMessage( - internalGetToolInfoFieldBuilder().getBuilder(), - extensionRegistry); - bitField0_ |= 0x00000002; - break; - } // case 18 - case 26: { - projectRoot_ = input.readStringRequireUtf8(); - bitField0_ |= 0x00000004; - break; - } // case 26 - case 32: { - textDocumentEncoding_ = input.readEnum(); - bitField0_ |= 0x00000008; - break; - } // case 32 - default: { - if (!super.parseUnknownField(input, extensionRegistry, tag)) { - done = true; // was an endgroup tag - } - break; - } // default: - } // switch (tag) - } // while (!done) - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.unwrapIOException(); - } finally { - onChanged(); - } // finally - return this; - } - private int bitField0_; - - private int version_ = 0; - /** - *
-       * Which version of this protocol was used to generate this index?
-       * 
- * - * .scip.ProtocolVersion version = 1 [json_name = "version"]; - * @return The enum numeric value on the wire for version. - */ - @java.lang.Override public int getVersionValue() { - return version_; - } - /** - *
-       * Which version of this protocol was used to generate this index?
-       * 
- * - * .scip.ProtocolVersion version = 1 [json_name = "version"]; - * @param value The enum numeric value on the wire for version to set. - * @return This builder for chaining. - */ - public Builder setVersionValue(int value) { - version_ = value; - bitField0_ |= 0x00000001; - onChanged(); - return this; - } - /** - *
-       * Which version of this protocol was used to generate this index?
-       * 
- * - * .scip.ProtocolVersion version = 1 [json_name = "version"]; - * @return The version. - */ - @java.lang.Override - public scip.Scip.ProtocolVersion getVersion() { - scip.Scip.ProtocolVersion result = scip.Scip.ProtocolVersion.forNumber(version_); - return result == null ? scip.Scip.ProtocolVersion.UNRECOGNIZED : result; - } - /** - *
-       * Which version of this protocol was used to generate this index?
-       * 
- * - * .scip.ProtocolVersion version = 1 [json_name = "version"]; - * @param value The version to set. - * @return This builder for chaining. - */ - public Builder setVersion(scip.Scip.ProtocolVersion value) { - if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000001; - version_ = value.getNumber(); - onChanged(); - return this; - } - /** - *
-       * Which version of this protocol was used to generate this index?
-       * 
- * - * .scip.ProtocolVersion version = 1 [json_name = "version"]; - * @return This builder for chaining. - */ - public Builder clearVersion() { - bitField0_ = (bitField0_ & ~0x00000001); - version_ = 0; - onChanged(); - return this; - } - - private scip.Scip.ToolInfo toolInfo_; - private com.google.protobuf.SingleFieldBuilder< - scip.Scip.ToolInfo, scip.Scip.ToolInfo.Builder, scip.Scip.ToolInfoOrBuilder> toolInfoBuilder_; - /** - *
-       * Information about the tool that produced this index.
-       * 
- * - * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; - * @return Whether the toolInfo field is set. - */ - public boolean hasToolInfo() { - return ((bitField0_ & 0x00000002) != 0); - } - /** - *
-       * Information about the tool that produced this index.
-       * 
- * - * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; - * @return The toolInfo. - */ - public scip.Scip.ToolInfo getToolInfo() { - if (toolInfoBuilder_ == null) { - return toolInfo_ == null ? scip.Scip.ToolInfo.getDefaultInstance() : toolInfo_; - } else { - return toolInfoBuilder_.getMessage(); - } - } - /** - *
-       * Information about the tool that produced this index.
-       * 
- * - * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; - */ - public Builder setToolInfo(scip.Scip.ToolInfo value) { - if (toolInfoBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - toolInfo_ = value; - } else { - toolInfoBuilder_.setMessage(value); - } - bitField0_ |= 0x00000002; - onChanged(); - return this; - } - /** - *
-       * Information about the tool that produced this index.
-       * 
- * - * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; - */ - public Builder setToolInfo( - scip.Scip.ToolInfo.Builder builderForValue) { - if (toolInfoBuilder_ == null) { - toolInfo_ = builderForValue.build(); - } else { - toolInfoBuilder_.setMessage(builderForValue.build()); - } - bitField0_ |= 0x00000002; - onChanged(); - return this; - } - /** - *
-       * Information about the tool that produced this index.
-       * 
- * - * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; - */ - public Builder mergeToolInfo(scip.Scip.ToolInfo value) { - if (toolInfoBuilder_ == null) { - if (((bitField0_ & 0x00000002) != 0) && - toolInfo_ != null && - toolInfo_ != scip.Scip.ToolInfo.getDefaultInstance()) { - getToolInfoBuilder().mergeFrom(value); - } else { - toolInfo_ = value; - } - } else { - toolInfoBuilder_.mergeFrom(value); - } - if (toolInfo_ != null) { - bitField0_ |= 0x00000002; - onChanged(); - } - return this; - } - /** - *
-       * Information about the tool that produced this index.
-       * 
- * - * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; - */ - public Builder clearToolInfo() { - bitField0_ = (bitField0_ & ~0x00000002); - toolInfo_ = null; - if (toolInfoBuilder_ != null) { - toolInfoBuilder_.dispose(); - toolInfoBuilder_ = null; - } - onChanged(); - return this; - } - /** - *
-       * Information about the tool that produced this index.
-       * 
- * - * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; - */ - public scip.Scip.ToolInfo.Builder getToolInfoBuilder() { - bitField0_ |= 0x00000002; - onChanged(); - return internalGetToolInfoFieldBuilder().getBuilder(); - } - /** - *
-       * Information about the tool that produced this index.
-       * 
- * - * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; - */ - public scip.Scip.ToolInfoOrBuilder getToolInfoOrBuilder() { - if (toolInfoBuilder_ != null) { - return toolInfoBuilder_.getMessageOrBuilder(); - } else { - return toolInfo_ == null ? - scip.Scip.ToolInfo.getDefaultInstance() : toolInfo_; - } - } - /** - *
-       * Information about the tool that produced this index.
-       * 
- * - * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; - */ - private com.google.protobuf.SingleFieldBuilder< - scip.Scip.ToolInfo, scip.Scip.ToolInfo.Builder, scip.Scip.ToolInfoOrBuilder> - internalGetToolInfoFieldBuilder() { - if (toolInfoBuilder_ == null) { - toolInfoBuilder_ = new com.google.protobuf.SingleFieldBuilder< - scip.Scip.ToolInfo, scip.Scip.ToolInfo.Builder, scip.Scip.ToolInfoOrBuilder>( - getToolInfo(), - getParentForChildren(), - isClean()); - toolInfo_ = null; - } - return toolInfoBuilder_; - } - - private java.lang.Object projectRoot_ = ""; - /** - *
-       * URI-encoded absolute path to the root directory of this index. All
-       * documents in this index must appear in a subdirectory of this root
-       * directory.
-       * 
- * - * string project_root = 3 [json_name = "projectRoot"]; - * @return The projectRoot. - */ - public java.lang.String getProjectRoot() { - java.lang.Object ref = projectRoot_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - projectRoot_ = s; - return s; - } else { - return (java.lang.String) ref; - } - } - /** - *
-       * URI-encoded absolute path to the root directory of this index. All
-       * documents in this index must appear in a subdirectory of this root
-       * directory.
-       * 
- * - * string project_root = 3 [json_name = "projectRoot"]; - * @return The bytes for projectRoot. - */ - public com.google.protobuf.ByteString - getProjectRootBytes() { - java.lang.Object ref = projectRoot_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - projectRoot_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - /** - *
-       * URI-encoded absolute path to the root directory of this index. All
-       * documents in this index must appear in a subdirectory of this root
-       * directory.
-       * 
- * - * string project_root = 3 [json_name = "projectRoot"]; - * @param value The projectRoot to set. - * @return This builder for chaining. - */ - public Builder setProjectRoot( - java.lang.String value) { - if (value == null) { throw new NullPointerException(); } - projectRoot_ = value; - bitField0_ |= 0x00000004; - onChanged(); - return this; - } - /** - *
-       * URI-encoded absolute path to the root directory of this index. All
-       * documents in this index must appear in a subdirectory of this root
-       * directory.
-       * 
- * - * string project_root = 3 [json_name = "projectRoot"]; - * @return This builder for chaining. - */ - public Builder clearProjectRoot() { - projectRoot_ = getDefaultInstance().getProjectRoot(); - bitField0_ = (bitField0_ & ~0x00000004); - onChanged(); - return this; - } - /** - *
-       * URI-encoded absolute path to the root directory of this index. All
-       * documents in this index must appear in a subdirectory of this root
-       * directory.
-       * 
- * - * string project_root = 3 [json_name = "projectRoot"]; - * @param value The bytes for projectRoot to set. - * @return This builder for chaining. - */ - public Builder setProjectRootBytes( - com.google.protobuf.ByteString value) { - if (value == null) { throw new NullPointerException(); } - checkByteStringIsUtf8(value); - projectRoot_ = value; - bitField0_ |= 0x00000004; - onChanged(); - return this; - } - - private int textDocumentEncoding_ = 0; - /** - *
-       * Text encoding of the source files on disk that are referenced from
-       * `Document.relative_path`. This value is unrelated to the `Document.text`
-       * field, which is a Protobuf string and hence must be UTF-8 encoded.
-       * 
- * - * .scip.TextEncoding text_document_encoding = 4 [json_name = "textDocumentEncoding"]; - * @return The enum numeric value on the wire for textDocumentEncoding. - */ - @java.lang.Override public int getTextDocumentEncodingValue() { - return textDocumentEncoding_; - } - /** - *
-       * Text encoding of the source files on disk that are referenced from
-       * `Document.relative_path`. This value is unrelated to the `Document.text`
-       * field, which is a Protobuf string and hence must be UTF-8 encoded.
-       * 
- * - * .scip.TextEncoding text_document_encoding = 4 [json_name = "textDocumentEncoding"]; - * @param value The enum numeric value on the wire for textDocumentEncoding to set. - * @return This builder for chaining. - */ - public Builder setTextDocumentEncodingValue(int value) { - textDocumentEncoding_ = value; - bitField0_ |= 0x00000008; - onChanged(); - return this; - } - /** - *
-       * Text encoding of the source files on disk that are referenced from
-       * `Document.relative_path`. This value is unrelated to the `Document.text`
-       * field, which is a Protobuf string and hence must be UTF-8 encoded.
-       * 
- * - * .scip.TextEncoding text_document_encoding = 4 [json_name = "textDocumentEncoding"]; - * @return The textDocumentEncoding. - */ - @java.lang.Override - public scip.Scip.TextEncoding getTextDocumentEncoding() { - scip.Scip.TextEncoding result = scip.Scip.TextEncoding.forNumber(textDocumentEncoding_); - return result == null ? scip.Scip.TextEncoding.UNRECOGNIZED : result; - } - /** - *
-       * Text encoding of the source files on disk that are referenced from
-       * `Document.relative_path`. This value is unrelated to the `Document.text`
-       * field, which is a Protobuf string and hence must be UTF-8 encoded.
-       * 
- * - * .scip.TextEncoding text_document_encoding = 4 [json_name = "textDocumentEncoding"]; - * @param value The textDocumentEncoding to set. - * @return This builder for chaining. - */ - public Builder setTextDocumentEncoding(scip.Scip.TextEncoding value) { - if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000008; - textDocumentEncoding_ = value.getNumber(); - onChanged(); - return this; - } - /** - *
-       * Text encoding of the source files on disk that are referenced from
-       * `Document.relative_path`. This value is unrelated to the `Document.text`
-       * field, which is a Protobuf string and hence must be UTF-8 encoded.
-       * 
- * - * .scip.TextEncoding text_document_encoding = 4 [json_name = "textDocumentEncoding"]; - * @return This builder for chaining. - */ - public Builder clearTextDocumentEncoding() { - bitField0_ = (bitField0_ & ~0x00000008); - textDocumentEncoding_ = 0; - onChanged(); - return this; - } - - // @@protoc_insertion_point(builder_scope:scip.Metadata) - } - - // @@protoc_insertion_point(class_scope:scip.Metadata) - private static final scip.Scip.Metadata DEFAULT_INSTANCE; - static { - DEFAULT_INSTANCE = new scip.Scip.Metadata(); - } - - public static scip.Scip.Metadata getDefaultInstance() { - return DEFAULT_INSTANCE; - } - - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { - @java.lang.Override - public Metadata parsePartialFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - Builder builder = newBuilder(); - try { - builder.mergeFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.setUnfinishedMessage(builder.buildPartial()); - } catch (com.google.protobuf.UninitializedMessageException e) { - throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); - } catch (java.io.IOException e) { - throw new com.google.protobuf.InvalidProtocolBufferException(e) - .setUnfinishedMessage(builder.buildPartial()); - } - return builder.buildPartial(); - } - }; - - public static com.google.protobuf.Parser parser() { - return PARSER; - } - - @java.lang.Override - public com.google.protobuf.Parser getParserForType() { - return PARSER; - } - - @java.lang.Override - public scip.Scip.Metadata getDefaultInstanceForType() { - return DEFAULT_INSTANCE; - } - - } - - public interface ToolInfoOrBuilder extends - // @@protoc_insertion_point(interface_extends:scip.ToolInfo) - com.google.protobuf.MessageOrBuilder { - - /** - *
-     * Name of the indexer that produced this index.
-     * 
- * - * string name = 1 [json_name = "name"]; - * @return The name. - */ - java.lang.String getName(); - /** - *
-     * Name of the indexer that produced this index.
-     * 
- * - * string name = 1 [json_name = "name"]; - * @return The bytes for name. - */ - com.google.protobuf.ByteString - getNameBytes(); - - /** - *
-     * Version of the indexer that produced this index.
-     * 
- * - * string version = 2 [json_name = "version"]; - * @return The version. - */ - java.lang.String getVersion(); - /** - *
-     * Version of the indexer that produced this index.
-     * 
- * - * string version = 2 [json_name = "version"]; - * @return The bytes for version. - */ - com.google.protobuf.ByteString - getVersionBytes(); - - /** - *
-     * Command-line arguments that were used to invoke this indexer.
-     * 
- * - * repeated string arguments = 3 [json_name = "arguments"]; - * @return A list containing the arguments. - */ - java.util.List - getArgumentsList(); - /** - *
-     * Command-line arguments that were used to invoke this indexer.
-     * 
- * - * repeated string arguments = 3 [json_name = "arguments"]; - * @return The count of arguments. - */ - int getArgumentsCount(); - /** - *
-     * Command-line arguments that were used to invoke this indexer.
-     * 
- * - * repeated string arguments = 3 [json_name = "arguments"]; - * @param index The index of the element to return. - * @return The arguments at the given index. - */ - java.lang.String getArguments(int index); - /** - *
-     * Command-line arguments that were used to invoke this indexer.
-     * 
- * - * repeated string arguments = 3 [json_name = "arguments"]; - * @param index The index of the value to return. - * @return The bytes of the arguments at the given index. - */ - com.google.protobuf.ByteString - getArgumentsBytes(int index); - } - /** - * Protobuf type {@code scip.ToolInfo} - */ - public static final class ToolInfo extends - com.google.protobuf.GeneratedMessage implements - // @@protoc_insertion_point(message_implements:scip.ToolInfo) - ToolInfoOrBuilder { - private static final long serialVersionUID = 0L; - static { - com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( - com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, - /* major= */ 4, - /* minor= */ 32, - /* patch= */ 1, - /* suffix= */ "", - ToolInfo.class.getName()); - } - // Use ToolInfo.newBuilder() to construct. - private ToolInfo(com.google.protobuf.GeneratedMessage.Builder builder) { - super(builder); - } - private ToolInfo() { - name_ = ""; - version_ = ""; - arguments_ = - com.google.protobuf.LazyStringArrayList.emptyList(); - } - - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return scip.Scip.internal_static_scip_ToolInfo_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessage.FieldAccessorTable - internalGetFieldAccessorTable() { - return scip.Scip.internal_static_scip_ToolInfo_fieldAccessorTable - .ensureFieldAccessorsInitialized( - scip.Scip.ToolInfo.class, scip.Scip.ToolInfo.Builder.class); - } - - public static final int NAME_FIELD_NUMBER = 1; - @SuppressWarnings("serial") - private volatile java.lang.Object name_ = ""; - /** - *
-     * Name of the indexer that produced this index.
-     * 
- * - * string name = 1 [json_name = "name"]; - * @return The name. - */ - @java.lang.Override - public java.lang.String getName() { - java.lang.Object ref = name_; - 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(); - name_ = s; - return s; - } - } - /** - *
-     * Name of the indexer that produced this index.
-     * 
- * - * string name = 1 [json_name = "name"]; - * @return The bytes for name. - */ - @java.lang.Override - public com.google.protobuf.ByteString - getNameBytes() { - java.lang.Object ref = name_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - name_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - - public static final int VERSION_FIELD_NUMBER = 2; - @SuppressWarnings("serial") - private volatile java.lang.Object version_ = ""; - /** - *
-     * Version of the indexer that produced this index.
-     * 
- * - * string version = 2 [json_name = "version"]; - * @return The version. - */ - @java.lang.Override - public java.lang.String getVersion() { - java.lang.Object ref = version_; - 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(); - version_ = s; - return s; - } - } - /** - *
-     * Version of the indexer that produced this index.
-     * 
- * - * string version = 2 [json_name = "version"]; - * @return The bytes for version. - */ - @java.lang.Override - public com.google.protobuf.ByteString - getVersionBytes() { - java.lang.Object ref = version_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - version_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - - public static final int ARGUMENTS_FIELD_NUMBER = 3; - @SuppressWarnings("serial") - private com.google.protobuf.LazyStringArrayList arguments_ = - com.google.protobuf.LazyStringArrayList.emptyList(); - /** - *
-     * Command-line arguments that were used to invoke this indexer.
-     * 
- * - * repeated string arguments = 3 [json_name = "arguments"]; - * @return A list containing the arguments. - */ - public com.google.protobuf.ProtocolStringList - getArgumentsList() { - return arguments_; - } - /** - *
-     * Command-line arguments that were used to invoke this indexer.
-     * 
- * - * repeated string arguments = 3 [json_name = "arguments"]; - * @return The count of arguments. - */ - public int getArgumentsCount() { - return arguments_.size(); - } - /** - *
-     * Command-line arguments that were used to invoke this indexer.
-     * 
- * - * repeated string arguments = 3 [json_name = "arguments"]; - * @param index The index of the element to return. - * @return The arguments at the given index. - */ - public java.lang.String getArguments(int index) { - return arguments_.get(index); - } - /** - *
-     * Command-line arguments that were used to invoke this indexer.
-     * 
- * - * repeated string arguments = 3 [json_name = "arguments"]; - * @param index The index of the value to return. - * @return The bytes of the arguments at the given index. - */ - public com.google.protobuf.ByteString - getArgumentsBytes(int index) { - return arguments_.getByteString(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 (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) { - com.google.protobuf.GeneratedMessage.writeString(output, 1, name_); - } - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(version_)) { - com.google.protobuf.GeneratedMessage.writeString(output, 2, version_); - } - for (int i = 0; i < arguments_.size(); i++) { - com.google.protobuf.GeneratedMessage.writeString(output, 3, arguments_.getRaw(i)); - } - getUnknownFields().writeTo(output); - } - - @java.lang.Override - public int getSerializedSize() { - int size = memoizedSize; - if (size != -1) return size; - - size = 0; - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) { - size += com.google.protobuf.GeneratedMessage.computeStringSize(1, name_); - } - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(version_)) { - size += com.google.protobuf.GeneratedMessage.computeStringSize(2, version_); - } - { - int dataSize = 0; - for (int i = 0; i < arguments_.size(); i++) { - dataSize += computeStringSizeNoTag(arguments_.getRaw(i)); - } - size += dataSize; - size += 1 * getArgumentsList().size(); - } - size += getUnknownFields().getSerializedSize(); - memoizedSize = size; - return size; - } - - @java.lang.Override - public boolean equals(final java.lang.Object obj) { - if (obj == this) { - return true; - } - if (!(obj instanceof scip.Scip.ToolInfo)) { - return super.equals(obj); - } - scip.Scip.ToolInfo other = (scip.Scip.ToolInfo) obj; - - if (!getName() - .equals(other.getName())) return false; - if (!getVersion() - .equals(other.getVersion())) return false; - if (!getArgumentsList() - .equals(other.getArgumentsList())) return false; - if (!getUnknownFields().equals(other.getUnknownFields())) 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) + NAME_FIELD_NUMBER; - hash = (53 * hash) + getName().hashCode(); - hash = (37 * hash) + VERSION_FIELD_NUMBER; - hash = (53 * hash) + getVersion().hashCode(); - if (getArgumentsCount() > 0) { - hash = (37 * hash) + ARGUMENTS_FIELD_NUMBER; - hash = (53 * hash) + getArgumentsList().hashCode(); - } - hash = (29 * hash) + getUnknownFields().hashCode(); - memoizedHashCode = hash; - return hash; - } - - public static scip.Scip.ToolInfo parseFrom( - java.nio.ByteBuffer data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static scip.Scip.ToolInfo parseFrom( - java.nio.ByteBuffer data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static scip.Scip.ToolInfo parseFrom( - com.google.protobuf.ByteString data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static scip.Scip.ToolInfo parseFrom( - com.google.protobuf.ByteString data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static scip.Scip.ToolInfo parseFrom(byte[] data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static scip.Scip.ToolInfo parseFrom( - byte[] data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static scip.Scip.ToolInfo parseFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input); - } - public static scip.Scip.ToolInfo parseFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input, extensionRegistry); - } - - public static scip.Scip.ToolInfo parseDelimitedFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseDelimitedWithIOException(PARSER, input); - } - - public static scip.Scip.ToolInfo parseDelimitedFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseDelimitedWithIOException(PARSER, input, extensionRegistry); - } - public static scip.Scip.ToolInfo parseFrom( - com.google.protobuf.CodedInputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input); - } - public static scip.Scip.ToolInfo parseFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input, extensionRegistry); - } - - @java.lang.Override - public Builder newBuilderForType() { return newBuilder(); } - public static Builder newBuilder() { - return DEFAULT_INSTANCE.toBuilder(); - } - public static Builder newBuilder(scip.Scip.ToolInfo 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.GeneratedMessage.BuilderParent parent) { - Builder builder = new Builder(parent); - return builder; - } - /** - * Protobuf type {@code scip.ToolInfo} - */ - public static final class Builder extends - com.google.protobuf.GeneratedMessage.Builder implements - // @@protoc_insertion_point(builder_implements:scip.ToolInfo) - scip.Scip.ToolInfoOrBuilder { - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return scip.Scip.internal_static_scip_ToolInfo_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessage.FieldAccessorTable - internalGetFieldAccessorTable() { - return scip.Scip.internal_static_scip_ToolInfo_fieldAccessorTable - .ensureFieldAccessorsInitialized( - scip.Scip.ToolInfo.class, scip.Scip.ToolInfo.Builder.class); - } - - // Construct using scip.Scip.ToolInfo.newBuilder() - private Builder() { - - } - - private Builder( - com.google.protobuf.GeneratedMessage.BuilderParent parent) { - super(parent); - - } - @java.lang.Override - public Builder clear() { - super.clear(); - bitField0_ = 0; - name_ = ""; - version_ = ""; - arguments_ = - com.google.protobuf.LazyStringArrayList.emptyList(); - return this; - } - - @java.lang.Override - public com.google.protobuf.Descriptors.Descriptor - getDescriptorForType() { - return scip.Scip.internal_static_scip_ToolInfo_descriptor; - } - - @java.lang.Override - public scip.Scip.ToolInfo getDefaultInstanceForType() { - return scip.Scip.ToolInfo.getDefaultInstance(); - } - - @java.lang.Override - public scip.Scip.ToolInfo build() { - scip.Scip.ToolInfo result = buildPartial(); - if (!result.isInitialized()) { - throw newUninitializedMessageException(result); - } - return result; - } - - @java.lang.Override - public scip.Scip.ToolInfo buildPartial() { - scip.Scip.ToolInfo result = new scip.Scip.ToolInfo(this); - if (bitField0_ != 0) { buildPartial0(result); } - onBuilt(); - return result; - } - - private void buildPartial0(scip.Scip.ToolInfo result) { - int from_bitField0_ = bitField0_; - if (((from_bitField0_ & 0x00000001) != 0)) { - result.name_ = name_; - } - if (((from_bitField0_ & 0x00000002) != 0)) { - result.version_ = version_; - } - if (((from_bitField0_ & 0x00000004) != 0)) { - arguments_.makeImmutable(); - result.arguments_ = arguments_; - } - } - - @java.lang.Override - public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof scip.Scip.ToolInfo) { - return mergeFrom((scip.Scip.ToolInfo)other); - } else { - super.mergeFrom(other); - return this; - } - } - - public Builder mergeFrom(scip.Scip.ToolInfo other) { - if (other == scip.Scip.ToolInfo.getDefaultInstance()) return this; - if (!other.getName().isEmpty()) { - name_ = other.name_; - bitField0_ |= 0x00000001; - onChanged(); - } - if (!other.getVersion().isEmpty()) { - version_ = other.version_; - bitField0_ |= 0x00000002; - onChanged(); - } - if (!other.arguments_.isEmpty()) { - if (arguments_.isEmpty()) { - arguments_ = other.arguments_; - bitField0_ |= 0x00000004; - } else { - ensureArgumentsIsMutable(); - arguments_.addAll(other.arguments_); - } - onChanged(); - } - this.mergeUnknownFields(other.getUnknownFields()); - 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 { - if (extensionRegistry == null) { - throw new java.lang.NullPointerException(); - } - try { - boolean done = false; - while (!done) { - int tag = input.readTag(); - switch (tag) { - case 0: - done = true; - break; - case 10: { - name_ = input.readStringRequireUtf8(); - bitField0_ |= 0x00000001; - break; - } // case 10 - case 18: { - version_ = input.readStringRequireUtf8(); - bitField0_ |= 0x00000002; - break; - } // case 18 - case 26: { - java.lang.String s = input.readStringRequireUtf8(); - ensureArgumentsIsMutable(); - arguments_.add(s); - break; - } // case 26 - default: { - if (!super.parseUnknownField(input, extensionRegistry, tag)) { - done = true; // was an endgroup tag - } - break; - } // default: - } // switch (tag) - } // while (!done) - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.unwrapIOException(); - } finally { - onChanged(); - } // finally - return this; - } - private int bitField0_; - - private java.lang.Object name_ = ""; - /** - *
-       * Name of the indexer that produced this index.
-       * 
- * - * string name = 1 [json_name = "name"]; - * @return The name. - */ - public java.lang.String getName() { - java.lang.Object ref = name_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - name_ = s; - return s; - } else { - return (java.lang.String) ref; - } - } - /** - *
-       * Name of the indexer that produced this index.
-       * 
- * - * string name = 1 [json_name = "name"]; - * @return The bytes for name. - */ - public com.google.protobuf.ByteString - getNameBytes() { - java.lang.Object ref = name_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - name_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - /** - *
-       * Name of the indexer that produced this index.
-       * 
- * - * string name = 1 [json_name = "name"]; - * @param value The name to set. - * @return This builder for chaining. - */ - public Builder setName( - java.lang.String value) { - if (value == null) { throw new NullPointerException(); } - name_ = value; - bitField0_ |= 0x00000001; - onChanged(); - return this; - } - /** - *
-       * Name of the indexer that produced this index.
-       * 
- * - * string name = 1 [json_name = "name"]; - * @return This builder for chaining. - */ - public Builder clearName() { - name_ = getDefaultInstance().getName(); - bitField0_ = (bitField0_ & ~0x00000001); - onChanged(); - return this; - } - /** - *
-       * Name of the indexer that produced this index.
-       * 
- * - * string name = 1 [json_name = "name"]; - * @param value The bytes for name to set. - * @return This builder for chaining. - */ - public Builder setNameBytes( - com.google.protobuf.ByteString value) { - if (value == null) { throw new NullPointerException(); } - checkByteStringIsUtf8(value); - name_ = value; - bitField0_ |= 0x00000001; - onChanged(); - return this; - } - - private java.lang.Object version_ = ""; - /** - *
-       * Version of the indexer that produced this index.
-       * 
- * - * string version = 2 [json_name = "version"]; - * @return The version. - */ - public java.lang.String getVersion() { - java.lang.Object ref = version_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - version_ = s; - return s; - } else { - return (java.lang.String) ref; - } - } - /** - *
-       * Version of the indexer that produced this index.
-       * 
- * - * string version = 2 [json_name = "version"]; - * @return The bytes for version. - */ - public com.google.protobuf.ByteString - getVersionBytes() { - java.lang.Object ref = version_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - version_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - /** - *
-       * Version of the indexer that produced this index.
-       * 
- * - * string version = 2 [json_name = "version"]; - * @param value The version to set. - * @return This builder for chaining. - */ - public Builder setVersion( - java.lang.String value) { - if (value == null) { throw new NullPointerException(); } - version_ = value; - bitField0_ |= 0x00000002; - onChanged(); - return this; - } - /** - *
-       * Version of the indexer that produced this index.
-       * 
- * - * string version = 2 [json_name = "version"]; - * @return This builder for chaining. - */ - public Builder clearVersion() { - version_ = getDefaultInstance().getVersion(); - bitField0_ = (bitField0_ & ~0x00000002); - onChanged(); - return this; - } - /** - *
-       * Version of the indexer that produced this index.
-       * 
- * - * string version = 2 [json_name = "version"]; - * @param value The bytes for version to set. - * @return This builder for chaining. - */ - public Builder setVersionBytes( - com.google.protobuf.ByteString value) { - if (value == null) { throw new NullPointerException(); } - checkByteStringIsUtf8(value); - version_ = value; - bitField0_ |= 0x00000002; - onChanged(); - return this; - } - - private com.google.protobuf.LazyStringArrayList arguments_ = - com.google.protobuf.LazyStringArrayList.emptyList(); - private void ensureArgumentsIsMutable() { - if (!arguments_.isModifiable()) { - arguments_ = new com.google.protobuf.LazyStringArrayList(arguments_); - } - bitField0_ |= 0x00000004; - } - /** - *
-       * Command-line arguments that were used to invoke this indexer.
-       * 
- * - * repeated string arguments = 3 [json_name = "arguments"]; - * @return A list containing the arguments. - */ - public com.google.protobuf.ProtocolStringList - getArgumentsList() { - arguments_.makeImmutable(); - return arguments_; - } - /** - *
-       * Command-line arguments that were used to invoke this indexer.
-       * 
- * - * repeated string arguments = 3 [json_name = "arguments"]; - * @return The count of arguments. - */ - public int getArgumentsCount() { - return arguments_.size(); - } - /** - *
-       * Command-line arguments that were used to invoke this indexer.
-       * 
- * - * repeated string arguments = 3 [json_name = "arguments"]; - * @param index The index of the element to return. - * @return The arguments at the given index. - */ - public java.lang.String getArguments(int index) { - return arguments_.get(index); - } - /** - *
-       * Command-line arguments that were used to invoke this indexer.
-       * 
- * - * repeated string arguments = 3 [json_name = "arguments"]; - * @param index The index of the value to return. - * @return The bytes of the arguments at the given index. - */ - public com.google.protobuf.ByteString - getArgumentsBytes(int index) { - return arguments_.getByteString(index); - } - /** - *
-       * Command-line arguments that were used to invoke this indexer.
-       * 
- * - * repeated string arguments = 3 [json_name = "arguments"]; - * @param index The index to set the value at. - * @param value The arguments to set. - * @return This builder for chaining. - */ - public Builder setArguments( - int index, java.lang.String value) { - if (value == null) { throw new NullPointerException(); } - ensureArgumentsIsMutable(); - arguments_.set(index, value); - bitField0_ |= 0x00000004; - onChanged(); - return this; - } - /** - *
-       * Command-line arguments that were used to invoke this indexer.
-       * 
- * - * repeated string arguments = 3 [json_name = "arguments"]; - * @param value The arguments to add. - * @return This builder for chaining. - */ - public Builder addArguments( - java.lang.String value) { - if (value == null) { throw new NullPointerException(); } - ensureArgumentsIsMutable(); - arguments_.add(value); - bitField0_ |= 0x00000004; - onChanged(); - return this; - } - /** - *
-       * Command-line arguments that were used to invoke this indexer.
-       * 
- * - * repeated string arguments = 3 [json_name = "arguments"]; - * @param values The arguments to add. - * @return This builder for chaining. - */ - public Builder addAllArguments( - java.lang.Iterable values) { - ensureArgumentsIsMutable(); - com.google.protobuf.AbstractMessageLite.Builder.addAll( - values, arguments_); - bitField0_ |= 0x00000004; - onChanged(); - return this; - } - /** - *
-       * Command-line arguments that were used to invoke this indexer.
-       * 
- * - * repeated string arguments = 3 [json_name = "arguments"]; - * @return This builder for chaining. - */ - public Builder clearArguments() { - arguments_ = - com.google.protobuf.LazyStringArrayList.emptyList(); - bitField0_ = (bitField0_ & ~0x00000004);; - onChanged(); - return this; - } - /** - *
-       * Command-line arguments that were used to invoke this indexer.
-       * 
- * - * repeated string arguments = 3 [json_name = "arguments"]; - * @param value The bytes of the arguments to add. - * @return This builder for chaining. - */ - public Builder addArgumentsBytes( - com.google.protobuf.ByteString value) { - if (value == null) { throw new NullPointerException(); } - checkByteStringIsUtf8(value); - ensureArgumentsIsMutable(); - arguments_.add(value); - bitField0_ |= 0x00000004; - onChanged(); - return this; - } - - // @@protoc_insertion_point(builder_scope:scip.ToolInfo) - } - - // @@protoc_insertion_point(class_scope:scip.ToolInfo) - private static final scip.Scip.ToolInfo DEFAULT_INSTANCE; - static { - DEFAULT_INSTANCE = new scip.Scip.ToolInfo(); - } - - public static scip.Scip.ToolInfo getDefaultInstance() { - return DEFAULT_INSTANCE; - } - - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { - @java.lang.Override - public ToolInfo parsePartialFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - Builder builder = newBuilder(); - try { - builder.mergeFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.setUnfinishedMessage(builder.buildPartial()); - } catch (com.google.protobuf.UninitializedMessageException e) { - throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); - } catch (java.io.IOException e) { - throw new com.google.protobuf.InvalidProtocolBufferException(e) - .setUnfinishedMessage(builder.buildPartial()); - } - return builder.buildPartial(); - } - }; - - public static com.google.protobuf.Parser parser() { - return PARSER; - } - - @java.lang.Override - public com.google.protobuf.Parser getParserForType() { - return PARSER; - } - - @java.lang.Override - public scip.Scip.ToolInfo getDefaultInstanceForType() { - return DEFAULT_INSTANCE; - } - - } - - public interface DocumentOrBuilder extends - // @@protoc_insertion_point(interface_extends:scip.Document) - com.google.protobuf.MessageOrBuilder { - - /** - *
-     * The string ID for the programming language this file is written in.
-     * The `Language` enum contains the names of most common programming languages.
-     * This field is typed as a string to permit any programming language, including
-     * ones that are not specified by the `Language` enum.
-     * 
- * - * string language = 4 [json_name = "language"]; - * @return The language. - */ - java.lang.String getLanguage(); - /** - *
-     * The string ID for the programming language this file is written in.
-     * The `Language` enum contains the names of most common programming languages.
-     * This field is typed as a string to permit any programming language, including
-     * ones that are not specified by the `Language` enum.
-     * 
- * - * string language = 4 [json_name = "language"]; - * @return The bytes for language. - */ - com.google.protobuf.ByteString - getLanguageBytes(); - - /** - *
-     * (Required) Unique path to the text document.
-     *
-     * 1. The path must be relative to the directory supplied in the associated
-     * `Metadata.project_root`.
-     * 2. The path must not begin with a leading '/'.
-     * 3. The path must point to a regular file, not a symbolic link.
-     * 4. The path must use '/' as the separator, including on Windows.
-     * 5. The path must be canonical; it cannot include empty components ('//'),
-     * or '.' or '..'.
-     * 
- * - * string relative_path = 1 [json_name = "relativePath"]; - * @return The relativePath. - */ - java.lang.String getRelativePath(); - /** - *
-     * (Required) Unique path to the text document.
-     *
-     * 1. The path must be relative to the directory supplied in the associated
-     * `Metadata.project_root`.
-     * 2. The path must not begin with a leading '/'.
-     * 3. The path must point to a regular file, not a symbolic link.
-     * 4. The path must use '/' as the separator, including on Windows.
-     * 5. The path must be canonical; it cannot include empty components ('//'),
-     * or '.' or '..'.
-     * 
- * - * string relative_path = 1 [json_name = "relativePath"]; - * @return The bytes for relativePath. - */ - com.google.protobuf.ByteString - getRelativePathBytes(); - - /** - *
-     * Occurrences that appear in this file.
-     * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - java.util.List - getOccurrencesList(); - /** - *
-     * Occurrences that appear in this file.
-     * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - scip.Scip.Occurrence getOccurrences(int index); - /** - *
-     * Occurrences that appear in this file.
-     * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - int getOccurrencesCount(); - /** - *
-     * Occurrences that appear in this file.
-     * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - java.util.List - getOccurrencesOrBuilderList(); - /** - *
-     * Occurrences that appear in this file.
-     * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - scip.Scip.OccurrenceOrBuilder getOccurrencesOrBuilder( - int index); - - /** - *
-     * Symbols that are "defined" within this document.
-     *
-     * This should include symbols which technically do not have any definition,
-     * but have a reference and are defined by some other symbol (see
-     * Relationship.is_definition).
-     * 
- * - * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; - */ - java.util.List - getSymbolsList(); - /** - *
-     * Symbols that are "defined" within this document.
-     *
-     * This should include symbols which technically do not have any definition,
-     * but have a reference and are defined by some other symbol (see
-     * Relationship.is_definition).
-     * 
- * - * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; - */ - scip.Scip.SymbolInformation getSymbols(int index); - /** - *
-     * Symbols that are "defined" within this document.
-     *
-     * This should include symbols which technically do not have any definition,
-     * but have a reference and are defined by some other symbol (see
-     * Relationship.is_definition).
-     * 
- * - * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; - */ - int getSymbolsCount(); - /** - *
-     * Symbols that are "defined" within this document.
-     *
-     * This should include symbols which technically do not have any definition,
-     * but have a reference and are defined by some other symbol (see
-     * Relationship.is_definition).
-     * 
- * - * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; - */ - java.util.List - getSymbolsOrBuilderList(); - /** - *
-     * Symbols that are "defined" within this document.
-     *
-     * This should include symbols which technically do not have any definition,
-     * but have a reference and are defined by some other symbol (see
-     * Relationship.is_definition).
-     * 
- * - * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; - */ - scip.Scip.SymbolInformationOrBuilder getSymbolsOrBuilder( - int index); - - /** - *
-     * (optional) Text contents of this document. Indexers are not expected to
-     * include the text by default. It's preferable that clients read the text
-     * contents from the file system by resolving the absolute path from joining
-     * `Index.metadata.project_root` and `Document.relative_path`. This field
-     * can be useful for testing or when working with virtual/in-memory documents.
-     * 
- * - * string text = 5 [json_name = "text"]; - * @return The text. - */ - java.lang.String getText(); - /** - *
-     * (optional) Text contents of this document. Indexers are not expected to
-     * include the text by default. It's preferable that clients read the text
-     * contents from the file system by resolving the absolute path from joining
-     * `Index.metadata.project_root` and `Document.relative_path`. This field
-     * can be useful for testing or when working with virtual/in-memory documents.
-     * 
- * - * string text = 5 [json_name = "text"]; - * @return The bytes for text. - */ - com.google.protobuf.ByteString - getTextBytes(); - - /** - *
-     * Specifies the encoding used for source ranges in this Document.
-     *
-     * Usually, this will match the type used to index the string type
-     * in the indexer's implementation language in O(1) time.
-     * - For an indexer implemented in JVM/.NET language or JavaScript/TypeScript,
-     * use UTF16CodeUnitOffsetFromLineStart.
-     * - For an indexer implemented in Python,
-     * use UTF32CodeUnitOffsetFromLineStart.
-     * - For an indexer implemented in Go, Rust or C++,
-     * use UTF8ByteOffsetFromLineStart.
-     * 
- * - * .scip.PositionEncoding position_encoding = 6 [json_name = "positionEncoding"]; - * @return The enum numeric value on the wire for positionEncoding. - */ - int getPositionEncodingValue(); - /** - *
-     * Specifies the encoding used for source ranges in this Document.
-     *
-     * Usually, this will match the type used to index the string type
-     * in the indexer's implementation language in O(1) time.
-     * - For an indexer implemented in JVM/.NET language or JavaScript/TypeScript,
-     * use UTF16CodeUnitOffsetFromLineStart.
-     * - For an indexer implemented in Python,
-     * use UTF32CodeUnitOffsetFromLineStart.
-     * - For an indexer implemented in Go, Rust or C++,
-     * use UTF8ByteOffsetFromLineStart.
-     * 
- * - * .scip.PositionEncoding position_encoding = 6 [json_name = "positionEncoding"]; - * @return The positionEncoding. - */ - scip.Scip.PositionEncoding getPositionEncoding(); - } - /** - *
-   * Document defines the metadata about a source file on disk.
-   * 
- * - * Protobuf type {@code scip.Document} - */ - public static final class Document extends - com.google.protobuf.GeneratedMessage implements - // @@protoc_insertion_point(message_implements:scip.Document) - DocumentOrBuilder { - private static final long serialVersionUID = 0L; - static { - com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( - com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, - /* major= */ 4, - /* minor= */ 32, - /* patch= */ 1, - /* suffix= */ "", - Document.class.getName()); - } - // Use Document.newBuilder() to construct. - private Document(com.google.protobuf.GeneratedMessage.Builder builder) { - super(builder); - } - private Document() { - language_ = ""; - relativePath_ = ""; - occurrences_ = java.util.Collections.emptyList(); - symbols_ = java.util.Collections.emptyList(); - text_ = ""; - positionEncoding_ = 0; - } - - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return scip.Scip.internal_static_scip_Document_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessage.FieldAccessorTable - internalGetFieldAccessorTable() { - return scip.Scip.internal_static_scip_Document_fieldAccessorTable - .ensureFieldAccessorsInitialized( - scip.Scip.Document.class, scip.Scip.Document.Builder.class); - } - - public static final int LANGUAGE_FIELD_NUMBER = 4; - @SuppressWarnings("serial") - private volatile java.lang.Object language_ = ""; - /** - *
-     * The string ID for the programming language this file is written in.
-     * The `Language` enum contains the names of most common programming languages.
-     * This field is typed as a string to permit any programming language, including
-     * ones that are not specified by the `Language` enum.
-     * 
- * - * string language = 4 [json_name = "language"]; - * @return The language. - */ - @java.lang.Override - public java.lang.String getLanguage() { - java.lang.Object ref = language_; - 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(); - language_ = s; - return s; - } - } - /** - *
-     * The string ID for the programming language this file is written in.
-     * The `Language` enum contains the names of most common programming languages.
-     * This field is typed as a string to permit any programming language, including
-     * ones that are not specified by the `Language` enum.
-     * 
- * - * string language = 4 [json_name = "language"]; - * @return The bytes for language. - */ - @java.lang.Override - public com.google.protobuf.ByteString - getLanguageBytes() { - java.lang.Object ref = language_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - language_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - - public static final int RELATIVE_PATH_FIELD_NUMBER = 1; - @SuppressWarnings("serial") - private volatile java.lang.Object relativePath_ = ""; - /** - *
-     * (Required) Unique path to the text document.
-     *
-     * 1. The path must be relative to the directory supplied in the associated
-     * `Metadata.project_root`.
-     * 2. The path must not begin with a leading '/'.
-     * 3. The path must point to a regular file, not a symbolic link.
-     * 4. The path must use '/' as the separator, including on Windows.
-     * 5. The path must be canonical; it cannot include empty components ('//'),
-     * or '.' or '..'.
-     * 
- * - * string relative_path = 1 [json_name = "relativePath"]; - * @return The relativePath. - */ - @java.lang.Override - public java.lang.String getRelativePath() { - java.lang.Object ref = relativePath_; - 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(); - relativePath_ = s; - return s; - } - } - /** - *
-     * (Required) Unique path to the text document.
-     *
-     * 1. The path must be relative to the directory supplied in the associated
-     * `Metadata.project_root`.
-     * 2. The path must not begin with a leading '/'.
-     * 3. The path must point to a regular file, not a symbolic link.
-     * 4. The path must use '/' as the separator, including on Windows.
-     * 5. The path must be canonical; it cannot include empty components ('//'),
-     * or '.' or '..'.
-     * 
- * - * string relative_path = 1 [json_name = "relativePath"]; - * @return The bytes for relativePath. - */ - @java.lang.Override - public com.google.protobuf.ByteString - getRelativePathBytes() { - java.lang.Object ref = relativePath_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - relativePath_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - - public static final int OCCURRENCES_FIELD_NUMBER = 2; - @SuppressWarnings("serial") - private java.util.List occurrences_; - /** - *
-     * Occurrences that appear in this file.
-     * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - @java.lang.Override - public java.util.List getOccurrencesList() { - return occurrences_; - } - /** - *
-     * Occurrences that appear in this file.
-     * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - @java.lang.Override - public java.util.List - getOccurrencesOrBuilderList() { - return occurrences_; - } - /** - *
-     * Occurrences that appear in this file.
-     * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - @java.lang.Override - public int getOccurrencesCount() { - return occurrences_.size(); - } - /** - *
-     * Occurrences that appear in this file.
-     * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - @java.lang.Override - public scip.Scip.Occurrence getOccurrences(int index) { - return occurrences_.get(index); - } - /** - *
-     * Occurrences that appear in this file.
-     * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - @java.lang.Override - public scip.Scip.OccurrenceOrBuilder getOccurrencesOrBuilder( - int index) { - return occurrences_.get(index); - } - - public static final int SYMBOLS_FIELD_NUMBER = 3; - @SuppressWarnings("serial") - private java.util.List symbols_; - /** - *
-     * Symbols that are "defined" within this document.
-     *
-     * This should include symbols which technically do not have any definition,
-     * but have a reference and are defined by some other symbol (see
-     * Relationship.is_definition).
-     * 
- * - * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; - */ - @java.lang.Override - public java.util.List getSymbolsList() { - return symbols_; - } - /** - *
-     * Symbols that are "defined" within this document.
-     *
-     * This should include symbols which technically do not have any definition,
-     * but have a reference and are defined by some other symbol (see
-     * Relationship.is_definition).
-     * 
- * - * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; - */ - @java.lang.Override - public java.util.List - getSymbolsOrBuilderList() { - return symbols_; - } - /** - *
-     * Symbols that are "defined" within this document.
-     *
-     * This should include symbols which technically do not have any definition,
-     * but have a reference and are defined by some other symbol (see
-     * Relationship.is_definition).
-     * 
- * - * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; - */ - @java.lang.Override - public int getSymbolsCount() { - return symbols_.size(); - } - /** - *
-     * Symbols that are "defined" within this document.
-     *
-     * This should include symbols which technically do not have any definition,
-     * but have a reference and are defined by some other symbol (see
-     * Relationship.is_definition).
-     * 
- * - * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; - */ - @java.lang.Override - public scip.Scip.SymbolInformation getSymbols(int index) { - return symbols_.get(index); - } - /** - *
-     * Symbols that are "defined" within this document.
-     *
-     * This should include symbols which technically do not have any definition,
-     * but have a reference and are defined by some other symbol (see
-     * Relationship.is_definition).
-     * 
- * - * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; - */ - @java.lang.Override - public scip.Scip.SymbolInformationOrBuilder getSymbolsOrBuilder( - int index) { - return symbols_.get(index); - } - - public static final int TEXT_FIELD_NUMBER = 5; - @SuppressWarnings("serial") - private volatile java.lang.Object text_ = ""; - /** - *
-     * (optional) Text contents of this document. Indexers are not expected to
-     * include the text by default. It's preferable that clients read the text
-     * contents from the file system by resolving the absolute path from joining
-     * `Index.metadata.project_root` and `Document.relative_path`. This field
-     * can be useful for testing or when working with virtual/in-memory documents.
-     * 
- * - * string text = 5 [json_name = "text"]; - * @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; - } - } - /** - *
-     * (optional) Text contents of this document. Indexers are not expected to
-     * include the text by default. It's preferable that clients read the text
-     * contents from the file system by resolving the absolute path from joining
-     * `Index.metadata.project_root` and `Document.relative_path`. This field
-     * can be useful for testing or when working with virtual/in-memory documents.
-     * 
- * - * string text = 5 [json_name = "text"]; - * @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 POSITION_ENCODING_FIELD_NUMBER = 6; - private int positionEncoding_ = 0; - /** - *
-     * Specifies the encoding used for source ranges in this Document.
-     *
-     * Usually, this will match the type used to index the string type
-     * in the indexer's implementation language in O(1) time.
-     * - For an indexer implemented in JVM/.NET language or JavaScript/TypeScript,
-     * use UTF16CodeUnitOffsetFromLineStart.
-     * - For an indexer implemented in Python,
-     * use UTF32CodeUnitOffsetFromLineStart.
-     * - For an indexer implemented in Go, Rust or C++,
-     * use UTF8ByteOffsetFromLineStart.
-     * 
- * - * .scip.PositionEncoding position_encoding = 6 [json_name = "positionEncoding"]; - * @return The enum numeric value on the wire for positionEncoding. - */ - @java.lang.Override public int getPositionEncodingValue() { - return positionEncoding_; - } - /** - *
-     * Specifies the encoding used for source ranges in this Document.
-     *
-     * Usually, this will match the type used to index the string type
-     * in the indexer's implementation language in O(1) time.
-     * - For an indexer implemented in JVM/.NET language or JavaScript/TypeScript,
-     * use UTF16CodeUnitOffsetFromLineStart.
-     * - For an indexer implemented in Python,
-     * use UTF32CodeUnitOffsetFromLineStart.
-     * - For an indexer implemented in Go, Rust or C++,
-     * use UTF8ByteOffsetFromLineStart.
-     * 
- * - * .scip.PositionEncoding position_encoding = 6 [json_name = "positionEncoding"]; - * @return The positionEncoding. - */ - @java.lang.Override public scip.Scip.PositionEncoding getPositionEncoding() { - scip.Scip.PositionEncoding result = scip.Scip.PositionEncoding.forNumber(positionEncoding_); - return result == null ? scip.Scip.PositionEncoding.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 (!com.google.protobuf.GeneratedMessage.isStringEmpty(relativePath_)) { - com.google.protobuf.GeneratedMessage.writeString(output, 1, relativePath_); - } - for (int i = 0; i < occurrences_.size(); i++) { - output.writeMessage(2, occurrences_.get(i)); - } - for (int i = 0; i < symbols_.size(); i++) { - output.writeMessage(3, symbols_.get(i)); - } - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(language_)) { - com.google.protobuf.GeneratedMessage.writeString(output, 4, language_); - } - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(text_)) { - com.google.protobuf.GeneratedMessage.writeString(output, 5, text_); - } - if (positionEncoding_ != scip.Scip.PositionEncoding.UnspecifiedPositionEncoding.getNumber()) { - output.writeEnum(6, positionEncoding_); - } - getUnknownFields().writeTo(output); - } - - @java.lang.Override - public int getSerializedSize() { - int size = memoizedSize; - if (size != -1) return size; - - size = 0; - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(relativePath_)) { - size += com.google.protobuf.GeneratedMessage.computeStringSize(1, relativePath_); - } - for (int i = 0; i < occurrences_.size(); i++) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(2, occurrences_.get(i)); - } - for (int i = 0; i < symbols_.size(); i++) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(3, symbols_.get(i)); - } - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(language_)) { - size += com.google.protobuf.GeneratedMessage.computeStringSize(4, language_); - } - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(text_)) { - size += com.google.protobuf.GeneratedMessage.computeStringSize(5, text_); - } - if (positionEncoding_ != scip.Scip.PositionEncoding.UnspecifiedPositionEncoding.getNumber()) { - size += com.google.protobuf.CodedOutputStream - .computeEnumSize(6, positionEncoding_); - } - size += getUnknownFields().getSerializedSize(); - memoizedSize = size; - return size; - } - - @java.lang.Override - public boolean equals(final java.lang.Object obj) { - if (obj == this) { - return true; - } - if (!(obj instanceof scip.Scip.Document)) { - return super.equals(obj); - } - scip.Scip.Document other = (scip.Scip.Document) obj; - - if (!getLanguage() - .equals(other.getLanguage())) return false; - if (!getRelativePath() - .equals(other.getRelativePath())) return false; - if (!getOccurrencesList() - .equals(other.getOccurrencesList())) return false; - if (!getSymbolsList() - .equals(other.getSymbolsList())) return false; - if (!getText() - .equals(other.getText())) return false; - if (positionEncoding_ != other.positionEncoding_) return false; - if (!getUnknownFields().equals(other.getUnknownFields())) 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) + LANGUAGE_FIELD_NUMBER; - hash = (53 * hash) + getLanguage().hashCode(); - hash = (37 * hash) + RELATIVE_PATH_FIELD_NUMBER; - hash = (53 * hash) + getRelativePath().hashCode(); - if (getOccurrencesCount() > 0) { - hash = (37 * hash) + OCCURRENCES_FIELD_NUMBER; - hash = (53 * hash) + getOccurrencesList().hashCode(); - } - if (getSymbolsCount() > 0) { - hash = (37 * hash) + SYMBOLS_FIELD_NUMBER; - hash = (53 * hash) + getSymbolsList().hashCode(); - } - hash = (37 * hash) + TEXT_FIELD_NUMBER; - hash = (53 * hash) + getText().hashCode(); - hash = (37 * hash) + POSITION_ENCODING_FIELD_NUMBER; - hash = (53 * hash) + positionEncoding_; - hash = (29 * hash) + getUnknownFields().hashCode(); - memoizedHashCode = hash; - return hash; - } - - public static scip.Scip.Document parseFrom( - java.nio.ByteBuffer data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static scip.Scip.Document parseFrom( - java.nio.ByteBuffer data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static scip.Scip.Document parseFrom( - com.google.protobuf.ByteString data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static scip.Scip.Document parseFrom( - com.google.protobuf.ByteString data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static scip.Scip.Document parseFrom(byte[] data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static scip.Scip.Document parseFrom( - byte[] data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static scip.Scip.Document parseFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input); - } - public static scip.Scip.Document parseFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input, extensionRegistry); - } - - public static scip.Scip.Document parseDelimitedFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseDelimitedWithIOException(PARSER, input); - } - - public static scip.Scip.Document parseDelimitedFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseDelimitedWithIOException(PARSER, input, extensionRegistry); - } - public static scip.Scip.Document parseFrom( - com.google.protobuf.CodedInputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input); - } - public static scip.Scip.Document parseFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input, extensionRegistry); - } - - @java.lang.Override - public Builder newBuilderForType() { return newBuilder(); } - public static Builder newBuilder() { - return DEFAULT_INSTANCE.toBuilder(); - } - public static Builder newBuilder(scip.Scip.Document 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.GeneratedMessage.BuilderParent parent) { - Builder builder = new Builder(parent); - return builder; - } - /** - *
-     * Document defines the metadata about a source file on disk.
-     * 
- * - * Protobuf type {@code scip.Document} - */ - public static final class Builder extends - com.google.protobuf.GeneratedMessage.Builder implements - // @@protoc_insertion_point(builder_implements:scip.Document) - scip.Scip.DocumentOrBuilder { - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return scip.Scip.internal_static_scip_Document_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessage.FieldAccessorTable - internalGetFieldAccessorTable() { - return scip.Scip.internal_static_scip_Document_fieldAccessorTable - .ensureFieldAccessorsInitialized( - scip.Scip.Document.class, scip.Scip.Document.Builder.class); - } - - // Construct using scip.Scip.Document.newBuilder() - private Builder() { - - } - - private Builder( - com.google.protobuf.GeneratedMessage.BuilderParent parent) { - super(parent); - - } - @java.lang.Override - public Builder clear() { - super.clear(); - bitField0_ = 0; - language_ = ""; - relativePath_ = ""; - if (occurrencesBuilder_ == null) { - occurrences_ = java.util.Collections.emptyList(); - } else { - occurrences_ = null; - occurrencesBuilder_.clear(); - } - bitField0_ = (bitField0_ & ~0x00000004); - if (symbolsBuilder_ == null) { - symbols_ = java.util.Collections.emptyList(); - } else { - symbols_ = null; - symbolsBuilder_.clear(); - } - bitField0_ = (bitField0_ & ~0x00000008); - text_ = ""; - positionEncoding_ = 0; - return this; - } - - @java.lang.Override - public com.google.protobuf.Descriptors.Descriptor - getDescriptorForType() { - return scip.Scip.internal_static_scip_Document_descriptor; - } - - @java.lang.Override - public scip.Scip.Document getDefaultInstanceForType() { - return scip.Scip.Document.getDefaultInstance(); - } - - @java.lang.Override - public scip.Scip.Document build() { - scip.Scip.Document result = buildPartial(); - if (!result.isInitialized()) { - throw newUninitializedMessageException(result); - } - return result; - } - - @java.lang.Override - public scip.Scip.Document buildPartial() { - scip.Scip.Document result = new scip.Scip.Document(this); - buildPartialRepeatedFields(result); - if (bitField0_ != 0) { buildPartial0(result); } - onBuilt(); - return result; - } - - private void buildPartialRepeatedFields(scip.Scip.Document result) { - if (occurrencesBuilder_ == null) { - if (((bitField0_ & 0x00000004) != 0)) { - occurrences_ = java.util.Collections.unmodifiableList(occurrences_); - bitField0_ = (bitField0_ & ~0x00000004); - } - result.occurrences_ = occurrences_; - } else { - result.occurrences_ = occurrencesBuilder_.build(); - } - if (symbolsBuilder_ == null) { - if (((bitField0_ & 0x00000008) != 0)) { - symbols_ = java.util.Collections.unmodifiableList(symbols_); - bitField0_ = (bitField0_ & ~0x00000008); - } - result.symbols_ = symbols_; - } else { - result.symbols_ = symbolsBuilder_.build(); - } - } - - private void buildPartial0(scip.Scip.Document result) { - int from_bitField0_ = bitField0_; - if (((from_bitField0_ & 0x00000001) != 0)) { - result.language_ = language_; - } - if (((from_bitField0_ & 0x00000002) != 0)) { - result.relativePath_ = relativePath_; - } - if (((from_bitField0_ & 0x00000010) != 0)) { - result.text_ = text_; - } - if (((from_bitField0_ & 0x00000020) != 0)) { - result.positionEncoding_ = positionEncoding_; - } - } - - @java.lang.Override - public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof scip.Scip.Document) { - return mergeFrom((scip.Scip.Document)other); - } else { - super.mergeFrom(other); - return this; - } - } - - public Builder mergeFrom(scip.Scip.Document other) { - if (other == scip.Scip.Document.getDefaultInstance()) return this; - if (!other.getLanguage().isEmpty()) { - language_ = other.language_; - bitField0_ |= 0x00000001; - onChanged(); - } - if (!other.getRelativePath().isEmpty()) { - relativePath_ = other.relativePath_; - bitField0_ |= 0x00000002; - onChanged(); - } - if (occurrencesBuilder_ == null) { - if (!other.occurrences_.isEmpty()) { - if (occurrences_.isEmpty()) { - occurrences_ = other.occurrences_; - bitField0_ = (bitField0_ & ~0x00000004); - } else { - ensureOccurrencesIsMutable(); - occurrences_.addAll(other.occurrences_); - } - onChanged(); - } - } else { - if (!other.occurrences_.isEmpty()) { - if (occurrencesBuilder_.isEmpty()) { - occurrencesBuilder_.dispose(); - occurrencesBuilder_ = null; - occurrences_ = other.occurrences_; - bitField0_ = (bitField0_ & ~0x00000004); - occurrencesBuilder_ = - com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ? - internalGetOccurrencesFieldBuilder() : null; - } else { - occurrencesBuilder_.addAllMessages(other.occurrences_); - } - } - } - if (symbolsBuilder_ == null) { - if (!other.symbols_.isEmpty()) { - if (symbols_.isEmpty()) { - symbols_ = other.symbols_; - bitField0_ = (bitField0_ & ~0x00000008); - } else { - ensureSymbolsIsMutable(); - symbols_.addAll(other.symbols_); - } - onChanged(); - } - } else { - if (!other.symbols_.isEmpty()) { - if (symbolsBuilder_.isEmpty()) { - symbolsBuilder_.dispose(); - symbolsBuilder_ = null; - symbols_ = other.symbols_; - bitField0_ = (bitField0_ & ~0x00000008); - symbolsBuilder_ = - com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ? - internalGetSymbolsFieldBuilder() : null; - } else { - symbolsBuilder_.addAllMessages(other.symbols_); - } - } - } - if (!other.getText().isEmpty()) { - text_ = other.text_; - bitField0_ |= 0x00000010; - onChanged(); - } - if (other.positionEncoding_ != 0) { - setPositionEncodingValue(other.getPositionEncodingValue()); - } - this.mergeUnknownFields(other.getUnknownFields()); - 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 { - if (extensionRegistry == null) { - throw new java.lang.NullPointerException(); - } - try { - boolean done = false; - while (!done) { - int tag = input.readTag(); - switch (tag) { - case 0: - done = true; - break; - case 10: { - relativePath_ = input.readStringRequireUtf8(); - bitField0_ |= 0x00000002; - break; - } // case 10 - case 18: { - scip.Scip.Occurrence m = - input.readMessage( - scip.Scip.Occurrence.parser(), - extensionRegistry); - if (occurrencesBuilder_ == null) { - ensureOccurrencesIsMutable(); - occurrences_.add(m); - } else { - occurrencesBuilder_.addMessage(m); - } - break; - } // case 18 - case 26: { - scip.Scip.SymbolInformation m = - input.readMessage( - scip.Scip.SymbolInformation.parser(), - extensionRegistry); - if (symbolsBuilder_ == null) { - ensureSymbolsIsMutable(); - symbols_.add(m); - } else { - symbolsBuilder_.addMessage(m); - } - break; - } // case 26 - case 34: { - language_ = input.readStringRequireUtf8(); - bitField0_ |= 0x00000001; - break; - } // case 34 - case 42: { - text_ = input.readStringRequireUtf8(); - bitField0_ |= 0x00000010; - break; - } // case 42 - case 48: { - positionEncoding_ = input.readEnum(); - bitField0_ |= 0x00000020; - break; - } // case 48 - default: { - if (!super.parseUnknownField(input, extensionRegistry, tag)) { - done = true; // was an endgroup tag - } - break; - } // default: - } // switch (tag) - } // while (!done) - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.unwrapIOException(); - } finally { - onChanged(); - } // finally - return this; - } - private int bitField0_; - - private java.lang.Object language_ = ""; - /** - *
-       * The string ID for the programming language this file is written in.
-       * The `Language` enum contains the names of most common programming languages.
-       * This field is typed as a string to permit any programming language, including
-       * ones that are not specified by the `Language` enum.
-       * 
- * - * string language = 4 [json_name = "language"]; - * @return The language. - */ - public java.lang.String getLanguage() { - java.lang.Object ref = language_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - language_ = s; - return s; - } else { - return (java.lang.String) ref; - } - } - /** - *
-       * The string ID for the programming language this file is written in.
-       * The `Language` enum contains the names of most common programming languages.
-       * This field is typed as a string to permit any programming language, including
-       * ones that are not specified by the `Language` enum.
-       * 
- * - * string language = 4 [json_name = "language"]; - * @return The bytes for language. - */ - public com.google.protobuf.ByteString - getLanguageBytes() { - java.lang.Object ref = language_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - language_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - /** - *
-       * The string ID for the programming language this file is written in.
-       * The `Language` enum contains the names of most common programming languages.
-       * This field is typed as a string to permit any programming language, including
-       * ones that are not specified by the `Language` enum.
-       * 
- * - * string language = 4 [json_name = "language"]; - * @param value The language to set. - * @return This builder for chaining. - */ - public Builder setLanguage( - java.lang.String value) { - if (value == null) { throw new NullPointerException(); } - language_ = value; - bitField0_ |= 0x00000001; - onChanged(); - return this; - } - /** - *
-       * The string ID for the programming language this file is written in.
-       * The `Language` enum contains the names of most common programming languages.
-       * This field is typed as a string to permit any programming language, including
-       * ones that are not specified by the `Language` enum.
-       * 
- * - * string language = 4 [json_name = "language"]; - * @return This builder for chaining. - */ - public Builder clearLanguage() { - language_ = getDefaultInstance().getLanguage(); - bitField0_ = (bitField0_ & ~0x00000001); - onChanged(); - return this; - } - /** - *
-       * The string ID for the programming language this file is written in.
-       * The `Language` enum contains the names of most common programming languages.
-       * This field is typed as a string to permit any programming language, including
-       * ones that are not specified by the `Language` enum.
-       * 
- * - * string language = 4 [json_name = "language"]; - * @param value The bytes for language to set. - * @return This builder for chaining. - */ - public Builder setLanguageBytes( - com.google.protobuf.ByteString value) { - if (value == null) { throw new NullPointerException(); } - checkByteStringIsUtf8(value); - language_ = value; - bitField0_ |= 0x00000001; - onChanged(); - return this; - } - - private java.lang.Object relativePath_ = ""; - /** - *
-       * (Required) Unique path to the text document.
-       *
-       * 1. The path must be relative to the directory supplied in the associated
-       * `Metadata.project_root`.
-       * 2. The path must not begin with a leading '/'.
-       * 3. The path must point to a regular file, not a symbolic link.
-       * 4. The path must use '/' as the separator, including on Windows.
-       * 5. The path must be canonical; it cannot include empty components ('//'),
-       * or '.' or '..'.
-       * 
- * - * string relative_path = 1 [json_name = "relativePath"]; - * @return The relativePath. - */ - public java.lang.String getRelativePath() { - java.lang.Object ref = relativePath_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - relativePath_ = s; - return s; - } else { - return (java.lang.String) ref; - } - } - /** - *
-       * (Required) Unique path to the text document.
-       *
-       * 1. The path must be relative to the directory supplied in the associated
-       * `Metadata.project_root`.
-       * 2. The path must not begin with a leading '/'.
-       * 3. The path must point to a regular file, not a symbolic link.
-       * 4. The path must use '/' as the separator, including on Windows.
-       * 5. The path must be canonical; it cannot include empty components ('//'),
-       * or '.' or '..'.
-       * 
- * - * string relative_path = 1 [json_name = "relativePath"]; - * @return The bytes for relativePath. - */ - public com.google.protobuf.ByteString - getRelativePathBytes() { - java.lang.Object ref = relativePath_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - relativePath_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - /** - *
-       * (Required) Unique path to the text document.
-       *
-       * 1. The path must be relative to the directory supplied in the associated
-       * `Metadata.project_root`.
-       * 2. The path must not begin with a leading '/'.
-       * 3. The path must point to a regular file, not a symbolic link.
-       * 4. The path must use '/' as the separator, including on Windows.
-       * 5. The path must be canonical; it cannot include empty components ('//'),
-       * or '.' or '..'.
-       * 
- * - * string relative_path = 1 [json_name = "relativePath"]; - * @param value The relativePath to set. - * @return This builder for chaining. - */ - public Builder setRelativePath( - java.lang.String value) { - if (value == null) { throw new NullPointerException(); } - relativePath_ = value; - bitField0_ |= 0x00000002; - onChanged(); - return this; - } - /** - *
-       * (Required) Unique path to the text document.
-       *
-       * 1. The path must be relative to the directory supplied in the associated
-       * `Metadata.project_root`.
-       * 2. The path must not begin with a leading '/'.
-       * 3. The path must point to a regular file, not a symbolic link.
-       * 4. The path must use '/' as the separator, including on Windows.
-       * 5. The path must be canonical; it cannot include empty components ('//'),
-       * or '.' or '..'.
-       * 
- * - * string relative_path = 1 [json_name = "relativePath"]; - * @return This builder for chaining. - */ - public Builder clearRelativePath() { - relativePath_ = getDefaultInstance().getRelativePath(); - bitField0_ = (bitField0_ & ~0x00000002); - onChanged(); - return this; - } - /** - *
-       * (Required) Unique path to the text document.
-       *
-       * 1. The path must be relative to the directory supplied in the associated
-       * `Metadata.project_root`.
-       * 2. The path must not begin with a leading '/'.
-       * 3. The path must point to a regular file, not a symbolic link.
-       * 4. The path must use '/' as the separator, including on Windows.
-       * 5. The path must be canonical; it cannot include empty components ('//'),
-       * or '.' or '..'.
-       * 
- * - * string relative_path = 1 [json_name = "relativePath"]; - * @param value The bytes for relativePath to set. - * @return This builder for chaining. - */ - public Builder setRelativePathBytes( - com.google.protobuf.ByteString value) { - if (value == null) { throw new NullPointerException(); } - checkByteStringIsUtf8(value); - relativePath_ = value; - bitField0_ |= 0x00000002; - onChanged(); - return this; - } - - private java.util.List occurrences_ = - java.util.Collections.emptyList(); - private void ensureOccurrencesIsMutable() { - if (!((bitField0_ & 0x00000004) != 0)) { - occurrences_ = new java.util.ArrayList(occurrences_); - bitField0_ |= 0x00000004; - } - } - - private com.google.protobuf.RepeatedFieldBuilder< - scip.Scip.Occurrence, scip.Scip.Occurrence.Builder, scip.Scip.OccurrenceOrBuilder> occurrencesBuilder_; - - /** - *
-       * Occurrences that appear in this file.
-       * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public java.util.List getOccurrencesList() { - if (occurrencesBuilder_ == null) { - return java.util.Collections.unmodifiableList(occurrences_); - } else { - return occurrencesBuilder_.getMessageList(); - } - } - /** - *
-       * Occurrences that appear in this file.
-       * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public int getOccurrencesCount() { - if (occurrencesBuilder_ == null) { - return occurrences_.size(); - } else { - return occurrencesBuilder_.getCount(); - } - } - /** - *
-       * Occurrences that appear in this file.
-       * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public scip.Scip.Occurrence getOccurrences(int index) { - if (occurrencesBuilder_ == null) { - return occurrences_.get(index); - } else { - return occurrencesBuilder_.getMessage(index); - } - } - /** - *
-       * Occurrences that appear in this file.
-       * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public Builder setOccurrences( - int index, scip.Scip.Occurrence value) { - if (occurrencesBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureOccurrencesIsMutable(); - occurrences_.set(index, value); - onChanged(); - } else { - occurrencesBuilder_.setMessage(index, value); - } - return this; - } - /** - *
-       * Occurrences that appear in this file.
-       * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public Builder setOccurrences( - int index, scip.Scip.Occurrence.Builder builderForValue) { - if (occurrencesBuilder_ == null) { - ensureOccurrencesIsMutable(); - occurrences_.set(index, builderForValue.build()); - onChanged(); - } else { - occurrencesBuilder_.setMessage(index, builderForValue.build()); - } - return this; - } - /** - *
-       * Occurrences that appear in this file.
-       * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public Builder addOccurrences(scip.Scip.Occurrence value) { - if (occurrencesBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureOccurrencesIsMutable(); - occurrences_.add(value); - onChanged(); - } else { - occurrencesBuilder_.addMessage(value); - } - return this; - } - /** - *
-       * Occurrences that appear in this file.
-       * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public Builder addOccurrences( - int index, scip.Scip.Occurrence value) { - if (occurrencesBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureOccurrencesIsMutable(); - occurrences_.add(index, value); - onChanged(); - } else { - occurrencesBuilder_.addMessage(index, value); - } - return this; - } - /** - *
-       * Occurrences that appear in this file.
-       * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public Builder addOccurrences( - scip.Scip.Occurrence.Builder builderForValue) { - if (occurrencesBuilder_ == null) { - ensureOccurrencesIsMutable(); - occurrences_.add(builderForValue.build()); - onChanged(); - } else { - occurrencesBuilder_.addMessage(builderForValue.build()); - } - return this; - } - /** - *
-       * Occurrences that appear in this file.
-       * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public Builder addOccurrences( - int index, scip.Scip.Occurrence.Builder builderForValue) { - if (occurrencesBuilder_ == null) { - ensureOccurrencesIsMutable(); - occurrences_.add(index, builderForValue.build()); - onChanged(); - } else { - occurrencesBuilder_.addMessage(index, builderForValue.build()); - } - return this; - } - /** - *
-       * Occurrences that appear in this file.
-       * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - 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; - } - /** - *
-       * Occurrences that appear in this file.
-       * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public Builder clearOccurrences() { - if (occurrencesBuilder_ == null) { - occurrences_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000004); - onChanged(); - } else { - occurrencesBuilder_.clear(); - } - return this; - } - /** - *
-       * Occurrences that appear in this file.
-       * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public Builder removeOccurrences(int index) { - if (occurrencesBuilder_ == null) { - ensureOccurrencesIsMutable(); - occurrences_.remove(index); - onChanged(); - } else { - occurrencesBuilder_.remove(index); - } - return this; - } - /** - *
-       * Occurrences that appear in this file.
-       * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public scip.Scip.Occurrence.Builder getOccurrencesBuilder( - int index) { - return internalGetOccurrencesFieldBuilder().getBuilder(index); - } - /** - *
-       * Occurrences that appear in this file.
-       * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public scip.Scip.OccurrenceOrBuilder getOccurrencesOrBuilder( - int index) { - if (occurrencesBuilder_ == null) { - return occurrences_.get(index); } else { - return occurrencesBuilder_.getMessageOrBuilder(index); - } - } - /** - *
-       * Occurrences that appear in this file.
-       * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public java.util.List - getOccurrencesOrBuilderList() { - if (occurrencesBuilder_ != null) { - return occurrencesBuilder_.getMessageOrBuilderList(); - } else { - return java.util.Collections.unmodifiableList(occurrences_); - } - } - /** - *
-       * Occurrences that appear in this file.
-       * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public scip.Scip.Occurrence.Builder addOccurrencesBuilder() { - return internalGetOccurrencesFieldBuilder().addBuilder( - scip.Scip.Occurrence.getDefaultInstance()); - } - /** - *
-       * Occurrences that appear in this file.
-       * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public scip.Scip.Occurrence.Builder addOccurrencesBuilder( - int index) { - return internalGetOccurrencesFieldBuilder().addBuilder( - index, scip.Scip.Occurrence.getDefaultInstance()); - } - /** - *
-       * Occurrences that appear in this file.
-       * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public java.util.List - getOccurrencesBuilderList() { - return internalGetOccurrencesFieldBuilder().getBuilderList(); - } - private com.google.protobuf.RepeatedFieldBuilder< - scip.Scip.Occurrence, scip.Scip.Occurrence.Builder, scip.Scip.OccurrenceOrBuilder> - internalGetOccurrencesFieldBuilder() { - if (occurrencesBuilder_ == null) { - occurrencesBuilder_ = new com.google.protobuf.RepeatedFieldBuilder< - scip.Scip.Occurrence, scip.Scip.Occurrence.Builder, scip.Scip.OccurrenceOrBuilder>( - occurrences_, - ((bitField0_ & 0x00000004) != 0), - getParentForChildren(), - isClean()); - occurrences_ = null; - } - return occurrencesBuilder_; - } - - private java.util.List symbols_ = - java.util.Collections.emptyList(); - private void ensureSymbolsIsMutable() { - if (!((bitField0_ & 0x00000008) != 0)) { - symbols_ = new java.util.ArrayList(symbols_); - bitField0_ |= 0x00000008; - } - } - - private com.google.protobuf.RepeatedFieldBuilder< - scip.Scip.SymbolInformation, scip.Scip.SymbolInformation.Builder, scip.Scip.SymbolInformationOrBuilder> symbolsBuilder_; - - /** - *
-       * Symbols that are "defined" within this document.
-       *
-       * This should include symbols which technically do not have any definition,
-       * but have a reference and are defined by some other symbol (see
-       * Relationship.is_definition).
-       * 
- * - * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; - */ - public java.util.List getSymbolsList() { - if (symbolsBuilder_ == null) { - return java.util.Collections.unmodifiableList(symbols_); - } else { - return symbolsBuilder_.getMessageList(); - } - } - /** - *
-       * Symbols that are "defined" within this document.
-       *
-       * This should include symbols which technically do not have any definition,
-       * but have a reference and are defined by some other symbol (see
-       * Relationship.is_definition).
-       * 
- * - * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; - */ - public int getSymbolsCount() { - if (symbolsBuilder_ == null) { - return symbols_.size(); - } else { - return symbolsBuilder_.getCount(); - } - } - /** - *
-       * Symbols that are "defined" within this document.
-       *
-       * This should include symbols which technically do not have any definition,
-       * but have a reference and are defined by some other symbol (see
-       * Relationship.is_definition).
-       * 
- * - * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; - */ - public scip.Scip.SymbolInformation getSymbols(int index) { - if (symbolsBuilder_ == null) { - return symbols_.get(index); - } else { - return symbolsBuilder_.getMessage(index); - } - } - /** - *
-       * Symbols that are "defined" within this document.
-       *
-       * This should include symbols which technically do not have any definition,
-       * but have a reference and are defined by some other symbol (see
-       * Relationship.is_definition).
-       * 
- * - * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; - */ - public Builder setSymbols( - int index, scip.Scip.SymbolInformation value) { - if (symbolsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureSymbolsIsMutable(); - symbols_.set(index, value); - onChanged(); - } else { - symbolsBuilder_.setMessage(index, value); - } - return this; - } - /** - *
-       * Symbols that are "defined" within this document.
-       *
-       * This should include symbols which technically do not have any definition,
-       * but have a reference and are defined by some other symbol (see
-       * Relationship.is_definition).
-       * 
- * - * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; - */ - public Builder setSymbols( - int index, scip.Scip.SymbolInformation.Builder builderForValue) { - if (symbolsBuilder_ == null) { - ensureSymbolsIsMutable(); - symbols_.set(index, builderForValue.build()); - onChanged(); - } else { - symbolsBuilder_.setMessage(index, builderForValue.build()); - } - return this; - } - /** - *
-       * Symbols that are "defined" within this document.
-       *
-       * This should include symbols which technically do not have any definition,
-       * but have a reference and are defined by some other symbol (see
-       * Relationship.is_definition).
-       * 
- * - * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; - */ - public Builder addSymbols(scip.Scip.SymbolInformation value) { - if (symbolsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureSymbolsIsMutable(); - symbols_.add(value); - onChanged(); - } else { - symbolsBuilder_.addMessage(value); - } - return this; - } - /** - *
-       * Symbols that are "defined" within this document.
-       *
-       * This should include symbols which technically do not have any definition,
-       * but have a reference and are defined by some other symbol (see
-       * Relationship.is_definition).
-       * 
- * - * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; - */ - public Builder addSymbols( - int index, scip.Scip.SymbolInformation value) { - if (symbolsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureSymbolsIsMutable(); - symbols_.add(index, value); - onChanged(); - } else { - symbolsBuilder_.addMessage(index, value); - } - return this; - } - /** - *
-       * Symbols that are "defined" within this document.
-       *
-       * This should include symbols which technically do not have any definition,
-       * but have a reference and are defined by some other symbol (see
-       * Relationship.is_definition).
-       * 
- * - * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; - */ - public Builder addSymbols( - scip.Scip.SymbolInformation.Builder builderForValue) { - if (symbolsBuilder_ == null) { - ensureSymbolsIsMutable(); - symbols_.add(builderForValue.build()); - onChanged(); - } else { - symbolsBuilder_.addMessage(builderForValue.build()); - } - return this; - } - /** - *
-       * Symbols that are "defined" within this document.
-       *
-       * This should include symbols which technically do not have any definition,
-       * but have a reference and are defined by some other symbol (see
-       * Relationship.is_definition).
-       * 
- * - * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; - */ - public Builder addSymbols( - int index, scip.Scip.SymbolInformation.Builder builderForValue) { - if (symbolsBuilder_ == null) { - ensureSymbolsIsMutable(); - symbols_.add(index, builderForValue.build()); - onChanged(); - } else { - symbolsBuilder_.addMessage(index, builderForValue.build()); - } - return this; - } - /** - *
-       * Symbols that are "defined" within this document.
-       *
-       * This should include symbols which technically do not have any definition,
-       * but have a reference and are defined by some other symbol (see
-       * Relationship.is_definition).
-       * 
- * - * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; - */ - 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; - } - /** - *
-       * Symbols that are "defined" within this document.
-       *
-       * This should include symbols which technically do not have any definition,
-       * but have a reference and are defined by some other symbol (see
-       * Relationship.is_definition).
-       * 
- * - * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; - */ - public Builder clearSymbols() { - if (symbolsBuilder_ == null) { - symbols_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000008); - onChanged(); - } else { - symbolsBuilder_.clear(); - } - return this; - } - /** - *
-       * Symbols that are "defined" within this document.
-       *
-       * This should include symbols which technically do not have any definition,
-       * but have a reference and are defined by some other symbol (see
-       * Relationship.is_definition).
-       * 
- * - * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; - */ - public Builder removeSymbols(int index) { - if (symbolsBuilder_ == null) { - ensureSymbolsIsMutable(); - symbols_.remove(index); - onChanged(); - } else { - symbolsBuilder_.remove(index); - } - return this; - } - /** - *
-       * Symbols that are "defined" within this document.
-       *
-       * This should include symbols which technically do not have any definition,
-       * but have a reference and are defined by some other symbol (see
-       * Relationship.is_definition).
-       * 
- * - * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; - */ - public scip.Scip.SymbolInformation.Builder getSymbolsBuilder( - int index) { - return internalGetSymbolsFieldBuilder().getBuilder(index); - } - /** - *
-       * Symbols that are "defined" within this document.
-       *
-       * This should include symbols which technically do not have any definition,
-       * but have a reference and are defined by some other symbol (see
-       * Relationship.is_definition).
-       * 
- * - * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; - */ - public scip.Scip.SymbolInformationOrBuilder getSymbolsOrBuilder( - int index) { - if (symbolsBuilder_ == null) { - return symbols_.get(index); } else { - return symbolsBuilder_.getMessageOrBuilder(index); - } - } - /** - *
-       * Symbols that are "defined" within this document.
-       *
-       * This should include symbols which technically do not have any definition,
-       * but have a reference and are defined by some other symbol (see
-       * Relationship.is_definition).
-       * 
- * - * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; - */ - public java.util.List - getSymbolsOrBuilderList() { - if (symbolsBuilder_ != null) { - return symbolsBuilder_.getMessageOrBuilderList(); - } else { - return java.util.Collections.unmodifiableList(symbols_); - } - } - /** - *
-       * Symbols that are "defined" within this document.
-       *
-       * This should include symbols which technically do not have any definition,
-       * but have a reference and are defined by some other symbol (see
-       * Relationship.is_definition).
-       * 
- * - * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; - */ - public scip.Scip.SymbolInformation.Builder addSymbolsBuilder() { - return internalGetSymbolsFieldBuilder().addBuilder( - scip.Scip.SymbolInformation.getDefaultInstance()); - } - /** - *
-       * Symbols that are "defined" within this document.
-       *
-       * This should include symbols which technically do not have any definition,
-       * but have a reference and are defined by some other symbol (see
-       * Relationship.is_definition).
-       * 
- * - * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; - */ - public scip.Scip.SymbolInformation.Builder addSymbolsBuilder( - int index) { - return internalGetSymbolsFieldBuilder().addBuilder( - index, scip.Scip.SymbolInformation.getDefaultInstance()); - } - /** - *
-       * Symbols that are "defined" within this document.
-       *
-       * This should include symbols which technically do not have any definition,
-       * but have a reference and are defined by some other symbol (see
-       * Relationship.is_definition).
-       * 
- * - * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; - */ - public java.util.List - getSymbolsBuilderList() { - return internalGetSymbolsFieldBuilder().getBuilderList(); - } - private com.google.protobuf.RepeatedFieldBuilder< - scip.Scip.SymbolInformation, scip.Scip.SymbolInformation.Builder, scip.Scip.SymbolInformationOrBuilder> - internalGetSymbolsFieldBuilder() { - if (symbolsBuilder_ == null) { - symbolsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder< - scip.Scip.SymbolInformation, scip.Scip.SymbolInformation.Builder, scip.Scip.SymbolInformationOrBuilder>( - symbols_, - ((bitField0_ & 0x00000008) != 0), - getParentForChildren(), - isClean()); - symbols_ = null; - } - return symbolsBuilder_; - } - - private java.lang.Object text_ = ""; - /** - *
-       * (optional) Text contents of this document. Indexers are not expected to
-       * include the text by default. It's preferable that clients read the text
-       * contents from the file system by resolving the absolute path from joining
-       * `Index.metadata.project_root` and `Document.relative_path`. This field
-       * can be useful for testing or when working with virtual/in-memory documents.
-       * 
- * - * string text = 5 [json_name = "text"]; - * @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; - } - } - /** - *
-       * (optional) Text contents of this document. Indexers are not expected to
-       * include the text by default. It's preferable that clients read the text
-       * contents from the file system by resolving the absolute path from joining
-       * `Index.metadata.project_root` and `Document.relative_path`. This field
-       * can be useful for testing or when working with virtual/in-memory documents.
-       * 
- * - * string text = 5 [json_name = "text"]; - * @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; - } - } - /** - *
-       * (optional) Text contents of this document. Indexers are not expected to
-       * include the text by default. It's preferable that clients read the text
-       * contents from the file system by resolving the absolute path from joining
-       * `Index.metadata.project_root` and `Document.relative_path`. This field
-       * can be useful for testing or when working with virtual/in-memory documents.
-       * 
- * - * string text = 5 [json_name = "text"]; - * @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; - bitField0_ |= 0x00000010; - onChanged(); - return this; - } - /** - *
-       * (optional) Text contents of this document. Indexers are not expected to
-       * include the text by default. It's preferable that clients read the text
-       * contents from the file system by resolving the absolute path from joining
-       * `Index.metadata.project_root` and `Document.relative_path`. This field
-       * can be useful for testing or when working with virtual/in-memory documents.
-       * 
- * - * string text = 5 [json_name = "text"]; - * @return This builder for chaining. - */ - public Builder clearText() { - text_ = getDefaultInstance().getText(); - bitField0_ = (bitField0_ & ~0x00000010); - onChanged(); - return this; - } - /** - *
-       * (optional) Text contents of this document. Indexers are not expected to
-       * include the text by default. It's preferable that clients read the text
-       * contents from the file system by resolving the absolute path from joining
-       * `Index.metadata.project_root` and `Document.relative_path`. This field
-       * can be useful for testing or when working with virtual/in-memory documents.
-       * 
- * - * string text = 5 [json_name = "text"]; - * @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; - bitField0_ |= 0x00000010; - onChanged(); - return this; - } - - private int positionEncoding_ = 0; - /** - *
-       * Specifies the encoding used for source ranges in this Document.
-       *
-       * Usually, this will match the type used to index the string type
-       * in the indexer's implementation language in O(1) time.
-       * - For an indexer implemented in JVM/.NET language or JavaScript/TypeScript,
-       * use UTF16CodeUnitOffsetFromLineStart.
-       * - For an indexer implemented in Python,
-       * use UTF32CodeUnitOffsetFromLineStart.
-       * - For an indexer implemented in Go, Rust or C++,
-       * use UTF8ByteOffsetFromLineStart.
-       * 
- * - * .scip.PositionEncoding position_encoding = 6 [json_name = "positionEncoding"]; - * @return The enum numeric value on the wire for positionEncoding. - */ - @java.lang.Override public int getPositionEncodingValue() { - return positionEncoding_; - } - /** - *
-       * Specifies the encoding used for source ranges in this Document.
-       *
-       * Usually, this will match the type used to index the string type
-       * in the indexer's implementation language in O(1) time.
-       * - For an indexer implemented in JVM/.NET language or JavaScript/TypeScript,
-       * use UTF16CodeUnitOffsetFromLineStart.
-       * - For an indexer implemented in Python,
-       * use UTF32CodeUnitOffsetFromLineStart.
-       * - For an indexer implemented in Go, Rust or C++,
-       * use UTF8ByteOffsetFromLineStart.
-       * 
- * - * .scip.PositionEncoding position_encoding = 6 [json_name = "positionEncoding"]; - * @param value The enum numeric value on the wire for positionEncoding to set. - * @return This builder for chaining. - */ - public Builder setPositionEncodingValue(int value) { - positionEncoding_ = value; - bitField0_ |= 0x00000020; - onChanged(); - return this; - } - /** - *
-       * Specifies the encoding used for source ranges in this Document.
-       *
-       * Usually, this will match the type used to index the string type
-       * in the indexer's implementation language in O(1) time.
-       * - For an indexer implemented in JVM/.NET language or JavaScript/TypeScript,
-       * use UTF16CodeUnitOffsetFromLineStart.
-       * - For an indexer implemented in Python,
-       * use UTF32CodeUnitOffsetFromLineStart.
-       * - For an indexer implemented in Go, Rust or C++,
-       * use UTF8ByteOffsetFromLineStart.
-       * 
- * - * .scip.PositionEncoding position_encoding = 6 [json_name = "positionEncoding"]; - * @return The positionEncoding. - */ - @java.lang.Override - public scip.Scip.PositionEncoding getPositionEncoding() { - scip.Scip.PositionEncoding result = scip.Scip.PositionEncoding.forNumber(positionEncoding_); - return result == null ? scip.Scip.PositionEncoding.UNRECOGNIZED : result; - } - /** - *
-       * Specifies the encoding used for source ranges in this Document.
-       *
-       * Usually, this will match the type used to index the string type
-       * in the indexer's implementation language in O(1) time.
-       * - For an indexer implemented in JVM/.NET language or JavaScript/TypeScript,
-       * use UTF16CodeUnitOffsetFromLineStart.
-       * - For an indexer implemented in Python,
-       * use UTF32CodeUnitOffsetFromLineStart.
-       * - For an indexer implemented in Go, Rust or C++,
-       * use UTF8ByteOffsetFromLineStart.
-       * 
- * - * .scip.PositionEncoding position_encoding = 6 [json_name = "positionEncoding"]; - * @param value The positionEncoding to set. - * @return This builder for chaining. - */ - public Builder setPositionEncoding(scip.Scip.PositionEncoding value) { - if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000020; - positionEncoding_ = value.getNumber(); - onChanged(); - return this; - } - /** - *
-       * Specifies the encoding used for source ranges in this Document.
-       *
-       * Usually, this will match the type used to index the string type
-       * in the indexer's implementation language in O(1) time.
-       * - For an indexer implemented in JVM/.NET language or JavaScript/TypeScript,
-       * use UTF16CodeUnitOffsetFromLineStart.
-       * - For an indexer implemented in Python,
-       * use UTF32CodeUnitOffsetFromLineStart.
-       * - For an indexer implemented in Go, Rust or C++,
-       * use UTF8ByteOffsetFromLineStart.
-       * 
- * - * .scip.PositionEncoding position_encoding = 6 [json_name = "positionEncoding"]; - * @return This builder for chaining. - */ - public Builder clearPositionEncoding() { - bitField0_ = (bitField0_ & ~0x00000020); - positionEncoding_ = 0; - onChanged(); - return this; - } - - // @@protoc_insertion_point(builder_scope:scip.Document) - } - - // @@protoc_insertion_point(class_scope:scip.Document) - private static final scip.Scip.Document DEFAULT_INSTANCE; - static { - DEFAULT_INSTANCE = new scip.Scip.Document(); - } - - public static scip.Scip.Document getDefaultInstance() { - return DEFAULT_INSTANCE; - } - - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { - @java.lang.Override - public Document parsePartialFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - Builder builder = newBuilder(); - try { - builder.mergeFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.setUnfinishedMessage(builder.buildPartial()); - } catch (com.google.protobuf.UninitializedMessageException e) { - throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); - } catch (java.io.IOException e) { - throw new com.google.protobuf.InvalidProtocolBufferException(e) - .setUnfinishedMessage(builder.buildPartial()); - } - return builder.buildPartial(); - } - }; - - public static com.google.protobuf.Parser parser() { - return PARSER; - } - - @java.lang.Override - public com.google.protobuf.Parser getParserForType() { - return PARSER; - } - - @java.lang.Override - public scip.Scip.Document getDefaultInstanceForType() { - return DEFAULT_INSTANCE; - } - - } - - public interface SymbolOrBuilder extends - // @@protoc_insertion_point(interface_extends:scip.Symbol) - com.google.protobuf.MessageOrBuilder { - - /** - * string scheme = 1 [json_name = "scheme"]; - * @return The scheme. - */ - java.lang.String getScheme(); - /** - * string scheme = 1 [json_name = "scheme"]; - * @return The bytes for scheme. - */ - com.google.protobuf.ByteString - getSchemeBytes(); - - /** - * .scip.Package package = 2 [json_name = "package"]; - * @return Whether the package field is set. - */ - boolean hasPackage(); - /** - * .scip.Package package = 2 [json_name = "package"]; - * @return The package. - */ - scip.Scip.Package getPackage(); - /** - * .scip.Package package = 2 [json_name = "package"]; - */ - scip.Scip.PackageOrBuilder getPackageOrBuilder(); - - /** - * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; - */ - java.util.List - getDescriptorsList(); - /** - * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; - */ - scip.Scip.Descriptor getDescriptors(int index); - /** - * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; - */ - int getDescriptorsCount(); - /** - * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; - */ - java.util.List - getDescriptorsOrBuilderList(); - /** - * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; - */ - scip.Scip.DescriptorOrBuilder getDescriptorsOrBuilder( - int index); - } - /** - *
-   * Symbol is similar to a URI, it identifies a class, method, or a local
-   * variable. `SymbolInformation` contains rich metadata about symbols such as
-   * the docstring.
-   *
-   * Symbol has a standardized string representation, which can be used
-   * interchangeably with `Symbol`. The syntax for Symbol is the following:
-   * ```
-   * # (<x>)+ stands for one or more repetitions of <x>
-   * # (<x>)? stands for zero or one occurrence of <x>
-   * <symbol>               ::= <scheme> ' ' <package> ' ' (<descriptor>)+ | 'local ' <local-id>
-   * <package>              ::= <manager> ' ' <package-name> ' ' <version>
-   * <scheme>               ::= any UTF-8, escape spaces with double space. Must not be empty nor start with 'local'
-   * <manager>              ::= any UTF-8, escape spaces with double space. Use the placeholder '.' to indicate an empty value
-   * <package-name>         ::= same as above
-   * <version>              ::= same as above
-   * <descriptor>           ::= <namespace> | <type> | <term> | <method> | <type-parameter> | <parameter> | <meta> | <macro>
-   * <namespace>            ::= <name> '/'
-   * <type>                 ::= <name> '#'
-   * <term>                 ::= <name> '.'
-   * <meta>                 ::= <name> ':'
-   * <macro>                ::= <name> '!'
-   * <method>               ::= <name> '(' (<method-disambiguator>)? ').'
-   * <type-parameter>       ::= '[' <name> ']'
-   * <parameter>            ::= '(' <name> ')'
-   * <name>                 ::= <identifier>
-   * <method-disambiguator> ::= <simple-identifier>
-   * <identifier>           ::= <simple-identifier> | <escaped-identifier>
-   * <simple-identifier>    ::= (<identifier-character>)+
-   * <identifier-character> ::= '_' | '+' | '-' | '$' | ASCII letter or digit
-   * <escaped-identifier>   ::= '`' (<escaped-character>)+ '`', must contain at least one non-<identifier-character>
-   * <escaped-characters>   ::= any UTF-8, escape backticks with double backtick.
-   * <local-id>             ::= <simple-identifier>
-   * ```
-   *
-   * The list of descriptors for a symbol should together form a fully
-   * qualified name for the symbol. That is, it should serve as a unique
-   * identifier across the package. Typically, it will include one descriptor
-   * for every node in the AST (along the ancestry path) between the root of
-   * the file and the node corresponding to the symbol.
-   *
-   * Local symbols MUST only be used for entities which are local to a Document,
-   * and cannot be accessed from outside the Document.
-   * 
- * - * Protobuf type {@code scip.Symbol} - */ - public static final class Symbol extends - com.google.protobuf.GeneratedMessage implements - // @@protoc_insertion_point(message_implements:scip.Symbol) - SymbolOrBuilder { - private static final long serialVersionUID = 0L; - static { - com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( - com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, - /* major= */ 4, - /* minor= */ 32, - /* patch= */ 1, - /* suffix= */ "", - Symbol.class.getName()); - } - // Use Symbol.newBuilder() to construct. - private Symbol(com.google.protobuf.GeneratedMessage.Builder builder) { - super(builder); - } - private Symbol() { - scheme_ = ""; - descriptors_ = java.util.Collections.emptyList(); - } - - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return scip.Scip.internal_static_scip_Symbol_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessage.FieldAccessorTable - internalGetFieldAccessorTable() { - return scip.Scip.internal_static_scip_Symbol_fieldAccessorTable - .ensureFieldAccessorsInitialized( - scip.Scip.Symbol.class, scip.Scip.Symbol.Builder.class); - } - - private int bitField0_; - public static final int SCHEME_FIELD_NUMBER = 1; - @SuppressWarnings("serial") - private volatile java.lang.Object scheme_ = ""; - /** - * string scheme = 1 [json_name = "scheme"]; - * @return The scheme. - */ - @java.lang.Override - public java.lang.String getScheme() { - java.lang.Object ref = scheme_; - 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(); - scheme_ = s; - return s; - } - } - /** - * string scheme = 1 [json_name = "scheme"]; - * @return The bytes for scheme. - */ - @java.lang.Override - public com.google.protobuf.ByteString - getSchemeBytes() { - java.lang.Object ref = scheme_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - scheme_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - - public static final int PACKAGE_FIELD_NUMBER = 2; - private scip.Scip.Package package_; - /** - * .scip.Package package = 2 [json_name = "package"]; - * @return Whether the package field is set. - */ - @java.lang.Override - public boolean hasPackage() { - return ((bitField0_ & 0x00000001) != 0); - } - /** - * .scip.Package package = 2 [json_name = "package"]; - * @return The package. - */ - @java.lang.Override - public scip.Scip.Package getPackage() { - return package_ == null ? scip.Scip.Package.getDefaultInstance() : package_; - } - /** - * .scip.Package package = 2 [json_name = "package"]; - */ - @java.lang.Override - public scip.Scip.PackageOrBuilder getPackageOrBuilder() { - return package_ == null ? scip.Scip.Package.getDefaultInstance() : package_; - } - - public static final int DESCRIPTORS_FIELD_NUMBER = 3; - @SuppressWarnings("serial") - private java.util.List descriptors_; - /** - * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; - */ - @java.lang.Override - public java.util.List getDescriptorsList() { - return descriptors_; - } - /** - * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; - */ - @java.lang.Override - public java.util.List - getDescriptorsOrBuilderList() { - return descriptors_; - } - /** - * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; - */ - @java.lang.Override - public int getDescriptorsCount() { - return descriptors_.size(); - } - /** - * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; - */ - @java.lang.Override - public scip.Scip.Descriptor getDescriptors(int index) { - return descriptors_.get(index); - } - /** - * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; - */ - @java.lang.Override - public scip.Scip.DescriptorOrBuilder getDescriptorsOrBuilder( - int index) { - return descriptors_.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 (!com.google.protobuf.GeneratedMessage.isStringEmpty(scheme_)) { - com.google.protobuf.GeneratedMessage.writeString(output, 1, scheme_); - } - if (((bitField0_ & 0x00000001) != 0)) { - output.writeMessage(2, getPackage()); - } - for (int i = 0; i < descriptors_.size(); i++) { - output.writeMessage(3, descriptors_.get(i)); - } - getUnknownFields().writeTo(output); - } - - @java.lang.Override - public int getSerializedSize() { - int size = memoizedSize; - if (size != -1) return size; - - size = 0; - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(scheme_)) { - size += com.google.protobuf.GeneratedMessage.computeStringSize(1, scheme_); - } - if (((bitField0_ & 0x00000001) != 0)) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(2, getPackage()); - } - for (int i = 0; i < descriptors_.size(); i++) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(3, descriptors_.get(i)); - } - size += getUnknownFields().getSerializedSize(); - memoizedSize = size; - return size; - } - - @java.lang.Override - public boolean equals(final java.lang.Object obj) { - if (obj == this) { - return true; - } - if (!(obj instanceof scip.Scip.Symbol)) { - return super.equals(obj); - } - scip.Scip.Symbol other = (scip.Scip.Symbol) obj; - - if (!getScheme() - .equals(other.getScheme())) return false; - if (hasPackage() != other.hasPackage()) return false; - if (hasPackage()) { - if (!getPackage() - .equals(other.getPackage())) return false; - } - if (!getDescriptorsList() - .equals(other.getDescriptorsList())) return false; - if (!getUnknownFields().equals(other.getUnknownFields())) 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) + SCHEME_FIELD_NUMBER; - hash = (53 * hash) + getScheme().hashCode(); - if (hasPackage()) { - hash = (37 * hash) + PACKAGE_FIELD_NUMBER; - hash = (53 * hash) + getPackage().hashCode(); - } - if (getDescriptorsCount() > 0) { - hash = (37 * hash) + DESCRIPTORS_FIELD_NUMBER; - hash = (53 * hash) + getDescriptorsList().hashCode(); - } - hash = (29 * hash) + getUnknownFields().hashCode(); - memoizedHashCode = hash; - return hash; - } - - public static scip.Scip.Symbol parseFrom( - java.nio.ByteBuffer data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static scip.Scip.Symbol parseFrom( - java.nio.ByteBuffer data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static scip.Scip.Symbol parseFrom( - com.google.protobuf.ByteString data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static scip.Scip.Symbol parseFrom( - com.google.protobuf.ByteString data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static scip.Scip.Symbol parseFrom(byte[] data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static scip.Scip.Symbol parseFrom( - byte[] data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static scip.Scip.Symbol parseFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input); - } - public static scip.Scip.Symbol parseFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input, extensionRegistry); - } - - public static scip.Scip.Symbol parseDelimitedFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseDelimitedWithIOException(PARSER, input); - } - - public static scip.Scip.Symbol parseDelimitedFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseDelimitedWithIOException(PARSER, input, extensionRegistry); - } - public static scip.Scip.Symbol parseFrom( - com.google.protobuf.CodedInputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input); - } - public static scip.Scip.Symbol parseFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input, extensionRegistry); - } - - @java.lang.Override - public Builder newBuilderForType() { return newBuilder(); } - public static Builder newBuilder() { - return DEFAULT_INSTANCE.toBuilder(); - } - public static Builder newBuilder(scip.Scip.Symbol 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.GeneratedMessage.BuilderParent parent) { - Builder builder = new Builder(parent); - return builder; - } - /** - *
-     * Symbol is similar to a URI, it identifies a class, method, or a local
-     * variable. `SymbolInformation` contains rich metadata about symbols such as
-     * the docstring.
-     *
-     * Symbol has a standardized string representation, which can be used
-     * interchangeably with `Symbol`. The syntax for Symbol is the following:
-     * ```
-     * # (<x>)+ stands for one or more repetitions of <x>
-     * # (<x>)? stands for zero or one occurrence of <x>
-     * <symbol>               ::= <scheme> ' ' <package> ' ' (<descriptor>)+ | 'local ' <local-id>
-     * <package>              ::= <manager> ' ' <package-name> ' ' <version>
-     * <scheme>               ::= any UTF-8, escape spaces with double space. Must not be empty nor start with 'local'
-     * <manager>              ::= any UTF-8, escape spaces with double space. Use the placeholder '.' to indicate an empty value
-     * <package-name>         ::= same as above
-     * <version>              ::= same as above
-     * <descriptor>           ::= <namespace> | <type> | <term> | <method> | <type-parameter> | <parameter> | <meta> | <macro>
-     * <namespace>            ::= <name> '/'
-     * <type>                 ::= <name> '#'
-     * <term>                 ::= <name> '.'
-     * <meta>                 ::= <name> ':'
-     * <macro>                ::= <name> '!'
-     * <method>               ::= <name> '(' (<method-disambiguator>)? ').'
-     * <type-parameter>       ::= '[' <name> ']'
-     * <parameter>            ::= '(' <name> ')'
-     * <name>                 ::= <identifier>
-     * <method-disambiguator> ::= <simple-identifier>
-     * <identifier>           ::= <simple-identifier> | <escaped-identifier>
-     * <simple-identifier>    ::= (<identifier-character>)+
-     * <identifier-character> ::= '_' | '+' | '-' | '$' | ASCII letter or digit
-     * <escaped-identifier>   ::= '`' (<escaped-character>)+ '`', must contain at least one non-<identifier-character>
-     * <escaped-characters>   ::= any UTF-8, escape backticks with double backtick.
-     * <local-id>             ::= <simple-identifier>
-     * ```
-     *
-     * The list of descriptors for a symbol should together form a fully
-     * qualified name for the symbol. That is, it should serve as a unique
-     * identifier across the package. Typically, it will include one descriptor
-     * for every node in the AST (along the ancestry path) between the root of
-     * the file and the node corresponding to the symbol.
-     *
-     * Local symbols MUST only be used for entities which are local to a Document,
-     * and cannot be accessed from outside the Document.
-     * 
- * - * Protobuf type {@code scip.Symbol} - */ - public static final class Builder extends - com.google.protobuf.GeneratedMessage.Builder implements - // @@protoc_insertion_point(builder_implements:scip.Symbol) - scip.Scip.SymbolOrBuilder { - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return scip.Scip.internal_static_scip_Symbol_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessage.FieldAccessorTable - internalGetFieldAccessorTable() { - return scip.Scip.internal_static_scip_Symbol_fieldAccessorTable - .ensureFieldAccessorsInitialized( - scip.Scip.Symbol.class, scip.Scip.Symbol.Builder.class); - } - - // Construct using scip.Scip.Symbol.newBuilder() - private Builder() { - maybeForceBuilderInitialization(); - } - - private Builder( - com.google.protobuf.GeneratedMessage.BuilderParent parent) { - super(parent); - maybeForceBuilderInitialization(); - } - private void maybeForceBuilderInitialization() { - if (com.google.protobuf.GeneratedMessage - .alwaysUseFieldBuilders) { - internalGetPackageFieldBuilder(); - internalGetDescriptorsFieldBuilder(); - } - } - @java.lang.Override - public Builder clear() { - super.clear(); - bitField0_ = 0; - scheme_ = ""; - package_ = null; - if (packageBuilder_ != null) { - packageBuilder_.dispose(); - packageBuilder_ = null; - } - if (descriptorsBuilder_ == null) { - descriptors_ = java.util.Collections.emptyList(); - } else { - descriptors_ = null; - descriptorsBuilder_.clear(); - } - bitField0_ = (bitField0_ & ~0x00000004); - return this; - } - - @java.lang.Override - public com.google.protobuf.Descriptors.Descriptor - getDescriptorForType() { - return scip.Scip.internal_static_scip_Symbol_descriptor; - } - - @java.lang.Override - public scip.Scip.Symbol getDefaultInstanceForType() { - return scip.Scip.Symbol.getDefaultInstance(); - } - - @java.lang.Override - public scip.Scip.Symbol build() { - scip.Scip.Symbol result = buildPartial(); - if (!result.isInitialized()) { - throw newUninitializedMessageException(result); - } - return result; - } - - @java.lang.Override - public scip.Scip.Symbol buildPartial() { - scip.Scip.Symbol result = new scip.Scip.Symbol(this); - buildPartialRepeatedFields(result); - if (bitField0_ != 0) { buildPartial0(result); } - onBuilt(); - return result; - } - - private void buildPartialRepeatedFields(scip.Scip.Symbol result) { - if (descriptorsBuilder_ == null) { - if (((bitField0_ & 0x00000004) != 0)) { - descriptors_ = java.util.Collections.unmodifiableList(descriptors_); - bitField0_ = (bitField0_ & ~0x00000004); - } - result.descriptors_ = descriptors_; - } else { - result.descriptors_ = descriptorsBuilder_.build(); - } - } - - private void buildPartial0(scip.Scip.Symbol result) { - int from_bitField0_ = bitField0_; - if (((from_bitField0_ & 0x00000001) != 0)) { - result.scheme_ = scheme_; - } - int to_bitField0_ = 0; - if (((from_bitField0_ & 0x00000002) != 0)) { - result.package_ = packageBuilder_ == null - ? package_ - : packageBuilder_.build(); - to_bitField0_ |= 0x00000001; - } - result.bitField0_ |= to_bitField0_; - } - - @java.lang.Override - public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof scip.Scip.Symbol) { - return mergeFrom((scip.Scip.Symbol)other); - } else { - super.mergeFrom(other); - return this; - } - } - - public Builder mergeFrom(scip.Scip.Symbol other) { - if (other == scip.Scip.Symbol.getDefaultInstance()) return this; - if (!other.getScheme().isEmpty()) { - scheme_ = other.scheme_; - bitField0_ |= 0x00000001; - onChanged(); - } - if (other.hasPackage()) { - mergePackage(other.getPackage()); - } - if (descriptorsBuilder_ == null) { - if (!other.descriptors_.isEmpty()) { - if (descriptors_.isEmpty()) { - descriptors_ = other.descriptors_; - bitField0_ = (bitField0_ & ~0x00000004); - } else { - ensureDescriptorsIsMutable(); - descriptors_.addAll(other.descriptors_); - } - onChanged(); - } - } else { - if (!other.descriptors_.isEmpty()) { - if (descriptorsBuilder_.isEmpty()) { - descriptorsBuilder_.dispose(); - descriptorsBuilder_ = null; - descriptors_ = other.descriptors_; - bitField0_ = (bitField0_ & ~0x00000004); - descriptorsBuilder_ = - com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ? - internalGetDescriptorsFieldBuilder() : null; - } else { - descriptorsBuilder_.addAllMessages(other.descriptors_); - } - } - } - this.mergeUnknownFields(other.getUnknownFields()); - 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 { - if (extensionRegistry == null) { - throw new java.lang.NullPointerException(); - } - try { - boolean done = false; - while (!done) { - int tag = input.readTag(); - switch (tag) { - case 0: - done = true; - break; - case 10: { - scheme_ = input.readStringRequireUtf8(); - bitField0_ |= 0x00000001; - break; - } // case 10 - case 18: { - input.readMessage( - internalGetPackageFieldBuilder().getBuilder(), - extensionRegistry); - bitField0_ |= 0x00000002; - break; - } // case 18 - case 26: { - scip.Scip.Descriptor m = - input.readMessage( - scip.Scip.Descriptor.parser(), - extensionRegistry); - if (descriptorsBuilder_ == null) { - ensureDescriptorsIsMutable(); - descriptors_.add(m); - } else { - descriptorsBuilder_.addMessage(m); - } - break; - } // case 26 - default: { - if (!super.parseUnknownField(input, extensionRegistry, tag)) { - done = true; // was an endgroup tag - } - break; - } // default: - } // switch (tag) - } // while (!done) - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.unwrapIOException(); - } finally { - onChanged(); - } // finally - return this; - } - private int bitField0_; - - private java.lang.Object scheme_ = ""; - /** - * string scheme = 1 [json_name = "scheme"]; - * @return The scheme. - */ - public java.lang.String getScheme() { - java.lang.Object ref = scheme_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - scheme_ = s; - return s; - } else { - return (java.lang.String) ref; - } - } - /** - * string scheme = 1 [json_name = "scheme"]; - * @return The bytes for scheme. - */ - public com.google.protobuf.ByteString - getSchemeBytes() { - java.lang.Object ref = scheme_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - scheme_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - /** - * string scheme = 1 [json_name = "scheme"]; - * @param value The scheme to set. - * @return This builder for chaining. - */ - public Builder setScheme( - java.lang.String value) { - if (value == null) { throw new NullPointerException(); } - scheme_ = value; - bitField0_ |= 0x00000001; - onChanged(); - return this; - } - /** - * string scheme = 1 [json_name = "scheme"]; - * @return This builder for chaining. - */ - public Builder clearScheme() { - scheme_ = getDefaultInstance().getScheme(); - bitField0_ = (bitField0_ & ~0x00000001); - onChanged(); - return this; - } - /** - * string scheme = 1 [json_name = "scheme"]; - * @param value The bytes for scheme to set. - * @return This builder for chaining. - */ - public Builder setSchemeBytes( - com.google.protobuf.ByteString value) { - if (value == null) { throw new NullPointerException(); } - checkByteStringIsUtf8(value); - scheme_ = value; - bitField0_ |= 0x00000001; - onChanged(); - return this; - } - - private scip.Scip.Package package_; - private com.google.protobuf.SingleFieldBuilder< - scip.Scip.Package, scip.Scip.Package.Builder, scip.Scip.PackageOrBuilder> packageBuilder_; - /** - * .scip.Package package = 2 [json_name = "package"]; - * @return Whether the package field is set. - */ - public boolean hasPackage() { - return ((bitField0_ & 0x00000002) != 0); - } - /** - * .scip.Package package = 2 [json_name = "package"]; - * @return The package. - */ - public scip.Scip.Package getPackage() { - if (packageBuilder_ == null) { - return package_ == null ? scip.Scip.Package.getDefaultInstance() : package_; - } else { - return packageBuilder_.getMessage(); - } - } - /** - * .scip.Package package = 2 [json_name = "package"]; - */ - public Builder setPackage(scip.Scip.Package value) { - if (packageBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - package_ = value; - } else { - packageBuilder_.setMessage(value); - } - bitField0_ |= 0x00000002; - onChanged(); - return this; - } - /** - * .scip.Package package = 2 [json_name = "package"]; - */ - public Builder setPackage( - scip.Scip.Package.Builder builderForValue) { - if (packageBuilder_ == null) { - package_ = builderForValue.build(); - } else { - packageBuilder_.setMessage(builderForValue.build()); - } - bitField0_ |= 0x00000002; - onChanged(); - return this; - } - /** - * .scip.Package package = 2 [json_name = "package"]; - */ - public Builder mergePackage(scip.Scip.Package value) { - if (packageBuilder_ == null) { - if (((bitField0_ & 0x00000002) != 0) && - package_ != null && - package_ != scip.Scip.Package.getDefaultInstance()) { - getPackageBuilder().mergeFrom(value); - } else { - package_ = value; - } - } else { - packageBuilder_.mergeFrom(value); - } - if (package_ != null) { - bitField0_ |= 0x00000002; - onChanged(); - } - return this; - } - /** - * .scip.Package package = 2 [json_name = "package"]; - */ - public Builder clearPackage() { - bitField0_ = (bitField0_ & ~0x00000002); - package_ = null; - if (packageBuilder_ != null) { - packageBuilder_.dispose(); - packageBuilder_ = null; - } - onChanged(); - return this; - } - /** - * .scip.Package package = 2 [json_name = "package"]; - */ - public scip.Scip.Package.Builder getPackageBuilder() { - bitField0_ |= 0x00000002; - onChanged(); - return internalGetPackageFieldBuilder().getBuilder(); - } - /** - * .scip.Package package = 2 [json_name = "package"]; - */ - public scip.Scip.PackageOrBuilder getPackageOrBuilder() { - if (packageBuilder_ != null) { - return packageBuilder_.getMessageOrBuilder(); - } else { - return package_ == null ? - scip.Scip.Package.getDefaultInstance() : package_; - } - } - /** - * .scip.Package package = 2 [json_name = "package"]; - */ - private com.google.protobuf.SingleFieldBuilder< - scip.Scip.Package, scip.Scip.Package.Builder, scip.Scip.PackageOrBuilder> - internalGetPackageFieldBuilder() { - if (packageBuilder_ == null) { - packageBuilder_ = new com.google.protobuf.SingleFieldBuilder< - scip.Scip.Package, scip.Scip.Package.Builder, scip.Scip.PackageOrBuilder>( - getPackage(), - getParentForChildren(), - isClean()); - package_ = null; - } - return packageBuilder_; - } - - private java.util.List descriptors_ = - java.util.Collections.emptyList(); - private void ensureDescriptorsIsMutable() { - if (!((bitField0_ & 0x00000004) != 0)) { - descriptors_ = new java.util.ArrayList(descriptors_); - bitField0_ |= 0x00000004; - } - } - - private com.google.protobuf.RepeatedFieldBuilder< - scip.Scip.Descriptor, scip.Scip.Descriptor.Builder, scip.Scip.DescriptorOrBuilder> descriptorsBuilder_; - - /** - * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; - */ - public java.util.List getDescriptorsList() { - if (descriptorsBuilder_ == null) { - return java.util.Collections.unmodifiableList(descriptors_); - } else { - return descriptorsBuilder_.getMessageList(); - } - } - /** - * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; - */ - public int getDescriptorsCount() { - if (descriptorsBuilder_ == null) { - return descriptors_.size(); - } else { - return descriptorsBuilder_.getCount(); - } - } - /** - * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; - */ - public scip.Scip.Descriptor getDescriptors(int index) { - if (descriptorsBuilder_ == null) { - return descriptors_.get(index); - } else { - return descriptorsBuilder_.getMessage(index); - } - } - /** - * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; - */ - public Builder setDescriptors( - int index, scip.Scip.Descriptor value) { - if (descriptorsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureDescriptorsIsMutable(); - descriptors_.set(index, value); - onChanged(); - } else { - descriptorsBuilder_.setMessage(index, value); - } - return this; - } - /** - * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; - */ - public Builder setDescriptors( - int index, scip.Scip.Descriptor.Builder builderForValue) { - if (descriptorsBuilder_ == null) { - ensureDescriptorsIsMutable(); - descriptors_.set(index, builderForValue.build()); - onChanged(); - } else { - descriptorsBuilder_.setMessage(index, builderForValue.build()); - } - return this; - } - /** - * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; - */ - public Builder addDescriptors(scip.Scip.Descriptor value) { - if (descriptorsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureDescriptorsIsMutable(); - descriptors_.add(value); - onChanged(); - } else { - descriptorsBuilder_.addMessage(value); - } - return this; - } - /** - * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; - */ - public Builder addDescriptors( - int index, scip.Scip.Descriptor value) { - if (descriptorsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureDescriptorsIsMutable(); - descriptors_.add(index, value); - onChanged(); - } else { - descriptorsBuilder_.addMessage(index, value); - } - return this; - } - /** - * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; - */ - public Builder addDescriptors( - scip.Scip.Descriptor.Builder builderForValue) { - if (descriptorsBuilder_ == null) { - ensureDescriptorsIsMutable(); - descriptors_.add(builderForValue.build()); - onChanged(); - } else { - descriptorsBuilder_.addMessage(builderForValue.build()); - } - return this; - } - /** - * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; - */ - public Builder addDescriptors( - int index, scip.Scip.Descriptor.Builder builderForValue) { - if (descriptorsBuilder_ == null) { - ensureDescriptorsIsMutable(); - descriptors_.add(index, builderForValue.build()); - onChanged(); - } else { - descriptorsBuilder_.addMessage(index, builderForValue.build()); - } - return this; - } - /** - * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; - */ - public Builder addAllDescriptors( - java.lang.Iterable values) { - if (descriptorsBuilder_ == null) { - ensureDescriptorsIsMutable(); - com.google.protobuf.AbstractMessageLite.Builder.addAll( - values, descriptors_); - onChanged(); - } else { - descriptorsBuilder_.addAllMessages(values); - } - return this; - } - /** - * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; - */ - public Builder clearDescriptors() { - if (descriptorsBuilder_ == null) { - descriptors_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000004); - onChanged(); - } else { - descriptorsBuilder_.clear(); - } - return this; - } - /** - * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; - */ - public Builder removeDescriptors(int index) { - if (descriptorsBuilder_ == null) { - ensureDescriptorsIsMutable(); - descriptors_.remove(index); - onChanged(); - } else { - descriptorsBuilder_.remove(index); - } - return this; - } - /** - * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; - */ - public scip.Scip.Descriptor.Builder getDescriptorsBuilder( - int index) { - return internalGetDescriptorsFieldBuilder().getBuilder(index); - } - /** - * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; - */ - public scip.Scip.DescriptorOrBuilder getDescriptorsOrBuilder( - int index) { - if (descriptorsBuilder_ == null) { - return descriptors_.get(index); } else { - return descriptorsBuilder_.getMessageOrBuilder(index); - } - } - /** - * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; - */ - public java.util.List - getDescriptorsOrBuilderList() { - if (descriptorsBuilder_ != null) { - return descriptorsBuilder_.getMessageOrBuilderList(); - } else { - return java.util.Collections.unmodifiableList(descriptors_); - } - } - /** - * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; - */ - public scip.Scip.Descriptor.Builder addDescriptorsBuilder() { - return internalGetDescriptorsFieldBuilder().addBuilder( - scip.Scip.Descriptor.getDefaultInstance()); - } - /** - * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; - */ - public scip.Scip.Descriptor.Builder addDescriptorsBuilder( - int index) { - return internalGetDescriptorsFieldBuilder().addBuilder( - index, scip.Scip.Descriptor.getDefaultInstance()); - } - /** - * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; - */ - public java.util.List - getDescriptorsBuilderList() { - return internalGetDescriptorsFieldBuilder().getBuilderList(); - } - private com.google.protobuf.RepeatedFieldBuilder< - scip.Scip.Descriptor, scip.Scip.Descriptor.Builder, scip.Scip.DescriptorOrBuilder> - internalGetDescriptorsFieldBuilder() { - if (descriptorsBuilder_ == null) { - descriptorsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder< - scip.Scip.Descriptor, scip.Scip.Descriptor.Builder, scip.Scip.DescriptorOrBuilder>( - descriptors_, - ((bitField0_ & 0x00000004) != 0), - getParentForChildren(), - isClean()); - descriptors_ = null; - } - return descriptorsBuilder_; - } - - // @@protoc_insertion_point(builder_scope:scip.Symbol) - } - - // @@protoc_insertion_point(class_scope:scip.Symbol) - private static final scip.Scip.Symbol DEFAULT_INSTANCE; - static { - DEFAULT_INSTANCE = new scip.Scip.Symbol(); - } - - public static scip.Scip.Symbol getDefaultInstance() { - return DEFAULT_INSTANCE; - } - - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { - @java.lang.Override - public Symbol parsePartialFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - Builder builder = newBuilder(); - try { - builder.mergeFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.setUnfinishedMessage(builder.buildPartial()); - } catch (com.google.protobuf.UninitializedMessageException e) { - throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); - } catch (java.io.IOException e) { - throw new com.google.protobuf.InvalidProtocolBufferException(e) - .setUnfinishedMessage(builder.buildPartial()); - } - return builder.buildPartial(); - } - }; - - public static com.google.protobuf.Parser parser() { - return PARSER; - } - - @java.lang.Override - public com.google.protobuf.Parser getParserForType() { - return PARSER; - } - - @java.lang.Override - public scip.Scip.Symbol getDefaultInstanceForType() { - return DEFAULT_INSTANCE; - } - - } - - public interface PackageOrBuilder extends - // @@protoc_insertion_point(interface_extends:scip.Package) - com.google.protobuf.MessageOrBuilder { - - /** - * string manager = 1 [json_name = "manager"]; - * @return The manager. - */ - java.lang.String getManager(); - /** - * string manager = 1 [json_name = "manager"]; - * @return The bytes for manager. - */ - com.google.protobuf.ByteString - getManagerBytes(); - - /** - * string name = 2 [json_name = "name"]; - * @return The name. - */ - java.lang.String getName(); - /** - * string name = 2 [json_name = "name"]; - * @return The bytes for name. - */ - com.google.protobuf.ByteString - getNameBytes(); - - /** - * string version = 3 [json_name = "version"]; - * @return The version. - */ - java.lang.String getVersion(); - /** - * string version = 3 [json_name = "version"]; - * @return The bytes for version. - */ - com.google.protobuf.ByteString - getVersionBytes(); - } - /** - *
-   * Unit of packaging and distribution.
-   *
-   * NOTE: This corresponds to a module in Go and JVM languages.
-   * 
- * - * Protobuf type {@code scip.Package} - */ - public static final class Package extends - com.google.protobuf.GeneratedMessage implements - // @@protoc_insertion_point(message_implements:scip.Package) - PackageOrBuilder { - private static final long serialVersionUID = 0L; - static { - com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( - com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, - /* major= */ 4, - /* minor= */ 32, - /* patch= */ 1, - /* suffix= */ "", - Package.class.getName()); - } - // Use Package.newBuilder() to construct. - private Package(com.google.protobuf.GeneratedMessage.Builder builder) { - super(builder); - } - private Package() { - manager_ = ""; - name_ = ""; - version_ = ""; - } - - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return scip.Scip.internal_static_scip_Package_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessage.FieldAccessorTable - internalGetFieldAccessorTable() { - return scip.Scip.internal_static_scip_Package_fieldAccessorTable - .ensureFieldAccessorsInitialized( - scip.Scip.Package.class, scip.Scip.Package.Builder.class); - } - - public static final int MANAGER_FIELD_NUMBER = 1; - @SuppressWarnings("serial") - private volatile java.lang.Object manager_ = ""; - /** - * string manager = 1 [json_name = "manager"]; - * @return The manager. - */ - @java.lang.Override - public java.lang.String getManager() { - java.lang.Object ref = manager_; - 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(); - manager_ = s; - return s; - } - } - /** - * string manager = 1 [json_name = "manager"]; - * @return The bytes for manager. - */ - @java.lang.Override - public com.google.protobuf.ByteString - getManagerBytes() { - java.lang.Object ref = manager_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - manager_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - - public static final int NAME_FIELD_NUMBER = 2; - @SuppressWarnings("serial") - private volatile java.lang.Object name_ = ""; - /** - * string name = 2 [json_name = "name"]; - * @return The name. - */ - @java.lang.Override - public java.lang.String getName() { - java.lang.Object ref = name_; - 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(); - name_ = s; - return s; - } - } - /** - * string name = 2 [json_name = "name"]; - * @return The bytes for name. - */ - @java.lang.Override - public com.google.protobuf.ByteString - getNameBytes() { - java.lang.Object ref = name_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - name_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - - public static final int VERSION_FIELD_NUMBER = 3; - @SuppressWarnings("serial") - private volatile java.lang.Object version_ = ""; - /** - * string version = 3 [json_name = "version"]; - * @return The version. - */ - @java.lang.Override - public java.lang.String getVersion() { - java.lang.Object ref = version_; - 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(); - version_ = s; - return s; - } - } - /** - * string version = 3 [json_name = "version"]; - * @return The bytes for version. - */ - @java.lang.Override - public com.google.protobuf.ByteString - getVersionBytes() { - java.lang.Object ref = version_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - version_ = 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 (!com.google.protobuf.GeneratedMessage.isStringEmpty(manager_)) { - com.google.protobuf.GeneratedMessage.writeString(output, 1, manager_); - } - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) { - com.google.protobuf.GeneratedMessage.writeString(output, 2, name_); - } - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(version_)) { - com.google.protobuf.GeneratedMessage.writeString(output, 3, version_); - } - getUnknownFields().writeTo(output); - } - - @java.lang.Override - public int getSerializedSize() { - int size = memoizedSize; - if (size != -1) return size; - - size = 0; - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(manager_)) { - size += com.google.protobuf.GeneratedMessage.computeStringSize(1, manager_); - } - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) { - size += com.google.protobuf.GeneratedMessage.computeStringSize(2, name_); - } - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(version_)) { - size += com.google.protobuf.GeneratedMessage.computeStringSize(3, version_); - } - size += getUnknownFields().getSerializedSize(); - memoizedSize = size; - return size; - } - - @java.lang.Override - public boolean equals(final java.lang.Object obj) { - if (obj == this) { - return true; - } - if (!(obj instanceof scip.Scip.Package)) { - return super.equals(obj); - } - scip.Scip.Package other = (scip.Scip.Package) obj; - - if (!getManager() - .equals(other.getManager())) return false; - if (!getName() - .equals(other.getName())) return false; - if (!getVersion() - .equals(other.getVersion())) return false; - if (!getUnknownFields().equals(other.getUnknownFields())) 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) + MANAGER_FIELD_NUMBER; - hash = (53 * hash) + getManager().hashCode(); - hash = (37 * hash) + NAME_FIELD_NUMBER; - hash = (53 * hash) + getName().hashCode(); - hash = (37 * hash) + VERSION_FIELD_NUMBER; - hash = (53 * hash) + getVersion().hashCode(); - hash = (29 * hash) + getUnknownFields().hashCode(); - memoizedHashCode = hash; - return hash; - } - - public static scip.Scip.Package parseFrom( - java.nio.ByteBuffer data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static scip.Scip.Package parseFrom( - java.nio.ByteBuffer data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static scip.Scip.Package parseFrom( - com.google.protobuf.ByteString data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static scip.Scip.Package parseFrom( - com.google.protobuf.ByteString data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static scip.Scip.Package parseFrom(byte[] data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static scip.Scip.Package parseFrom( - byte[] data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static scip.Scip.Package parseFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input); - } - public static scip.Scip.Package parseFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input, extensionRegistry); - } - - public static scip.Scip.Package parseDelimitedFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseDelimitedWithIOException(PARSER, input); - } - - public static scip.Scip.Package parseDelimitedFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseDelimitedWithIOException(PARSER, input, extensionRegistry); - } - public static scip.Scip.Package parseFrom( - com.google.protobuf.CodedInputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input); - } - public static scip.Scip.Package parseFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input, extensionRegistry); - } - - @java.lang.Override - public Builder newBuilderForType() { return newBuilder(); } - public static Builder newBuilder() { - return DEFAULT_INSTANCE.toBuilder(); - } - public static Builder newBuilder(scip.Scip.Package 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.GeneratedMessage.BuilderParent parent) { - Builder builder = new Builder(parent); - return builder; - } - /** - *
-     * Unit of packaging and distribution.
-     *
-     * NOTE: This corresponds to a module in Go and JVM languages.
-     * 
- * - * Protobuf type {@code scip.Package} - */ - public static final class Builder extends - com.google.protobuf.GeneratedMessage.Builder implements - // @@protoc_insertion_point(builder_implements:scip.Package) - scip.Scip.PackageOrBuilder { - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return scip.Scip.internal_static_scip_Package_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessage.FieldAccessorTable - internalGetFieldAccessorTable() { - return scip.Scip.internal_static_scip_Package_fieldAccessorTable - .ensureFieldAccessorsInitialized( - scip.Scip.Package.class, scip.Scip.Package.Builder.class); - } - - // Construct using scip.Scip.Package.newBuilder() - private Builder() { - - } - - private Builder( - com.google.protobuf.GeneratedMessage.BuilderParent parent) { - super(parent); - - } - @java.lang.Override - public Builder clear() { - super.clear(); - bitField0_ = 0; - manager_ = ""; - name_ = ""; - version_ = ""; - return this; - } - - @java.lang.Override - public com.google.protobuf.Descriptors.Descriptor - getDescriptorForType() { - return scip.Scip.internal_static_scip_Package_descriptor; - } - - @java.lang.Override - public scip.Scip.Package getDefaultInstanceForType() { - return scip.Scip.Package.getDefaultInstance(); - } - - @java.lang.Override - public scip.Scip.Package build() { - scip.Scip.Package result = buildPartial(); - if (!result.isInitialized()) { - throw newUninitializedMessageException(result); - } - return result; - } - - @java.lang.Override - public scip.Scip.Package buildPartial() { - scip.Scip.Package result = new scip.Scip.Package(this); - if (bitField0_ != 0) { buildPartial0(result); } - onBuilt(); - return result; - } - - private void buildPartial0(scip.Scip.Package result) { - int from_bitField0_ = bitField0_; - if (((from_bitField0_ & 0x00000001) != 0)) { - result.manager_ = manager_; - } - if (((from_bitField0_ & 0x00000002) != 0)) { - result.name_ = name_; - } - if (((from_bitField0_ & 0x00000004) != 0)) { - result.version_ = version_; - } - } - - @java.lang.Override - public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof scip.Scip.Package) { - return mergeFrom((scip.Scip.Package)other); - } else { - super.mergeFrom(other); - return this; - } - } - - public Builder mergeFrom(scip.Scip.Package other) { - if (other == scip.Scip.Package.getDefaultInstance()) return this; - if (!other.getManager().isEmpty()) { - manager_ = other.manager_; - bitField0_ |= 0x00000001; - onChanged(); - } - if (!other.getName().isEmpty()) { - name_ = other.name_; - bitField0_ |= 0x00000002; - onChanged(); - } - if (!other.getVersion().isEmpty()) { - version_ = other.version_; - bitField0_ |= 0x00000004; - onChanged(); - } - this.mergeUnknownFields(other.getUnknownFields()); - 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 { - if (extensionRegistry == null) { - throw new java.lang.NullPointerException(); - } - try { - boolean done = false; - while (!done) { - int tag = input.readTag(); - switch (tag) { - case 0: - done = true; - break; - case 10: { - manager_ = input.readStringRequireUtf8(); - bitField0_ |= 0x00000001; - break; - } // case 10 - case 18: { - name_ = input.readStringRequireUtf8(); - bitField0_ |= 0x00000002; - break; - } // case 18 - case 26: { - version_ = input.readStringRequireUtf8(); - bitField0_ |= 0x00000004; - break; - } // case 26 - default: { - if (!super.parseUnknownField(input, extensionRegistry, tag)) { - done = true; // was an endgroup tag - } - break; - } // default: - } // switch (tag) - } // while (!done) - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.unwrapIOException(); - } finally { - onChanged(); - } // finally - return this; - } - private int bitField0_; - - private java.lang.Object manager_ = ""; - /** - * string manager = 1 [json_name = "manager"]; - * @return The manager. - */ - public java.lang.String getManager() { - java.lang.Object ref = manager_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - manager_ = s; - return s; - } else { - return (java.lang.String) ref; - } - } - /** - * string manager = 1 [json_name = "manager"]; - * @return The bytes for manager. - */ - public com.google.protobuf.ByteString - getManagerBytes() { - java.lang.Object ref = manager_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - manager_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - /** - * string manager = 1 [json_name = "manager"]; - * @param value The manager to set. - * @return This builder for chaining. - */ - public Builder setManager( - java.lang.String value) { - if (value == null) { throw new NullPointerException(); } - manager_ = value; - bitField0_ |= 0x00000001; - onChanged(); - return this; - } - /** - * string manager = 1 [json_name = "manager"]; - * @return This builder for chaining. - */ - public Builder clearManager() { - manager_ = getDefaultInstance().getManager(); - bitField0_ = (bitField0_ & ~0x00000001); - onChanged(); - return this; - } - /** - * string manager = 1 [json_name = "manager"]; - * @param value The bytes for manager to set. - * @return This builder for chaining. - */ - public Builder setManagerBytes( - com.google.protobuf.ByteString value) { - if (value == null) { throw new NullPointerException(); } - checkByteStringIsUtf8(value); - manager_ = value; - bitField0_ |= 0x00000001; - onChanged(); - return this; - } - - private java.lang.Object name_ = ""; - /** - * string name = 2 [json_name = "name"]; - * @return The name. - */ - public java.lang.String getName() { - java.lang.Object ref = name_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - name_ = s; - return s; - } else { - return (java.lang.String) ref; - } - } - /** - * string name = 2 [json_name = "name"]; - * @return The bytes for name. - */ - public com.google.protobuf.ByteString - getNameBytes() { - java.lang.Object ref = name_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - name_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - /** - * string name = 2 [json_name = "name"]; - * @param value The name to set. - * @return This builder for chaining. - */ - public Builder setName( - java.lang.String value) { - if (value == null) { throw new NullPointerException(); } - name_ = value; - bitField0_ |= 0x00000002; - onChanged(); - return this; - } - /** - * string name = 2 [json_name = "name"]; - * @return This builder for chaining. - */ - public Builder clearName() { - name_ = getDefaultInstance().getName(); - bitField0_ = (bitField0_ & ~0x00000002); - onChanged(); - return this; - } - /** - * string name = 2 [json_name = "name"]; - * @param value The bytes for name to set. - * @return This builder for chaining. - */ - public Builder setNameBytes( - com.google.protobuf.ByteString value) { - if (value == null) { throw new NullPointerException(); } - checkByteStringIsUtf8(value); - name_ = value; - bitField0_ |= 0x00000002; - onChanged(); - return this; - } - - private java.lang.Object version_ = ""; - /** - * string version = 3 [json_name = "version"]; - * @return The version. - */ - public java.lang.String getVersion() { - java.lang.Object ref = version_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - version_ = s; - return s; - } else { - return (java.lang.String) ref; - } - } - /** - * string version = 3 [json_name = "version"]; - * @return The bytes for version. - */ - public com.google.protobuf.ByteString - getVersionBytes() { - java.lang.Object ref = version_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - version_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - /** - * string version = 3 [json_name = "version"]; - * @param value The version to set. - * @return This builder for chaining. - */ - public Builder setVersion( - java.lang.String value) { - if (value == null) { throw new NullPointerException(); } - version_ = value; - bitField0_ |= 0x00000004; - onChanged(); - return this; - } - /** - * string version = 3 [json_name = "version"]; - * @return This builder for chaining. - */ - public Builder clearVersion() { - version_ = getDefaultInstance().getVersion(); - bitField0_ = (bitField0_ & ~0x00000004); - onChanged(); - return this; - } - /** - * string version = 3 [json_name = "version"]; - * @param value The bytes for version to set. - * @return This builder for chaining. - */ - public Builder setVersionBytes( - com.google.protobuf.ByteString value) { - if (value == null) { throw new NullPointerException(); } - checkByteStringIsUtf8(value); - version_ = value; - bitField0_ |= 0x00000004; - onChanged(); - return this; - } - - // @@protoc_insertion_point(builder_scope:scip.Package) - } - - // @@protoc_insertion_point(class_scope:scip.Package) - private static final scip.Scip.Package DEFAULT_INSTANCE; - static { - DEFAULT_INSTANCE = new scip.Scip.Package(); - } - - public static scip.Scip.Package getDefaultInstance() { - return DEFAULT_INSTANCE; - } - - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { - @java.lang.Override - public Package parsePartialFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - Builder builder = newBuilder(); - try { - builder.mergeFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.setUnfinishedMessage(builder.buildPartial()); - } catch (com.google.protobuf.UninitializedMessageException e) { - throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); - } catch (java.io.IOException e) { - throw new com.google.protobuf.InvalidProtocolBufferException(e) - .setUnfinishedMessage(builder.buildPartial()); - } - return builder.buildPartial(); - } - }; - - public static com.google.protobuf.Parser parser() { - return PARSER; - } - - @java.lang.Override - public com.google.protobuf.Parser getParserForType() { - return PARSER; - } - - @java.lang.Override - public scip.Scip.Package getDefaultInstanceForType() { - return DEFAULT_INSTANCE; - } - - } - - public interface DescriptorOrBuilder extends - // @@protoc_insertion_point(interface_extends:scip.Descriptor) - com.google.protobuf.MessageOrBuilder { - - /** - * string name = 1 [json_name = "name"]; - * @return The name. - */ - java.lang.String getName(); - /** - * string name = 1 [json_name = "name"]; - * @return The bytes for name. - */ - com.google.protobuf.ByteString - getNameBytes(); - - /** - * string disambiguator = 2 [json_name = "disambiguator"]; - * @return The disambiguator. - */ - java.lang.String getDisambiguator(); - /** - * string disambiguator = 2 [json_name = "disambiguator"]; - * @return The bytes for disambiguator. - */ - com.google.protobuf.ByteString - getDisambiguatorBytes(); - - /** - *
-     * NOTE: If you add new fields here, make sure to update the prepareSlot()
-     * function responsible for parsing symbols.
-     * 
- * - * .scip.Descriptor.Suffix suffix = 3 [json_name = "suffix"]; - * @return The enum numeric value on the wire for suffix. - */ - int getSuffixValue(); - /** - *
-     * NOTE: If you add new fields here, make sure to update the prepareSlot()
-     * function responsible for parsing symbols.
-     * 
- * - * .scip.Descriptor.Suffix suffix = 3 [json_name = "suffix"]; - * @return The suffix. - */ - scip.Scip.Descriptor.Suffix getSuffix(); - } - /** - * Protobuf type {@code scip.Descriptor} - */ - public static final class Descriptor extends - com.google.protobuf.GeneratedMessage implements - // @@protoc_insertion_point(message_implements:scip.Descriptor) - DescriptorOrBuilder { - private static final long serialVersionUID = 0L; - static { - com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( - com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, - /* major= */ 4, - /* minor= */ 32, - /* patch= */ 1, - /* suffix= */ "", - Descriptor.class.getName()); - } - // Use Descriptor.newBuilder() to construct. - private Descriptor(com.google.protobuf.GeneratedMessage.Builder builder) { - super(builder); - } - private Descriptor() { - name_ = ""; - disambiguator_ = ""; - suffix_ = 0; - } - - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return scip.Scip.internal_static_scip_Descriptor_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessage.FieldAccessorTable - internalGetFieldAccessorTable() { - return scip.Scip.internal_static_scip_Descriptor_fieldAccessorTable - .ensureFieldAccessorsInitialized( - scip.Scip.Descriptor.class, scip.Scip.Descriptor.Builder.class); - } - - /** - * Protobuf enum {@code scip.Descriptor.Suffix} - */ - public enum Suffix - implements com.google.protobuf.ProtocolMessageEnum { - /** - * UnspecifiedSuffix = 0; - */ - UnspecifiedSuffix(0, 0), - /** - *
-       * Unit of code abstraction and/or namespacing.
-       *
-       * NOTE: This corresponds to a package in Go and JVM languages.
-       * 
- * - * Namespace = 1; - */ - Namespace(1, 1), - /** - * Type = 2; - */ - Type(3, 2), - /** - * Term = 3; - */ - Term(4, 3), - /** - * Method = 4; - */ - Method(5, 4), - /** - * TypeParameter = 5; - */ - TypeParameter(6, 5), - /** - * Parameter = 6; - */ - Parameter(7, 6), - /** - *
-       * Can be used for any purpose.
-       * 
- * - * Meta = 7; - */ - Meta(8, 7), - /** - * Local = 8; - */ - Local(9, 8), - /** - * Macro = 9; - */ - Macro(10, 9), - UNRECOGNIZED(-1, -1), - ; - - static { - com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( - com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, - /* major= */ 4, - /* minor= */ 32, - /* patch= */ 1, - /* suffix= */ "", - Suffix.class.getName()); - } - /** - *
-       * Use Namespace instead.
-       * 
- * - * Package = 1 [deprecated = true]; - */ - public static final Suffix Package = Namespace; - /** - * UnspecifiedSuffix = 0; - */ - public static final int UnspecifiedSuffix_VALUE = 0; - /** - *
-       * Unit of code abstraction and/or namespacing.
-       *
-       * NOTE: This corresponds to a package in Go and JVM languages.
-       * 
- * - * Namespace = 1; - */ - public static final int Namespace_VALUE = 1; - /** - *
-       * Use Namespace instead.
-       * 
- * - * Package = 1 [deprecated = true]; - */ - @java.lang.Deprecated public static final int Package_VALUE = 1; - /** - * Type = 2; - */ - public static final int Type_VALUE = 2; - /** - * Term = 3; - */ - public static final int Term_VALUE = 3; - /** - * Method = 4; - */ - public static final int Method_VALUE = 4; - /** - * TypeParameter = 5; - */ - public static final int TypeParameter_VALUE = 5; - /** - * Parameter = 6; - */ - public static final int Parameter_VALUE = 6; - /** - *
-       * Can be used for any purpose.
-       * 
- * - * Meta = 7; - */ - public static final int Meta_VALUE = 7; - /** - * Local = 8; - */ - public static final int Local_VALUE = 8; - /** - * Macro = 9; - */ - public static final int Macro_VALUE = 9; - - - public final int getNumber() { - if (index == -1) { - 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 Suffix 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 Suffix forNumber(int value) { - switch (value) { - case 0: return UnspecifiedSuffix; - case 1: return Namespace; - case 2: return Type; - case 3: return Term; - case 4: return Method; - case 5: return TypeParameter; - case 6: return Parameter; - case 7: return Meta; - case 8: return Local; - case 9: return Macro; - default: return null; - } - } - - public static com.google.protobuf.Internal.EnumLiteMap - internalGetValueMap() { - return internalValueMap; - } - private static final com.google.protobuf.Internal.EnumLiteMap< - Suffix> internalValueMap = - new com.google.protobuf.Internal.EnumLiteMap() { - public Suffix findValueByNumber(int number) { - return Suffix.forNumber(number); - } - }; - - public final com.google.protobuf.Descriptors.EnumValueDescriptor - getValueDescriptor() { - if (index == -1) { - throw new java.lang.IllegalStateException( - "Can't get the descriptor of an unrecognized enum value."); - } - return getDescriptor().getValues().get(index); - } - public final com.google.protobuf.Descriptors.EnumDescriptor - getDescriptorForType() { - return getDescriptor(); - } - public static com.google.protobuf.Descriptors.EnumDescriptor - getDescriptor() { - return scip.Scip.Descriptor.getDescriptor().getEnumTypes().get(0); - } - - private static final Suffix[] VALUES = getStaticValuesArray(); - private static Suffix[] getStaticValuesArray() { - return new Suffix[] { - UnspecifiedSuffix, Namespace, Package, Type, Term, Method, TypeParameter, Parameter, Meta, Local, Macro, - }; - } - public static Suffix 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 index; - private final int value; - - private Suffix(int index, int value) { - this.index = index; - this.value = value; - } - - // @@protoc_insertion_point(enum_scope:scip.Descriptor.Suffix) - } - - public static final int NAME_FIELD_NUMBER = 1; - @SuppressWarnings("serial") - private volatile java.lang.Object name_ = ""; - /** - * string name = 1 [json_name = "name"]; - * @return The name. - */ - @java.lang.Override - public java.lang.String getName() { - java.lang.Object ref = name_; - 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(); - name_ = s; - return s; - } - } - /** - * string name = 1 [json_name = "name"]; - * @return The bytes for name. - */ - @java.lang.Override - public com.google.protobuf.ByteString - getNameBytes() { - java.lang.Object ref = name_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - name_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - - public static final int DISAMBIGUATOR_FIELD_NUMBER = 2; - @SuppressWarnings("serial") - private volatile java.lang.Object disambiguator_ = ""; - /** - * string disambiguator = 2 [json_name = "disambiguator"]; - * @return The disambiguator. - */ - @java.lang.Override - public java.lang.String getDisambiguator() { - java.lang.Object ref = disambiguator_; - 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(); - disambiguator_ = s; - return s; - } - } - /** - * string disambiguator = 2 [json_name = "disambiguator"]; - * @return The bytes for disambiguator. - */ - @java.lang.Override - public com.google.protobuf.ByteString - getDisambiguatorBytes() { - java.lang.Object ref = disambiguator_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - disambiguator_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - - public static final int SUFFIX_FIELD_NUMBER = 3; - private int suffix_ = 0; - /** - *
-     * NOTE: If you add new fields here, make sure to update the prepareSlot()
-     * function responsible for parsing symbols.
-     * 
- * - * .scip.Descriptor.Suffix suffix = 3 [json_name = "suffix"]; - * @return The enum numeric value on the wire for suffix. - */ - @java.lang.Override public int getSuffixValue() { - return suffix_; - } - /** - *
-     * NOTE: If you add new fields here, make sure to update the prepareSlot()
-     * function responsible for parsing symbols.
-     * 
- * - * .scip.Descriptor.Suffix suffix = 3 [json_name = "suffix"]; - * @return The suffix. - */ - @java.lang.Override public scip.Scip.Descriptor.Suffix getSuffix() { - scip.Scip.Descriptor.Suffix result = scip.Scip.Descriptor.Suffix.forNumber(suffix_); - return result == null ? scip.Scip.Descriptor.Suffix.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 (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) { - com.google.protobuf.GeneratedMessage.writeString(output, 1, name_); - } - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(disambiguator_)) { - com.google.protobuf.GeneratedMessage.writeString(output, 2, disambiguator_); - } - if (suffix_ != scip.Scip.Descriptor.Suffix.UnspecifiedSuffix.getNumber()) { - output.writeEnum(3, suffix_); - } - getUnknownFields().writeTo(output); - } - - @java.lang.Override - public int getSerializedSize() { - int size = memoizedSize; - if (size != -1) return size; - - size = 0; - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) { - size += com.google.protobuf.GeneratedMessage.computeStringSize(1, name_); - } - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(disambiguator_)) { - size += com.google.protobuf.GeneratedMessage.computeStringSize(2, disambiguator_); - } - if (suffix_ != scip.Scip.Descriptor.Suffix.UnspecifiedSuffix.getNumber()) { - size += com.google.protobuf.CodedOutputStream - .computeEnumSize(3, suffix_); - } - size += getUnknownFields().getSerializedSize(); - memoizedSize = size; - return size; - } - - @java.lang.Override - public boolean equals(final java.lang.Object obj) { - if (obj == this) { - return true; - } - if (!(obj instanceof scip.Scip.Descriptor)) { - return super.equals(obj); - } - scip.Scip.Descriptor other = (scip.Scip.Descriptor) obj; - - if (!getName() - .equals(other.getName())) return false; - if (!getDisambiguator() - .equals(other.getDisambiguator())) return false; - if (suffix_ != other.suffix_) return false; - if (!getUnknownFields().equals(other.getUnknownFields())) 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) + NAME_FIELD_NUMBER; - hash = (53 * hash) + getName().hashCode(); - hash = (37 * hash) + DISAMBIGUATOR_FIELD_NUMBER; - hash = (53 * hash) + getDisambiguator().hashCode(); - hash = (37 * hash) + SUFFIX_FIELD_NUMBER; - hash = (53 * hash) + suffix_; - hash = (29 * hash) + getUnknownFields().hashCode(); - memoizedHashCode = hash; - return hash; - } - - public static scip.Scip.Descriptor parseFrom( - java.nio.ByteBuffer data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static scip.Scip.Descriptor parseFrom( - java.nio.ByteBuffer data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static scip.Scip.Descriptor parseFrom( - com.google.protobuf.ByteString data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static scip.Scip.Descriptor parseFrom( - com.google.protobuf.ByteString data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static scip.Scip.Descriptor parseFrom(byte[] data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static scip.Scip.Descriptor parseFrom( - byte[] data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static scip.Scip.Descriptor parseFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input); - } - public static scip.Scip.Descriptor parseFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input, extensionRegistry); - } - - public static scip.Scip.Descriptor parseDelimitedFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseDelimitedWithIOException(PARSER, input); - } - - public static scip.Scip.Descriptor parseDelimitedFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseDelimitedWithIOException(PARSER, input, extensionRegistry); - } - public static scip.Scip.Descriptor parseFrom( - com.google.protobuf.CodedInputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input); - } - public static scip.Scip.Descriptor parseFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input, extensionRegistry); - } - - @java.lang.Override - public Builder newBuilderForType() { return newBuilder(); } - public static Builder newBuilder() { - return DEFAULT_INSTANCE.toBuilder(); - } - public static Builder newBuilder(scip.Scip.Descriptor 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.GeneratedMessage.BuilderParent parent) { - Builder builder = new Builder(parent); - return builder; - } - /** - * Protobuf type {@code scip.Descriptor} - */ - public static final class Builder extends - com.google.protobuf.GeneratedMessage.Builder implements - // @@protoc_insertion_point(builder_implements:scip.Descriptor) - scip.Scip.DescriptorOrBuilder { - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return scip.Scip.internal_static_scip_Descriptor_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessage.FieldAccessorTable - internalGetFieldAccessorTable() { - return scip.Scip.internal_static_scip_Descriptor_fieldAccessorTable - .ensureFieldAccessorsInitialized( - scip.Scip.Descriptor.class, scip.Scip.Descriptor.Builder.class); - } - - // Construct using scip.Scip.Descriptor.newBuilder() - private Builder() { - - } - - private Builder( - com.google.protobuf.GeneratedMessage.BuilderParent parent) { - super(parent); - - } - @java.lang.Override - public Builder clear() { - super.clear(); - bitField0_ = 0; - name_ = ""; - disambiguator_ = ""; - suffix_ = 0; - return this; - } - - @java.lang.Override - public com.google.protobuf.Descriptors.Descriptor - getDescriptorForType() { - return scip.Scip.internal_static_scip_Descriptor_descriptor; - } - - @java.lang.Override - public scip.Scip.Descriptor getDefaultInstanceForType() { - return scip.Scip.Descriptor.getDefaultInstance(); - } - - @java.lang.Override - public scip.Scip.Descriptor build() { - scip.Scip.Descriptor result = buildPartial(); - if (!result.isInitialized()) { - throw newUninitializedMessageException(result); - } - return result; - } - - @java.lang.Override - public scip.Scip.Descriptor buildPartial() { - scip.Scip.Descriptor result = new scip.Scip.Descriptor(this); - if (bitField0_ != 0) { buildPartial0(result); } - onBuilt(); - return result; - } - - private void buildPartial0(scip.Scip.Descriptor result) { - int from_bitField0_ = bitField0_; - if (((from_bitField0_ & 0x00000001) != 0)) { - result.name_ = name_; - } - if (((from_bitField0_ & 0x00000002) != 0)) { - result.disambiguator_ = disambiguator_; - } - if (((from_bitField0_ & 0x00000004) != 0)) { - result.suffix_ = suffix_; - } - } - - @java.lang.Override - public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof scip.Scip.Descriptor) { - return mergeFrom((scip.Scip.Descriptor)other); - } else { - super.mergeFrom(other); - return this; - } - } - - public Builder mergeFrom(scip.Scip.Descriptor other) { - if (other == scip.Scip.Descriptor.getDefaultInstance()) return this; - if (!other.getName().isEmpty()) { - name_ = other.name_; - bitField0_ |= 0x00000001; - onChanged(); - } - if (!other.getDisambiguator().isEmpty()) { - disambiguator_ = other.disambiguator_; - bitField0_ |= 0x00000002; - onChanged(); - } - if (other.suffix_ != 0) { - setSuffixValue(other.getSuffixValue()); - } - this.mergeUnknownFields(other.getUnknownFields()); - 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 { - if (extensionRegistry == null) { - throw new java.lang.NullPointerException(); - } - try { - boolean done = false; - while (!done) { - int tag = input.readTag(); - switch (tag) { - case 0: - done = true; - break; - case 10: { - name_ = input.readStringRequireUtf8(); - bitField0_ |= 0x00000001; - break; - } // case 10 - case 18: { - disambiguator_ = input.readStringRequireUtf8(); - bitField0_ |= 0x00000002; - break; - } // case 18 - case 24: { - suffix_ = input.readEnum(); - bitField0_ |= 0x00000004; - break; - } // case 24 - default: { - if (!super.parseUnknownField(input, extensionRegistry, tag)) { - done = true; // was an endgroup tag - } - break; - } // default: - } // switch (tag) - } // while (!done) - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.unwrapIOException(); - } finally { - onChanged(); - } // finally - return this; - } - private int bitField0_; - - private java.lang.Object name_ = ""; - /** - * string name = 1 [json_name = "name"]; - * @return The name. - */ - public java.lang.String getName() { - java.lang.Object ref = name_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - name_ = s; - return s; - } else { - return (java.lang.String) ref; - } - } - /** - * string name = 1 [json_name = "name"]; - * @return The bytes for name. - */ - public com.google.protobuf.ByteString - getNameBytes() { - java.lang.Object ref = name_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - name_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - /** - * string name = 1 [json_name = "name"]; - * @param value The name to set. - * @return This builder for chaining. - */ - public Builder setName( - java.lang.String value) { - if (value == null) { throw new NullPointerException(); } - name_ = value; - bitField0_ |= 0x00000001; - onChanged(); - return this; - } - /** - * string name = 1 [json_name = "name"]; - * @return This builder for chaining. - */ - public Builder clearName() { - name_ = getDefaultInstance().getName(); - bitField0_ = (bitField0_ & ~0x00000001); - onChanged(); - return this; - } - /** - * string name = 1 [json_name = "name"]; - * @param value The bytes for name to set. - * @return This builder for chaining. - */ - public Builder setNameBytes( - com.google.protobuf.ByteString value) { - if (value == null) { throw new NullPointerException(); } - checkByteStringIsUtf8(value); - name_ = value; - bitField0_ |= 0x00000001; - onChanged(); - return this; - } - - private java.lang.Object disambiguator_ = ""; - /** - * string disambiguator = 2 [json_name = "disambiguator"]; - * @return The disambiguator. - */ - public java.lang.String getDisambiguator() { - java.lang.Object ref = disambiguator_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - disambiguator_ = s; - return s; - } else { - return (java.lang.String) ref; - } - } - /** - * string disambiguator = 2 [json_name = "disambiguator"]; - * @return The bytes for disambiguator. - */ - public com.google.protobuf.ByteString - getDisambiguatorBytes() { - java.lang.Object ref = disambiguator_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - disambiguator_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - /** - * string disambiguator = 2 [json_name = "disambiguator"]; - * @param value The disambiguator to set. - * @return This builder for chaining. - */ - public Builder setDisambiguator( - java.lang.String value) { - if (value == null) { throw new NullPointerException(); } - disambiguator_ = value; - bitField0_ |= 0x00000002; - onChanged(); - return this; - } - /** - * string disambiguator = 2 [json_name = "disambiguator"]; - * @return This builder for chaining. - */ - public Builder clearDisambiguator() { - disambiguator_ = getDefaultInstance().getDisambiguator(); - bitField0_ = (bitField0_ & ~0x00000002); - onChanged(); - return this; - } - /** - * string disambiguator = 2 [json_name = "disambiguator"]; - * @param value The bytes for disambiguator to set. - * @return This builder for chaining. - */ - public Builder setDisambiguatorBytes( - com.google.protobuf.ByteString value) { - if (value == null) { throw new NullPointerException(); } - checkByteStringIsUtf8(value); - disambiguator_ = value; - bitField0_ |= 0x00000002; - onChanged(); - return this; - } - - private int suffix_ = 0; - /** - *
-       * NOTE: If you add new fields here, make sure to update the prepareSlot()
-       * function responsible for parsing symbols.
-       * 
- * - * .scip.Descriptor.Suffix suffix = 3 [json_name = "suffix"]; - * @return The enum numeric value on the wire for suffix. - */ - @java.lang.Override public int getSuffixValue() { - return suffix_; - } - /** - *
-       * NOTE: If you add new fields here, make sure to update the prepareSlot()
-       * function responsible for parsing symbols.
-       * 
- * - * .scip.Descriptor.Suffix suffix = 3 [json_name = "suffix"]; - * @param value The enum numeric value on the wire for suffix to set. - * @return This builder for chaining. - */ - public Builder setSuffixValue(int value) { - suffix_ = value; - bitField0_ |= 0x00000004; - onChanged(); - return this; - } - /** - *
-       * NOTE: If you add new fields here, make sure to update the prepareSlot()
-       * function responsible for parsing symbols.
-       * 
- * - * .scip.Descriptor.Suffix suffix = 3 [json_name = "suffix"]; - * @return The suffix. - */ - @java.lang.Override - public scip.Scip.Descriptor.Suffix getSuffix() { - scip.Scip.Descriptor.Suffix result = scip.Scip.Descriptor.Suffix.forNumber(suffix_); - return result == null ? scip.Scip.Descriptor.Suffix.UNRECOGNIZED : result; - } - /** - *
-       * NOTE: If you add new fields here, make sure to update the prepareSlot()
-       * function responsible for parsing symbols.
-       * 
- * - * .scip.Descriptor.Suffix suffix = 3 [json_name = "suffix"]; - * @param value The suffix to set. - * @return This builder for chaining. - */ - public Builder setSuffix(scip.Scip.Descriptor.Suffix value) { - if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000004; - suffix_ = value.getNumber(); - onChanged(); - return this; - } - /** - *
-       * NOTE: If you add new fields here, make sure to update the prepareSlot()
-       * function responsible for parsing symbols.
-       * 
- * - * .scip.Descriptor.Suffix suffix = 3 [json_name = "suffix"]; - * @return This builder for chaining. - */ - public Builder clearSuffix() { - bitField0_ = (bitField0_ & ~0x00000004); - suffix_ = 0; - onChanged(); - return this; - } - - // @@protoc_insertion_point(builder_scope:scip.Descriptor) - } - - // @@protoc_insertion_point(class_scope:scip.Descriptor) - private static final scip.Scip.Descriptor DEFAULT_INSTANCE; - static { - DEFAULT_INSTANCE = new scip.Scip.Descriptor(); - } - - public static scip.Scip.Descriptor getDefaultInstance() { - return DEFAULT_INSTANCE; - } - - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { - @java.lang.Override - public Descriptor parsePartialFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - Builder builder = newBuilder(); - try { - builder.mergeFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.setUnfinishedMessage(builder.buildPartial()); - } catch (com.google.protobuf.UninitializedMessageException e) { - throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); - } catch (java.io.IOException e) { - throw new com.google.protobuf.InvalidProtocolBufferException(e) - .setUnfinishedMessage(builder.buildPartial()); - } - return builder.buildPartial(); - } - }; - - public static com.google.protobuf.Parser parser() { - return PARSER; - } - - @java.lang.Override - public com.google.protobuf.Parser getParserForType() { - return PARSER; - } - - @java.lang.Override - public scip.Scip.Descriptor getDefaultInstanceForType() { - return DEFAULT_INSTANCE; - } - - } - - public interface SignatureOrBuilder extends - // @@protoc_insertion_point(interface_extends:scip.Signature) - com.google.protobuf.MessageOrBuilder { - - /** - *
-     * The language of the signature, e.g. "java", "go", "python".
-     * 
- * - * string language = 4 [json_name = "language"]; - * @return The language. - */ - java.lang.String getLanguage(); - /** - *
-     * The language of the signature, e.g. "java", "go", "python".
-     * 
- * - * string language = 4 [json_name = "language"]; - * @return The bytes for language. - */ - com.google.protobuf.ByteString - getLanguageBytes(); - - /** - *
-     * The text content of the signature, e.g. "void add(int a, int b)".
-     * 
- * - * string text = 5 [json_name = "text"]; - * @return The text. - */ - java.lang.String getText(); - /** - *
-     * The text content of the signature, e.g. "void add(int a, int b)".
-     * 
- * - * string text = 5 [json_name = "text"]; - * @return The bytes for text. - */ - com.google.protobuf.ByteString - getTextBytes(); - - /** - *
-     * (optional) Occurrences within the signature text that reference other
-     * symbols, enabling hyperlinking of types in the signature. Ranges are
-     * relative to the `text` field.
-     * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - java.util.List - getOccurrencesList(); - /** - *
-     * (optional) Occurrences within the signature text that reference other
-     * symbols, enabling hyperlinking of types in the signature. Ranges are
-     * relative to the `text` field.
-     * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - scip.Scip.Occurrence getOccurrences(int index); - /** - *
-     * (optional) Occurrences within the signature text that reference other
-     * symbols, enabling hyperlinking of types in the signature. Ranges are
-     * relative to the `text` field.
-     * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - int getOccurrencesCount(); - /** - *
-     * (optional) Occurrences within the signature text that reference other
-     * symbols, enabling hyperlinking of types in the signature. Ranges are
-     * relative to the `text` field.
-     * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - java.util.List - getOccurrencesOrBuilderList(); - /** - *
-     * (optional) Occurrences within the signature text that reference other
-     * symbols, enabling hyperlinking of types in the signature. Ranges are
-     * relative to the `text` field.
-     * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - scip.Scip.OccurrenceOrBuilder getOccurrencesOrBuilder( - int index); - } - /** - *
-   * Signature represents the signature of a symbol as it's displayed in API
-   * documentation or hover tooltips. It uses a subset of Document's fields with
-   * the same field numbers for wire compatibility with older indexes that encoded
-   * signatures using the Document message type.
-   * 
- * - * Protobuf type {@code scip.Signature} - */ - public static final class Signature extends - com.google.protobuf.GeneratedMessage implements - // @@protoc_insertion_point(message_implements:scip.Signature) - SignatureOrBuilder { - private static final long serialVersionUID = 0L; - static { - com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( - com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, - /* major= */ 4, - /* minor= */ 32, - /* patch= */ 1, - /* suffix= */ "", - Signature.class.getName()); - } - // Use Signature.newBuilder() to construct. - private Signature(com.google.protobuf.GeneratedMessage.Builder builder) { - super(builder); - } - private Signature() { - language_ = ""; - text_ = ""; - occurrences_ = java.util.Collections.emptyList(); - } - - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return scip.Scip.internal_static_scip_Signature_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessage.FieldAccessorTable - internalGetFieldAccessorTable() { - return scip.Scip.internal_static_scip_Signature_fieldAccessorTable - .ensureFieldAccessorsInitialized( - scip.Scip.Signature.class, scip.Scip.Signature.Builder.class); - } - - public static final int LANGUAGE_FIELD_NUMBER = 4; - @SuppressWarnings("serial") - private volatile java.lang.Object language_ = ""; - /** - *
-     * The language of the signature, e.g. "java", "go", "python".
-     * 
- * - * string language = 4 [json_name = "language"]; - * @return The language. - */ - @java.lang.Override - public java.lang.String getLanguage() { - java.lang.Object ref = language_; - 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(); - language_ = s; - return s; - } - } - /** - *
-     * The language of the signature, e.g. "java", "go", "python".
-     * 
- * - * string language = 4 [json_name = "language"]; - * @return The bytes for language. - */ - @java.lang.Override - public com.google.protobuf.ByteString - getLanguageBytes() { - java.lang.Object ref = language_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - language_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - - public static final int TEXT_FIELD_NUMBER = 5; - @SuppressWarnings("serial") - private volatile java.lang.Object text_ = ""; - /** - *
-     * The text content of the signature, e.g. "void add(int a, int b)".
-     * 
- * - * string text = 5 [json_name = "text"]; - * @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; - } - } - /** - *
-     * The text content of the signature, e.g. "void add(int a, int b)".
-     * 
- * - * string text = 5 [json_name = "text"]; - * @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 OCCURRENCES_FIELD_NUMBER = 2; - @SuppressWarnings("serial") - private java.util.List occurrences_; - /** - *
-     * (optional) Occurrences within the signature text that reference other
-     * symbols, enabling hyperlinking of types in the signature. Ranges are
-     * relative to the `text` field.
-     * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - @java.lang.Override - public java.util.List getOccurrencesList() { - return occurrences_; - } - /** - *
-     * (optional) Occurrences within the signature text that reference other
-     * symbols, enabling hyperlinking of types in the signature. Ranges are
-     * relative to the `text` field.
-     * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - @java.lang.Override - public java.util.List - getOccurrencesOrBuilderList() { - return occurrences_; - } - /** - *
-     * (optional) Occurrences within the signature text that reference other
-     * symbols, enabling hyperlinking of types in the signature. Ranges are
-     * relative to the `text` field.
-     * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - @java.lang.Override - public int getOccurrencesCount() { - return occurrences_.size(); - } - /** - *
-     * (optional) Occurrences within the signature text that reference other
-     * symbols, enabling hyperlinking of types in the signature. Ranges are
-     * relative to the `text` field.
-     * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - @java.lang.Override - public scip.Scip.Occurrence getOccurrences(int index) { - return occurrences_.get(index); - } - /** - *
-     * (optional) Occurrences within the signature text that reference other
-     * symbols, enabling hyperlinking of types in the signature. Ranges are
-     * relative to the `text` field.
-     * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - @java.lang.Override - public scip.Scip.OccurrenceOrBuilder 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 { - for (int i = 0; i < occurrences_.size(); i++) { - output.writeMessage(2, occurrences_.get(i)); - } - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(language_)) { - com.google.protobuf.GeneratedMessage.writeString(output, 4, language_); - } - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(text_)) { - com.google.protobuf.GeneratedMessage.writeString(output, 5, text_); - } - getUnknownFields().writeTo(output); - } - - @java.lang.Override - public int getSerializedSize() { - int size = memoizedSize; - if (size != -1) return size; - - size = 0; - for (int i = 0; i < occurrences_.size(); i++) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(2, occurrences_.get(i)); - } - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(language_)) { - size += com.google.protobuf.GeneratedMessage.computeStringSize(4, language_); - } - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(text_)) { - size += com.google.protobuf.GeneratedMessage.computeStringSize(5, text_); - } - size += getUnknownFields().getSerializedSize(); - memoizedSize = size; - return size; - } - - @java.lang.Override - public boolean equals(final java.lang.Object obj) { - if (obj == this) { - return true; - } - if (!(obj instanceof scip.Scip.Signature)) { - return super.equals(obj); - } - scip.Scip.Signature other = (scip.Scip.Signature) obj; - - if (!getLanguage() - .equals(other.getLanguage())) return false; - if (!getText() - .equals(other.getText())) return false; - if (!getOccurrencesList() - .equals(other.getOccurrencesList())) return false; - if (!getUnknownFields().equals(other.getUnknownFields())) 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) + LANGUAGE_FIELD_NUMBER; - hash = (53 * hash) + getLanguage().hashCode(); - hash = (37 * hash) + TEXT_FIELD_NUMBER; - hash = (53 * hash) + getText().hashCode(); - if (getOccurrencesCount() > 0) { - hash = (37 * hash) + OCCURRENCES_FIELD_NUMBER; - hash = (53 * hash) + getOccurrencesList().hashCode(); - } - hash = (29 * hash) + getUnknownFields().hashCode(); - memoizedHashCode = hash; - return hash; - } - - public static scip.Scip.Signature parseFrom( - java.nio.ByteBuffer data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static scip.Scip.Signature parseFrom( - java.nio.ByteBuffer data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static scip.Scip.Signature parseFrom( - com.google.protobuf.ByteString data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static scip.Scip.Signature parseFrom( - com.google.protobuf.ByteString data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static scip.Scip.Signature parseFrom(byte[] data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static scip.Scip.Signature parseFrom( - byte[] data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static scip.Scip.Signature parseFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input); - } - public static scip.Scip.Signature parseFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input, extensionRegistry); - } - - public static scip.Scip.Signature parseDelimitedFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseDelimitedWithIOException(PARSER, input); - } - - public static scip.Scip.Signature parseDelimitedFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseDelimitedWithIOException(PARSER, input, extensionRegistry); - } - public static scip.Scip.Signature parseFrom( - com.google.protobuf.CodedInputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input); - } - public static scip.Scip.Signature parseFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input, extensionRegistry); - } - - @java.lang.Override - public Builder newBuilderForType() { return newBuilder(); } - public static Builder newBuilder() { - return DEFAULT_INSTANCE.toBuilder(); - } - public static Builder newBuilder(scip.Scip.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.GeneratedMessage.BuilderParent parent) { - Builder builder = new Builder(parent); - return builder; - } - /** - *
-     * Signature represents the signature of a symbol as it's displayed in API
-     * documentation or hover tooltips. It uses a subset of Document's fields with
-     * the same field numbers for wire compatibility with older indexes that encoded
-     * signatures using the Document message type.
-     * 
- * - * Protobuf type {@code scip.Signature} - */ - public static final class Builder extends - com.google.protobuf.GeneratedMessage.Builder implements - // @@protoc_insertion_point(builder_implements:scip.Signature) - scip.Scip.SignatureOrBuilder { - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return scip.Scip.internal_static_scip_Signature_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessage.FieldAccessorTable - internalGetFieldAccessorTable() { - return scip.Scip.internal_static_scip_Signature_fieldAccessorTable - .ensureFieldAccessorsInitialized( - scip.Scip.Signature.class, scip.Scip.Signature.Builder.class); - } - - // Construct using scip.Scip.Signature.newBuilder() - private Builder() { - - } - - private Builder( - com.google.protobuf.GeneratedMessage.BuilderParent parent) { - super(parent); - - } - @java.lang.Override - public Builder clear() { - super.clear(); - bitField0_ = 0; - language_ = ""; - text_ = ""; - if (occurrencesBuilder_ == null) { - occurrences_ = java.util.Collections.emptyList(); - } else { - occurrences_ = null; - occurrencesBuilder_.clear(); - } - bitField0_ = (bitField0_ & ~0x00000004); - return this; - } - - @java.lang.Override - public com.google.protobuf.Descriptors.Descriptor - getDescriptorForType() { - return scip.Scip.internal_static_scip_Signature_descriptor; - } - - @java.lang.Override - public scip.Scip.Signature getDefaultInstanceForType() { - return scip.Scip.Signature.getDefaultInstance(); - } - - @java.lang.Override - public scip.Scip.Signature build() { - scip.Scip.Signature result = buildPartial(); - if (!result.isInitialized()) { - throw newUninitializedMessageException(result); - } - return result; - } - - @java.lang.Override - public scip.Scip.Signature buildPartial() { - scip.Scip.Signature result = new scip.Scip.Signature(this); - buildPartialRepeatedFields(result); - if (bitField0_ != 0) { buildPartial0(result); } - onBuilt(); - return result; - } - - private void buildPartialRepeatedFields(scip.Scip.Signature result) { - if (occurrencesBuilder_ == null) { - if (((bitField0_ & 0x00000004) != 0)) { - occurrences_ = java.util.Collections.unmodifiableList(occurrences_); - bitField0_ = (bitField0_ & ~0x00000004); - } - result.occurrences_ = occurrences_; - } else { - result.occurrences_ = occurrencesBuilder_.build(); - } - } - - private void buildPartial0(scip.Scip.Signature result) { - int from_bitField0_ = bitField0_; - if (((from_bitField0_ & 0x00000001) != 0)) { - result.language_ = language_; - } - if (((from_bitField0_ & 0x00000002) != 0)) { - result.text_ = text_; - } - } - - @java.lang.Override - public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof scip.Scip.Signature) { - return mergeFrom((scip.Scip.Signature)other); - } else { - super.mergeFrom(other); - return this; - } - } - - public Builder mergeFrom(scip.Scip.Signature other) { - if (other == scip.Scip.Signature.getDefaultInstance()) return this; - if (!other.getLanguage().isEmpty()) { - language_ = other.language_; - bitField0_ |= 0x00000001; - onChanged(); - } - if (!other.getText().isEmpty()) { - text_ = other.text_; - bitField0_ |= 0x00000002; - onChanged(); - } - if (occurrencesBuilder_ == null) { - if (!other.occurrences_.isEmpty()) { - if (occurrences_.isEmpty()) { - occurrences_ = other.occurrences_; - bitField0_ = (bitField0_ & ~0x00000004); - } else { - ensureOccurrencesIsMutable(); - occurrences_.addAll(other.occurrences_); - } - onChanged(); - } - } else { - if (!other.occurrences_.isEmpty()) { - if (occurrencesBuilder_.isEmpty()) { - occurrencesBuilder_.dispose(); - occurrencesBuilder_ = null; - occurrences_ = other.occurrences_; - bitField0_ = (bitField0_ & ~0x00000004); - occurrencesBuilder_ = - com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ? - internalGetOccurrencesFieldBuilder() : null; - } else { - occurrencesBuilder_.addAllMessages(other.occurrences_); - } - } - } - this.mergeUnknownFields(other.getUnknownFields()); - 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 { - if (extensionRegistry == null) { - throw new java.lang.NullPointerException(); - } - try { - boolean done = false; - while (!done) { - int tag = input.readTag(); - switch (tag) { - case 0: - done = true; - break; - case 18: { - scip.Scip.Occurrence m = - input.readMessage( - scip.Scip.Occurrence.parser(), - extensionRegistry); - if (occurrencesBuilder_ == null) { - ensureOccurrencesIsMutable(); - occurrences_.add(m); - } else { - occurrencesBuilder_.addMessage(m); - } - break; - } // case 18 - case 34: { - language_ = input.readStringRequireUtf8(); - bitField0_ |= 0x00000001; - break; - } // case 34 - case 42: { - text_ = input.readStringRequireUtf8(); - bitField0_ |= 0x00000002; - break; - } // case 42 - default: { - if (!super.parseUnknownField(input, extensionRegistry, tag)) { - done = true; // was an endgroup tag - } - break; - } // default: - } // switch (tag) - } // while (!done) - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.unwrapIOException(); - } finally { - onChanged(); - } // finally - return this; - } - private int bitField0_; - - private java.lang.Object language_ = ""; - /** - *
-       * The language of the signature, e.g. "java", "go", "python".
-       * 
- * - * string language = 4 [json_name = "language"]; - * @return The language. - */ - public java.lang.String getLanguage() { - java.lang.Object ref = language_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - language_ = s; - return s; - } else { - return (java.lang.String) ref; - } - } - /** - *
-       * The language of the signature, e.g. "java", "go", "python".
-       * 
- * - * string language = 4 [json_name = "language"]; - * @return The bytes for language. - */ - public com.google.protobuf.ByteString - getLanguageBytes() { - java.lang.Object ref = language_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - language_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - /** - *
-       * The language of the signature, e.g. "java", "go", "python".
-       * 
- * - * string language = 4 [json_name = "language"]; - * @param value The language to set. - * @return This builder for chaining. - */ - public Builder setLanguage( - java.lang.String value) { - if (value == null) { throw new NullPointerException(); } - language_ = value; - bitField0_ |= 0x00000001; - onChanged(); - return this; - } - /** - *
-       * The language of the signature, e.g. "java", "go", "python".
-       * 
- * - * string language = 4 [json_name = "language"]; - * @return This builder for chaining. - */ - public Builder clearLanguage() { - language_ = getDefaultInstance().getLanguage(); - bitField0_ = (bitField0_ & ~0x00000001); - onChanged(); - return this; - } - /** - *
-       * The language of the signature, e.g. "java", "go", "python".
-       * 
- * - * string language = 4 [json_name = "language"]; - * @param value The bytes for language to set. - * @return This builder for chaining. - */ - public Builder setLanguageBytes( - com.google.protobuf.ByteString value) { - if (value == null) { throw new NullPointerException(); } - checkByteStringIsUtf8(value); - language_ = value; - bitField0_ |= 0x00000001; - onChanged(); - return this; - } - - private java.lang.Object text_ = ""; - /** - *
-       * The text content of the signature, e.g. "void add(int a, int b)".
-       * 
- * - * string text = 5 [json_name = "text"]; - * @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; - } - } - /** - *
-       * The text content of the signature, e.g. "void add(int a, int b)".
-       * 
- * - * string text = 5 [json_name = "text"]; - * @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; - } - } - /** - *
-       * The text content of the signature, e.g. "void add(int a, int b)".
-       * 
- * - * string text = 5 [json_name = "text"]; - * @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; - bitField0_ |= 0x00000002; - onChanged(); - return this; - } - /** - *
-       * The text content of the signature, e.g. "void add(int a, int b)".
-       * 
- * - * string text = 5 [json_name = "text"]; - * @return This builder for chaining. - */ - public Builder clearText() { - text_ = getDefaultInstance().getText(); - bitField0_ = (bitField0_ & ~0x00000002); - onChanged(); - return this; - } - /** - *
-       * The text content of the signature, e.g. "void add(int a, int b)".
-       * 
- * - * string text = 5 [json_name = "text"]; - * @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; - bitField0_ |= 0x00000002; - onChanged(); - return this; - } - - private java.util.List occurrences_ = - java.util.Collections.emptyList(); - private void ensureOccurrencesIsMutable() { - if (!((bitField0_ & 0x00000004) != 0)) { - occurrences_ = new java.util.ArrayList(occurrences_); - bitField0_ |= 0x00000004; - } - } - - private com.google.protobuf.RepeatedFieldBuilder< - scip.Scip.Occurrence, scip.Scip.Occurrence.Builder, scip.Scip.OccurrenceOrBuilder> occurrencesBuilder_; - - /** - *
-       * (optional) Occurrences within the signature text that reference other
-       * symbols, enabling hyperlinking of types in the signature. Ranges are
-       * relative to the `text` field.
-       * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public java.util.List getOccurrencesList() { - if (occurrencesBuilder_ == null) { - return java.util.Collections.unmodifiableList(occurrences_); - } else { - return occurrencesBuilder_.getMessageList(); - } - } - /** - *
-       * (optional) Occurrences within the signature text that reference other
-       * symbols, enabling hyperlinking of types in the signature. Ranges are
-       * relative to the `text` field.
-       * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public int getOccurrencesCount() { - if (occurrencesBuilder_ == null) { - return occurrences_.size(); - } else { - return occurrencesBuilder_.getCount(); - } - } - /** - *
-       * (optional) Occurrences within the signature text that reference other
-       * symbols, enabling hyperlinking of types in the signature. Ranges are
-       * relative to the `text` field.
-       * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public scip.Scip.Occurrence getOccurrences(int index) { - if (occurrencesBuilder_ == null) { - return occurrences_.get(index); - } else { - return occurrencesBuilder_.getMessage(index); - } - } - /** - *
-       * (optional) Occurrences within the signature text that reference other
-       * symbols, enabling hyperlinking of types in the signature. Ranges are
-       * relative to the `text` field.
-       * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public Builder setOccurrences( - int index, scip.Scip.Occurrence value) { - if (occurrencesBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureOccurrencesIsMutable(); - occurrences_.set(index, value); - onChanged(); - } else { - occurrencesBuilder_.setMessage(index, value); - } - return this; - } - /** - *
-       * (optional) Occurrences within the signature text that reference other
-       * symbols, enabling hyperlinking of types in the signature. Ranges are
-       * relative to the `text` field.
-       * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public Builder setOccurrences( - int index, scip.Scip.Occurrence.Builder builderForValue) { - if (occurrencesBuilder_ == null) { - ensureOccurrencesIsMutable(); - occurrences_.set(index, builderForValue.build()); - onChanged(); - } else { - occurrencesBuilder_.setMessage(index, builderForValue.build()); - } - return this; - } - /** - *
-       * (optional) Occurrences within the signature text that reference other
-       * symbols, enabling hyperlinking of types in the signature. Ranges are
-       * relative to the `text` field.
-       * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public Builder addOccurrences(scip.Scip.Occurrence value) { - if (occurrencesBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureOccurrencesIsMutable(); - occurrences_.add(value); - onChanged(); - } else { - occurrencesBuilder_.addMessage(value); - } - return this; - } - /** - *
-       * (optional) Occurrences within the signature text that reference other
-       * symbols, enabling hyperlinking of types in the signature. Ranges are
-       * relative to the `text` field.
-       * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public Builder addOccurrences( - int index, scip.Scip.Occurrence value) { - if (occurrencesBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureOccurrencesIsMutable(); - occurrences_.add(index, value); - onChanged(); - } else { - occurrencesBuilder_.addMessage(index, value); - } - return this; - } - /** - *
-       * (optional) Occurrences within the signature text that reference other
-       * symbols, enabling hyperlinking of types in the signature. Ranges are
-       * relative to the `text` field.
-       * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public Builder addOccurrences( - scip.Scip.Occurrence.Builder builderForValue) { - if (occurrencesBuilder_ == null) { - ensureOccurrencesIsMutable(); - occurrences_.add(builderForValue.build()); - onChanged(); - } else { - occurrencesBuilder_.addMessage(builderForValue.build()); - } - return this; - } - /** - *
-       * (optional) Occurrences within the signature text that reference other
-       * symbols, enabling hyperlinking of types in the signature. Ranges are
-       * relative to the `text` field.
-       * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public Builder addOccurrences( - int index, scip.Scip.Occurrence.Builder builderForValue) { - if (occurrencesBuilder_ == null) { - ensureOccurrencesIsMutable(); - occurrences_.add(index, builderForValue.build()); - onChanged(); - } else { - occurrencesBuilder_.addMessage(index, builderForValue.build()); - } - return this; - } - /** - *
-       * (optional) Occurrences within the signature text that reference other
-       * symbols, enabling hyperlinking of types in the signature. Ranges are
-       * relative to the `text` field.
-       * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - 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; - } - /** - *
-       * (optional) Occurrences within the signature text that reference other
-       * symbols, enabling hyperlinking of types in the signature. Ranges are
-       * relative to the `text` field.
-       * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public Builder clearOccurrences() { - if (occurrencesBuilder_ == null) { - occurrences_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000004); - onChanged(); - } else { - occurrencesBuilder_.clear(); - } - return this; - } - /** - *
-       * (optional) Occurrences within the signature text that reference other
-       * symbols, enabling hyperlinking of types in the signature. Ranges are
-       * relative to the `text` field.
-       * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public Builder removeOccurrences(int index) { - if (occurrencesBuilder_ == null) { - ensureOccurrencesIsMutable(); - occurrences_.remove(index); - onChanged(); - } else { - occurrencesBuilder_.remove(index); - } - return this; - } - /** - *
-       * (optional) Occurrences within the signature text that reference other
-       * symbols, enabling hyperlinking of types in the signature. Ranges are
-       * relative to the `text` field.
-       * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public scip.Scip.Occurrence.Builder getOccurrencesBuilder( - int index) { - return internalGetOccurrencesFieldBuilder().getBuilder(index); - } - /** - *
-       * (optional) Occurrences within the signature text that reference other
-       * symbols, enabling hyperlinking of types in the signature. Ranges are
-       * relative to the `text` field.
-       * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public scip.Scip.OccurrenceOrBuilder getOccurrencesOrBuilder( - int index) { - if (occurrencesBuilder_ == null) { - return occurrences_.get(index); } else { - return occurrencesBuilder_.getMessageOrBuilder(index); - } - } - /** - *
-       * (optional) Occurrences within the signature text that reference other
-       * symbols, enabling hyperlinking of types in the signature. Ranges are
-       * relative to the `text` field.
-       * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public java.util.List - getOccurrencesOrBuilderList() { - if (occurrencesBuilder_ != null) { - return occurrencesBuilder_.getMessageOrBuilderList(); - } else { - return java.util.Collections.unmodifiableList(occurrences_); - } - } - /** - *
-       * (optional) Occurrences within the signature text that reference other
-       * symbols, enabling hyperlinking of types in the signature. Ranges are
-       * relative to the `text` field.
-       * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public scip.Scip.Occurrence.Builder addOccurrencesBuilder() { - return internalGetOccurrencesFieldBuilder().addBuilder( - scip.Scip.Occurrence.getDefaultInstance()); - } - /** - *
-       * (optional) Occurrences within the signature text that reference other
-       * symbols, enabling hyperlinking of types in the signature. Ranges are
-       * relative to the `text` field.
-       * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public scip.Scip.Occurrence.Builder addOccurrencesBuilder( - int index) { - return internalGetOccurrencesFieldBuilder().addBuilder( - index, scip.Scip.Occurrence.getDefaultInstance()); - } - /** - *
-       * (optional) Occurrences within the signature text that reference other
-       * symbols, enabling hyperlinking of types in the signature. Ranges are
-       * relative to the `text` field.
-       * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public java.util.List - getOccurrencesBuilderList() { - return internalGetOccurrencesFieldBuilder().getBuilderList(); - } - private com.google.protobuf.RepeatedFieldBuilder< - scip.Scip.Occurrence, scip.Scip.Occurrence.Builder, scip.Scip.OccurrenceOrBuilder> - internalGetOccurrencesFieldBuilder() { - if (occurrencesBuilder_ == null) { - occurrencesBuilder_ = new com.google.protobuf.RepeatedFieldBuilder< - scip.Scip.Occurrence, scip.Scip.Occurrence.Builder, scip.Scip.OccurrenceOrBuilder>( - occurrences_, - ((bitField0_ & 0x00000004) != 0), - getParentForChildren(), - isClean()); - occurrences_ = null; - } - return occurrencesBuilder_; - } - - // @@protoc_insertion_point(builder_scope:scip.Signature) - } - - // @@protoc_insertion_point(class_scope:scip.Signature) - private static final scip.Scip.Signature DEFAULT_INSTANCE; - static { - DEFAULT_INSTANCE = new scip.Scip.Signature(); - } - - public static scip.Scip.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 { - Builder builder = newBuilder(); - try { - builder.mergeFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.setUnfinishedMessage(builder.buildPartial()); - } catch (com.google.protobuf.UninitializedMessageException e) { - throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); - } catch (java.io.IOException e) { - throw new com.google.protobuf.InvalidProtocolBufferException(e) - .setUnfinishedMessage(builder.buildPartial()); - } - return builder.buildPartial(); - } - }; - - public static com.google.protobuf.Parser parser() { - return PARSER; - } - - @java.lang.Override - public com.google.protobuf.Parser getParserForType() { - return PARSER; - } - - @java.lang.Override - public scip.Scip.Signature getDefaultInstanceForType() { - return DEFAULT_INSTANCE; - } - - } - - public interface SymbolInformationOrBuilder extends - // @@protoc_insertion_point(interface_extends:scip.SymbolInformation) - com.google.protobuf.MessageOrBuilder { - - /** - *
-     * Identifier of this symbol, which can be referenced from `Occurence.symbol`.
-     * The string must be formatted according to the grammar in `Symbol`.
-     * 
- * - * string symbol = 1 [json_name = "symbol"]; - * @return The symbol. - */ - java.lang.String getSymbol(); - /** - *
-     * Identifier of this symbol, which can be referenced from `Occurence.symbol`.
-     * The string must be formatted according to the grammar in `Symbol`.
-     * 
- * - * string symbol = 1 [json_name = "symbol"]; - * @return The bytes for symbol. - */ - com.google.protobuf.ByteString - getSymbolBytes(); - - /** - *
-     * (optional, but strongly recommended) The markdown-formatted documentation
-     * for this symbol. Use `SymbolInformation.signature_documentation` to
-     * document the method/class/type signature of this symbol.
-     * Due to historical reasons, indexers may include signature documentation in
-     * this field by rendering markdown code blocks. New indexers should only
-     * include non-code documentation in this field, for example docstrings.
-     * 
- * - * repeated string documentation = 3 [json_name = "documentation"]; - * @return A list containing the documentation. - */ - java.util.List - getDocumentationList(); - /** - *
-     * (optional, but strongly recommended) The markdown-formatted documentation
-     * for this symbol. Use `SymbolInformation.signature_documentation` to
-     * document the method/class/type signature of this symbol.
-     * Due to historical reasons, indexers may include signature documentation in
-     * this field by rendering markdown code blocks. New indexers should only
-     * include non-code documentation in this field, for example docstrings.
-     * 
- * - * repeated string documentation = 3 [json_name = "documentation"]; - * @return The count of documentation. - */ - int getDocumentationCount(); - /** - *
-     * (optional, but strongly recommended) The markdown-formatted documentation
-     * for this symbol. Use `SymbolInformation.signature_documentation` to
-     * document the method/class/type signature of this symbol.
-     * Due to historical reasons, indexers may include signature documentation in
-     * this field by rendering markdown code blocks. New indexers should only
-     * include non-code documentation in this field, for example docstrings.
-     * 
- * - * repeated string documentation = 3 [json_name = "documentation"]; - * @param index The index of the element to return. - * @return The documentation at the given index. - */ - java.lang.String getDocumentation(int index); - /** - *
-     * (optional, but strongly recommended) The markdown-formatted documentation
-     * for this symbol. Use `SymbolInformation.signature_documentation` to
-     * document the method/class/type signature of this symbol.
-     * Due to historical reasons, indexers may include signature documentation in
-     * this field by rendering markdown code blocks. New indexers should only
-     * include non-code documentation in this field, for example docstrings.
-     * 
- * - * repeated string documentation = 3 [json_name = "documentation"]; - * @param index The index of the value to return. - * @return The bytes of the documentation at the given index. - */ - com.google.protobuf.ByteString - getDocumentationBytes(int index); - - /** - *
-     * (optional) Relationships to other symbols (e.g., implements, type definition).
-     * 
- * - * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; - */ - java.util.List - getRelationshipsList(); - /** - *
-     * (optional) Relationships to other symbols (e.g., implements, type definition).
-     * 
- * - * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; - */ - scip.Scip.Relationship getRelationships(int index); - /** - *
-     * (optional) Relationships to other symbols (e.g., implements, type definition).
-     * 
- * - * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; - */ - int getRelationshipsCount(); - /** - *
-     * (optional) Relationships to other symbols (e.g., implements, type definition).
-     * 
- * - * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; - */ - java.util.List - getRelationshipsOrBuilderList(); - /** - *
-     * (optional) Relationships to other symbols (e.g., implements, type definition).
-     * 
- * - * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; - */ - scip.Scip.RelationshipOrBuilder getRelationshipsOrBuilder( - int index); - - /** - *
-     * The kind of this symbol. Use this field instead of
-     * `SymbolDescriptor.Suffix` to determine whether something is, for example, a
-     * class or a method.
-     * 
- * - * .scip.SymbolInformation.Kind kind = 5 [json_name = "kind"]; - * @return The enum numeric value on the wire for kind. - */ - int getKindValue(); - /** - *
-     * The kind of this symbol. Use this field instead of
-     * `SymbolDescriptor.Suffix` to determine whether something is, for example, a
-     * class or a method.
-     * 
- * - * .scip.SymbolInformation.Kind kind = 5 [json_name = "kind"]; - * @return The kind. - */ - scip.Scip.SymbolInformation.Kind getKind(); - - /** - *
-     * (optional) The name of this symbol as it should be displayed to the user.
-     * For example, the symbol "com/example/MyClass#myMethod(+1)." should have the
-     * display name "myMethod". The `symbol` field is not a reliable source of
-     * the display name for several reasons:
-     *
-     * - Local symbols don't encode the name.
-     * - Some languages have case-insensitive names, so the symbol is all-lowercase.
-     * - The symbol may encode names with special characters that should not be
-     * displayed to the user.
-     * 
- * - * string display_name = 6 [json_name = "displayName"]; - * @return The displayName. - */ - java.lang.String getDisplayName(); - /** - *
-     * (optional) The name of this symbol as it should be displayed to the user.
-     * For example, the symbol "com/example/MyClass#myMethod(+1)." should have the
-     * display name "myMethod". The `symbol` field is not a reliable source of
-     * the display name for several reasons:
-     *
-     * - Local symbols don't encode the name.
-     * - Some languages have case-insensitive names, so the symbol is all-lowercase.
-     * - The symbol may encode names with special characters that should not be
-     * displayed to the user.
-     * 
- * - * string display_name = 6 [json_name = "displayName"]; - * @return The bytes for displayName. - */ - com.google.protobuf.ByteString - getDisplayNameBytes(); - - /** - *
-     * (optional) The signature of this symbol as it's displayed in API
-     * documentation or in hover tooltips. For example, a Java method that adds
-     * two numbers would have `Signature.language = "java"` and
-     * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
-     * fields are required while `occurrences` can be optionally included to
-     * support hyperlinking referenced symbols in the signature.
-     * 
- * - * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; - * @return Whether the signatureDocumentation field is set. - */ - boolean hasSignatureDocumentation(); - /** - *
-     * (optional) The signature of this symbol as it's displayed in API
-     * documentation or in hover tooltips. For example, a Java method that adds
-     * two numbers would have `Signature.language = "java"` and
-     * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
-     * fields are required while `occurrences` can be optionally included to
-     * support hyperlinking referenced symbols in the signature.
-     * 
- * - * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; - * @return The signatureDocumentation. - */ - scip.Scip.Signature getSignatureDocumentation(); - /** - *
-     * (optional) The signature of this symbol as it's displayed in API
-     * documentation or in hover tooltips. For example, a Java method that adds
-     * two numbers would have `Signature.language = "java"` and
-     * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
-     * fields are required while `occurrences` can be optionally included to
-     * support hyperlinking referenced symbols in the signature.
-     * 
- * - * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; - */ - scip.Scip.SignatureOrBuilder getSignatureDocumentationOrBuilder(); - - /** - *
-     * (optional) The enclosing symbol if this is a local symbol.  For non-local
-     * symbols, the enclosing symbol should be parsed from the `symbol` field
-     * using the `Descriptor` grammar.
-     *
-     * The primary use-case for this field is to allow local symbol to be displayed
-     * in a symbol hierarchy for API documentation. It's OK to leave this field
-     * empty for local variables since local variables usually don't belong in API
-     * documentation. However, in the situation that you wish to include a local
-     * symbol in the hierarchy, then you can use `enclosing_symbol` to locate the
-     * "parent" or "owner" of this local symbol. For example, a Java indexer may
-     * choose to use local symbols for private class fields while providing an
-     * `enclosing_symbol` to reference the enclosing class to allow the field to
-     * be part of the class documentation hierarchy. From the perspective of an
-     * author of an indexer, the decision to use a local symbol or global symbol
-     * should exclusively be determined whether the local symbol is accessible
-     * outside the document, not by the capability to find the enclosing
-     * symbol.
-     * 
- * - * string enclosing_symbol = 8 [json_name = "enclosingSymbol"]; - * @return The enclosingSymbol. - */ - java.lang.String getEnclosingSymbol(); - /** - *
-     * (optional) The enclosing symbol if this is a local symbol.  For non-local
-     * symbols, the enclosing symbol should be parsed from the `symbol` field
-     * using the `Descriptor` grammar.
-     *
-     * The primary use-case for this field is to allow local symbol to be displayed
-     * in a symbol hierarchy for API documentation. It's OK to leave this field
-     * empty for local variables since local variables usually don't belong in API
-     * documentation. However, in the situation that you wish to include a local
-     * symbol in the hierarchy, then you can use `enclosing_symbol` to locate the
-     * "parent" or "owner" of this local symbol. For example, a Java indexer may
-     * choose to use local symbols for private class fields while providing an
-     * `enclosing_symbol` to reference the enclosing class to allow the field to
-     * be part of the class documentation hierarchy. From the perspective of an
-     * author of an indexer, the decision to use a local symbol or global symbol
-     * should exclusively be determined whether the local symbol is accessible
-     * outside the document, not by the capability to find the enclosing
-     * symbol.
-     * 
- * - * string enclosing_symbol = 8 [json_name = "enclosingSymbol"]; - * @return The bytes for enclosingSymbol. - */ - com.google.protobuf.ByteString - getEnclosingSymbolBytes(); - } - /** - *
-   * SymbolInformation defines metadata about a symbol, such as the symbol's
-   * docstring or what package it's defined it.
-   * 
- * - * Protobuf type {@code scip.SymbolInformation} - */ - public static final class SymbolInformation extends - com.google.protobuf.GeneratedMessage implements - // @@protoc_insertion_point(message_implements:scip.SymbolInformation) - SymbolInformationOrBuilder { - private static final long serialVersionUID = 0L; - static { - com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( - com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, - /* major= */ 4, - /* minor= */ 32, - /* patch= */ 1, - /* suffix= */ "", - SymbolInformation.class.getName()); - } - // Use SymbolInformation.newBuilder() to construct. - private SymbolInformation(com.google.protobuf.GeneratedMessage.Builder builder) { - super(builder); - } - private SymbolInformation() { - symbol_ = ""; - documentation_ = - com.google.protobuf.LazyStringArrayList.emptyList(); - relationships_ = java.util.Collections.emptyList(); - kind_ = 0; - displayName_ = ""; - enclosingSymbol_ = ""; - } - - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return scip.Scip.internal_static_scip_SymbolInformation_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessage.FieldAccessorTable - internalGetFieldAccessorTable() { - return scip.Scip.internal_static_scip_SymbolInformation_fieldAccessorTable - .ensureFieldAccessorsInitialized( - scip.Scip.SymbolInformation.class, scip.Scip.SymbolInformation.Builder.class); - } - - /** - *
-     * (optional) Kind represents the fine-grained category of a symbol, suitable for presenting
-     * information about the symbol's meaning in the language.
-     *
-     * For example:
-     * - A Java method would have the kind `Method` while a Go function would
-     * have the kind `Function`, even if the symbols for these use the same
-     * syntax for the descriptor `SymbolDescriptor.Suffix.Method`.
-     * - A Go struct has the symbol kind `Struct` while a Java class has
-     * the symbol kind `Class` even if they both have the same descriptor:
-     * `SymbolDescriptor.Suffix.Type`.
-     *
-     * Since Kind is more fine-grained than Suffix:
-     * - If two symbols have the same Kind, they should share the same Suffix.
-     * - If two symbols have different Suffixes, they should have different Kinds.
-     * 
- * - * Protobuf enum {@code scip.SymbolInformation.Kind} - */ - public enum Kind - implements com.google.protobuf.ProtocolMessageEnum { - /** - * UnspecifiedKind = 0; - */ - UnspecifiedKind(0), - /** - *
-       * A method which may or may not have a body. For Java, Kotlin etc.
-       * 
- * - * AbstractMethod = 66; - */ - AbstractMethod(66), - /** - *
-       * For Ruby's attr_accessor
-       * 
- * - * Accessor = 72; - */ - Accessor(72), - /** - * Array = 1; - */ - Array(1), - /** - *
-       * For Alloy
-       * 
- * - * Assertion = 2; - */ - Assertion(2), - /** - * AssociatedType = 3; - */ - AssociatedType(3), - /** - *
-       * For C++
-       * 
- * - * Attribute = 4; - */ - Attribute(4), - /** - *
-       * For Lean
-       * 
- * - * Axiom = 5; - */ - Axiom(5), - /** - * Boolean = 6; - */ - Boolean(6), - /** - * Class = 7; - */ - Class(7), - /** - *
-       * For C++
-       * 
- * - * Concept = 86; - */ - Concept(86), - /** - * Constant = 8; - */ - Constant(8), - /** - * Constructor = 9; - */ - Constructor(9), - /** - *
-       * For Solidity
-       * 
- * - * Contract = 62; - */ - Contract(62), - /** - *
-       * For Haskell
-       * 
- * - * DataFamily = 10; - */ - DataFamily(10), - /** - *
-       * For C# and F#
-       * 
- * - * Delegate = 73; - */ - Delegate(73), - /** - * Enum = 11; - */ - Enum(11), - /** - * EnumMember = 12; - */ - EnumMember(12), - /** - * Error = 63; - */ - Error(63), - /** - * Event = 13; - */ - Event(13), - /** - *
-       * For Dart
-       * 
- * - * Extension = 84; - */ - Extension(84), - /** - *
-       * For Alloy
-       * 
- * - * Fact = 14; - */ - Fact(14), - /** - * Field = 15; - */ - Field(15), - /** - * File = 16; - */ - File(16), - /** - * Function = 17; - */ - Function(17), - /** - *
-       * For 'get' in Swift, 'attr_reader' in Ruby
-       * 
- * - * Getter = 18; - */ - Getter(18), - /** - *
-       * For Raku
-       * 
- * - * Grammar = 19; - */ - Grammar(19), - /** - *
-       * For Purescript and Lean
-       * 
- * - * Instance = 20; - */ - Instance(20), - /** - * Interface = 21; - */ - Interface(21), - /** - * Key = 22; - */ - Key(22), - /** - *
-       * For Racket
-       * 
- * - * Lang = 23; - */ - Lang(23), - /** - *
-       * For Lean
-       * 
- * - * Lemma = 24; - */ - Lemma(24), - /** - *
-       * For solidity
-       * 
- * - * Library = 64; - */ - Library(64), - /** - * Macro = 25; - */ - Macro(25), - /** - * Method = 26; - */ - Method(26), - /** - *
-       * For Ruby
-       * 
- * - * MethodAlias = 74; - */ - MethodAlias(74), - /** - *
-       * Analogous to 'ThisParameter' and 'SelfParameter', but for languages
-       * like Go where the receiver doesn't have a conventional name.
-       * 
- * - * MethodReceiver = 27; - */ - MethodReceiver(27), - /** - *
-       * Analogous to 'AbstractMethod', for Go.
-       * 
- * - * MethodSpecification = 67; - */ - MethodSpecification(67), - /** - *
-       * For Protobuf
-       * 
- * - * Message = 28; - */ - Message(28), - /** - *
-       * For Dart
-       * 
- * - * Mixin = 85; - */ - Mixin(85), - /** - *
-       * For Solidity
-       * 
- * - * Modifier = 65; - */ - Modifier(65), - /** - * Module = 29; - */ - Module(29), - /** - * Namespace = 30; - */ - Namespace(30), - /** - * Null = 31; - */ - Null(31), - /** - * Number = 32; - */ - Number(32), - /** - * Object = 33; - */ - Object(33), - /** - * Operator = 34; - */ - Operator(34), - /** - * Package = 35; - */ - Package(35), - /** - * PackageObject = 36; - */ - PackageObject(36), - /** - * Parameter = 37; - */ - Parameter(37), - /** - * ParameterLabel = 38; - */ - ParameterLabel(38), - /** - *
-       * For Haskell's PatternSynonyms
-       * 
- * - * Pattern = 39; - */ - Pattern(39), - /** - *
-       * For Alloy
-       * 
- * - * Predicate = 40; - */ - Predicate(40), - /** - * Property = 41; - */ - Property(41), - /** - *
-       * Analogous to 'Trait' and 'TypeClass', for Swift and Objective-C
-       * 
- * - * Protocol = 42; - */ - Protocol(42), - /** - *
-       * Analogous to 'AbstractMethod', for Swift and Objective-C.
-       * 
- * - * ProtocolMethod = 68; - */ - ProtocolMethod(68), - /** - *
-       * Analogous to 'AbstractMethod', for C++.
-       * 
- * - * PureVirtualMethod = 69; - */ - PureVirtualMethod(69), - /** - *
-       * For Haskell
-       * 
- * - * Quasiquoter = 43; - */ - Quasiquoter(43), - /** - *
-       * 'self' in Python, Rust, Swift etc.
-       * 
- * - * SelfParameter = 44; - */ - SelfParameter(44), - /** - *
-       * For 'set' in Swift, 'attr_writer' in Ruby
-       * 
- * - * Setter = 45; - */ - Setter(45), - /** - *
-       * For Alloy, analogous to 'Struct'.
-       * 
- * - * Signature = 46; - */ - Signature(46), - /** - *
-       * For Ruby
-       * 
- * - * SingletonClass = 75; - */ - SingletonClass(75), - /** - *
-       * Analogous to 'StaticMethod', for Ruby.
-       * 
- * - * SingletonMethod = 76; - */ - SingletonMethod(76), - /** - *
-       * Analogous to 'StaticField', for C++
-       * 
- * - * StaticDataMember = 77; - */ - StaticDataMember(77), - /** - *
-       * For C#
-       * 
- * - * StaticEvent = 78; - */ - StaticEvent(78), - /** - *
-       * For C#
-       * 
- * - * StaticField = 79; - */ - StaticField(79), - /** - *
-       * For Java, C#, C++ etc.
-       * 
- * - * StaticMethod = 80; - */ - StaticMethod(80), - /** - *
-       * For C#, TypeScript etc.
-       * 
- * - * StaticProperty = 81; - */ - StaticProperty(81), - /** - *
-       * For C, C++
-       * 
- * - * StaticVariable = 82; - */ - StaticVariable(82), - /** - * String = 48; - */ - String(48), - /** - * Struct = 49; - */ - Struct(49), - /** - *
-       * For Swift
-       * 
- * - * Subscript = 47; - */ - Subscript(47), - /** - *
-       * For Lean
-       * 
- * - * Tactic = 50; - */ - Tactic(50), - /** - *
-       * For Lean
-       * 
- * - * Theorem = 51; - */ - Theorem(51), - /** - *
-       * Method receiver for languages
-       * 'this' in JavaScript, C++, Java etc.
-       * 
- * - * ThisParameter = 52; - */ - ThisParameter(52), - /** - *
-       * Analogous to 'Protocol' and 'TypeClass', for Rust, Scala etc.
-       * 
- * - * Trait = 53; - */ - Trait(53), - /** - *
-       * Analogous to 'AbstractMethod', for Rust, Scala etc.
-       * 
- * - * TraitMethod = 70; - */ - TraitMethod(70), - /** - *
-       * Data type definition for languages like OCaml which use `type`
-       * rather than separate keywords like `struct` and `enum`.
-       * 
- * - * Type = 54; - */ - Type(54), - /** - * TypeAlias = 55; - */ - TypeAlias(55), - /** - *
-       * Analogous to 'Trait' and 'Protocol', for Haskell, Purescript etc.
-       * 
- * - * TypeClass = 56; - */ - TypeClass(56), - /** - *
-       * Analogous to 'AbstractMethod', for Haskell, Purescript etc.
-       * 
- * - * TypeClassMethod = 71; - */ - TypeClassMethod(71), - /** - *
-       * For Haskell
-       * 
- * - * TypeFamily = 57; - */ - TypeFamily(57), - /** - * TypeParameter = 58; - */ - TypeParameter(58), - /** - *
-       * For C, C++, Capn Proto
-       * 
- * - * Union = 59; - */ - Union(59), - /** - * Value = 60; - */ - Value(60), - /** - *
-       * Next = 87;
-       * Feel free to open a PR proposing new language-specific kinds.
-       * 
- * - * Variable = 61; - */ - Variable(61), - UNRECOGNIZED(-1), - ; - - static { - com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( - com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, - /* major= */ 4, - /* minor= */ 32, - /* patch= */ 1, - /* suffix= */ "", - Kind.class.getName()); - } - /** - * UnspecifiedKind = 0; - */ - public static final int UnspecifiedKind_VALUE = 0; - /** - *
-       * A method which may or may not have a body. For Java, Kotlin etc.
-       * 
- * - * AbstractMethod = 66; - */ - public static final int AbstractMethod_VALUE = 66; - /** - *
-       * For Ruby's attr_accessor
-       * 
- * - * Accessor = 72; - */ - public static final int Accessor_VALUE = 72; - /** - * Array = 1; - */ - public static final int Array_VALUE = 1; - /** - *
-       * For Alloy
-       * 
- * - * Assertion = 2; - */ - public static final int Assertion_VALUE = 2; - /** - * AssociatedType = 3; - */ - public static final int AssociatedType_VALUE = 3; - /** - *
-       * For C++
-       * 
- * - * Attribute = 4; - */ - public static final int Attribute_VALUE = 4; - /** - *
-       * For Lean
-       * 
- * - * Axiom = 5; - */ - public static final int Axiom_VALUE = 5; - /** - * Boolean = 6; - */ - public static final int Boolean_VALUE = 6; - /** - * Class = 7; - */ - public static final int Class_VALUE = 7; - /** - *
-       * For C++
-       * 
- * - * Concept = 86; - */ - public static final int Concept_VALUE = 86; - /** - * Constant = 8; - */ - public static final int Constant_VALUE = 8; - /** - * Constructor = 9; - */ - public static final int Constructor_VALUE = 9; - /** - *
-       * For Solidity
-       * 
- * - * Contract = 62; - */ - public static final int Contract_VALUE = 62; - /** - *
-       * For Haskell
-       * 
- * - * DataFamily = 10; - */ - public static final int DataFamily_VALUE = 10; - /** - *
-       * For C# and F#
-       * 
- * - * Delegate = 73; - */ - public static final int Delegate_VALUE = 73; - /** - * Enum = 11; - */ - public static final int Enum_VALUE = 11; - /** - * EnumMember = 12; - */ - public static final int EnumMember_VALUE = 12; - /** - * Error = 63; - */ - public static final int Error_VALUE = 63; - /** - * Event = 13; - */ - public static final int Event_VALUE = 13; - /** - *
-       * For Dart
-       * 
- * - * Extension = 84; - */ - public static final int Extension_VALUE = 84; - /** - *
-       * For Alloy
-       * 
- * - * Fact = 14; - */ - public static final int Fact_VALUE = 14; - /** - * Field = 15; - */ - public static final int Field_VALUE = 15; - /** - * File = 16; - */ - public static final int File_VALUE = 16; - /** - * Function = 17; - */ - public static final int Function_VALUE = 17; - /** - *
-       * For 'get' in Swift, 'attr_reader' in Ruby
-       * 
- * - * Getter = 18; - */ - public static final int Getter_VALUE = 18; - /** - *
-       * For Raku
-       * 
- * - * Grammar = 19; - */ - public static final int Grammar_VALUE = 19; - /** - *
-       * For Purescript and Lean
-       * 
- * - * Instance = 20; - */ - public static final int Instance_VALUE = 20; - /** - * Interface = 21; - */ - public static final int Interface_VALUE = 21; - /** - * Key = 22; - */ - public static final int Key_VALUE = 22; - /** - *
-       * For Racket
-       * 
- * - * Lang = 23; - */ - public static final int Lang_VALUE = 23; - /** - *
-       * For Lean
-       * 
- * - * Lemma = 24; - */ - public static final int Lemma_VALUE = 24; - /** - *
-       * For solidity
-       * 
- * - * Library = 64; - */ - public static final int Library_VALUE = 64; - /** - * Macro = 25; - */ - public static final int Macro_VALUE = 25; - /** - * Method = 26; - */ - public static final int Method_VALUE = 26; - /** - *
-       * For Ruby
-       * 
- * - * MethodAlias = 74; - */ - public static final int MethodAlias_VALUE = 74; - /** - *
-       * Analogous to 'ThisParameter' and 'SelfParameter', but for languages
-       * like Go where the receiver doesn't have a conventional name.
-       * 
- * - * MethodReceiver = 27; - */ - public static final int MethodReceiver_VALUE = 27; - /** - *
-       * Analogous to 'AbstractMethod', for Go.
-       * 
- * - * MethodSpecification = 67; - */ - public static final int MethodSpecification_VALUE = 67; - /** - *
-       * For Protobuf
-       * 
- * - * Message = 28; - */ - public static final int Message_VALUE = 28; - /** - *
-       * For Dart
-       * 
- * - * Mixin = 85; - */ - public static final int Mixin_VALUE = 85; - /** - *
-       * For Solidity
-       * 
- * - * Modifier = 65; - */ - public static final int Modifier_VALUE = 65; - /** - * Module = 29; - */ - public static final int Module_VALUE = 29; - /** - * Namespace = 30; - */ - public static final int Namespace_VALUE = 30; - /** - * Null = 31; - */ - public static final int Null_VALUE = 31; - /** - * Number = 32; - */ - public static final int Number_VALUE = 32; - /** - * Object = 33; - */ - public static final int Object_VALUE = 33; - /** - * Operator = 34; - */ - public static final int Operator_VALUE = 34; - /** - * Package = 35; - */ - public static final int Package_VALUE = 35; - /** - * PackageObject = 36; - */ - public static final int PackageObject_VALUE = 36; - /** - * Parameter = 37; - */ - public static final int Parameter_VALUE = 37; - /** - * ParameterLabel = 38; - */ - public static final int ParameterLabel_VALUE = 38; - /** - *
-       * For Haskell's PatternSynonyms
-       * 
- * - * Pattern = 39; - */ - public static final int Pattern_VALUE = 39; - /** - *
-       * For Alloy
-       * 
- * - * Predicate = 40; - */ - public static final int Predicate_VALUE = 40; - /** - * Property = 41; - */ - public static final int Property_VALUE = 41; - /** - *
-       * Analogous to 'Trait' and 'TypeClass', for Swift and Objective-C
-       * 
- * - * Protocol = 42; - */ - public static final int Protocol_VALUE = 42; - /** - *
-       * Analogous to 'AbstractMethod', for Swift and Objective-C.
-       * 
- * - * ProtocolMethod = 68; - */ - public static final int ProtocolMethod_VALUE = 68; - /** - *
-       * Analogous to 'AbstractMethod', for C++.
-       * 
- * - * PureVirtualMethod = 69; - */ - public static final int PureVirtualMethod_VALUE = 69; - /** - *
-       * For Haskell
-       * 
- * - * Quasiquoter = 43; - */ - public static final int Quasiquoter_VALUE = 43; - /** - *
-       * 'self' in Python, Rust, Swift etc.
-       * 
- * - * SelfParameter = 44; - */ - public static final int SelfParameter_VALUE = 44; - /** - *
-       * For 'set' in Swift, 'attr_writer' in Ruby
-       * 
- * - * Setter = 45; - */ - public static final int Setter_VALUE = 45; - /** - *
-       * For Alloy, analogous to 'Struct'.
-       * 
- * - * Signature = 46; - */ - public static final int Signature_VALUE = 46; - /** - *
-       * For Ruby
-       * 
- * - * SingletonClass = 75; - */ - public static final int SingletonClass_VALUE = 75; - /** - *
-       * Analogous to 'StaticMethod', for Ruby.
-       * 
- * - * SingletonMethod = 76; - */ - public static final int SingletonMethod_VALUE = 76; - /** - *
-       * Analogous to 'StaticField', for C++
-       * 
- * - * StaticDataMember = 77; - */ - public static final int StaticDataMember_VALUE = 77; - /** - *
-       * For C#
-       * 
- * - * StaticEvent = 78; - */ - public static final int StaticEvent_VALUE = 78; - /** - *
-       * For C#
-       * 
- * - * StaticField = 79; - */ - public static final int StaticField_VALUE = 79; - /** - *
-       * For Java, C#, C++ etc.
-       * 
- * - * StaticMethod = 80; - */ - public static final int StaticMethod_VALUE = 80; - /** - *
-       * For C#, TypeScript etc.
-       * 
- * - * StaticProperty = 81; - */ - public static final int StaticProperty_VALUE = 81; - /** - *
-       * For C, C++
-       * 
- * - * StaticVariable = 82; - */ - public static final int StaticVariable_VALUE = 82; - /** - * String = 48; - */ - public static final int String_VALUE = 48; - /** - * Struct = 49; - */ - public static final int Struct_VALUE = 49; - /** - *
-       * For Swift
-       * 
- * - * Subscript = 47; - */ - public static final int Subscript_VALUE = 47; - /** - *
-       * For Lean
-       * 
- * - * Tactic = 50; - */ - public static final int Tactic_VALUE = 50; - /** - *
-       * For Lean
-       * 
- * - * Theorem = 51; - */ - public static final int Theorem_VALUE = 51; - /** - *
-       * Method receiver for languages
-       * 'this' in JavaScript, C++, Java etc.
-       * 
- * - * ThisParameter = 52; - */ - public static final int ThisParameter_VALUE = 52; - /** - *
-       * Analogous to 'Protocol' and 'TypeClass', for Rust, Scala etc.
-       * 
- * - * Trait = 53; - */ - public static final int Trait_VALUE = 53; - /** - *
-       * Analogous to 'AbstractMethod', for Rust, Scala etc.
-       * 
- * - * TraitMethod = 70; - */ - public static final int TraitMethod_VALUE = 70; - /** - *
-       * Data type definition for languages like OCaml which use `type`
-       * rather than separate keywords like `struct` and `enum`.
-       * 
- * - * Type = 54; - */ - public static final int Type_VALUE = 54; - /** - * TypeAlias = 55; - */ - public static final int TypeAlias_VALUE = 55; - /** - *
-       * Analogous to 'Trait' and 'Protocol', for Haskell, Purescript etc.
-       * 
- * - * TypeClass = 56; - */ - public static final int TypeClass_VALUE = 56; - /** - *
-       * Analogous to 'AbstractMethod', for Haskell, Purescript etc.
-       * 
- * - * TypeClassMethod = 71; - */ - public static final int TypeClassMethod_VALUE = 71; - /** - *
-       * For Haskell
-       * 
- * - * TypeFamily = 57; - */ - public static final int TypeFamily_VALUE = 57; - /** - * TypeParameter = 58; - */ - public static final int TypeParameter_VALUE = 58; - /** - *
-       * For C, C++, Capn Proto
-       * 
- * - * Union = 59; - */ - public static final int Union_VALUE = 59; - /** - * Value = 60; - */ - public static final int Value_VALUE = 60; - /** - *
-       * Next = 87;
-       * Feel free to open a PR proposing new language-specific kinds.
-       * 
- * - * Variable = 61; - */ - public static final int Variable_VALUE = 61; - - - 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 UnspecifiedKind; - case 66: return AbstractMethod; - case 72: return Accessor; - case 1: return Array; - case 2: return Assertion; - case 3: return AssociatedType; - case 4: return Attribute; - case 5: return Axiom; - case 6: return Boolean; - case 7: return Class; - case 86: return Concept; - case 8: return Constant; - case 9: return Constructor; - case 62: return Contract; - case 10: return DataFamily; - case 73: return Delegate; - case 11: return Enum; - case 12: return EnumMember; - case 63: return Error; - case 13: return Event; - case 84: return Extension; - case 14: return Fact; - case 15: return Field; - case 16: return File; - case 17: return Function; - case 18: return Getter; - case 19: return Grammar; - case 20: return Instance; - case 21: return Interface; - case 22: return Key; - case 23: return Lang; - case 24: return Lemma; - case 64: return Library; - case 25: return Macro; - case 26: return Method; - case 74: return MethodAlias; - case 27: return MethodReceiver; - case 67: return MethodSpecification; - case 28: return Message; - case 85: return Mixin; - case 65: return Modifier; - case 29: return Module; - case 30: return Namespace; - case 31: return Null; - case 32: return Number; - case 33: return Object; - case 34: return Operator; - case 35: return Package; - case 36: return PackageObject; - case 37: return Parameter; - case 38: return ParameterLabel; - case 39: return Pattern; - case 40: return Predicate; - case 41: return Property; - case 42: return Protocol; - case 68: return ProtocolMethod; - case 69: return PureVirtualMethod; - case 43: return Quasiquoter; - case 44: return SelfParameter; - case 45: return Setter; - case 46: return Signature; - case 75: return SingletonClass; - case 76: return SingletonMethod; - case 77: return StaticDataMember; - case 78: return StaticEvent; - case 79: return StaticField; - case 80: return StaticMethod; - case 81: return StaticProperty; - case 82: return StaticVariable; - case 48: return String; - case 49: return Struct; - case 47: return Subscript; - case 50: return Tactic; - case 51: return Theorem; - case 52: return ThisParameter; - case 53: return Trait; - case 70: return TraitMethod; - case 54: return Type; - case 55: return TypeAlias; - case 56: return TypeClass; - case 71: return TypeClassMethod; - case 57: return TypeFamily; - case 58: return TypeParameter; - case 59: return Union; - case 60: return Value; - case 61: return Variable; - 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 com.google.protobuf.Descriptors.EnumDescriptor - getDescriptor() { - return scip.Scip.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:scip.SymbolInformation.Kind) - } - - private int bitField0_; - public static final int SYMBOL_FIELD_NUMBER = 1; - @SuppressWarnings("serial") - private volatile java.lang.Object symbol_ = ""; - /** - *
-     * Identifier of this symbol, which can be referenced from `Occurence.symbol`.
-     * The string must be formatted according to the grammar in `Symbol`.
-     * 
- * - * string symbol = 1 [json_name = "symbol"]; - * @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; - } - } - /** - *
-     * Identifier of this symbol, which can be referenced from `Occurence.symbol`.
-     * The string must be formatted according to the grammar in `Symbol`.
-     * 
- * - * string symbol = 1 [json_name = "symbol"]; - * @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 DOCUMENTATION_FIELD_NUMBER = 3; - @SuppressWarnings("serial") - private com.google.protobuf.LazyStringArrayList documentation_ = - com.google.protobuf.LazyStringArrayList.emptyList(); - /** - *
-     * (optional, but strongly recommended) The markdown-formatted documentation
-     * for this symbol. Use `SymbolInformation.signature_documentation` to
-     * document the method/class/type signature of this symbol.
-     * Due to historical reasons, indexers may include signature documentation in
-     * this field by rendering markdown code blocks. New indexers should only
-     * include non-code documentation in this field, for example docstrings.
-     * 
- * - * repeated string documentation = 3 [json_name = "documentation"]; - * @return A list containing the documentation. - */ - public com.google.protobuf.ProtocolStringList - getDocumentationList() { - return documentation_; - } - /** - *
-     * (optional, but strongly recommended) The markdown-formatted documentation
-     * for this symbol. Use `SymbolInformation.signature_documentation` to
-     * document the method/class/type signature of this symbol.
-     * Due to historical reasons, indexers may include signature documentation in
-     * this field by rendering markdown code blocks. New indexers should only
-     * include non-code documentation in this field, for example docstrings.
-     * 
- * - * repeated string documentation = 3 [json_name = "documentation"]; - * @return The count of documentation. - */ - public int getDocumentationCount() { - return documentation_.size(); - } - /** - *
-     * (optional, but strongly recommended) The markdown-formatted documentation
-     * for this symbol. Use `SymbolInformation.signature_documentation` to
-     * document the method/class/type signature of this symbol.
-     * Due to historical reasons, indexers may include signature documentation in
-     * this field by rendering markdown code blocks. New indexers should only
-     * include non-code documentation in this field, for example docstrings.
-     * 
- * - * repeated string documentation = 3 [json_name = "documentation"]; - * @param index The index of the element to return. - * @return The documentation at the given index. - */ - public java.lang.String getDocumentation(int index) { - return documentation_.get(index); - } - /** - *
-     * (optional, but strongly recommended) The markdown-formatted documentation
-     * for this symbol. Use `SymbolInformation.signature_documentation` to
-     * document the method/class/type signature of this symbol.
-     * Due to historical reasons, indexers may include signature documentation in
-     * this field by rendering markdown code blocks. New indexers should only
-     * include non-code documentation in this field, for example docstrings.
-     * 
- * - * repeated string documentation = 3 [json_name = "documentation"]; - * @param index The index of the value to return. - * @return The bytes of the documentation at the given index. - */ - public com.google.protobuf.ByteString - getDocumentationBytes(int index) { - return documentation_.getByteString(index); - } - - public static final int RELATIONSHIPS_FIELD_NUMBER = 4; - @SuppressWarnings("serial") - private java.util.List relationships_; - /** - *
-     * (optional) Relationships to other symbols (e.g., implements, type definition).
-     * 
- * - * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; - */ - @java.lang.Override - public java.util.List getRelationshipsList() { - return relationships_; - } - /** - *
-     * (optional) Relationships to other symbols (e.g., implements, type definition).
-     * 
- * - * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; - */ - @java.lang.Override - public java.util.List - getRelationshipsOrBuilderList() { - return relationships_; - } - /** - *
-     * (optional) Relationships to other symbols (e.g., implements, type definition).
-     * 
- * - * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; - */ - @java.lang.Override - public int getRelationshipsCount() { - return relationships_.size(); - } - /** - *
-     * (optional) Relationships to other symbols (e.g., implements, type definition).
-     * 
- * - * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; - */ - @java.lang.Override - public scip.Scip.Relationship getRelationships(int index) { - return relationships_.get(index); - } - /** - *
-     * (optional) Relationships to other symbols (e.g., implements, type definition).
-     * 
- * - * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; - */ - @java.lang.Override - public scip.Scip.RelationshipOrBuilder getRelationshipsOrBuilder( - int index) { - return relationships_.get(index); - } - - public static final int KIND_FIELD_NUMBER = 5; - private int kind_ = 0; - /** - *
-     * The kind of this symbol. Use this field instead of
-     * `SymbolDescriptor.Suffix` to determine whether something is, for example, a
-     * class or a method.
-     * 
- * - * .scip.SymbolInformation.Kind kind = 5 [json_name = "kind"]; - * @return The enum numeric value on the wire for kind. - */ - @java.lang.Override public int getKindValue() { - return kind_; - } - /** - *
-     * The kind of this symbol. Use this field instead of
-     * `SymbolDescriptor.Suffix` to determine whether something is, for example, a
-     * class or a method.
-     * 
- * - * .scip.SymbolInformation.Kind kind = 5 [json_name = "kind"]; - * @return The kind. - */ - @java.lang.Override public scip.Scip.SymbolInformation.Kind getKind() { - scip.Scip.SymbolInformation.Kind result = scip.Scip.SymbolInformation.Kind.forNumber(kind_); - return result == null ? scip.Scip.SymbolInformation.Kind.UNRECOGNIZED : result; - } - - public static final int DISPLAY_NAME_FIELD_NUMBER = 6; - @SuppressWarnings("serial") - private volatile java.lang.Object displayName_ = ""; - /** - *
-     * (optional) The name of this symbol as it should be displayed to the user.
-     * For example, the symbol "com/example/MyClass#myMethod(+1)." should have the
-     * display name "myMethod". The `symbol` field is not a reliable source of
-     * the display name for several reasons:
-     *
-     * - Local symbols don't encode the name.
-     * - Some languages have case-insensitive names, so the symbol is all-lowercase.
-     * - The symbol may encode names with special characters that should not be
-     * displayed to the user.
-     * 
- * - * string display_name = 6 [json_name = "displayName"]; - * @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; - } - } - /** - *
-     * (optional) The name of this symbol as it should be displayed to the user.
-     * For example, the symbol "com/example/MyClass#myMethod(+1)." should have the
-     * display name "myMethod". The `symbol` field is not a reliable source of
-     * the display name for several reasons:
-     *
-     * - Local symbols don't encode the name.
-     * - Some languages have case-insensitive names, so the symbol is all-lowercase.
-     * - The symbol may encode names with special characters that should not be
-     * displayed to the user.
-     * 
- * - * string display_name = 6 [json_name = "displayName"]; - * @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_DOCUMENTATION_FIELD_NUMBER = 7; - private scip.Scip.Signature signatureDocumentation_; - /** - *
-     * (optional) The signature of this symbol as it's displayed in API
-     * documentation or in hover tooltips. For example, a Java method that adds
-     * two numbers would have `Signature.language = "java"` and
-     * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
-     * fields are required while `occurrences` can be optionally included to
-     * support hyperlinking referenced symbols in the signature.
-     * 
- * - * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; - * @return Whether the signatureDocumentation field is set. - */ - @java.lang.Override - public boolean hasSignatureDocumentation() { - return ((bitField0_ & 0x00000001) != 0); - } - /** - *
-     * (optional) The signature of this symbol as it's displayed in API
-     * documentation or in hover tooltips. For example, a Java method that adds
-     * two numbers would have `Signature.language = "java"` and
-     * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
-     * fields are required while `occurrences` can be optionally included to
-     * support hyperlinking referenced symbols in the signature.
-     * 
- * - * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; - * @return The signatureDocumentation. - */ - @java.lang.Override - public scip.Scip.Signature getSignatureDocumentation() { - return signatureDocumentation_ == null ? scip.Scip.Signature.getDefaultInstance() : signatureDocumentation_; - } - /** - *
-     * (optional) The signature of this symbol as it's displayed in API
-     * documentation or in hover tooltips. For example, a Java method that adds
-     * two numbers would have `Signature.language = "java"` and
-     * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
-     * fields are required while `occurrences` can be optionally included to
-     * support hyperlinking referenced symbols in the signature.
-     * 
- * - * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; - */ - @java.lang.Override - public scip.Scip.SignatureOrBuilder getSignatureDocumentationOrBuilder() { - return signatureDocumentation_ == null ? scip.Scip.Signature.getDefaultInstance() : signatureDocumentation_; - } - - public static final int ENCLOSING_SYMBOL_FIELD_NUMBER = 8; - @SuppressWarnings("serial") - private volatile java.lang.Object enclosingSymbol_ = ""; - /** - *
-     * (optional) The enclosing symbol if this is a local symbol.  For non-local
-     * symbols, the enclosing symbol should be parsed from the `symbol` field
-     * using the `Descriptor` grammar.
-     *
-     * The primary use-case for this field is to allow local symbol to be displayed
-     * in a symbol hierarchy for API documentation. It's OK to leave this field
-     * empty for local variables since local variables usually don't belong in API
-     * documentation. However, in the situation that you wish to include a local
-     * symbol in the hierarchy, then you can use `enclosing_symbol` to locate the
-     * "parent" or "owner" of this local symbol. For example, a Java indexer may
-     * choose to use local symbols for private class fields while providing an
-     * `enclosing_symbol` to reference the enclosing class to allow the field to
-     * be part of the class documentation hierarchy. From the perspective of an
-     * author of an indexer, the decision to use a local symbol or global symbol
-     * should exclusively be determined whether the local symbol is accessible
-     * outside the document, not by the capability to find the enclosing
-     * symbol.
-     * 
- * - * string enclosing_symbol = 8 [json_name = "enclosingSymbol"]; - * @return The enclosingSymbol. - */ - @java.lang.Override - public java.lang.String getEnclosingSymbol() { - java.lang.Object ref = enclosingSymbol_; - 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(); - enclosingSymbol_ = s; - return s; - } - } - /** - *
-     * (optional) The enclosing symbol if this is a local symbol.  For non-local
-     * symbols, the enclosing symbol should be parsed from the `symbol` field
-     * using the `Descriptor` grammar.
-     *
-     * The primary use-case for this field is to allow local symbol to be displayed
-     * in a symbol hierarchy for API documentation. It's OK to leave this field
-     * empty for local variables since local variables usually don't belong in API
-     * documentation. However, in the situation that you wish to include a local
-     * symbol in the hierarchy, then you can use `enclosing_symbol` to locate the
-     * "parent" or "owner" of this local symbol. For example, a Java indexer may
-     * choose to use local symbols for private class fields while providing an
-     * `enclosing_symbol` to reference the enclosing class to allow the field to
-     * be part of the class documentation hierarchy. From the perspective of an
-     * author of an indexer, the decision to use a local symbol or global symbol
-     * should exclusively be determined whether the local symbol is accessible
-     * outside the document, not by the capability to find the enclosing
-     * symbol.
-     * 
- * - * string enclosing_symbol = 8 [json_name = "enclosingSymbol"]; - * @return The bytes for enclosingSymbol. - */ - @java.lang.Override - public com.google.protobuf.ByteString - getEnclosingSymbolBytes() { - java.lang.Object ref = enclosingSymbol_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - enclosingSymbol_ = 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 (!com.google.protobuf.GeneratedMessage.isStringEmpty(symbol_)) { - com.google.protobuf.GeneratedMessage.writeString(output, 1, symbol_); - } - for (int i = 0; i < documentation_.size(); i++) { - com.google.protobuf.GeneratedMessage.writeString(output, 3, documentation_.getRaw(i)); - } - for (int i = 0; i < relationships_.size(); i++) { - output.writeMessage(4, relationships_.get(i)); - } - if (kind_ != scip.Scip.SymbolInformation.Kind.UnspecifiedKind.getNumber()) { - output.writeEnum(5, kind_); - } - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(displayName_)) { - com.google.protobuf.GeneratedMessage.writeString(output, 6, displayName_); - } - if (((bitField0_ & 0x00000001) != 0)) { - output.writeMessage(7, getSignatureDocumentation()); - } - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(enclosingSymbol_)) { - com.google.protobuf.GeneratedMessage.writeString(output, 8, enclosingSymbol_); - } - getUnknownFields().writeTo(output); - } - - @java.lang.Override - public int getSerializedSize() { - int size = memoizedSize; - if (size != -1) return size; - - size = 0; - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(symbol_)) { - size += com.google.protobuf.GeneratedMessage.computeStringSize(1, symbol_); - } - { - int dataSize = 0; - for (int i = 0; i < documentation_.size(); i++) { - dataSize += computeStringSizeNoTag(documentation_.getRaw(i)); - } - size += dataSize; - size += 1 * getDocumentationList().size(); - } - for (int i = 0; i < relationships_.size(); i++) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(4, relationships_.get(i)); - } - if (kind_ != scip.Scip.SymbolInformation.Kind.UnspecifiedKind.getNumber()) { - size += com.google.protobuf.CodedOutputStream - .computeEnumSize(5, kind_); - } - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(displayName_)) { - size += com.google.protobuf.GeneratedMessage.computeStringSize(6, displayName_); - } - if (((bitField0_ & 0x00000001) != 0)) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(7, getSignatureDocumentation()); - } - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(enclosingSymbol_)) { - size += com.google.protobuf.GeneratedMessage.computeStringSize(8, enclosingSymbol_); - } - size += getUnknownFields().getSerializedSize(); - memoizedSize = size; - return size; - } - - @java.lang.Override - public boolean equals(final java.lang.Object obj) { - if (obj == this) { - return true; - } - if (!(obj instanceof scip.Scip.SymbolInformation)) { - return super.equals(obj); - } - scip.Scip.SymbolInformation other = (scip.Scip.SymbolInformation) obj; - - if (!getSymbol() - .equals(other.getSymbol())) return false; - if (!getDocumentationList() - .equals(other.getDocumentationList())) return false; - if (!getRelationshipsList() - .equals(other.getRelationshipsList())) return false; - if (kind_ != other.kind_) return false; - if (!getDisplayName() - .equals(other.getDisplayName())) return false; - if (hasSignatureDocumentation() != other.hasSignatureDocumentation()) return false; - if (hasSignatureDocumentation()) { - if (!getSignatureDocumentation() - .equals(other.getSignatureDocumentation())) return false; - } - if (!getEnclosingSymbol() - .equals(other.getEnclosingSymbol())) return false; - if (!getUnknownFields().equals(other.getUnknownFields())) 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 (getDocumentationCount() > 0) { - hash = (37 * hash) + DOCUMENTATION_FIELD_NUMBER; - hash = (53 * hash) + getDocumentationList().hashCode(); - } - if (getRelationshipsCount() > 0) { - hash = (37 * hash) + RELATIONSHIPS_FIELD_NUMBER; - hash = (53 * hash) + getRelationshipsList().hashCode(); - } - hash = (37 * hash) + KIND_FIELD_NUMBER; - hash = (53 * hash) + kind_; - hash = (37 * hash) + DISPLAY_NAME_FIELD_NUMBER; - hash = (53 * hash) + getDisplayName().hashCode(); - if (hasSignatureDocumentation()) { - hash = (37 * hash) + SIGNATURE_DOCUMENTATION_FIELD_NUMBER; - hash = (53 * hash) + getSignatureDocumentation().hashCode(); - } - hash = (37 * hash) + ENCLOSING_SYMBOL_FIELD_NUMBER; - hash = (53 * hash) + getEnclosingSymbol().hashCode(); - hash = (29 * hash) + getUnknownFields().hashCode(); - memoizedHashCode = hash; - return hash; - } - - public static scip.Scip.SymbolInformation parseFrom( - java.nio.ByteBuffer data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static scip.Scip.SymbolInformation parseFrom( - java.nio.ByteBuffer data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static scip.Scip.SymbolInformation parseFrom( - com.google.protobuf.ByteString data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static scip.Scip.SymbolInformation parseFrom( - com.google.protobuf.ByteString data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static scip.Scip.SymbolInformation parseFrom(byte[] data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static scip.Scip.SymbolInformation parseFrom( - byte[] data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static scip.Scip.SymbolInformation parseFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input); - } - public static scip.Scip.SymbolInformation parseFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input, extensionRegistry); - } - - public static scip.Scip.SymbolInformation parseDelimitedFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseDelimitedWithIOException(PARSER, input); - } - - public static scip.Scip.SymbolInformation parseDelimitedFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseDelimitedWithIOException(PARSER, input, extensionRegistry); - } - public static scip.Scip.SymbolInformation parseFrom( - com.google.protobuf.CodedInputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input); - } - public static scip.Scip.SymbolInformation parseFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input, extensionRegistry); - } - - @java.lang.Override - public Builder newBuilderForType() { return newBuilder(); } - public static Builder newBuilder() { - return DEFAULT_INSTANCE.toBuilder(); - } - public static Builder newBuilder(scip.Scip.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.GeneratedMessage.BuilderParent parent) { - Builder builder = new Builder(parent); - return builder; - } - /** - *
-     * SymbolInformation defines metadata about a symbol, such as the symbol's
-     * docstring or what package it's defined it.
-     * 
- * - * Protobuf type {@code scip.SymbolInformation} - */ - public static final class Builder extends - com.google.protobuf.GeneratedMessage.Builder implements - // @@protoc_insertion_point(builder_implements:scip.SymbolInformation) - scip.Scip.SymbolInformationOrBuilder { - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return scip.Scip.internal_static_scip_SymbolInformation_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessage.FieldAccessorTable - internalGetFieldAccessorTable() { - return scip.Scip.internal_static_scip_SymbolInformation_fieldAccessorTable - .ensureFieldAccessorsInitialized( - scip.Scip.SymbolInformation.class, scip.Scip.SymbolInformation.Builder.class); - } - - // Construct using scip.Scip.SymbolInformation.newBuilder() - private Builder() { - maybeForceBuilderInitialization(); - } - - private Builder( - com.google.protobuf.GeneratedMessage.BuilderParent parent) { - super(parent); - maybeForceBuilderInitialization(); - } - private void maybeForceBuilderInitialization() { - if (com.google.protobuf.GeneratedMessage - .alwaysUseFieldBuilders) { - internalGetRelationshipsFieldBuilder(); - internalGetSignatureDocumentationFieldBuilder(); - } - } - @java.lang.Override - public Builder clear() { - super.clear(); - bitField0_ = 0; - symbol_ = ""; - documentation_ = - com.google.protobuf.LazyStringArrayList.emptyList(); - if (relationshipsBuilder_ == null) { - relationships_ = java.util.Collections.emptyList(); - } else { - relationships_ = null; - relationshipsBuilder_.clear(); - } - bitField0_ = (bitField0_ & ~0x00000004); - kind_ = 0; - displayName_ = ""; - signatureDocumentation_ = null; - if (signatureDocumentationBuilder_ != null) { - signatureDocumentationBuilder_.dispose(); - signatureDocumentationBuilder_ = null; - } - enclosingSymbol_ = ""; - return this; - } - - @java.lang.Override - public com.google.protobuf.Descriptors.Descriptor - getDescriptorForType() { - return scip.Scip.internal_static_scip_SymbolInformation_descriptor; - } - - @java.lang.Override - public scip.Scip.SymbolInformation getDefaultInstanceForType() { - return scip.Scip.SymbolInformation.getDefaultInstance(); - } - - @java.lang.Override - public scip.Scip.SymbolInformation build() { - scip.Scip.SymbolInformation result = buildPartial(); - if (!result.isInitialized()) { - throw newUninitializedMessageException(result); - } - return result; - } - - @java.lang.Override - public scip.Scip.SymbolInformation buildPartial() { - scip.Scip.SymbolInformation result = new scip.Scip.SymbolInformation(this); - buildPartialRepeatedFields(result); - if (bitField0_ != 0) { buildPartial0(result); } - onBuilt(); - return result; - } - - private void buildPartialRepeatedFields(scip.Scip.SymbolInformation result) { - if (relationshipsBuilder_ == null) { - if (((bitField0_ & 0x00000004) != 0)) { - relationships_ = java.util.Collections.unmodifiableList(relationships_); - bitField0_ = (bitField0_ & ~0x00000004); - } - result.relationships_ = relationships_; - } else { - result.relationships_ = relationshipsBuilder_.build(); - } - } - - private void buildPartial0(scip.Scip.SymbolInformation result) { - int from_bitField0_ = bitField0_; - if (((from_bitField0_ & 0x00000001) != 0)) { - result.symbol_ = symbol_; - } - if (((from_bitField0_ & 0x00000002) != 0)) { - documentation_.makeImmutable(); - result.documentation_ = documentation_; - } - if (((from_bitField0_ & 0x00000008) != 0)) { - result.kind_ = kind_; - } - if (((from_bitField0_ & 0x00000010) != 0)) { - result.displayName_ = displayName_; - } - int to_bitField0_ = 0; - if (((from_bitField0_ & 0x00000020) != 0)) { - result.signatureDocumentation_ = signatureDocumentationBuilder_ == null - ? signatureDocumentation_ - : signatureDocumentationBuilder_.build(); - to_bitField0_ |= 0x00000001; - } - if (((from_bitField0_ & 0x00000040) != 0)) { - result.enclosingSymbol_ = enclosingSymbol_; - } - result.bitField0_ |= to_bitField0_; - } - - @java.lang.Override - public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof scip.Scip.SymbolInformation) { - return mergeFrom((scip.Scip.SymbolInformation)other); - } else { - super.mergeFrom(other); - return this; - } - } - - public Builder mergeFrom(scip.Scip.SymbolInformation other) { - if (other == scip.Scip.SymbolInformation.getDefaultInstance()) return this; - if (!other.getSymbol().isEmpty()) { - symbol_ = other.symbol_; - bitField0_ |= 0x00000001; - onChanged(); - } - if (!other.documentation_.isEmpty()) { - if (documentation_.isEmpty()) { - documentation_ = other.documentation_; - bitField0_ |= 0x00000002; - } else { - ensureDocumentationIsMutable(); - documentation_.addAll(other.documentation_); - } - onChanged(); - } - if (relationshipsBuilder_ == null) { - if (!other.relationships_.isEmpty()) { - if (relationships_.isEmpty()) { - relationships_ = other.relationships_; - bitField0_ = (bitField0_ & ~0x00000004); - } else { - ensureRelationshipsIsMutable(); - relationships_.addAll(other.relationships_); - } - onChanged(); - } - } else { - if (!other.relationships_.isEmpty()) { - if (relationshipsBuilder_.isEmpty()) { - relationshipsBuilder_.dispose(); - relationshipsBuilder_ = null; - relationships_ = other.relationships_; - bitField0_ = (bitField0_ & ~0x00000004); - relationshipsBuilder_ = - com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ? - internalGetRelationshipsFieldBuilder() : null; - } else { - relationshipsBuilder_.addAllMessages(other.relationships_); - } - } - } - if (other.kind_ != 0) { - setKindValue(other.getKindValue()); - } - if (!other.getDisplayName().isEmpty()) { - displayName_ = other.displayName_; - bitField0_ |= 0x00000010; - onChanged(); - } - if (other.hasSignatureDocumentation()) { - mergeSignatureDocumentation(other.getSignatureDocumentation()); - } - if (!other.getEnclosingSymbol().isEmpty()) { - enclosingSymbol_ = other.enclosingSymbol_; - bitField0_ |= 0x00000040; - onChanged(); - } - this.mergeUnknownFields(other.getUnknownFields()); - 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 { - if (extensionRegistry == null) { - throw new java.lang.NullPointerException(); - } - try { - boolean done = false; - while (!done) { - int tag = input.readTag(); - switch (tag) { - case 0: - done = true; - break; - case 10: { - symbol_ = input.readStringRequireUtf8(); - bitField0_ |= 0x00000001; - break; - } // case 10 - case 26: { - java.lang.String s = input.readStringRequireUtf8(); - ensureDocumentationIsMutable(); - documentation_.add(s); - break; - } // case 26 - case 34: { - scip.Scip.Relationship m = - input.readMessage( - scip.Scip.Relationship.parser(), - extensionRegistry); - if (relationshipsBuilder_ == null) { - ensureRelationshipsIsMutable(); - relationships_.add(m); - } else { - relationshipsBuilder_.addMessage(m); - } - break; - } // case 34 - case 40: { - kind_ = input.readEnum(); - bitField0_ |= 0x00000008; - break; - } // case 40 - case 50: { - displayName_ = input.readStringRequireUtf8(); - bitField0_ |= 0x00000010; - break; - } // case 50 - case 58: { - input.readMessage( - internalGetSignatureDocumentationFieldBuilder().getBuilder(), - extensionRegistry); - bitField0_ |= 0x00000020; - break; - } // case 58 - case 66: { - enclosingSymbol_ = input.readStringRequireUtf8(); - bitField0_ |= 0x00000040; - break; - } // case 66 - default: { - if (!super.parseUnknownField(input, extensionRegistry, tag)) { - done = true; // was an endgroup tag - } - break; - } // default: - } // switch (tag) - } // while (!done) - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.unwrapIOException(); - } finally { - onChanged(); - } // finally - return this; - } - private int bitField0_; - - private java.lang.Object symbol_ = ""; - /** - *
-       * Identifier of this symbol, which can be referenced from `Occurence.symbol`.
-       * The string must be formatted according to the grammar in `Symbol`.
-       * 
- * - * string symbol = 1 [json_name = "symbol"]; - * @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; - } - } - /** - *
-       * Identifier of this symbol, which can be referenced from `Occurence.symbol`.
-       * The string must be formatted according to the grammar in `Symbol`.
-       * 
- * - * string symbol = 1 [json_name = "symbol"]; - * @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; - } - } - /** - *
-       * Identifier of this symbol, which can be referenced from `Occurence.symbol`.
-       * The string must be formatted according to the grammar in `Symbol`.
-       * 
- * - * string symbol = 1 [json_name = "symbol"]; - * @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; - bitField0_ |= 0x00000001; - onChanged(); - return this; - } - /** - *
-       * Identifier of this symbol, which can be referenced from `Occurence.symbol`.
-       * The string must be formatted according to the grammar in `Symbol`.
-       * 
- * - * string symbol = 1 [json_name = "symbol"]; - * @return This builder for chaining. - */ - public Builder clearSymbol() { - symbol_ = getDefaultInstance().getSymbol(); - bitField0_ = (bitField0_ & ~0x00000001); - onChanged(); - return this; - } - /** - *
-       * Identifier of this symbol, which can be referenced from `Occurence.symbol`.
-       * The string must be formatted according to the grammar in `Symbol`.
-       * 
- * - * string symbol = 1 [json_name = "symbol"]; - * @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; - bitField0_ |= 0x00000001; - onChanged(); - return this; - } - - private com.google.protobuf.LazyStringArrayList documentation_ = - com.google.protobuf.LazyStringArrayList.emptyList(); - private void ensureDocumentationIsMutable() { - if (!documentation_.isModifiable()) { - documentation_ = new com.google.protobuf.LazyStringArrayList(documentation_); - } - bitField0_ |= 0x00000002; - } - /** - *
-       * (optional, but strongly recommended) The markdown-formatted documentation
-       * for this symbol. Use `SymbolInformation.signature_documentation` to
-       * document the method/class/type signature of this symbol.
-       * Due to historical reasons, indexers may include signature documentation in
-       * this field by rendering markdown code blocks. New indexers should only
-       * include non-code documentation in this field, for example docstrings.
-       * 
- * - * repeated string documentation = 3 [json_name = "documentation"]; - * @return A list containing the documentation. - */ - public com.google.protobuf.ProtocolStringList - getDocumentationList() { - documentation_.makeImmutable(); - return documentation_; - } - /** - *
-       * (optional, but strongly recommended) The markdown-formatted documentation
-       * for this symbol. Use `SymbolInformation.signature_documentation` to
-       * document the method/class/type signature of this symbol.
-       * Due to historical reasons, indexers may include signature documentation in
-       * this field by rendering markdown code blocks. New indexers should only
-       * include non-code documentation in this field, for example docstrings.
-       * 
- * - * repeated string documentation = 3 [json_name = "documentation"]; - * @return The count of documentation. - */ - public int getDocumentationCount() { - return documentation_.size(); - } - /** - *
-       * (optional, but strongly recommended) The markdown-formatted documentation
-       * for this symbol. Use `SymbolInformation.signature_documentation` to
-       * document the method/class/type signature of this symbol.
-       * Due to historical reasons, indexers may include signature documentation in
-       * this field by rendering markdown code blocks. New indexers should only
-       * include non-code documentation in this field, for example docstrings.
-       * 
- * - * repeated string documentation = 3 [json_name = "documentation"]; - * @param index The index of the element to return. - * @return The documentation at the given index. - */ - public java.lang.String getDocumentation(int index) { - return documentation_.get(index); - } - /** - *
-       * (optional, but strongly recommended) The markdown-formatted documentation
-       * for this symbol. Use `SymbolInformation.signature_documentation` to
-       * document the method/class/type signature of this symbol.
-       * Due to historical reasons, indexers may include signature documentation in
-       * this field by rendering markdown code blocks. New indexers should only
-       * include non-code documentation in this field, for example docstrings.
-       * 
- * - * repeated string documentation = 3 [json_name = "documentation"]; - * @param index The index of the value to return. - * @return The bytes of the documentation at the given index. - */ - public com.google.protobuf.ByteString - getDocumentationBytes(int index) { - return documentation_.getByteString(index); - } - /** - *
-       * (optional, but strongly recommended) The markdown-formatted documentation
-       * for this symbol. Use `SymbolInformation.signature_documentation` to
-       * document the method/class/type signature of this symbol.
-       * Due to historical reasons, indexers may include signature documentation in
-       * this field by rendering markdown code blocks. New indexers should only
-       * include non-code documentation in this field, for example docstrings.
-       * 
- * - * repeated string documentation = 3 [json_name = "documentation"]; - * @param index The index to set the value at. - * @param value The documentation to set. - * @return This builder for chaining. - */ - public Builder setDocumentation( - int index, java.lang.String value) { - if (value == null) { throw new NullPointerException(); } - ensureDocumentationIsMutable(); - documentation_.set(index, value); - bitField0_ |= 0x00000002; - onChanged(); - return this; - } - /** - *
-       * (optional, but strongly recommended) The markdown-formatted documentation
-       * for this symbol. Use `SymbolInformation.signature_documentation` to
-       * document the method/class/type signature of this symbol.
-       * Due to historical reasons, indexers may include signature documentation in
-       * this field by rendering markdown code blocks. New indexers should only
-       * include non-code documentation in this field, for example docstrings.
-       * 
- * - * repeated string documentation = 3 [json_name = "documentation"]; - * @param value The documentation to add. - * @return This builder for chaining. - */ - public Builder addDocumentation( - java.lang.String value) { - if (value == null) { throw new NullPointerException(); } - ensureDocumentationIsMutable(); - documentation_.add(value); - bitField0_ |= 0x00000002; - onChanged(); - return this; - } - /** - *
-       * (optional, but strongly recommended) The markdown-formatted documentation
-       * for this symbol. Use `SymbolInformation.signature_documentation` to
-       * document the method/class/type signature of this symbol.
-       * Due to historical reasons, indexers may include signature documentation in
-       * this field by rendering markdown code blocks. New indexers should only
-       * include non-code documentation in this field, for example docstrings.
-       * 
- * - * repeated string documentation = 3 [json_name = "documentation"]; - * @param values The documentation to add. - * @return This builder for chaining. - */ - public Builder addAllDocumentation( - java.lang.Iterable values) { - ensureDocumentationIsMutable(); - com.google.protobuf.AbstractMessageLite.Builder.addAll( - values, documentation_); - bitField0_ |= 0x00000002; - onChanged(); - return this; - } - /** - *
-       * (optional, but strongly recommended) The markdown-formatted documentation
-       * for this symbol. Use `SymbolInformation.signature_documentation` to
-       * document the method/class/type signature of this symbol.
-       * Due to historical reasons, indexers may include signature documentation in
-       * this field by rendering markdown code blocks. New indexers should only
-       * include non-code documentation in this field, for example docstrings.
-       * 
- * - * repeated string documentation = 3 [json_name = "documentation"]; - * @return This builder for chaining. - */ - public Builder clearDocumentation() { - documentation_ = - com.google.protobuf.LazyStringArrayList.emptyList(); - bitField0_ = (bitField0_ & ~0x00000002);; - onChanged(); - return this; - } - /** - *
-       * (optional, but strongly recommended) The markdown-formatted documentation
-       * for this symbol. Use `SymbolInformation.signature_documentation` to
-       * document the method/class/type signature of this symbol.
-       * Due to historical reasons, indexers may include signature documentation in
-       * this field by rendering markdown code blocks. New indexers should only
-       * include non-code documentation in this field, for example docstrings.
-       * 
- * - * repeated string documentation = 3 [json_name = "documentation"]; - * @param value The bytes of the documentation to add. - * @return This builder for chaining. - */ - public Builder addDocumentationBytes( - com.google.protobuf.ByteString value) { - if (value == null) { throw new NullPointerException(); } - checkByteStringIsUtf8(value); - ensureDocumentationIsMutable(); - documentation_.add(value); - bitField0_ |= 0x00000002; - onChanged(); - return this; - } - - private java.util.List relationships_ = - java.util.Collections.emptyList(); - private void ensureRelationshipsIsMutable() { - if (!((bitField0_ & 0x00000004) != 0)) { - relationships_ = new java.util.ArrayList(relationships_); - bitField0_ |= 0x00000004; - } - } - - private com.google.protobuf.RepeatedFieldBuilder< - scip.Scip.Relationship, scip.Scip.Relationship.Builder, scip.Scip.RelationshipOrBuilder> relationshipsBuilder_; - - /** - *
-       * (optional) Relationships to other symbols (e.g., implements, type definition).
-       * 
- * - * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; - */ - public java.util.List getRelationshipsList() { - if (relationshipsBuilder_ == null) { - return java.util.Collections.unmodifiableList(relationships_); - } else { - return relationshipsBuilder_.getMessageList(); - } - } - /** - *
-       * (optional) Relationships to other symbols (e.g., implements, type definition).
-       * 
- * - * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; - */ - public int getRelationshipsCount() { - if (relationshipsBuilder_ == null) { - return relationships_.size(); - } else { - return relationshipsBuilder_.getCount(); - } - } - /** - *
-       * (optional) Relationships to other symbols (e.g., implements, type definition).
-       * 
- * - * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; - */ - public scip.Scip.Relationship getRelationships(int index) { - if (relationshipsBuilder_ == null) { - return relationships_.get(index); - } else { - return relationshipsBuilder_.getMessage(index); - } - } - /** - *
-       * (optional) Relationships to other symbols (e.g., implements, type definition).
-       * 
- * - * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; - */ - public Builder setRelationships( - int index, scip.Scip.Relationship value) { - if (relationshipsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureRelationshipsIsMutable(); - relationships_.set(index, value); - onChanged(); - } else { - relationshipsBuilder_.setMessage(index, value); - } - return this; - } - /** - *
-       * (optional) Relationships to other symbols (e.g., implements, type definition).
-       * 
- * - * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; - */ - public Builder setRelationships( - int index, scip.Scip.Relationship.Builder builderForValue) { - if (relationshipsBuilder_ == null) { - ensureRelationshipsIsMutable(); - relationships_.set(index, builderForValue.build()); - onChanged(); - } else { - relationshipsBuilder_.setMessage(index, builderForValue.build()); - } - return this; - } - /** - *
-       * (optional) Relationships to other symbols (e.g., implements, type definition).
-       * 
- * - * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; - */ - public Builder addRelationships(scip.Scip.Relationship value) { - if (relationshipsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureRelationshipsIsMutable(); - relationships_.add(value); - onChanged(); - } else { - relationshipsBuilder_.addMessage(value); - } - return this; - } - /** - *
-       * (optional) Relationships to other symbols (e.g., implements, type definition).
-       * 
- * - * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; - */ - public Builder addRelationships( - int index, scip.Scip.Relationship value) { - if (relationshipsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureRelationshipsIsMutable(); - relationships_.add(index, value); - onChanged(); - } else { - relationshipsBuilder_.addMessage(index, value); - } - return this; - } - /** - *
-       * (optional) Relationships to other symbols (e.g., implements, type definition).
-       * 
- * - * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; - */ - public Builder addRelationships( - scip.Scip.Relationship.Builder builderForValue) { - if (relationshipsBuilder_ == null) { - ensureRelationshipsIsMutable(); - relationships_.add(builderForValue.build()); - onChanged(); - } else { - relationshipsBuilder_.addMessage(builderForValue.build()); - } - return this; - } - /** - *
-       * (optional) Relationships to other symbols (e.g., implements, type definition).
-       * 
- * - * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; - */ - public Builder addRelationships( - int index, scip.Scip.Relationship.Builder builderForValue) { - if (relationshipsBuilder_ == null) { - ensureRelationshipsIsMutable(); - relationships_.add(index, builderForValue.build()); - onChanged(); - } else { - relationshipsBuilder_.addMessage(index, builderForValue.build()); - } - return this; - } - /** - *
-       * (optional) Relationships to other symbols (e.g., implements, type definition).
-       * 
- * - * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; - */ - public Builder addAllRelationships( - java.lang.Iterable values) { - if (relationshipsBuilder_ == null) { - ensureRelationshipsIsMutable(); - com.google.protobuf.AbstractMessageLite.Builder.addAll( - values, relationships_); - onChanged(); - } else { - relationshipsBuilder_.addAllMessages(values); - } - return this; - } - /** - *
-       * (optional) Relationships to other symbols (e.g., implements, type definition).
-       * 
- * - * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; - */ - public Builder clearRelationships() { - if (relationshipsBuilder_ == null) { - relationships_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000004); - onChanged(); - } else { - relationshipsBuilder_.clear(); - } - return this; - } - /** - *
-       * (optional) Relationships to other symbols (e.g., implements, type definition).
-       * 
- * - * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; - */ - public Builder removeRelationships(int index) { - if (relationshipsBuilder_ == null) { - ensureRelationshipsIsMutable(); - relationships_.remove(index); - onChanged(); - } else { - relationshipsBuilder_.remove(index); - } - return this; - } - /** - *
-       * (optional) Relationships to other symbols (e.g., implements, type definition).
-       * 
- * - * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; - */ - public scip.Scip.Relationship.Builder getRelationshipsBuilder( - int index) { - return internalGetRelationshipsFieldBuilder().getBuilder(index); - } - /** - *
-       * (optional) Relationships to other symbols (e.g., implements, type definition).
-       * 
- * - * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; - */ - public scip.Scip.RelationshipOrBuilder getRelationshipsOrBuilder( - int index) { - if (relationshipsBuilder_ == null) { - return relationships_.get(index); } else { - return relationshipsBuilder_.getMessageOrBuilder(index); - } - } - /** - *
-       * (optional) Relationships to other symbols (e.g., implements, type definition).
-       * 
- * - * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; - */ - public java.util.List - getRelationshipsOrBuilderList() { - if (relationshipsBuilder_ != null) { - return relationshipsBuilder_.getMessageOrBuilderList(); - } else { - return java.util.Collections.unmodifiableList(relationships_); - } - } - /** - *
-       * (optional) Relationships to other symbols (e.g., implements, type definition).
-       * 
- * - * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; - */ - public scip.Scip.Relationship.Builder addRelationshipsBuilder() { - return internalGetRelationshipsFieldBuilder().addBuilder( - scip.Scip.Relationship.getDefaultInstance()); - } - /** - *
-       * (optional) Relationships to other symbols (e.g., implements, type definition).
-       * 
- * - * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; - */ - public scip.Scip.Relationship.Builder addRelationshipsBuilder( - int index) { - return internalGetRelationshipsFieldBuilder().addBuilder( - index, scip.Scip.Relationship.getDefaultInstance()); - } - /** - *
-       * (optional) Relationships to other symbols (e.g., implements, type definition).
-       * 
- * - * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; - */ - public java.util.List - getRelationshipsBuilderList() { - return internalGetRelationshipsFieldBuilder().getBuilderList(); - } - private com.google.protobuf.RepeatedFieldBuilder< - scip.Scip.Relationship, scip.Scip.Relationship.Builder, scip.Scip.RelationshipOrBuilder> - internalGetRelationshipsFieldBuilder() { - if (relationshipsBuilder_ == null) { - relationshipsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder< - scip.Scip.Relationship, scip.Scip.Relationship.Builder, scip.Scip.RelationshipOrBuilder>( - relationships_, - ((bitField0_ & 0x00000004) != 0), - getParentForChildren(), - isClean()); - relationships_ = null; - } - return relationshipsBuilder_; - } - - private int kind_ = 0; - /** - *
-       * The kind of this symbol. Use this field instead of
-       * `SymbolDescriptor.Suffix` to determine whether something is, for example, a
-       * class or a method.
-       * 
- * - * .scip.SymbolInformation.Kind kind = 5 [json_name = "kind"]; - * @return The enum numeric value on the wire for kind. - */ - @java.lang.Override public int getKindValue() { - return kind_; - } - /** - *
-       * The kind of this symbol. Use this field instead of
-       * `SymbolDescriptor.Suffix` to determine whether something is, for example, a
-       * class or a method.
-       * 
- * - * .scip.SymbolInformation.Kind kind = 5 [json_name = "kind"]; - * @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; - bitField0_ |= 0x00000008; - onChanged(); - return this; - } - /** - *
-       * The kind of this symbol. Use this field instead of
-       * `SymbolDescriptor.Suffix` to determine whether something is, for example, a
-       * class or a method.
-       * 
- * - * .scip.SymbolInformation.Kind kind = 5 [json_name = "kind"]; - * @return The kind. - */ - @java.lang.Override - public scip.Scip.SymbolInformation.Kind getKind() { - scip.Scip.SymbolInformation.Kind result = scip.Scip.SymbolInformation.Kind.forNumber(kind_); - return result == null ? scip.Scip.SymbolInformation.Kind.UNRECOGNIZED : result; - } - /** - *
-       * The kind of this symbol. Use this field instead of
-       * `SymbolDescriptor.Suffix` to determine whether something is, for example, a
-       * class or a method.
-       * 
- * - * .scip.SymbolInformation.Kind kind = 5 [json_name = "kind"]; - * @param value The kind to set. - * @return This builder for chaining. - */ - public Builder setKind(scip.Scip.SymbolInformation.Kind value) { - if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000008; - kind_ = value.getNumber(); - onChanged(); - return this; - } - /** - *
-       * The kind of this symbol. Use this field instead of
-       * `SymbolDescriptor.Suffix` to determine whether something is, for example, a
-       * class or a method.
-       * 
- * - * .scip.SymbolInformation.Kind kind = 5 [json_name = "kind"]; - * @return This builder for chaining. - */ - public Builder clearKind() { - bitField0_ = (bitField0_ & ~0x00000008); - kind_ = 0; - onChanged(); - return this; - } - - private java.lang.Object displayName_ = ""; - /** - *
-       * (optional) The name of this symbol as it should be displayed to the user.
-       * For example, the symbol "com/example/MyClass#myMethod(+1)." should have the
-       * display name "myMethod". The `symbol` field is not a reliable source of
-       * the display name for several reasons:
-       *
-       * - Local symbols don't encode the name.
-       * - Some languages have case-insensitive names, so the symbol is all-lowercase.
-       * - The symbol may encode names with special characters that should not be
-       * displayed to the user.
-       * 
- * - * string display_name = 6 [json_name = "displayName"]; - * @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; - } - } - /** - *
-       * (optional) The name of this symbol as it should be displayed to the user.
-       * For example, the symbol "com/example/MyClass#myMethod(+1)." should have the
-       * display name "myMethod". The `symbol` field is not a reliable source of
-       * the display name for several reasons:
-       *
-       * - Local symbols don't encode the name.
-       * - Some languages have case-insensitive names, so the symbol is all-lowercase.
-       * - The symbol may encode names with special characters that should not be
-       * displayed to the user.
-       * 
- * - * string display_name = 6 [json_name = "displayName"]; - * @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; - } - } - /** - *
-       * (optional) The name of this symbol as it should be displayed to the user.
-       * For example, the symbol "com/example/MyClass#myMethod(+1)." should have the
-       * display name "myMethod". The `symbol` field is not a reliable source of
-       * the display name for several reasons:
-       *
-       * - Local symbols don't encode the name.
-       * - Some languages have case-insensitive names, so the symbol is all-lowercase.
-       * - The symbol may encode names with special characters that should not be
-       * displayed to the user.
-       * 
- * - * string display_name = 6 [json_name = "displayName"]; - * @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; - bitField0_ |= 0x00000010; - onChanged(); - return this; - } - /** - *
-       * (optional) The name of this symbol as it should be displayed to the user.
-       * For example, the symbol "com/example/MyClass#myMethod(+1)." should have the
-       * display name "myMethod". The `symbol` field is not a reliable source of
-       * the display name for several reasons:
-       *
-       * - Local symbols don't encode the name.
-       * - Some languages have case-insensitive names, so the symbol is all-lowercase.
-       * - The symbol may encode names with special characters that should not be
-       * displayed to the user.
-       * 
- * - * string display_name = 6 [json_name = "displayName"]; - * @return This builder for chaining. - */ - public Builder clearDisplayName() { - displayName_ = getDefaultInstance().getDisplayName(); - bitField0_ = (bitField0_ & ~0x00000010); - onChanged(); - return this; - } - /** - *
-       * (optional) The name of this symbol as it should be displayed to the user.
-       * For example, the symbol "com/example/MyClass#myMethod(+1)." should have the
-       * display name "myMethod". The `symbol` field is not a reliable source of
-       * the display name for several reasons:
-       *
-       * - Local symbols don't encode the name.
-       * - Some languages have case-insensitive names, so the symbol is all-lowercase.
-       * - The symbol may encode names with special characters that should not be
-       * displayed to the user.
-       * 
- * - * string display_name = 6 [json_name = "displayName"]; - * @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; - bitField0_ |= 0x00000010; - onChanged(); - return this; - } - - private scip.Scip.Signature signatureDocumentation_; - private com.google.protobuf.SingleFieldBuilder< - scip.Scip.Signature, scip.Scip.Signature.Builder, scip.Scip.SignatureOrBuilder> signatureDocumentationBuilder_; - /** - *
-       * (optional) The signature of this symbol as it's displayed in API
-       * documentation or in hover tooltips. For example, a Java method that adds
-       * two numbers would have `Signature.language = "java"` and
-       * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
-       * fields are required while `occurrences` can be optionally included to
-       * support hyperlinking referenced symbols in the signature.
-       * 
- * - * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; - * @return Whether the signatureDocumentation field is set. - */ - public boolean hasSignatureDocumentation() { - return ((bitField0_ & 0x00000020) != 0); - } - /** - *
-       * (optional) The signature of this symbol as it's displayed in API
-       * documentation or in hover tooltips. For example, a Java method that adds
-       * two numbers would have `Signature.language = "java"` and
-       * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
-       * fields are required while `occurrences` can be optionally included to
-       * support hyperlinking referenced symbols in the signature.
-       * 
- * - * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; - * @return The signatureDocumentation. - */ - public scip.Scip.Signature getSignatureDocumentation() { - if (signatureDocumentationBuilder_ == null) { - return signatureDocumentation_ == null ? scip.Scip.Signature.getDefaultInstance() : signatureDocumentation_; - } else { - return signatureDocumentationBuilder_.getMessage(); - } - } - /** - *
-       * (optional) The signature of this symbol as it's displayed in API
-       * documentation or in hover tooltips. For example, a Java method that adds
-       * two numbers would have `Signature.language = "java"` and
-       * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
-       * fields are required while `occurrences` can be optionally included to
-       * support hyperlinking referenced symbols in the signature.
-       * 
- * - * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; - */ - public Builder setSignatureDocumentation(scip.Scip.Signature value) { - if (signatureDocumentationBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - signatureDocumentation_ = value; - } else { - signatureDocumentationBuilder_.setMessage(value); - } - bitField0_ |= 0x00000020; - onChanged(); - return this; - } - /** - *
-       * (optional) The signature of this symbol as it's displayed in API
-       * documentation or in hover tooltips. For example, a Java method that adds
-       * two numbers would have `Signature.language = "java"` and
-       * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
-       * fields are required while `occurrences` can be optionally included to
-       * support hyperlinking referenced symbols in the signature.
-       * 
- * - * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; - */ - public Builder setSignatureDocumentation( - scip.Scip.Signature.Builder builderForValue) { - if (signatureDocumentationBuilder_ == null) { - signatureDocumentation_ = builderForValue.build(); - } else { - signatureDocumentationBuilder_.setMessage(builderForValue.build()); - } - bitField0_ |= 0x00000020; - onChanged(); - return this; - } - /** - *
-       * (optional) The signature of this symbol as it's displayed in API
-       * documentation or in hover tooltips. For example, a Java method that adds
-       * two numbers would have `Signature.language = "java"` and
-       * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
-       * fields are required while `occurrences` can be optionally included to
-       * support hyperlinking referenced symbols in the signature.
-       * 
- * - * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; - */ - public Builder mergeSignatureDocumentation(scip.Scip.Signature value) { - if (signatureDocumentationBuilder_ == null) { - if (((bitField0_ & 0x00000020) != 0) && - signatureDocumentation_ != null && - signatureDocumentation_ != scip.Scip.Signature.getDefaultInstance()) { - getSignatureDocumentationBuilder().mergeFrom(value); - } else { - signatureDocumentation_ = value; - } - } else { - signatureDocumentationBuilder_.mergeFrom(value); - } - if (signatureDocumentation_ != null) { - bitField0_ |= 0x00000020; - onChanged(); - } - return this; - } - /** - *
-       * (optional) The signature of this symbol as it's displayed in API
-       * documentation or in hover tooltips. For example, a Java method that adds
-       * two numbers would have `Signature.language = "java"` and
-       * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
-       * fields are required while `occurrences` can be optionally included to
-       * support hyperlinking referenced symbols in the signature.
-       * 
- * - * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; - */ - public Builder clearSignatureDocumentation() { - bitField0_ = (bitField0_ & ~0x00000020); - signatureDocumentation_ = null; - if (signatureDocumentationBuilder_ != null) { - signatureDocumentationBuilder_.dispose(); - signatureDocumentationBuilder_ = null; - } - onChanged(); - return this; - } - /** - *
-       * (optional) The signature of this symbol as it's displayed in API
-       * documentation or in hover tooltips. For example, a Java method that adds
-       * two numbers would have `Signature.language = "java"` and
-       * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
-       * fields are required while `occurrences` can be optionally included to
-       * support hyperlinking referenced symbols in the signature.
-       * 
- * - * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; - */ - public scip.Scip.Signature.Builder getSignatureDocumentationBuilder() { - bitField0_ |= 0x00000020; - onChanged(); - return internalGetSignatureDocumentationFieldBuilder().getBuilder(); - } - /** - *
-       * (optional) The signature of this symbol as it's displayed in API
-       * documentation or in hover tooltips. For example, a Java method that adds
-       * two numbers would have `Signature.language = "java"` and
-       * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
-       * fields are required while `occurrences` can be optionally included to
-       * support hyperlinking referenced symbols in the signature.
-       * 
- * - * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; - */ - public scip.Scip.SignatureOrBuilder getSignatureDocumentationOrBuilder() { - if (signatureDocumentationBuilder_ != null) { - return signatureDocumentationBuilder_.getMessageOrBuilder(); - } else { - return signatureDocumentation_ == null ? - scip.Scip.Signature.getDefaultInstance() : signatureDocumentation_; - } - } - /** - *
-       * (optional) The signature of this symbol as it's displayed in API
-       * documentation or in hover tooltips. For example, a Java method that adds
-       * two numbers would have `Signature.language = "java"` and
-       * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
-       * fields are required while `occurrences` can be optionally included to
-       * support hyperlinking referenced symbols in the signature.
-       * 
- * - * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; - */ - private com.google.protobuf.SingleFieldBuilder< - scip.Scip.Signature, scip.Scip.Signature.Builder, scip.Scip.SignatureOrBuilder> - internalGetSignatureDocumentationFieldBuilder() { - if (signatureDocumentationBuilder_ == null) { - signatureDocumentationBuilder_ = new com.google.protobuf.SingleFieldBuilder< - scip.Scip.Signature, scip.Scip.Signature.Builder, scip.Scip.SignatureOrBuilder>( - getSignatureDocumentation(), - getParentForChildren(), - isClean()); - signatureDocumentation_ = null; - } - return signatureDocumentationBuilder_; - } - - private java.lang.Object enclosingSymbol_ = ""; - /** - *
-       * (optional) The enclosing symbol if this is a local symbol.  For non-local
-       * symbols, the enclosing symbol should be parsed from the `symbol` field
-       * using the `Descriptor` grammar.
-       *
-       * The primary use-case for this field is to allow local symbol to be displayed
-       * in a symbol hierarchy for API documentation. It's OK to leave this field
-       * empty for local variables since local variables usually don't belong in API
-       * documentation. However, in the situation that you wish to include a local
-       * symbol in the hierarchy, then you can use `enclosing_symbol` to locate the
-       * "parent" or "owner" of this local symbol. For example, a Java indexer may
-       * choose to use local symbols for private class fields while providing an
-       * `enclosing_symbol` to reference the enclosing class to allow the field to
-       * be part of the class documentation hierarchy. From the perspective of an
-       * author of an indexer, the decision to use a local symbol or global symbol
-       * should exclusively be determined whether the local symbol is accessible
-       * outside the document, not by the capability to find the enclosing
-       * symbol.
-       * 
- * - * string enclosing_symbol = 8 [json_name = "enclosingSymbol"]; - * @return The enclosingSymbol. - */ - public java.lang.String getEnclosingSymbol() { - java.lang.Object ref = enclosingSymbol_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - enclosingSymbol_ = s; - return s; - } else { - return (java.lang.String) ref; - } - } - /** - *
-       * (optional) The enclosing symbol if this is a local symbol.  For non-local
-       * symbols, the enclosing symbol should be parsed from the `symbol` field
-       * using the `Descriptor` grammar.
-       *
-       * The primary use-case for this field is to allow local symbol to be displayed
-       * in a symbol hierarchy for API documentation. It's OK to leave this field
-       * empty for local variables since local variables usually don't belong in API
-       * documentation. However, in the situation that you wish to include a local
-       * symbol in the hierarchy, then you can use `enclosing_symbol` to locate the
-       * "parent" or "owner" of this local symbol. For example, a Java indexer may
-       * choose to use local symbols for private class fields while providing an
-       * `enclosing_symbol` to reference the enclosing class to allow the field to
-       * be part of the class documentation hierarchy. From the perspective of an
-       * author of an indexer, the decision to use a local symbol or global symbol
-       * should exclusively be determined whether the local symbol is accessible
-       * outside the document, not by the capability to find the enclosing
-       * symbol.
-       * 
- * - * string enclosing_symbol = 8 [json_name = "enclosingSymbol"]; - * @return The bytes for enclosingSymbol. - */ - public com.google.protobuf.ByteString - getEnclosingSymbolBytes() { - java.lang.Object ref = enclosingSymbol_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - enclosingSymbol_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - /** - *
-       * (optional) The enclosing symbol if this is a local symbol.  For non-local
-       * symbols, the enclosing symbol should be parsed from the `symbol` field
-       * using the `Descriptor` grammar.
-       *
-       * The primary use-case for this field is to allow local symbol to be displayed
-       * in a symbol hierarchy for API documentation. It's OK to leave this field
-       * empty for local variables since local variables usually don't belong in API
-       * documentation. However, in the situation that you wish to include a local
-       * symbol in the hierarchy, then you can use `enclosing_symbol` to locate the
-       * "parent" or "owner" of this local symbol. For example, a Java indexer may
-       * choose to use local symbols for private class fields while providing an
-       * `enclosing_symbol` to reference the enclosing class to allow the field to
-       * be part of the class documentation hierarchy. From the perspective of an
-       * author of an indexer, the decision to use a local symbol or global symbol
-       * should exclusively be determined whether the local symbol is accessible
-       * outside the document, not by the capability to find the enclosing
-       * symbol.
-       * 
- * - * string enclosing_symbol = 8 [json_name = "enclosingSymbol"]; - * @param value The enclosingSymbol to set. - * @return This builder for chaining. - */ - public Builder setEnclosingSymbol( - java.lang.String value) { - if (value == null) { throw new NullPointerException(); } - enclosingSymbol_ = value; - bitField0_ |= 0x00000040; - onChanged(); - return this; - } - /** - *
-       * (optional) The enclosing symbol if this is a local symbol.  For non-local
-       * symbols, the enclosing symbol should be parsed from the `symbol` field
-       * using the `Descriptor` grammar.
-       *
-       * The primary use-case for this field is to allow local symbol to be displayed
-       * in a symbol hierarchy for API documentation. It's OK to leave this field
-       * empty for local variables since local variables usually don't belong in API
-       * documentation. However, in the situation that you wish to include a local
-       * symbol in the hierarchy, then you can use `enclosing_symbol` to locate the
-       * "parent" or "owner" of this local symbol. For example, a Java indexer may
-       * choose to use local symbols for private class fields while providing an
-       * `enclosing_symbol` to reference the enclosing class to allow the field to
-       * be part of the class documentation hierarchy. From the perspective of an
-       * author of an indexer, the decision to use a local symbol or global symbol
-       * should exclusively be determined whether the local symbol is accessible
-       * outside the document, not by the capability to find the enclosing
-       * symbol.
-       * 
- * - * string enclosing_symbol = 8 [json_name = "enclosingSymbol"]; - * @return This builder for chaining. - */ - public Builder clearEnclosingSymbol() { - enclosingSymbol_ = getDefaultInstance().getEnclosingSymbol(); - bitField0_ = (bitField0_ & ~0x00000040); - onChanged(); - return this; - } - /** - *
-       * (optional) The enclosing symbol if this is a local symbol.  For non-local
-       * symbols, the enclosing symbol should be parsed from the `symbol` field
-       * using the `Descriptor` grammar.
-       *
-       * The primary use-case for this field is to allow local symbol to be displayed
-       * in a symbol hierarchy for API documentation. It's OK to leave this field
-       * empty for local variables since local variables usually don't belong in API
-       * documentation. However, in the situation that you wish to include a local
-       * symbol in the hierarchy, then you can use `enclosing_symbol` to locate the
-       * "parent" or "owner" of this local symbol. For example, a Java indexer may
-       * choose to use local symbols for private class fields while providing an
-       * `enclosing_symbol` to reference the enclosing class to allow the field to
-       * be part of the class documentation hierarchy. From the perspective of an
-       * author of an indexer, the decision to use a local symbol or global symbol
-       * should exclusively be determined whether the local symbol is accessible
-       * outside the document, not by the capability to find the enclosing
-       * symbol.
-       * 
- * - * string enclosing_symbol = 8 [json_name = "enclosingSymbol"]; - * @param value The bytes for enclosingSymbol to set. - * @return This builder for chaining. - */ - public Builder setEnclosingSymbolBytes( - com.google.protobuf.ByteString value) { - if (value == null) { throw new NullPointerException(); } - checkByteStringIsUtf8(value); - enclosingSymbol_ = value; - bitField0_ |= 0x00000040; - onChanged(); - return this; - } - - // @@protoc_insertion_point(builder_scope:scip.SymbolInformation) - } - - // @@protoc_insertion_point(class_scope:scip.SymbolInformation) - private static final scip.Scip.SymbolInformation DEFAULT_INSTANCE; - static { - DEFAULT_INSTANCE = new scip.Scip.SymbolInformation(); - } - - public static scip.Scip.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 { - Builder builder = newBuilder(); - try { - builder.mergeFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.setUnfinishedMessage(builder.buildPartial()); - } catch (com.google.protobuf.UninitializedMessageException e) { - throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); - } catch (java.io.IOException e) { - throw new com.google.protobuf.InvalidProtocolBufferException(e) - .setUnfinishedMessage(builder.buildPartial()); - } - return builder.buildPartial(); - } - }; - - public static com.google.protobuf.Parser parser() { - return PARSER; - } - - @java.lang.Override - public com.google.protobuf.Parser getParserForType() { - return PARSER; - } - - @java.lang.Override - public scip.Scip.SymbolInformation getDefaultInstanceForType() { - return DEFAULT_INSTANCE; - } - - } - - public interface RelationshipOrBuilder extends - // @@protoc_insertion_point(interface_extends:scip.Relationship) - com.google.protobuf.MessageOrBuilder { - - /** - * string symbol = 1 [json_name = "symbol"]; - * @return The symbol. - */ - java.lang.String getSymbol(); - /** - * string symbol = 1 [json_name = "symbol"]; - * @return The bytes for symbol. - */ - com.google.protobuf.ByteString - getSymbolBytes(); - - /** - *
-     * When resolving "Find references", this field documents what other symbols
-     * should be included together with this symbol. For example, consider the
-     * following TypeScript code that defines two symbols `Animal#sound()` and
-     * `Dog#sound()`:
-     * ```ts
-     * interface Animal {
-     * ^^^^^^ definition Animal#
-     * sound(): string
-     * ^^^^^ definition Animal#sound()
-     * }
-     * class Dog implements Animal {
-     * ^^^ definition Dog#, relationships = [{symbol: "Animal#", is_implementation: true}]
-     * public sound(): string { return "woof" }
-     * ^^^^^ definition Dog#sound(), references_symbols = Animal#sound(), relationships = [{symbol: "Animal#sound()", is_implementation:true, is_reference: true}]
-     * }
-     * const animal: Animal = new Dog()
-     * ^^^^^^ reference Animal#
-     * console.log(animal.sound())
-     * ^^^^^ reference Animal#sound()
-     * ```
-     * Doing "Find references" on the symbol `Animal#sound()` should return
-     * references to the `Dog#sound()` method as well. Vice-versa, doing "Find
-     * references" on the `Dog#sound()` method should include references to the
-     * `Animal#sound()` method as well.
-     * 
- * - * bool is_reference = 2 [json_name = "isReference"]; - * @return The isReference. - */ - boolean getIsReference(); - - /** - *
-     * Similar to `is_reference` but for "Find implementations".
-     * It's common for `is_implementation` and `is_reference` to both be true but
-     * it's not always the case.
-     * In the TypeScript example above, observe that `Dog#` has an
-     * `is_implementation` relationship with `"Animal#"` but not `is_reference`.
-     * This is because "Find references" on the "Animal#" symbol should not return
-     * "Dog#". We only want "Dog#" to return as a result for "Find
-     * implementations" on the "Animal#" symbol.
-     * 
- * - * bool is_implementation = 3 [json_name = "isImplementation"]; - * @return The isImplementation. - */ - boolean getIsImplementation(); - - /** - *
-     * Similar to `references_symbols` but for "Go to type definition".
-     * 
- * - * bool is_type_definition = 4 [json_name = "isTypeDefinition"]; - * @return The isTypeDefinition. - */ - boolean getIsTypeDefinition(); - - /** - *
-     * Allows overriding the behavior of "Go to definition" and "Find references"
-     * for symbols which do not have a definition of their own or could
-     * potentially have multiple definitions.
-     *
-     * For example, in a language with single inheritance and no field overriding,
-     * inherited fields can reuse the same symbol as the ancestor which declares
-     * the field. In such a situation, is_definition is not needed.
-     *
-     * On the other hand, in languages with single inheritance and some form
-     * of mixins, you can use is_definition to relate the symbol to the
-     * matching symbol in ancestor classes, and is_reference to relate the
-     * symbol to the matching symbol in mixins.
-     * 
- * - * bool is_definition = 5 [json_name = "isDefinition"]; - * @return The isDefinition. - */ - boolean getIsDefinition(); - } - /** - * Protobuf type {@code scip.Relationship} - */ - public static final class Relationship extends - com.google.protobuf.GeneratedMessage implements - // @@protoc_insertion_point(message_implements:scip.Relationship) - RelationshipOrBuilder { - private static final long serialVersionUID = 0L; - static { - com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( - com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, - /* major= */ 4, - /* minor= */ 32, - /* patch= */ 1, - /* suffix= */ "", - Relationship.class.getName()); - } - // Use Relationship.newBuilder() to construct. - private Relationship(com.google.protobuf.GeneratedMessage.Builder builder) { - super(builder); - } - private Relationship() { - symbol_ = ""; - } - - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return scip.Scip.internal_static_scip_Relationship_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessage.FieldAccessorTable - internalGetFieldAccessorTable() { - return scip.Scip.internal_static_scip_Relationship_fieldAccessorTable - .ensureFieldAccessorsInitialized( - scip.Scip.Relationship.class, scip.Scip.Relationship.Builder.class); - } - - public static final int SYMBOL_FIELD_NUMBER = 1; - @SuppressWarnings("serial") - private volatile java.lang.Object symbol_ = ""; - /** - * string symbol = 1 [json_name = "symbol"]; - * @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 [json_name = "symbol"]; - * @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 IS_REFERENCE_FIELD_NUMBER = 2; - private boolean isReference_ = false; - /** - *
-     * When resolving "Find references", this field documents what other symbols
-     * should be included together with this symbol. For example, consider the
-     * following TypeScript code that defines two symbols `Animal#sound()` and
-     * `Dog#sound()`:
-     * ```ts
-     * interface Animal {
-     * ^^^^^^ definition Animal#
-     * sound(): string
-     * ^^^^^ definition Animal#sound()
-     * }
-     * class Dog implements Animal {
-     * ^^^ definition Dog#, relationships = [{symbol: "Animal#", is_implementation: true}]
-     * public sound(): string { return "woof" }
-     * ^^^^^ definition Dog#sound(), references_symbols = Animal#sound(), relationships = [{symbol: "Animal#sound()", is_implementation:true, is_reference: true}]
-     * }
-     * const animal: Animal = new Dog()
-     * ^^^^^^ reference Animal#
-     * console.log(animal.sound())
-     * ^^^^^ reference Animal#sound()
-     * ```
-     * Doing "Find references" on the symbol `Animal#sound()` should return
-     * references to the `Dog#sound()` method as well. Vice-versa, doing "Find
-     * references" on the `Dog#sound()` method should include references to the
-     * `Animal#sound()` method as well.
-     * 
- * - * bool is_reference = 2 [json_name = "isReference"]; - * @return The isReference. - */ - @java.lang.Override - public boolean getIsReference() { - return isReference_; - } - - public static final int IS_IMPLEMENTATION_FIELD_NUMBER = 3; - private boolean isImplementation_ = false; - /** - *
-     * Similar to `is_reference` but for "Find implementations".
-     * It's common for `is_implementation` and `is_reference` to both be true but
-     * it's not always the case.
-     * In the TypeScript example above, observe that `Dog#` has an
-     * `is_implementation` relationship with `"Animal#"` but not `is_reference`.
-     * This is because "Find references" on the "Animal#" symbol should not return
-     * "Dog#". We only want "Dog#" to return as a result for "Find
-     * implementations" on the "Animal#" symbol.
-     * 
- * - * bool is_implementation = 3 [json_name = "isImplementation"]; - * @return The isImplementation. - */ - @java.lang.Override - public boolean getIsImplementation() { - return isImplementation_; - } - - public static final int IS_TYPE_DEFINITION_FIELD_NUMBER = 4; - private boolean isTypeDefinition_ = false; - /** - *
-     * Similar to `references_symbols` but for "Go to type definition".
-     * 
- * - * bool is_type_definition = 4 [json_name = "isTypeDefinition"]; - * @return The isTypeDefinition. - */ - @java.lang.Override - public boolean getIsTypeDefinition() { - return isTypeDefinition_; - } - - public static final int IS_DEFINITION_FIELD_NUMBER = 5; - private boolean isDefinition_ = false; - /** - *
-     * Allows overriding the behavior of "Go to definition" and "Find references"
-     * for symbols which do not have a definition of their own or could
-     * potentially have multiple definitions.
-     *
-     * For example, in a language with single inheritance and no field overriding,
-     * inherited fields can reuse the same symbol as the ancestor which declares
-     * the field. In such a situation, is_definition is not needed.
-     *
-     * On the other hand, in languages with single inheritance and some form
-     * of mixins, you can use is_definition to relate the symbol to the
-     * matching symbol in ancestor classes, and is_reference to relate the
-     * symbol to the matching symbol in mixins.
-     * 
- * - * bool is_definition = 5 [json_name = "isDefinition"]; - * @return The isDefinition. - */ - @java.lang.Override - public boolean getIsDefinition() { - return isDefinition_; - } - - 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 (!com.google.protobuf.GeneratedMessage.isStringEmpty(symbol_)) { - com.google.protobuf.GeneratedMessage.writeString(output, 1, symbol_); - } - if (isReference_ != false) { - output.writeBool(2, isReference_); - } - if (isImplementation_ != false) { - output.writeBool(3, isImplementation_); - } - if (isTypeDefinition_ != false) { - output.writeBool(4, isTypeDefinition_); - } - if (isDefinition_ != false) { - output.writeBool(5, isDefinition_); - } - getUnknownFields().writeTo(output); - } - - @java.lang.Override - public int getSerializedSize() { - int size = memoizedSize; - if (size != -1) return size; - - size = 0; - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(symbol_)) { - size += com.google.protobuf.GeneratedMessage.computeStringSize(1, symbol_); - } - if (isReference_ != false) { - size += com.google.protobuf.CodedOutputStream - .computeBoolSize(2, isReference_); - } - if (isImplementation_ != false) { - size += com.google.protobuf.CodedOutputStream - .computeBoolSize(3, isImplementation_); - } - if (isTypeDefinition_ != false) { - size += com.google.protobuf.CodedOutputStream - .computeBoolSize(4, isTypeDefinition_); - } - if (isDefinition_ != false) { - size += com.google.protobuf.CodedOutputStream - .computeBoolSize(5, isDefinition_); - } - size += getUnknownFields().getSerializedSize(); - memoizedSize = size; - return size; - } - - @java.lang.Override - public boolean equals(final java.lang.Object obj) { - if (obj == this) { - return true; - } - if (!(obj instanceof scip.Scip.Relationship)) { - return super.equals(obj); - } - scip.Scip.Relationship other = (scip.Scip.Relationship) obj; - - if (!getSymbol() - .equals(other.getSymbol())) return false; - if (getIsReference() - != other.getIsReference()) return false; - if (getIsImplementation() - != other.getIsImplementation()) return false; - if (getIsTypeDefinition() - != other.getIsTypeDefinition()) return false; - if (getIsDefinition() - != other.getIsDefinition()) return false; - if (!getUnknownFields().equals(other.getUnknownFields())) 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) + IS_REFERENCE_FIELD_NUMBER; - hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( - getIsReference()); - hash = (37 * hash) + IS_IMPLEMENTATION_FIELD_NUMBER; - hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( - getIsImplementation()); - hash = (37 * hash) + IS_TYPE_DEFINITION_FIELD_NUMBER; - hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( - getIsTypeDefinition()); - hash = (37 * hash) + IS_DEFINITION_FIELD_NUMBER; - hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( - getIsDefinition()); - hash = (29 * hash) + getUnknownFields().hashCode(); - memoizedHashCode = hash; - return hash; - } - - public static scip.Scip.Relationship parseFrom( - java.nio.ByteBuffer data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static scip.Scip.Relationship parseFrom( - java.nio.ByteBuffer data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static scip.Scip.Relationship parseFrom( - com.google.protobuf.ByteString data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static scip.Scip.Relationship parseFrom( - com.google.protobuf.ByteString data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static scip.Scip.Relationship parseFrom(byte[] data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static scip.Scip.Relationship parseFrom( - byte[] data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static scip.Scip.Relationship parseFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input); - } - public static scip.Scip.Relationship parseFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input, extensionRegistry); - } - - public static scip.Scip.Relationship parseDelimitedFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseDelimitedWithIOException(PARSER, input); - } - - public static scip.Scip.Relationship parseDelimitedFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseDelimitedWithIOException(PARSER, input, extensionRegistry); - } - public static scip.Scip.Relationship parseFrom( - com.google.protobuf.CodedInputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input); - } - public static scip.Scip.Relationship parseFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input, extensionRegistry); - } - - @java.lang.Override - public Builder newBuilderForType() { return newBuilder(); } - public static Builder newBuilder() { - return DEFAULT_INSTANCE.toBuilder(); - } - public static Builder newBuilder(scip.Scip.Relationship 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.GeneratedMessage.BuilderParent parent) { - Builder builder = new Builder(parent); - return builder; - } - /** - * Protobuf type {@code scip.Relationship} - */ - public static final class Builder extends - com.google.protobuf.GeneratedMessage.Builder implements - // @@protoc_insertion_point(builder_implements:scip.Relationship) - scip.Scip.RelationshipOrBuilder { - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return scip.Scip.internal_static_scip_Relationship_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessage.FieldAccessorTable - internalGetFieldAccessorTable() { - return scip.Scip.internal_static_scip_Relationship_fieldAccessorTable - .ensureFieldAccessorsInitialized( - scip.Scip.Relationship.class, scip.Scip.Relationship.Builder.class); - } - - // Construct using scip.Scip.Relationship.newBuilder() - private Builder() { - - } - - private Builder( - com.google.protobuf.GeneratedMessage.BuilderParent parent) { - super(parent); - - } - @java.lang.Override - public Builder clear() { - super.clear(); - bitField0_ = 0; - symbol_ = ""; - isReference_ = false; - isImplementation_ = false; - isTypeDefinition_ = false; - isDefinition_ = false; - return this; - } - - @java.lang.Override - public com.google.protobuf.Descriptors.Descriptor - getDescriptorForType() { - return scip.Scip.internal_static_scip_Relationship_descriptor; - } - - @java.lang.Override - public scip.Scip.Relationship getDefaultInstanceForType() { - return scip.Scip.Relationship.getDefaultInstance(); - } - - @java.lang.Override - public scip.Scip.Relationship build() { - scip.Scip.Relationship result = buildPartial(); - if (!result.isInitialized()) { - throw newUninitializedMessageException(result); - } - return result; - } - - @java.lang.Override - public scip.Scip.Relationship buildPartial() { - scip.Scip.Relationship result = new scip.Scip.Relationship(this); - if (bitField0_ != 0) { buildPartial0(result); } - onBuilt(); - return result; - } - - private void buildPartial0(scip.Scip.Relationship result) { - int from_bitField0_ = bitField0_; - if (((from_bitField0_ & 0x00000001) != 0)) { - result.symbol_ = symbol_; - } - if (((from_bitField0_ & 0x00000002) != 0)) { - result.isReference_ = isReference_; - } - if (((from_bitField0_ & 0x00000004) != 0)) { - result.isImplementation_ = isImplementation_; - } - if (((from_bitField0_ & 0x00000008) != 0)) { - result.isTypeDefinition_ = isTypeDefinition_; - } - if (((from_bitField0_ & 0x00000010) != 0)) { - result.isDefinition_ = isDefinition_; - } - } - - @java.lang.Override - public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof scip.Scip.Relationship) { - return mergeFrom((scip.Scip.Relationship)other); - } else { - super.mergeFrom(other); - return this; - } - } - - public Builder mergeFrom(scip.Scip.Relationship other) { - if (other == scip.Scip.Relationship.getDefaultInstance()) return this; - if (!other.getSymbol().isEmpty()) { - symbol_ = other.symbol_; - bitField0_ |= 0x00000001; - onChanged(); - } - if (other.getIsReference() != false) { - setIsReference(other.getIsReference()); - } - if (other.getIsImplementation() != false) { - setIsImplementation(other.getIsImplementation()); - } - if (other.getIsTypeDefinition() != false) { - setIsTypeDefinition(other.getIsTypeDefinition()); - } - if (other.getIsDefinition() != false) { - setIsDefinition(other.getIsDefinition()); - } - this.mergeUnknownFields(other.getUnknownFields()); - 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 { - if (extensionRegistry == null) { - throw new java.lang.NullPointerException(); - } - try { - boolean done = false; - while (!done) { - int tag = input.readTag(); - switch (tag) { - case 0: - done = true; - break; - case 10: { - symbol_ = input.readStringRequireUtf8(); - bitField0_ |= 0x00000001; - break; - } // case 10 - case 16: { - isReference_ = input.readBool(); - bitField0_ |= 0x00000002; - break; - } // case 16 - case 24: { - isImplementation_ = input.readBool(); - bitField0_ |= 0x00000004; - break; - } // case 24 - case 32: { - isTypeDefinition_ = input.readBool(); - bitField0_ |= 0x00000008; - break; - } // case 32 - case 40: { - isDefinition_ = input.readBool(); - bitField0_ |= 0x00000010; - break; - } // case 40 - default: { - if (!super.parseUnknownField(input, extensionRegistry, tag)) { - done = true; // was an endgroup tag - } - break; - } // default: - } // switch (tag) - } // while (!done) - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.unwrapIOException(); - } finally { - onChanged(); - } // finally - return this; - } - private int bitField0_; - - private java.lang.Object symbol_ = ""; - /** - * string symbol = 1 [json_name = "symbol"]; - * @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 [json_name = "symbol"]; - * @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 [json_name = "symbol"]; - * @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; - bitField0_ |= 0x00000001; - onChanged(); - return this; - } - /** - * string symbol = 1 [json_name = "symbol"]; - * @return This builder for chaining. - */ - public Builder clearSymbol() { - symbol_ = getDefaultInstance().getSymbol(); - bitField0_ = (bitField0_ & ~0x00000001); - onChanged(); - return this; - } - /** - * string symbol = 1 [json_name = "symbol"]; - * @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; - bitField0_ |= 0x00000001; - onChanged(); - return this; - } - - private boolean isReference_ ; - /** - *
-       * When resolving "Find references", this field documents what other symbols
-       * should be included together with this symbol. For example, consider the
-       * following TypeScript code that defines two symbols `Animal#sound()` and
-       * `Dog#sound()`:
-       * ```ts
-       * interface Animal {
-       * ^^^^^^ definition Animal#
-       * sound(): string
-       * ^^^^^ definition Animal#sound()
-       * }
-       * class Dog implements Animal {
-       * ^^^ definition Dog#, relationships = [{symbol: "Animal#", is_implementation: true}]
-       * public sound(): string { return "woof" }
-       * ^^^^^ definition Dog#sound(), references_symbols = Animal#sound(), relationships = [{symbol: "Animal#sound()", is_implementation:true, is_reference: true}]
-       * }
-       * const animal: Animal = new Dog()
-       * ^^^^^^ reference Animal#
-       * console.log(animal.sound())
-       * ^^^^^ reference Animal#sound()
-       * ```
-       * Doing "Find references" on the symbol `Animal#sound()` should return
-       * references to the `Dog#sound()` method as well. Vice-versa, doing "Find
-       * references" on the `Dog#sound()` method should include references to the
-       * `Animal#sound()` method as well.
-       * 
- * - * bool is_reference = 2 [json_name = "isReference"]; - * @return The isReference. - */ - @java.lang.Override - public boolean getIsReference() { - return isReference_; - } - /** - *
-       * When resolving "Find references", this field documents what other symbols
-       * should be included together with this symbol. For example, consider the
-       * following TypeScript code that defines two symbols `Animal#sound()` and
-       * `Dog#sound()`:
-       * ```ts
-       * interface Animal {
-       * ^^^^^^ definition Animal#
-       * sound(): string
-       * ^^^^^ definition Animal#sound()
-       * }
-       * class Dog implements Animal {
-       * ^^^ definition Dog#, relationships = [{symbol: "Animal#", is_implementation: true}]
-       * public sound(): string { return "woof" }
-       * ^^^^^ definition Dog#sound(), references_symbols = Animal#sound(), relationships = [{symbol: "Animal#sound()", is_implementation:true, is_reference: true}]
-       * }
-       * const animal: Animal = new Dog()
-       * ^^^^^^ reference Animal#
-       * console.log(animal.sound())
-       * ^^^^^ reference Animal#sound()
-       * ```
-       * Doing "Find references" on the symbol `Animal#sound()` should return
-       * references to the `Dog#sound()` method as well. Vice-versa, doing "Find
-       * references" on the `Dog#sound()` method should include references to the
-       * `Animal#sound()` method as well.
-       * 
- * - * bool is_reference = 2 [json_name = "isReference"]; - * @param value The isReference to set. - * @return This builder for chaining. - */ - public Builder setIsReference(boolean value) { - - isReference_ = value; - bitField0_ |= 0x00000002; - onChanged(); - return this; - } - /** - *
-       * When resolving "Find references", this field documents what other symbols
-       * should be included together with this symbol. For example, consider the
-       * following TypeScript code that defines two symbols `Animal#sound()` and
-       * `Dog#sound()`:
-       * ```ts
-       * interface Animal {
-       * ^^^^^^ definition Animal#
-       * sound(): string
-       * ^^^^^ definition Animal#sound()
-       * }
-       * class Dog implements Animal {
-       * ^^^ definition Dog#, relationships = [{symbol: "Animal#", is_implementation: true}]
-       * public sound(): string { return "woof" }
-       * ^^^^^ definition Dog#sound(), references_symbols = Animal#sound(), relationships = [{symbol: "Animal#sound()", is_implementation:true, is_reference: true}]
-       * }
-       * const animal: Animal = new Dog()
-       * ^^^^^^ reference Animal#
-       * console.log(animal.sound())
-       * ^^^^^ reference Animal#sound()
-       * ```
-       * Doing "Find references" on the symbol `Animal#sound()` should return
-       * references to the `Dog#sound()` method as well. Vice-versa, doing "Find
-       * references" on the `Dog#sound()` method should include references to the
-       * `Animal#sound()` method as well.
-       * 
- * - * bool is_reference = 2 [json_name = "isReference"]; - * @return This builder for chaining. - */ - public Builder clearIsReference() { - bitField0_ = (bitField0_ & ~0x00000002); - isReference_ = false; - onChanged(); - return this; - } - - private boolean isImplementation_ ; - /** - *
-       * Similar to `is_reference` but for "Find implementations".
-       * It's common for `is_implementation` and `is_reference` to both be true but
-       * it's not always the case.
-       * In the TypeScript example above, observe that `Dog#` has an
-       * `is_implementation` relationship with `"Animal#"` but not `is_reference`.
-       * This is because "Find references" on the "Animal#" symbol should not return
-       * "Dog#". We only want "Dog#" to return as a result for "Find
-       * implementations" on the "Animal#" symbol.
-       * 
- * - * bool is_implementation = 3 [json_name = "isImplementation"]; - * @return The isImplementation. - */ - @java.lang.Override - public boolean getIsImplementation() { - return isImplementation_; - } - /** - *
-       * Similar to `is_reference` but for "Find implementations".
-       * It's common for `is_implementation` and `is_reference` to both be true but
-       * it's not always the case.
-       * In the TypeScript example above, observe that `Dog#` has an
-       * `is_implementation` relationship with `"Animal#"` but not `is_reference`.
-       * This is because "Find references" on the "Animal#" symbol should not return
-       * "Dog#". We only want "Dog#" to return as a result for "Find
-       * implementations" on the "Animal#" symbol.
-       * 
- * - * bool is_implementation = 3 [json_name = "isImplementation"]; - * @param value The isImplementation to set. - * @return This builder for chaining. - */ - public Builder setIsImplementation(boolean value) { - - isImplementation_ = value; - bitField0_ |= 0x00000004; - onChanged(); - return this; - } - /** - *
-       * Similar to `is_reference` but for "Find implementations".
-       * It's common for `is_implementation` and `is_reference` to both be true but
-       * it's not always the case.
-       * In the TypeScript example above, observe that `Dog#` has an
-       * `is_implementation` relationship with `"Animal#"` but not `is_reference`.
-       * This is because "Find references" on the "Animal#" symbol should not return
-       * "Dog#". We only want "Dog#" to return as a result for "Find
-       * implementations" on the "Animal#" symbol.
-       * 
- * - * bool is_implementation = 3 [json_name = "isImplementation"]; - * @return This builder for chaining. - */ - public Builder clearIsImplementation() { - bitField0_ = (bitField0_ & ~0x00000004); - isImplementation_ = false; - onChanged(); - return this; - } - - private boolean isTypeDefinition_ ; - /** - *
-       * Similar to `references_symbols` but for "Go to type definition".
-       * 
- * - * bool is_type_definition = 4 [json_name = "isTypeDefinition"]; - * @return The isTypeDefinition. - */ - @java.lang.Override - public boolean getIsTypeDefinition() { - return isTypeDefinition_; - } - /** - *
-       * Similar to `references_symbols` but for "Go to type definition".
-       * 
- * - * bool is_type_definition = 4 [json_name = "isTypeDefinition"]; - * @param value The isTypeDefinition to set. - * @return This builder for chaining. - */ - public Builder setIsTypeDefinition(boolean value) { - - isTypeDefinition_ = value; - bitField0_ |= 0x00000008; - onChanged(); - return this; - } - /** - *
-       * Similar to `references_symbols` but for "Go to type definition".
-       * 
- * - * bool is_type_definition = 4 [json_name = "isTypeDefinition"]; - * @return This builder for chaining. - */ - public Builder clearIsTypeDefinition() { - bitField0_ = (bitField0_ & ~0x00000008); - isTypeDefinition_ = false; - onChanged(); - return this; - } - - private boolean isDefinition_ ; - /** - *
-       * Allows overriding the behavior of "Go to definition" and "Find references"
-       * for symbols which do not have a definition of their own or could
-       * potentially have multiple definitions.
-       *
-       * For example, in a language with single inheritance and no field overriding,
-       * inherited fields can reuse the same symbol as the ancestor which declares
-       * the field. In such a situation, is_definition is not needed.
-       *
-       * On the other hand, in languages with single inheritance and some form
-       * of mixins, you can use is_definition to relate the symbol to the
-       * matching symbol in ancestor classes, and is_reference to relate the
-       * symbol to the matching symbol in mixins.
-       * 
- * - * bool is_definition = 5 [json_name = "isDefinition"]; - * @return The isDefinition. - */ - @java.lang.Override - public boolean getIsDefinition() { - return isDefinition_; - } - /** - *
-       * Allows overriding the behavior of "Go to definition" and "Find references"
-       * for symbols which do not have a definition of their own or could
-       * potentially have multiple definitions.
-       *
-       * For example, in a language with single inheritance and no field overriding,
-       * inherited fields can reuse the same symbol as the ancestor which declares
-       * the field. In such a situation, is_definition is not needed.
-       *
-       * On the other hand, in languages with single inheritance and some form
-       * of mixins, you can use is_definition to relate the symbol to the
-       * matching symbol in ancestor classes, and is_reference to relate the
-       * symbol to the matching symbol in mixins.
-       * 
- * - * bool is_definition = 5 [json_name = "isDefinition"]; - * @param value The isDefinition to set. - * @return This builder for chaining. - */ - public Builder setIsDefinition(boolean value) { - - isDefinition_ = value; - bitField0_ |= 0x00000010; - onChanged(); - return this; - } - /** - *
-       * Allows overriding the behavior of "Go to definition" and "Find references"
-       * for symbols which do not have a definition of their own or could
-       * potentially have multiple definitions.
-       *
-       * For example, in a language with single inheritance and no field overriding,
-       * inherited fields can reuse the same symbol as the ancestor which declares
-       * the field. In such a situation, is_definition is not needed.
-       *
-       * On the other hand, in languages with single inheritance and some form
-       * of mixins, you can use is_definition to relate the symbol to the
-       * matching symbol in ancestor classes, and is_reference to relate the
-       * symbol to the matching symbol in mixins.
-       * 
- * - * bool is_definition = 5 [json_name = "isDefinition"]; - * @return This builder for chaining. - */ - public Builder clearIsDefinition() { - bitField0_ = (bitField0_ & ~0x00000010); - isDefinition_ = false; - onChanged(); - return this; - } - - // @@protoc_insertion_point(builder_scope:scip.Relationship) - } - - // @@protoc_insertion_point(class_scope:scip.Relationship) - private static final scip.Scip.Relationship DEFAULT_INSTANCE; - static { - DEFAULT_INSTANCE = new scip.Scip.Relationship(); - } - - public static scip.Scip.Relationship getDefaultInstance() { - return DEFAULT_INSTANCE; - } - - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { - @java.lang.Override - public Relationship parsePartialFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - Builder builder = newBuilder(); - try { - builder.mergeFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.setUnfinishedMessage(builder.buildPartial()); - } catch (com.google.protobuf.UninitializedMessageException e) { - throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); - } catch (java.io.IOException e) { - throw new com.google.protobuf.InvalidProtocolBufferException(e) - .setUnfinishedMessage(builder.buildPartial()); - } - return builder.buildPartial(); - } - }; - - public static com.google.protobuf.Parser parser() { - return PARSER; - } - - @java.lang.Override - public com.google.protobuf.Parser getParserForType() { - return PARSER; - } - - @java.lang.Override - public scip.Scip.Relationship getDefaultInstanceForType() { - return DEFAULT_INSTANCE; - } - - } - - public interface OccurrenceOrBuilder extends - // @@protoc_insertion_point(interface_extends:scip.Occurrence) - com.google.protobuf.MessageOrBuilder { - - /** - *
-     * Half-open [start, end) range of this occurrence. Must be exactly three or four
-     * elements:
-     *
-     * - Four elements: `[startLine, startCharacter, endLine, endCharacter]`
-     * - Three elements: `[startLine, startCharacter, endCharacter]`. The end line
-     * is inferred to have the same value as the start line.
-     *
-     * It is allowed for the range to be empty (i.e. start==end).
-     *
-     * Line numbers and characters are always 0-based. Make sure to increment the
-     * line/character values before displaying them in an editor-like UI because
-     * editors conventionally use 1-based numbers.
-     *
-     * The 'character' value is interpreted based on the PositionEncoding for
-     * the Document.
-     *
-     * Historical note: the original draft of this schema had a `Range` message
-     * type with `start` and `end` fields of type `Position`, mirroring LSP.
-     * Benchmarks revealed that this encoding was inefficient and that we could
-     * reduce the total payload size of an index by 50% by using `repeated int32`
-     * instead. The `repeated int32` encoding is admittedly more embarrassing to
-     * work with in some programming languages but we hope the performance
-     * improvements make up for it.
-     * 
- * - * repeated int32 range = 1 [json_name = "range"]; - * @return A list containing the range. - */ - java.util.List getRangeList(); - /** - *
-     * Half-open [start, end) range of this occurrence. Must be exactly three or four
-     * elements:
-     *
-     * - Four elements: `[startLine, startCharacter, endLine, endCharacter]`
-     * - Three elements: `[startLine, startCharacter, endCharacter]`. The end line
-     * is inferred to have the same value as the start line.
-     *
-     * It is allowed for the range to be empty (i.e. start==end).
-     *
-     * Line numbers and characters are always 0-based. Make sure to increment the
-     * line/character values before displaying them in an editor-like UI because
-     * editors conventionally use 1-based numbers.
-     *
-     * The 'character' value is interpreted based on the PositionEncoding for
-     * the Document.
-     *
-     * Historical note: the original draft of this schema had a `Range` message
-     * type with `start` and `end` fields of type `Position`, mirroring LSP.
-     * Benchmarks revealed that this encoding was inefficient and that we could
-     * reduce the total payload size of an index by 50% by using `repeated int32`
-     * instead. The `repeated int32` encoding is admittedly more embarrassing to
-     * work with in some programming languages but we hope the performance
-     * improvements make up for it.
-     * 
- * - * repeated int32 range = 1 [json_name = "range"]; - * @return The count of range. - */ - int getRangeCount(); - /** - *
-     * Half-open [start, end) range of this occurrence. Must be exactly three or four
-     * elements:
-     *
-     * - Four elements: `[startLine, startCharacter, endLine, endCharacter]`
-     * - Three elements: `[startLine, startCharacter, endCharacter]`. The end line
-     * is inferred to have the same value as the start line.
-     *
-     * It is allowed for the range to be empty (i.e. start==end).
-     *
-     * Line numbers and characters are always 0-based. Make sure to increment the
-     * line/character values before displaying them in an editor-like UI because
-     * editors conventionally use 1-based numbers.
-     *
-     * The 'character' value is interpreted based on the PositionEncoding for
-     * the Document.
-     *
-     * Historical note: the original draft of this schema had a `Range` message
-     * type with `start` and `end` fields of type `Position`, mirroring LSP.
-     * Benchmarks revealed that this encoding was inefficient and that we could
-     * reduce the total payload size of an index by 50% by using `repeated int32`
-     * instead. The `repeated int32` encoding is admittedly more embarrassing to
-     * work with in some programming languages but we hope the performance
-     * improvements make up for it.
-     * 
- * - * repeated int32 range = 1 [json_name = "range"]; - * @param index The index of the element to return. - * @return The range at the given index. - */ - int getRange(int index); - - /** - *
-     * (optional) The symbol that appears at this position. See
-     * `SymbolInformation.symbol` for how to format symbols as strings.
-     * 
- * - * string symbol = 2 [json_name = "symbol"]; - * @return The symbol. - */ - java.lang.String getSymbol(); - /** - *
-     * (optional) The symbol that appears at this position. See
-     * `SymbolInformation.symbol` for how to format symbols as strings.
-     * 
- * - * string symbol = 2 [json_name = "symbol"]; - * @return The bytes for symbol. - */ - com.google.protobuf.ByteString - getSymbolBytes(); - - /** - *
-     * (optional) Bitset containing `SymbolRole`s in this occurrence.
-     * See `SymbolRole`'s documentation for how to read and write this field.
-     * 
- * - * int32 symbol_roles = 3 [json_name = "symbolRoles"]; - * @return The symbolRoles. - */ - int getSymbolRoles(); - - /** - *
-     * (optional) CommonMark-formatted documentation for this specific range. If
-     * empty, the `Symbol.documentation` field is used instead. One example
-     * where this field might be useful is when the symbol represents a generic
-     * function (with abstract type parameters such as `List<T>`) and at this
-     * occurrence we know the exact values (such as `List<String>`).
-     *
-     * This field can also be used for dynamically or gradually typed languages,
-     * which commonly allow for type-changing assignment.
-     * 
- * - * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; - * @return A list containing the overrideDocumentation. - */ - java.util.List - getOverrideDocumentationList(); - /** - *
-     * (optional) CommonMark-formatted documentation for this specific range. If
-     * empty, the `Symbol.documentation` field is used instead. One example
-     * where this field might be useful is when the symbol represents a generic
-     * function (with abstract type parameters such as `List<T>`) and at this
-     * occurrence we know the exact values (such as `List<String>`).
-     *
-     * This field can also be used for dynamically or gradually typed languages,
-     * which commonly allow for type-changing assignment.
-     * 
- * - * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; - * @return The count of overrideDocumentation. - */ - int getOverrideDocumentationCount(); - /** - *
-     * (optional) CommonMark-formatted documentation for this specific range. If
-     * empty, the `Symbol.documentation` field is used instead. One example
-     * where this field might be useful is when the symbol represents a generic
-     * function (with abstract type parameters such as `List<T>`) and at this
-     * occurrence we know the exact values (such as `List<String>`).
-     *
-     * This field can also be used for dynamically or gradually typed languages,
-     * which commonly allow for type-changing assignment.
-     * 
- * - * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; - * @param index The index of the element to return. - * @return The overrideDocumentation at the given index. - */ - java.lang.String getOverrideDocumentation(int index); - /** - *
-     * (optional) CommonMark-formatted documentation for this specific range. If
-     * empty, the `Symbol.documentation` field is used instead. One example
-     * where this field might be useful is when the symbol represents a generic
-     * function (with abstract type parameters such as `List<T>`) and at this
-     * occurrence we know the exact values (such as `List<String>`).
-     *
-     * This field can also be used for dynamically or gradually typed languages,
-     * which commonly allow for type-changing assignment.
-     * 
- * - * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; - * @param index The index of the value to return. - * @return The bytes of the overrideDocumentation at the given index. - */ - com.google.protobuf.ByteString - getOverrideDocumentationBytes(int index); - - /** - *
-     * (optional) What syntax highlighting class should be used for this range?
-     * 
- * - * .scip.SyntaxKind syntax_kind = 5 [json_name = "syntaxKind"]; - * @return The enum numeric value on the wire for syntaxKind. - */ - int getSyntaxKindValue(); - /** - *
-     * (optional) What syntax highlighting class should be used for this range?
-     * 
- * - * .scip.SyntaxKind syntax_kind = 5 [json_name = "syntaxKind"]; - * @return The syntaxKind. - */ - scip.Scip.SyntaxKind getSyntaxKind(); - - /** - *
-     * (optional) Diagnostics that have been reported for this specific range.
-     * 
- * - * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; - */ - java.util.List - getDiagnosticsList(); - /** - *
-     * (optional) Diagnostics that have been reported for this specific range.
-     * 
- * - * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; - */ - scip.Scip.Diagnostic getDiagnostics(int index); - /** - *
-     * (optional) Diagnostics that have been reported for this specific range.
-     * 
- * - * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; - */ - int getDiagnosticsCount(); - /** - *
-     * (optional) Diagnostics that have been reported for this specific range.
-     * 
- * - * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; - */ - java.util.List - getDiagnosticsOrBuilderList(); - /** - *
-     * (optional) Diagnostics that have been reported for this specific range.
-     * 
- * - * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; - */ - scip.Scip.DiagnosticOrBuilder getDiagnosticsOrBuilder( - int index); - - /** - *
-     * (optional) Using the same encoding as the sibling `range` field, half-open
-     * source range of the nearest non-trivial enclosing AST node. This range must
-     * enclose the `range` field. Example applications that make use of the
-     * enclosing_range field:
-     *
-     * - Call hierarchies: to determine what symbols are references from the body
-     * of a function
-     * - Symbol outline: to display breadcrumbs from the cursor position to the
-     * root of the file
-     * - Expand selection: to select the nearest enclosing AST node.
-     * - Highlight range: to indicate the AST expression that is associated with a
-     * hover popover
-     *
-     * For definition occurrences, the enclosing range should indicate the
-     * start/end bounds of the entire definition AST node, including
-     * documentation.
-     * ```
-     * const n = 3
-     * ^ range
-     * ^^^^^^^^^^^ enclosing_range
-     *
-     * /** Parses the string into something */
-     * ^ enclosing_range start --------------------------------------|
-     * function parse(input string): string {                        |
-     * ^^^^^ range                                          |
-     * return input.slice(n)                                     |
-     * }                                                             |
-     * ^ enclosing_range end <---------------------------------------|
-     * ```
-     *
-     * Any attributes/decorators/attached macros should also be part of the
-     * enclosing range.
-     *
-     * ```python
-     * @cache
-     * ^ enclosing_range start---------------------|
-     * def factorial(n):                           |
-     * return n * factorial(n-1) if n else 1   |
-     * < enclosing_range end-----------------------|
-     *
-     * ```
-     *
-     * For reference occurrences, the enclosing range should indicate the start/end
-     * bounds of the parent expression.
-     * ```
-     * const a = a.b
-     * ^ range
-     * ^^^ enclosing_range
-     * const b = a.b(41).f(42).g(43)
-     * ^ range
-     * ^^^^^^^^^^^^^ enclosing_range
-     * ```
-     * 
- * - * repeated int32 enclosing_range = 7 [json_name = "enclosingRange"]; - * @return A list containing the enclosingRange. - */ - java.util.List getEnclosingRangeList(); - /** - *
-     * (optional) Using the same encoding as the sibling `range` field, half-open
-     * source range of the nearest non-trivial enclosing AST node. This range must
-     * enclose the `range` field. Example applications that make use of the
-     * enclosing_range field:
-     *
-     * - Call hierarchies: to determine what symbols are references from the body
-     * of a function
-     * - Symbol outline: to display breadcrumbs from the cursor position to the
-     * root of the file
-     * - Expand selection: to select the nearest enclosing AST node.
-     * - Highlight range: to indicate the AST expression that is associated with a
-     * hover popover
-     *
-     * For definition occurrences, the enclosing range should indicate the
-     * start/end bounds of the entire definition AST node, including
-     * documentation.
-     * ```
-     * const n = 3
-     * ^ range
-     * ^^^^^^^^^^^ enclosing_range
-     *
-     * /** Parses the string into something */
-     * ^ enclosing_range start --------------------------------------|
-     * function parse(input string): string {                        |
-     * ^^^^^ range                                          |
-     * return input.slice(n)                                     |
-     * }                                                             |
-     * ^ enclosing_range end <---------------------------------------|
-     * ```
-     *
-     * Any attributes/decorators/attached macros should also be part of the
-     * enclosing range.
-     *
-     * ```python
-     * @cache
-     * ^ enclosing_range start---------------------|
-     * def factorial(n):                           |
-     * return n * factorial(n-1) if n else 1   |
-     * < enclosing_range end-----------------------|
-     *
-     * ```
-     *
-     * For reference occurrences, the enclosing range should indicate the start/end
-     * bounds of the parent expression.
-     * ```
-     * const a = a.b
-     * ^ range
-     * ^^^ enclosing_range
-     * const b = a.b(41).f(42).g(43)
-     * ^ range
-     * ^^^^^^^^^^^^^ enclosing_range
-     * ```
-     * 
- * - * repeated int32 enclosing_range = 7 [json_name = "enclosingRange"]; - * @return The count of enclosingRange. - */ - int getEnclosingRangeCount(); - /** - *
-     * (optional) Using the same encoding as the sibling `range` field, half-open
-     * source range of the nearest non-trivial enclosing AST node. This range must
-     * enclose the `range` field. Example applications that make use of the
-     * enclosing_range field:
-     *
-     * - Call hierarchies: to determine what symbols are references from the body
-     * of a function
-     * - Symbol outline: to display breadcrumbs from the cursor position to the
-     * root of the file
-     * - Expand selection: to select the nearest enclosing AST node.
-     * - Highlight range: to indicate the AST expression that is associated with a
-     * hover popover
-     *
-     * For definition occurrences, the enclosing range should indicate the
-     * start/end bounds of the entire definition AST node, including
-     * documentation.
-     * ```
-     * const n = 3
-     * ^ range
-     * ^^^^^^^^^^^ enclosing_range
-     *
-     * /** Parses the string into something */
-     * ^ enclosing_range start --------------------------------------|
-     * function parse(input string): string {                        |
-     * ^^^^^ range                                          |
-     * return input.slice(n)                                     |
-     * }                                                             |
-     * ^ enclosing_range end <---------------------------------------|
-     * ```
-     *
-     * Any attributes/decorators/attached macros should also be part of the
-     * enclosing range.
-     *
-     * ```python
-     * @cache
-     * ^ enclosing_range start---------------------|
-     * def factorial(n):                           |
-     * return n * factorial(n-1) if n else 1   |
-     * < enclosing_range end-----------------------|
-     *
-     * ```
-     *
-     * For reference occurrences, the enclosing range should indicate the start/end
-     * bounds of the parent expression.
-     * ```
-     * const a = a.b
-     * ^ range
-     * ^^^ enclosing_range
-     * const b = a.b(41).f(42).g(43)
-     * ^ range
-     * ^^^^^^^^^^^^^ enclosing_range
-     * ```
-     * 
- * - * repeated int32 enclosing_range = 7 [json_name = "enclosingRange"]; - * @param index The index of the element to return. - * @return The enclosingRange at the given index. - */ - int getEnclosingRange(int index); - } - /** - *
-   * Occurrence associates a source position with a symbol and/or highlighting
-   * information.
-   *
-   * If possible, indexers should try to bundle logically related information
-   * across occurrences into a single occurrence to reduce payload sizes.
-   * 
- * - * Protobuf type {@code scip.Occurrence} - */ - public static final class Occurrence extends - com.google.protobuf.GeneratedMessage implements - // @@protoc_insertion_point(message_implements:scip.Occurrence) - OccurrenceOrBuilder { - private static final long serialVersionUID = 0L; - static { - com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( - com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, - /* major= */ 4, - /* minor= */ 32, - /* patch= */ 1, - /* suffix= */ "", - Occurrence.class.getName()); - } - // Use Occurrence.newBuilder() to construct. - private Occurrence(com.google.protobuf.GeneratedMessage.Builder builder) { - super(builder); - } - private Occurrence() { - range_ = emptyIntList(); - symbol_ = ""; - overrideDocumentation_ = - com.google.protobuf.LazyStringArrayList.emptyList(); - syntaxKind_ = 0; - diagnostics_ = java.util.Collections.emptyList(); - enclosingRange_ = emptyIntList(); - } - - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return scip.Scip.internal_static_scip_Occurrence_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessage.FieldAccessorTable - internalGetFieldAccessorTable() { - return scip.Scip.internal_static_scip_Occurrence_fieldAccessorTable - .ensureFieldAccessorsInitialized( - scip.Scip.Occurrence.class, scip.Scip.Occurrence.Builder.class); - } - - public static final int RANGE_FIELD_NUMBER = 1; - @SuppressWarnings("serial") - private com.google.protobuf.Internal.IntList range_ = - emptyIntList(); - /** - *
-     * Half-open [start, end) range of this occurrence. Must be exactly three or four
-     * elements:
-     *
-     * - Four elements: `[startLine, startCharacter, endLine, endCharacter]`
-     * - Three elements: `[startLine, startCharacter, endCharacter]`. The end line
-     * is inferred to have the same value as the start line.
-     *
-     * It is allowed for the range to be empty (i.e. start==end).
-     *
-     * Line numbers and characters are always 0-based. Make sure to increment the
-     * line/character values before displaying them in an editor-like UI because
-     * editors conventionally use 1-based numbers.
-     *
-     * The 'character' value is interpreted based on the PositionEncoding for
-     * the Document.
-     *
-     * Historical note: the original draft of this schema had a `Range` message
-     * type with `start` and `end` fields of type `Position`, mirroring LSP.
-     * Benchmarks revealed that this encoding was inefficient and that we could
-     * reduce the total payload size of an index by 50% by using `repeated int32`
-     * instead. The `repeated int32` encoding is admittedly more embarrassing to
-     * work with in some programming languages but we hope the performance
-     * improvements make up for it.
-     * 
- * - * repeated int32 range = 1 [json_name = "range"]; - * @return A list containing the range. - */ - @java.lang.Override - public java.util.List - getRangeList() { - return range_; - } - /** - *
-     * Half-open [start, end) range of this occurrence. Must be exactly three or four
-     * elements:
-     *
-     * - Four elements: `[startLine, startCharacter, endLine, endCharacter]`
-     * - Three elements: `[startLine, startCharacter, endCharacter]`. The end line
-     * is inferred to have the same value as the start line.
-     *
-     * It is allowed for the range to be empty (i.e. start==end).
-     *
-     * Line numbers and characters are always 0-based. Make sure to increment the
-     * line/character values before displaying them in an editor-like UI because
-     * editors conventionally use 1-based numbers.
-     *
-     * The 'character' value is interpreted based on the PositionEncoding for
-     * the Document.
-     *
-     * Historical note: the original draft of this schema had a `Range` message
-     * type with `start` and `end` fields of type `Position`, mirroring LSP.
-     * Benchmarks revealed that this encoding was inefficient and that we could
-     * reduce the total payload size of an index by 50% by using `repeated int32`
-     * instead. The `repeated int32` encoding is admittedly more embarrassing to
-     * work with in some programming languages but we hope the performance
-     * improvements make up for it.
-     * 
- * - * repeated int32 range = 1 [json_name = "range"]; - * @return The count of range. - */ - public int getRangeCount() { - return range_.size(); - } - /** - *
-     * Half-open [start, end) range of this occurrence. Must be exactly three or four
-     * elements:
-     *
-     * - Four elements: `[startLine, startCharacter, endLine, endCharacter]`
-     * - Three elements: `[startLine, startCharacter, endCharacter]`. The end line
-     * is inferred to have the same value as the start line.
-     *
-     * It is allowed for the range to be empty (i.e. start==end).
-     *
-     * Line numbers and characters are always 0-based. Make sure to increment the
-     * line/character values before displaying them in an editor-like UI because
-     * editors conventionally use 1-based numbers.
-     *
-     * The 'character' value is interpreted based on the PositionEncoding for
-     * the Document.
-     *
-     * Historical note: the original draft of this schema had a `Range` message
-     * type with `start` and `end` fields of type `Position`, mirroring LSP.
-     * Benchmarks revealed that this encoding was inefficient and that we could
-     * reduce the total payload size of an index by 50% by using `repeated int32`
-     * instead. The `repeated int32` encoding is admittedly more embarrassing to
-     * work with in some programming languages but we hope the performance
-     * improvements make up for it.
-     * 
- * - * repeated int32 range = 1 [json_name = "range"]; - * @param index The index of the element to return. - * @return The range at the given index. - */ - public int getRange(int index) { - return range_.getInt(index); - } - private int rangeMemoizedSerializedSize = -1; - - public static final int SYMBOL_FIELD_NUMBER = 2; - @SuppressWarnings("serial") - private volatile java.lang.Object symbol_ = ""; - /** - *
-     * (optional) The symbol that appears at this position. See
-     * `SymbolInformation.symbol` for how to format symbols as strings.
-     * 
- * - * string symbol = 2 [json_name = "symbol"]; - * @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; - } - } - /** - *
-     * (optional) The symbol that appears at this position. See
-     * `SymbolInformation.symbol` for how to format symbols as strings.
-     * 
- * - * string symbol = 2 [json_name = "symbol"]; - * @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 SYMBOL_ROLES_FIELD_NUMBER = 3; - private int symbolRoles_ = 0; - /** - *
-     * (optional) Bitset containing `SymbolRole`s in this occurrence.
-     * See `SymbolRole`'s documentation for how to read and write this field.
-     * 
- * - * int32 symbol_roles = 3 [json_name = "symbolRoles"]; - * @return The symbolRoles. - */ - @java.lang.Override - public int getSymbolRoles() { - return symbolRoles_; - } - - public static final int OVERRIDE_DOCUMENTATION_FIELD_NUMBER = 4; - @SuppressWarnings("serial") - private com.google.protobuf.LazyStringArrayList overrideDocumentation_ = - com.google.protobuf.LazyStringArrayList.emptyList(); - /** - *
-     * (optional) CommonMark-formatted documentation for this specific range. If
-     * empty, the `Symbol.documentation` field is used instead. One example
-     * where this field might be useful is when the symbol represents a generic
-     * function (with abstract type parameters such as `List<T>`) and at this
-     * occurrence we know the exact values (such as `List<String>`).
-     *
-     * This field can also be used for dynamically or gradually typed languages,
-     * which commonly allow for type-changing assignment.
-     * 
- * - * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; - * @return A list containing the overrideDocumentation. - */ - public com.google.protobuf.ProtocolStringList - getOverrideDocumentationList() { - return overrideDocumentation_; - } - /** - *
-     * (optional) CommonMark-formatted documentation for this specific range. If
-     * empty, the `Symbol.documentation` field is used instead. One example
-     * where this field might be useful is when the symbol represents a generic
-     * function (with abstract type parameters such as `List<T>`) and at this
-     * occurrence we know the exact values (such as `List<String>`).
-     *
-     * This field can also be used for dynamically or gradually typed languages,
-     * which commonly allow for type-changing assignment.
-     * 
- * - * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; - * @return The count of overrideDocumentation. - */ - public int getOverrideDocumentationCount() { - return overrideDocumentation_.size(); - } - /** - *
-     * (optional) CommonMark-formatted documentation for this specific range. If
-     * empty, the `Symbol.documentation` field is used instead. One example
-     * where this field might be useful is when the symbol represents a generic
-     * function (with abstract type parameters such as `List<T>`) and at this
-     * occurrence we know the exact values (such as `List<String>`).
-     *
-     * This field can also be used for dynamically or gradually typed languages,
-     * which commonly allow for type-changing assignment.
-     * 
- * - * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; - * @param index The index of the element to return. - * @return The overrideDocumentation at the given index. - */ - public java.lang.String getOverrideDocumentation(int index) { - return overrideDocumentation_.get(index); - } - /** - *
-     * (optional) CommonMark-formatted documentation for this specific range. If
-     * empty, the `Symbol.documentation` field is used instead. One example
-     * where this field might be useful is when the symbol represents a generic
-     * function (with abstract type parameters such as `List<T>`) and at this
-     * occurrence we know the exact values (such as `List<String>`).
-     *
-     * This field can also be used for dynamically or gradually typed languages,
-     * which commonly allow for type-changing assignment.
-     * 
- * - * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; - * @param index The index of the value to return. - * @return The bytes of the overrideDocumentation at the given index. - */ - public com.google.protobuf.ByteString - getOverrideDocumentationBytes(int index) { - return overrideDocumentation_.getByteString(index); - } - - public static final int SYNTAX_KIND_FIELD_NUMBER = 5; - private int syntaxKind_ = 0; - /** - *
-     * (optional) What syntax highlighting class should be used for this range?
-     * 
- * - * .scip.SyntaxKind syntax_kind = 5 [json_name = "syntaxKind"]; - * @return The enum numeric value on the wire for syntaxKind. - */ - @java.lang.Override public int getSyntaxKindValue() { - return syntaxKind_; - } - /** - *
-     * (optional) What syntax highlighting class should be used for this range?
-     * 
- * - * .scip.SyntaxKind syntax_kind = 5 [json_name = "syntaxKind"]; - * @return The syntaxKind. - */ - @java.lang.Override public scip.Scip.SyntaxKind getSyntaxKind() { - scip.Scip.SyntaxKind result = scip.Scip.SyntaxKind.forNumber(syntaxKind_); - return result == null ? scip.Scip.SyntaxKind.UNRECOGNIZED : result; - } - - public static final int DIAGNOSTICS_FIELD_NUMBER = 6; - @SuppressWarnings("serial") - private java.util.List diagnostics_; - /** - *
-     * (optional) Diagnostics that have been reported for this specific range.
-     * 
- * - * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; - */ - @java.lang.Override - public java.util.List getDiagnosticsList() { - return diagnostics_; - } - /** - *
-     * (optional) Diagnostics that have been reported for this specific range.
-     * 
- * - * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; - */ - @java.lang.Override - public java.util.List - getDiagnosticsOrBuilderList() { - return diagnostics_; - } - /** - *
-     * (optional) Diagnostics that have been reported for this specific range.
-     * 
- * - * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; - */ - @java.lang.Override - public int getDiagnosticsCount() { - return diagnostics_.size(); - } - /** - *
-     * (optional) Diagnostics that have been reported for this specific range.
-     * 
- * - * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; - */ - @java.lang.Override - public scip.Scip.Diagnostic getDiagnostics(int index) { - return diagnostics_.get(index); - } - /** - *
-     * (optional) Diagnostics that have been reported for this specific range.
-     * 
- * - * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; - */ - @java.lang.Override - public scip.Scip.DiagnosticOrBuilder getDiagnosticsOrBuilder( - int index) { - return diagnostics_.get(index); - } - - public static final int ENCLOSING_RANGE_FIELD_NUMBER = 7; - @SuppressWarnings("serial") - private com.google.protobuf.Internal.IntList enclosingRange_ = - emptyIntList(); - /** - *
-     * (optional) Using the same encoding as the sibling `range` field, half-open
-     * source range of the nearest non-trivial enclosing AST node. This range must
-     * enclose the `range` field. Example applications that make use of the
-     * enclosing_range field:
-     *
-     * - Call hierarchies: to determine what symbols are references from the body
-     * of a function
-     * - Symbol outline: to display breadcrumbs from the cursor position to the
-     * root of the file
-     * - Expand selection: to select the nearest enclosing AST node.
-     * - Highlight range: to indicate the AST expression that is associated with a
-     * hover popover
-     *
-     * For definition occurrences, the enclosing range should indicate the
-     * start/end bounds of the entire definition AST node, including
-     * documentation.
-     * ```
-     * const n = 3
-     * ^ range
-     * ^^^^^^^^^^^ enclosing_range
-     *
-     * /** Parses the string into something */
-     * ^ enclosing_range start --------------------------------------|
-     * function parse(input string): string {                        |
-     * ^^^^^ range                                          |
-     * return input.slice(n)                                     |
-     * }                                                             |
-     * ^ enclosing_range end <---------------------------------------|
-     * ```
-     *
-     * Any attributes/decorators/attached macros should also be part of the
-     * enclosing range.
-     *
-     * ```python
-     * @cache
-     * ^ enclosing_range start---------------------|
-     * def factorial(n):                           |
-     * return n * factorial(n-1) if n else 1   |
-     * < enclosing_range end-----------------------|
-     *
-     * ```
-     *
-     * For reference occurrences, the enclosing range should indicate the start/end
-     * bounds of the parent expression.
-     * ```
-     * const a = a.b
-     * ^ range
-     * ^^^ enclosing_range
-     * const b = a.b(41).f(42).g(43)
-     * ^ range
-     * ^^^^^^^^^^^^^ enclosing_range
-     * ```
-     * 
- * - * repeated int32 enclosing_range = 7 [json_name = "enclosingRange"]; - * @return A list containing the enclosingRange. - */ - @java.lang.Override - public java.util.List - getEnclosingRangeList() { - return enclosingRange_; - } - /** - *
-     * (optional) Using the same encoding as the sibling `range` field, half-open
-     * source range of the nearest non-trivial enclosing AST node. This range must
-     * enclose the `range` field. Example applications that make use of the
-     * enclosing_range field:
-     *
-     * - Call hierarchies: to determine what symbols are references from the body
-     * of a function
-     * - Symbol outline: to display breadcrumbs from the cursor position to the
-     * root of the file
-     * - Expand selection: to select the nearest enclosing AST node.
-     * - Highlight range: to indicate the AST expression that is associated with a
-     * hover popover
-     *
-     * For definition occurrences, the enclosing range should indicate the
-     * start/end bounds of the entire definition AST node, including
-     * documentation.
-     * ```
-     * const n = 3
-     * ^ range
-     * ^^^^^^^^^^^ enclosing_range
-     *
-     * /** Parses the string into something */
-     * ^ enclosing_range start --------------------------------------|
-     * function parse(input string): string {                        |
-     * ^^^^^ range                                          |
-     * return input.slice(n)                                     |
-     * }                                                             |
-     * ^ enclosing_range end <---------------------------------------|
-     * ```
-     *
-     * Any attributes/decorators/attached macros should also be part of the
-     * enclosing range.
-     *
-     * ```python
-     * @cache
-     * ^ enclosing_range start---------------------|
-     * def factorial(n):                           |
-     * return n * factorial(n-1) if n else 1   |
-     * < enclosing_range end-----------------------|
-     *
-     * ```
-     *
-     * For reference occurrences, the enclosing range should indicate the start/end
-     * bounds of the parent expression.
-     * ```
-     * const a = a.b
-     * ^ range
-     * ^^^ enclosing_range
-     * const b = a.b(41).f(42).g(43)
-     * ^ range
-     * ^^^^^^^^^^^^^ enclosing_range
-     * ```
-     * 
- * - * repeated int32 enclosing_range = 7 [json_name = "enclosingRange"]; - * @return The count of enclosingRange. - */ - public int getEnclosingRangeCount() { - return enclosingRange_.size(); - } - /** - *
-     * (optional) Using the same encoding as the sibling `range` field, half-open
-     * source range of the nearest non-trivial enclosing AST node. This range must
-     * enclose the `range` field. Example applications that make use of the
-     * enclosing_range field:
-     *
-     * - Call hierarchies: to determine what symbols are references from the body
-     * of a function
-     * - Symbol outline: to display breadcrumbs from the cursor position to the
-     * root of the file
-     * - Expand selection: to select the nearest enclosing AST node.
-     * - Highlight range: to indicate the AST expression that is associated with a
-     * hover popover
-     *
-     * For definition occurrences, the enclosing range should indicate the
-     * start/end bounds of the entire definition AST node, including
-     * documentation.
-     * ```
-     * const n = 3
-     * ^ range
-     * ^^^^^^^^^^^ enclosing_range
-     *
-     * /** Parses the string into something */
-     * ^ enclosing_range start --------------------------------------|
-     * function parse(input string): string {                        |
-     * ^^^^^ range                                          |
-     * return input.slice(n)                                     |
-     * }                                                             |
-     * ^ enclosing_range end <---------------------------------------|
-     * ```
-     *
-     * Any attributes/decorators/attached macros should also be part of the
-     * enclosing range.
-     *
-     * ```python
-     * @cache
-     * ^ enclosing_range start---------------------|
-     * def factorial(n):                           |
-     * return n * factorial(n-1) if n else 1   |
-     * < enclosing_range end-----------------------|
-     *
-     * ```
-     *
-     * For reference occurrences, the enclosing range should indicate the start/end
-     * bounds of the parent expression.
-     * ```
-     * const a = a.b
-     * ^ range
-     * ^^^ enclosing_range
-     * const b = a.b(41).f(42).g(43)
-     * ^ range
-     * ^^^^^^^^^^^^^ enclosing_range
-     * ```
-     * 
- * - * repeated int32 enclosing_range = 7 [json_name = "enclosingRange"]; - * @param index The index of the element to return. - * @return The enclosingRange at the given index. - */ - public int getEnclosingRange(int index) { - return enclosingRange_.getInt(index); - } - private int enclosingRangeMemoizedSerializedSize = -1; - - 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 { - getSerializedSize(); - if (getRangeList().size() > 0) { - output.writeUInt32NoTag(10); - output.writeUInt32NoTag(rangeMemoizedSerializedSize); - } - for (int i = 0; i < range_.size(); i++) { - output.writeInt32NoTag(range_.getInt(i)); - } - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(symbol_)) { - com.google.protobuf.GeneratedMessage.writeString(output, 2, symbol_); - } - if (symbolRoles_ != 0) { - output.writeInt32(3, symbolRoles_); - } - for (int i = 0; i < overrideDocumentation_.size(); i++) { - com.google.protobuf.GeneratedMessage.writeString(output, 4, overrideDocumentation_.getRaw(i)); - } - if (syntaxKind_ != scip.Scip.SyntaxKind.UnspecifiedSyntaxKind.getNumber()) { - output.writeEnum(5, syntaxKind_); - } - for (int i = 0; i < diagnostics_.size(); i++) { - output.writeMessage(6, diagnostics_.get(i)); - } - if (getEnclosingRangeList().size() > 0) { - output.writeUInt32NoTag(58); - output.writeUInt32NoTag(enclosingRangeMemoizedSerializedSize); - } - for (int i = 0; i < enclosingRange_.size(); i++) { - output.writeInt32NoTag(enclosingRange_.getInt(i)); - } - getUnknownFields().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 < range_.size(); i++) { - dataSize += com.google.protobuf.CodedOutputStream - .computeInt32SizeNoTag(range_.getInt(i)); - } - size += dataSize; - if (!getRangeList().isEmpty()) { - size += 1; - size += com.google.protobuf.CodedOutputStream - .computeInt32SizeNoTag(dataSize); - } - rangeMemoizedSerializedSize = dataSize; - } - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(symbol_)) { - size += com.google.protobuf.GeneratedMessage.computeStringSize(2, symbol_); - } - if (symbolRoles_ != 0) { - size += com.google.protobuf.CodedOutputStream - .computeInt32Size(3, symbolRoles_); - } - { - int dataSize = 0; - for (int i = 0; i < overrideDocumentation_.size(); i++) { - dataSize += computeStringSizeNoTag(overrideDocumentation_.getRaw(i)); - } - size += dataSize; - size += 1 * getOverrideDocumentationList().size(); - } - if (syntaxKind_ != scip.Scip.SyntaxKind.UnspecifiedSyntaxKind.getNumber()) { - size += com.google.protobuf.CodedOutputStream - .computeEnumSize(5, syntaxKind_); - } - for (int i = 0; i < diagnostics_.size(); i++) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(6, diagnostics_.get(i)); - } - { - int dataSize = 0; - for (int i = 0; i < enclosingRange_.size(); i++) { - dataSize += com.google.protobuf.CodedOutputStream - .computeInt32SizeNoTag(enclosingRange_.getInt(i)); - } - size += dataSize; - if (!getEnclosingRangeList().isEmpty()) { - size += 1; - size += com.google.protobuf.CodedOutputStream - .computeInt32SizeNoTag(dataSize); - } - enclosingRangeMemoizedSerializedSize = dataSize; - } - size += getUnknownFields().getSerializedSize(); - memoizedSize = size; - return size; - } - - @java.lang.Override - public boolean equals(final java.lang.Object obj) { - if (obj == this) { - return true; - } - if (!(obj instanceof scip.Scip.Occurrence)) { - return super.equals(obj); - } - scip.Scip.Occurrence other = (scip.Scip.Occurrence) obj; - - if (!getRangeList() - .equals(other.getRangeList())) return false; - if (!getSymbol() - .equals(other.getSymbol())) return false; - if (getSymbolRoles() - != other.getSymbolRoles()) return false; - if (!getOverrideDocumentationList() - .equals(other.getOverrideDocumentationList())) return false; - if (syntaxKind_ != other.syntaxKind_) return false; - if (!getDiagnosticsList() - .equals(other.getDiagnosticsList())) return false; - if (!getEnclosingRangeList() - .equals(other.getEnclosingRangeList())) return false; - if (!getUnknownFields().equals(other.getUnknownFields())) return false; - return true; - } - - @java.lang.Override - public int hashCode() { - if (memoizedHashCode != 0) { - return memoizedHashCode; - } - int hash = 41; - hash = (19 * hash) + getDescriptor().hashCode(); - if (getRangeCount() > 0) { - hash = (37 * hash) + RANGE_FIELD_NUMBER; - hash = (53 * hash) + getRangeList().hashCode(); - } - hash = (37 * hash) + SYMBOL_FIELD_NUMBER; - hash = (53 * hash) + getSymbol().hashCode(); - hash = (37 * hash) + SYMBOL_ROLES_FIELD_NUMBER; - hash = (53 * hash) + getSymbolRoles(); - if (getOverrideDocumentationCount() > 0) { - hash = (37 * hash) + OVERRIDE_DOCUMENTATION_FIELD_NUMBER; - hash = (53 * hash) + getOverrideDocumentationList().hashCode(); - } - hash = (37 * hash) + SYNTAX_KIND_FIELD_NUMBER; - hash = (53 * hash) + syntaxKind_; - if (getDiagnosticsCount() > 0) { - hash = (37 * hash) + DIAGNOSTICS_FIELD_NUMBER; - hash = (53 * hash) + getDiagnosticsList().hashCode(); - } - if (getEnclosingRangeCount() > 0) { - hash = (37 * hash) + ENCLOSING_RANGE_FIELD_NUMBER; - hash = (53 * hash) + getEnclosingRangeList().hashCode(); - } - hash = (29 * hash) + getUnknownFields().hashCode(); - memoizedHashCode = hash; - return hash; - } - - public static scip.Scip.Occurrence parseFrom( - java.nio.ByteBuffer data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static scip.Scip.Occurrence parseFrom( - java.nio.ByteBuffer data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static scip.Scip.Occurrence parseFrom( - com.google.protobuf.ByteString data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static scip.Scip.Occurrence parseFrom( - com.google.protobuf.ByteString data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static scip.Scip.Occurrence parseFrom(byte[] data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static scip.Scip.Occurrence parseFrom( - byte[] data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static scip.Scip.Occurrence parseFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input); - } - public static scip.Scip.Occurrence parseFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input, extensionRegistry); - } - - public static scip.Scip.Occurrence parseDelimitedFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseDelimitedWithIOException(PARSER, input); - } - - public static scip.Scip.Occurrence parseDelimitedFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseDelimitedWithIOException(PARSER, input, extensionRegistry); - } - public static scip.Scip.Occurrence parseFrom( - com.google.protobuf.CodedInputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input); - } - public static scip.Scip.Occurrence parseFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input, extensionRegistry); - } - - @java.lang.Override - public Builder newBuilderForType() { return newBuilder(); } - public static Builder newBuilder() { - return DEFAULT_INSTANCE.toBuilder(); - } - public static Builder newBuilder(scip.Scip.Occurrence 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.GeneratedMessage.BuilderParent parent) { - Builder builder = new Builder(parent); - return builder; - } - /** - *
-     * Occurrence associates a source position with a symbol and/or highlighting
-     * information.
-     *
-     * If possible, indexers should try to bundle logically related information
-     * across occurrences into a single occurrence to reduce payload sizes.
-     * 
- * - * Protobuf type {@code scip.Occurrence} - */ - public static final class Builder extends - com.google.protobuf.GeneratedMessage.Builder implements - // @@protoc_insertion_point(builder_implements:scip.Occurrence) - scip.Scip.OccurrenceOrBuilder { - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return scip.Scip.internal_static_scip_Occurrence_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessage.FieldAccessorTable - internalGetFieldAccessorTable() { - return scip.Scip.internal_static_scip_Occurrence_fieldAccessorTable - .ensureFieldAccessorsInitialized( - scip.Scip.Occurrence.class, scip.Scip.Occurrence.Builder.class); - } - - // Construct using scip.Scip.Occurrence.newBuilder() - private Builder() { - - } - - private Builder( - com.google.protobuf.GeneratedMessage.BuilderParent parent) { - super(parent); - - } - @java.lang.Override - public Builder clear() { - super.clear(); - bitField0_ = 0; - range_ = emptyIntList(); - symbol_ = ""; - symbolRoles_ = 0; - overrideDocumentation_ = - com.google.protobuf.LazyStringArrayList.emptyList(); - syntaxKind_ = 0; - if (diagnosticsBuilder_ == null) { - diagnostics_ = java.util.Collections.emptyList(); - } else { - diagnostics_ = null; - diagnosticsBuilder_.clear(); - } - bitField0_ = (bitField0_ & ~0x00000020); - enclosingRange_ = emptyIntList(); - return this; - } - - @java.lang.Override - public com.google.protobuf.Descriptors.Descriptor - getDescriptorForType() { - return scip.Scip.internal_static_scip_Occurrence_descriptor; - } - - @java.lang.Override - public scip.Scip.Occurrence getDefaultInstanceForType() { - return scip.Scip.Occurrence.getDefaultInstance(); - } - - @java.lang.Override - public scip.Scip.Occurrence build() { - scip.Scip.Occurrence result = buildPartial(); - if (!result.isInitialized()) { - throw newUninitializedMessageException(result); - } - return result; - } - - @java.lang.Override - public scip.Scip.Occurrence buildPartial() { - scip.Scip.Occurrence result = new scip.Scip.Occurrence(this); - buildPartialRepeatedFields(result); - if (bitField0_ != 0) { buildPartial0(result); } - onBuilt(); - return result; - } - - private void buildPartialRepeatedFields(scip.Scip.Occurrence result) { - if (diagnosticsBuilder_ == null) { - if (((bitField0_ & 0x00000020) != 0)) { - diagnostics_ = java.util.Collections.unmodifiableList(diagnostics_); - bitField0_ = (bitField0_ & ~0x00000020); - } - result.diagnostics_ = diagnostics_; - } else { - result.diagnostics_ = diagnosticsBuilder_.build(); - } - } - - private void buildPartial0(scip.Scip.Occurrence result) { - int from_bitField0_ = bitField0_; - if (((from_bitField0_ & 0x00000001) != 0)) { - range_.makeImmutable(); - result.range_ = range_; - } - if (((from_bitField0_ & 0x00000002) != 0)) { - result.symbol_ = symbol_; - } - if (((from_bitField0_ & 0x00000004) != 0)) { - result.symbolRoles_ = symbolRoles_; - } - if (((from_bitField0_ & 0x00000008) != 0)) { - overrideDocumentation_.makeImmutable(); - result.overrideDocumentation_ = overrideDocumentation_; - } - if (((from_bitField0_ & 0x00000010) != 0)) { - result.syntaxKind_ = syntaxKind_; - } - if (((from_bitField0_ & 0x00000040) != 0)) { - enclosingRange_.makeImmutable(); - result.enclosingRange_ = enclosingRange_; - } - } - - @java.lang.Override - public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof scip.Scip.Occurrence) { - return mergeFrom((scip.Scip.Occurrence)other); - } else { - super.mergeFrom(other); - return this; - } - } - - public Builder mergeFrom(scip.Scip.Occurrence other) { - if (other == scip.Scip.Occurrence.getDefaultInstance()) return this; - if (!other.range_.isEmpty()) { - if (range_.isEmpty()) { - range_ = other.range_; - range_.makeImmutable(); - bitField0_ |= 0x00000001; - } else { - ensureRangeIsMutable(); - range_.addAll(other.range_); - } - onChanged(); - } - if (!other.getSymbol().isEmpty()) { - symbol_ = other.symbol_; - bitField0_ |= 0x00000002; - onChanged(); - } - if (other.getSymbolRoles() != 0) { - setSymbolRoles(other.getSymbolRoles()); - } - if (!other.overrideDocumentation_.isEmpty()) { - if (overrideDocumentation_.isEmpty()) { - overrideDocumentation_ = other.overrideDocumentation_; - bitField0_ |= 0x00000008; - } else { - ensureOverrideDocumentationIsMutable(); - overrideDocumentation_.addAll(other.overrideDocumentation_); - } - onChanged(); - } - if (other.syntaxKind_ != 0) { - setSyntaxKindValue(other.getSyntaxKindValue()); - } - if (diagnosticsBuilder_ == null) { - if (!other.diagnostics_.isEmpty()) { - if (diagnostics_.isEmpty()) { - diagnostics_ = other.diagnostics_; - bitField0_ = (bitField0_ & ~0x00000020); - } else { - ensureDiagnosticsIsMutable(); - diagnostics_.addAll(other.diagnostics_); - } - onChanged(); - } - } else { - if (!other.diagnostics_.isEmpty()) { - if (diagnosticsBuilder_.isEmpty()) { - diagnosticsBuilder_.dispose(); - diagnosticsBuilder_ = null; - diagnostics_ = other.diagnostics_; - bitField0_ = (bitField0_ & ~0x00000020); - diagnosticsBuilder_ = - com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ? - internalGetDiagnosticsFieldBuilder() : null; - } else { - diagnosticsBuilder_.addAllMessages(other.diagnostics_); - } - } - } - if (!other.enclosingRange_.isEmpty()) { - if (enclosingRange_.isEmpty()) { - enclosingRange_ = other.enclosingRange_; - enclosingRange_.makeImmutable(); - bitField0_ |= 0x00000040; - } else { - ensureEnclosingRangeIsMutable(); - enclosingRange_.addAll(other.enclosingRange_); - } - onChanged(); - } - this.mergeUnknownFields(other.getUnknownFields()); - 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 { - if (extensionRegistry == null) { - throw new java.lang.NullPointerException(); - } - try { - boolean done = false; - while (!done) { - int tag = input.readTag(); - switch (tag) { - case 0: - done = true; - break; - case 8: { - int v = input.readInt32(); - ensureRangeIsMutable(); - range_.addInt(v); - break; - } // case 8 - case 10: { - int length = input.readRawVarint32(); - int limit = input.pushLimit(length); - ensureRangeIsMutable(); - while (input.getBytesUntilLimit() > 0) { - range_.addInt(input.readInt32()); - } - input.popLimit(limit); - break; - } // case 10 - case 18: { - symbol_ = input.readStringRequireUtf8(); - bitField0_ |= 0x00000002; - break; - } // case 18 - case 24: { - symbolRoles_ = input.readInt32(); - bitField0_ |= 0x00000004; - break; - } // case 24 - case 34: { - java.lang.String s = input.readStringRequireUtf8(); - ensureOverrideDocumentationIsMutable(); - overrideDocumentation_.add(s); - break; - } // case 34 - case 40: { - syntaxKind_ = input.readEnum(); - bitField0_ |= 0x00000010; - break; - } // case 40 - case 50: { - scip.Scip.Diagnostic m = - input.readMessage( - scip.Scip.Diagnostic.parser(), - extensionRegistry); - if (diagnosticsBuilder_ == null) { - ensureDiagnosticsIsMutable(); - diagnostics_.add(m); - } else { - diagnosticsBuilder_.addMessage(m); - } - break; - } // case 50 - case 56: { - int v = input.readInt32(); - ensureEnclosingRangeIsMutable(); - enclosingRange_.addInt(v); - break; - } // case 56 - case 58: { - int length = input.readRawVarint32(); - int limit = input.pushLimit(length); - ensureEnclosingRangeIsMutable(); - while (input.getBytesUntilLimit() > 0) { - enclosingRange_.addInt(input.readInt32()); - } - input.popLimit(limit); - break; - } // case 58 - default: { - if (!super.parseUnknownField(input, extensionRegistry, tag)) { - done = true; // was an endgroup tag - } - break; - } // default: - } // switch (tag) - } // while (!done) - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.unwrapIOException(); - } finally { - onChanged(); - } // finally - return this; - } - private int bitField0_; - - private com.google.protobuf.Internal.IntList range_ = emptyIntList(); - private void ensureRangeIsMutable() { - if (!range_.isModifiable()) { - range_ = makeMutableCopy(range_); - } - bitField0_ |= 0x00000001; - } - /** - *
-       * Half-open [start, end) range of this occurrence. Must be exactly three or four
-       * elements:
-       *
-       * - Four elements: `[startLine, startCharacter, endLine, endCharacter]`
-       * - Three elements: `[startLine, startCharacter, endCharacter]`. The end line
-       * is inferred to have the same value as the start line.
-       *
-       * It is allowed for the range to be empty (i.e. start==end).
-       *
-       * Line numbers and characters are always 0-based. Make sure to increment the
-       * line/character values before displaying them in an editor-like UI because
-       * editors conventionally use 1-based numbers.
-       *
-       * The 'character' value is interpreted based on the PositionEncoding for
-       * the Document.
-       *
-       * Historical note: the original draft of this schema had a `Range` message
-       * type with `start` and `end` fields of type `Position`, mirroring LSP.
-       * Benchmarks revealed that this encoding was inefficient and that we could
-       * reduce the total payload size of an index by 50% by using `repeated int32`
-       * instead. The `repeated int32` encoding is admittedly more embarrassing to
-       * work with in some programming languages but we hope the performance
-       * improvements make up for it.
-       * 
- * - * repeated int32 range = 1 [json_name = "range"]; - * @return A list containing the range. - */ - public java.util.List - getRangeList() { - range_.makeImmutable(); - return range_; - } - /** - *
-       * Half-open [start, end) range of this occurrence. Must be exactly three or four
-       * elements:
-       *
-       * - Four elements: `[startLine, startCharacter, endLine, endCharacter]`
-       * - Three elements: `[startLine, startCharacter, endCharacter]`. The end line
-       * is inferred to have the same value as the start line.
-       *
-       * It is allowed for the range to be empty (i.e. start==end).
-       *
-       * Line numbers and characters are always 0-based. Make sure to increment the
-       * line/character values before displaying them in an editor-like UI because
-       * editors conventionally use 1-based numbers.
-       *
-       * The 'character' value is interpreted based on the PositionEncoding for
-       * the Document.
-       *
-       * Historical note: the original draft of this schema had a `Range` message
-       * type with `start` and `end` fields of type `Position`, mirroring LSP.
-       * Benchmarks revealed that this encoding was inefficient and that we could
-       * reduce the total payload size of an index by 50% by using `repeated int32`
-       * instead. The `repeated int32` encoding is admittedly more embarrassing to
-       * work with in some programming languages but we hope the performance
-       * improvements make up for it.
-       * 
- * - * repeated int32 range = 1 [json_name = "range"]; - * @return The count of range. - */ - public int getRangeCount() { - return range_.size(); - } - /** - *
-       * Half-open [start, end) range of this occurrence. Must be exactly three or four
-       * elements:
-       *
-       * - Four elements: `[startLine, startCharacter, endLine, endCharacter]`
-       * - Three elements: `[startLine, startCharacter, endCharacter]`. The end line
-       * is inferred to have the same value as the start line.
-       *
-       * It is allowed for the range to be empty (i.e. start==end).
-       *
-       * Line numbers and characters are always 0-based. Make sure to increment the
-       * line/character values before displaying them in an editor-like UI because
-       * editors conventionally use 1-based numbers.
-       *
-       * The 'character' value is interpreted based on the PositionEncoding for
-       * the Document.
-       *
-       * Historical note: the original draft of this schema had a `Range` message
-       * type with `start` and `end` fields of type `Position`, mirroring LSP.
-       * Benchmarks revealed that this encoding was inefficient and that we could
-       * reduce the total payload size of an index by 50% by using `repeated int32`
-       * instead. The `repeated int32` encoding is admittedly more embarrassing to
-       * work with in some programming languages but we hope the performance
-       * improvements make up for it.
-       * 
- * - * repeated int32 range = 1 [json_name = "range"]; - * @param index The index of the element to return. - * @return The range at the given index. - */ - public int getRange(int index) { - return range_.getInt(index); - } - /** - *
-       * Half-open [start, end) range of this occurrence. Must be exactly three or four
-       * elements:
-       *
-       * - Four elements: `[startLine, startCharacter, endLine, endCharacter]`
-       * - Three elements: `[startLine, startCharacter, endCharacter]`. The end line
-       * is inferred to have the same value as the start line.
-       *
-       * It is allowed for the range to be empty (i.e. start==end).
-       *
-       * Line numbers and characters are always 0-based. Make sure to increment the
-       * line/character values before displaying them in an editor-like UI because
-       * editors conventionally use 1-based numbers.
-       *
-       * The 'character' value is interpreted based on the PositionEncoding for
-       * the Document.
-       *
-       * Historical note: the original draft of this schema had a `Range` message
-       * type with `start` and `end` fields of type `Position`, mirroring LSP.
-       * Benchmarks revealed that this encoding was inefficient and that we could
-       * reduce the total payload size of an index by 50% by using `repeated int32`
-       * instead. The `repeated int32` encoding is admittedly more embarrassing to
-       * work with in some programming languages but we hope the performance
-       * improvements make up for it.
-       * 
- * - * repeated int32 range = 1 [json_name = "range"]; - * @param index The index to set the value at. - * @param value The range to set. - * @return This builder for chaining. - */ - public Builder setRange( - int index, int value) { - - ensureRangeIsMutable(); - range_.setInt(index, value); - bitField0_ |= 0x00000001; - onChanged(); - return this; - } - /** - *
-       * Half-open [start, end) range of this occurrence. Must be exactly three or four
-       * elements:
-       *
-       * - Four elements: `[startLine, startCharacter, endLine, endCharacter]`
-       * - Three elements: `[startLine, startCharacter, endCharacter]`. The end line
-       * is inferred to have the same value as the start line.
-       *
-       * It is allowed for the range to be empty (i.e. start==end).
-       *
-       * Line numbers and characters are always 0-based. Make sure to increment the
-       * line/character values before displaying them in an editor-like UI because
-       * editors conventionally use 1-based numbers.
-       *
-       * The 'character' value is interpreted based on the PositionEncoding for
-       * the Document.
-       *
-       * Historical note: the original draft of this schema had a `Range` message
-       * type with `start` and `end` fields of type `Position`, mirroring LSP.
-       * Benchmarks revealed that this encoding was inefficient and that we could
-       * reduce the total payload size of an index by 50% by using `repeated int32`
-       * instead. The `repeated int32` encoding is admittedly more embarrassing to
-       * work with in some programming languages but we hope the performance
-       * improvements make up for it.
-       * 
- * - * repeated int32 range = 1 [json_name = "range"]; - * @param value The range to add. - * @return This builder for chaining. - */ - public Builder addRange(int value) { - - ensureRangeIsMutable(); - range_.addInt(value); - bitField0_ |= 0x00000001; - onChanged(); - return this; - } - /** - *
-       * Half-open [start, end) range of this occurrence. Must be exactly three or four
-       * elements:
-       *
-       * - Four elements: `[startLine, startCharacter, endLine, endCharacter]`
-       * - Three elements: `[startLine, startCharacter, endCharacter]`. The end line
-       * is inferred to have the same value as the start line.
-       *
-       * It is allowed for the range to be empty (i.e. start==end).
-       *
-       * Line numbers and characters are always 0-based. Make sure to increment the
-       * line/character values before displaying them in an editor-like UI because
-       * editors conventionally use 1-based numbers.
-       *
-       * The 'character' value is interpreted based on the PositionEncoding for
-       * the Document.
-       *
-       * Historical note: the original draft of this schema had a `Range` message
-       * type with `start` and `end` fields of type `Position`, mirroring LSP.
-       * Benchmarks revealed that this encoding was inefficient and that we could
-       * reduce the total payload size of an index by 50% by using `repeated int32`
-       * instead. The `repeated int32` encoding is admittedly more embarrassing to
-       * work with in some programming languages but we hope the performance
-       * improvements make up for it.
-       * 
- * - * repeated int32 range = 1 [json_name = "range"]; - * @param values The range to add. - * @return This builder for chaining. - */ - public Builder addAllRange( - java.lang.Iterable values) { - ensureRangeIsMutable(); - com.google.protobuf.AbstractMessageLite.Builder.addAll( - values, range_); - bitField0_ |= 0x00000001; - onChanged(); - return this; - } - /** - *
-       * Half-open [start, end) range of this occurrence. Must be exactly three or four
-       * elements:
-       *
-       * - Four elements: `[startLine, startCharacter, endLine, endCharacter]`
-       * - Three elements: `[startLine, startCharacter, endCharacter]`. The end line
-       * is inferred to have the same value as the start line.
-       *
-       * It is allowed for the range to be empty (i.e. start==end).
-       *
-       * Line numbers and characters are always 0-based. Make sure to increment the
-       * line/character values before displaying them in an editor-like UI because
-       * editors conventionally use 1-based numbers.
-       *
-       * The 'character' value is interpreted based on the PositionEncoding for
-       * the Document.
-       *
-       * Historical note: the original draft of this schema had a `Range` message
-       * type with `start` and `end` fields of type `Position`, mirroring LSP.
-       * Benchmarks revealed that this encoding was inefficient and that we could
-       * reduce the total payload size of an index by 50% by using `repeated int32`
-       * instead. The `repeated int32` encoding is admittedly more embarrassing to
-       * work with in some programming languages but we hope the performance
-       * improvements make up for it.
-       * 
- * - * repeated int32 range = 1 [json_name = "range"]; - * @return This builder for chaining. - */ - public Builder clearRange() { - range_ = emptyIntList(); - bitField0_ = (bitField0_ & ~0x00000001); - onChanged(); - return this; - } - - private java.lang.Object symbol_ = ""; - /** - *
-       * (optional) The symbol that appears at this position. See
-       * `SymbolInformation.symbol` for how to format symbols as strings.
-       * 
- * - * string symbol = 2 [json_name = "symbol"]; - * @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; - } - } - /** - *
-       * (optional) The symbol that appears at this position. See
-       * `SymbolInformation.symbol` for how to format symbols as strings.
-       * 
- * - * string symbol = 2 [json_name = "symbol"]; - * @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; - } - } - /** - *
-       * (optional) The symbol that appears at this position. See
-       * `SymbolInformation.symbol` for how to format symbols as strings.
-       * 
- * - * string symbol = 2 [json_name = "symbol"]; - * @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; - bitField0_ |= 0x00000002; - onChanged(); - return this; - } - /** - *
-       * (optional) The symbol that appears at this position. See
-       * `SymbolInformation.symbol` for how to format symbols as strings.
-       * 
- * - * string symbol = 2 [json_name = "symbol"]; - * @return This builder for chaining. - */ - public Builder clearSymbol() { - symbol_ = getDefaultInstance().getSymbol(); - bitField0_ = (bitField0_ & ~0x00000002); - onChanged(); - return this; - } - /** - *
-       * (optional) The symbol that appears at this position. See
-       * `SymbolInformation.symbol` for how to format symbols as strings.
-       * 
- * - * string symbol = 2 [json_name = "symbol"]; - * @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; - bitField0_ |= 0x00000002; - onChanged(); - return this; - } - - private int symbolRoles_ ; - /** - *
-       * (optional) Bitset containing `SymbolRole`s in this occurrence.
-       * See `SymbolRole`'s documentation for how to read and write this field.
-       * 
- * - * int32 symbol_roles = 3 [json_name = "symbolRoles"]; - * @return The symbolRoles. - */ - @java.lang.Override - public int getSymbolRoles() { - return symbolRoles_; - } - /** - *
-       * (optional) Bitset containing `SymbolRole`s in this occurrence.
-       * See `SymbolRole`'s documentation for how to read and write this field.
-       * 
- * - * int32 symbol_roles = 3 [json_name = "symbolRoles"]; - * @param value The symbolRoles to set. - * @return This builder for chaining. - */ - public Builder setSymbolRoles(int value) { - - symbolRoles_ = value; - bitField0_ |= 0x00000004; - onChanged(); - return this; - } - /** - *
-       * (optional) Bitset containing `SymbolRole`s in this occurrence.
-       * See `SymbolRole`'s documentation for how to read and write this field.
-       * 
- * - * int32 symbol_roles = 3 [json_name = "symbolRoles"]; - * @return This builder for chaining. - */ - public Builder clearSymbolRoles() { - bitField0_ = (bitField0_ & ~0x00000004); - symbolRoles_ = 0; - onChanged(); - return this; - } - - private com.google.protobuf.LazyStringArrayList overrideDocumentation_ = - com.google.protobuf.LazyStringArrayList.emptyList(); - private void ensureOverrideDocumentationIsMutable() { - if (!overrideDocumentation_.isModifiable()) { - overrideDocumentation_ = new com.google.protobuf.LazyStringArrayList(overrideDocumentation_); - } - bitField0_ |= 0x00000008; - } - /** - *
-       * (optional) CommonMark-formatted documentation for this specific range. If
-       * empty, the `Symbol.documentation` field is used instead. One example
-       * where this field might be useful is when the symbol represents a generic
-       * function (with abstract type parameters such as `List<T>`) and at this
-       * occurrence we know the exact values (such as `List<String>`).
-       *
-       * This field can also be used for dynamically or gradually typed languages,
-       * which commonly allow for type-changing assignment.
-       * 
- * - * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; - * @return A list containing the overrideDocumentation. - */ - public com.google.protobuf.ProtocolStringList - getOverrideDocumentationList() { - overrideDocumentation_.makeImmutable(); - return overrideDocumentation_; - } - /** - *
-       * (optional) CommonMark-formatted documentation for this specific range. If
-       * empty, the `Symbol.documentation` field is used instead. One example
-       * where this field might be useful is when the symbol represents a generic
-       * function (with abstract type parameters such as `List<T>`) and at this
-       * occurrence we know the exact values (such as `List<String>`).
-       *
-       * This field can also be used for dynamically or gradually typed languages,
-       * which commonly allow for type-changing assignment.
-       * 
- * - * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; - * @return The count of overrideDocumentation. - */ - public int getOverrideDocumentationCount() { - return overrideDocumentation_.size(); - } - /** - *
-       * (optional) CommonMark-formatted documentation for this specific range. If
-       * empty, the `Symbol.documentation` field is used instead. One example
-       * where this field might be useful is when the symbol represents a generic
-       * function (with abstract type parameters such as `List<T>`) and at this
-       * occurrence we know the exact values (such as `List<String>`).
-       *
-       * This field can also be used for dynamically or gradually typed languages,
-       * which commonly allow for type-changing assignment.
-       * 
- * - * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; - * @param index The index of the element to return. - * @return The overrideDocumentation at the given index. - */ - public java.lang.String getOverrideDocumentation(int index) { - return overrideDocumentation_.get(index); - } - /** - *
-       * (optional) CommonMark-formatted documentation for this specific range. If
-       * empty, the `Symbol.documentation` field is used instead. One example
-       * where this field might be useful is when the symbol represents a generic
-       * function (with abstract type parameters such as `List<T>`) and at this
-       * occurrence we know the exact values (such as `List<String>`).
-       *
-       * This field can also be used for dynamically or gradually typed languages,
-       * which commonly allow for type-changing assignment.
-       * 
- * - * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; - * @param index The index of the value to return. - * @return The bytes of the overrideDocumentation at the given index. - */ - public com.google.protobuf.ByteString - getOverrideDocumentationBytes(int index) { - return overrideDocumentation_.getByteString(index); - } - /** - *
-       * (optional) CommonMark-formatted documentation for this specific range. If
-       * empty, the `Symbol.documentation` field is used instead. One example
-       * where this field might be useful is when the symbol represents a generic
-       * function (with abstract type parameters such as `List<T>`) and at this
-       * occurrence we know the exact values (such as `List<String>`).
-       *
-       * This field can also be used for dynamically or gradually typed languages,
-       * which commonly allow for type-changing assignment.
-       * 
- * - * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; - * @param index The index to set the value at. - * @param value The overrideDocumentation to set. - * @return This builder for chaining. - */ - public Builder setOverrideDocumentation( - int index, java.lang.String value) { - if (value == null) { throw new NullPointerException(); } - ensureOverrideDocumentationIsMutable(); - overrideDocumentation_.set(index, value); - bitField0_ |= 0x00000008; - onChanged(); - return this; - } - /** - *
-       * (optional) CommonMark-formatted documentation for this specific range. If
-       * empty, the `Symbol.documentation` field is used instead. One example
-       * where this field might be useful is when the symbol represents a generic
-       * function (with abstract type parameters such as `List<T>`) and at this
-       * occurrence we know the exact values (such as `List<String>`).
-       *
-       * This field can also be used for dynamically or gradually typed languages,
-       * which commonly allow for type-changing assignment.
-       * 
- * - * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; - * @param value The overrideDocumentation to add. - * @return This builder for chaining. - */ - public Builder addOverrideDocumentation( - java.lang.String value) { - if (value == null) { throw new NullPointerException(); } - ensureOverrideDocumentationIsMutable(); - overrideDocumentation_.add(value); - bitField0_ |= 0x00000008; - onChanged(); - return this; - } - /** - *
-       * (optional) CommonMark-formatted documentation for this specific range. If
-       * empty, the `Symbol.documentation` field is used instead. One example
-       * where this field might be useful is when the symbol represents a generic
-       * function (with abstract type parameters such as `List<T>`) and at this
-       * occurrence we know the exact values (such as `List<String>`).
-       *
-       * This field can also be used for dynamically or gradually typed languages,
-       * which commonly allow for type-changing assignment.
-       * 
- * - * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; - * @param values The overrideDocumentation to add. - * @return This builder for chaining. - */ - public Builder addAllOverrideDocumentation( - java.lang.Iterable values) { - ensureOverrideDocumentationIsMutable(); - com.google.protobuf.AbstractMessageLite.Builder.addAll( - values, overrideDocumentation_); - bitField0_ |= 0x00000008; - onChanged(); - return this; - } - /** - *
-       * (optional) CommonMark-formatted documentation for this specific range. If
-       * empty, the `Symbol.documentation` field is used instead. One example
-       * where this field might be useful is when the symbol represents a generic
-       * function (with abstract type parameters such as `List<T>`) and at this
-       * occurrence we know the exact values (such as `List<String>`).
-       *
-       * This field can also be used for dynamically or gradually typed languages,
-       * which commonly allow for type-changing assignment.
-       * 
- * - * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; - * @return This builder for chaining. - */ - public Builder clearOverrideDocumentation() { - overrideDocumentation_ = - com.google.protobuf.LazyStringArrayList.emptyList(); - bitField0_ = (bitField0_ & ~0x00000008);; - onChanged(); - return this; - } - /** - *
-       * (optional) CommonMark-formatted documentation for this specific range. If
-       * empty, the `Symbol.documentation` field is used instead. One example
-       * where this field might be useful is when the symbol represents a generic
-       * function (with abstract type parameters such as `List<T>`) and at this
-       * occurrence we know the exact values (such as `List<String>`).
-       *
-       * This field can also be used for dynamically or gradually typed languages,
-       * which commonly allow for type-changing assignment.
-       * 
- * - * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; - * @param value The bytes of the overrideDocumentation to add. - * @return This builder for chaining. - */ - public Builder addOverrideDocumentationBytes( - com.google.protobuf.ByteString value) { - if (value == null) { throw new NullPointerException(); } - checkByteStringIsUtf8(value); - ensureOverrideDocumentationIsMutable(); - overrideDocumentation_.add(value); - bitField0_ |= 0x00000008; - onChanged(); - return this; - } - - private int syntaxKind_ = 0; - /** - *
-       * (optional) What syntax highlighting class should be used for this range?
-       * 
- * - * .scip.SyntaxKind syntax_kind = 5 [json_name = "syntaxKind"]; - * @return The enum numeric value on the wire for syntaxKind. - */ - @java.lang.Override public int getSyntaxKindValue() { - return syntaxKind_; - } - /** - *
-       * (optional) What syntax highlighting class should be used for this range?
-       * 
- * - * .scip.SyntaxKind syntax_kind = 5 [json_name = "syntaxKind"]; - * @param value The enum numeric value on the wire for syntaxKind to set. - * @return This builder for chaining. - */ - public Builder setSyntaxKindValue(int value) { - syntaxKind_ = value; - bitField0_ |= 0x00000010; - onChanged(); - return this; - } - /** - *
-       * (optional) What syntax highlighting class should be used for this range?
-       * 
- * - * .scip.SyntaxKind syntax_kind = 5 [json_name = "syntaxKind"]; - * @return The syntaxKind. - */ - @java.lang.Override - public scip.Scip.SyntaxKind getSyntaxKind() { - scip.Scip.SyntaxKind result = scip.Scip.SyntaxKind.forNumber(syntaxKind_); - return result == null ? scip.Scip.SyntaxKind.UNRECOGNIZED : result; - } - /** - *
-       * (optional) What syntax highlighting class should be used for this range?
-       * 
- * - * .scip.SyntaxKind syntax_kind = 5 [json_name = "syntaxKind"]; - * @param value The syntaxKind to set. - * @return This builder for chaining. - */ - public Builder setSyntaxKind(scip.Scip.SyntaxKind value) { - if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000010; - syntaxKind_ = value.getNumber(); - onChanged(); - return this; - } - /** - *
-       * (optional) What syntax highlighting class should be used for this range?
-       * 
- * - * .scip.SyntaxKind syntax_kind = 5 [json_name = "syntaxKind"]; - * @return This builder for chaining. - */ - public Builder clearSyntaxKind() { - bitField0_ = (bitField0_ & ~0x00000010); - syntaxKind_ = 0; - onChanged(); - return this; - } - - private java.util.List diagnostics_ = - java.util.Collections.emptyList(); - private void ensureDiagnosticsIsMutable() { - if (!((bitField0_ & 0x00000020) != 0)) { - diagnostics_ = new java.util.ArrayList(diagnostics_); - bitField0_ |= 0x00000020; - } - } - - private com.google.protobuf.RepeatedFieldBuilder< - scip.Scip.Diagnostic, scip.Scip.Diagnostic.Builder, scip.Scip.DiagnosticOrBuilder> diagnosticsBuilder_; - - /** - *
-       * (optional) Diagnostics that have been reported for this specific range.
-       * 
- * - * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; - */ - public java.util.List getDiagnosticsList() { - if (diagnosticsBuilder_ == null) { - return java.util.Collections.unmodifiableList(diagnostics_); - } else { - return diagnosticsBuilder_.getMessageList(); - } - } - /** - *
-       * (optional) Diagnostics that have been reported for this specific range.
-       * 
- * - * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; - */ - public int getDiagnosticsCount() { - if (diagnosticsBuilder_ == null) { - return diagnostics_.size(); - } else { - return diagnosticsBuilder_.getCount(); - } - } - /** - *
-       * (optional) Diagnostics that have been reported for this specific range.
-       * 
- * - * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; - */ - public scip.Scip.Diagnostic getDiagnostics(int index) { - if (diagnosticsBuilder_ == null) { - return diagnostics_.get(index); - } else { - return diagnosticsBuilder_.getMessage(index); - } - } - /** - *
-       * (optional) Diagnostics that have been reported for this specific range.
-       * 
- * - * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; - */ - public Builder setDiagnostics( - int index, scip.Scip.Diagnostic value) { - if (diagnosticsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureDiagnosticsIsMutable(); - diagnostics_.set(index, value); - onChanged(); - } else { - diagnosticsBuilder_.setMessage(index, value); - } - return this; - } - /** - *
-       * (optional) Diagnostics that have been reported for this specific range.
-       * 
- * - * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; - */ - public Builder setDiagnostics( - int index, scip.Scip.Diagnostic.Builder builderForValue) { - if (diagnosticsBuilder_ == null) { - ensureDiagnosticsIsMutable(); - diagnostics_.set(index, builderForValue.build()); - onChanged(); - } else { - diagnosticsBuilder_.setMessage(index, builderForValue.build()); - } - return this; - } - /** - *
-       * (optional) Diagnostics that have been reported for this specific range.
-       * 
- * - * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; - */ - public Builder addDiagnostics(scip.Scip.Diagnostic value) { - if (diagnosticsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureDiagnosticsIsMutable(); - diagnostics_.add(value); - onChanged(); - } else { - diagnosticsBuilder_.addMessage(value); - } - return this; - } - /** - *
-       * (optional) Diagnostics that have been reported for this specific range.
-       * 
- * - * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; - */ - public Builder addDiagnostics( - int index, scip.Scip.Diagnostic value) { - if (diagnosticsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureDiagnosticsIsMutable(); - diagnostics_.add(index, value); - onChanged(); - } else { - diagnosticsBuilder_.addMessage(index, value); - } - return this; - } - /** - *
-       * (optional) Diagnostics that have been reported for this specific range.
-       * 
- * - * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; - */ - public Builder addDiagnostics( - scip.Scip.Diagnostic.Builder builderForValue) { - if (diagnosticsBuilder_ == null) { - ensureDiagnosticsIsMutable(); - diagnostics_.add(builderForValue.build()); - onChanged(); - } else { - diagnosticsBuilder_.addMessage(builderForValue.build()); - } - return this; - } - /** - *
-       * (optional) Diagnostics that have been reported for this specific range.
-       * 
- * - * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; - */ - public Builder addDiagnostics( - int index, scip.Scip.Diagnostic.Builder builderForValue) { - if (diagnosticsBuilder_ == null) { - ensureDiagnosticsIsMutable(); - diagnostics_.add(index, builderForValue.build()); - onChanged(); - } else { - diagnosticsBuilder_.addMessage(index, builderForValue.build()); - } - return this; - } - /** - *
-       * (optional) Diagnostics that have been reported for this specific range.
-       * 
- * - * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; - */ - public Builder addAllDiagnostics( - java.lang.Iterable values) { - if (diagnosticsBuilder_ == null) { - ensureDiagnosticsIsMutable(); - com.google.protobuf.AbstractMessageLite.Builder.addAll( - values, diagnostics_); - onChanged(); - } else { - diagnosticsBuilder_.addAllMessages(values); - } - return this; - } - /** - *
-       * (optional) Diagnostics that have been reported for this specific range.
-       * 
- * - * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; - */ - public Builder clearDiagnostics() { - if (diagnosticsBuilder_ == null) { - diagnostics_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000020); - onChanged(); - } else { - diagnosticsBuilder_.clear(); - } - return this; - } - /** - *
-       * (optional) Diagnostics that have been reported for this specific range.
-       * 
- * - * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; - */ - public Builder removeDiagnostics(int index) { - if (diagnosticsBuilder_ == null) { - ensureDiagnosticsIsMutable(); - diagnostics_.remove(index); - onChanged(); - } else { - diagnosticsBuilder_.remove(index); - } - return this; - } - /** - *
-       * (optional) Diagnostics that have been reported for this specific range.
-       * 
- * - * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; - */ - public scip.Scip.Diagnostic.Builder getDiagnosticsBuilder( - int index) { - return internalGetDiagnosticsFieldBuilder().getBuilder(index); - } - /** - *
-       * (optional) Diagnostics that have been reported for this specific range.
-       * 
- * - * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; - */ - public scip.Scip.DiagnosticOrBuilder getDiagnosticsOrBuilder( - int index) { - if (diagnosticsBuilder_ == null) { - return diagnostics_.get(index); } else { - return diagnosticsBuilder_.getMessageOrBuilder(index); - } - } - /** - *
-       * (optional) Diagnostics that have been reported for this specific range.
-       * 
- * - * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; - */ - public java.util.List - getDiagnosticsOrBuilderList() { - if (diagnosticsBuilder_ != null) { - return diagnosticsBuilder_.getMessageOrBuilderList(); - } else { - return java.util.Collections.unmodifiableList(diagnostics_); - } - } - /** - *
-       * (optional) Diagnostics that have been reported for this specific range.
-       * 
- * - * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; - */ - public scip.Scip.Diagnostic.Builder addDiagnosticsBuilder() { - return internalGetDiagnosticsFieldBuilder().addBuilder( - scip.Scip.Diagnostic.getDefaultInstance()); - } - /** - *
-       * (optional) Diagnostics that have been reported for this specific range.
-       * 
- * - * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; - */ - public scip.Scip.Diagnostic.Builder addDiagnosticsBuilder( - int index) { - return internalGetDiagnosticsFieldBuilder().addBuilder( - index, scip.Scip.Diagnostic.getDefaultInstance()); - } - /** - *
-       * (optional) Diagnostics that have been reported for this specific range.
-       * 
- * - * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; - */ - public java.util.List - getDiagnosticsBuilderList() { - return internalGetDiagnosticsFieldBuilder().getBuilderList(); - } - private com.google.protobuf.RepeatedFieldBuilder< - scip.Scip.Diagnostic, scip.Scip.Diagnostic.Builder, scip.Scip.DiagnosticOrBuilder> - internalGetDiagnosticsFieldBuilder() { - if (diagnosticsBuilder_ == null) { - diagnosticsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder< - scip.Scip.Diagnostic, scip.Scip.Diagnostic.Builder, scip.Scip.DiagnosticOrBuilder>( - diagnostics_, - ((bitField0_ & 0x00000020) != 0), - getParentForChildren(), - isClean()); - diagnostics_ = null; - } - return diagnosticsBuilder_; - } - - private com.google.protobuf.Internal.IntList enclosingRange_ = emptyIntList(); - private void ensureEnclosingRangeIsMutable() { - if (!enclosingRange_.isModifiable()) { - enclosingRange_ = makeMutableCopy(enclosingRange_); - } - bitField0_ |= 0x00000040; - } - /** - *
-       * (optional) Using the same encoding as the sibling `range` field, half-open
-       * source range of the nearest non-trivial enclosing AST node. This range must
-       * enclose the `range` field. Example applications that make use of the
-       * enclosing_range field:
-       *
-       * - Call hierarchies: to determine what symbols are references from the body
-       * of a function
-       * - Symbol outline: to display breadcrumbs from the cursor position to the
-       * root of the file
-       * - Expand selection: to select the nearest enclosing AST node.
-       * - Highlight range: to indicate the AST expression that is associated with a
-       * hover popover
-       *
-       * For definition occurrences, the enclosing range should indicate the
-       * start/end bounds of the entire definition AST node, including
-       * documentation.
-       * ```
-       * const n = 3
-       * ^ range
-       * ^^^^^^^^^^^ enclosing_range
-       *
-       * /** Parses the string into something */
-       * ^ enclosing_range start --------------------------------------|
-       * function parse(input string): string {                        |
-       * ^^^^^ range                                          |
-       * return input.slice(n)                                     |
-       * }                                                             |
-       * ^ enclosing_range end <---------------------------------------|
-       * ```
-       *
-       * Any attributes/decorators/attached macros should also be part of the
-       * enclosing range.
-       *
-       * ```python
-       * @cache
-       * ^ enclosing_range start---------------------|
-       * def factorial(n):                           |
-       * return n * factorial(n-1) if n else 1   |
-       * < enclosing_range end-----------------------|
-       *
-       * ```
-       *
-       * For reference occurrences, the enclosing range should indicate the start/end
-       * bounds of the parent expression.
-       * ```
-       * const a = a.b
-       * ^ range
-       * ^^^ enclosing_range
-       * const b = a.b(41).f(42).g(43)
-       * ^ range
-       * ^^^^^^^^^^^^^ enclosing_range
-       * ```
-       * 
- * - * repeated int32 enclosing_range = 7 [json_name = "enclosingRange"]; - * @return A list containing the enclosingRange. - */ - public java.util.List - getEnclosingRangeList() { - enclosingRange_.makeImmutable(); - return enclosingRange_; - } - /** - *
-       * (optional) Using the same encoding as the sibling `range` field, half-open
-       * source range of the nearest non-trivial enclosing AST node. This range must
-       * enclose the `range` field. Example applications that make use of the
-       * enclosing_range field:
-       *
-       * - Call hierarchies: to determine what symbols are references from the body
-       * of a function
-       * - Symbol outline: to display breadcrumbs from the cursor position to the
-       * root of the file
-       * - Expand selection: to select the nearest enclosing AST node.
-       * - Highlight range: to indicate the AST expression that is associated with a
-       * hover popover
-       *
-       * For definition occurrences, the enclosing range should indicate the
-       * start/end bounds of the entire definition AST node, including
-       * documentation.
-       * ```
-       * const n = 3
-       * ^ range
-       * ^^^^^^^^^^^ enclosing_range
-       *
-       * /** Parses the string into something */
-       * ^ enclosing_range start --------------------------------------|
-       * function parse(input string): string {                        |
-       * ^^^^^ range                                          |
-       * return input.slice(n)                                     |
-       * }                                                             |
-       * ^ enclosing_range end <---------------------------------------|
-       * ```
-       *
-       * Any attributes/decorators/attached macros should also be part of the
-       * enclosing range.
-       *
-       * ```python
-       * @cache
-       * ^ enclosing_range start---------------------|
-       * def factorial(n):                           |
-       * return n * factorial(n-1) if n else 1   |
-       * < enclosing_range end-----------------------|
-       *
-       * ```
-       *
-       * For reference occurrences, the enclosing range should indicate the start/end
-       * bounds of the parent expression.
-       * ```
-       * const a = a.b
-       * ^ range
-       * ^^^ enclosing_range
-       * const b = a.b(41).f(42).g(43)
-       * ^ range
-       * ^^^^^^^^^^^^^ enclosing_range
-       * ```
-       * 
- * - * repeated int32 enclosing_range = 7 [json_name = "enclosingRange"]; - * @return The count of enclosingRange. - */ - public int getEnclosingRangeCount() { - return enclosingRange_.size(); - } - /** - *
-       * (optional) Using the same encoding as the sibling `range` field, half-open
-       * source range of the nearest non-trivial enclosing AST node. This range must
-       * enclose the `range` field. Example applications that make use of the
-       * enclosing_range field:
-       *
-       * - Call hierarchies: to determine what symbols are references from the body
-       * of a function
-       * - Symbol outline: to display breadcrumbs from the cursor position to the
-       * root of the file
-       * - Expand selection: to select the nearest enclosing AST node.
-       * - Highlight range: to indicate the AST expression that is associated with a
-       * hover popover
-       *
-       * For definition occurrences, the enclosing range should indicate the
-       * start/end bounds of the entire definition AST node, including
-       * documentation.
-       * ```
-       * const n = 3
-       * ^ range
-       * ^^^^^^^^^^^ enclosing_range
-       *
-       * /** Parses the string into something */
-       * ^ enclosing_range start --------------------------------------|
-       * function parse(input string): string {                        |
-       * ^^^^^ range                                          |
-       * return input.slice(n)                                     |
-       * }                                                             |
-       * ^ enclosing_range end <---------------------------------------|
-       * ```
-       *
-       * Any attributes/decorators/attached macros should also be part of the
-       * enclosing range.
-       *
-       * ```python
-       * @cache
-       * ^ enclosing_range start---------------------|
-       * def factorial(n):                           |
-       * return n * factorial(n-1) if n else 1   |
-       * < enclosing_range end-----------------------|
-       *
-       * ```
-       *
-       * For reference occurrences, the enclosing range should indicate the start/end
-       * bounds of the parent expression.
-       * ```
-       * const a = a.b
-       * ^ range
-       * ^^^ enclosing_range
-       * const b = a.b(41).f(42).g(43)
-       * ^ range
-       * ^^^^^^^^^^^^^ enclosing_range
-       * ```
-       * 
- * - * repeated int32 enclosing_range = 7 [json_name = "enclosingRange"]; - * @param index The index of the element to return. - * @return The enclosingRange at the given index. - */ - public int getEnclosingRange(int index) { - return enclosingRange_.getInt(index); - } - /** - *
-       * (optional) Using the same encoding as the sibling `range` field, half-open
-       * source range of the nearest non-trivial enclosing AST node. This range must
-       * enclose the `range` field. Example applications that make use of the
-       * enclosing_range field:
-       *
-       * - Call hierarchies: to determine what symbols are references from the body
-       * of a function
-       * - Symbol outline: to display breadcrumbs from the cursor position to the
-       * root of the file
-       * - Expand selection: to select the nearest enclosing AST node.
-       * - Highlight range: to indicate the AST expression that is associated with a
-       * hover popover
-       *
-       * For definition occurrences, the enclosing range should indicate the
-       * start/end bounds of the entire definition AST node, including
-       * documentation.
-       * ```
-       * const n = 3
-       * ^ range
-       * ^^^^^^^^^^^ enclosing_range
-       *
-       * /** Parses the string into something */
-       * ^ enclosing_range start --------------------------------------|
-       * function parse(input string): string {                        |
-       * ^^^^^ range                                          |
-       * return input.slice(n)                                     |
-       * }                                                             |
-       * ^ enclosing_range end <---------------------------------------|
-       * ```
-       *
-       * Any attributes/decorators/attached macros should also be part of the
-       * enclosing range.
-       *
-       * ```python
-       * @cache
-       * ^ enclosing_range start---------------------|
-       * def factorial(n):                           |
-       * return n * factorial(n-1) if n else 1   |
-       * < enclosing_range end-----------------------|
-       *
-       * ```
-       *
-       * For reference occurrences, the enclosing range should indicate the start/end
-       * bounds of the parent expression.
-       * ```
-       * const a = a.b
-       * ^ range
-       * ^^^ enclosing_range
-       * const b = a.b(41).f(42).g(43)
-       * ^ range
-       * ^^^^^^^^^^^^^ enclosing_range
-       * ```
-       * 
- * - * repeated int32 enclosing_range = 7 [json_name = "enclosingRange"]; - * @param index The index to set the value at. - * @param value The enclosingRange to set. - * @return This builder for chaining. - */ - public Builder setEnclosingRange( - int index, int value) { - - ensureEnclosingRangeIsMutable(); - enclosingRange_.setInt(index, value); - bitField0_ |= 0x00000040; - onChanged(); - return this; - } - /** - *
-       * (optional) Using the same encoding as the sibling `range` field, half-open
-       * source range of the nearest non-trivial enclosing AST node. This range must
-       * enclose the `range` field. Example applications that make use of the
-       * enclosing_range field:
-       *
-       * - Call hierarchies: to determine what symbols are references from the body
-       * of a function
-       * - Symbol outline: to display breadcrumbs from the cursor position to the
-       * root of the file
-       * - Expand selection: to select the nearest enclosing AST node.
-       * - Highlight range: to indicate the AST expression that is associated with a
-       * hover popover
-       *
-       * For definition occurrences, the enclosing range should indicate the
-       * start/end bounds of the entire definition AST node, including
-       * documentation.
-       * ```
-       * const n = 3
-       * ^ range
-       * ^^^^^^^^^^^ enclosing_range
-       *
-       * /** Parses the string into something */
-       * ^ enclosing_range start --------------------------------------|
-       * function parse(input string): string {                        |
-       * ^^^^^ range                                          |
-       * return input.slice(n)                                     |
-       * }                                                             |
-       * ^ enclosing_range end <---------------------------------------|
-       * ```
-       *
-       * Any attributes/decorators/attached macros should also be part of the
-       * enclosing range.
-       *
-       * ```python
-       * @cache
-       * ^ enclosing_range start---------------------|
-       * def factorial(n):                           |
-       * return n * factorial(n-1) if n else 1   |
-       * < enclosing_range end-----------------------|
-       *
-       * ```
-       *
-       * For reference occurrences, the enclosing range should indicate the start/end
-       * bounds of the parent expression.
-       * ```
-       * const a = a.b
-       * ^ range
-       * ^^^ enclosing_range
-       * const b = a.b(41).f(42).g(43)
-       * ^ range
-       * ^^^^^^^^^^^^^ enclosing_range
-       * ```
-       * 
- * - * repeated int32 enclosing_range = 7 [json_name = "enclosingRange"]; - * @param value The enclosingRange to add. - * @return This builder for chaining. - */ - public Builder addEnclosingRange(int value) { - - ensureEnclosingRangeIsMutable(); - enclosingRange_.addInt(value); - bitField0_ |= 0x00000040; - onChanged(); - return this; - } - /** - *
-       * (optional) Using the same encoding as the sibling `range` field, half-open
-       * source range of the nearest non-trivial enclosing AST node. This range must
-       * enclose the `range` field. Example applications that make use of the
-       * enclosing_range field:
-       *
-       * - Call hierarchies: to determine what symbols are references from the body
-       * of a function
-       * - Symbol outline: to display breadcrumbs from the cursor position to the
-       * root of the file
-       * - Expand selection: to select the nearest enclosing AST node.
-       * - Highlight range: to indicate the AST expression that is associated with a
-       * hover popover
-       *
-       * For definition occurrences, the enclosing range should indicate the
-       * start/end bounds of the entire definition AST node, including
-       * documentation.
-       * ```
-       * const n = 3
-       * ^ range
-       * ^^^^^^^^^^^ enclosing_range
-       *
-       * /** Parses the string into something */
-       * ^ enclosing_range start --------------------------------------|
-       * function parse(input string): string {                        |
-       * ^^^^^ range                                          |
-       * return input.slice(n)                                     |
-       * }                                                             |
-       * ^ enclosing_range end <---------------------------------------|
-       * ```
-       *
-       * Any attributes/decorators/attached macros should also be part of the
-       * enclosing range.
-       *
-       * ```python
-       * @cache
-       * ^ enclosing_range start---------------------|
-       * def factorial(n):                           |
-       * return n * factorial(n-1) if n else 1   |
-       * < enclosing_range end-----------------------|
-       *
-       * ```
-       *
-       * For reference occurrences, the enclosing range should indicate the start/end
-       * bounds of the parent expression.
-       * ```
-       * const a = a.b
-       * ^ range
-       * ^^^ enclosing_range
-       * const b = a.b(41).f(42).g(43)
-       * ^ range
-       * ^^^^^^^^^^^^^ enclosing_range
-       * ```
-       * 
- * - * repeated int32 enclosing_range = 7 [json_name = "enclosingRange"]; - * @param values The enclosingRange to add. - * @return This builder for chaining. - */ - public Builder addAllEnclosingRange( - java.lang.Iterable values) { - ensureEnclosingRangeIsMutable(); - com.google.protobuf.AbstractMessageLite.Builder.addAll( - values, enclosingRange_); - bitField0_ |= 0x00000040; - onChanged(); - return this; - } - /** - *
-       * (optional) Using the same encoding as the sibling `range` field, half-open
-       * source range of the nearest non-trivial enclosing AST node. This range must
-       * enclose the `range` field. Example applications that make use of the
-       * enclosing_range field:
-       *
-       * - Call hierarchies: to determine what symbols are references from the body
-       * of a function
-       * - Symbol outline: to display breadcrumbs from the cursor position to the
-       * root of the file
-       * - Expand selection: to select the nearest enclosing AST node.
-       * - Highlight range: to indicate the AST expression that is associated with a
-       * hover popover
-       *
-       * For definition occurrences, the enclosing range should indicate the
-       * start/end bounds of the entire definition AST node, including
-       * documentation.
-       * ```
-       * const n = 3
-       * ^ range
-       * ^^^^^^^^^^^ enclosing_range
-       *
-       * /** Parses the string into something */
-       * ^ enclosing_range start --------------------------------------|
-       * function parse(input string): string {                        |
-       * ^^^^^ range                                          |
-       * return input.slice(n)                                     |
-       * }                                                             |
-       * ^ enclosing_range end <---------------------------------------|
-       * ```
-       *
-       * Any attributes/decorators/attached macros should also be part of the
-       * enclosing range.
-       *
-       * ```python
-       * @cache
-       * ^ enclosing_range start---------------------|
-       * def factorial(n):                           |
-       * return n * factorial(n-1) if n else 1   |
-       * < enclosing_range end-----------------------|
-       *
-       * ```
-       *
-       * For reference occurrences, the enclosing range should indicate the start/end
-       * bounds of the parent expression.
-       * ```
-       * const a = a.b
-       * ^ range
-       * ^^^ enclosing_range
-       * const b = a.b(41).f(42).g(43)
-       * ^ range
-       * ^^^^^^^^^^^^^ enclosing_range
-       * ```
-       * 
- * - * repeated int32 enclosing_range = 7 [json_name = "enclosingRange"]; - * @return This builder for chaining. - */ - public Builder clearEnclosingRange() { - enclosingRange_ = emptyIntList(); - bitField0_ = (bitField0_ & ~0x00000040); - onChanged(); - return this; - } - - // @@protoc_insertion_point(builder_scope:scip.Occurrence) - } - - // @@protoc_insertion_point(class_scope:scip.Occurrence) - private static final scip.Scip.Occurrence DEFAULT_INSTANCE; - static { - DEFAULT_INSTANCE = new scip.Scip.Occurrence(); - } - - public static scip.Scip.Occurrence getDefaultInstance() { - return DEFAULT_INSTANCE; - } - - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { - @java.lang.Override - public Occurrence parsePartialFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - Builder builder = newBuilder(); - try { - builder.mergeFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.setUnfinishedMessage(builder.buildPartial()); - } catch (com.google.protobuf.UninitializedMessageException e) { - throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); - } catch (java.io.IOException e) { - throw new com.google.protobuf.InvalidProtocolBufferException(e) - .setUnfinishedMessage(builder.buildPartial()); - } - return builder.buildPartial(); - } - }; - - public static com.google.protobuf.Parser parser() { - return PARSER; - } - - @java.lang.Override - public com.google.protobuf.Parser getParserForType() { - return PARSER; - } - - @java.lang.Override - public scip.Scip.Occurrence getDefaultInstanceForType() { - return DEFAULT_INSTANCE; - } - - } - - public interface DiagnosticOrBuilder extends - // @@protoc_insertion_point(interface_extends:scip.Diagnostic) - com.google.protobuf.MessageOrBuilder { - - /** - *
-     * Should this diagnostic be reported as an error, warning, info, or hint?
-     * 
- * - * .scip.Severity severity = 1 [json_name = "severity"]; - * @return The enum numeric value on the wire for severity. - */ - int getSeverityValue(); - /** - *
-     * Should this diagnostic be reported as an error, warning, info, or hint?
-     * 
- * - * .scip.Severity severity = 1 [json_name = "severity"]; - * @return The severity. - */ - scip.Scip.Severity getSeverity(); - - /** - *
-     * (optional) Code of this diagnostic, which might appear in the user interface.
-     * 
- * - * string code = 2 [json_name = "code"]; - * @return The code. - */ - java.lang.String getCode(); - /** - *
-     * (optional) Code of this diagnostic, which might appear in the user interface.
-     * 
- * - * string code = 2 [json_name = "code"]; - * @return The bytes for code. - */ - com.google.protobuf.ByteString - getCodeBytes(); - - /** - *
-     * Message of this diagnostic.
-     * 
- * - * string message = 3 [json_name = "message"]; - * @return The message. - */ - java.lang.String getMessage(); - /** - *
-     * Message of this diagnostic.
-     * 
- * - * string message = 3 [json_name = "message"]; - * @return The bytes for message. - */ - com.google.protobuf.ByteString - getMessageBytes(); - - /** - *
-     * (optional) Human-readable string describing the source of this diagnostic, e.g.
-     * 'typescript' or 'super lint'.
-     * 
- * - * string source = 4 [json_name = "source"]; - * @return The source. - */ - java.lang.String getSource(); - /** - *
-     * (optional) Human-readable string describing the source of this diagnostic, e.g.
-     * 'typescript' or 'super lint'.
-     * 
- * - * string source = 4 [json_name = "source"]; - * @return The bytes for source. - */ - com.google.protobuf.ByteString - getSourceBytes(); - - /** - * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; - * @return A list containing the tags. - */ - java.util.List getTagsList(); - /** - * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; - * @return The count of tags. - */ - int getTagsCount(); - /** - * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; - * @param index The index of the element to return. - * @return The tags at the given index. - */ - scip.Scip.DiagnosticTag getTags(int index); - /** - * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; - * @return A list containing the enum numeric values on the wire for tags. - */ - java.util.List - getTagsValueList(); - /** - * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; - * @param index The index of the value to return. - * @return The enum numeric value on the wire of tags at the given index. - */ - int getTagsValue(int index); - } - /** - *
-   * Represents a diagnostic, such as a compiler error or warning, which should be
-   * reported for a document.
-   * 
- * - * Protobuf type {@code scip.Diagnostic} - */ - public static final class Diagnostic extends - com.google.protobuf.GeneratedMessage implements - // @@protoc_insertion_point(message_implements:scip.Diagnostic) - DiagnosticOrBuilder { - private static final long serialVersionUID = 0L; - static { - com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( - com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, - /* major= */ 4, - /* minor= */ 32, - /* patch= */ 1, - /* suffix= */ "", - Diagnostic.class.getName()); - } - // Use Diagnostic.newBuilder() to construct. - private Diagnostic(com.google.protobuf.GeneratedMessage.Builder builder) { - super(builder); - } - private Diagnostic() { - severity_ = 0; - code_ = ""; - message_ = ""; - source_ = ""; - tags_ = emptyIntList(); - } - - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return scip.Scip.internal_static_scip_Diagnostic_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessage.FieldAccessorTable - internalGetFieldAccessorTable() { - return scip.Scip.internal_static_scip_Diagnostic_fieldAccessorTable - .ensureFieldAccessorsInitialized( - scip.Scip.Diagnostic.class, scip.Scip.Diagnostic.Builder.class); - } - - public static final int SEVERITY_FIELD_NUMBER = 1; - private int severity_ = 0; - /** - *
-     * Should this diagnostic be reported as an error, warning, info, or hint?
-     * 
- * - * .scip.Severity severity = 1 [json_name = "severity"]; - * @return The enum numeric value on the wire for severity. - */ - @java.lang.Override public int getSeverityValue() { - return severity_; - } - /** - *
-     * Should this diagnostic be reported as an error, warning, info, or hint?
-     * 
- * - * .scip.Severity severity = 1 [json_name = "severity"]; - * @return The severity. - */ - @java.lang.Override public scip.Scip.Severity getSeverity() { - scip.Scip.Severity result = scip.Scip.Severity.forNumber(severity_); - return result == null ? scip.Scip.Severity.UNRECOGNIZED : result; - } - - public static final int CODE_FIELD_NUMBER = 2; - @SuppressWarnings("serial") - private volatile java.lang.Object code_ = ""; - /** - *
-     * (optional) Code of this diagnostic, which might appear in the user interface.
-     * 
- * - * string code = 2 [json_name = "code"]; - * @return The code. - */ - @java.lang.Override - public java.lang.String getCode() { - java.lang.Object ref = code_; - 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(); - code_ = s; - return s; - } - } - /** - *
-     * (optional) Code of this diagnostic, which might appear in the user interface.
-     * 
- * - * string code = 2 [json_name = "code"]; - * @return The bytes for code. - */ - @java.lang.Override - public com.google.protobuf.ByteString - getCodeBytes() { - java.lang.Object ref = code_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - code_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - - public static final int MESSAGE_FIELD_NUMBER = 3; - @SuppressWarnings("serial") - private volatile java.lang.Object message_ = ""; - /** - *
-     * Message of this diagnostic.
-     * 
- * - * string message = 3 [json_name = "message"]; - * @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; - } - } - /** - *
-     * Message of this diagnostic.
-     * 
- * - * string message = 3 [json_name = "message"]; - * @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 SOURCE_FIELD_NUMBER = 4; - @SuppressWarnings("serial") - private volatile java.lang.Object source_ = ""; - /** - *
-     * (optional) Human-readable string describing the source of this diagnostic, e.g.
-     * 'typescript' or 'super lint'.
-     * 
- * - * string source = 4 [json_name = "source"]; - * @return The source. - */ - @java.lang.Override - public java.lang.String getSource() { - java.lang.Object ref = source_; - 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(); - source_ = s; - return s; - } - } - /** - *
-     * (optional) Human-readable string describing the source of this diagnostic, e.g.
-     * 'typescript' or 'super lint'.
-     * 
- * - * string source = 4 [json_name = "source"]; - * @return The bytes for source. - */ - @java.lang.Override - public com.google.protobuf.ByteString - getSourceBytes() { - java.lang.Object ref = source_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - source_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - - public static final int TAGS_FIELD_NUMBER = 5; - @SuppressWarnings("serial") - private com.google.protobuf.Internal.IntList tags_ = - emptyIntList(); - private static final com.google.protobuf.Internal.IntListAdapter.IntConverter< - scip.Scip.DiagnosticTag> tags_converter_ = - new com.google.protobuf.Internal.IntListAdapter.IntConverter< - scip.Scip.DiagnosticTag>() { - public scip.Scip.DiagnosticTag convert(int from) { - scip.Scip.DiagnosticTag result = scip.Scip.DiagnosticTag.forNumber(from); - return result == null ? scip.Scip.DiagnosticTag.UNRECOGNIZED : result; - } - }; - /** - * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; - * @return A list containing the tags. - */ - @java.lang.Override - public java.util.List getTagsList() { - return new com.google.protobuf.Internal.IntListAdapter< - scip.Scip.DiagnosticTag>(tags_, tags_converter_); - } - /** - * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; - * @return The count of tags. - */ - @java.lang.Override - public int getTagsCount() { - return tags_.size(); - } - /** - * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; - * @param index The index of the element to return. - * @return The tags at the given index. - */ - @java.lang.Override - public scip.Scip.DiagnosticTag getTags(int index) { - return tags_converter_.convert(tags_.getInt(index)); - } - /** - * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; - * @return A list containing the enum numeric values on the wire for tags. - */ - @java.lang.Override - public java.util.List - getTagsValueList() { - return tags_; - } - /** - * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; - * @param index The index of the value to return. - * @return The enum numeric value on the wire of tags at the given index. - */ - @java.lang.Override - public int getTagsValue(int index) { - return tags_.getInt(index); - } - private int tagsMemoizedSerializedSize; - - 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 { - getSerializedSize(); - if (severity_ != scip.Scip.Severity.UnspecifiedSeverity.getNumber()) { - output.writeEnum(1, severity_); - } - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(code_)) { - com.google.protobuf.GeneratedMessage.writeString(output, 2, code_); - } - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(message_)) { - com.google.protobuf.GeneratedMessage.writeString(output, 3, message_); - } - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(source_)) { - com.google.protobuf.GeneratedMessage.writeString(output, 4, source_); - } - if (getTagsList().size() > 0) { - output.writeUInt32NoTag(42); - output.writeUInt32NoTag(tagsMemoizedSerializedSize); - } - for (int i = 0; i < tags_.size(); i++) { - output.writeEnumNoTag(tags_.getInt(i)); - } - getUnknownFields().writeTo(output); - } - - @java.lang.Override - public int getSerializedSize() { - int size = memoizedSize; - if (size != -1) return size; - - size = 0; - if (severity_ != scip.Scip.Severity.UnspecifiedSeverity.getNumber()) { - size += com.google.protobuf.CodedOutputStream - .computeEnumSize(1, severity_); - } - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(code_)) { - size += com.google.protobuf.GeneratedMessage.computeStringSize(2, code_); - } - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(message_)) { - size += com.google.protobuf.GeneratedMessage.computeStringSize(3, message_); - } - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(source_)) { - size += com.google.protobuf.GeneratedMessage.computeStringSize(4, source_); - } - { - int dataSize = 0; - for (int i = 0; i < tags_.size(); i++) { - dataSize += com.google.protobuf.CodedOutputStream - .computeEnumSizeNoTag(tags_.getInt(i)); - } - size += dataSize; - if (!getTagsList().isEmpty()) { size += 1; - size += com.google.protobuf.CodedOutputStream - .computeUInt32SizeNoTag(dataSize); - }tagsMemoizedSerializedSize = dataSize; - } - size += getUnknownFields().getSerializedSize(); - memoizedSize = size; - return size; - } - - @java.lang.Override - public boolean equals(final java.lang.Object obj) { - if (obj == this) { - return true; - } - if (!(obj instanceof scip.Scip.Diagnostic)) { - return super.equals(obj); - } - scip.Scip.Diagnostic other = (scip.Scip.Diagnostic) obj; - - if (severity_ != other.severity_) return false; - if (!getCode() - .equals(other.getCode())) return false; - if (!getMessage() - .equals(other.getMessage())) return false; - if (!getSource() - .equals(other.getSource())) return false; - if (!tags_.equals(other.tags_)) return false; - if (!getUnknownFields().equals(other.getUnknownFields())) 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) + SEVERITY_FIELD_NUMBER; - hash = (53 * hash) + severity_; - hash = (37 * hash) + CODE_FIELD_NUMBER; - hash = (53 * hash) + getCode().hashCode(); - hash = (37 * hash) + MESSAGE_FIELD_NUMBER; - hash = (53 * hash) + getMessage().hashCode(); - hash = (37 * hash) + SOURCE_FIELD_NUMBER; - hash = (53 * hash) + getSource().hashCode(); - if (getTagsCount() > 0) { - hash = (37 * hash) + TAGS_FIELD_NUMBER; - hash = (53 * hash) + tags_.hashCode(); - } - hash = (29 * hash) + getUnknownFields().hashCode(); - memoizedHashCode = hash; - return hash; - } - - public static scip.Scip.Diagnostic parseFrom( - java.nio.ByteBuffer data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static scip.Scip.Diagnostic parseFrom( - java.nio.ByteBuffer data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static scip.Scip.Diagnostic parseFrom( - com.google.protobuf.ByteString data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static scip.Scip.Diagnostic parseFrom( - com.google.protobuf.ByteString data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static scip.Scip.Diagnostic parseFrom(byte[] data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static scip.Scip.Diagnostic parseFrom( - byte[] data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static scip.Scip.Diagnostic parseFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input); - } - public static scip.Scip.Diagnostic parseFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input, extensionRegistry); - } - - public static scip.Scip.Diagnostic parseDelimitedFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseDelimitedWithIOException(PARSER, input); - } - - public static scip.Scip.Diagnostic parseDelimitedFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseDelimitedWithIOException(PARSER, input, extensionRegistry); - } - public static scip.Scip.Diagnostic parseFrom( - com.google.protobuf.CodedInputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input); - } - public static scip.Scip.Diagnostic parseFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input, extensionRegistry); - } - - @java.lang.Override - public Builder newBuilderForType() { return newBuilder(); } - public static Builder newBuilder() { - return DEFAULT_INSTANCE.toBuilder(); - } - public static Builder newBuilder(scip.Scip.Diagnostic 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.GeneratedMessage.BuilderParent parent) { - Builder builder = new Builder(parent); - return builder; - } - /** - *
-     * Represents a diagnostic, such as a compiler error or warning, which should be
-     * reported for a document.
-     * 
- * - * Protobuf type {@code scip.Diagnostic} - */ - public static final class Builder extends - com.google.protobuf.GeneratedMessage.Builder implements - // @@protoc_insertion_point(builder_implements:scip.Diagnostic) - scip.Scip.DiagnosticOrBuilder { - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return scip.Scip.internal_static_scip_Diagnostic_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessage.FieldAccessorTable - internalGetFieldAccessorTable() { - return scip.Scip.internal_static_scip_Diagnostic_fieldAccessorTable - .ensureFieldAccessorsInitialized( - scip.Scip.Diagnostic.class, scip.Scip.Diagnostic.Builder.class); - } - - // Construct using scip.Scip.Diagnostic.newBuilder() - private Builder() { - - } - - private Builder( - com.google.protobuf.GeneratedMessage.BuilderParent parent) { - super(parent); - - } - @java.lang.Override - public Builder clear() { - super.clear(); - bitField0_ = 0; - severity_ = 0; - code_ = ""; - message_ = ""; - source_ = ""; - tags_ = emptyIntList(); - return this; - } - - @java.lang.Override - public com.google.protobuf.Descriptors.Descriptor - getDescriptorForType() { - return scip.Scip.internal_static_scip_Diagnostic_descriptor; - } - - @java.lang.Override - public scip.Scip.Diagnostic getDefaultInstanceForType() { - return scip.Scip.Diagnostic.getDefaultInstance(); - } - - @java.lang.Override - public scip.Scip.Diagnostic build() { - scip.Scip.Diagnostic result = buildPartial(); - if (!result.isInitialized()) { - throw newUninitializedMessageException(result); - } - return result; - } - - @java.lang.Override - public scip.Scip.Diagnostic buildPartial() { - scip.Scip.Diagnostic result = new scip.Scip.Diagnostic(this); - if (bitField0_ != 0) { buildPartial0(result); } - onBuilt(); - return result; - } - - private void buildPartial0(scip.Scip.Diagnostic result) { - int from_bitField0_ = bitField0_; - if (((from_bitField0_ & 0x00000001) != 0)) { - result.severity_ = severity_; - } - if (((from_bitField0_ & 0x00000002) != 0)) { - result.code_ = code_; - } - if (((from_bitField0_ & 0x00000004) != 0)) { - result.message_ = message_; - } - if (((from_bitField0_ & 0x00000008) != 0)) { - result.source_ = source_; - } - if (((from_bitField0_ & 0x00000010) != 0)) { - tags_.makeImmutable(); - result.tags_ = tags_; - } - } - - @java.lang.Override - public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof scip.Scip.Diagnostic) { - return mergeFrom((scip.Scip.Diagnostic)other); - } else { - super.mergeFrom(other); - return this; - } - } - - public Builder mergeFrom(scip.Scip.Diagnostic other) { - if (other == scip.Scip.Diagnostic.getDefaultInstance()) return this; - if (other.severity_ != 0) { - setSeverityValue(other.getSeverityValue()); - } - if (!other.getCode().isEmpty()) { - code_ = other.code_; - bitField0_ |= 0x00000002; - onChanged(); - } - if (!other.getMessage().isEmpty()) { - message_ = other.message_; - bitField0_ |= 0x00000004; - onChanged(); - } - if (!other.getSource().isEmpty()) { - source_ = other.source_; - bitField0_ |= 0x00000008; - onChanged(); - } - if (!other.tags_.isEmpty()) { - if (tags_.isEmpty()) { - tags_ = other.tags_; - tags_.makeImmutable(); - bitField0_ |= 0x00000010; - } else { - ensureTagsIsMutable(); - tags_.addAll(other.tags_); - } - onChanged(); - } - this.mergeUnknownFields(other.getUnknownFields()); - 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 { - if (extensionRegistry == null) { - throw new java.lang.NullPointerException(); - } - try { - boolean done = false; - while (!done) { - int tag = input.readTag(); - switch (tag) { - case 0: - done = true; - break; - case 8: { - severity_ = input.readEnum(); - bitField0_ |= 0x00000001; - break; - } // case 8 - case 18: { - code_ = input.readStringRequireUtf8(); - bitField0_ |= 0x00000002; - break; - } // case 18 - case 26: { - message_ = input.readStringRequireUtf8(); - bitField0_ |= 0x00000004; - break; - } // case 26 - case 34: { - source_ = input.readStringRequireUtf8(); - bitField0_ |= 0x00000008; - break; - } // case 34 - case 40: { - int tmpRaw = input.readEnum(); - ensureTagsIsMutable(); - tags_.addInt(tmpRaw); - break; - } // case 40 - case 42: { - int length = input.readRawVarint32(); - int limit = input.pushLimit(length); - ensureTagsIsMutable(); - while (input.getBytesUntilLimit() > 0) { - tags_.addInt(input.readEnum()); - } - input.popLimit(limit); - break; - } // case 42 - default: { - if (!super.parseUnknownField(input, extensionRegistry, tag)) { - done = true; // was an endgroup tag - } - break; - } // default: - } // switch (tag) - } // while (!done) - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.unwrapIOException(); - } finally { - onChanged(); - } // finally - return this; - } - private int bitField0_; - - private int severity_ = 0; - /** - *
-       * Should this diagnostic be reported as an error, warning, info, or hint?
-       * 
- * - * .scip.Severity severity = 1 [json_name = "severity"]; - * @return The enum numeric value on the wire for severity. - */ - @java.lang.Override public int getSeverityValue() { - return severity_; - } - /** - *
-       * Should this diagnostic be reported as an error, warning, info, or hint?
-       * 
- * - * .scip.Severity severity = 1 [json_name = "severity"]; - * @param value The enum numeric value on the wire for severity to set. - * @return This builder for chaining. - */ - public Builder setSeverityValue(int value) { - severity_ = value; - bitField0_ |= 0x00000001; - onChanged(); - return this; - } - /** - *
-       * Should this diagnostic be reported as an error, warning, info, or hint?
-       * 
- * - * .scip.Severity severity = 1 [json_name = "severity"]; - * @return The severity. - */ - @java.lang.Override - public scip.Scip.Severity getSeverity() { - scip.Scip.Severity result = scip.Scip.Severity.forNumber(severity_); - return result == null ? scip.Scip.Severity.UNRECOGNIZED : result; - } - /** - *
-       * Should this diagnostic be reported as an error, warning, info, or hint?
-       * 
- * - * .scip.Severity severity = 1 [json_name = "severity"]; - * @param value The severity to set. - * @return This builder for chaining. - */ - public Builder setSeverity(scip.Scip.Severity value) { - if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000001; - severity_ = value.getNumber(); - onChanged(); - return this; - } - /** - *
-       * Should this diagnostic be reported as an error, warning, info, or hint?
-       * 
- * - * .scip.Severity severity = 1 [json_name = "severity"]; - * @return This builder for chaining. - */ - public Builder clearSeverity() { - bitField0_ = (bitField0_ & ~0x00000001); - severity_ = 0; - onChanged(); - return this; - } - - private java.lang.Object code_ = ""; - /** - *
-       * (optional) Code of this diagnostic, which might appear in the user interface.
-       * 
- * - * string code = 2 [json_name = "code"]; - * @return The code. - */ - public java.lang.String getCode() { - java.lang.Object ref = code_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - code_ = s; - return s; - } else { - return (java.lang.String) ref; - } - } - /** - *
-       * (optional) Code of this diagnostic, which might appear in the user interface.
-       * 
- * - * string code = 2 [json_name = "code"]; - * @return The bytes for code. - */ - public com.google.protobuf.ByteString - getCodeBytes() { - java.lang.Object ref = code_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - code_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - /** - *
-       * (optional) Code of this diagnostic, which might appear in the user interface.
-       * 
- * - * string code = 2 [json_name = "code"]; - * @param value The code to set. - * @return This builder for chaining. - */ - public Builder setCode( - java.lang.String value) { - if (value == null) { throw new NullPointerException(); } - code_ = value; - bitField0_ |= 0x00000002; - onChanged(); - return this; - } - /** - *
-       * (optional) Code of this diagnostic, which might appear in the user interface.
-       * 
- * - * string code = 2 [json_name = "code"]; - * @return This builder for chaining. - */ - public Builder clearCode() { - code_ = getDefaultInstance().getCode(); - bitField0_ = (bitField0_ & ~0x00000002); - onChanged(); - return this; - } - /** - *
-       * (optional) Code of this diagnostic, which might appear in the user interface.
-       * 
- * - * string code = 2 [json_name = "code"]; - * @param value The bytes for code to set. - * @return This builder for chaining. - */ - public Builder setCodeBytes( - com.google.protobuf.ByteString value) { - if (value == null) { throw new NullPointerException(); } - checkByteStringIsUtf8(value); - code_ = value; - bitField0_ |= 0x00000002; - onChanged(); - return this; - } - - private java.lang.Object message_ = ""; - /** - *
-       * Message of this diagnostic.
-       * 
- * - * string message = 3 [json_name = "message"]; - * @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; - } - } - /** - *
-       * Message of this diagnostic.
-       * 
- * - * string message = 3 [json_name = "message"]; - * @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; - } - } - /** - *
-       * Message of this diagnostic.
-       * 
- * - * string message = 3 [json_name = "message"]; - * @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; - bitField0_ |= 0x00000004; - onChanged(); - return this; - } - /** - *
-       * Message of this diagnostic.
-       * 
- * - * string message = 3 [json_name = "message"]; - * @return This builder for chaining. - */ - public Builder clearMessage() { - message_ = getDefaultInstance().getMessage(); - bitField0_ = (bitField0_ & ~0x00000004); - onChanged(); - return this; - } - /** - *
-       * Message of this diagnostic.
-       * 
- * - * string message = 3 [json_name = "message"]; - * @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; - bitField0_ |= 0x00000004; - onChanged(); - return this; - } - - private java.lang.Object source_ = ""; - /** - *
-       * (optional) Human-readable string describing the source of this diagnostic, e.g.
-       * 'typescript' or 'super lint'.
-       * 
- * - * string source = 4 [json_name = "source"]; - * @return The source. - */ - public java.lang.String getSource() { - java.lang.Object ref = source_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - source_ = s; - return s; - } else { - return (java.lang.String) ref; - } - } - /** - *
-       * (optional) Human-readable string describing the source of this diagnostic, e.g.
-       * 'typescript' or 'super lint'.
-       * 
- * - * string source = 4 [json_name = "source"]; - * @return The bytes for source. - */ - public com.google.protobuf.ByteString - getSourceBytes() { - java.lang.Object ref = source_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - source_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - /** - *
-       * (optional) Human-readable string describing the source of this diagnostic, e.g.
-       * 'typescript' or 'super lint'.
-       * 
- * - * string source = 4 [json_name = "source"]; - * @param value The source to set. - * @return This builder for chaining. - */ - public Builder setSource( - java.lang.String value) { - if (value == null) { throw new NullPointerException(); } - source_ = value; - bitField0_ |= 0x00000008; - onChanged(); - return this; - } - /** - *
-       * (optional) Human-readable string describing the source of this diagnostic, e.g.
-       * 'typescript' or 'super lint'.
-       * 
- * - * string source = 4 [json_name = "source"]; - * @return This builder for chaining. - */ - public Builder clearSource() { - source_ = getDefaultInstance().getSource(); - bitField0_ = (bitField0_ & ~0x00000008); - onChanged(); - return this; - } - /** - *
-       * (optional) Human-readable string describing the source of this diagnostic, e.g.
-       * 'typescript' or 'super lint'.
-       * 
- * - * string source = 4 [json_name = "source"]; - * @param value The bytes for source to set. - * @return This builder for chaining. - */ - public Builder setSourceBytes( - com.google.protobuf.ByteString value) { - if (value == null) { throw new NullPointerException(); } - checkByteStringIsUtf8(value); - source_ = value; - bitField0_ |= 0x00000008; - onChanged(); - return this; - } - - private com.google.protobuf.Internal.IntList tags_ = emptyIntList(); - private void ensureTagsIsMutable() { - if (!tags_.isModifiable()) { - tags_ = makeMutableCopy(tags_); - } - bitField0_ |= 0x00000010; - } - /** - * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; - * @return A list containing the tags. - */ - public java.util.List getTagsList() { - return new com.google.protobuf.Internal.IntListAdapter< - scip.Scip.DiagnosticTag>(tags_, tags_converter_); - } - /** - * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; - * @return The count of tags. - */ - public int getTagsCount() { - return tags_.size(); - } - /** - * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; - * @param index The index of the element to return. - * @return The tags at the given index. - */ - public scip.Scip.DiagnosticTag getTags(int index) { - return tags_converter_.convert(tags_.getInt(index)); - } - /** - * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; - * @param index The index to set the value at. - * @param value The tags to set. - * @return This builder for chaining. - */ - public Builder setTags( - int index, scip.Scip.DiagnosticTag value) { - if (value == null) { throw new NullPointerException(); } - ensureTagsIsMutable(); - tags_.setInt(index, value.getNumber()); - onChanged(); - return this; - } - /** - * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; - * @param value The tags to add. - * @return This builder for chaining. - */ - public Builder addTags(scip.Scip.DiagnosticTag value) { - if (value == null) { throw new NullPointerException(); } - ensureTagsIsMutable(); - tags_.addInt(value.getNumber()); - onChanged(); - return this; - } - /** - * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; - * @param values The tags to add. - * @return This builder for chaining. - */ - public Builder addAllTags( - java.lang.Iterable values) { - ensureTagsIsMutable(); - for (scip.Scip.DiagnosticTag value : values) { - tags_.addInt(value.getNumber()); - } - onChanged(); - return this; - } - /** - * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; - * @return This builder for chaining. - */ - public Builder clearTags() { - tags_ = emptyIntList(); - bitField0_ = (bitField0_ & ~0x00000010); - onChanged(); - return this; - } - /** - * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; - * @return A list containing the enum numeric values on the wire for tags. - */ - public java.util.List - getTagsValueList() { - tags_.makeImmutable(); - return tags_; - } - /** - * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; - * @param index The index of the value to return. - * @return The enum numeric value on the wire of tags at the given index. - */ - public int getTagsValue(int index) { - return tags_.getInt(index); - } - /** - * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; - * @param index The index to set the value at. - * @param value The enum numeric value on the wire for tags to set. - * @return This builder for chaining. - */ - public Builder setTagsValue( - int index, int value) { - ensureTagsIsMutable(); - tags_.setInt(index, value); - onChanged(); - return this; - } - /** - * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; - * @param value The enum numeric value on the wire for tags to add. - * @return This builder for chaining. - */ - public Builder addTagsValue(int value) { - ensureTagsIsMutable(); - tags_.addInt(value); - onChanged(); - return this; - } - /** - * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; - * @param values The enum numeric values on the wire for tags to add. - * @return This builder for chaining. - */ - public Builder addAllTagsValue( - java.lang.Iterable values) { - ensureTagsIsMutable(); - for (int value : values) { - tags_.addInt(value); - } - onChanged(); - return this; - } - - // @@protoc_insertion_point(builder_scope:scip.Diagnostic) - } - - // @@protoc_insertion_point(class_scope:scip.Diagnostic) - private static final scip.Scip.Diagnostic DEFAULT_INSTANCE; - static { - DEFAULT_INSTANCE = new scip.Scip.Diagnostic(); - } - - public static scip.Scip.Diagnostic getDefaultInstance() { - return DEFAULT_INSTANCE; - } - - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { - @java.lang.Override - public Diagnostic parsePartialFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - Builder builder = newBuilder(); - try { - builder.mergeFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.setUnfinishedMessage(builder.buildPartial()); - } catch (com.google.protobuf.UninitializedMessageException e) { - throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); - } catch (java.io.IOException e) { - throw new com.google.protobuf.InvalidProtocolBufferException(e) - .setUnfinishedMessage(builder.buildPartial()); - } - return builder.buildPartial(); - } - }; - - public static com.google.protobuf.Parser parser() { - return PARSER; - } - - @java.lang.Override - public com.google.protobuf.Parser getParserForType() { - return PARSER; - } - - @java.lang.Override - public scip.Scip.Diagnostic getDefaultInstanceForType() { - return DEFAULT_INSTANCE; - } - - } - - private static final com.google.protobuf.Descriptors.Descriptor - internal_static_scip_Index_descriptor; - private static final - com.google.protobuf.GeneratedMessage.FieldAccessorTable - internal_static_scip_Index_fieldAccessorTable; - private static final com.google.protobuf.Descriptors.Descriptor - internal_static_scip_Metadata_descriptor; - private static final - com.google.protobuf.GeneratedMessage.FieldAccessorTable - internal_static_scip_Metadata_fieldAccessorTable; - private static final com.google.protobuf.Descriptors.Descriptor - internal_static_scip_ToolInfo_descriptor; - private static final - com.google.protobuf.GeneratedMessage.FieldAccessorTable - internal_static_scip_ToolInfo_fieldAccessorTable; - private static final com.google.protobuf.Descriptors.Descriptor - internal_static_scip_Document_descriptor; - private static final - com.google.protobuf.GeneratedMessage.FieldAccessorTable - internal_static_scip_Document_fieldAccessorTable; - private static final com.google.protobuf.Descriptors.Descriptor - internal_static_scip_Symbol_descriptor; - private static final - com.google.protobuf.GeneratedMessage.FieldAccessorTable - internal_static_scip_Symbol_fieldAccessorTable; - private static final com.google.protobuf.Descriptors.Descriptor - internal_static_scip_Package_descriptor; - private static final - com.google.protobuf.GeneratedMessage.FieldAccessorTable - internal_static_scip_Package_fieldAccessorTable; - private static final com.google.protobuf.Descriptors.Descriptor - internal_static_scip_Descriptor_descriptor; - private static final - com.google.protobuf.GeneratedMessage.FieldAccessorTable - internal_static_scip_Descriptor_fieldAccessorTable; - private static final com.google.protobuf.Descriptors.Descriptor - internal_static_scip_Signature_descriptor; - private static final - com.google.protobuf.GeneratedMessage.FieldAccessorTable - internal_static_scip_Signature_fieldAccessorTable; - private static final com.google.protobuf.Descriptors.Descriptor - internal_static_scip_SymbolInformation_descriptor; - private static final - com.google.protobuf.GeneratedMessage.FieldAccessorTable - internal_static_scip_SymbolInformation_fieldAccessorTable; - private static final com.google.protobuf.Descriptors.Descriptor - internal_static_scip_Relationship_descriptor; - private static final - com.google.protobuf.GeneratedMessage.FieldAccessorTable - internal_static_scip_Relationship_fieldAccessorTable; - private static final com.google.protobuf.Descriptors.Descriptor - internal_static_scip_Occurrence_descriptor; - private static final - com.google.protobuf.GeneratedMessage.FieldAccessorTable - internal_static_scip_Occurrence_fieldAccessorTable; - private static final com.google.protobuf.Descriptors.Descriptor - internal_static_scip_Diagnostic_descriptor; - private static final - com.google.protobuf.GeneratedMessage.FieldAccessorTable - internal_static_scip_Diagnostic_fieldAccessorTable; - - public static com.google.protobuf.Descriptors.FileDescriptor - getDescriptor() { - return descriptor; - } - private static com.google.protobuf.Descriptors.FileDescriptor - descriptor; - static { - java.lang.String[] descriptorData = { - "\n\nscip.proto\022\004scip\"\245\001\n\005Index\022*\n\010metadata" + - "\030\001 \001(\0132\016.scip.MetadataR\010metadata\022,\n\tdocu" + - "ments\030\002 \003(\0132\016.scip.DocumentR\tdocuments\022B" + - "\n\020external_symbols\030\003 \003(\0132\027.scip.SymbolIn" + - "formationR\017externalSymbols\"\325\001\n\010Metadata\022" + - "/\n\007version\030\001 \001(\0162\025.scip.ProtocolVersionR" + - "\007version\022+\n\ttool_info\030\002 \001(\0132\016.scip.ToolI" + - "nfoR\010toolInfo\022!\n\014project_root\030\003 \001(\tR\013pro" + - "jectRoot\022H\n\026text_document_encoding\030\004 \001(\016" + - "2\022.scip.TextEncodingR\024textDocumentEncodi" + - "ng\"V\n\010ToolInfo\022\022\n\004name\030\001 \001(\tR\004name\022\030\n\007ve" + - "rsion\030\002 \001(\tR\007version\022\034\n\targuments\030\003 \003(\tR" + - "\targuments\"\213\002\n\010Document\022\032\n\010language\030\004 \001(" + - "\tR\010language\022#\n\rrelative_path\030\001 \001(\tR\014rela" + - "tivePath\0222\n\013occurrences\030\002 \003(\0132\020.scip.Occ" + - "urrenceR\013occurrences\0221\n\007symbols\030\003 \003(\0132\027." + - "scip.SymbolInformationR\007symbols\022\022\n\004text\030" + - "\005 \001(\tR\004text\022C\n\021position_encoding\030\006 \001(\0162\026" + - ".scip.PositionEncodingR\020positionEncoding" + - "\"}\n\006Symbol\022\026\n\006scheme\030\001 \001(\tR\006scheme\022\'\n\007pa" + - "ckage\030\002 \001(\0132\r.scip.PackageR\007package\0222\n\013d" + - "escriptors\030\003 \003(\0132\020.scip.DescriptorR\013desc" + - "riptors\"Q\n\007Package\022\030\n\007manager\030\001 \001(\tR\007man" + - "ager\022\022\n\004name\030\002 \001(\tR\004name\022\030\n\007version\030\003 \001(" + - "\tR\007version\"\237\002\n\nDescriptor\022\022\n\004name\030\001 \001(\tR" + - "\004name\022$\n\rdisambiguator\030\002 \001(\tR\rdisambigua" + - "tor\022/\n\006suffix\030\003 \001(\0162\027.scip.Descriptor.Su" + - "ffixR\006suffix\"\245\001\n\006Suffix\022\025\n\021UnspecifiedSu" + - "ffix\020\000\022\r\n\tNamespace\020\001\022\017\n\007Package\020\001\032\002\010\001\022\010" + - "\n\004Type\020\002\022\010\n\004Term\020\003\022\n\n\006Method\020\004\022\021\n\rTypePa" + - "rameter\020\005\022\r\n\tParameter\020\006\022\010\n\004Meta\020\007\022\t\n\005Lo" + - "cal\020\010\022\t\n\005Macro\020\t\032\002\020\001\"\201\001\n\tSignature\022\032\n\010la" + - "nguage\030\004 \001(\tR\010language\022\022\n\004text\030\005 \001(\tR\004te" + - "xt\0222\n\013occurrences\030\002 \003(\0132\020.scip.Occurrenc" + - "eR\013occurrencesJ\004\010\001\020\002J\004\010\003\020\004J\004\010\006\020\007\"\323\014\n\021Sym" + - "bolInformation\022\026\n\006symbol\030\001 \001(\tR\006symbol\022$" + - "\n\rdocumentation\030\003 \003(\tR\rdocumentation\0228\n\r" + - "relationships\030\004 \003(\0132\022.scip.RelationshipR" + - "\rrelationships\0220\n\004kind\030\005 \001(\0162\034.scip.Symb" + - "olInformation.KindR\004kind\022!\n\014display_name" + - "\030\006 \001(\tR\013displayName\022H\n\027signature_documen" + - "tation\030\007 \001(\0132\017.scip.SignatureR\026signature" + - "Documentation\022)\n\020enclosing_symbol\030\010 \001(\tR" + - "\017enclosingSymbol\"\373\t\n\004Kind\022\023\n\017Unspecified" + - "Kind\020\000\022\022\n\016AbstractMethod\020B\022\014\n\010Accessor\020H" + - "\022\t\n\005Array\020\001\022\r\n\tAssertion\020\002\022\022\n\016Associated" + - "Type\020\003\022\r\n\tAttribute\020\004\022\t\n\005Axiom\020\005\022\013\n\007Bool" + - "ean\020\006\022\t\n\005Class\020\007\022\013\n\007Concept\020V\022\014\n\010Constan" + - "t\020\010\022\017\n\013Constructor\020\t\022\014\n\010Contract\020>\022\016\n\nDa" + - "taFamily\020\n\022\014\n\010Delegate\020I\022\010\n\004Enum\020\013\022\016\n\nEn" + - "umMember\020\014\022\t\n\005Error\020?\022\t\n\005Event\020\r\022\r\n\tExte" + - "nsion\020T\022\010\n\004Fact\020\016\022\t\n\005Field\020\017\022\010\n\004File\020\020\022\014" + - "\n\010Function\020\021\022\n\n\006Getter\020\022\022\013\n\007Grammar\020\023\022\014\n" + - "\010Instance\020\024\022\r\n\tInterface\020\025\022\007\n\003Key\020\026\022\010\n\004L" + - "ang\020\027\022\t\n\005Lemma\020\030\022\013\n\007Library\020@\022\t\n\005Macro\020\031" + - "\022\n\n\006Method\020\032\022\017\n\013MethodAlias\020J\022\022\n\016MethodR" + - "eceiver\020\033\022\027\n\023MethodSpecification\020C\022\013\n\007Me" + - "ssage\020\034\022\t\n\005Mixin\020U\022\014\n\010Modifier\020A\022\n\n\006Modu" + - "le\020\035\022\r\n\tNamespace\020\036\022\010\n\004Null\020\037\022\n\n\006Number\020" + - " \022\n\n\006Object\020!\022\014\n\010Operator\020\"\022\013\n\007Package\020#" + - "\022\021\n\rPackageObject\020$\022\r\n\tParameter\020%\022\022\n\016Pa" + - "rameterLabel\020&\022\013\n\007Pattern\020\'\022\r\n\tPredicate" + - "\020(\022\014\n\010Property\020)\022\014\n\010Protocol\020*\022\022\n\016Protoc" + - "olMethod\020D\022\025\n\021PureVirtualMethod\020E\022\017\n\013Qua" + - "siquoter\020+\022\021\n\rSelfParameter\020,\022\n\n\006Setter\020" + - "-\022\r\n\tSignature\020.\022\022\n\016SingletonClass\020K\022\023\n\017" + - "SingletonMethod\020L\022\024\n\020StaticDataMember\020M\022" + - "\017\n\013StaticEvent\020N\022\017\n\013StaticField\020O\022\020\n\014Sta" + - "ticMethod\020P\022\022\n\016StaticProperty\020Q\022\022\n\016Stati" + - "cVariable\020R\022\n\n\006String\0200\022\n\n\006Struct\0201\022\r\n\tS" + - "ubscript\020/\022\n\n\006Tactic\0202\022\013\n\007Theorem\0203\022\021\n\rT" + - "hisParameter\0204\022\t\n\005Trait\0205\022\017\n\013TraitMethod" + - "\020F\022\010\n\004Type\0206\022\r\n\tTypeAlias\0207\022\r\n\tTypeClass" + - "\0208\022\023\n\017TypeClassMethod\020G\022\016\n\nTypeFamily\0209\022" + - "\021\n\rTypeParameter\020:\022\t\n\005Union\020;\022\t\n\005Value\020<" + - "\022\014\n\010Variable\020=\"\311\001\n\014Relationship\022\026\n\006symbo" + - "l\030\001 \001(\tR\006symbol\022!\n\014is_reference\030\002 \001(\010R\013i" + - "sReference\022+\n\021is_implementation\030\003 \001(\010R\020i" + - "sImplementation\022,\n\022is_type_definition\030\004 " + - "\001(\010R\020isTypeDefinition\022#\n\ris_definition\030\005" + - " \001(\010R\014isDefinition\"\244\002\n\nOccurrence\022\024\n\005ran" + - "ge\030\001 \003(\005R\005range\022\026\n\006symbol\030\002 \001(\tR\006symbol\022" + - "!\n\014symbol_roles\030\003 \001(\005R\013symbolRoles\0225\n\026ov" + - "erride_documentation\030\004 \003(\tR\025overrideDocu" + - "mentation\0221\n\013syntax_kind\030\005 \001(\0162\020.scip.Sy" + - "ntaxKindR\nsyntaxKind\0222\n\013diagnostics\030\006 \003(" + - "\0132\020.scip.DiagnosticR\013diagnostics\022\'\n\017encl" + - "osing_range\030\007 \003(\005R\016enclosingRange\"\247\001\n\nDi" + - "agnostic\022*\n\010severity\030\001 \001(\0162\016.scip.Severi" + - "tyR\010severity\022\022\n\004code\030\002 \001(\tR\004code\022\030\n\007mess" + - "age\030\003 \001(\tR\007message\022\026\n\006source\030\004 \001(\tR\006sour" + - "ce\022\'\n\004tags\030\005 \003(\0162\023.scip.DiagnosticTagR\004t" + - "ags*1\n\017ProtocolVersion\022\036\n\032UnspecifiedPro" + - "tocolVersion\020\000*@\n\014TextEncoding\022\033\n\027Unspec" + - "ifiedTextEncoding\020\000\022\010\n\004UTF8\020\001\022\t\n\005UTF16\020\002" + - "*\244\001\n\020PositionEncoding\022\037\n\033UnspecifiedPosi" + - "tionEncoding\020\000\022#\n\037UTF8CodeUnitOffsetFrom" + - "LineStart\020\001\022$\n UTF16CodeUnitOffsetFromLi" + - "neStart\020\002\022$\n UTF32CodeUnitOffsetFromLine" + - "Start\020\003*\224\001\n\nSymbolRole\022\031\n\025UnspecifiedSym" + - "bolRole\020\000\022\016\n\nDefinition\020\001\022\n\n\006Import\020\002\022\017\n" + - "\013WriteAccess\020\004\022\016\n\nReadAccess\020\010\022\r\n\tGenera" + - "ted\020\020\022\010\n\004Test\020 \022\025\n\021ForwardDefinition\020@*\352" + - "\006\n\nSyntaxKind\022\031\n\025UnspecifiedSyntaxKind\020\000" + - "\022\013\n\007Comment\020\001\022\030\n\024PunctuationDelimiter\020\002\022" + - "\026\n\022PunctuationBracket\020\003\022\013\n\007Keyword\020\004\022\031\n\021" + - "IdentifierKeyword\020\004\032\002\010\001\022\026\n\022IdentifierOpe" + - "rator\020\005\022\016\n\nIdentifier\020\006\022\025\n\021IdentifierBui" + - "ltin\020\007\022\022\n\016IdentifierNull\020\010\022\026\n\022Identifier" + - "Constant\020\t\022\033\n\027IdentifierMutableGlobal\020\n\022" + - "\027\n\023IdentifierParameter\020\013\022\023\n\017IdentifierLo" + - "cal\020\014\022\026\n\022IdentifierShadowed\020\r\022\027\n\023Identif" + - "ierNamespace\020\016\022\030\n\020IdentifierModule\020\016\032\002\010\001" + - "\022\026\n\022IdentifierFunction\020\017\022 \n\034IdentifierFu" + - "nctionDefinition\020\020\022\023\n\017IdentifierMacro\020\021\022" + - "\035\n\031IdentifierMacroDefinition\020\022\022\022\n\016Identi" + - "fierType\020\023\022\031\n\025IdentifierBuiltinType\020\024\022\027\n" + - "\023IdentifierAttribute\020\025\022\017\n\013RegexEscape\020\026\022" + - "\021\n\rRegexRepeated\020\027\022\021\n\rRegexWildcard\020\030\022\022\n" + - "\016RegexDelimiter\020\031\022\r\n\tRegexJoin\020\032\022\021\n\rStri" + - "ngLiteral\020\033\022\027\n\023StringLiteralEscape\020\034\022\030\n\024" + - "StringLiteralSpecial\020\035\022\024\n\020StringLiteralK" + - "ey\020\036\022\024\n\020CharacterLiteral\020\037\022\022\n\016NumericLit" + - "eral\020 \022\022\n\016BooleanLiteral\020!\022\007\n\003Tag\020\"\022\020\n\014T" + - "agAttribute\020#\022\020\n\014TagDelimiter\020$\032\002\020\001*V\n\010S" + - "everity\022\027\n\023UnspecifiedSeverity\020\000\022\t\n\005Erro" + - "r\020\001\022\013\n\007Warning\020\002\022\017\n\013Information\020\003\022\010\n\004Hin" + - "t\020\004*N\n\rDiagnosticTag\022\034\n\030UnspecifiedDiagn" + - "osticTag\020\000\022\017\n\013Unnecessary\020\001\022\016\n\nDeprecate" + - "d\020\002*\233\n\n\010Language\022\027\n\023UnspecifiedLanguage\020" + - "\000\022\010\n\004ABAP\020<\022\010\n\004Apex\020`\022\007\n\003APL\0201\022\007\n\003Ada\020\'\022" + - "\010\n\004Agda\020-\022\014\n\010AsciiDoc\020V\022\014\n\010Assembly\020:\022\007\n" + - "\003Awk\020B\022\007\n\003Bat\020D\022\n\n\006BibTeX\020Q\022\005\n\001C\020\"\022\t\n\005CO" + - "BOL\020;\022\007\n\003CPP\020#\022\007\n\003CSS\020\032\022\n\n\006CSharp\020\001\022\013\n\007C" + - "lojure\020\010\022\020\n\014Coffeescript\020\025\022\016\n\nCommonLisp" + - "\020\t\022\007\n\003Coq\020/\022\010\n\004CUDA\020a\022\010\n\004Dart\020\003\022\n\n\006Delph" + - "i\0209\022\010\n\004Diff\020X\022\016\n\nDockerfile\020P\022\n\n\006Dyalog\020" + - "2\022\n\n\006Elixir\020\021\022\n\n\006Erlang\020\022\022\n\n\006FSharp\020*\022\010\n" + - "\004Fish\020A\022\010\n\004Flow\020\030\022\013\n\007Fortran\0208\022\016\n\nGit_Co" + - "mmit\020[\022\016\n\nGit_Config\020Y\022\016\n\nGit_Rebase\020\\\022\006" + - "\n\002Go\020!\022\013\n\007GraphQL\020b\022\n\n\006Groovy\020\007\022\010\n\004HTML\020" + - "\036\022\010\n\004Hack\020\024\022\016\n\nHandlebars\020Z\022\013\n\007Haskell\020," + - "\022\t\n\005Idris\020.\022\007\n\003Ini\020H\022\005\n\001J\0203\022\010\n\004JSON\020K\022\010\n" + - "\004Java\020\006\022\016\n\nJavaScript\020\026\022\023\n\017JavaScriptRea" + - "ct\020]\022\013\n\007Jsonnet\020L\022\t\n\005Julia\0207\022\014\n\010Justfile" + - "\020m\022\n\n\006Kotlin\020\004\022\t\n\005LaTeX\020S\022\010\n\004Lean\0200\022\010\n\004L" + - "ess\020\033\022\007\n\003Lua\020\014\022\010\n\004Luau\020l\022\014\n\010Makefile\020O\022\014" + - "\n\010Markdown\020T\022\n\n\006Matlab\0204\022\n\n\006Nickel\020n\022\007\n\003" + - "Nix\020M\022\t\n\005OCaml\020)\022\017\n\013Objective_C\020$\022\021\n\rObj" + - "ective_CPP\020%\022\n\n\006Pascal\020c\022\007\n\003PHP\020\023\022\t\n\005PLS" + - "QL\020F\022\010\n\004Perl\020\r\022\016\n\nPowerShell\020C\022\n\n\006Prolog" + - "\020G\022\014\n\010Protobuf\020d\022\n\n\006Python\020\017\022\005\n\001R\0206\022\n\n\006R" + - "acket\020\013\022\010\n\004Raku\020\016\022\t\n\005Razor\020>\022\t\n\005Repro\020f\022" + - "\010\n\004ReST\020U\022\010\n\004Ruby\020\020\022\010\n\004Rust\020(\022\007\n\003SAS\020=\022\010" + - "\n\004SCSS\020\035\022\007\n\003SML\020+\022\007\n\003SQL\020E\022\010\n\004Sass\020\034\022\t\n\005" + - "Scala\020\005\022\n\n\006Scheme\020\n\022\017\n\013ShellScript\020@\022\013\n\007" + - "Skylark\020N\022\t\n\005Slang\020k\022\014\n\010Solidity\020_\022\n\n\006Sv" + - "elte\020j\022\t\n\005Swift\020\002\022\007\n\003Tcl\020e\022\010\n\004TOML\020I\022\007\n\003" + - "TeX\020R\022\n\n\006Thrift\020g\022\016\n\nTypeScript\020\027\022\023\n\017Typ" + - "eScriptReact\020^\022\013\n\007Verilog\020h\022\010\n\004VHDL\020i\022\017\n" + - "\013VisualBasic\020?\022\007\n\003Vue\020\031\022\013\n\007Wolfram\0205\022\007\n\003" + - "XML\020\037\022\007\n\003XSL\020 \022\010\n\004YAML\020J\022\007\n\003Zig\020&B-Z+git" + - "hub.com/scip-code/scip/bindings/go/scip/" + - "b\006proto3" - }; - descriptor = com.google.protobuf.Descriptors.FileDescriptor - .internalBuildGeneratedFileFrom(descriptorData, - new com.google.protobuf.Descriptors.FileDescriptor[] { - }); - internal_static_scip_Index_descriptor = - getDescriptor().getMessageTypes().get(0); - internal_static_scip_Index_fieldAccessorTable = new - com.google.protobuf.GeneratedMessage.FieldAccessorTable( - internal_static_scip_Index_descriptor, - new java.lang.String[] { "Metadata", "Documents", "ExternalSymbols", }); - internal_static_scip_Metadata_descriptor = - getDescriptor().getMessageTypes().get(1); - internal_static_scip_Metadata_fieldAccessorTable = new - com.google.protobuf.GeneratedMessage.FieldAccessorTable( - internal_static_scip_Metadata_descriptor, - new java.lang.String[] { "Version", "ToolInfo", "ProjectRoot", "TextDocumentEncoding", }); - internal_static_scip_ToolInfo_descriptor = - getDescriptor().getMessageTypes().get(2); - internal_static_scip_ToolInfo_fieldAccessorTable = new - com.google.protobuf.GeneratedMessage.FieldAccessorTable( - internal_static_scip_ToolInfo_descriptor, - new java.lang.String[] { "Name", "Version", "Arguments", }); - internal_static_scip_Document_descriptor = - getDescriptor().getMessageTypes().get(3); - internal_static_scip_Document_fieldAccessorTable = new - com.google.protobuf.GeneratedMessage.FieldAccessorTable( - internal_static_scip_Document_descriptor, - new java.lang.String[] { "Language", "RelativePath", "Occurrences", "Symbols", "Text", "PositionEncoding", }); - internal_static_scip_Symbol_descriptor = - getDescriptor().getMessageTypes().get(4); - internal_static_scip_Symbol_fieldAccessorTable = new - com.google.protobuf.GeneratedMessage.FieldAccessorTable( - internal_static_scip_Symbol_descriptor, - new java.lang.String[] { "Scheme", "Package", "Descriptors", }); - internal_static_scip_Package_descriptor = - getDescriptor().getMessageTypes().get(5); - internal_static_scip_Package_fieldAccessorTable = new - com.google.protobuf.GeneratedMessage.FieldAccessorTable( - internal_static_scip_Package_descriptor, - new java.lang.String[] { "Manager", "Name", "Version", }); - internal_static_scip_Descriptor_descriptor = - getDescriptor().getMessageTypes().get(6); - internal_static_scip_Descriptor_fieldAccessorTable = new - com.google.protobuf.GeneratedMessage.FieldAccessorTable( - internal_static_scip_Descriptor_descriptor, - new java.lang.String[] { "Name", "Disambiguator", "Suffix", }); - internal_static_scip_Signature_descriptor = - getDescriptor().getMessageTypes().get(7); - internal_static_scip_Signature_fieldAccessorTable = new - com.google.protobuf.GeneratedMessage.FieldAccessorTable( - internal_static_scip_Signature_descriptor, - new java.lang.String[] { "Language", "Text", "Occurrences", }); - internal_static_scip_SymbolInformation_descriptor = - getDescriptor().getMessageTypes().get(8); - internal_static_scip_SymbolInformation_fieldAccessorTable = new - com.google.protobuf.GeneratedMessage.FieldAccessorTable( - internal_static_scip_SymbolInformation_descriptor, - new java.lang.String[] { "Symbol", "Documentation", "Relationships", "Kind", "DisplayName", "SignatureDocumentation", "EnclosingSymbol", }); - internal_static_scip_Relationship_descriptor = - getDescriptor().getMessageTypes().get(9); - internal_static_scip_Relationship_fieldAccessorTable = new - com.google.protobuf.GeneratedMessage.FieldAccessorTable( - internal_static_scip_Relationship_descriptor, - new java.lang.String[] { "Symbol", "IsReference", "IsImplementation", "IsTypeDefinition", "IsDefinition", }); - internal_static_scip_Occurrence_descriptor = - getDescriptor().getMessageTypes().get(10); - internal_static_scip_Occurrence_fieldAccessorTable = new - com.google.protobuf.GeneratedMessage.FieldAccessorTable( - internal_static_scip_Occurrence_descriptor, - new java.lang.String[] { "Range", "Symbol", "SymbolRoles", "OverrideDocumentation", "SyntaxKind", "Diagnostics", "EnclosingRange", }); - internal_static_scip_Diagnostic_descriptor = - getDescriptor().getMessageTypes().get(11); - internal_static_scip_Diagnostic_fieldAccessorTable = new - com.google.protobuf.GeneratedMessage.FieldAccessorTable( - internal_static_scip_Diagnostic_descriptor, - new java.lang.String[] { "Severity", "Code", "Message", "Source", "Tags", }); - descriptor.resolveAllFeaturesImmutable(); - } - - // @@protoc_insertion_point(outer_class_scope) -} diff --git a/bindings/java/src/main/proto/scip.proto b/bindings/java/src/main/proto/scip.proto new file mode 100644 index 00000000..b7c33bfb --- /dev/null +++ b/bindings/java/src/main/proto/scip.proto @@ -0,0 +1,903 @@ +// An index contains one or more pieces of information about a given piece of +// source code or software artifact. Complementary information can be merged +// together from multiple sources to provide a unified code intelligence +// experience. +// +// Programs producing a file of this format is an "indexer" and may operate +// somewhere on the spectrum between precision, such as indexes produced by +// compiler-backed indexers, and heurstics, such as indexes produced by local +// syntax-directed analysis for scope rules. + +syntax = "proto3"; + +package scip; + +option go_package = "github.com/scip-code/scip/bindings/go/scip/"; +option java_multiple_files = true; +// Avoid collision between the file-level outer class (which holds the file +// descriptor and registerAllExtensions) and messages also called "Scip*" +// once java_multiple_files emits each message as its own top-level class. +option java_outer_classname = "ScipProto"; +option java_package = "org.scip_code.scip"; + +// Index represents a complete SCIP index for a workspace this is rooted at a +// single directory. An Index message payload can have a large memory footprint +// and it's therefore recommended to emit and consume an Index payload one field +// value at a time. To permit streaming consumption of an Index payload, the +// `metadata` field must appear at the start of the stream and must only appear +// once in the stream. Other field values may appear in any order. +message Index { + // Metadata about this index. + Metadata metadata = 1; + // Documents that belong to this index. + repeated Document documents = 2; + // (optional) Symbols that are referenced from this index but are defined in + // an external package (a separate `Index` message). Leave this field empty + // if you assume the external package will get indexed separately. If the + // external package won't get indexed for some reason then you can use this + // field to provide hover documentation for those external symbols. + repeated SymbolInformation external_symbols = 3; + // IMPORTANT: When adding a new field to `Index` here, add a matching + // function in `IndexVisitor` and update `ParseStreaming`. +} + +message Metadata { + // Which version of this protocol was used to generate this index? + ProtocolVersion version = 1; + // Information about the tool that produced this index. + ToolInfo tool_info = 2; + // URI-encoded absolute path to the root directory of this index. All + // documents in this index must appear in a subdirectory of this root + // directory. + string project_root = 3; + // Text encoding of the source files on disk that are referenced from + // `Document.relative_path`. This value is unrelated to the `Document.text` + // field, which is a Protobuf string and hence must be UTF-8 encoded. + TextEncoding text_document_encoding = 4; +} + +enum ProtocolVersion { + UnspecifiedProtocolVersion = 0; +} + +enum TextEncoding { + UnspecifiedTextEncoding = 0; + UTF8 = 1; + UTF16 = 2; +} + +message ToolInfo { + // Name of the indexer that produced this index. + string name = 1; + // Version of the indexer that produced this index. + string version = 2; + // Command-line arguments that were used to invoke this indexer. + repeated string arguments = 3; +} + +// Document defines the metadata about a source file on disk. +message Document { + // The string ID for the programming language this file is written in. + // The `Language` enum contains the names of most common programming languages. + // This field is typed as a string to permit any programming language, including + // ones that are not specified by the `Language` enum. + string language = 4; + // (Required) Unique path to the text document. + // + // 1. The path must be relative to the directory supplied in the associated + // `Metadata.project_root`. + // 2. The path must not begin with a leading '/'. + // 3. The path must point to a regular file, not a symbolic link. + // 4. The path must use '/' as the separator, including on Windows. + // 5. The path must be canonical; it cannot include empty components ('//'), + // or '.' or '..'. + string relative_path = 1; + // Occurrences that appear in this file. + repeated Occurrence occurrences = 2; + // Symbols that are "defined" within this document. + // + // This should include symbols which technically do not have any definition, + // but have a reference and are defined by some other symbol (see + // Relationship.is_definition). + repeated SymbolInformation symbols = 3; + + // (optional) Text contents of this document. Indexers are not expected to + // include the text by default. It's preferable that clients read the text + // contents from the file system by resolving the absolute path from joining + // `Index.metadata.project_root` and `Document.relative_path`. This field + // can be useful for testing or when working with virtual/in-memory documents. + string text = 5; + + // Specifies the encoding used for source ranges in this Document. + // + // Usually, this will match the type used to index the string type + // in the indexer's implementation language in O(1) time. + // - For an indexer implemented in JVM/.NET language or JavaScript/TypeScript, + // use UTF16CodeUnitOffsetFromLineStart. + // - For an indexer implemented in Python, + // use UTF32CodeUnitOffsetFromLineStart. + // - For an indexer implemented in Go, Rust or C++, + // use UTF8ByteOffsetFromLineStart. + PositionEncoding position_encoding = 6; +} + +// Encoding used to interpret the 'character' value in source ranges. +enum PositionEncoding { + // Default value. This value should not be used by new SCIP indexers + // so that a consumer can process the SCIP index without ambiguity. + UnspecifiedPositionEncoding = 0; + // The 'character' value is interpreted as an offset in terms + // of UTF-8 code units (i.e. bytes). + // + // Example: For the string "🚀 Woo" in UTF-8, the bytes are + // [240, 159, 154, 128, 32, 87, 111, 111], so the offset for 'W' + // would be 5. + UTF8CodeUnitOffsetFromLineStart = 1; + // The 'character' value is interpreted as an offset in terms + // of UTF-16 code units (each is 2 bytes). + // + // Example: For the string "🚀 Woo", the UTF-16 code units are + // ['\ud83d', '\ude80', ' ', 'W', 'o', 'o'], so the offset for 'W' + // would be 3. + UTF16CodeUnitOffsetFromLineStart = 2; + // The 'character' value is interpreted as an offset in terms + // of UTF-32 code units (each is 4 bytes). + // + // Example: For the string "🚀 Woo", the UTF-32 code units are + // ['🚀', ' ', 'W', 'o', 'o'], so the offset for 'W' would be 2. + UTF32CodeUnitOffsetFromLineStart = 3; +} + +// Symbol is similar to a URI, it identifies a class, method, or a local +// variable. `SymbolInformation` contains rich metadata about symbols such as +// the docstring. +// +// Symbol has a standardized string representation, which can be used +// interchangeably with `Symbol`. The syntax for Symbol is the following: +// ``` +// # ()+ stands for one or more repetitions of +// # ()? stands for zero or one occurrence of +// ::= ' ' ' ' ()+ | 'local ' +// ::= ' ' ' ' +// ::= any UTF-8, escape spaces with double space. Must not be empty nor start with 'local' +// ::= any UTF-8, escape spaces with double space. Use the placeholder '.' to indicate an empty value +// ::= same as above +// ::= same as above +// ::= | | | | | | | +// ::= '/' +// ::= '#' +// ::= '.' +// ::= ':' +// ::= '!' +// ::= '(' ()? ').' +// ::= '[' ']' +// ::= '(' ')' +// ::= +// ::= +// ::= | +// ::= ()+ +// ::= '_' | '+' | '-' | '$' | ASCII letter or digit +// ::= '`' ()+ '`', must contain at least one non- +// ::= any UTF-8, escape backticks with double backtick. +// ::= +// ``` +// +// The list of descriptors for a symbol should together form a fully +// qualified name for the symbol. That is, it should serve as a unique +// identifier across the package. Typically, it will include one descriptor +// for every node in the AST (along the ancestry path) between the root of +// the file and the node corresponding to the symbol. +// +// Local symbols MUST only be used for entities which are local to a Document, +// and cannot be accessed from outside the Document. +message Symbol { + string scheme = 1; + Package package = 2; + repeated Descriptor descriptors = 3; +} + +// Unit of packaging and distribution. +// +// NOTE: This corresponds to a module in Go and JVM languages. +message Package { + string manager = 1; + string name = 2; + string version = 3; +} + +message Descriptor { + enum Suffix { + option allow_alias = true; + UnspecifiedSuffix = 0; + // Unit of code abstraction and/or namespacing. + // + // NOTE: This corresponds to a package in Go and JVM languages. + Namespace = 1; + // Use Namespace instead. + Package = 1 [deprecated = true]; + Type = 2; + Term = 3; + Method = 4; + TypeParameter = 5; + Parameter = 6; + // Can be used for any purpose. + Meta = 7; + Local = 8; + Macro = 9; + } + string name = 1; + string disambiguator = 2; + Suffix suffix = 3; + // NOTE: If you add new fields here, make sure to update the prepareSlot() + // function responsible for parsing symbols. +} + +// Signature represents the signature of a symbol as it's displayed in API +// documentation or hover tooltips. It uses a subset of Document's fields with +// the same field numbers for wire compatibility with older indexes that encoded +// signatures using the Document message type. +message Signature { + // The language of the signature, e.g. "java", "go", "python". + string language = 4; + // The text content of the signature, e.g. "void add(int a, int b)". + string text = 5; + // (optional) Occurrences within the signature text that reference other + // symbols, enabling hyperlinking of types in the signature. Ranges are + // relative to the `text` field. + repeated Occurrence occurrences = 2; + + // Reserved field numbers from the Document message to prevent accidental + // reuse, which would break wire compatibility with older indexes. + reserved 1, 3, 6; +} + +// SymbolInformation defines metadata about a symbol, such as the symbol's +// docstring or what package it's defined it. +message SymbolInformation { + // Identifier of this symbol, which can be referenced from `Occurence.symbol`. + // The string must be formatted according to the grammar in `Symbol`. + string symbol = 1; + // (optional, but strongly recommended) The markdown-formatted documentation + // for this symbol. Use `SymbolInformation.signature_documentation` to + // document the method/class/type signature of this symbol. + // Due to historical reasons, indexers may include signature documentation in + // this field by rendering markdown code blocks. New indexers should only + // include non-code documentation in this field, for example docstrings. + repeated string documentation = 3; + // (optional) Relationships to other symbols (e.g., implements, type definition). + repeated Relationship relationships = 4; + // The kind of this symbol. Use this field instead of + // `SymbolDescriptor.Suffix` to determine whether something is, for example, a + // class or a method. + Kind kind = 5; + // (optional) Kind represents the fine-grained category of a symbol, suitable for presenting + // information about the symbol's meaning in the language. + // + // For example: + // - A Java method would have the kind `Method` while a Go function would + // have the kind `Function`, even if the symbols for these use the same + // syntax for the descriptor `SymbolDescriptor.Suffix.Method`. + // - A Go struct has the symbol kind `Struct` while a Java class has + // the symbol kind `Class` even if they both have the same descriptor: + // `SymbolDescriptor.Suffix.Type`. + // + // Since Kind is more fine-grained than Suffix: + // - If two symbols have the same Kind, they should share the same Suffix. + // - If two symbols have different Suffixes, they should have different Kinds. + enum Kind { + UnspecifiedKind = 0; + // A method which may or may not have a body. For Java, Kotlin etc. + AbstractMethod = 66; + // For Ruby's attr_accessor + Accessor = 72; + Array = 1; + // For Alloy + Assertion = 2; + AssociatedType = 3; + // For C++ + Attribute = 4; + // For Lean + Axiom = 5; + Boolean = 6; + Class = 7; + // For C++ + Concept = 86; + Constant = 8; + Constructor = 9; + // For Solidity + Contract = 62; + // For Haskell + DataFamily = 10; + // For C# and F# + Delegate = 73; + Enum = 11; + EnumMember = 12; + Error = 63; + Event = 13; + // For Dart + Extension = 84; + // For Alloy + Fact = 14; + Field = 15; + File = 16; + Function = 17; + // For 'get' in Swift, 'attr_reader' in Ruby + Getter = 18; + // For Raku + Grammar = 19; + // For Purescript and Lean + Instance = 20; + Interface = 21; + Key = 22; + // For Racket + Lang = 23; + // For Lean + Lemma = 24; + // For solidity + Library = 64; + Macro = 25; + Method = 26; + // For Ruby + MethodAlias = 74; + // Analogous to 'ThisParameter' and 'SelfParameter', but for languages + // like Go where the receiver doesn't have a conventional name. + MethodReceiver = 27; + // Analogous to 'AbstractMethod', for Go. + MethodSpecification = 67; + // For Protobuf + Message = 28; + // For Dart + Mixin = 85; + // For Solidity + Modifier = 65; + Module = 29; + Namespace = 30; + Null = 31; + Number = 32; + Object = 33; + Operator = 34; + Package = 35; + PackageObject = 36; + Parameter = 37; + ParameterLabel = 38; + // For Haskell's PatternSynonyms + Pattern = 39; + // For Alloy + Predicate = 40; + Property = 41; + // Analogous to 'Trait' and 'TypeClass', for Swift and Objective-C + Protocol = 42; + // Analogous to 'AbstractMethod', for Swift and Objective-C. + ProtocolMethod = 68; + // Analogous to 'AbstractMethod', for C++. + PureVirtualMethod = 69; + // For Haskell + Quasiquoter = 43; + // 'self' in Python, Rust, Swift etc. + SelfParameter = 44; + // For 'set' in Swift, 'attr_writer' in Ruby + Setter = 45; + // For Alloy, analogous to 'Struct'. + Signature = 46; + // For Ruby + SingletonClass = 75; + // Analogous to 'StaticMethod', for Ruby. + SingletonMethod = 76; + // Analogous to 'StaticField', for C++ + StaticDataMember = 77; + // For C# + StaticEvent = 78; + // For C# + StaticField = 79; + // For Java, C#, C++ etc. + StaticMethod = 80; + // For C#, TypeScript etc. + StaticProperty = 81; + // For C, C++ + StaticVariable = 82; + String = 48; + Struct = 49; + // For Swift + Subscript = 47; + // For Lean + Tactic = 50; + // For Lean + Theorem = 51; + // Method receiver for languages + // 'this' in JavaScript, C++, Java etc. + ThisParameter = 52; + // Analogous to 'Protocol' and 'TypeClass', for Rust, Scala etc. + Trait = 53; + // Analogous to 'AbstractMethod', for Rust, Scala etc. + TraitMethod = 70; + // Data type definition for languages like OCaml which use `type` + // rather than separate keywords like `struct` and `enum`. + Type = 54; + TypeAlias = 55; + // Analogous to 'Trait' and 'Protocol', for Haskell, Purescript etc. + TypeClass = 56; + // Analogous to 'AbstractMethod', for Haskell, Purescript etc. + TypeClassMethod = 71; + // For Haskell + TypeFamily = 57; + TypeParameter = 58; + // For C, C++, Capn Proto + Union = 59; + Value = 60; + Variable = 61; + // Next = 87; + // Feel free to open a PR proposing new language-specific kinds. + } + // (optional) The name of this symbol as it should be displayed to the user. + // For example, the symbol "com/example/MyClass#myMethod(+1)." should have the + // display name "myMethod". The `symbol` field is not a reliable source of + // the display name for several reasons: + // + // - Local symbols don't encode the name. + // - Some languages have case-insensitive names, so the symbol is all-lowercase. + // - The symbol may encode names with special characters that should not be + // displayed to the user. + string display_name = 6; + // (optional) The signature of this symbol as it's displayed in API + // documentation or in hover tooltips. For example, a Java method that adds + // two numbers would have `Signature.language = "java"` and + // `Signature.text = "void add(int a, int b)"`. The `language` and `text` + // fields are required while `occurrences` can be optionally included to + // support hyperlinking referenced symbols in the signature. + Signature signature_documentation = 7; + // (optional) The enclosing symbol if this is a local symbol. For non-local + // symbols, the enclosing symbol should be parsed from the `symbol` field + // using the `Descriptor` grammar. + // + // The primary use-case for this field is to allow local symbol to be displayed + // in a symbol hierarchy for API documentation. It's OK to leave this field + // empty for local variables since local variables usually don't belong in API + // documentation. However, in the situation that you wish to include a local + // symbol in the hierarchy, then you can use `enclosing_symbol` to locate the + // "parent" or "owner" of this local symbol. For example, a Java indexer may + // choose to use local symbols for private class fields while providing an + // `enclosing_symbol` to reference the enclosing class to allow the field to + // be part of the class documentation hierarchy. From the perspective of an + // author of an indexer, the decision to use a local symbol or global symbol + // should exclusively be determined whether the local symbol is accessible + // outside the document, not by the capability to find the enclosing + // symbol. + string enclosing_symbol = 8; +} + +message Relationship { + string symbol = 1; + // When resolving "Find references", this field documents what other symbols + // should be included together with this symbol. For example, consider the + // following TypeScript code that defines two symbols `Animal#sound()` and + // `Dog#sound()`: + // ```ts + // interface Animal { + // ^^^^^^ definition Animal# + // sound(): string + // ^^^^^ definition Animal#sound() + // } + // class Dog implements Animal { + // ^^^ definition Dog#, relationships = [{symbol: "Animal#", is_implementation: true}] + // public sound(): string { return "woof" } + // ^^^^^ definition Dog#sound(), references_symbols = Animal#sound(), relationships = [{symbol: "Animal#sound()", is_implementation:true, is_reference: true}] + // } + // const animal: Animal = new Dog() + // ^^^^^^ reference Animal# + // console.log(animal.sound()) + // ^^^^^ reference Animal#sound() + // ``` + // Doing "Find references" on the symbol `Animal#sound()` should return + // references to the `Dog#sound()` method as well. Vice-versa, doing "Find + // references" on the `Dog#sound()` method should include references to the + // `Animal#sound()` method as well. + bool is_reference = 2; + // Similar to `is_reference` but for "Find implementations". + // It's common for `is_implementation` and `is_reference` to both be true but + // it's not always the case. + // In the TypeScript example above, observe that `Dog#` has an + // `is_implementation` relationship with `"Animal#"` but not `is_reference`. + // This is because "Find references" on the "Animal#" symbol should not return + // "Dog#". We only want "Dog#" to return as a result for "Find + // implementations" on the "Animal#" symbol. + bool is_implementation = 3; + // Similar to `references_symbols` but for "Go to type definition". + bool is_type_definition = 4; + // Allows overriding the behavior of "Go to definition" and "Find references" + // for symbols which do not have a definition of their own or could + // potentially have multiple definitions. + // + // For example, in a language with single inheritance and no field overriding, + // inherited fields can reuse the same symbol as the ancestor which declares + // the field. In such a situation, is_definition is not needed. + // + // On the other hand, in languages with single inheritance and some form + // of mixins, you can use is_definition to relate the symbol to the + // matching symbol in ancestor classes, and is_reference to relate the + // symbol to the matching symbol in mixins. + bool is_definition = 5; + // Update registerInverseRelationships on adding a new field here. +} + +// SymbolRole declares what "role" a symbol has in an occurrence. A role is +// encoded as a bitset where each bit represents a different role. For example, +// to determine if the `Import` role is set, test whether the second bit of the +// enum value is defined. In pseudocode, this can be implemented with the +// logic: `const isImportRole = (role.value & SymbolRole.Import.value) > 0`. +enum SymbolRole { + // This case is not meant to be used; it only exists to avoid an error + // from the Protobuf code generator. + UnspecifiedSymbolRole = 0; + // Is the symbol defined here? If not, then this is a symbol reference. + Definition = 0x1; + // Is the symbol imported here? + Import = 0x2; + // Is the symbol written here? + WriteAccess = 0x4; + // Is the symbol read here? + ReadAccess = 0x8; + // Is the symbol in generated code? + Generated = 0x10; + // Is the symbol in test code? + Test = 0x20; + // Is this a signature for a symbol that is defined elsewhere? + // + // Applies to forward declarations for languages like C, C++ + // and Objective-C, as well as `val` declarations in interface + // files in languages like SML and OCaml. + ForwardDefinition = 0x40; +} + +enum SyntaxKind { + option allow_alias = true; + + UnspecifiedSyntaxKind = 0; + + // Comment, including comment markers and text + Comment = 1; + + // `;` `.` `,` + PunctuationDelimiter = 2; + // (), {}, [] when used syntactically + PunctuationBracket = 3; + + // `if`, `else`, `return`, `class`, etc. + Keyword = 4; + IdentifierKeyword = 4 [deprecated = true]; + + // `+`, `*`, etc. + IdentifierOperator = 5; + + // non-specific catch-all for any identifier not better described elsewhere + Identifier = 6; + // Identifiers builtin to the language: `min`, `print` in Python. + IdentifierBuiltin = 7; + // Identifiers representing `null`-like values: `None` in Python, `nil` in Go. + IdentifierNull = 8; + // `xyz` in `const xyz = "hello"` + IdentifierConstant = 9; + // `var X = "hello"` in Go + IdentifierMutableGlobal = 10; + // Parameter definition and references + IdentifierParameter = 11; + // Identifiers for variable definitions and references within a local scope + IdentifierLocal = 12; + // Identifiers that shadow other identifiers in an outer scope + IdentifierShadowed = 13; + // Identifier representing a unit of code abstraction and/or namespacing. + // + // NOTE: This corresponds to a package in Go and JVM languages, + // and a module in languages like Python and JavaScript. + IdentifierNamespace = 14; + IdentifierModule = 14 [deprecated = true]; + + // Function references, including calls + IdentifierFunction = 15; + // Function definition only + IdentifierFunctionDefinition = 16; + + // Macro references, including invocations + IdentifierMacro = 17; + // Macro definition only + IdentifierMacroDefinition = 18; + + // non-builtin types + IdentifierType = 19; + // builtin types only, such as `str` for Python or `int` in Go + IdentifierBuiltinType = 20; + + // Python decorators, c-like __attribute__ + IdentifierAttribute = 21; + + // `\b` + RegexEscape = 22; + // `*`, `+` + RegexRepeated = 23; + // `.` + RegexWildcard = 24; + // `(`, `)`, `[`, `]` + RegexDelimiter = 25; + // `|`, `-` + RegexJoin = 26; + + // Literal strings: "Hello, world!" + StringLiteral = 27; + // non-regex escapes: "\t", "\n" + StringLiteralEscape = 28; + // datetimes within strings, special words within a string, `{}` in format strings + StringLiteralSpecial = 29; + // "key" in { "key": "value" }, useful for example in JSON + StringLiteralKey = 30; + // 'c' or similar, in languages that differentiate strings and characters + CharacterLiteral = 31; + // Literal numbers, both floats and integers + NumericLiteral = 32; + // `true`, `false` + BooleanLiteral = 33; + + // Used for XML-like tags + Tag = 34; + // Attribute name in XML-like tags + TagAttribute = 35; + // Delimiters for XML-like tags + TagDelimiter = 36; +} + +// Occurrence associates a source position with a symbol and/or highlighting +// information. +// +// If possible, indexers should try to bundle logically related information +// across occurrences into a single occurrence to reduce payload sizes. +message Occurrence { + // Half-open [start, end) range of this occurrence. Must be exactly three or four + // elements: + // + // - Four elements: `[startLine, startCharacter, endLine, endCharacter]` + // - Three elements: `[startLine, startCharacter, endCharacter]`. The end line + // is inferred to have the same value as the start line. + // + // It is allowed for the range to be empty (i.e. start==end). + // + // Line numbers and characters are always 0-based. Make sure to increment the + // line/character values before displaying them in an editor-like UI because + // editors conventionally use 1-based numbers. + // + // The 'character' value is interpreted based on the PositionEncoding for + // the Document. + // + // Historical note: the original draft of this schema had a `Range` message + // type with `start` and `end` fields of type `Position`, mirroring LSP. + // Benchmarks revealed that this encoding was inefficient and that we could + // reduce the total payload size of an index by 50% by using `repeated int32` + // instead. The `repeated int32` encoding is admittedly more embarrassing to + // work with in some programming languages but we hope the performance + // improvements make up for it. + repeated int32 range = 1; + // (optional) The symbol that appears at this position. See + // `SymbolInformation.symbol` for how to format symbols as strings. + string symbol = 2; + // (optional) Bitset containing `SymbolRole`s in this occurrence. + // See `SymbolRole`'s documentation for how to read and write this field. + int32 symbol_roles = 3; + // (optional) CommonMark-formatted documentation for this specific range. If + // empty, the `Symbol.documentation` field is used instead. One example + // where this field might be useful is when the symbol represents a generic + // function (with abstract type parameters such as `List`) and at this + // occurrence we know the exact values (such as `List`). + // + // This field can also be used for dynamically or gradually typed languages, + // which commonly allow for type-changing assignment. + repeated string override_documentation = 4; + // (optional) What syntax highlighting class should be used for this range? + SyntaxKind syntax_kind = 5; + // (optional) Diagnostics that have been reported for this specific range. + repeated Diagnostic diagnostics = 6; + // (optional) Using the same encoding as the sibling `range` field, half-open + // source range of the nearest non-trivial enclosing AST node. This range must + // enclose the `range` field. Example applications that make use of the + // enclosing_range field: + // + // - Call hierarchies: to determine what symbols are references from the body + // of a function + // - Symbol outline: to display breadcrumbs from the cursor position to the + // root of the file + // - Expand selection: to select the nearest enclosing AST node. + // - Highlight range: to indicate the AST expression that is associated with a + // hover popover + // + // For definition occurrences, the enclosing range should indicate the + // start/end bounds of the entire definition AST node, including + // documentation. + // ``` + // const n = 3 + // ^ range + // ^^^^^^^^^^^ enclosing_range + // + // /** Parses the string into something */ + // ^ enclosing_range start --------------------------------------| + // function parse(input string): string { | + // ^^^^^ range | + // return input.slice(n) | + // } | + // ^ enclosing_range end <---------------------------------------| + // ``` + // + // Any attributes/decorators/attached macros should also be part of the + // enclosing range. + // + // ```python + // @cache + // ^ enclosing_range start---------------------| + // def factorial(n): | + // return n * factorial(n-1) if n else 1 | + // < enclosing_range end-----------------------| + // + // ``` + // + // For reference occurrences, the enclosing range should indicate the start/end + // bounds of the parent expression. + // ``` + // const a = a.b + // ^ range + // ^^^ enclosing_range + // const b = a.b(41).f(42).g(43) + // ^ range + // ^^^^^^^^^^^^^ enclosing_range + // ``` + repeated int32 enclosing_range = 7; +} + +// Represents a diagnostic, such as a compiler error or warning, which should be +// reported for a document. +message Diagnostic { + // Should this diagnostic be reported as an error, warning, info, or hint? + Severity severity = 1; + // (optional) Code of this diagnostic, which might appear in the user interface. + string code = 2; + // Message of this diagnostic. + string message = 3; + // (optional) Human-readable string describing the source of this diagnostic, e.g. + // 'typescript' or 'super lint'. + string source = 4; + repeated DiagnosticTag tags = 5; +} + +enum Severity { + UnspecifiedSeverity = 0; + Error = 1; + Warning = 2; + Information = 3; + Hint = 4; +} + +enum DiagnosticTag { + UnspecifiedDiagnosticTag = 0; + Unnecessary = 1; + Deprecated = 2; +} + +// Language standardises names of common programming languages that can be used +// for the `Document.language` field. The primary purpose of this enum is to +// prevent a situation where we have a single programming language ends up with +// multiple string representations. For example, the C++ language uses the name +// "CPP" in this enum and other names such as "cpp" are incompatible. +// Feel free to send a pull-request to add missing programming languages. +enum Language { + UnspecifiedLanguage = 0; + ABAP = 60; + Apex = 96; + APL = 49; + Ada = 39; + Agda = 45; + AsciiDoc = 86; + Assembly = 58; + Awk = 66; + Bat = 68; + BibTeX = 81; + C = 34; + COBOL = 59; + CPP = 35; // C++ (the name "CPP" was chosen for consistency with LSP) + CSS = 26; + CSharp = 1; + Clojure = 8; + Coffeescript = 21; + CommonLisp = 9; + Coq = 47; + CUDA = 97; + Dart = 3; + Delphi = 57; + Diff = 88; + Dockerfile = 80; + Dyalog = 50; + Elixir = 17; + Erlang = 18; + FSharp = 42; + Fish = 65; + Flow = 24; + Fortran = 56; + Git_Commit = 91; + Git_Config = 89; + Git_Rebase = 92; + Go = 33; + GraphQL = 98; + Groovy = 7; + HTML = 30; + Hack = 20; + Handlebars = 90; + Haskell = 44; + Idris = 46; + Ini = 72; + J = 51; + JSON = 75; + Java = 6; + JavaScript = 22; + JavaScriptReact = 93; + Jsonnet = 76; + Julia = 55; + Justfile = 109; + Kotlin = 4; + LaTeX = 83; + Lean = 48; + Less = 27; + Lua = 12; + Luau = 108; + Makefile = 79; + Markdown = 84; + Matlab = 52; + Nickel = 110; // https://nickel-lang.org/ + Nix = 77; + OCaml = 41; + Objective_C = 36; + Objective_CPP = 37; + Pascal = 99; + PHP = 19; + PLSQL = 70; + Perl = 13; + PowerShell = 67; + Prolog = 71; + Protobuf = 100; + Python = 15; + R = 54; + Racket = 11; + Raku = 14; + Razor = 62; + Repro = 102; // Internal language for testing SCIP + ReST = 85; + Ruby = 16; + Rust = 40; + SAS = 61; + SCSS = 29; + SML = 43; + SQL = 69; + Sass = 28; + Scala = 5; + Scheme = 10; + ShellScript = 64; // Bash + Skylark = 78; + Slang = 107; + Solidity = 95; + Svelte = 106; + Swift = 2; + Tcl = 101; + TOML = 73; + TeX = 82; + Thrift = 103; + TypeScript = 23; + TypeScriptReact = 94; + Verilog = 104; + VHDL = 105; + VisualBasic = 63; + Vue = 25; + Wolfram = 53; + XML = 31; + XSL = 32; + YAML = 74; + Zig = 38; + // NextLanguage = 111; + // Steps add a new language: + // 1. Copy-paste the "NextLanguage = N" line above + // 2. Increment "NextLanguage = N" to "NextLanguage = N+1" + // 3. Replace "NextLanguage = N" with the name of the new language. + // 4. Move the new language to the correct line above using alphabetical order + // 5. (optional) Add a brief comment behind the language if the name is not self-explanatory +} diff --git a/bindings/kotlin/README.md b/bindings/kotlin/README.md new file mode 100644 index 00000000..1b0d6a25 --- /dev/null +++ b/bindings/kotlin/README.md @@ -0,0 +1,90 @@ +# Kotlin bindings for SCIP + +Generated Kotlin bindings for the [Semantic Code Intelligence Protocol (SCIP)](https://github.com/scip-code/scip). + +The artifact bundles **both** the underlying `protobuf-java` message classes +and the Kotlin DSL extensions (`scip { ... }`-style builders) in a single jar, +so you only need one dependency whether you write Java- or Kotlin-style code. + +## Coordinates + +```xml + + org.scip-code + scip-kotlin + 0.7.1 + +``` + +Or, with Gradle Kotlin DSL: + +```kotlin +implementation("org.scip-code:scip-kotlin:0.7.1") +``` + +The canonical `.proto` schema is also published as a classifier artifact: + +```sh +mvn dependency:get -Dartifact=org.scip-code:scip-kotlin:0.7.1:proto:proto +``` + +## Quickstart + +Idiomatic Kotlin, using the generated DSL: + +```kotlin +import org.scip_code.scip.index +import org.scip_code.scip.document +import org.scip_code.scip.metadata + +val idx = index { + metadata = metadata { projectRoot = "file:///workspace" } + documents += document { relativePath = "src/main.kt" } +} + +val bytes: ByteArray = idx.toByteArray() +``` + +JSON serialization (via `protobuf-java-util`, declared as a transitive dependency): + +```kotlin +import com.google.protobuf.util.JsonFormat + +val json: String = JsonFormat.printer().print(idx) +``` + +## Compatibility notes + +### Protobuf runtime + +The generated code is built against `protobuf-java` and `protobuf-kotlin` 4.32.1. +At class load time, generated code calls `validateProtobufGencodeVersion()` which +enforces **runtime version >= gencode version** within the same major version. + +| Your `protobuf-java` | Compatible? | +| -------------------- | ---------------------------------------------------------------------------------- | +| 4.32.1 (matched) | ✅ | +| 4.33.x (newer) | ✅ — Maven/Gradle dependency resolution will typically converge here automatically | +| 4.31.x (older) | ❌ — runtime crash with `ProtobufRuntimeVersionException` | +| 5.x.x or 3.x.x | ❌ — major version mismatch | + +If you depend on another library that pins an older `protobuf-java`, you must +upgrade it (or pin `protobuf-java` to >=4.32.1 in your own build). + +### JVM target + +The bindings target Java 11 / Kotlin 2.0. They run on any JDK ≥ 11. + +## Building from source + +This binding is generated by `buf generate` from the project's [scip.proto](../../scip.proto). To regenerate after modifying the proto, run from the repository root: + +```sh +nix run .#proto-generate --impure +``` + +To build the artifact locally: + +```sh +mvn -B package +``` diff --git a/bindings/kotlin/pom.xml b/bindings/kotlin/pom.xml index 08c9d2ff..9faf85dd 100644 --- a/bindings/kotlin/pom.xml +++ b/bindings/kotlin/pom.xml @@ -35,7 +35,10 @@ 11 4.32.1 2.0.21 @@ -52,6 +55,16 @@ protobuf-kotlin ${protobuf.version} + + + com.google.protobuf + protobuf-java-util + ${protobuf.version} + org.jetbrains.kotlin kotlin-stdlib @@ -100,6 +113,35 @@ + + + org.codehaus.mojo + build-helper-maven-plugin + 3.6.1 + + + attach-proto + package + + attach-artifact + + + + + ${project.basedir}/src/main/proto/scip.proto + proto + proto + + + + + + diff --git a/bindings/kotlin/src/main/java/org/scip_code/scip/Descriptor.java b/bindings/kotlin/src/main/java/org/scip_code/scip/Descriptor.java new file mode 100644 index 00000000..1d90b149 --- /dev/null +++ b/bindings/kotlin/src/main/java/org/scip_code/scip/Descriptor.java @@ -0,0 +1,996 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: scip.proto +// Protobuf Java Version: 4.32.1 + +package org.scip_code.scip; + +/** + * Protobuf type {@code scip.Descriptor} + */ +@com.google.protobuf.Generated +public final class Descriptor extends + com.google.protobuf.GeneratedMessage implements + // @@protoc_insertion_point(message_implements:scip.Descriptor) + DescriptorOrBuilder { +private static final long serialVersionUID = 0L; + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 32, + /* patch= */ 1, + /* suffix= */ "", + Descriptor.class.getName()); + } + // Use Descriptor.newBuilder() to construct. + private Descriptor(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + private Descriptor() { + name_ = ""; + disambiguator_ = ""; + suffix_ = 0; + } + + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.scip_code.scip.ScipProto.internal_static_scip_Descriptor_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.scip_code.scip.ScipProto.internal_static_scip_Descriptor_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.scip_code.scip.Descriptor.class, org.scip_code.scip.Descriptor.Builder.class); + } + + /** + * Protobuf enum {@code scip.Descriptor.Suffix} + */ + public enum Suffix + implements com.google.protobuf.ProtocolMessageEnum { + /** + * UnspecifiedSuffix = 0; + */ + UnspecifiedSuffix(0, 0), + /** + *
+     * Unit of code abstraction and/or namespacing.
+     *
+     * NOTE: This corresponds to a package in Go and JVM languages.
+     * 
+ * + * Namespace = 1; + */ + Namespace(1, 1), + /** + * Type = 2; + */ + Type(3, 2), + /** + * Term = 3; + */ + Term(4, 3), + /** + * Method = 4; + */ + Method(5, 4), + /** + * TypeParameter = 5; + */ + TypeParameter(6, 5), + /** + * Parameter = 6; + */ + Parameter(7, 6), + /** + *
+     * Can be used for any purpose.
+     * 
+ * + * Meta = 7; + */ + Meta(8, 7), + /** + * Local = 8; + */ + Local(9, 8), + /** + * Macro = 9; + */ + Macro(10, 9), + UNRECOGNIZED(-1, -1), + ; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 32, + /* patch= */ 1, + /* suffix= */ "", + Suffix.class.getName()); + } + /** + *
+     * Use Namespace instead.
+     * 
+ * + * Package = 1 [deprecated = true]; + */ + public static final Suffix Package = Namespace; + /** + * UnspecifiedSuffix = 0; + */ + public static final int UnspecifiedSuffix_VALUE = 0; + /** + *
+     * Unit of code abstraction and/or namespacing.
+     *
+     * NOTE: This corresponds to a package in Go and JVM languages.
+     * 
+ * + * Namespace = 1; + */ + public static final int Namespace_VALUE = 1; + /** + *
+     * Use Namespace instead.
+     * 
+ * + * Package = 1 [deprecated = true]; + */ + @java.lang.Deprecated public static final int Package_VALUE = 1; + /** + * Type = 2; + */ + public static final int Type_VALUE = 2; + /** + * Term = 3; + */ + public static final int Term_VALUE = 3; + /** + * Method = 4; + */ + public static final int Method_VALUE = 4; + /** + * TypeParameter = 5; + */ + public static final int TypeParameter_VALUE = 5; + /** + * Parameter = 6; + */ + public static final int Parameter_VALUE = 6; + /** + *
+     * Can be used for any purpose.
+     * 
+ * + * Meta = 7; + */ + public static final int Meta_VALUE = 7; + /** + * Local = 8; + */ + public static final int Local_VALUE = 8; + /** + * Macro = 9; + */ + public static final int Macro_VALUE = 9; + + + public final int getNumber() { + if (index == -1) { + 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 Suffix 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 Suffix forNumber(int value) { + switch (value) { + case 0: return UnspecifiedSuffix; + case 1: return Namespace; + case 2: return Type; + case 3: return Term; + case 4: return Method; + case 5: return TypeParameter; + case 6: return Parameter; + case 7: return Meta; + case 8: return Local; + case 9: return Macro; + default: return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap + internalGetValueMap() { + return internalValueMap; + } + private static final com.google.protobuf.Internal.EnumLiteMap< + Suffix> internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap() { + public Suffix findValueByNumber(int number) { + return Suffix.forNumber(number); + } + }; + + public final com.google.protobuf.Descriptors.EnumValueDescriptor + getValueDescriptor() { + if (index == -1) { + throw new java.lang.IllegalStateException( + "Can't get the descriptor of an unrecognized enum value."); + } + return getDescriptor().getValues().get(index); + } + public final com.google.protobuf.Descriptors.EnumDescriptor + getDescriptorForType() { + return getDescriptor(); + } + public static com.google.protobuf.Descriptors.EnumDescriptor + getDescriptor() { + return org.scip_code.scip.Descriptor.getDescriptor().getEnumTypes().get(0); + } + + private static final Suffix[] VALUES = getStaticValuesArray(); + private static Suffix[] getStaticValuesArray() { + return new Suffix[] { + UnspecifiedSuffix, Namespace, Package, Type, Term, Method, TypeParameter, Parameter, Meta, Local, Macro, + }; + } + public static Suffix 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 index; + private final int value; + + private Suffix(int index, int value) { + this.index = index; + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:scip.Descriptor.Suffix) + } + + public static final int NAME_FIELD_NUMBER = 1; + @SuppressWarnings("serial") + private volatile java.lang.Object name_ = ""; + /** + * string name = 1 [json_name = "name"]; + * @return The name. + */ + @java.lang.Override + public java.lang.String getName() { + java.lang.Object ref = name_; + 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(); + name_ = s; + return s; + } + } + /** + * string name = 1 [json_name = "name"]; + * @return The bytes for name. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int DISAMBIGUATOR_FIELD_NUMBER = 2; + @SuppressWarnings("serial") + private volatile java.lang.Object disambiguator_ = ""; + /** + * string disambiguator = 2 [json_name = "disambiguator"]; + * @return The disambiguator. + */ + @java.lang.Override + public java.lang.String getDisambiguator() { + java.lang.Object ref = disambiguator_; + 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(); + disambiguator_ = s; + return s; + } + } + /** + * string disambiguator = 2 [json_name = "disambiguator"]; + * @return The bytes for disambiguator. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getDisambiguatorBytes() { + java.lang.Object ref = disambiguator_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + disambiguator_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int SUFFIX_FIELD_NUMBER = 3; + private int suffix_ = 0; + /** + *
+   * NOTE: If you add new fields here, make sure to update the prepareSlot()
+   * function responsible for parsing symbols.
+   * 
+ * + * .scip.Descriptor.Suffix suffix = 3 [json_name = "suffix"]; + * @return The enum numeric value on the wire for suffix. + */ + @java.lang.Override public int getSuffixValue() { + return suffix_; + } + /** + *
+   * NOTE: If you add new fields here, make sure to update the prepareSlot()
+   * function responsible for parsing symbols.
+   * 
+ * + * .scip.Descriptor.Suffix suffix = 3 [json_name = "suffix"]; + * @return The suffix. + */ + @java.lang.Override public org.scip_code.scip.Descriptor.Suffix getSuffix() { + org.scip_code.scip.Descriptor.Suffix result = org.scip_code.scip.Descriptor.Suffix.forNumber(suffix_); + return result == null ? org.scip_code.scip.Descriptor.Suffix.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 (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, name_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(disambiguator_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 2, disambiguator_); + } + if (suffix_ != org.scip_code.scip.Descriptor.Suffix.UnspecifiedSuffix.getNumber()) { + output.writeEnum(3, suffix_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, name_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(disambiguator_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(2, disambiguator_); + } + if (suffix_ != org.scip_code.scip.Descriptor.Suffix.UnspecifiedSuffix.getNumber()) { + size += com.google.protobuf.CodedOutputStream + .computeEnumSize(3, suffix_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof org.scip_code.scip.Descriptor)) { + return super.equals(obj); + } + org.scip_code.scip.Descriptor other = (org.scip_code.scip.Descriptor) obj; + + if (!getName() + .equals(other.getName())) return false; + if (!getDisambiguator() + .equals(other.getDisambiguator())) return false; + if (suffix_ != other.suffix_) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) 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) + NAME_FIELD_NUMBER; + hash = (53 * hash) + getName().hashCode(); + hash = (37 * hash) + DISAMBIGUATOR_FIELD_NUMBER; + hash = (53 * hash) + getDisambiguator().hashCode(); + hash = (37 * hash) + SUFFIX_FIELD_NUMBER; + hash = (53 * hash) + suffix_; + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static org.scip_code.scip.Descriptor parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.scip_code.scip.Descriptor parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.scip_code.scip.Descriptor parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.scip_code.scip.Descriptor parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.scip_code.scip.Descriptor parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.scip_code.scip.Descriptor parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.scip_code.scip.Descriptor parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static org.scip_code.scip.Descriptor parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public static org.scip_code.scip.Descriptor parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input); + } + + public static org.scip_code.scip.Descriptor parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static org.scip_code.scip.Descriptor parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static org.scip_code.scip.Descriptor parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(org.scip_code.scip.Descriptor 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code scip.Descriptor} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder implements + // @@protoc_insertion_point(builder_implements:scip.Descriptor) + org.scip_code.scip.DescriptorOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.scip_code.scip.ScipProto.internal_static_scip_Descriptor_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.scip_code.scip.ScipProto.internal_static_scip_Descriptor_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.scip_code.scip.Descriptor.class, org.scip_code.scip.Descriptor.Builder.class); + } + + // Construct using org.scip_code.scip.Descriptor.newBuilder() + private Builder() { + + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + + } + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + name_ = ""; + disambiguator_ = ""; + suffix_ = 0; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return org.scip_code.scip.ScipProto.internal_static_scip_Descriptor_descriptor; + } + + @java.lang.Override + public org.scip_code.scip.Descriptor getDefaultInstanceForType() { + return org.scip_code.scip.Descriptor.getDefaultInstance(); + } + + @java.lang.Override + public org.scip_code.scip.Descriptor build() { + org.scip_code.scip.Descriptor result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public org.scip_code.scip.Descriptor buildPartial() { + org.scip_code.scip.Descriptor result = new org.scip_code.scip.Descriptor(this); + if (bitField0_ != 0) { buildPartial0(result); } + onBuilt(); + return result; + } + + private void buildPartial0(org.scip_code.scip.Descriptor result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.name_ = name_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.disambiguator_ = disambiguator_; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.suffix_ = suffix_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof org.scip_code.scip.Descriptor) { + return mergeFrom((org.scip_code.scip.Descriptor)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(org.scip_code.scip.Descriptor other) { + if (other == org.scip_code.scip.Descriptor.getDefaultInstance()) return this; + if (!other.getName().isEmpty()) { + name_ = other.name_; + bitField0_ |= 0x00000001; + onChanged(); + } + if (!other.getDisambiguator().isEmpty()) { + disambiguator_ = other.disambiguator_; + bitField0_ |= 0x00000002; + onChanged(); + } + if (other.suffix_ != 0) { + setSuffixValue(other.getSuffixValue()); + } + this.mergeUnknownFields(other.getUnknownFields()); + 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 { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + name_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 18: { + disambiguator_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000002; + break; + } // case 18 + case 24: { + suffix_ = input.readEnum(); + bitField0_ |= 0x00000004; + break; + } // case 24 + default: { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + private int bitField0_; + + private java.lang.Object name_ = ""; + /** + * string name = 1 [json_name = "name"]; + * @return The name. + */ + public java.lang.String getName() { + java.lang.Object ref = name_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + name_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * string name = 1 [json_name = "name"]; + * @return The bytes for name. + */ + public com.google.protobuf.ByteString + getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * string name = 1 [json_name = "name"]; + * @param value The name to set. + * @return This builder for chaining. + */ + public Builder setName( + java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + name_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + /** + * string name = 1 [json_name = "name"]; + * @return This builder for chaining. + */ + public Builder clearName() { + name_ = getDefaultInstance().getName(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + /** + * string name = 1 [json_name = "name"]; + * @param value The bytes for name to set. + * @return This builder for chaining. + */ + public Builder setNameBytes( + com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + checkByteStringIsUtf8(value); + name_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private java.lang.Object disambiguator_ = ""; + /** + * string disambiguator = 2 [json_name = "disambiguator"]; + * @return The disambiguator. + */ + public java.lang.String getDisambiguator() { + java.lang.Object ref = disambiguator_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + disambiguator_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * string disambiguator = 2 [json_name = "disambiguator"]; + * @return The bytes for disambiguator. + */ + public com.google.protobuf.ByteString + getDisambiguatorBytes() { + java.lang.Object ref = disambiguator_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + disambiguator_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * string disambiguator = 2 [json_name = "disambiguator"]; + * @param value The disambiguator to set. + * @return This builder for chaining. + */ + public Builder setDisambiguator( + java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + disambiguator_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + /** + * string disambiguator = 2 [json_name = "disambiguator"]; + * @return This builder for chaining. + */ + public Builder clearDisambiguator() { + disambiguator_ = getDefaultInstance().getDisambiguator(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + /** + * string disambiguator = 2 [json_name = "disambiguator"]; + * @param value The bytes for disambiguator to set. + * @return This builder for chaining. + */ + public Builder setDisambiguatorBytes( + com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + checkByteStringIsUtf8(value); + disambiguator_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + private int suffix_ = 0; + /** + *
+     * NOTE: If you add new fields here, make sure to update the prepareSlot()
+     * function responsible for parsing symbols.
+     * 
+ * + * .scip.Descriptor.Suffix suffix = 3 [json_name = "suffix"]; + * @return The enum numeric value on the wire for suffix. + */ + @java.lang.Override public int getSuffixValue() { + return suffix_; + } + /** + *
+     * NOTE: If you add new fields here, make sure to update the prepareSlot()
+     * function responsible for parsing symbols.
+     * 
+ * + * .scip.Descriptor.Suffix suffix = 3 [json_name = "suffix"]; + * @param value The enum numeric value on the wire for suffix to set. + * @return This builder for chaining. + */ + public Builder setSuffixValue(int value) { + suffix_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + /** + *
+     * NOTE: If you add new fields here, make sure to update the prepareSlot()
+     * function responsible for parsing symbols.
+     * 
+ * + * .scip.Descriptor.Suffix suffix = 3 [json_name = "suffix"]; + * @return The suffix. + */ + @java.lang.Override + public org.scip_code.scip.Descriptor.Suffix getSuffix() { + org.scip_code.scip.Descriptor.Suffix result = org.scip_code.scip.Descriptor.Suffix.forNumber(suffix_); + return result == null ? org.scip_code.scip.Descriptor.Suffix.UNRECOGNIZED : result; + } + /** + *
+     * NOTE: If you add new fields here, make sure to update the prepareSlot()
+     * function responsible for parsing symbols.
+     * 
+ * + * .scip.Descriptor.Suffix suffix = 3 [json_name = "suffix"]; + * @param value The suffix to set. + * @return This builder for chaining. + */ + public Builder setSuffix(org.scip_code.scip.Descriptor.Suffix value) { + if (value == null) { throw new NullPointerException(); } + bitField0_ |= 0x00000004; + suffix_ = value.getNumber(); + onChanged(); + return this; + } + /** + *
+     * NOTE: If you add new fields here, make sure to update the prepareSlot()
+     * function responsible for parsing symbols.
+     * 
+ * + * .scip.Descriptor.Suffix suffix = 3 [json_name = "suffix"]; + * @return This builder for chaining. + */ + public Builder clearSuffix() { + bitField0_ = (bitField0_ & ~0x00000004); + suffix_ = 0; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:scip.Descriptor) + } + + // @@protoc_insertion_point(class_scope:scip.Descriptor) + private static final org.scip_code.scip.Descriptor DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new org.scip_code.scip.Descriptor(); + } + + public static org.scip_code.scip.Descriptor getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public Descriptor parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public org.scip_code.scip.Descriptor getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + +} + diff --git a/bindings/kotlin/src/main/java/org/scip_code/scip/DescriptorOrBuilder.java b/bindings/kotlin/src/main/java/org/scip_code/scip/DescriptorOrBuilder.java new file mode 100644 index 00000000..c4163c6e --- /dev/null +++ b/bindings/kotlin/src/main/java/org/scip_code/scip/DescriptorOrBuilder.java @@ -0,0 +1,57 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: scip.proto +// Protobuf Java Version: 4.32.1 + +package org.scip_code.scip; + +@com.google.protobuf.Generated +public interface DescriptorOrBuilder extends + // @@protoc_insertion_point(interface_extends:scip.Descriptor) + com.google.protobuf.MessageOrBuilder { + + /** + * string name = 1 [json_name = "name"]; + * @return The name. + */ + java.lang.String getName(); + /** + * string name = 1 [json_name = "name"]; + * @return The bytes for name. + */ + com.google.protobuf.ByteString + getNameBytes(); + + /** + * string disambiguator = 2 [json_name = "disambiguator"]; + * @return The disambiguator. + */ + java.lang.String getDisambiguator(); + /** + * string disambiguator = 2 [json_name = "disambiguator"]; + * @return The bytes for disambiguator. + */ + com.google.protobuf.ByteString + getDisambiguatorBytes(); + + /** + *
+   * NOTE: If you add new fields here, make sure to update the prepareSlot()
+   * function responsible for parsing symbols.
+   * 
+ * + * .scip.Descriptor.Suffix suffix = 3 [json_name = "suffix"]; + * @return The enum numeric value on the wire for suffix. + */ + int getSuffixValue(); + /** + *
+   * NOTE: If you add new fields here, make sure to update the prepareSlot()
+   * function responsible for parsing symbols.
+   * 
+ * + * .scip.Descriptor.Suffix suffix = 3 [json_name = "suffix"]; + * @return The suffix. + */ + org.scip_code.scip.Descriptor.Suffix getSuffix(); +} diff --git a/bindings/kotlin/src/main/java/org/scip_code/scip/Diagnostic.java b/bindings/kotlin/src/main/java/org/scip_code/scip/Diagnostic.java new file mode 100644 index 00000000..da370203 --- /dev/null +++ b/bindings/kotlin/src/main/java/org/scip_code/scip/Diagnostic.java @@ -0,0 +1,1248 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: scip.proto +// Protobuf Java Version: 4.32.1 + +package org.scip_code.scip; + +/** + *
+ * Represents a diagnostic, such as a compiler error or warning, which should be
+ * reported for a document.
+ * 
+ * + * Protobuf type {@code scip.Diagnostic} + */ +@com.google.protobuf.Generated +public final class Diagnostic extends + com.google.protobuf.GeneratedMessage implements + // @@protoc_insertion_point(message_implements:scip.Diagnostic) + DiagnosticOrBuilder { +private static final long serialVersionUID = 0L; + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 32, + /* patch= */ 1, + /* suffix= */ "", + Diagnostic.class.getName()); + } + // Use Diagnostic.newBuilder() to construct. + private Diagnostic(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + private Diagnostic() { + severity_ = 0; + code_ = ""; + message_ = ""; + source_ = ""; + tags_ = emptyIntList(); + } + + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.scip_code.scip.ScipProto.internal_static_scip_Diagnostic_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.scip_code.scip.ScipProto.internal_static_scip_Diagnostic_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.scip_code.scip.Diagnostic.class, org.scip_code.scip.Diagnostic.Builder.class); + } + + public static final int SEVERITY_FIELD_NUMBER = 1; + private int severity_ = 0; + /** + *
+   * Should this diagnostic be reported as an error, warning, info, or hint?
+   * 
+ * + * .scip.Severity severity = 1 [json_name = "severity"]; + * @return The enum numeric value on the wire for severity. + */ + @java.lang.Override public int getSeverityValue() { + return severity_; + } + /** + *
+   * Should this diagnostic be reported as an error, warning, info, or hint?
+   * 
+ * + * .scip.Severity severity = 1 [json_name = "severity"]; + * @return The severity. + */ + @java.lang.Override public org.scip_code.scip.Severity getSeverity() { + org.scip_code.scip.Severity result = org.scip_code.scip.Severity.forNumber(severity_); + return result == null ? org.scip_code.scip.Severity.UNRECOGNIZED : result; + } + + public static final int CODE_FIELD_NUMBER = 2; + @SuppressWarnings("serial") + private volatile java.lang.Object code_ = ""; + /** + *
+   * (optional) Code of this diagnostic, which might appear in the user interface.
+   * 
+ * + * string code = 2 [json_name = "code"]; + * @return The code. + */ + @java.lang.Override + public java.lang.String getCode() { + java.lang.Object ref = code_; + 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(); + code_ = s; + return s; + } + } + /** + *
+   * (optional) Code of this diagnostic, which might appear in the user interface.
+   * 
+ * + * string code = 2 [json_name = "code"]; + * @return The bytes for code. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getCodeBytes() { + java.lang.Object ref = code_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + code_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int MESSAGE_FIELD_NUMBER = 3; + @SuppressWarnings("serial") + private volatile java.lang.Object message_ = ""; + /** + *
+   * Message of this diagnostic.
+   * 
+ * + * string message = 3 [json_name = "message"]; + * @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; + } + } + /** + *
+   * Message of this diagnostic.
+   * 
+ * + * string message = 3 [json_name = "message"]; + * @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 SOURCE_FIELD_NUMBER = 4; + @SuppressWarnings("serial") + private volatile java.lang.Object source_ = ""; + /** + *
+   * (optional) Human-readable string describing the source of this diagnostic, e.g.
+   * 'typescript' or 'super lint'.
+   * 
+ * + * string source = 4 [json_name = "source"]; + * @return The source. + */ + @java.lang.Override + public java.lang.String getSource() { + java.lang.Object ref = source_; + 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(); + source_ = s; + return s; + } + } + /** + *
+   * (optional) Human-readable string describing the source of this diagnostic, e.g.
+   * 'typescript' or 'super lint'.
+   * 
+ * + * string source = 4 [json_name = "source"]; + * @return The bytes for source. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getSourceBytes() { + java.lang.Object ref = source_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + source_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int TAGS_FIELD_NUMBER = 5; + @SuppressWarnings("serial") + private com.google.protobuf.Internal.IntList tags_ = + emptyIntList(); + private static final com.google.protobuf.Internal.IntListAdapter.IntConverter< + org.scip_code.scip.DiagnosticTag> tags_converter_ = + new com.google.protobuf.Internal.IntListAdapter.IntConverter< + org.scip_code.scip.DiagnosticTag>() { + public org.scip_code.scip.DiagnosticTag convert(int from) { + org.scip_code.scip.DiagnosticTag result = org.scip_code.scip.DiagnosticTag.forNumber(from); + return result == null ? org.scip_code.scip.DiagnosticTag.UNRECOGNIZED : result; + } + }; + /** + * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; + * @return A list containing the tags. + */ + @java.lang.Override + public java.util.List getTagsList() { + return new com.google.protobuf.Internal.IntListAdapter< + org.scip_code.scip.DiagnosticTag>(tags_, tags_converter_); + } + /** + * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; + * @return The count of tags. + */ + @java.lang.Override + public int getTagsCount() { + return tags_.size(); + } + /** + * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; + * @param index The index of the element to return. + * @return The tags at the given index. + */ + @java.lang.Override + public org.scip_code.scip.DiagnosticTag getTags(int index) { + return tags_converter_.convert(tags_.getInt(index)); + } + /** + * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; + * @return A list containing the enum numeric values on the wire for tags. + */ + @java.lang.Override + public java.util.List + getTagsValueList() { + return tags_; + } + /** + * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; + * @param index The index of the value to return. + * @return The enum numeric value on the wire of tags at the given index. + */ + @java.lang.Override + public int getTagsValue(int index) { + return tags_.getInt(index); + } + private int tagsMemoizedSerializedSize; + + 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 { + getSerializedSize(); + if (severity_ != org.scip_code.scip.Severity.UnspecifiedSeverity.getNumber()) { + output.writeEnum(1, severity_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(code_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 2, code_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(message_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 3, message_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(source_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 4, source_); + } + if (getTagsList().size() > 0) { + output.writeUInt32NoTag(42); + output.writeUInt32NoTag(tagsMemoizedSerializedSize); + } + for (int i = 0; i < tags_.size(); i++) { + output.writeEnumNoTag(tags_.getInt(i)); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (severity_ != org.scip_code.scip.Severity.UnspecifiedSeverity.getNumber()) { + size += com.google.protobuf.CodedOutputStream + .computeEnumSize(1, severity_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(code_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(2, code_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(message_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(3, message_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(source_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(4, source_); + } + { + int dataSize = 0; + for (int i = 0; i < tags_.size(); i++) { + dataSize += com.google.protobuf.CodedOutputStream + .computeEnumSizeNoTag(tags_.getInt(i)); + } + size += dataSize; + if (!getTagsList().isEmpty()) { size += 1; + size += com.google.protobuf.CodedOutputStream + .computeUInt32SizeNoTag(dataSize); + }tagsMemoizedSerializedSize = dataSize; + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof org.scip_code.scip.Diagnostic)) { + return super.equals(obj); + } + org.scip_code.scip.Diagnostic other = (org.scip_code.scip.Diagnostic) obj; + + if (severity_ != other.severity_) return false; + if (!getCode() + .equals(other.getCode())) return false; + if (!getMessage() + .equals(other.getMessage())) return false; + if (!getSource() + .equals(other.getSource())) return false; + if (!tags_.equals(other.tags_)) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) 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) + SEVERITY_FIELD_NUMBER; + hash = (53 * hash) + severity_; + hash = (37 * hash) + CODE_FIELD_NUMBER; + hash = (53 * hash) + getCode().hashCode(); + hash = (37 * hash) + MESSAGE_FIELD_NUMBER; + hash = (53 * hash) + getMessage().hashCode(); + hash = (37 * hash) + SOURCE_FIELD_NUMBER; + hash = (53 * hash) + getSource().hashCode(); + if (getTagsCount() > 0) { + hash = (37 * hash) + TAGS_FIELD_NUMBER; + hash = (53 * hash) + tags_.hashCode(); + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static org.scip_code.scip.Diagnostic parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.scip_code.scip.Diagnostic parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.scip_code.scip.Diagnostic parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.scip_code.scip.Diagnostic parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.scip_code.scip.Diagnostic parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.scip_code.scip.Diagnostic parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.scip_code.scip.Diagnostic parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static org.scip_code.scip.Diagnostic parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public static org.scip_code.scip.Diagnostic parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input); + } + + public static org.scip_code.scip.Diagnostic parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static org.scip_code.scip.Diagnostic parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static org.scip_code.scip.Diagnostic parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(org.scip_code.scip.Diagnostic 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + *
+   * Represents a diagnostic, such as a compiler error or warning, which should be
+   * reported for a document.
+   * 
+ * + * Protobuf type {@code scip.Diagnostic} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder implements + // @@protoc_insertion_point(builder_implements:scip.Diagnostic) + org.scip_code.scip.DiagnosticOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.scip_code.scip.ScipProto.internal_static_scip_Diagnostic_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.scip_code.scip.ScipProto.internal_static_scip_Diagnostic_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.scip_code.scip.Diagnostic.class, org.scip_code.scip.Diagnostic.Builder.class); + } + + // Construct using org.scip_code.scip.Diagnostic.newBuilder() + private Builder() { + + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + + } + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + severity_ = 0; + code_ = ""; + message_ = ""; + source_ = ""; + tags_ = emptyIntList(); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return org.scip_code.scip.ScipProto.internal_static_scip_Diagnostic_descriptor; + } + + @java.lang.Override + public org.scip_code.scip.Diagnostic getDefaultInstanceForType() { + return org.scip_code.scip.Diagnostic.getDefaultInstance(); + } + + @java.lang.Override + public org.scip_code.scip.Diagnostic build() { + org.scip_code.scip.Diagnostic result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public org.scip_code.scip.Diagnostic buildPartial() { + org.scip_code.scip.Diagnostic result = new org.scip_code.scip.Diagnostic(this); + if (bitField0_ != 0) { buildPartial0(result); } + onBuilt(); + return result; + } + + private void buildPartial0(org.scip_code.scip.Diagnostic result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.severity_ = severity_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.code_ = code_; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.message_ = message_; + } + if (((from_bitField0_ & 0x00000008) != 0)) { + result.source_ = source_; + } + if (((from_bitField0_ & 0x00000010) != 0)) { + tags_.makeImmutable(); + result.tags_ = tags_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof org.scip_code.scip.Diagnostic) { + return mergeFrom((org.scip_code.scip.Diagnostic)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(org.scip_code.scip.Diagnostic other) { + if (other == org.scip_code.scip.Diagnostic.getDefaultInstance()) return this; + if (other.severity_ != 0) { + setSeverityValue(other.getSeverityValue()); + } + if (!other.getCode().isEmpty()) { + code_ = other.code_; + bitField0_ |= 0x00000002; + onChanged(); + } + if (!other.getMessage().isEmpty()) { + message_ = other.message_; + bitField0_ |= 0x00000004; + onChanged(); + } + if (!other.getSource().isEmpty()) { + source_ = other.source_; + bitField0_ |= 0x00000008; + onChanged(); + } + if (!other.tags_.isEmpty()) { + if (tags_.isEmpty()) { + tags_ = other.tags_; + tags_.makeImmutable(); + bitField0_ |= 0x00000010; + } else { + ensureTagsIsMutable(); + tags_.addAll(other.tags_); + } + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + 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 { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: { + severity_ = input.readEnum(); + bitField0_ |= 0x00000001; + break; + } // case 8 + case 18: { + code_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000002; + break; + } // case 18 + case 26: { + message_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000004; + break; + } // case 26 + case 34: { + source_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000008; + break; + } // case 34 + case 40: { + int tmpRaw = input.readEnum(); + ensureTagsIsMutable(); + tags_.addInt(tmpRaw); + break; + } // case 40 + case 42: { + int length = input.readRawVarint32(); + int limit = input.pushLimit(length); + ensureTagsIsMutable(); + while (input.getBytesUntilLimit() > 0) { + tags_.addInt(input.readEnum()); + } + input.popLimit(limit); + break; + } // case 42 + default: { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + private int bitField0_; + + private int severity_ = 0; + /** + *
+     * Should this diagnostic be reported as an error, warning, info, or hint?
+     * 
+ * + * .scip.Severity severity = 1 [json_name = "severity"]; + * @return The enum numeric value on the wire for severity. + */ + @java.lang.Override public int getSeverityValue() { + return severity_; + } + /** + *
+     * Should this diagnostic be reported as an error, warning, info, or hint?
+     * 
+ * + * .scip.Severity severity = 1 [json_name = "severity"]; + * @param value The enum numeric value on the wire for severity to set. + * @return This builder for chaining. + */ + public Builder setSeverityValue(int value) { + severity_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + /** + *
+     * Should this diagnostic be reported as an error, warning, info, or hint?
+     * 
+ * + * .scip.Severity severity = 1 [json_name = "severity"]; + * @return The severity. + */ + @java.lang.Override + public org.scip_code.scip.Severity getSeverity() { + org.scip_code.scip.Severity result = org.scip_code.scip.Severity.forNumber(severity_); + return result == null ? org.scip_code.scip.Severity.UNRECOGNIZED : result; + } + /** + *
+     * Should this diagnostic be reported as an error, warning, info, or hint?
+     * 
+ * + * .scip.Severity severity = 1 [json_name = "severity"]; + * @param value The severity to set. + * @return This builder for chaining. + */ + public Builder setSeverity(org.scip_code.scip.Severity value) { + if (value == null) { throw new NullPointerException(); } + bitField0_ |= 0x00000001; + severity_ = value.getNumber(); + onChanged(); + return this; + } + /** + *
+     * Should this diagnostic be reported as an error, warning, info, or hint?
+     * 
+ * + * .scip.Severity severity = 1 [json_name = "severity"]; + * @return This builder for chaining. + */ + public Builder clearSeverity() { + bitField0_ = (bitField0_ & ~0x00000001); + severity_ = 0; + onChanged(); + return this; + } + + private java.lang.Object code_ = ""; + /** + *
+     * (optional) Code of this diagnostic, which might appear in the user interface.
+     * 
+ * + * string code = 2 [json_name = "code"]; + * @return The code. + */ + public java.lang.String getCode() { + java.lang.Object ref = code_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + code_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + *
+     * (optional) Code of this diagnostic, which might appear in the user interface.
+     * 
+ * + * string code = 2 [json_name = "code"]; + * @return The bytes for code. + */ + public com.google.protobuf.ByteString + getCodeBytes() { + java.lang.Object ref = code_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + code_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + *
+     * (optional) Code of this diagnostic, which might appear in the user interface.
+     * 
+ * + * string code = 2 [json_name = "code"]; + * @param value The code to set. + * @return This builder for chaining. + */ + public Builder setCode( + java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + code_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + /** + *
+     * (optional) Code of this diagnostic, which might appear in the user interface.
+     * 
+ * + * string code = 2 [json_name = "code"]; + * @return This builder for chaining. + */ + public Builder clearCode() { + code_ = getDefaultInstance().getCode(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + /** + *
+     * (optional) Code of this diagnostic, which might appear in the user interface.
+     * 
+ * + * string code = 2 [json_name = "code"]; + * @param value The bytes for code to set. + * @return This builder for chaining. + */ + public Builder setCodeBytes( + com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + checkByteStringIsUtf8(value); + code_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + private java.lang.Object message_ = ""; + /** + *
+     * Message of this diagnostic.
+     * 
+ * + * string message = 3 [json_name = "message"]; + * @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; + } + } + /** + *
+     * Message of this diagnostic.
+     * 
+ * + * string message = 3 [json_name = "message"]; + * @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; + } + } + /** + *
+     * Message of this diagnostic.
+     * 
+ * + * string message = 3 [json_name = "message"]; + * @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; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + /** + *
+     * Message of this diagnostic.
+     * 
+ * + * string message = 3 [json_name = "message"]; + * @return This builder for chaining. + */ + public Builder clearMessage() { + message_ = getDefaultInstance().getMessage(); + bitField0_ = (bitField0_ & ~0x00000004); + onChanged(); + return this; + } + /** + *
+     * Message of this diagnostic.
+     * 
+ * + * string message = 3 [json_name = "message"]; + * @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; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + private java.lang.Object source_ = ""; + /** + *
+     * (optional) Human-readable string describing the source of this diagnostic, e.g.
+     * 'typescript' or 'super lint'.
+     * 
+ * + * string source = 4 [json_name = "source"]; + * @return The source. + */ + public java.lang.String getSource() { + java.lang.Object ref = source_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + source_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + *
+     * (optional) Human-readable string describing the source of this diagnostic, e.g.
+     * 'typescript' or 'super lint'.
+     * 
+ * + * string source = 4 [json_name = "source"]; + * @return The bytes for source. + */ + public com.google.protobuf.ByteString + getSourceBytes() { + java.lang.Object ref = source_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + source_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + *
+     * (optional) Human-readable string describing the source of this diagnostic, e.g.
+     * 'typescript' or 'super lint'.
+     * 
+ * + * string source = 4 [json_name = "source"]; + * @param value The source to set. + * @return This builder for chaining. + */ + public Builder setSource( + java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + source_ = value; + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + /** + *
+     * (optional) Human-readable string describing the source of this diagnostic, e.g.
+     * 'typescript' or 'super lint'.
+     * 
+ * + * string source = 4 [json_name = "source"]; + * @return This builder for chaining. + */ + public Builder clearSource() { + source_ = getDefaultInstance().getSource(); + bitField0_ = (bitField0_ & ~0x00000008); + onChanged(); + return this; + } + /** + *
+     * (optional) Human-readable string describing the source of this diagnostic, e.g.
+     * 'typescript' or 'super lint'.
+     * 
+ * + * string source = 4 [json_name = "source"]; + * @param value The bytes for source to set. + * @return This builder for chaining. + */ + public Builder setSourceBytes( + com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + checkByteStringIsUtf8(value); + source_ = value; + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + + private com.google.protobuf.Internal.IntList tags_ = emptyIntList(); + private void ensureTagsIsMutable() { + if (!tags_.isModifiable()) { + tags_ = makeMutableCopy(tags_); + } + bitField0_ |= 0x00000010; + } + /** + * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; + * @return A list containing the tags. + */ + public java.util.List getTagsList() { + return new com.google.protobuf.Internal.IntListAdapter< + org.scip_code.scip.DiagnosticTag>(tags_, tags_converter_); + } + /** + * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; + * @return The count of tags. + */ + public int getTagsCount() { + return tags_.size(); + } + /** + * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; + * @param index The index of the element to return. + * @return The tags at the given index. + */ + public org.scip_code.scip.DiagnosticTag getTags(int index) { + return tags_converter_.convert(tags_.getInt(index)); + } + /** + * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; + * @param index The index to set the value at. + * @param value The tags to set. + * @return This builder for chaining. + */ + public Builder setTags( + int index, org.scip_code.scip.DiagnosticTag value) { + if (value == null) { throw new NullPointerException(); } + ensureTagsIsMutable(); + tags_.setInt(index, value.getNumber()); + onChanged(); + return this; + } + /** + * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; + * @param value The tags to add. + * @return This builder for chaining. + */ + public Builder addTags(org.scip_code.scip.DiagnosticTag value) { + if (value == null) { throw new NullPointerException(); } + ensureTagsIsMutable(); + tags_.addInt(value.getNumber()); + onChanged(); + return this; + } + /** + * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; + * @param values The tags to add. + * @return This builder for chaining. + */ + public Builder addAllTags( + java.lang.Iterable values) { + ensureTagsIsMutable(); + for (org.scip_code.scip.DiagnosticTag value : values) { + tags_.addInt(value.getNumber()); + } + onChanged(); + return this; + } + /** + * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; + * @return This builder for chaining. + */ + public Builder clearTags() { + tags_ = emptyIntList(); + bitField0_ = (bitField0_ & ~0x00000010); + onChanged(); + return this; + } + /** + * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; + * @return A list containing the enum numeric values on the wire for tags. + */ + public java.util.List + getTagsValueList() { + tags_.makeImmutable(); + return tags_; + } + /** + * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; + * @param index The index of the value to return. + * @return The enum numeric value on the wire of tags at the given index. + */ + public int getTagsValue(int index) { + return tags_.getInt(index); + } + /** + * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; + * @param index The index to set the value at. + * @param value The enum numeric value on the wire for tags to set. + * @return This builder for chaining. + */ + public Builder setTagsValue( + int index, int value) { + ensureTagsIsMutable(); + tags_.setInt(index, value); + onChanged(); + return this; + } + /** + * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; + * @param value The enum numeric value on the wire for tags to add. + * @return This builder for chaining. + */ + public Builder addTagsValue(int value) { + ensureTagsIsMutable(); + tags_.addInt(value); + onChanged(); + return this; + } + /** + * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; + * @param values The enum numeric values on the wire for tags to add. + * @return This builder for chaining. + */ + public Builder addAllTagsValue( + java.lang.Iterable values) { + ensureTagsIsMutable(); + for (int value : values) { + tags_.addInt(value); + } + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:scip.Diagnostic) + } + + // @@protoc_insertion_point(class_scope:scip.Diagnostic) + private static final org.scip_code.scip.Diagnostic DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new org.scip_code.scip.Diagnostic(); + } + + public static org.scip_code.scip.Diagnostic getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public Diagnostic parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public org.scip_code.scip.Diagnostic getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + +} + diff --git a/bindings/kotlin/src/main/java/org/scip_code/scip/DiagnosticOrBuilder.java b/bindings/kotlin/src/main/java/org/scip_code/scip/DiagnosticOrBuilder.java new file mode 100644 index 00000000..1980b5dc --- /dev/null +++ b/bindings/kotlin/src/main/java/org/scip_code/scip/DiagnosticOrBuilder.java @@ -0,0 +1,122 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: scip.proto +// Protobuf Java Version: 4.32.1 + +package org.scip_code.scip; + +@com.google.protobuf.Generated +public interface DiagnosticOrBuilder extends + // @@protoc_insertion_point(interface_extends:scip.Diagnostic) + com.google.protobuf.MessageOrBuilder { + + /** + *
+   * Should this diagnostic be reported as an error, warning, info, or hint?
+   * 
+ * + * .scip.Severity severity = 1 [json_name = "severity"]; + * @return The enum numeric value on the wire for severity. + */ + int getSeverityValue(); + /** + *
+   * Should this diagnostic be reported as an error, warning, info, or hint?
+   * 
+ * + * .scip.Severity severity = 1 [json_name = "severity"]; + * @return The severity. + */ + org.scip_code.scip.Severity getSeverity(); + + /** + *
+   * (optional) Code of this diagnostic, which might appear in the user interface.
+   * 
+ * + * string code = 2 [json_name = "code"]; + * @return The code. + */ + java.lang.String getCode(); + /** + *
+   * (optional) Code of this diagnostic, which might appear in the user interface.
+   * 
+ * + * string code = 2 [json_name = "code"]; + * @return The bytes for code. + */ + com.google.protobuf.ByteString + getCodeBytes(); + + /** + *
+   * Message of this diagnostic.
+   * 
+ * + * string message = 3 [json_name = "message"]; + * @return The message. + */ + java.lang.String getMessage(); + /** + *
+   * Message of this diagnostic.
+   * 
+ * + * string message = 3 [json_name = "message"]; + * @return The bytes for message. + */ + com.google.protobuf.ByteString + getMessageBytes(); + + /** + *
+   * (optional) Human-readable string describing the source of this diagnostic, e.g.
+   * 'typescript' or 'super lint'.
+   * 
+ * + * string source = 4 [json_name = "source"]; + * @return The source. + */ + java.lang.String getSource(); + /** + *
+   * (optional) Human-readable string describing the source of this diagnostic, e.g.
+   * 'typescript' or 'super lint'.
+   * 
+ * + * string source = 4 [json_name = "source"]; + * @return The bytes for source. + */ + com.google.protobuf.ByteString + getSourceBytes(); + + /** + * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; + * @return A list containing the tags. + */ + java.util.List getTagsList(); + /** + * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; + * @return The count of tags. + */ + int getTagsCount(); + /** + * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; + * @param index The index of the element to return. + * @return The tags at the given index. + */ + org.scip_code.scip.DiagnosticTag getTags(int index); + /** + * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; + * @return A list containing the enum numeric values on the wire for tags. + */ + java.util.List + getTagsValueList(); + /** + * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; + * @param index The index of the value to return. + * @return The enum numeric value on the wire of tags at the given index. + */ + int getTagsValue(int index); +} diff --git a/bindings/kotlin/src/main/java/org/scip_code/scip/DiagnosticTag.java b/bindings/kotlin/src/main/java/org/scip_code/scip/DiagnosticTag.java new file mode 100644 index 00000000..7b1d15ac --- /dev/null +++ b/bindings/kotlin/src/main/java/org/scip_code/scip/DiagnosticTag.java @@ -0,0 +1,134 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: scip.proto +// Protobuf Java Version: 4.32.1 + +package org.scip_code.scip; + +/** + * Protobuf enum {@code scip.DiagnosticTag} + */ +@com.google.protobuf.Generated +public enum DiagnosticTag + implements com.google.protobuf.ProtocolMessageEnum { + /** + * UnspecifiedDiagnosticTag = 0; + */ + UnspecifiedDiagnosticTag(0), + /** + * Unnecessary = 1; + */ + Unnecessary(1), + /** + * Deprecated = 2; + */ + Deprecated(2), + UNRECOGNIZED(-1), + ; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 32, + /* patch= */ 1, + /* suffix= */ "", + DiagnosticTag.class.getName()); + } + /** + * UnspecifiedDiagnosticTag = 0; + */ + public static final int UnspecifiedDiagnosticTag_VALUE = 0; + /** + * Unnecessary = 1; + */ + public static final int Unnecessary_VALUE = 1; + /** + * Deprecated = 2; + */ + public static final int Deprecated_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 DiagnosticTag 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 DiagnosticTag forNumber(int value) { + switch (value) { + case 0: return UnspecifiedDiagnosticTag; + case 1: return Unnecessary; + case 2: return Deprecated; + default: return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap + internalGetValueMap() { + return internalValueMap; + } + private static final com.google.protobuf.Internal.EnumLiteMap< + DiagnosticTag> internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap() { + public DiagnosticTag findValueByNumber(int number) { + return DiagnosticTag.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 com.google.protobuf.Descriptors.EnumDescriptor + getDescriptor() { + return org.scip_code.scip.ScipProto.getDescriptor().getEnumTypes().get(6); + } + + private static final DiagnosticTag[] VALUES = values(); + + public static DiagnosticTag 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 DiagnosticTag(int value) { + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:scip.DiagnosticTag) +} + diff --git a/bindings/kotlin/src/main/java/org/scip_code/scip/Document.java b/bindings/kotlin/src/main/java/org/scip_code/scip/Document.java new file mode 100644 index 00000000..750f0380 --- /dev/null +++ b/bindings/kotlin/src/main/java/org/scip_code/scip/Document.java @@ -0,0 +1,2134 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: scip.proto +// Protobuf Java Version: 4.32.1 + +package org.scip_code.scip; + +/** + *
+ * Document defines the metadata about a source file on disk.
+ * 
+ * + * Protobuf type {@code scip.Document} + */ +@com.google.protobuf.Generated +public final class Document extends + com.google.protobuf.GeneratedMessage implements + // @@protoc_insertion_point(message_implements:scip.Document) + DocumentOrBuilder { +private static final long serialVersionUID = 0L; + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 32, + /* patch= */ 1, + /* suffix= */ "", + Document.class.getName()); + } + // Use Document.newBuilder() to construct. + private Document(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + private Document() { + language_ = ""; + relativePath_ = ""; + occurrences_ = java.util.Collections.emptyList(); + symbols_ = java.util.Collections.emptyList(); + text_ = ""; + positionEncoding_ = 0; + } + + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.scip_code.scip.ScipProto.internal_static_scip_Document_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.scip_code.scip.ScipProto.internal_static_scip_Document_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.scip_code.scip.Document.class, org.scip_code.scip.Document.Builder.class); + } + + public static final int LANGUAGE_FIELD_NUMBER = 4; + @SuppressWarnings("serial") + private volatile java.lang.Object language_ = ""; + /** + *
+   * The string ID for the programming language this file is written in.
+   * The `Language` enum contains the names of most common programming languages.
+   * This field is typed as a string to permit any programming language, including
+   * ones that are not specified by the `Language` enum.
+   * 
+ * + * string language = 4 [json_name = "language"]; + * @return The language. + */ + @java.lang.Override + public java.lang.String getLanguage() { + java.lang.Object ref = language_; + 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(); + language_ = s; + return s; + } + } + /** + *
+   * The string ID for the programming language this file is written in.
+   * The `Language` enum contains the names of most common programming languages.
+   * This field is typed as a string to permit any programming language, including
+   * ones that are not specified by the `Language` enum.
+   * 
+ * + * string language = 4 [json_name = "language"]; + * @return The bytes for language. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getLanguageBytes() { + java.lang.Object ref = language_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + language_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int RELATIVE_PATH_FIELD_NUMBER = 1; + @SuppressWarnings("serial") + private volatile java.lang.Object relativePath_ = ""; + /** + *
+   * (Required) Unique path to the text document.
+   *
+   * 1. The path must be relative to the directory supplied in the associated
+   * `Metadata.project_root`.
+   * 2. The path must not begin with a leading '/'.
+   * 3. The path must point to a regular file, not a symbolic link.
+   * 4. The path must use '/' as the separator, including on Windows.
+   * 5. The path must be canonical; it cannot include empty components ('//'),
+   * or '.' or '..'.
+   * 
+ * + * string relative_path = 1 [json_name = "relativePath"]; + * @return The relativePath. + */ + @java.lang.Override + public java.lang.String getRelativePath() { + java.lang.Object ref = relativePath_; + 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(); + relativePath_ = s; + return s; + } + } + /** + *
+   * (Required) Unique path to the text document.
+   *
+   * 1. The path must be relative to the directory supplied in the associated
+   * `Metadata.project_root`.
+   * 2. The path must not begin with a leading '/'.
+   * 3. The path must point to a regular file, not a symbolic link.
+   * 4. The path must use '/' as the separator, including on Windows.
+   * 5. The path must be canonical; it cannot include empty components ('//'),
+   * or '.' or '..'.
+   * 
+ * + * string relative_path = 1 [json_name = "relativePath"]; + * @return The bytes for relativePath. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getRelativePathBytes() { + java.lang.Object ref = relativePath_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + relativePath_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int OCCURRENCES_FIELD_NUMBER = 2; + @SuppressWarnings("serial") + private java.util.List occurrences_; + /** + *
+   * Occurrences that appear in this file.
+   * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + @java.lang.Override + public java.util.List getOccurrencesList() { + return occurrences_; + } + /** + *
+   * Occurrences that appear in this file.
+   * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + @java.lang.Override + public java.util.List + getOccurrencesOrBuilderList() { + return occurrences_; + } + /** + *
+   * Occurrences that appear in this file.
+   * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + @java.lang.Override + public int getOccurrencesCount() { + return occurrences_.size(); + } + /** + *
+   * Occurrences that appear in this file.
+   * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + @java.lang.Override + public org.scip_code.scip.Occurrence getOccurrences(int index) { + return occurrences_.get(index); + } + /** + *
+   * Occurrences that appear in this file.
+   * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + @java.lang.Override + public org.scip_code.scip.OccurrenceOrBuilder getOccurrencesOrBuilder( + int index) { + return occurrences_.get(index); + } + + public static final int SYMBOLS_FIELD_NUMBER = 3; + @SuppressWarnings("serial") + private java.util.List symbols_; + /** + *
+   * Symbols that are "defined" within this document.
+   *
+   * This should include symbols which technically do not have any definition,
+   * but have a reference and are defined by some other symbol (see
+   * Relationship.is_definition).
+   * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + @java.lang.Override + public java.util.List getSymbolsList() { + return symbols_; + } + /** + *
+   * Symbols that are "defined" within this document.
+   *
+   * This should include symbols which technically do not have any definition,
+   * but have a reference and are defined by some other symbol (see
+   * Relationship.is_definition).
+   * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + @java.lang.Override + public java.util.List + getSymbolsOrBuilderList() { + return symbols_; + } + /** + *
+   * Symbols that are "defined" within this document.
+   *
+   * This should include symbols which technically do not have any definition,
+   * but have a reference and are defined by some other symbol (see
+   * Relationship.is_definition).
+   * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + @java.lang.Override + public int getSymbolsCount() { + return symbols_.size(); + } + /** + *
+   * Symbols that are "defined" within this document.
+   *
+   * This should include symbols which technically do not have any definition,
+   * but have a reference and are defined by some other symbol (see
+   * Relationship.is_definition).
+   * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + @java.lang.Override + public org.scip_code.scip.SymbolInformation getSymbols(int index) { + return symbols_.get(index); + } + /** + *
+   * Symbols that are "defined" within this document.
+   *
+   * This should include symbols which technically do not have any definition,
+   * but have a reference and are defined by some other symbol (see
+   * Relationship.is_definition).
+   * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + @java.lang.Override + public org.scip_code.scip.SymbolInformationOrBuilder getSymbolsOrBuilder( + int index) { + return symbols_.get(index); + } + + public static final int TEXT_FIELD_NUMBER = 5; + @SuppressWarnings("serial") + private volatile java.lang.Object text_ = ""; + /** + *
+   * (optional) Text contents of this document. Indexers are not expected to
+   * include the text by default. It's preferable that clients read the text
+   * contents from the file system by resolving the absolute path from joining
+   * `Index.metadata.project_root` and `Document.relative_path`. This field
+   * can be useful for testing or when working with virtual/in-memory documents.
+   * 
+ * + * string text = 5 [json_name = "text"]; + * @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; + } + } + /** + *
+   * (optional) Text contents of this document. Indexers are not expected to
+   * include the text by default. It's preferable that clients read the text
+   * contents from the file system by resolving the absolute path from joining
+   * `Index.metadata.project_root` and `Document.relative_path`. This field
+   * can be useful for testing or when working with virtual/in-memory documents.
+   * 
+ * + * string text = 5 [json_name = "text"]; + * @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 POSITION_ENCODING_FIELD_NUMBER = 6; + private int positionEncoding_ = 0; + /** + *
+   * Specifies the encoding used for source ranges in this Document.
+   *
+   * Usually, this will match the type used to index the string type
+   * in the indexer's implementation language in O(1) time.
+   * - For an indexer implemented in JVM/.NET language or JavaScript/TypeScript,
+   * use UTF16CodeUnitOffsetFromLineStart.
+   * - For an indexer implemented in Python,
+   * use UTF32CodeUnitOffsetFromLineStart.
+   * - For an indexer implemented in Go, Rust or C++,
+   * use UTF8ByteOffsetFromLineStart.
+   * 
+ * + * .scip.PositionEncoding position_encoding = 6 [json_name = "positionEncoding"]; + * @return The enum numeric value on the wire for positionEncoding. + */ + @java.lang.Override public int getPositionEncodingValue() { + return positionEncoding_; + } + /** + *
+   * Specifies the encoding used for source ranges in this Document.
+   *
+   * Usually, this will match the type used to index the string type
+   * in the indexer's implementation language in O(1) time.
+   * - For an indexer implemented in JVM/.NET language or JavaScript/TypeScript,
+   * use UTF16CodeUnitOffsetFromLineStart.
+   * - For an indexer implemented in Python,
+   * use UTF32CodeUnitOffsetFromLineStart.
+   * - For an indexer implemented in Go, Rust or C++,
+   * use UTF8ByteOffsetFromLineStart.
+   * 
+ * + * .scip.PositionEncoding position_encoding = 6 [json_name = "positionEncoding"]; + * @return The positionEncoding. + */ + @java.lang.Override public org.scip_code.scip.PositionEncoding getPositionEncoding() { + org.scip_code.scip.PositionEncoding result = org.scip_code.scip.PositionEncoding.forNumber(positionEncoding_); + return result == null ? org.scip_code.scip.PositionEncoding.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 (!com.google.protobuf.GeneratedMessage.isStringEmpty(relativePath_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, relativePath_); + } + for (int i = 0; i < occurrences_.size(); i++) { + output.writeMessage(2, occurrences_.get(i)); + } + for (int i = 0; i < symbols_.size(); i++) { + output.writeMessage(3, symbols_.get(i)); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(language_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 4, language_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(text_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 5, text_); + } + if (positionEncoding_ != org.scip_code.scip.PositionEncoding.UnspecifiedPositionEncoding.getNumber()) { + output.writeEnum(6, positionEncoding_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(relativePath_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, relativePath_); + } + for (int i = 0; i < occurrences_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(2, occurrences_.get(i)); + } + for (int i = 0; i < symbols_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(3, symbols_.get(i)); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(language_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(4, language_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(text_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(5, text_); + } + if (positionEncoding_ != org.scip_code.scip.PositionEncoding.UnspecifiedPositionEncoding.getNumber()) { + size += com.google.protobuf.CodedOutputStream + .computeEnumSize(6, positionEncoding_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof org.scip_code.scip.Document)) { + return super.equals(obj); + } + org.scip_code.scip.Document other = (org.scip_code.scip.Document) obj; + + if (!getLanguage() + .equals(other.getLanguage())) return false; + if (!getRelativePath() + .equals(other.getRelativePath())) return false; + if (!getOccurrencesList() + .equals(other.getOccurrencesList())) return false; + if (!getSymbolsList() + .equals(other.getSymbolsList())) return false; + if (!getText() + .equals(other.getText())) return false; + if (positionEncoding_ != other.positionEncoding_) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) 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) + LANGUAGE_FIELD_NUMBER; + hash = (53 * hash) + getLanguage().hashCode(); + hash = (37 * hash) + RELATIVE_PATH_FIELD_NUMBER; + hash = (53 * hash) + getRelativePath().hashCode(); + if (getOccurrencesCount() > 0) { + hash = (37 * hash) + OCCURRENCES_FIELD_NUMBER; + hash = (53 * hash) + getOccurrencesList().hashCode(); + } + if (getSymbolsCount() > 0) { + hash = (37 * hash) + SYMBOLS_FIELD_NUMBER; + hash = (53 * hash) + getSymbolsList().hashCode(); + } + hash = (37 * hash) + TEXT_FIELD_NUMBER; + hash = (53 * hash) + getText().hashCode(); + hash = (37 * hash) + POSITION_ENCODING_FIELD_NUMBER; + hash = (53 * hash) + positionEncoding_; + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static org.scip_code.scip.Document parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.scip_code.scip.Document parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.scip_code.scip.Document parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.scip_code.scip.Document parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.scip_code.scip.Document parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.scip_code.scip.Document parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.scip_code.scip.Document parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static org.scip_code.scip.Document parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public static org.scip_code.scip.Document parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input); + } + + public static org.scip_code.scip.Document parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static org.scip_code.scip.Document parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static org.scip_code.scip.Document parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(org.scip_code.scip.Document 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + *
+   * Document defines the metadata about a source file on disk.
+   * 
+ * + * Protobuf type {@code scip.Document} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder implements + // @@protoc_insertion_point(builder_implements:scip.Document) + org.scip_code.scip.DocumentOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.scip_code.scip.ScipProto.internal_static_scip_Document_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.scip_code.scip.ScipProto.internal_static_scip_Document_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.scip_code.scip.Document.class, org.scip_code.scip.Document.Builder.class); + } + + // Construct using org.scip_code.scip.Document.newBuilder() + private Builder() { + + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + + } + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + language_ = ""; + relativePath_ = ""; + if (occurrencesBuilder_ == null) { + occurrences_ = java.util.Collections.emptyList(); + } else { + occurrences_ = null; + occurrencesBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000004); + if (symbolsBuilder_ == null) { + symbols_ = java.util.Collections.emptyList(); + } else { + symbols_ = null; + symbolsBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000008); + text_ = ""; + positionEncoding_ = 0; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return org.scip_code.scip.ScipProto.internal_static_scip_Document_descriptor; + } + + @java.lang.Override + public org.scip_code.scip.Document getDefaultInstanceForType() { + return org.scip_code.scip.Document.getDefaultInstance(); + } + + @java.lang.Override + public org.scip_code.scip.Document build() { + org.scip_code.scip.Document result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public org.scip_code.scip.Document buildPartial() { + org.scip_code.scip.Document result = new org.scip_code.scip.Document(this); + buildPartialRepeatedFields(result); + if (bitField0_ != 0) { buildPartial0(result); } + onBuilt(); + return result; + } + + private void buildPartialRepeatedFields(org.scip_code.scip.Document result) { + if (occurrencesBuilder_ == null) { + if (((bitField0_ & 0x00000004) != 0)) { + occurrences_ = java.util.Collections.unmodifiableList(occurrences_); + bitField0_ = (bitField0_ & ~0x00000004); + } + result.occurrences_ = occurrences_; + } else { + result.occurrences_ = occurrencesBuilder_.build(); + } + if (symbolsBuilder_ == null) { + if (((bitField0_ & 0x00000008) != 0)) { + symbols_ = java.util.Collections.unmodifiableList(symbols_); + bitField0_ = (bitField0_ & ~0x00000008); + } + result.symbols_ = symbols_; + } else { + result.symbols_ = symbolsBuilder_.build(); + } + } + + private void buildPartial0(org.scip_code.scip.Document result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.language_ = language_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.relativePath_ = relativePath_; + } + if (((from_bitField0_ & 0x00000010) != 0)) { + result.text_ = text_; + } + if (((from_bitField0_ & 0x00000020) != 0)) { + result.positionEncoding_ = positionEncoding_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof org.scip_code.scip.Document) { + return mergeFrom((org.scip_code.scip.Document)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(org.scip_code.scip.Document other) { + if (other == org.scip_code.scip.Document.getDefaultInstance()) return this; + if (!other.getLanguage().isEmpty()) { + language_ = other.language_; + bitField0_ |= 0x00000001; + onChanged(); + } + if (!other.getRelativePath().isEmpty()) { + relativePath_ = other.relativePath_; + bitField0_ |= 0x00000002; + onChanged(); + } + if (occurrencesBuilder_ == null) { + if (!other.occurrences_.isEmpty()) { + if (occurrences_.isEmpty()) { + occurrences_ = other.occurrences_; + bitField0_ = (bitField0_ & ~0x00000004); + } else { + ensureOccurrencesIsMutable(); + occurrences_.addAll(other.occurrences_); + } + onChanged(); + } + } else { + if (!other.occurrences_.isEmpty()) { + if (occurrencesBuilder_.isEmpty()) { + occurrencesBuilder_.dispose(); + occurrencesBuilder_ = null; + occurrences_ = other.occurrences_; + bitField0_ = (bitField0_ & ~0x00000004); + occurrencesBuilder_ = + com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ? + internalGetOccurrencesFieldBuilder() : null; + } else { + occurrencesBuilder_.addAllMessages(other.occurrences_); + } + } + } + if (symbolsBuilder_ == null) { + if (!other.symbols_.isEmpty()) { + if (symbols_.isEmpty()) { + symbols_ = other.symbols_; + bitField0_ = (bitField0_ & ~0x00000008); + } else { + ensureSymbolsIsMutable(); + symbols_.addAll(other.symbols_); + } + onChanged(); + } + } else { + if (!other.symbols_.isEmpty()) { + if (symbolsBuilder_.isEmpty()) { + symbolsBuilder_.dispose(); + symbolsBuilder_ = null; + symbols_ = other.symbols_; + bitField0_ = (bitField0_ & ~0x00000008); + symbolsBuilder_ = + com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ? + internalGetSymbolsFieldBuilder() : null; + } else { + symbolsBuilder_.addAllMessages(other.symbols_); + } + } + } + if (!other.getText().isEmpty()) { + text_ = other.text_; + bitField0_ |= 0x00000010; + onChanged(); + } + if (other.positionEncoding_ != 0) { + setPositionEncodingValue(other.getPositionEncodingValue()); + } + this.mergeUnknownFields(other.getUnknownFields()); + 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 { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + relativePath_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000002; + break; + } // case 10 + case 18: { + org.scip_code.scip.Occurrence m = + input.readMessage( + org.scip_code.scip.Occurrence.parser(), + extensionRegistry); + if (occurrencesBuilder_ == null) { + ensureOccurrencesIsMutable(); + occurrences_.add(m); + } else { + occurrencesBuilder_.addMessage(m); + } + break; + } // case 18 + case 26: { + org.scip_code.scip.SymbolInformation m = + input.readMessage( + org.scip_code.scip.SymbolInformation.parser(), + extensionRegistry); + if (symbolsBuilder_ == null) { + ensureSymbolsIsMutable(); + symbols_.add(m); + } else { + symbolsBuilder_.addMessage(m); + } + break; + } // case 26 + case 34: { + language_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 34 + case 42: { + text_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000010; + break; + } // case 42 + case 48: { + positionEncoding_ = input.readEnum(); + bitField0_ |= 0x00000020; + break; + } // case 48 + default: { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + private int bitField0_; + + private java.lang.Object language_ = ""; + /** + *
+     * The string ID for the programming language this file is written in.
+     * The `Language` enum contains the names of most common programming languages.
+     * This field is typed as a string to permit any programming language, including
+     * ones that are not specified by the `Language` enum.
+     * 
+ * + * string language = 4 [json_name = "language"]; + * @return The language. + */ + public java.lang.String getLanguage() { + java.lang.Object ref = language_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + language_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + *
+     * The string ID for the programming language this file is written in.
+     * The `Language` enum contains the names of most common programming languages.
+     * This field is typed as a string to permit any programming language, including
+     * ones that are not specified by the `Language` enum.
+     * 
+ * + * string language = 4 [json_name = "language"]; + * @return The bytes for language. + */ + public com.google.protobuf.ByteString + getLanguageBytes() { + java.lang.Object ref = language_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + language_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + *
+     * The string ID for the programming language this file is written in.
+     * The `Language` enum contains the names of most common programming languages.
+     * This field is typed as a string to permit any programming language, including
+     * ones that are not specified by the `Language` enum.
+     * 
+ * + * string language = 4 [json_name = "language"]; + * @param value The language to set. + * @return This builder for chaining. + */ + public Builder setLanguage( + java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + language_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + /** + *
+     * The string ID for the programming language this file is written in.
+     * The `Language` enum contains the names of most common programming languages.
+     * This field is typed as a string to permit any programming language, including
+     * ones that are not specified by the `Language` enum.
+     * 
+ * + * string language = 4 [json_name = "language"]; + * @return This builder for chaining. + */ + public Builder clearLanguage() { + language_ = getDefaultInstance().getLanguage(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + /** + *
+     * The string ID for the programming language this file is written in.
+     * The `Language` enum contains the names of most common programming languages.
+     * This field is typed as a string to permit any programming language, including
+     * ones that are not specified by the `Language` enum.
+     * 
+ * + * string language = 4 [json_name = "language"]; + * @param value The bytes for language to set. + * @return This builder for chaining. + */ + public Builder setLanguageBytes( + com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + checkByteStringIsUtf8(value); + language_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private java.lang.Object relativePath_ = ""; + /** + *
+     * (Required) Unique path to the text document.
+     *
+     * 1. The path must be relative to the directory supplied in the associated
+     * `Metadata.project_root`.
+     * 2. The path must not begin with a leading '/'.
+     * 3. The path must point to a regular file, not a symbolic link.
+     * 4. The path must use '/' as the separator, including on Windows.
+     * 5. The path must be canonical; it cannot include empty components ('//'),
+     * or '.' or '..'.
+     * 
+ * + * string relative_path = 1 [json_name = "relativePath"]; + * @return The relativePath. + */ + public java.lang.String getRelativePath() { + java.lang.Object ref = relativePath_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + relativePath_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + *
+     * (Required) Unique path to the text document.
+     *
+     * 1. The path must be relative to the directory supplied in the associated
+     * `Metadata.project_root`.
+     * 2. The path must not begin with a leading '/'.
+     * 3. The path must point to a regular file, not a symbolic link.
+     * 4. The path must use '/' as the separator, including on Windows.
+     * 5. The path must be canonical; it cannot include empty components ('//'),
+     * or '.' or '..'.
+     * 
+ * + * string relative_path = 1 [json_name = "relativePath"]; + * @return The bytes for relativePath. + */ + public com.google.protobuf.ByteString + getRelativePathBytes() { + java.lang.Object ref = relativePath_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + relativePath_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + *
+     * (Required) Unique path to the text document.
+     *
+     * 1. The path must be relative to the directory supplied in the associated
+     * `Metadata.project_root`.
+     * 2. The path must not begin with a leading '/'.
+     * 3. The path must point to a regular file, not a symbolic link.
+     * 4. The path must use '/' as the separator, including on Windows.
+     * 5. The path must be canonical; it cannot include empty components ('//'),
+     * or '.' or '..'.
+     * 
+ * + * string relative_path = 1 [json_name = "relativePath"]; + * @param value The relativePath to set. + * @return This builder for chaining. + */ + public Builder setRelativePath( + java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + relativePath_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + /** + *
+     * (Required) Unique path to the text document.
+     *
+     * 1. The path must be relative to the directory supplied in the associated
+     * `Metadata.project_root`.
+     * 2. The path must not begin with a leading '/'.
+     * 3. The path must point to a regular file, not a symbolic link.
+     * 4. The path must use '/' as the separator, including on Windows.
+     * 5. The path must be canonical; it cannot include empty components ('//'),
+     * or '.' or '..'.
+     * 
+ * + * string relative_path = 1 [json_name = "relativePath"]; + * @return This builder for chaining. + */ + public Builder clearRelativePath() { + relativePath_ = getDefaultInstance().getRelativePath(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + /** + *
+     * (Required) Unique path to the text document.
+     *
+     * 1. The path must be relative to the directory supplied in the associated
+     * `Metadata.project_root`.
+     * 2. The path must not begin with a leading '/'.
+     * 3. The path must point to a regular file, not a symbolic link.
+     * 4. The path must use '/' as the separator, including on Windows.
+     * 5. The path must be canonical; it cannot include empty components ('//'),
+     * or '.' or '..'.
+     * 
+ * + * string relative_path = 1 [json_name = "relativePath"]; + * @param value The bytes for relativePath to set. + * @return This builder for chaining. + */ + public Builder setRelativePathBytes( + com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + checkByteStringIsUtf8(value); + relativePath_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + private java.util.List occurrences_ = + java.util.Collections.emptyList(); + private void ensureOccurrencesIsMutable() { + if (!((bitField0_ & 0x00000004) != 0)) { + occurrences_ = new java.util.ArrayList(occurrences_); + bitField0_ |= 0x00000004; + } + } + + private com.google.protobuf.RepeatedFieldBuilder< + org.scip_code.scip.Occurrence, org.scip_code.scip.Occurrence.Builder, org.scip_code.scip.OccurrenceOrBuilder> occurrencesBuilder_; + + /** + *
+     * Occurrences that appear in this file.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public java.util.List getOccurrencesList() { + if (occurrencesBuilder_ == null) { + return java.util.Collections.unmodifiableList(occurrences_); + } else { + return occurrencesBuilder_.getMessageList(); + } + } + /** + *
+     * Occurrences that appear in this file.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public int getOccurrencesCount() { + if (occurrencesBuilder_ == null) { + return occurrences_.size(); + } else { + return occurrencesBuilder_.getCount(); + } + } + /** + *
+     * Occurrences that appear in this file.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public org.scip_code.scip.Occurrence getOccurrences(int index) { + if (occurrencesBuilder_ == null) { + return occurrences_.get(index); + } else { + return occurrencesBuilder_.getMessage(index); + } + } + /** + *
+     * Occurrences that appear in this file.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public Builder setOccurrences( + int index, org.scip_code.scip.Occurrence value) { + if (occurrencesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureOccurrencesIsMutable(); + occurrences_.set(index, value); + onChanged(); + } else { + occurrencesBuilder_.setMessage(index, value); + } + return this; + } + /** + *
+     * Occurrences that appear in this file.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public Builder setOccurrences( + int index, org.scip_code.scip.Occurrence.Builder builderForValue) { + if (occurrencesBuilder_ == null) { + ensureOccurrencesIsMutable(); + occurrences_.set(index, builderForValue.build()); + onChanged(); + } else { + occurrencesBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + *
+     * Occurrences that appear in this file.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public Builder addOccurrences(org.scip_code.scip.Occurrence value) { + if (occurrencesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureOccurrencesIsMutable(); + occurrences_.add(value); + onChanged(); + } else { + occurrencesBuilder_.addMessage(value); + } + return this; + } + /** + *
+     * Occurrences that appear in this file.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public Builder addOccurrences( + int index, org.scip_code.scip.Occurrence value) { + if (occurrencesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureOccurrencesIsMutable(); + occurrences_.add(index, value); + onChanged(); + } else { + occurrencesBuilder_.addMessage(index, value); + } + return this; + } + /** + *
+     * Occurrences that appear in this file.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public Builder addOccurrences( + org.scip_code.scip.Occurrence.Builder builderForValue) { + if (occurrencesBuilder_ == null) { + ensureOccurrencesIsMutable(); + occurrences_.add(builderForValue.build()); + onChanged(); + } else { + occurrencesBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + *
+     * Occurrences that appear in this file.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public Builder addOccurrences( + int index, org.scip_code.scip.Occurrence.Builder builderForValue) { + if (occurrencesBuilder_ == null) { + ensureOccurrencesIsMutable(); + occurrences_.add(index, builderForValue.build()); + onChanged(); + } else { + occurrencesBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + *
+     * Occurrences that appear in this file.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + 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; + } + /** + *
+     * Occurrences that appear in this file.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public Builder clearOccurrences() { + if (occurrencesBuilder_ == null) { + occurrences_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000004); + onChanged(); + } else { + occurrencesBuilder_.clear(); + } + return this; + } + /** + *
+     * Occurrences that appear in this file.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public Builder removeOccurrences(int index) { + if (occurrencesBuilder_ == null) { + ensureOccurrencesIsMutable(); + occurrences_.remove(index); + onChanged(); + } else { + occurrencesBuilder_.remove(index); + } + return this; + } + /** + *
+     * Occurrences that appear in this file.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public org.scip_code.scip.Occurrence.Builder getOccurrencesBuilder( + int index) { + return internalGetOccurrencesFieldBuilder().getBuilder(index); + } + /** + *
+     * Occurrences that appear in this file.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public org.scip_code.scip.OccurrenceOrBuilder getOccurrencesOrBuilder( + int index) { + if (occurrencesBuilder_ == null) { + return occurrences_.get(index); } else { + return occurrencesBuilder_.getMessageOrBuilder(index); + } + } + /** + *
+     * Occurrences that appear in this file.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public java.util.List + getOccurrencesOrBuilderList() { + if (occurrencesBuilder_ != null) { + return occurrencesBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(occurrences_); + } + } + /** + *
+     * Occurrences that appear in this file.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public org.scip_code.scip.Occurrence.Builder addOccurrencesBuilder() { + return internalGetOccurrencesFieldBuilder().addBuilder( + org.scip_code.scip.Occurrence.getDefaultInstance()); + } + /** + *
+     * Occurrences that appear in this file.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public org.scip_code.scip.Occurrence.Builder addOccurrencesBuilder( + int index) { + return internalGetOccurrencesFieldBuilder().addBuilder( + index, org.scip_code.scip.Occurrence.getDefaultInstance()); + } + /** + *
+     * Occurrences that appear in this file.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public java.util.List + getOccurrencesBuilderList() { + return internalGetOccurrencesFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilder< + org.scip_code.scip.Occurrence, org.scip_code.scip.Occurrence.Builder, org.scip_code.scip.OccurrenceOrBuilder> + internalGetOccurrencesFieldBuilder() { + if (occurrencesBuilder_ == null) { + occurrencesBuilder_ = new com.google.protobuf.RepeatedFieldBuilder< + org.scip_code.scip.Occurrence, org.scip_code.scip.Occurrence.Builder, org.scip_code.scip.OccurrenceOrBuilder>( + occurrences_, + ((bitField0_ & 0x00000004) != 0), + getParentForChildren(), + isClean()); + occurrences_ = null; + } + return occurrencesBuilder_; + } + + private java.util.List symbols_ = + java.util.Collections.emptyList(); + private void ensureSymbolsIsMutable() { + if (!((bitField0_ & 0x00000008) != 0)) { + symbols_ = new java.util.ArrayList(symbols_); + bitField0_ |= 0x00000008; + } + } + + private com.google.protobuf.RepeatedFieldBuilder< + org.scip_code.scip.SymbolInformation, org.scip_code.scip.SymbolInformation.Builder, org.scip_code.scip.SymbolInformationOrBuilder> symbolsBuilder_; + + /** + *
+     * Symbols that are "defined" within this document.
+     *
+     * This should include symbols which technically do not have any definition,
+     * but have a reference and are defined by some other symbol (see
+     * Relationship.is_definition).
+     * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + public java.util.List getSymbolsList() { + if (symbolsBuilder_ == null) { + return java.util.Collections.unmodifiableList(symbols_); + } else { + return symbolsBuilder_.getMessageList(); + } + } + /** + *
+     * Symbols that are "defined" within this document.
+     *
+     * This should include symbols which technically do not have any definition,
+     * but have a reference and are defined by some other symbol (see
+     * Relationship.is_definition).
+     * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + public int getSymbolsCount() { + if (symbolsBuilder_ == null) { + return symbols_.size(); + } else { + return symbolsBuilder_.getCount(); + } + } + /** + *
+     * Symbols that are "defined" within this document.
+     *
+     * This should include symbols which technically do not have any definition,
+     * but have a reference and are defined by some other symbol (see
+     * Relationship.is_definition).
+     * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + public org.scip_code.scip.SymbolInformation getSymbols(int index) { + if (symbolsBuilder_ == null) { + return symbols_.get(index); + } else { + return symbolsBuilder_.getMessage(index); + } + } + /** + *
+     * Symbols that are "defined" within this document.
+     *
+     * This should include symbols which technically do not have any definition,
+     * but have a reference and are defined by some other symbol (see
+     * Relationship.is_definition).
+     * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + public Builder setSymbols( + int index, org.scip_code.scip.SymbolInformation value) { + if (symbolsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureSymbolsIsMutable(); + symbols_.set(index, value); + onChanged(); + } else { + symbolsBuilder_.setMessage(index, value); + } + return this; + } + /** + *
+     * Symbols that are "defined" within this document.
+     *
+     * This should include symbols which technically do not have any definition,
+     * but have a reference and are defined by some other symbol (see
+     * Relationship.is_definition).
+     * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + public Builder setSymbols( + int index, org.scip_code.scip.SymbolInformation.Builder builderForValue) { + if (symbolsBuilder_ == null) { + ensureSymbolsIsMutable(); + symbols_.set(index, builderForValue.build()); + onChanged(); + } else { + symbolsBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + *
+     * Symbols that are "defined" within this document.
+     *
+     * This should include symbols which technically do not have any definition,
+     * but have a reference and are defined by some other symbol (see
+     * Relationship.is_definition).
+     * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + public Builder addSymbols(org.scip_code.scip.SymbolInformation value) { + if (symbolsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureSymbolsIsMutable(); + symbols_.add(value); + onChanged(); + } else { + symbolsBuilder_.addMessage(value); + } + return this; + } + /** + *
+     * Symbols that are "defined" within this document.
+     *
+     * This should include symbols which technically do not have any definition,
+     * but have a reference and are defined by some other symbol (see
+     * Relationship.is_definition).
+     * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + public Builder addSymbols( + int index, org.scip_code.scip.SymbolInformation value) { + if (symbolsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureSymbolsIsMutable(); + symbols_.add(index, value); + onChanged(); + } else { + symbolsBuilder_.addMessage(index, value); + } + return this; + } + /** + *
+     * Symbols that are "defined" within this document.
+     *
+     * This should include symbols which technically do not have any definition,
+     * but have a reference and are defined by some other symbol (see
+     * Relationship.is_definition).
+     * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + public Builder addSymbols( + org.scip_code.scip.SymbolInformation.Builder builderForValue) { + if (symbolsBuilder_ == null) { + ensureSymbolsIsMutable(); + symbols_.add(builderForValue.build()); + onChanged(); + } else { + symbolsBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + *
+     * Symbols that are "defined" within this document.
+     *
+     * This should include symbols which technically do not have any definition,
+     * but have a reference and are defined by some other symbol (see
+     * Relationship.is_definition).
+     * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + public Builder addSymbols( + int index, org.scip_code.scip.SymbolInformation.Builder builderForValue) { + if (symbolsBuilder_ == null) { + ensureSymbolsIsMutable(); + symbols_.add(index, builderForValue.build()); + onChanged(); + } else { + symbolsBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + *
+     * Symbols that are "defined" within this document.
+     *
+     * This should include symbols which technically do not have any definition,
+     * but have a reference and are defined by some other symbol (see
+     * Relationship.is_definition).
+     * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + 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; + } + /** + *
+     * Symbols that are "defined" within this document.
+     *
+     * This should include symbols which technically do not have any definition,
+     * but have a reference and are defined by some other symbol (see
+     * Relationship.is_definition).
+     * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + public Builder clearSymbols() { + if (symbolsBuilder_ == null) { + symbols_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000008); + onChanged(); + } else { + symbolsBuilder_.clear(); + } + return this; + } + /** + *
+     * Symbols that are "defined" within this document.
+     *
+     * This should include symbols which technically do not have any definition,
+     * but have a reference and are defined by some other symbol (see
+     * Relationship.is_definition).
+     * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + public Builder removeSymbols(int index) { + if (symbolsBuilder_ == null) { + ensureSymbolsIsMutable(); + symbols_.remove(index); + onChanged(); + } else { + symbolsBuilder_.remove(index); + } + return this; + } + /** + *
+     * Symbols that are "defined" within this document.
+     *
+     * This should include symbols which technically do not have any definition,
+     * but have a reference and are defined by some other symbol (see
+     * Relationship.is_definition).
+     * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + public org.scip_code.scip.SymbolInformation.Builder getSymbolsBuilder( + int index) { + return internalGetSymbolsFieldBuilder().getBuilder(index); + } + /** + *
+     * Symbols that are "defined" within this document.
+     *
+     * This should include symbols which technically do not have any definition,
+     * but have a reference and are defined by some other symbol (see
+     * Relationship.is_definition).
+     * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + public org.scip_code.scip.SymbolInformationOrBuilder getSymbolsOrBuilder( + int index) { + if (symbolsBuilder_ == null) { + return symbols_.get(index); } else { + return symbolsBuilder_.getMessageOrBuilder(index); + } + } + /** + *
+     * Symbols that are "defined" within this document.
+     *
+     * This should include symbols which technically do not have any definition,
+     * but have a reference and are defined by some other symbol (see
+     * Relationship.is_definition).
+     * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + public java.util.List + getSymbolsOrBuilderList() { + if (symbolsBuilder_ != null) { + return symbolsBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(symbols_); + } + } + /** + *
+     * Symbols that are "defined" within this document.
+     *
+     * This should include symbols which technically do not have any definition,
+     * but have a reference and are defined by some other symbol (see
+     * Relationship.is_definition).
+     * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + public org.scip_code.scip.SymbolInformation.Builder addSymbolsBuilder() { + return internalGetSymbolsFieldBuilder().addBuilder( + org.scip_code.scip.SymbolInformation.getDefaultInstance()); + } + /** + *
+     * Symbols that are "defined" within this document.
+     *
+     * This should include symbols which technically do not have any definition,
+     * but have a reference and are defined by some other symbol (see
+     * Relationship.is_definition).
+     * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + public org.scip_code.scip.SymbolInformation.Builder addSymbolsBuilder( + int index) { + return internalGetSymbolsFieldBuilder().addBuilder( + index, org.scip_code.scip.SymbolInformation.getDefaultInstance()); + } + /** + *
+     * Symbols that are "defined" within this document.
+     *
+     * This should include symbols which technically do not have any definition,
+     * but have a reference and are defined by some other symbol (see
+     * Relationship.is_definition).
+     * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + public java.util.List + getSymbolsBuilderList() { + return internalGetSymbolsFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilder< + org.scip_code.scip.SymbolInformation, org.scip_code.scip.SymbolInformation.Builder, org.scip_code.scip.SymbolInformationOrBuilder> + internalGetSymbolsFieldBuilder() { + if (symbolsBuilder_ == null) { + symbolsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder< + org.scip_code.scip.SymbolInformation, org.scip_code.scip.SymbolInformation.Builder, org.scip_code.scip.SymbolInformationOrBuilder>( + symbols_, + ((bitField0_ & 0x00000008) != 0), + getParentForChildren(), + isClean()); + symbols_ = null; + } + return symbolsBuilder_; + } + + private java.lang.Object text_ = ""; + /** + *
+     * (optional) Text contents of this document. Indexers are not expected to
+     * include the text by default. It's preferable that clients read the text
+     * contents from the file system by resolving the absolute path from joining
+     * `Index.metadata.project_root` and `Document.relative_path`. This field
+     * can be useful for testing or when working with virtual/in-memory documents.
+     * 
+ * + * string text = 5 [json_name = "text"]; + * @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; + } + } + /** + *
+     * (optional) Text contents of this document. Indexers are not expected to
+     * include the text by default. It's preferable that clients read the text
+     * contents from the file system by resolving the absolute path from joining
+     * `Index.metadata.project_root` and `Document.relative_path`. This field
+     * can be useful for testing or when working with virtual/in-memory documents.
+     * 
+ * + * string text = 5 [json_name = "text"]; + * @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; + } + } + /** + *
+     * (optional) Text contents of this document. Indexers are not expected to
+     * include the text by default. It's preferable that clients read the text
+     * contents from the file system by resolving the absolute path from joining
+     * `Index.metadata.project_root` and `Document.relative_path`. This field
+     * can be useful for testing or when working with virtual/in-memory documents.
+     * 
+ * + * string text = 5 [json_name = "text"]; + * @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; + bitField0_ |= 0x00000010; + onChanged(); + return this; + } + /** + *
+     * (optional) Text contents of this document. Indexers are not expected to
+     * include the text by default. It's preferable that clients read the text
+     * contents from the file system by resolving the absolute path from joining
+     * `Index.metadata.project_root` and `Document.relative_path`. This field
+     * can be useful for testing or when working with virtual/in-memory documents.
+     * 
+ * + * string text = 5 [json_name = "text"]; + * @return This builder for chaining. + */ + public Builder clearText() { + text_ = getDefaultInstance().getText(); + bitField0_ = (bitField0_ & ~0x00000010); + onChanged(); + return this; + } + /** + *
+     * (optional) Text contents of this document. Indexers are not expected to
+     * include the text by default. It's preferable that clients read the text
+     * contents from the file system by resolving the absolute path from joining
+     * `Index.metadata.project_root` and `Document.relative_path`. This field
+     * can be useful for testing or when working with virtual/in-memory documents.
+     * 
+ * + * string text = 5 [json_name = "text"]; + * @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; + bitField0_ |= 0x00000010; + onChanged(); + return this; + } + + private int positionEncoding_ = 0; + /** + *
+     * Specifies the encoding used for source ranges in this Document.
+     *
+     * Usually, this will match the type used to index the string type
+     * in the indexer's implementation language in O(1) time.
+     * - For an indexer implemented in JVM/.NET language or JavaScript/TypeScript,
+     * use UTF16CodeUnitOffsetFromLineStart.
+     * - For an indexer implemented in Python,
+     * use UTF32CodeUnitOffsetFromLineStart.
+     * - For an indexer implemented in Go, Rust or C++,
+     * use UTF8ByteOffsetFromLineStart.
+     * 
+ * + * .scip.PositionEncoding position_encoding = 6 [json_name = "positionEncoding"]; + * @return The enum numeric value on the wire for positionEncoding. + */ + @java.lang.Override public int getPositionEncodingValue() { + return positionEncoding_; + } + /** + *
+     * Specifies the encoding used for source ranges in this Document.
+     *
+     * Usually, this will match the type used to index the string type
+     * in the indexer's implementation language in O(1) time.
+     * - For an indexer implemented in JVM/.NET language or JavaScript/TypeScript,
+     * use UTF16CodeUnitOffsetFromLineStart.
+     * - For an indexer implemented in Python,
+     * use UTF32CodeUnitOffsetFromLineStart.
+     * - For an indexer implemented in Go, Rust or C++,
+     * use UTF8ByteOffsetFromLineStart.
+     * 
+ * + * .scip.PositionEncoding position_encoding = 6 [json_name = "positionEncoding"]; + * @param value The enum numeric value on the wire for positionEncoding to set. + * @return This builder for chaining. + */ + public Builder setPositionEncodingValue(int value) { + positionEncoding_ = value; + bitField0_ |= 0x00000020; + onChanged(); + return this; + } + /** + *
+     * Specifies the encoding used for source ranges in this Document.
+     *
+     * Usually, this will match the type used to index the string type
+     * in the indexer's implementation language in O(1) time.
+     * - For an indexer implemented in JVM/.NET language or JavaScript/TypeScript,
+     * use UTF16CodeUnitOffsetFromLineStart.
+     * - For an indexer implemented in Python,
+     * use UTF32CodeUnitOffsetFromLineStart.
+     * - For an indexer implemented in Go, Rust or C++,
+     * use UTF8ByteOffsetFromLineStart.
+     * 
+ * + * .scip.PositionEncoding position_encoding = 6 [json_name = "positionEncoding"]; + * @return The positionEncoding. + */ + @java.lang.Override + public org.scip_code.scip.PositionEncoding getPositionEncoding() { + org.scip_code.scip.PositionEncoding result = org.scip_code.scip.PositionEncoding.forNumber(positionEncoding_); + return result == null ? org.scip_code.scip.PositionEncoding.UNRECOGNIZED : result; + } + /** + *
+     * Specifies the encoding used for source ranges in this Document.
+     *
+     * Usually, this will match the type used to index the string type
+     * in the indexer's implementation language in O(1) time.
+     * - For an indexer implemented in JVM/.NET language or JavaScript/TypeScript,
+     * use UTF16CodeUnitOffsetFromLineStart.
+     * - For an indexer implemented in Python,
+     * use UTF32CodeUnitOffsetFromLineStart.
+     * - For an indexer implemented in Go, Rust or C++,
+     * use UTF8ByteOffsetFromLineStart.
+     * 
+ * + * .scip.PositionEncoding position_encoding = 6 [json_name = "positionEncoding"]; + * @param value The positionEncoding to set. + * @return This builder for chaining. + */ + public Builder setPositionEncoding(org.scip_code.scip.PositionEncoding value) { + if (value == null) { throw new NullPointerException(); } + bitField0_ |= 0x00000020; + positionEncoding_ = value.getNumber(); + onChanged(); + return this; + } + /** + *
+     * Specifies the encoding used for source ranges in this Document.
+     *
+     * Usually, this will match the type used to index the string type
+     * in the indexer's implementation language in O(1) time.
+     * - For an indexer implemented in JVM/.NET language or JavaScript/TypeScript,
+     * use UTF16CodeUnitOffsetFromLineStart.
+     * - For an indexer implemented in Python,
+     * use UTF32CodeUnitOffsetFromLineStart.
+     * - For an indexer implemented in Go, Rust or C++,
+     * use UTF8ByteOffsetFromLineStart.
+     * 
+ * + * .scip.PositionEncoding position_encoding = 6 [json_name = "positionEncoding"]; + * @return This builder for chaining. + */ + public Builder clearPositionEncoding() { + bitField0_ = (bitField0_ & ~0x00000020); + positionEncoding_ = 0; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:scip.Document) + } + + // @@protoc_insertion_point(class_scope:scip.Document) + private static final org.scip_code.scip.Document DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new org.scip_code.scip.Document(); + } + + public static org.scip_code.scip.Document getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public Document parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public org.scip_code.scip.Document getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + +} + diff --git a/bindings/kotlin/src/main/java/org/scip_code/scip/DocumentOrBuilder.java b/bindings/kotlin/src/main/java/org/scip_code/scip/DocumentOrBuilder.java new file mode 100644 index 00000000..ad1e69ae --- /dev/null +++ b/bindings/kotlin/src/main/java/org/scip_code/scip/DocumentOrBuilder.java @@ -0,0 +1,247 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: scip.proto +// Protobuf Java Version: 4.32.1 + +package org.scip_code.scip; + +@com.google.protobuf.Generated +public interface DocumentOrBuilder extends + // @@protoc_insertion_point(interface_extends:scip.Document) + com.google.protobuf.MessageOrBuilder { + + /** + *
+   * The string ID for the programming language this file is written in.
+   * The `Language` enum contains the names of most common programming languages.
+   * This field is typed as a string to permit any programming language, including
+   * ones that are not specified by the `Language` enum.
+   * 
+ * + * string language = 4 [json_name = "language"]; + * @return The language. + */ + java.lang.String getLanguage(); + /** + *
+   * The string ID for the programming language this file is written in.
+   * The `Language` enum contains the names of most common programming languages.
+   * This field is typed as a string to permit any programming language, including
+   * ones that are not specified by the `Language` enum.
+   * 
+ * + * string language = 4 [json_name = "language"]; + * @return The bytes for language. + */ + com.google.protobuf.ByteString + getLanguageBytes(); + + /** + *
+   * (Required) Unique path to the text document.
+   *
+   * 1. The path must be relative to the directory supplied in the associated
+   * `Metadata.project_root`.
+   * 2. The path must not begin with a leading '/'.
+   * 3. The path must point to a regular file, not a symbolic link.
+   * 4. The path must use '/' as the separator, including on Windows.
+   * 5. The path must be canonical; it cannot include empty components ('//'),
+   * or '.' or '..'.
+   * 
+ * + * string relative_path = 1 [json_name = "relativePath"]; + * @return The relativePath. + */ + java.lang.String getRelativePath(); + /** + *
+   * (Required) Unique path to the text document.
+   *
+   * 1. The path must be relative to the directory supplied in the associated
+   * `Metadata.project_root`.
+   * 2. The path must not begin with a leading '/'.
+   * 3. The path must point to a regular file, not a symbolic link.
+   * 4. The path must use '/' as the separator, including on Windows.
+   * 5. The path must be canonical; it cannot include empty components ('//'),
+   * or '.' or '..'.
+   * 
+ * + * string relative_path = 1 [json_name = "relativePath"]; + * @return The bytes for relativePath. + */ + com.google.protobuf.ByteString + getRelativePathBytes(); + + /** + *
+   * Occurrences that appear in this file.
+   * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + java.util.List + getOccurrencesList(); + /** + *
+   * Occurrences that appear in this file.
+   * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + org.scip_code.scip.Occurrence getOccurrences(int index); + /** + *
+   * Occurrences that appear in this file.
+   * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + int getOccurrencesCount(); + /** + *
+   * Occurrences that appear in this file.
+   * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + java.util.List + getOccurrencesOrBuilderList(); + /** + *
+   * Occurrences that appear in this file.
+   * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + org.scip_code.scip.OccurrenceOrBuilder getOccurrencesOrBuilder( + int index); + + /** + *
+   * Symbols that are "defined" within this document.
+   *
+   * This should include symbols which technically do not have any definition,
+   * but have a reference and are defined by some other symbol (see
+   * Relationship.is_definition).
+   * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + java.util.List + getSymbolsList(); + /** + *
+   * Symbols that are "defined" within this document.
+   *
+   * This should include symbols which technically do not have any definition,
+   * but have a reference and are defined by some other symbol (see
+   * Relationship.is_definition).
+   * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + org.scip_code.scip.SymbolInformation getSymbols(int index); + /** + *
+   * Symbols that are "defined" within this document.
+   *
+   * This should include symbols which technically do not have any definition,
+   * but have a reference and are defined by some other symbol (see
+   * Relationship.is_definition).
+   * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + int getSymbolsCount(); + /** + *
+   * Symbols that are "defined" within this document.
+   *
+   * This should include symbols which technically do not have any definition,
+   * but have a reference and are defined by some other symbol (see
+   * Relationship.is_definition).
+   * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + java.util.List + getSymbolsOrBuilderList(); + /** + *
+   * Symbols that are "defined" within this document.
+   *
+   * This should include symbols which technically do not have any definition,
+   * but have a reference and are defined by some other symbol (see
+   * Relationship.is_definition).
+   * 
+ * + * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; + */ + org.scip_code.scip.SymbolInformationOrBuilder getSymbolsOrBuilder( + int index); + + /** + *
+   * (optional) Text contents of this document. Indexers are not expected to
+   * include the text by default. It's preferable that clients read the text
+   * contents from the file system by resolving the absolute path from joining
+   * `Index.metadata.project_root` and `Document.relative_path`. This field
+   * can be useful for testing or when working with virtual/in-memory documents.
+   * 
+ * + * string text = 5 [json_name = "text"]; + * @return The text. + */ + java.lang.String getText(); + /** + *
+   * (optional) Text contents of this document. Indexers are not expected to
+   * include the text by default. It's preferable that clients read the text
+   * contents from the file system by resolving the absolute path from joining
+   * `Index.metadata.project_root` and `Document.relative_path`. This field
+   * can be useful for testing or when working with virtual/in-memory documents.
+   * 
+ * + * string text = 5 [json_name = "text"]; + * @return The bytes for text. + */ + com.google.protobuf.ByteString + getTextBytes(); + + /** + *
+   * Specifies the encoding used for source ranges in this Document.
+   *
+   * Usually, this will match the type used to index the string type
+   * in the indexer's implementation language in O(1) time.
+   * - For an indexer implemented in JVM/.NET language or JavaScript/TypeScript,
+   * use UTF16CodeUnitOffsetFromLineStart.
+   * - For an indexer implemented in Python,
+   * use UTF32CodeUnitOffsetFromLineStart.
+   * - For an indexer implemented in Go, Rust or C++,
+   * use UTF8ByteOffsetFromLineStart.
+   * 
+ * + * .scip.PositionEncoding position_encoding = 6 [json_name = "positionEncoding"]; + * @return The enum numeric value on the wire for positionEncoding. + */ + int getPositionEncodingValue(); + /** + *
+   * Specifies the encoding used for source ranges in this Document.
+   *
+   * Usually, this will match the type used to index the string type
+   * in the indexer's implementation language in O(1) time.
+   * - For an indexer implemented in JVM/.NET language or JavaScript/TypeScript,
+   * use UTF16CodeUnitOffsetFromLineStart.
+   * - For an indexer implemented in Python,
+   * use UTF32CodeUnitOffsetFromLineStart.
+   * - For an indexer implemented in Go, Rust or C++,
+   * use UTF8ByteOffsetFromLineStart.
+   * 
+ * + * .scip.PositionEncoding position_encoding = 6 [json_name = "positionEncoding"]; + * @return The positionEncoding. + */ + org.scip_code.scip.PositionEncoding getPositionEncoding(); +} diff --git a/bindings/kotlin/src/main/java/org/scip_code/scip/Index.java b/bindings/kotlin/src/main/java/org/scip_code/scip/Index.java new file mode 100644 index 00000000..20249318 --- /dev/null +++ b/bindings/kotlin/src/main/java/org/scip_code/scip/Index.java @@ -0,0 +1,1607 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: scip.proto +// Protobuf Java Version: 4.32.1 + +package org.scip_code.scip; + +/** + *
+ * Index represents a complete SCIP index for a workspace this is rooted at a
+ * single directory. An Index message payload can have a large memory footprint
+ * and it's therefore recommended to emit and consume an Index payload one field
+ * value at a time. To permit streaming consumption of an Index payload, the
+ * `metadata` field must appear at the start of the stream and must only appear
+ * once in the stream. Other field values may appear in any order.
+ * 
+ * + * Protobuf type {@code scip.Index} + */ +@com.google.protobuf.Generated +public final class Index extends + com.google.protobuf.GeneratedMessage implements + // @@protoc_insertion_point(message_implements:scip.Index) + IndexOrBuilder { +private static final long serialVersionUID = 0L; + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 32, + /* patch= */ 1, + /* suffix= */ "", + Index.class.getName()); + } + // Use Index.newBuilder() to construct. + private Index(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + private Index() { + documents_ = java.util.Collections.emptyList(); + externalSymbols_ = java.util.Collections.emptyList(); + } + + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.scip_code.scip.ScipProto.internal_static_scip_Index_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.scip_code.scip.ScipProto.internal_static_scip_Index_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.scip_code.scip.Index.class, org.scip_code.scip.Index.Builder.class); + } + + private int bitField0_; + public static final int METADATA_FIELD_NUMBER = 1; + private org.scip_code.scip.Metadata metadata_; + /** + *
+   * Metadata about this index.
+   * 
+ * + * .scip.Metadata metadata = 1 [json_name = "metadata"]; + * @return Whether the metadata field is set. + */ + @java.lang.Override + public boolean hasMetadata() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + *
+   * Metadata about this index.
+   * 
+ * + * .scip.Metadata metadata = 1 [json_name = "metadata"]; + * @return The metadata. + */ + @java.lang.Override + public org.scip_code.scip.Metadata getMetadata() { + return metadata_ == null ? org.scip_code.scip.Metadata.getDefaultInstance() : metadata_; + } + /** + *
+   * Metadata about this index.
+   * 
+ * + * .scip.Metadata metadata = 1 [json_name = "metadata"]; + */ + @java.lang.Override + public org.scip_code.scip.MetadataOrBuilder getMetadataOrBuilder() { + return metadata_ == null ? org.scip_code.scip.Metadata.getDefaultInstance() : metadata_; + } + + public static final int DOCUMENTS_FIELD_NUMBER = 2; + @SuppressWarnings("serial") + private java.util.List documents_; + /** + *
+   * Documents that belong to this index.
+   * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + @java.lang.Override + public java.util.List getDocumentsList() { + return documents_; + } + /** + *
+   * Documents that belong to this index.
+   * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + @java.lang.Override + public java.util.List + getDocumentsOrBuilderList() { + return documents_; + } + /** + *
+   * Documents that belong to this index.
+   * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + @java.lang.Override + public int getDocumentsCount() { + return documents_.size(); + } + /** + *
+   * Documents that belong to this index.
+   * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + @java.lang.Override + public org.scip_code.scip.Document getDocuments(int index) { + return documents_.get(index); + } + /** + *
+   * Documents that belong to this index.
+   * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + @java.lang.Override + public org.scip_code.scip.DocumentOrBuilder getDocumentsOrBuilder( + int index) { + return documents_.get(index); + } + + public static final int EXTERNAL_SYMBOLS_FIELD_NUMBER = 3; + @SuppressWarnings("serial") + private java.util.List externalSymbols_; + /** + *
+   * (optional) Symbols that are referenced from this index but are defined in
+   * an external package (a separate `Index` message). Leave this field empty
+   * if you assume the external package will get indexed separately. If the
+   * external package won't get indexed for some reason then you can use this
+   * field to provide hover documentation for those external symbols.
+   * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + @java.lang.Override + public java.util.List getExternalSymbolsList() { + return externalSymbols_; + } + /** + *
+   * (optional) Symbols that are referenced from this index but are defined in
+   * an external package (a separate `Index` message). Leave this field empty
+   * if you assume the external package will get indexed separately. If the
+   * external package won't get indexed for some reason then you can use this
+   * field to provide hover documentation for those external symbols.
+   * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + @java.lang.Override + public java.util.List + getExternalSymbolsOrBuilderList() { + return externalSymbols_; + } + /** + *
+   * (optional) Symbols that are referenced from this index but are defined in
+   * an external package (a separate `Index` message). Leave this field empty
+   * if you assume the external package will get indexed separately. If the
+   * external package won't get indexed for some reason then you can use this
+   * field to provide hover documentation for those external symbols.
+   * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + @java.lang.Override + public int getExternalSymbolsCount() { + return externalSymbols_.size(); + } + /** + *
+   * (optional) Symbols that are referenced from this index but are defined in
+   * an external package (a separate `Index` message). Leave this field empty
+   * if you assume the external package will get indexed separately. If the
+   * external package won't get indexed for some reason then you can use this
+   * field to provide hover documentation for those external symbols.
+   * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + @java.lang.Override + public org.scip_code.scip.SymbolInformation getExternalSymbols(int index) { + return externalSymbols_.get(index); + } + /** + *
+   * (optional) Symbols that are referenced from this index but are defined in
+   * an external package (a separate `Index` message). Leave this field empty
+   * if you assume the external package will get indexed separately. If the
+   * external package won't get indexed for some reason then you can use this
+   * field to provide hover documentation for those external symbols.
+   * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + @java.lang.Override + public org.scip_code.scip.SymbolInformationOrBuilder getExternalSymbolsOrBuilder( + int index) { + return externalSymbols_.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 (((bitField0_ & 0x00000001) != 0)) { + output.writeMessage(1, getMetadata()); + } + for (int i = 0; i < documents_.size(); i++) { + output.writeMessage(2, documents_.get(i)); + } + for (int i = 0; i < externalSymbols_.size(); i++) { + output.writeMessage(3, externalSymbols_.get(i)); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(1, getMetadata()); + } + for (int i = 0; i < documents_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(2, documents_.get(i)); + } + for (int i = 0; i < externalSymbols_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(3, externalSymbols_.get(i)); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof org.scip_code.scip.Index)) { + return super.equals(obj); + } + org.scip_code.scip.Index other = (org.scip_code.scip.Index) obj; + + if (hasMetadata() != other.hasMetadata()) return false; + if (hasMetadata()) { + if (!getMetadata() + .equals(other.getMetadata())) return false; + } + if (!getDocumentsList() + .equals(other.getDocumentsList())) return false; + if (!getExternalSymbolsList() + .equals(other.getExternalSymbolsList())) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasMetadata()) { + hash = (37 * hash) + METADATA_FIELD_NUMBER; + hash = (53 * hash) + getMetadata().hashCode(); + } + if (getDocumentsCount() > 0) { + hash = (37 * hash) + DOCUMENTS_FIELD_NUMBER; + hash = (53 * hash) + getDocumentsList().hashCode(); + } + if (getExternalSymbolsCount() > 0) { + hash = (37 * hash) + EXTERNAL_SYMBOLS_FIELD_NUMBER; + hash = (53 * hash) + getExternalSymbolsList().hashCode(); + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static org.scip_code.scip.Index parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.scip_code.scip.Index parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.scip_code.scip.Index parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.scip_code.scip.Index parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.scip_code.scip.Index parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.scip_code.scip.Index parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.scip_code.scip.Index parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static org.scip_code.scip.Index parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public static org.scip_code.scip.Index parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input); + } + + public static org.scip_code.scip.Index parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static org.scip_code.scip.Index parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static org.scip_code.scip.Index parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(org.scip_code.scip.Index 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + *
+   * Index represents a complete SCIP index for a workspace this is rooted at a
+   * single directory. An Index message payload can have a large memory footprint
+   * and it's therefore recommended to emit and consume an Index payload one field
+   * value at a time. To permit streaming consumption of an Index payload, the
+   * `metadata` field must appear at the start of the stream and must only appear
+   * once in the stream. Other field values may appear in any order.
+   * 
+ * + * Protobuf type {@code scip.Index} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder implements + // @@protoc_insertion_point(builder_implements:scip.Index) + org.scip_code.scip.IndexOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.scip_code.scip.ScipProto.internal_static_scip_Index_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.scip_code.scip.ScipProto.internal_static_scip_Index_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.scip_code.scip.Index.class, org.scip_code.scip.Index.Builder.class); + } + + // Construct using org.scip_code.scip.Index.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage + .alwaysUseFieldBuilders) { + internalGetMetadataFieldBuilder(); + internalGetDocumentsFieldBuilder(); + internalGetExternalSymbolsFieldBuilder(); + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + metadata_ = null; + if (metadataBuilder_ != null) { + metadataBuilder_.dispose(); + metadataBuilder_ = null; + } + if (documentsBuilder_ == null) { + documents_ = java.util.Collections.emptyList(); + } else { + documents_ = null; + documentsBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000002); + if (externalSymbolsBuilder_ == null) { + externalSymbols_ = java.util.Collections.emptyList(); + } else { + externalSymbols_ = null; + externalSymbolsBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000004); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return org.scip_code.scip.ScipProto.internal_static_scip_Index_descriptor; + } + + @java.lang.Override + public org.scip_code.scip.Index getDefaultInstanceForType() { + return org.scip_code.scip.Index.getDefaultInstance(); + } + + @java.lang.Override + public org.scip_code.scip.Index build() { + org.scip_code.scip.Index result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public org.scip_code.scip.Index buildPartial() { + org.scip_code.scip.Index result = new org.scip_code.scip.Index(this); + buildPartialRepeatedFields(result); + if (bitField0_ != 0) { buildPartial0(result); } + onBuilt(); + return result; + } + + private void buildPartialRepeatedFields(org.scip_code.scip.Index result) { + if (documentsBuilder_ == null) { + if (((bitField0_ & 0x00000002) != 0)) { + documents_ = java.util.Collections.unmodifiableList(documents_); + bitField0_ = (bitField0_ & ~0x00000002); + } + result.documents_ = documents_; + } else { + result.documents_ = documentsBuilder_.build(); + } + if (externalSymbolsBuilder_ == null) { + if (((bitField0_ & 0x00000004) != 0)) { + externalSymbols_ = java.util.Collections.unmodifiableList(externalSymbols_); + bitField0_ = (bitField0_ & ~0x00000004); + } + result.externalSymbols_ = externalSymbols_; + } else { + result.externalSymbols_ = externalSymbolsBuilder_.build(); + } + } + + private void buildPartial0(org.scip_code.scip.Index result) { + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.metadata_ = metadataBuilder_ == null + ? metadata_ + : metadataBuilder_.build(); + to_bitField0_ |= 0x00000001; + } + result.bitField0_ |= to_bitField0_; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof org.scip_code.scip.Index) { + return mergeFrom((org.scip_code.scip.Index)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(org.scip_code.scip.Index other) { + if (other == org.scip_code.scip.Index.getDefaultInstance()) return this; + if (other.hasMetadata()) { + mergeMetadata(other.getMetadata()); + } + if (documentsBuilder_ == null) { + if (!other.documents_.isEmpty()) { + if (documents_.isEmpty()) { + documents_ = other.documents_; + bitField0_ = (bitField0_ & ~0x00000002); + } else { + ensureDocumentsIsMutable(); + documents_.addAll(other.documents_); + } + onChanged(); + } + } else { + if (!other.documents_.isEmpty()) { + if (documentsBuilder_.isEmpty()) { + documentsBuilder_.dispose(); + documentsBuilder_ = null; + documents_ = other.documents_; + bitField0_ = (bitField0_ & ~0x00000002); + documentsBuilder_ = + com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ? + internalGetDocumentsFieldBuilder() : null; + } else { + documentsBuilder_.addAllMessages(other.documents_); + } + } + } + if (externalSymbolsBuilder_ == null) { + if (!other.externalSymbols_.isEmpty()) { + if (externalSymbols_.isEmpty()) { + externalSymbols_ = other.externalSymbols_; + bitField0_ = (bitField0_ & ~0x00000004); + } else { + ensureExternalSymbolsIsMutable(); + externalSymbols_.addAll(other.externalSymbols_); + } + onChanged(); + } + } else { + if (!other.externalSymbols_.isEmpty()) { + if (externalSymbolsBuilder_.isEmpty()) { + externalSymbolsBuilder_.dispose(); + externalSymbolsBuilder_ = null; + externalSymbols_ = other.externalSymbols_; + bitField0_ = (bitField0_ & ~0x00000004); + externalSymbolsBuilder_ = + com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ? + internalGetExternalSymbolsFieldBuilder() : null; + } else { + externalSymbolsBuilder_.addAllMessages(other.externalSymbols_); + } + } + } + this.mergeUnknownFields(other.getUnknownFields()); + 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 { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + input.readMessage( + internalGetMetadataFieldBuilder().getBuilder(), + extensionRegistry); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 18: { + org.scip_code.scip.Document m = + input.readMessage( + org.scip_code.scip.Document.parser(), + extensionRegistry); + if (documentsBuilder_ == null) { + ensureDocumentsIsMutable(); + documents_.add(m); + } else { + documentsBuilder_.addMessage(m); + } + break; + } // case 18 + case 26: { + org.scip_code.scip.SymbolInformation m = + input.readMessage( + org.scip_code.scip.SymbolInformation.parser(), + extensionRegistry); + if (externalSymbolsBuilder_ == null) { + ensureExternalSymbolsIsMutable(); + externalSymbols_.add(m); + } else { + externalSymbolsBuilder_.addMessage(m); + } + break; + } // case 26 + default: { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + private int bitField0_; + + private org.scip_code.scip.Metadata metadata_; + private com.google.protobuf.SingleFieldBuilder< + org.scip_code.scip.Metadata, org.scip_code.scip.Metadata.Builder, org.scip_code.scip.MetadataOrBuilder> metadataBuilder_; + /** + *
+     * Metadata about this index.
+     * 
+ * + * .scip.Metadata metadata = 1 [json_name = "metadata"]; + * @return Whether the metadata field is set. + */ + public boolean hasMetadata() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + *
+     * Metadata about this index.
+     * 
+ * + * .scip.Metadata metadata = 1 [json_name = "metadata"]; + * @return The metadata. + */ + public org.scip_code.scip.Metadata getMetadata() { + if (metadataBuilder_ == null) { + return metadata_ == null ? org.scip_code.scip.Metadata.getDefaultInstance() : metadata_; + } else { + return metadataBuilder_.getMessage(); + } + } + /** + *
+     * Metadata about this index.
+     * 
+ * + * .scip.Metadata metadata = 1 [json_name = "metadata"]; + */ + public Builder setMetadata(org.scip_code.scip.Metadata value) { + if (metadataBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + metadata_ = value; + } else { + metadataBuilder_.setMessage(value); + } + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + /** + *
+     * Metadata about this index.
+     * 
+ * + * .scip.Metadata metadata = 1 [json_name = "metadata"]; + */ + public Builder setMetadata( + org.scip_code.scip.Metadata.Builder builderForValue) { + if (metadataBuilder_ == null) { + metadata_ = builderForValue.build(); + } else { + metadataBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + /** + *
+     * Metadata about this index.
+     * 
+ * + * .scip.Metadata metadata = 1 [json_name = "metadata"]; + */ + public Builder mergeMetadata(org.scip_code.scip.Metadata value) { + if (metadataBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0) && + metadata_ != null && + metadata_ != org.scip_code.scip.Metadata.getDefaultInstance()) { + getMetadataBuilder().mergeFrom(value); + } else { + metadata_ = value; + } + } else { + metadataBuilder_.mergeFrom(value); + } + if (metadata_ != null) { + bitField0_ |= 0x00000001; + onChanged(); + } + return this; + } + /** + *
+     * Metadata about this index.
+     * 
+ * + * .scip.Metadata metadata = 1 [json_name = "metadata"]; + */ + public Builder clearMetadata() { + bitField0_ = (bitField0_ & ~0x00000001); + metadata_ = null; + if (metadataBuilder_ != null) { + metadataBuilder_.dispose(); + metadataBuilder_ = null; + } + onChanged(); + return this; + } + /** + *
+     * Metadata about this index.
+     * 
+ * + * .scip.Metadata metadata = 1 [json_name = "metadata"]; + */ + public org.scip_code.scip.Metadata.Builder getMetadataBuilder() { + bitField0_ |= 0x00000001; + onChanged(); + return internalGetMetadataFieldBuilder().getBuilder(); + } + /** + *
+     * Metadata about this index.
+     * 
+ * + * .scip.Metadata metadata = 1 [json_name = "metadata"]; + */ + public org.scip_code.scip.MetadataOrBuilder getMetadataOrBuilder() { + if (metadataBuilder_ != null) { + return metadataBuilder_.getMessageOrBuilder(); + } else { + return metadata_ == null ? + org.scip_code.scip.Metadata.getDefaultInstance() : metadata_; + } + } + /** + *
+     * Metadata about this index.
+     * 
+ * + * .scip.Metadata metadata = 1 [json_name = "metadata"]; + */ + private com.google.protobuf.SingleFieldBuilder< + org.scip_code.scip.Metadata, org.scip_code.scip.Metadata.Builder, org.scip_code.scip.MetadataOrBuilder> + internalGetMetadataFieldBuilder() { + if (metadataBuilder_ == null) { + metadataBuilder_ = new com.google.protobuf.SingleFieldBuilder< + org.scip_code.scip.Metadata, org.scip_code.scip.Metadata.Builder, org.scip_code.scip.MetadataOrBuilder>( + getMetadata(), + getParentForChildren(), + isClean()); + metadata_ = null; + } + return metadataBuilder_; + } + + private java.util.List documents_ = + java.util.Collections.emptyList(); + private void ensureDocumentsIsMutable() { + if (!((bitField0_ & 0x00000002) != 0)) { + documents_ = new java.util.ArrayList(documents_); + bitField0_ |= 0x00000002; + } + } + + private com.google.protobuf.RepeatedFieldBuilder< + org.scip_code.scip.Document, org.scip_code.scip.Document.Builder, org.scip_code.scip.DocumentOrBuilder> documentsBuilder_; + + /** + *
+     * Documents that belong to this index.
+     * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + public java.util.List getDocumentsList() { + if (documentsBuilder_ == null) { + return java.util.Collections.unmodifiableList(documents_); + } else { + return documentsBuilder_.getMessageList(); + } + } + /** + *
+     * Documents that belong to this index.
+     * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + public int getDocumentsCount() { + if (documentsBuilder_ == null) { + return documents_.size(); + } else { + return documentsBuilder_.getCount(); + } + } + /** + *
+     * Documents that belong to this index.
+     * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + public org.scip_code.scip.Document getDocuments(int index) { + if (documentsBuilder_ == null) { + return documents_.get(index); + } else { + return documentsBuilder_.getMessage(index); + } + } + /** + *
+     * Documents that belong to this index.
+     * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + public Builder setDocuments( + int index, org.scip_code.scip.Document value) { + if (documentsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureDocumentsIsMutable(); + documents_.set(index, value); + onChanged(); + } else { + documentsBuilder_.setMessage(index, value); + } + return this; + } + /** + *
+     * Documents that belong to this index.
+     * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + public Builder setDocuments( + int index, org.scip_code.scip.Document.Builder builderForValue) { + if (documentsBuilder_ == null) { + ensureDocumentsIsMutable(); + documents_.set(index, builderForValue.build()); + onChanged(); + } else { + documentsBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + *
+     * Documents that belong to this index.
+     * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + public Builder addDocuments(org.scip_code.scip.Document value) { + if (documentsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureDocumentsIsMutable(); + documents_.add(value); + onChanged(); + } else { + documentsBuilder_.addMessage(value); + } + return this; + } + /** + *
+     * Documents that belong to this index.
+     * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + public Builder addDocuments( + int index, org.scip_code.scip.Document value) { + if (documentsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureDocumentsIsMutable(); + documents_.add(index, value); + onChanged(); + } else { + documentsBuilder_.addMessage(index, value); + } + return this; + } + /** + *
+     * Documents that belong to this index.
+     * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + public Builder addDocuments( + org.scip_code.scip.Document.Builder builderForValue) { + if (documentsBuilder_ == null) { + ensureDocumentsIsMutable(); + documents_.add(builderForValue.build()); + onChanged(); + } else { + documentsBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + *
+     * Documents that belong to this index.
+     * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + public Builder addDocuments( + int index, org.scip_code.scip.Document.Builder builderForValue) { + if (documentsBuilder_ == null) { + ensureDocumentsIsMutable(); + documents_.add(index, builderForValue.build()); + onChanged(); + } else { + documentsBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + *
+     * Documents that belong to this index.
+     * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + 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; + } + /** + *
+     * Documents that belong to this index.
+     * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + public Builder clearDocuments() { + if (documentsBuilder_ == null) { + documents_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + } else { + documentsBuilder_.clear(); + } + return this; + } + /** + *
+     * Documents that belong to this index.
+     * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + public Builder removeDocuments(int index) { + if (documentsBuilder_ == null) { + ensureDocumentsIsMutable(); + documents_.remove(index); + onChanged(); + } else { + documentsBuilder_.remove(index); + } + return this; + } + /** + *
+     * Documents that belong to this index.
+     * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + public org.scip_code.scip.Document.Builder getDocumentsBuilder( + int index) { + return internalGetDocumentsFieldBuilder().getBuilder(index); + } + /** + *
+     * Documents that belong to this index.
+     * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + public org.scip_code.scip.DocumentOrBuilder getDocumentsOrBuilder( + int index) { + if (documentsBuilder_ == null) { + return documents_.get(index); } else { + return documentsBuilder_.getMessageOrBuilder(index); + } + } + /** + *
+     * Documents that belong to this index.
+     * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + public java.util.List + getDocumentsOrBuilderList() { + if (documentsBuilder_ != null) { + return documentsBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(documents_); + } + } + /** + *
+     * Documents that belong to this index.
+     * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + public org.scip_code.scip.Document.Builder addDocumentsBuilder() { + return internalGetDocumentsFieldBuilder().addBuilder( + org.scip_code.scip.Document.getDefaultInstance()); + } + /** + *
+     * Documents that belong to this index.
+     * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + public org.scip_code.scip.Document.Builder addDocumentsBuilder( + int index) { + return internalGetDocumentsFieldBuilder().addBuilder( + index, org.scip_code.scip.Document.getDefaultInstance()); + } + /** + *
+     * Documents that belong to this index.
+     * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + public java.util.List + getDocumentsBuilderList() { + return internalGetDocumentsFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilder< + org.scip_code.scip.Document, org.scip_code.scip.Document.Builder, org.scip_code.scip.DocumentOrBuilder> + internalGetDocumentsFieldBuilder() { + if (documentsBuilder_ == null) { + documentsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder< + org.scip_code.scip.Document, org.scip_code.scip.Document.Builder, org.scip_code.scip.DocumentOrBuilder>( + documents_, + ((bitField0_ & 0x00000002) != 0), + getParentForChildren(), + isClean()); + documents_ = null; + } + return documentsBuilder_; + } + + private java.util.List externalSymbols_ = + java.util.Collections.emptyList(); + private void ensureExternalSymbolsIsMutable() { + if (!((bitField0_ & 0x00000004) != 0)) { + externalSymbols_ = new java.util.ArrayList(externalSymbols_); + bitField0_ |= 0x00000004; + } + } + + private com.google.protobuf.RepeatedFieldBuilder< + org.scip_code.scip.SymbolInformation, org.scip_code.scip.SymbolInformation.Builder, org.scip_code.scip.SymbolInformationOrBuilder> externalSymbolsBuilder_; + + /** + *
+     * (optional) Symbols that are referenced from this index but are defined in
+     * an external package (a separate `Index` message). Leave this field empty
+     * if you assume the external package will get indexed separately. If the
+     * external package won't get indexed for some reason then you can use this
+     * field to provide hover documentation for those external symbols.
+     * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + public java.util.List getExternalSymbolsList() { + if (externalSymbolsBuilder_ == null) { + return java.util.Collections.unmodifiableList(externalSymbols_); + } else { + return externalSymbolsBuilder_.getMessageList(); + } + } + /** + *
+     * (optional) Symbols that are referenced from this index but are defined in
+     * an external package (a separate `Index` message). Leave this field empty
+     * if you assume the external package will get indexed separately. If the
+     * external package won't get indexed for some reason then you can use this
+     * field to provide hover documentation for those external symbols.
+     * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + public int getExternalSymbolsCount() { + if (externalSymbolsBuilder_ == null) { + return externalSymbols_.size(); + } else { + return externalSymbolsBuilder_.getCount(); + } + } + /** + *
+     * (optional) Symbols that are referenced from this index but are defined in
+     * an external package (a separate `Index` message). Leave this field empty
+     * if you assume the external package will get indexed separately. If the
+     * external package won't get indexed for some reason then you can use this
+     * field to provide hover documentation for those external symbols.
+     * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + public org.scip_code.scip.SymbolInformation getExternalSymbols(int index) { + if (externalSymbolsBuilder_ == null) { + return externalSymbols_.get(index); + } else { + return externalSymbolsBuilder_.getMessage(index); + } + } + /** + *
+     * (optional) Symbols that are referenced from this index but are defined in
+     * an external package (a separate `Index` message). Leave this field empty
+     * if you assume the external package will get indexed separately. If the
+     * external package won't get indexed for some reason then you can use this
+     * field to provide hover documentation for those external symbols.
+     * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + public Builder setExternalSymbols( + int index, org.scip_code.scip.SymbolInformation value) { + if (externalSymbolsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureExternalSymbolsIsMutable(); + externalSymbols_.set(index, value); + onChanged(); + } else { + externalSymbolsBuilder_.setMessage(index, value); + } + return this; + } + /** + *
+     * (optional) Symbols that are referenced from this index but are defined in
+     * an external package (a separate `Index` message). Leave this field empty
+     * if you assume the external package will get indexed separately. If the
+     * external package won't get indexed for some reason then you can use this
+     * field to provide hover documentation for those external symbols.
+     * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + public Builder setExternalSymbols( + int index, org.scip_code.scip.SymbolInformation.Builder builderForValue) { + if (externalSymbolsBuilder_ == null) { + ensureExternalSymbolsIsMutable(); + externalSymbols_.set(index, builderForValue.build()); + onChanged(); + } else { + externalSymbolsBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + *
+     * (optional) Symbols that are referenced from this index but are defined in
+     * an external package (a separate `Index` message). Leave this field empty
+     * if you assume the external package will get indexed separately. If the
+     * external package won't get indexed for some reason then you can use this
+     * field to provide hover documentation for those external symbols.
+     * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + public Builder addExternalSymbols(org.scip_code.scip.SymbolInformation value) { + if (externalSymbolsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureExternalSymbolsIsMutable(); + externalSymbols_.add(value); + onChanged(); + } else { + externalSymbolsBuilder_.addMessage(value); + } + return this; + } + /** + *
+     * (optional) Symbols that are referenced from this index but are defined in
+     * an external package (a separate `Index` message). Leave this field empty
+     * if you assume the external package will get indexed separately. If the
+     * external package won't get indexed for some reason then you can use this
+     * field to provide hover documentation for those external symbols.
+     * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + public Builder addExternalSymbols( + int index, org.scip_code.scip.SymbolInformation value) { + if (externalSymbolsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureExternalSymbolsIsMutable(); + externalSymbols_.add(index, value); + onChanged(); + } else { + externalSymbolsBuilder_.addMessage(index, value); + } + return this; + } + /** + *
+     * (optional) Symbols that are referenced from this index but are defined in
+     * an external package (a separate `Index` message). Leave this field empty
+     * if you assume the external package will get indexed separately. If the
+     * external package won't get indexed for some reason then you can use this
+     * field to provide hover documentation for those external symbols.
+     * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + public Builder addExternalSymbols( + org.scip_code.scip.SymbolInformation.Builder builderForValue) { + if (externalSymbolsBuilder_ == null) { + ensureExternalSymbolsIsMutable(); + externalSymbols_.add(builderForValue.build()); + onChanged(); + } else { + externalSymbolsBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + *
+     * (optional) Symbols that are referenced from this index but are defined in
+     * an external package (a separate `Index` message). Leave this field empty
+     * if you assume the external package will get indexed separately. If the
+     * external package won't get indexed for some reason then you can use this
+     * field to provide hover documentation for those external symbols.
+     * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + public Builder addExternalSymbols( + int index, org.scip_code.scip.SymbolInformation.Builder builderForValue) { + if (externalSymbolsBuilder_ == null) { + ensureExternalSymbolsIsMutable(); + externalSymbols_.add(index, builderForValue.build()); + onChanged(); + } else { + externalSymbolsBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + *
+     * (optional) Symbols that are referenced from this index but are defined in
+     * an external package (a separate `Index` message). Leave this field empty
+     * if you assume the external package will get indexed separately. If the
+     * external package won't get indexed for some reason then you can use this
+     * field to provide hover documentation for those external symbols.
+     * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + public Builder addAllExternalSymbols( + java.lang.Iterable values) { + if (externalSymbolsBuilder_ == null) { + ensureExternalSymbolsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, externalSymbols_); + onChanged(); + } else { + externalSymbolsBuilder_.addAllMessages(values); + } + return this; + } + /** + *
+     * (optional) Symbols that are referenced from this index but are defined in
+     * an external package (a separate `Index` message). Leave this field empty
+     * if you assume the external package will get indexed separately. If the
+     * external package won't get indexed for some reason then you can use this
+     * field to provide hover documentation for those external symbols.
+     * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + public Builder clearExternalSymbols() { + if (externalSymbolsBuilder_ == null) { + externalSymbols_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000004); + onChanged(); + } else { + externalSymbolsBuilder_.clear(); + } + return this; + } + /** + *
+     * (optional) Symbols that are referenced from this index but are defined in
+     * an external package (a separate `Index` message). Leave this field empty
+     * if you assume the external package will get indexed separately. If the
+     * external package won't get indexed for some reason then you can use this
+     * field to provide hover documentation for those external symbols.
+     * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + public Builder removeExternalSymbols(int index) { + if (externalSymbolsBuilder_ == null) { + ensureExternalSymbolsIsMutable(); + externalSymbols_.remove(index); + onChanged(); + } else { + externalSymbolsBuilder_.remove(index); + } + return this; + } + /** + *
+     * (optional) Symbols that are referenced from this index but are defined in
+     * an external package (a separate `Index` message). Leave this field empty
+     * if you assume the external package will get indexed separately. If the
+     * external package won't get indexed for some reason then you can use this
+     * field to provide hover documentation for those external symbols.
+     * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + public org.scip_code.scip.SymbolInformation.Builder getExternalSymbolsBuilder( + int index) { + return internalGetExternalSymbolsFieldBuilder().getBuilder(index); + } + /** + *
+     * (optional) Symbols that are referenced from this index but are defined in
+     * an external package (a separate `Index` message). Leave this field empty
+     * if you assume the external package will get indexed separately. If the
+     * external package won't get indexed for some reason then you can use this
+     * field to provide hover documentation for those external symbols.
+     * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + public org.scip_code.scip.SymbolInformationOrBuilder getExternalSymbolsOrBuilder( + int index) { + if (externalSymbolsBuilder_ == null) { + return externalSymbols_.get(index); } else { + return externalSymbolsBuilder_.getMessageOrBuilder(index); + } + } + /** + *
+     * (optional) Symbols that are referenced from this index but are defined in
+     * an external package (a separate `Index` message). Leave this field empty
+     * if you assume the external package will get indexed separately. If the
+     * external package won't get indexed for some reason then you can use this
+     * field to provide hover documentation for those external symbols.
+     * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + public java.util.List + getExternalSymbolsOrBuilderList() { + if (externalSymbolsBuilder_ != null) { + return externalSymbolsBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(externalSymbols_); + } + } + /** + *
+     * (optional) Symbols that are referenced from this index but are defined in
+     * an external package (a separate `Index` message). Leave this field empty
+     * if you assume the external package will get indexed separately. If the
+     * external package won't get indexed for some reason then you can use this
+     * field to provide hover documentation for those external symbols.
+     * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + public org.scip_code.scip.SymbolInformation.Builder addExternalSymbolsBuilder() { + return internalGetExternalSymbolsFieldBuilder().addBuilder( + org.scip_code.scip.SymbolInformation.getDefaultInstance()); + } + /** + *
+     * (optional) Symbols that are referenced from this index but are defined in
+     * an external package (a separate `Index` message). Leave this field empty
+     * if you assume the external package will get indexed separately. If the
+     * external package won't get indexed for some reason then you can use this
+     * field to provide hover documentation for those external symbols.
+     * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + public org.scip_code.scip.SymbolInformation.Builder addExternalSymbolsBuilder( + int index) { + return internalGetExternalSymbolsFieldBuilder().addBuilder( + index, org.scip_code.scip.SymbolInformation.getDefaultInstance()); + } + /** + *
+     * (optional) Symbols that are referenced from this index but are defined in
+     * an external package (a separate `Index` message). Leave this field empty
+     * if you assume the external package will get indexed separately. If the
+     * external package won't get indexed for some reason then you can use this
+     * field to provide hover documentation for those external symbols.
+     * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + public java.util.List + getExternalSymbolsBuilderList() { + return internalGetExternalSymbolsFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilder< + org.scip_code.scip.SymbolInformation, org.scip_code.scip.SymbolInformation.Builder, org.scip_code.scip.SymbolInformationOrBuilder> + internalGetExternalSymbolsFieldBuilder() { + if (externalSymbolsBuilder_ == null) { + externalSymbolsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder< + org.scip_code.scip.SymbolInformation, org.scip_code.scip.SymbolInformation.Builder, org.scip_code.scip.SymbolInformationOrBuilder>( + externalSymbols_, + ((bitField0_ & 0x00000004) != 0), + getParentForChildren(), + isClean()); + externalSymbols_ = null; + } + return externalSymbolsBuilder_; + } + + // @@protoc_insertion_point(builder_scope:scip.Index) + } + + // @@protoc_insertion_point(class_scope:scip.Index) + private static final org.scip_code.scip.Index DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new org.scip_code.scip.Index(); + } + + public static org.scip_code.scip.Index getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public Index parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public org.scip_code.scip.Index getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + +} + diff --git a/bindings/kotlin/src/main/java/org/scip_code/scip/IndexOrBuilder.java b/bindings/kotlin/src/main/java/org/scip_code/scip/IndexOrBuilder.java new file mode 100644 index 00000000..2d605ab1 --- /dev/null +++ b/bindings/kotlin/src/main/java/org/scip_code/scip/IndexOrBuilder.java @@ -0,0 +1,147 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: scip.proto +// Protobuf Java Version: 4.32.1 + +package org.scip_code.scip; + +@com.google.protobuf.Generated +public interface IndexOrBuilder extends + // @@protoc_insertion_point(interface_extends:scip.Index) + com.google.protobuf.MessageOrBuilder { + + /** + *
+   * Metadata about this index.
+   * 
+ * + * .scip.Metadata metadata = 1 [json_name = "metadata"]; + * @return Whether the metadata field is set. + */ + boolean hasMetadata(); + /** + *
+   * Metadata about this index.
+   * 
+ * + * .scip.Metadata metadata = 1 [json_name = "metadata"]; + * @return The metadata. + */ + org.scip_code.scip.Metadata getMetadata(); + /** + *
+   * Metadata about this index.
+   * 
+ * + * .scip.Metadata metadata = 1 [json_name = "metadata"]; + */ + org.scip_code.scip.MetadataOrBuilder getMetadataOrBuilder(); + + /** + *
+   * Documents that belong to this index.
+   * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + java.util.List + getDocumentsList(); + /** + *
+   * Documents that belong to this index.
+   * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + org.scip_code.scip.Document getDocuments(int index); + /** + *
+   * Documents that belong to this index.
+   * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + int getDocumentsCount(); + /** + *
+   * Documents that belong to this index.
+   * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + java.util.List + getDocumentsOrBuilderList(); + /** + *
+   * Documents that belong to this index.
+   * 
+ * + * repeated .scip.Document documents = 2 [json_name = "documents"]; + */ + org.scip_code.scip.DocumentOrBuilder getDocumentsOrBuilder( + int index); + + /** + *
+   * (optional) Symbols that are referenced from this index but are defined in
+   * an external package (a separate `Index` message). Leave this field empty
+   * if you assume the external package will get indexed separately. If the
+   * external package won't get indexed for some reason then you can use this
+   * field to provide hover documentation for those external symbols.
+   * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + java.util.List + getExternalSymbolsList(); + /** + *
+   * (optional) Symbols that are referenced from this index but are defined in
+   * an external package (a separate `Index` message). Leave this field empty
+   * if you assume the external package will get indexed separately. If the
+   * external package won't get indexed for some reason then you can use this
+   * field to provide hover documentation for those external symbols.
+   * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + org.scip_code.scip.SymbolInformation getExternalSymbols(int index); + /** + *
+   * (optional) Symbols that are referenced from this index but are defined in
+   * an external package (a separate `Index` message). Leave this field empty
+   * if you assume the external package will get indexed separately. If the
+   * external package won't get indexed for some reason then you can use this
+   * field to provide hover documentation for those external symbols.
+   * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + int getExternalSymbolsCount(); + /** + *
+   * (optional) Symbols that are referenced from this index but are defined in
+   * an external package (a separate `Index` message). Leave this field empty
+   * if you assume the external package will get indexed separately. If the
+   * external package won't get indexed for some reason then you can use this
+   * field to provide hover documentation for those external symbols.
+   * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + java.util.List + getExternalSymbolsOrBuilderList(); + /** + *
+   * (optional) Symbols that are referenced from this index but are defined in
+   * an external package (a separate `Index` message). Leave this field empty
+   * if you assume the external package will get indexed separately. If the
+   * external package won't get indexed for some reason then you can use this
+   * field to provide hover documentation for those external symbols.
+   * 
+ * + * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; + */ + org.scip_code.scip.SymbolInformationOrBuilder getExternalSymbolsOrBuilder( + int index); +} diff --git a/bindings/kotlin/src/main/java/org/scip_code/scip/Language.java b/bindings/kotlin/src/main/java/org/scip_code/scip/Language.java new file mode 100644 index 00000000..3428ae46 --- /dev/null +++ b/bindings/kotlin/src/main/java/org/scip_code/scip/Language.java @@ -0,0 +1,1158 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: scip.proto +// Protobuf Java Version: 4.32.1 + +package org.scip_code.scip; + +/** + *
+ * Language standardises names of common programming languages that can be used
+ * for the `Document.language` field. The primary purpose of this enum is to
+ * prevent a situation where we have a single programming language ends up with
+ * multiple string representations. For example, the C++ language uses the name
+ * "CPP" in this enum and other names such as "cpp" are incompatible.
+ * Feel free to send a pull-request to add missing programming languages.
+ * 
+ * + * Protobuf enum {@code scip.Language} + */ +@com.google.protobuf.Generated +public enum Language + implements com.google.protobuf.ProtocolMessageEnum { + /** + * UnspecifiedLanguage = 0; + */ + UnspecifiedLanguage(0), + /** + * ABAP = 60; + */ + ABAP(60), + /** + * Apex = 96; + */ + Apex(96), + /** + * APL = 49; + */ + APL(49), + /** + * Ada = 39; + */ + Ada(39), + /** + * Agda = 45; + */ + Agda(45), + /** + * AsciiDoc = 86; + */ + AsciiDoc(86), + /** + * Assembly = 58; + */ + Assembly(58), + /** + * Awk = 66; + */ + Awk(66), + /** + * Bat = 68; + */ + Bat(68), + /** + * BibTeX = 81; + */ + BibTeX(81), + /** + * C = 34; + */ + C(34), + /** + * COBOL = 59; + */ + COBOL(59), + /** + *
+   * C++ (the name "CPP" was chosen for consistency with LSP)
+   * 
+ * + * CPP = 35; + */ + CPP(35), + /** + * CSS = 26; + */ + CSS(26), + /** + * CSharp = 1; + */ + CSharp(1), + /** + * Clojure = 8; + */ + Clojure(8), + /** + * Coffeescript = 21; + */ + Coffeescript(21), + /** + * CommonLisp = 9; + */ + CommonLisp(9), + /** + * Coq = 47; + */ + Coq(47), + /** + * CUDA = 97; + */ + CUDA(97), + /** + * Dart = 3; + */ + Dart(3), + /** + * Delphi = 57; + */ + Delphi(57), + /** + * Diff = 88; + */ + Diff(88), + /** + * Dockerfile = 80; + */ + Dockerfile(80), + /** + * Dyalog = 50; + */ + Dyalog(50), + /** + * Elixir = 17; + */ + Elixir(17), + /** + * Erlang = 18; + */ + Erlang(18), + /** + * FSharp = 42; + */ + FSharp(42), + /** + * Fish = 65; + */ + Fish(65), + /** + * Flow = 24; + */ + Flow(24), + /** + * Fortran = 56; + */ + Fortran(56), + /** + * Git_Commit = 91; + */ + Git_Commit(91), + /** + * Git_Config = 89; + */ + Git_Config(89), + /** + * Git_Rebase = 92; + */ + Git_Rebase(92), + /** + * Go = 33; + */ + Go(33), + /** + * GraphQL = 98; + */ + GraphQL(98), + /** + * Groovy = 7; + */ + Groovy(7), + /** + * HTML = 30; + */ + HTML(30), + /** + * Hack = 20; + */ + Hack(20), + /** + * Handlebars = 90; + */ + Handlebars(90), + /** + * Haskell = 44; + */ + Haskell(44), + /** + * Idris = 46; + */ + Idris(46), + /** + * Ini = 72; + */ + Ini(72), + /** + * J = 51; + */ + J(51), + /** + * JSON = 75; + */ + JSON(75), + /** + * Java = 6; + */ + Java(6), + /** + * JavaScript = 22; + */ + JavaScript(22), + /** + * JavaScriptReact = 93; + */ + JavaScriptReact(93), + /** + * Jsonnet = 76; + */ + Jsonnet(76), + /** + * Julia = 55; + */ + Julia(55), + /** + * Justfile = 109; + */ + Justfile(109), + /** + * Kotlin = 4; + */ + Kotlin(4), + /** + * LaTeX = 83; + */ + LaTeX(83), + /** + * Lean = 48; + */ + Lean(48), + /** + * Less = 27; + */ + Less(27), + /** + * Lua = 12; + */ + Lua(12), + /** + * Luau = 108; + */ + Luau(108), + /** + * Makefile = 79; + */ + Makefile(79), + /** + * Markdown = 84; + */ + Markdown(84), + /** + * Matlab = 52; + */ + Matlab(52), + /** + *
+   * https://nickel-lang.org/
+   * 
+ * + * Nickel = 110; + */ + Nickel(110), + /** + * Nix = 77; + */ + Nix(77), + /** + * OCaml = 41; + */ + OCaml(41), + /** + * Objective_C = 36; + */ + Objective_C(36), + /** + * Objective_CPP = 37; + */ + Objective_CPP(37), + /** + * Pascal = 99; + */ + Pascal(99), + /** + * PHP = 19; + */ + PHP(19), + /** + * PLSQL = 70; + */ + PLSQL(70), + /** + * Perl = 13; + */ + Perl(13), + /** + * PowerShell = 67; + */ + PowerShell(67), + /** + * Prolog = 71; + */ + Prolog(71), + /** + * Protobuf = 100; + */ + Protobuf(100), + /** + * Python = 15; + */ + Python(15), + /** + * R = 54; + */ + R(54), + /** + * Racket = 11; + */ + Racket(11), + /** + * Raku = 14; + */ + Raku(14), + /** + * Razor = 62; + */ + Razor(62), + /** + *
+   * Internal language for testing SCIP
+   * 
+ * + * Repro = 102; + */ + Repro(102), + /** + * ReST = 85; + */ + ReST(85), + /** + * Ruby = 16; + */ + Ruby(16), + /** + * Rust = 40; + */ + Rust(40), + /** + * SAS = 61; + */ + SAS(61), + /** + * SCSS = 29; + */ + SCSS(29), + /** + * SML = 43; + */ + SML(43), + /** + * SQL = 69; + */ + SQL(69), + /** + * Sass = 28; + */ + Sass(28), + /** + * Scala = 5; + */ + Scala(5), + /** + * Scheme = 10; + */ + Scheme(10), + /** + *
+   * Bash
+   * 
+ * + * ShellScript = 64; + */ + ShellScript(64), + /** + * Skylark = 78; + */ + Skylark(78), + /** + * Slang = 107; + */ + Slang(107), + /** + * Solidity = 95; + */ + Solidity(95), + /** + * Svelte = 106; + */ + Svelte(106), + /** + * Swift = 2; + */ + Swift(2), + /** + * Tcl = 101; + */ + Tcl(101), + /** + * TOML = 73; + */ + TOML(73), + /** + * TeX = 82; + */ + TeX(82), + /** + * Thrift = 103; + */ + Thrift(103), + /** + * TypeScript = 23; + */ + TypeScript(23), + /** + * TypeScriptReact = 94; + */ + TypeScriptReact(94), + /** + * Verilog = 104; + */ + Verilog(104), + /** + * VHDL = 105; + */ + VHDL(105), + /** + * VisualBasic = 63; + */ + VisualBasic(63), + /** + * Vue = 25; + */ + Vue(25), + /** + * Wolfram = 53; + */ + Wolfram(53), + /** + * XML = 31; + */ + XML(31), + /** + * XSL = 32; + */ + XSL(32), + /** + * YAML = 74; + */ + YAML(74), + /** + *
+   * NextLanguage = 111;
+   * Steps add a new language:
+   * 1. Copy-paste the "NextLanguage = N" line above
+   * 2. Increment "NextLanguage = N" to "NextLanguage = N+1"
+   * 3. Replace "NextLanguage = N" with the name of the new language.
+   * 4. Move the new language to the correct line above using alphabetical order
+   * 5. (optional) Add a brief comment behind the language if the name is not self-explanatory
+   * 
+ * + * Zig = 38; + */ + Zig(38), + UNRECOGNIZED(-1), + ; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 32, + /* patch= */ 1, + /* suffix= */ "", + Language.class.getName()); + } + /** + * UnspecifiedLanguage = 0; + */ + public static final int UnspecifiedLanguage_VALUE = 0; + /** + * ABAP = 60; + */ + public static final int ABAP_VALUE = 60; + /** + * Apex = 96; + */ + public static final int Apex_VALUE = 96; + /** + * APL = 49; + */ + public static final int APL_VALUE = 49; + /** + * Ada = 39; + */ + public static final int Ada_VALUE = 39; + /** + * Agda = 45; + */ + public static final int Agda_VALUE = 45; + /** + * AsciiDoc = 86; + */ + public static final int AsciiDoc_VALUE = 86; + /** + * Assembly = 58; + */ + public static final int Assembly_VALUE = 58; + /** + * Awk = 66; + */ + public static final int Awk_VALUE = 66; + /** + * Bat = 68; + */ + public static final int Bat_VALUE = 68; + /** + * BibTeX = 81; + */ + public static final int BibTeX_VALUE = 81; + /** + * C = 34; + */ + public static final int C_VALUE = 34; + /** + * COBOL = 59; + */ + public static final int COBOL_VALUE = 59; + /** + *
+   * C++ (the name "CPP" was chosen for consistency with LSP)
+   * 
+ * + * CPP = 35; + */ + public static final int CPP_VALUE = 35; + /** + * CSS = 26; + */ + public static final int CSS_VALUE = 26; + /** + * CSharp = 1; + */ + public static final int CSharp_VALUE = 1; + /** + * Clojure = 8; + */ + public static final int Clojure_VALUE = 8; + /** + * Coffeescript = 21; + */ + public static final int Coffeescript_VALUE = 21; + /** + * CommonLisp = 9; + */ + public static final int CommonLisp_VALUE = 9; + /** + * Coq = 47; + */ + public static final int Coq_VALUE = 47; + /** + * CUDA = 97; + */ + public static final int CUDA_VALUE = 97; + /** + * Dart = 3; + */ + public static final int Dart_VALUE = 3; + /** + * Delphi = 57; + */ + public static final int Delphi_VALUE = 57; + /** + * Diff = 88; + */ + public static final int Diff_VALUE = 88; + /** + * Dockerfile = 80; + */ + public static final int Dockerfile_VALUE = 80; + /** + * Dyalog = 50; + */ + public static final int Dyalog_VALUE = 50; + /** + * Elixir = 17; + */ + public static final int Elixir_VALUE = 17; + /** + * Erlang = 18; + */ + public static final int Erlang_VALUE = 18; + /** + * FSharp = 42; + */ + public static final int FSharp_VALUE = 42; + /** + * Fish = 65; + */ + public static final int Fish_VALUE = 65; + /** + * Flow = 24; + */ + public static final int Flow_VALUE = 24; + /** + * Fortran = 56; + */ + public static final int Fortran_VALUE = 56; + /** + * Git_Commit = 91; + */ + public static final int Git_Commit_VALUE = 91; + /** + * Git_Config = 89; + */ + public static final int Git_Config_VALUE = 89; + /** + * Git_Rebase = 92; + */ + public static final int Git_Rebase_VALUE = 92; + /** + * Go = 33; + */ + public static final int Go_VALUE = 33; + /** + * GraphQL = 98; + */ + public static final int GraphQL_VALUE = 98; + /** + * Groovy = 7; + */ + public static final int Groovy_VALUE = 7; + /** + * HTML = 30; + */ + public static final int HTML_VALUE = 30; + /** + * Hack = 20; + */ + public static final int Hack_VALUE = 20; + /** + * Handlebars = 90; + */ + public static final int Handlebars_VALUE = 90; + /** + * Haskell = 44; + */ + public static final int Haskell_VALUE = 44; + /** + * Idris = 46; + */ + public static final int Idris_VALUE = 46; + /** + * Ini = 72; + */ + public static final int Ini_VALUE = 72; + /** + * J = 51; + */ + public static final int J_VALUE = 51; + /** + * JSON = 75; + */ + public static final int JSON_VALUE = 75; + /** + * Java = 6; + */ + public static final int Java_VALUE = 6; + /** + * JavaScript = 22; + */ + public static final int JavaScript_VALUE = 22; + /** + * JavaScriptReact = 93; + */ + public static final int JavaScriptReact_VALUE = 93; + /** + * Jsonnet = 76; + */ + public static final int Jsonnet_VALUE = 76; + /** + * Julia = 55; + */ + public static final int Julia_VALUE = 55; + /** + * Justfile = 109; + */ + public static final int Justfile_VALUE = 109; + /** + * Kotlin = 4; + */ + public static final int Kotlin_VALUE = 4; + /** + * LaTeX = 83; + */ + public static final int LaTeX_VALUE = 83; + /** + * Lean = 48; + */ + public static final int Lean_VALUE = 48; + /** + * Less = 27; + */ + public static final int Less_VALUE = 27; + /** + * Lua = 12; + */ + public static final int Lua_VALUE = 12; + /** + * Luau = 108; + */ + public static final int Luau_VALUE = 108; + /** + * Makefile = 79; + */ + public static final int Makefile_VALUE = 79; + /** + * Markdown = 84; + */ + public static final int Markdown_VALUE = 84; + /** + * Matlab = 52; + */ + public static final int Matlab_VALUE = 52; + /** + *
+   * https://nickel-lang.org/
+   * 
+ * + * Nickel = 110; + */ + public static final int Nickel_VALUE = 110; + /** + * Nix = 77; + */ + public static final int Nix_VALUE = 77; + /** + * OCaml = 41; + */ + public static final int OCaml_VALUE = 41; + /** + * Objective_C = 36; + */ + public static final int Objective_C_VALUE = 36; + /** + * Objective_CPP = 37; + */ + public static final int Objective_CPP_VALUE = 37; + /** + * Pascal = 99; + */ + public static final int Pascal_VALUE = 99; + /** + * PHP = 19; + */ + public static final int PHP_VALUE = 19; + /** + * PLSQL = 70; + */ + public static final int PLSQL_VALUE = 70; + /** + * Perl = 13; + */ + public static final int Perl_VALUE = 13; + /** + * PowerShell = 67; + */ + public static final int PowerShell_VALUE = 67; + /** + * Prolog = 71; + */ + public static final int Prolog_VALUE = 71; + /** + * Protobuf = 100; + */ + public static final int Protobuf_VALUE = 100; + /** + * Python = 15; + */ + public static final int Python_VALUE = 15; + /** + * R = 54; + */ + public static final int R_VALUE = 54; + /** + * Racket = 11; + */ + public static final int Racket_VALUE = 11; + /** + * Raku = 14; + */ + public static final int Raku_VALUE = 14; + /** + * Razor = 62; + */ + public static final int Razor_VALUE = 62; + /** + *
+   * Internal language for testing SCIP
+   * 
+ * + * Repro = 102; + */ + public static final int Repro_VALUE = 102; + /** + * ReST = 85; + */ + public static final int ReST_VALUE = 85; + /** + * Ruby = 16; + */ + public static final int Ruby_VALUE = 16; + /** + * Rust = 40; + */ + public static final int Rust_VALUE = 40; + /** + * SAS = 61; + */ + public static final int SAS_VALUE = 61; + /** + * SCSS = 29; + */ + public static final int SCSS_VALUE = 29; + /** + * SML = 43; + */ + public static final int SML_VALUE = 43; + /** + * SQL = 69; + */ + public static final int SQL_VALUE = 69; + /** + * Sass = 28; + */ + public static final int Sass_VALUE = 28; + /** + * Scala = 5; + */ + public static final int Scala_VALUE = 5; + /** + * Scheme = 10; + */ + public static final int Scheme_VALUE = 10; + /** + *
+   * Bash
+   * 
+ * + * ShellScript = 64; + */ + public static final int ShellScript_VALUE = 64; + /** + * Skylark = 78; + */ + public static final int Skylark_VALUE = 78; + /** + * Slang = 107; + */ + public static final int Slang_VALUE = 107; + /** + * Solidity = 95; + */ + public static final int Solidity_VALUE = 95; + /** + * Svelte = 106; + */ + public static final int Svelte_VALUE = 106; + /** + * Swift = 2; + */ + public static final int Swift_VALUE = 2; + /** + * Tcl = 101; + */ + public static final int Tcl_VALUE = 101; + /** + * TOML = 73; + */ + public static final int TOML_VALUE = 73; + /** + * TeX = 82; + */ + public static final int TeX_VALUE = 82; + /** + * Thrift = 103; + */ + public static final int Thrift_VALUE = 103; + /** + * TypeScript = 23; + */ + public static final int TypeScript_VALUE = 23; + /** + * TypeScriptReact = 94; + */ + public static final int TypeScriptReact_VALUE = 94; + /** + * Verilog = 104; + */ + public static final int Verilog_VALUE = 104; + /** + * VHDL = 105; + */ + public static final int VHDL_VALUE = 105; + /** + * VisualBasic = 63; + */ + public static final int VisualBasic_VALUE = 63; + /** + * Vue = 25; + */ + public static final int Vue_VALUE = 25; + /** + * Wolfram = 53; + */ + public static final int Wolfram_VALUE = 53; + /** + * XML = 31; + */ + public static final int XML_VALUE = 31; + /** + * XSL = 32; + */ + public static final int XSL_VALUE = 32; + /** + * YAML = 74; + */ + public static final int YAML_VALUE = 74; + /** + *
+   * NextLanguage = 111;
+   * Steps add a new language:
+   * 1. Copy-paste the "NextLanguage = N" line above
+   * 2. Increment "NextLanguage = N" to "NextLanguage = N+1"
+   * 3. Replace "NextLanguage = N" with the name of the new language.
+   * 4. Move the new language to the correct line above using alphabetical order
+   * 5. (optional) Add a brief comment behind the language if the name is not self-explanatory
+   * 
+ * + * Zig = 38; + */ + public static final int Zig_VALUE = 38; + + + 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 UnspecifiedLanguage; + case 60: return ABAP; + case 96: return Apex; + case 49: return APL; + case 39: return Ada; + case 45: return Agda; + case 86: return AsciiDoc; + case 58: return Assembly; + case 66: return Awk; + case 68: return Bat; + case 81: return BibTeX; + case 34: return C; + case 59: return COBOL; + case 35: return CPP; + case 26: return CSS; + case 1: return CSharp; + case 8: return Clojure; + case 21: return Coffeescript; + case 9: return CommonLisp; + case 47: return Coq; + case 97: return CUDA; + case 3: return Dart; + case 57: return Delphi; + case 88: return Diff; + case 80: return Dockerfile; + case 50: return Dyalog; + case 17: return Elixir; + case 18: return Erlang; + case 42: return FSharp; + case 65: return Fish; + case 24: return Flow; + case 56: return Fortran; + case 91: return Git_Commit; + case 89: return Git_Config; + case 92: return Git_Rebase; + case 33: return Go; + case 98: return GraphQL; + case 7: return Groovy; + case 30: return HTML; + case 20: return Hack; + case 90: return Handlebars; + case 44: return Haskell; + case 46: return Idris; + case 72: return Ini; + case 51: return J; + case 75: return JSON; + case 6: return Java; + case 22: return JavaScript; + case 93: return JavaScriptReact; + case 76: return Jsonnet; + case 55: return Julia; + case 109: return Justfile; + case 4: return Kotlin; + case 83: return LaTeX; + case 48: return Lean; + case 27: return Less; + case 12: return Lua; + case 108: return Luau; + case 79: return Makefile; + case 84: return Markdown; + case 52: return Matlab; + case 110: return Nickel; + case 77: return Nix; + case 41: return OCaml; + case 36: return Objective_C; + case 37: return Objective_CPP; + case 99: return Pascal; + case 19: return PHP; + case 70: return PLSQL; + case 13: return Perl; + case 67: return PowerShell; + case 71: return Prolog; + case 100: return Protobuf; + case 15: return Python; + case 54: return R; + case 11: return Racket; + case 14: return Raku; + case 62: return Razor; + case 102: return Repro; + case 85: return ReST; + case 16: return Ruby; + case 40: return Rust; + case 61: return SAS; + case 29: return SCSS; + case 43: return SML; + case 69: return SQL; + case 28: return Sass; + case 5: return Scala; + case 10: return Scheme; + case 64: return ShellScript; + case 78: return Skylark; + case 107: return Slang; + case 95: return Solidity; + case 106: return Svelte; + case 2: return Swift; + case 101: return Tcl; + case 73: return TOML; + case 82: return TeX; + case 103: return Thrift; + case 23: return TypeScript; + case 94: return TypeScriptReact; + case 104: return Verilog; + case 105: return VHDL; + case 63: return VisualBasic; + case 25: return Vue; + case 53: return Wolfram; + case 31: return XML; + case 32: return XSL; + case 74: return YAML; + case 38: return Zig; + 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 com.google.protobuf.Descriptors.EnumDescriptor + getDescriptor() { + return org.scip_code.scip.ScipProto.getDescriptor().getEnumTypes().get(7); + } + + 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:scip.Language) +} + diff --git a/bindings/kotlin/src/main/java/org/scip_code/scip/Metadata.java b/bindings/kotlin/src/main/java/org/scip_code/scip/Metadata.java new file mode 100644 index 00000000..496cbf16 --- /dev/null +++ b/bindings/kotlin/src/main/java/org/scip_code/scip/Metadata.java @@ -0,0 +1,1039 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: scip.proto +// Protobuf Java Version: 4.32.1 + +package org.scip_code.scip; + +/** + * Protobuf type {@code scip.Metadata} + */ +@com.google.protobuf.Generated +public final class Metadata extends + com.google.protobuf.GeneratedMessage implements + // @@protoc_insertion_point(message_implements:scip.Metadata) + MetadataOrBuilder { +private static final long serialVersionUID = 0L; + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 32, + /* patch= */ 1, + /* suffix= */ "", + Metadata.class.getName()); + } + // Use Metadata.newBuilder() to construct. + private Metadata(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + private Metadata() { + version_ = 0; + projectRoot_ = ""; + textDocumentEncoding_ = 0; + } + + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.scip_code.scip.ScipProto.internal_static_scip_Metadata_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.scip_code.scip.ScipProto.internal_static_scip_Metadata_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.scip_code.scip.Metadata.class, org.scip_code.scip.Metadata.Builder.class); + } + + private int bitField0_; + public static final int VERSION_FIELD_NUMBER = 1; + private int version_ = 0; + /** + *
+   * Which version of this protocol was used to generate this index?
+   * 
+ * + * .scip.ProtocolVersion version = 1 [json_name = "version"]; + * @return The enum numeric value on the wire for version. + */ + @java.lang.Override public int getVersionValue() { + return version_; + } + /** + *
+   * Which version of this protocol was used to generate this index?
+   * 
+ * + * .scip.ProtocolVersion version = 1 [json_name = "version"]; + * @return The version. + */ + @java.lang.Override public org.scip_code.scip.ProtocolVersion getVersion() { + org.scip_code.scip.ProtocolVersion result = org.scip_code.scip.ProtocolVersion.forNumber(version_); + return result == null ? org.scip_code.scip.ProtocolVersion.UNRECOGNIZED : result; + } + + public static final int TOOL_INFO_FIELD_NUMBER = 2; + private org.scip_code.scip.ToolInfo toolInfo_; + /** + *
+   * Information about the tool that produced this index.
+   * 
+ * + * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; + * @return Whether the toolInfo field is set. + */ + @java.lang.Override + public boolean hasToolInfo() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + *
+   * Information about the tool that produced this index.
+   * 
+ * + * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; + * @return The toolInfo. + */ + @java.lang.Override + public org.scip_code.scip.ToolInfo getToolInfo() { + return toolInfo_ == null ? org.scip_code.scip.ToolInfo.getDefaultInstance() : toolInfo_; + } + /** + *
+   * Information about the tool that produced this index.
+   * 
+ * + * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; + */ + @java.lang.Override + public org.scip_code.scip.ToolInfoOrBuilder getToolInfoOrBuilder() { + return toolInfo_ == null ? org.scip_code.scip.ToolInfo.getDefaultInstance() : toolInfo_; + } + + public static final int PROJECT_ROOT_FIELD_NUMBER = 3; + @SuppressWarnings("serial") + private volatile java.lang.Object projectRoot_ = ""; + /** + *
+   * URI-encoded absolute path to the root directory of this index. All
+   * documents in this index must appear in a subdirectory of this root
+   * directory.
+   * 
+ * + * string project_root = 3 [json_name = "projectRoot"]; + * @return The projectRoot. + */ + @java.lang.Override + public java.lang.String getProjectRoot() { + java.lang.Object ref = projectRoot_; + 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(); + projectRoot_ = s; + return s; + } + } + /** + *
+   * URI-encoded absolute path to the root directory of this index. All
+   * documents in this index must appear in a subdirectory of this root
+   * directory.
+   * 
+ * + * string project_root = 3 [json_name = "projectRoot"]; + * @return The bytes for projectRoot. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getProjectRootBytes() { + java.lang.Object ref = projectRoot_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + projectRoot_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int TEXT_DOCUMENT_ENCODING_FIELD_NUMBER = 4; + private int textDocumentEncoding_ = 0; + /** + *
+   * Text encoding of the source files on disk that are referenced from
+   * `Document.relative_path`. This value is unrelated to the `Document.text`
+   * field, which is a Protobuf string and hence must be UTF-8 encoded.
+   * 
+ * + * .scip.TextEncoding text_document_encoding = 4 [json_name = "textDocumentEncoding"]; + * @return The enum numeric value on the wire for textDocumentEncoding. + */ + @java.lang.Override public int getTextDocumentEncodingValue() { + return textDocumentEncoding_; + } + /** + *
+   * Text encoding of the source files on disk that are referenced from
+   * `Document.relative_path`. This value is unrelated to the `Document.text`
+   * field, which is a Protobuf string and hence must be UTF-8 encoded.
+   * 
+ * + * .scip.TextEncoding text_document_encoding = 4 [json_name = "textDocumentEncoding"]; + * @return The textDocumentEncoding. + */ + @java.lang.Override public org.scip_code.scip.TextEncoding getTextDocumentEncoding() { + org.scip_code.scip.TextEncoding result = org.scip_code.scip.TextEncoding.forNumber(textDocumentEncoding_); + return result == null ? org.scip_code.scip.TextEncoding.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 (version_ != org.scip_code.scip.ProtocolVersion.UnspecifiedProtocolVersion.getNumber()) { + output.writeEnum(1, version_); + } + if (((bitField0_ & 0x00000001) != 0)) { + output.writeMessage(2, getToolInfo()); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(projectRoot_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 3, projectRoot_); + } + if (textDocumentEncoding_ != org.scip_code.scip.TextEncoding.UnspecifiedTextEncoding.getNumber()) { + output.writeEnum(4, textDocumentEncoding_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (version_ != org.scip_code.scip.ProtocolVersion.UnspecifiedProtocolVersion.getNumber()) { + size += com.google.protobuf.CodedOutputStream + .computeEnumSize(1, version_); + } + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(2, getToolInfo()); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(projectRoot_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(3, projectRoot_); + } + if (textDocumentEncoding_ != org.scip_code.scip.TextEncoding.UnspecifiedTextEncoding.getNumber()) { + size += com.google.protobuf.CodedOutputStream + .computeEnumSize(4, textDocumentEncoding_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof org.scip_code.scip.Metadata)) { + return super.equals(obj); + } + org.scip_code.scip.Metadata other = (org.scip_code.scip.Metadata) obj; + + if (version_ != other.version_) return false; + if (hasToolInfo() != other.hasToolInfo()) return false; + if (hasToolInfo()) { + if (!getToolInfo() + .equals(other.getToolInfo())) return false; + } + if (!getProjectRoot() + .equals(other.getProjectRoot())) return false; + if (textDocumentEncoding_ != other.textDocumentEncoding_) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) 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) + VERSION_FIELD_NUMBER; + hash = (53 * hash) + version_; + if (hasToolInfo()) { + hash = (37 * hash) + TOOL_INFO_FIELD_NUMBER; + hash = (53 * hash) + getToolInfo().hashCode(); + } + hash = (37 * hash) + PROJECT_ROOT_FIELD_NUMBER; + hash = (53 * hash) + getProjectRoot().hashCode(); + hash = (37 * hash) + TEXT_DOCUMENT_ENCODING_FIELD_NUMBER; + hash = (53 * hash) + textDocumentEncoding_; + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static org.scip_code.scip.Metadata parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.scip_code.scip.Metadata parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.scip_code.scip.Metadata parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.scip_code.scip.Metadata parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.scip_code.scip.Metadata parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.scip_code.scip.Metadata parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.scip_code.scip.Metadata parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static org.scip_code.scip.Metadata parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public static org.scip_code.scip.Metadata parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input); + } + + public static org.scip_code.scip.Metadata parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static org.scip_code.scip.Metadata parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static org.scip_code.scip.Metadata parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(org.scip_code.scip.Metadata 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code scip.Metadata} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder implements + // @@protoc_insertion_point(builder_implements:scip.Metadata) + org.scip_code.scip.MetadataOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.scip_code.scip.ScipProto.internal_static_scip_Metadata_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.scip_code.scip.ScipProto.internal_static_scip_Metadata_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.scip_code.scip.Metadata.class, org.scip_code.scip.Metadata.Builder.class); + } + + // Construct using org.scip_code.scip.Metadata.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage + .alwaysUseFieldBuilders) { + internalGetToolInfoFieldBuilder(); + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + version_ = 0; + toolInfo_ = null; + if (toolInfoBuilder_ != null) { + toolInfoBuilder_.dispose(); + toolInfoBuilder_ = null; + } + projectRoot_ = ""; + textDocumentEncoding_ = 0; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return org.scip_code.scip.ScipProto.internal_static_scip_Metadata_descriptor; + } + + @java.lang.Override + public org.scip_code.scip.Metadata getDefaultInstanceForType() { + return org.scip_code.scip.Metadata.getDefaultInstance(); + } + + @java.lang.Override + public org.scip_code.scip.Metadata build() { + org.scip_code.scip.Metadata result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public org.scip_code.scip.Metadata buildPartial() { + org.scip_code.scip.Metadata result = new org.scip_code.scip.Metadata(this); + if (bitField0_ != 0) { buildPartial0(result); } + onBuilt(); + return result; + } + + private void buildPartial0(org.scip_code.scip.Metadata result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.version_ = version_; + } + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000002) != 0)) { + result.toolInfo_ = toolInfoBuilder_ == null + ? toolInfo_ + : toolInfoBuilder_.build(); + to_bitField0_ |= 0x00000001; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.projectRoot_ = projectRoot_; + } + if (((from_bitField0_ & 0x00000008) != 0)) { + result.textDocumentEncoding_ = textDocumentEncoding_; + } + result.bitField0_ |= to_bitField0_; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof org.scip_code.scip.Metadata) { + return mergeFrom((org.scip_code.scip.Metadata)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(org.scip_code.scip.Metadata other) { + if (other == org.scip_code.scip.Metadata.getDefaultInstance()) return this; + if (other.version_ != 0) { + setVersionValue(other.getVersionValue()); + } + if (other.hasToolInfo()) { + mergeToolInfo(other.getToolInfo()); + } + if (!other.getProjectRoot().isEmpty()) { + projectRoot_ = other.projectRoot_; + bitField0_ |= 0x00000004; + onChanged(); + } + if (other.textDocumentEncoding_ != 0) { + setTextDocumentEncodingValue(other.getTextDocumentEncodingValue()); + } + this.mergeUnknownFields(other.getUnknownFields()); + 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 { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: { + version_ = input.readEnum(); + bitField0_ |= 0x00000001; + break; + } // case 8 + case 18: { + input.readMessage( + internalGetToolInfoFieldBuilder().getBuilder(), + extensionRegistry); + bitField0_ |= 0x00000002; + break; + } // case 18 + case 26: { + projectRoot_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000004; + break; + } // case 26 + case 32: { + textDocumentEncoding_ = input.readEnum(); + bitField0_ |= 0x00000008; + break; + } // case 32 + default: { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + private int bitField0_; + + private int version_ = 0; + /** + *
+     * Which version of this protocol was used to generate this index?
+     * 
+ * + * .scip.ProtocolVersion version = 1 [json_name = "version"]; + * @return The enum numeric value on the wire for version. + */ + @java.lang.Override public int getVersionValue() { + return version_; + } + /** + *
+     * Which version of this protocol was used to generate this index?
+     * 
+ * + * .scip.ProtocolVersion version = 1 [json_name = "version"]; + * @param value The enum numeric value on the wire for version to set. + * @return This builder for chaining. + */ + public Builder setVersionValue(int value) { + version_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + /** + *
+     * Which version of this protocol was used to generate this index?
+     * 
+ * + * .scip.ProtocolVersion version = 1 [json_name = "version"]; + * @return The version. + */ + @java.lang.Override + public org.scip_code.scip.ProtocolVersion getVersion() { + org.scip_code.scip.ProtocolVersion result = org.scip_code.scip.ProtocolVersion.forNumber(version_); + return result == null ? org.scip_code.scip.ProtocolVersion.UNRECOGNIZED : result; + } + /** + *
+     * Which version of this protocol was used to generate this index?
+     * 
+ * + * .scip.ProtocolVersion version = 1 [json_name = "version"]; + * @param value The version to set. + * @return This builder for chaining. + */ + public Builder setVersion(org.scip_code.scip.ProtocolVersion value) { + if (value == null) { throw new NullPointerException(); } + bitField0_ |= 0x00000001; + version_ = value.getNumber(); + onChanged(); + return this; + } + /** + *
+     * Which version of this protocol was used to generate this index?
+     * 
+ * + * .scip.ProtocolVersion version = 1 [json_name = "version"]; + * @return This builder for chaining. + */ + public Builder clearVersion() { + bitField0_ = (bitField0_ & ~0x00000001); + version_ = 0; + onChanged(); + return this; + } + + private org.scip_code.scip.ToolInfo toolInfo_; + private com.google.protobuf.SingleFieldBuilder< + org.scip_code.scip.ToolInfo, org.scip_code.scip.ToolInfo.Builder, org.scip_code.scip.ToolInfoOrBuilder> toolInfoBuilder_; + /** + *
+     * Information about the tool that produced this index.
+     * 
+ * + * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; + * @return Whether the toolInfo field is set. + */ + public boolean hasToolInfo() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + *
+     * Information about the tool that produced this index.
+     * 
+ * + * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; + * @return The toolInfo. + */ + public org.scip_code.scip.ToolInfo getToolInfo() { + if (toolInfoBuilder_ == null) { + return toolInfo_ == null ? org.scip_code.scip.ToolInfo.getDefaultInstance() : toolInfo_; + } else { + return toolInfoBuilder_.getMessage(); + } + } + /** + *
+     * Information about the tool that produced this index.
+     * 
+ * + * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; + */ + public Builder setToolInfo(org.scip_code.scip.ToolInfo value) { + if (toolInfoBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + toolInfo_ = value; + } else { + toolInfoBuilder_.setMessage(value); + } + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + /** + *
+     * Information about the tool that produced this index.
+     * 
+ * + * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; + */ + public Builder setToolInfo( + org.scip_code.scip.ToolInfo.Builder builderForValue) { + if (toolInfoBuilder_ == null) { + toolInfo_ = builderForValue.build(); + } else { + toolInfoBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + /** + *
+     * Information about the tool that produced this index.
+     * 
+ * + * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; + */ + public Builder mergeToolInfo(org.scip_code.scip.ToolInfo value) { + if (toolInfoBuilder_ == null) { + if (((bitField0_ & 0x00000002) != 0) && + toolInfo_ != null && + toolInfo_ != org.scip_code.scip.ToolInfo.getDefaultInstance()) { + getToolInfoBuilder().mergeFrom(value); + } else { + toolInfo_ = value; + } + } else { + toolInfoBuilder_.mergeFrom(value); + } + if (toolInfo_ != null) { + bitField0_ |= 0x00000002; + onChanged(); + } + return this; + } + /** + *
+     * Information about the tool that produced this index.
+     * 
+ * + * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; + */ + public Builder clearToolInfo() { + bitField0_ = (bitField0_ & ~0x00000002); + toolInfo_ = null; + if (toolInfoBuilder_ != null) { + toolInfoBuilder_.dispose(); + toolInfoBuilder_ = null; + } + onChanged(); + return this; + } + /** + *
+     * Information about the tool that produced this index.
+     * 
+ * + * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; + */ + public org.scip_code.scip.ToolInfo.Builder getToolInfoBuilder() { + bitField0_ |= 0x00000002; + onChanged(); + return internalGetToolInfoFieldBuilder().getBuilder(); + } + /** + *
+     * Information about the tool that produced this index.
+     * 
+ * + * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; + */ + public org.scip_code.scip.ToolInfoOrBuilder getToolInfoOrBuilder() { + if (toolInfoBuilder_ != null) { + return toolInfoBuilder_.getMessageOrBuilder(); + } else { + return toolInfo_ == null ? + org.scip_code.scip.ToolInfo.getDefaultInstance() : toolInfo_; + } + } + /** + *
+     * Information about the tool that produced this index.
+     * 
+ * + * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; + */ + private com.google.protobuf.SingleFieldBuilder< + org.scip_code.scip.ToolInfo, org.scip_code.scip.ToolInfo.Builder, org.scip_code.scip.ToolInfoOrBuilder> + internalGetToolInfoFieldBuilder() { + if (toolInfoBuilder_ == null) { + toolInfoBuilder_ = new com.google.protobuf.SingleFieldBuilder< + org.scip_code.scip.ToolInfo, org.scip_code.scip.ToolInfo.Builder, org.scip_code.scip.ToolInfoOrBuilder>( + getToolInfo(), + getParentForChildren(), + isClean()); + toolInfo_ = null; + } + return toolInfoBuilder_; + } + + private java.lang.Object projectRoot_ = ""; + /** + *
+     * URI-encoded absolute path to the root directory of this index. All
+     * documents in this index must appear in a subdirectory of this root
+     * directory.
+     * 
+ * + * string project_root = 3 [json_name = "projectRoot"]; + * @return The projectRoot. + */ + public java.lang.String getProjectRoot() { + java.lang.Object ref = projectRoot_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + projectRoot_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + *
+     * URI-encoded absolute path to the root directory of this index. All
+     * documents in this index must appear in a subdirectory of this root
+     * directory.
+     * 
+ * + * string project_root = 3 [json_name = "projectRoot"]; + * @return The bytes for projectRoot. + */ + public com.google.protobuf.ByteString + getProjectRootBytes() { + java.lang.Object ref = projectRoot_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + projectRoot_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + *
+     * URI-encoded absolute path to the root directory of this index. All
+     * documents in this index must appear in a subdirectory of this root
+     * directory.
+     * 
+ * + * string project_root = 3 [json_name = "projectRoot"]; + * @param value The projectRoot to set. + * @return This builder for chaining. + */ + public Builder setProjectRoot( + java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + projectRoot_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + /** + *
+     * URI-encoded absolute path to the root directory of this index. All
+     * documents in this index must appear in a subdirectory of this root
+     * directory.
+     * 
+ * + * string project_root = 3 [json_name = "projectRoot"]; + * @return This builder for chaining. + */ + public Builder clearProjectRoot() { + projectRoot_ = getDefaultInstance().getProjectRoot(); + bitField0_ = (bitField0_ & ~0x00000004); + onChanged(); + return this; + } + /** + *
+     * URI-encoded absolute path to the root directory of this index. All
+     * documents in this index must appear in a subdirectory of this root
+     * directory.
+     * 
+ * + * string project_root = 3 [json_name = "projectRoot"]; + * @param value The bytes for projectRoot to set. + * @return This builder for chaining. + */ + public Builder setProjectRootBytes( + com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + checkByteStringIsUtf8(value); + projectRoot_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + private int textDocumentEncoding_ = 0; + /** + *
+     * Text encoding of the source files on disk that are referenced from
+     * `Document.relative_path`. This value is unrelated to the `Document.text`
+     * field, which is a Protobuf string and hence must be UTF-8 encoded.
+     * 
+ * + * .scip.TextEncoding text_document_encoding = 4 [json_name = "textDocumentEncoding"]; + * @return The enum numeric value on the wire for textDocumentEncoding. + */ + @java.lang.Override public int getTextDocumentEncodingValue() { + return textDocumentEncoding_; + } + /** + *
+     * Text encoding of the source files on disk that are referenced from
+     * `Document.relative_path`. This value is unrelated to the `Document.text`
+     * field, which is a Protobuf string and hence must be UTF-8 encoded.
+     * 
+ * + * .scip.TextEncoding text_document_encoding = 4 [json_name = "textDocumentEncoding"]; + * @param value The enum numeric value on the wire for textDocumentEncoding to set. + * @return This builder for chaining. + */ + public Builder setTextDocumentEncodingValue(int value) { + textDocumentEncoding_ = value; + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + /** + *
+     * Text encoding of the source files on disk that are referenced from
+     * `Document.relative_path`. This value is unrelated to the `Document.text`
+     * field, which is a Protobuf string and hence must be UTF-8 encoded.
+     * 
+ * + * .scip.TextEncoding text_document_encoding = 4 [json_name = "textDocumentEncoding"]; + * @return The textDocumentEncoding. + */ + @java.lang.Override + public org.scip_code.scip.TextEncoding getTextDocumentEncoding() { + org.scip_code.scip.TextEncoding result = org.scip_code.scip.TextEncoding.forNumber(textDocumentEncoding_); + return result == null ? org.scip_code.scip.TextEncoding.UNRECOGNIZED : result; + } + /** + *
+     * Text encoding of the source files on disk that are referenced from
+     * `Document.relative_path`. This value is unrelated to the `Document.text`
+     * field, which is a Protobuf string and hence must be UTF-8 encoded.
+     * 
+ * + * .scip.TextEncoding text_document_encoding = 4 [json_name = "textDocumentEncoding"]; + * @param value The textDocumentEncoding to set. + * @return This builder for chaining. + */ + public Builder setTextDocumentEncoding(org.scip_code.scip.TextEncoding value) { + if (value == null) { throw new NullPointerException(); } + bitField0_ |= 0x00000008; + textDocumentEncoding_ = value.getNumber(); + onChanged(); + return this; + } + /** + *
+     * Text encoding of the source files on disk that are referenced from
+     * `Document.relative_path`. This value is unrelated to the `Document.text`
+     * field, which is a Protobuf string and hence must be UTF-8 encoded.
+     * 
+ * + * .scip.TextEncoding text_document_encoding = 4 [json_name = "textDocumentEncoding"]; + * @return This builder for chaining. + */ + public Builder clearTextDocumentEncoding() { + bitField0_ = (bitField0_ & ~0x00000008); + textDocumentEncoding_ = 0; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:scip.Metadata) + } + + // @@protoc_insertion_point(class_scope:scip.Metadata) + private static final org.scip_code.scip.Metadata DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new org.scip_code.scip.Metadata(); + } + + public static org.scip_code.scip.Metadata getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public Metadata parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public org.scip_code.scip.Metadata getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + +} + diff --git a/bindings/kotlin/src/main/java/org/scip_code/scip/MetadataOrBuilder.java b/bindings/kotlin/src/main/java/org/scip_code/scip/MetadataOrBuilder.java new file mode 100644 index 00000000..83212b96 --- /dev/null +++ b/bindings/kotlin/src/main/java/org/scip_code/scip/MetadataOrBuilder.java @@ -0,0 +1,105 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: scip.proto +// Protobuf Java Version: 4.32.1 + +package org.scip_code.scip; + +@com.google.protobuf.Generated +public interface MetadataOrBuilder extends + // @@protoc_insertion_point(interface_extends:scip.Metadata) + com.google.protobuf.MessageOrBuilder { + + /** + *
+   * Which version of this protocol was used to generate this index?
+   * 
+ * + * .scip.ProtocolVersion version = 1 [json_name = "version"]; + * @return The enum numeric value on the wire for version. + */ + int getVersionValue(); + /** + *
+   * Which version of this protocol was used to generate this index?
+   * 
+ * + * .scip.ProtocolVersion version = 1 [json_name = "version"]; + * @return The version. + */ + org.scip_code.scip.ProtocolVersion getVersion(); + + /** + *
+   * Information about the tool that produced this index.
+   * 
+ * + * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; + * @return Whether the toolInfo field is set. + */ + boolean hasToolInfo(); + /** + *
+   * Information about the tool that produced this index.
+   * 
+ * + * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; + * @return The toolInfo. + */ + org.scip_code.scip.ToolInfo getToolInfo(); + /** + *
+   * Information about the tool that produced this index.
+   * 
+ * + * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; + */ + org.scip_code.scip.ToolInfoOrBuilder getToolInfoOrBuilder(); + + /** + *
+   * URI-encoded absolute path to the root directory of this index. All
+   * documents in this index must appear in a subdirectory of this root
+   * directory.
+   * 
+ * + * string project_root = 3 [json_name = "projectRoot"]; + * @return The projectRoot. + */ + java.lang.String getProjectRoot(); + /** + *
+   * URI-encoded absolute path to the root directory of this index. All
+   * documents in this index must appear in a subdirectory of this root
+   * directory.
+   * 
+ * + * string project_root = 3 [json_name = "projectRoot"]; + * @return The bytes for projectRoot. + */ + com.google.protobuf.ByteString + getProjectRootBytes(); + + /** + *
+   * Text encoding of the source files on disk that are referenced from
+   * `Document.relative_path`. This value is unrelated to the `Document.text`
+   * field, which is a Protobuf string and hence must be UTF-8 encoded.
+   * 
+ * + * .scip.TextEncoding text_document_encoding = 4 [json_name = "textDocumentEncoding"]; + * @return The enum numeric value on the wire for textDocumentEncoding. + */ + int getTextDocumentEncodingValue(); + /** + *
+   * Text encoding of the source files on disk that are referenced from
+   * `Document.relative_path`. This value is unrelated to the `Document.text`
+   * field, which is a Protobuf string and hence must be UTF-8 encoded.
+   * 
+ * + * .scip.TextEncoding text_document_encoding = 4 [json_name = "textDocumentEncoding"]; + * @return The textDocumentEncoding. + */ + org.scip_code.scip.TextEncoding getTextDocumentEncoding(); +} diff --git a/bindings/kotlin/src/main/java/org/scip_code/scip/Occurrence.java b/bindings/kotlin/src/main/java/org/scip_code/scip/Occurrence.java new file mode 100644 index 00000000..c80833f4 --- /dev/null +++ b/bindings/kotlin/src/main/java/org/scip_code/scip/Occurrence.java @@ -0,0 +1,2696 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: scip.proto +// Protobuf Java Version: 4.32.1 + +package org.scip_code.scip; + +/** + *
+ * Occurrence associates a source position with a symbol and/or highlighting
+ * information.
+ *
+ * If possible, indexers should try to bundle logically related information
+ * across occurrences into a single occurrence to reduce payload sizes.
+ * 
+ * + * Protobuf type {@code scip.Occurrence} + */ +@com.google.protobuf.Generated +public final class Occurrence extends + com.google.protobuf.GeneratedMessage implements + // @@protoc_insertion_point(message_implements:scip.Occurrence) + OccurrenceOrBuilder { +private static final long serialVersionUID = 0L; + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 32, + /* patch= */ 1, + /* suffix= */ "", + Occurrence.class.getName()); + } + // Use Occurrence.newBuilder() to construct. + private Occurrence(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + private Occurrence() { + range_ = emptyIntList(); + symbol_ = ""; + overrideDocumentation_ = + com.google.protobuf.LazyStringArrayList.emptyList(); + syntaxKind_ = 0; + diagnostics_ = java.util.Collections.emptyList(); + enclosingRange_ = emptyIntList(); + } + + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.scip_code.scip.ScipProto.internal_static_scip_Occurrence_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.scip_code.scip.ScipProto.internal_static_scip_Occurrence_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.scip_code.scip.Occurrence.class, org.scip_code.scip.Occurrence.Builder.class); + } + + public static final int RANGE_FIELD_NUMBER = 1; + @SuppressWarnings("serial") + private com.google.protobuf.Internal.IntList range_ = + emptyIntList(); + /** + *
+   * Half-open [start, end) range of this occurrence. Must be exactly three or four
+   * elements:
+   *
+   * - Four elements: `[startLine, startCharacter, endLine, endCharacter]`
+   * - Three elements: `[startLine, startCharacter, endCharacter]`. The end line
+   * is inferred to have the same value as the start line.
+   *
+   * It is allowed for the range to be empty (i.e. start==end).
+   *
+   * Line numbers and characters are always 0-based. Make sure to increment the
+   * line/character values before displaying them in an editor-like UI because
+   * editors conventionally use 1-based numbers.
+   *
+   * The 'character' value is interpreted based on the PositionEncoding for
+   * the Document.
+   *
+   * Historical note: the original draft of this schema had a `Range` message
+   * type with `start` and `end` fields of type `Position`, mirroring LSP.
+   * Benchmarks revealed that this encoding was inefficient and that we could
+   * reduce the total payload size of an index by 50% by using `repeated int32`
+   * instead. The `repeated int32` encoding is admittedly more embarrassing to
+   * work with in some programming languages but we hope the performance
+   * improvements make up for it.
+   * 
+ * + * repeated int32 range = 1 [json_name = "range"]; + * @return A list containing the range. + */ + @java.lang.Override + public java.util.List + getRangeList() { + return range_; + } + /** + *
+   * Half-open [start, end) range of this occurrence. Must be exactly three or four
+   * elements:
+   *
+   * - Four elements: `[startLine, startCharacter, endLine, endCharacter]`
+   * - Three elements: `[startLine, startCharacter, endCharacter]`. The end line
+   * is inferred to have the same value as the start line.
+   *
+   * It is allowed for the range to be empty (i.e. start==end).
+   *
+   * Line numbers and characters are always 0-based. Make sure to increment the
+   * line/character values before displaying them in an editor-like UI because
+   * editors conventionally use 1-based numbers.
+   *
+   * The 'character' value is interpreted based on the PositionEncoding for
+   * the Document.
+   *
+   * Historical note: the original draft of this schema had a `Range` message
+   * type with `start` and `end` fields of type `Position`, mirroring LSP.
+   * Benchmarks revealed that this encoding was inefficient and that we could
+   * reduce the total payload size of an index by 50% by using `repeated int32`
+   * instead. The `repeated int32` encoding is admittedly more embarrassing to
+   * work with in some programming languages but we hope the performance
+   * improvements make up for it.
+   * 
+ * + * repeated int32 range = 1 [json_name = "range"]; + * @return The count of range. + */ + public int getRangeCount() { + return range_.size(); + } + /** + *
+   * Half-open [start, end) range of this occurrence. Must be exactly three or four
+   * elements:
+   *
+   * - Four elements: `[startLine, startCharacter, endLine, endCharacter]`
+   * - Three elements: `[startLine, startCharacter, endCharacter]`. The end line
+   * is inferred to have the same value as the start line.
+   *
+   * It is allowed for the range to be empty (i.e. start==end).
+   *
+   * Line numbers and characters are always 0-based. Make sure to increment the
+   * line/character values before displaying them in an editor-like UI because
+   * editors conventionally use 1-based numbers.
+   *
+   * The 'character' value is interpreted based on the PositionEncoding for
+   * the Document.
+   *
+   * Historical note: the original draft of this schema had a `Range` message
+   * type with `start` and `end` fields of type `Position`, mirroring LSP.
+   * Benchmarks revealed that this encoding was inefficient and that we could
+   * reduce the total payload size of an index by 50% by using `repeated int32`
+   * instead. The `repeated int32` encoding is admittedly more embarrassing to
+   * work with in some programming languages but we hope the performance
+   * improvements make up for it.
+   * 
+ * + * repeated int32 range = 1 [json_name = "range"]; + * @param index The index of the element to return. + * @return The range at the given index. + */ + public int getRange(int index) { + return range_.getInt(index); + } + private int rangeMemoizedSerializedSize = -1; + + public static final int SYMBOL_FIELD_NUMBER = 2; + @SuppressWarnings("serial") + private volatile java.lang.Object symbol_ = ""; + /** + *
+   * (optional) The symbol that appears at this position. See
+   * `SymbolInformation.symbol` for how to format symbols as strings.
+   * 
+ * + * string symbol = 2 [json_name = "symbol"]; + * @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; + } + } + /** + *
+   * (optional) The symbol that appears at this position. See
+   * `SymbolInformation.symbol` for how to format symbols as strings.
+   * 
+ * + * string symbol = 2 [json_name = "symbol"]; + * @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 SYMBOL_ROLES_FIELD_NUMBER = 3; + private int symbolRoles_ = 0; + /** + *
+   * (optional) Bitset containing `SymbolRole`s in this occurrence.
+   * See `SymbolRole`'s documentation for how to read and write this field.
+   * 
+ * + * int32 symbol_roles = 3 [json_name = "symbolRoles"]; + * @return The symbolRoles. + */ + @java.lang.Override + public int getSymbolRoles() { + return symbolRoles_; + } + + public static final int OVERRIDE_DOCUMENTATION_FIELD_NUMBER = 4; + @SuppressWarnings("serial") + private com.google.protobuf.LazyStringArrayList overrideDocumentation_ = + com.google.protobuf.LazyStringArrayList.emptyList(); + /** + *
+   * (optional) CommonMark-formatted documentation for this specific range. If
+   * empty, the `Symbol.documentation` field is used instead. One example
+   * where this field might be useful is when the symbol represents a generic
+   * function (with abstract type parameters such as `List<T>`) and at this
+   * occurrence we know the exact values (such as `List<String>`).
+   *
+   * This field can also be used for dynamically or gradually typed languages,
+   * which commonly allow for type-changing assignment.
+   * 
+ * + * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; + * @return A list containing the overrideDocumentation. + */ + public com.google.protobuf.ProtocolStringList + getOverrideDocumentationList() { + return overrideDocumentation_; + } + /** + *
+   * (optional) CommonMark-formatted documentation for this specific range. If
+   * empty, the `Symbol.documentation` field is used instead. One example
+   * where this field might be useful is when the symbol represents a generic
+   * function (with abstract type parameters such as `List<T>`) and at this
+   * occurrence we know the exact values (such as `List<String>`).
+   *
+   * This field can also be used for dynamically or gradually typed languages,
+   * which commonly allow for type-changing assignment.
+   * 
+ * + * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; + * @return The count of overrideDocumentation. + */ + public int getOverrideDocumentationCount() { + return overrideDocumentation_.size(); + } + /** + *
+   * (optional) CommonMark-formatted documentation for this specific range. If
+   * empty, the `Symbol.documentation` field is used instead. One example
+   * where this field might be useful is when the symbol represents a generic
+   * function (with abstract type parameters such as `List<T>`) and at this
+   * occurrence we know the exact values (such as `List<String>`).
+   *
+   * This field can also be used for dynamically or gradually typed languages,
+   * which commonly allow for type-changing assignment.
+   * 
+ * + * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; + * @param index The index of the element to return. + * @return The overrideDocumentation at the given index. + */ + public java.lang.String getOverrideDocumentation(int index) { + return overrideDocumentation_.get(index); + } + /** + *
+   * (optional) CommonMark-formatted documentation for this specific range. If
+   * empty, the `Symbol.documentation` field is used instead. One example
+   * where this field might be useful is when the symbol represents a generic
+   * function (with abstract type parameters such as `List<T>`) and at this
+   * occurrence we know the exact values (such as `List<String>`).
+   *
+   * This field can also be used for dynamically or gradually typed languages,
+   * which commonly allow for type-changing assignment.
+   * 
+ * + * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; + * @param index The index of the value to return. + * @return The bytes of the overrideDocumentation at the given index. + */ + public com.google.protobuf.ByteString + getOverrideDocumentationBytes(int index) { + return overrideDocumentation_.getByteString(index); + } + + public static final int SYNTAX_KIND_FIELD_NUMBER = 5; + private int syntaxKind_ = 0; + /** + *
+   * (optional) What syntax highlighting class should be used for this range?
+   * 
+ * + * .scip.SyntaxKind syntax_kind = 5 [json_name = "syntaxKind"]; + * @return The enum numeric value on the wire for syntaxKind. + */ + @java.lang.Override public int getSyntaxKindValue() { + return syntaxKind_; + } + /** + *
+   * (optional) What syntax highlighting class should be used for this range?
+   * 
+ * + * .scip.SyntaxKind syntax_kind = 5 [json_name = "syntaxKind"]; + * @return The syntaxKind. + */ + @java.lang.Override public org.scip_code.scip.SyntaxKind getSyntaxKind() { + org.scip_code.scip.SyntaxKind result = org.scip_code.scip.SyntaxKind.forNumber(syntaxKind_); + return result == null ? org.scip_code.scip.SyntaxKind.UNRECOGNIZED : result; + } + + public static final int DIAGNOSTICS_FIELD_NUMBER = 6; + @SuppressWarnings("serial") + private java.util.List diagnostics_; + /** + *
+   * (optional) Diagnostics that have been reported for this specific range.
+   * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + @java.lang.Override + public java.util.List getDiagnosticsList() { + return diagnostics_; + } + /** + *
+   * (optional) Diagnostics that have been reported for this specific range.
+   * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + @java.lang.Override + public java.util.List + getDiagnosticsOrBuilderList() { + return diagnostics_; + } + /** + *
+   * (optional) Diagnostics that have been reported for this specific range.
+   * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + @java.lang.Override + public int getDiagnosticsCount() { + return diagnostics_.size(); + } + /** + *
+   * (optional) Diagnostics that have been reported for this specific range.
+   * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + @java.lang.Override + public org.scip_code.scip.Diagnostic getDiagnostics(int index) { + return diagnostics_.get(index); + } + /** + *
+   * (optional) Diagnostics that have been reported for this specific range.
+   * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + @java.lang.Override + public org.scip_code.scip.DiagnosticOrBuilder getDiagnosticsOrBuilder( + int index) { + return diagnostics_.get(index); + } + + public static final int ENCLOSING_RANGE_FIELD_NUMBER = 7; + @SuppressWarnings("serial") + private com.google.protobuf.Internal.IntList enclosingRange_ = + emptyIntList(); + /** + *
+   * (optional) Using the same encoding as the sibling `range` field, half-open
+   * source range of the nearest non-trivial enclosing AST node. This range must
+   * enclose the `range` field. Example applications that make use of the
+   * enclosing_range field:
+   *
+   * - Call hierarchies: to determine what symbols are references from the body
+   * of a function
+   * - Symbol outline: to display breadcrumbs from the cursor position to the
+   * root of the file
+   * - Expand selection: to select the nearest enclosing AST node.
+   * - Highlight range: to indicate the AST expression that is associated with a
+   * hover popover
+   *
+   * For definition occurrences, the enclosing range should indicate the
+   * start/end bounds of the entire definition AST node, including
+   * documentation.
+   * ```
+   * const n = 3
+   * ^ range
+   * ^^^^^^^^^^^ enclosing_range
+   *
+   * /** Parses the string into something */
+   * ^ enclosing_range start --------------------------------------|
+   * function parse(input string): string {                        |
+   * ^^^^^ range                                          |
+   * return input.slice(n)                                     |
+   * }                                                             |
+   * ^ enclosing_range end <---------------------------------------|
+   * ```
+   *
+   * Any attributes/decorators/attached macros should also be part of the
+   * enclosing range.
+   *
+   * ```python
+   * @cache
+   * ^ enclosing_range start---------------------|
+   * def factorial(n):                           |
+   * return n * factorial(n-1) if n else 1   |
+   * < enclosing_range end-----------------------|
+   *
+   * ```
+   *
+   * For reference occurrences, the enclosing range should indicate the start/end
+   * bounds of the parent expression.
+   * ```
+   * const a = a.b
+   * ^ range
+   * ^^^ enclosing_range
+   * const b = a.b(41).f(42).g(43)
+   * ^ range
+   * ^^^^^^^^^^^^^ enclosing_range
+   * ```
+   * 
+ * + * repeated int32 enclosing_range = 7 [json_name = "enclosingRange"]; + * @return A list containing the enclosingRange. + */ + @java.lang.Override + public java.util.List + getEnclosingRangeList() { + return enclosingRange_; + } + /** + *
+   * (optional) Using the same encoding as the sibling `range` field, half-open
+   * source range of the nearest non-trivial enclosing AST node. This range must
+   * enclose the `range` field. Example applications that make use of the
+   * enclosing_range field:
+   *
+   * - Call hierarchies: to determine what symbols are references from the body
+   * of a function
+   * - Symbol outline: to display breadcrumbs from the cursor position to the
+   * root of the file
+   * - Expand selection: to select the nearest enclosing AST node.
+   * - Highlight range: to indicate the AST expression that is associated with a
+   * hover popover
+   *
+   * For definition occurrences, the enclosing range should indicate the
+   * start/end bounds of the entire definition AST node, including
+   * documentation.
+   * ```
+   * const n = 3
+   * ^ range
+   * ^^^^^^^^^^^ enclosing_range
+   *
+   * /** Parses the string into something */
+   * ^ enclosing_range start --------------------------------------|
+   * function parse(input string): string {                        |
+   * ^^^^^ range                                          |
+   * return input.slice(n)                                     |
+   * }                                                             |
+   * ^ enclosing_range end <---------------------------------------|
+   * ```
+   *
+   * Any attributes/decorators/attached macros should also be part of the
+   * enclosing range.
+   *
+   * ```python
+   * @cache
+   * ^ enclosing_range start---------------------|
+   * def factorial(n):                           |
+   * return n * factorial(n-1) if n else 1   |
+   * < enclosing_range end-----------------------|
+   *
+   * ```
+   *
+   * For reference occurrences, the enclosing range should indicate the start/end
+   * bounds of the parent expression.
+   * ```
+   * const a = a.b
+   * ^ range
+   * ^^^ enclosing_range
+   * const b = a.b(41).f(42).g(43)
+   * ^ range
+   * ^^^^^^^^^^^^^ enclosing_range
+   * ```
+   * 
+ * + * repeated int32 enclosing_range = 7 [json_name = "enclosingRange"]; + * @return The count of enclosingRange. + */ + public int getEnclosingRangeCount() { + return enclosingRange_.size(); + } + /** + *
+   * (optional) Using the same encoding as the sibling `range` field, half-open
+   * source range of the nearest non-trivial enclosing AST node. This range must
+   * enclose the `range` field. Example applications that make use of the
+   * enclosing_range field:
+   *
+   * - Call hierarchies: to determine what symbols are references from the body
+   * of a function
+   * - Symbol outline: to display breadcrumbs from the cursor position to the
+   * root of the file
+   * - Expand selection: to select the nearest enclosing AST node.
+   * - Highlight range: to indicate the AST expression that is associated with a
+   * hover popover
+   *
+   * For definition occurrences, the enclosing range should indicate the
+   * start/end bounds of the entire definition AST node, including
+   * documentation.
+   * ```
+   * const n = 3
+   * ^ range
+   * ^^^^^^^^^^^ enclosing_range
+   *
+   * /** Parses the string into something */
+   * ^ enclosing_range start --------------------------------------|
+   * function parse(input string): string {                        |
+   * ^^^^^ range                                          |
+   * return input.slice(n)                                     |
+   * }                                                             |
+   * ^ enclosing_range end <---------------------------------------|
+   * ```
+   *
+   * Any attributes/decorators/attached macros should also be part of the
+   * enclosing range.
+   *
+   * ```python
+   * @cache
+   * ^ enclosing_range start---------------------|
+   * def factorial(n):                           |
+   * return n * factorial(n-1) if n else 1   |
+   * < enclosing_range end-----------------------|
+   *
+   * ```
+   *
+   * For reference occurrences, the enclosing range should indicate the start/end
+   * bounds of the parent expression.
+   * ```
+   * const a = a.b
+   * ^ range
+   * ^^^ enclosing_range
+   * const b = a.b(41).f(42).g(43)
+   * ^ range
+   * ^^^^^^^^^^^^^ enclosing_range
+   * ```
+   * 
+ * + * repeated int32 enclosing_range = 7 [json_name = "enclosingRange"]; + * @param index The index of the element to return. + * @return The enclosingRange at the given index. + */ + public int getEnclosingRange(int index) { + return enclosingRange_.getInt(index); + } + private int enclosingRangeMemoizedSerializedSize = -1; + + 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 { + getSerializedSize(); + if (getRangeList().size() > 0) { + output.writeUInt32NoTag(10); + output.writeUInt32NoTag(rangeMemoizedSerializedSize); + } + for (int i = 0; i < range_.size(); i++) { + output.writeInt32NoTag(range_.getInt(i)); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(symbol_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 2, symbol_); + } + if (symbolRoles_ != 0) { + output.writeInt32(3, symbolRoles_); + } + for (int i = 0; i < overrideDocumentation_.size(); i++) { + com.google.protobuf.GeneratedMessage.writeString(output, 4, overrideDocumentation_.getRaw(i)); + } + if (syntaxKind_ != org.scip_code.scip.SyntaxKind.UnspecifiedSyntaxKind.getNumber()) { + output.writeEnum(5, syntaxKind_); + } + for (int i = 0; i < diagnostics_.size(); i++) { + output.writeMessage(6, diagnostics_.get(i)); + } + if (getEnclosingRangeList().size() > 0) { + output.writeUInt32NoTag(58); + output.writeUInt32NoTag(enclosingRangeMemoizedSerializedSize); + } + for (int i = 0; i < enclosingRange_.size(); i++) { + output.writeInt32NoTag(enclosingRange_.getInt(i)); + } + getUnknownFields().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 < range_.size(); i++) { + dataSize += com.google.protobuf.CodedOutputStream + .computeInt32SizeNoTag(range_.getInt(i)); + } + size += dataSize; + if (!getRangeList().isEmpty()) { + size += 1; + size += com.google.protobuf.CodedOutputStream + .computeInt32SizeNoTag(dataSize); + } + rangeMemoizedSerializedSize = dataSize; + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(symbol_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(2, symbol_); + } + if (symbolRoles_ != 0) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(3, symbolRoles_); + } + { + int dataSize = 0; + for (int i = 0; i < overrideDocumentation_.size(); i++) { + dataSize += computeStringSizeNoTag(overrideDocumentation_.getRaw(i)); + } + size += dataSize; + size += 1 * getOverrideDocumentationList().size(); + } + if (syntaxKind_ != org.scip_code.scip.SyntaxKind.UnspecifiedSyntaxKind.getNumber()) { + size += com.google.protobuf.CodedOutputStream + .computeEnumSize(5, syntaxKind_); + } + for (int i = 0; i < diagnostics_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(6, diagnostics_.get(i)); + } + { + int dataSize = 0; + for (int i = 0; i < enclosingRange_.size(); i++) { + dataSize += com.google.protobuf.CodedOutputStream + .computeInt32SizeNoTag(enclosingRange_.getInt(i)); + } + size += dataSize; + if (!getEnclosingRangeList().isEmpty()) { + size += 1; + size += com.google.protobuf.CodedOutputStream + .computeInt32SizeNoTag(dataSize); + } + enclosingRangeMemoizedSerializedSize = dataSize; + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof org.scip_code.scip.Occurrence)) { + return super.equals(obj); + } + org.scip_code.scip.Occurrence other = (org.scip_code.scip.Occurrence) obj; + + if (!getRangeList() + .equals(other.getRangeList())) return false; + if (!getSymbol() + .equals(other.getSymbol())) return false; + if (getSymbolRoles() + != other.getSymbolRoles()) return false; + if (!getOverrideDocumentationList() + .equals(other.getOverrideDocumentationList())) return false; + if (syntaxKind_ != other.syntaxKind_) return false; + if (!getDiagnosticsList() + .equals(other.getDiagnosticsList())) return false; + if (!getEnclosingRangeList() + .equals(other.getEnclosingRangeList())) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (getRangeCount() > 0) { + hash = (37 * hash) + RANGE_FIELD_NUMBER; + hash = (53 * hash) + getRangeList().hashCode(); + } + hash = (37 * hash) + SYMBOL_FIELD_NUMBER; + hash = (53 * hash) + getSymbol().hashCode(); + hash = (37 * hash) + SYMBOL_ROLES_FIELD_NUMBER; + hash = (53 * hash) + getSymbolRoles(); + if (getOverrideDocumentationCount() > 0) { + hash = (37 * hash) + OVERRIDE_DOCUMENTATION_FIELD_NUMBER; + hash = (53 * hash) + getOverrideDocumentationList().hashCode(); + } + hash = (37 * hash) + SYNTAX_KIND_FIELD_NUMBER; + hash = (53 * hash) + syntaxKind_; + if (getDiagnosticsCount() > 0) { + hash = (37 * hash) + DIAGNOSTICS_FIELD_NUMBER; + hash = (53 * hash) + getDiagnosticsList().hashCode(); + } + if (getEnclosingRangeCount() > 0) { + hash = (37 * hash) + ENCLOSING_RANGE_FIELD_NUMBER; + hash = (53 * hash) + getEnclosingRangeList().hashCode(); + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static org.scip_code.scip.Occurrence parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.scip_code.scip.Occurrence parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.scip_code.scip.Occurrence parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.scip_code.scip.Occurrence parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.scip_code.scip.Occurrence parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.scip_code.scip.Occurrence parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.scip_code.scip.Occurrence parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static org.scip_code.scip.Occurrence parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public static org.scip_code.scip.Occurrence parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input); + } + + public static org.scip_code.scip.Occurrence parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static org.scip_code.scip.Occurrence parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static org.scip_code.scip.Occurrence parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(org.scip_code.scip.Occurrence 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + *
+   * Occurrence associates a source position with a symbol and/or highlighting
+   * information.
+   *
+   * If possible, indexers should try to bundle logically related information
+   * across occurrences into a single occurrence to reduce payload sizes.
+   * 
+ * + * Protobuf type {@code scip.Occurrence} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder implements + // @@protoc_insertion_point(builder_implements:scip.Occurrence) + org.scip_code.scip.OccurrenceOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.scip_code.scip.ScipProto.internal_static_scip_Occurrence_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.scip_code.scip.ScipProto.internal_static_scip_Occurrence_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.scip_code.scip.Occurrence.class, org.scip_code.scip.Occurrence.Builder.class); + } + + // Construct using org.scip_code.scip.Occurrence.newBuilder() + private Builder() { + + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + + } + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + range_ = emptyIntList(); + symbol_ = ""; + symbolRoles_ = 0; + overrideDocumentation_ = + com.google.protobuf.LazyStringArrayList.emptyList(); + syntaxKind_ = 0; + if (diagnosticsBuilder_ == null) { + diagnostics_ = java.util.Collections.emptyList(); + } else { + diagnostics_ = null; + diagnosticsBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000020); + enclosingRange_ = emptyIntList(); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return org.scip_code.scip.ScipProto.internal_static_scip_Occurrence_descriptor; + } + + @java.lang.Override + public org.scip_code.scip.Occurrence getDefaultInstanceForType() { + return org.scip_code.scip.Occurrence.getDefaultInstance(); + } + + @java.lang.Override + public org.scip_code.scip.Occurrence build() { + org.scip_code.scip.Occurrence result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public org.scip_code.scip.Occurrence buildPartial() { + org.scip_code.scip.Occurrence result = new org.scip_code.scip.Occurrence(this); + buildPartialRepeatedFields(result); + if (bitField0_ != 0) { buildPartial0(result); } + onBuilt(); + return result; + } + + private void buildPartialRepeatedFields(org.scip_code.scip.Occurrence result) { + if (diagnosticsBuilder_ == null) { + if (((bitField0_ & 0x00000020) != 0)) { + diagnostics_ = java.util.Collections.unmodifiableList(diagnostics_); + bitField0_ = (bitField0_ & ~0x00000020); + } + result.diagnostics_ = diagnostics_; + } else { + result.diagnostics_ = diagnosticsBuilder_.build(); + } + } + + private void buildPartial0(org.scip_code.scip.Occurrence result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + range_.makeImmutable(); + result.range_ = range_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.symbol_ = symbol_; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.symbolRoles_ = symbolRoles_; + } + if (((from_bitField0_ & 0x00000008) != 0)) { + overrideDocumentation_.makeImmutable(); + result.overrideDocumentation_ = overrideDocumentation_; + } + if (((from_bitField0_ & 0x00000010) != 0)) { + result.syntaxKind_ = syntaxKind_; + } + if (((from_bitField0_ & 0x00000040) != 0)) { + enclosingRange_.makeImmutable(); + result.enclosingRange_ = enclosingRange_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof org.scip_code.scip.Occurrence) { + return mergeFrom((org.scip_code.scip.Occurrence)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(org.scip_code.scip.Occurrence other) { + if (other == org.scip_code.scip.Occurrence.getDefaultInstance()) return this; + if (!other.range_.isEmpty()) { + if (range_.isEmpty()) { + range_ = other.range_; + range_.makeImmutable(); + bitField0_ |= 0x00000001; + } else { + ensureRangeIsMutable(); + range_.addAll(other.range_); + } + onChanged(); + } + if (!other.getSymbol().isEmpty()) { + symbol_ = other.symbol_; + bitField0_ |= 0x00000002; + onChanged(); + } + if (other.getSymbolRoles() != 0) { + setSymbolRoles(other.getSymbolRoles()); + } + if (!other.overrideDocumentation_.isEmpty()) { + if (overrideDocumentation_.isEmpty()) { + overrideDocumentation_ = other.overrideDocumentation_; + bitField0_ |= 0x00000008; + } else { + ensureOverrideDocumentationIsMutable(); + overrideDocumentation_.addAll(other.overrideDocumentation_); + } + onChanged(); + } + if (other.syntaxKind_ != 0) { + setSyntaxKindValue(other.getSyntaxKindValue()); + } + if (diagnosticsBuilder_ == null) { + if (!other.diagnostics_.isEmpty()) { + if (diagnostics_.isEmpty()) { + diagnostics_ = other.diagnostics_; + bitField0_ = (bitField0_ & ~0x00000020); + } else { + ensureDiagnosticsIsMutable(); + diagnostics_.addAll(other.diagnostics_); + } + onChanged(); + } + } else { + if (!other.diagnostics_.isEmpty()) { + if (diagnosticsBuilder_.isEmpty()) { + diagnosticsBuilder_.dispose(); + diagnosticsBuilder_ = null; + diagnostics_ = other.diagnostics_; + bitField0_ = (bitField0_ & ~0x00000020); + diagnosticsBuilder_ = + com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ? + internalGetDiagnosticsFieldBuilder() : null; + } else { + diagnosticsBuilder_.addAllMessages(other.diagnostics_); + } + } + } + if (!other.enclosingRange_.isEmpty()) { + if (enclosingRange_.isEmpty()) { + enclosingRange_ = other.enclosingRange_; + enclosingRange_.makeImmutable(); + bitField0_ |= 0x00000040; + } else { + ensureEnclosingRangeIsMutable(); + enclosingRange_.addAll(other.enclosingRange_); + } + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + 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 { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: { + int v = input.readInt32(); + ensureRangeIsMutable(); + range_.addInt(v); + break; + } // case 8 + case 10: { + int length = input.readRawVarint32(); + int limit = input.pushLimit(length); + ensureRangeIsMutable(); + while (input.getBytesUntilLimit() > 0) { + range_.addInt(input.readInt32()); + } + input.popLimit(limit); + break; + } // case 10 + case 18: { + symbol_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000002; + break; + } // case 18 + case 24: { + symbolRoles_ = input.readInt32(); + bitField0_ |= 0x00000004; + break; + } // case 24 + case 34: { + java.lang.String s = input.readStringRequireUtf8(); + ensureOverrideDocumentationIsMutable(); + overrideDocumentation_.add(s); + break; + } // case 34 + case 40: { + syntaxKind_ = input.readEnum(); + bitField0_ |= 0x00000010; + break; + } // case 40 + case 50: { + org.scip_code.scip.Diagnostic m = + input.readMessage( + org.scip_code.scip.Diagnostic.parser(), + extensionRegistry); + if (diagnosticsBuilder_ == null) { + ensureDiagnosticsIsMutable(); + diagnostics_.add(m); + } else { + diagnosticsBuilder_.addMessage(m); + } + break; + } // case 50 + case 56: { + int v = input.readInt32(); + ensureEnclosingRangeIsMutable(); + enclosingRange_.addInt(v); + break; + } // case 56 + case 58: { + int length = input.readRawVarint32(); + int limit = input.pushLimit(length); + ensureEnclosingRangeIsMutable(); + while (input.getBytesUntilLimit() > 0) { + enclosingRange_.addInt(input.readInt32()); + } + input.popLimit(limit); + break; + } // case 58 + default: { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + private int bitField0_; + + private com.google.protobuf.Internal.IntList range_ = emptyIntList(); + private void ensureRangeIsMutable() { + if (!range_.isModifiable()) { + range_ = makeMutableCopy(range_); + } + bitField0_ |= 0x00000001; + } + /** + *
+     * Half-open [start, end) range of this occurrence. Must be exactly three or four
+     * elements:
+     *
+     * - Four elements: `[startLine, startCharacter, endLine, endCharacter]`
+     * - Three elements: `[startLine, startCharacter, endCharacter]`. The end line
+     * is inferred to have the same value as the start line.
+     *
+     * It is allowed for the range to be empty (i.e. start==end).
+     *
+     * Line numbers and characters are always 0-based. Make sure to increment the
+     * line/character values before displaying them in an editor-like UI because
+     * editors conventionally use 1-based numbers.
+     *
+     * The 'character' value is interpreted based on the PositionEncoding for
+     * the Document.
+     *
+     * Historical note: the original draft of this schema had a `Range` message
+     * type with `start` and `end` fields of type `Position`, mirroring LSP.
+     * Benchmarks revealed that this encoding was inefficient and that we could
+     * reduce the total payload size of an index by 50% by using `repeated int32`
+     * instead. The `repeated int32` encoding is admittedly more embarrassing to
+     * work with in some programming languages but we hope the performance
+     * improvements make up for it.
+     * 
+ * + * repeated int32 range = 1 [json_name = "range"]; + * @return A list containing the range. + */ + public java.util.List + getRangeList() { + range_.makeImmutable(); + return range_; + } + /** + *
+     * Half-open [start, end) range of this occurrence. Must be exactly three or four
+     * elements:
+     *
+     * - Four elements: `[startLine, startCharacter, endLine, endCharacter]`
+     * - Three elements: `[startLine, startCharacter, endCharacter]`. The end line
+     * is inferred to have the same value as the start line.
+     *
+     * It is allowed for the range to be empty (i.e. start==end).
+     *
+     * Line numbers and characters are always 0-based. Make sure to increment the
+     * line/character values before displaying them in an editor-like UI because
+     * editors conventionally use 1-based numbers.
+     *
+     * The 'character' value is interpreted based on the PositionEncoding for
+     * the Document.
+     *
+     * Historical note: the original draft of this schema had a `Range` message
+     * type with `start` and `end` fields of type `Position`, mirroring LSP.
+     * Benchmarks revealed that this encoding was inefficient and that we could
+     * reduce the total payload size of an index by 50% by using `repeated int32`
+     * instead. The `repeated int32` encoding is admittedly more embarrassing to
+     * work with in some programming languages but we hope the performance
+     * improvements make up for it.
+     * 
+ * + * repeated int32 range = 1 [json_name = "range"]; + * @return The count of range. + */ + public int getRangeCount() { + return range_.size(); + } + /** + *
+     * Half-open [start, end) range of this occurrence. Must be exactly three or four
+     * elements:
+     *
+     * - Four elements: `[startLine, startCharacter, endLine, endCharacter]`
+     * - Three elements: `[startLine, startCharacter, endCharacter]`. The end line
+     * is inferred to have the same value as the start line.
+     *
+     * It is allowed for the range to be empty (i.e. start==end).
+     *
+     * Line numbers and characters are always 0-based. Make sure to increment the
+     * line/character values before displaying them in an editor-like UI because
+     * editors conventionally use 1-based numbers.
+     *
+     * The 'character' value is interpreted based on the PositionEncoding for
+     * the Document.
+     *
+     * Historical note: the original draft of this schema had a `Range` message
+     * type with `start` and `end` fields of type `Position`, mirroring LSP.
+     * Benchmarks revealed that this encoding was inefficient and that we could
+     * reduce the total payload size of an index by 50% by using `repeated int32`
+     * instead. The `repeated int32` encoding is admittedly more embarrassing to
+     * work with in some programming languages but we hope the performance
+     * improvements make up for it.
+     * 
+ * + * repeated int32 range = 1 [json_name = "range"]; + * @param index The index of the element to return. + * @return The range at the given index. + */ + public int getRange(int index) { + return range_.getInt(index); + } + /** + *
+     * Half-open [start, end) range of this occurrence. Must be exactly three or four
+     * elements:
+     *
+     * - Four elements: `[startLine, startCharacter, endLine, endCharacter]`
+     * - Three elements: `[startLine, startCharacter, endCharacter]`. The end line
+     * is inferred to have the same value as the start line.
+     *
+     * It is allowed for the range to be empty (i.e. start==end).
+     *
+     * Line numbers and characters are always 0-based. Make sure to increment the
+     * line/character values before displaying them in an editor-like UI because
+     * editors conventionally use 1-based numbers.
+     *
+     * The 'character' value is interpreted based on the PositionEncoding for
+     * the Document.
+     *
+     * Historical note: the original draft of this schema had a `Range` message
+     * type with `start` and `end` fields of type `Position`, mirroring LSP.
+     * Benchmarks revealed that this encoding was inefficient and that we could
+     * reduce the total payload size of an index by 50% by using `repeated int32`
+     * instead. The `repeated int32` encoding is admittedly more embarrassing to
+     * work with in some programming languages but we hope the performance
+     * improvements make up for it.
+     * 
+ * + * repeated int32 range = 1 [json_name = "range"]; + * @param index The index to set the value at. + * @param value The range to set. + * @return This builder for chaining. + */ + public Builder setRange( + int index, int value) { + + ensureRangeIsMutable(); + range_.setInt(index, value); + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + /** + *
+     * Half-open [start, end) range of this occurrence. Must be exactly three or four
+     * elements:
+     *
+     * - Four elements: `[startLine, startCharacter, endLine, endCharacter]`
+     * - Three elements: `[startLine, startCharacter, endCharacter]`. The end line
+     * is inferred to have the same value as the start line.
+     *
+     * It is allowed for the range to be empty (i.e. start==end).
+     *
+     * Line numbers and characters are always 0-based. Make sure to increment the
+     * line/character values before displaying them in an editor-like UI because
+     * editors conventionally use 1-based numbers.
+     *
+     * The 'character' value is interpreted based on the PositionEncoding for
+     * the Document.
+     *
+     * Historical note: the original draft of this schema had a `Range` message
+     * type with `start` and `end` fields of type `Position`, mirroring LSP.
+     * Benchmarks revealed that this encoding was inefficient and that we could
+     * reduce the total payload size of an index by 50% by using `repeated int32`
+     * instead. The `repeated int32` encoding is admittedly more embarrassing to
+     * work with in some programming languages but we hope the performance
+     * improvements make up for it.
+     * 
+ * + * repeated int32 range = 1 [json_name = "range"]; + * @param value The range to add. + * @return This builder for chaining. + */ + public Builder addRange(int value) { + + ensureRangeIsMutable(); + range_.addInt(value); + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + /** + *
+     * Half-open [start, end) range of this occurrence. Must be exactly three or four
+     * elements:
+     *
+     * - Four elements: `[startLine, startCharacter, endLine, endCharacter]`
+     * - Three elements: `[startLine, startCharacter, endCharacter]`. The end line
+     * is inferred to have the same value as the start line.
+     *
+     * It is allowed for the range to be empty (i.e. start==end).
+     *
+     * Line numbers and characters are always 0-based. Make sure to increment the
+     * line/character values before displaying them in an editor-like UI because
+     * editors conventionally use 1-based numbers.
+     *
+     * The 'character' value is interpreted based on the PositionEncoding for
+     * the Document.
+     *
+     * Historical note: the original draft of this schema had a `Range` message
+     * type with `start` and `end` fields of type `Position`, mirroring LSP.
+     * Benchmarks revealed that this encoding was inefficient and that we could
+     * reduce the total payload size of an index by 50% by using `repeated int32`
+     * instead. The `repeated int32` encoding is admittedly more embarrassing to
+     * work with in some programming languages but we hope the performance
+     * improvements make up for it.
+     * 
+ * + * repeated int32 range = 1 [json_name = "range"]; + * @param values The range to add. + * @return This builder for chaining. + */ + public Builder addAllRange( + java.lang.Iterable values) { + ensureRangeIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, range_); + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + /** + *
+     * Half-open [start, end) range of this occurrence. Must be exactly three or four
+     * elements:
+     *
+     * - Four elements: `[startLine, startCharacter, endLine, endCharacter]`
+     * - Three elements: `[startLine, startCharacter, endCharacter]`. The end line
+     * is inferred to have the same value as the start line.
+     *
+     * It is allowed for the range to be empty (i.e. start==end).
+     *
+     * Line numbers and characters are always 0-based. Make sure to increment the
+     * line/character values before displaying them in an editor-like UI because
+     * editors conventionally use 1-based numbers.
+     *
+     * The 'character' value is interpreted based on the PositionEncoding for
+     * the Document.
+     *
+     * Historical note: the original draft of this schema had a `Range` message
+     * type with `start` and `end` fields of type `Position`, mirroring LSP.
+     * Benchmarks revealed that this encoding was inefficient and that we could
+     * reduce the total payload size of an index by 50% by using `repeated int32`
+     * instead. The `repeated int32` encoding is admittedly more embarrassing to
+     * work with in some programming languages but we hope the performance
+     * improvements make up for it.
+     * 
+ * + * repeated int32 range = 1 [json_name = "range"]; + * @return This builder for chaining. + */ + public Builder clearRange() { + range_ = emptyIntList(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + + private java.lang.Object symbol_ = ""; + /** + *
+     * (optional) The symbol that appears at this position. See
+     * `SymbolInformation.symbol` for how to format symbols as strings.
+     * 
+ * + * string symbol = 2 [json_name = "symbol"]; + * @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; + } + } + /** + *
+     * (optional) The symbol that appears at this position. See
+     * `SymbolInformation.symbol` for how to format symbols as strings.
+     * 
+ * + * string symbol = 2 [json_name = "symbol"]; + * @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; + } + } + /** + *
+     * (optional) The symbol that appears at this position. See
+     * `SymbolInformation.symbol` for how to format symbols as strings.
+     * 
+ * + * string symbol = 2 [json_name = "symbol"]; + * @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; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + /** + *
+     * (optional) The symbol that appears at this position. See
+     * `SymbolInformation.symbol` for how to format symbols as strings.
+     * 
+ * + * string symbol = 2 [json_name = "symbol"]; + * @return This builder for chaining. + */ + public Builder clearSymbol() { + symbol_ = getDefaultInstance().getSymbol(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + /** + *
+     * (optional) The symbol that appears at this position. See
+     * `SymbolInformation.symbol` for how to format symbols as strings.
+     * 
+ * + * string symbol = 2 [json_name = "symbol"]; + * @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; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + private int symbolRoles_ ; + /** + *
+     * (optional) Bitset containing `SymbolRole`s in this occurrence.
+     * See `SymbolRole`'s documentation for how to read and write this field.
+     * 
+ * + * int32 symbol_roles = 3 [json_name = "symbolRoles"]; + * @return The symbolRoles. + */ + @java.lang.Override + public int getSymbolRoles() { + return symbolRoles_; + } + /** + *
+     * (optional) Bitset containing `SymbolRole`s in this occurrence.
+     * See `SymbolRole`'s documentation for how to read and write this field.
+     * 
+ * + * int32 symbol_roles = 3 [json_name = "symbolRoles"]; + * @param value The symbolRoles to set. + * @return This builder for chaining. + */ + public Builder setSymbolRoles(int value) { + + symbolRoles_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + /** + *
+     * (optional) Bitset containing `SymbolRole`s in this occurrence.
+     * See `SymbolRole`'s documentation for how to read and write this field.
+     * 
+ * + * int32 symbol_roles = 3 [json_name = "symbolRoles"]; + * @return This builder for chaining. + */ + public Builder clearSymbolRoles() { + bitField0_ = (bitField0_ & ~0x00000004); + symbolRoles_ = 0; + onChanged(); + return this; + } + + private com.google.protobuf.LazyStringArrayList overrideDocumentation_ = + com.google.protobuf.LazyStringArrayList.emptyList(); + private void ensureOverrideDocumentationIsMutable() { + if (!overrideDocumentation_.isModifiable()) { + overrideDocumentation_ = new com.google.protobuf.LazyStringArrayList(overrideDocumentation_); + } + bitField0_ |= 0x00000008; + } + /** + *
+     * (optional) CommonMark-formatted documentation for this specific range. If
+     * empty, the `Symbol.documentation` field is used instead. One example
+     * where this field might be useful is when the symbol represents a generic
+     * function (with abstract type parameters such as `List<T>`) and at this
+     * occurrence we know the exact values (such as `List<String>`).
+     *
+     * This field can also be used for dynamically or gradually typed languages,
+     * which commonly allow for type-changing assignment.
+     * 
+ * + * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; + * @return A list containing the overrideDocumentation. + */ + public com.google.protobuf.ProtocolStringList + getOverrideDocumentationList() { + overrideDocumentation_.makeImmutable(); + return overrideDocumentation_; + } + /** + *
+     * (optional) CommonMark-formatted documentation for this specific range. If
+     * empty, the `Symbol.documentation` field is used instead. One example
+     * where this field might be useful is when the symbol represents a generic
+     * function (with abstract type parameters such as `List<T>`) and at this
+     * occurrence we know the exact values (such as `List<String>`).
+     *
+     * This field can also be used for dynamically or gradually typed languages,
+     * which commonly allow for type-changing assignment.
+     * 
+ * + * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; + * @return The count of overrideDocumentation. + */ + public int getOverrideDocumentationCount() { + return overrideDocumentation_.size(); + } + /** + *
+     * (optional) CommonMark-formatted documentation for this specific range. If
+     * empty, the `Symbol.documentation` field is used instead. One example
+     * where this field might be useful is when the symbol represents a generic
+     * function (with abstract type parameters such as `List<T>`) and at this
+     * occurrence we know the exact values (such as `List<String>`).
+     *
+     * This field can also be used for dynamically or gradually typed languages,
+     * which commonly allow for type-changing assignment.
+     * 
+ * + * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; + * @param index The index of the element to return. + * @return The overrideDocumentation at the given index. + */ + public java.lang.String getOverrideDocumentation(int index) { + return overrideDocumentation_.get(index); + } + /** + *
+     * (optional) CommonMark-formatted documentation for this specific range. If
+     * empty, the `Symbol.documentation` field is used instead. One example
+     * where this field might be useful is when the symbol represents a generic
+     * function (with abstract type parameters such as `List<T>`) and at this
+     * occurrence we know the exact values (such as `List<String>`).
+     *
+     * This field can also be used for dynamically or gradually typed languages,
+     * which commonly allow for type-changing assignment.
+     * 
+ * + * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; + * @param index The index of the value to return. + * @return The bytes of the overrideDocumentation at the given index. + */ + public com.google.protobuf.ByteString + getOverrideDocumentationBytes(int index) { + return overrideDocumentation_.getByteString(index); + } + /** + *
+     * (optional) CommonMark-formatted documentation for this specific range. If
+     * empty, the `Symbol.documentation` field is used instead. One example
+     * where this field might be useful is when the symbol represents a generic
+     * function (with abstract type parameters such as `List<T>`) and at this
+     * occurrence we know the exact values (such as `List<String>`).
+     *
+     * This field can also be used for dynamically or gradually typed languages,
+     * which commonly allow for type-changing assignment.
+     * 
+ * + * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; + * @param index The index to set the value at. + * @param value The overrideDocumentation to set. + * @return This builder for chaining. + */ + public Builder setOverrideDocumentation( + int index, java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + ensureOverrideDocumentationIsMutable(); + overrideDocumentation_.set(index, value); + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + /** + *
+     * (optional) CommonMark-formatted documentation for this specific range. If
+     * empty, the `Symbol.documentation` field is used instead. One example
+     * where this field might be useful is when the symbol represents a generic
+     * function (with abstract type parameters such as `List<T>`) and at this
+     * occurrence we know the exact values (such as `List<String>`).
+     *
+     * This field can also be used for dynamically or gradually typed languages,
+     * which commonly allow for type-changing assignment.
+     * 
+ * + * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; + * @param value The overrideDocumentation to add. + * @return This builder for chaining. + */ + public Builder addOverrideDocumentation( + java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + ensureOverrideDocumentationIsMutable(); + overrideDocumentation_.add(value); + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + /** + *
+     * (optional) CommonMark-formatted documentation for this specific range. If
+     * empty, the `Symbol.documentation` field is used instead. One example
+     * where this field might be useful is when the symbol represents a generic
+     * function (with abstract type parameters such as `List<T>`) and at this
+     * occurrence we know the exact values (such as `List<String>`).
+     *
+     * This field can also be used for dynamically or gradually typed languages,
+     * which commonly allow for type-changing assignment.
+     * 
+ * + * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; + * @param values The overrideDocumentation to add. + * @return This builder for chaining. + */ + public Builder addAllOverrideDocumentation( + java.lang.Iterable values) { + ensureOverrideDocumentationIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, overrideDocumentation_); + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + /** + *
+     * (optional) CommonMark-formatted documentation for this specific range. If
+     * empty, the `Symbol.documentation` field is used instead. One example
+     * where this field might be useful is when the symbol represents a generic
+     * function (with abstract type parameters such as `List<T>`) and at this
+     * occurrence we know the exact values (such as `List<String>`).
+     *
+     * This field can also be used for dynamically or gradually typed languages,
+     * which commonly allow for type-changing assignment.
+     * 
+ * + * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; + * @return This builder for chaining. + */ + public Builder clearOverrideDocumentation() { + overrideDocumentation_ = + com.google.protobuf.LazyStringArrayList.emptyList(); + bitField0_ = (bitField0_ & ~0x00000008);; + onChanged(); + return this; + } + /** + *
+     * (optional) CommonMark-formatted documentation for this specific range. If
+     * empty, the `Symbol.documentation` field is used instead. One example
+     * where this field might be useful is when the symbol represents a generic
+     * function (with abstract type parameters such as `List<T>`) and at this
+     * occurrence we know the exact values (such as `List<String>`).
+     *
+     * This field can also be used for dynamically or gradually typed languages,
+     * which commonly allow for type-changing assignment.
+     * 
+ * + * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; + * @param value The bytes of the overrideDocumentation to add. + * @return This builder for chaining. + */ + public Builder addOverrideDocumentationBytes( + com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + checkByteStringIsUtf8(value); + ensureOverrideDocumentationIsMutable(); + overrideDocumentation_.add(value); + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + + private int syntaxKind_ = 0; + /** + *
+     * (optional) What syntax highlighting class should be used for this range?
+     * 
+ * + * .scip.SyntaxKind syntax_kind = 5 [json_name = "syntaxKind"]; + * @return The enum numeric value on the wire for syntaxKind. + */ + @java.lang.Override public int getSyntaxKindValue() { + return syntaxKind_; + } + /** + *
+     * (optional) What syntax highlighting class should be used for this range?
+     * 
+ * + * .scip.SyntaxKind syntax_kind = 5 [json_name = "syntaxKind"]; + * @param value The enum numeric value on the wire for syntaxKind to set. + * @return This builder for chaining. + */ + public Builder setSyntaxKindValue(int value) { + syntaxKind_ = value; + bitField0_ |= 0x00000010; + onChanged(); + return this; + } + /** + *
+     * (optional) What syntax highlighting class should be used for this range?
+     * 
+ * + * .scip.SyntaxKind syntax_kind = 5 [json_name = "syntaxKind"]; + * @return The syntaxKind. + */ + @java.lang.Override + public org.scip_code.scip.SyntaxKind getSyntaxKind() { + org.scip_code.scip.SyntaxKind result = org.scip_code.scip.SyntaxKind.forNumber(syntaxKind_); + return result == null ? org.scip_code.scip.SyntaxKind.UNRECOGNIZED : result; + } + /** + *
+     * (optional) What syntax highlighting class should be used for this range?
+     * 
+ * + * .scip.SyntaxKind syntax_kind = 5 [json_name = "syntaxKind"]; + * @param value The syntaxKind to set. + * @return This builder for chaining. + */ + public Builder setSyntaxKind(org.scip_code.scip.SyntaxKind value) { + if (value == null) { throw new NullPointerException(); } + bitField0_ |= 0x00000010; + syntaxKind_ = value.getNumber(); + onChanged(); + return this; + } + /** + *
+     * (optional) What syntax highlighting class should be used for this range?
+     * 
+ * + * .scip.SyntaxKind syntax_kind = 5 [json_name = "syntaxKind"]; + * @return This builder for chaining. + */ + public Builder clearSyntaxKind() { + bitField0_ = (bitField0_ & ~0x00000010); + syntaxKind_ = 0; + onChanged(); + return this; + } + + private java.util.List diagnostics_ = + java.util.Collections.emptyList(); + private void ensureDiagnosticsIsMutable() { + if (!((bitField0_ & 0x00000020) != 0)) { + diagnostics_ = new java.util.ArrayList(diagnostics_); + bitField0_ |= 0x00000020; + } + } + + private com.google.protobuf.RepeatedFieldBuilder< + org.scip_code.scip.Diagnostic, org.scip_code.scip.Diagnostic.Builder, org.scip_code.scip.DiagnosticOrBuilder> diagnosticsBuilder_; + + /** + *
+     * (optional) Diagnostics that have been reported for this specific range.
+     * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + public java.util.List getDiagnosticsList() { + if (diagnosticsBuilder_ == null) { + return java.util.Collections.unmodifiableList(diagnostics_); + } else { + return diagnosticsBuilder_.getMessageList(); + } + } + /** + *
+     * (optional) Diagnostics that have been reported for this specific range.
+     * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + public int getDiagnosticsCount() { + if (diagnosticsBuilder_ == null) { + return diagnostics_.size(); + } else { + return diagnosticsBuilder_.getCount(); + } + } + /** + *
+     * (optional) Diagnostics that have been reported for this specific range.
+     * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + public org.scip_code.scip.Diagnostic getDiagnostics(int index) { + if (diagnosticsBuilder_ == null) { + return diagnostics_.get(index); + } else { + return diagnosticsBuilder_.getMessage(index); + } + } + /** + *
+     * (optional) Diagnostics that have been reported for this specific range.
+     * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + public Builder setDiagnostics( + int index, org.scip_code.scip.Diagnostic value) { + if (diagnosticsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureDiagnosticsIsMutable(); + diagnostics_.set(index, value); + onChanged(); + } else { + diagnosticsBuilder_.setMessage(index, value); + } + return this; + } + /** + *
+     * (optional) Diagnostics that have been reported for this specific range.
+     * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + public Builder setDiagnostics( + int index, org.scip_code.scip.Diagnostic.Builder builderForValue) { + if (diagnosticsBuilder_ == null) { + ensureDiagnosticsIsMutable(); + diagnostics_.set(index, builderForValue.build()); + onChanged(); + } else { + diagnosticsBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + *
+     * (optional) Diagnostics that have been reported for this specific range.
+     * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + public Builder addDiagnostics(org.scip_code.scip.Diagnostic value) { + if (diagnosticsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureDiagnosticsIsMutable(); + diagnostics_.add(value); + onChanged(); + } else { + diagnosticsBuilder_.addMessage(value); + } + return this; + } + /** + *
+     * (optional) Diagnostics that have been reported for this specific range.
+     * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + public Builder addDiagnostics( + int index, org.scip_code.scip.Diagnostic value) { + if (diagnosticsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureDiagnosticsIsMutable(); + diagnostics_.add(index, value); + onChanged(); + } else { + diagnosticsBuilder_.addMessage(index, value); + } + return this; + } + /** + *
+     * (optional) Diagnostics that have been reported for this specific range.
+     * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + public Builder addDiagnostics( + org.scip_code.scip.Diagnostic.Builder builderForValue) { + if (diagnosticsBuilder_ == null) { + ensureDiagnosticsIsMutable(); + diagnostics_.add(builderForValue.build()); + onChanged(); + } else { + diagnosticsBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + *
+     * (optional) Diagnostics that have been reported for this specific range.
+     * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + public Builder addDiagnostics( + int index, org.scip_code.scip.Diagnostic.Builder builderForValue) { + if (diagnosticsBuilder_ == null) { + ensureDiagnosticsIsMutable(); + diagnostics_.add(index, builderForValue.build()); + onChanged(); + } else { + diagnosticsBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + *
+     * (optional) Diagnostics that have been reported for this specific range.
+     * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + public Builder addAllDiagnostics( + java.lang.Iterable values) { + if (diagnosticsBuilder_ == null) { + ensureDiagnosticsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, diagnostics_); + onChanged(); + } else { + diagnosticsBuilder_.addAllMessages(values); + } + return this; + } + /** + *
+     * (optional) Diagnostics that have been reported for this specific range.
+     * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + public Builder clearDiagnostics() { + if (diagnosticsBuilder_ == null) { + diagnostics_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000020); + onChanged(); + } else { + diagnosticsBuilder_.clear(); + } + return this; + } + /** + *
+     * (optional) Diagnostics that have been reported for this specific range.
+     * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + public Builder removeDiagnostics(int index) { + if (diagnosticsBuilder_ == null) { + ensureDiagnosticsIsMutable(); + diagnostics_.remove(index); + onChanged(); + } else { + diagnosticsBuilder_.remove(index); + } + return this; + } + /** + *
+     * (optional) Diagnostics that have been reported for this specific range.
+     * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + public org.scip_code.scip.Diagnostic.Builder getDiagnosticsBuilder( + int index) { + return internalGetDiagnosticsFieldBuilder().getBuilder(index); + } + /** + *
+     * (optional) Diagnostics that have been reported for this specific range.
+     * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + public org.scip_code.scip.DiagnosticOrBuilder getDiagnosticsOrBuilder( + int index) { + if (diagnosticsBuilder_ == null) { + return diagnostics_.get(index); } else { + return diagnosticsBuilder_.getMessageOrBuilder(index); + } + } + /** + *
+     * (optional) Diagnostics that have been reported for this specific range.
+     * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + public java.util.List + getDiagnosticsOrBuilderList() { + if (diagnosticsBuilder_ != null) { + return diagnosticsBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(diagnostics_); + } + } + /** + *
+     * (optional) Diagnostics that have been reported for this specific range.
+     * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + public org.scip_code.scip.Diagnostic.Builder addDiagnosticsBuilder() { + return internalGetDiagnosticsFieldBuilder().addBuilder( + org.scip_code.scip.Diagnostic.getDefaultInstance()); + } + /** + *
+     * (optional) Diagnostics that have been reported for this specific range.
+     * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + public org.scip_code.scip.Diagnostic.Builder addDiagnosticsBuilder( + int index) { + return internalGetDiagnosticsFieldBuilder().addBuilder( + index, org.scip_code.scip.Diagnostic.getDefaultInstance()); + } + /** + *
+     * (optional) Diagnostics that have been reported for this specific range.
+     * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + public java.util.List + getDiagnosticsBuilderList() { + return internalGetDiagnosticsFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilder< + org.scip_code.scip.Diagnostic, org.scip_code.scip.Diagnostic.Builder, org.scip_code.scip.DiagnosticOrBuilder> + internalGetDiagnosticsFieldBuilder() { + if (diagnosticsBuilder_ == null) { + diagnosticsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder< + org.scip_code.scip.Diagnostic, org.scip_code.scip.Diagnostic.Builder, org.scip_code.scip.DiagnosticOrBuilder>( + diagnostics_, + ((bitField0_ & 0x00000020) != 0), + getParentForChildren(), + isClean()); + diagnostics_ = null; + } + return diagnosticsBuilder_; + } + + private com.google.protobuf.Internal.IntList enclosingRange_ = emptyIntList(); + private void ensureEnclosingRangeIsMutable() { + if (!enclosingRange_.isModifiable()) { + enclosingRange_ = makeMutableCopy(enclosingRange_); + } + bitField0_ |= 0x00000040; + } + /** + *
+     * (optional) Using the same encoding as the sibling `range` field, half-open
+     * source range of the nearest non-trivial enclosing AST node. This range must
+     * enclose the `range` field. Example applications that make use of the
+     * enclosing_range field:
+     *
+     * - Call hierarchies: to determine what symbols are references from the body
+     * of a function
+     * - Symbol outline: to display breadcrumbs from the cursor position to the
+     * root of the file
+     * - Expand selection: to select the nearest enclosing AST node.
+     * - Highlight range: to indicate the AST expression that is associated with a
+     * hover popover
+     *
+     * For definition occurrences, the enclosing range should indicate the
+     * start/end bounds of the entire definition AST node, including
+     * documentation.
+     * ```
+     * const n = 3
+     * ^ range
+     * ^^^^^^^^^^^ enclosing_range
+     *
+     * /** Parses the string into something */
+     * ^ enclosing_range start --------------------------------------|
+     * function parse(input string): string {                        |
+     * ^^^^^ range                                          |
+     * return input.slice(n)                                     |
+     * }                                                             |
+     * ^ enclosing_range end <---------------------------------------|
+     * ```
+     *
+     * Any attributes/decorators/attached macros should also be part of the
+     * enclosing range.
+     *
+     * ```python
+     * @cache
+     * ^ enclosing_range start---------------------|
+     * def factorial(n):                           |
+     * return n * factorial(n-1) if n else 1   |
+     * < enclosing_range end-----------------------|
+     *
+     * ```
+     *
+     * For reference occurrences, the enclosing range should indicate the start/end
+     * bounds of the parent expression.
+     * ```
+     * const a = a.b
+     * ^ range
+     * ^^^ enclosing_range
+     * const b = a.b(41).f(42).g(43)
+     * ^ range
+     * ^^^^^^^^^^^^^ enclosing_range
+     * ```
+     * 
+ * + * repeated int32 enclosing_range = 7 [json_name = "enclosingRange"]; + * @return A list containing the enclosingRange. + */ + public java.util.List + getEnclosingRangeList() { + enclosingRange_.makeImmutable(); + return enclosingRange_; + } + /** + *
+     * (optional) Using the same encoding as the sibling `range` field, half-open
+     * source range of the nearest non-trivial enclosing AST node. This range must
+     * enclose the `range` field. Example applications that make use of the
+     * enclosing_range field:
+     *
+     * - Call hierarchies: to determine what symbols are references from the body
+     * of a function
+     * - Symbol outline: to display breadcrumbs from the cursor position to the
+     * root of the file
+     * - Expand selection: to select the nearest enclosing AST node.
+     * - Highlight range: to indicate the AST expression that is associated with a
+     * hover popover
+     *
+     * For definition occurrences, the enclosing range should indicate the
+     * start/end bounds of the entire definition AST node, including
+     * documentation.
+     * ```
+     * const n = 3
+     * ^ range
+     * ^^^^^^^^^^^ enclosing_range
+     *
+     * /** Parses the string into something */
+     * ^ enclosing_range start --------------------------------------|
+     * function parse(input string): string {                        |
+     * ^^^^^ range                                          |
+     * return input.slice(n)                                     |
+     * }                                                             |
+     * ^ enclosing_range end <---------------------------------------|
+     * ```
+     *
+     * Any attributes/decorators/attached macros should also be part of the
+     * enclosing range.
+     *
+     * ```python
+     * @cache
+     * ^ enclosing_range start---------------------|
+     * def factorial(n):                           |
+     * return n * factorial(n-1) if n else 1   |
+     * < enclosing_range end-----------------------|
+     *
+     * ```
+     *
+     * For reference occurrences, the enclosing range should indicate the start/end
+     * bounds of the parent expression.
+     * ```
+     * const a = a.b
+     * ^ range
+     * ^^^ enclosing_range
+     * const b = a.b(41).f(42).g(43)
+     * ^ range
+     * ^^^^^^^^^^^^^ enclosing_range
+     * ```
+     * 
+ * + * repeated int32 enclosing_range = 7 [json_name = "enclosingRange"]; + * @return The count of enclosingRange. + */ + public int getEnclosingRangeCount() { + return enclosingRange_.size(); + } + /** + *
+     * (optional) Using the same encoding as the sibling `range` field, half-open
+     * source range of the nearest non-trivial enclosing AST node. This range must
+     * enclose the `range` field. Example applications that make use of the
+     * enclosing_range field:
+     *
+     * - Call hierarchies: to determine what symbols are references from the body
+     * of a function
+     * - Symbol outline: to display breadcrumbs from the cursor position to the
+     * root of the file
+     * - Expand selection: to select the nearest enclosing AST node.
+     * - Highlight range: to indicate the AST expression that is associated with a
+     * hover popover
+     *
+     * For definition occurrences, the enclosing range should indicate the
+     * start/end bounds of the entire definition AST node, including
+     * documentation.
+     * ```
+     * const n = 3
+     * ^ range
+     * ^^^^^^^^^^^ enclosing_range
+     *
+     * /** Parses the string into something */
+     * ^ enclosing_range start --------------------------------------|
+     * function parse(input string): string {                        |
+     * ^^^^^ range                                          |
+     * return input.slice(n)                                     |
+     * }                                                             |
+     * ^ enclosing_range end <---------------------------------------|
+     * ```
+     *
+     * Any attributes/decorators/attached macros should also be part of the
+     * enclosing range.
+     *
+     * ```python
+     * @cache
+     * ^ enclosing_range start---------------------|
+     * def factorial(n):                           |
+     * return n * factorial(n-1) if n else 1   |
+     * < enclosing_range end-----------------------|
+     *
+     * ```
+     *
+     * For reference occurrences, the enclosing range should indicate the start/end
+     * bounds of the parent expression.
+     * ```
+     * const a = a.b
+     * ^ range
+     * ^^^ enclosing_range
+     * const b = a.b(41).f(42).g(43)
+     * ^ range
+     * ^^^^^^^^^^^^^ enclosing_range
+     * ```
+     * 
+ * + * repeated int32 enclosing_range = 7 [json_name = "enclosingRange"]; + * @param index The index of the element to return. + * @return The enclosingRange at the given index. + */ + public int getEnclosingRange(int index) { + return enclosingRange_.getInt(index); + } + /** + *
+     * (optional) Using the same encoding as the sibling `range` field, half-open
+     * source range of the nearest non-trivial enclosing AST node. This range must
+     * enclose the `range` field. Example applications that make use of the
+     * enclosing_range field:
+     *
+     * - Call hierarchies: to determine what symbols are references from the body
+     * of a function
+     * - Symbol outline: to display breadcrumbs from the cursor position to the
+     * root of the file
+     * - Expand selection: to select the nearest enclosing AST node.
+     * - Highlight range: to indicate the AST expression that is associated with a
+     * hover popover
+     *
+     * For definition occurrences, the enclosing range should indicate the
+     * start/end bounds of the entire definition AST node, including
+     * documentation.
+     * ```
+     * const n = 3
+     * ^ range
+     * ^^^^^^^^^^^ enclosing_range
+     *
+     * /** Parses the string into something */
+     * ^ enclosing_range start --------------------------------------|
+     * function parse(input string): string {                        |
+     * ^^^^^ range                                          |
+     * return input.slice(n)                                     |
+     * }                                                             |
+     * ^ enclosing_range end <---------------------------------------|
+     * ```
+     *
+     * Any attributes/decorators/attached macros should also be part of the
+     * enclosing range.
+     *
+     * ```python
+     * @cache
+     * ^ enclosing_range start---------------------|
+     * def factorial(n):                           |
+     * return n * factorial(n-1) if n else 1   |
+     * < enclosing_range end-----------------------|
+     *
+     * ```
+     *
+     * For reference occurrences, the enclosing range should indicate the start/end
+     * bounds of the parent expression.
+     * ```
+     * const a = a.b
+     * ^ range
+     * ^^^ enclosing_range
+     * const b = a.b(41).f(42).g(43)
+     * ^ range
+     * ^^^^^^^^^^^^^ enclosing_range
+     * ```
+     * 
+ * + * repeated int32 enclosing_range = 7 [json_name = "enclosingRange"]; + * @param index The index to set the value at. + * @param value The enclosingRange to set. + * @return This builder for chaining. + */ + public Builder setEnclosingRange( + int index, int value) { + + ensureEnclosingRangeIsMutable(); + enclosingRange_.setInt(index, value); + bitField0_ |= 0x00000040; + onChanged(); + return this; + } + /** + *
+     * (optional) Using the same encoding as the sibling `range` field, half-open
+     * source range of the nearest non-trivial enclosing AST node. This range must
+     * enclose the `range` field. Example applications that make use of the
+     * enclosing_range field:
+     *
+     * - Call hierarchies: to determine what symbols are references from the body
+     * of a function
+     * - Symbol outline: to display breadcrumbs from the cursor position to the
+     * root of the file
+     * - Expand selection: to select the nearest enclosing AST node.
+     * - Highlight range: to indicate the AST expression that is associated with a
+     * hover popover
+     *
+     * For definition occurrences, the enclosing range should indicate the
+     * start/end bounds of the entire definition AST node, including
+     * documentation.
+     * ```
+     * const n = 3
+     * ^ range
+     * ^^^^^^^^^^^ enclosing_range
+     *
+     * /** Parses the string into something */
+     * ^ enclosing_range start --------------------------------------|
+     * function parse(input string): string {                        |
+     * ^^^^^ range                                          |
+     * return input.slice(n)                                     |
+     * }                                                             |
+     * ^ enclosing_range end <---------------------------------------|
+     * ```
+     *
+     * Any attributes/decorators/attached macros should also be part of the
+     * enclosing range.
+     *
+     * ```python
+     * @cache
+     * ^ enclosing_range start---------------------|
+     * def factorial(n):                           |
+     * return n * factorial(n-1) if n else 1   |
+     * < enclosing_range end-----------------------|
+     *
+     * ```
+     *
+     * For reference occurrences, the enclosing range should indicate the start/end
+     * bounds of the parent expression.
+     * ```
+     * const a = a.b
+     * ^ range
+     * ^^^ enclosing_range
+     * const b = a.b(41).f(42).g(43)
+     * ^ range
+     * ^^^^^^^^^^^^^ enclosing_range
+     * ```
+     * 
+ * + * repeated int32 enclosing_range = 7 [json_name = "enclosingRange"]; + * @param value The enclosingRange to add. + * @return This builder for chaining. + */ + public Builder addEnclosingRange(int value) { + + ensureEnclosingRangeIsMutable(); + enclosingRange_.addInt(value); + bitField0_ |= 0x00000040; + onChanged(); + return this; + } + /** + *
+     * (optional) Using the same encoding as the sibling `range` field, half-open
+     * source range of the nearest non-trivial enclosing AST node. This range must
+     * enclose the `range` field. Example applications that make use of the
+     * enclosing_range field:
+     *
+     * - Call hierarchies: to determine what symbols are references from the body
+     * of a function
+     * - Symbol outline: to display breadcrumbs from the cursor position to the
+     * root of the file
+     * - Expand selection: to select the nearest enclosing AST node.
+     * - Highlight range: to indicate the AST expression that is associated with a
+     * hover popover
+     *
+     * For definition occurrences, the enclosing range should indicate the
+     * start/end bounds of the entire definition AST node, including
+     * documentation.
+     * ```
+     * const n = 3
+     * ^ range
+     * ^^^^^^^^^^^ enclosing_range
+     *
+     * /** Parses the string into something */
+     * ^ enclosing_range start --------------------------------------|
+     * function parse(input string): string {                        |
+     * ^^^^^ range                                          |
+     * return input.slice(n)                                     |
+     * }                                                             |
+     * ^ enclosing_range end <---------------------------------------|
+     * ```
+     *
+     * Any attributes/decorators/attached macros should also be part of the
+     * enclosing range.
+     *
+     * ```python
+     * @cache
+     * ^ enclosing_range start---------------------|
+     * def factorial(n):                           |
+     * return n * factorial(n-1) if n else 1   |
+     * < enclosing_range end-----------------------|
+     *
+     * ```
+     *
+     * For reference occurrences, the enclosing range should indicate the start/end
+     * bounds of the parent expression.
+     * ```
+     * const a = a.b
+     * ^ range
+     * ^^^ enclosing_range
+     * const b = a.b(41).f(42).g(43)
+     * ^ range
+     * ^^^^^^^^^^^^^ enclosing_range
+     * ```
+     * 
+ * + * repeated int32 enclosing_range = 7 [json_name = "enclosingRange"]; + * @param values The enclosingRange to add. + * @return This builder for chaining. + */ + public Builder addAllEnclosingRange( + java.lang.Iterable values) { + ensureEnclosingRangeIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, enclosingRange_); + bitField0_ |= 0x00000040; + onChanged(); + return this; + } + /** + *
+     * (optional) Using the same encoding as the sibling `range` field, half-open
+     * source range of the nearest non-trivial enclosing AST node. This range must
+     * enclose the `range` field. Example applications that make use of the
+     * enclosing_range field:
+     *
+     * - Call hierarchies: to determine what symbols are references from the body
+     * of a function
+     * - Symbol outline: to display breadcrumbs from the cursor position to the
+     * root of the file
+     * - Expand selection: to select the nearest enclosing AST node.
+     * - Highlight range: to indicate the AST expression that is associated with a
+     * hover popover
+     *
+     * For definition occurrences, the enclosing range should indicate the
+     * start/end bounds of the entire definition AST node, including
+     * documentation.
+     * ```
+     * const n = 3
+     * ^ range
+     * ^^^^^^^^^^^ enclosing_range
+     *
+     * /** Parses the string into something */
+     * ^ enclosing_range start --------------------------------------|
+     * function parse(input string): string {                        |
+     * ^^^^^ range                                          |
+     * return input.slice(n)                                     |
+     * }                                                             |
+     * ^ enclosing_range end <---------------------------------------|
+     * ```
+     *
+     * Any attributes/decorators/attached macros should also be part of the
+     * enclosing range.
+     *
+     * ```python
+     * @cache
+     * ^ enclosing_range start---------------------|
+     * def factorial(n):                           |
+     * return n * factorial(n-1) if n else 1   |
+     * < enclosing_range end-----------------------|
+     *
+     * ```
+     *
+     * For reference occurrences, the enclosing range should indicate the start/end
+     * bounds of the parent expression.
+     * ```
+     * const a = a.b
+     * ^ range
+     * ^^^ enclosing_range
+     * const b = a.b(41).f(42).g(43)
+     * ^ range
+     * ^^^^^^^^^^^^^ enclosing_range
+     * ```
+     * 
+ * + * repeated int32 enclosing_range = 7 [json_name = "enclosingRange"]; + * @return This builder for chaining. + */ + public Builder clearEnclosingRange() { + enclosingRange_ = emptyIntList(); + bitField0_ = (bitField0_ & ~0x00000040); + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:scip.Occurrence) + } + + // @@protoc_insertion_point(class_scope:scip.Occurrence) + private static final org.scip_code.scip.Occurrence DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new org.scip_code.scip.Occurrence(); + } + + public static org.scip_code.scip.Occurrence getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public Occurrence parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public org.scip_code.scip.Occurrence getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + +} + diff --git a/bindings/kotlin/src/main/java/org/scip_code/scip/OccurrenceOrBuilder.java b/bindings/kotlin/src/main/java/org/scip_code/scip/OccurrenceOrBuilder.java new file mode 100644 index 00000000..4a2d8251 --- /dev/null +++ b/bindings/kotlin/src/main/java/org/scip_code/scip/OccurrenceOrBuilder.java @@ -0,0 +1,454 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: scip.proto +// Protobuf Java Version: 4.32.1 + +package org.scip_code.scip; + +@com.google.protobuf.Generated +public interface OccurrenceOrBuilder extends + // @@protoc_insertion_point(interface_extends:scip.Occurrence) + com.google.protobuf.MessageOrBuilder { + + /** + *
+   * Half-open [start, end) range of this occurrence. Must be exactly three or four
+   * elements:
+   *
+   * - Four elements: `[startLine, startCharacter, endLine, endCharacter]`
+   * - Three elements: `[startLine, startCharacter, endCharacter]`. The end line
+   * is inferred to have the same value as the start line.
+   *
+   * It is allowed for the range to be empty (i.e. start==end).
+   *
+   * Line numbers and characters are always 0-based. Make sure to increment the
+   * line/character values before displaying them in an editor-like UI because
+   * editors conventionally use 1-based numbers.
+   *
+   * The 'character' value is interpreted based on the PositionEncoding for
+   * the Document.
+   *
+   * Historical note: the original draft of this schema had a `Range` message
+   * type with `start` and `end` fields of type `Position`, mirroring LSP.
+   * Benchmarks revealed that this encoding was inefficient and that we could
+   * reduce the total payload size of an index by 50% by using `repeated int32`
+   * instead. The `repeated int32` encoding is admittedly more embarrassing to
+   * work with in some programming languages but we hope the performance
+   * improvements make up for it.
+   * 
+ * + * repeated int32 range = 1 [json_name = "range"]; + * @return A list containing the range. + */ + java.util.List getRangeList(); + /** + *
+   * Half-open [start, end) range of this occurrence. Must be exactly three or four
+   * elements:
+   *
+   * - Four elements: `[startLine, startCharacter, endLine, endCharacter]`
+   * - Three elements: `[startLine, startCharacter, endCharacter]`. The end line
+   * is inferred to have the same value as the start line.
+   *
+   * It is allowed for the range to be empty (i.e. start==end).
+   *
+   * Line numbers and characters are always 0-based. Make sure to increment the
+   * line/character values before displaying them in an editor-like UI because
+   * editors conventionally use 1-based numbers.
+   *
+   * The 'character' value is interpreted based on the PositionEncoding for
+   * the Document.
+   *
+   * Historical note: the original draft of this schema had a `Range` message
+   * type with `start` and `end` fields of type `Position`, mirroring LSP.
+   * Benchmarks revealed that this encoding was inefficient and that we could
+   * reduce the total payload size of an index by 50% by using `repeated int32`
+   * instead. The `repeated int32` encoding is admittedly more embarrassing to
+   * work with in some programming languages but we hope the performance
+   * improvements make up for it.
+   * 
+ * + * repeated int32 range = 1 [json_name = "range"]; + * @return The count of range. + */ + int getRangeCount(); + /** + *
+   * Half-open [start, end) range of this occurrence. Must be exactly three or four
+   * elements:
+   *
+   * - Four elements: `[startLine, startCharacter, endLine, endCharacter]`
+   * - Three elements: `[startLine, startCharacter, endCharacter]`. The end line
+   * is inferred to have the same value as the start line.
+   *
+   * It is allowed for the range to be empty (i.e. start==end).
+   *
+   * Line numbers and characters are always 0-based. Make sure to increment the
+   * line/character values before displaying them in an editor-like UI because
+   * editors conventionally use 1-based numbers.
+   *
+   * The 'character' value is interpreted based on the PositionEncoding for
+   * the Document.
+   *
+   * Historical note: the original draft of this schema had a `Range` message
+   * type with `start` and `end` fields of type `Position`, mirroring LSP.
+   * Benchmarks revealed that this encoding was inefficient and that we could
+   * reduce the total payload size of an index by 50% by using `repeated int32`
+   * instead. The `repeated int32` encoding is admittedly more embarrassing to
+   * work with in some programming languages but we hope the performance
+   * improvements make up for it.
+   * 
+ * + * repeated int32 range = 1 [json_name = "range"]; + * @param index The index of the element to return. + * @return The range at the given index. + */ + int getRange(int index); + + /** + *
+   * (optional) The symbol that appears at this position. See
+   * `SymbolInformation.symbol` for how to format symbols as strings.
+   * 
+ * + * string symbol = 2 [json_name = "symbol"]; + * @return The symbol. + */ + java.lang.String getSymbol(); + /** + *
+   * (optional) The symbol that appears at this position. See
+   * `SymbolInformation.symbol` for how to format symbols as strings.
+   * 
+ * + * string symbol = 2 [json_name = "symbol"]; + * @return The bytes for symbol. + */ + com.google.protobuf.ByteString + getSymbolBytes(); + + /** + *
+   * (optional) Bitset containing `SymbolRole`s in this occurrence.
+   * See `SymbolRole`'s documentation for how to read and write this field.
+   * 
+ * + * int32 symbol_roles = 3 [json_name = "symbolRoles"]; + * @return The symbolRoles. + */ + int getSymbolRoles(); + + /** + *
+   * (optional) CommonMark-formatted documentation for this specific range. If
+   * empty, the `Symbol.documentation` field is used instead. One example
+   * where this field might be useful is when the symbol represents a generic
+   * function (with abstract type parameters such as `List<T>`) and at this
+   * occurrence we know the exact values (such as `List<String>`).
+   *
+   * This field can also be used for dynamically or gradually typed languages,
+   * which commonly allow for type-changing assignment.
+   * 
+ * + * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; + * @return A list containing the overrideDocumentation. + */ + java.util.List + getOverrideDocumentationList(); + /** + *
+   * (optional) CommonMark-formatted documentation for this specific range. If
+   * empty, the `Symbol.documentation` field is used instead. One example
+   * where this field might be useful is when the symbol represents a generic
+   * function (with abstract type parameters such as `List<T>`) and at this
+   * occurrence we know the exact values (such as `List<String>`).
+   *
+   * This field can also be used for dynamically or gradually typed languages,
+   * which commonly allow for type-changing assignment.
+   * 
+ * + * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; + * @return The count of overrideDocumentation. + */ + int getOverrideDocumentationCount(); + /** + *
+   * (optional) CommonMark-formatted documentation for this specific range. If
+   * empty, the `Symbol.documentation` field is used instead. One example
+   * where this field might be useful is when the symbol represents a generic
+   * function (with abstract type parameters such as `List<T>`) and at this
+   * occurrence we know the exact values (such as `List<String>`).
+   *
+   * This field can also be used for dynamically or gradually typed languages,
+   * which commonly allow for type-changing assignment.
+   * 
+ * + * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; + * @param index The index of the element to return. + * @return The overrideDocumentation at the given index. + */ + java.lang.String getOverrideDocumentation(int index); + /** + *
+   * (optional) CommonMark-formatted documentation for this specific range. If
+   * empty, the `Symbol.documentation` field is used instead. One example
+   * where this field might be useful is when the symbol represents a generic
+   * function (with abstract type parameters such as `List<T>`) and at this
+   * occurrence we know the exact values (such as `List<String>`).
+   *
+   * This field can also be used for dynamically or gradually typed languages,
+   * which commonly allow for type-changing assignment.
+   * 
+ * + * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; + * @param index The index of the value to return. + * @return The bytes of the overrideDocumentation at the given index. + */ + com.google.protobuf.ByteString + getOverrideDocumentationBytes(int index); + + /** + *
+   * (optional) What syntax highlighting class should be used for this range?
+   * 
+ * + * .scip.SyntaxKind syntax_kind = 5 [json_name = "syntaxKind"]; + * @return The enum numeric value on the wire for syntaxKind. + */ + int getSyntaxKindValue(); + /** + *
+   * (optional) What syntax highlighting class should be used for this range?
+   * 
+ * + * .scip.SyntaxKind syntax_kind = 5 [json_name = "syntaxKind"]; + * @return The syntaxKind. + */ + org.scip_code.scip.SyntaxKind getSyntaxKind(); + + /** + *
+   * (optional) Diagnostics that have been reported for this specific range.
+   * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + java.util.List + getDiagnosticsList(); + /** + *
+   * (optional) Diagnostics that have been reported for this specific range.
+   * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + org.scip_code.scip.Diagnostic getDiagnostics(int index); + /** + *
+   * (optional) Diagnostics that have been reported for this specific range.
+   * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + int getDiagnosticsCount(); + /** + *
+   * (optional) Diagnostics that have been reported for this specific range.
+   * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + java.util.List + getDiagnosticsOrBuilderList(); + /** + *
+   * (optional) Diagnostics that have been reported for this specific range.
+   * 
+ * + * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; + */ + org.scip_code.scip.DiagnosticOrBuilder getDiagnosticsOrBuilder( + int index); + + /** + *
+   * (optional) Using the same encoding as the sibling `range` field, half-open
+   * source range of the nearest non-trivial enclosing AST node. This range must
+   * enclose the `range` field. Example applications that make use of the
+   * enclosing_range field:
+   *
+   * - Call hierarchies: to determine what symbols are references from the body
+   * of a function
+   * - Symbol outline: to display breadcrumbs from the cursor position to the
+   * root of the file
+   * - Expand selection: to select the nearest enclosing AST node.
+   * - Highlight range: to indicate the AST expression that is associated with a
+   * hover popover
+   *
+   * For definition occurrences, the enclosing range should indicate the
+   * start/end bounds of the entire definition AST node, including
+   * documentation.
+   * ```
+   * const n = 3
+   * ^ range
+   * ^^^^^^^^^^^ enclosing_range
+   *
+   * /** Parses the string into something */
+   * ^ enclosing_range start --------------------------------------|
+   * function parse(input string): string {                        |
+   * ^^^^^ range                                          |
+   * return input.slice(n)                                     |
+   * }                                                             |
+   * ^ enclosing_range end <---------------------------------------|
+   * ```
+   *
+   * Any attributes/decorators/attached macros should also be part of the
+   * enclosing range.
+   *
+   * ```python
+   * @cache
+   * ^ enclosing_range start---------------------|
+   * def factorial(n):                           |
+   * return n * factorial(n-1) if n else 1   |
+   * < enclosing_range end-----------------------|
+   *
+   * ```
+   *
+   * For reference occurrences, the enclosing range should indicate the start/end
+   * bounds of the parent expression.
+   * ```
+   * const a = a.b
+   * ^ range
+   * ^^^ enclosing_range
+   * const b = a.b(41).f(42).g(43)
+   * ^ range
+   * ^^^^^^^^^^^^^ enclosing_range
+   * ```
+   * 
+ * + * repeated int32 enclosing_range = 7 [json_name = "enclosingRange"]; + * @return A list containing the enclosingRange. + */ + java.util.List getEnclosingRangeList(); + /** + *
+   * (optional) Using the same encoding as the sibling `range` field, half-open
+   * source range of the nearest non-trivial enclosing AST node. This range must
+   * enclose the `range` field. Example applications that make use of the
+   * enclosing_range field:
+   *
+   * - Call hierarchies: to determine what symbols are references from the body
+   * of a function
+   * - Symbol outline: to display breadcrumbs from the cursor position to the
+   * root of the file
+   * - Expand selection: to select the nearest enclosing AST node.
+   * - Highlight range: to indicate the AST expression that is associated with a
+   * hover popover
+   *
+   * For definition occurrences, the enclosing range should indicate the
+   * start/end bounds of the entire definition AST node, including
+   * documentation.
+   * ```
+   * const n = 3
+   * ^ range
+   * ^^^^^^^^^^^ enclosing_range
+   *
+   * /** Parses the string into something */
+   * ^ enclosing_range start --------------------------------------|
+   * function parse(input string): string {                        |
+   * ^^^^^ range                                          |
+   * return input.slice(n)                                     |
+   * }                                                             |
+   * ^ enclosing_range end <---------------------------------------|
+   * ```
+   *
+   * Any attributes/decorators/attached macros should also be part of the
+   * enclosing range.
+   *
+   * ```python
+   * @cache
+   * ^ enclosing_range start---------------------|
+   * def factorial(n):                           |
+   * return n * factorial(n-1) if n else 1   |
+   * < enclosing_range end-----------------------|
+   *
+   * ```
+   *
+   * For reference occurrences, the enclosing range should indicate the start/end
+   * bounds of the parent expression.
+   * ```
+   * const a = a.b
+   * ^ range
+   * ^^^ enclosing_range
+   * const b = a.b(41).f(42).g(43)
+   * ^ range
+   * ^^^^^^^^^^^^^ enclosing_range
+   * ```
+   * 
+ * + * repeated int32 enclosing_range = 7 [json_name = "enclosingRange"]; + * @return The count of enclosingRange. + */ + int getEnclosingRangeCount(); + /** + *
+   * (optional) Using the same encoding as the sibling `range` field, half-open
+   * source range of the nearest non-trivial enclosing AST node. This range must
+   * enclose the `range` field. Example applications that make use of the
+   * enclosing_range field:
+   *
+   * - Call hierarchies: to determine what symbols are references from the body
+   * of a function
+   * - Symbol outline: to display breadcrumbs from the cursor position to the
+   * root of the file
+   * - Expand selection: to select the nearest enclosing AST node.
+   * - Highlight range: to indicate the AST expression that is associated with a
+   * hover popover
+   *
+   * For definition occurrences, the enclosing range should indicate the
+   * start/end bounds of the entire definition AST node, including
+   * documentation.
+   * ```
+   * const n = 3
+   * ^ range
+   * ^^^^^^^^^^^ enclosing_range
+   *
+   * /** Parses the string into something */
+   * ^ enclosing_range start --------------------------------------|
+   * function parse(input string): string {                        |
+   * ^^^^^ range                                          |
+   * return input.slice(n)                                     |
+   * }                                                             |
+   * ^ enclosing_range end <---------------------------------------|
+   * ```
+   *
+   * Any attributes/decorators/attached macros should also be part of the
+   * enclosing range.
+   *
+   * ```python
+   * @cache
+   * ^ enclosing_range start---------------------|
+   * def factorial(n):                           |
+   * return n * factorial(n-1) if n else 1   |
+   * < enclosing_range end-----------------------|
+   *
+   * ```
+   *
+   * For reference occurrences, the enclosing range should indicate the start/end
+   * bounds of the parent expression.
+   * ```
+   * const a = a.b
+   * ^ range
+   * ^^^ enclosing_range
+   * const b = a.b(41).f(42).g(43)
+   * ^ range
+   * ^^^^^^^^^^^^^ enclosing_range
+   * ```
+   * 
+ * + * repeated int32 enclosing_range = 7 [json_name = "enclosingRange"]; + * @param index The index of the element to return. + * @return The enclosingRange at the given index. + */ + int getEnclosingRange(int index); +} diff --git a/bindings/kotlin/src/main/java/org/scip_code/scip/Package.java b/bindings/kotlin/src/main/java/org/scip_code/scip/Package.java new file mode 100644 index 00000000..9898f798 --- /dev/null +++ b/bindings/kotlin/src/main/java/org/scip_code/scip/Package.java @@ -0,0 +1,786 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: scip.proto +// Protobuf Java Version: 4.32.1 + +package org.scip_code.scip; + +/** + *
+ * Unit of packaging and distribution.
+ *
+ * NOTE: This corresponds to a module in Go and JVM languages.
+ * 
+ * + * Protobuf type {@code scip.Package} + */ +@com.google.protobuf.Generated +public final class Package extends + com.google.protobuf.GeneratedMessage implements + // @@protoc_insertion_point(message_implements:scip.Package) + PackageOrBuilder { +private static final long serialVersionUID = 0L; + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 32, + /* patch= */ 1, + /* suffix= */ "", + Package.class.getName()); + } + // Use Package.newBuilder() to construct. + private Package(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + private Package() { + manager_ = ""; + name_ = ""; + version_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.scip_code.scip.ScipProto.internal_static_scip_Package_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.scip_code.scip.ScipProto.internal_static_scip_Package_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.scip_code.scip.Package.class, org.scip_code.scip.Package.Builder.class); + } + + public static final int MANAGER_FIELD_NUMBER = 1; + @SuppressWarnings("serial") + private volatile java.lang.Object manager_ = ""; + /** + * string manager = 1 [json_name = "manager"]; + * @return The manager. + */ + @java.lang.Override + public java.lang.String getManager() { + java.lang.Object ref = manager_; + 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(); + manager_ = s; + return s; + } + } + /** + * string manager = 1 [json_name = "manager"]; + * @return The bytes for manager. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getManagerBytes() { + java.lang.Object ref = manager_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + manager_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int NAME_FIELD_NUMBER = 2; + @SuppressWarnings("serial") + private volatile java.lang.Object name_ = ""; + /** + * string name = 2 [json_name = "name"]; + * @return The name. + */ + @java.lang.Override + public java.lang.String getName() { + java.lang.Object ref = name_; + 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(); + name_ = s; + return s; + } + } + /** + * string name = 2 [json_name = "name"]; + * @return The bytes for name. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int VERSION_FIELD_NUMBER = 3; + @SuppressWarnings("serial") + private volatile java.lang.Object version_ = ""; + /** + * string version = 3 [json_name = "version"]; + * @return The version. + */ + @java.lang.Override + public java.lang.String getVersion() { + java.lang.Object ref = version_; + 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(); + version_ = s; + return s; + } + } + /** + * string version = 3 [json_name = "version"]; + * @return The bytes for version. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getVersionBytes() { + java.lang.Object ref = version_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + version_ = 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 (!com.google.protobuf.GeneratedMessage.isStringEmpty(manager_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, manager_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 2, name_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(version_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 3, version_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(manager_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, manager_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(2, name_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(version_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(3, version_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof org.scip_code.scip.Package)) { + return super.equals(obj); + } + org.scip_code.scip.Package other = (org.scip_code.scip.Package) obj; + + if (!getManager() + .equals(other.getManager())) return false; + if (!getName() + .equals(other.getName())) return false; + if (!getVersion() + .equals(other.getVersion())) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) 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) + MANAGER_FIELD_NUMBER; + hash = (53 * hash) + getManager().hashCode(); + hash = (37 * hash) + NAME_FIELD_NUMBER; + hash = (53 * hash) + getName().hashCode(); + hash = (37 * hash) + VERSION_FIELD_NUMBER; + hash = (53 * hash) + getVersion().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static org.scip_code.scip.Package parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.scip_code.scip.Package parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.scip_code.scip.Package parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.scip_code.scip.Package parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.scip_code.scip.Package parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.scip_code.scip.Package parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.scip_code.scip.Package parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static org.scip_code.scip.Package parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public static org.scip_code.scip.Package parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input); + } + + public static org.scip_code.scip.Package parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static org.scip_code.scip.Package parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static org.scip_code.scip.Package parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(org.scip_code.scip.Package 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + *
+   * Unit of packaging and distribution.
+   *
+   * NOTE: This corresponds to a module in Go and JVM languages.
+   * 
+ * + * Protobuf type {@code scip.Package} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder implements + // @@protoc_insertion_point(builder_implements:scip.Package) + org.scip_code.scip.PackageOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.scip_code.scip.ScipProto.internal_static_scip_Package_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.scip_code.scip.ScipProto.internal_static_scip_Package_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.scip_code.scip.Package.class, org.scip_code.scip.Package.Builder.class); + } + + // Construct using org.scip_code.scip.Package.newBuilder() + private Builder() { + + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + + } + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + manager_ = ""; + name_ = ""; + version_ = ""; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return org.scip_code.scip.ScipProto.internal_static_scip_Package_descriptor; + } + + @java.lang.Override + public org.scip_code.scip.Package getDefaultInstanceForType() { + return org.scip_code.scip.Package.getDefaultInstance(); + } + + @java.lang.Override + public org.scip_code.scip.Package build() { + org.scip_code.scip.Package result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public org.scip_code.scip.Package buildPartial() { + org.scip_code.scip.Package result = new org.scip_code.scip.Package(this); + if (bitField0_ != 0) { buildPartial0(result); } + onBuilt(); + return result; + } + + private void buildPartial0(org.scip_code.scip.Package result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.manager_ = manager_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.name_ = name_; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.version_ = version_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof org.scip_code.scip.Package) { + return mergeFrom((org.scip_code.scip.Package)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(org.scip_code.scip.Package other) { + if (other == org.scip_code.scip.Package.getDefaultInstance()) return this; + if (!other.getManager().isEmpty()) { + manager_ = other.manager_; + bitField0_ |= 0x00000001; + onChanged(); + } + if (!other.getName().isEmpty()) { + name_ = other.name_; + bitField0_ |= 0x00000002; + onChanged(); + } + if (!other.getVersion().isEmpty()) { + version_ = other.version_; + bitField0_ |= 0x00000004; + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + 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 { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + manager_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 18: { + name_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000002; + break; + } // case 18 + case 26: { + version_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000004; + break; + } // case 26 + default: { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + private int bitField0_; + + private java.lang.Object manager_ = ""; + /** + * string manager = 1 [json_name = "manager"]; + * @return The manager. + */ + public java.lang.String getManager() { + java.lang.Object ref = manager_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + manager_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * string manager = 1 [json_name = "manager"]; + * @return The bytes for manager. + */ + public com.google.protobuf.ByteString + getManagerBytes() { + java.lang.Object ref = manager_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + manager_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * string manager = 1 [json_name = "manager"]; + * @param value The manager to set. + * @return This builder for chaining. + */ + public Builder setManager( + java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + manager_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + /** + * string manager = 1 [json_name = "manager"]; + * @return This builder for chaining. + */ + public Builder clearManager() { + manager_ = getDefaultInstance().getManager(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + /** + * string manager = 1 [json_name = "manager"]; + * @param value The bytes for manager to set. + * @return This builder for chaining. + */ + public Builder setManagerBytes( + com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + checkByteStringIsUtf8(value); + manager_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private java.lang.Object name_ = ""; + /** + * string name = 2 [json_name = "name"]; + * @return The name. + */ + public java.lang.String getName() { + java.lang.Object ref = name_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + name_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * string name = 2 [json_name = "name"]; + * @return The bytes for name. + */ + public com.google.protobuf.ByteString + getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * string name = 2 [json_name = "name"]; + * @param value The name to set. + * @return This builder for chaining. + */ + public Builder setName( + java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + name_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + /** + * string name = 2 [json_name = "name"]; + * @return This builder for chaining. + */ + public Builder clearName() { + name_ = getDefaultInstance().getName(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + /** + * string name = 2 [json_name = "name"]; + * @param value The bytes for name to set. + * @return This builder for chaining. + */ + public Builder setNameBytes( + com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + checkByteStringIsUtf8(value); + name_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + private java.lang.Object version_ = ""; + /** + * string version = 3 [json_name = "version"]; + * @return The version. + */ + public java.lang.String getVersion() { + java.lang.Object ref = version_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + version_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * string version = 3 [json_name = "version"]; + * @return The bytes for version. + */ + public com.google.protobuf.ByteString + getVersionBytes() { + java.lang.Object ref = version_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + version_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * string version = 3 [json_name = "version"]; + * @param value The version to set. + * @return This builder for chaining. + */ + public Builder setVersion( + java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + version_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + /** + * string version = 3 [json_name = "version"]; + * @return This builder for chaining. + */ + public Builder clearVersion() { + version_ = getDefaultInstance().getVersion(); + bitField0_ = (bitField0_ & ~0x00000004); + onChanged(); + return this; + } + /** + * string version = 3 [json_name = "version"]; + * @param value The bytes for version to set. + * @return This builder for chaining. + */ + public Builder setVersionBytes( + com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + checkByteStringIsUtf8(value); + version_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:scip.Package) + } + + // @@protoc_insertion_point(class_scope:scip.Package) + private static final org.scip_code.scip.Package DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new org.scip_code.scip.Package(); + } + + public static org.scip_code.scip.Package getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public Package parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public org.scip_code.scip.Package getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + +} + diff --git a/bindings/kotlin/src/main/java/org/scip_code/scip/PackageOrBuilder.java b/bindings/kotlin/src/main/java/org/scip_code/scip/PackageOrBuilder.java new file mode 100644 index 00000000..3fc03231 --- /dev/null +++ b/bindings/kotlin/src/main/java/org/scip_code/scip/PackageOrBuilder.java @@ -0,0 +1,48 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: scip.proto +// Protobuf Java Version: 4.32.1 + +package org.scip_code.scip; + +@com.google.protobuf.Generated +public interface PackageOrBuilder extends + // @@protoc_insertion_point(interface_extends:scip.Package) + com.google.protobuf.MessageOrBuilder { + + /** + * string manager = 1 [json_name = "manager"]; + * @return The manager. + */ + java.lang.String getManager(); + /** + * string manager = 1 [json_name = "manager"]; + * @return The bytes for manager. + */ + com.google.protobuf.ByteString + getManagerBytes(); + + /** + * string name = 2 [json_name = "name"]; + * @return The name. + */ + java.lang.String getName(); + /** + * string name = 2 [json_name = "name"]; + * @return The bytes for name. + */ + com.google.protobuf.ByteString + getNameBytes(); + + /** + * string version = 3 [json_name = "version"]; + * @return The version. + */ + java.lang.String getVersion(); + /** + * string version = 3 [json_name = "version"]; + * @return The bytes for version. + */ + com.google.protobuf.ByteString + getVersionBytes(); +} diff --git a/bindings/kotlin/src/main/java/org/scip_code/scip/PositionEncoding.java b/bindings/kotlin/src/main/java/org/scip_code/scip/PositionEncoding.java new file mode 100644 index 00000000..47e46f71 --- /dev/null +++ b/bindings/kotlin/src/main/java/org/scip_code/scip/PositionEncoding.java @@ -0,0 +1,209 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: scip.proto +// Protobuf Java Version: 4.32.1 + +package org.scip_code.scip; + +/** + *
+ * Encoding used to interpret the 'character' value in source ranges.
+ * 
+ * + * Protobuf enum {@code scip.PositionEncoding} + */ +@com.google.protobuf.Generated +public enum PositionEncoding + implements com.google.protobuf.ProtocolMessageEnum { + /** + *
+   * Default value. This value should not be used by new SCIP indexers
+   * so that a consumer can process the SCIP index without ambiguity.
+   * 
+ * + * UnspecifiedPositionEncoding = 0; + */ + UnspecifiedPositionEncoding(0), + /** + *
+   * The 'character' value is interpreted as an offset in terms
+   * of UTF-8 code units (i.e. bytes).
+   *
+   * Example: For the string "🚀 Woo" in UTF-8, the bytes are
+   * [240, 159, 154, 128, 32, 87, 111, 111], so the offset for 'W'
+   * would be 5.
+   * 
+ * + * UTF8CodeUnitOffsetFromLineStart = 1; + */ + UTF8CodeUnitOffsetFromLineStart(1), + /** + *
+   * The 'character' value is interpreted as an offset in terms
+   * of UTF-16 code units (each is 2 bytes).
+   *
+   * Example: For the string "🚀 Woo", the UTF-16 code units are
+   * ['\ud83d', '\ude80', ' ', 'W', 'o', 'o'], so the offset for 'W'
+   * would be 3.
+   * 
+ * + * UTF16CodeUnitOffsetFromLineStart = 2; + */ + UTF16CodeUnitOffsetFromLineStart(2), + /** + *
+   * The 'character' value is interpreted as an offset in terms
+   * of UTF-32 code units (each is 4 bytes).
+   *
+   * Example: For the string "🚀 Woo", the UTF-32 code units are
+   * ['🚀', ' ', 'W', 'o', 'o'], so the offset for 'W' would be 2.
+   * 
+ * + * UTF32CodeUnitOffsetFromLineStart = 3; + */ + UTF32CodeUnitOffsetFromLineStart(3), + UNRECOGNIZED(-1), + ; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 32, + /* patch= */ 1, + /* suffix= */ "", + PositionEncoding.class.getName()); + } + /** + *
+   * Default value. This value should not be used by new SCIP indexers
+   * so that a consumer can process the SCIP index without ambiguity.
+   * 
+ * + * UnspecifiedPositionEncoding = 0; + */ + public static final int UnspecifiedPositionEncoding_VALUE = 0; + /** + *
+   * The 'character' value is interpreted as an offset in terms
+   * of UTF-8 code units (i.e. bytes).
+   *
+   * Example: For the string "🚀 Woo" in UTF-8, the bytes are
+   * [240, 159, 154, 128, 32, 87, 111, 111], so the offset for 'W'
+   * would be 5.
+   * 
+ * + * UTF8CodeUnitOffsetFromLineStart = 1; + */ + public static final int UTF8CodeUnitOffsetFromLineStart_VALUE = 1; + /** + *
+   * The 'character' value is interpreted as an offset in terms
+   * of UTF-16 code units (each is 2 bytes).
+   *
+   * Example: For the string "🚀 Woo", the UTF-16 code units are
+   * ['\ud83d', '\ude80', ' ', 'W', 'o', 'o'], so the offset for 'W'
+   * would be 3.
+   * 
+ * + * UTF16CodeUnitOffsetFromLineStart = 2; + */ + public static final int UTF16CodeUnitOffsetFromLineStart_VALUE = 2; + /** + *
+   * The 'character' value is interpreted as an offset in terms
+   * of UTF-32 code units (each is 4 bytes).
+   *
+   * Example: For the string "🚀 Woo", the UTF-32 code units are
+   * ['🚀', ' ', 'W', 'o', 'o'], so the offset for 'W' would be 2.
+   * 
+ * + * UTF32CodeUnitOffsetFromLineStart = 3; + */ + public static final int UTF32CodeUnitOffsetFromLineStart_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 PositionEncoding 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 PositionEncoding forNumber(int value) { + switch (value) { + case 0: return UnspecifiedPositionEncoding; + case 1: return UTF8CodeUnitOffsetFromLineStart; + case 2: return UTF16CodeUnitOffsetFromLineStart; + case 3: return UTF32CodeUnitOffsetFromLineStart; + default: return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap + internalGetValueMap() { + return internalValueMap; + } + private static final com.google.protobuf.Internal.EnumLiteMap< + PositionEncoding> internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap() { + public PositionEncoding findValueByNumber(int number) { + return PositionEncoding.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 com.google.protobuf.Descriptors.EnumDescriptor + getDescriptor() { + return org.scip_code.scip.ScipProto.getDescriptor().getEnumTypes().get(2); + } + + private static final PositionEncoding[] VALUES = values(); + + public static PositionEncoding 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 PositionEncoding(int value) { + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:scip.PositionEncoding) +} + diff --git a/bindings/kotlin/src/main/java/org/scip_code/scip/ProtocolVersion.java b/bindings/kotlin/src/main/java/org/scip_code/scip/ProtocolVersion.java new file mode 100644 index 00000000..4e975c2b --- /dev/null +++ b/bindings/kotlin/src/main/java/org/scip_code/scip/ProtocolVersion.java @@ -0,0 +1,116 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: scip.proto +// Protobuf Java Version: 4.32.1 + +package org.scip_code.scip; + +/** + * Protobuf enum {@code scip.ProtocolVersion} + */ +@com.google.protobuf.Generated +public enum ProtocolVersion + implements com.google.protobuf.ProtocolMessageEnum { + /** + * UnspecifiedProtocolVersion = 0; + */ + UnspecifiedProtocolVersion(0), + UNRECOGNIZED(-1), + ; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 32, + /* patch= */ 1, + /* suffix= */ "", + ProtocolVersion.class.getName()); + } + /** + * UnspecifiedProtocolVersion = 0; + */ + public static final int UnspecifiedProtocolVersion_VALUE = 0; + + + 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 ProtocolVersion 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 ProtocolVersion forNumber(int value) { + switch (value) { + case 0: return UnspecifiedProtocolVersion; + default: return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap + internalGetValueMap() { + return internalValueMap; + } + private static final com.google.protobuf.Internal.EnumLiteMap< + ProtocolVersion> internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap() { + public ProtocolVersion findValueByNumber(int number) { + return ProtocolVersion.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 com.google.protobuf.Descriptors.EnumDescriptor + getDescriptor() { + return org.scip_code.scip.ScipProto.getDescriptor().getEnumTypes().get(0); + } + + private static final ProtocolVersion[] VALUES = values(); + + public static ProtocolVersion 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 ProtocolVersion(int value) { + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:scip.ProtocolVersion) +} + diff --git a/bindings/kotlin/src/main/java/org/scip_code/scip/Relationship.java b/bindings/kotlin/src/main/java/org/scip_code/scip/Relationship.java new file mode 100644 index 00000000..6b1db513 --- /dev/null +++ b/bindings/kotlin/src/main/java/org/scip_code/scip/Relationship.java @@ -0,0 +1,998 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: scip.proto +// Protobuf Java Version: 4.32.1 + +package org.scip_code.scip; + +/** + * Protobuf type {@code scip.Relationship} + */ +@com.google.protobuf.Generated +public final class Relationship extends + com.google.protobuf.GeneratedMessage implements + // @@protoc_insertion_point(message_implements:scip.Relationship) + RelationshipOrBuilder { +private static final long serialVersionUID = 0L; + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 32, + /* patch= */ 1, + /* suffix= */ "", + Relationship.class.getName()); + } + // Use Relationship.newBuilder() to construct. + private Relationship(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + private Relationship() { + symbol_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.scip_code.scip.ScipProto.internal_static_scip_Relationship_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.scip_code.scip.ScipProto.internal_static_scip_Relationship_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.scip_code.scip.Relationship.class, org.scip_code.scip.Relationship.Builder.class); + } + + public static final int SYMBOL_FIELD_NUMBER = 1; + @SuppressWarnings("serial") + private volatile java.lang.Object symbol_ = ""; + /** + * string symbol = 1 [json_name = "symbol"]; + * @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 [json_name = "symbol"]; + * @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 IS_REFERENCE_FIELD_NUMBER = 2; + private boolean isReference_ = false; + /** + *
+   * When resolving "Find references", this field documents what other symbols
+   * should be included together with this symbol. For example, consider the
+   * following TypeScript code that defines two symbols `Animal#sound()` and
+   * `Dog#sound()`:
+   * ```ts
+   * interface Animal {
+   * ^^^^^^ definition Animal#
+   * sound(): string
+   * ^^^^^ definition Animal#sound()
+   * }
+   * class Dog implements Animal {
+   * ^^^ definition Dog#, relationships = [{symbol: "Animal#", is_implementation: true}]
+   * public sound(): string { return "woof" }
+   * ^^^^^ definition Dog#sound(), references_symbols = Animal#sound(), relationships = [{symbol: "Animal#sound()", is_implementation:true, is_reference: true}]
+   * }
+   * const animal: Animal = new Dog()
+   * ^^^^^^ reference Animal#
+   * console.log(animal.sound())
+   * ^^^^^ reference Animal#sound()
+   * ```
+   * Doing "Find references" on the symbol `Animal#sound()` should return
+   * references to the `Dog#sound()` method as well. Vice-versa, doing "Find
+   * references" on the `Dog#sound()` method should include references to the
+   * `Animal#sound()` method as well.
+   * 
+ * + * bool is_reference = 2 [json_name = "isReference"]; + * @return The isReference. + */ + @java.lang.Override + public boolean getIsReference() { + return isReference_; + } + + public static final int IS_IMPLEMENTATION_FIELD_NUMBER = 3; + private boolean isImplementation_ = false; + /** + *
+   * Similar to `is_reference` but for "Find implementations".
+   * It's common for `is_implementation` and `is_reference` to both be true but
+   * it's not always the case.
+   * In the TypeScript example above, observe that `Dog#` has an
+   * `is_implementation` relationship with `"Animal#"` but not `is_reference`.
+   * This is because "Find references" on the "Animal#" symbol should not return
+   * "Dog#". We only want "Dog#" to return as a result for "Find
+   * implementations" on the "Animal#" symbol.
+   * 
+ * + * bool is_implementation = 3 [json_name = "isImplementation"]; + * @return The isImplementation. + */ + @java.lang.Override + public boolean getIsImplementation() { + return isImplementation_; + } + + public static final int IS_TYPE_DEFINITION_FIELD_NUMBER = 4; + private boolean isTypeDefinition_ = false; + /** + *
+   * Similar to `references_symbols` but for "Go to type definition".
+   * 
+ * + * bool is_type_definition = 4 [json_name = "isTypeDefinition"]; + * @return The isTypeDefinition. + */ + @java.lang.Override + public boolean getIsTypeDefinition() { + return isTypeDefinition_; + } + + public static final int IS_DEFINITION_FIELD_NUMBER = 5; + private boolean isDefinition_ = false; + /** + *
+   * Allows overriding the behavior of "Go to definition" and "Find references"
+   * for symbols which do not have a definition of their own or could
+   * potentially have multiple definitions.
+   *
+   * For example, in a language with single inheritance and no field overriding,
+   * inherited fields can reuse the same symbol as the ancestor which declares
+   * the field. In such a situation, is_definition is not needed.
+   *
+   * On the other hand, in languages with single inheritance and some form
+   * of mixins, you can use is_definition to relate the symbol to the
+   * matching symbol in ancestor classes, and is_reference to relate the
+   * symbol to the matching symbol in mixins.
+   * 
+ * + * bool is_definition = 5 [json_name = "isDefinition"]; + * @return The isDefinition. + */ + @java.lang.Override + public boolean getIsDefinition() { + return isDefinition_; + } + + 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 (!com.google.protobuf.GeneratedMessage.isStringEmpty(symbol_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, symbol_); + } + if (isReference_ != false) { + output.writeBool(2, isReference_); + } + if (isImplementation_ != false) { + output.writeBool(3, isImplementation_); + } + if (isTypeDefinition_ != false) { + output.writeBool(4, isTypeDefinition_); + } + if (isDefinition_ != false) { + output.writeBool(5, isDefinition_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(symbol_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, symbol_); + } + if (isReference_ != false) { + size += com.google.protobuf.CodedOutputStream + .computeBoolSize(2, isReference_); + } + if (isImplementation_ != false) { + size += com.google.protobuf.CodedOutputStream + .computeBoolSize(3, isImplementation_); + } + if (isTypeDefinition_ != false) { + size += com.google.protobuf.CodedOutputStream + .computeBoolSize(4, isTypeDefinition_); + } + if (isDefinition_ != false) { + size += com.google.protobuf.CodedOutputStream + .computeBoolSize(5, isDefinition_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof org.scip_code.scip.Relationship)) { + return super.equals(obj); + } + org.scip_code.scip.Relationship other = (org.scip_code.scip.Relationship) obj; + + if (!getSymbol() + .equals(other.getSymbol())) return false; + if (getIsReference() + != other.getIsReference()) return false; + if (getIsImplementation() + != other.getIsImplementation()) return false; + if (getIsTypeDefinition() + != other.getIsTypeDefinition()) return false; + if (getIsDefinition() + != other.getIsDefinition()) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) 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) + IS_REFERENCE_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( + getIsReference()); + hash = (37 * hash) + IS_IMPLEMENTATION_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( + getIsImplementation()); + hash = (37 * hash) + IS_TYPE_DEFINITION_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( + getIsTypeDefinition()); + hash = (37 * hash) + IS_DEFINITION_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( + getIsDefinition()); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static org.scip_code.scip.Relationship parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.scip_code.scip.Relationship parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.scip_code.scip.Relationship parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.scip_code.scip.Relationship parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.scip_code.scip.Relationship parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.scip_code.scip.Relationship parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.scip_code.scip.Relationship parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static org.scip_code.scip.Relationship parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public static org.scip_code.scip.Relationship parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input); + } + + public static org.scip_code.scip.Relationship parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static org.scip_code.scip.Relationship parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static org.scip_code.scip.Relationship parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(org.scip_code.scip.Relationship 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code scip.Relationship} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder implements + // @@protoc_insertion_point(builder_implements:scip.Relationship) + org.scip_code.scip.RelationshipOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.scip_code.scip.ScipProto.internal_static_scip_Relationship_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.scip_code.scip.ScipProto.internal_static_scip_Relationship_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.scip_code.scip.Relationship.class, org.scip_code.scip.Relationship.Builder.class); + } + + // Construct using org.scip_code.scip.Relationship.newBuilder() + private Builder() { + + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + + } + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + symbol_ = ""; + isReference_ = false; + isImplementation_ = false; + isTypeDefinition_ = false; + isDefinition_ = false; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return org.scip_code.scip.ScipProto.internal_static_scip_Relationship_descriptor; + } + + @java.lang.Override + public org.scip_code.scip.Relationship getDefaultInstanceForType() { + return org.scip_code.scip.Relationship.getDefaultInstance(); + } + + @java.lang.Override + public org.scip_code.scip.Relationship build() { + org.scip_code.scip.Relationship result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public org.scip_code.scip.Relationship buildPartial() { + org.scip_code.scip.Relationship result = new org.scip_code.scip.Relationship(this); + if (bitField0_ != 0) { buildPartial0(result); } + onBuilt(); + return result; + } + + private void buildPartial0(org.scip_code.scip.Relationship result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.symbol_ = symbol_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.isReference_ = isReference_; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.isImplementation_ = isImplementation_; + } + if (((from_bitField0_ & 0x00000008) != 0)) { + result.isTypeDefinition_ = isTypeDefinition_; + } + if (((from_bitField0_ & 0x00000010) != 0)) { + result.isDefinition_ = isDefinition_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof org.scip_code.scip.Relationship) { + return mergeFrom((org.scip_code.scip.Relationship)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(org.scip_code.scip.Relationship other) { + if (other == org.scip_code.scip.Relationship.getDefaultInstance()) return this; + if (!other.getSymbol().isEmpty()) { + symbol_ = other.symbol_; + bitField0_ |= 0x00000001; + onChanged(); + } + if (other.getIsReference() != false) { + setIsReference(other.getIsReference()); + } + if (other.getIsImplementation() != false) { + setIsImplementation(other.getIsImplementation()); + } + if (other.getIsTypeDefinition() != false) { + setIsTypeDefinition(other.getIsTypeDefinition()); + } + if (other.getIsDefinition() != false) { + setIsDefinition(other.getIsDefinition()); + } + this.mergeUnknownFields(other.getUnknownFields()); + 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 { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + symbol_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 16: { + isReference_ = input.readBool(); + bitField0_ |= 0x00000002; + break; + } // case 16 + case 24: { + isImplementation_ = input.readBool(); + bitField0_ |= 0x00000004; + break; + } // case 24 + case 32: { + isTypeDefinition_ = input.readBool(); + bitField0_ |= 0x00000008; + break; + } // case 32 + case 40: { + isDefinition_ = input.readBool(); + bitField0_ |= 0x00000010; + break; + } // case 40 + default: { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + private int bitField0_; + + private java.lang.Object symbol_ = ""; + /** + * string symbol = 1 [json_name = "symbol"]; + * @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 [json_name = "symbol"]; + * @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 [json_name = "symbol"]; + * @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; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + /** + * string symbol = 1 [json_name = "symbol"]; + * @return This builder for chaining. + */ + public Builder clearSymbol() { + symbol_ = getDefaultInstance().getSymbol(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + /** + * string symbol = 1 [json_name = "symbol"]; + * @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; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private boolean isReference_ ; + /** + *
+     * When resolving "Find references", this field documents what other symbols
+     * should be included together with this symbol. For example, consider the
+     * following TypeScript code that defines two symbols `Animal#sound()` and
+     * `Dog#sound()`:
+     * ```ts
+     * interface Animal {
+     * ^^^^^^ definition Animal#
+     * sound(): string
+     * ^^^^^ definition Animal#sound()
+     * }
+     * class Dog implements Animal {
+     * ^^^ definition Dog#, relationships = [{symbol: "Animal#", is_implementation: true}]
+     * public sound(): string { return "woof" }
+     * ^^^^^ definition Dog#sound(), references_symbols = Animal#sound(), relationships = [{symbol: "Animal#sound()", is_implementation:true, is_reference: true}]
+     * }
+     * const animal: Animal = new Dog()
+     * ^^^^^^ reference Animal#
+     * console.log(animal.sound())
+     * ^^^^^ reference Animal#sound()
+     * ```
+     * Doing "Find references" on the symbol `Animal#sound()` should return
+     * references to the `Dog#sound()` method as well. Vice-versa, doing "Find
+     * references" on the `Dog#sound()` method should include references to the
+     * `Animal#sound()` method as well.
+     * 
+ * + * bool is_reference = 2 [json_name = "isReference"]; + * @return The isReference. + */ + @java.lang.Override + public boolean getIsReference() { + return isReference_; + } + /** + *
+     * When resolving "Find references", this field documents what other symbols
+     * should be included together with this symbol. For example, consider the
+     * following TypeScript code that defines two symbols `Animal#sound()` and
+     * `Dog#sound()`:
+     * ```ts
+     * interface Animal {
+     * ^^^^^^ definition Animal#
+     * sound(): string
+     * ^^^^^ definition Animal#sound()
+     * }
+     * class Dog implements Animal {
+     * ^^^ definition Dog#, relationships = [{symbol: "Animal#", is_implementation: true}]
+     * public sound(): string { return "woof" }
+     * ^^^^^ definition Dog#sound(), references_symbols = Animal#sound(), relationships = [{symbol: "Animal#sound()", is_implementation:true, is_reference: true}]
+     * }
+     * const animal: Animal = new Dog()
+     * ^^^^^^ reference Animal#
+     * console.log(animal.sound())
+     * ^^^^^ reference Animal#sound()
+     * ```
+     * Doing "Find references" on the symbol `Animal#sound()` should return
+     * references to the `Dog#sound()` method as well. Vice-versa, doing "Find
+     * references" on the `Dog#sound()` method should include references to the
+     * `Animal#sound()` method as well.
+     * 
+ * + * bool is_reference = 2 [json_name = "isReference"]; + * @param value The isReference to set. + * @return This builder for chaining. + */ + public Builder setIsReference(boolean value) { + + isReference_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + /** + *
+     * When resolving "Find references", this field documents what other symbols
+     * should be included together with this symbol. For example, consider the
+     * following TypeScript code that defines two symbols `Animal#sound()` and
+     * `Dog#sound()`:
+     * ```ts
+     * interface Animal {
+     * ^^^^^^ definition Animal#
+     * sound(): string
+     * ^^^^^ definition Animal#sound()
+     * }
+     * class Dog implements Animal {
+     * ^^^ definition Dog#, relationships = [{symbol: "Animal#", is_implementation: true}]
+     * public sound(): string { return "woof" }
+     * ^^^^^ definition Dog#sound(), references_symbols = Animal#sound(), relationships = [{symbol: "Animal#sound()", is_implementation:true, is_reference: true}]
+     * }
+     * const animal: Animal = new Dog()
+     * ^^^^^^ reference Animal#
+     * console.log(animal.sound())
+     * ^^^^^ reference Animal#sound()
+     * ```
+     * Doing "Find references" on the symbol `Animal#sound()` should return
+     * references to the `Dog#sound()` method as well. Vice-versa, doing "Find
+     * references" on the `Dog#sound()` method should include references to the
+     * `Animal#sound()` method as well.
+     * 
+ * + * bool is_reference = 2 [json_name = "isReference"]; + * @return This builder for chaining. + */ + public Builder clearIsReference() { + bitField0_ = (bitField0_ & ~0x00000002); + isReference_ = false; + onChanged(); + return this; + } + + private boolean isImplementation_ ; + /** + *
+     * Similar to `is_reference` but for "Find implementations".
+     * It's common for `is_implementation` and `is_reference` to both be true but
+     * it's not always the case.
+     * In the TypeScript example above, observe that `Dog#` has an
+     * `is_implementation` relationship with `"Animal#"` but not `is_reference`.
+     * This is because "Find references" on the "Animal#" symbol should not return
+     * "Dog#". We only want "Dog#" to return as a result for "Find
+     * implementations" on the "Animal#" symbol.
+     * 
+ * + * bool is_implementation = 3 [json_name = "isImplementation"]; + * @return The isImplementation. + */ + @java.lang.Override + public boolean getIsImplementation() { + return isImplementation_; + } + /** + *
+     * Similar to `is_reference` but for "Find implementations".
+     * It's common for `is_implementation` and `is_reference` to both be true but
+     * it's not always the case.
+     * In the TypeScript example above, observe that `Dog#` has an
+     * `is_implementation` relationship with `"Animal#"` but not `is_reference`.
+     * This is because "Find references" on the "Animal#" symbol should not return
+     * "Dog#". We only want "Dog#" to return as a result for "Find
+     * implementations" on the "Animal#" symbol.
+     * 
+ * + * bool is_implementation = 3 [json_name = "isImplementation"]; + * @param value The isImplementation to set. + * @return This builder for chaining. + */ + public Builder setIsImplementation(boolean value) { + + isImplementation_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + /** + *
+     * Similar to `is_reference` but for "Find implementations".
+     * It's common for `is_implementation` and `is_reference` to both be true but
+     * it's not always the case.
+     * In the TypeScript example above, observe that `Dog#` has an
+     * `is_implementation` relationship with `"Animal#"` but not `is_reference`.
+     * This is because "Find references" on the "Animal#" symbol should not return
+     * "Dog#". We only want "Dog#" to return as a result for "Find
+     * implementations" on the "Animal#" symbol.
+     * 
+ * + * bool is_implementation = 3 [json_name = "isImplementation"]; + * @return This builder for chaining. + */ + public Builder clearIsImplementation() { + bitField0_ = (bitField0_ & ~0x00000004); + isImplementation_ = false; + onChanged(); + return this; + } + + private boolean isTypeDefinition_ ; + /** + *
+     * Similar to `references_symbols` but for "Go to type definition".
+     * 
+ * + * bool is_type_definition = 4 [json_name = "isTypeDefinition"]; + * @return The isTypeDefinition. + */ + @java.lang.Override + public boolean getIsTypeDefinition() { + return isTypeDefinition_; + } + /** + *
+     * Similar to `references_symbols` but for "Go to type definition".
+     * 
+ * + * bool is_type_definition = 4 [json_name = "isTypeDefinition"]; + * @param value The isTypeDefinition to set. + * @return This builder for chaining. + */ + public Builder setIsTypeDefinition(boolean value) { + + isTypeDefinition_ = value; + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + /** + *
+     * Similar to `references_symbols` but for "Go to type definition".
+     * 
+ * + * bool is_type_definition = 4 [json_name = "isTypeDefinition"]; + * @return This builder for chaining. + */ + public Builder clearIsTypeDefinition() { + bitField0_ = (bitField0_ & ~0x00000008); + isTypeDefinition_ = false; + onChanged(); + return this; + } + + private boolean isDefinition_ ; + /** + *
+     * Allows overriding the behavior of "Go to definition" and "Find references"
+     * for symbols which do not have a definition of their own or could
+     * potentially have multiple definitions.
+     *
+     * For example, in a language with single inheritance and no field overriding,
+     * inherited fields can reuse the same symbol as the ancestor which declares
+     * the field. In such a situation, is_definition is not needed.
+     *
+     * On the other hand, in languages with single inheritance and some form
+     * of mixins, you can use is_definition to relate the symbol to the
+     * matching symbol in ancestor classes, and is_reference to relate the
+     * symbol to the matching symbol in mixins.
+     * 
+ * + * bool is_definition = 5 [json_name = "isDefinition"]; + * @return The isDefinition. + */ + @java.lang.Override + public boolean getIsDefinition() { + return isDefinition_; + } + /** + *
+     * Allows overriding the behavior of "Go to definition" and "Find references"
+     * for symbols which do not have a definition of their own or could
+     * potentially have multiple definitions.
+     *
+     * For example, in a language with single inheritance and no field overriding,
+     * inherited fields can reuse the same symbol as the ancestor which declares
+     * the field. In such a situation, is_definition is not needed.
+     *
+     * On the other hand, in languages with single inheritance and some form
+     * of mixins, you can use is_definition to relate the symbol to the
+     * matching symbol in ancestor classes, and is_reference to relate the
+     * symbol to the matching symbol in mixins.
+     * 
+ * + * bool is_definition = 5 [json_name = "isDefinition"]; + * @param value The isDefinition to set. + * @return This builder for chaining. + */ + public Builder setIsDefinition(boolean value) { + + isDefinition_ = value; + bitField0_ |= 0x00000010; + onChanged(); + return this; + } + /** + *
+     * Allows overriding the behavior of "Go to definition" and "Find references"
+     * for symbols which do not have a definition of their own or could
+     * potentially have multiple definitions.
+     *
+     * For example, in a language with single inheritance and no field overriding,
+     * inherited fields can reuse the same symbol as the ancestor which declares
+     * the field. In such a situation, is_definition is not needed.
+     *
+     * On the other hand, in languages with single inheritance and some form
+     * of mixins, you can use is_definition to relate the symbol to the
+     * matching symbol in ancestor classes, and is_reference to relate the
+     * symbol to the matching symbol in mixins.
+     * 
+ * + * bool is_definition = 5 [json_name = "isDefinition"]; + * @return This builder for chaining. + */ + public Builder clearIsDefinition() { + bitField0_ = (bitField0_ & ~0x00000010); + isDefinition_ = false; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:scip.Relationship) + } + + // @@protoc_insertion_point(class_scope:scip.Relationship) + private static final org.scip_code.scip.Relationship DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new org.scip_code.scip.Relationship(); + } + + public static org.scip_code.scip.Relationship getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public Relationship parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public org.scip_code.scip.Relationship getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + +} + diff --git a/bindings/kotlin/src/main/java/org/scip_code/scip/RelationshipOrBuilder.java b/bindings/kotlin/src/main/java/org/scip_code/scip/RelationshipOrBuilder.java new file mode 100644 index 00000000..419dccc4 --- /dev/null +++ b/bindings/kotlin/src/main/java/org/scip_code/scip/RelationshipOrBuilder.java @@ -0,0 +1,105 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: scip.proto +// Protobuf Java Version: 4.32.1 + +package org.scip_code.scip; + +@com.google.protobuf.Generated +public interface RelationshipOrBuilder extends + // @@protoc_insertion_point(interface_extends:scip.Relationship) + com.google.protobuf.MessageOrBuilder { + + /** + * string symbol = 1 [json_name = "symbol"]; + * @return The symbol. + */ + java.lang.String getSymbol(); + /** + * string symbol = 1 [json_name = "symbol"]; + * @return The bytes for symbol. + */ + com.google.protobuf.ByteString + getSymbolBytes(); + + /** + *
+   * When resolving "Find references", this field documents what other symbols
+   * should be included together with this symbol. For example, consider the
+   * following TypeScript code that defines two symbols `Animal#sound()` and
+   * `Dog#sound()`:
+   * ```ts
+   * interface Animal {
+   * ^^^^^^ definition Animal#
+   * sound(): string
+   * ^^^^^ definition Animal#sound()
+   * }
+   * class Dog implements Animal {
+   * ^^^ definition Dog#, relationships = [{symbol: "Animal#", is_implementation: true}]
+   * public sound(): string { return "woof" }
+   * ^^^^^ definition Dog#sound(), references_symbols = Animal#sound(), relationships = [{symbol: "Animal#sound()", is_implementation:true, is_reference: true}]
+   * }
+   * const animal: Animal = new Dog()
+   * ^^^^^^ reference Animal#
+   * console.log(animal.sound())
+   * ^^^^^ reference Animal#sound()
+   * ```
+   * Doing "Find references" on the symbol `Animal#sound()` should return
+   * references to the `Dog#sound()` method as well. Vice-versa, doing "Find
+   * references" on the `Dog#sound()` method should include references to the
+   * `Animal#sound()` method as well.
+   * 
+ * + * bool is_reference = 2 [json_name = "isReference"]; + * @return The isReference. + */ + boolean getIsReference(); + + /** + *
+   * Similar to `is_reference` but for "Find implementations".
+   * It's common for `is_implementation` and `is_reference` to both be true but
+   * it's not always the case.
+   * In the TypeScript example above, observe that `Dog#` has an
+   * `is_implementation` relationship with `"Animal#"` but not `is_reference`.
+   * This is because "Find references" on the "Animal#" symbol should not return
+   * "Dog#". We only want "Dog#" to return as a result for "Find
+   * implementations" on the "Animal#" symbol.
+   * 
+ * + * bool is_implementation = 3 [json_name = "isImplementation"]; + * @return The isImplementation. + */ + boolean getIsImplementation(); + + /** + *
+   * Similar to `references_symbols` but for "Go to type definition".
+   * 
+ * + * bool is_type_definition = 4 [json_name = "isTypeDefinition"]; + * @return The isTypeDefinition. + */ + boolean getIsTypeDefinition(); + + /** + *
+   * Allows overriding the behavior of "Go to definition" and "Find references"
+   * for symbols which do not have a definition of their own or could
+   * potentially have multiple definitions.
+   *
+   * For example, in a language with single inheritance and no field overriding,
+   * inherited fields can reuse the same symbol as the ancestor which declares
+   * the field. In such a situation, is_definition is not needed.
+   *
+   * On the other hand, in languages with single inheritance and some form
+   * of mixins, you can use is_definition to relate the symbol to the
+   * matching symbol in ancestor classes, and is_reference to relate the
+   * symbol to the matching symbol in mixins.
+   * 
+ * + * bool is_definition = 5 [json_name = "isDefinition"]; + * @return The isDefinition. + */ + boolean getIsDefinition(); +} diff --git a/bindings/kotlin/src/main/java/org/scip_code/scip/ScipProto.java b/bindings/kotlin/src/main/java/org/scip_code/scip/ScipProto.java new file mode 100644 index 00000000..37286743 --- /dev/null +++ b/bindings/kotlin/src/main/java/org/scip_code/scip/ScipProto.java @@ -0,0 +1,344 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: scip.proto +// Protobuf Java Version: 4.32.1 + +package org.scip_code.scip; + +@com.google.protobuf.Generated +public final class ScipProto extends com.google.protobuf.GeneratedFile { + private ScipProto() {} + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 32, + /* patch= */ 1, + /* suffix= */ "", + ScipProto.class.getName()); + } + public static void registerAllExtensions( + com.google.protobuf.ExtensionRegistryLite registry) { + } + + public static void registerAllExtensions( + com.google.protobuf.ExtensionRegistry registry) { + registerAllExtensions( + (com.google.protobuf.ExtensionRegistryLite) registry); + } + static final com.google.protobuf.Descriptors.Descriptor + internal_static_scip_Index_descriptor; + static final + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_scip_Index_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_scip_Metadata_descriptor; + static final + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_scip_Metadata_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_scip_ToolInfo_descriptor; + static final + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_scip_ToolInfo_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_scip_Document_descriptor; + static final + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_scip_Document_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_scip_Symbol_descriptor; + static final + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_scip_Symbol_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_scip_Package_descriptor; + static final + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_scip_Package_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_scip_Descriptor_descriptor; + static final + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_scip_Descriptor_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_scip_Signature_descriptor; + static final + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_scip_Signature_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_scip_SymbolInformation_descriptor; + static final + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_scip_SymbolInformation_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_scip_Relationship_descriptor; + static final + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_scip_Relationship_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_scip_Occurrence_descriptor; + static final + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_scip_Occurrence_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_scip_Diagnostic_descriptor; + static final + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_scip_Diagnostic_fieldAccessorTable; + + public static com.google.protobuf.Descriptors.FileDescriptor + getDescriptor() { + return descriptor; + } + private static com.google.protobuf.Descriptors.FileDescriptor + descriptor; + static { + java.lang.String[] descriptorData = { + "\n\nscip.proto\022\004scip\"\245\001\n\005Index\022*\n\010metadata" + + "\030\001 \001(\0132\016.scip.MetadataR\010metadata\022,\n\tdocu" + + "ments\030\002 \003(\0132\016.scip.DocumentR\tdocuments\022B" + + "\n\020external_symbols\030\003 \003(\0132\027.scip.SymbolIn" + + "formationR\017externalSymbols\"\325\001\n\010Metadata\022" + + "/\n\007version\030\001 \001(\0162\025.scip.ProtocolVersionR" + + "\007version\022+\n\ttool_info\030\002 \001(\0132\016.scip.ToolI" + + "nfoR\010toolInfo\022!\n\014project_root\030\003 \001(\tR\013pro" + + "jectRoot\022H\n\026text_document_encoding\030\004 \001(\016" + + "2\022.scip.TextEncodingR\024textDocumentEncodi" + + "ng\"V\n\010ToolInfo\022\022\n\004name\030\001 \001(\tR\004name\022\030\n\007ve" + + "rsion\030\002 \001(\tR\007version\022\034\n\targuments\030\003 \003(\tR" + + "\targuments\"\213\002\n\010Document\022\032\n\010language\030\004 \001(" + + "\tR\010language\022#\n\rrelative_path\030\001 \001(\tR\014rela" + + "tivePath\0222\n\013occurrences\030\002 \003(\0132\020.scip.Occ" + + "urrenceR\013occurrences\0221\n\007symbols\030\003 \003(\0132\027." + + "scip.SymbolInformationR\007symbols\022\022\n\004text\030" + + "\005 \001(\tR\004text\022C\n\021position_encoding\030\006 \001(\0162\026" + + ".scip.PositionEncodingR\020positionEncoding" + + "\"}\n\006Symbol\022\026\n\006scheme\030\001 \001(\tR\006scheme\022\'\n\007pa" + + "ckage\030\002 \001(\0132\r.scip.PackageR\007package\0222\n\013d" + + "escriptors\030\003 \003(\0132\020.scip.DescriptorR\013desc" + + "riptors\"Q\n\007Package\022\030\n\007manager\030\001 \001(\tR\007man" + + "ager\022\022\n\004name\030\002 \001(\tR\004name\022\030\n\007version\030\003 \001(" + + "\tR\007version\"\237\002\n\nDescriptor\022\022\n\004name\030\001 \001(\tR" + + "\004name\022$\n\rdisambiguator\030\002 \001(\tR\rdisambigua" + + "tor\022/\n\006suffix\030\003 \001(\0162\027.scip.Descriptor.Su" + + "ffixR\006suffix\"\245\001\n\006Suffix\022\025\n\021UnspecifiedSu" + + "ffix\020\000\022\r\n\tNamespace\020\001\022\017\n\007Package\020\001\032\002\010\001\022\010" + + "\n\004Type\020\002\022\010\n\004Term\020\003\022\n\n\006Method\020\004\022\021\n\rTypePa" + + "rameter\020\005\022\r\n\tParameter\020\006\022\010\n\004Meta\020\007\022\t\n\005Lo" + + "cal\020\010\022\t\n\005Macro\020\t\032\002\020\001\"\201\001\n\tSignature\022\032\n\010la" + + "nguage\030\004 \001(\tR\010language\022\022\n\004text\030\005 \001(\tR\004te" + + "xt\0222\n\013occurrences\030\002 \003(\0132\020.scip.Occurrenc" + + "eR\013occurrencesJ\004\010\001\020\002J\004\010\003\020\004J\004\010\006\020\007\"\323\014\n\021Sym" + + "bolInformation\022\026\n\006symbol\030\001 \001(\tR\006symbol\022$" + + "\n\rdocumentation\030\003 \003(\tR\rdocumentation\0228\n\r" + + "relationships\030\004 \003(\0132\022.scip.RelationshipR" + + "\rrelationships\0220\n\004kind\030\005 \001(\0162\034.scip.Symb" + + "olInformation.KindR\004kind\022!\n\014display_name" + + "\030\006 \001(\tR\013displayName\022H\n\027signature_documen" + + "tation\030\007 \001(\0132\017.scip.SignatureR\026signature" + + "Documentation\022)\n\020enclosing_symbol\030\010 \001(\tR" + + "\017enclosingSymbol\"\373\t\n\004Kind\022\023\n\017Unspecified" + + "Kind\020\000\022\022\n\016AbstractMethod\020B\022\014\n\010Accessor\020H" + + "\022\t\n\005Array\020\001\022\r\n\tAssertion\020\002\022\022\n\016Associated" + + "Type\020\003\022\r\n\tAttribute\020\004\022\t\n\005Axiom\020\005\022\013\n\007Bool" + + "ean\020\006\022\t\n\005Class\020\007\022\013\n\007Concept\020V\022\014\n\010Constan" + + "t\020\010\022\017\n\013Constructor\020\t\022\014\n\010Contract\020>\022\016\n\nDa" + + "taFamily\020\n\022\014\n\010Delegate\020I\022\010\n\004Enum\020\013\022\016\n\nEn" + + "umMember\020\014\022\t\n\005Error\020?\022\t\n\005Event\020\r\022\r\n\tExte" + + "nsion\020T\022\010\n\004Fact\020\016\022\t\n\005Field\020\017\022\010\n\004File\020\020\022\014" + + "\n\010Function\020\021\022\n\n\006Getter\020\022\022\013\n\007Grammar\020\023\022\014\n" + + "\010Instance\020\024\022\r\n\tInterface\020\025\022\007\n\003Key\020\026\022\010\n\004L" + + "ang\020\027\022\t\n\005Lemma\020\030\022\013\n\007Library\020@\022\t\n\005Macro\020\031" + + "\022\n\n\006Method\020\032\022\017\n\013MethodAlias\020J\022\022\n\016MethodR" + + "eceiver\020\033\022\027\n\023MethodSpecification\020C\022\013\n\007Me" + + "ssage\020\034\022\t\n\005Mixin\020U\022\014\n\010Modifier\020A\022\n\n\006Modu" + + "le\020\035\022\r\n\tNamespace\020\036\022\010\n\004Null\020\037\022\n\n\006Number\020" + + " \022\n\n\006Object\020!\022\014\n\010Operator\020\"\022\013\n\007Package\020#" + + "\022\021\n\rPackageObject\020$\022\r\n\tParameter\020%\022\022\n\016Pa" + + "rameterLabel\020&\022\013\n\007Pattern\020\'\022\r\n\tPredicate" + + "\020(\022\014\n\010Property\020)\022\014\n\010Protocol\020*\022\022\n\016Protoc" + + "olMethod\020D\022\025\n\021PureVirtualMethod\020E\022\017\n\013Qua" + + "siquoter\020+\022\021\n\rSelfParameter\020,\022\n\n\006Setter\020" + + "-\022\r\n\tSignature\020.\022\022\n\016SingletonClass\020K\022\023\n\017" + + "SingletonMethod\020L\022\024\n\020StaticDataMember\020M\022" + + "\017\n\013StaticEvent\020N\022\017\n\013StaticField\020O\022\020\n\014Sta" + + "ticMethod\020P\022\022\n\016StaticProperty\020Q\022\022\n\016Stati" + + "cVariable\020R\022\n\n\006String\0200\022\n\n\006Struct\0201\022\r\n\tS" + + "ubscript\020/\022\n\n\006Tactic\0202\022\013\n\007Theorem\0203\022\021\n\rT" + + "hisParameter\0204\022\t\n\005Trait\0205\022\017\n\013TraitMethod" + + "\020F\022\010\n\004Type\0206\022\r\n\tTypeAlias\0207\022\r\n\tTypeClass" + + "\0208\022\023\n\017TypeClassMethod\020G\022\016\n\nTypeFamily\0209\022" + + "\021\n\rTypeParameter\020:\022\t\n\005Union\020;\022\t\n\005Value\020<" + + "\022\014\n\010Variable\020=\"\311\001\n\014Relationship\022\026\n\006symbo" + + "l\030\001 \001(\tR\006symbol\022!\n\014is_reference\030\002 \001(\010R\013i" + + "sReference\022+\n\021is_implementation\030\003 \001(\010R\020i" + + "sImplementation\022,\n\022is_type_definition\030\004 " + + "\001(\010R\020isTypeDefinition\022#\n\ris_definition\030\005" + + " \001(\010R\014isDefinition\"\244\002\n\nOccurrence\022\024\n\005ran" + + "ge\030\001 \003(\005R\005range\022\026\n\006symbol\030\002 \001(\tR\006symbol\022" + + "!\n\014symbol_roles\030\003 \001(\005R\013symbolRoles\0225\n\026ov" + + "erride_documentation\030\004 \003(\tR\025overrideDocu" + + "mentation\0221\n\013syntax_kind\030\005 \001(\0162\020.scip.Sy" + + "ntaxKindR\nsyntaxKind\0222\n\013diagnostics\030\006 \003(" + + "\0132\020.scip.DiagnosticR\013diagnostics\022\'\n\017encl" + + "osing_range\030\007 \003(\005R\016enclosingRange\"\247\001\n\nDi" + + "agnostic\022*\n\010severity\030\001 \001(\0162\016.scip.Severi" + + "tyR\010severity\022\022\n\004code\030\002 \001(\tR\004code\022\030\n\007mess" + + "age\030\003 \001(\tR\007message\022\026\n\006source\030\004 \001(\tR\006sour" + + "ce\022\'\n\004tags\030\005 \003(\0162\023.scip.DiagnosticTagR\004t" + + "ags*1\n\017ProtocolVersion\022\036\n\032UnspecifiedPro" + + "tocolVersion\020\000*@\n\014TextEncoding\022\033\n\027Unspec" + + "ifiedTextEncoding\020\000\022\010\n\004UTF8\020\001\022\t\n\005UTF16\020\002" + + "*\244\001\n\020PositionEncoding\022\037\n\033UnspecifiedPosi" + + "tionEncoding\020\000\022#\n\037UTF8CodeUnitOffsetFrom" + + "LineStart\020\001\022$\n UTF16CodeUnitOffsetFromLi" + + "neStart\020\002\022$\n UTF32CodeUnitOffsetFromLine" + + "Start\020\003*\224\001\n\nSymbolRole\022\031\n\025UnspecifiedSym" + + "bolRole\020\000\022\016\n\nDefinition\020\001\022\n\n\006Import\020\002\022\017\n" + + "\013WriteAccess\020\004\022\016\n\nReadAccess\020\010\022\r\n\tGenera" + + "ted\020\020\022\010\n\004Test\020 \022\025\n\021ForwardDefinition\020@*\352" + + "\006\n\nSyntaxKind\022\031\n\025UnspecifiedSyntaxKind\020\000" + + "\022\013\n\007Comment\020\001\022\030\n\024PunctuationDelimiter\020\002\022" + + "\026\n\022PunctuationBracket\020\003\022\013\n\007Keyword\020\004\022\031\n\021" + + "IdentifierKeyword\020\004\032\002\010\001\022\026\n\022IdentifierOpe" + + "rator\020\005\022\016\n\nIdentifier\020\006\022\025\n\021IdentifierBui" + + "ltin\020\007\022\022\n\016IdentifierNull\020\010\022\026\n\022Identifier" + + "Constant\020\t\022\033\n\027IdentifierMutableGlobal\020\n\022" + + "\027\n\023IdentifierParameter\020\013\022\023\n\017IdentifierLo" + + "cal\020\014\022\026\n\022IdentifierShadowed\020\r\022\027\n\023Identif" + + "ierNamespace\020\016\022\030\n\020IdentifierModule\020\016\032\002\010\001" + + "\022\026\n\022IdentifierFunction\020\017\022 \n\034IdentifierFu" + + "nctionDefinition\020\020\022\023\n\017IdentifierMacro\020\021\022" + + "\035\n\031IdentifierMacroDefinition\020\022\022\022\n\016Identi" + + "fierType\020\023\022\031\n\025IdentifierBuiltinType\020\024\022\027\n" + + "\023IdentifierAttribute\020\025\022\017\n\013RegexEscape\020\026\022" + + "\021\n\rRegexRepeated\020\027\022\021\n\rRegexWildcard\020\030\022\022\n" + + "\016RegexDelimiter\020\031\022\r\n\tRegexJoin\020\032\022\021\n\rStri" + + "ngLiteral\020\033\022\027\n\023StringLiteralEscape\020\034\022\030\n\024" + + "StringLiteralSpecial\020\035\022\024\n\020StringLiteralK" + + "ey\020\036\022\024\n\020CharacterLiteral\020\037\022\022\n\016NumericLit" + + "eral\020 \022\022\n\016BooleanLiteral\020!\022\007\n\003Tag\020\"\022\020\n\014T" + + "agAttribute\020#\022\020\n\014TagDelimiter\020$\032\002\020\001*V\n\010S" + + "everity\022\027\n\023UnspecifiedSeverity\020\000\022\t\n\005Erro" + + "r\020\001\022\013\n\007Warning\020\002\022\017\n\013Information\020\003\022\010\n\004Hin" + + "t\020\004*N\n\rDiagnosticTag\022\034\n\030UnspecifiedDiagn" + + "osticTag\020\000\022\017\n\013Unnecessary\020\001\022\016\n\nDeprecate" + + "d\020\002*\233\n\n\010Language\022\027\n\023UnspecifiedLanguage\020" + + "\000\022\010\n\004ABAP\020<\022\010\n\004Apex\020`\022\007\n\003APL\0201\022\007\n\003Ada\020\'\022" + + "\010\n\004Agda\020-\022\014\n\010AsciiDoc\020V\022\014\n\010Assembly\020:\022\007\n" + + "\003Awk\020B\022\007\n\003Bat\020D\022\n\n\006BibTeX\020Q\022\005\n\001C\020\"\022\t\n\005CO" + + "BOL\020;\022\007\n\003CPP\020#\022\007\n\003CSS\020\032\022\n\n\006CSharp\020\001\022\013\n\007C" + + "lojure\020\010\022\020\n\014Coffeescript\020\025\022\016\n\nCommonLisp" + + "\020\t\022\007\n\003Coq\020/\022\010\n\004CUDA\020a\022\010\n\004Dart\020\003\022\n\n\006Delph" + + "i\0209\022\010\n\004Diff\020X\022\016\n\nDockerfile\020P\022\n\n\006Dyalog\020" + + "2\022\n\n\006Elixir\020\021\022\n\n\006Erlang\020\022\022\n\n\006FSharp\020*\022\010\n" + + "\004Fish\020A\022\010\n\004Flow\020\030\022\013\n\007Fortran\0208\022\016\n\nGit_Co" + + "mmit\020[\022\016\n\nGit_Config\020Y\022\016\n\nGit_Rebase\020\\\022\006" + + "\n\002Go\020!\022\013\n\007GraphQL\020b\022\n\n\006Groovy\020\007\022\010\n\004HTML\020" + + "\036\022\010\n\004Hack\020\024\022\016\n\nHandlebars\020Z\022\013\n\007Haskell\020," + + "\022\t\n\005Idris\020.\022\007\n\003Ini\020H\022\005\n\001J\0203\022\010\n\004JSON\020K\022\010\n" + + "\004Java\020\006\022\016\n\nJavaScript\020\026\022\023\n\017JavaScriptRea" + + "ct\020]\022\013\n\007Jsonnet\020L\022\t\n\005Julia\0207\022\014\n\010Justfile" + + "\020m\022\n\n\006Kotlin\020\004\022\t\n\005LaTeX\020S\022\010\n\004Lean\0200\022\010\n\004L" + + "ess\020\033\022\007\n\003Lua\020\014\022\010\n\004Luau\020l\022\014\n\010Makefile\020O\022\014" + + "\n\010Markdown\020T\022\n\n\006Matlab\0204\022\n\n\006Nickel\020n\022\007\n\003" + + "Nix\020M\022\t\n\005OCaml\020)\022\017\n\013Objective_C\020$\022\021\n\rObj" + + "ective_CPP\020%\022\n\n\006Pascal\020c\022\007\n\003PHP\020\023\022\t\n\005PLS" + + "QL\020F\022\010\n\004Perl\020\r\022\016\n\nPowerShell\020C\022\n\n\006Prolog" + + "\020G\022\014\n\010Protobuf\020d\022\n\n\006Python\020\017\022\005\n\001R\0206\022\n\n\006R" + + "acket\020\013\022\010\n\004Raku\020\016\022\t\n\005Razor\020>\022\t\n\005Repro\020f\022" + + "\010\n\004ReST\020U\022\010\n\004Ruby\020\020\022\010\n\004Rust\020(\022\007\n\003SAS\020=\022\010" + + "\n\004SCSS\020\035\022\007\n\003SML\020+\022\007\n\003SQL\020E\022\010\n\004Sass\020\034\022\t\n\005" + + "Scala\020\005\022\n\n\006Scheme\020\n\022\017\n\013ShellScript\020@\022\013\n\007" + + "Skylark\020N\022\t\n\005Slang\020k\022\014\n\010Solidity\020_\022\n\n\006Sv" + + "elte\020j\022\t\n\005Swift\020\002\022\007\n\003Tcl\020e\022\010\n\004TOML\020I\022\007\n\003" + + "TeX\020R\022\n\n\006Thrift\020g\022\016\n\nTypeScript\020\027\022\023\n\017Typ" + + "eScriptReact\020^\022\013\n\007Verilog\020h\022\010\n\004VHDL\020i\022\017\n" + + "\013VisualBasic\020?\022\007\n\003Vue\020\031\022\013\n\007Wolfram\0205\022\007\n\003" + + "XML\020\037\022\007\n\003XSL\020 \022\010\n\004YAML\020J\022\007\n\003Zig\020&BN\n\022org" + + ".scip_code.scipB\tScipProtoP\001Z+github.com" + + "/scip-code/scip/bindings/go/scip/b\006proto" + + "3" + }; + descriptor = com.google.protobuf.Descriptors.FileDescriptor + .internalBuildGeneratedFileFrom(descriptorData, + new com.google.protobuf.Descriptors.FileDescriptor[] { + }); + internal_static_scip_Index_descriptor = + getDescriptor().getMessageTypes().get(0); + internal_static_scip_Index_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_scip_Index_descriptor, + new java.lang.String[] { "Metadata", "Documents", "ExternalSymbols", }); + internal_static_scip_Metadata_descriptor = + getDescriptor().getMessageTypes().get(1); + internal_static_scip_Metadata_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_scip_Metadata_descriptor, + new java.lang.String[] { "Version", "ToolInfo", "ProjectRoot", "TextDocumentEncoding", }); + internal_static_scip_ToolInfo_descriptor = + getDescriptor().getMessageTypes().get(2); + internal_static_scip_ToolInfo_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_scip_ToolInfo_descriptor, + new java.lang.String[] { "Name", "Version", "Arguments", }); + internal_static_scip_Document_descriptor = + getDescriptor().getMessageTypes().get(3); + internal_static_scip_Document_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_scip_Document_descriptor, + new java.lang.String[] { "Language", "RelativePath", "Occurrences", "Symbols", "Text", "PositionEncoding", }); + internal_static_scip_Symbol_descriptor = + getDescriptor().getMessageTypes().get(4); + internal_static_scip_Symbol_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_scip_Symbol_descriptor, + new java.lang.String[] { "Scheme", "Package", "Descriptors", }); + internal_static_scip_Package_descriptor = + getDescriptor().getMessageTypes().get(5); + internal_static_scip_Package_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_scip_Package_descriptor, + new java.lang.String[] { "Manager", "Name", "Version", }); + internal_static_scip_Descriptor_descriptor = + getDescriptor().getMessageTypes().get(6); + internal_static_scip_Descriptor_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_scip_Descriptor_descriptor, + new java.lang.String[] { "Name", "Disambiguator", "Suffix", }); + internal_static_scip_Signature_descriptor = + getDescriptor().getMessageTypes().get(7); + internal_static_scip_Signature_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_scip_Signature_descriptor, + new java.lang.String[] { "Language", "Text", "Occurrences", }); + internal_static_scip_SymbolInformation_descriptor = + getDescriptor().getMessageTypes().get(8); + internal_static_scip_SymbolInformation_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_scip_SymbolInformation_descriptor, + new java.lang.String[] { "Symbol", "Documentation", "Relationships", "Kind", "DisplayName", "SignatureDocumentation", "EnclosingSymbol", }); + internal_static_scip_Relationship_descriptor = + getDescriptor().getMessageTypes().get(9); + internal_static_scip_Relationship_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_scip_Relationship_descriptor, + new java.lang.String[] { "Symbol", "IsReference", "IsImplementation", "IsTypeDefinition", "IsDefinition", }); + internal_static_scip_Occurrence_descriptor = + getDescriptor().getMessageTypes().get(10); + internal_static_scip_Occurrence_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_scip_Occurrence_descriptor, + new java.lang.String[] { "Range", "Symbol", "SymbolRoles", "OverrideDocumentation", "SyntaxKind", "Diagnostics", "EnclosingRange", }); + internal_static_scip_Diagnostic_descriptor = + getDescriptor().getMessageTypes().get(11); + internal_static_scip_Diagnostic_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_scip_Diagnostic_descriptor, + new java.lang.String[] { "Severity", "Code", "Message", "Source", "Tags", }); + descriptor.resolveAllFeaturesImmutable(); + } + + // @@protoc_insertion_point(outer_class_scope) +} diff --git a/bindings/kotlin/src/main/java/org/scip_code/scip/Severity.java b/bindings/kotlin/src/main/java/org/scip_code/scip/Severity.java new file mode 100644 index 00000000..a9d5164a --- /dev/null +++ b/bindings/kotlin/src/main/java/org/scip_code/scip/Severity.java @@ -0,0 +1,152 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: scip.proto +// Protobuf Java Version: 4.32.1 + +package org.scip_code.scip; + +/** + * Protobuf enum {@code scip.Severity} + */ +@com.google.protobuf.Generated +public enum Severity + implements com.google.protobuf.ProtocolMessageEnum { + /** + * UnspecifiedSeverity = 0; + */ + UnspecifiedSeverity(0), + /** + * Error = 1; + */ + Error(1), + /** + * Warning = 2; + */ + Warning(2), + /** + * Information = 3; + */ + Information(3), + /** + * Hint = 4; + */ + Hint(4), + UNRECOGNIZED(-1), + ; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 32, + /* patch= */ 1, + /* suffix= */ "", + Severity.class.getName()); + } + /** + * UnspecifiedSeverity = 0; + */ + public static final int UnspecifiedSeverity_VALUE = 0; + /** + * Error = 1; + */ + public static final int Error_VALUE = 1; + /** + * Warning = 2; + */ + public static final int Warning_VALUE = 2; + /** + * Information = 3; + */ + public static final int Information_VALUE = 3; + /** + * Hint = 4; + */ + public static final int Hint_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 Severity 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 Severity forNumber(int value) { + switch (value) { + case 0: return UnspecifiedSeverity; + case 1: return Error; + case 2: return Warning; + case 3: return Information; + case 4: return Hint; + default: return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap + internalGetValueMap() { + return internalValueMap; + } + private static final com.google.protobuf.Internal.EnumLiteMap< + Severity> internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap() { + public Severity findValueByNumber(int number) { + return Severity.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 com.google.protobuf.Descriptors.EnumDescriptor + getDescriptor() { + return org.scip_code.scip.ScipProto.getDescriptor().getEnumTypes().get(5); + } + + private static final Severity[] VALUES = values(); + + public static Severity 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 Severity(int value) { + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:scip.Severity) +} + diff --git a/bindings/kotlin/src/main/java/org/scip_code/scip/Signature.java b/bindings/kotlin/src/main/java/org/scip_code/scip/Signature.java new file mode 100644 index 00000000..bde4efbd --- /dev/null +++ b/bindings/kotlin/src/main/java/org/scip_code/scip/Signature.java @@ -0,0 +1,1200 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: scip.proto +// Protobuf Java Version: 4.32.1 + +package org.scip_code.scip; + +/** + *
+ * Signature represents the signature of a symbol as it's displayed in API
+ * documentation or hover tooltips. It uses a subset of Document's fields with
+ * the same field numbers for wire compatibility with older indexes that encoded
+ * signatures using the Document message type.
+ * 
+ * + * Protobuf type {@code scip.Signature} + */ +@com.google.protobuf.Generated +public final class Signature extends + com.google.protobuf.GeneratedMessage implements + // @@protoc_insertion_point(message_implements:scip.Signature) + SignatureOrBuilder { +private static final long serialVersionUID = 0L; + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 32, + /* patch= */ 1, + /* suffix= */ "", + Signature.class.getName()); + } + // Use Signature.newBuilder() to construct. + private Signature(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + private Signature() { + language_ = ""; + text_ = ""; + occurrences_ = java.util.Collections.emptyList(); + } + + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.scip_code.scip.ScipProto.internal_static_scip_Signature_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.scip_code.scip.ScipProto.internal_static_scip_Signature_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.scip_code.scip.Signature.class, org.scip_code.scip.Signature.Builder.class); + } + + public static final int LANGUAGE_FIELD_NUMBER = 4; + @SuppressWarnings("serial") + private volatile java.lang.Object language_ = ""; + /** + *
+   * The language of the signature, e.g. "java", "go", "python".
+   * 
+ * + * string language = 4 [json_name = "language"]; + * @return The language. + */ + @java.lang.Override + public java.lang.String getLanguage() { + java.lang.Object ref = language_; + 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(); + language_ = s; + return s; + } + } + /** + *
+   * The language of the signature, e.g. "java", "go", "python".
+   * 
+ * + * string language = 4 [json_name = "language"]; + * @return The bytes for language. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getLanguageBytes() { + java.lang.Object ref = language_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + language_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int TEXT_FIELD_NUMBER = 5; + @SuppressWarnings("serial") + private volatile java.lang.Object text_ = ""; + /** + *
+   * The text content of the signature, e.g. "void add(int a, int b)".
+   * 
+ * + * string text = 5 [json_name = "text"]; + * @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; + } + } + /** + *
+   * The text content of the signature, e.g. "void add(int a, int b)".
+   * 
+ * + * string text = 5 [json_name = "text"]; + * @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 OCCURRENCES_FIELD_NUMBER = 2; + @SuppressWarnings("serial") + private java.util.List occurrences_; + /** + *
+   * (optional) Occurrences within the signature text that reference other
+   * symbols, enabling hyperlinking of types in the signature. Ranges are
+   * relative to the `text` field.
+   * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + @java.lang.Override + public java.util.List getOccurrencesList() { + return occurrences_; + } + /** + *
+   * (optional) Occurrences within the signature text that reference other
+   * symbols, enabling hyperlinking of types in the signature. Ranges are
+   * relative to the `text` field.
+   * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + @java.lang.Override + public java.util.List + getOccurrencesOrBuilderList() { + return occurrences_; + } + /** + *
+   * (optional) Occurrences within the signature text that reference other
+   * symbols, enabling hyperlinking of types in the signature. Ranges are
+   * relative to the `text` field.
+   * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + @java.lang.Override + public int getOccurrencesCount() { + return occurrences_.size(); + } + /** + *
+   * (optional) Occurrences within the signature text that reference other
+   * symbols, enabling hyperlinking of types in the signature. Ranges are
+   * relative to the `text` field.
+   * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + @java.lang.Override + public org.scip_code.scip.Occurrence getOccurrences(int index) { + return occurrences_.get(index); + } + /** + *
+   * (optional) Occurrences within the signature text that reference other
+   * symbols, enabling hyperlinking of types in the signature. Ranges are
+   * relative to the `text` field.
+   * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + @java.lang.Override + public org.scip_code.scip.OccurrenceOrBuilder 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 { + for (int i = 0; i < occurrences_.size(); i++) { + output.writeMessage(2, occurrences_.get(i)); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(language_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 4, language_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(text_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 5, text_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + for (int i = 0; i < occurrences_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(2, occurrences_.get(i)); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(language_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(4, language_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(text_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(5, text_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof org.scip_code.scip.Signature)) { + return super.equals(obj); + } + org.scip_code.scip.Signature other = (org.scip_code.scip.Signature) obj; + + if (!getLanguage() + .equals(other.getLanguage())) return false; + if (!getText() + .equals(other.getText())) return false; + if (!getOccurrencesList() + .equals(other.getOccurrencesList())) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) 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) + LANGUAGE_FIELD_NUMBER; + hash = (53 * hash) + getLanguage().hashCode(); + hash = (37 * hash) + TEXT_FIELD_NUMBER; + hash = (53 * hash) + getText().hashCode(); + if (getOccurrencesCount() > 0) { + hash = (37 * hash) + OCCURRENCES_FIELD_NUMBER; + hash = (53 * hash) + getOccurrencesList().hashCode(); + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static org.scip_code.scip.Signature parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.scip_code.scip.Signature parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.scip_code.scip.Signature parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.scip_code.scip.Signature parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.scip_code.scip.Signature parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.scip_code.scip.Signature parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.scip_code.scip.Signature parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static org.scip_code.scip.Signature parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public static org.scip_code.scip.Signature parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input); + } + + public static org.scip_code.scip.Signature parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static org.scip_code.scip.Signature parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static org.scip_code.scip.Signature parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(org.scip_code.scip.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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + *
+   * Signature represents the signature of a symbol as it's displayed in API
+   * documentation or hover tooltips. It uses a subset of Document's fields with
+   * the same field numbers for wire compatibility with older indexes that encoded
+   * signatures using the Document message type.
+   * 
+ * + * Protobuf type {@code scip.Signature} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder implements + // @@protoc_insertion_point(builder_implements:scip.Signature) + org.scip_code.scip.SignatureOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.scip_code.scip.ScipProto.internal_static_scip_Signature_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.scip_code.scip.ScipProto.internal_static_scip_Signature_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.scip_code.scip.Signature.class, org.scip_code.scip.Signature.Builder.class); + } + + // Construct using org.scip_code.scip.Signature.newBuilder() + private Builder() { + + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + + } + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + language_ = ""; + text_ = ""; + if (occurrencesBuilder_ == null) { + occurrences_ = java.util.Collections.emptyList(); + } else { + occurrences_ = null; + occurrencesBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000004); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return org.scip_code.scip.ScipProto.internal_static_scip_Signature_descriptor; + } + + @java.lang.Override + public org.scip_code.scip.Signature getDefaultInstanceForType() { + return org.scip_code.scip.Signature.getDefaultInstance(); + } + + @java.lang.Override + public org.scip_code.scip.Signature build() { + org.scip_code.scip.Signature result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public org.scip_code.scip.Signature buildPartial() { + org.scip_code.scip.Signature result = new org.scip_code.scip.Signature(this); + buildPartialRepeatedFields(result); + if (bitField0_ != 0) { buildPartial0(result); } + onBuilt(); + return result; + } + + private void buildPartialRepeatedFields(org.scip_code.scip.Signature result) { + if (occurrencesBuilder_ == null) { + if (((bitField0_ & 0x00000004) != 0)) { + occurrences_ = java.util.Collections.unmodifiableList(occurrences_); + bitField0_ = (bitField0_ & ~0x00000004); + } + result.occurrences_ = occurrences_; + } else { + result.occurrences_ = occurrencesBuilder_.build(); + } + } + + private void buildPartial0(org.scip_code.scip.Signature result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.language_ = language_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.text_ = text_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof org.scip_code.scip.Signature) { + return mergeFrom((org.scip_code.scip.Signature)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(org.scip_code.scip.Signature other) { + if (other == org.scip_code.scip.Signature.getDefaultInstance()) return this; + if (!other.getLanguage().isEmpty()) { + language_ = other.language_; + bitField0_ |= 0x00000001; + onChanged(); + } + if (!other.getText().isEmpty()) { + text_ = other.text_; + bitField0_ |= 0x00000002; + onChanged(); + } + if (occurrencesBuilder_ == null) { + if (!other.occurrences_.isEmpty()) { + if (occurrences_.isEmpty()) { + occurrences_ = other.occurrences_; + bitField0_ = (bitField0_ & ~0x00000004); + } else { + ensureOccurrencesIsMutable(); + occurrences_.addAll(other.occurrences_); + } + onChanged(); + } + } else { + if (!other.occurrences_.isEmpty()) { + if (occurrencesBuilder_.isEmpty()) { + occurrencesBuilder_.dispose(); + occurrencesBuilder_ = null; + occurrences_ = other.occurrences_; + bitField0_ = (bitField0_ & ~0x00000004); + occurrencesBuilder_ = + com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ? + internalGetOccurrencesFieldBuilder() : null; + } else { + occurrencesBuilder_.addAllMessages(other.occurrences_); + } + } + } + this.mergeUnknownFields(other.getUnknownFields()); + 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 { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 18: { + org.scip_code.scip.Occurrence m = + input.readMessage( + org.scip_code.scip.Occurrence.parser(), + extensionRegistry); + if (occurrencesBuilder_ == null) { + ensureOccurrencesIsMutable(); + occurrences_.add(m); + } else { + occurrencesBuilder_.addMessage(m); + } + break; + } // case 18 + case 34: { + language_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 34 + case 42: { + text_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000002; + break; + } // case 42 + default: { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + private int bitField0_; + + private java.lang.Object language_ = ""; + /** + *
+     * The language of the signature, e.g. "java", "go", "python".
+     * 
+ * + * string language = 4 [json_name = "language"]; + * @return The language. + */ + public java.lang.String getLanguage() { + java.lang.Object ref = language_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + language_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + *
+     * The language of the signature, e.g. "java", "go", "python".
+     * 
+ * + * string language = 4 [json_name = "language"]; + * @return The bytes for language. + */ + public com.google.protobuf.ByteString + getLanguageBytes() { + java.lang.Object ref = language_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + language_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + *
+     * The language of the signature, e.g. "java", "go", "python".
+     * 
+ * + * string language = 4 [json_name = "language"]; + * @param value The language to set. + * @return This builder for chaining. + */ + public Builder setLanguage( + java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + language_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + /** + *
+     * The language of the signature, e.g. "java", "go", "python".
+     * 
+ * + * string language = 4 [json_name = "language"]; + * @return This builder for chaining. + */ + public Builder clearLanguage() { + language_ = getDefaultInstance().getLanguage(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + /** + *
+     * The language of the signature, e.g. "java", "go", "python".
+     * 
+ * + * string language = 4 [json_name = "language"]; + * @param value The bytes for language to set. + * @return This builder for chaining. + */ + public Builder setLanguageBytes( + com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + checkByteStringIsUtf8(value); + language_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private java.lang.Object text_ = ""; + /** + *
+     * The text content of the signature, e.g. "void add(int a, int b)".
+     * 
+ * + * string text = 5 [json_name = "text"]; + * @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; + } + } + /** + *
+     * The text content of the signature, e.g. "void add(int a, int b)".
+     * 
+ * + * string text = 5 [json_name = "text"]; + * @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; + } + } + /** + *
+     * The text content of the signature, e.g. "void add(int a, int b)".
+     * 
+ * + * string text = 5 [json_name = "text"]; + * @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; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + /** + *
+     * The text content of the signature, e.g. "void add(int a, int b)".
+     * 
+ * + * string text = 5 [json_name = "text"]; + * @return This builder for chaining. + */ + public Builder clearText() { + text_ = getDefaultInstance().getText(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + /** + *
+     * The text content of the signature, e.g. "void add(int a, int b)".
+     * 
+ * + * string text = 5 [json_name = "text"]; + * @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; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + private java.util.List occurrences_ = + java.util.Collections.emptyList(); + private void ensureOccurrencesIsMutable() { + if (!((bitField0_ & 0x00000004) != 0)) { + occurrences_ = new java.util.ArrayList(occurrences_); + bitField0_ |= 0x00000004; + } + } + + private com.google.protobuf.RepeatedFieldBuilder< + org.scip_code.scip.Occurrence, org.scip_code.scip.Occurrence.Builder, org.scip_code.scip.OccurrenceOrBuilder> occurrencesBuilder_; + + /** + *
+     * (optional) Occurrences within the signature text that reference other
+     * symbols, enabling hyperlinking of types in the signature. Ranges are
+     * relative to the `text` field.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public java.util.List getOccurrencesList() { + if (occurrencesBuilder_ == null) { + return java.util.Collections.unmodifiableList(occurrences_); + } else { + return occurrencesBuilder_.getMessageList(); + } + } + /** + *
+     * (optional) Occurrences within the signature text that reference other
+     * symbols, enabling hyperlinking of types in the signature. Ranges are
+     * relative to the `text` field.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public int getOccurrencesCount() { + if (occurrencesBuilder_ == null) { + return occurrences_.size(); + } else { + return occurrencesBuilder_.getCount(); + } + } + /** + *
+     * (optional) Occurrences within the signature text that reference other
+     * symbols, enabling hyperlinking of types in the signature. Ranges are
+     * relative to the `text` field.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public org.scip_code.scip.Occurrence getOccurrences(int index) { + if (occurrencesBuilder_ == null) { + return occurrences_.get(index); + } else { + return occurrencesBuilder_.getMessage(index); + } + } + /** + *
+     * (optional) Occurrences within the signature text that reference other
+     * symbols, enabling hyperlinking of types in the signature. Ranges are
+     * relative to the `text` field.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public Builder setOccurrences( + int index, org.scip_code.scip.Occurrence value) { + if (occurrencesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureOccurrencesIsMutable(); + occurrences_.set(index, value); + onChanged(); + } else { + occurrencesBuilder_.setMessage(index, value); + } + return this; + } + /** + *
+     * (optional) Occurrences within the signature text that reference other
+     * symbols, enabling hyperlinking of types in the signature. Ranges are
+     * relative to the `text` field.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public Builder setOccurrences( + int index, org.scip_code.scip.Occurrence.Builder builderForValue) { + if (occurrencesBuilder_ == null) { + ensureOccurrencesIsMutable(); + occurrences_.set(index, builderForValue.build()); + onChanged(); + } else { + occurrencesBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + *
+     * (optional) Occurrences within the signature text that reference other
+     * symbols, enabling hyperlinking of types in the signature. Ranges are
+     * relative to the `text` field.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public Builder addOccurrences(org.scip_code.scip.Occurrence value) { + if (occurrencesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureOccurrencesIsMutable(); + occurrences_.add(value); + onChanged(); + } else { + occurrencesBuilder_.addMessage(value); + } + return this; + } + /** + *
+     * (optional) Occurrences within the signature text that reference other
+     * symbols, enabling hyperlinking of types in the signature. Ranges are
+     * relative to the `text` field.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public Builder addOccurrences( + int index, org.scip_code.scip.Occurrence value) { + if (occurrencesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureOccurrencesIsMutable(); + occurrences_.add(index, value); + onChanged(); + } else { + occurrencesBuilder_.addMessage(index, value); + } + return this; + } + /** + *
+     * (optional) Occurrences within the signature text that reference other
+     * symbols, enabling hyperlinking of types in the signature. Ranges are
+     * relative to the `text` field.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public Builder addOccurrences( + org.scip_code.scip.Occurrence.Builder builderForValue) { + if (occurrencesBuilder_ == null) { + ensureOccurrencesIsMutable(); + occurrences_.add(builderForValue.build()); + onChanged(); + } else { + occurrencesBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + *
+     * (optional) Occurrences within the signature text that reference other
+     * symbols, enabling hyperlinking of types in the signature. Ranges are
+     * relative to the `text` field.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public Builder addOccurrences( + int index, org.scip_code.scip.Occurrence.Builder builderForValue) { + if (occurrencesBuilder_ == null) { + ensureOccurrencesIsMutable(); + occurrences_.add(index, builderForValue.build()); + onChanged(); + } else { + occurrencesBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + *
+     * (optional) Occurrences within the signature text that reference other
+     * symbols, enabling hyperlinking of types in the signature. Ranges are
+     * relative to the `text` field.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + 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; + } + /** + *
+     * (optional) Occurrences within the signature text that reference other
+     * symbols, enabling hyperlinking of types in the signature. Ranges are
+     * relative to the `text` field.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public Builder clearOccurrences() { + if (occurrencesBuilder_ == null) { + occurrences_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000004); + onChanged(); + } else { + occurrencesBuilder_.clear(); + } + return this; + } + /** + *
+     * (optional) Occurrences within the signature text that reference other
+     * symbols, enabling hyperlinking of types in the signature. Ranges are
+     * relative to the `text` field.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public Builder removeOccurrences(int index) { + if (occurrencesBuilder_ == null) { + ensureOccurrencesIsMutable(); + occurrences_.remove(index); + onChanged(); + } else { + occurrencesBuilder_.remove(index); + } + return this; + } + /** + *
+     * (optional) Occurrences within the signature text that reference other
+     * symbols, enabling hyperlinking of types in the signature. Ranges are
+     * relative to the `text` field.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public org.scip_code.scip.Occurrence.Builder getOccurrencesBuilder( + int index) { + return internalGetOccurrencesFieldBuilder().getBuilder(index); + } + /** + *
+     * (optional) Occurrences within the signature text that reference other
+     * symbols, enabling hyperlinking of types in the signature. Ranges are
+     * relative to the `text` field.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public org.scip_code.scip.OccurrenceOrBuilder getOccurrencesOrBuilder( + int index) { + if (occurrencesBuilder_ == null) { + return occurrences_.get(index); } else { + return occurrencesBuilder_.getMessageOrBuilder(index); + } + } + /** + *
+     * (optional) Occurrences within the signature text that reference other
+     * symbols, enabling hyperlinking of types in the signature. Ranges are
+     * relative to the `text` field.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public java.util.List + getOccurrencesOrBuilderList() { + if (occurrencesBuilder_ != null) { + return occurrencesBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(occurrences_); + } + } + /** + *
+     * (optional) Occurrences within the signature text that reference other
+     * symbols, enabling hyperlinking of types in the signature. Ranges are
+     * relative to the `text` field.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public org.scip_code.scip.Occurrence.Builder addOccurrencesBuilder() { + return internalGetOccurrencesFieldBuilder().addBuilder( + org.scip_code.scip.Occurrence.getDefaultInstance()); + } + /** + *
+     * (optional) Occurrences within the signature text that reference other
+     * symbols, enabling hyperlinking of types in the signature. Ranges are
+     * relative to the `text` field.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public org.scip_code.scip.Occurrence.Builder addOccurrencesBuilder( + int index) { + return internalGetOccurrencesFieldBuilder().addBuilder( + index, org.scip_code.scip.Occurrence.getDefaultInstance()); + } + /** + *
+     * (optional) Occurrences within the signature text that reference other
+     * symbols, enabling hyperlinking of types in the signature. Ranges are
+     * relative to the `text` field.
+     * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + public java.util.List + getOccurrencesBuilderList() { + return internalGetOccurrencesFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilder< + org.scip_code.scip.Occurrence, org.scip_code.scip.Occurrence.Builder, org.scip_code.scip.OccurrenceOrBuilder> + internalGetOccurrencesFieldBuilder() { + if (occurrencesBuilder_ == null) { + occurrencesBuilder_ = new com.google.protobuf.RepeatedFieldBuilder< + org.scip_code.scip.Occurrence, org.scip_code.scip.Occurrence.Builder, org.scip_code.scip.OccurrenceOrBuilder>( + occurrences_, + ((bitField0_ & 0x00000004) != 0), + getParentForChildren(), + isClean()); + occurrences_ = null; + } + return occurrencesBuilder_; + } + + // @@protoc_insertion_point(builder_scope:scip.Signature) + } + + // @@protoc_insertion_point(class_scope:scip.Signature) + private static final org.scip_code.scip.Signature DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new org.scip_code.scip.Signature(); + } + + public static org.scip_code.scip.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 { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public org.scip_code.scip.Signature getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + +} + diff --git a/bindings/kotlin/src/main/java/org/scip_code/scip/SignatureOrBuilder.java b/bindings/kotlin/src/main/java/org/scip_code/scip/SignatureOrBuilder.java new file mode 100644 index 00000000..4efea015 --- /dev/null +++ b/bindings/kotlin/src/main/java/org/scip_code/scip/SignatureOrBuilder.java @@ -0,0 +1,106 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: scip.proto +// Protobuf Java Version: 4.32.1 + +package org.scip_code.scip; + +@com.google.protobuf.Generated +public interface SignatureOrBuilder extends + // @@protoc_insertion_point(interface_extends:scip.Signature) + com.google.protobuf.MessageOrBuilder { + + /** + *
+   * The language of the signature, e.g. "java", "go", "python".
+   * 
+ * + * string language = 4 [json_name = "language"]; + * @return The language. + */ + java.lang.String getLanguage(); + /** + *
+   * The language of the signature, e.g. "java", "go", "python".
+   * 
+ * + * string language = 4 [json_name = "language"]; + * @return The bytes for language. + */ + com.google.protobuf.ByteString + getLanguageBytes(); + + /** + *
+   * The text content of the signature, e.g. "void add(int a, int b)".
+   * 
+ * + * string text = 5 [json_name = "text"]; + * @return The text. + */ + java.lang.String getText(); + /** + *
+   * The text content of the signature, e.g. "void add(int a, int b)".
+   * 
+ * + * string text = 5 [json_name = "text"]; + * @return The bytes for text. + */ + com.google.protobuf.ByteString + getTextBytes(); + + /** + *
+   * (optional) Occurrences within the signature text that reference other
+   * symbols, enabling hyperlinking of types in the signature. Ranges are
+   * relative to the `text` field.
+   * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + java.util.List + getOccurrencesList(); + /** + *
+   * (optional) Occurrences within the signature text that reference other
+   * symbols, enabling hyperlinking of types in the signature. Ranges are
+   * relative to the `text` field.
+   * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + org.scip_code.scip.Occurrence getOccurrences(int index); + /** + *
+   * (optional) Occurrences within the signature text that reference other
+   * symbols, enabling hyperlinking of types in the signature. Ranges are
+   * relative to the `text` field.
+   * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + int getOccurrencesCount(); + /** + *
+   * (optional) Occurrences within the signature text that reference other
+   * symbols, enabling hyperlinking of types in the signature. Ranges are
+   * relative to the `text` field.
+   * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + java.util.List + getOccurrencesOrBuilderList(); + /** + *
+   * (optional) Occurrences within the signature text that reference other
+   * symbols, enabling hyperlinking of types in the signature. Ranges are
+   * relative to the `text` field.
+   * 
+ * + * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; + */ + org.scip_code.scip.OccurrenceOrBuilder getOccurrencesOrBuilder( + int index); +} diff --git a/bindings/kotlin/src/main/java/org/scip_code/scip/Symbol.java b/bindings/kotlin/src/main/java/org/scip_code/scip/Symbol.java new file mode 100644 index 00000000..69c453fe --- /dev/null +++ b/bindings/kotlin/src/main/java/org/scip_code/scip/Symbol.java @@ -0,0 +1,1140 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: scip.proto +// Protobuf Java Version: 4.32.1 + +package org.scip_code.scip; + +/** + *
+ * Symbol is similar to a URI, it identifies a class, method, or a local
+ * variable. `SymbolInformation` contains rich metadata about symbols such as
+ * the docstring.
+ *
+ * Symbol has a standardized string representation, which can be used
+ * interchangeably with `Symbol`. The syntax for Symbol is the following:
+ * ```
+ * # (<x>)+ stands for one or more repetitions of <x>
+ * # (<x>)? stands for zero or one occurrence of <x>
+ * <symbol>               ::= <scheme> ' ' <package> ' ' (<descriptor>)+ | 'local ' <local-id>
+ * <package>              ::= <manager> ' ' <package-name> ' ' <version>
+ * <scheme>               ::= any UTF-8, escape spaces with double space. Must not be empty nor start with 'local'
+ * <manager>              ::= any UTF-8, escape spaces with double space. Use the placeholder '.' to indicate an empty value
+ * <package-name>         ::= same as above
+ * <version>              ::= same as above
+ * <descriptor>           ::= <namespace> | <type> | <term> | <method> | <type-parameter> | <parameter> | <meta> | <macro>
+ * <namespace>            ::= <name> '/'
+ * <type>                 ::= <name> '#'
+ * <term>                 ::= <name> '.'
+ * <meta>                 ::= <name> ':'
+ * <macro>                ::= <name> '!'
+ * <method>               ::= <name> '(' (<method-disambiguator>)? ').'
+ * <type-parameter>       ::= '[' <name> ']'
+ * <parameter>            ::= '(' <name> ')'
+ * <name>                 ::= <identifier>
+ * <method-disambiguator> ::= <simple-identifier>
+ * <identifier>           ::= <simple-identifier> | <escaped-identifier>
+ * <simple-identifier>    ::= (<identifier-character>)+
+ * <identifier-character> ::= '_' | '+' | '-' | '$' | ASCII letter or digit
+ * <escaped-identifier>   ::= '`' (<escaped-character>)+ '`', must contain at least one non-<identifier-character>
+ * <escaped-characters>   ::= any UTF-8, escape backticks with double backtick.
+ * <local-id>             ::= <simple-identifier>
+ * ```
+ *
+ * The list of descriptors for a symbol should together form a fully
+ * qualified name for the symbol. That is, it should serve as a unique
+ * identifier across the package. Typically, it will include one descriptor
+ * for every node in the AST (along the ancestry path) between the root of
+ * the file and the node corresponding to the symbol.
+ *
+ * Local symbols MUST only be used for entities which are local to a Document,
+ * and cannot be accessed from outside the Document.
+ * 
+ * + * Protobuf type {@code scip.Symbol} + */ +@com.google.protobuf.Generated +public final class Symbol extends + com.google.protobuf.GeneratedMessage implements + // @@protoc_insertion_point(message_implements:scip.Symbol) + SymbolOrBuilder { +private static final long serialVersionUID = 0L; + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 32, + /* patch= */ 1, + /* suffix= */ "", + Symbol.class.getName()); + } + // Use Symbol.newBuilder() to construct. + private Symbol(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + private Symbol() { + scheme_ = ""; + descriptors_ = java.util.Collections.emptyList(); + } + + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.scip_code.scip.ScipProto.internal_static_scip_Symbol_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.scip_code.scip.ScipProto.internal_static_scip_Symbol_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.scip_code.scip.Symbol.class, org.scip_code.scip.Symbol.Builder.class); + } + + private int bitField0_; + public static final int SCHEME_FIELD_NUMBER = 1; + @SuppressWarnings("serial") + private volatile java.lang.Object scheme_ = ""; + /** + * string scheme = 1 [json_name = "scheme"]; + * @return The scheme. + */ + @java.lang.Override + public java.lang.String getScheme() { + java.lang.Object ref = scheme_; + 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(); + scheme_ = s; + return s; + } + } + /** + * string scheme = 1 [json_name = "scheme"]; + * @return The bytes for scheme. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getSchemeBytes() { + java.lang.Object ref = scheme_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + scheme_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int PACKAGE_FIELD_NUMBER = 2; + private org.scip_code.scip.Package package_; + /** + * .scip.Package package = 2 [json_name = "package"]; + * @return Whether the package field is set. + */ + @java.lang.Override + public boolean hasPackage() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * .scip.Package package = 2 [json_name = "package"]; + * @return The package. + */ + @java.lang.Override + public org.scip_code.scip.Package getPackage() { + return package_ == null ? org.scip_code.scip.Package.getDefaultInstance() : package_; + } + /** + * .scip.Package package = 2 [json_name = "package"]; + */ + @java.lang.Override + public org.scip_code.scip.PackageOrBuilder getPackageOrBuilder() { + return package_ == null ? org.scip_code.scip.Package.getDefaultInstance() : package_; + } + + public static final int DESCRIPTORS_FIELD_NUMBER = 3; + @SuppressWarnings("serial") + private java.util.List descriptors_; + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + @java.lang.Override + public java.util.List getDescriptorsList() { + return descriptors_; + } + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + @java.lang.Override + public java.util.List + getDescriptorsOrBuilderList() { + return descriptors_; + } + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + @java.lang.Override + public int getDescriptorsCount() { + return descriptors_.size(); + } + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + @java.lang.Override + public org.scip_code.scip.Descriptor getDescriptors(int index) { + return descriptors_.get(index); + } + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + @java.lang.Override + public org.scip_code.scip.DescriptorOrBuilder getDescriptorsOrBuilder( + int index) { + return descriptors_.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 (!com.google.protobuf.GeneratedMessage.isStringEmpty(scheme_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, scheme_); + } + if (((bitField0_ & 0x00000001) != 0)) { + output.writeMessage(2, getPackage()); + } + for (int i = 0; i < descriptors_.size(); i++) { + output.writeMessage(3, descriptors_.get(i)); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(scheme_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, scheme_); + } + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(2, getPackage()); + } + for (int i = 0; i < descriptors_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(3, descriptors_.get(i)); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof org.scip_code.scip.Symbol)) { + return super.equals(obj); + } + org.scip_code.scip.Symbol other = (org.scip_code.scip.Symbol) obj; + + if (!getScheme() + .equals(other.getScheme())) return false; + if (hasPackage() != other.hasPackage()) return false; + if (hasPackage()) { + if (!getPackage() + .equals(other.getPackage())) return false; + } + if (!getDescriptorsList() + .equals(other.getDescriptorsList())) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) 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) + SCHEME_FIELD_NUMBER; + hash = (53 * hash) + getScheme().hashCode(); + if (hasPackage()) { + hash = (37 * hash) + PACKAGE_FIELD_NUMBER; + hash = (53 * hash) + getPackage().hashCode(); + } + if (getDescriptorsCount() > 0) { + hash = (37 * hash) + DESCRIPTORS_FIELD_NUMBER; + hash = (53 * hash) + getDescriptorsList().hashCode(); + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static org.scip_code.scip.Symbol parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.scip_code.scip.Symbol parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.scip_code.scip.Symbol parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.scip_code.scip.Symbol parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.scip_code.scip.Symbol parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.scip_code.scip.Symbol parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.scip_code.scip.Symbol parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static org.scip_code.scip.Symbol parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public static org.scip_code.scip.Symbol parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input); + } + + public static org.scip_code.scip.Symbol parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static org.scip_code.scip.Symbol parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static org.scip_code.scip.Symbol parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(org.scip_code.scip.Symbol 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + *
+   * Symbol is similar to a URI, it identifies a class, method, or a local
+   * variable. `SymbolInformation` contains rich metadata about symbols such as
+   * the docstring.
+   *
+   * Symbol has a standardized string representation, which can be used
+   * interchangeably with `Symbol`. The syntax for Symbol is the following:
+   * ```
+   * # (<x>)+ stands for one or more repetitions of <x>
+   * # (<x>)? stands for zero or one occurrence of <x>
+   * <symbol>               ::= <scheme> ' ' <package> ' ' (<descriptor>)+ | 'local ' <local-id>
+   * <package>              ::= <manager> ' ' <package-name> ' ' <version>
+   * <scheme>               ::= any UTF-8, escape spaces with double space. Must not be empty nor start with 'local'
+   * <manager>              ::= any UTF-8, escape spaces with double space. Use the placeholder '.' to indicate an empty value
+   * <package-name>         ::= same as above
+   * <version>              ::= same as above
+   * <descriptor>           ::= <namespace> | <type> | <term> | <method> | <type-parameter> | <parameter> | <meta> | <macro>
+   * <namespace>            ::= <name> '/'
+   * <type>                 ::= <name> '#'
+   * <term>                 ::= <name> '.'
+   * <meta>                 ::= <name> ':'
+   * <macro>                ::= <name> '!'
+   * <method>               ::= <name> '(' (<method-disambiguator>)? ').'
+   * <type-parameter>       ::= '[' <name> ']'
+   * <parameter>            ::= '(' <name> ')'
+   * <name>                 ::= <identifier>
+   * <method-disambiguator> ::= <simple-identifier>
+   * <identifier>           ::= <simple-identifier> | <escaped-identifier>
+   * <simple-identifier>    ::= (<identifier-character>)+
+   * <identifier-character> ::= '_' | '+' | '-' | '$' | ASCII letter or digit
+   * <escaped-identifier>   ::= '`' (<escaped-character>)+ '`', must contain at least one non-<identifier-character>
+   * <escaped-characters>   ::= any UTF-8, escape backticks with double backtick.
+   * <local-id>             ::= <simple-identifier>
+   * ```
+   *
+   * The list of descriptors for a symbol should together form a fully
+   * qualified name for the symbol. That is, it should serve as a unique
+   * identifier across the package. Typically, it will include one descriptor
+   * for every node in the AST (along the ancestry path) between the root of
+   * the file and the node corresponding to the symbol.
+   *
+   * Local symbols MUST only be used for entities which are local to a Document,
+   * and cannot be accessed from outside the Document.
+   * 
+ * + * Protobuf type {@code scip.Symbol} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder implements + // @@protoc_insertion_point(builder_implements:scip.Symbol) + org.scip_code.scip.SymbolOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.scip_code.scip.ScipProto.internal_static_scip_Symbol_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.scip_code.scip.ScipProto.internal_static_scip_Symbol_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.scip_code.scip.Symbol.class, org.scip_code.scip.Symbol.Builder.class); + } + + // Construct using org.scip_code.scip.Symbol.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage + .alwaysUseFieldBuilders) { + internalGetPackageFieldBuilder(); + internalGetDescriptorsFieldBuilder(); + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + scheme_ = ""; + package_ = null; + if (packageBuilder_ != null) { + packageBuilder_.dispose(); + packageBuilder_ = null; + } + if (descriptorsBuilder_ == null) { + descriptors_ = java.util.Collections.emptyList(); + } else { + descriptors_ = null; + descriptorsBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000004); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return org.scip_code.scip.ScipProto.internal_static_scip_Symbol_descriptor; + } + + @java.lang.Override + public org.scip_code.scip.Symbol getDefaultInstanceForType() { + return org.scip_code.scip.Symbol.getDefaultInstance(); + } + + @java.lang.Override + public org.scip_code.scip.Symbol build() { + org.scip_code.scip.Symbol result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public org.scip_code.scip.Symbol buildPartial() { + org.scip_code.scip.Symbol result = new org.scip_code.scip.Symbol(this); + buildPartialRepeatedFields(result); + if (bitField0_ != 0) { buildPartial0(result); } + onBuilt(); + return result; + } + + private void buildPartialRepeatedFields(org.scip_code.scip.Symbol result) { + if (descriptorsBuilder_ == null) { + if (((bitField0_ & 0x00000004) != 0)) { + descriptors_ = java.util.Collections.unmodifiableList(descriptors_); + bitField0_ = (bitField0_ & ~0x00000004); + } + result.descriptors_ = descriptors_; + } else { + result.descriptors_ = descriptorsBuilder_.build(); + } + } + + private void buildPartial0(org.scip_code.scip.Symbol result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.scheme_ = scheme_; + } + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000002) != 0)) { + result.package_ = packageBuilder_ == null + ? package_ + : packageBuilder_.build(); + to_bitField0_ |= 0x00000001; + } + result.bitField0_ |= to_bitField0_; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof org.scip_code.scip.Symbol) { + return mergeFrom((org.scip_code.scip.Symbol)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(org.scip_code.scip.Symbol other) { + if (other == org.scip_code.scip.Symbol.getDefaultInstance()) return this; + if (!other.getScheme().isEmpty()) { + scheme_ = other.scheme_; + bitField0_ |= 0x00000001; + onChanged(); + } + if (other.hasPackage()) { + mergePackage(other.getPackage()); + } + if (descriptorsBuilder_ == null) { + if (!other.descriptors_.isEmpty()) { + if (descriptors_.isEmpty()) { + descriptors_ = other.descriptors_; + bitField0_ = (bitField0_ & ~0x00000004); + } else { + ensureDescriptorsIsMutable(); + descriptors_.addAll(other.descriptors_); + } + onChanged(); + } + } else { + if (!other.descriptors_.isEmpty()) { + if (descriptorsBuilder_.isEmpty()) { + descriptorsBuilder_.dispose(); + descriptorsBuilder_ = null; + descriptors_ = other.descriptors_; + bitField0_ = (bitField0_ & ~0x00000004); + descriptorsBuilder_ = + com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ? + internalGetDescriptorsFieldBuilder() : null; + } else { + descriptorsBuilder_.addAllMessages(other.descriptors_); + } + } + } + this.mergeUnknownFields(other.getUnknownFields()); + 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 { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + scheme_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 18: { + input.readMessage( + internalGetPackageFieldBuilder().getBuilder(), + extensionRegistry); + bitField0_ |= 0x00000002; + break; + } // case 18 + case 26: { + org.scip_code.scip.Descriptor m = + input.readMessage( + org.scip_code.scip.Descriptor.parser(), + extensionRegistry); + if (descriptorsBuilder_ == null) { + ensureDescriptorsIsMutable(); + descriptors_.add(m); + } else { + descriptorsBuilder_.addMessage(m); + } + break; + } // case 26 + default: { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + private int bitField0_; + + private java.lang.Object scheme_ = ""; + /** + * string scheme = 1 [json_name = "scheme"]; + * @return The scheme. + */ + public java.lang.String getScheme() { + java.lang.Object ref = scheme_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + scheme_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * string scheme = 1 [json_name = "scheme"]; + * @return The bytes for scheme. + */ + public com.google.protobuf.ByteString + getSchemeBytes() { + java.lang.Object ref = scheme_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + scheme_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * string scheme = 1 [json_name = "scheme"]; + * @param value The scheme to set. + * @return This builder for chaining. + */ + public Builder setScheme( + java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + scheme_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + /** + * string scheme = 1 [json_name = "scheme"]; + * @return This builder for chaining. + */ + public Builder clearScheme() { + scheme_ = getDefaultInstance().getScheme(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + /** + * string scheme = 1 [json_name = "scheme"]; + * @param value The bytes for scheme to set. + * @return This builder for chaining. + */ + public Builder setSchemeBytes( + com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + checkByteStringIsUtf8(value); + scheme_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private org.scip_code.scip.Package package_; + private com.google.protobuf.SingleFieldBuilder< + org.scip_code.scip.Package, org.scip_code.scip.Package.Builder, org.scip_code.scip.PackageOrBuilder> packageBuilder_; + /** + * .scip.Package package = 2 [json_name = "package"]; + * @return Whether the package field is set. + */ + public boolean hasPackage() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * .scip.Package package = 2 [json_name = "package"]; + * @return The package. + */ + public org.scip_code.scip.Package getPackage() { + if (packageBuilder_ == null) { + return package_ == null ? org.scip_code.scip.Package.getDefaultInstance() : package_; + } else { + return packageBuilder_.getMessage(); + } + } + /** + * .scip.Package package = 2 [json_name = "package"]; + */ + public Builder setPackage(org.scip_code.scip.Package value) { + if (packageBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + package_ = value; + } else { + packageBuilder_.setMessage(value); + } + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + /** + * .scip.Package package = 2 [json_name = "package"]; + */ + public Builder setPackage( + org.scip_code.scip.Package.Builder builderForValue) { + if (packageBuilder_ == null) { + package_ = builderForValue.build(); + } else { + packageBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + /** + * .scip.Package package = 2 [json_name = "package"]; + */ + public Builder mergePackage(org.scip_code.scip.Package value) { + if (packageBuilder_ == null) { + if (((bitField0_ & 0x00000002) != 0) && + package_ != null && + package_ != org.scip_code.scip.Package.getDefaultInstance()) { + getPackageBuilder().mergeFrom(value); + } else { + package_ = value; + } + } else { + packageBuilder_.mergeFrom(value); + } + if (package_ != null) { + bitField0_ |= 0x00000002; + onChanged(); + } + return this; + } + /** + * .scip.Package package = 2 [json_name = "package"]; + */ + public Builder clearPackage() { + bitField0_ = (bitField0_ & ~0x00000002); + package_ = null; + if (packageBuilder_ != null) { + packageBuilder_.dispose(); + packageBuilder_ = null; + } + onChanged(); + return this; + } + /** + * .scip.Package package = 2 [json_name = "package"]; + */ + public org.scip_code.scip.Package.Builder getPackageBuilder() { + bitField0_ |= 0x00000002; + onChanged(); + return internalGetPackageFieldBuilder().getBuilder(); + } + /** + * .scip.Package package = 2 [json_name = "package"]; + */ + public org.scip_code.scip.PackageOrBuilder getPackageOrBuilder() { + if (packageBuilder_ != null) { + return packageBuilder_.getMessageOrBuilder(); + } else { + return package_ == null ? + org.scip_code.scip.Package.getDefaultInstance() : package_; + } + } + /** + * .scip.Package package = 2 [json_name = "package"]; + */ + private com.google.protobuf.SingleFieldBuilder< + org.scip_code.scip.Package, org.scip_code.scip.Package.Builder, org.scip_code.scip.PackageOrBuilder> + internalGetPackageFieldBuilder() { + if (packageBuilder_ == null) { + packageBuilder_ = new com.google.protobuf.SingleFieldBuilder< + org.scip_code.scip.Package, org.scip_code.scip.Package.Builder, org.scip_code.scip.PackageOrBuilder>( + getPackage(), + getParentForChildren(), + isClean()); + package_ = null; + } + return packageBuilder_; + } + + private java.util.List descriptors_ = + java.util.Collections.emptyList(); + private void ensureDescriptorsIsMutable() { + if (!((bitField0_ & 0x00000004) != 0)) { + descriptors_ = new java.util.ArrayList(descriptors_); + bitField0_ |= 0x00000004; + } + } + + private com.google.protobuf.RepeatedFieldBuilder< + org.scip_code.scip.Descriptor, org.scip_code.scip.Descriptor.Builder, org.scip_code.scip.DescriptorOrBuilder> descriptorsBuilder_; + + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + public java.util.List getDescriptorsList() { + if (descriptorsBuilder_ == null) { + return java.util.Collections.unmodifiableList(descriptors_); + } else { + return descriptorsBuilder_.getMessageList(); + } + } + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + public int getDescriptorsCount() { + if (descriptorsBuilder_ == null) { + return descriptors_.size(); + } else { + return descriptorsBuilder_.getCount(); + } + } + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + public org.scip_code.scip.Descriptor getDescriptors(int index) { + if (descriptorsBuilder_ == null) { + return descriptors_.get(index); + } else { + return descriptorsBuilder_.getMessage(index); + } + } + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + public Builder setDescriptors( + int index, org.scip_code.scip.Descriptor value) { + if (descriptorsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureDescriptorsIsMutable(); + descriptors_.set(index, value); + onChanged(); + } else { + descriptorsBuilder_.setMessage(index, value); + } + return this; + } + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + public Builder setDescriptors( + int index, org.scip_code.scip.Descriptor.Builder builderForValue) { + if (descriptorsBuilder_ == null) { + ensureDescriptorsIsMutable(); + descriptors_.set(index, builderForValue.build()); + onChanged(); + } else { + descriptorsBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + public Builder addDescriptors(org.scip_code.scip.Descriptor value) { + if (descriptorsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureDescriptorsIsMutable(); + descriptors_.add(value); + onChanged(); + } else { + descriptorsBuilder_.addMessage(value); + } + return this; + } + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + public Builder addDescriptors( + int index, org.scip_code.scip.Descriptor value) { + if (descriptorsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureDescriptorsIsMutable(); + descriptors_.add(index, value); + onChanged(); + } else { + descriptorsBuilder_.addMessage(index, value); + } + return this; + } + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + public Builder addDescriptors( + org.scip_code.scip.Descriptor.Builder builderForValue) { + if (descriptorsBuilder_ == null) { + ensureDescriptorsIsMutable(); + descriptors_.add(builderForValue.build()); + onChanged(); + } else { + descriptorsBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + public Builder addDescriptors( + int index, org.scip_code.scip.Descriptor.Builder builderForValue) { + if (descriptorsBuilder_ == null) { + ensureDescriptorsIsMutable(); + descriptors_.add(index, builderForValue.build()); + onChanged(); + } else { + descriptorsBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + public Builder addAllDescriptors( + java.lang.Iterable values) { + if (descriptorsBuilder_ == null) { + ensureDescriptorsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, descriptors_); + onChanged(); + } else { + descriptorsBuilder_.addAllMessages(values); + } + return this; + } + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + public Builder clearDescriptors() { + if (descriptorsBuilder_ == null) { + descriptors_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000004); + onChanged(); + } else { + descriptorsBuilder_.clear(); + } + return this; + } + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + public Builder removeDescriptors(int index) { + if (descriptorsBuilder_ == null) { + ensureDescriptorsIsMutable(); + descriptors_.remove(index); + onChanged(); + } else { + descriptorsBuilder_.remove(index); + } + return this; + } + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + public org.scip_code.scip.Descriptor.Builder getDescriptorsBuilder( + int index) { + return internalGetDescriptorsFieldBuilder().getBuilder(index); + } + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + public org.scip_code.scip.DescriptorOrBuilder getDescriptorsOrBuilder( + int index) { + if (descriptorsBuilder_ == null) { + return descriptors_.get(index); } else { + return descriptorsBuilder_.getMessageOrBuilder(index); + } + } + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + public java.util.List + getDescriptorsOrBuilderList() { + if (descriptorsBuilder_ != null) { + return descriptorsBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(descriptors_); + } + } + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + public org.scip_code.scip.Descriptor.Builder addDescriptorsBuilder() { + return internalGetDescriptorsFieldBuilder().addBuilder( + org.scip_code.scip.Descriptor.getDefaultInstance()); + } + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + public org.scip_code.scip.Descriptor.Builder addDescriptorsBuilder( + int index) { + return internalGetDescriptorsFieldBuilder().addBuilder( + index, org.scip_code.scip.Descriptor.getDefaultInstance()); + } + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + public java.util.List + getDescriptorsBuilderList() { + return internalGetDescriptorsFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilder< + org.scip_code.scip.Descriptor, org.scip_code.scip.Descriptor.Builder, org.scip_code.scip.DescriptorOrBuilder> + internalGetDescriptorsFieldBuilder() { + if (descriptorsBuilder_ == null) { + descriptorsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder< + org.scip_code.scip.Descriptor, org.scip_code.scip.Descriptor.Builder, org.scip_code.scip.DescriptorOrBuilder>( + descriptors_, + ((bitField0_ & 0x00000004) != 0), + getParentForChildren(), + isClean()); + descriptors_ = null; + } + return descriptorsBuilder_; + } + + // @@protoc_insertion_point(builder_scope:scip.Symbol) + } + + // @@protoc_insertion_point(class_scope:scip.Symbol) + private static final org.scip_code.scip.Symbol DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new org.scip_code.scip.Symbol(); + } + + public static org.scip_code.scip.Symbol getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public Symbol parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public org.scip_code.scip.Symbol getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + +} + diff --git a/bindings/kotlin/src/main/java/org/scip_code/scip/SymbolInformation.java b/bindings/kotlin/src/main/java/org/scip_code/scip/SymbolInformation.java new file mode 100644 index 00000000..287c09bd --- /dev/null +++ b/bindings/kotlin/src/main/java/org/scip_code/scip/SymbolInformation.java @@ -0,0 +1,3545 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: scip.proto +// Protobuf Java Version: 4.32.1 + +package org.scip_code.scip; + +/** + *
+ * SymbolInformation defines metadata about a symbol, such as the symbol's
+ * docstring or what package it's defined it.
+ * 
+ * + * Protobuf type {@code scip.SymbolInformation} + */ +@com.google.protobuf.Generated +public final class SymbolInformation extends + com.google.protobuf.GeneratedMessage implements + // @@protoc_insertion_point(message_implements:scip.SymbolInformation) + SymbolInformationOrBuilder { +private static final long serialVersionUID = 0L; + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 32, + /* patch= */ 1, + /* suffix= */ "", + SymbolInformation.class.getName()); + } + // Use SymbolInformation.newBuilder() to construct. + private SymbolInformation(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + private SymbolInformation() { + symbol_ = ""; + documentation_ = + com.google.protobuf.LazyStringArrayList.emptyList(); + relationships_ = java.util.Collections.emptyList(); + kind_ = 0; + displayName_ = ""; + enclosingSymbol_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.scip_code.scip.ScipProto.internal_static_scip_SymbolInformation_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.scip_code.scip.ScipProto.internal_static_scip_SymbolInformation_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.scip_code.scip.SymbolInformation.class, org.scip_code.scip.SymbolInformation.Builder.class); + } + + /** + *
+   * (optional) Kind represents the fine-grained category of a symbol, suitable for presenting
+   * information about the symbol's meaning in the language.
+   *
+   * For example:
+   * - A Java method would have the kind `Method` while a Go function would
+   * have the kind `Function`, even if the symbols for these use the same
+   * syntax for the descriptor `SymbolDescriptor.Suffix.Method`.
+   * - A Go struct has the symbol kind `Struct` while a Java class has
+   * the symbol kind `Class` even if they both have the same descriptor:
+   * `SymbolDescriptor.Suffix.Type`.
+   *
+   * Since Kind is more fine-grained than Suffix:
+   * - If two symbols have the same Kind, they should share the same Suffix.
+   * - If two symbols have different Suffixes, they should have different Kinds.
+   * 
+ * + * Protobuf enum {@code scip.SymbolInformation.Kind} + */ + public enum Kind + implements com.google.protobuf.ProtocolMessageEnum { + /** + * UnspecifiedKind = 0; + */ + UnspecifiedKind(0), + /** + *
+     * A method which may or may not have a body. For Java, Kotlin etc.
+     * 
+ * + * AbstractMethod = 66; + */ + AbstractMethod(66), + /** + *
+     * For Ruby's attr_accessor
+     * 
+ * + * Accessor = 72; + */ + Accessor(72), + /** + * Array = 1; + */ + Array(1), + /** + *
+     * For Alloy
+     * 
+ * + * Assertion = 2; + */ + Assertion(2), + /** + * AssociatedType = 3; + */ + AssociatedType(3), + /** + *
+     * For C++
+     * 
+ * + * Attribute = 4; + */ + Attribute(4), + /** + *
+     * For Lean
+     * 
+ * + * Axiom = 5; + */ + Axiom(5), + /** + * Boolean = 6; + */ + Boolean(6), + /** + * Class = 7; + */ + Class(7), + /** + *
+     * For C++
+     * 
+ * + * Concept = 86; + */ + Concept(86), + /** + * Constant = 8; + */ + Constant(8), + /** + * Constructor = 9; + */ + Constructor(9), + /** + *
+     * For Solidity
+     * 
+ * + * Contract = 62; + */ + Contract(62), + /** + *
+     * For Haskell
+     * 
+ * + * DataFamily = 10; + */ + DataFamily(10), + /** + *
+     * For C# and F#
+     * 
+ * + * Delegate = 73; + */ + Delegate(73), + /** + * Enum = 11; + */ + Enum(11), + /** + * EnumMember = 12; + */ + EnumMember(12), + /** + * Error = 63; + */ + Error(63), + /** + * Event = 13; + */ + Event(13), + /** + *
+     * For Dart
+     * 
+ * + * Extension = 84; + */ + Extension(84), + /** + *
+     * For Alloy
+     * 
+ * + * Fact = 14; + */ + Fact(14), + /** + * Field = 15; + */ + Field(15), + /** + * File = 16; + */ + File(16), + /** + * Function = 17; + */ + Function(17), + /** + *
+     * For 'get' in Swift, 'attr_reader' in Ruby
+     * 
+ * + * Getter = 18; + */ + Getter(18), + /** + *
+     * For Raku
+     * 
+ * + * Grammar = 19; + */ + Grammar(19), + /** + *
+     * For Purescript and Lean
+     * 
+ * + * Instance = 20; + */ + Instance(20), + /** + * Interface = 21; + */ + Interface(21), + /** + * Key = 22; + */ + Key(22), + /** + *
+     * For Racket
+     * 
+ * + * Lang = 23; + */ + Lang(23), + /** + *
+     * For Lean
+     * 
+ * + * Lemma = 24; + */ + Lemma(24), + /** + *
+     * For solidity
+     * 
+ * + * Library = 64; + */ + Library(64), + /** + * Macro = 25; + */ + Macro(25), + /** + * Method = 26; + */ + Method(26), + /** + *
+     * For Ruby
+     * 
+ * + * MethodAlias = 74; + */ + MethodAlias(74), + /** + *
+     * Analogous to 'ThisParameter' and 'SelfParameter', but for languages
+     * like Go where the receiver doesn't have a conventional name.
+     * 
+ * + * MethodReceiver = 27; + */ + MethodReceiver(27), + /** + *
+     * Analogous to 'AbstractMethod', for Go.
+     * 
+ * + * MethodSpecification = 67; + */ + MethodSpecification(67), + /** + *
+     * For Protobuf
+     * 
+ * + * Message = 28; + */ + Message(28), + /** + *
+     * For Dart
+     * 
+ * + * Mixin = 85; + */ + Mixin(85), + /** + *
+     * For Solidity
+     * 
+ * + * Modifier = 65; + */ + Modifier(65), + /** + * Module = 29; + */ + Module(29), + /** + * Namespace = 30; + */ + Namespace(30), + /** + * Null = 31; + */ + Null(31), + /** + * Number = 32; + */ + Number(32), + /** + * Object = 33; + */ + Object(33), + /** + * Operator = 34; + */ + Operator(34), + /** + * Package = 35; + */ + Package(35), + /** + * PackageObject = 36; + */ + PackageObject(36), + /** + * Parameter = 37; + */ + Parameter(37), + /** + * ParameterLabel = 38; + */ + ParameterLabel(38), + /** + *
+     * For Haskell's PatternSynonyms
+     * 
+ * + * Pattern = 39; + */ + Pattern(39), + /** + *
+     * For Alloy
+     * 
+ * + * Predicate = 40; + */ + Predicate(40), + /** + * Property = 41; + */ + Property(41), + /** + *
+     * Analogous to 'Trait' and 'TypeClass', for Swift and Objective-C
+     * 
+ * + * Protocol = 42; + */ + Protocol(42), + /** + *
+     * Analogous to 'AbstractMethod', for Swift and Objective-C.
+     * 
+ * + * ProtocolMethod = 68; + */ + ProtocolMethod(68), + /** + *
+     * Analogous to 'AbstractMethod', for C++.
+     * 
+ * + * PureVirtualMethod = 69; + */ + PureVirtualMethod(69), + /** + *
+     * For Haskell
+     * 
+ * + * Quasiquoter = 43; + */ + Quasiquoter(43), + /** + *
+     * 'self' in Python, Rust, Swift etc.
+     * 
+ * + * SelfParameter = 44; + */ + SelfParameter(44), + /** + *
+     * For 'set' in Swift, 'attr_writer' in Ruby
+     * 
+ * + * Setter = 45; + */ + Setter(45), + /** + *
+     * For Alloy, analogous to 'Struct'.
+     * 
+ * + * Signature = 46; + */ + Signature(46), + /** + *
+     * For Ruby
+     * 
+ * + * SingletonClass = 75; + */ + SingletonClass(75), + /** + *
+     * Analogous to 'StaticMethod', for Ruby.
+     * 
+ * + * SingletonMethod = 76; + */ + SingletonMethod(76), + /** + *
+     * Analogous to 'StaticField', for C++
+     * 
+ * + * StaticDataMember = 77; + */ + StaticDataMember(77), + /** + *
+     * For C#
+     * 
+ * + * StaticEvent = 78; + */ + StaticEvent(78), + /** + *
+     * For C#
+     * 
+ * + * StaticField = 79; + */ + StaticField(79), + /** + *
+     * For Java, C#, C++ etc.
+     * 
+ * + * StaticMethod = 80; + */ + StaticMethod(80), + /** + *
+     * For C#, TypeScript etc.
+     * 
+ * + * StaticProperty = 81; + */ + StaticProperty(81), + /** + *
+     * For C, C++
+     * 
+ * + * StaticVariable = 82; + */ + StaticVariable(82), + /** + * String = 48; + */ + String(48), + /** + * Struct = 49; + */ + Struct(49), + /** + *
+     * For Swift
+     * 
+ * + * Subscript = 47; + */ + Subscript(47), + /** + *
+     * For Lean
+     * 
+ * + * Tactic = 50; + */ + Tactic(50), + /** + *
+     * For Lean
+     * 
+ * + * Theorem = 51; + */ + Theorem(51), + /** + *
+     * Method receiver for languages
+     * 'this' in JavaScript, C++, Java etc.
+     * 
+ * + * ThisParameter = 52; + */ + ThisParameter(52), + /** + *
+     * Analogous to 'Protocol' and 'TypeClass', for Rust, Scala etc.
+     * 
+ * + * Trait = 53; + */ + Trait(53), + /** + *
+     * Analogous to 'AbstractMethod', for Rust, Scala etc.
+     * 
+ * + * TraitMethod = 70; + */ + TraitMethod(70), + /** + *
+     * Data type definition for languages like OCaml which use `type`
+     * rather than separate keywords like `struct` and `enum`.
+     * 
+ * + * Type = 54; + */ + Type(54), + /** + * TypeAlias = 55; + */ + TypeAlias(55), + /** + *
+     * Analogous to 'Trait' and 'Protocol', for Haskell, Purescript etc.
+     * 
+ * + * TypeClass = 56; + */ + TypeClass(56), + /** + *
+     * Analogous to 'AbstractMethod', for Haskell, Purescript etc.
+     * 
+ * + * TypeClassMethod = 71; + */ + TypeClassMethod(71), + /** + *
+     * For Haskell
+     * 
+ * + * TypeFamily = 57; + */ + TypeFamily(57), + /** + * TypeParameter = 58; + */ + TypeParameter(58), + /** + *
+     * For C, C++, Capn Proto
+     * 
+ * + * Union = 59; + */ + Union(59), + /** + * Value = 60; + */ + Value(60), + /** + *
+     * Next = 87;
+     * Feel free to open a PR proposing new language-specific kinds.
+     * 
+ * + * Variable = 61; + */ + Variable(61), + UNRECOGNIZED(-1), + ; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 32, + /* patch= */ 1, + /* suffix= */ "", + Kind.class.getName()); + } + /** + * UnspecifiedKind = 0; + */ + public static final int UnspecifiedKind_VALUE = 0; + /** + *
+     * A method which may or may not have a body. For Java, Kotlin etc.
+     * 
+ * + * AbstractMethod = 66; + */ + public static final int AbstractMethod_VALUE = 66; + /** + *
+     * For Ruby's attr_accessor
+     * 
+ * + * Accessor = 72; + */ + public static final int Accessor_VALUE = 72; + /** + * Array = 1; + */ + public static final int Array_VALUE = 1; + /** + *
+     * For Alloy
+     * 
+ * + * Assertion = 2; + */ + public static final int Assertion_VALUE = 2; + /** + * AssociatedType = 3; + */ + public static final int AssociatedType_VALUE = 3; + /** + *
+     * For C++
+     * 
+ * + * Attribute = 4; + */ + public static final int Attribute_VALUE = 4; + /** + *
+     * For Lean
+     * 
+ * + * Axiom = 5; + */ + public static final int Axiom_VALUE = 5; + /** + * Boolean = 6; + */ + public static final int Boolean_VALUE = 6; + /** + * Class = 7; + */ + public static final int Class_VALUE = 7; + /** + *
+     * For C++
+     * 
+ * + * Concept = 86; + */ + public static final int Concept_VALUE = 86; + /** + * Constant = 8; + */ + public static final int Constant_VALUE = 8; + /** + * Constructor = 9; + */ + public static final int Constructor_VALUE = 9; + /** + *
+     * For Solidity
+     * 
+ * + * Contract = 62; + */ + public static final int Contract_VALUE = 62; + /** + *
+     * For Haskell
+     * 
+ * + * DataFamily = 10; + */ + public static final int DataFamily_VALUE = 10; + /** + *
+     * For C# and F#
+     * 
+ * + * Delegate = 73; + */ + public static final int Delegate_VALUE = 73; + /** + * Enum = 11; + */ + public static final int Enum_VALUE = 11; + /** + * EnumMember = 12; + */ + public static final int EnumMember_VALUE = 12; + /** + * Error = 63; + */ + public static final int Error_VALUE = 63; + /** + * Event = 13; + */ + public static final int Event_VALUE = 13; + /** + *
+     * For Dart
+     * 
+ * + * Extension = 84; + */ + public static final int Extension_VALUE = 84; + /** + *
+     * For Alloy
+     * 
+ * + * Fact = 14; + */ + public static final int Fact_VALUE = 14; + /** + * Field = 15; + */ + public static final int Field_VALUE = 15; + /** + * File = 16; + */ + public static final int File_VALUE = 16; + /** + * Function = 17; + */ + public static final int Function_VALUE = 17; + /** + *
+     * For 'get' in Swift, 'attr_reader' in Ruby
+     * 
+ * + * Getter = 18; + */ + public static final int Getter_VALUE = 18; + /** + *
+     * For Raku
+     * 
+ * + * Grammar = 19; + */ + public static final int Grammar_VALUE = 19; + /** + *
+     * For Purescript and Lean
+     * 
+ * + * Instance = 20; + */ + public static final int Instance_VALUE = 20; + /** + * Interface = 21; + */ + public static final int Interface_VALUE = 21; + /** + * Key = 22; + */ + public static final int Key_VALUE = 22; + /** + *
+     * For Racket
+     * 
+ * + * Lang = 23; + */ + public static final int Lang_VALUE = 23; + /** + *
+     * For Lean
+     * 
+ * + * Lemma = 24; + */ + public static final int Lemma_VALUE = 24; + /** + *
+     * For solidity
+     * 
+ * + * Library = 64; + */ + public static final int Library_VALUE = 64; + /** + * Macro = 25; + */ + public static final int Macro_VALUE = 25; + /** + * Method = 26; + */ + public static final int Method_VALUE = 26; + /** + *
+     * For Ruby
+     * 
+ * + * MethodAlias = 74; + */ + public static final int MethodAlias_VALUE = 74; + /** + *
+     * Analogous to 'ThisParameter' and 'SelfParameter', but for languages
+     * like Go where the receiver doesn't have a conventional name.
+     * 
+ * + * MethodReceiver = 27; + */ + public static final int MethodReceiver_VALUE = 27; + /** + *
+     * Analogous to 'AbstractMethod', for Go.
+     * 
+ * + * MethodSpecification = 67; + */ + public static final int MethodSpecification_VALUE = 67; + /** + *
+     * For Protobuf
+     * 
+ * + * Message = 28; + */ + public static final int Message_VALUE = 28; + /** + *
+     * For Dart
+     * 
+ * + * Mixin = 85; + */ + public static final int Mixin_VALUE = 85; + /** + *
+     * For Solidity
+     * 
+ * + * Modifier = 65; + */ + public static final int Modifier_VALUE = 65; + /** + * Module = 29; + */ + public static final int Module_VALUE = 29; + /** + * Namespace = 30; + */ + public static final int Namespace_VALUE = 30; + /** + * Null = 31; + */ + public static final int Null_VALUE = 31; + /** + * Number = 32; + */ + public static final int Number_VALUE = 32; + /** + * Object = 33; + */ + public static final int Object_VALUE = 33; + /** + * Operator = 34; + */ + public static final int Operator_VALUE = 34; + /** + * Package = 35; + */ + public static final int Package_VALUE = 35; + /** + * PackageObject = 36; + */ + public static final int PackageObject_VALUE = 36; + /** + * Parameter = 37; + */ + public static final int Parameter_VALUE = 37; + /** + * ParameterLabel = 38; + */ + public static final int ParameterLabel_VALUE = 38; + /** + *
+     * For Haskell's PatternSynonyms
+     * 
+ * + * Pattern = 39; + */ + public static final int Pattern_VALUE = 39; + /** + *
+     * For Alloy
+     * 
+ * + * Predicate = 40; + */ + public static final int Predicate_VALUE = 40; + /** + * Property = 41; + */ + public static final int Property_VALUE = 41; + /** + *
+     * Analogous to 'Trait' and 'TypeClass', for Swift and Objective-C
+     * 
+ * + * Protocol = 42; + */ + public static final int Protocol_VALUE = 42; + /** + *
+     * Analogous to 'AbstractMethod', for Swift and Objective-C.
+     * 
+ * + * ProtocolMethod = 68; + */ + public static final int ProtocolMethod_VALUE = 68; + /** + *
+     * Analogous to 'AbstractMethod', for C++.
+     * 
+ * + * PureVirtualMethod = 69; + */ + public static final int PureVirtualMethod_VALUE = 69; + /** + *
+     * For Haskell
+     * 
+ * + * Quasiquoter = 43; + */ + public static final int Quasiquoter_VALUE = 43; + /** + *
+     * 'self' in Python, Rust, Swift etc.
+     * 
+ * + * SelfParameter = 44; + */ + public static final int SelfParameter_VALUE = 44; + /** + *
+     * For 'set' in Swift, 'attr_writer' in Ruby
+     * 
+ * + * Setter = 45; + */ + public static final int Setter_VALUE = 45; + /** + *
+     * For Alloy, analogous to 'Struct'.
+     * 
+ * + * Signature = 46; + */ + public static final int Signature_VALUE = 46; + /** + *
+     * For Ruby
+     * 
+ * + * SingletonClass = 75; + */ + public static final int SingletonClass_VALUE = 75; + /** + *
+     * Analogous to 'StaticMethod', for Ruby.
+     * 
+ * + * SingletonMethod = 76; + */ + public static final int SingletonMethod_VALUE = 76; + /** + *
+     * Analogous to 'StaticField', for C++
+     * 
+ * + * StaticDataMember = 77; + */ + public static final int StaticDataMember_VALUE = 77; + /** + *
+     * For C#
+     * 
+ * + * StaticEvent = 78; + */ + public static final int StaticEvent_VALUE = 78; + /** + *
+     * For C#
+     * 
+ * + * StaticField = 79; + */ + public static final int StaticField_VALUE = 79; + /** + *
+     * For Java, C#, C++ etc.
+     * 
+ * + * StaticMethod = 80; + */ + public static final int StaticMethod_VALUE = 80; + /** + *
+     * For C#, TypeScript etc.
+     * 
+ * + * StaticProperty = 81; + */ + public static final int StaticProperty_VALUE = 81; + /** + *
+     * For C, C++
+     * 
+ * + * StaticVariable = 82; + */ + public static final int StaticVariable_VALUE = 82; + /** + * String = 48; + */ + public static final int String_VALUE = 48; + /** + * Struct = 49; + */ + public static final int Struct_VALUE = 49; + /** + *
+     * For Swift
+     * 
+ * + * Subscript = 47; + */ + public static final int Subscript_VALUE = 47; + /** + *
+     * For Lean
+     * 
+ * + * Tactic = 50; + */ + public static final int Tactic_VALUE = 50; + /** + *
+     * For Lean
+     * 
+ * + * Theorem = 51; + */ + public static final int Theorem_VALUE = 51; + /** + *
+     * Method receiver for languages
+     * 'this' in JavaScript, C++, Java etc.
+     * 
+ * + * ThisParameter = 52; + */ + public static final int ThisParameter_VALUE = 52; + /** + *
+     * Analogous to 'Protocol' and 'TypeClass', for Rust, Scala etc.
+     * 
+ * + * Trait = 53; + */ + public static final int Trait_VALUE = 53; + /** + *
+     * Analogous to 'AbstractMethod', for Rust, Scala etc.
+     * 
+ * + * TraitMethod = 70; + */ + public static final int TraitMethod_VALUE = 70; + /** + *
+     * Data type definition for languages like OCaml which use `type`
+     * rather than separate keywords like `struct` and `enum`.
+     * 
+ * + * Type = 54; + */ + public static final int Type_VALUE = 54; + /** + * TypeAlias = 55; + */ + public static final int TypeAlias_VALUE = 55; + /** + *
+     * Analogous to 'Trait' and 'Protocol', for Haskell, Purescript etc.
+     * 
+ * + * TypeClass = 56; + */ + public static final int TypeClass_VALUE = 56; + /** + *
+     * Analogous to 'AbstractMethod', for Haskell, Purescript etc.
+     * 
+ * + * TypeClassMethod = 71; + */ + public static final int TypeClassMethod_VALUE = 71; + /** + *
+     * For Haskell
+     * 
+ * + * TypeFamily = 57; + */ + public static final int TypeFamily_VALUE = 57; + /** + * TypeParameter = 58; + */ + public static final int TypeParameter_VALUE = 58; + /** + *
+     * For C, C++, Capn Proto
+     * 
+ * + * Union = 59; + */ + public static final int Union_VALUE = 59; + /** + * Value = 60; + */ + public static final int Value_VALUE = 60; + /** + *
+     * Next = 87;
+     * Feel free to open a PR proposing new language-specific kinds.
+     * 
+ * + * Variable = 61; + */ + public static final int Variable_VALUE = 61; + + + 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 UnspecifiedKind; + case 66: return AbstractMethod; + case 72: return Accessor; + case 1: return Array; + case 2: return Assertion; + case 3: return AssociatedType; + case 4: return Attribute; + case 5: return Axiom; + case 6: return Boolean; + case 7: return Class; + case 86: return Concept; + case 8: return Constant; + case 9: return Constructor; + case 62: return Contract; + case 10: return DataFamily; + case 73: return Delegate; + case 11: return Enum; + case 12: return EnumMember; + case 63: return Error; + case 13: return Event; + case 84: return Extension; + case 14: return Fact; + case 15: return Field; + case 16: return File; + case 17: return Function; + case 18: return Getter; + case 19: return Grammar; + case 20: return Instance; + case 21: return Interface; + case 22: return Key; + case 23: return Lang; + case 24: return Lemma; + case 64: return Library; + case 25: return Macro; + case 26: return Method; + case 74: return MethodAlias; + case 27: return MethodReceiver; + case 67: return MethodSpecification; + case 28: return Message; + case 85: return Mixin; + case 65: return Modifier; + case 29: return Module; + case 30: return Namespace; + case 31: return Null; + case 32: return Number; + case 33: return Object; + case 34: return Operator; + case 35: return Package; + case 36: return PackageObject; + case 37: return Parameter; + case 38: return ParameterLabel; + case 39: return Pattern; + case 40: return Predicate; + case 41: return Property; + case 42: return Protocol; + case 68: return ProtocolMethod; + case 69: return PureVirtualMethod; + case 43: return Quasiquoter; + case 44: return SelfParameter; + case 45: return Setter; + case 46: return Signature; + case 75: return SingletonClass; + case 76: return SingletonMethod; + case 77: return StaticDataMember; + case 78: return StaticEvent; + case 79: return StaticField; + case 80: return StaticMethod; + case 81: return StaticProperty; + case 82: return StaticVariable; + case 48: return String; + case 49: return Struct; + case 47: return Subscript; + case 50: return Tactic; + case 51: return Theorem; + case 52: return ThisParameter; + case 53: return Trait; + case 70: return TraitMethod; + case 54: return Type; + case 55: return TypeAlias; + case 56: return TypeClass; + case 71: return TypeClassMethod; + case 57: return TypeFamily; + case 58: return TypeParameter; + case 59: return Union; + case 60: return Value; + case 61: return Variable; + 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 com.google.protobuf.Descriptors.EnumDescriptor + getDescriptor() { + return org.scip_code.scip.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:scip.SymbolInformation.Kind) + } + + private int bitField0_; + public static final int SYMBOL_FIELD_NUMBER = 1; + @SuppressWarnings("serial") + private volatile java.lang.Object symbol_ = ""; + /** + *
+   * Identifier of this symbol, which can be referenced from `Occurence.symbol`.
+   * The string must be formatted according to the grammar in `Symbol`.
+   * 
+ * + * string symbol = 1 [json_name = "symbol"]; + * @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; + } + } + /** + *
+   * Identifier of this symbol, which can be referenced from `Occurence.symbol`.
+   * The string must be formatted according to the grammar in `Symbol`.
+   * 
+ * + * string symbol = 1 [json_name = "symbol"]; + * @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 DOCUMENTATION_FIELD_NUMBER = 3; + @SuppressWarnings("serial") + private com.google.protobuf.LazyStringArrayList documentation_ = + com.google.protobuf.LazyStringArrayList.emptyList(); + /** + *
+   * (optional, but strongly recommended) The markdown-formatted documentation
+   * for this symbol. Use `SymbolInformation.signature_documentation` to
+   * document the method/class/type signature of this symbol.
+   * Due to historical reasons, indexers may include signature documentation in
+   * this field by rendering markdown code blocks. New indexers should only
+   * include non-code documentation in this field, for example docstrings.
+   * 
+ * + * repeated string documentation = 3 [json_name = "documentation"]; + * @return A list containing the documentation. + */ + public com.google.protobuf.ProtocolStringList + getDocumentationList() { + return documentation_; + } + /** + *
+   * (optional, but strongly recommended) The markdown-formatted documentation
+   * for this symbol. Use `SymbolInformation.signature_documentation` to
+   * document the method/class/type signature of this symbol.
+   * Due to historical reasons, indexers may include signature documentation in
+   * this field by rendering markdown code blocks. New indexers should only
+   * include non-code documentation in this field, for example docstrings.
+   * 
+ * + * repeated string documentation = 3 [json_name = "documentation"]; + * @return The count of documentation. + */ + public int getDocumentationCount() { + return documentation_.size(); + } + /** + *
+   * (optional, but strongly recommended) The markdown-formatted documentation
+   * for this symbol. Use `SymbolInformation.signature_documentation` to
+   * document the method/class/type signature of this symbol.
+   * Due to historical reasons, indexers may include signature documentation in
+   * this field by rendering markdown code blocks. New indexers should only
+   * include non-code documentation in this field, for example docstrings.
+   * 
+ * + * repeated string documentation = 3 [json_name = "documentation"]; + * @param index The index of the element to return. + * @return The documentation at the given index. + */ + public java.lang.String getDocumentation(int index) { + return documentation_.get(index); + } + /** + *
+   * (optional, but strongly recommended) The markdown-formatted documentation
+   * for this symbol. Use `SymbolInformation.signature_documentation` to
+   * document the method/class/type signature of this symbol.
+   * Due to historical reasons, indexers may include signature documentation in
+   * this field by rendering markdown code blocks. New indexers should only
+   * include non-code documentation in this field, for example docstrings.
+   * 
+ * + * repeated string documentation = 3 [json_name = "documentation"]; + * @param index The index of the value to return. + * @return The bytes of the documentation at the given index. + */ + public com.google.protobuf.ByteString + getDocumentationBytes(int index) { + return documentation_.getByteString(index); + } + + public static final int RELATIONSHIPS_FIELD_NUMBER = 4; + @SuppressWarnings("serial") + private java.util.List relationships_; + /** + *
+   * (optional) Relationships to other symbols (e.g., implements, type definition).
+   * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + @java.lang.Override + public java.util.List getRelationshipsList() { + return relationships_; + } + /** + *
+   * (optional) Relationships to other symbols (e.g., implements, type definition).
+   * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + @java.lang.Override + public java.util.List + getRelationshipsOrBuilderList() { + return relationships_; + } + /** + *
+   * (optional) Relationships to other symbols (e.g., implements, type definition).
+   * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + @java.lang.Override + public int getRelationshipsCount() { + return relationships_.size(); + } + /** + *
+   * (optional) Relationships to other symbols (e.g., implements, type definition).
+   * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + @java.lang.Override + public org.scip_code.scip.Relationship getRelationships(int index) { + return relationships_.get(index); + } + /** + *
+   * (optional) Relationships to other symbols (e.g., implements, type definition).
+   * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + @java.lang.Override + public org.scip_code.scip.RelationshipOrBuilder getRelationshipsOrBuilder( + int index) { + return relationships_.get(index); + } + + public static final int KIND_FIELD_NUMBER = 5; + private int kind_ = 0; + /** + *
+   * The kind of this symbol. Use this field instead of
+   * `SymbolDescriptor.Suffix` to determine whether something is, for example, a
+   * class or a method.
+   * 
+ * + * .scip.SymbolInformation.Kind kind = 5 [json_name = "kind"]; + * @return The enum numeric value on the wire for kind. + */ + @java.lang.Override public int getKindValue() { + return kind_; + } + /** + *
+   * The kind of this symbol. Use this field instead of
+   * `SymbolDescriptor.Suffix` to determine whether something is, for example, a
+   * class or a method.
+   * 
+ * + * .scip.SymbolInformation.Kind kind = 5 [json_name = "kind"]; + * @return The kind. + */ + @java.lang.Override public org.scip_code.scip.SymbolInformation.Kind getKind() { + org.scip_code.scip.SymbolInformation.Kind result = org.scip_code.scip.SymbolInformation.Kind.forNumber(kind_); + return result == null ? org.scip_code.scip.SymbolInformation.Kind.UNRECOGNIZED : result; + } + + public static final int DISPLAY_NAME_FIELD_NUMBER = 6; + @SuppressWarnings("serial") + private volatile java.lang.Object displayName_ = ""; + /** + *
+   * (optional) The name of this symbol as it should be displayed to the user.
+   * For example, the symbol "com/example/MyClass#myMethod(+1)." should have the
+   * display name "myMethod". The `symbol` field is not a reliable source of
+   * the display name for several reasons:
+   *
+   * - Local symbols don't encode the name.
+   * - Some languages have case-insensitive names, so the symbol is all-lowercase.
+   * - The symbol may encode names with special characters that should not be
+   * displayed to the user.
+   * 
+ * + * string display_name = 6 [json_name = "displayName"]; + * @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; + } + } + /** + *
+   * (optional) The name of this symbol as it should be displayed to the user.
+   * For example, the symbol "com/example/MyClass#myMethod(+1)." should have the
+   * display name "myMethod". The `symbol` field is not a reliable source of
+   * the display name for several reasons:
+   *
+   * - Local symbols don't encode the name.
+   * - Some languages have case-insensitive names, so the symbol is all-lowercase.
+   * - The symbol may encode names with special characters that should not be
+   * displayed to the user.
+   * 
+ * + * string display_name = 6 [json_name = "displayName"]; + * @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_DOCUMENTATION_FIELD_NUMBER = 7; + private org.scip_code.scip.Signature signatureDocumentation_; + /** + *
+   * (optional) The signature of this symbol as it's displayed in API
+   * documentation or in hover tooltips. For example, a Java method that adds
+   * two numbers would have `Signature.language = "java"` and
+   * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
+   * fields are required while `occurrences` can be optionally included to
+   * support hyperlinking referenced symbols in the signature.
+   * 
+ * + * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; + * @return Whether the signatureDocumentation field is set. + */ + @java.lang.Override + public boolean hasSignatureDocumentation() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + *
+   * (optional) The signature of this symbol as it's displayed in API
+   * documentation or in hover tooltips. For example, a Java method that adds
+   * two numbers would have `Signature.language = "java"` and
+   * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
+   * fields are required while `occurrences` can be optionally included to
+   * support hyperlinking referenced symbols in the signature.
+   * 
+ * + * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; + * @return The signatureDocumentation. + */ + @java.lang.Override + public org.scip_code.scip.Signature getSignatureDocumentation() { + return signatureDocumentation_ == null ? org.scip_code.scip.Signature.getDefaultInstance() : signatureDocumentation_; + } + /** + *
+   * (optional) The signature of this symbol as it's displayed in API
+   * documentation or in hover tooltips. For example, a Java method that adds
+   * two numbers would have `Signature.language = "java"` and
+   * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
+   * fields are required while `occurrences` can be optionally included to
+   * support hyperlinking referenced symbols in the signature.
+   * 
+ * + * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; + */ + @java.lang.Override + public org.scip_code.scip.SignatureOrBuilder getSignatureDocumentationOrBuilder() { + return signatureDocumentation_ == null ? org.scip_code.scip.Signature.getDefaultInstance() : signatureDocumentation_; + } + + public static final int ENCLOSING_SYMBOL_FIELD_NUMBER = 8; + @SuppressWarnings("serial") + private volatile java.lang.Object enclosingSymbol_ = ""; + /** + *
+   * (optional) The enclosing symbol if this is a local symbol.  For non-local
+   * symbols, the enclosing symbol should be parsed from the `symbol` field
+   * using the `Descriptor` grammar.
+   *
+   * The primary use-case for this field is to allow local symbol to be displayed
+   * in a symbol hierarchy for API documentation. It's OK to leave this field
+   * empty for local variables since local variables usually don't belong in API
+   * documentation. However, in the situation that you wish to include a local
+   * symbol in the hierarchy, then you can use `enclosing_symbol` to locate the
+   * "parent" or "owner" of this local symbol. For example, a Java indexer may
+   * choose to use local symbols for private class fields while providing an
+   * `enclosing_symbol` to reference the enclosing class to allow the field to
+   * be part of the class documentation hierarchy. From the perspective of an
+   * author of an indexer, the decision to use a local symbol or global symbol
+   * should exclusively be determined whether the local symbol is accessible
+   * outside the document, not by the capability to find the enclosing
+   * symbol.
+   * 
+ * + * string enclosing_symbol = 8 [json_name = "enclosingSymbol"]; + * @return The enclosingSymbol. + */ + @java.lang.Override + public java.lang.String getEnclosingSymbol() { + java.lang.Object ref = enclosingSymbol_; + 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(); + enclosingSymbol_ = s; + return s; + } + } + /** + *
+   * (optional) The enclosing symbol if this is a local symbol.  For non-local
+   * symbols, the enclosing symbol should be parsed from the `symbol` field
+   * using the `Descriptor` grammar.
+   *
+   * The primary use-case for this field is to allow local symbol to be displayed
+   * in a symbol hierarchy for API documentation. It's OK to leave this field
+   * empty for local variables since local variables usually don't belong in API
+   * documentation. However, in the situation that you wish to include a local
+   * symbol in the hierarchy, then you can use `enclosing_symbol` to locate the
+   * "parent" or "owner" of this local symbol. For example, a Java indexer may
+   * choose to use local symbols for private class fields while providing an
+   * `enclosing_symbol` to reference the enclosing class to allow the field to
+   * be part of the class documentation hierarchy. From the perspective of an
+   * author of an indexer, the decision to use a local symbol or global symbol
+   * should exclusively be determined whether the local symbol is accessible
+   * outside the document, not by the capability to find the enclosing
+   * symbol.
+   * 
+ * + * string enclosing_symbol = 8 [json_name = "enclosingSymbol"]; + * @return The bytes for enclosingSymbol. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getEnclosingSymbolBytes() { + java.lang.Object ref = enclosingSymbol_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + enclosingSymbol_ = 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 (!com.google.protobuf.GeneratedMessage.isStringEmpty(symbol_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, symbol_); + } + for (int i = 0; i < documentation_.size(); i++) { + com.google.protobuf.GeneratedMessage.writeString(output, 3, documentation_.getRaw(i)); + } + for (int i = 0; i < relationships_.size(); i++) { + output.writeMessage(4, relationships_.get(i)); + } + if (kind_ != org.scip_code.scip.SymbolInformation.Kind.UnspecifiedKind.getNumber()) { + output.writeEnum(5, kind_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(displayName_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 6, displayName_); + } + if (((bitField0_ & 0x00000001) != 0)) { + output.writeMessage(7, getSignatureDocumentation()); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(enclosingSymbol_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 8, enclosingSymbol_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(symbol_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, symbol_); + } + { + int dataSize = 0; + for (int i = 0; i < documentation_.size(); i++) { + dataSize += computeStringSizeNoTag(documentation_.getRaw(i)); + } + size += dataSize; + size += 1 * getDocumentationList().size(); + } + for (int i = 0; i < relationships_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(4, relationships_.get(i)); + } + if (kind_ != org.scip_code.scip.SymbolInformation.Kind.UnspecifiedKind.getNumber()) { + size += com.google.protobuf.CodedOutputStream + .computeEnumSize(5, kind_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(displayName_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(6, displayName_); + } + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(7, getSignatureDocumentation()); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(enclosingSymbol_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(8, enclosingSymbol_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof org.scip_code.scip.SymbolInformation)) { + return super.equals(obj); + } + org.scip_code.scip.SymbolInformation other = (org.scip_code.scip.SymbolInformation) obj; + + if (!getSymbol() + .equals(other.getSymbol())) return false; + if (!getDocumentationList() + .equals(other.getDocumentationList())) return false; + if (!getRelationshipsList() + .equals(other.getRelationshipsList())) return false; + if (kind_ != other.kind_) return false; + if (!getDisplayName() + .equals(other.getDisplayName())) return false; + if (hasSignatureDocumentation() != other.hasSignatureDocumentation()) return false; + if (hasSignatureDocumentation()) { + if (!getSignatureDocumentation() + .equals(other.getSignatureDocumentation())) return false; + } + if (!getEnclosingSymbol() + .equals(other.getEnclosingSymbol())) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) 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 (getDocumentationCount() > 0) { + hash = (37 * hash) + DOCUMENTATION_FIELD_NUMBER; + hash = (53 * hash) + getDocumentationList().hashCode(); + } + if (getRelationshipsCount() > 0) { + hash = (37 * hash) + RELATIONSHIPS_FIELD_NUMBER; + hash = (53 * hash) + getRelationshipsList().hashCode(); + } + hash = (37 * hash) + KIND_FIELD_NUMBER; + hash = (53 * hash) + kind_; + hash = (37 * hash) + DISPLAY_NAME_FIELD_NUMBER; + hash = (53 * hash) + getDisplayName().hashCode(); + if (hasSignatureDocumentation()) { + hash = (37 * hash) + SIGNATURE_DOCUMENTATION_FIELD_NUMBER; + hash = (53 * hash) + getSignatureDocumentation().hashCode(); + } + hash = (37 * hash) + ENCLOSING_SYMBOL_FIELD_NUMBER; + hash = (53 * hash) + getEnclosingSymbol().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static org.scip_code.scip.SymbolInformation parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.scip_code.scip.SymbolInformation parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.scip_code.scip.SymbolInformation parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.scip_code.scip.SymbolInformation parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.scip_code.scip.SymbolInformation parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.scip_code.scip.SymbolInformation parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.scip_code.scip.SymbolInformation parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static org.scip_code.scip.SymbolInformation parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public static org.scip_code.scip.SymbolInformation parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input); + } + + public static org.scip_code.scip.SymbolInformation parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static org.scip_code.scip.SymbolInformation parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static org.scip_code.scip.SymbolInformation parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(org.scip_code.scip.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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + *
+   * SymbolInformation defines metadata about a symbol, such as the symbol's
+   * docstring or what package it's defined it.
+   * 
+ * + * Protobuf type {@code scip.SymbolInformation} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder implements + // @@protoc_insertion_point(builder_implements:scip.SymbolInformation) + org.scip_code.scip.SymbolInformationOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.scip_code.scip.ScipProto.internal_static_scip_SymbolInformation_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.scip_code.scip.ScipProto.internal_static_scip_SymbolInformation_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.scip_code.scip.SymbolInformation.class, org.scip_code.scip.SymbolInformation.Builder.class); + } + + // Construct using org.scip_code.scip.SymbolInformation.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage + .alwaysUseFieldBuilders) { + internalGetRelationshipsFieldBuilder(); + internalGetSignatureDocumentationFieldBuilder(); + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + symbol_ = ""; + documentation_ = + com.google.protobuf.LazyStringArrayList.emptyList(); + if (relationshipsBuilder_ == null) { + relationships_ = java.util.Collections.emptyList(); + } else { + relationships_ = null; + relationshipsBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000004); + kind_ = 0; + displayName_ = ""; + signatureDocumentation_ = null; + if (signatureDocumentationBuilder_ != null) { + signatureDocumentationBuilder_.dispose(); + signatureDocumentationBuilder_ = null; + } + enclosingSymbol_ = ""; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return org.scip_code.scip.ScipProto.internal_static_scip_SymbolInformation_descriptor; + } + + @java.lang.Override + public org.scip_code.scip.SymbolInformation getDefaultInstanceForType() { + return org.scip_code.scip.SymbolInformation.getDefaultInstance(); + } + + @java.lang.Override + public org.scip_code.scip.SymbolInformation build() { + org.scip_code.scip.SymbolInformation result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public org.scip_code.scip.SymbolInformation buildPartial() { + org.scip_code.scip.SymbolInformation result = new org.scip_code.scip.SymbolInformation(this); + buildPartialRepeatedFields(result); + if (bitField0_ != 0) { buildPartial0(result); } + onBuilt(); + return result; + } + + private void buildPartialRepeatedFields(org.scip_code.scip.SymbolInformation result) { + if (relationshipsBuilder_ == null) { + if (((bitField0_ & 0x00000004) != 0)) { + relationships_ = java.util.Collections.unmodifiableList(relationships_); + bitField0_ = (bitField0_ & ~0x00000004); + } + result.relationships_ = relationships_; + } else { + result.relationships_ = relationshipsBuilder_.build(); + } + } + + private void buildPartial0(org.scip_code.scip.SymbolInformation result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.symbol_ = symbol_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + documentation_.makeImmutable(); + result.documentation_ = documentation_; + } + if (((from_bitField0_ & 0x00000008) != 0)) { + result.kind_ = kind_; + } + if (((from_bitField0_ & 0x00000010) != 0)) { + result.displayName_ = displayName_; + } + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000020) != 0)) { + result.signatureDocumentation_ = signatureDocumentationBuilder_ == null + ? signatureDocumentation_ + : signatureDocumentationBuilder_.build(); + to_bitField0_ |= 0x00000001; + } + if (((from_bitField0_ & 0x00000040) != 0)) { + result.enclosingSymbol_ = enclosingSymbol_; + } + result.bitField0_ |= to_bitField0_; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof org.scip_code.scip.SymbolInformation) { + return mergeFrom((org.scip_code.scip.SymbolInformation)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(org.scip_code.scip.SymbolInformation other) { + if (other == org.scip_code.scip.SymbolInformation.getDefaultInstance()) return this; + if (!other.getSymbol().isEmpty()) { + symbol_ = other.symbol_; + bitField0_ |= 0x00000001; + onChanged(); + } + if (!other.documentation_.isEmpty()) { + if (documentation_.isEmpty()) { + documentation_ = other.documentation_; + bitField0_ |= 0x00000002; + } else { + ensureDocumentationIsMutable(); + documentation_.addAll(other.documentation_); + } + onChanged(); + } + if (relationshipsBuilder_ == null) { + if (!other.relationships_.isEmpty()) { + if (relationships_.isEmpty()) { + relationships_ = other.relationships_; + bitField0_ = (bitField0_ & ~0x00000004); + } else { + ensureRelationshipsIsMutable(); + relationships_.addAll(other.relationships_); + } + onChanged(); + } + } else { + if (!other.relationships_.isEmpty()) { + if (relationshipsBuilder_.isEmpty()) { + relationshipsBuilder_.dispose(); + relationshipsBuilder_ = null; + relationships_ = other.relationships_; + bitField0_ = (bitField0_ & ~0x00000004); + relationshipsBuilder_ = + com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ? + internalGetRelationshipsFieldBuilder() : null; + } else { + relationshipsBuilder_.addAllMessages(other.relationships_); + } + } + } + if (other.kind_ != 0) { + setKindValue(other.getKindValue()); + } + if (!other.getDisplayName().isEmpty()) { + displayName_ = other.displayName_; + bitField0_ |= 0x00000010; + onChanged(); + } + if (other.hasSignatureDocumentation()) { + mergeSignatureDocumentation(other.getSignatureDocumentation()); + } + if (!other.getEnclosingSymbol().isEmpty()) { + enclosingSymbol_ = other.enclosingSymbol_; + bitField0_ |= 0x00000040; + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + 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 { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + symbol_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 26: { + java.lang.String s = input.readStringRequireUtf8(); + ensureDocumentationIsMutable(); + documentation_.add(s); + break; + } // case 26 + case 34: { + org.scip_code.scip.Relationship m = + input.readMessage( + org.scip_code.scip.Relationship.parser(), + extensionRegistry); + if (relationshipsBuilder_ == null) { + ensureRelationshipsIsMutable(); + relationships_.add(m); + } else { + relationshipsBuilder_.addMessage(m); + } + break; + } // case 34 + case 40: { + kind_ = input.readEnum(); + bitField0_ |= 0x00000008; + break; + } // case 40 + case 50: { + displayName_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000010; + break; + } // case 50 + case 58: { + input.readMessage( + internalGetSignatureDocumentationFieldBuilder().getBuilder(), + extensionRegistry); + bitField0_ |= 0x00000020; + break; + } // case 58 + case 66: { + enclosingSymbol_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000040; + break; + } // case 66 + default: { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + private int bitField0_; + + private java.lang.Object symbol_ = ""; + /** + *
+     * Identifier of this symbol, which can be referenced from `Occurence.symbol`.
+     * The string must be formatted according to the grammar in `Symbol`.
+     * 
+ * + * string symbol = 1 [json_name = "symbol"]; + * @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; + } + } + /** + *
+     * Identifier of this symbol, which can be referenced from `Occurence.symbol`.
+     * The string must be formatted according to the grammar in `Symbol`.
+     * 
+ * + * string symbol = 1 [json_name = "symbol"]; + * @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; + } + } + /** + *
+     * Identifier of this symbol, which can be referenced from `Occurence.symbol`.
+     * The string must be formatted according to the grammar in `Symbol`.
+     * 
+ * + * string symbol = 1 [json_name = "symbol"]; + * @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; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + /** + *
+     * Identifier of this symbol, which can be referenced from `Occurence.symbol`.
+     * The string must be formatted according to the grammar in `Symbol`.
+     * 
+ * + * string symbol = 1 [json_name = "symbol"]; + * @return This builder for chaining. + */ + public Builder clearSymbol() { + symbol_ = getDefaultInstance().getSymbol(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + /** + *
+     * Identifier of this symbol, which can be referenced from `Occurence.symbol`.
+     * The string must be formatted according to the grammar in `Symbol`.
+     * 
+ * + * string symbol = 1 [json_name = "symbol"]; + * @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; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private com.google.protobuf.LazyStringArrayList documentation_ = + com.google.protobuf.LazyStringArrayList.emptyList(); + private void ensureDocumentationIsMutable() { + if (!documentation_.isModifiable()) { + documentation_ = new com.google.protobuf.LazyStringArrayList(documentation_); + } + bitField0_ |= 0x00000002; + } + /** + *
+     * (optional, but strongly recommended) The markdown-formatted documentation
+     * for this symbol. Use `SymbolInformation.signature_documentation` to
+     * document the method/class/type signature of this symbol.
+     * Due to historical reasons, indexers may include signature documentation in
+     * this field by rendering markdown code blocks. New indexers should only
+     * include non-code documentation in this field, for example docstrings.
+     * 
+ * + * repeated string documentation = 3 [json_name = "documentation"]; + * @return A list containing the documentation. + */ + public com.google.protobuf.ProtocolStringList + getDocumentationList() { + documentation_.makeImmutable(); + return documentation_; + } + /** + *
+     * (optional, but strongly recommended) The markdown-formatted documentation
+     * for this symbol. Use `SymbolInformation.signature_documentation` to
+     * document the method/class/type signature of this symbol.
+     * Due to historical reasons, indexers may include signature documentation in
+     * this field by rendering markdown code blocks. New indexers should only
+     * include non-code documentation in this field, for example docstrings.
+     * 
+ * + * repeated string documentation = 3 [json_name = "documentation"]; + * @return The count of documentation. + */ + public int getDocumentationCount() { + return documentation_.size(); + } + /** + *
+     * (optional, but strongly recommended) The markdown-formatted documentation
+     * for this symbol. Use `SymbolInformation.signature_documentation` to
+     * document the method/class/type signature of this symbol.
+     * Due to historical reasons, indexers may include signature documentation in
+     * this field by rendering markdown code blocks. New indexers should only
+     * include non-code documentation in this field, for example docstrings.
+     * 
+ * + * repeated string documentation = 3 [json_name = "documentation"]; + * @param index The index of the element to return. + * @return The documentation at the given index. + */ + public java.lang.String getDocumentation(int index) { + return documentation_.get(index); + } + /** + *
+     * (optional, but strongly recommended) The markdown-formatted documentation
+     * for this symbol. Use `SymbolInformation.signature_documentation` to
+     * document the method/class/type signature of this symbol.
+     * Due to historical reasons, indexers may include signature documentation in
+     * this field by rendering markdown code blocks. New indexers should only
+     * include non-code documentation in this field, for example docstrings.
+     * 
+ * + * repeated string documentation = 3 [json_name = "documentation"]; + * @param index The index of the value to return. + * @return The bytes of the documentation at the given index. + */ + public com.google.protobuf.ByteString + getDocumentationBytes(int index) { + return documentation_.getByteString(index); + } + /** + *
+     * (optional, but strongly recommended) The markdown-formatted documentation
+     * for this symbol. Use `SymbolInformation.signature_documentation` to
+     * document the method/class/type signature of this symbol.
+     * Due to historical reasons, indexers may include signature documentation in
+     * this field by rendering markdown code blocks. New indexers should only
+     * include non-code documentation in this field, for example docstrings.
+     * 
+ * + * repeated string documentation = 3 [json_name = "documentation"]; + * @param index The index to set the value at. + * @param value The documentation to set. + * @return This builder for chaining. + */ + public Builder setDocumentation( + int index, java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + ensureDocumentationIsMutable(); + documentation_.set(index, value); + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + /** + *
+     * (optional, but strongly recommended) The markdown-formatted documentation
+     * for this symbol. Use `SymbolInformation.signature_documentation` to
+     * document the method/class/type signature of this symbol.
+     * Due to historical reasons, indexers may include signature documentation in
+     * this field by rendering markdown code blocks. New indexers should only
+     * include non-code documentation in this field, for example docstrings.
+     * 
+ * + * repeated string documentation = 3 [json_name = "documentation"]; + * @param value The documentation to add. + * @return This builder for chaining. + */ + public Builder addDocumentation( + java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + ensureDocumentationIsMutable(); + documentation_.add(value); + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + /** + *
+     * (optional, but strongly recommended) The markdown-formatted documentation
+     * for this symbol. Use `SymbolInformation.signature_documentation` to
+     * document the method/class/type signature of this symbol.
+     * Due to historical reasons, indexers may include signature documentation in
+     * this field by rendering markdown code blocks. New indexers should only
+     * include non-code documentation in this field, for example docstrings.
+     * 
+ * + * repeated string documentation = 3 [json_name = "documentation"]; + * @param values The documentation to add. + * @return This builder for chaining. + */ + public Builder addAllDocumentation( + java.lang.Iterable values) { + ensureDocumentationIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, documentation_); + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + /** + *
+     * (optional, but strongly recommended) The markdown-formatted documentation
+     * for this symbol. Use `SymbolInformation.signature_documentation` to
+     * document the method/class/type signature of this symbol.
+     * Due to historical reasons, indexers may include signature documentation in
+     * this field by rendering markdown code blocks. New indexers should only
+     * include non-code documentation in this field, for example docstrings.
+     * 
+ * + * repeated string documentation = 3 [json_name = "documentation"]; + * @return This builder for chaining. + */ + public Builder clearDocumentation() { + documentation_ = + com.google.protobuf.LazyStringArrayList.emptyList(); + bitField0_ = (bitField0_ & ~0x00000002);; + onChanged(); + return this; + } + /** + *
+     * (optional, but strongly recommended) The markdown-formatted documentation
+     * for this symbol. Use `SymbolInformation.signature_documentation` to
+     * document the method/class/type signature of this symbol.
+     * Due to historical reasons, indexers may include signature documentation in
+     * this field by rendering markdown code blocks. New indexers should only
+     * include non-code documentation in this field, for example docstrings.
+     * 
+ * + * repeated string documentation = 3 [json_name = "documentation"]; + * @param value The bytes of the documentation to add. + * @return This builder for chaining. + */ + public Builder addDocumentationBytes( + com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + checkByteStringIsUtf8(value); + ensureDocumentationIsMutable(); + documentation_.add(value); + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + private java.util.List relationships_ = + java.util.Collections.emptyList(); + private void ensureRelationshipsIsMutable() { + if (!((bitField0_ & 0x00000004) != 0)) { + relationships_ = new java.util.ArrayList(relationships_); + bitField0_ |= 0x00000004; + } + } + + private com.google.protobuf.RepeatedFieldBuilder< + org.scip_code.scip.Relationship, org.scip_code.scip.Relationship.Builder, org.scip_code.scip.RelationshipOrBuilder> relationshipsBuilder_; + + /** + *
+     * (optional) Relationships to other symbols (e.g., implements, type definition).
+     * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + public java.util.List getRelationshipsList() { + if (relationshipsBuilder_ == null) { + return java.util.Collections.unmodifiableList(relationships_); + } else { + return relationshipsBuilder_.getMessageList(); + } + } + /** + *
+     * (optional) Relationships to other symbols (e.g., implements, type definition).
+     * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + public int getRelationshipsCount() { + if (relationshipsBuilder_ == null) { + return relationships_.size(); + } else { + return relationshipsBuilder_.getCount(); + } + } + /** + *
+     * (optional) Relationships to other symbols (e.g., implements, type definition).
+     * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + public org.scip_code.scip.Relationship getRelationships(int index) { + if (relationshipsBuilder_ == null) { + return relationships_.get(index); + } else { + return relationshipsBuilder_.getMessage(index); + } + } + /** + *
+     * (optional) Relationships to other symbols (e.g., implements, type definition).
+     * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + public Builder setRelationships( + int index, org.scip_code.scip.Relationship value) { + if (relationshipsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureRelationshipsIsMutable(); + relationships_.set(index, value); + onChanged(); + } else { + relationshipsBuilder_.setMessage(index, value); + } + return this; + } + /** + *
+     * (optional) Relationships to other symbols (e.g., implements, type definition).
+     * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + public Builder setRelationships( + int index, org.scip_code.scip.Relationship.Builder builderForValue) { + if (relationshipsBuilder_ == null) { + ensureRelationshipsIsMutable(); + relationships_.set(index, builderForValue.build()); + onChanged(); + } else { + relationshipsBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + *
+     * (optional) Relationships to other symbols (e.g., implements, type definition).
+     * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + public Builder addRelationships(org.scip_code.scip.Relationship value) { + if (relationshipsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureRelationshipsIsMutable(); + relationships_.add(value); + onChanged(); + } else { + relationshipsBuilder_.addMessage(value); + } + return this; + } + /** + *
+     * (optional) Relationships to other symbols (e.g., implements, type definition).
+     * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + public Builder addRelationships( + int index, org.scip_code.scip.Relationship value) { + if (relationshipsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureRelationshipsIsMutable(); + relationships_.add(index, value); + onChanged(); + } else { + relationshipsBuilder_.addMessage(index, value); + } + return this; + } + /** + *
+     * (optional) Relationships to other symbols (e.g., implements, type definition).
+     * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + public Builder addRelationships( + org.scip_code.scip.Relationship.Builder builderForValue) { + if (relationshipsBuilder_ == null) { + ensureRelationshipsIsMutable(); + relationships_.add(builderForValue.build()); + onChanged(); + } else { + relationshipsBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + *
+     * (optional) Relationships to other symbols (e.g., implements, type definition).
+     * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + public Builder addRelationships( + int index, org.scip_code.scip.Relationship.Builder builderForValue) { + if (relationshipsBuilder_ == null) { + ensureRelationshipsIsMutable(); + relationships_.add(index, builderForValue.build()); + onChanged(); + } else { + relationshipsBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + *
+     * (optional) Relationships to other symbols (e.g., implements, type definition).
+     * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + public Builder addAllRelationships( + java.lang.Iterable values) { + if (relationshipsBuilder_ == null) { + ensureRelationshipsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, relationships_); + onChanged(); + } else { + relationshipsBuilder_.addAllMessages(values); + } + return this; + } + /** + *
+     * (optional) Relationships to other symbols (e.g., implements, type definition).
+     * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + public Builder clearRelationships() { + if (relationshipsBuilder_ == null) { + relationships_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000004); + onChanged(); + } else { + relationshipsBuilder_.clear(); + } + return this; + } + /** + *
+     * (optional) Relationships to other symbols (e.g., implements, type definition).
+     * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + public Builder removeRelationships(int index) { + if (relationshipsBuilder_ == null) { + ensureRelationshipsIsMutable(); + relationships_.remove(index); + onChanged(); + } else { + relationshipsBuilder_.remove(index); + } + return this; + } + /** + *
+     * (optional) Relationships to other symbols (e.g., implements, type definition).
+     * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + public org.scip_code.scip.Relationship.Builder getRelationshipsBuilder( + int index) { + return internalGetRelationshipsFieldBuilder().getBuilder(index); + } + /** + *
+     * (optional) Relationships to other symbols (e.g., implements, type definition).
+     * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + public org.scip_code.scip.RelationshipOrBuilder getRelationshipsOrBuilder( + int index) { + if (relationshipsBuilder_ == null) { + return relationships_.get(index); } else { + return relationshipsBuilder_.getMessageOrBuilder(index); + } + } + /** + *
+     * (optional) Relationships to other symbols (e.g., implements, type definition).
+     * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + public java.util.List + getRelationshipsOrBuilderList() { + if (relationshipsBuilder_ != null) { + return relationshipsBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(relationships_); + } + } + /** + *
+     * (optional) Relationships to other symbols (e.g., implements, type definition).
+     * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + public org.scip_code.scip.Relationship.Builder addRelationshipsBuilder() { + return internalGetRelationshipsFieldBuilder().addBuilder( + org.scip_code.scip.Relationship.getDefaultInstance()); + } + /** + *
+     * (optional) Relationships to other symbols (e.g., implements, type definition).
+     * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + public org.scip_code.scip.Relationship.Builder addRelationshipsBuilder( + int index) { + return internalGetRelationshipsFieldBuilder().addBuilder( + index, org.scip_code.scip.Relationship.getDefaultInstance()); + } + /** + *
+     * (optional) Relationships to other symbols (e.g., implements, type definition).
+     * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + public java.util.List + getRelationshipsBuilderList() { + return internalGetRelationshipsFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilder< + org.scip_code.scip.Relationship, org.scip_code.scip.Relationship.Builder, org.scip_code.scip.RelationshipOrBuilder> + internalGetRelationshipsFieldBuilder() { + if (relationshipsBuilder_ == null) { + relationshipsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder< + org.scip_code.scip.Relationship, org.scip_code.scip.Relationship.Builder, org.scip_code.scip.RelationshipOrBuilder>( + relationships_, + ((bitField0_ & 0x00000004) != 0), + getParentForChildren(), + isClean()); + relationships_ = null; + } + return relationshipsBuilder_; + } + + private int kind_ = 0; + /** + *
+     * The kind of this symbol. Use this field instead of
+     * `SymbolDescriptor.Suffix` to determine whether something is, for example, a
+     * class or a method.
+     * 
+ * + * .scip.SymbolInformation.Kind kind = 5 [json_name = "kind"]; + * @return The enum numeric value on the wire for kind. + */ + @java.lang.Override public int getKindValue() { + return kind_; + } + /** + *
+     * The kind of this symbol. Use this field instead of
+     * `SymbolDescriptor.Suffix` to determine whether something is, for example, a
+     * class or a method.
+     * 
+ * + * .scip.SymbolInformation.Kind kind = 5 [json_name = "kind"]; + * @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; + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + /** + *
+     * The kind of this symbol. Use this field instead of
+     * `SymbolDescriptor.Suffix` to determine whether something is, for example, a
+     * class or a method.
+     * 
+ * + * .scip.SymbolInformation.Kind kind = 5 [json_name = "kind"]; + * @return The kind. + */ + @java.lang.Override + public org.scip_code.scip.SymbolInformation.Kind getKind() { + org.scip_code.scip.SymbolInformation.Kind result = org.scip_code.scip.SymbolInformation.Kind.forNumber(kind_); + return result == null ? org.scip_code.scip.SymbolInformation.Kind.UNRECOGNIZED : result; + } + /** + *
+     * The kind of this symbol. Use this field instead of
+     * `SymbolDescriptor.Suffix` to determine whether something is, for example, a
+     * class or a method.
+     * 
+ * + * .scip.SymbolInformation.Kind kind = 5 [json_name = "kind"]; + * @param value The kind to set. + * @return This builder for chaining. + */ + public Builder setKind(org.scip_code.scip.SymbolInformation.Kind value) { + if (value == null) { throw new NullPointerException(); } + bitField0_ |= 0x00000008; + kind_ = value.getNumber(); + onChanged(); + return this; + } + /** + *
+     * The kind of this symbol. Use this field instead of
+     * `SymbolDescriptor.Suffix` to determine whether something is, for example, a
+     * class or a method.
+     * 
+ * + * .scip.SymbolInformation.Kind kind = 5 [json_name = "kind"]; + * @return This builder for chaining. + */ + public Builder clearKind() { + bitField0_ = (bitField0_ & ~0x00000008); + kind_ = 0; + onChanged(); + return this; + } + + private java.lang.Object displayName_ = ""; + /** + *
+     * (optional) The name of this symbol as it should be displayed to the user.
+     * For example, the symbol "com/example/MyClass#myMethod(+1)." should have the
+     * display name "myMethod". The `symbol` field is not a reliable source of
+     * the display name for several reasons:
+     *
+     * - Local symbols don't encode the name.
+     * - Some languages have case-insensitive names, so the symbol is all-lowercase.
+     * - The symbol may encode names with special characters that should not be
+     * displayed to the user.
+     * 
+ * + * string display_name = 6 [json_name = "displayName"]; + * @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; + } + } + /** + *
+     * (optional) The name of this symbol as it should be displayed to the user.
+     * For example, the symbol "com/example/MyClass#myMethod(+1)." should have the
+     * display name "myMethod". The `symbol` field is not a reliable source of
+     * the display name for several reasons:
+     *
+     * - Local symbols don't encode the name.
+     * - Some languages have case-insensitive names, so the symbol is all-lowercase.
+     * - The symbol may encode names with special characters that should not be
+     * displayed to the user.
+     * 
+ * + * string display_name = 6 [json_name = "displayName"]; + * @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; + } + } + /** + *
+     * (optional) The name of this symbol as it should be displayed to the user.
+     * For example, the symbol "com/example/MyClass#myMethod(+1)." should have the
+     * display name "myMethod". The `symbol` field is not a reliable source of
+     * the display name for several reasons:
+     *
+     * - Local symbols don't encode the name.
+     * - Some languages have case-insensitive names, so the symbol is all-lowercase.
+     * - The symbol may encode names with special characters that should not be
+     * displayed to the user.
+     * 
+ * + * string display_name = 6 [json_name = "displayName"]; + * @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; + bitField0_ |= 0x00000010; + onChanged(); + return this; + } + /** + *
+     * (optional) The name of this symbol as it should be displayed to the user.
+     * For example, the symbol "com/example/MyClass#myMethod(+1)." should have the
+     * display name "myMethod". The `symbol` field is not a reliable source of
+     * the display name for several reasons:
+     *
+     * - Local symbols don't encode the name.
+     * - Some languages have case-insensitive names, so the symbol is all-lowercase.
+     * - The symbol may encode names with special characters that should not be
+     * displayed to the user.
+     * 
+ * + * string display_name = 6 [json_name = "displayName"]; + * @return This builder for chaining. + */ + public Builder clearDisplayName() { + displayName_ = getDefaultInstance().getDisplayName(); + bitField0_ = (bitField0_ & ~0x00000010); + onChanged(); + return this; + } + /** + *
+     * (optional) The name of this symbol as it should be displayed to the user.
+     * For example, the symbol "com/example/MyClass#myMethod(+1)." should have the
+     * display name "myMethod". The `symbol` field is not a reliable source of
+     * the display name for several reasons:
+     *
+     * - Local symbols don't encode the name.
+     * - Some languages have case-insensitive names, so the symbol is all-lowercase.
+     * - The symbol may encode names with special characters that should not be
+     * displayed to the user.
+     * 
+ * + * string display_name = 6 [json_name = "displayName"]; + * @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; + bitField0_ |= 0x00000010; + onChanged(); + return this; + } + + private org.scip_code.scip.Signature signatureDocumentation_; + private com.google.protobuf.SingleFieldBuilder< + org.scip_code.scip.Signature, org.scip_code.scip.Signature.Builder, org.scip_code.scip.SignatureOrBuilder> signatureDocumentationBuilder_; + /** + *
+     * (optional) The signature of this symbol as it's displayed in API
+     * documentation or in hover tooltips. For example, a Java method that adds
+     * two numbers would have `Signature.language = "java"` and
+     * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
+     * fields are required while `occurrences` can be optionally included to
+     * support hyperlinking referenced symbols in the signature.
+     * 
+ * + * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; + * @return Whether the signatureDocumentation field is set. + */ + public boolean hasSignatureDocumentation() { + return ((bitField0_ & 0x00000020) != 0); + } + /** + *
+     * (optional) The signature of this symbol as it's displayed in API
+     * documentation or in hover tooltips. For example, a Java method that adds
+     * two numbers would have `Signature.language = "java"` and
+     * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
+     * fields are required while `occurrences` can be optionally included to
+     * support hyperlinking referenced symbols in the signature.
+     * 
+ * + * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; + * @return The signatureDocumentation. + */ + public org.scip_code.scip.Signature getSignatureDocumentation() { + if (signatureDocumentationBuilder_ == null) { + return signatureDocumentation_ == null ? org.scip_code.scip.Signature.getDefaultInstance() : signatureDocumentation_; + } else { + return signatureDocumentationBuilder_.getMessage(); + } + } + /** + *
+     * (optional) The signature of this symbol as it's displayed in API
+     * documentation or in hover tooltips. For example, a Java method that adds
+     * two numbers would have `Signature.language = "java"` and
+     * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
+     * fields are required while `occurrences` can be optionally included to
+     * support hyperlinking referenced symbols in the signature.
+     * 
+ * + * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; + */ + public Builder setSignatureDocumentation(org.scip_code.scip.Signature value) { + if (signatureDocumentationBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + signatureDocumentation_ = value; + } else { + signatureDocumentationBuilder_.setMessage(value); + } + bitField0_ |= 0x00000020; + onChanged(); + return this; + } + /** + *
+     * (optional) The signature of this symbol as it's displayed in API
+     * documentation or in hover tooltips. For example, a Java method that adds
+     * two numbers would have `Signature.language = "java"` and
+     * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
+     * fields are required while `occurrences` can be optionally included to
+     * support hyperlinking referenced symbols in the signature.
+     * 
+ * + * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; + */ + public Builder setSignatureDocumentation( + org.scip_code.scip.Signature.Builder builderForValue) { + if (signatureDocumentationBuilder_ == null) { + signatureDocumentation_ = builderForValue.build(); + } else { + signatureDocumentationBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000020; + onChanged(); + return this; + } + /** + *
+     * (optional) The signature of this symbol as it's displayed in API
+     * documentation or in hover tooltips. For example, a Java method that adds
+     * two numbers would have `Signature.language = "java"` and
+     * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
+     * fields are required while `occurrences` can be optionally included to
+     * support hyperlinking referenced symbols in the signature.
+     * 
+ * + * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; + */ + public Builder mergeSignatureDocumentation(org.scip_code.scip.Signature value) { + if (signatureDocumentationBuilder_ == null) { + if (((bitField0_ & 0x00000020) != 0) && + signatureDocumentation_ != null && + signatureDocumentation_ != org.scip_code.scip.Signature.getDefaultInstance()) { + getSignatureDocumentationBuilder().mergeFrom(value); + } else { + signatureDocumentation_ = value; + } + } else { + signatureDocumentationBuilder_.mergeFrom(value); + } + if (signatureDocumentation_ != null) { + bitField0_ |= 0x00000020; + onChanged(); + } + return this; + } + /** + *
+     * (optional) The signature of this symbol as it's displayed in API
+     * documentation or in hover tooltips. For example, a Java method that adds
+     * two numbers would have `Signature.language = "java"` and
+     * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
+     * fields are required while `occurrences` can be optionally included to
+     * support hyperlinking referenced symbols in the signature.
+     * 
+ * + * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; + */ + public Builder clearSignatureDocumentation() { + bitField0_ = (bitField0_ & ~0x00000020); + signatureDocumentation_ = null; + if (signatureDocumentationBuilder_ != null) { + signatureDocumentationBuilder_.dispose(); + signatureDocumentationBuilder_ = null; + } + onChanged(); + return this; + } + /** + *
+     * (optional) The signature of this symbol as it's displayed in API
+     * documentation or in hover tooltips. For example, a Java method that adds
+     * two numbers would have `Signature.language = "java"` and
+     * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
+     * fields are required while `occurrences` can be optionally included to
+     * support hyperlinking referenced symbols in the signature.
+     * 
+ * + * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; + */ + public org.scip_code.scip.Signature.Builder getSignatureDocumentationBuilder() { + bitField0_ |= 0x00000020; + onChanged(); + return internalGetSignatureDocumentationFieldBuilder().getBuilder(); + } + /** + *
+     * (optional) The signature of this symbol as it's displayed in API
+     * documentation or in hover tooltips. For example, a Java method that adds
+     * two numbers would have `Signature.language = "java"` and
+     * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
+     * fields are required while `occurrences` can be optionally included to
+     * support hyperlinking referenced symbols in the signature.
+     * 
+ * + * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; + */ + public org.scip_code.scip.SignatureOrBuilder getSignatureDocumentationOrBuilder() { + if (signatureDocumentationBuilder_ != null) { + return signatureDocumentationBuilder_.getMessageOrBuilder(); + } else { + return signatureDocumentation_ == null ? + org.scip_code.scip.Signature.getDefaultInstance() : signatureDocumentation_; + } + } + /** + *
+     * (optional) The signature of this symbol as it's displayed in API
+     * documentation or in hover tooltips. For example, a Java method that adds
+     * two numbers would have `Signature.language = "java"` and
+     * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
+     * fields are required while `occurrences` can be optionally included to
+     * support hyperlinking referenced symbols in the signature.
+     * 
+ * + * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; + */ + private com.google.protobuf.SingleFieldBuilder< + org.scip_code.scip.Signature, org.scip_code.scip.Signature.Builder, org.scip_code.scip.SignatureOrBuilder> + internalGetSignatureDocumentationFieldBuilder() { + if (signatureDocumentationBuilder_ == null) { + signatureDocumentationBuilder_ = new com.google.protobuf.SingleFieldBuilder< + org.scip_code.scip.Signature, org.scip_code.scip.Signature.Builder, org.scip_code.scip.SignatureOrBuilder>( + getSignatureDocumentation(), + getParentForChildren(), + isClean()); + signatureDocumentation_ = null; + } + return signatureDocumentationBuilder_; + } + + private java.lang.Object enclosingSymbol_ = ""; + /** + *
+     * (optional) The enclosing symbol if this is a local symbol.  For non-local
+     * symbols, the enclosing symbol should be parsed from the `symbol` field
+     * using the `Descriptor` grammar.
+     *
+     * The primary use-case for this field is to allow local symbol to be displayed
+     * in a symbol hierarchy for API documentation. It's OK to leave this field
+     * empty for local variables since local variables usually don't belong in API
+     * documentation. However, in the situation that you wish to include a local
+     * symbol in the hierarchy, then you can use `enclosing_symbol` to locate the
+     * "parent" or "owner" of this local symbol. For example, a Java indexer may
+     * choose to use local symbols for private class fields while providing an
+     * `enclosing_symbol` to reference the enclosing class to allow the field to
+     * be part of the class documentation hierarchy. From the perspective of an
+     * author of an indexer, the decision to use a local symbol or global symbol
+     * should exclusively be determined whether the local symbol is accessible
+     * outside the document, not by the capability to find the enclosing
+     * symbol.
+     * 
+ * + * string enclosing_symbol = 8 [json_name = "enclosingSymbol"]; + * @return The enclosingSymbol. + */ + public java.lang.String getEnclosingSymbol() { + java.lang.Object ref = enclosingSymbol_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + enclosingSymbol_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + *
+     * (optional) The enclosing symbol if this is a local symbol.  For non-local
+     * symbols, the enclosing symbol should be parsed from the `symbol` field
+     * using the `Descriptor` grammar.
+     *
+     * The primary use-case for this field is to allow local symbol to be displayed
+     * in a symbol hierarchy for API documentation. It's OK to leave this field
+     * empty for local variables since local variables usually don't belong in API
+     * documentation. However, in the situation that you wish to include a local
+     * symbol in the hierarchy, then you can use `enclosing_symbol` to locate the
+     * "parent" or "owner" of this local symbol. For example, a Java indexer may
+     * choose to use local symbols for private class fields while providing an
+     * `enclosing_symbol` to reference the enclosing class to allow the field to
+     * be part of the class documentation hierarchy. From the perspective of an
+     * author of an indexer, the decision to use a local symbol or global symbol
+     * should exclusively be determined whether the local symbol is accessible
+     * outside the document, not by the capability to find the enclosing
+     * symbol.
+     * 
+ * + * string enclosing_symbol = 8 [json_name = "enclosingSymbol"]; + * @return The bytes for enclosingSymbol. + */ + public com.google.protobuf.ByteString + getEnclosingSymbolBytes() { + java.lang.Object ref = enclosingSymbol_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + enclosingSymbol_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + *
+     * (optional) The enclosing symbol if this is a local symbol.  For non-local
+     * symbols, the enclosing symbol should be parsed from the `symbol` field
+     * using the `Descriptor` grammar.
+     *
+     * The primary use-case for this field is to allow local symbol to be displayed
+     * in a symbol hierarchy for API documentation. It's OK to leave this field
+     * empty for local variables since local variables usually don't belong in API
+     * documentation. However, in the situation that you wish to include a local
+     * symbol in the hierarchy, then you can use `enclosing_symbol` to locate the
+     * "parent" or "owner" of this local symbol. For example, a Java indexer may
+     * choose to use local symbols for private class fields while providing an
+     * `enclosing_symbol` to reference the enclosing class to allow the field to
+     * be part of the class documentation hierarchy. From the perspective of an
+     * author of an indexer, the decision to use a local symbol or global symbol
+     * should exclusively be determined whether the local symbol is accessible
+     * outside the document, not by the capability to find the enclosing
+     * symbol.
+     * 
+ * + * string enclosing_symbol = 8 [json_name = "enclosingSymbol"]; + * @param value The enclosingSymbol to set. + * @return This builder for chaining. + */ + public Builder setEnclosingSymbol( + java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + enclosingSymbol_ = value; + bitField0_ |= 0x00000040; + onChanged(); + return this; + } + /** + *
+     * (optional) The enclosing symbol if this is a local symbol.  For non-local
+     * symbols, the enclosing symbol should be parsed from the `symbol` field
+     * using the `Descriptor` grammar.
+     *
+     * The primary use-case for this field is to allow local symbol to be displayed
+     * in a symbol hierarchy for API documentation. It's OK to leave this field
+     * empty for local variables since local variables usually don't belong in API
+     * documentation. However, in the situation that you wish to include a local
+     * symbol in the hierarchy, then you can use `enclosing_symbol` to locate the
+     * "parent" or "owner" of this local symbol. For example, a Java indexer may
+     * choose to use local symbols for private class fields while providing an
+     * `enclosing_symbol` to reference the enclosing class to allow the field to
+     * be part of the class documentation hierarchy. From the perspective of an
+     * author of an indexer, the decision to use a local symbol or global symbol
+     * should exclusively be determined whether the local symbol is accessible
+     * outside the document, not by the capability to find the enclosing
+     * symbol.
+     * 
+ * + * string enclosing_symbol = 8 [json_name = "enclosingSymbol"]; + * @return This builder for chaining. + */ + public Builder clearEnclosingSymbol() { + enclosingSymbol_ = getDefaultInstance().getEnclosingSymbol(); + bitField0_ = (bitField0_ & ~0x00000040); + onChanged(); + return this; + } + /** + *
+     * (optional) The enclosing symbol if this is a local symbol.  For non-local
+     * symbols, the enclosing symbol should be parsed from the `symbol` field
+     * using the `Descriptor` grammar.
+     *
+     * The primary use-case for this field is to allow local symbol to be displayed
+     * in a symbol hierarchy for API documentation. It's OK to leave this field
+     * empty for local variables since local variables usually don't belong in API
+     * documentation. However, in the situation that you wish to include a local
+     * symbol in the hierarchy, then you can use `enclosing_symbol` to locate the
+     * "parent" or "owner" of this local symbol. For example, a Java indexer may
+     * choose to use local symbols for private class fields while providing an
+     * `enclosing_symbol` to reference the enclosing class to allow the field to
+     * be part of the class documentation hierarchy. From the perspective of an
+     * author of an indexer, the decision to use a local symbol or global symbol
+     * should exclusively be determined whether the local symbol is accessible
+     * outside the document, not by the capability to find the enclosing
+     * symbol.
+     * 
+ * + * string enclosing_symbol = 8 [json_name = "enclosingSymbol"]; + * @param value The bytes for enclosingSymbol to set. + * @return This builder for chaining. + */ + public Builder setEnclosingSymbolBytes( + com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + checkByteStringIsUtf8(value); + enclosingSymbol_ = value; + bitField0_ |= 0x00000040; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:scip.SymbolInformation) + } + + // @@protoc_insertion_point(class_scope:scip.SymbolInformation) + private static final org.scip_code.scip.SymbolInformation DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new org.scip_code.scip.SymbolInformation(); + } + + public static org.scip_code.scip.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 { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public org.scip_code.scip.SymbolInformation getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + +} + diff --git a/bindings/kotlin/src/main/java/org/scip_code/scip/SymbolInformationOrBuilder.java b/bindings/kotlin/src/main/java/org/scip_code/scip/SymbolInformationOrBuilder.java new file mode 100644 index 00000000..ba919cc1 --- /dev/null +++ b/bindings/kotlin/src/main/java/org/scip_code/scip/SymbolInformationOrBuilder.java @@ -0,0 +1,292 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: scip.proto +// Protobuf Java Version: 4.32.1 + +package org.scip_code.scip; + +@com.google.protobuf.Generated +public interface SymbolInformationOrBuilder extends + // @@protoc_insertion_point(interface_extends:scip.SymbolInformation) + com.google.protobuf.MessageOrBuilder { + + /** + *
+   * Identifier of this symbol, which can be referenced from `Occurence.symbol`.
+   * The string must be formatted according to the grammar in `Symbol`.
+   * 
+ * + * string symbol = 1 [json_name = "symbol"]; + * @return The symbol. + */ + java.lang.String getSymbol(); + /** + *
+   * Identifier of this symbol, which can be referenced from `Occurence.symbol`.
+   * The string must be formatted according to the grammar in `Symbol`.
+   * 
+ * + * string symbol = 1 [json_name = "symbol"]; + * @return The bytes for symbol. + */ + com.google.protobuf.ByteString + getSymbolBytes(); + + /** + *
+   * (optional, but strongly recommended) The markdown-formatted documentation
+   * for this symbol. Use `SymbolInformation.signature_documentation` to
+   * document the method/class/type signature of this symbol.
+   * Due to historical reasons, indexers may include signature documentation in
+   * this field by rendering markdown code blocks. New indexers should only
+   * include non-code documentation in this field, for example docstrings.
+   * 
+ * + * repeated string documentation = 3 [json_name = "documentation"]; + * @return A list containing the documentation. + */ + java.util.List + getDocumentationList(); + /** + *
+   * (optional, but strongly recommended) The markdown-formatted documentation
+   * for this symbol. Use `SymbolInformation.signature_documentation` to
+   * document the method/class/type signature of this symbol.
+   * Due to historical reasons, indexers may include signature documentation in
+   * this field by rendering markdown code blocks. New indexers should only
+   * include non-code documentation in this field, for example docstrings.
+   * 
+ * + * repeated string documentation = 3 [json_name = "documentation"]; + * @return The count of documentation. + */ + int getDocumentationCount(); + /** + *
+   * (optional, but strongly recommended) The markdown-formatted documentation
+   * for this symbol. Use `SymbolInformation.signature_documentation` to
+   * document the method/class/type signature of this symbol.
+   * Due to historical reasons, indexers may include signature documentation in
+   * this field by rendering markdown code blocks. New indexers should only
+   * include non-code documentation in this field, for example docstrings.
+   * 
+ * + * repeated string documentation = 3 [json_name = "documentation"]; + * @param index The index of the element to return. + * @return The documentation at the given index. + */ + java.lang.String getDocumentation(int index); + /** + *
+   * (optional, but strongly recommended) The markdown-formatted documentation
+   * for this symbol. Use `SymbolInformation.signature_documentation` to
+   * document the method/class/type signature of this symbol.
+   * Due to historical reasons, indexers may include signature documentation in
+   * this field by rendering markdown code blocks. New indexers should only
+   * include non-code documentation in this field, for example docstrings.
+   * 
+ * + * repeated string documentation = 3 [json_name = "documentation"]; + * @param index The index of the value to return. + * @return The bytes of the documentation at the given index. + */ + com.google.protobuf.ByteString + getDocumentationBytes(int index); + + /** + *
+   * (optional) Relationships to other symbols (e.g., implements, type definition).
+   * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + java.util.List + getRelationshipsList(); + /** + *
+   * (optional) Relationships to other symbols (e.g., implements, type definition).
+   * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + org.scip_code.scip.Relationship getRelationships(int index); + /** + *
+   * (optional) Relationships to other symbols (e.g., implements, type definition).
+   * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + int getRelationshipsCount(); + /** + *
+   * (optional) Relationships to other symbols (e.g., implements, type definition).
+   * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + java.util.List + getRelationshipsOrBuilderList(); + /** + *
+   * (optional) Relationships to other symbols (e.g., implements, type definition).
+   * 
+ * + * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; + */ + org.scip_code.scip.RelationshipOrBuilder getRelationshipsOrBuilder( + int index); + + /** + *
+   * The kind of this symbol. Use this field instead of
+   * `SymbolDescriptor.Suffix` to determine whether something is, for example, a
+   * class or a method.
+   * 
+ * + * .scip.SymbolInformation.Kind kind = 5 [json_name = "kind"]; + * @return The enum numeric value on the wire for kind. + */ + int getKindValue(); + /** + *
+   * The kind of this symbol. Use this field instead of
+   * `SymbolDescriptor.Suffix` to determine whether something is, for example, a
+   * class or a method.
+   * 
+ * + * .scip.SymbolInformation.Kind kind = 5 [json_name = "kind"]; + * @return The kind. + */ + org.scip_code.scip.SymbolInformation.Kind getKind(); + + /** + *
+   * (optional) The name of this symbol as it should be displayed to the user.
+   * For example, the symbol "com/example/MyClass#myMethod(+1)." should have the
+   * display name "myMethod". The `symbol` field is not a reliable source of
+   * the display name for several reasons:
+   *
+   * - Local symbols don't encode the name.
+   * - Some languages have case-insensitive names, so the symbol is all-lowercase.
+   * - The symbol may encode names with special characters that should not be
+   * displayed to the user.
+   * 
+ * + * string display_name = 6 [json_name = "displayName"]; + * @return The displayName. + */ + java.lang.String getDisplayName(); + /** + *
+   * (optional) The name of this symbol as it should be displayed to the user.
+   * For example, the symbol "com/example/MyClass#myMethod(+1)." should have the
+   * display name "myMethod". The `symbol` field is not a reliable source of
+   * the display name for several reasons:
+   *
+   * - Local symbols don't encode the name.
+   * - Some languages have case-insensitive names, so the symbol is all-lowercase.
+   * - The symbol may encode names with special characters that should not be
+   * displayed to the user.
+   * 
+ * + * string display_name = 6 [json_name = "displayName"]; + * @return The bytes for displayName. + */ + com.google.protobuf.ByteString + getDisplayNameBytes(); + + /** + *
+   * (optional) The signature of this symbol as it's displayed in API
+   * documentation or in hover tooltips. For example, a Java method that adds
+   * two numbers would have `Signature.language = "java"` and
+   * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
+   * fields are required while `occurrences` can be optionally included to
+   * support hyperlinking referenced symbols in the signature.
+   * 
+ * + * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; + * @return Whether the signatureDocumentation field is set. + */ + boolean hasSignatureDocumentation(); + /** + *
+   * (optional) The signature of this symbol as it's displayed in API
+   * documentation or in hover tooltips. For example, a Java method that adds
+   * two numbers would have `Signature.language = "java"` and
+   * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
+   * fields are required while `occurrences` can be optionally included to
+   * support hyperlinking referenced symbols in the signature.
+   * 
+ * + * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; + * @return The signatureDocumentation. + */ + org.scip_code.scip.Signature getSignatureDocumentation(); + /** + *
+   * (optional) The signature of this symbol as it's displayed in API
+   * documentation or in hover tooltips. For example, a Java method that adds
+   * two numbers would have `Signature.language = "java"` and
+   * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
+   * fields are required while `occurrences` can be optionally included to
+   * support hyperlinking referenced symbols in the signature.
+   * 
+ * + * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; + */ + org.scip_code.scip.SignatureOrBuilder getSignatureDocumentationOrBuilder(); + + /** + *
+   * (optional) The enclosing symbol if this is a local symbol.  For non-local
+   * symbols, the enclosing symbol should be parsed from the `symbol` field
+   * using the `Descriptor` grammar.
+   *
+   * The primary use-case for this field is to allow local symbol to be displayed
+   * in a symbol hierarchy for API documentation. It's OK to leave this field
+   * empty for local variables since local variables usually don't belong in API
+   * documentation. However, in the situation that you wish to include a local
+   * symbol in the hierarchy, then you can use `enclosing_symbol` to locate the
+   * "parent" or "owner" of this local symbol. For example, a Java indexer may
+   * choose to use local symbols for private class fields while providing an
+   * `enclosing_symbol` to reference the enclosing class to allow the field to
+   * be part of the class documentation hierarchy. From the perspective of an
+   * author of an indexer, the decision to use a local symbol or global symbol
+   * should exclusively be determined whether the local symbol is accessible
+   * outside the document, not by the capability to find the enclosing
+   * symbol.
+   * 
+ * + * string enclosing_symbol = 8 [json_name = "enclosingSymbol"]; + * @return The enclosingSymbol. + */ + java.lang.String getEnclosingSymbol(); + /** + *
+   * (optional) The enclosing symbol if this is a local symbol.  For non-local
+   * symbols, the enclosing symbol should be parsed from the `symbol` field
+   * using the `Descriptor` grammar.
+   *
+   * The primary use-case for this field is to allow local symbol to be displayed
+   * in a symbol hierarchy for API documentation. It's OK to leave this field
+   * empty for local variables since local variables usually don't belong in API
+   * documentation. However, in the situation that you wish to include a local
+   * symbol in the hierarchy, then you can use `enclosing_symbol` to locate the
+   * "parent" or "owner" of this local symbol. For example, a Java indexer may
+   * choose to use local symbols for private class fields while providing an
+   * `enclosing_symbol` to reference the enclosing class to allow the field to
+   * be part of the class documentation hierarchy. From the perspective of an
+   * author of an indexer, the decision to use a local symbol or global symbol
+   * should exclusively be determined whether the local symbol is accessible
+   * outside the document, not by the capability to find the enclosing
+   * symbol.
+   * 
+ * + * string enclosing_symbol = 8 [json_name = "enclosingSymbol"]; + * @return The bytes for enclosingSymbol. + */ + com.google.protobuf.ByteString + getEnclosingSymbolBytes(); +} diff --git a/bindings/kotlin/src/main/java/org/scip_code/scip/SymbolOrBuilder.java b/bindings/kotlin/src/main/java/org/scip_code/scip/SymbolOrBuilder.java new file mode 100644 index 00000000..3136b042 --- /dev/null +++ b/bindings/kotlin/src/main/java/org/scip_code/scip/SymbolOrBuilder.java @@ -0,0 +1,63 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: scip.proto +// Protobuf Java Version: 4.32.1 + +package org.scip_code.scip; + +@com.google.protobuf.Generated +public interface SymbolOrBuilder extends + // @@protoc_insertion_point(interface_extends:scip.Symbol) + com.google.protobuf.MessageOrBuilder { + + /** + * string scheme = 1 [json_name = "scheme"]; + * @return The scheme. + */ + java.lang.String getScheme(); + /** + * string scheme = 1 [json_name = "scheme"]; + * @return The bytes for scheme. + */ + com.google.protobuf.ByteString + getSchemeBytes(); + + /** + * .scip.Package package = 2 [json_name = "package"]; + * @return Whether the package field is set. + */ + boolean hasPackage(); + /** + * .scip.Package package = 2 [json_name = "package"]; + * @return The package. + */ + org.scip_code.scip.Package getPackage(); + /** + * .scip.Package package = 2 [json_name = "package"]; + */ + org.scip_code.scip.PackageOrBuilder getPackageOrBuilder(); + + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + java.util.List + getDescriptorsList(); + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + org.scip_code.scip.Descriptor getDescriptors(int index); + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + int getDescriptorsCount(); + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + java.util.List + getDescriptorsOrBuilderList(); + /** + * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; + */ + org.scip_code.scip.DescriptorOrBuilder getDescriptorsOrBuilder( + int index); +} diff --git a/bindings/kotlin/src/main/java/org/scip_code/scip/SymbolRole.java b/bindings/kotlin/src/main/java/org/scip_code/scip/SymbolRole.java new file mode 100644 index 00000000..c840aafd --- /dev/null +++ b/bindings/kotlin/src/main/java/org/scip_code/scip/SymbolRole.java @@ -0,0 +1,261 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: scip.proto +// Protobuf Java Version: 4.32.1 + +package org.scip_code.scip; + +/** + *
+ * SymbolRole declares what "role" a symbol has in an occurrence. A role is
+ * encoded as a bitset where each bit represents a different role. For example,
+ * to determine if the `Import` role is set, test whether the second bit of the
+ * enum value is defined. In pseudocode, this can be implemented with the
+ * logic: `const isImportRole = (role.value & SymbolRole.Import.value) > 0`.
+ * 
+ * + * Protobuf enum {@code scip.SymbolRole} + */ +@com.google.protobuf.Generated +public enum SymbolRole + implements com.google.protobuf.ProtocolMessageEnum { + /** + *
+   * This case is not meant to be used; it only exists to avoid an error
+   * from the Protobuf code generator.
+   * 
+ * + * UnspecifiedSymbolRole = 0; + */ + UnspecifiedSymbolRole(0), + /** + *
+   * Is the symbol defined here? If not, then this is a symbol reference.
+   * 
+ * + * Definition = 1; + */ + Definition(1), + /** + *
+   * Is the symbol imported here?
+   * 
+ * + * Import = 2; + */ + Import(2), + /** + *
+   * Is the symbol written here?
+   * 
+ * + * WriteAccess = 4; + */ + WriteAccess(4), + /** + *
+   * Is the symbol read here?
+   * 
+ * + * ReadAccess = 8; + */ + ReadAccess(8), + /** + *
+   * Is the symbol in generated code?
+   * 
+ * + * Generated = 16; + */ + Generated(16), + /** + *
+   * Is the symbol in test code?
+   * 
+ * + * Test = 32; + */ + Test(32), + /** + *
+   * Is this a signature for a symbol that is defined elsewhere?
+   *
+   * Applies to forward declarations for languages like C, C++
+   * and Objective-C, as well as `val` declarations in interface
+   * files in languages like SML and OCaml.
+   * 
+ * + * ForwardDefinition = 64; + */ + ForwardDefinition(64), + UNRECOGNIZED(-1), + ; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 32, + /* patch= */ 1, + /* suffix= */ "", + SymbolRole.class.getName()); + } + /** + *
+   * This case is not meant to be used; it only exists to avoid an error
+   * from the Protobuf code generator.
+   * 
+ * + * UnspecifiedSymbolRole = 0; + */ + public static final int UnspecifiedSymbolRole_VALUE = 0; + /** + *
+   * Is the symbol defined here? If not, then this is a symbol reference.
+   * 
+ * + * Definition = 1; + */ + public static final int Definition_VALUE = 1; + /** + *
+   * Is the symbol imported here?
+   * 
+ * + * Import = 2; + */ + public static final int Import_VALUE = 2; + /** + *
+   * Is the symbol written here?
+   * 
+ * + * WriteAccess = 4; + */ + public static final int WriteAccess_VALUE = 4; + /** + *
+   * Is the symbol read here?
+   * 
+ * + * ReadAccess = 8; + */ + public static final int ReadAccess_VALUE = 8; + /** + *
+   * Is the symbol in generated code?
+   * 
+ * + * Generated = 16; + */ + public static final int Generated_VALUE = 16; + /** + *
+   * Is the symbol in test code?
+   * 
+ * + * Test = 32; + */ + public static final int Test_VALUE = 32; + /** + *
+   * Is this a signature for a symbol that is defined elsewhere?
+   *
+   * Applies to forward declarations for languages like C, C++
+   * and Objective-C, as well as `val` declarations in interface
+   * files in languages like SML and OCaml.
+   * 
+ * + * ForwardDefinition = 64; + */ + public static final int ForwardDefinition_VALUE = 64; + + + 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 SymbolRole 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 SymbolRole forNumber(int value) { + switch (value) { + case 0: return UnspecifiedSymbolRole; + case 1: return Definition; + case 2: return Import; + case 4: return WriteAccess; + case 8: return ReadAccess; + case 16: return Generated; + case 32: return Test; + case 64: return ForwardDefinition; + default: return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap + internalGetValueMap() { + return internalValueMap; + } + private static final com.google.protobuf.Internal.EnumLiteMap< + SymbolRole> internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap() { + public SymbolRole findValueByNumber(int number) { + return SymbolRole.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 com.google.protobuf.Descriptors.EnumDescriptor + getDescriptor() { + return org.scip_code.scip.ScipProto.getDescriptor().getEnumTypes().get(3); + } + + private static final SymbolRole[] VALUES = values(); + + public static SymbolRole 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 SymbolRole(int value) { + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:scip.SymbolRole) +} + diff --git a/bindings/kotlin/src/main/java/org/scip_code/scip/SyntaxKind.java b/bindings/kotlin/src/main/java/org/scip_code/scip/SyntaxKind.java new file mode 100644 index 00000000..2fe54309 --- /dev/null +++ b/bindings/kotlin/src/main/java/org/scip_code/scip/SyntaxKind.java @@ -0,0 +1,756 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: scip.proto +// Protobuf Java Version: 4.32.1 + +package org.scip_code.scip; + +/** + * Protobuf enum {@code scip.SyntaxKind} + */ +@com.google.protobuf.Generated +public enum SyntaxKind + implements com.google.protobuf.ProtocolMessageEnum { + /** + * UnspecifiedSyntaxKind = 0; + */ + UnspecifiedSyntaxKind(0, 0), + /** + *
+   * Comment, including comment markers and text
+   * 
+ * + * Comment = 1; + */ + Comment(1, 1), + /** + *
+   * `;` `.` `,`
+   * 
+ * + * PunctuationDelimiter = 2; + */ + PunctuationDelimiter(2, 2), + /** + *
+   * (), {}, [] when used syntactically
+   * 
+ * + * PunctuationBracket = 3; + */ + PunctuationBracket(3, 3), + /** + *
+   * `if`, `else`, `return`, `class`, etc.
+   * 
+ * + * Keyword = 4; + */ + Keyword(4, 4), + /** + *
+   * `+`, `*`, etc.
+   * 
+ * + * IdentifierOperator = 5; + */ + IdentifierOperator(6, 5), + /** + *
+   * non-specific catch-all for any identifier not better described elsewhere
+   * 
+ * + * Identifier = 6; + */ + Identifier(7, 6), + /** + *
+   * Identifiers builtin to the language: `min`, `print` in Python.
+   * 
+ * + * IdentifierBuiltin = 7; + */ + IdentifierBuiltin(8, 7), + /** + *
+   * Identifiers representing `null`-like values: `None` in Python, `nil` in Go.
+   * 
+ * + * IdentifierNull = 8; + */ + IdentifierNull(9, 8), + /** + *
+   * `xyz` in `const xyz = "hello"`
+   * 
+ * + * IdentifierConstant = 9; + */ + IdentifierConstant(10, 9), + /** + *
+   * `var X = "hello"` in Go
+   * 
+ * + * IdentifierMutableGlobal = 10; + */ + IdentifierMutableGlobal(11, 10), + /** + *
+   * Parameter definition and references
+   * 
+ * + * IdentifierParameter = 11; + */ + IdentifierParameter(12, 11), + /** + *
+   * Identifiers for variable definitions and references within a local scope
+   * 
+ * + * IdentifierLocal = 12; + */ + IdentifierLocal(13, 12), + /** + *
+   * Identifiers that shadow other identifiers in an outer scope
+   * 
+ * + * IdentifierShadowed = 13; + */ + IdentifierShadowed(14, 13), + /** + *
+   * Identifier representing a unit of code abstraction and/or namespacing.
+   *
+   * NOTE: This corresponds to a package in Go and JVM languages,
+   * and a module in languages like Python and JavaScript.
+   * 
+ * + * IdentifierNamespace = 14; + */ + IdentifierNamespace(15, 14), + /** + *
+   * Function references, including calls
+   * 
+ * + * IdentifierFunction = 15; + */ + IdentifierFunction(17, 15), + /** + *
+   * Function definition only
+   * 
+ * + * IdentifierFunctionDefinition = 16; + */ + IdentifierFunctionDefinition(18, 16), + /** + *
+   * Macro references, including invocations
+   * 
+ * + * IdentifierMacro = 17; + */ + IdentifierMacro(19, 17), + /** + *
+   * Macro definition only
+   * 
+ * + * IdentifierMacroDefinition = 18; + */ + IdentifierMacroDefinition(20, 18), + /** + *
+   * non-builtin types
+   * 
+ * + * IdentifierType = 19; + */ + IdentifierType(21, 19), + /** + *
+   * builtin types only, such as `str` for Python or `int` in Go
+   * 
+ * + * IdentifierBuiltinType = 20; + */ + IdentifierBuiltinType(22, 20), + /** + *
+   * Python decorators, c-like __attribute__
+   * 
+ * + * IdentifierAttribute = 21; + */ + IdentifierAttribute(23, 21), + /** + *
+   * `\b`
+   * 
+ * + * RegexEscape = 22; + */ + RegexEscape(24, 22), + /** + *
+   * `*`, `+`
+   * 
+ * + * RegexRepeated = 23; + */ + RegexRepeated(25, 23), + /** + *
+   * `.`
+   * 
+ * + * RegexWildcard = 24; + */ + RegexWildcard(26, 24), + /** + *
+   * `(`, `)`, `[`, `]`
+   * 
+ * + * RegexDelimiter = 25; + */ + RegexDelimiter(27, 25), + /** + *
+   * `|`, `-`
+   * 
+ * + * RegexJoin = 26; + */ + RegexJoin(28, 26), + /** + *
+   * Literal strings: "Hello, world!"
+   * 
+ * + * StringLiteral = 27; + */ + StringLiteral(29, 27), + /** + *
+   * non-regex escapes: "\t", "\n"
+   * 
+ * + * StringLiteralEscape = 28; + */ + StringLiteralEscape(30, 28), + /** + *
+   * datetimes within strings, special words within a string, `{}` in format strings
+   * 
+ * + * StringLiteralSpecial = 29; + */ + StringLiteralSpecial(31, 29), + /** + *
+   * "key" in { "key": "value" }, useful for example in JSON
+   * 
+ * + * StringLiteralKey = 30; + */ + StringLiteralKey(32, 30), + /** + *
+   * 'c' or similar, in languages that differentiate strings and characters
+   * 
+ * + * CharacterLiteral = 31; + */ + CharacterLiteral(33, 31), + /** + *
+   * Literal numbers, both floats and integers
+   * 
+ * + * NumericLiteral = 32; + */ + NumericLiteral(34, 32), + /** + *
+   * `true`, `false`
+   * 
+ * + * BooleanLiteral = 33; + */ + BooleanLiteral(35, 33), + /** + *
+   * Used for XML-like tags
+   * 
+ * + * Tag = 34; + */ + Tag(36, 34), + /** + *
+   * Attribute name in XML-like tags
+   * 
+ * + * TagAttribute = 35; + */ + TagAttribute(37, 35), + /** + *
+   * Delimiters for XML-like tags
+   * 
+ * + * TagDelimiter = 36; + */ + TagDelimiter(38, 36), + UNRECOGNIZED(-1, -1), + ; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 32, + /* patch= */ 1, + /* suffix= */ "", + SyntaxKind.class.getName()); + } + /** + * IdentifierKeyword = 4 [deprecated = true]; + */ + public static final SyntaxKind IdentifierKeyword = Keyword; + /** + * IdentifierModule = 14 [deprecated = true]; + */ + public static final SyntaxKind IdentifierModule = IdentifierNamespace; + /** + * UnspecifiedSyntaxKind = 0; + */ + public static final int UnspecifiedSyntaxKind_VALUE = 0; + /** + *
+   * Comment, including comment markers and text
+   * 
+ * + * Comment = 1; + */ + public static final int Comment_VALUE = 1; + /** + *
+   * `;` `.` `,`
+   * 
+ * + * PunctuationDelimiter = 2; + */ + public static final int PunctuationDelimiter_VALUE = 2; + /** + *
+   * (), {}, [] when used syntactically
+   * 
+ * + * PunctuationBracket = 3; + */ + public static final int PunctuationBracket_VALUE = 3; + /** + *
+   * `if`, `else`, `return`, `class`, etc.
+   * 
+ * + * Keyword = 4; + */ + public static final int Keyword_VALUE = 4; + /** + * IdentifierKeyword = 4 [deprecated = true]; + */ + @java.lang.Deprecated public static final int IdentifierKeyword_VALUE = 4; + /** + *
+   * `+`, `*`, etc.
+   * 
+ * + * IdentifierOperator = 5; + */ + public static final int IdentifierOperator_VALUE = 5; + /** + *
+   * non-specific catch-all for any identifier not better described elsewhere
+   * 
+ * + * Identifier = 6; + */ + public static final int Identifier_VALUE = 6; + /** + *
+   * Identifiers builtin to the language: `min`, `print` in Python.
+   * 
+ * + * IdentifierBuiltin = 7; + */ + public static final int IdentifierBuiltin_VALUE = 7; + /** + *
+   * Identifiers representing `null`-like values: `None` in Python, `nil` in Go.
+   * 
+ * + * IdentifierNull = 8; + */ + public static final int IdentifierNull_VALUE = 8; + /** + *
+   * `xyz` in `const xyz = "hello"`
+   * 
+ * + * IdentifierConstant = 9; + */ + public static final int IdentifierConstant_VALUE = 9; + /** + *
+   * `var X = "hello"` in Go
+   * 
+ * + * IdentifierMutableGlobal = 10; + */ + public static final int IdentifierMutableGlobal_VALUE = 10; + /** + *
+   * Parameter definition and references
+   * 
+ * + * IdentifierParameter = 11; + */ + public static final int IdentifierParameter_VALUE = 11; + /** + *
+   * Identifiers for variable definitions and references within a local scope
+   * 
+ * + * IdentifierLocal = 12; + */ + public static final int IdentifierLocal_VALUE = 12; + /** + *
+   * Identifiers that shadow other identifiers in an outer scope
+   * 
+ * + * IdentifierShadowed = 13; + */ + public static final int IdentifierShadowed_VALUE = 13; + /** + *
+   * Identifier representing a unit of code abstraction and/or namespacing.
+   *
+   * NOTE: This corresponds to a package in Go and JVM languages,
+   * and a module in languages like Python and JavaScript.
+   * 
+ * + * IdentifierNamespace = 14; + */ + public static final int IdentifierNamespace_VALUE = 14; + /** + * IdentifierModule = 14 [deprecated = true]; + */ + @java.lang.Deprecated public static final int IdentifierModule_VALUE = 14; + /** + *
+   * Function references, including calls
+   * 
+ * + * IdentifierFunction = 15; + */ + public static final int IdentifierFunction_VALUE = 15; + /** + *
+   * Function definition only
+   * 
+ * + * IdentifierFunctionDefinition = 16; + */ + public static final int IdentifierFunctionDefinition_VALUE = 16; + /** + *
+   * Macro references, including invocations
+   * 
+ * + * IdentifierMacro = 17; + */ + public static final int IdentifierMacro_VALUE = 17; + /** + *
+   * Macro definition only
+   * 
+ * + * IdentifierMacroDefinition = 18; + */ + public static final int IdentifierMacroDefinition_VALUE = 18; + /** + *
+   * non-builtin types
+   * 
+ * + * IdentifierType = 19; + */ + public static final int IdentifierType_VALUE = 19; + /** + *
+   * builtin types only, such as `str` for Python or `int` in Go
+   * 
+ * + * IdentifierBuiltinType = 20; + */ + public static final int IdentifierBuiltinType_VALUE = 20; + /** + *
+   * Python decorators, c-like __attribute__
+   * 
+ * + * IdentifierAttribute = 21; + */ + public static final int IdentifierAttribute_VALUE = 21; + /** + *
+   * `\b`
+   * 
+ * + * RegexEscape = 22; + */ + public static final int RegexEscape_VALUE = 22; + /** + *
+   * `*`, `+`
+   * 
+ * + * RegexRepeated = 23; + */ + public static final int RegexRepeated_VALUE = 23; + /** + *
+   * `.`
+   * 
+ * + * RegexWildcard = 24; + */ + public static final int RegexWildcard_VALUE = 24; + /** + *
+   * `(`, `)`, `[`, `]`
+   * 
+ * + * RegexDelimiter = 25; + */ + public static final int RegexDelimiter_VALUE = 25; + /** + *
+   * `|`, `-`
+   * 
+ * + * RegexJoin = 26; + */ + public static final int RegexJoin_VALUE = 26; + /** + *
+   * Literal strings: "Hello, world!"
+   * 
+ * + * StringLiteral = 27; + */ + public static final int StringLiteral_VALUE = 27; + /** + *
+   * non-regex escapes: "\t", "\n"
+   * 
+ * + * StringLiteralEscape = 28; + */ + public static final int StringLiteralEscape_VALUE = 28; + /** + *
+   * datetimes within strings, special words within a string, `{}` in format strings
+   * 
+ * + * StringLiteralSpecial = 29; + */ + public static final int StringLiteralSpecial_VALUE = 29; + /** + *
+   * "key" in { "key": "value" }, useful for example in JSON
+   * 
+ * + * StringLiteralKey = 30; + */ + public static final int StringLiteralKey_VALUE = 30; + /** + *
+   * 'c' or similar, in languages that differentiate strings and characters
+   * 
+ * + * CharacterLiteral = 31; + */ + public static final int CharacterLiteral_VALUE = 31; + /** + *
+   * Literal numbers, both floats and integers
+   * 
+ * + * NumericLiteral = 32; + */ + public static final int NumericLiteral_VALUE = 32; + /** + *
+   * `true`, `false`
+   * 
+ * + * BooleanLiteral = 33; + */ + public static final int BooleanLiteral_VALUE = 33; + /** + *
+   * Used for XML-like tags
+   * 
+ * + * Tag = 34; + */ + public static final int Tag_VALUE = 34; + /** + *
+   * Attribute name in XML-like tags
+   * 
+ * + * TagAttribute = 35; + */ + public static final int TagAttribute_VALUE = 35; + /** + *
+   * Delimiters for XML-like tags
+   * 
+ * + * TagDelimiter = 36; + */ + public static final int TagDelimiter_VALUE = 36; + + + public final int getNumber() { + if (index == -1) { + 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 SyntaxKind 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 SyntaxKind forNumber(int value) { + switch (value) { + case 0: return UnspecifiedSyntaxKind; + case 1: return Comment; + case 2: return PunctuationDelimiter; + case 3: return PunctuationBracket; + case 4: return Keyword; + case 5: return IdentifierOperator; + case 6: return Identifier; + case 7: return IdentifierBuiltin; + case 8: return IdentifierNull; + case 9: return IdentifierConstant; + case 10: return IdentifierMutableGlobal; + case 11: return IdentifierParameter; + case 12: return IdentifierLocal; + case 13: return IdentifierShadowed; + case 14: return IdentifierNamespace; + case 15: return IdentifierFunction; + case 16: return IdentifierFunctionDefinition; + case 17: return IdentifierMacro; + case 18: return IdentifierMacroDefinition; + case 19: return IdentifierType; + case 20: return IdentifierBuiltinType; + case 21: return IdentifierAttribute; + case 22: return RegexEscape; + case 23: return RegexRepeated; + case 24: return RegexWildcard; + case 25: return RegexDelimiter; + case 26: return RegexJoin; + case 27: return StringLiteral; + case 28: return StringLiteralEscape; + case 29: return StringLiteralSpecial; + case 30: return StringLiteralKey; + case 31: return CharacterLiteral; + case 32: return NumericLiteral; + case 33: return BooleanLiteral; + case 34: return Tag; + case 35: return TagAttribute; + case 36: return TagDelimiter; + default: return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap + internalGetValueMap() { + return internalValueMap; + } + private static final com.google.protobuf.Internal.EnumLiteMap< + SyntaxKind> internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap() { + public SyntaxKind findValueByNumber(int number) { + return SyntaxKind.forNumber(number); + } + }; + + public final com.google.protobuf.Descriptors.EnumValueDescriptor + getValueDescriptor() { + if (index == -1) { + throw new java.lang.IllegalStateException( + "Can't get the descriptor of an unrecognized enum value."); + } + return getDescriptor().getValues().get(index); + } + public final com.google.protobuf.Descriptors.EnumDescriptor + getDescriptorForType() { + return getDescriptor(); + } + public static com.google.protobuf.Descriptors.EnumDescriptor + getDescriptor() { + return org.scip_code.scip.ScipProto.getDescriptor().getEnumTypes().get(4); + } + + private static final SyntaxKind[] VALUES = getStaticValuesArray(); + private static SyntaxKind[] getStaticValuesArray() { + return new SyntaxKind[] { + UnspecifiedSyntaxKind, Comment, PunctuationDelimiter, PunctuationBracket, Keyword, IdentifierKeyword, IdentifierOperator, Identifier, IdentifierBuiltin, IdentifierNull, IdentifierConstant, IdentifierMutableGlobal, IdentifierParameter, IdentifierLocal, IdentifierShadowed, IdentifierNamespace, IdentifierModule, IdentifierFunction, IdentifierFunctionDefinition, IdentifierMacro, IdentifierMacroDefinition, IdentifierType, IdentifierBuiltinType, IdentifierAttribute, RegexEscape, RegexRepeated, RegexWildcard, RegexDelimiter, RegexJoin, StringLiteral, StringLiteralEscape, StringLiteralSpecial, StringLiteralKey, CharacterLiteral, NumericLiteral, BooleanLiteral, Tag, TagAttribute, TagDelimiter, + }; + } + public static SyntaxKind 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 index; + private final int value; + + private SyntaxKind(int index, int value) { + this.index = index; + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:scip.SyntaxKind) +} + diff --git a/bindings/kotlin/src/main/java/org/scip_code/scip/TextEncoding.java b/bindings/kotlin/src/main/java/org/scip_code/scip/TextEncoding.java new file mode 100644 index 00000000..77ad6441 --- /dev/null +++ b/bindings/kotlin/src/main/java/org/scip_code/scip/TextEncoding.java @@ -0,0 +1,134 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: scip.proto +// Protobuf Java Version: 4.32.1 + +package org.scip_code.scip; + +/** + * Protobuf enum {@code scip.TextEncoding} + */ +@com.google.protobuf.Generated +public enum TextEncoding + implements com.google.protobuf.ProtocolMessageEnum { + /** + * UnspecifiedTextEncoding = 0; + */ + UnspecifiedTextEncoding(0), + /** + * UTF8 = 1; + */ + UTF8(1), + /** + * UTF16 = 2; + */ + UTF16(2), + UNRECOGNIZED(-1), + ; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 32, + /* patch= */ 1, + /* suffix= */ "", + TextEncoding.class.getName()); + } + /** + * UnspecifiedTextEncoding = 0; + */ + public static final int UnspecifiedTextEncoding_VALUE = 0; + /** + * UTF8 = 1; + */ + public static final int UTF8_VALUE = 1; + /** + * UTF16 = 2; + */ + public static final int UTF16_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 TextEncoding 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 TextEncoding forNumber(int value) { + switch (value) { + case 0: return UnspecifiedTextEncoding; + case 1: return UTF8; + case 2: return UTF16; + default: return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap + internalGetValueMap() { + return internalValueMap; + } + private static final com.google.protobuf.Internal.EnumLiteMap< + TextEncoding> internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap() { + public TextEncoding findValueByNumber(int number) { + return TextEncoding.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 com.google.protobuf.Descriptors.EnumDescriptor + getDescriptor() { + return org.scip_code.scip.ScipProto.getDescriptor().getEnumTypes().get(1); + } + + private static final TextEncoding[] VALUES = values(); + + public static TextEncoding 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 TextEncoding(int value) { + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:scip.TextEncoding) +} + diff --git a/bindings/kotlin/src/main/java/org/scip_code/scip/ToolInfo.java b/bindings/kotlin/src/main/java/org/scip_code/scip/ToolInfo.java new file mode 100644 index 00000000..1c67a372 --- /dev/null +++ b/bindings/kotlin/src/main/java/org/scip_code/scip/ToolInfo.java @@ -0,0 +1,935 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: scip.proto +// Protobuf Java Version: 4.32.1 + +package org.scip_code.scip; + +/** + * Protobuf type {@code scip.ToolInfo} + */ +@com.google.protobuf.Generated +public final class ToolInfo extends + com.google.protobuf.GeneratedMessage implements + // @@protoc_insertion_point(message_implements:scip.ToolInfo) + ToolInfoOrBuilder { +private static final long serialVersionUID = 0L; + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 32, + /* patch= */ 1, + /* suffix= */ "", + ToolInfo.class.getName()); + } + // Use ToolInfo.newBuilder() to construct. + private ToolInfo(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + private ToolInfo() { + name_ = ""; + version_ = ""; + arguments_ = + com.google.protobuf.LazyStringArrayList.emptyList(); + } + + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.scip_code.scip.ScipProto.internal_static_scip_ToolInfo_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.scip_code.scip.ScipProto.internal_static_scip_ToolInfo_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.scip_code.scip.ToolInfo.class, org.scip_code.scip.ToolInfo.Builder.class); + } + + public static final int NAME_FIELD_NUMBER = 1; + @SuppressWarnings("serial") + private volatile java.lang.Object name_ = ""; + /** + *
+   * Name of the indexer that produced this index.
+   * 
+ * + * string name = 1 [json_name = "name"]; + * @return The name. + */ + @java.lang.Override + public java.lang.String getName() { + java.lang.Object ref = name_; + 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(); + name_ = s; + return s; + } + } + /** + *
+   * Name of the indexer that produced this index.
+   * 
+ * + * string name = 1 [json_name = "name"]; + * @return The bytes for name. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int VERSION_FIELD_NUMBER = 2; + @SuppressWarnings("serial") + private volatile java.lang.Object version_ = ""; + /** + *
+   * Version of the indexer that produced this index.
+   * 
+ * + * string version = 2 [json_name = "version"]; + * @return The version. + */ + @java.lang.Override + public java.lang.String getVersion() { + java.lang.Object ref = version_; + 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(); + version_ = s; + return s; + } + } + /** + *
+   * Version of the indexer that produced this index.
+   * 
+ * + * string version = 2 [json_name = "version"]; + * @return The bytes for version. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getVersionBytes() { + java.lang.Object ref = version_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + version_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int ARGUMENTS_FIELD_NUMBER = 3; + @SuppressWarnings("serial") + private com.google.protobuf.LazyStringArrayList arguments_ = + com.google.protobuf.LazyStringArrayList.emptyList(); + /** + *
+   * Command-line arguments that were used to invoke this indexer.
+   * 
+ * + * repeated string arguments = 3 [json_name = "arguments"]; + * @return A list containing the arguments. + */ + public com.google.protobuf.ProtocolStringList + getArgumentsList() { + return arguments_; + } + /** + *
+   * Command-line arguments that were used to invoke this indexer.
+   * 
+ * + * repeated string arguments = 3 [json_name = "arguments"]; + * @return The count of arguments. + */ + public int getArgumentsCount() { + return arguments_.size(); + } + /** + *
+   * Command-line arguments that were used to invoke this indexer.
+   * 
+ * + * repeated string arguments = 3 [json_name = "arguments"]; + * @param index The index of the element to return. + * @return The arguments at the given index. + */ + public java.lang.String getArguments(int index) { + return arguments_.get(index); + } + /** + *
+   * Command-line arguments that were used to invoke this indexer.
+   * 
+ * + * repeated string arguments = 3 [json_name = "arguments"]; + * @param index The index of the value to return. + * @return The bytes of the arguments at the given index. + */ + public com.google.protobuf.ByteString + getArgumentsBytes(int index) { + return arguments_.getByteString(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 (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, name_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(version_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 2, version_); + } + for (int i = 0; i < arguments_.size(); i++) { + com.google.protobuf.GeneratedMessage.writeString(output, 3, arguments_.getRaw(i)); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, name_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(version_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(2, version_); + } + { + int dataSize = 0; + for (int i = 0; i < arguments_.size(); i++) { + dataSize += computeStringSizeNoTag(arguments_.getRaw(i)); + } + size += dataSize; + size += 1 * getArgumentsList().size(); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof org.scip_code.scip.ToolInfo)) { + return super.equals(obj); + } + org.scip_code.scip.ToolInfo other = (org.scip_code.scip.ToolInfo) obj; + + if (!getName() + .equals(other.getName())) return false; + if (!getVersion() + .equals(other.getVersion())) return false; + if (!getArgumentsList() + .equals(other.getArgumentsList())) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) 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) + NAME_FIELD_NUMBER; + hash = (53 * hash) + getName().hashCode(); + hash = (37 * hash) + VERSION_FIELD_NUMBER; + hash = (53 * hash) + getVersion().hashCode(); + if (getArgumentsCount() > 0) { + hash = (37 * hash) + ARGUMENTS_FIELD_NUMBER; + hash = (53 * hash) + getArgumentsList().hashCode(); + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static org.scip_code.scip.ToolInfo parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.scip_code.scip.ToolInfo parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.scip_code.scip.ToolInfo parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.scip_code.scip.ToolInfo parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.scip_code.scip.ToolInfo parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.scip_code.scip.ToolInfo parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.scip_code.scip.ToolInfo parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static org.scip_code.scip.ToolInfo parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public static org.scip_code.scip.ToolInfo parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input); + } + + public static org.scip_code.scip.ToolInfo parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static org.scip_code.scip.ToolInfo parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static org.scip_code.scip.ToolInfo parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(org.scip_code.scip.ToolInfo 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code scip.ToolInfo} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder implements + // @@protoc_insertion_point(builder_implements:scip.ToolInfo) + org.scip_code.scip.ToolInfoOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.scip_code.scip.ScipProto.internal_static_scip_ToolInfo_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.scip_code.scip.ScipProto.internal_static_scip_ToolInfo_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.scip_code.scip.ToolInfo.class, org.scip_code.scip.ToolInfo.Builder.class); + } + + // Construct using org.scip_code.scip.ToolInfo.newBuilder() + private Builder() { + + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + + } + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + name_ = ""; + version_ = ""; + arguments_ = + com.google.protobuf.LazyStringArrayList.emptyList(); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return org.scip_code.scip.ScipProto.internal_static_scip_ToolInfo_descriptor; + } + + @java.lang.Override + public org.scip_code.scip.ToolInfo getDefaultInstanceForType() { + return org.scip_code.scip.ToolInfo.getDefaultInstance(); + } + + @java.lang.Override + public org.scip_code.scip.ToolInfo build() { + org.scip_code.scip.ToolInfo result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public org.scip_code.scip.ToolInfo buildPartial() { + org.scip_code.scip.ToolInfo result = new org.scip_code.scip.ToolInfo(this); + if (bitField0_ != 0) { buildPartial0(result); } + onBuilt(); + return result; + } + + private void buildPartial0(org.scip_code.scip.ToolInfo result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.name_ = name_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.version_ = version_; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + arguments_.makeImmutable(); + result.arguments_ = arguments_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof org.scip_code.scip.ToolInfo) { + return mergeFrom((org.scip_code.scip.ToolInfo)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(org.scip_code.scip.ToolInfo other) { + if (other == org.scip_code.scip.ToolInfo.getDefaultInstance()) return this; + if (!other.getName().isEmpty()) { + name_ = other.name_; + bitField0_ |= 0x00000001; + onChanged(); + } + if (!other.getVersion().isEmpty()) { + version_ = other.version_; + bitField0_ |= 0x00000002; + onChanged(); + } + if (!other.arguments_.isEmpty()) { + if (arguments_.isEmpty()) { + arguments_ = other.arguments_; + bitField0_ |= 0x00000004; + } else { + ensureArgumentsIsMutable(); + arguments_.addAll(other.arguments_); + } + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + 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 { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + name_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 18: { + version_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000002; + break; + } // case 18 + case 26: { + java.lang.String s = input.readStringRequireUtf8(); + ensureArgumentsIsMutable(); + arguments_.add(s); + break; + } // case 26 + default: { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + private int bitField0_; + + private java.lang.Object name_ = ""; + /** + *
+     * Name of the indexer that produced this index.
+     * 
+ * + * string name = 1 [json_name = "name"]; + * @return The name. + */ + public java.lang.String getName() { + java.lang.Object ref = name_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + name_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + *
+     * Name of the indexer that produced this index.
+     * 
+ * + * string name = 1 [json_name = "name"]; + * @return The bytes for name. + */ + public com.google.protobuf.ByteString + getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + *
+     * Name of the indexer that produced this index.
+     * 
+ * + * string name = 1 [json_name = "name"]; + * @param value The name to set. + * @return This builder for chaining. + */ + public Builder setName( + java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + name_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + /** + *
+     * Name of the indexer that produced this index.
+     * 
+ * + * string name = 1 [json_name = "name"]; + * @return This builder for chaining. + */ + public Builder clearName() { + name_ = getDefaultInstance().getName(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + /** + *
+     * Name of the indexer that produced this index.
+     * 
+ * + * string name = 1 [json_name = "name"]; + * @param value The bytes for name to set. + * @return This builder for chaining. + */ + public Builder setNameBytes( + com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + checkByteStringIsUtf8(value); + name_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private java.lang.Object version_ = ""; + /** + *
+     * Version of the indexer that produced this index.
+     * 
+ * + * string version = 2 [json_name = "version"]; + * @return The version. + */ + public java.lang.String getVersion() { + java.lang.Object ref = version_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + version_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + *
+     * Version of the indexer that produced this index.
+     * 
+ * + * string version = 2 [json_name = "version"]; + * @return The bytes for version. + */ + public com.google.protobuf.ByteString + getVersionBytes() { + java.lang.Object ref = version_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + version_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + *
+     * Version of the indexer that produced this index.
+     * 
+ * + * string version = 2 [json_name = "version"]; + * @param value The version to set. + * @return This builder for chaining. + */ + public Builder setVersion( + java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + version_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + /** + *
+     * Version of the indexer that produced this index.
+     * 
+ * + * string version = 2 [json_name = "version"]; + * @return This builder for chaining. + */ + public Builder clearVersion() { + version_ = getDefaultInstance().getVersion(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + /** + *
+     * Version of the indexer that produced this index.
+     * 
+ * + * string version = 2 [json_name = "version"]; + * @param value The bytes for version to set. + * @return This builder for chaining. + */ + public Builder setVersionBytes( + com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + checkByteStringIsUtf8(value); + version_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + private com.google.protobuf.LazyStringArrayList arguments_ = + com.google.protobuf.LazyStringArrayList.emptyList(); + private void ensureArgumentsIsMutable() { + if (!arguments_.isModifiable()) { + arguments_ = new com.google.protobuf.LazyStringArrayList(arguments_); + } + bitField0_ |= 0x00000004; + } + /** + *
+     * Command-line arguments that were used to invoke this indexer.
+     * 
+ * + * repeated string arguments = 3 [json_name = "arguments"]; + * @return A list containing the arguments. + */ + public com.google.protobuf.ProtocolStringList + getArgumentsList() { + arguments_.makeImmutable(); + return arguments_; + } + /** + *
+     * Command-line arguments that were used to invoke this indexer.
+     * 
+ * + * repeated string arguments = 3 [json_name = "arguments"]; + * @return The count of arguments. + */ + public int getArgumentsCount() { + return arguments_.size(); + } + /** + *
+     * Command-line arguments that were used to invoke this indexer.
+     * 
+ * + * repeated string arguments = 3 [json_name = "arguments"]; + * @param index The index of the element to return. + * @return The arguments at the given index. + */ + public java.lang.String getArguments(int index) { + return arguments_.get(index); + } + /** + *
+     * Command-line arguments that were used to invoke this indexer.
+     * 
+ * + * repeated string arguments = 3 [json_name = "arguments"]; + * @param index The index of the value to return. + * @return The bytes of the arguments at the given index. + */ + public com.google.protobuf.ByteString + getArgumentsBytes(int index) { + return arguments_.getByteString(index); + } + /** + *
+     * Command-line arguments that were used to invoke this indexer.
+     * 
+ * + * repeated string arguments = 3 [json_name = "arguments"]; + * @param index The index to set the value at. + * @param value The arguments to set. + * @return This builder for chaining. + */ + public Builder setArguments( + int index, java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + ensureArgumentsIsMutable(); + arguments_.set(index, value); + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + /** + *
+     * Command-line arguments that were used to invoke this indexer.
+     * 
+ * + * repeated string arguments = 3 [json_name = "arguments"]; + * @param value The arguments to add. + * @return This builder for chaining. + */ + public Builder addArguments( + java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + ensureArgumentsIsMutable(); + arguments_.add(value); + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + /** + *
+     * Command-line arguments that were used to invoke this indexer.
+     * 
+ * + * repeated string arguments = 3 [json_name = "arguments"]; + * @param values The arguments to add. + * @return This builder for chaining. + */ + public Builder addAllArguments( + java.lang.Iterable values) { + ensureArgumentsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, arguments_); + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + /** + *
+     * Command-line arguments that were used to invoke this indexer.
+     * 
+ * + * repeated string arguments = 3 [json_name = "arguments"]; + * @return This builder for chaining. + */ + public Builder clearArguments() { + arguments_ = + com.google.protobuf.LazyStringArrayList.emptyList(); + bitField0_ = (bitField0_ & ~0x00000004);; + onChanged(); + return this; + } + /** + *
+     * Command-line arguments that were used to invoke this indexer.
+     * 
+ * + * repeated string arguments = 3 [json_name = "arguments"]; + * @param value The bytes of the arguments to add. + * @return This builder for chaining. + */ + public Builder addArgumentsBytes( + com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + checkByteStringIsUtf8(value); + ensureArgumentsIsMutable(); + arguments_.add(value); + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:scip.ToolInfo) + } + + // @@protoc_insertion_point(class_scope:scip.ToolInfo) + private static final org.scip_code.scip.ToolInfo DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new org.scip_code.scip.ToolInfo(); + } + + public static org.scip_code.scip.ToolInfo getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public ToolInfo parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public org.scip_code.scip.ToolInfo getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + +} + diff --git a/bindings/kotlin/src/main/java/org/scip_code/scip/ToolInfoOrBuilder.java b/bindings/kotlin/src/main/java/org/scip_code/scip/ToolInfoOrBuilder.java new file mode 100644 index 00000000..e74585f0 --- /dev/null +++ b/bindings/kotlin/src/main/java/org/scip_code/scip/ToolInfoOrBuilder.java @@ -0,0 +1,93 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: scip.proto +// Protobuf Java Version: 4.32.1 + +package org.scip_code.scip; + +@com.google.protobuf.Generated +public interface ToolInfoOrBuilder extends + // @@protoc_insertion_point(interface_extends:scip.ToolInfo) + com.google.protobuf.MessageOrBuilder { + + /** + *
+   * Name of the indexer that produced this index.
+   * 
+ * + * string name = 1 [json_name = "name"]; + * @return The name. + */ + java.lang.String getName(); + /** + *
+   * Name of the indexer that produced this index.
+   * 
+ * + * string name = 1 [json_name = "name"]; + * @return The bytes for name. + */ + com.google.protobuf.ByteString + getNameBytes(); + + /** + *
+   * Version of the indexer that produced this index.
+   * 
+ * + * string version = 2 [json_name = "version"]; + * @return The version. + */ + java.lang.String getVersion(); + /** + *
+   * Version of the indexer that produced this index.
+   * 
+ * + * string version = 2 [json_name = "version"]; + * @return The bytes for version. + */ + com.google.protobuf.ByteString + getVersionBytes(); + + /** + *
+   * Command-line arguments that were used to invoke this indexer.
+   * 
+ * + * repeated string arguments = 3 [json_name = "arguments"]; + * @return A list containing the arguments. + */ + java.util.List + getArgumentsList(); + /** + *
+   * Command-line arguments that were used to invoke this indexer.
+   * 
+ * + * repeated string arguments = 3 [json_name = "arguments"]; + * @return The count of arguments. + */ + int getArgumentsCount(); + /** + *
+   * Command-line arguments that were used to invoke this indexer.
+   * 
+ * + * repeated string arguments = 3 [json_name = "arguments"]; + * @param index The index of the element to return. + * @return The arguments at the given index. + */ + java.lang.String getArguments(int index); + /** + *
+   * Command-line arguments that were used to invoke this indexer.
+   * 
+ * + * repeated string arguments = 3 [json_name = "arguments"]; + * @param index The index of the value to return. + * @return The bytes of the arguments at the given index. + */ + com.google.protobuf.ByteString + getArgumentsBytes(int index); +} diff --git a/bindings/kotlin/src/main/java/scip/Scip.java b/bindings/kotlin/src/main/java/scip/Scip.java deleted file mode 100644 index 325c4701..00000000 --- a/bindings/kotlin/src/main/java/scip/Scip.java +++ /dev/null @@ -1,23170 +0,0 @@ -// Generated by the protocol buffer compiler. DO NOT EDIT! -// NO CHECKED-IN PROTOBUF GENCODE -// source: scip.proto -// Protobuf Java Version: 4.32.1 - -package scip; - -@com.google.protobuf.Generated -public final class Scip extends com.google.protobuf.GeneratedFile { - private Scip() {} - static { - com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( - com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, - /* major= */ 4, - /* minor= */ 32, - /* patch= */ 1, - /* suffix= */ "", - Scip.class.getName()); - } - 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 scip.ProtocolVersion} - */ - public enum ProtocolVersion - implements com.google.protobuf.ProtocolMessageEnum { - /** - * UnspecifiedProtocolVersion = 0; - */ - UnspecifiedProtocolVersion(0), - UNRECOGNIZED(-1), - ; - - static { - com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( - com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, - /* major= */ 4, - /* minor= */ 32, - /* patch= */ 1, - /* suffix= */ "", - ProtocolVersion.class.getName()); - } - /** - * UnspecifiedProtocolVersion = 0; - */ - public static final int UnspecifiedProtocolVersion_VALUE = 0; - - - 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 ProtocolVersion 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 ProtocolVersion forNumber(int value) { - switch (value) { - case 0: return UnspecifiedProtocolVersion; - default: return null; - } - } - - public static com.google.protobuf.Internal.EnumLiteMap - internalGetValueMap() { - return internalValueMap; - } - private static final com.google.protobuf.Internal.EnumLiteMap< - ProtocolVersion> internalValueMap = - new com.google.protobuf.Internal.EnumLiteMap() { - public ProtocolVersion findValueByNumber(int number) { - return ProtocolVersion.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 com.google.protobuf.Descriptors.EnumDescriptor - getDescriptor() { - return scip.Scip.getDescriptor().getEnumTypes().get(0); - } - - private static final ProtocolVersion[] VALUES = values(); - - public static ProtocolVersion 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 ProtocolVersion(int value) { - this.value = value; - } - - // @@protoc_insertion_point(enum_scope:scip.ProtocolVersion) - } - - /** - * Protobuf enum {@code scip.TextEncoding} - */ - public enum TextEncoding - implements com.google.protobuf.ProtocolMessageEnum { - /** - * UnspecifiedTextEncoding = 0; - */ - UnspecifiedTextEncoding(0), - /** - * UTF8 = 1; - */ - UTF8(1), - /** - * UTF16 = 2; - */ - UTF16(2), - UNRECOGNIZED(-1), - ; - - static { - com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( - com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, - /* major= */ 4, - /* minor= */ 32, - /* patch= */ 1, - /* suffix= */ "", - TextEncoding.class.getName()); - } - /** - * UnspecifiedTextEncoding = 0; - */ - public static final int UnspecifiedTextEncoding_VALUE = 0; - /** - * UTF8 = 1; - */ - public static final int UTF8_VALUE = 1; - /** - * UTF16 = 2; - */ - public static final int UTF16_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 TextEncoding 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 TextEncoding forNumber(int value) { - switch (value) { - case 0: return UnspecifiedTextEncoding; - case 1: return UTF8; - case 2: return UTF16; - default: return null; - } - } - - public static com.google.protobuf.Internal.EnumLiteMap - internalGetValueMap() { - return internalValueMap; - } - private static final com.google.protobuf.Internal.EnumLiteMap< - TextEncoding> internalValueMap = - new com.google.protobuf.Internal.EnumLiteMap() { - public TextEncoding findValueByNumber(int number) { - return TextEncoding.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 com.google.protobuf.Descriptors.EnumDescriptor - getDescriptor() { - return scip.Scip.getDescriptor().getEnumTypes().get(1); - } - - private static final TextEncoding[] VALUES = values(); - - public static TextEncoding 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 TextEncoding(int value) { - this.value = value; - } - - // @@protoc_insertion_point(enum_scope:scip.TextEncoding) - } - - /** - *
-   * Encoding used to interpret the 'character' value in source ranges.
-   * 
- * - * Protobuf enum {@code scip.PositionEncoding} - */ - public enum PositionEncoding - implements com.google.protobuf.ProtocolMessageEnum { - /** - *
-     * Default value. This value should not be used by new SCIP indexers
-     * so that a consumer can process the SCIP index without ambiguity.
-     * 
- * - * UnspecifiedPositionEncoding = 0; - */ - UnspecifiedPositionEncoding(0), - /** - *
-     * The 'character' value is interpreted as an offset in terms
-     * of UTF-8 code units (i.e. bytes).
-     *
-     * Example: For the string "🚀 Woo" in UTF-8, the bytes are
-     * [240, 159, 154, 128, 32, 87, 111, 111], so the offset for 'W'
-     * would be 5.
-     * 
- * - * UTF8CodeUnitOffsetFromLineStart = 1; - */ - UTF8CodeUnitOffsetFromLineStart(1), - /** - *
-     * The 'character' value is interpreted as an offset in terms
-     * of UTF-16 code units (each is 2 bytes).
-     *
-     * Example: For the string "🚀 Woo", the UTF-16 code units are
-     * ['\ud83d', '\ude80', ' ', 'W', 'o', 'o'], so the offset for 'W'
-     * would be 3.
-     * 
- * - * UTF16CodeUnitOffsetFromLineStart = 2; - */ - UTF16CodeUnitOffsetFromLineStart(2), - /** - *
-     * The 'character' value is interpreted as an offset in terms
-     * of UTF-32 code units (each is 4 bytes).
-     *
-     * Example: For the string "🚀 Woo", the UTF-32 code units are
-     * ['🚀', ' ', 'W', 'o', 'o'], so the offset for 'W' would be 2.
-     * 
- * - * UTF32CodeUnitOffsetFromLineStart = 3; - */ - UTF32CodeUnitOffsetFromLineStart(3), - UNRECOGNIZED(-1), - ; - - static { - com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( - com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, - /* major= */ 4, - /* minor= */ 32, - /* patch= */ 1, - /* suffix= */ "", - PositionEncoding.class.getName()); - } - /** - *
-     * Default value. This value should not be used by new SCIP indexers
-     * so that a consumer can process the SCIP index without ambiguity.
-     * 
- * - * UnspecifiedPositionEncoding = 0; - */ - public static final int UnspecifiedPositionEncoding_VALUE = 0; - /** - *
-     * The 'character' value is interpreted as an offset in terms
-     * of UTF-8 code units (i.e. bytes).
-     *
-     * Example: For the string "🚀 Woo" in UTF-8, the bytes are
-     * [240, 159, 154, 128, 32, 87, 111, 111], so the offset for 'W'
-     * would be 5.
-     * 
- * - * UTF8CodeUnitOffsetFromLineStart = 1; - */ - public static final int UTF8CodeUnitOffsetFromLineStart_VALUE = 1; - /** - *
-     * The 'character' value is interpreted as an offset in terms
-     * of UTF-16 code units (each is 2 bytes).
-     *
-     * Example: For the string "🚀 Woo", the UTF-16 code units are
-     * ['\ud83d', '\ude80', ' ', 'W', 'o', 'o'], so the offset for 'W'
-     * would be 3.
-     * 
- * - * UTF16CodeUnitOffsetFromLineStart = 2; - */ - public static final int UTF16CodeUnitOffsetFromLineStart_VALUE = 2; - /** - *
-     * The 'character' value is interpreted as an offset in terms
-     * of UTF-32 code units (each is 4 bytes).
-     *
-     * Example: For the string "🚀 Woo", the UTF-32 code units are
-     * ['🚀', ' ', 'W', 'o', 'o'], so the offset for 'W' would be 2.
-     * 
- * - * UTF32CodeUnitOffsetFromLineStart = 3; - */ - public static final int UTF32CodeUnitOffsetFromLineStart_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 PositionEncoding 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 PositionEncoding forNumber(int value) { - switch (value) { - case 0: return UnspecifiedPositionEncoding; - case 1: return UTF8CodeUnitOffsetFromLineStart; - case 2: return UTF16CodeUnitOffsetFromLineStart; - case 3: return UTF32CodeUnitOffsetFromLineStart; - default: return null; - } - } - - public static com.google.protobuf.Internal.EnumLiteMap - internalGetValueMap() { - return internalValueMap; - } - private static final com.google.protobuf.Internal.EnumLiteMap< - PositionEncoding> internalValueMap = - new com.google.protobuf.Internal.EnumLiteMap() { - public PositionEncoding findValueByNumber(int number) { - return PositionEncoding.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 com.google.protobuf.Descriptors.EnumDescriptor - getDescriptor() { - return scip.Scip.getDescriptor().getEnumTypes().get(2); - } - - private static final PositionEncoding[] VALUES = values(); - - public static PositionEncoding 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 PositionEncoding(int value) { - this.value = value; - } - - // @@protoc_insertion_point(enum_scope:scip.PositionEncoding) - } - - /** - *
-   * SymbolRole declares what "role" a symbol has in an occurrence. A role is
-   * encoded as a bitset where each bit represents a different role. For example,
-   * to determine if the `Import` role is set, test whether the second bit of the
-   * enum value is defined. In pseudocode, this can be implemented with the
-   * logic: `const isImportRole = (role.value & SymbolRole.Import.value) > 0`.
-   * 
- * - * Protobuf enum {@code scip.SymbolRole} - */ - public enum SymbolRole - implements com.google.protobuf.ProtocolMessageEnum { - /** - *
-     * This case is not meant to be used; it only exists to avoid an error
-     * from the Protobuf code generator.
-     * 
- * - * UnspecifiedSymbolRole = 0; - */ - UnspecifiedSymbolRole(0), - /** - *
-     * Is the symbol defined here? If not, then this is a symbol reference.
-     * 
- * - * Definition = 1; - */ - Definition(1), - /** - *
-     * Is the symbol imported here?
-     * 
- * - * Import = 2; - */ - Import(2), - /** - *
-     * Is the symbol written here?
-     * 
- * - * WriteAccess = 4; - */ - WriteAccess(4), - /** - *
-     * Is the symbol read here?
-     * 
- * - * ReadAccess = 8; - */ - ReadAccess(8), - /** - *
-     * Is the symbol in generated code?
-     * 
- * - * Generated = 16; - */ - Generated(16), - /** - *
-     * Is the symbol in test code?
-     * 
- * - * Test = 32; - */ - Test(32), - /** - *
-     * Is this a signature for a symbol that is defined elsewhere?
-     *
-     * Applies to forward declarations for languages like C, C++
-     * and Objective-C, as well as `val` declarations in interface
-     * files in languages like SML and OCaml.
-     * 
- * - * ForwardDefinition = 64; - */ - ForwardDefinition(64), - UNRECOGNIZED(-1), - ; - - static { - com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( - com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, - /* major= */ 4, - /* minor= */ 32, - /* patch= */ 1, - /* suffix= */ "", - SymbolRole.class.getName()); - } - /** - *
-     * This case is not meant to be used; it only exists to avoid an error
-     * from the Protobuf code generator.
-     * 
- * - * UnspecifiedSymbolRole = 0; - */ - public static final int UnspecifiedSymbolRole_VALUE = 0; - /** - *
-     * Is the symbol defined here? If not, then this is a symbol reference.
-     * 
- * - * Definition = 1; - */ - public static final int Definition_VALUE = 1; - /** - *
-     * Is the symbol imported here?
-     * 
- * - * Import = 2; - */ - public static final int Import_VALUE = 2; - /** - *
-     * Is the symbol written here?
-     * 
- * - * WriteAccess = 4; - */ - public static final int WriteAccess_VALUE = 4; - /** - *
-     * Is the symbol read here?
-     * 
- * - * ReadAccess = 8; - */ - public static final int ReadAccess_VALUE = 8; - /** - *
-     * Is the symbol in generated code?
-     * 
- * - * Generated = 16; - */ - public static final int Generated_VALUE = 16; - /** - *
-     * Is the symbol in test code?
-     * 
- * - * Test = 32; - */ - public static final int Test_VALUE = 32; - /** - *
-     * Is this a signature for a symbol that is defined elsewhere?
-     *
-     * Applies to forward declarations for languages like C, C++
-     * and Objective-C, as well as `val` declarations in interface
-     * files in languages like SML and OCaml.
-     * 
- * - * ForwardDefinition = 64; - */ - public static final int ForwardDefinition_VALUE = 64; - - - 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 SymbolRole 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 SymbolRole forNumber(int value) { - switch (value) { - case 0: return UnspecifiedSymbolRole; - case 1: return Definition; - case 2: return Import; - case 4: return WriteAccess; - case 8: return ReadAccess; - case 16: return Generated; - case 32: return Test; - case 64: return ForwardDefinition; - default: return null; - } - } - - public static com.google.protobuf.Internal.EnumLiteMap - internalGetValueMap() { - return internalValueMap; - } - private static final com.google.protobuf.Internal.EnumLiteMap< - SymbolRole> internalValueMap = - new com.google.protobuf.Internal.EnumLiteMap() { - public SymbolRole findValueByNumber(int number) { - return SymbolRole.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 com.google.protobuf.Descriptors.EnumDescriptor - getDescriptor() { - return scip.Scip.getDescriptor().getEnumTypes().get(3); - } - - private static final SymbolRole[] VALUES = values(); - - public static SymbolRole 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 SymbolRole(int value) { - this.value = value; - } - - // @@protoc_insertion_point(enum_scope:scip.SymbolRole) - } - - /** - * Protobuf enum {@code scip.SyntaxKind} - */ - public enum SyntaxKind - implements com.google.protobuf.ProtocolMessageEnum { - /** - * UnspecifiedSyntaxKind = 0; - */ - UnspecifiedSyntaxKind(0, 0), - /** - *
-     * Comment, including comment markers and text
-     * 
- * - * Comment = 1; - */ - Comment(1, 1), - /** - *
-     * `;` `.` `,`
-     * 
- * - * PunctuationDelimiter = 2; - */ - PunctuationDelimiter(2, 2), - /** - *
-     * (), {}, [] when used syntactically
-     * 
- * - * PunctuationBracket = 3; - */ - PunctuationBracket(3, 3), - /** - *
-     * `if`, `else`, `return`, `class`, etc.
-     * 
- * - * Keyword = 4; - */ - Keyword(4, 4), - /** - *
-     * `+`, `*`, etc.
-     * 
- * - * IdentifierOperator = 5; - */ - IdentifierOperator(6, 5), - /** - *
-     * non-specific catch-all for any identifier not better described elsewhere
-     * 
- * - * Identifier = 6; - */ - Identifier(7, 6), - /** - *
-     * Identifiers builtin to the language: `min`, `print` in Python.
-     * 
- * - * IdentifierBuiltin = 7; - */ - IdentifierBuiltin(8, 7), - /** - *
-     * Identifiers representing `null`-like values: `None` in Python, `nil` in Go.
-     * 
- * - * IdentifierNull = 8; - */ - IdentifierNull(9, 8), - /** - *
-     * `xyz` in `const xyz = "hello"`
-     * 
- * - * IdentifierConstant = 9; - */ - IdentifierConstant(10, 9), - /** - *
-     * `var X = "hello"` in Go
-     * 
- * - * IdentifierMutableGlobal = 10; - */ - IdentifierMutableGlobal(11, 10), - /** - *
-     * Parameter definition and references
-     * 
- * - * IdentifierParameter = 11; - */ - IdentifierParameter(12, 11), - /** - *
-     * Identifiers for variable definitions and references within a local scope
-     * 
- * - * IdentifierLocal = 12; - */ - IdentifierLocal(13, 12), - /** - *
-     * Identifiers that shadow other identifiers in an outer scope
-     * 
- * - * IdentifierShadowed = 13; - */ - IdentifierShadowed(14, 13), - /** - *
-     * Identifier representing a unit of code abstraction and/or namespacing.
-     *
-     * NOTE: This corresponds to a package in Go and JVM languages,
-     * and a module in languages like Python and JavaScript.
-     * 
- * - * IdentifierNamespace = 14; - */ - IdentifierNamespace(15, 14), - /** - *
-     * Function references, including calls
-     * 
- * - * IdentifierFunction = 15; - */ - IdentifierFunction(17, 15), - /** - *
-     * Function definition only
-     * 
- * - * IdentifierFunctionDefinition = 16; - */ - IdentifierFunctionDefinition(18, 16), - /** - *
-     * Macro references, including invocations
-     * 
- * - * IdentifierMacro = 17; - */ - IdentifierMacro(19, 17), - /** - *
-     * Macro definition only
-     * 
- * - * IdentifierMacroDefinition = 18; - */ - IdentifierMacroDefinition(20, 18), - /** - *
-     * non-builtin types
-     * 
- * - * IdentifierType = 19; - */ - IdentifierType(21, 19), - /** - *
-     * builtin types only, such as `str` for Python or `int` in Go
-     * 
- * - * IdentifierBuiltinType = 20; - */ - IdentifierBuiltinType(22, 20), - /** - *
-     * Python decorators, c-like __attribute__
-     * 
- * - * IdentifierAttribute = 21; - */ - IdentifierAttribute(23, 21), - /** - *
-     * `\b`
-     * 
- * - * RegexEscape = 22; - */ - RegexEscape(24, 22), - /** - *
-     * `*`, `+`
-     * 
- * - * RegexRepeated = 23; - */ - RegexRepeated(25, 23), - /** - *
-     * `.`
-     * 
- * - * RegexWildcard = 24; - */ - RegexWildcard(26, 24), - /** - *
-     * `(`, `)`, `[`, `]`
-     * 
- * - * RegexDelimiter = 25; - */ - RegexDelimiter(27, 25), - /** - *
-     * `|`, `-`
-     * 
- * - * RegexJoin = 26; - */ - RegexJoin(28, 26), - /** - *
-     * Literal strings: "Hello, world!"
-     * 
- * - * StringLiteral = 27; - */ - StringLiteral(29, 27), - /** - *
-     * non-regex escapes: "\t", "\n"
-     * 
- * - * StringLiteralEscape = 28; - */ - StringLiteralEscape(30, 28), - /** - *
-     * datetimes within strings, special words within a string, `{}` in format strings
-     * 
- * - * StringLiteralSpecial = 29; - */ - StringLiteralSpecial(31, 29), - /** - *
-     * "key" in { "key": "value" }, useful for example in JSON
-     * 
- * - * StringLiteralKey = 30; - */ - StringLiteralKey(32, 30), - /** - *
-     * 'c' or similar, in languages that differentiate strings and characters
-     * 
- * - * CharacterLiteral = 31; - */ - CharacterLiteral(33, 31), - /** - *
-     * Literal numbers, both floats and integers
-     * 
- * - * NumericLiteral = 32; - */ - NumericLiteral(34, 32), - /** - *
-     * `true`, `false`
-     * 
- * - * BooleanLiteral = 33; - */ - BooleanLiteral(35, 33), - /** - *
-     * Used for XML-like tags
-     * 
- * - * Tag = 34; - */ - Tag(36, 34), - /** - *
-     * Attribute name in XML-like tags
-     * 
- * - * TagAttribute = 35; - */ - TagAttribute(37, 35), - /** - *
-     * Delimiters for XML-like tags
-     * 
- * - * TagDelimiter = 36; - */ - TagDelimiter(38, 36), - UNRECOGNIZED(-1, -1), - ; - - static { - com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( - com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, - /* major= */ 4, - /* minor= */ 32, - /* patch= */ 1, - /* suffix= */ "", - SyntaxKind.class.getName()); - } - /** - * IdentifierKeyword = 4 [deprecated = true]; - */ - public static final SyntaxKind IdentifierKeyword = Keyword; - /** - * IdentifierModule = 14 [deprecated = true]; - */ - public static final SyntaxKind IdentifierModule = IdentifierNamespace; - /** - * UnspecifiedSyntaxKind = 0; - */ - public static final int UnspecifiedSyntaxKind_VALUE = 0; - /** - *
-     * Comment, including comment markers and text
-     * 
- * - * Comment = 1; - */ - public static final int Comment_VALUE = 1; - /** - *
-     * `;` `.` `,`
-     * 
- * - * PunctuationDelimiter = 2; - */ - public static final int PunctuationDelimiter_VALUE = 2; - /** - *
-     * (), {}, [] when used syntactically
-     * 
- * - * PunctuationBracket = 3; - */ - public static final int PunctuationBracket_VALUE = 3; - /** - *
-     * `if`, `else`, `return`, `class`, etc.
-     * 
- * - * Keyword = 4; - */ - public static final int Keyword_VALUE = 4; - /** - * IdentifierKeyword = 4 [deprecated = true]; - */ - @java.lang.Deprecated public static final int IdentifierKeyword_VALUE = 4; - /** - *
-     * `+`, `*`, etc.
-     * 
- * - * IdentifierOperator = 5; - */ - public static final int IdentifierOperator_VALUE = 5; - /** - *
-     * non-specific catch-all for any identifier not better described elsewhere
-     * 
- * - * Identifier = 6; - */ - public static final int Identifier_VALUE = 6; - /** - *
-     * Identifiers builtin to the language: `min`, `print` in Python.
-     * 
- * - * IdentifierBuiltin = 7; - */ - public static final int IdentifierBuiltin_VALUE = 7; - /** - *
-     * Identifiers representing `null`-like values: `None` in Python, `nil` in Go.
-     * 
- * - * IdentifierNull = 8; - */ - public static final int IdentifierNull_VALUE = 8; - /** - *
-     * `xyz` in `const xyz = "hello"`
-     * 
- * - * IdentifierConstant = 9; - */ - public static final int IdentifierConstant_VALUE = 9; - /** - *
-     * `var X = "hello"` in Go
-     * 
- * - * IdentifierMutableGlobal = 10; - */ - public static final int IdentifierMutableGlobal_VALUE = 10; - /** - *
-     * Parameter definition and references
-     * 
- * - * IdentifierParameter = 11; - */ - public static final int IdentifierParameter_VALUE = 11; - /** - *
-     * Identifiers for variable definitions and references within a local scope
-     * 
- * - * IdentifierLocal = 12; - */ - public static final int IdentifierLocal_VALUE = 12; - /** - *
-     * Identifiers that shadow other identifiers in an outer scope
-     * 
- * - * IdentifierShadowed = 13; - */ - public static final int IdentifierShadowed_VALUE = 13; - /** - *
-     * Identifier representing a unit of code abstraction and/or namespacing.
-     *
-     * NOTE: This corresponds to a package in Go and JVM languages,
-     * and a module in languages like Python and JavaScript.
-     * 
- * - * IdentifierNamespace = 14; - */ - public static final int IdentifierNamespace_VALUE = 14; - /** - * IdentifierModule = 14 [deprecated = true]; - */ - @java.lang.Deprecated public static final int IdentifierModule_VALUE = 14; - /** - *
-     * Function references, including calls
-     * 
- * - * IdentifierFunction = 15; - */ - public static final int IdentifierFunction_VALUE = 15; - /** - *
-     * Function definition only
-     * 
- * - * IdentifierFunctionDefinition = 16; - */ - public static final int IdentifierFunctionDefinition_VALUE = 16; - /** - *
-     * Macro references, including invocations
-     * 
- * - * IdentifierMacro = 17; - */ - public static final int IdentifierMacro_VALUE = 17; - /** - *
-     * Macro definition only
-     * 
- * - * IdentifierMacroDefinition = 18; - */ - public static final int IdentifierMacroDefinition_VALUE = 18; - /** - *
-     * non-builtin types
-     * 
- * - * IdentifierType = 19; - */ - public static final int IdentifierType_VALUE = 19; - /** - *
-     * builtin types only, such as `str` for Python or `int` in Go
-     * 
- * - * IdentifierBuiltinType = 20; - */ - public static final int IdentifierBuiltinType_VALUE = 20; - /** - *
-     * Python decorators, c-like __attribute__
-     * 
- * - * IdentifierAttribute = 21; - */ - public static final int IdentifierAttribute_VALUE = 21; - /** - *
-     * `\b`
-     * 
- * - * RegexEscape = 22; - */ - public static final int RegexEscape_VALUE = 22; - /** - *
-     * `*`, `+`
-     * 
- * - * RegexRepeated = 23; - */ - public static final int RegexRepeated_VALUE = 23; - /** - *
-     * `.`
-     * 
- * - * RegexWildcard = 24; - */ - public static final int RegexWildcard_VALUE = 24; - /** - *
-     * `(`, `)`, `[`, `]`
-     * 
- * - * RegexDelimiter = 25; - */ - public static final int RegexDelimiter_VALUE = 25; - /** - *
-     * `|`, `-`
-     * 
- * - * RegexJoin = 26; - */ - public static final int RegexJoin_VALUE = 26; - /** - *
-     * Literal strings: "Hello, world!"
-     * 
- * - * StringLiteral = 27; - */ - public static final int StringLiteral_VALUE = 27; - /** - *
-     * non-regex escapes: "\t", "\n"
-     * 
- * - * StringLiteralEscape = 28; - */ - public static final int StringLiteralEscape_VALUE = 28; - /** - *
-     * datetimes within strings, special words within a string, `{}` in format strings
-     * 
- * - * StringLiteralSpecial = 29; - */ - public static final int StringLiteralSpecial_VALUE = 29; - /** - *
-     * "key" in { "key": "value" }, useful for example in JSON
-     * 
- * - * StringLiteralKey = 30; - */ - public static final int StringLiteralKey_VALUE = 30; - /** - *
-     * 'c' or similar, in languages that differentiate strings and characters
-     * 
- * - * CharacterLiteral = 31; - */ - public static final int CharacterLiteral_VALUE = 31; - /** - *
-     * Literal numbers, both floats and integers
-     * 
- * - * NumericLiteral = 32; - */ - public static final int NumericLiteral_VALUE = 32; - /** - *
-     * `true`, `false`
-     * 
- * - * BooleanLiteral = 33; - */ - public static final int BooleanLiteral_VALUE = 33; - /** - *
-     * Used for XML-like tags
-     * 
- * - * Tag = 34; - */ - public static final int Tag_VALUE = 34; - /** - *
-     * Attribute name in XML-like tags
-     * 
- * - * TagAttribute = 35; - */ - public static final int TagAttribute_VALUE = 35; - /** - *
-     * Delimiters for XML-like tags
-     * 
- * - * TagDelimiter = 36; - */ - public static final int TagDelimiter_VALUE = 36; - - - public final int getNumber() { - if (index == -1) { - 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 SyntaxKind 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 SyntaxKind forNumber(int value) { - switch (value) { - case 0: return UnspecifiedSyntaxKind; - case 1: return Comment; - case 2: return PunctuationDelimiter; - case 3: return PunctuationBracket; - case 4: return Keyword; - case 5: return IdentifierOperator; - case 6: return Identifier; - case 7: return IdentifierBuiltin; - case 8: return IdentifierNull; - case 9: return IdentifierConstant; - case 10: return IdentifierMutableGlobal; - case 11: return IdentifierParameter; - case 12: return IdentifierLocal; - case 13: return IdentifierShadowed; - case 14: return IdentifierNamespace; - case 15: return IdentifierFunction; - case 16: return IdentifierFunctionDefinition; - case 17: return IdentifierMacro; - case 18: return IdentifierMacroDefinition; - case 19: return IdentifierType; - case 20: return IdentifierBuiltinType; - case 21: return IdentifierAttribute; - case 22: return RegexEscape; - case 23: return RegexRepeated; - case 24: return RegexWildcard; - case 25: return RegexDelimiter; - case 26: return RegexJoin; - case 27: return StringLiteral; - case 28: return StringLiteralEscape; - case 29: return StringLiteralSpecial; - case 30: return StringLiteralKey; - case 31: return CharacterLiteral; - case 32: return NumericLiteral; - case 33: return BooleanLiteral; - case 34: return Tag; - case 35: return TagAttribute; - case 36: return TagDelimiter; - default: return null; - } - } - - public static com.google.protobuf.Internal.EnumLiteMap - internalGetValueMap() { - return internalValueMap; - } - private static final com.google.protobuf.Internal.EnumLiteMap< - SyntaxKind> internalValueMap = - new com.google.protobuf.Internal.EnumLiteMap() { - public SyntaxKind findValueByNumber(int number) { - return SyntaxKind.forNumber(number); - } - }; - - public final com.google.protobuf.Descriptors.EnumValueDescriptor - getValueDescriptor() { - if (index == -1) { - throw new java.lang.IllegalStateException( - "Can't get the descriptor of an unrecognized enum value."); - } - return getDescriptor().getValues().get(index); - } - public final com.google.protobuf.Descriptors.EnumDescriptor - getDescriptorForType() { - return getDescriptor(); - } - public static com.google.protobuf.Descriptors.EnumDescriptor - getDescriptor() { - return scip.Scip.getDescriptor().getEnumTypes().get(4); - } - - private static final SyntaxKind[] VALUES = getStaticValuesArray(); - private static SyntaxKind[] getStaticValuesArray() { - return new SyntaxKind[] { - UnspecifiedSyntaxKind, Comment, PunctuationDelimiter, PunctuationBracket, Keyword, IdentifierKeyword, IdentifierOperator, Identifier, IdentifierBuiltin, IdentifierNull, IdentifierConstant, IdentifierMutableGlobal, IdentifierParameter, IdentifierLocal, IdentifierShadowed, IdentifierNamespace, IdentifierModule, IdentifierFunction, IdentifierFunctionDefinition, IdentifierMacro, IdentifierMacroDefinition, IdentifierType, IdentifierBuiltinType, IdentifierAttribute, RegexEscape, RegexRepeated, RegexWildcard, RegexDelimiter, RegexJoin, StringLiteral, StringLiteralEscape, StringLiteralSpecial, StringLiteralKey, CharacterLiteral, NumericLiteral, BooleanLiteral, Tag, TagAttribute, TagDelimiter, - }; - } - public static SyntaxKind 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 index; - private final int value; - - private SyntaxKind(int index, int value) { - this.index = index; - this.value = value; - } - - // @@protoc_insertion_point(enum_scope:scip.SyntaxKind) - } - - /** - * Protobuf enum {@code scip.Severity} - */ - public enum Severity - implements com.google.protobuf.ProtocolMessageEnum { - /** - * UnspecifiedSeverity = 0; - */ - UnspecifiedSeverity(0), - /** - * Error = 1; - */ - Error(1), - /** - * Warning = 2; - */ - Warning(2), - /** - * Information = 3; - */ - Information(3), - /** - * Hint = 4; - */ - Hint(4), - UNRECOGNIZED(-1), - ; - - static { - com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( - com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, - /* major= */ 4, - /* minor= */ 32, - /* patch= */ 1, - /* suffix= */ "", - Severity.class.getName()); - } - /** - * UnspecifiedSeverity = 0; - */ - public static final int UnspecifiedSeverity_VALUE = 0; - /** - * Error = 1; - */ - public static final int Error_VALUE = 1; - /** - * Warning = 2; - */ - public static final int Warning_VALUE = 2; - /** - * Information = 3; - */ - public static final int Information_VALUE = 3; - /** - * Hint = 4; - */ - public static final int Hint_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 Severity 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 Severity forNumber(int value) { - switch (value) { - case 0: return UnspecifiedSeverity; - case 1: return Error; - case 2: return Warning; - case 3: return Information; - case 4: return Hint; - default: return null; - } - } - - public static com.google.protobuf.Internal.EnumLiteMap - internalGetValueMap() { - return internalValueMap; - } - private static final com.google.protobuf.Internal.EnumLiteMap< - Severity> internalValueMap = - new com.google.protobuf.Internal.EnumLiteMap() { - public Severity findValueByNumber(int number) { - return Severity.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 com.google.protobuf.Descriptors.EnumDescriptor - getDescriptor() { - return scip.Scip.getDescriptor().getEnumTypes().get(5); - } - - private static final Severity[] VALUES = values(); - - public static Severity 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 Severity(int value) { - this.value = value; - } - - // @@protoc_insertion_point(enum_scope:scip.Severity) - } - - /** - * Protobuf enum {@code scip.DiagnosticTag} - */ - public enum DiagnosticTag - implements com.google.protobuf.ProtocolMessageEnum { - /** - * UnspecifiedDiagnosticTag = 0; - */ - UnspecifiedDiagnosticTag(0), - /** - * Unnecessary = 1; - */ - Unnecessary(1), - /** - * Deprecated = 2; - */ - Deprecated(2), - UNRECOGNIZED(-1), - ; - - static { - com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( - com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, - /* major= */ 4, - /* minor= */ 32, - /* patch= */ 1, - /* suffix= */ "", - DiagnosticTag.class.getName()); - } - /** - * UnspecifiedDiagnosticTag = 0; - */ - public static final int UnspecifiedDiagnosticTag_VALUE = 0; - /** - * Unnecessary = 1; - */ - public static final int Unnecessary_VALUE = 1; - /** - * Deprecated = 2; - */ - public static final int Deprecated_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 DiagnosticTag 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 DiagnosticTag forNumber(int value) { - switch (value) { - case 0: return UnspecifiedDiagnosticTag; - case 1: return Unnecessary; - case 2: return Deprecated; - default: return null; - } - } - - public static com.google.protobuf.Internal.EnumLiteMap - internalGetValueMap() { - return internalValueMap; - } - private static final com.google.protobuf.Internal.EnumLiteMap< - DiagnosticTag> internalValueMap = - new com.google.protobuf.Internal.EnumLiteMap() { - public DiagnosticTag findValueByNumber(int number) { - return DiagnosticTag.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 com.google.protobuf.Descriptors.EnumDescriptor - getDescriptor() { - return scip.Scip.getDescriptor().getEnumTypes().get(6); - } - - private static final DiagnosticTag[] VALUES = values(); - - public static DiagnosticTag 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 DiagnosticTag(int value) { - this.value = value; - } - - // @@protoc_insertion_point(enum_scope:scip.DiagnosticTag) - } - - /** - *
-   * Language standardises names of common programming languages that can be used
-   * for the `Document.language` field. The primary purpose of this enum is to
-   * prevent a situation where we have a single programming language ends up with
-   * multiple string representations. For example, the C++ language uses the name
-   * "CPP" in this enum and other names such as "cpp" are incompatible.
-   * Feel free to send a pull-request to add missing programming languages.
-   * 
- * - * Protobuf enum {@code scip.Language} - */ - public enum Language - implements com.google.protobuf.ProtocolMessageEnum { - /** - * UnspecifiedLanguage = 0; - */ - UnspecifiedLanguage(0), - /** - * ABAP = 60; - */ - ABAP(60), - /** - * Apex = 96; - */ - Apex(96), - /** - * APL = 49; - */ - APL(49), - /** - * Ada = 39; - */ - Ada(39), - /** - * Agda = 45; - */ - Agda(45), - /** - * AsciiDoc = 86; - */ - AsciiDoc(86), - /** - * Assembly = 58; - */ - Assembly(58), - /** - * Awk = 66; - */ - Awk(66), - /** - * Bat = 68; - */ - Bat(68), - /** - * BibTeX = 81; - */ - BibTeX(81), - /** - * C = 34; - */ - C(34), - /** - * COBOL = 59; - */ - COBOL(59), - /** - *
-     * C++ (the name "CPP" was chosen for consistency with LSP)
-     * 
- * - * CPP = 35; - */ - CPP(35), - /** - * CSS = 26; - */ - CSS(26), - /** - * CSharp = 1; - */ - CSharp(1), - /** - * Clojure = 8; - */ - Clojure(8), - /** - * Coffeescript = 21; - */ - Coffeescript(21), - /** - * CommonLisp = 9; - */ - CommonLisp(9), - /** - * Coq = 47; - */ - Coq(47), - /** - * CUDA = 97; - */ - CUDA(97), - /** - * Dart = 3; - */ - Dart(3), - /** - * Delphi = 57; - */ - Delphi(57), - /** - * Diff = 88; - */ - Diff(88), - /** - * Dockerfile = 80; - */ - Dockerfile(80), - /** - * Dyalog = 50; - */ - Dyalog(50), - /** - * Elixir = 17; - */ - Elixir(17), - /** - * Erlang = 18; - */ - Erlang(18), - /** - * FSharp = 42; - */ - FSharp(42), - /** - * Fish = 65; - */ - Fish(65), - /** - * Flow = 24; - */ - Flow(24), - /** - * Fortran = 56; - */ - Fortran(56), - /** - * Git_Commit = 91; - */ - Git_Commit(91), - /** - * Git_Config = 89; - */ - Git_Config(89), - /** - * Git_Rebase = 92; - */ - Git_Rebase(92), - /** - * Go = 33; - */ - Go(33), - /** - * GraphQL = 98; - */ - GraphQL(98), - /** - * Groovy = 7; - */ - Groovy(7), - /** - * HTML = 30; - */ - HTML(30), - /** - * Hack = 20; - */ - Hack(20), - /** - * Handlebars = 90; - */ - Handlebars(90), - /** - * Haskell = 44; - */ - Haskell(44), - /** - * Idris = 46; - */ - Idris(46), - /** - * Ini = 72; - */ - Ini(72), - /** - * J = 51; - */ - J(51), - /** - * JSON = 75; - */ - JSON(75), - /** - * Java = 6; - */ - Java(6), - /** - * JavaScript = 22; - */ - JavaScript(22), - /** - * JavaScriptReact = 93; - */ - JavaScriptReact(93), - /** - * Jsonnet = 76; - */ - Jsonnet(76), - /** - * Julia = 55; - */ - Julia(55), - /** - * Justfile = 109; - */ - Justfile(109), - /** - * Kotlin = 4; - */ - Kotlin(4), - /** - * LaTeX = 83; - */ - LaTeX(83), - /** - * Lean = 48; - */ - Lean(48), - /** - * Less = 27; - */ - Less(27), - /** - * Lua = 12; - */ - Lua(12), - /** - * Luau = 108; - */ - Luau(108), - /** - * Makefile = 79; - */ - Makefile(79), - /** - * Markdown = 84; - */ - Markdown(84), - /** - * Matlab = 52; - */ - Matlab(52), - /** - *
-     * https://nickel-lang.org/
-     * 
- * - * Nickel = 110; - */ - Nickel(110), - /** - * Nix = 77; - */ - Nix(77), - /** - * OCaml = 41; - */ - OCaml(41), - /** - * Objective_C = 36; - */ - Objective_C(36), - /** - * Objective_CPP = 37; - */ - Objective_CPP(37), - /** - * Pascal = 99; - */ - Pascal(99), - /** - * PHP = 19; - */ - PHP(19), - /** - * PLSQL = 70; - */ - PLSQL(70), - /** - * Perl = 13; - */ - Perl(13), - /** - * PowerShell = 67; - */ - PowerShell(67), - /** - * Prolog = 71; - */ - Prolog(71), - /** - * Protobuf = 100; - */ - Protobuf(100), - /** - * Python = 15; - */ - Python(15), - /** - * R = 54; - */ - R(54), - /** - * Racket = 11; - */ - Racket(11), - /** - * Raku = 14; - */ - Raku(14), - /** - * Razor = 62; - */ - Razor(62), - /** - *
-     * Internal language for testing SCIP
-     * 
- * - * Repro = 102; - */ - Repro(102), - /** - * ReST = 85; - */ - ReST(85), - /** - * Ruby = 16; - */ - Ruby(16), - /** - * Rust = 40; - */ - Rust(40), - /** - * SAS = 61; - */ - SAS(61), - /** - * SCSS = 29; - */ - SCSS(29), - /** - * SML = 43; - */ - SML(43), - /** - * SQL = 69; - */ - SQL(69), - /** - * Sass = 28; - */ - Sass(28), - /** - * Scala = 5; - */ - Scala(5), - /** - * Scheme = 10; - */ - Scheme(10), - /** - *
-     * Bash
-     * 
- * - * ShellScript = 64; - */ - ShellScript(64), - /** - * Skylark = 78; - */ - Skylark(78), - /** - * Slang = 107; - */ - Slang(107), - /** - * Solidity = 95; - */ - Solidity(95), - /** - * Svelte = 106; - */ - Svelte(106), - /** - * Swift = 2; - */ - Swift(2), - /** - * Tcl = 101; - */ - Tcl(101), - /** - * TOML = 73; - */ - TOML(73), - /** - * TeX = 82; - */ - TeX(82), - /** - * Thrift = 103; - */ - Thrift(103), - /** - * TypeScript = 23; - */ - TypeScript(23), - /** - * TypeScriptReact = 94; - */ - TypeScriptReact(94), - /** - * Verilog = 104; - */ - Verilog(104), - /** - * VHDL = 105; - */ - VHDL(105), - /** - * VisualBasic = 63; - */ - VisualBasic(63), - /** - * Vue = 25; - */ - Vue(25), - /** - * Wolfram = 53; - */ - Wolfram(53), - /** - * XML = 31; - */ - XML(31), - /** - * XSL = 32; - */ - XSL(32), - /** - * YAML = 74; - */ - YAML(74), - /** - *
-     * NextLanguage = 111;
-     * Steps add a new language:
-     * 1. Copy-paste the "NextLanguage = N" line above
-     * 2. Increment "NextLanguage = N" to "NextLanguage = N+1"
-     * 3. Replace "NextLanguage = N" with the name of the new language.
-     * 4. Move the new language to the correct line above using alphabetical order
-     * 5. (optional) Add a brief comment behind the language if the name is not self-explanatory
-     * 
- * - * Zig = 38; - */ - Zig(38), - UNRECOGNIZED(-1), - ; - - static { - com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( - com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, - /* major= */ 4, - /* minor= */ 32, - /* patch= */ 1, - /* suffix= */ "", - Language.class.getName()); - } - /** - * UnspecifiedLanguage = 0; - */ - public static final int UnspecifiedLanguage_VALUE = 0; - /** - * ABAP = 60; - */ - public static final int ABAP_VALUE = 60; - /** - * Apex = 96; - */ - public static final int Apex_VALUE = 96; - /** - * APL = 49; - */ - public static final int APL_VALUE = 49; - /** - * Ada = 39; - */ - public static final int Ada_VALUE = 39; - /** - * Agda = 45; - */ - public static final int Agda_VALUE = 45; - /** - * AsciiDoc = 86; - */ - public static final int AsciiDoc_VALUE = 86; - /** - * Assembly = 58; - */ - public static final int Assembly_VALUE = 58; - /** - * Awk = 66; - */ - public static final int Awk_VALUE = 66; - /** - * Bat = 68; - */ - public static final int Bat_VALUE = 68; - /** - * BibTeX = 81; - */ - public static final int BibTeX_VALUE = 81; - /** - * C = 34; - */ - public static final int C_VALUE = 34; - /** - * COBOL = 59; - */ - public static final int COBOL_VALUE = 59; - /** - *
-     * C++ (the name "CPP" was chosen for consistency with LSP)
-     * 
- * - * CPP = 35; - */ - public static final int CPP_VALUE = 35; - /** - * CSS = 26; - */ - public static final int CSS_VALUE = 26; - /** - * CSharp = 1; - */ - public static final int CSharp_VALUE = 1; - /** - * Clojure = 8; - */ - public static final int Clojure_VALUE = 8; - /** - * Coffeescript = 21; - */ - public static final int Coffeescript_VALUE = 21; - /** - * CommonLisp = 9; - */ - public static final int CommonLisp_VALUE = 9; - /** - * Coq = 47; - */ - public static final int Coq_VALUE = 47; - /** - * CUDA = 97; - */ - public static final int CUDA_VALUE = 97; - /** - * Dart = 3; - */ - public static final int Dart_VALUE = 3; - /** - * Delphi = 57; - */ - public static final int Delphi_VALUE = 57; - /** - * Diff = 88; - */ - public static final int Diff_VALUE = 88; - /** - * Dockerfile = 80; - */ - public static final int Dockerfile_VALUE = 80; - /** - * Dyalog = 50; - */ - public static final int Dyalog_VALUE = 50; - /** - * Elixir = 17; - */ - public static final int Elixir_VALUE = 17; - /** - * Erlang = 18; - */ - public static final int Erlang_VALUE = 18; - /** - * FSharp = 42; - */ - public static final int FSharp_VALUE = 42; - /** - * Fish = 65; - */ - public static final int Fish_VALUE = 65; - /** - * Flow = 24; - */ - public static final int Flow_VALUE = 24; - /** - * Fortran = 56; - */ - public static final int Fortran_VALUE = 56; - /** - * Git_Commit = 91; - */ - public static final int Git_Commit_VALUE = 91; - /** - * Git_Config = 89; - */ - public static final int Git_Config_VALUE = 89; - /** - * Git_Rebase = 92; - */ - public static final int Git_Rebase_VALUE = 92; - /** - * Go = 33; - */ - public static final int Go_VALUE = 33; - /** - * GraphQL = 98; - */ - public static final int GraphQL_VALUE = 98; - /** - * Groovy = 7; - */ - public static final int Groovy_VALUE = 7; - /** - * HTML = 30; - */ - public static final int HTML_VALUE = 30; - /** - * Hack = 20; - */ - public static final int Hack_VALUE = 20; - /** - * Handlebars = 90; - */ - public static final int Handlebars_VALUE = 90; - /** - * Haskell = 44; - */ - public static final int Haskell_VALUE = 44; - /** - * Idris = 46; - */ - public static final int Idris_VALUE = 46; - /** - * Ini = 72; - */ - public static final int Ini_VALUE = 72; - /** - * J = 51; - */ - public static final int J_VALUE = 51; - /** - * JSON = 75; - */ - public static final int JSON_VALUE = 75; - /** - * Java = 6; - */ - public static final int Java_VALUE = 6; - /** - * JavaScript = 22; - */ - public static final int JavaScript_VALUE = 22; - /** - * JavaScriptReact = 93; - */ - public static final int JavaScriptReact_VALUE = 93; - /** - * Jsonnet = 76; - */ - public static final int Jsonnet_VALUE = 76; - /** - * Julia = 55; - */ - public static final int Julia_VALUE = 55; - /** - * Justfile = 109; - */ - public static final int Justfile_VALUE = 109; - /** - * Kotlin = 4; - */ - public static final int Kotlin_VALUE = 4; - /** - * LaTeX = 83; - */ - public static final int LaTeX_VALUE = 83; - /** - * Lean = 48; - */ - public static final int Lean_VALUE = 48; - /** - * Less = 27; - */ - public static final int Less_VALUE = 27; - /** - * Lua = 12; - */ - public static final int Lua_VALUE = 12; - /** - * Luau = 108; - */ - public static final int Luau_VALUE = 108; - /** - * Makefile = 79; - */ - public static final int Makefile_VALUE = 79; - /** - * Markdown = 84; - */ - public static final int Markdown_VALUE = 84; - /** - * Matlab = 52; - */ - public static final int Matlab_VALUE = 52; - /** - *
-     * https://nickel-lang.org/
-     * 
- * - * Nickel = 110; - */ - public static final int Nickel_VALUE = 110; - /** - * Nix = 77; - */ - public static final int Nix_VALUE = 77; - /** - * OCaml = 41; - */ - public static final int OCaml_VALUE = 41; - /** - * Objective_C = 36; - */ - public static final int Objective_C_VALUE = 36; - /** - * Objective_CPP = 37; - */ - public static final int Objective_CPP_VALUE = 37; - /** - * Pascal = 99; - */ - public static final int Pascal_VALUE = 99; - /** - * PHP = 19; - */ - public static final int PHP_VALUE = 19; - /** - * PLSQL = 70; - */ - public static final int PLSQL_VALUE = 70; - /** - * Perl = 13; - */ - public static final int Perl_VALUE = 13; - /** - * PowerShell = 67; - */ - public static final int PowerShell_VALUE = 67; - /** - * Prolog = 71; - */ - public static final int Prolog_VALUE = 71; - /** - * Protobuf = 100; - */ - public static final int Protobuf_VALUE = 100; - /** - * Python = 15; - */ - public static final int Python_VALUE = 15; - /** - * R = 54; - */ - public static final int R_VALUE = 54; - /** - * Racket = 11; - */ - public static final int Racket_VALUE = 11; - /** - * Raku = 14; - */ - public static final int Raku_VALUE = 14; - /** - * Razor = 62; - */ - public static final int Razor_VALUE = 62; - /** - *
-     * Internal language for testing SCIP
-     * 
- * - * Repro = 102; - */ - public static final int Repro_VALUE = 102; - /** - * ReST = 85; - */ - public static final int ReST_VALUE = 85; - /** - * Ruby = 16; - */ - public static final int Ruby_VALUE = 16; - /** - * Rust = 40; - */ - public static final int Rust_VALUE = 40; - /** - * SAS = 61; - */ - public static final int SAS_VALUE = 61; - /** - * SCSS = 29; - */ - public static final int SCSS_VALUE = 29; - /** - * SML = 43; - */ - public static final int SML_VALUE = 43; - /** - * SQL = 69; - */ - public static final int SQL_VALUE = 69; - /** - * Sass = 28; - */ - public static final int Sass_VALUE = 28; - /** - * Scala = 5; - */ - public static final int Scala_VALUE = 5; - /** - * Scheme = 10; - */ - public static final int Scheme_VALUE = 10; - /** - *
-     * Bash
-     * 
- * - * ShellScript = 64; - */ - public static final int ShellScript_VALUE = 64; - /** - * Skylark = 78; - */ - public static final int Skylark_VALUE = 78; - /** - * Slang = 107; - */ - public static final int Slang_VALUE = 107; - /** - * Solidity = 95; - */ - public static final int Solidity_VALUE = 95; - /** - * Svelte = 106; - */ - public static final int Svelte_VALUE = 106; - /** - * Swift = 2; - */ - public static final int Swift_VALUE = 2; - /** - * Tcl = 101; - */ - public static final int Tcl_VALUE = 101; - /** - * TOML = 73; - */ - public static final int TOML_VALUE = 73; - /** - * TeX = 82; - */ - public static final int TeX_VALUE = 82; - /** - * Thrift = 103; - */ - public static final int Thrift_VALUE = 103; - /** - * TypeScript = 23; - */ - public static final int TypeScript_VALUE = 23; - /** - * TypeScriptReact = 94; - */ - public static final int TypeScriptReact_VALUE = 94; - /** - * Verilog = 104; - */ - public static final int Verilog_VALUE = 104; - /** - * VHDL = 105; - */ - public static final int VHDL_VALUE = 105; - /** - * VisualBasic = 63; - */ - public static final int VisualBasic_VALUE = 63; - /** - * Vue = 25; - */ - public static final int Vue_VALUE = 25; - /** - * Wolfram = 53; - */ - public static final int Wolfram_VALUE = 53; - /** - * XML = 31; - */ - public static final int XML_VALUE = 31; - /** - * XSL = 32; - */ - public static final int XSL_VALUE = 32; - /** - * YAML = 74; - */ - public static final int YAML_VALUE = 74; - /** - *
-     * NextLanguage = 111;
-     * Steps add a new language:
-     * 1. Copy-paste the "NextLanguage = N" line above
-     * 2. Increment "NextLanguage = N" to "NextLanguage = N+1"
-     * 3. Replace "NextLanguage = N" with the name of the new language.
-     * 4. Move the new language to the correct line above using alphabetical order
-     * 5. (optional) Add a brief comment behind the language if the name is not self-explanatory
-     * 
- * - * Zig = 38; - */ - public static final int Zig_VALUE = 38; - - - 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 UnspecifiedLanguage; - case 60: return ABAP; - case 96: return Apex; - case 49: return APL; - case 39: return Ada; - case 45: return Agda; - case 86: return AsciiDoc; - case 58: return Assembly; - case 66: return Awk; - case 68: return Bat; - case 81: return BibTeX; - case 34: return C; - case 59: return COBOL; - case 35: return CPP; - case 26: return CSS; - case 1: return CSharp; - case 8: return Clojure; - case 21: return Coffeescript; - case 9: return CommonLisp; - case 47: return Coq; - case 97: return CUDA; - case 3: return Dart; - case 57: return Delphi; - case 88: return Diff; - case 80: return Dockerfile; - case 50: return Dyalog; - case 17: return Elixir; - case 18: return Erlang; - case 42: return FSharp; - case 65: return Fish; - case 24: return Flow; - case 56: return Fortran; - case 91: return Git_Commit; - case 89: return Git_Config; - case 92: return Git_Rebase; - case 33: return Go; - case 98: return GraphQL; - case 7: return Groovy; - case 30: return HTML; - case 20: return Hack; - case 90: return Handlebars; - case 44: return Haskell; - case 46: return Idris; - case 72: return Ini; - case 51: return J; - case 75: return JSON; - case 6: return Java; - case 22: return JavaScript; - case 93: return JavaScriptReact; - case 76: return Jsonnet; - case 55: return Julia; - case 109: return Justfile; - case 4: return Kotlin; - case 83: return LaTeX; - case 48: return Lean; - case 27: return Less; - case 12: return Lua; - case 108: return Luau; - case 79: return Makefile; - case 84: return Markdown; - case 52: return Matlab; - case 110: return Nickel; - case 77: return Nix; - case 41: return OCaml; - case 36: return Objective_C; - case 37: return Objective_CPP; - case 99: return Pascal; - case 19: return PHP; - case 70: return PLSQL; - case 13: return Perl; - case 67: return PowerShell; - case 71: return Prolog; - case 100: return Protobuf; - case 15: return Python; - case 54: return R; - case 11: return Racket; - case 14: return Raku; - case 62: return Razor; - case 102: return Repro; - case 85: return ReST; - case 16: return Ruby; - case 40: return Rust; - case 61: return SAS; - case 29: return SCSS; - case 43: return SML; - case 69: return SQL; - case 28: return Sass; - case 5: return Scala; - case 10: return Scheme; - case 64: return ShellScript; - case 78: return Skylark; - case 107: return Slang; - case 95: return Solidity; - case 106: return Svelte; - case 2: return Swift; - case 101: return Tcl; - case 73: return TOML; - case 82: return TeX; - case 103: return Thrift; - case 23: return TypeScript; - case 94: return TypeScriptReact; - case 104: return Verilog; - case 105: return VHDL; - case 63: return VisualBasic; - case 25: return Vue; - case 53: return Wolfram; - case 31: return XML; - case 32: return XSL; - case 74: return YAML; - case 38: return Zig; - 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 com.google.protobuf.Descriptors.EnumDescriptor - getDescriptor() { - return scip.Scip.getDescriptor().getEnumTypes().get(7); - } - - 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:scip.Language) - } - - public interface IndexOrBuilder extends - // @@protoc_insertion_point(interface_extends:scip.Index) - com.google.protobuf.MessageOrBuilder { - - /** - *
-     * Metadata about this index.
-     * 
- * - * .scip.Metadata metadata = 1 [json_name = "metadata"]; - * @return Whether the metadata field is set. - */ - boolean hasMetadata(); - /** - *
-     * Metadata about this index.
-     * 
- * - * .scip.Metadata metadata = 1 [json_name = "metadata"]; - * @return The metadata. - */ - scip.Scip.Metadata getMetadata(); - /** - *
-     * Metadata about this index.
-     * 
- * - * .scip.Metadata metadata = 1 [json_name = "metadata"]; - */ - scip.Scip.MetadataOrBuilder getMetadataOrBuilder(); - - /** - *
-     * Documents that belong to this index.
-     * 
- * - * repeated .scip.Document documents = 2 [json_name = "documents"]; - */ - java.util.List - getDocumentsList(); - /** - *
-     * Documents that belong to this index.
-     * 
- * - * repeated .scip.Document documents = 2 [json_name = "documents"]; - */ - scip.Scip.Document getDocuments(int index); - /** - *
-     * Documents that belong to this index.
-     * 
- * - * repeated .scip.Document documents = 2 [json_name = "documents"]; - */ - int getDocumentsCount(); - /** - *
-     * Documents that belong to this index.
-     * 
- * - * repeated .scip.Document documents = 2 [json_name = "documents"]; - */ - java.util.List - getDocumentsOrBuilderList(); - /** - *
-     * Documents that belong to this index.
-     * 
- * - * repeated .scip.Document documents = 2 [json_name = "documents"]; - */ - scip.Scip.DocumentOrBuilder getDocumentsOrBuilder( - int index); - - /** - *
-     * (optional) Symbols that are referenced from this index but are defined in
-     * an external package (a separate `Index` message). Leave this field empty
-     * if you assume the external package will get indexed separately. If the
-     * external package won't get indexed for some reason then you can use this
-     * field to provide hover documentation for those external symbols.
-     * 
- * - * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; - */ - java.util.List - getExternalSymbolsList(); - /** - *
-     * (optional) Symbols that are referenced from this index but are defined in
-     * an external package (a separate `Index` message). Leave this field empty
-     * if you assume the external package will get indexed separately. If the
-     * external package won't get indexed for some reason then you can use this
-     * field to provide hover documentation for those external symbols.
-     * 
- * - * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; - */ - scip.Scip.SymbolInformation getExternalSymbols(int index); - /** - *
-     * (optional) Symbols that are referenced from this index but are defined in
-     * an external package (a separate `Index` message). Leave this field empty
-     * if you assume the external package will get indexed separately. If the
-     * external package won't get indexed for some reason then you can use this
-     * field to provide hover documentation for those external symbols.
-     * 
- * - * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; - */ - int getExternalSymbolsCount(); - /** - *
-     * (optional) Symbols that are referenced from this index but are defined in
-     * an external package (a separate `Index` message). Leave this field empty
-     * if you assume the external package will get indexed separately. If the
-     * external package won't get indexed for some reason then you can use this
-     * field to provide hover documentation for those external symbols.
-     * 
- * - * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; - */ - java.util.List - getExternalSymbolsOrBuilderList(); - /** - *
-     * (optional) Symbols that are referenced from this index but are defined in
-     * an external package (a separate `Index` message). Leave this field empty
-     * if you assume the external package will get indexed separately. If the
-     * external package won't get indexed for some reason then you can use this
-     * field to provide hover documentation for those external symbols.
-     * 
- * - * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; - */ - scip.Scip.SymbolInformationOrBuilder getExternalSymbolsOrBuilder( - int index); - } - /** - *
-   * Index represents a complete SCIP index for a workspace this is rooted at a
-   * single directory. An Index message payload can have a large memory footprint
-   * and it's therefore recommended to emit and consume an Index payload one field
-   * value at a time. To permit streaming consumption of an Index payload, the
-   * `metadata` field must appear at the start of the stream and must only appear
-   * once in the stream. Other field values may appear in any order.
-   * 
- * - * Protobuf type {@code scip.Index} - */ - public static final class Index extends - com.google.protobuf.GeneratedMessage implements - // @@protoc_insertion_point(message_implements:scip.Index) - IndexOrBuilder { - private static final long serialVersionUID = 0L; - static { - com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( - com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, - /* major= */ 4, - /* minor= */ 32, - /* patch= */ 1, - /* suffix= */ "", - Index.class.getName()); - } - // Use Index.newBuilder() to construct. - private Index(com.google.protobuf.GeneratedMessage.Builder builder) { - super(builder); - } - private Index() { - documents_ = java.util.Collections.emptyList(); - externalSymbols_ = java.util.Collections.emptyList(); - } - - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return scip.Scip.internal_static_scip_Index_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessage.FieldAccessorTable - internalGetFieldAccessorTable() { - return scip.Scip.internal_static_scip_Index_fieldAccessorTable - .ensureFieldAccessorsInitialized( - scip.Scip.Index.class, scip.Scip.Index.Builder.class); - } - - private int bitField0_; - public static final int METADATA_FIELD_NUMBER = 1; - private scip.Scip.Metadata metadata_; - /** - *
-     * Metadata about this index.
-     * 
- * - * .scip.Metadata metadata = 1 [json_name = "metadata"]; - * @return Whether the metadata field is set. - */ - @java.lang.Override - public boolean hasMetadata() { - return ((bitField0_ & 0x00000001) != 0); - } - /** - *
-     * Metadata about this index.
-     * 
- * - * .scip.Metadata metadata = 1 [json_name = "metadata"]; - * @return The metadata. - */ - @java.lang.Override - public scip.Scip.Metadata getMetadata() { - return metadata_ == null ? scip.Scip.Metadata.getDefaultInstance() : metadata_; - } - /** - *
-     * Metadata about this index.
-     * 
- * - * .scip.Metadata metadata = 1 [json_name = "metadata"]; - */ - @java.lang.Override - public scip.Scip.MetadataOrBuilder getMetadataOrBuilder() { - return metadata_ == null ? scip.Scip.Metadata.getDefaultInstance() : metadata_; - } - - public static final int DOCUMENTS_FIELD_NUMBER = 2; - @SuppressWarnings("serial") - private java.util.List documents_; - /** - *
-     * Documents that belong to this index.
-     * 
- * - * repeated .scip.Document documents = 2 [json_name = "documents"]; - */ - @java.lang.Override - public java.util.List getDocumentsList() { - return documents_; - } - /** - *
-     * Documents that belong to this index.
-     * 
- * - * repeated .scip.Document documents = 2 [json_name = "documents"]; - */ - @java.lang.Override - public java.util.List - getDocumentsOrBuilderList() { - return documents_; - } - /** - *
-     * Documents that belong to this index.
-     * 
- * - * repeated .scip.Document documents = 2 [json_name = "documents"]; - */ - @java.lang.Override - public int getDocumentsCount() { - return documents_.size(); - } - /** - *
-     * Documents that belong to this index.
-     * 
- * - * repeated .scip.Document documents = 2 [json_name = "documents"]; - */ - @java.lang.Override - public scip.Scip.Document getDocuments(int index) { - return documents_.get(index); - } - /** - *
-     * Documents that belong to this index.
-     * 
- * - * repeated .scip.Document documents = 2 [json_name = "documents"]; - */ - @java.lang.Override - public scip.Scip.DocumentOrBuilder getDocumentsOrBuilder( - int index) { - return documents_.get(index); - } - - public static final int EXTERNAL_SYMBOLS_FIELD_NUMBER = 3; - @SuppressWarnings("serial") - private java.util.List externalSymbols_; - /** - *
-     * (optional) Symbols that are referenced from this index but are defined in
-     * an external package (a separate `Index` message). Leave this field empty
-     * if you assume the external package will get indexed separately. If the
-     * external package won't get indexed for some reason then you can use this
-     * field to provide hover documentation for those external symbols.
-     * 
- * - * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; - */ - @java.lang.Override - public java.util.List getExternalSymbolsList() { - return externalSymbols_; - } - /** - *
-     * (optional) Symbols that are referenced from this index but are defined in
-     * an external package (a separate `Index` message). Leave this field empty
-     * if you assume the external package will get indexed separately. If the
-     * external package won't get indexed for some reason then you can use this
-     * field to provide hover documentation for those external symbols.
-     * 
- * - * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; - */ - @java.lang.Override - public java.util.List - getExternalSymbolsOrBuilderList() { - return externalSymbols_; - } - /** - *
-     * (optional) Symbols that are referenced from this index but are defined in
-     * an external package (a separate `Index` message). Leave this field empty
-     * if you assume the external package will get indexed separately. If the
-     * external package won't get indexed for some reason then you can use this
-     * field to provide hover documentation for those external symbols.
-     * 
- * - * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; - */ - @java.lang.Override - public int getExternalSymbolsCount() { - return externalSymbols_.size(); - } - /** - *
-     * (optional) Symbols that are referenced from this index but are defined in
-     * an external package (a separate `Index` message). Leave this field empty
-     * if you assume the external package will get indexed separately. If the
-     * external package won't get indexed for some reason then you can use this
-     * field to provide hover documentation for those external symbols.
-     * 
- * - * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; - */ - @java.lang.Override - public scip.Scip.SymbolInformation getExternalSymbols(int index) { - return externalSymbols_.get(index); - } - /** - *
-     * (optional) Symbols that are referenced from this index but are defined in
-     * an external package (a separate `Index` message). Leave this field empty
-     * if you assume the external package will get indexed separately. If the
-     * external package won't get indexed for some reason then you can use this
-     * field to provide hover documentation for those external symbols.
-     * 
- * - * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; - */ - @java.lang.Override - public scip.Scip.SymbolInformationOrBuilder getExternalSymbolsOrBuilder( - int index) { - return externalSymbols_.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 (((bitField0_ & 0x00000001) != 0)) { - output.writeMessage(1, getMetadata()); - } - for (int i = 0; i < documents_.size(); i++) { - output.writeMessage(2, documents_.get(i)); - } - for (int i = 0; i < externalSymbols_.size(); i++) { - output.writeMessage(3, externalSymbols_.get(i)); - } - getUnknownFields().writeTo(output); - } - - @java.lang.Override - public int getSerializedSize() { - int size = memoizedSize; - if (size != -1) return size; - - size = 0; - if (((bitField0_ & 0x00000001) != 0)) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(1, getMetadata()); - } - for (int i = 0; i < documents_.size(); i++) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(2, documents_.get(i)); - } - for (int i = 0; i < externalSymbols_.size(); i++) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(3, externalSymbols_.get(i)); - } - size += getUnknownFields().getSerializedSize(); - memoizedSize = size; - return size; - } - - @java.lang.Override - public boolean equals(final java.lang.Object obj) { - if (obj == this) { - return true; - } - if (!(obj instanceof scip.Scip.Index)) { - return super.equals(obj); - } - scip.Scip.Index other = (scip.Scip.Index) obj; - - if (hasMetadata() != other.hasMetadata()) return false; - if (hasMetadata()) { - if (!getMetadata() - .equals(other.getMetadata())) return false; - } - if (!getDocumentsList() - .equals(other.getDocumentsList())) return false; - if (!getExternalSymbolsList() - .equals(other.getExternalSymbolsList())) return false; - if (!getUnknownFields().equals(other.getUnknownFields())) return false; - return true; - } - - @java.lang.Override - public int hashCode() { - if (memoizedHashCode != 0) { - return memoizedHashCode; - } - int hash = 41; - hash = (19 * hash) + getDescriptor().hashCode(); - if (hasMetadata()) { - hash = (37 * hash) + METADATA_FIELD_NUMBER; - hash = (53 * hash) + getMetadata().hashCode(); - } - if (getDocumentsCount() > 0) { - hash = (37 * hash) + DOCUMENTS_FIELD_NUMBER; - hash = (53 * hash) + getDocumentsList().hashCode(); - } - if (getExternalSymbolsCount() > 0) { - hash = (37 * hash) + EXTERNAL_SYMBOLS_FIELD_NUMBER; - hash = (53 * hash) + getExternalSymbolsList().hashCode(); - } - hash = (29 * hash) + getUnknownFields().hashCode(); - memoizedHashCode = hash; - return hash; - } - - public static scip.Scip.Index parseFrom( - java.nio.ByteBuffer data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static scip.Scip.Index parseFrom( - java.nio.ByteBuffer data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static scip.Scip.Index parseFrom( - com.google.protobuf.ByteString data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static scip.Scip.Index parseFrom( - com.google.protobuf.ByteString data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static scip.Scip.Index parseFrom(byte[] data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static scip.Scip.Index parseFrom( - byte[] data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static scip.Scip.Index parseFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input); - } - public static scip.Scip.Index parseFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input, extensionRegistry); - } - - public static scip.Scip.Index parseDelimitedFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseDelimitedWithIOException(PARSER, input); - } - - public static scip.Scip.Index parseDelimitedFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseDelimitedWithIOException(PARSER, input, extensionRegistry); - } - public static scip.Scip.Index parseFrom( - com.google.protobuf.CodedInputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input); - } - public static scip.Scip.Index parseFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input, extensionRegistry); - } - - @java.lang.Override - public Builder newBuilderForType() { return newBuilder(); } - public static Builder newBuilder() { - return DEFAULT_INSTANCE.toBuilder(); - } - public static Builder newBuilder(scip.Scip.Index 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.GeneratedMessage.BuilderParent parent) { - Builder builder = new Builder(parent); - return builder; - } - /** - *
-     * Index represents a complete SCIP index for a workspace this is rooted at a
-     * single directory. An Index message payload can have a large memory footprint
-     * and it's therefore recommended to emit and consume an Index payload one field
-     * value at a time. To permit streaming consumption of an Index payload, the
-     * `metadata` field must appear at the start of the stream and must only appear
-     * once in the stream. Other field values may appear in any order.
-     * 
- * - * Protobuf type {@code scip.Index} - */ - public static final class Builder extends - com.google.protobuf.GeneratedMessage.Builder implements - // @@protoc_insertion_point(builder_implements:scip.Index) - scip.Scip.IndexOrBuilder { - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return scip.Scip.internal_static_scip_Index_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessage.FieldAccessorTable - internalGetFieldAccessorTable() { - return scip.Scip.internal_static_scip_Index_fieldAccessorTable - .ensureFieldAccessorsInitialized( - scip.Scip.Index.class, scip.Scip.Index.Builder.class); - } - - // Construct using scip.Scip.Index.newBuilder() - private Builder() { - maybeForceBuilderInitialization(); - } - - private Builder( - com.google.protobuf.GeneratedMessage.BuilderParent parent) { - super(parent); - maybeForceBuilderInitialization(); - } - private void maybeForceBuilderInitialization() { - if (com.google.protobuf.GeneratedMessage - .alwaysUseFieldBuilders) { - internalGetMetadataFieldBuilder(); - internalGetDocumentsFieldBuilder(); - internalGetExternalSymbolsFieldBuilder(); - } - } - @java.lang.Override - public Builder clear() { - super.clear(); - bitField0_ = 0; - metadata_ = null; - if (metadataBuilder_ != null) { - metadataBuilder_.dispose(); - metadataBuilder_ = null; - } - if (documentsBuilder_ == null) { - documents_ = java.util.Collections.emptyList(); - } else { - documents_ = null; - documentsBuilder_.clear(); - } - bitField0_ = (bitField0_ & ~0x00000002); - if (externalSymbolsBuilder_ == null) { - externalSymbols_ = java.util.Collections.emptyList(); - } else { - externalSymbols_ = null; - externalSymbolsBuilder_.clear(); - } - bitField0_ = (bitField0_ & ~0x00000004); - return this; - } - - @java.lang.Override - public com.google.protobuf.Descriptors.Descriptor - getDescriptorForType() { - return scip.Scip.internal_static_scip_Index_descriptor; - } - - @java.lang.Override - public scip.Scip.Index getDefaultInstanceForType() { - return scip.Scip.Index.getDefaultInstance(); - } - - @java.lang.Override - public scip.Scip.Index build() { - scip.Scip.Index result = buildPartial(); - if (!result.isInitialized()) { - throw newUninitializedMessageException(result); - } - return result; - } - - @java.lang.Override - public scip.Scip.Index buildPartial() { - scip.Scip.Index result = new scip.Scip.Index(this); - buildPartialRepeatedFields(result); - if (bitField0_ != 0) { buildPartial0(result); } - onBuilt(); - return result; - } - - private void buildPartialRepeatedFields(scip.Scip.Index result) { - if (documentsBuilder_ == null) { - if (((bitField0_ & 0x00000002) != 0)) { - documents_ = java.util.Collections.unmodifiableList(documents_); - bitField0_ = (bitField0_ & ~0x00000002); - } - result.documents_ = documents_; - } else { - result.documents_ = documentsBuilder_.build(); - } - if (externalSymbolsBuilder_ == null) { - if (((bitField0_ & 0x00000004) != 0)) { - externalSymbols_ = java.util.Collections.unmodifiableList(externalSymbols_); - bitField0_ = (bitField0_ & ~0x00000004); - } - result.externalSymbols_ = externalSymbols_; - } else { - result.externalSymbols_ = externalSymbolsBuilder_.build(); - } - } - - private void buildPartial0(scip.Scip.Index result) { - int from_bitField0_ = bitField0_; - int to_bitField0_ = 0; - if (((from_bitField0_ & 0x00000001) != 0)) { - result.metadata_ = metadataBuilder_ == null - ? metadata_ - : metadataBuilder_.build(); - to_bitField0_ |= 0x00000001; - } - result.bitField0_ |= to_bitField0_; - } - - @java.lang.Override - public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof scip.Scip.Index) { - return mergeFrom((scip.Scip.Index)other); - } else { - super.mergeFrom(other); - return this; - } - } - - public Builder mergeFrom(scip.Scip.Index other) { - if (other == scip.Scip.Index.getDefaultInstance()) return this; - if (other.hasMetadata()) { - mergeMetadata(other.getMetadata()); - } - if (documentsBuilder_ == null) { - if (!other.documents_.isEmpty()) { - if (documents_.isEmpty()) { - documents_ = other.documents_; - bitField0_ = (bitField0_ & ~0x00000002); - } else { - ensureDocumentsIsMutable(); - documents_.addAll(other.documents_); - } - onChanged(); - } - } else { - if (!other.documents_.isEmpty()) { - if (documentsBuilder_.isEmpty()) { - documentsBuilder_.dispose(); - documentsBuilder_ = null; - documents_ = other.documents_; - bitField0_ = (bitField0_ & ~0x00000002); - documentsBuilder_ = - com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ? - internalGetDocumentsFieldBuilder() : null; - } else { - documentsBuilder_.addAllMessages(other.documents_); - } - } - } - if (externalSymbolsBuilder_ == null) { - if (!other.externalSymbols_.isEmpty()) { - if (externalSymbols_.isEmpty()) { - externalSymbols_ = other.externalSymbols_; - bitField0_ = (bitField0_ & ~0x00000004); - } else { - ensureExternalSymbolsIsMutable(); - externalSymbols_.addAll(other.externalSymbols_); - } - onChanged(); - } - } else { - if (!other.externalSymbols_.isEmpty()) { - if (externalSymbolsBuilder_.isEmpty()) { - externalSymbolsBuilder_.dispose(); - externalSymbolsBuilder_ = null; - externalSymbols_ = other.externalSymbols_; - bitField0_ = (bitField0_ & ~0x00000004); - externalSymbolsBuilder_ = - com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ? - internalGetExternalSymbolsFieldBuilder() : null; - } else { - externalSymbolsBuilder_.addAllMessages(other.externalSymbols_); - } - } - } - this.mergeUnknownFields(other.getUnknownFields()); - 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 { - if (extensionRegistry == null) { - throw new java.lang.NullPointerException(); - } - try { - boolean done = false; - while (!done) { - int tag = input.readTag(); - switch (tag) { - case 0: - done = true; - break; - case 10: { - input.readMessage( - internalGetMetadataFieldBuilder().getBuilder(), - extensionRegistry); - bitField0_ |= 0x00000001; - break; - } // case 10 - case 18: { - scip.Scip.Document m = - input.readMessage( - scip.Scip.Document.parser(), - extensionRegistry); - if (documentsBuilder_ == null) { - ensureDocumentsIsMutable(); - documents_.add(m); - } else { - documentsBuilder_.addMessage(m); - } - break; - } // case 18 - case 26: { - scip.Scip.SymbolInformation m = - input.readMessage( - scip.Scip.SymbolInformation.parser(), - extensionRegistry); - if (externalSymbolsBuilder_ == null) { - ensureExternalSymbolsIsMutable(); - externalSymbols_.add(m); - } else { - externalSymbolsBuilder_.addMessage(m); - } - break; - } // case 26 - default: { - if (!super.parseUnknownField(input, extensionRegistry, tag)) { - done = true; // was an endgroup tag - } - break; - } // default: - } // switch (tag) - } // while (!done) - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.unwrapIOException(); - } finally { - onChanged(); - } // finally - return this; - } - private int bitField0_; - - private scip.Scip.Metadata metadata_; - private com.google.protobuf.SingleFieldBuilder< - scip.Scip.Metadata, scip.Scip.Metadata.Builder, scip.Scip.MetadataOrBuilder> metadataBuilder_; - /** - *
-       * Metadata about this index.
-       * 
- * - * .scip.Metadata metadata = 1 [json_name = "metadata"]; - * @return Whether the metadata field is set. - */ - public boolean hasMetadata() { - return ((bitField0_ & 0x00000001) != 0); - } - /** - *
-       * Metadata about this index.
-       * 
- * - * .scip.Metadata metadata = 1 [json_name = "metadata"]; - * @return The metadata. - */ - public scip.Scip.Metadata getMetadata() { - if (metadataBuilder_ == null) { - return metadata_ == null ? scip.Scip.Metadata.getDefaultInstance() : metadata_; - } else { - return metadataBuilder_.getMessage(); - } - } - /** - *
-       * Metadata about this index.
-       * 
- * - * .scip.Metadata metadata = 1 [json_name = "metadata"]; - */ - public Builder setMetadata(scip.Scip.Metadata value) { - if (metadataBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - metadata_ = value; - } else { - metadataBuilder_.setMessage(value); - } - bitField0_ |= 0x00000001; - onChanged(); - return this; - } - /** - *
-       * Metadata about this index.
-       * 
- * - * .scip.Metadata metadata = 1 [json_name = "metadata"]; - */ - public Builder setMetadata( - scip.Scip.Metadata.Builder builderForValue) { - if (metadataBuilder_ == null) { - metadata_ = builderForValue.build(); - } else { - metadataBuilder_.setMessage(builderForValue.build()); - } - bitField0_ |= 0x00000001; - onChanged(); - return this; - } - /** - *
-       * Metadata about this index.
-       * 
- * - * .scip.Metadata metadata = 1 [json_name = "metadata"]; - */ - public Builder mergeMetadata(scip.Scip.Metadata value) { - if (metadataBuilder_ == null) { - if (((bitField0_ & 0x00000001) != 0) && - metadata_ != null && - metadata_ != scip.Scip.Metadata.getDefaultInstance()) { - getMetadataBuilder().mergeFrom(value); - } else { - metadata_ = value; - } - } else { - metadataBuilder_.mergeFrom(value); - } - if (metadata_ != null) { - bitField0_ |= 0x00000001; - onChanged(); - } - return this; - } - /** - *
-       * Metadata about this index.
-       * 
- * - * .scip.Metadata metadata = 1 [json_name = "metadata"]; - */ - public Builder clearMetadata() { - bitField0_ = (bitField0_ & ~0x00000001); - metadata_ = null; - if (metadataBuilder_ != null) { - metadataBuilder_.dispose(); - metadataBuilder_ = null; - } - onChanged(); - return this; - } - /** - *
-       * Metadata about this index.
-       * 
- * - * .scip.Metadata metadata = 1 [json_name = "metadata"]; - */ - public scip.Scip.Metadata.Builder getMetadataBuilder() { - bitField0_ |= 0x00000001; - onChanged(); - return internalGetMetadataFieldBuilder().getBuilder(); - } - /** - *
-       * Metadata about this index.
-       * 
- * - * .scip.Metadata metadata = 1 [json_name = "metadata"]; - */ - public scip.Scip.MetadataOrBuilder getMetadataOrBuilder() { - if (metadataBuilder_ != null) { - return metadataBuilder_.getMessageOrBuilder(); - } else { - return metadata_ == null ? - scip.Scip.Metadata.getDefaultInstance() : metadata_; - } - } - /** - *
-       * Metadata about this index.
-       * 
- * - * .scip.Metadata metadata = 1 [json_name = "metadata"]; - */ - private com.google.protobuf.SingleFieldBuilder< - scip.Scip.Metadata, scip.Scip.Metadata.Builder, scip.Scip.MetadataOrBuilder> - internalGetMetadataFieldBuilder() { - if (metadataBuilder_ == null) { - metadataBuilder_ = new com.google.protobuf.SingleFieldBuilder< - scip.Scip.Metadata, scip.Scip.Metadata.Builder, scip.Scip.MetadataOrBuilder>( - getMetadata(), - getParentForChildren(), - isClean()); - metadata_ = null; - } - return metadataBuilder_; - } - - private java.util.List documents_ = - java.util.Collections.emptyList(); - private void ensureDocumentsIsMutable() { - if (!((bitField0_ & 0x00000002) != 0)) { - documents_ = new java.util.ArrayList(documents_); - bitField0_ |= 0x00000002; - } - } - - private com.google.protobuf.RepeatedFieldBuilder< - scip.Scip.Document, scip.Scip.Document.Builder, scip.Scip.DocumentOrBuilder> documentsBuilder_; - - /** - *
-       * Documents that belong to this index.
-       * 
- * - * repeated .scip.Document documents = 2 [json_name = "documents"]; - */ - public java.util.List getDocumentsList() { - if (documentsBuilder_ == null) { - return java.util.Collections.unmodifiableList(documents_); - } else { - return documentsBuilder_.getMessageList(); - } - } - /** - *
-       * Documents that belong to this index.
-       * 
- * - * repeated .scip.Document documents = 2 [json_name = "documents"]; - */ - public int getDocumentsCount() { - if (documentsBuilder_ == null) { - return documents_.size(); - } else { - return documentsBuilder_.getCount(); - } - } - /** - *
-       * Documents that belong to this index.
-       * 
- * - * repeated .scip.Document documents = 2 [json_name = "documents"]; - */ - public scip.Scip.Document getDocuments(int index) { - if (documentsBuilder_ == null) { - return documents_.get(index); - } else { - return documentsBuilder_.getMessage(index); - } - } - /** - *
-       * Documents that belong to this index.
-       * 
- * - * repeated .scip.Document documents = 2 [json_name = "documents"]; - */ - public Builder setDocuments( - int index, scip.Scip.Document value) { - if (documentsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureDocumentsIsMutable(); - documents_.set(index, value); - onChanged(); - } else { - documentsBuilder_.setMessage(index, value); - } - return this; - } - /** - *
-       * Documents that belong to this index.
-       * 
- * - * repeated .scip.Document documents = 2 [json_name = "documents"]; - */ - public Builder setDocuments( - int index, scip.Scip.Document.Builder builderForValue) { - if (documentsBuilder_ == null) { - ensureDocumentsIsMutable(); - documents_.set(index, builderForValue.build()); - onChanged(); - } else { - documentsBuilder_.setMessage(index, builderForValue.build()); - } - return this; - } - /** - *
-       * Documents that belong to this index.
-       * 
- * - * repeated .scip.Document documents = 2 [json_name = "documents"]; - */ - public Builder addDocuments(scip.Scip.Document value) { - if (documentsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureDocumentsIsMutable(); - documents_.add(value); - onChanged(); - } else { - documentsBuilder_.addMessage(value); - } - return this; - } - /** - *
-       * Documents that belong to this index.
-       * 
- * - * repeated .scip.Document documents = 2 [json_name = "documents"]; - */ - public Builder addDocuments( - int index, scip.Scip.Document value) { - if (documentsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureDocumentsIsMutable(); - documents_.add(index, value); - onChanged(); - } else { - documentsBuilder_.addMessage(index, value); - } - return this; - } - /** - *
-       * Documents that belong to this index.
-       * 
- * - * repeated .scip.Document documents = 2 [json_name = "documents"]; - */ - public Builder addDocuments( - scip.Scip.Document.Builder builderForValue) { - if (documentsBuilder_ == null) { - ensureDocumentsIsMutable(); - documents_.add(builderForValue.build()); - onChanged(); - } else { - documentsBuilder_.addMessage(builderForValue.build()); - } - return this; - } - /** - *
-       * Documents that belong to this index.
-       * 
- * - * repeated .scip.Document documents = 2 [json_name = "documents"]; - */ - public Builder addDocuments( - int index, scip.Scip.Document.Builder builderForValue) { - if (documentsBuilder_ == null) { - ensureDocumentsIsMutable(); - documents_.add(index, builderForValue.build()); - onChanged(); - } else { - documentsBuilder_.addMessage(index, builderForValue.build()); - } - return this; - } - /** - *
-       * Documents that belong to this index.
-       * 
- * - * repeated .scip.Document documents = 2 [json_name = "documents"]; - */ - 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; - } - /** - *
-       * Documents that belong to this index.
-       * 
- * - * repeated .scip.Document documents = 2 [json_name = "documents"]; - */ - public Builder clearDocuments() { - if (documentsBuilder_ == null) { - documents_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000002); - onChanged(); - } else { - documentsBuilder_.clear(); - } - return this; - } - /** - *
-       * Documents that belong to this index.
-       * 
- * - * repeated .scip.Document documents = 2 [json_name = "documents"]; - */ - public Builder removeDocuments(int index) { - if (documentsBuilder_ == null) { - ensureDocumentsIsMutable(); - documents_.remove(index); - onChanged(); - } else { - documentsBuilder_.remove(index); - } - return this; - } - /** - *
-       * Documents that belong to this index.
-       * 
- * - * repeated .scip.Document documents = 2 [json_name = "documents"]; - */ - public scip.Scip.Document.Builder getDocumentsBuilder( - int index) { - return internalGetDocumentsFieldBuilder().getBuilder(index); - } - /** - *
-       * Documents that belong to this index.
-       * 
- * - * repeated .scip.Document documents = 2 [json_name = "documents"]; - */ - public scip.Scip.DocumentOrBuilder getDocumentsOrBuilder( - int index) { - if (documentsBuilder_ == null) { - return documents_.get(index); } else { - return documentsBuilder_.getMessageOrBuilder(index); - } - } - /** - *
-       * Documents that belong to this index.
-       * 
- * - * repeated .scip.Document documents = 2 [json_name = "documents"]; - */ - public java.util.List - getDocumentsOrBuilderList() { - if (documentsBuilder_ != null) { - return documentsBuilder_.getMessageOrBuilderList(); - } else { - return java.util.Collections.unmodifiableList(documents_); - } - } - /** - *
-       * Documents that belong to this index.
-       * 
- * - * repeated .scip.Document documents = 2 [json_name = "documents"]; - */ - public scip.Scip.Document.Builder addDocumentsBuilder() { - return internalGetDocumentsFieldBuilder().addBuilder( - scip.Scip.Document.getDefaultInstance()); - } - /** - *
-       * Documents that belong to this index.
-       * 
- * - * repeated .scip.Document documents = 2 [json_name = "documents"]; - */ - public scip.Scip.Document.Builder addDocumentsBuilder( - int index) { - return internalGetDocumentsFieldBuilder().addBuilder( - index, scip.Scip.Document.getDefaultInstance()); - } - /** - *
-       * Documents that belong to this index.
-       * 
- * - * repeated .scip.Document documents = 2 [json_name = "documents"]; - */ - public java.util.List - getDocumentsBuilderList() { - return internalGetDocumentsFieldBuilder().getBuilderList(); - } - private com.google.protobuf.RepeatedFieldBuilder< - scip.Scip.Document, scip.Scip.Document.Builder, scip.Scip.DocumentOrBuilder> - internalGetDocumentsFieldBuilder() { - if (documentsBuilder_ == null) { - documentsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder< - scip.Scip.Document, scip.Scip.Document.Builder, scip.Scip.DocumentOrBuilder>( - documents_, - ((bitField0_ & 0x00000002) != 0), - getParentForChildren(), - isClean()); - documents_ = null; - } - return documentsBuilder_; - } - - private java.util.List externalSymbols_ = - java.util.Collections.emptyList(); - private void ensureExternalSymbolsIsMutable() { - if (!((bitField0_ & 0x00000004) != 0)) { - externalSymbols_ = new java.util.ArrayList(externalSymbols_); - bitField0_ |= 0x00000004; - } - } - - private com.google.protobuf.RepeatedFieldBuilder< - scip.Scip.SymbolInformation, scip.Scip.SymbolInformation.Builder, scip.Scip.SymbolInformationOrBuilder> externalSymbolsBuilder_; - - /** - *
-       * (optional) Symbols that are referenced from this index but are defined in
-       * an external package (a separate `Index` message). Leave this field empty
-       * if you assume the external package will get indexed separately. If the
-       * external package won't get indexed for some reason then you can use this
-       * field to provide hover documentation for those external symbols.
-       * 
- * - * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; - */ - public java.util.List getExternalSymbolsList() { - if (externalSymbolsBuilder_ == null) { - return java.util.Collections.unmodifiableList(externalSymbols_); - } else { - return externalSymbolsBuilder_.getMessageList(); - } - } - /** - *
-       * (optional) Symbols that are referenced from this index but are defined in
-       * an external package (a separate `Index` message). Leave this field empty
-       * if you assume the external package will get indexed separately. If the
-       * external package won't get indexed for some reason then you can use this
-       * field to provide hover documentation for those external symbols.
-       * 
- * - * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; - */ - public int getExternalSymbolsCount() { - if (externalSymbolsBuilder_ == null) { - return externalSymbols_.size(); - } else { - return externalSymbolsBuilder_.getCount(); - } - } - /** - *
-       * (optional) Symbols that are referenced from this index but are defined in
-       * an external package (a separate `Index` message). Leave this field empty
-       * if you assume the external package will get indexed separately. If the
-       * external package won't get indexed for some reason then you can use this
-       * field to provide hover documentation for those external symbols.
-       * 
- * - * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; - */ - public scip.Scip.SymbolInformation getExternalSymbols(int index) { - if (externalSymbolsBuilder_ == null) { - return externalSymbols_.get(index); - } else { - return externalSymbolsBuilder_.getMessage(index); - } - } - /** - *
-       * (optional) Symbols that are referenced from this index but are defined in
-       * an external package (a separate `Index` message). Leave this field empty
-       * if you assume the external package will get indexed separately. If the
-       * external package won't get indexed for some reason then you can use this
-       * field to provide hover documentation for those external symbols.
-       * 
- * - * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; - */ - public Builder setExternalSymbols( - int index, scip.Scip.SymbolInformation value) { - if (externalSymbolsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureExternalSymbolsIsMutable(); - externalSymbols_.set(index, value); - onChanged(); - } else { - externalSymbolsBuilder_.setMessage(index, value); - } - return this; - } - /** - *
-       * (optional) Symbols that are referenced from this index but are defined in
-       * an external package (a separate `Index` message). Leave this field empty
-       * if you assume the external package will get indexed separately. If the
-       * external package won't get indexed for some reason then you can use this
-       * field to provide hover documentation for those external symbols.
-       * 
- * - * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; - */ - public Builder setExternalSymbols( - int index, scip.Scip.SymbolInformation.Builder builderForValue) { - if (externalSymbolsBuilder_ == null) { - ensureExternalSymbolsIsMutable(); - externalSymbols_.set(index, builderForValue.build()); - onChanged(); - } else { - externalSymbolsBuilder_.setMessage(index, builderForValue.build()); - } - return this; - } - /** - *
-       * (optional) Symbols that are referenced from this index but are defined in
-       * an external package (a separate `Index` message). Leave this field empty
-       * if you assume the external package will get indexed separately. If the
-       * external package won't get indexed for some reason then you can use this
-       * field to provide hover documentation for those external symbols.
-       * 
- * - * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; - */ - public Builder addExternalSymbols(scip.Scip.SymbolInformation value) { - if (externalSymbolsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureExternalSymbolsIsMutable(); - externalSymbols_.add(value); - onChanged(); - } else { - externalSymbolsBuilder_.addMessage(value); - } - return this; - } - /** - *
-       * (optional) Symbols that are referenced from this index but are defined in
-       * an external package (a separate `Index` message). Leave this field empty
-       * if you assume the external package will get indexed separately. If the
-       * external package won't get indexed for some reason then you can use this
-       * field to provide hover documentation for those external symbols.
-       * 
- * - * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; - */ - public Builder addExternalSymbols( - int index, scip.Scip.SymbolInformation value) { - if (externalSymbolsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureExternalSymbolsIsMutable(); - externalSymbols_.add(index, value); - onChanged(); - } else { - externalSymbolsBuilder_.addMessage(index, value); - } - return this; - } - /** - *
-       * (optional) Symbols that are referenced from this index but are defined in
-       * an external package (a separate `Index` message). Leave this field empty
-       * if you assume the external package will get indexed separately. If the
-       * external package won't get indexed for some reason then you can use this
-       * field to provide hover documentation for those external symbols.
-       * 
- * - * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; - */ - public Builder addExternalSymbols( - scip.Scip.SymbolInformation.Builder builderForValue) { - if (externalSymbolsBuilder_ == null) { - ensureExternalSymbolsIsMutable(); - externalSymbols_.add(builderForValue.build()); - onChanged(); - } else { - externalSymbolsBuilder_.addMessage(builderForValue.build()); - } - return this; - } - /** - *
-       * (optional) Symbols that are referenced from this index but are defined in
-       * an external package (a separate `Index` message). Leave this field empty
-       * if you assume the external package will get indexed separately. If the
-       * external package won't get indexed for some reason then you can use this
-       * field to provide hover documentation for those external symbols.
-       * 
- * - * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; - */ - public Builder addExternalSymbols( - int index, scip.Scip.SymbolInformation.Builder builderForValue) { - if (externalSymbolsBuilder_ == null) { - ensureExternalSymbolsIsMutable(); - externalSymbols_.add(index, builderForValue.build()); - onChanged(); - } else { - externalSymbolsBuilder_.addMessage(index, builderForValue.build()); - } - return this; - } - /** - *
-       * (optional) Symbols that are referenced from this index but are defined in
-       * an external package (a separate `Index` message). Leave this field empty
-       * if you assume the external package will get indexed separately. If the
-       * external package won't get indexed for some reason then you can use this
-       * field to provide hover documentation for those external symbols.
-       * 
- * - * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; - */ - public Builder addAllExternalSymbols( - java.lang.Iterable values) { - if (externalSymbolsBuilder_ == null) { - ensureExternalSymbolsIsMutable(); - com.google.protobuf.AbstractMessageLite.Builder.addAll( - values, externalSymbols_); - onChanged(); - } else { - externalSymbolsBuilder_.addAllMessages(values); - } - return this; - } - /** - *
-       * (optional) Symbols that are referenced from this index but are defined in
-       * an external package (a separate `Index` message). Leave this field empty
-       * if you assume the external package will get indexed separately. If the
-       * external package won't get indexed for some reason then you can use this
-       * field to provide hover documentation for those external symbols.
-       * 
- * - * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; - */ - public Builder clearExternalSymbols() { - if (externalSymbolsBuilder_ == null) { - externalSymbols_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000004); - onChanged(); - } else { - externalSymbolsBuilder_.clear(); - } - return this; - } - /** - *
-       * (optional) Symbols that are referenced from this index but are defined in
-       * an external package (a separate `Index` message). Leave this field empty
-       * if you assume the external package will get indexed separately. If the
-       * external package won't get indexed for some reason then you can use this
-       * field to provide hover documentation for those external symbols.
-       * 
- * - * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; - */ - public Builder removeExternalSymbols(int index) { - if (externalSymbolsBuilder_ == null) { - ensureExternalSymbolsIsMutable(); - externalSymbols_.remove(index); - onChanged(); - } else { - externalSymbolsBuilder_.remove(index); - } - return this; - } - /** - *
-       * (optional) Symbols that are referenced from this index but are defined in
-       * an external package (a separate `Index` message). Leave this field empty
-       * if you assume the external package will get indexed separately. If the
-       * external package won't get indexed for some reason then you can use this
-       * field to provide hover documentation for those external symbols.
-       * 
- * - * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; - */ - public scip.Scip.SymbolInformation.Builder getExternalSymbolsBuilder( - int index) { - return internalGetExternalSymbolsFieldBuilder().getBuilder(index); - } - /** - *
-       * (optional) Symbols that are referenced from this index but are defined in
-       * an external package (a separate `Index` message). Leave this field empty
-       * if you assume the external package will get indexed separately. If the
-       * external package won't get indexed for some reason then you can use this
-       * field to provide hover documentation for those external symbols.
-       * 
- * - * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; - */ - public scip.Scip.SymbolInformationOrBuilder getExternalSymbolsOrBuilder( - int index) { - if (externalSymbolsBuilder_ == null) { - return externalSymbols_.get(index); } else { - return externalSymbolsBuilder_.getMessageOrBuilder(index); - } - } - /** - *
-       * (optional) Symbols that are referenced from this index but are defined in
-       * an external package (a separate `Index` message). Leave this field empty
-       * if you assume the external package will get indexed separately. If the
-       * external package won't get indexed for some reason then you can use this
-       * field to provide hover documentation for those external symbols.
-       * 
- * - * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; - */ - public java.util.List - getExternalSymbolsOrBuilderList() { - if (externalSymbolsBuilder_ != null) { - return externalSymbolsBuilder_.getMessageOrBuilderList(); - } else { - return java.util.Collections.unmodifiableList(externalSymbols_); - } - } - /** - *
-       * (optional) Symbols that are referenced from this index but are defined in
-       * an external package (a separate `Index` message). Leave this field empty
-       * if you assume the external package will get indexed separately. If the
-       * external package won't get indexed for some reason then you can use this
-       * field to provide hover documentation for those external symbols.
-       * 
- * - * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; - */ - public scip.Scip.SymbolInformation.Builder addExternalSymbolsBuilder() { - return internalGetExternalSymbolsFieldBuilder().addBuilder( - scip.Scip.SymbolInformation.getDefaultInstance()); - } - /** - *
-       * (optional) Symbols that are referenced from this index but are defined in
-       * an external package (a separate `Index` message). Leave this field empty
-       * if you assume the external package will get indexed separately. If the
-       * external package won't get indexed for some reason then you can use this
-       * field to provide hover documentation for those external symbols.
-       * 
- * - * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; - */ - public scip.Scip.SymbolInformation.Builder addExternalSymbolsBuilder( - int index) { - return internalGetExternalSymbolsFieldBuilder().addBuilder( - index, scip.Scip.SymbolInformation.getDefaultInstance()); - } - /** - *
-       * (optional) Symbols that are referenced from this index but are defined in
-       * an external package (a separate `Index` message). Leave this field empty
-       * if you assume the external package will get indexed separately. If the
-       * external package won't get indexed for some reason then you can use this
-       * field to provide hover documentation for those external symbols.
-       * 
- * - * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; - */ - public java.util.List - getExternalSymbolsBuilderList() { - return internalGetExternalSymbolsFieldBuilder().getBuilderList(); - } - private com.google.protobuf.RepeatedFieldBuilder< - scip.Scip.SymbolInformation, scip.Scip.SymbolInformation.Builder, scip.Scip.SymbolInformationOrBuilder> - internalGetExternalSymbolsFieldBuilder() { - if (externalSymbolsBuilder_ == null) { - externalSymbolsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder< - scip.Scip.SymbolInformation, scip.Scip.SymbolInformation.Builder, scip.Scip.SymbolInformationOrBuilder>( - externalSymbols_, - ((bitField0_ & 0x00000004) != 0), - getParentForChildren(), - isClean()); - externalSymbols_ = null; - } - return externalSymbolsBuilder_; - } - - // @@protoc_insertion_point(builder_scope:scip.Index) - } - - // @@protoc_insertion_point(class_scope:scip.Index) - private static final scip.Scip.Index DEFAULT_INSTANCE; - static { - DEFAULT_INSTANCE = new scip.Scip.Index(); - } - - public static scip.Scip.Index getDefaultInstance() { - return DEFAULT_INSTANCE; - } - - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { - @java.lang.Override - public Index parsePartialFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - Builder builder = newBuilder(); - try { - builder.mergeFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.setUnfinishedMessage(builder.buildPartial()); - } catch (com.google.protobuf.UninitializedMessageException e) { - throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); - } catch (java.io.IOException e) { - throw new com.google.protobuf.InvalidProtocolBufferException(e) - .setUnfinishedMessage(builder.buildPartial()); - } - return builder.buildPartial(); - } - }; - - public static com.google.protobuf.Parser parser() { - return PARSER; - } - - @java.lang.Override - public com.google.protobuf.Parser getParserForType() { - return PARSER; - } - - @java.lang.Override - public scip.Scip.Index getDefaultInstanceForType() { - return DEFAULT_INSTANCE; - } - - } - - public interface MetadataOrBuilder extends - // @@protoc_insertion_point(interface_extends:scip.Metadata) - com.google.protobuf.MessageOrBuilder { - - /** - *
-     * Which version of this protocol was used to generate this index?
-     * 
- * - * .scip.ProtocolVersion version = 1 [json_name = "version"]; - * @return The enum numeric value on the wire for version. - */ - int getVersionValue(); - /** - *
-     * Which version of this protocol was used to generate this index?
-     * 
- * - * .scip.ProtocolVersion version = 1 [json_name = "version"]; - * @return The version. - */ - scip.Scip.ProtocolVersion getVersion(); - - /** - *
-     * Information about the tool that produced this index.
-     * 
- * - * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; - * @return Whether the toolInfo field is set. - */ - boolean hasToolInfo(); - /** - *
-     * Information about the tool that produced this index.
-     * 
- * - * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; - * @return The toolInfo. - */ - scip.Scip.ToolInfo getToolInfo(); - /** - *
-     * Information about the tool that produced this index.
-     * 
- * - * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; - */ - scip.Scip.ToolInfoOrBuilder getToolInfoOrBuilder(); - - /** - *
-     * URI-encoded absolute path to the root directory of this index. All
-     * documents in this index must appear in a subdirectory of this root
-     * directory.
-     * 
- * - * string project_root = 3 [json_name = "projectRoot"]; - * @return The projectRoot. - */ - java.lang.String getProjectRoot(); - /** - *
-     * URI-encoded absolute path to the root directory of this index. All
-     * documents in this index must appear in a subdirectory of this root
-     * directory.
-     * 
- * - * string project_root = 3 [json_name = "projectRoot"]; - * @return The bytes for projectRoot. - */ - com.google.protobuf.ByteString - getProjectRootBytes(); - - /** - *
-     * Text encoding of the source files on disk that are referenced from
-     * `Document.relative_path`. This value is unrelated to the `Document.text`
-     * field, which is a Protobuf string and hence must be UTF-8 encoded.
-     * 
- * - * .scip.TextEncoding text_document_encoding = 4 [json_name = "textDocumentEncoding"]; - * @return The enum numeric value on the wire for textDocumentEncoding. - */ - int getTextDocumentEncodingValue(); - /** - *
-     * Text encoding of the source files on disk that are referenced from
-     * `Document.relative_path`. This value is unrelated to the `Document.text`
-     * field, which is a Protobuf string and hence must be UTF-8 encoded.
-     * 
- * - * .scip.TextEncoding text_document_encoding = 4 [json_name = "textDocumentEncoding"]; - * @return The textDocumentEncoding. - */ - scip.Scip.TextEncoding getTextDocumentEncoding(); - } - /** - * Protobuf type {@code scip.Metadata} - */ - public static final class Metadata extends - com.google.protobuf.GeneratedMessage implements - // @@protoc_insertion_point(message_implements:scip.Metadata) - MetadataOrBuilder { - private static final long serialVersionUID = 0L; - static { - com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( - com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, - /* major= */ 4, - /* minor= */ 32, - /* patch= */ 1, - /* suffix= */ "", - Metadata.class.getName()); - } - // Use Metadata.newBuilder() to construct. - private Metadata(com.google.protobuf.GeneratedMessage.Builder builder) { - super(builder); - } - private Metadata() { - version_ = 0; - projectRoot_ = ""; - textDocumentEncoding_ = 0; - } - - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return scip.Scip.internal_static_scip_Metadata_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessage.FieldAccessorTable - internalGetFieldAccessorTable() { - return scip.Scip.internal_static_scip_Metadata_fieldAccessorTable - .ensureFieldAccessorsInitialized( - scip.Scip.Metadata.class, scip.Scip.Metadata.Builder.class); - } - - private int bitField0_; - public static final int VERSION_FIELD_NUMBER = 1; - private int version_ = 0; - /** - *
-     * Which version of this protocol was used to generate this index?
-     * 
- * - * .scip.ProtocolVersion version = 1 [json_name = "version"]; - * @return The enum numeric value on the wire for version. - */ - @java.lang.Override public int getVersionValue() { - return version_; - } - /** - *
-     * Which version of this protocol was used to generate this index?
-     * 
- * - * .scip.ProtocolVersion version = 1 [json_name = "version"]; - * @return The version. - */ - @java.lang.Override public scip.Scip.ProtocolVersion getVersion() { - scip.Scip.ProtocolVersion result = scip.Scip.ProtocolVersion.forNumber(version_); - return result == null ? scip.Scip.ProtocolVersion.UNRECOGNIZED : result; - } - - public static final int TOOL_INFO_FIELD_NUMBER = 2; - private scip.Scip.ToolInfo toolInfo_; - /** - *
-     * Information about the tool that produced this index.
-     * 
- * - * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; - * @return Whether the toolInfo field is set. - */ - @java.lang.Override - public boolean hasToolInfo() { - return ((bitField0_ & 0x00000001) != 0); - } - /** - *
-     * Information about the tool that produced this index.
-     * 
- * - * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; - * @return The toolInfo. - */ - @java.lang.Override - public scip.Scip.ToolInfo getToolInfo() { - return toolInfo_ == null ? scip.Scip.ToolInfo.getDefaultInstance() : toolInfo_; - } - /** - *
-     * Information about the tool that produced this index.
-     * 
- * - * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; - */ - @java.lang.Override - public scip.Scip.ToolInfoOrBuilder getToolInfoOrBuilder() { - return toolInfo_ == null ? scip.Scip.ToolInfo.getDefaultInstance() : toolInfo_; - } - - public static final int PROJECT_ROOT_FIELD_NUMBER = 3; - @SuppressWarnings("serial") - private volatile java.lang.Object projectRoot_ = ""; - /** - *
-     * URI-encoded absolute path to the root directory of this index. All
-     * documents in this index must appear in a subdirectory of this root
-     * directory.
-     * 
- * - * string project_root = 3 [json_name = "projectRoot"]; - * @return The projectRoot. - */ - @java.lang.Override - public java.lang.String getProjectRoot() { - java.lang.Object ref = projectRoot_; - 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(); - projectRoot_ = s; - return s; - } - } - /** - *
-     * URI-encoded absolute path to the root directory of this index. All
-     * documents in this index must appear in a subdirectory of this root
-     * directory.
-     * 
- * - * string project_root = 3 [json_name = "projectRoot"]; - * @return The bytes for projectRoot. - */ - @java.lang.Override - public com.google.protobuf.ByteString - getProjectRootBytes() { - java.lang.Object ref = projectRoot_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - projectRoot_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - - public static final int TEXT_DOCUMENT_ENCODING_FIELD_NUMBER = 4; - private int textDocumentEncoding_ = 0; - /** - *
-     * Text encoding of the source files on disk that are referenced from
-     * `Document.relative_path`. This value is unrelated to the `Document.text`
-     * field, which is a Protobuf string and hence must be UTF-8 encoded.
-     * 
- * - * .scip.TextEncoding text_document_encoding = 4 [json_name = "textDocumentEncoding"]; - * @return The enum numeric value on the wire for textDocumentEncoding. - */ - @java.lang.Override public int getTextDocumentEncodingValue() { - return textDocumentEncoding_; - } - /** - *
-     * Text encoding of the source files on disk that are referenced from
-     * `Document.relative_path`. This value is unrelated to the `Document.text`
-     * field, which is a Protobuf string and hence must be UTF-8 encoded.
-     * 
- * - * .scip.TextEncoding text_document_encoding = 4 [json_name = "textDocumentEncoding"]; - * @return The textDocumentEncoding. - */ - @java.lang.Override public scip.Scip.TextEncoding getTextDocumentEncoding() { - scip.Scip.TextEncoding result = scip.Scip.TextEncoding.forNumber(textDocumentEncoding_); - return result == null ? scip.Scip.TextEncoding.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 (version_ != scip.Scip.ProtocolVersion.UnspecifiedProtocolVersion.getNumber()) { - output.writeEnum(1, version_); - } - if (((bitField0_ & 0x00000001) != 0)) { - output.writeMessage(2, getToolInfo()); - } - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(projectRoot_)) { - com.google.protobuf.GeneratedMessage.writeString(output, 3, projectRoot_); - } - if (textDocumentEncoding_ != scip.Scip.TextEncoding.UnspecifiedTextEncoding.getNumber()) { - output.writeEnum(4, textDocumentEncoding_); - } - getUnknownFields().writeTo(output); - } - - @java.lang.Override - public int getSerializedSize() { - int size = memoizedSize; - if (size != -1) return size; - - size = 0; - if (version_ != scip.Scip.ProtocolVersion.UnspecifiedProtocolVersion.getNumber()) { - size += com.google.protobuf.CodedOutputStream - .computeEnumSize(1, version_); - } - if (((bitField0_ & 0x00000001) != 0)) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(2, getToolInfo()); - } - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(projectRoot_)) { - size += com.google.protobuf.GeneratedMessage.computeStringSize(3, projectRoot_); - } - if (textDocumentEncoding_ != scip.Scip.TextEncoding.UnspecifiedTextEncoding.getNumber()) { - size += com.google.protobuf.CodedOutputStream - .computeEnumSize(4, textDocumentEncoding_); - } - size += getUnknownFields().getSerializedSize(); - memoizedSize = size; - return size; - } - - @java.lang.Override - public boolean equals(final java.lang.Object obj) { - if (obj == this) { - return true; - } - if (!(obj instanceof scip.Scip.Metadata)) { - return super.equals(obj); - } - scip.Scip.Metadata other = (scip.Scip.Metadata) obj; - - if (version_ != other.version_) return false; - if (hasToolInfo() != other.hasToolInfo()) return false; - if (hasToolInfo()) { - if (!getToolInfo() - .equals(other.getToolInfo())) return false; - } - if (!getProjectRoot() - .equals(other.getProjectRoot())) return false; - if (textDocumentEncoding_ != other.textDocumentEncoding_) return false; - if (!getUnknownFields().equals(other.getUnknownFields())) 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) + VERSION_FIELD_NUMBER; - hash = (53 * hash) + version_; - if (hasToolInfo()) { - hash = (37 * hash) + TOOL_INFO_FIELD_NUMBER; - hash = (53 * hash) + getToolInfo().hashCode(); - } - hash = (37 * hash) + PROJECT_ROOT_FIELD_NUMBER; - hash = (53 * hash) + getProjectRoot().hashCode(); - hash = (37 * hash) + TEXT_DOCUMENT_ENCODING_FIELD_NUMBER; - hash = (53 * hash) + textDocumentEncoding_; - hash = (29 * hash) + getUnknownFields().hashCode(); - memoizedHashCode = hash; - return hash; - } - - public static scip.Scip.Metadata parseFrom( - java.nio.ByteBuffer data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static scip.Scip.Metadata parseFrom( - java.nio.ByteBuffer data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static scip.Scip.Metadata parseFrom( - com.google.protobuf.ByteString data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static scip.Scip.Metadata parseFrom( - com.google.protobuf.ByteString data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static scip.Scip.Metadata parseFrom(byte[] data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static scip.Scip.Metadata parseFrom( - byte[] data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static scip.Scip.Metadata parseFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input); - } - public static scip.Scip.Metadata parseFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input, extensionRegistry); - } - - public static scip.Scip.Metadata parseDelimitedFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseDelimitedWithIOException(PARSER, input); - } - - public static scip.Scip.Metadata parseDelimitedFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseDelimitedWithIOException(PARSER, input, extensionRegistry); - } - public static scip.Scip.Metadata parseFrom( - com.google.protobuf.CodedInputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input); - } - public static scip.Scip.Metadata parseFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input, extensionRegistry); - } - - @java.lang.Override - public Builder newBuilderForType() { return newBuilder(); } - public static Builder newBuilder() { - return DEFAULT_INSTANCE.toBuilder(); - } - public static Builder newBuilder(scip.Scip.Metadata 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.GeneratedMessage.BuilderParent parent) { - Builder builder = new Builder(parent); - return builder; - } - /** - * Protobuf type {@code scip.Metadata} - */ - public static final class Builder extends - com.google.protobuf.GeneratedMessage.Builder implements - // @@protoc_insertion_point(builder_implements:scip.Metadata) - scip.Scip.MetadataOrBuilder { - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return scip.Scip.internal_static_scip_Metadata_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessage.FieldAccessorTable - internalGetFieldAccessorTable() { - return scip.Scip.internal_static_scip_Metadata_fieldAccessorTable - .ensureFieldAccessorsInitialized( - scip.Scip.Metadata.class, scip.Scip.Metadata.Builder.class); - } - - // Construct using scip.Scip.Metadata.newBuilder() - private Builder() { - maybeForceBuilderInitialization(); - } - - private Builder( - com.google.protobuf.GeneratedMessage.BuilderParent parent) { - super(parent); - maybeForceBuilderInitialization(); - } - private void maybeForceBuilderInitialization() { - if (com.google.protobuf.GeneratedMessage - .alwaysUseFieldBuilders) { - internalGetToolInfoFieldBuilder(); - } - } - @java.lang.Override - public Builder clear() { - super.clear(); - bitField0_ = 0; - version_ = 0; - toolInfo_ = null; - if (toolInfoBuilder_ != null) { - toolInfoBuilder_.dispose(); - toolInfoBuilder_ = null; - } - projectRoot_ = ""; - textDocumentEncoding_ = 0; - return this; - } - - @java.lang.Override - public com.google.protobuf.Descriptors.Descriptor - getDescriptorForType() { - return scip.Scip.internal_static_scip_Metadata_descriptor; - } - - @java.lang.Override - public scip.Scip.Metadata getDefaultInstanceForType() { - return scip.Scip.Metadata.getDefaultInstance(); - } - - @java.lang.Override - public scip.Scip.Metadata build() { - scip.Scip.Metadata result = buildPartial(); - if (!result.isInitialized()) { - throw newUninitializedMessageException(result); - } - return result; - } - - @java.lang.Override - public scip.Scip.Metadata buildPartial() { - scip.Scip.Metadata result = new scip.Scip.Metadata(this); - if (bitField0_ != 0) { buildPartial0(result); } - onBuilt(); - return result; - } - - private void buildPartial0(scip.Scip.Metadata result) { - int from_bitField0_ = bitField0_; - if (((from_bitField0_ & 0x00000001) != 0)) { - result.version_ = version_; - } - int to_bitField0_ = 0; - if (((from_bitField0_ & 0x00000002) != 0)) { - result.toolInfo_ = toolInfoBuilder_ == null - ? toolInfo_ - : toolInfoBuilder_.build(); - to_bitField0_ |= 0x00000001; - } - if (((from_bitField0_ & 0x00000004) != 0)) { - result.projectRoot_ = projectRoot_; - } - if (((from_bitField0_ & 0x00000008) != 0)) { - result.textDocumentEncoding_ = textDocumentEncoding_; - } - result.bitField0_ |= to_bitField0_; - } - - @java.lang.Override - public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof scip.Scip.Metadata) { - return mergeFrom((scip.Scip.Metadata)other); - } else { - super.mergeFrom(other); - return this; - } - } - - public Builder mergeFrom(scip.Scip.Metadata other) { - if (other == scip.Scip.Metadata.getDefaultInstance()) return this; - if (other.version_ != 0) { - setVersionValue(other.getVersionValue()); - } - if (other.hasToolInfo()) { - mergeToolInfo(other.getToolInfo()); - } - if (!other.getProjectRoot().isEmpty()) { - projectRoot_ = other.projectRoot_; - bitField0_ |= 0x00000004; - onChanged(); - } - if (other.textDocumentEncoding_ != 0) { - setTextDocumentEncodingValue(other.getTextDocumentEncodingValue()); - } - this.mergeUnknownFields(other.getUnknownFields()); - 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 { - if (extensionRegistry == null) { - throw new java.lang.NullPointerException(); - } - try { - boolean done = false; - while (!done) { - int tag = input.readTag(); - switch (tag) { - case 0: - done = true; - break; - case 8: { - version_ = input.readEnum(); - bitField0_ |= 0x00000001; - break; - } // case 8 - case 18: { - input.readMessage( - internalGetToolInfoFieldBuilder().getBuilder(), - extensionRegistry); - bitField0_ |= 0x00000002; - break; - } // case 18 - case 26: { - projectRoot_ = input.readStringRequireUtf8(); - bitField0_ |= 0x00000004; - break; - } // case 26 - case 32: { - textDocumentEncoding_ = input.readEnum(); - bitField0_ |= 0x00000008; - break; - } // case 32 - default: { - if (!super.parseUnknownField(input, extensionRegistry, tag)) { - done = true; // was an endgroup tag - } - break; - } // default: - } // switch (tag) - } // while (!done) - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.unwrapIOException(); - } finally { - onChanged(); - } // finally - return this; - } - private int bitField0_; - - private int version_ = 0; - /** - *
-       * Which version of this protocol was used to generate this index?
-       * 
- * - * .scip.ProtocolVersion version = 1 [json_name = "version"]; - * @return The enum numeric value on the wire for version. - */ - @java.lang.Override public int getVersionValue() { - return version_; - } - /** - *
-       * Which version of this protocol was used to generate this index?
-       * 
- * - * .scip.ProtocolVersion version = 1 [json_name = "version"]; - * @param value The enum numeric value on the wire for version to set. - * @return This builder for chaining. - */ - public Builder setVersionValue(int value) { - version_ = value; - bitField0_ |= 0x00000001; - onChanged(); - return this; - } - /** - *
-       * Which version of this protocol was used to generate this index?
-       * 
- * - * .scip.ProtocolVersion version = 1 [json_name = "version"]; - * @return The version. - */ - @java.lang.Override - public scip.Scip.ProtocolVersion getVersion() { - scip.Scip.ProtocolVersion result = scip.Scip.ProtocolVersion.forNumber(version_); - return result == null ? scip.Scip.ProtocolVersion.UNRECOGNIZED : result; - } - /** - *
-       * Which version of this protocol was used to generate this index?
-       * 
- * - * .scip.ProtocolVersion version = 1 [json_name = "version"]; - * @param value The version to set. - * @return This builder for chaining. - */ - public Builder setVersion(scip.Scip.ProtocolVersion value) { - if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000001; - version_ = value.getNumber(); - onChanged(); - return this; - } - /** - *
-       * Which version of this protocol was used to generate this index?
-       * 
- * - * .scip.ProtocolVersion version = 1 [json_name = "version"]; - * @return This builder for chaining. - */ - public Builder clearVersion() { - bitField0_ = (bitField0_ & ~0x00000001); - version_ = 0; - onChanged(); - return this; - } - - private scip.Scip.ToolInfo toolInfo_; - private com.google.protobuf.SingleFieldBuilder< - scip.Scip.ToolInfo, scip.Scip.ToolInfo.Builder, scip.Scip.ToolInfoOrBuilder> toolInfoBuilder_; - /** - *
-       * Information about the tool that produced this index.
-       * 
- * - * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; - * @return Whether the toolInfo field is set. - */ - public boolean hasToolInfo() { - return ((bitField0_ & 0x00000002) != 0); - } - /** - *
-       * Information about the tool that produced this index.
-       * 
- * - * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; - * @return The toolInfo. - */ - public scip.Scip.ToolInfo getToolInfo() { - if (toolInfoBuilder_ == null) { - return toolInfo_ == null ? scip.Scip.ToolInfo.getDefaultInstance() : toolInfo_; - } else { - return toolInfoBuilder_.getMessage(); - } - } - /** - *
-       * Information about the tool that produced this index.
-       * 
- * - * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; - */ - public Builder setToolInfo(scip.Scip.ToolInfo value) { - if (toolInfoBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - toolInfo_ = value; - } else { - toolInfoBuilder_.setMessage(value); - } - bitField0_ |= 0x00000002; - onChanged(); - return this; - } - /** - *
-       * Information about the tool that produced this index.
-       * 
- * - * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; - */ - public Builder setToolInfo( - scip.Scip.ToolInfo.Builder builderForValue) { - if (toolInfoBuilder_ == null) { - toolInfo_ = builderForValue.build(); - } else { - toolInfoBuilder_.setMessage(builderForValue.build()); - } - bitField0_ |= 0x00000002; - onChanged(); - return this; - } - /** - *
-       * Information about the tool that produced this index.
-       * 
- * - * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; - */ - public Builder mergeToolInfo(scip.Scip.ToolInfo value) { - if (toolInfoBuilder_ == null) { - if (((bitField0_ & 0x00000002) != 0) && - toolInfo_ != null && - toolInfo_ != scip.Scip.ToolInfo.getDefaultInstance()) { - getToolInfoBuilder().mergeFrom(value); - } else { - toolInfo_ = value; - } - } else { - toolInfoBuilder_.mergeFrom(value); - } - if (toolInfo_ != null) { - bitField0_ |= 0x00000002; - onChanged(); - } - return this; - } - /** - *
-       * Information about the tool that produced this index.
-       * 
- * - * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; - */ - public Builder clearToolInfo() { - bitField0_ = (bitField0_ & ~0x00000002); - toolInfo_ = null; - if (toolInfoBuilder_ != null) { - toolInfoBuilder_.dispose(); - toolInfoBuilder_ = null; - } - onChanged(); - return this; - } - /** - *
-       * Information about the tool that produced this index.
-       * 
- * - * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; - */ - public scip.Scip.ToolInfo.Builder getToolInfoBuilder() { - bitField0_ |= 0x00000002; - onChanged(); - return internalGetToolInfoFieldBuilder().getBuilder(); - } - /** - *
-       * Information about the tool that produced this index.
-       * 
- * - * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; - */ - public scip.Scip.ToolInfoOrBuilder getToolInfoOrBuilder() { - if (toolInfoBuilder_ != null) { - return toolInfoBuilder_.getMessageOrBuilder(); - } else { - return toolInfo_ == null ? - scip.Scip.ToolInfo.getDefaultInstance() : toolInfo_; - } - } - /** - *
-       * Information about the tool that produced this index.
-       * 
- * - * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; - */ - private com.google.protobuf.SingleFieldBuilder< - scip.Scip.ToolInfo, scip.Scip.ToolInfo.Builder, scip.Scip.ToolInfoOrBuilder> - internalGetToolInfoFieldBuilder() { - if (toolInfoBuilder_ == null) { - toolInfoBuilder_ = new com.google.protobuf.SingleFieldBuilder< - scip.Scip.ToolInfo, scip.Scip.ToolInfo.Builder, scip.Scip.ToolInfoOrBuilder>( - getToolInfo(), - getParentForChildren(), - isClean()); - toolInfo_ = null; - } - return toolInfoBuilder_; - } - - private java.lang.Object projectRoot_ = ""; - /** - *
-       * URI-encoded absolute path to the root directory of this index. All
-       * documents in this index must appear in a subdirectory of this root
-       * directory.
-       * 
- * - * string project_root = 3 [json_name = "projectRoot"]; - * @return The projectRoot. - */ - public java.lang.String getProjectRoot() { - java.lang.Object ref = projectRoot_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - projectRoot_ = s; - return s; - } else { - return (java.lang.String) ref; - } - } - /** - *
-       * URI-encoded absolute path to the root directory of this index. All
-       * documents in this index must appear in a subdirectory of this root
-       * directory.
-       * 
- * - * string project_root = 3 [json_name = "projectRoot"]; - * @return The bytes for projectRoot. - */ - public com.google.protobuf.ByteString - getProjectRootBytes() { - java.lang.Object ref = projectRoot_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - projectRoot_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - /** - *
-       * URI-encoded absolute path to the root directory of this index. All
-       * documents in this index must appear in a subdirectory of this root
-       * directory.
-       * 
- * - * string project_root = 3 [json_name = "projectRoot"]; - * @param value The projectRoot to set. - * @return This builder for chaining. - */ - public Builder setProjectRoot( - java.lang.String value) { - if (value == null) { throw new NullPointerException(); } - projectRoot_ = value; - bitField0_ |= 0x00000004; - onChanged(); - return this; - } - /** - *
-       * URI-encoded absolute path to the root directory of this index. All
-       * documents in this index must appear in a subdirectory of this root
-       * directory.
-       * 
- * - * string project_root = 3 [json_name = "projectRoot"]; - * @return This builder for chaining. - */ - public Builder clearProjectRoot() { - projectRoot_ = getDefaultInstance().getProjectRoot(); - bitField0_ = (bitField0_ & ~0x00000004); - onChanged(); - return this; - } - /** - *
-       * URI-encoded absolute path to the root directory of this index. All
-       * documents in this index must appear in a subdirectory of this root
-       * directory.
-       * 
- * - * string project_root = 3 [json_name = "projectRoot"]; - * @param value The bytes for projectRoot to set. - * @return This builder for chaining. - */ - public Builder setProjectRootBytes( - com.google.protobuf.ByteString value) { - if (value == null) { throw new NullPointerException(); } - checkByteStringIsUtf8(value); - projectRoot_ = value; - bitField0_ |= 0x00000004; - onChanged(); - return this; - } - - private int textDocumentEncoding_ = 0; - /** - *
-       * Text encoding of the source files on disk that are referenced from
-       * `Document.relative_path`. This value is unrelated to the `Document.text`
-       * field, which is a Protobuf string and hence must be UTF-8 encoded.
-       * 
- * - * .scip.TextEncoding text_document_encoding = 4 [json_name = "textDocumentEncoding"]; - * @return The enum numeric value on the wire for textDocumentEncoding. - */ - @java.lang.Override public int getTextDocumentEncodingValue() { - return textDocumentEncoding_; - } - /** - *
-       * Text encoding of the source files on disk that are referenced from
-       * `Document.relative_path`. This value is unrelated to the `Document.text`
-       * field, which is a Protobuf string and hence must be UTF-8 encoded.
-       * 
- * - * .scip.TextEncoding text_document_encoding = 4 [json_name = "textDocumentEncoding"]; - * @param value The enum numeric value on the wire for textDocumentEncoding to set. - * @return This builder for chaining. - */ - public Builder setTextDocumentEncodingValue(int value) { - textDocumentEncoding_ = value; - bitField0_ |= 0x00000008; - onChanged(); - return this; - } - /** - *
-       * Text encoding of the source files on disk that are referenced from
-       * `Document.relative_path`. This value is unrelated to the `Document.text`
-       * field, which is a Protobuf string and hence must be UTF-8 encoded.
-       * 
- * - * .scip.TextEncoding text_document_encoding = 4 [json_name = "textDocumentEncoding"]; - * @return The textDocumentEncoding. - */ - @java.lang.Override - public scip.Scip.TextEncoding getTextDocumentEncoding() { - scip.Scip.TextEncoding result = scip.Scip.TextEncoding.forNumber(textDocumentEncoding_); - return result == null ? scip.Scip.TextEncoding.UNRECOGNIZED : result; - } - /** - *
-       * Text encoding of the source files on disk that are referenced from
-       * `Document.relative_path`. This value is unrelated to the `Document.text`
-       * field, which is a Protobuf string and hence must be UTF-8 encoded.
-       * 
- * - * .scip.TextEncoding text_document_encoding = 4 [json_name = "textDocumentEncoding"]; - * @param value The textDocumentEncoding to set. - * @return This builder for chaining. - */ - public Builder setTextDocumentEncoding(scip.Scip.TextEncoding value) { - if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000008; - textDocumentEncoding_ = value.getNumber(); - onChanged(); - return this; - } - /** - *
-       * Text encoding of the source files on disk that are referenced from
-       * `Document.relative_path`. This value is unrelated to the `Document.text`
-       * field, which is a Protobuf string and hence must be UTF-8 encoded.
-       * 
- * - * .scip.TextEncoding text_document_encoding = 4 [json_name = "textDocumentEncoding"]; - * @return This builder for chaining. - */ - public Builder clearTextDocumentEncoding() { - bitField0_ = (bitField0_ & ~0x00000008); - textDocumentEncoding_ = 0; - onChanged(); - return this; - } - - // @@protoc_insertion_point(builder_scope:scip.Metadata) - } - - // @@protoc_insertion_point(class_scope:scip.Metadata) - private static final scip.Scip.Metadata DEFAULT_INSTANCE; - static { - DEFAULT_INSTANCE = new scip.Scip.Metadata(); - } - - public static scip.Scip.Metadata getDefaultInstance() { - return DEFAULT_INSTANCE; - } - - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { - @java.lang.Override - public Metadata parsePartialFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - Builder builder = newBuilder(); - try { - builder.mergeFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.setUnfinishedMessage(builder.buildPartial()); - } catch (com.google.protobuf.UninitializedMessageException e) { - throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); - } catch (java.io.IOException e) { - throw new com.google.protobuf.InvalidProtocolBufferException(e) - .setUnfinishedMessage(builder.buildPartial()); - } - return builder.buildPartial(); - } - }; - - public static com.google.protobuf.Parser parser() { - return PARSER; - } - - @java.lang.Override - public com.google.protobuf.Parser getParserForType() { - return PARSER; - } - - @java.lang.Override - public scip.Scip.Metadata getDefaultInstanceForType() { - return DEFAULT_INSTANCE; - } - - } - - public interface ToolInfoOrBuilder extends - // @@protoc_insertion_point(interface_extends:scip.ToolInfo) - com.google.protobuf.MessageOrBuilder { - - /** - *
-     * Name of the indexer that produced this index.
-     * 
- * - * string name = 1 [json_name = "name"]; - * @return The name. - */ - java.lang.String getName(); - /** - *
-     * Name of the indexer that produced this index.
-     * 
- * - * string name = 1 [json_name = "name"]; - * @return The bytes for name. - */ - com.google.protobuf.ByteString - getNameBytes(); - - /** - *
-     * Version of the indexer that produced this index.
-     * 
- * - * string version = 2 [json_name = "version"]; - * @return The version. - */ - java.lang.String getVersion(); - /** - *
-     * Version of the indexer that produced this index.
-     * 
- * - * string version = 2 [json_name = "version"]; - * @return The bytes for version. - */ - com.google.protobuf.ByteString - getVersionBytes(); - - /** - *
-     * Command-line arguments that were used to invoke this indexer.
-     * 
- * - * repeated string arguments = 3 [json_name = "arguments"]; - * @return A list containing the arguments. - */ - java.util.List - getArgumentsList(); - /** - *
-     * Command-line arguments that were used to invoke this indexer.
-     * 
- * - * repeated string arguments = 3 [json_name = "arguments"]; - * @return The count of arguments. - */ - int getArgumentsCount(); - /** - *
-     * Command-line arguments that were used to invoke this indexer.
-     * 
- * - * repeated string arguments = 3 [json_name = "arguments"]; - * @param index The index of the element to return. - * @return The arguments at the given index. - */ - java.lang.String getArguments(int index); - /** - *
-     * Command-line arguments that were used to invoke this indexer.
-     * 
- * - * repeated string arguments = 3 [json_name = "arguments"]; - * @param index The index of the value to return. - * @return The bytes of the arguments at the given index. - */ - com.google.protobuf.ByteString - getArgumentsBytes(int index); - } - /** - * Protobuf type {@code scip.ToolInfo} - */ - public static final class ToolInfo extends - com.google.protobuf.GeneratedMessage implements - // @@protoc_insertion_point(message_implements:scip.ToolInfo) - ToolInfoOrBuilder { - private static final long serialVersionUID = 0L; - static { - com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( - com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, - /* major= */ 4, - /* minor= */ 32, - /* patch= */ 1, - /* suffix= */ "", - ToolInfo.class.getName()); - } - // Use ToolInfo.newBuilder() to construct. - private ToolInfo(com.google.protobuf.GeneratedMessage.Builder builder) { - super(builder); - } - private ToolInfo() { - name_ = ""; - version_ = ""; - arguments_ = - com.google.protobuf.LazyStringArrayList.emptyList(); - } - - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return scip.Scip.internal_static_scip_ToolInfo_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessage.FieldAccessorTable - internalGetFieldAccessorTable() { - return scip.Scip.internal_static_scip_ToolInfo_fieldAccessorTable - .ensureFieldAccessorsInitialized( - scip.Scip.ToolInfo.class, scip.Scip.ToolInfo.Builder.class); - } - - public static final int NAME_FIELD_NUMBER = 1; - @SuppressWarnings("serial") - private volatile java.lang.Object name_ = ""; - /** - *
-     * Name of the indexer that produced this index.
-     * 
- * - * string name = 1 [json_name = "name"]; - * @return The name. - */ - @java.lang.Override - public java.lang.String getName() { - java.lang.Object ref = name_; - 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(); - name_ = s; - return s; - } - } - /** - *
-     * Name of the indexer that produced this index.
-     * 
- * - * string name = 1 [json_name = "name"]; - * @return The bytes for name. - */ - @java.lang.Override - public com.google.protobuf.ByteString - getNameBytes() { - java.lang.Object ref = name_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - name_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - - public static final int VERSION_FIELD_NUMBER = 2; - @SuppressWarnings("serial") - private volatile java.lang.Object version_ = ""; - /** - *
-     * Version of the indexer that produced this index.
-     * 
- * - * string version = 2 [json_name = "version"]; - * @return The version. - */ - @java.lang.Override - public java.lang.String getVersion() { - java.lang.Object ref = version_; - 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(); - version_ = s; - return s; - } - } - /** - *
-     * Version of the indexer that produced this index.
-     * 
- * - * string version = 2 [json_name = "version"]; - * @return The bytes for version. - */ - @java.lang.Override - public com.google.protobuf.ByteString - getVersionBytes() { - java.lang.Object ref = version_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - version_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - - public static final int ARGUMENTS_FIELD_NUMBER = 3; - @SuppressWarnings("serial") - private com.google.protobuf.LazyStringArrayList arguments_ = - com.google.protobuf.LazyStringArrayList.emptyList(); - /** - *
-     * Command-line arguments that were used to invoke this indexer.
-     * 
- * - * repeated string arguments = 3 [json_name = "arguments"]; - * @return A list containing the arguments. - */ - public com.google.protobuf.ProtocolStringList - getArgumentsList() { - return arguments_; - } - /** - *
-     * Command-line arguments that were used to invoke this indexer.
-     * 
- * - * repeated string arguments = 3 [json_name = "arguments"]; - * @return The count of arguments. - */ - public int getArgumentsCount() { - return arguments_.size(); - } - /** - *
-     * Command-line arguments that were used to invoke this indexer.
-     * 
- * - * repeated string arguments = 3 [json_name = "arguments"]; - * @param index The index of the element to return. - * @return The arguments at the given index. - */ - public java.lang.String getArguments(int index) { - return arguments_.get(index); - } - /** - *
-     * Command-line arguments that were used to invoke this indexer.
-     * 
- * - * repeated string arguments = 3 [json_name = "arguments"]; - * @param index The index of the value to return. - * @return The bytes of the arguments at the given index. - */ - public com.google.protobuf.ByteString - getArgumentsBytes(int index) { - return arguments_.getByteString(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 (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) { - com.google.protobuf.GeneratedMessage.writeString(output, 1, name_); - } - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(version_)) { - com.google.protobuf.GeneratedMessage.writeString(output, 2, version_); - } - for (int i = 0; i < arguments_.size(); i++) { - com.google.protobuf.GeneratedMessage.writeString(output, 3, arguments_.getRaw(i)); - } - getUnknownFields().writeTo(output); - } - - @java.lang.Override - public int getSerializedSize() { - int size = memoizedSize; - if (size != -1) return size; - - size = 0; - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) { - size += com.google.protobuf.GeneratedMessage.computeStringSize(1, name_); - } - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(version_)) { - size += com.google.protobuf.GeneratedMessage.computeStringSize(2, version_); - } - { - int dataSize = 0; - for (int i = 0; i < arguments_.size(); i++) { - dataSize += computeStringSizeNoTag(arguments_.getRaw(i)); - } - size += dataSize; - size += 1 * getArgumentsList().size(); - } - size += getUnknownFields().getSerializedSize(); - memoizedSize = size; - return size; - } - - @java.lang.Override - public boolean equals(final java.lang.Object obj) { - if (obj == this) { - return true; - } - if (!(obj instanceof scip.Scip.ToolInfo)) { - return super.equals(obj); - } - scip.Scip.ToolInfo other = (scip.Scip.ToolInfo) obj; - - if (!getName() - .equals(other.getName())) return false; - if (!getVersion() - .equals(other.getVersion())) return false; - if (!getArgumentsList() - .equals(other.getArgumentsList())) return false; - if (!getUnknownFields().equals(other.getUnknownFields())) 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) + NAME_FIELD_NUMBER; - hash = (53 * hash) + getName().hashCode(); - hash = (37 * hash) + VERSION_FIELD_NUMBER; - hash = (53 * hash) + getVersion().hashCode(); - if (getArgumentsCount() > 0) { - hash = (37 * hash) + ARGUMENTS_FIELD_NUMBER; - hash = (53 * hash) + getArgumentsList().hashCode(); - } - hash = (29 * hash) + getUnknownFields().hashCode(); - memoizedHashCode = hash; - return hash; - } - - public static scip.Scip.ToolInfo parseFrom( - java.nio.ByteBuffer data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static scip.Scip.ToolInfo parseFrom( - java.nio.ByteBuffer data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static scip.Scip.ToolInfo parseFrom( - com.google.protobuf.ByteString data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static scip.Scip.ToolInfo parseFrom( - com.google.protobuf.ByteString data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static scip.Scip.ToolInfo parseFrom(byte[] data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static scip.Scip.ToolInfo parseFrom( - byte[] data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static scip.Scip.ToolInfo parseFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input); - } - public static scip.Scip.ToolInfo parseFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input, extensionRegistry); - } - - public static scip.Scip.ToolInfo parseDelimitedFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseDelimitedWithIOException(PARSER, input); - } - - public static scip.Scip.ToolInfo parseDelimitedFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseDelimitedWithIOException(PARSER, input, extensionRegistry); - } - public static scip.Scip.ToolInfo parseFrom( - com.google.protobuf.CodedInputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input); - } - public static scip.Scip.ToolInfo parseFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input, extensionRegistry); - } - - @java.lang.Override - public Builder newBuilderForType() { return newBuilder(); } - public static Builder newBuilder() { - return DEFAULT_INSTANCE.toBuilder(); - } - public static Builder newBuilder(scip.Scip.ToolInfo 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.GeneratedMessage.BuilderParent parent) { - Builder builder = new Builder(parent); - return builder; - } - /** - * Protobuf type {@code scip.ToolInfo} - */ - public static final class Builder extends - com.google.protobuf.GeneratedMessage.Builder implements - // @@protoc_insertion_point(builder_implements:scip.ToolInfo) - scip.Scip.ToolInfoOrBuilder { - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return scip.Scip.internal_static_scip_ToolInfo_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessage.FieldAccessorTable - internalGetFieldAccessorTable() { - return scip.Scip.internal_static_scip_ToolInfo_fieldAccessorTable - .ensureFieldAccessorsInitialized( - scip.Scip.ToolInfo.class, scip.Scip.ToolInfo.Builder.class); - } - - // Construct using scip.Scip.ToolInfo.newBuilder() - private Builder() { - - } - - private Builder( - com.google.protobuf.GeneratedMessage.BuilderParent parent) { - super(parent); - - } - @java.lang.Override - public Builder clear() { - super.clear(); - bitField0_ = 0; - name_ = ""; - version_ = ""; - arguments_ = - com.google.protobuf.LazyStringArrayList.emptyList(); - return this; - } - - @java.lang.Override - public com.google.protobuf.Descriptors.Descriptor - getDescriptorForType() { - return scip.Scip.internal_static_scip_ToolInfo_descriptor; - } - - @java.lang.Override - public scip.Scip.ToolInfo getDefaultInstanceForType() { - return scip.Scip.ToolInfo.getDefaultInstance(); - } - - @java.lang.Override - public scip.Scip.ToolInfo build() { - scip.Scip.ToolInfo result = buildPartial(); - if (!result.isInitialized()) { - throw newUninitializedMessageException(result); - } - return result; - } - - @java.lang.Override - public scip.Scip.ToolInfo buildPartial() { - scip.Scip.ToolInfo result = new scip.Scip.ToolInfo(this); - if (bitField0_ != 0) { buildPartial0(result); } - onBuilt(); - return result; - } - - private void buildPartial0(scip.Scip.ToolInfo result) { - int from_bitField0_ = bitField0_; - if (((from_bitField0_ & 0x00000001) != 0)) { - result.name_ = name_; - } - if (((from_bitField0_ & 0x00000002) != 0)) { - result.version_ = version_; - } - if (((from_bitField0_ & 0x00000004) != 0)) { - arguments_.makeImmutable(); - result.arguments_ = arguments_; - } - } - - @java.lang.Override - public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof scip.Scip.ToolInfo) { - return mergeFrom((scip.Scip.ToolInfo)other); - } else { - super.mergeFrom(other); - return this; - } - } - - public Builder mergeFrom(scip.Scip.ToolInfo other) { - if (other == scip.Scip.ToolInfo.getDefaultInstance()) return this; - if (!other.getName().isEmpty()) { - name_ = other.name_; - bitField0_ |= 0x00000001; - onChanged(); - } - if (!other.getVersion().isEmpty()) { - version_ = other.version_; - bitField0_ |= 0x00000002; - onChanged(); - } - if (!other.arguments_.isEmpty()) { - if (arguments_.isEmpty()) { - arguments_ = other.arguments_; - bitField0_ |= 0x00000004; - } else { - ensureArgumentsIsMutable(); - arguments_.addAll(other.arguments_); - } - onChanged(); - } - this.mergeUnknownFields(other.getUnknownFields()); - 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 { - if (extensionRegistry == null) { - throw new java.lang.NullPointerException(); - } - try { - boolean done = false; - while (!done) { - int tag = input.readTag(); - switch (tag) { - case 0: - done = true; - break; - case 10: { - name_ = input.readStringRequireUtf8(); - bitField0_ |= 0x00000001; - break; - } // case 10 - case 18: { - version_ = input.readStringRequireUtf8(); - bitField0_ |= 0x00000002; - break; - } // case 18 - case 26: { - java.lang.String s = input.readStringRequireUtf8(); - ensureArgumentsIsMutable(); - arguments_.add(s); - break; - } // case 26 - default: { - if (!super.parseUnknownField(input, extensionRegistry, tag)) { - done = true; // was an endgroup tag - } - break; - } // default: - } // switch (tag) - } // while (!done) - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.unwrapIOException(); - } finally { - onChanged(); - } // finally - return this; - } - private int bitField0_; - - private java.lang.Object name_ = ""; - /** - *
-       * Name of the indexer that produced this index.
-       * 
- * - * string name = 1 [json_name = "name"]; - * @return The name. - */ - public java.lang.String getName() { - java.lang.Object ref = name_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - name_ = s; - return s; - } else { - return (java.lang.String) ref; - } - } - /** - *
-       * Name of the indexer that produced this index.
-       * 
- * - * string name = 1 [json_name = "name"]; - * @return The bytes for name. - */ - public com.google.protobuf.ByteString - getNameBytes() { - java.lang.Object ref = name_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - name_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - /** - *
-       * Name of the indexer that produced this index.
-       * 
- * - * string name = 1 [json_name = "name"]; - * @param value The name to set. - * @return This builder for chaining. - */ - public Builder setName( - java.lang.String value) { - if (value == null) { throw new NullPointerException(); } - name_ = value; - bitField0_ |= 0x00000001; - onChanged(); - return this; - } - /** - *
-       * Name of the indexer that produced this index.
-       * 
- * - * string name = 1 [json_name = "name"]; - * @return This builder for chaining. - */ - public Builder clearName() { - name_ = getDefaultInstance().getName(); - bitField0_ = (bitField0_ & ~0x00000001); - onChanged(); - return this; - } - /** - *
-       * Name of the indexer that produced this index.
-       * 
- * - * string name = 1 [json_name = "name"]; - * @param value The bytes for name to set. - * @return This builder for chaining. - */ - public Builder setNameBytes( - com.google.protobuf.ByteString value) { - if (value == null) { throw new NullPointerException(); } - checkByteStringIsUtf8(value); - name_ = value; - bitField0_ |= 0x00000001; - onChanged(); - return this; - } - - private java.lang.Object version_ = ""; - /** - *
-       * Version of the indexer that produced this index.
-       * 
- * - * string version = 2 [json_name = "version"]; - * @return The version. - */ - public java.lang.String getVersion() { - java.lang.Object ref = version_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - version_ = s; - return s; - } else { - return (java.lang.String) ref; - } - } - /** - *
-       * Version of the indexer that produced this index.
-       * 
- * - * string version = 2 [json_name = "version"]; - * @return The bytes for version. - */ - public com.google.protobuf.ByteString - getVersionBytes() { - java.lang.Object ref = version_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - version_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - /** - *
-       * Version of the indexer that produced this index.
-       * 
- * - * string version = 2 [json_name = "version"]; - * @param value The version to set. - * @return This builder for chaining. - */ - public Builder setVersion( - java.lang.String value) { - if (value == null) { throw new NullPointerException(); } - version_ = value; - bitField0_ |= 0x00000002; - onChanged(); - return this; - } - /** - *
-       * Version of the indexer that produced this index.
-       * 
- * - * string version = 2 [json_name = "version"]; - * @return This builder for chaining. - */ - public Builder clearVersion() { - version_ = getDefaultInstance().getVersion(); - bitField0_ = (bitField0_ & ~0x00000002); - onChanged(); - return this; - } - /** - *
-       * Version of the indexer that produced this index.
-       * 
- * - * string version = 2 [json_name = "version"]; - * @param value The bytes for version to set. - * @return This builder for chaining. - */ - public Builder setVersionBytes( - com.google.protobuf.ByteString value) { - if (value == null) { throw new NullPointerException(); } - checkByteStringIsUtf8(value); - version_ = value; - bitField0_ |= 0x00000002; - onChanged(); - return this; - } - - private com.google.protobuf.LazyStringArrayList arguments_ = - com.google.protobuf.LazyStringArrayList.emptyList(); - private void ensureArgumentsIsMutable() { - if (!arguments_.isModifiable()) { - arguments_ = new com.google.protobuf.LazyStringArrayList(arguments_); - } - bitField0_ |= 0x00000004; - } - /** - *
-       * Command-line arguments that were used to invoke this indexer.
-       * 
- * - * repeated string arguments = 3 [json_name = "arguments"]; - * @return A list containing the arguments. - */ - public com.google.protobuf.ProtocolStringList - getArgumentsList() { - arguments_.makeImmutable(); - return arguments_; - } - /** - *
-       * Command-line arguments that were used to invoke this indexer.
-       * 
- * - * repeated string arguments = 3 [json_name = "arguments"]; - * @return The count of arguments. - */ - public int getArgumentsCount() { - return arguments_.size(); - } - /** - *
-       * Command-line arguments that were used to invoke this indexer.
-       * 
- * - * repeated string arguments = 3 [json_name = "arguments"]; - * @param index The index of the element to return. - * @return The arguments at the given index. - */ - public java.lang.String getArguments(int index) { - return arguments_.get(index); - } - /** - *
-       * Command-line arguments that were used to invoke this indexer.
-       * 
- * - * repeated string arguments = 3 [json_name = "arguments"]; - * @param index The index of the value to return. - * @return The bytes of the arguments at the given index. - */ - public com.google.protobuf.ByteString - getArgumentsBytes(int index) { - return arguments_.getByteString(index); - } - /** - *
-       * Command-line arguments that were used to invoke this indexer.
-       * 
- * - * repeated string arguments = 3 [json_name = "arguments"]; - * @param index The index to set the value at. - * @param value The arguments to set. - * @return This builder for chaining. - */ - public Builder setArguments( - int index, java.lang.String value) { - if (value == null) { throw new NullPointerException(); } - ensureArgumentsIsMutable(); - arguments_.set(index, value); - bitField0_ |= 0x00000004; - onChanged(); - return this; - } - /** - *
-       * Command-line arguments that were used to invoke this indexer.
-       * 
- * - * repeated string arguments = 3 [json_name = "arguments"]; - * @param value The arguments to add. - * @return This builder for chaining. - */ - public Builder addArguments( - java.lang.String value) { - if (value == null) { throw new NullPointerException(); } - ensureArgumentsIsMutable(); - arguments_.add(value); - bitField0_ |= 0x00000004; - onChanged(); - return this; - } - /** - *
-       * Command-line arguments that were used to invoke this indexer.
-       * 
- * - * repeated string arguments = 3 [json_name = "arguments"]; - * @param values The arguments to add. - * @return This builder for chaining. - */ - public Builder addAllArguments( - java.lang.Iterable values) { - ensureArgumentsIsMutable(); - com.google.protobuf.AbstractMessageLite.Builder.addAll( - values, arguments_); - bitField0_ |= 0x00000004; - onChanged(); - return this; - } - /** - *
-       * Command-line arguments that were used to invoke this indexer.
-       * 
- * - * repeated string arguments = 3 [json_name = "arguments"]; - * @return This builder for chaining. - */ - public Builder clearArguments() { - arguments_ = - com.google.protobuf.LazyStringArrayList.emptyList(); - bitField0_ = (bitField0_ & ~0x00000004);; - onChanged(); - return this; - } - /** - *
-       * Command-line arguments that were used to invoke this indexer.
-       * 
- * - * repeated string arguments = 3 [json_name = "arguments"]; - * @param value The bytes of the arguments to add. - * @return This builder for chaining. - */ - public Builder addArgumentsBytes( - com.google.protobuf.ByteString value) { - if (value == null) { throw new NullPointerException(); } - checkByteStringIsUtf8(value); - ensureArgumentsIsMutable(); - arguments_.add(value); - bitField0_ |= 0x00000004; - onChanged(); - return this; - } - - // @@protoc_insertion_point(builder_scope:scip.ToolInfo) - } - - // @@protoc_insertion_point(class_scope:scip.ToolInfo) - private static final scip.Scip.ToolInfo DEFAULT_INSTANCE; - static { - DEFAULT_INSTANCE = new scip.Scip.ToolInfo(); - } - - public static scip.Scip.ToolInfo getDefaultInstance() { - return DEFAULT_INSTANCE; - } - - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { - @java.lang.Override - public ToolInfo parsePartialFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - Builder builder = newBuilder(); - try { - builder.mergeFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.setUnfinishedMessage(builder.buildPartial()); - } catch (com.google.protobuf.UninitializedMessageException e) { - throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); - } catch (java.io.IOException e) { - throw new com.google.protobuf.InvalidProtocolBufferException(e) - .setUnfinishedMessage(builder.buildPartial()); - } - return builder.buildPartial(); - } - }; - - public static com.google.protobuf.Parser parser() { - return PARSER; - } - - @java.lang.Override - public com.google.protobuf.Parser getParserForType() { - return PARSER; - } - - @java.lang.Override - public scip.Scip.ToolInfo getDefaultInstanceForType() { - return DEFAULT_INSTANCE; - } - - } - - public interface DocumentOrBuilder extends - // @@protoc_insertion_point(interface_extends:scip.Document) - com.google.protobuf.MessageOrBuilder { - - /** - *
-     * The string ID for the programming language this file is written in.
-     * The `Language` enum contains the names of most common programming languages.
-     * This field is typed as a string to permit any programming language, including
-     * ones that are not specified by the `Language` enum.
-     * 
- * - * string language = 4 [json_name = "language"]; - * @return The language. - */ - java.lang.String getLanguage(); - /** - *
-     * The string ID for the programming language this file is written in.
-     * The `Language` enum contains the names of most common programming languages.
-     * This field is typed as a string to permit any programming language, including
-     * ones that are not specified by the `Language` enum.
-     * 
- * - * string language = 4 [json_name = "language"]; - * @return The bytes for language. - */ - com.google.protobuf.ByteString - getLanguageBytes(); - - /** - *
-     * (Required) Unique path to the text document.
-     *
-     * 1. The path must be relative to the directory supplied in the associated
-     * `Metadata.project_root`.
-     * 2. The path must not begin with a leading '/'.
-     * 3. The path must point to a regular file, not a symbolic link.
-     * 4. The path must use '/' as the separator, including on Windows.
-     * 5. The path must be canonical; it cannot include empty components ('//'),
-     * or '.' or '..'.
-     * 
- * - * string relative_path = 1 [json_name = "relativePath"]; - * @return The relativePath. - */ - java.lang.String getRelativePath(); - /** - *
-     * (Required) Unique path to the text document.
-     *
-     * 1. The path must be relative to the directory supplied in the associated
-     * `Metadata.project_root`.
-     * 2. The path must not begin with a leading '/'.
-     * 3. The path must point to a regular file, not a symbolic link.
-     * 4. The path must use '/' as the separator, including on Windows.
-     * 5. The path must be canonical; it cannot include empty components ('//'),
-     * or '.' or '..'.
-     * 
- * - * string relative_path = 1 [json_name = "relativePath"]; - * @return The bytes for relativePath. - */ - com.google.protobuf.ByteString - getRelativePathBytes(); - - /** - *
-     * Occurrences that appear in this file.
-     * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - java.util.List - getOccurrencesList(); - /** - *
-     * Occurrences that appear in this file.
-     * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - scip.Scip.Occurrence getOccurrences(int index); - /** - *
-     * Occurrences that appear in this file.
-     * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - int getOccurrencesCount(); - /** - *
-     * Occurrences that appear in this file.
-     * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - java.util.List - getOccurrencesOrBuilderList(); - /** - *
-     * Occurrences that appear in this file.
-     * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - scip.Scip.OccurrenceOrBuilder getOccurrencesOrBuilder( - int index); - - /** - *
-     * Symbols that are "defined" within this document.
-     *
-     * This should include symbols which technically do not have any definition,
-     * but have a reference and are defined by some other symbol (see
-     * Relationship.is_definition).
-     * 
- * - * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; - */ - java.util.List - getSymbolsList(); - /** - *
-     * Symbols that are "defined" within this document.
-     *
-     * This should include symbols which technically do not have any definition,
-     * but have a reference and are defined by some other symbol (see
-     * Relationship.is_definition).
-     * 
- * - * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; - */ - scip.Scip.SymbolInformation getSymbols(int index); - /** - *
-     * Symbols that are "defined" within this document.
-     *
-     * This should include symbols which technically do not have any definition,
-     * but have a reference and are defined by some other symbol (see
-     * Relationship.is_definition).
-     * 
- * - * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; - */ - int getSymbolsCount(); - /** - *
-     * Symbols that are "defined" within this document.
-     *
-     * This should include symbols which technically do not have any definition,
-     * but have a reference and are defined by some other symbol (see
-     * Relationship.is_definition).
-     * 
- * - * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; - */ - java.util.List - getSymbolsOrBuilderList(); - /** - *
-     * Symbols that are "defined" within this document.
-     *
-     * This should include symbols which technically do not have any definition,
-     * but have a reference and are defined by some other symbol (see
-     * Relationship.is_definition).
-     * 
- * - * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; - */ - scip.Scip.SymbolInformationOrBuilder getSymbolsOrBuilder( - int index); - - /** - *
-     * (optional) Text contents of this document. Indexers are not expected to
-     * include the text by default. It's preferable that clients read the text
-     * contents from the file system by resolving the absolute path from joining
-     * `Index.metadata.project_root` and `Document.relative_path`. This field
-     * can be useful for testing or when working with virtual/in-memory documents.
-     * 
- * - * string text = 5 [json_name = "text"]; - * @return The text. - */ - java.lang.String getText(); - /** - *
-     * (optional) Text contents of this document. Indexers are not expected to
-     * include the text by default. It's preferable that clients read the text
-     * contents from the file system by resolving the absolute path from joining
-     * `Index.metadata.project_root` and `Document.relative_path`. This field
-     * can be useful for testing or when working with virtual/in-memory documents.
-     * 
- * - * string text = 5 [json_name = "text"]; - * @return The bytes for text. - */ - com.google.protobuf.ByteString - getTextBytes(); - - /** - *
-     * Specifies the encoding used for source ranges in this Document.
-     *
-     * Usually, this will match the type used to index the string type
-     * in the indexer's implementation language in O(1) time.
-     * - For an indexer implemented in JVM/.NET language or JavaScript/TypeScript,
-     * use UTF16CodeUnitOffsetFromLineStart.
-     * - For an indexer implemented in Python,
-     * use UTF32CodeUnitOffsetFromLineStart.
-     * - For an indexer implemented in Go, Rust or C++,
-     * use UTF8ByteOffsetFromLineStart.
-     * 
- * - * .scip.PositionEncoding position_encoding = 6 [json_name = "positionEncoding"]; - * @return The enum numeric value on the wire for positionEncoding. - */ - int getPositionEncodingValue(); - /** - *
-     * Specifies the encoding used for source ranges in this Document.
-     *
-     * Usually, this will match the type used to index the string type
-     * in the indexer's implementation language in O(1) time.
-     * - For an indexer implemented in JVM/.NET language or JavaScript/TypeScript,
-     * use UTF16CodeUnitOffsetFromLineStart.
-     * - For an indexer implemented in Python,
-     * use UTF32CodeUnitOffsetFromLineStart.
-     * - For an indexer implemented in Go, Rust or C++,
-     * use UTF8ByteOffsetFromLineStart.
-     * 
- * - * .scip.PositionEncoding position_encoding = 6 [json_name = "positionEncoding"]; - * @return The positionEncoding. - */ - scip.Scip.PositionEncoding getPositionEncoding(); - } - /** - *
-   * Document defines the metadata about a source file on disk.
-   * 
- * - * Protobuf type {@code scip.Document} - */ - public static final class Document extends - com.google.protobuf.GeneratedMessage implements - // @@protoc_insertion_point(message_implements:scip.Document) - DocumentOrBuilder { - private static final long serialVersionUID = 0L; - static { - com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( - com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, - /* major= */ 4, - /* minor= */ 32, - /* patch= */ 1, - /* suffix= */ "", - Document.class.getName()); - } - // Use Document.newBuilder() to construct. - private Document(com.google.protobuf.GeneratedMessage.Builder builder) { - super(builder); - } - private Document() { - language_ = ""; - relativePath_ = ""; - occurrences_ = java.util.Collections.emptyList(); - symbols_ = java.util.Collections.emptyList(); - text_ = ""; - positionEncoding_ = 0; - } - - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return scip.Scip.internal_static_scip_Document_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessage.FieldAccessorTable - internalGetFieldAccessorTable() { - return scip.Scip.internal_static_scip_Document_fieldAccessorTable - .ensureFieldAccessorsInitialized( - scip.Scip.Document.class, scip.Scip.Document.Builder.class); - } - - public static final int LANGUAGE_FIELD_NUMBER = 4; - @SuppressWarnings("serial") - private volatile java.lang.Object language_ = ""; - /** - *
-     * The string ID for the programming language this file is written in.
-     * The `Language` enum contains the names of most common programming languages.
-     * This field is typed as a string to permit any programming language, including
-     * ones that are not specified by the `Language` enum.
-     * 
- * - * string language = 4 [json_name = "language"]; - * @return The language. - */ - @java.lang.Override - public java.lang.String getLanguage() { - java.lang.Object ref = language_; - 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(); - language_ = s; - return s; - } - } - /** - *
-     * The string ID for the programming language this file is written in.
-     * The `Language` enum contains the names of most common programming languages.
-     * This field is typed as a string to permit any programming language, including
-     * ones that are not specified by the `Language` enum.
-     * 
- * - * string language = 4 [json_name = "language"]; - * @return The bytes for language. - */ - @java.lang.Override - public com.google.protobuf.ByteString - getLanguageBytes() { - java.lang.Object ref = language_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - language_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - - public static final int RELATIVE_PATH_FIELD_NUMBER = 1; - @SuppressWarnings("serial") - private volatile java.lang.Object relativePath_ = ""; - /** - *
-     * (Required) Unique path to the text document.
-     *
-     * 1. The path must be relative to the directory supplied in the associated
-     * `Metadata.project_root`.
-     * 2. The path must not begin with a leading '/'.
-     * 3. The path must point to a regular file, not a symbolic link.
-     * 4. The path must use '/' as the separator, including on Windows.
-     * 5. The path must be canonical; it cannot include empty components ('//'),
-     * or '.' or '..'.
-     * 
- * - * string relative_path = 1 [json_name = "relativePath"]; - * @return The relativePath. - */ - @java.lang.Override - public java.lang.String getRelativePath() { - java.lang.Object ref = relativePath_; - 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(); - relativePath_ = s; - return s; - } - } - /** - *
-     * (Required) Unique path to the text document.
-     *
-     * 1. The path must be relative to the directory supplied in the associated
-     * `Metadata.project_root`.
-     * 2. The path must not begin with a leading '/'.
-     * 3. The path must point to a regular file, not a symbolic link.
-     * 4. The path must use '/' as the separator, including on Windows.
-     * 5. The path must be canonical; it cannot include empty components ('//'),
-     * or '.' or '..'.
-     * 
- * - * string relative_path = 1 [json_name = "relativePath"]; - * @return The bytes for relativePath. - */ - @java.lang.Override - public com.google.protobuf.ByteString - getRelativePathBytes() { - java.lang.Object ref = relativePath_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - relativePath_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - - public static final int OCCURRENCES_FIELD_NUMBER = 2; - @SuppressWarnings("serial") - private java.util.List occurrences_; - /** - *
-     * Occurrences that appear in this file.
-     * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - @java.lang.Override - public java.util.List getOccurrencesList() { - return occurrences_; - } - /** - *
-     * Occurrences that appear in this file.
-     * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - @java.lang.Override - public java.util.List - getOccurrencesOrBuilderList() { - return occurrences_; - } - /** - *
-     * Occurrences that appear in this file.
-     * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - @java.lang.Override - public int getOccurrencesCount() { - return occurrences_.size(); - } - /** - *
-     * Occurrences that appear in this file.
-     * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - @java.lang.Override - public scip.Scip.Occurrence getOccurrences(int index) { - return occurrences_.get(index); - } - /** - *
-     * Occurrences that appear in this file.
-     * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - @java.lang.Override - public scip.Scip.OccurrenceOrBuilder getOccurrencesOrBuilder( - int index) { - return occurrences_.get(index); - } - - public static final int SYMBOLS_FIELD_NUMBER = 3; - @SuppressWarnings("serial") - private java.util.List symbols_; - /** - *
-     * Symbols that are "defined" within this document.
-     *
-     * This should include symbols which technically do not have any definition,
-     * but have a reference and are defined by some other symbol (see
-     * Relationship.is_definition).
-     * 
- * - * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; - */ - @java.lang.Override - public java.util.List getSymbolsList() { - return symbols_; - } - /** - *
-     * Symbols that are "defined" within this document.
-     *
-     * This should include symbols which technically do not have any definition,
-     * but have a reference and are defined by some other symbol (see
-     * Relationship.is_definition).
-     * 
- * - * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; - */ - @java.lang.Override - public java.util.List - getSymbolsOrBuilderList() { - return symbols_; - } - /** - *
-     * Symbols that are "defined" within this document.
-     *
-     * This should include symbols which technically do not have any definition,
-     * but have a reference and are defined by some other symbol (see
-     * Relationship.is_definition).
-     * 
- * - * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; - */ - @java.lang.Override - public int getSymbolsCount() { - return symbols_.size(); - } - /** - *
-     * Symbols that are "defined" within this document.
-     *
-     * This should include symbols which technically do not have any definition,
-     * but have a reference and are defined by some other symbol (see
-     * Relationship.is_definition).
-     * 
- * - * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; - */ - @java.lang.Override - public scip.Scip.SymbolInformation getSymbols(int index) { - return symbols_.get(index); - } - /** - *
-     * Symbols that are "defined" within this document.
-     *
-     * This should include symbols which technically do not have any definition,
-     * but have a reference and are defined by some other symbol (see
-     * Relationship.is_definition).
-     * 
- * - * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; - */ - @java.lang.Override - public scip.Scip.SymbolInformationOrBuilder getSymbolsOrBuilder( - int index) { - return symbols_.get(index); - } - - public static final int TEXT_FIELD_NUMBER = 5; - @SuppressWarnings("serial") - private volatile java.lang.Object text_ = ""; - /** - *
-     * (optional) Text contents of this document. Indexers are not expected to
-     * include the text by default. It's preferable that clients read the text
-     * contents from the file system by resolving the absolute path from joining
-     * `Index.metadata.project_root` and `Document.relative_path`. This field
-     * can be useful for testing or when working with virtual/in-memory documents.
-     * 
- * - * string text = 5 [json_name = "text"]; - * @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; - } - } - /** - *
-     * (optional) Text contents of this document. Indexers are not expected to
-     * include the text by default. It's preferable that clients read the text
-     * contents from the file system by resolving the absolute path from joining
-     * `Index.metadata.project_root` and `Document.relative_path`. This field
-     * can be useful for testing or when working with virtual/in-memory documents.
-     * 
- * - * string text = 5 [json_name = "text"]; - * @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 POSITION_ENCODING_FIELD_NUMBER = 6; - private int positionEncoding_ = 0; - /** - *
-     * Specifies the encoding used for source ranges in this Document.
-     *
-     * Usually, this will match the type used to index the string type
-     * in the indexer's implementation language in O(1) time.
-     * - For an indexer implemented in JVM/.NET language or JavaScript/TypeScript,
-     * use UTF16CodeUnitOffsetFromLineStart.
-     * - For an indexer implemented in Python,
-     * use UTF32CodeUnitOffsetFromLineStart.
-     * - For an indexer implemented in Go, Rust or C++,
-     * use UTF8ByteOffsetFromLineStart.
-     * 
- * - * .scip.PositionEncoding position_encoding = 6 [json_name = "positionEncoding"]; - * @return The enum numeric value on the wire for positionEncoding. - */ - @java.lang.Override public int getPositionEncodingValue() { - return positionEncoding_; - } - /** - *
-     * Specifies the encoding used for source ranges in this Document.
-     *
-     * Usually, this will match the type used to index the string type
-     * in the indexer's implementation language in O(1) time.
-     * - For an indexer implemented in JVM/.NET language or JavaScript/TypeScript,
-     * use UTF16CodeUnitOffsetFromLineStart.
-     * - For an indexer implemented in Python,
-     * use UTF32CodeUnitOffsetFromLineStart.
-     * - For an indexer implemented in Go, Rust or C++,
-     * use UTF8ByteOffsetFromLineStart.
-     * 
- * - * .scip.PositionEncoding position_encoding = 6 [json_name = "positionEncoding"]; - * @return The positionEncoding. - */ - @java.lang.Override public scip.Scip.PositionEncoding getPositionEncoding() { - scip.Scip.PositionEncoding result = scip.Scip.PositionEncoding.forNumber(positionEncoding_); - return result == null ? scip.Scip.PositionEncoding.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 (!com.google.protobuf.GeneratedMessage.isStringEmpty(relativePath_)) { - com.google.protobuf.GeneratedMessage.writeString(output, 1, relativePath_); - } - for (int i = 0; i < occurrences_.size(); i++) { - output.writeMessage(2, occurrences_.get(i)); - } - for (int i = 0; i < symbols_.size(); i++) { - output.writeMessage(3, symbols_.get(i)); - } - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(language_)) { - com.google.protobuf.GeneratedMessage.writeString(output, 4, language_); - } - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(text_)) { - com.google.protobuf.GeneratedMessage.writeString(output, 5, text_); - } - if (positionEncoding_ != scip.Scip.PositionEncoding.UnspecifiedPositionEncoding.getNumber()) { - output.writeEnum(6, positionEncoding_); - } - getUnknownFields().writeTo(output); - } - - @java.lang.Override - public int getSerializedSize() { - int size = memoizedSize; - if (size != -1) return size; - - size = 0; - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(relativePath_)) { - size += com.google.protobuf.GeneratedMessage.computeStringSize(1, relativePath_); - } - for (int i = 0; i < occurrences_.size(); i++) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(2, occurrences_.get(i)); - } - for (int i = 0; i < symbols_.size(); i++) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(3, symbols_.get(i)); - } - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(language_)) { - size += com.google.protobuf.GeneratedMessage.computeStringSize(4, language_); - } - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(text_)) { - size += com.google.protobuf.GeneratedMessage.computeStringSize(5, text_); - } - if (positionEncoding_ != scip.Scip.PositionEncoding.UnspecifiedPositionEncoding.getNumber()) { - size += com.google.protobuf.CodedOutputStream - .computeEnumSize(6, positionEncoding_); - } - size += getUnknownFields().getSerializedSize(); - memoizedSize = size; - return size; - } - - @java.lang.Override - public boolean equals(final java.lang.Object obj) { - if (obj == this) { - return true; - } - if (!(obj instanceof scip.Scip.Document)) { - return super.equals(obj); - } - scip.Scip.Document other = (scip.Scip.Document) obj; - - if (!getLanguage() - .equals(other.getLanguage())) return false; - if (!getRelativePath() - .equals(other.getRelativePath())) return false; - if (!getOccurrencesList() - .equals(other.getOccurrencesList())) return false; - if (!getSymbolsList() - .equals(other.getSymbolsList())) return false; - if (!getText() - .equals(other.getText())) return false; - if (positionEncoding_ != other.positionEncoding_) return false; - if (!getUnknownFields().equals(other.getUnknownFields())) 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) + LANGUAGE_FIELD_NUMBER; - hash = (53 * hash) + getLanguage().hashCode(); - hash = (37 * hash) + RELATIVE_PATH_FIELD_NUMBER; - hash = (53 * hash) + getRelativePath().hashCode(); - if (getOccurrencesCount() > 0) { - hash = (37 * hash) + OCCURRENCES_FIELD_NUMBER; - hash = (53 * hash) + getOccurrencesList().hashCode(); - } - if (getSymbolsCount() > 0) { - hash = (37 * hash) + SYMBOLS_FIELD_NUMBER; - hash = (53 * hash) + getSymbolsList().hashCode(); - } - hash = (37 * hash) + TEXT_FIELD_NUMBER; - hash = (53 * hash) + getText().hashCode(); - hash = (37 * hash) + POSITION_ENCODING_FIELD_NUMBER; - hash = (53 * hash) + positionEncoding_; - hash = (29 * hash) + getUnknownFields().hashCode(); - memoizedHashCode = hash; - return hash; - } - - public static scip.Scip.Document parseFrom( - java.nio.ByteBuffer data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static scip.Scip.Document parseFrom( - java.nio.ByteBuffer data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static scip.Scip.Document parseFrom( - com.google.protobuf.ByteString data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static scip.Scip.Document parseFrom( - com.google.protobuf.ByteString data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static scip.Scip.Document parseFrom(byte[] data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static scip.Scip.Document parseFrom( - byte[] data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static scip.Scip.Document parseFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input); - } - public static scip.Scip.Document parseFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input, extensionRegistry); - } - - public static scip.Scip.Document parseDelimitedFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseDelimitedWithIOException(PARSER, input); - } - - public static scip.Scip.Document parseDelimitedFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseDelimitedWithIOException(PARSER, input, extensionRegistry); - } - public static scip.Scip.Document parseFrom( - com.google.protobuf.CodedInputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input); - } - public static scip.Scip.Document parseFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input, extensionRegistry); - } - - @java.lang.Override - public Builder newBuilderForType() { return newBuilder(); } - public static Builder newBuilder() { - return DEFAULT_INSTANCE.toBuilder(); - } - public static Builder newBuilder(scip.Scip.Document 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.GeneratedMessage.BuilderParent parent) { - Builder builder = new Builder(parent); - return builder; - } - /** - *
-     * Document defines the metadata about a source file on disk.
-     * 
- * - * Protobuf type {@code scip.Document} - */ - public static final class Builder extends - com.google.protobuf.GeneratedMessage.Builder implements - // @@protoc_insertion_point(builder_implements:scip.Document) - scip.Scip.DocumentOrBuilder { - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return scip.Scip.internal_static_scip_Document_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessage.FieldAccessorTable - internalGetFieldAccessorTable() { - return scip.Scip.internal_static_scip_Document_fieldAccessorTable - .ensureFieldAccessorsInitialized( - scip.Scip.Document.class, scip.Scip.Document.Builder.class); - } - - // Construct using scip.Scip.Document.newBuilder() - private Builder() { - - } - - private Builder( - com.google.protobuf.GeneratedMessage.BuilderParent parent) { - super(parent); - - } - @java.lang.Override - public Builder clear() { - super.clear(); - bitField0_ = 0; - language_ = ""; - relativePath_ = ""; - if (occurrencesBuilder_ == null) { - occurrences_ = java.util.Collections.emptyList(); - } else { - occurrences_ = null; - occurrencesBuilder_.clear(); - } - bitField0_ = (bitField0_ & ~0x00000004); - if (symbolsBuilder_ == null) { - symbols_ = java.util.Collections.emptyList(); - } else { - symbols_ = null; - symbolsBuilder_.clear(); - } - bitField0_ = (bitField0_ & ~0x00000008); - text_ = ""; - positionEncoding_ = 0; - return this; - } - - @java.lang.Override - public com.google.protobuf.Descriptors.Descriptor - getDescriptorForType() { - return scip.Scip.internal_static_scip_Document_descriptor; - } - - @java.lang.Override - public scip.Scip.Document getDefaultInstanceForType() { - return scip.Scip.Document.getDefaultInstance(); - } - - @java.lang.Override - public scip.Scip.Document build() { - scip.Scip.Document result = buildPartial(); - if (!result.isInitialized()) { - throw newUninitializedMessageException(result); - } - return result; - } - - @java.lang.Override - public scip.Scip.Document buildPartial() { - scip.Scip.Document result = new scip.Scip.Document(this); - buildPartialRepeatedFields(result); - if (bitField0_ != 0) { buildPartial0(result); } - onBuilt(); - return result; - } - - private void buildPartialRepeatedFields(scip.Scip.Document result) { - if (occurrencesBuilder_ == null) { - if (((bitField0_ & 0x00000004) != 0)) { - occurrences_ = java.util.Collections.unmodifiableList(occurrences_); - bitField0_ = (bitField0_ & ~0x00000004); - } - result.occurrences_ = occurrences_; - } else { - result.occurrences_ = occurrencesBuilder_.build(); - } - if (symbolsBuilder_ == null) { - if (((bitField0_ & 0x00000008) != 0)) { - symbols_ = java.util.Collections.unmodifiableList(symbols_); - bitField0_ = (bitField0_ & ~0x00000008); - } - result.symbols_ = symbols_; - } else { - result.symbols_ = symbolsBuilder_.build(); - } - } - - private void buildPartial0(scip.Scip.Document result) { - int from_bitField0_ = bitField0_; - if (((from_bitField0_ & 0x00000001) != 0)) { - result.language_ = language_; - } - if (((from_bitField0_ & 0x00000002) != 0)) { - result.relativePath_ = relativePath_; - } - if (((from_bitField0_ & 0x00000010) != 0)) { - result.text_ = text_; - } - if (((from_bitField0_ & 0x00000020) != 0)) { - result.positionEncoding_ = positionEncoding_; - } - } - - @java.lang.Override - public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof scip.Scip.Document) { - return mergeFrom((scip.Scip.Document)other); - } else { - super.mergeFrom(other); - return this; - } - } - - public Builder mergeFrom(scip.Scip.Document other) { - if (other == scip.Scip.Document.getDefaultInstance()) return this; - if (!other.getLanguage().isEmpty()) { - language_ = other.language_; - bitField0_ |= 0x00000001; - onChanged(); - } - if (!other.getRelativePath().isEmpty()) { - relativePath_ = other.relativePath_; - bitField0_ |= 0x00000002; - onChanged(); - } - if (occurrencesBuilder_ == null) { - if (!other.occurrences_.isEmpty()) { - if (occurrences_.isEmpty()) { - occurrences_ = other.occurrences_; - bitField0_ = (bitField0_ & ~0x00000004); - } else { - ensureOccurrencesIsMutable(); - occurrences_.addAll(other.occurrences_); - } - onChanged(); - } - } else { - if (!other.occurrences_.isEmpty()) { - if (occurrencesBuilder_.isEmpty()) { - occurrencesBuilder_.dispose(); - occurrencesBuilder_ = null; - occurrences_ = other.occurrences_; - bitField0_ = (bitField0_ & ~0x00000004); - occurrencesBuilder_ = - com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ? - internalGetOccurrencesFieldBuilder() : null; - } else { - occurrencesBuilder_.addAllMessages(other.occurrences_); - } - } - } - if (symbolsBuilder_ == null) { - if (!other.symbols_.isEmpty()) { - if (symbols_.isEmpty()) { - symbols_ = other.symbols_; - bitField0_ = (bitField0_ & ~0x00000008); - } else { - ensureSymbolsIsMutable(); - symbols_.addAll(other.symbols_); - } - onChanged(); - } - } else { - if (!other.symbols_.isEmpty()) { - if (symbolsBuilder_.isEmpty()) { - symbolsBuilder_.dispose(); - symbolsBuilder_ = null; - symbols_ = other.symbols_; - bitField0_ = (bitField0_ & ~0x00000008); - symbolsBuilder_ = - com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ? - internalGetSymbolsFieldBuilder() : null; - } else { - symbolsBuilder_.addAllMessages(other.symbols_); - } - } - } - if (!other.getText().isEmpty()) { - text_ = other.text_; - bitField0_ |= 0x00000010; - onChanged(); - } - if (other.positionEncoding_ != 0) { - setPositionEncodingValue(other.getPositionEncodingValue()); - } - this.mergeUnknownFields(other.getUnknownFields()); - 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 { - if (extensionRegistry == null) { - throw new java.lang.NullPointerException(); - } - try { - boolean done = false; - while (!done) { - int tag = input.readTag(); - switch (tag) { - case 0: - done = true; - break; - case 10: { - relativePath_ = input.readStringRequireUtf8(); - bitField0_ |= 0x00000002; - break; - } // case 10 - case 18: { - scip.Scip.Occurrence m = - input.readMessage( - scip.Scip.Occurrence.parser(), - extensionRegistry); - if (occurrencesBuilder_ == null) { - ensureOccurrencesIsMutable(); - occurrences_.add(m); - } else { - occurrencesBuilder_.addMessage(m); - } - break; - } // case 18 - case 26: { - scip.Scip.SymbolInformation m = - input.readMessage( - scip.Scip.SymbolInformation.parser(), - extensionRegistry); - if (symbolsBuilder_ == null) { - ensureSymbolsIsMutable(); - symbols_.add(m); - } else { - symbolsBuilder_.addMessage(m); - } - break; - } // case 26 - case 34: { - language_ = input.readStringRequireUtf8(); - bitField0_ |= 0x00000001; - break; - } // case 34 - case 42: { - text_ = input.readStringRequireUtf8(); - bitField0_ |= 0x00000010; - break; - } // case 42 - case 48: { - positionEncoding_ = input.readEnum(); - bitField0_ |= 0x00000020; - break; - } // case 48 - default: { - if (!super.parseUnknownField(input, extensionRegistry, tag)) { - done = true; // was an endgroup tag - } - break; - } // default: - } // switch (tag) - } // while (!done) - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.unwrapIOException(); - } finally { - onChanged(); - } // finally - return this; - } - private int bitField0_; - - private java.lang.Object language_ = ""; - /** - *
-       * The string ID for the programming language this file is written in.
-       * The `Language` enum contains the names of most common programming languages.
-       * This field is typed as a string to permit any programming language, including
-       * ones that are not specified by the `Language` enum.
-       * 
- * - * string language = 4 [json_name = "language"]; - * @return The language. - */ - public java.lang.String getLanguage() { - java.lang.Object ref = language_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - language_ = s; - return s; - } else { - return (java.lang.String) ref; - } - } - /** - *
-       * The string ID for the programming language this file is written in.
-       * The `Language` enum contains the names of most common programming languages.
-       * This field is typed as a string to permit any programming language, including
-       * ones that are not specified by the `Language` enum.
-       * 
- * - * string language = 4 [json_name = "language"]; - * @return The bytes for language. - */ - public com.google.protobuf.ByteString - getLanguageBytes() { - java.lang.Object ref = language_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - language_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - /** - *
-       * The string ID for the programming language this file is written in.
-       * The `Language` enum contains the names of most common programming languages.
-       * This field is typed as a string to permit any programming language, including
-       * ones that are not specified by the `Language` enum.
-       * 
- * - * string language = 4 [json_name = "language"]; - * @param value The language to set. - * @return This builder for chaining. - */ - public Builder setLanguage( - java.lang.String value) { - if (value == null) { throw new NullPointerException(); } - language_ = value; - bitField0_ |= 0x00000001; - onChanged(); - return this; - } - /** - *
-       * The string ID for the programming language this file is written in.
-       * The `Language` enum contains the names of most common programming languages.
-       * This field is typed as a string to permit any programming language, including
-       * ones that are not specified by the `Language` enum.
-       * 
- * - * string language = 4 [json_name = "language"]; - * @return This builder for chaining. - */ - public Builder clearLanguage() { - language_ = getDefaultInstance().getLanguage(); - bitField0_ = (bitField0_ & ~0x00000001); - onChanged(); - return this; - } - /** - *
-       * The string ID for the programming language this file is written in.
-       * The `Language` enum contains the names of most common programming languages.
-       * This field is typed as a string to permit any programming language, including
-       * ones that are not specified by the `Language` enum.
-       * 
- * - * string language = 4 [json_name = "language"]; - * @param value The bytes for language to set. - * @return This builder for chaining. - */ - public Builder setLanguageBytes( - com.google.protobuf.ByteString value) { - if (value == null) { throw new NullPointerException(); } - checkByteStringIsUtf8(value); - language_ = value; - bitField0_ |= 0x00000001; - onChanged(); - return this; - } - - private java.lang.Object relativePath_ = ""; - /** - *
-       * (Required) Unique path to the text document.
-       *
-       * 1. The path must be relative to the directory supplied in the associated
-       * `Metadata.project_root`.
-       * 2. The path must not begin with a leading '/'.
-       * 3. The path must point to a regular file, not a symbolic link.
-       * 4. The path must use '/' as the separator, including on Windows.
-       * 5. The path must be canonical; it cannot include empty components ('//'),
-       * or '.' or '..'.
-       * 
- * - * string relative_path = 1 [json_name = "relativePath"]; - * @return The relativePath. - */ - public java.lang.String getRelativePath() { - java.lang.Object ref = relativePath_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - relativePath_ = s; - return s; - } else { - return (java.lang.String) ref; - } - } - /** - *
-       * (Required) Unique path to the text document.
-       *
-       * 1. The path must be relative to the directory supplied in the associated
-       * `Metadata.project_root`.
-       * 2. The path must not begin with a leading '/'.
-       * 3. The path must point to a regular file, not a symbolic link.
-       * 4. The path must use '/' as the separator, including on Windows.
-       * 5. The path must be canonical; it cannot include empty components ('//'),
-       * or '.' or '..'.
-       * 
- * - * string relative_path = 1 [json_name = "relativePath"]; - * @return The bytes for relativePath. - */ - public com.google.protobuf.ByteString - getRelativePathBytes() { - java.lang.Object ref = relativePath_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - relativePath_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - /** - *
-       * (Required) Unique path to the text document.
-       *
-       * 1. The path must be relative to the directory supplied in the associated
-       * `Metadata.project_root`.
-       * 2. The path must not begin with a leading '/'.
-       * 3. The path must point to a regular file, not a symbolic link.
-       * 4. The path must use '/' as the separator, including on Windows.
-       * 5. The path must be canonical; it cannot include empty components ('//'),
-       * or '.' or '..'.
-       * 
- * - * string relative_path = 1 [json_name = "relativePath"]; - * @param value The relativePath to set. - * @return This builder for chaining. - */ - public Builder setRelativePath( - java.lang.String value) { - if (value == null) { throw new NullPointerException(); } - relativePath_ = value; - bitField0_ |= 0x00000002; - onChanged(); - return this; - } - /** - *
-       * (Required) Unique path to the text document.
-       *
-       * 1. The path must be relative to the directory supplied in the associated
-       * `Metadata.project_root`.
-       * 2. The path must not begin with a leading '/'.
-       * 3. The path must point to a regular file, not a symbolic link.
-       * 4. The path must use '/' as the separator, including on Windows.
-       * 5. The path must be canonical; it cannot include empty components ('//'),
-       * or '.' or '..'.
-       * 
- * - * string relative_path = 1 [json_name = "relativePath"]; - * @return This builder for chaining. - */ - public Builder clearRelativePath() { - relativePath_ = getDefaultInstance().getRelativePath(); - bitField0_ = (bitField0_ & ~0x00000002); - onChanged(); - return this; - } - /** - *
-       * (Required) Unique path to the text document.
-       *
-       * 1. The path must be relative to the directory supplied in the associated
-       * `Metadata.project_root`.
-       * 2. The path must not begin with a leading '/'.
-       * 3. The path must point to a regular file, not a symbolic link.
-       * 4. The path must use '/' as the separator, including on Windows.
-       * 5. The path must be canonical; it cannot include empty components ('//'),
-       * or '.' or '..'.
-       * 
- * - * string relative_path = 1 [json_name = "relativePath"]; - * @param value The bytes for relativePath to set. - * @return This builder for chaining. - */ - public Builder setRelativePathBytes( - com.google.protobuf.ByteString value) { - if (value == null) { throw new NullPointerException(); } - checkByteStringIsUtf8(value); - relativePath_ = value; - bitField0_ |= 0x00000002; - onChanged(); - return this; - } - - private java.util.List occurrences_ = - java.util.Collections.emptyList(); - private void ensureOccurrencesIsMutable() { - if (!((bitField0_ & 0x00000004) != 0)) { - occurrences_ = new java.util.ArrayList(occurrences_); - bitField0_ |= 0x00000004; - } - } - - private com.google.protobuf.RepeatedFieldBuilder< - scip.Scip.Occurrence, scip.Scip.Occurrence.Builder, scip.Scip.OccurrenceOrBuilder> occurrencesBuilder_; - - /** - *
-       * Occurrences that appear in this file.
-       * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public java.util.List getOccurrencesList() { - if (occurrencesBuilder_ == null) { - return java.util.Collections.unmodifiableList(occurrences_); - } else { - return occurrencesBuilder_.getMessageList(); - } - } - /** - *
-       * Occurrences that appear in this file.
-       * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public int getOccurrencesCount() { - if (occurrencesBuilder_ == null) { - return occurrences_.size(); - } else { - return occurrencesBuilder_.getCount(); - } - } - /** - *
-       * Occurrences that appear in this file.
-       * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public scip.Scip.Occurrence getOccurrences(int index) { - if (occurrencesBuilder_ == null) { - return occurrences_.get(index); - } else { - return occurrencesBuilder_.getMessage(index); - } - } - /** - *
-       * Occurrences that appear in this file.
-       * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public Builder setOccurrences( - int index, scip.Scip.Occurrence value) { - if (occurrencesBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureOccurrencesIsMutable(); - occurrences_.set(index, value); - onChanged(); - } else { - occurrencesBuilder_.setMessage(index, value); - } - return this; - } - /** - *
-       * Occurrences that appear in this file.
-       * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public Builder setOccurrences( - int index, scip.Scip.Occurrence.Builder builderForValue) { - if (occurrencesBuilder_ == null) { - ensureOccurrencesIsMutable(); - occurrences_.set(index, builderForValue.build()); - onChanged(); - } else { - occurrencesBuilder_.setMessage(index, builderForValue.build()); - } - return this; - } - /** - *
-       * Occurrences that appear in this file.
-       * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public Builder addOccurrences(scip.Scip.Occurrence value) { - if (occurrencesBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureOccurrencesIsMutable(); - occurrences_.add(value); - onChanged(); - } else { - occurrencesBuilder_.addMessage(value); - } - return this; - } - /** - *
-       * Occurrences that appear in this file.
-       * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public Builder addOccurrences( - int index, scip.Scip.Occurrence value) { - if (occurrencesBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureOccurrencesIsMutable(); - occurrences_.add(index, value); - onChanged(); - } else { - occurrencesBuilder_.addMessage(index, value); - } - return this; - } - /** - *
-       * Occurrences that appear in this file.
-       * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public Builder addOccurrences( - scip.Scip.Occurrence.Builder builderForValue) { - if (occurrencesBuilder_ == null) { - ensureOccurrencesIsMutable(); - occurrences_.add(builderForValue.build()); - onChanged(); - } else { - occurrencesBuilder_.addMessage(builderForValue.build()); - } - return this; - } - /** - *
-       * Occurrences that appear in this file.
-       * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public Builder addOccurrences( - int index, scip.Scip.Occurrence.Builder builderForValue) { - if (occurrencesBuilder_ == null) { - ensureOccurrencesIsMutable(); - occurrences_.add(index, builderForValue.build()); - onChanged(); - } else { - occurrencesBuilder_.addMessage(index, builderForValue.build()); - } - return this; - } - /** - *
-       * Occurrences that appear in this file.
-       * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - 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; - } - /** - *
-       * Occurrences that appear in this file.
-       * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public Builder clearOccurrences() { - if (occurrencesBuilder_ == null) { - occurrences_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000004); - onChanged(); - } else { - occurrencesBuilder_.clear(); - } - return this; - } - /** - *
-       * Occurrences that appear in this file.
-       * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public Builder removeOccurrences(int index) { - if (occurrencesBuilder_ == null) { - ensureOccurrencesIsMutable(); - occurrences_.remove(index); - onChanged(); - } else { - occurrencesBuilder_.remove(index); - } - return this; - } - /** - *
-       * Occurrences that appear in this file.
-       * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public scip.Scip.Occurrence.Builder getOccurrencesBuilder( - int index) { - return internalGetOccurrencesFieldBuilder().getBuilder(index); - } - /** - *
-       * Occurrences that appear in this file.
-       * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public scip.Scip.OccurrenceOrBuilder getOccurrencesOrBuilder( - int index) { - if (occurrencesBuilder_ == null) { - return occurrences_.get(index); } else { - return occurrencesBuilder_.getMessageOrBuilder(index); - } - } - /** - *
-       * Occurrences that appear in this file.
-       * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public java.util.List - getOccurrencesOrBuilderList() { - if (occurrencesBuilder_ != null) { - return occurrencesBuilder_.getMessageOrBuilderList(); - } else { - return java.util.Collections.unmodifiableList(occurrences_); - } - } - /** - *
-       * Occurrences that appear in this file.
-       * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public scip.Scip.Occurrence.Builder addOccurrencesBuilder() { - return internalGetOccurrencesFieldBuilder().addBuilder( - scip.Scip.Occurrence.getDefaultInstance()); - } - /** - *
-       * Occurrences that appear in this file.
-       * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public scip.Scip.Occurrence.Builder addOccurrencesBuilder( - int index) { - return internalGetOccurrencesFieldBuilder().addBuilder( - index, scip.Scip.Occurrence.getDefaultInstance()); - } - /** - *
-       * Occurrences that appear in this file.
-       * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public java.util.List - getOccurrencesBuilderList() { - return internalGetOccurrencesFieldBuilder().getBuilderList(); - } - private com.google.protobuf.RepeatedFieldBuilder< - scip.Scip.Occurrence, scip.Scip.Occurrence.Builder, scip.Scip.OccurrenceOrBuilder> - internalGetOccurrencesFieldBuilder() { - if (occurrencesBuilder_ == null) { - occurrencesBuilder_ = new com.google.protobuf.RepeatedFieldBuilder< - scip.Scip.Occurrence, scip.Scip.Occurrence.Builder, scip.Scip.OccurrenceOrBuilder>( - occurrences_, - ((bitField0_ & 0x00000004) != 0), - getParentForChildren(), - isClean()); - occurrences_ = null; - } - return occurrencesBuilder_; - } - - private java.util.List symbols_ = - java.util.Collections.emptyList(); - private void ensureSymbolsIsMutable() { - if (!((bitField0_ & 0x00000008) != 0)) { - symbols_ = new java.util.ArrayList(symbols_); - bitField0_ |= 0x00000008; - } - } - - private com.google.protobuf.RepeatedFieldBuilder< - scip.Scip.SymbolInformation, scip.Scip.SymbolInformation.Builder, scip.Scip.SymbolInformationOrBuilder> symbolsBuilder_; - - /** - *
-       * Symbols that are "defined" within this document.
-       *
-       * This should include symbols which technically do not have any definition,
-       * but have a reference and are defined by some other symbol (see
-       * Relationship.is_definition).
-       * 
- * - * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; - */ - public java.util.List getSymbolsList() { - if (symbolsBuilder_ == null) { - return java.util.Collections.unmodifiableList(symbols_); - } else { - return symbolsBuilder_.getMessageList(); - } - } - /** - *
-       * Symbols that are "defined" within this document.
-       *
-       * This should include symbols which technically do not have any definition,
-       * but have a reference and are defined by some other symbol (see
-       * Relationship.is_definition).
-       * 
- * - * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; - */ - public int getSymbolsCount() { - if (symbolsBuilder_ == null) { - return symbols_.size(); - } else { - return symbolsBuilder_.getCount(); - } - } - /** - *
-       * Symbols that are "defined" within this document.
-       *
-       * This should include symbols which technically do not have any definition,
-       * but have a reference and are defined by some other symbol (see
-       * Relationship.is_definition).
-       * 
- * - * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; - */ - public scip.Scip.SymbolInformation getSymbols(int index) { - if (symbolsBuilder_ == null) { - return symbols_.get(index); - } else { - return symbolsBuilder_.getMessage(index); - } - } - /** - *
-       * Symbols that are "defined" within this document.
-       *
-       * This should include symbols which technically do not have any definition,
-       * but have a reference and are defined by some other symbol (see
-       * Relationship.is_definition).
-       * 
- * - * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; - */ - public Builder setSymbols( - int index, scip.Scip.SymbolInformation value) { - if (symbolsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureSymbolsIsMutable(); - symbols_.set(index, value); - onChanged(); - } else { - symbolsBuilder_.setMessage(index, value); - } - return this; - } - /** - *
-       * Symbols that are "defined" within this document.
-       *
-       * This should include symbols which technically do not have any definition,
-       * but have a reference and are defined by some other symbol (see
-       * Relationship.is_definition).
-       * 
- * - * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; - */ - public Builder setSymbols( - int index, scip.Scip.SymbolInformation.Builder builderForValue) { - if (symbolsBuilder_ == null) { - ensureSymbolsIsMutable(); - symbols_.set(index, builderForValue.build()); - onChanged(); - } else { - symbolsBuilder_.setMessage(index, builderForValue.build()); - } - return this; - } - /** - *
-       * Symbols that are "defined" within this document.
-       *
-       * This should include symbols which technically do not have any definition,
-       * but have a reference and are defined by some other symbol (see
-       * Relationship.is_definition).
-       * 
- * - * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; - */ - public Builder addSymbols(scip.Scip.SymbolInformation value) { - if (symbolsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureSymbolsIsMutable(); - symbols_.add(value); - onChanged(); - } else { - symbolsBuilder_.addMessage(value); - } - return this; - } - /** - *
-       * Symbols that are "defined" within this document.
-       *
-       * This should include symbols which technically do not have any definition,
-       * but have a reference and are defined by some other symbol (see
-       * Relationship.is_definition).
-       * 
- * - * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; - */ - public Builder addSymbols( - int index, scip.Scip.SymbolInformation value) { - if (symbolsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureSymbolsIsMutable(); - symbols_.add(index, value); - onChanged(); - } else { - symbolsBuilder_.addMessage(index, value); - } - return this; - } - /** - *
-       * Symbols that are "defined" within this document.
-       *
-       * This should include symbols which technically do not have any definition,
-       * but have a reference and are defined by some other symbol (see
-       * Relationship.is_definition).
-       * 
- * - * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; - */ - public Builder addSymbols( - scip.Scip.SymbolInformation.Builder builderForValue) { - if (symbolsBuilder_ == null) { - ensureSymbolsIsMutable(); - symbols_.add(builderForValue.build()); - onChanged(); - } else { - symbolsBuilder_.addMessage(builderForValue.build()); - } - return this; - } - /** - *
-       * Symbols that are "defined" within this document.
-       *
-       * This should include symbols which technically do not have any definition,
-       * but have a reference and are defined by some other symbol (see
-       * Relationship.is_definition).
-       * 
- * - * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; - */ - public Builder addSymbols( - int index, scip.Scip.SymbolInformation.Builder builderForValue) { - if (symbolsBuilder_ == null) { - ensureSymbolsIsMutable(); - symbols_.add(index, builderForValue.build()); - onChanged(); - } else { - symbolsBuilder_.addMessage(index, builderForValue.build()); - } - return this; - } - /** - *
-       * Symbols that are "defined" within this document.
-       *
-       * This should include symbols which technically do not have any definition,
-       * but have a reference and are defined by some other symbol (see
-       * Relationship.is_definition).
-       * 
- * - * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; - */ - 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; - } - /** - *
-       * Symbols that are "defined" within this document.
-       *
-       * This should include symbols which technically do not have any definition,
-       * but have a reference and are defined by some other symbol (see
-       * Relationship.is_definition).
-       * 
- * - * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; - */ - public Builder clearSymbols() { - if (symbolsBuilder_ == null) { - symbols_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000008); - onChanged(); - } else { - symbolsBuilder_.clear(); - } - return this; - } - /** - *
-       * Symbols that are "defined" within this document.
-       *
-       * This should include symbols which technically do not have any definition,
-       * but have a reference and are defined by some other symbol (see
-       * Relationship.is_definition).
-       * 
- * - * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; - */ - public Builder removeSymbols(int index) { - if (symbolsBuilder_ == null) { - ensureSymbolsIsMutable(); - symbols_.remove(index); - onChanged(); - } else { - symbolsBuilder_.remove(index); - } - return this; - } - /** - *
-       * Symbols that are "defined" within this document.
-       *
-       * This should include symbols which technically do not have any definition,
-       * but have a reference and are defined by some other symbol (see
-       * Relationship.is_definition).
-       * 
- * - * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; - */ - public scip.Scip.SymbolInformation.Builder getSymbolsBuilder( - int index) { - return internalGetSymbolsFieldBuilder().getBuilder(index); - } - /** - *
-       * Symbols that are "defined" within this document.
-       *
-       * This should include symbols which technically do not have any definition,
-       * but have a reference and are defined by some other symbol (see
-       * Relationship.is_definition).
-       * 
- * - * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; - */ - public scip.Scip.SymbolInformationOrBuilder getSymbolsOrBuilder( - int index) { - if (symbolsBuilder_ == null) { - return symbols_.get(index); } else { - return symbolsBuilder_.getMessageOrBuilder(index); - } - } - /** - *
-       * Symbols that are "defined" within this document.
-       *
-       * This should include symbols which technically do not have any definition,
-       * but have a reference and are defined by some other symbol (see
-       * Relationship.is_definition).
-       * 
- * - * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; - */ - public java.util.List - getSymbolsOrBuilderList() { - if (symbolsBuilder_ != null) { - return symbolsBuilder_.getMessageOrBuilderList(); - } else { - return java.util.Collections.unmodifiableList(symbols_); - } - } - /** - *
-       * Symbols that are "defined" within this document.
-       *
-       * This should include symbols which technically do not have any definition,
-       * but have a reference and are defined by some other symbol (see
-       * Relationship.is_definition).
-       * 
- * - * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; - */ - public scip.Scip.SymbolInformation.Builder addSymbolsBuilder() { - return internalGetSymbolsFieldBuilder().addBuilder( - scip.Scip.SymbolInformation.getDefaultInstance()); - } - /** - *
-       * Symbols that are "defined" within this document.
-       *
-       * This should include symbols which technically do not have any definition,
-       * but have a reference and are defined by some other symbol (see
-       * Relationship.is_definition).
-       * 
- * - * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; - */ - public scip.Scip.SymbolInformation.Builder addSymbolsBuilder( - int index) { - return internalGetSymbolsFieldBuilder().addBuilder( - index, scip.Scip.SymbolInformation.getDefaultInstance()); - } - /** - *
-       * Symbols that are "defined" within this document.
-       *
-       * This should include symbols which technically do not have any definition,
-       * but have a reference and are defined by some other symbol (see
-       * Relationship.is_definition).
-       * 
- * - * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; - */ - public java.util.List - getSymbolsBuilderList() { - return internalGetSymbolsFieldBuilder().getBuilderList(); - } - private com.google.protobuf.RepeatedFieldBuilder< - scip.Scip.SymbolInformation, scip.Scip.SymbolInformation.Builder, scip.Scip.SymbolInformationOrBuilder> - internalGetSymbolsFieldBuilder() { - if (symbolsBuilder_ == null) { - symbolsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder< - scip.Scip.SymbolInformation, scip.Scip.SymbolInformation.Builder, scip.Scip.SymbolInformationOrBuilder>( - symbols_, - ((bitField0_ & 0x00000008) != 0), - getParentForChildren(), - isClean()); - symbols_ = null; - } - return symbolsBuilder_; - } - - private java.lang.Object text_ = ""; - /** - *
-       * (optional) Text contents of this document. Indexers are not expected to
-       * include the text by default. It's preferable that clients read the text
-       * contents from the file system by resolving the absolute path from joining
-       * `Index.metadata.project_root` and `Document.relative_path`. This field
-       * can be useful for testing or when working with virtual/in-memory documents.
-       * 
- * - * string text = 5 [json_name = "text"]; - * @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; - } - } - /** - *
-       * (optional) Text contents of this document. Indexers are not expected to
-       * include the text by default. It's preferable that clients read the text
-       * contents from the file system by resolving the absolute path from joining
-       * `Index.metadata.project_root` and `Document.relative_path`. This field
-       * can be useful for testing or when working with virtual/in-memory documents.
-       * 
- * - * string text = 5 [json_name = "text"]; - * @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; - } - } - /** - *
-       * (optional) Text contents of this document. Indexers are not expected to
-       * include the text by default. It's preferable that clients read the text
-       * contents from the file system by resolving the absolute path from joining
-       * `Index.metadata.project_root` and `Document.relative_path`. This field
-       * can be useful for testing or when working with virtual/in-memory documents.
-       * 
- * - * string text = 5 [json_name = "text"]; - * @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; - bitField0_ |= 0x00000010; - onChanged(); - return this; - } - /** - *
-       * (optional) Text contents of this document. Indexers are not expected to
-       * include the text by default. It's preferable that clients read the text
-       * contents from the file system by resolving the absolute path from joining
-       * `Index.metadata.project_root` and `Document.relative_path`. This field
-       * can be useful for testing or when working with virtual/in-memory documents.
-       * 
- * - * string text = 5 [json_name = "text"]; - * @return This builder for chaining. - */ - public Builder clearText() { - text_ = getDefaultInstance().getText(); - bitField0_ = (bitField0_ & ~0x00000010); - onChanged(); - return this; - } - /** - *
-       * (optional) Text contents of this document. Indexers are not expected to
-       * include the text by default. It's preferable that clients read the text
-       * contents from the file system by resolving the absolute path from joining
-       * `Index.metadata.project_root` and `Document.relative_path`. This field
-       * can be useful for testing or when working with virtual/in-memory documents.
-       * 
- * - * string text = 5 [json_name = "text"]; - * @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; - bitField0_ |= 0x00000010; - onChanged(); - return this; - } - - private int positionEncoding_ = 0; - /** - *
-       * Specifies the encoding used for source ranges in this Document.
-       *
-       * Usually, this will match the type used to index the string type
-       * in the indexer's implementation language in O(1) time.
-       * - For an indexer implemented in JVM/.NET language or JavaScript/TypeScript,
-       * use UTF16CodeUnitOffsetFromLineStart.
-       * - For an indexer implemented in Python,
-       * use UTF32CodeUnitOffsetFromLineStart.
-       * - For an indexer implemented in Go, Rust or C++,
-       * use UTF8ByteOffsetFromLineStart.
-       * 
- * - * .scip.PositionEncoding position_encoding = 6 [json_name = "positionEncoding"]; - * @return The enum numeric value on the wire for positionEncoding. - */ - @java.lang.Override public int getPositionEncodingValue() { - return positionEncoding_; - } - /** - *
-       * Specifies the encoding used for source ranges in this Document.
-       *
-       * Usually, this will match the type used to index the string type
-       * in the indexer's implementation language in O(1) time.
-       * - For an indexer implemented in JVM/.NET language or JavaScript/TypeScript,
-       * use UTF16CodeUnitOffsetFromLineStart.
-       * - For an indexer implemented in Python,
-       * use UTF32CodeUnitOffsetFromLineStart.
-       * - For an indexer implemented in Go, Rust or C++,
-       * use UTF8ByteOffsetFromLineStart.
-       * 
- * - * .scip.PositionEncoding position_encoding = 6 [json_name = "positionEncoding"]; - * @param value The enum numeric value on the wire for positionEncoding to set. - * @return This builder for chaining. - */ - public Builder setPositionEncodingValue(int value) { - positionEncoding_ = value; - bitField0_ |= 0x00000020; - onChanged(); - return this; - } - /** - *
-       * Specifies the encoding used for source ranges in this Document.
-       *
-       * Usually, this will match the type used to index the string type
-       * in the indexer's implementation language in O(1) time.
-       * - For an indexer implemented in JVM/.NET language or JavaScript/TypeScript,
-       * use UTF16CodeUnitOffsetFromLineStart.
-       * - For an indexer implemented in Python,
-       * use UTF32CodeUnitOffsetFromLineStart.
-       * - For an indexer implemented in Go, Rust or C++,
-       * use UTF8ByteOffsetFromLineStart.
-       * 
- * - * .scip.PositionEncoding position_encoding = 6 [json_name = "positionEncoding"]; - * @return The positionEncoding. - */ - @java.lang.Override - public scip.Scip.PositionEncoding getPositionEncoding() { - scip.Scip.PositionEncoding result = scip.Scip.PositionEncoding.forNumber(positionEncoding_); - return result == null ? scip.Scip.PositionEncoding.UNRECOGNIZED : result; - } - /** - *
-       * Specifies the encoding used for source ranges in this Document.
-       *
-       * Usually, this will match the type used to index the string type
-       * in the indexer's implementation language in O(1) time.
-       * - For an indexer implemented in JVM/.NET language or JavaScript/TypeScript,
-       * use UTF16CodeUnitOffsetFromLineStart.
-       * - For an indexer implemented in Python,
-       * use UTF32CodeUnitOffsetFromLineStart.
-       * - For an indexer implemented in Go, Rust or C++,
-       * use UTF8ByteOffsetFromLineStart.
-       * 
- * - * .scip.PositionEncoding position_encoding = 6 [json_name = "positionEncoding"]; - * @param value The positionEncoding to set. - * @return This builder for chaining. - */ - public Builder setPositionEncoding(scip.Scip.PositionEncoding value) { - if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000020; - positionEncoding_ = value.getNumber(); - onChanged(); - return this; - } - /** - *
-       * Specifies the encoding used for source ranges in this Document.
-       *
-       * Usually, this will match the type used to index the string type
-       * in the indexer's implementation language in O(1) time.
-       * - For an indexer implemented in JVM/.NET language or JavaScript/TypeScript,
-       * use UTF16CodeUnitOffsetFromLineStart.
-       * - For an indexer implemented in Python,
-       * use UTF32CodeUnitOffsetFromLineStart.
-       * - For an indexer implemented in Go, Rust or C++,
-       * use UTF8ByteOffsetFromLineStart.
-       * 
- * - * .scip.PositionEncoding position_encoding = 6 [json_name = "positionEncoding"]; - * @return This builder for chaining. - */ - public Builder clearPositionEncoding() { - bitField0_ = (bitField0_ & ~0x00000020); - positionEncoding_ = 0; - onChanged(); - return this; - } - - // @@protoc_insertion_point(builder_scope:scip.Document) - } - - // @@protoc_insertion_point(class_scope:scip.Document) - private static final scip.Scip.Document DEFAULT_INSTANCE; - static { - DEFAULT_INSTANCE = new scip.Scip.Document(); - } - - public static scip.Scip.Document getDefaultInstance() { - return DEFAULT_INSTANCE; - } - - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { - @java.lang.Override - public Document parsePartialFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - Builder builder = newBuilder(); - try { - builder.mergeFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.setUnfinishedMessage(builder.buildPartial()); - } catch (com.google.protobuf.UninitializedMessageException e) { - throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); - } catch (java.io.IOException e) { - throw new com.google.protobuf.InvalidProtocolBufferException(e) - .setUnfinishedMessage(builder.buildPartial()); - } - return builder.buildPartial(); - } - }; - - public static com.google.protobuf.Parser parser() { - return PARSER; - } - - @java.lang.Override - public com.google.protobuf.Parser getParserForType() { - return PARSER; - } - - @java.lang.Override - public scip.Scip.Document getDefaultInstanceForType() { - return DEFAULT_INSTANCE; - } - - } - - public interface SymbolOrBuilder extends - // @@protoc_insertion_point(interface_extends:scip.Symbol) - com.google.protobuf.MessageOrBuilder { - - /** - * string scheme = 1 [json_name = "scheme"]; - * @return The scheme. - */ - java.lang.String getScheme(); - /** - * string scheme = 1 [json_name = "scheme"]; - * @return The bytes for scheme. - */ - com.google.protobuf.ByteString - getSchemeBytes(); - - /** - * .scip.Package package = 2 [json_name = "package"]; - * @return Whether the package field is set. - */ - boolean hasPackage(); - /** - * .scip.Package package = 2 [json_name = "package"]; - * @return The package. - */ - scip.Scip.Package getPackage(); - /** - * .scip.Package package = 2 [json_name = "package"]; - */ - scip.Scip.PackageOrBuilder getPackageOrBuilder(); - - /** - * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; - */ - java.util.List - getDescriptorsList(); - /** - * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; - */ - scip.Scip.Descriptor getDescriptors(int index); - /** - * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; - */ - int getDescriptorsCount(); - /** - * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; - */ - java.util.List - getDescriptorsOrBuilderList(); - /** - * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; - */ - scip.Scip.DescriptorOrBuilder getDescriptorsOrBuilder( - int index); - } - /** - *
-   * Symbol is similar to a URI, it identifies a class, method, or a local
-   * variable. `SymbolInformation` contains rich metadata about symbols such as
-   * the docstring.
-   *
-   * Symbol has a standardized string representation, which can be used
-   * interchangeably with `Symbol`. The syntax for Symbol is the following:
-   * ```
-   * # (<x>)+ stands for one or more repetitions of <x>
-   * # (<x>)? stands for zero or one occurrence of <x>
-   * <symbol>               ::= <scheme> ' ' <package> ' ' (<descriptor>)+ | 'local ' <local-id>
-   * <package>              ::= <manager> ' ' <package-name> ' ' <version>
-   * <scheme>               ::= any UTF-8, escape spaces with double space. Must not be empty nor start with 'local'
-   * <manager>              ::= any UTF-8, escape spaces with double space. Use the placeholder '.' to indicate an empty value
-   * <package-name>         ::= same as above
-   * <version>              ::= same as above
-   * <descriptor>           ::= <namespace> | <type> | <term> | <method> | <type-parameter> | <parameter> | <meta> | <macro>
-   * <namespace>            ::= <name> '/'
-   * <type>                 ::= <name> '#'
-   * <term>                 ::= <name> '.'
-   * <meta>                 ::= <name> ':'
-   * <macro>                ::= <name> '!'
-   * <method>               ::= <name> '(' (<method-disambiguator>)? ').'
-   * <type-parameter>       ::= '[' <name> ']'
-   * <parameter>            ::= '(' <name> ')'
-   * <name>                 ::= <identifier>
-   * <method-disambiguator> ::= <simple-identifier>
-   * <identifier>           ::= <simple-identifier> | <escaped-identifier>
-   * <simple-identifier>    ::= (<identifier-character>)+
-   * <identifier-character> ::= '_' | '+' | '-' | '$' | ASCII letter or digit
-   * <escaped-identifier>   ::= '`' (<escaped-character>)+ '`', must contain at least one non-<identifier-character>
-   * <escaped-characters>   ::= any UTF-8, escape backticks with double backtick.
-   * <local-id>             ::= <simple-identifier>
-   * ```
-   *
-   * The list of descriptors for a symbol should together form a fully
-   * qualified name for the symbol. That is, it should serve as a unique
-   * identifier across the package. Typically, it will include one descriptor
-   * for every node in the AST (along the ancestry path) between the root of
-   * the file and the node corresponding to the symbol.
-   *
-   * Local symbols MUST only be used for entities which are local to a Document,
-   * and cannot be accessed from outside the Document.
-   * 
- * - * Protobuf type {@code scip.Symbol} - */ - public static final class Symbol extends - com.google.protobuf.GeneratedMessage implements - // @@protoc_insertion_point(message_implements:scip.Symbol) - SymbolOrBuilder { - private static final long serialVersionUID = 0L; - static { - com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( - com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, - /* major= */ 4, - /* minor= */ 32, - /* patch= */ 1, - /* suffix= */ "", - Symbol.class.getName()); - } - // Use Symbol.newBuilder() to construct. - private Symbol(com.google.protobuf.GeneratedMessage.Builder builder) { - super(builder); - } - private Symbol() { - scheme_ = ""; - descriptors_ = java.util.Collections.emptyList(); - } - - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return scip.Scip.internal_static_scip_Symbol_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessage.FieldAccessorTable - internalGetFieldAccessorTable() { - return scip.Scip.internal_static_scip_Symbol_fieldAccessorTable - .ensureFieldAccessorsInitialized( - scip.Scip.Symbol.class, scip.Scip.Symbol.Builder.class); - } - - private int bitField0_; - public static final int SCHEME_FIELD_NUMBER = 1; - @SuppressWarnings("serial") - private volatile java.lang.Object scheme_ = ""; - /** - * string scheme = 1 [json_name = "scheme"]; - * @return The scheme. - */ - @java.lang.Override - public java.lang.String getScheme() { - java.lang.Object ref = scheme_; - 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(); - scheme_ = s; - return s; - } - } - /** - * string scheme = 1 [json_name = "scheme"]; - * @return The bytes for scheme. - */ - @java.lang.Override - public com.google.protobuf.ByteString - getSchemeBytes() { - java.lang.Object ref = scheme_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - scheme_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - - public static final int PACKAGE_FIELD_NUMBER = 2; - private scip.Scip.Package package_; - /** - * .scip.Package package = 2 [json_name = "package"]; - * @return Whether the package field is set. - */ - @java.lang.Override - public boolean hasPackage() { - return ((bitField0_ & 0x00000001) != 0); - } - /** - * .scip.Package package = 2 [json_name = "package"]; - * @return The package. - */ - @java.lang.Override - public scip.Scip.Package getPackage() { - return package_ == null ? scip.Scip.Package.getDefaultInstance() : package_; - } - /** - * .scip.Package package = 2 [json_name = "package"]; - */ - @java.lang.Override - public scip.Scip.PackageOrBuilder getPackageOrBuilder() { - return package_ == null ? scip.Scip.Package.getDefaultInstance() : package_; - } - - public static final int DESCRIPTORS_FIELD_NUMBER = 3; - @SuppressWarnings("serial") - private java.util.List descriptors_; - /** - * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; - */ - @java.lang.Override - public java.util.List getDescriptorsList() { - return descriptors_; - } - /** - * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; - */ - @java.lang.Override - public java.util.List - getDescriptorsOrBuilderList() { - return descriptors_; - } - /** - * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; - */ - @java.lang.Override - public int getDescriptorsCount() { - return descriptors_.size(); - } - /** - * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; - */ - @java.lang.Override - public scip.Scip.Descriptor getDescriptors(int index) { - return descriptors_.get(index); - } - /** - * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; - */ - @java.lang.Override - public scip.Scip.DescriptorOrBuilder getDescriptorsOrBuilder( - int index) { - return descriptors_.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 (!com.google.protobuf.GeneratedMessage.isStringEmpty(scheme_)) { - com.google.protobuf.GeneratedMessage.writeString(output, 1, scheme_); - } - if (((bitField0_ & 0x00000001) != 0)) { - output.writeMessage(2, getPackage()); - } - for (int i = 0; i < descriptors_.size(); i++) { - output.writeMessage(3, descriptors_.get(i)); - } - getUnknownFields().writeTo(output); - } - - @java.lang.Override - public int getSerializedSize() { - int size = memoizedSize; - if (size != -1) return size; - - size = 0; - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(scheme_)) { - size += com.google.protobuf.GeneratedMessage.computeStringSize(1, scheme_); - } - if (((bitField0_ & 0x00000001) != 0)) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(2, getPackage()); - } - for (int i = 0; i < descriptors_.size(); i++) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(3, descriptors_.get(i)); - } - size += getUnknownFields().getSerializedSize(); - memoizedSize = size; - return size; - } - - @java.lang.Override - public boolean equals(final java.lang.Object obj) { - if (obj == this) { - return true; - } - if (!(obj instanceof scip.Scip.Symbol)) { - return super.equals(obj); - } - scip.Scip.Symbol other = (scip.Scip.Symbol) obj; - - if (!getScheme() - .equals(other.getScheme())) return false; - if (hasPackage() != other.hasPackage()) return false; - if (hasPackage()) { - if (!getPackage() - .equals(other.getPackage())) return false; - } - if (!getDescriptorsList() - .equals(other.getDescriptorsList())) return false; - if (!getUnknownFields().equals(other.getUnknownFields())) 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) + SCHEME_FIELD_NUMBER; - hash = (53 * hash) + getScheme().hashCode(); - if (hasPackage()) { - hash = (37 * hash) + PACKAGE_FIELD_NUMBER; - hash = (53 * hash) + getPackage().hashCode(); - } - if (getDescriptorsCount() > 0) { - hash = (37 * hash) + DESCRIPTORS_FIELD_NUMBER; - hash = (53 * hash) + getDescriptorsList().hashCode(); - } - hash = (29 * hash) + getUnknownFields().hashCode(); - memoizedHashCode = hash; - return hash; - } - - public static scip.Scip.Symbol parseFrom( - java.nio.ByteBuffer data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static scip.Scip.Symbol parseFrom( - java.nio.ByteBuffer data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static scip.Scip.Symbol parseFrom( - com.google.protobuf.ByteString data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static scip.Scip.Symbol parseFrom( - com.google.protobuf.ByteString data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static scip.Scip.Symbol parseFrom(byte[] data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static scip.Scip.Symbol parseFrom( - byte[] data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static scip.Scip.Symbol parseFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input); - } - public static scip.Scip.Symbol parseFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input, extensionRegistry); - } - - public static scip.Scip.Symbol parseDelimitedFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseDelimitedWithIOException(PARSER, input); - } - - public static scip.Scip.Symbol parseDelimitedFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseDelimitedWithIOException(PARSER, input, extensionRegistry); - } - public static scip.Scip.Symbol parseFrom( - com.google.protobuf.CodedInputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input); - } - public static scip.Scip.Symbol parseFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input, extensionRegistry); - } - - @java.lang.Override - public Builder newBuilderForType() { return newBuilder(); } - public static Builder newBuilder() { - return DEFAULT_INSTANCE.toBuilder(); - } - public static Builder newBuilder(scip.Scip.Symbol 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.GeneratedMessage.BuilderParent parent) { - Builder builder = new Builder(parent); - return builder; - } - /** - *
-     * Symbol is similar to a URI, it identifies a class, method, or a local
-     * variable. `SymbolInformation` contains rich metadata about symbols such as
-     * the docstring.
-     *
-     * Symbol has a standardized string representation, which can be used
-     * interchangeably with `Symbol`. The syntax for Symbol is the following:
-     * ```
-     * # (<x>)+ stands for one or more repetitions of <x>
-     * # (<x>)? stands for zero or one occurrence of <x>
-     * <symbol>               ::= <scheme> ' ' <package> ' ' (<descriptor>)+ | 'local ' <local-id>
-     * <package>              ::= <manager> ' ' <package-name> ' ' <version>
-     * <scheme>               ::= any UTF-8, escape spaces with double space. Must not be empty nor start with 'local'
-     * <manager>              ::= any UTF-8, escape spaces with double space. Use the placeholder '.' to indicate an empty value
-     * <package-name>         ::= same as above
-     * <version>              ::= same as above
-     * <descriptor>           ::= <namespace> | <type> | <term> | <method> | <type-parameter> | <parameter> | <meta> | <macro>
-     * <namespace>            ::= <name> '/'
-     * <type>                 ::= <name> '#'
-     * <term>                 ::= <name> '.'
-     * <meta>                 ::= <name> ':'
-     * <macro>                ::= <name> '!'
-     * <method>               ::= <name> '(' (<method-disambiguator>)? ').'
-     * <type-parameter>       ::= '[' <name> ']'
-     * <parameter>            ::= '(' <name> ')'
-     * <name>                 ::= <identifier>
-     * <method-disambiguator> ::= <simple-identifier>
-     * <identifier>           ::= <simple-identifier> | <escaped-identifier>
-     * <simple-identifier>    ::= (<identifier-character>)+
-     * <identifier-character> ::= '_' | '+' | '-' | '$' | ASCII letter or digit
-     * <escaped-identifier>   ::= '`' (<escaped-character>)+ '`', must contain at least one non-<identifier-character>
-     * <escaped-characters>   ::= any UTF-8, escape backticks with double backtick.
-     * <local-id>             ::= <simple-identifier>
-     * ```
-     *
-     * The list of descriptors for a symbol should together form a fully
-     * qualified name for the symbol. That is, it should serve as a unique
-     * identifier across the package. Typically, it will include one descriptor
-     * for every node in the AST (along the ancestry path) between the root of
-     * the file and the node corresponding to the symbol.
-     *
-     * Local symbols MUST only be used for entities which are local to a Document,
-     * and cannot be accessed from outside the Document.
-     * 
- * - * Protobuf type {@code scip.Symbol} - */ - public static final class Builder extends - com.google.protobuf.GeneratedMessage.Builder implements - // @@protoc_insertion_point(builder_implements:scip.Symbol) - scip.Scip.SymbolOrBuilder { - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return scip.Scip.internal_static_scip_Symbol_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessage.FieldAccessorTable - internalGetFieldAccessorTable() { - return scip.Scip.internal_static_scip_Symbol_fieldAccessorTable - .ensureFieldAccessorsInitialized( - scip.Scip.Symbol.class, scip.Scip.Symbol.Builder.class); - } - - // Construct using scip.Scip.Symbol.newBuilder() - private Builder() { - maybeForceBuilderInitialization(); - } - - private Builder( - com.google.protobuf.GeneratedMessage.BuilderParent parent) { - super(parent); - maybeForceBuilderInitialization(); - } - private void maybeForceBuilderInitialization() { - if (com.google.protobuf.GeneratedMessage - .alwaysUseFieldBuilders) { - internalGetPackageFieldBuilder(); - internalGetDescriptorsFieldBuilder(); - } - } - @java.lang.Override - public Builder clear() { - super.clear(); - bitField0_ = 0; - scheme_ = ""; - package_ = null; - if (packageBuilder_ != null) { - packageBuilder_.dispose(); - packageBuilder_ = null; - } - if (descriptorsBuilder_ == null) { - descriptors_ = java.util.Collections.emptyList(); - } else { - descriptors_ = null; - descriptorsBuilder_.clear(); - } - bitField0_ = (bitField0_ & ~0x00000004); - return this; - } - - @java.lang.Override - public com.google.protobuf.Descriptors.Descriptor - getDescriptorForType() { - return scip.Scip.internal_static_scip_Symbol_descriptor; - } - - @java.lang.Override - public scip.Scip.Symbol getDefaultInstanceForType() { - return scip.Scip.Symbol.getDefaultInstance(); - } - - @java.lang.Override - public scip.Scip.Symbol build() { - scip.Scip.Symbol result = buildPartial(); - if (!result.isInitialized()) { - throw newUninitializedMessageException(result); - } - return result; - } - - @java.lang.Override - public scip.Scip.Symbol buildPartial() { - scip.Scip.Symbol result = new scip.Scip.Symbol(this); - buildPartialRepeatedFields(result); - if (bitField0_ != 0) { buildPartial0(result); } - onBuilt(); - return result; - } - - private void buildPartialRepeatedFields(scip.Scip.Symbol result) { - if (descriptorsBuilder_ == null) { - if (((bitField0_ & 0x00000004) != 0)) { - descriptors_ = java.util.Collections.unmodifiableList(descriptors_); - bitField0_ = (bitField0_ & ~0x00000004); - } - result.descriptors_ = descriptors_; - } else { - result.descriptors_ = descriptorsBuilder_.build(); - } - } - - private void buildPartial0(scip.Scip.Symbol result) { - int from_bitField0_ = bitField0_; - if (((from_bitField0_ & 0x00000001) != 0)) { - result.scheme_ = scheme_; - } - int to_bitField0_ = 0; - if (((from_bitField0_ & 0x00000002) != 0)) { - result.package_ = packageBuilder_ == null - ? package_ - : packageBuilder_.build(); - to_bitField0_ |= 0x00000001; - } - result.bitField0_ |= to_bitField0_; - } - - @java.lang.Override - public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof scip.Scip.Symbol) { - return mergeFrom((scip.Scip.Symbol)other); - } else { - super.mergeFrom(other); - return this; - } - } - - public Builder mergeFrom(scip.Scip.Symbol other) { - if (other == scip.Scip.Symbol.getDefaultInstance()) return this; - if (!other.getScheme().isEmpty()) { - scheme_ = other.scheme_; - bitField0_ |= 0x00000001; - onChanged(); - } - if (other.hasPackage()) { - mergePackage(other.getPackage()); - } - if (descriptorsBuilder_ == null) { - if (!other.descriptors_.isEmpty()) { - if (descriptors_.isEmpty()) { - descriptors_ = other.descriptors_; - bitField0_ = (bitField0_ & ~0x00000004); - } else { - ensureDescriptorsIsMutable(); - descriptors_.addAll(other.descriptors_); - } - onChanged(); - } - } else { - if (!other.descriptors_.isEmpty()) { - if (descriptorsBuilder_.isEmpty()) { - descriptorsBuilder_.dispose(); - descriptorsBuilder_ = null; - descriptors_ = other.descriptors_; - bitField0_ = (bitField0_ & ~0x00000004); - descriptorsBuilder_ = - com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ? - internalGetDescriptorsFieldBuilder() : null; - } else { - descriptorsBuilder_.addAllMessages(other.descriptors_); - } - } - } - this.mergeUnknownFields(other.getUnknownFields()); - 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 { - if (extensionRegistry == null) { - throw new java.lang.NullPointerException(); - } - try { - boolean done = false; - while (!done) { - int tag = input.readTag(); - switch (tag) { - case 0: - done = true; - break; - case 10: { - scheme_ = input.readStringRequireUtf8(); - bitField0_ |= 0x00000001; - break; - } // case 10 - case 18: { - input.readMessage( - internalGetPackageFieldBuilder().getBuilder(), - extensionRegistry); - bitField0_ |= 0x00000002; - break; - } // case 18 - case 26: { - scip.Scip.Descriptor m = - input.readMessage( - scip.Scip.Descriptor.parser(), - extensionRegistry); - if (descriptorsBuilder_ == null) { - ensureDescriptorsIsMutable(); - descriptors_.add(m); - } else { - descriptorsBuilder_.addMessage(m); - } - break; - } // case 26 - default: { - if (!super.parseUnknownField(input, extensionRegistry, tag)) { - done = true; // was an endgroup tag - } - break; - } // default: - } // switch (tag) - } // while (!done) - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.unwrapIOException(); - } finally { - onChanged(); - } // finally - return this; - } - private int bitField0_; - - private java.lang.Object scheme_ = ""; - /** - * string scheme = 1 [json_name = "scheme"]; - * @return The scheme. - */ - public java.lang.String getScheme() { - java.lang.Object ref = scheme_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - scheme_ = s; - return s; - } else { - return (java.lang.String) ref; - } - } - /** - * string scheme = 1 [json_name = "scheme"]; - * @return The bytes for scheme. - */ - public com.google.protobuf.ByteString - getSchemeBytes() { - java.lang.Object ref = scheme_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - scheme_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - /** - * string scheme = 1 [json_name = "scheme"]; - * @param value The scheme to set. - * @return This builder for chaining. - */ - public Builder setScheme( - java.lang.String value) { - if (value == null) { throw new NullPointerException(); } - scheme_ = value; - bitField0_ |= 0x00000001; - onChanged(); - return this; - } - /** - * string scheme = 1 [json_name = "scheme"]; - * @return This builder for chaining. - */ - public Builder clearScheme() { - scheme_ = getDefaultInstance().getScheme(); - bitField0_ = (bitField0_ & ~0x00000001); - onChanged(); - return this; - } - /** - * string scheme = 1 [json_name = "scheme"]; - * @param value The bytes for scheme to set. - * @return This builder for chaining. - */ - public Builder setSchemeBytes( - com.google.protobuf.ByteString value) { - if (value == null) { throw new NullPointerException(); } - checkByteStringIsUtf8(value); - scheme_ = value; - bitField0_ |= 0x00000001; - onChanged(); - return this; - } - - private scip.Scip.Package package_; - private com.google.protobuf.SingleFieldBuilder< - scip.Scip.Package, scip.Scip.Package.Builder, scip.Scip.PackageOrBuilder> packageBuilder_; - /** - * .scip.Package package = 2 [json_name = "package"]; - * @return Whether the package field is set. - */ - public boolean hasPackage() { - return ((bitField0_ & 0x00000002) != 0); - } - /** - * .scip.Package package = 2 [json_name = "package"]; - * @return The package. - */ - public scip.Scip.Package getPackage() { - if (packageBuilder_ == null) { - return package_ == null ? scip.Scip.Package.getDefaultInstance() : package_; - } else { - return packageBuilder_.getMessage(); - } - } - /** - * .scip.Package package = 2 [json_name = "package"]; - */ - public Builder setPackage(scip.Scip.Package value) { - if (packageBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - package_ = value; - } else { - packageBuilder_.setMessage(value); - } - bitField0_ |= 0x00000002; - onChanged(); - return this; - } - /** - * .scip.Package package = 2 [json_name = "package"]; - */ - public Builder setPackage( - scip.Scip.Package.Builder builderForValue) { - if (packageBuilder_ == null) { - package_ = builderForValue.build(); - } else { - packageBuilder_.setMessage(builderForValue.build()); - } - bitField0_ |= 0x00000002; - onChanged(); - return this; - } - /** - * .scip.Package package = 2 [json_name = "package"]; - */ - public Builder mergePackage(scip.Scip.Package value) { - if (packageBuilder_ == null) { - if (((bitField0_ & 0x00000002) != 0) && - package_ != null && - package_ != scip.Scip.Package.getDefaultInstance()) { - getPackageBuilder().mergeFrom(value); - } else { - package_ = value; - } - } else { - packageBuilder_.mergeFrom(value); - } - if (package_ != null) { - bitField0_ |= 0x00000002; - onChanged(); - } - return this; - } - /** - * .scip.Package package = 2 [json_name = "package"]; - */ - public Builder clearPackage() { - bitField0_ = (bitField0_ & ~0x00000002); - package_ = null; - if (packageBuilder_ != null) { - packageBuilder_.dispose(); - packageBuilder_ = null; - } - onChanged(); - return this; - } - /** - * .scip.Package package = 2 [json_name = "package"]; - */ - public scip.Scip.Package.Builder getPackageBuilder() { - bitField0_ |= 0x00000002; - onChanged(); - return internalGetPackageFieldBuilder().getBuilder(); - } - /** - * .scip.Package package = 2 [json_name = "package"]; - */ - public scip.Scip.PackageOrBuilder getPackageOrBuilder() { - if (packageBuilder_ != null) { - return packageBuilder_.getMessageOrBuilder(); - } else { - return package_ == null ? - scip.Scip.Package.getDefaultInstance() : package_; - } - } - /** - * .scip.Package package = 2 [json_name = "package"]; - */ - private com.google.protobuf.SingleFieldBuilder< - scip.Scip.Package, scip.Scip.Package.Builder, scip.Scip.PackageOrBuilder> - internalGetPackageFieldBuilder() { - if (packageBuilder_ == null) { - packageBuilder_ = new com.google.protobuf.SingleFieldBuilder< - scip.Scip.Package, scip.Scip.Package.Builder, scip.Scip.PackageOrBuilder>( - getPackage(), - getParentForChildren(), - isClean()); - package_ = null; - } - return packageBuilder_; - } - - private java.util.List descriptors_ = - java.util.Collections.emptyList(); - private void ensureDescriptorsIsMutable() { - if (!((bitField0_ & 0x00000004) != 0)) { - descriptors_ = new java.util.ArrayList(descriptors_); - bitField0_ |= 0x00000004; - } - } - - private com.google.protobuf.RepeatedFieldBuilder< - scip.Scip.Descriptor, scip.Scip.Descriptor.Builder, scip.Scip.DescriptorOrBuilder> descriptorsBuilder_; - - /** - * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; - */ - public java.util.List getDescriptorsList() { - if (descriptorsBuilder_ == null) { - return java.util.Collections.unmodifiableList(descriptors_); - } else { - return descriptorsBuilder_.getMessageList(); - } - } - /** - * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; - */ - public int getDescriptorsCount() { - if (descriptorsBuilder_ == null) { - return descriptors_.size(); - } else { - return descriptorsBuilder_.getCount(); - } - } - /** - * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; - */ - public scip.Scip.Descriptor getDescriptors(int index) { - if (descriptorsBuilder_ == null) { - return descriptors_.get(index); - } else { - return descriptorsBuilder_.getMessage(index); - } - } - /** - * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; - */ - public Builder setDescriptors( - int index, scip.Scip.Descriptor value) { - if (descriptorsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureDescriptorsIsMutable(); - descriptors_.set(index, value); - onChanged(); - } else { - descriptorsBuilder_.setMessage(index, value); - } - return this; - } - /** - * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; - */ - public Builder setDescriptors( - int index, scip.Scip.Descriptor.Builder builderForValue) { - if (descriptorsBuilder_ == null) { - ensureDescriptorsIsMutable(); - descriptors_.set(index, builderForValue.build()); - onChanged(); - } else { - descriptorsBuilder_.setMessage(index, builderForValue.build()); - } - return this; - } - /** - * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; - */ - public Builder addDescriptors(scip.Scip.Descriptor value) { - if (descriptorsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureDescriptorsIsMutable(); - descriptors_.add(value); - onChanged(); - } else { - descriptorsBuilder_.addMessage(value); - } - return this; - } - /** - * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; - */ - public Builder addDescriptors( - int index, scip.Scip.Descriptor value) { - if (descriptorsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureDescriptorsIsMutable(); - descriptors_.add(index, value); - onChanged(); - } else { - descriptorsBuilder_.addMessage(index, value); - } - return this; - } - /** - * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; - */ - public Builder addDescriptors( - scip.Scip.Descriptor.Builder builderForValue) { - if (descriptorsBuilder_ == null) { - ensureDescriptorsIsMutable(); - descriptors_.add(builderForValue.build()); - onChanged(); - } else { - descriptorsBuilder_.addMessage(builderForValue.build()); - } - return this; - } - /** - * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; - */ - public Builder addDescriptors( - int index, scip.Scip.Descriptor.Builder builderForValue) { - if (descriptorsBuilder_ == null) { - ensureDescriptorsIsMutable(); - descriptors_.add(index, builderForValue.build()); - onChanged(); - } else { - descriptorsBuilder_.addMessage(index, builderForValue.build()); - } - return this; - } - /** - * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; - */ - public Builder addAllDescriptors( - java.lang.Iterable values) { - if (descriptorsBuilder_ == null) { - ensureDescriptorsIsMutable(); - com.google.protobuf.AbstractMessageLite.Builder.addAll( - values, descriptors_); - onChanged(); - } else { - descriptorsBuilder_.addAllMessages(values); - } - return this; - } - /** - * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; - */ - public Builder clearDescriptors() { - if (descriptorsBuilder_ == null) { - descriptors_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000004); - onChanged(); - } else { - descriptorsBuilder_.clear(); - } - return this; - } - /** - * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; - */ - public Builder removeDescriptors(int index) { - if (descriptorsBuilder_ == null) { - ensureDescriptorsIsMutable(); - descriptors_.remove(index); - onChanged(); - } else { - descriptorsBuilder_.remove(index); - } - return this; - } - /** - * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; - */ - public scip.Scip.Descriptor.Builder getDescriptorsBuilder( - int index) { - return internalGetDescriptorsFieldBuilder().getBuilder(index); - } - /** - * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; - */ - public scip.Scip.DescriptorOrBuilder getDescriptorsOrBuilder( - int index) { - if (descriptorsBuilder_ == null) { - return descriptors_.get(index); } else { - return descriptorsBuilder_.getMessageOrBuilder(index); - } - } - /** - * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; - */ - public java.util.List - getDescriptorsOrBuilderList() { - if (descriptorsBuilder_ != null) { - return descriptorsBuilder_.getMessageOrBuilderList(); - } else { - return java.util.Collections.unmodifiableList(descriptors_); - } - } - /** - * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; - */ - public scip.Scip.Descriptor.Builder addDescriptorsBuilder() { - return internalGetDescriptorsFieldBuilder().addBuilder( - scip.Scip.Descriptor.getDefaultInstance()); - } - /** - * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; - */ - public scip.Scip.Descriptor.Builder addDescriptorsBuilder( - int index) { - return internalGetDescriptorsFieldBuilder().addBuilder( - index, scip.Scip.Descriptor.getDefaultInstance()); - } - /** - * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; - */ - public java.util.List - getDescriptorsBuilderList() { - return internalGetDescriptorsFieldBuilder().getBuilderList(); - } - private com.google.protobuf.RepeatedFieldBuilder< - scip.Scip.Descriptor, scip.Scip.Descriptor.Builder, scip.Scip.DescriptorOrBuilder> - internalGetDescriptorsFieldBuilder() { - if (descriptorsBuilder_ == null) { - descriptorsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder< - scip.Scip.Descriptor, scip.Scip.Descriptor.Builder, scip.Scip.DescriptorOrBuilder>( - descriptors_, - ((bitField0_ & 0x00000004) != 0), - getParentForChildren(), - isClean()); - descriptors_ = null; - } - return descriptorsBuilder_; - } - - // @@protoc_insertion_point(builder_scope:scip.Symbol) - } - - // @@protoc_insertion_point(class_scope:scip.Symbol) - private static final scip.Scip.Symbol DEFAULT_INSTANCE; - static { - DEFAULT_INSTANCE = new scip.Scip.Symbol(); - } - - public static scip.Scip.Symbol getDefaultInstance() { - return DEFAULT_INSTANCE; - } - - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { - @java.lang.Override - public Symbol parsePartialFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - Builder builder = newBuilder(); - try { - builder.mergeFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.setUnfinishedMessage(builder.buildPartial()); - } catch (com.google.protobuf.UninitializedMessageException e) { - throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); - } catch (java.io.IOException e) { - throw new com.google.protobuf.InvalidProtocolBufferException(e) - .setUnfinishedMessage(builder.buildPartial()); - } - return builder.buildPartial(); - } - }; - - public static com.google.protobuf.Parser parser() { - return PARSER; - } - - @java.lang.Override - public com.google.protobuf.Parser getParserForType() { - return PARSER; - } - - @java.lang.Override - public scip.Scip.Symbol getDefaultInstanceForType() { - return DEFAULT_INSTANCE; - } - - } - - public interface PackageOrBuilder extends - // @@protoc_insertion_point(interface_extends:scip.Package) - com.google.protobuf.MessageOrBuilder { - - /** - * string manager = 1 [json_name = "manager"]; - * @return The manager. - */ - java.lang.String getManager(); - /** - * string manager = 1 [json_name = "manager"]; - * @return The bytes for manager. - */ - com.google.protobuf.ByteString - getManagerBytes(); - - /** - * string name = 2 [json_name = "name"]; - * @return The name. - */ - java.lang.String getName(); - /** - * string name = 2 [json_name = "name"]; - * @return The bytes for name. - */ - com.google.protobuf.ByteString - getNameBytes(); - - /** - * string version = 3 [json_name = "version"]; - * @return The version. - */ - java.lang.String getVersion(); - /** - * string version = 3 [json_name = "version"]; - * @return The bytes for version. - */ - com.google.protobuf.ByteString - getVersionBytes(); - } - /** - *
-   * Unit of packaging and distribution.
-   *
-   * NOTE: This corresponds to a module in Go and JVM languages.
-   * 
- * - * Protobuf type {@code scip.Package} - */ - public static final class Package extends - com.google.protobuf.GeneratedMessage implements - // @@protoc_insertion_point(message_implements:scip.Package) - PackageOrBuilder { - private static final long serialVersionUID = 0L; - static { - com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( - com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, - /* major= */ 4, - /* minor= */ 32, - /* patch= */ 1, - /* suffix= */ "", - Package.class.getName()); - } - // Use Package.newBuilder() to construct. - private Package(com.google.protobuf.GeneratedMessage.Builder builder) { - super(builder); - } - private Package() { - manager_ = ""; - name_ = ""; - version_ = ""; - } - - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return scip.Scip.internal_static_scip_Package_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessage.FieldAccessorTable - internalGetFieldAccessorTable() { - return scip.Scip.internal_static_scip_Package_fieldAccessorTable - .ensureFieldAccessorsInitialized( - scip.Scip.Package.class, scip.Scip.Package.Builder.class); - } - - public static final int MANAGER_FIELD_NUMBER = 1; - @SuppressWarnings("serial") - private volatile java.lang.Object manager_ = ""; - /** - * string manager = 1 [json_name = "manager"]; - * @return The manager. - */ - @java.lang.Override - public java.lang.String getManager() { - java.lang.Object ref = manager_; - 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(); - manager_ = s; - return s; - } - } - /** - * string manager = 1 [json_name = "manager"]; - * @return The bytes for manager. - */ - @java.lang.Override - public com.google.protobuf.ByteString - getManagerBytes() { - java.lang.Object ref = manager_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - manager_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - - public static final int NAME_FIELD_NUMBER = 2; - @SuppressWarnings("serial") - private volatile java.lang.Object name_ = ""; - /** - * string name = 2 [json_name = "name"]; - * @return The name. - */ - @java.lang.Override - public java.lang.String getName() { - java.lang.Object ref = name_; - 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(); - name_ = s; - return s; - } - } - /** - * string name = 2 [json_name = "name"]; - * @return The bytes for name. - */ - @java.lang.Override - public com.google.protobuf.ByteString - getNameBytes() { - java.lang.Object ref = name_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - name_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - - public static final int VERSION_FIELD_NUMBER = 3; - @SuppressWarnings("serial") - private volatile java.lang.Object version_ = ""; - /** - * string version = 3 [json_name = "version"]; - * @return The version. - */ - @java.lang.Override - public java.lang.String getVersion() { - java.lang.Object ref = version_; - 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(); - version_ = s; - return s; - } - } - /** - * string version = 3 [json_name = "version"]; - * @return The bytes for version. - */ - @java.lang.Override - public com.google.protobuf.ByteString - getVersionBytes() { - java.lang.Object ref = version_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - version_ = 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 (!com.google.protobuf.GeneratedMessage.isStringEmpty(manager_)) { - com.google.protobuf.GeneratedMessage.writeString(output, 1, manager_); - } - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) { - com.google.protobuf.GeneratedMessage.writeString(output, 2, name_); - } - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(version_)) { - com.google.protobuf.GeneratedMessage.writeString(output, 3, version_); - } - getUnknownFields().writeTo(output); - } - - @java.lang.Override - public int getSerializedSize() { - int size = memoizedSize; - if (size != -1) return size; - - size = 0; - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(manager_)) { - size += com.google.protobuf.GeneratedMessage.computeStringSize(1, manager_); - } - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) { - size += com.google.protobuf.GeneratedMessage.computeStringSize(2, name_); - } - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(version_)) { - size += com.google.protobuf.GeneratedMessage.computeStringSize(3, version_); - } - size += getUnknownFields().getSerializedSize(); - memoizedSize = size; - return size; - } - - @java.lang.Override - public boolean equals(final java.lang.Object obj) { - if (obj == this) { - return true; - } - if (!(obj instanceof scip.Scip.Package)) { - return super.equals(obj); - } - scip.Scip.Package other = (scip.Scip.Package) obj; - - if (!getManager() - .equals(other.getManager())) return false; - if (!getName() - .equals(other.getName())) return false; - if (!getVersion() - .equals(other.getVersion())) return false; - if (!getUnknownFields().equals(other.getUnknownFields())) 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) + MANAGER_FIELD_NUMBER; - hash = (53 * hash) + getManager().hashCode(); - hash = (37 * hash) + NAME_FIELD_NUMBER; - hash = (53 * hash) + getName().hashCode(); - hash = (37 * hash) + VERSION_FIELD_NUMBER; - hash = (53 * hash) + getVersion().hashCode(); - hash = (29 * hash) + getUnknownFields().hashCode(); - memoizedHashCode = hash; - return hash; - } - - public static scip.Scip.Package parseFrom( - java.nio.ByteBuffer data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static scip.Scip.Package parseFrom( - java.nio.ByteBuffer data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static scip.Scip.Package parseFrom( - com.google.protobuf.ByteString data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static scip.Scip.Package parseFrom( - com.google.protobuf.ByteString data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static scip.Scip.Package parseFrom(byte[] data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static scip.Scip.Package parseFrom( - byte[] data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static scip.Scip.Package parseFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input); - } - public static scip.Scip.Package parseFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input, extensionRegistry); - } - - public static scip.Scip.Package parseDelimitedFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseDelimitedWithIOException(PARSER, input); - } - - public static scip.Scip.Package parseDelimitedFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseDelimitedWithIOException(PARSER, input, extensionRegistry); - } - public static scip.Scip.Package parseFrom( - com.google.protobuf.CodedInputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input); - } - public static scip.Scip.Package parseFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input, extensionRegistry); - } - - @java.lang.Override - public Builder newBuilderForType() { return newBuilder(); } - public static Builder newBuilder() { - return DEFAULT_INSTANCE.toBuilder(); - } - public static Builder newBuilder(scip.Scip.Package 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.GeneratedMessage.BuilderParent parent) { - Builder builder = new Builder(parent); - return builder; - } - /** - *
-     * Unit of packaging and distribution.
-     *
-     * NOTE: This corresponds to a module in Go and JVM languages.
-     * 
- * - * Protobuf type {@code scip.Package} - */ - public static final class Builder extends - com.google.protobuf.GeneratedMessage.Builder implements - // @@protoc_insertion_point(builder_implements:scip.Package) - scip.Scip.PackageOrBuilder { - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return scip.Scip.internal_static_scip_Package_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessage.FieldAccessorTable - internalGetFieldAccessorTable() { - return scip.Scip.internal_static_scip_Package_fieldAccessorTable - .ensureFieldAccessorsInitialized( - scip.Scip.Package.class, scip.Scip.Package.Builder.class); - } - - // Construct using scip.Scip.Package.newBuilder() - private Builder() { - - } - - private Builder( - com.google.protobuf.GeneratedMessage.BuilderParent parent) { - super(parent); - - } - @java.lang.Override - public Builder clear() { - super.clear(); - bitField0_ = 0; - manager_ = ""; - name_ = ""; - version_ = ""; - return this; - } - - @java.lang.Override - public com.google.protobuf.Descriptors.Descriptor - getDescriptorForType() { - return scip.Scip.internal_static_scip_Package_descriptor; - } - - @java.lang.Override - public scip.Scip.Package getDefaultInstanceForType() { - return scip.Scip.Package.getDefaultInstance(); - } - - @java.lang.Override - public scip.Scip.Package build() { - scip.Scip.Package result = buildPartial(); - if (!result.isInitialized()) { - throw newUninitializedMessageException(result); - } - return result; - } - - @java.lang.Override - public scip.Scip.Package buildPartial() { - scip.Scip.Package result = new scip.Scip.Package(this); - if (bitField0_ != 0) { buildPartial0(result); } - onBuilt(); - return result; - } - - private void buildPartial0(scip.Scip.Package result) { - int from_bitField0_ = bitField0_; - if (((from_bitField0_ & 0x00000001) != 0)) { - result.manager_ = manager_; - } - if (((from_bitField0_ & 0x00000002) != 0)) { - result.name_ = name_; - } - if (((from_bitField0_ & 0x00000004) != 0)) { - result.version_ = version_; - } - } - - @java.lang.Override - public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof scip.Scip.Package) { - return mergeFrom((scip.Scip.Package)other); - } else { - super.mergeFrom(other); - return this; - } - } - - public Builder mergeFrom(scip.Scip.Package other) { - if (other == scip.Scip.Package.getDefaultInstance()) return this; - if (!other.getManager().isEmpty()) { - manager_ = other.manager_; - bitField0_ |= 0x00000001; - onChanged(); - } - if (!other.getName().isEmpty()) { - name_ = other.name_; - bitField0_ |= 0x00000002; - onChanged(); - } - if (!other.getVersion().isEmpty()) { - version_ = other.version_; - bitField0_ |= 0x00000004; - onChanged(); - } - this.mergeUnknownFields(other.getUnknownFields()); - 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 { - if (extensionRegistry == null) { - throw new java.lang.NullPointerException(); - } - try { - boolean done = false; - while (!done) { - int tag = input.readTag(); - switch (tag) { - case 0: - done = true; - break; - case 10: { - manager_ = input.readStringRequireUtf8(); - bitField0_ |= 0x00000001; - break; - } // case 10 - case 18: { - name_ = input.readStringRequireUtf8(); - bitField0_ |= 0x00000002; - break; - } // case 18 - case 26: { - version_ = input.readStringRequireUtf8(); - bitField0_ |= 0x00000004; - break; - } // case 26 - default: { - if (!super.parseUnknownField(input, extensionRegistry, tag)) { - done = true; // was an endgroup tag - } - break; - } // default: - } // switch (tag) - } // while (!done) - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.unwrapIOException(); - } finally { - onChanged(); - } // finally - return this; - } - private int bitField0_; - - private java.lang.Object manager_ = ""; - /** - * string manager = 1 [json_name = "manager"]; - * @return The manager. - */ - public java.lang.String getManager() { - java.lang.Object ref = manager_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - manager_ = s; - return s; - } else { - return (java.lang.String) ref; - } - } - /** - * string manager = 1 [json_name = "manager"]; - * @return The bytes for manager. - */ - public com.google.protobuf.ByteString - getManagerBytes() { - java.lang.Object ref = manager_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - manager_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - /** - * string manager = 1 [json_name = "manager"]; - * @param value The manager to set. - * @return This builder for chaining. - */ - public Builder setManager( - java.lang.String value) { - if (value == null) { throw new NullPointerException(); } - manager_ = value; - bitField0_ |= 0x00000001; - onChanged(); - return this; - } - /** - * string manager = 1 [json_name = "manager"]; - * @return This builder for chaining. - */ - public Builder clearManager() { - manager_ = getDefaultInstance().getManager(); - bitField0_ = (bitField0_ & ~0x00000001); - onChanged(); - return this; - } - /** - * string manager = 1 [json_name = "manager"]; - * @param value The bytes for manager to set. - * @return This builder for chaining. - */ - public Builder setManagerBytes( - com.google.protobuf.ByteString value) { - if (value == null) { throw new NullPointerException(); } - checkByteStringIsUtf8(value); - manager_ = value; - bitField0_ |= 0x00000001; - onChanged(); - return this; - } - - private java.lang.Object name_ = ""; - /** - * string name = 2 [json_name = "name"]; - * @return The name. - */ - public java.lang.String getName() { - java.lang.Object ref = name_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - name_ = s; - return s; - } else { - return (java.lang.String) ref; - } - } - /** - * string name = 2 [json_name = "name"]; - * @return The bytes for name. - */ - public com.google.protobuf.ByteString - getNameBytes() { - java.lang.Object ref = name_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - name_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - /** - * string name = 2 [json_name = "name"]; - * @param value The name to set. - * @return This builder for chaining. - */ - public Builder setName( - java.lang.String value) { - if (value == null) { throw new NullPointerException(); } - name_ = value; - bitField0_ |= 0x00000002; - onChanged(); - return this; - } - /** - * string name = 2 [json_name = "name"]; - * @return This builder for chaining. - */ - public Builder clearName() { - name_ = getDefaultInstance().getName(); - bitField0_ = (bitField0_ & ~0x00000002); - onChanged(); - return this; - } - /** - * string name = 2 [json_name = "name"]; - * @param value The bytes for name to set. - * @return This builder for chaining. - */ - public Builder setNameBytes( - com.google.protobuf.ByteString value) { - if (value == null) { throw new NullPointerException(); } - checkByteStringIsUtf8(value); - name_ = value; - bitField0_ |= 0x00000002; - onChanged(); - return this; - } - - private java.lang.Object version_ = ""; - /** - * string version = 3 [json_name = "version"]; - * @return The version. - */ - public java.lang.String getVersion() { - java.lang.Object ref = version_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - version_ = s; - return s; - } else { - return (java.lang.String) ref; - } - } - /** - * string version = 3 [json_name = "version"]; - * @return The bytes for version. - */ - public com.google.protobuf.ByteString - getVersionBytes() { - java.lang.Object ref = version_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - version_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - /** - * string version = 3 [json_name = "version"]; - * @param value The version to set. - * @return This builder for chaining. - */ - public Builder setVersion( - java.lang.String value) { - if (value == null) { throw new NullPointerException(); } - version_ = value; - bitField0_ |= 0x00000004; - onChanged(); - return this; - } - /** - * string version = 3 [json_name = "version"]; - * @return This builder for chaining. - */ - public Builder clearVersion() { - version_ = getDefaultInstance().getVersion(); - bitField0_ = (bitField0_ & ~0x00000004); - onChanged(); - return this; - } - /** - * string version = 3 [json_name = "version"]; - * @param value The bytes for version to set. - * @return This builder for chaining. - */ - public Builder setVersionBytes( - com.google.protobuf.ByteString value) { - if (value == null) { throw new NullPointerException(); } - checkByteStringIsUtf8(value); - version_ = value; - bitField0_ |= 0x00000004; - onChanged(); - return this; - } - - // @@protoc_insertion_point(builder_scope:scip.Package) - } - - // @@protoc_insertion_point(class_scope:scip.Package) - private static final scip.Scip.Package DEFAULT_INSTANCE; - static { - DEFAULT_INSTANCE = new scip.Scip.Package(); - } - - public static scip.Scip.Package getDefaultInstance() { - return DEFAULT_INSTANCE; - } - - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { - @java.lang.Override - public Package parsePartialFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - Builder builder = newBuilder(); - try { - builder.mergeFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.setUnfinishedMessage(builder.buildPartial()); - } catch (com.google.protobuf.UninitializedMessageException e) { - throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); - } catch (java.io.IOException e) { - throw new com.google.protobuf.InvalidProtocolBufferException(e) - .setUnfinishedMessage(builder.buildPartial()); - } - return builder.buildPartial(); - } - }; - - public static com.google.protobuf.Parser parser() { - return PARSER; - } - - @java.lang.Override - public com.google.protobuf.Parser getParserForType() { - return PARSER; - } - - @java.lang.Override - public scip.Scip.Package getDefaultInstanceForType() { - return DEFAULT_INSTANCE; - } - - } - - public interface DescriptorOrBuilder extends - // @@protoc_insertion_point(interface_extends:scip.Descriptor) - com.google.protobuf.MessageOrBuilder { - - /** - * string name = 1 [json_name = "name"]; - * @return The name. - */ - java.lang.String getName(); - /** - * string name = 1 [json_name = "name"]; - * @return The bytes for name. - */ - com.google.protobuf.ByteString - getNameBytes(); - - /** - * string disambiguator = 2 [json_name = "disambiguator"]; - * @return The disambiguator. - */ - java.lang.String getDisambiguator(); - /** - * string disambiguator = 2 [json_name = "disambiguator"]; - * @return The bytes for disambiguator. - */ - com.google.protobuf.ByteString - getDisambiguatorBytes(); - - /** - *
-     * NOTE: If you add new fields here, make sure to update the prepareSlot()
-     * function responsible for parsing symbols.
-     * 
- * - * .scip.Descriptor.Suffix suffix = 3 [json_name = "suffix"]; - * @return The enum numeric value on the wire for suffix. - */ - int getSuffixValue(); - /** - *
-     * NOTE: If you add new fields here, make sure to update the prepareSlot()
-     * function responsible for parsing symbols.
-     * 
- * - * .scip.Descriptor.Suffix suffix = 3 [json_name = "suffix"]; - * @return The suffix. - */ - scip.Scip.Descriptor.Suffix getSuffix(); - } - /** - * Protobuf type {@code scip.Descriptor} - */ - public static final class Descriptor extends - com.google.protobuf.GeneratedMessage implements - // @@protoc_insertion_point(message_implements:scip.Descriptor) - DescriptorOrBuilder { - private static final long serialVersionUID = 0L; - static { - com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( - com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, - /* major= */ 4, - /* minor= */ 32, - /* patch= */ 1, - /* suffix= */ "", - Descriptor.class.getName()); - } - // Use Descriptor.newBuilder() to construct. - private Descriptor(com.google.protobuf.GeneratedMessage.Builder builder) { - super(builder); - } - private Descriptor() { - name_ = ""; - disambiguator_ = ""; - suffix_ = 0; - } - - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return scip.Scip.internal_static_scip_Descriptor_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessage.FieldAccessorTable - internalGetFieldAccessorTable() { - return scip.Scip.internal_static_scip_Descriptor_fieldAccessorTable - .ensureFieldAccessorsInitialized( - scip.Scip.Descriptor.class, scip.Scip.Descriptor.Builder.class); - } - - /** - * Protobuf enum {@code scip.Descriptor.Suffix} - */ - public enum Suffix - implements com.google.protobuf.ProtocolMessageEnum { - /** - * UnspecifiedSuffix = 0; - */ - UnspecifiedSuffix(0, 0), - /** - *
-       * Unit of code abstraction and/or namespacing.
-       *
-       * NOTE: This corresponds to a package in Go and JVM languages.
-       * 
- * - * Namespace = 1; - */ - Namespace(1, 1), - /** - * Type = 2; - */ - Type(3, 2), - /** - * Term = 3; - */ - Term(4, 3), - /** - * Method = 4; - */ - Method(5, 4), - /** - * TypeParameter = 5; - */ - TypeParameter(6, 5), - /** - * Parameter = 6; - */ - Parameter(7, 6), - /** - *
-       * Can be used for any purpose.
-       * 
- * - * Meta = 7; - */ - Meta(8, 7), - /** - * Local = 8; - */ - Local(9, 8), - /** - * Macro = 9; - */ - Macro(10, 9), - UNRECOGNIZED(-1, -1), - ; - - static { - com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( - com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, - /* major= */ 4, - /* minor= */ 32, - /* patch= */ 1, - /* suffix= */ "", - Suffix.class.getName()); - } - /** - *
-       * Use Namespace instead.
-       * 
- * - * Package = 1 [deprecated = true]; - */ - public static final Suffix Package = Namespace; - /** - * UnspecifiedSuffix = 0; - */ - public static final int UnspecifiedSuffix_VALUE = 0; - /** - *
-       * Unit of code abstraction and/or namespacing.
-       *
-       * NOTE: This corresponds to a package in Go and JVM languages.
-       * 
- * - * Namespace = 1; - */ - public static final int Namespace_VALUE = 1; - /** - *
-       * Use Namespace instead.
-       * 
- * - * Package = 1 [deprecated = true]; - */ - @java.lang.Deprecated public static final int Package_VALUE = 1; - /** - * Type = 2; - */ - public static final int Type_VALUE = 2; - /** - * Term = 3; - */ - public static final int Term_VALUE = 3; - /** - * Method = 4; - */ - public static final int Method_VALUE = 4; - /** - * TypeParameter = 5; - */ - public static final int TypeParameter_VALUE = 5; - /** - * Parameter = 6; - */ - public static final int Parameter_VALUE = 6; - /** - *
-       * Can be used for any purpose.
-       * 
- * - * Meta = 7; - */ - public static final int Meta_VALUE = 7; - /** - * Local = 8; - */ - public static final int Local_VALUE = 8; - /** - * Macro = 9; - */ - public static final int Macro_VALUE = 9; - - - public final int getNumber() { - if (index == -1) { - 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 Suffix 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 Suffix forNumber(int value) { - switch (value) { - case 0: return UnspecifiedSuffix; - case 1: return Namespace; - case 2: return Type; - case 3: return Term; - case 4: return Method; - case 5: return TypeParameter; - case 6: return Parameter; - case 7: return Meta; - case 8: return Local; - case 9: return Macro; - default: return null; - } - } - - public static com.google.protobuf.Internal.EnumLiteMap - internalGetValueMap() { - return internalValueMap; - } - private static final com.google.protobuf.Internal.EnumLiteMap< - Suffix> internalValueMap = - new com.google.protobuf.Internal.EnumLiteMap() { - public Suffix findValueByNumber(int number) { - return Suffix.forNumber(number); - } - }; - - public final com.google.protobuf.Descriptors.EnumValueDescriptor - getValueDescriptor() { - if (index == -1) { - throw new java.lang.IllegalStateException( - "Can't get the descriptor of an unrecognized enum value."); - } - return getDescriptor().getValues().get(index); - } - public final com.google.protobuf.Descriptors.EnumDescriptor - getDescriptorForType() { - return getDescriptor(); - } - public static com.google.protobuf.Descriptors.EnumDescriptor - getDescriptor() { - return scip.Scip.Descriptor.getDescriptor().getEnumTypes().get(0); - } - - private static final Suffix[] VALUES = getStaticValuesArray(); - private static Suffix[] getStaticValuesArray() { - return new Suffix[] { - UnspecifiedSuffix, Namespace, Package, Type, Term, Method, TypeParameter, Parameter, Meta, Local, Macro, - }; - } - public static Suffix 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 index; - private final int value; - - private Suffix(int index, int value) { - this.index = index; - this.value = value; - } - - // @@protoc_insertion_point(enum_scope:scip.Descriptor.Suffix) - } - - public static final int NAME_FIELD_NUMBER = 1; - @SuppressWarnings("serial") - private volatile java.lang.Object name_ = ""; - /** - * string name = 1 [json_name = "name"]; - * @return The name. - */ - @java.lang.Override - public java.lang.String getName() { - java.lang.Object ref = name_; - 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(); - name_ = s; - return s; - } - } - /** - * string name = 1 [json_name = "name"]; - * @return The bytes for name. - */ - @java.lang.Override - public com.google.protobuf.ByteString - getNameBytes() { - java.lang.Object ref = name_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - name_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - - public static final int DISAMBIGUATOR_FIELD_NUMBER = 2; - @SuppressWarnings("serial") - private volatile java.lang.Object disambiguator_ = ""; - /** - * string disambiguator = 2 [json_name = "disambiguator"]; - * @return The disambiguator. - */ - @java.lang.Override - public java.lang.String getDisambiguator() { - java.lang.Object ref = disambiguator_; - 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(); - disambiguator_ = s; - return s; - } - } - /** - * string disambiguator = 2 [json_name = "disambiguator"]; - * @return The bytes for disambiguator. - */ - @java.lang.Override - public com.google.protobuf.ByteString - getDisambiguatorBytes() { - java.lang.Object ref = disambiguator_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - disambiguator_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - - public static final int SUFFIX_FIELD_NUMBER = 3; - private int suffix_ = 0; - /** - *
-     * NOTE: If you add new fields here, make sure to update the prepareSlot()
-     * function responsible for parsing symbols.
-     * 
- * - * .scip.Descriptor.Suffix suffix = 3 [json_name = "suffix"]; - * @return The enum numeric value on the wire for suffix. - */ - @java.lang.Override public int getSuffixValue() { - return suffix_; - } - /** - *
-     * NOTE: If you add new fields here, make sure to update the prepareSlot()
-     * function responsible for parsing symbols.
-     * 
- * - * .scip.Descriptor.Suffix suffix = 3 [json_name = "suffix"]; - * @return The suffix. - */ - @java.lang.Override public scip.Scip.Descriptor.Suffix getSuffix() { - scip.Scip.Descriptor.Suffix result = scip.Scip.Descriptor.Suffix.forNumber(suffix_); - return result == null ? scip.Scip.Descriptor.Suffix.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 (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) { - com.google.protobuf.GeneratedMessage.writeString(output, 1, name_); - } - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(disambiguator_)) { - com.google.protobuf.GeneratedMessage.writeString(output, 2, disambiguator_); - } - if (suffix_ != scip.Scip.Descriptor.Suffix.UnspecifiedSuffix.getNumber()) { - output.writeEnum(3, suffix_); - } - getUnknownFields().writeTo(output); - } - - @java.lang.Override - public int getSerializedSize() { - int size = memoizedSize; - if (size != -1) return size; - - size = 0; - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) { - size += com.google.protobuf.GeneratedMessage.computeStringSize(1, name_); - } - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(disambiguator_)) { - size += com.google.protobuf.GeneratedMessage.computeStringSize(2, disambiguator_); - } - if (suffix_ != scip.Scip.Descriptor.Suffix.UnspecifiedSuffix.getNumber()) { - size += com.google.protobuf.CodedOutputStream - .computeEnumSize(3, suffix_); - } - size += getUnknownFields().getSerializedSize(); - memoizedSize = size; - return size; - } - - @java.lang.Override - public boolean equals(final java.lang.Object obj) { - if (obj == this) { - return true; - } - if (!(obj instanceof scip.Scip.Descriptor)) { - return super.equals(obj); - } - scip.Scip.Descriptor other = (scip.Scip.Descriptor) obj; - - if (!getName() - .equals(other.getName())) return false; - if (!getDisambiguator() - .equals(other.getDisambiguator())) return false; - if (suffix_ != other.suffix_) return false; - if (!getUnknownFields().equals(other.getUnknownFields())) 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) + NAME_FIELD_NUMBER; - hash = (53 * hash) + getName().hashCode(); - hash = (37 * hash) + DISAMBIGUATOR_FIELD_NUMBER; - hash = (53 * hash) + getDisambiguator().hashCode(); - hash = (37 * hash) + SUFFIX_FIELD_NUMBER; - hash = (53 * hash) + suffix_; - hash = (29 * hash) + getUnknownFields().hashCode(); - memoizedHashCode = hash; - return hash; - } - - public static scip.Scip.Descriptor parseFrom( - java.nio.ByteBuffer data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static scip.Scip.Descriptor parseFrom( - java.nio.ByteBuffer data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static scip.Scip.Descriptor parseFrom( - com.google.protobuf.ByteString data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static scip.Scip.Descriptor parseFrom( - com.google.protobuf.ByteString data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static scip.Scip.Descriptor parseFrom(byte[] data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static scip.Scip.Descriptor parseFrom( - byte[] data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static scip.Scip.Descriptor parseFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input); - } - public static scip.Scip.Descriptor parseFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input, extensionRegistry); - } - - public static scip.Scip.Descriptor parseDelimitedFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseDelimitedWithIOException(PARSER, input); - } - - public static scip.Scip.Descriptor parseDelimitedFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseDelimitedWithIOException(PARSER, input, extensionRegistry); - } - public static scip.Scip.Descriptor parseFrom( - com.google.protobuf.CodedInputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input); - } - public static scip.Scip.Descriptor parseFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input, extensionRegistry); - } - - @java.lang.Override - public Builder newBuilderForType() { return newBuilder(); } - public static Builder newBuilder() { - return DEFAULT_INSTANCE.toBuilder(); - } - public static Builder newBuilder(scip.Scip.Descriptor 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.GeneratedMessage.BuilderParent parent) { - Builder builder = new Builder(parent); - return builder; - } - /** - * Protobuf type {@code scip.Descriptor} - */ - public static final class Builder extends - com.google.protobuf.GeneratedMessage.Builder implements - // @@protoc_insertion_point(builder_implements:scip.Descriptor) - scip.Scip.DescriptorOrBuilder { - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return scip.Scip.internal_static_scip_Descriptor_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessage.FieldAccessorTable - internalGetFieldAccessorTable() { - return scip.Scip.internal_static_scip_Descriptor_fieldAccessorTable - .ensureFieldAccessorsInitialized( - scip.Scip.Descriptor.class, scip.Scip.Descriptor.Builder.class); - } - - // Construct using scip.Scip.Descriptor.newBuilder() - private Builder() { - - } - - private Builder( - com.google.protobuf.GeneratedMessage.BuilderParent parent) { - super(parent); - - } - @java.lang.Override - public Builder clear() { - super.clear(); - bitField0_ = 0; - name_ = ""; - disambiguator_ = ""; - suffix_ = 0; - return this; - } - - @java.lang.Override - public com.google.protobuf.Descriptors.Descriptor - getDescriptorForType() { - return scip.Scip.internal_static_scip_Descriptor_descriptor; - } - - @java.lang.Override - public scip.Scip.Descriptor getDefaultInstanceForType() { - return scip.Scip.Descriptor.getDefaultInstance(); - } - - @java.lang.Override - public scip.Scip.Descriptor build() { - scip.Scip.Descriptor result = buildPartial(); - if (!result.isInitialized()) { - throw newUninitializedMessageException(result); - } - return result; - } - - @java.lang.Override - public scip.Scip.Descriptor buildPartial() { - scip.Scip.Descriptor result = new scip.Scip.Descriptor(this); - if (bitField0_ != 0) { buildPartial0(result); } - onBuilt(); - return result; - } - - private void buildPartial0(scip.Scip.Descriptor result) { - int from_bitField0_ = bitField0_; - if (((from_bitField0_ & 0x00000001) != 0)) { - result.name_ = name_; - } - if (((from_bitField0_ & 0x00000002) != 0)) { - result.disambiguator_ = disambiguator_; - } - if (((from_bitField0_ & 0x00000004) != 0)) { - result.suffix_ = suffix_; - } - } - - @java.lang.Override - public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof scip.Scip.Descriptor) { - return mergeFrom((scip.Scip.Descriptor)other); - } else { - super.mergeFrom(other); - return this; - } - } - - public Builder mergeFrom(scip.Scip.Descriptor other) { - if (other == scip.Scip.Descriptor.getDefaultInstance()) return this; - if (!other.getName().isEmpty()) { - name_ = other.name_; - bitField0_ |= 0x00000001; - onChanged(); - } - if (!other.getDisambiguator().isEmpty()) { - disambiguator_ = other.disambiguator_; - bitField0_ |= 0x00000002; - onChanged(); - } - if (other.suffix_ != 0) { - setSuffixValue(other.getSuffixValue()); - } - this.mergeUnknownFields(other.getUnknownFields()); - 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 { - if (extensionRegistry == null) { - throw new java.lang.NullPointerException(); - } - try { - boolean done = false; - while (!done) { - int tag = input.readTag(); - switch (tag) { - case 0: - done = true; - break; - case 10: { - name_ = input.readStringRequireUtf8(); - bitField0_ |= 0x00000001; - break; - } // case 10 - case 18: { - disambiguator_ = input.readStringRequireUtf8(); - bitField0_ |= 0x00000002; - break; - } // case 18 - case 24: { - suffix_ = input.readEnum(); - bitField0_ |= 0x00000004; - break; - } // case 24 - default: { - if (!super.parseUnknownField(input, extensionRegistry, tag)) { - done = true; // was an endgroup tag - } - break; - } // default: - } // switch (tag) - } // while (!done) - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.unwrapIOException(); - } finally { - onChanged(); - } // finally - return this; - } - private int bitField0_; - - private java.lang.Object name_ = ""; - /** - * string name = 1 [json_name = "name"]; - * @return The name. - */ - public java.lang.String getName() { - java.lang.Object ref = name_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - name_ = s; - return s; - } else { - return (java.lang.String) ref; - } - } - /** - * string name = 1 [json_name = "name"]; - * @return The bytes for name. - */ - public com.google.protobuf.ByteString - getNameBytes() { - java.lang.Object ref = name_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - name_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - /** - * string name = 1 [json_name = "name"]; - * @param value The name to set. - * @return This builder for chaining. - */ - public Builder setName( - java.lang.String value) { - if (value == null) { throw new NullPointerException(); } - name_ = value; - bitField0_ |= 0x00000001; - onChanged(); - return this; - } - /** - * string name = 1 [json_name = "name"]; - * @return This builder for chaining. - */ - public Builder clearName() { - name_ = getDefaultInstance().getName(); - bitField0_ = (bitField0_ & ~0x00000001); - onChanged(); - return this; - } - /** - * string name = 1 [json_name = "name"]; - * @param value The bytes for name to set. - * @return This builder for chaining. - */ - public Builder setNameBytes( - com.google.protobuf.ByteString value) { - if (value == null) { throw new NullPointerException(); } - checkByteStringIsUtf8(value); - name_ = value; - bitField0_ |= 0x00000001; - onChanged(); - return this; - } - - private java.lang.Object disambiguator_ = ""; - /** - * string disambiguator = 2 [json_name = "disambiguator"]; - * @return The disambiguator. - */ - public java.lang.String getDisambiguator() { - java.lang.Object ref = disambiguator_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - disambiguator_ = s; - return s; - } else { - return (java.lang.String) ref; - } - } - /** - * string disambiguator = 2 [json_name = "disambiguator"]; - * @return The bytes for disambiguator. - */ - public com.google.protobuf.ByteString - getDisambiguatorBytes() { - java.lang.Object ref = disambiguator_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - disambiguator_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - /** - * string disambiguator = 2 [json_name = "disambiguator"]; - * @param value The disambiguator to set. - * @return This builder for chaining. - */ - public Builder setDisambiguator( - java.lang.String value) { - if (value == null) { throw new NullPointerException(); } - disambiguator_ = value; - bitField0_ |= 0x00000002; - onChanged(); - return this; - } - /** - * string disambiguator = 2 [json_name = "disambiguator"]; - * @return This builder for chaining. - */ - public Builder clearDisambiguator() { - disambiguator_ = getDefaultInstance().getDisambiguator(); - bitField0_ = (bitField0_ & ~0x00000002); - onChanged(); - return this; - } - /** - * string disambiguator = 2 [json_name = "disambiguator"]; - * @param value The bytes for disambiguator to set. - * @return This builder for chaining. - */ - public Builder setDisambiguatorBytes( - com.google.protobuf.ByteString value) { - if (value == null) { throw new NullPointerException(); } - checkByteStringIsUtf8(value); - disambiguator_ = value; - bitField0_ |= 0x00000002; - onChanged(); - return this; - } - - private int suffix_ = 0; - /** - *
-       * NOTE: If you add new fields here, make sure to update the prepareSlot()
-       * function responsible for parsing symbols.
-       * 
- * - * .scip.Descriptor.Suffix suffix = 3 [json_name = "suffix"]; - * @return The enum numeric value on the wire for suffix. - */ - @java.lang.Override public int getSuffixValue() { - return suffix_; - } - /** - *
-       * NOTE: If you add new fields here, make sure to update the prepareSlot()
-       * function responsible for parsing symbols.
-       * 
- * - * .scip.Descriptor.Suffix suffix = 3 [json_name = "suffix"]; - * @param value The enum numeric value on the wire for suffix to set. - * @return This builder for chaining. - */ - public Builder setSuffixValue(int value) { - suffix_ = value; - bitField0_ |= 0x00000004; - onChanged(); - return this; - } - /** - *
-       * NOTE: If you add new fields here, make sure to update the prepareSlot()
-       * function responsible for parsing symbols.
-       * 
- * - * .scip.Descriptor.Suffix suffix = 3 [json_name = "suffix"]; - * @return The suffix. - */ - @java.lang.Override - public scip.Scip.Descriptor.Suffix getSuffix() { - scip.Scip.Descriptor.Suffix result = scip.Scip.Descriptor.Suffix.forNumber(suffix_); - return result == null ? scip.Scip.Descriptor.Suffix.UNRECOGNIZED : result; - } - /** - *
-       * NOTE: If you add new fields here, make sure to update the prepareSlot()
-       * function responsible for parsing symbols.
-       * 
- * - * .scip.Descriptor.Suffix suffix = 3 [json_name = "suffix"]; - * @param value The suffix to set. - * @return This builder for chaining. - */ - public Builder setSuffix(scip.Scip.Descriptor.Suffix value) { - if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000004; - suffix_ = value.getNumber(); - onChanged(); - return this; - } - /** - *
-       * NOTE: If you add new fields here, make sure to update the prepareSlot()
-       * function responsible for parsing symbols.
-       * 
- * - * .scip.Descriptor.Suffix suffix = 3 [json_name = "suffix"]; - * @return This builder for chaining. - */ - public Builder clearSuffix() { - bitField0_ = (bitField0_ & ~0x00000004); - suffix_ = 0; - onChanged(); - return this; - } - - // @@protoc_insertion_point(builder_scope:scip.Descriptor) - } - - // @@protoc_insertion_point(class_scope:scip.Descriptor) - private static final scip.Scip.Descriptor DEFAULT_INSTANCE; - static { - DEFAULT_INSTANCE = new scip.Scip.Descriptor(); - } - - public static scip.Scip.Descriptor getDefaultInstance() { - return DEFAULT_INSTANCE; - } - - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { - @java.lang.Override - public Descriptor parsePartialFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - Builder builder = newBuilder(); - try { - builder.mergeFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.setUnfinishedMessage(builder.buildPartial()); - } catch (com.google.protobuf.UninitializedMessageException e) { - throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); - } catch (java.io.IOException e) { - throw new com.google.protobuf.InvalidProtocolBufferException(e) - .setUnfinishedMessage(builder.buildPartial()); - } - return builder.buildPartial(); - } - }; - - public static com.google.protobuf.Parser parser() { - return PARSER; - } - - @java.lang.Override - public com.google.protobuf.Parser getParserForType() { - return PARSER; - } - - @java.lang.Override - public scip.Scip.Descriptor getDefaultInstanceForType() { - return DEFAULT_INSTANCE; - } - - } - - public interface SignatureOrBuilder extends - // @@protoc_insertion_point(interface_extends:scip.Signature) - com.google.protobuf.MessageOrBuilder { - - /** - *
-     * The language of the signature, e.g. "java", "go", "python".
-     * 
- * - * string language = 4 [json_name = "language"]; - * @return The language. - */ - java.lang.String getLanguage(); - /** - *
-     * The language of the signature, e.g. "java", "go", "python".
-     * 
- * - * string language = 4 [json_name = "language"]; - * @return The bytes for language. - */ - com.google.protobuf.ByteString - getLanguageBytes(); - - /** - *
-     * The text content of the signature, e.g. "void add(int a, int b)".
-     * 
- * - * string text = 5 [json_name = "text"]; - * @return The text. - */ - java.lang.String getText(); - /** - *
-     * The text content of the signature, e.g. "void add(int a, int b)".
-     * 
- * - * string text = 5 [json_name = "text"]; - * @return The bytes for text. - */ - com.google.protobuf.ByteString - getTextBytes(); - - /** - *
-     * (optional) Occurrences within the signature text that reference other
-     * symbols, enabling hyperlinking of types in the signature. Ranges are
-     * relative to the `text` field.
-     * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - java.util.List - getOccurrencesList(); - /** - *
-     * (optional) Occurrences within the signature text that reference other
-     * symbols, enabling hyperlinking of types in the signature. Ranges are
-     * relative to the `text` field.
-     * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - scip.Scip.Occurrence getOccurrences(int index); - /** - *
-     * (optional) Occurrences within the signature text that reference other
-     * symbols, enabling hyperlinking of types in the signature. Ranges are
-     * relative to the `text` field.
-     * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - int getOccurrencesCount(); - /** - *
-     * (optional) Occurrences within the signature text that reference other
-     * symbols, enabling hyperlinking of types in the signature. Ranges are
-     * relative to the `text` field.
-     * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - java.util.List - getOccurrencesOrBuilderList(); - /** - *
-     * (optional) Occurrences within the signature text that reference other
-     * symbols, enabling hyperlinking of types in the signature. Ranges are
-     * relative to the `text` field.
-     * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - scip.Scip.OccurrenceOrBuilder getOccurrencesOrBuilder( - int index); - } - /** - *
-   * Signature represents the signature of a symbol as it's displayed in API
-   * documentation or hover tooltips. It uses a subset of Document's fields with
-   * the same field numbers for wire compatibility with older indexes that encoded
-   * signatures using the Document message type.
-   * 
- * - * Protobuf type {@code scip.Signature} - */ - public static final class Signature extends - com.google.protobuf.GeneratedMessage implements - // @@protoc_insertion_point(message_implements:scip.Signature) - SignatureOrBuilder { - private static final long serialVersionUID = 0L; - static { - com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( - com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, - /* major= */ 4, - /* minor= */ 32, - /* patch= */ 1, - /* suffix= */ "", - Signature.class.getName()); - } - // Use Signature.newBuilder() to construct. - private Signature(com.google.protobuf.GeneratedMessage.Builder builder) { - super(builder); - } - private Signature() { - language_ = ""; - text_ = ""; - occurrences_ = java.util.Collections.emptyList(); - } - - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return scip.Scip.internal_static_scip_Signature_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessage.FieldAccessorTable - internalGetFieldAccessorTable() { - return scip.Scip.internal_static_scip_Signature_fieldAccessorTable - .ensureFieldAccessorsInitialized( - scip.Scip.Signature.class, scip.Scip.Signature.Builder.class); - } - - public static final int LANGUAGE_FIELD_NUMBER = 4; - @SuppressWarnings("serial") - private volatile java.lang.Object language_ = ""; - /** - *
-     * The language of the signature, e.g. "java", "go", "python".
-     * 
- * - * string language = 4 [json_name = "language"]; - * @return The language. - */ - @java.lang.Override - public java.lang.String getLanguage() { - java.lang.Object ref = language_; - 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(); - language_ = s; - return s; - } - } - /** - *
-     * The language of the signature, e.g. "java", "go", "python".
-     * 
- * - * string language = 4 [json_name = "language"]; - * @return The bytes for language. - */ - @java.lang.Override - public com.google.protobuf.ByteString - getLanguageBytes() { - java.lang.Object ref = language_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - language_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - - public static final int TEXT_FIELD_NUMBER = 5; - @SuppressWarnings("serial") - private volatile java.lang.Object text_ = ""; - /** - *
-     * The text content of the signature, e.g. "void add(int a, int b)".
-     * 
- * - * string text = 5 [json_name = "text"]; - * @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; - } - } - /** - *
-     * The text content of the signature, e.g. "void add(int a, int b)".
-     * 
- * - * string text = 5 [json_name = "text"]; - * @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 OCCURRENCES_FIELD_NUMBER = 2; - @SuppressWarnings("serial") - private java.util.List occurrences_; - /** - *
-     * (optional) Occurrences within the signature text that reference other
-     * symbols, enabling hyperlinking of types in the signature. Ranges are
-     * relative to the `text` field.
-     * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - @java.lang.Override - public java.util.List getOccurrencesList() { - return occurrences_; - } - /** - *
-     * (optional) Occurrences within the signature text that reference other
-     * symbols, enabling hyperlinking of types in the signature. Ranges are
-     * relative to the `text` field.
-     * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - @java.lang.Override - public java.util.List - getOccurrencesOrBuilderList() { - return occurrences_; - } - /** - *
-     * (optional) Occurrences within the signature text that reference other
-     * symbols, enabling hyperlinking of types in the signature. Ranges are
-     * relative to the `text` field.
-     * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - @java.lang.Override - public int getOccurrencesCount() { - return occurrences_.size(); - } - /** - *
-     * (optional) Occurrences within the signature text that reference other
-     * symbols, enabling hyperlinking of types in the signature. Ranges are
-     * relative to the `text` field.
-     * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - @java.lang.Override - public scip.Scip.Occurrence getOccurrences(int index) { - return occurrences_.get(index); - } - /** - *
-     * (optional) Occurrences within the signature text that reference other
-     * symbols, enabling hyperlinking of types in the signature. Ranges are
-     * relative to the `text` field.
-     * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - @java.lang.Override - public scip.Scip.OccurrenceOrBuilder 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 { - for (int i = 0; i < occurrences_.size(); i++) { - output.writeMessage(2, occurrences_.get(i)); - } - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(language_)) { - com.google.protobuf.GeneratedMessage.writeString(output, 4, language_); - } - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(text_)) { - com.google.protobuf.GeneratedMessage.writeString(output, 5, text_); - } - getUnknownFields().writeTo(output); - } - - @java.lang.Override - public int getSerializedSize() { - int size = memoizedSize; - if (size != -1) return size; - - size = 0; - for (int i = 0; i < occurrences_.size(); i++) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(2, occurrences_.get(i)); - } - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(language_)) { - size += com.google.protobuf.GeneratedMessage.computeStringSize(4, language_); - } - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(text_)) { - size += com.google.protobuf.GeneratedMessage.computeStringSize(5, text_); - } - size += getUnknownFields().getSerializedSize(); - memoizedSize = size; - return size; - } - - @java.lang.Override - public boolean equals(final java.lang.Object obj) { - if (obj == this) { - return true; - } - if (!(obj instanceof scip.Scip.Signature)) { - return super.equals(obj); - } - scip.Scip.Signature other = (scip.Scip.Signature) obj; - - if (!getLanguage() - .equals(other.getLanguage())) return false; - if (!getText() - .equals(other.getText())) return false; - if (!getOccurrencesList() - .equals(other.getOccurrencesList())) return false; - if (!getUnknownFields().equals(other.getUnknownFields())) 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) + LANGUAGE_FIELD_NUMBER; - hash = (53 * hash) + getLanguage().hashCode(); - hash = (37 * hash) + TEXT_FIELD_NUMBER; - hash = (53 * hash) + getText().hashCode(); - if (getOccurrencesCount() > 0) { - hash = (37 * hash) + OCCURRENCES_FIELD_NUMBER; - hash = (53 * hash) + getOccurrencesList().hashCode(); - } - hash = (29 * hash) + getUnknownFields().hashCode(); - memoizedHashCode = hash; - return hash; - } - - public static scip.Scip.Signature parseFrom( - java.nio.ByteBuffer data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static scip.Scip.Signature parseFrom( - java.nio.ByteBuffer data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static scip.Scip.Signature parseFrom( - com.google.protobuf.ByteString data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static scip.Scip.Signature parseFrom( - com.google.protobuf.ByteString data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static scip.Scip.Signature parseFrom(byte[] data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static scip.Scip.Signature parseFrom( - byte[] data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static scip.Scip.Signature parseFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input); - } - public static scip.Scip.Signature parseFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input, extensionRegistry); - } - - public static scip.Scip.Signature parseDelimitedFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseDelimitedWithIOException(PARSER, input); - } - - public static scip.Scip.Signature parseDelimitedFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseDelimitedWithIOException(PARSER, input, extensionRegistry); - } - public static scip.Scip.Signature parseFrom( - com.google.protobuf.CodedInputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input); - } - public static scip.Scip.Signature parseFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input, extensionRegistry); - } - - @java.lang.Override - public Builder newBuilderForType() { return newBuilder(); } - public static Builder newBuilder() { - return DEFAULT_INSTANCE.toBuilder(); - } - public static Builder newBuilder(scip.Scip.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.GeneratedMessage.BuilderParent parent) { - Builder builder = new Builder(parent); - return builder; - } - /** - *
-     * Signature represents the signature of a symbol as it's displayed in API
-     * documentation or hover tooltips. It uses a subset of Document's fields with
-     * the same field numbers for wire compatibility with older indexes that encoded
-     * signatures using the Document message type.
-     * 
- * - * Protobuf type {@code scip.Signature} - */ - public static final class Builder extends - com.google.protobuf.GeneratedMessage.Builder implements - // @@protoc_insertion_point(builder_implements:scip.Signature) - scip.Scip.SignatureOrBuilder { - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return scip.Scip.internal_static_scip_Signature_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessage.FieldAccessorTable - internalGetFieldAccessorTable() { - return scip.Scip.internal_static_scip_Signature_fieldAccessorTable - .ensureFieldAccessorsInitialized( - scip.Scip.Signature.class, scip.Scip.Signature.Builder.class); - } - - // Construct using scip.Scip.Signature.newBuilder() - private Builder() { - - } - - private Builder( - com.google.protobuf.GeneratedMessage.BuilderParent parent) { - super(parent); - - } - @java.lang.Override - public Builder clear() { - super.clear(); - bitField0_ = 0; - language_ = ""; - text_ = ""; - if (occurrencesBuilder_ == null) { - occurrences_ = java.util.Collections.emptyList(); - } else { - occurrences_ = null; - occurrencesBuilder_.clear(); - } - bitField0_ = (bitField0_ & ~0x00000004); - return this; - } - - @java.lang.Override - public com.google.protobuf.Descriptors.Descriptor - getDescriptorForType() { - return scip.Scip.internal_static_scip_Signature_descriptor; - } - - @java.lang.Override - public scip.Scip.Signature getDefaultInstanceForType() { - return scip.Scip.Signature.getDefaultInstance(); - } - - @java.lang.Override - public scip.Scip.Signature build() { - scip.Scip.Signature result = buildPartial(); - if (!result.isInitialized()) { - throw newUninitializedMessageException(result); - } - return result; - } - - @java.lang.Override - public scip.Scip.Signature buildPartial() { - scip.Scip.Signature result = new scip.Scip.Signature(this); - buildPartialRepeatedFields(result); - if (bitField0_ != 0) { buildPartial0(result); } - onBuilt(); - return result; - } - - private void buildPartialRepeatedFields(scip.Scip.Signature result) { - if (occurrencesBuilder_ == null) { - if (((bitField0_ & 0x00000004) != 0)) { - occurrences_ = java.util.Collections.unmodifiableList(occurrences_); - bitField0_ = (bitField0_ & ~0x00000004); - } - result.occurrences_ = occurrences_; - } else { - result.occurrences_ = occurrencesBuilder_.build(); - } - } - - private void buildPartial0(scip.Scip.Signature result) { - int from_bitField0_ = bitField0_; - if (((from_bitField0_ & 0x00000001) != 0)) { - result.language_ = language_; - } - if (((from_bitField0_ & 0x00000002) != 0)) { - result.text_ = text_; - } - } - - @java.lang.Override - public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof scip.Scip.Signature) { - return mergeFrom((scip.Scip.Signature)other); - } else { - super.mergeFrom(other); - return this; - } - } - - public Builder mergeFrom(scip.Scip.Signature other) { - if (other == scip.Scip.Signature.getDefaultInstance()) return this; - if (!other.getLanguage().isEmpty()) { - language_ = other.language_; - bitField0_ |= 0x00000001; - onChanged(); - } - if (!other.getText().isEmpty()) { - text_ = other.text_; - bitField0_ |= 0x00000002; - onChanged(); - } - if (occurrencesBuilder_ == null) { - if (!other.occurrences_.isEmpty()) { - if (occurrences_.isEmpty()) { - occurrences_ = other.occurrences_; - bitField0_ = (bitField0_ & ~0x00000004); - } else { - ensureOccurrencesIsMutable(); - occurrences_.addAll(other.occurrences_); - } - onChanged(); - } - } else { - if (!other.occurrences_.isEmpty()) { - if (occurrencesBuilder_.isEmpty()) { - occurrencesBuilder_.dispose(); - occurrencesBuilder_ = null; - occurrences_ = other.occurrences_; - bitField0_ = (bitField0_ & ~0x00000004); - occurrencesBuilder_ = - com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ? - internalGetOccurrencesFieldBuilder() : null; - } else { - occurrencesBuilder_.addAllMessages(other.occurrences_); - } - } - } - this.mergeUnknownFields(other.getUnknownFields()); - 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 { - if (extensionRegistry == null) { - throw new java.lang.NullPointerException(); - } - try { - boolean done = false; - while (!done) { - int tag = input.readTag(); - switch (tag) { - case 0: - done = true; - break; - case 18: { - scip.Scip.Occurrence m = - input.readMessage( - scip.Scip.Occurrence.parser(), - extensionRegistry); - if (occurrencesBuilder_ == null) { - ensureOccurrencesIsMutable(); - occurrences_.add(m); - } else { - occurrencesBuilder_.addMessage(m); - } - break; - } // case 18 - case 34: { - language_ = input.readStringRequireUtf8(); - bitField0_ |= 0x00000001; - break; - } // case 34 - case 42: { - text_ = input.readStringRequireUtf8(); - bitField0_ |= 0x00000002; - break; - } // case 42 - default: { - if (!super.parseUnknownField(input, extensionRegistry, tag)) { - done = true; // was an endgroup tag - } - break; - } // default: - } // switch (tag) - } // while (!done) - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.unwrapIOException(); - } finally { - onChanged(); - } // finally - return this; - } - private int bitField0_; - - private java.lang.Object language_ = ""; - /** - *
-       * The language of the signature, e.g. "java", "go", "python".
-       * 
- * - * string language = 4 [json_name = "language"]; - * @return The language. - */ - public java.lang.String getLanguage() { - java.lang.Object ref = language_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - language_ = s; - return s; - } else { - return (java.lang.String) ref; - } - } - /** - *
-       * The language of the signature, e.g. "java", "go", "python".
-       * 
- * - * string language = 4 [json_name = "language"]; - * @return The bytes for language. - */ - public com.google.protobuf.ByteString - getLanguageBytes() { - java.lang.Object ref = language_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - language_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - /** - *
-       * The language of the signature, e.g. "java", "go", "python".
-       * 
- * - * string language = 4 [json_name = "language"]; - * @param value The language to set. - * @return This builder for chaining. - */ - public Builder setLanguage( - java.lang.String value) { - if (value == null) { throw new NullPointerException(); } - language_ = value; - bitField0_ |= 0x00000001; - onChanged(); - return this; - } - /** - *
-       * The language of the signature, e.g. "java", "go", "python".
-       * 
- * - * string language = 4 [json_name = "language"]; - * @return This builder for chaining. - */ - public Builder clearLanguage() { - language_ = getDefaultInstance().getLanguage(); - bitField0_ = (bitField0_ & ~0x00000001); - onChanged(); - return this; - } - /** - *
-       * The language of the signature, e.g. "java", "go", "python".
-       * 
- * - * string language = 4 [json_name = "language"]; - * @param value The bytes for language to set. - * @return This builder for chaining. - */ - public Builder setLanguageBytes( - com.google.protobuf.ByteString value) { - if (value == null) { throw new NullPointerException(); } - checkByteStringIsUtf8(value); - language_ = value; - bitField0_ |= 0x00000001; - onChanged(); - return this; - } - - private java.lang.Object text_ = ""; - /** - *
-       * The text content of the signature, e.g. "void add(int a, int b)".
-       * 
- * - * string text = 5 [json_name = "text"]; - * @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; - } - } - /** - *
-       * The text content of the signature, e.g. "void add(int a, int b)".
-       * 
- * - * string text = 5 [json_name = "text"]; - * @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; - } - } - /** - *
-       * The text content of the signature, e.g. "void add(int a, int b)".
-       * 
- * - * string text = 5 [json_name = "text"]; - * @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; - bitField0_ |= 0x00000002; - onChanged(); - return this; - } - /** - *
-       * The text content of the signature, e.g. "void add(int a, int b)".
-       * 
- * - * string text = 5 [json_name = "text"]; - * @return This builder for chaining. - */ - public Builder clearText() { - text_ = getDefaultInstance().getText(); - bitField0_ = (bitField0_ & ~0x00000002); - onChanged(); - return this; - } - /** - *
-       * The text content of the signature, e.g. "void add(int a, int b)".
-       * 
- * - * string text = 5 [json_name = "text"]; - * @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; - bitField0_ |= 0x00000002; - onChanged(); - return this; - } - - private java.util.List occurrences_ = - java.util.Collections.emptyList(); - private void ensureOccurrencesIsMutable() { - if (!((bitField0_ & 0x00000004) != 0)) { - occurrences_ = new java.util.ArrayList(occurrences_); - bitField0_ |= 0x00000004; - } - } - - private com.google.protobuf.RepeatedFieldBuilder< - scip.Scip.Occurrence, scip.Scip.Occurrence.Builder, scip.Scip.OccurrenceOrBuilder> occurrencesBuilder_; - - /** - *
-       * (optional) Occurrences within the signature text that reference other
-       * symbols, enabling hyperlinking of types in the signature. Ranges are
-       * relative to the `text` field.
-       * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public java.util.List getOccurrencesList() { - if (occurrencesBuilder_ == null) { - return java.util.Collections.unmodifiableList(occurrences_); - } else { - return occurrencesBuilder_.getMessageList(); - } - } - /** - *
-       * (optional) Occurrences within the signature text that reference other
-       * symbols, enabling hyperlinking of types in the signature. Ranges are
-       * relative to the `text` field.
-       * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public int getOccurrencesCount() { - if (occurrencesBuilder_ == null) { - return occurrences_.size(); - } else { - return occurrencesBuilder_.getCount(); - } - } - /** - *
-       * (optional) Occurrences within the signature text that reference other
-       * symbols, enabling hyperlinking of types in the signature. Ranges are
-       * relative to the `text` field.
-       * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public scip.Scip.Occurrence getOccurrences(int index) { - if (occurrencesBuilder_ == null) { - return occurrences_.get(index); - } else { - return occurrencesBuilder_.getMessage(index); - } - } - /** - *
-       * (optional) Occurrences within the signature text that reference other
-       * symbols, enabling hyperlinking of types in the signature. Ranges are
-       * relative to the `text` field.
-       * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public Builder setOccurrences( - int index, scip.Scip.Occurrence value) { - if (occurrencesBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureOccurrencesIsMutable(); - occurrences_.set(index, value); - onChanged(); - } else { - occurrencesBuilder_.setMessage(index, value); - } - return this; - } - /** - *
-       * (optional) Occurrences within the signature text that reference other
-       * symbols, enabling hyperlinking of types in the signature. Ranges are
-       * relative to the `text` field.
-       * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public Builder setOccurrences( - int index, scip.Scip.Occurrence.Builder builderForValue) { - if (occurrencesBuilder_ == null) { - ensureOccurrencesIsMutable(); - occurrences_.set(index, builderForValue.build()); - onChanged(); - } else { - occurrencesBuilder_.setMessage(index, builderForValue.build()); - } - return this; - } - /** - *
-       * (optional) Occurrences within the signature text that reference other
-       * symbols, enabling hyperlinking of types in the signature. Ranges are
-       * relative to the `text` field.
-       * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public Builder addOccurrences(scip.Scip.Occurrence value) { - if (occurrencesBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureOccurrencesIsMutable(); - occurrences_.add(value); - onChanged(); - } else { - occurrencesBuilder_.addMessage(value); - } - return this; - } - /** - *
-       * (optional) Occurrences within the signature text that reference other
-       * symbols, enabling hyperlinking of types in the signature. Ranges are
-       * relative to the `text` field.
-       * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public Builder addOccurrences( - int index, scip.Scip.Occurrence value) { - if (occurrencesBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureOccurrencesIsMutable(); - occurrences_.add(index, value); - onChanged(); - } else { - occurrencesBuilder_.addMessage(index, value); - } - return this; - } - /** - *
-       * (optional) Occurrences within the signature text that reference other
-       * symbols, enabling hyperlinking of types in the signature. Ranges are
-       * relative to the `text` field.
-       * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public Builder addOccurrences( - scip.Scip.Occurrence.Builder builderForValue) { - if (occurrencesBuilder_ == null) { - ensureOccurrencesIsMutable(); - occurrences_.add(builderForValue.build()); - onChanged(); - } else { - occurrencesBuilder_.addMessage(builderForValue.build()); - } - return this; - } - /** - *
-       * (optional) Occurrences within the signature text that reference other
-       * symbols, enabling hyperlinking of types in the signature. Ranges are
-       * relative to the `text` field.
-       * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public Builder addOccurrences( - int index, scip.Scip.Occurrence.Builder builderForValue) { - if (occurrencesBuilder_ == null) { - ensureOccurrencesIsMutable(); - occurrences_.add(index, builderForValue.build()); - onChanged(); - } else { - occurrencesBuilder_.addMessage(index, builderForValue.build()); - } - return this; - } - /** - *
-       * (optional) Occurrences within the signature text that reference other
-       * symbols, enabling hyperlinking of types in the signature. Ranges are
-       * relative to the `text` field.
-       * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - 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; - } - /** - *
-       * (optional) Occurrences within the signature text that reference other
-       * symbols, enabling hyperlinking of types in the signature. Ranges are
-       * relative to the `text` field.
-       * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public Builder clearOccurrences() { - if (occurrencesBuilder_ == null) { - occurrences_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000004); - onChanged(); - } else { - occurrencesBuilder_.clear(); - } - return this; - } - /** - *
-       * (optional) Occurrences within the signature text that reference other
-       * symbols, enabling hyperlinking of types in the signature. Ranges are
-       * relative to the `text` field.
-       * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public Builder removeOccurrences(int index) { - if (occurrencesBuilder_ == null) { - ensureOccurrencesIsMutable(); - occurrences_.remove(index); - onChanged(); - } else { - occurrencesBuilder_.remove(index); - } - return this; - } - /** - *
-       * (optional) Occurrences within the signature text that reference other
-       * symbols, enabling hyperlinking of types in the signature. Ranges are
-       * relative to the `text` field.
-       * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public scip.Scip.Occurrence.Builder getOccurrencesBuilder( - int index) { - return internalGetOccurrencesFieldBuilder().getBuilder(index); - } - /** - *
-       * (optional) Occurrences within the signature text that reference other
-       * symbols, enabling hyperlinking of types in the signature. Ranges are
-       * relative to the `text` field.
-       * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public scip.Scip.OccurrenceOrBuilder getOccurrencesOrBuilder( - int index) { - if (occurrencesBuilder_ == null) { - return occurrences_.get(index); } else { - return occurrencesBuilder_.getMessageOrBuilder(index); - } - } - /** - *
-       * (optional) Occurrences within the signature text that reference other
-       * symbols, enabling hyperlinking of types in the signature. Ranges are
-       * relative to the `text` field.
-       * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public java.util.List - getOccurrencesOrBuilderList() { - if (occurrencesBuilder_ != null) { - return occurrencesBuilder_.getMessageOrBuilderList(); - } else { - return java.util.Collections.unmodifiableList(occurrences_); - } - } - /** - *
-       * (optional) Occurrences within the signature text that reference other
-       * symbols, enabling hyperlinking of types in the signature. Ranges are
-       * relative to the `text` field.
-       * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public scip.Scip.Occurrence.Builder addOccurrencesBuilder() { - return internalGetOccurrencesFieldBuilder().addBuilder( - scip.Scip.Occurrence.getDefaultInstance()); - } - /** - *
-       * (optional) Occurrences within the signature text that reference other
-       * symbols, enabling hyperlinking of types in the signature. Ranges are
-       * relative to the `text` field.
-       * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public scip.Scip.Occurrence.Builder addOccurrencesBuilder( - int index) { - return internalGetOccurrencesFieldBuilder().addBuilder( - index, scip.Scip.Occurrence.getDefaultInstance()); - } - /** - *
-       * (optional) Occurrences within the signature text that reference other
-       * symbols, enabling hyperlinking of types in the signature. Ranges are
-       * relative to the `text` field.
-       * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public java.util.List - getOccurrencesBuilderList() { - return internalGetOccurrencesFieldBuilder().getBuilderList(); - } - private com.google.protobuf.RepeatedFieldBuilder< - scip.Scip.Occurrence, scip.Scip.Occurrence.Builder, scip.Scip.OccurrenceOrBuilder> - internalGetOccurrencesFieldBuilder() { - if (occurrencesBuilder_ == null) { - occurrencesBuilder_ = new com.google.protobuf.RepeatedFieldBuilder< - scip.Scip.Occurrence, scip.Scip.Occurrence.Builder, scip.Scip.OccurrenceOrBuilder>( - occurrences_, - ((bitField0_ & 0x00000004) != 0), - getParentForChildren(), - isClean()); - occurrences_ = null; - } - return occurrencesBuilder_; - } - - // @@protoc_insertion_point(builder_scope:scip.Signature) - } - - // @@protoc_insertion_point(class_scope:scip.Signature) - private static final scip.Scip.Signature DEFAULT_INSTANCE; - static { - DEFAULT_INSTANCE = new scip.Scip.Signature(); - } - - public static scip.Scip.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 { - Builder builder = newBuilder(); - try { - builder.mergeFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.setUnfinishedMessage(builder.buildPartial()); - } catch (com.google.protobuf.UninitializedMessageException e) { - throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); - } catch (java.io.IOException e) { - throw new com.google.protobuf.InvalidProtocolBufferException(e) - .setUnfinishedMessage(builder.buildPartial()); - } - return builder.buildPartial(); - } - }; - - public static com.google.protobuf.Parser parser() { - return PARSER; - } - - @java.lang.Override - public com.google.protobuf.Parser getParserForType() { - return PARSER; - } - - @java.lang.Override - public scip.Scip.Signature getDefaultInstanceForType() { - return DEFAULT_INSTANCE; - } - - } - - public interface SymbolInformationOrBuilder extends - // @@protoc_insertion_point(interface_extends:scip.SymbolInformation) - com.google.protobuf.MessageOrBuilder { - - /** - *
-     * Identifier of this symbol, which can be referenced from `Occurence.symbol`.
-     * The string must be formatted according to the grammar in `Symbol`.
-     * 
- * - * string symbol = 1 [json_name = "symbol"]; - * @return The symbol. - */ - java.lang.String getSymbol(); - /** - *
-     * Identifier of this symbol, which can be referenced from `Occurence.symbol`.
-     * The string must be formatted according to the grammar in `Symbol`.
-     * 
- * - * string symbol = 1 [json_name = "symbol"]; - * @return The bytes for symbol. - */ - com.google.protobuf.ByteString - getSymbolBytes(); - - /** - *
-     * (optional, but strongly recommended) The markdown-formatted documentation
-     * for this symbol. Use `SymbolInformation.signature_documentation` to
-     * document the method/class/type signature of this symbol.
-     * Due to historical reasons, indexers may include signature documentation in
-     * this field by rendering markdown code blocks. New indexers should only
-     * include non-code documentation in this field, for example docstrings.
-     * 
- * - * repeated string documentation = 3 [json_name = "documentation"]; - * @return A list containing the documentation. - */ - java.util.List - getDocumentationList(); - /** - *
-     * (optional, but strongly recommended) The markdown-formatted documentation
-     * for this symbol. Use `SymbolInformation.signature_documentation` to
-     * document the method/class/type signature of this symbol.
-     * Due to historical reasons, indexers may include signature documentation in
-     * this field by rendering markdown code blocks. New indexers should only
-     * include non-code documentation in this field, for example docstrings.
-     * 
- * - * repeated string documentation = 3 [json_name = "documentation"]; - * @return The count of documentation. - */ - int getDocumentationCount(); - /** - *
-     * (optional, but strongly recommended) The markdown-formatted documentation
-     * for this symbol. Use `SymbolInformation.signature_documentation` to
-     * document the method/class/type signature of this symbol.
-     * Due to historical reasons, indexers may include signature documentation in
-     * this field by rendering markdown code blocks. New indexers should only
-     * include non-code documentation in this field, for example docstrings.
-     * 
- * - * repeated string documentation = 3 [json_name = "documentation"]; - * @param index The index of the element to return. - * @return The documentation at the given index. - */ - java.lang.String getDocumentation(int index); - /** - *
-     * (optional, but strongly recommended) The markdown-formatted documentation
-     * for this symbol. Use `SymbolInformation.signature_documentation` to
-     * document the method/class/type signature of this symbol.
-     * Due to historical reasons, indexers may include signature documentation in
-     * this field by rendering markdown code blocks. New indexers should only
-     * include non-code documentation in this field, for example docstrings.
-     * 
- * - * repeated string documentation = 3 [json_name = "documentation"]; - * @param index The index of the value to return. - * @return The bytes of the documentation at the given index. - */ - com.google.protobuf.ByteString - getDocumentationBytes(int index); - - /** - *
-     * (optional) Relationships to other symbols (e.g., implements, type definition).
-     * 
- * - * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; - */ - java.util.List - getRelationshipsList(); - /** - *
-     * (optional) Relationships to other symbols (e.g., implements, type definition).
-     * 
- * - * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; - */ - scip.Scip.Relationship getRelationships(int index); - /** - *
-     * (optional) Relationships to other symbols (e.g., implements, type definition).
-     * 
- * - * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; - */ - int getRelationshipsCount(); - /** - *
-     * (optional) Relationships to other symbols (e.g., implements, type definition).
-     * 
- * - * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; - */ - java.util.List - getRelationshipsOrBuilderList(); - /** - *
-     * (optional) Relationships to other symbols (e.g., implements, type definition).
-     * 
- * - * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; - */ - scip.Scip.RelationshipOrBuilder getRelationshipsOrBuilder( - int index); - - /** - *
-     * The kind of this symbol. Use this field instead of
-     * `SymbolDescriptor.Suffix` to determine whether something is, for example, a
-     * class or a method.
-     * 
- * - * .scip.SymbolInformation.Kind kind = 5 [json_name = "kind"]; - * @return The enum numeric value on the wire for kind. - */ - int getKindValue(); - /** - *
-     * The kind of this symbol. Use this field instead of
-     * `SymbolDescriptor.Suffix` to determine whether something is, for example, a
-     * class or a method.
-     * 
- * - * .scip.SymbolInformation.Kind kind = 5 [json_name = "kind"]; - * @return The kind. - */ - scip.Scip.SymbolInformation.Kind getKind(); - - /** - *
-     * (optional) The name of this symbol as it should be displayed to the user.
-     * For example, the symbol "com/example/MyClass#myMethod(+1)." should have the
-     * display name "myMethod". The `symbol` field is not a reliable source of
-     * the display name for several reasons:
-     *
-     * - Local symbols don't encode the name.
-     * - Some languages have case-insensitive names, so the symbol is all-lowercase.
-     * - The symbol may encode names with special characters that should not be
-     * displayed to the user.
-     * 
- * - * string display_name = 6 [json_name = "displayName"]; - * @return The displayName. - */ - java.lang.String getDisplayName(); - /** - *
-     * (optional) The name of this symbol as it should be displayed to the user.
-     * For example, the symbol "com/example/MyClass#myMethod(+1)." should have the
-     * display name "myMethod". The `symbol` field is not a reliable source of
-     * the display name for several reasons:
-     *
-     * - Local symbols don't encode the name.
-     * - Some languages have case-insensitive names, so the symbol is all-lowercase.
-     * - The symbol may encode names with special characters that should not be
-     * displayed to the user.
-     * 
- * - * string display_name = 6 [json_name = "displayName"]; - * @return The bytes for displayName. - */ - com.google.protobuf.ByteString - getDisplayNameBytes(); - - /** - *
-     * (optional) The signature of this symbol as it's displayed in API
-     * documentation or in hover tooltips. For example, a Java method that adds
-     * two numbers would have `Signature.language = "java"` and
-     * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
-     * fields are required while `occurrences` can be optionally included to
-     * support hyperlinking referenced symbols in the signature.
-     * 
- * - * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; - * @return Whether the signatureDocumentation field is set. - */ - boolean hasSignatureDocumentation(); - /** - *
-     * (optional) The signature of this symbol as it's displayed in API
-     * documentation or in hover tooltips. For example, a Java method that adds
-     * two numbers would have `Signature.language = "java"` and
-     * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
-     * fields are required while `occurrences` can be optionally included to
-     * support hyperlinking referenced symbols in the signature.
-     * 
- * - * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; - * @return The signatureDocumentation. - */ - scip.Scip.Signature getSignatureDocumentation(); - /** - *
-     * (optional) The signature of this symbol as it's displayed in API
-     * documentation or in hover tooltips. For example, a Java method that adds
-     * two numbers would have `Signature.language = "java"` and
-     * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
-     * fields are required while `occurrences` can be optionally included to
-     * support hyperlinking referenced symbols in the signature.
-     * 
- * - * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; - */ - scip.Scip.SignatureOrBuilder getSignatureDocumentationOrBuilder(); - - /** - *
-     * (optional) The enclosing symbol if this is a local symbol.  For non-local
-     * symbols, the enclosing symbol should be parsed from the `symbol` field
-     * using the `Descriptor` grammar.
-     *
-     * The primary use-case for this field is to allow local symbol to be displayed
-     * in a symbol hierarchy for API documentation. It's OK to leave this field
-     * empty for local variables since local variables usually don't belong in API
-     * documentation. However, in the situation that you wish to include a local
-     * symbol in the hierarchy, then you can use `enclosing_symbol` to locate the
-     * "parent" or "owner" of this local symbol. For example, a Java indexer may
-     * choose to use local symbols for private class fields while providing an
-     * `enclosing_symbol` to reference the enclosing class to allow the field to
-     * be part of the class documentation hierarchy. From the perspective of an
-     * author of an indexer, the decision to use a local symbol or global symbol
-     * should exclusively be determined whether the local symbol is accessible
-     * outside the document, not by the capability to find the enclosing
-     * symbol.
-     * 
- * - * string enclosing_symbol = 8 [json_name = "enclosingSymbol"]; - * @return The enclosingSymbol. - */ - java.lang.String getEnclosingSymbol(); - /** - *
-     * (optional) The enclosing symbol if this is a local symbol.  For non-local
-     * symbols, the enclosing symbol should be parsed from the `symbol` field
-     * using the `Descriptor` grammar.
-     *
-     * The primary use-case for this field is to allow local symbol to be displayed
-     * in a symbol hierarchy for API documentation. It's OK to leave this field
-     * empty for local variables since local variables usually don't belong in API
-     * documentation. However, in the situation that you wish to include a local
-     * symbol in the hierarchy, then you can use `enclosing_symbol` to locate the
-     * "parent" or "owner" of this local symbol. For example, a Java indexer may
-     * choose to use local symbols for private class fields while providing an
-     * `enclosing_symbol` to reference the enclosing class to allow the field to
-     * be part of the class documentation hierarchy. From the perspective of an
-     * author of an indexer, the decision to use a local symbol or global symbol
-     * should exclusively be determined whether the local symbol is accessible
-     * outside the document, not by the capability to find the enclosing
-     * symbol.
-     * 
- * - * string enclosing_symbol = 8 [json_name = "enclosingSymbol"]; - * @return The bytes for enclosingSymbol. - */ - com.google.protobuf.ByteString - getEnclosingSymbolBytes(); - } - /** - *
-   * SymbolInformation defines metadata about a symbol, such as the symbol's
-   * docstring or what package it's defined it.
-   * 
- * - * Protobuf type {@code scip.SymbolInformation} - */ - public static final class SymbolInformation extends - com.google.protobuf.GeneratedMessage implements - // @@protoc_insertion_point(message_implements:scip.SymbolInformation) - SymbolInformationOrBuilder { - private static final long serialVersionUID = 0L; - static { - com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( - com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, - /* major= */ 4, - /* minor= */ 32, - /* patch= */ 1, - /* suffix= */ "", - SymbolInformation.class.getName()); - } - // Use SymbolInformation.newBuilder() to construct. - private SymbolInformation(com.google.protobuf.GeneratedMessage.Builder builder) { - super(builder); - } - private SymbolInformation() { - symbol_ = ""; - documentation_ = - com.google.protobuf.LazyStringArrayList.emptyList(); - relationships_ = java.util.Collections.emptyList(); - kind_ = 0; - displayName_ = ""; - enclosingSymbol_ = ""; - } - - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return scip.Scip.internal_static_scip_SymbolInformation_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessage.FieldAccessorTable - internalGetFieldAccessorTable() { - return scip.Scip.internal_static_scip_SymbolInformation_fieldAccessorTable - .ensureFieldAccessorsInitialized( - scip.Scip.SymbolInformation.class, scip.Scip.SymbolInformation.Builder.class); - } - - /** - *
-     * (optional) Kind represents the fine-grained category of a symbol, suitable for presenting
-     * information about the symbol's meaning in the language.
-     *
-     * For example:
-     * - A Java method would have the kind `Method` while a Go function would
-     * have the kind `Function`, even if the symbols for these use the same
-     * syntax for the descriptor `SymbolDescriptor.Suffix.Method`.
-     * - A Go struct has the symbol kind `Struct` while a Java class has
-     * the symbol kind `Class` even if they both have the same descriptor:
-     * `SymbolDescriptor.Suffix.Type`.
-     *
-     * Since Kind is more fine-grained than Suffix:
-     * - If two symbols have the same Kind, they should share the same Suffix.
-     * - If two symbols have different Suffixes, they should have different Kinds.
-     * 
- * - * Protobuf enum {@code scip.SymbolInformation.Kind} - */ - public enum Kind - implements com.google.protobuf.ProtocolMessageEnum { - /** - * UnspecifiedKind = 0; - */ - UnspecifiedKind(0), - /** - *
-       * A method which may or may not have a body. For Java, Kotlin etc.
-       * 
- * - * AbstractMethod = 66; - */ - AbstractMethod(66), - /** - *
-       * For Ruby's attr_accessor
-       * 
- * - * Accessor = 72; - */ - Accessor(72), - /** - * Array = 1; - */ - Array(1), - /** - *
-       * For Alloy
-       * 
- * - * Assertion = 2; - */ - Assertion(2), - /** - * AssociatedType = 3; - */ - AssociatedType(3), - /** - *
-       * For C++
-       * 
- * - * Attribute = 4; - */ - Attribute(4), - /** - *
-       * For Lean
-       * 
- * - * Axiom = 5; - */ - Axiom(5), - /** - * Boolean = 6; - */ - Boolean(6), - /** - * Class = 7; - */ - Class(7), - /** - *
-       * For C++
-       * 
- * - * Concept = 86; - */ - Concept(86), - /** - * Constant = 8; - */ - Constant(8), - /** - * Constructor = 9; - */ - Constructor(9), - /** - *
-       * For Solidity
-       * 
- * - * Contract = 62; - */ - Contract(62), - /** - *
-       * For Haskell
-       * 
- * - * DataFamily = 10; - */ - DataFamily(10), - /** - *
-       * For C# and F#
-       * 
- * - * Delegate = 73; - */ - Delegate(73), - /** - * Enum = 11; - */ - Enum(11), - /** - * EnumMember = 12; - */ - EnumMember(12), - /** - * Error = 63; - */ - Error(63), - /** - * Event = 13; - */ - Event(13), - /** - *
-       * For Dart
-       * 
- * - * Extension = 84; - */ - Extension(84), - /** - *
-       * For Alloy
-       * 
- * - * Fact = 14; - */ - Fact(14), - /** - * Field = 15; - */ - Field(15), - /** - * File = 16; - */ - File(16), - /** - * Function = 17; - */ - Function(17), - /** - *
-       * For 'get' in Swift, 'attr_reader' in Ruby
-       * 
- * - * Getter = 18; - */ - Getter(18), - /** - *
-       * For Raku
-       * 
- * - * Grammar = 19; - */ - Grammar(19), - /** - *
-       * For Purescript and Lean
-       * 
- * - * Instance = 20; - */ - Instance(20), - /** - * Interface = 21; - */ - Interface(21), - /** - * Key = 22; - */ - Key(22), - /** - *
-       * For Racket
-       * 
- * - * Lang = 23; - */ - Lang(23), - /** - *
-       * For Lean
-       * 
- * - * Lemma = 24; - */ - Lemma(24), - /** - *
-       * For solidity
-       * 
- * - * Library = 64; - */ - Library(64), - /** - * Macro = 25; - */ - Macro(25), - /** - * Method = 26; - */ - Method(26), - /** - *
-       * For Ruby
-       * 
- * - * MethodAlias = 74; - */ - MethodAlias(74), - /** - *
-       * Analogous to 'ThisParameter' and 'SelfParameter', but for languages
-       * like Go where the receiver doesn't have a conventional name.
-       * 
- * - * MethodReceiver = 27; - */ - MethodReceiver(27), - /** - *
-       * Analogous to 'AbstractMethod', for Go.
-       * 
- * - * MethodSpecification = 67; - */ - MethodSpecification(67), - /** - *
-       * For Protobuf
-       * 
- * - * Message = 28; - */ - Message(28), - /** - *
-       * For Dart
-       * 
- * - * Mixin = 85; - */ - Mixin(85), - /** - *
-       * For Solidity
-       * 
- * - * Modifier = 65; - */ - Modifier(65), - /** - * Module = 29; - */ - Module(29), - /** - * Namespace = 30; - */ - Namespace(30), - /** - * Null = 31; - */ - Null(31), - /** - * Number = 32; - */ - Number(32), - /** - * Object = 33; - */ - Object(33), - /** - * Operator = 34; - */ - Operator(34), - /** - * Package = 35; - */ - Package(35), - /** - * PackageObject = 36; - */ - PackageObject(36), - /** - * Parameter = 37; - */ - Parameter(37), - /** - * ParameterLabel = 38; - */ - ParameterLabel(38), - /** - *
-       * For Haskell's PatternSynonyms
-       * 
- * - * Pattern = 39; - */ - Pattern(39), - /** - *
-       * For Alloy
-       * 
- * - * Predicate = 40; - */ - Predicate(40), - /** - * Property = 41; - */ - Property(41), - /** - *
-       * Analogous to 'Trait' and 'TypeClass', for Swift and Objective-C
-       * 
- * - * Protocol = 42; - */ - Protocol(42), - /** - *
-       * Analogous to 'AbstractMethod', for Swift and Objective-C.
-       * 
- * - * ProtocolMethod = 68; - */ - ProtocolMethod(68), - /** - *
-       * Analogous to 'AbstractMethod', for C++.
-       * 
- * - * PureVirtualMethod = 69; - */ - PureVirtualMethod(69), - /** - *
-       * For Haskell
-       * 
- * - * Quasiquoter = 43; - */ - Quasiquoter(43), - /** - *
-       * 'self' in Python, Rust, Swift etc.
-       * 
- * - * SelfParameter = 44; - */ - SelfParameter(44), - /** - *
-       * For 'set' in Swift, 'attr_writer' in Ruby
-       * 
- * - * Setter = 45; - */ - Setter(45), - /** - *
-       * For Alloy, analogous to 'Struct'.
-       * 
- * - * Signature = 46; - */ - Signature(46), - /** - *
-       * For Ruby
-       * 
- * - * SingletonClass = 75; - */ - SingletonClass(75), - /** - *
-       * Analogous to 'StaticMethod', for Ruby.
-       * 
- * - * SingletonMethod = 76; - */ - SingletonMethod(76), - /** - *
-       * Analogous to 'StaticField', for C++
-       * 
- * - * StaticDataMember = 77; - */ - StaticDataMember(77), - /** - *
-       * For C#
-       * 
- * - * StaticEvent = 78; - */ - StaticEvent(78), - /** - *
-       * For C#
-       * 
- * - * StaticField = 79; - */ - StaticField(79), - /** - *
-       * For Java, C#, C++ etc.
-       * 
- * - * StaticMethod = 80; - */ - StaticMethod(80), - /** - *
-       * For C#, TypeScript etc.
-       * 
- * - * StaticProperty = 81; - */ - StaticProperty(81), - /** - *
-       * For C, C++
-       * 
- * - * StaticVariable = 82; - */ - StaticVariable(82), - /** - * String = 48; - */ - String(48), - /** - * Struct = 49; - */ - Struct(49), - /** - *
-       * For Swift
-       * 
- * - * Subscript = 47; - */ - Subscript(47), - /** - *
-       * For Lean
-       * 
- * - * Tactic = 50; - */ - Tactic(50), - /** - *
-       * For Lean
-       * 
- * - * Theorem = 51; - */ - Theorem(51), - /** - *
-       * Method receiver for languages
-       * 'this' in JavaScript, C++, Java etc.
-       * 
- * - * ThisParameter = 52; - */ - ThisParameter(52), - /** - *
-       * Analogous to 'Protocol' and 'TypeClass', for Rust, Scala etc.
-       * 
- * - * Trait = 53; - */ - Trait(53), - /** - *
-       * Analogous to 'AbstractMethod', for Rust, Scala etc.
-       * 
- * - * TraitMethod = 70; - */ - TraitMethod(70), - /** - *
-       * Data type definition for languages like OCaml which use `type`
-       * rather than separate keywords like `struct` and `enum`.
-       * 
- * - * Type = 54; - */ - Type(54), - /** - * TypeAlias = 55; - */ - TypeAlias(55), - /** - *
-       * Analogous to 'Trait' and 'Protocol', for Haskell, Purescript etc.
-       * 
- * - * TypeClass = 56; - */ - TypeClass(56), - /** - *
-       * Analogous to 'AbstractMethod', for Haskell, Purescript etc.
-       * 
- * - * TypeClassMethod = 71; - */ - TypeClassMethod(71), - /** - *
-       * For Haskell
-       * 
- * - * TypeFamily = 57; - */ - TypeFamily(57), - /** - * TypeParameter = 58; - */ - TypeParameter(58), - /** - *
-       * For C, C++, Capn Proto
-       * 
- * - * Union = 59; - */ - Union(59), - /** - * Value = 60; - */ - Value(60), - /** - *
-       * Next = 87;
-       * Feel free to open a PR proposing new language-specific kinds.
-       * 
- * - * Variable = 61; - */ - Variable(61), - UNRECOGNIZED(-1), - ; - - static { - com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( - com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, - /* major= */ 4, - /* minor= */ 32, - /* patch= */ 1, - /* suffix= */ "", - Kind.class.getName()); - } - /** - * UnspecifiedKind = 0; - */ - public static final int UnspecifiedKind_VALUE = 0; - /** - *
-       * A method which may or may not have a body. For Java, Kotlin etc.
-       * 
- * - * AbstractMethod = 66; - */ - public static final int AbstractMethod_VALUE = 66; - /** - *
-       * For Ruby's attr_accessor
-       * 
- * - * Accessor = 72; - */ - public static final int Accessor_VALUE = 72; - /** - * Array = 1; - */ - public static final int Array_VALUE = 1; - /** - *
-       * For Alloy
-       * 
- * - * Assertion = 2; - */ - public static final int Assertion_VALUE = 2; - /** - * AssociatedType = 3; - */ - public static final int AssociatedType_VALUE = 3; - /** - *
-       * For C++
-       * 
- * - * Attribute = 4; - */ - public static final int Attribute_VALUE = 4; - /** - *
-       * For Lean
-       * 
- * - * Axiom = 5; - */ - public static final int Axiom_VALUE = 5; - /** - * Boolean = 6; - */ - public static final int Boolean_VALUE = 6; - /** - * Class = 7; - */ - public static final int Class_VALUE = 7; - /** - *
-       * For C++
-       * 
- * - * Concept = 86; - */ - public static final int Concept_VALUE = 86; - /** - * Constant = 8; - */ - public static final int Constant_VALUE = 8; - /** - * Constructor = 9; - */ - public static final int Constructor_VALUE = 9; - /** - *
-       * For Solidity
-       * 
- * - * Contract = 62; - */ - public static final int Contract_VALUE = 62; - /** - *
-       * For Haskell
-       * 
- * - * DataFamily = 10; - */ - public static final int DataFamily_VALUE = 10; - /** - *
-       * For C# and F#
-       * 
- * - * Delegate = 73; - */ - public static final int Delegate_VALUE = 73; - /** - * Enum = 11; - */ - public static final int Enum_VALUE = 11; - /** - * EnumMember = 12; - */ - public static final int EnumMember_VALUE = 12; - /** - * Error = 63; - */ - public static final int Error_VALUE = 63; - /** - * Event = 13; - */ - public static final int Event_VALUE = 13; - /** - *
-       * For Dart
-       * 
- * - * Extension = 84; - */ - public static final int Extension_VALUE = 84; - /** - *
-       * For Alloy
-       * 
- * - * Fact = 14; - */ - public static final int Fact_VALUE = 14; - /** - * Field = 15; - */ - public static final int Field_VALUE = 15; - /** - * File = 16; - */ - public static final int File_VALUE = 16; - /** - * Function = 17; - */ - public static final int Function_VALUE = 17; - /** - *
-       * For 'get' in Swift, 'attr_reader' in Ruby
-       * 
- * - * Getter = 18; - */ - public static final int Getter_VALUE = 18; - /** - *
-       * For Raku
-       * 
- * - * Grammar = 19; - */ - public static final int Grammar_VALUE = 19; - /** - *
-       * For Purescript and Lean
-       * 
- * - * Instance = 20; - */ - public static final int Instance_VALUE = 20; - /** - * Interface = 21; - */ - public static final int Interface_VALUE = 21; - /** - * Key = 22; - */ - public static final int Key_VALUE = 22; - /** - *
-       * For Racket
-       * 
- * - * Lang = 23; - */ - public static final int Lang_VALUE = 23; - /** - *
-       * For Lean
-       * 
- * - * Lemma = 24; - */ - public static final int Lemma_VALUE = 24; - /** - *
-       * For solidity
-       * 
- * - * Library = 64; - */ - public static final int Library_VALUE = 64; - /** - * Macro = 25; - */ - public static final int Macro_VALUE = 25; - /** - * Method = 26; - */ - public static final int Method_VALUE = 26; - /** - *
-       * For Ruby
-       * 
- * - * MethodAlias = 74; - */ - public static final int MethodAlias_VALUE = 74; - /** - *
-       * Analogous to 'ThisParameter' and 'SelfParameter', but for languages
-       * like Go where the receiver doesn't have a conventional name.
-       * 
- * - * MethodReceiver = 27; - */ - public static final int MethodReceiver_VALUE = 27; - /** - *
-       * Analogous to 'AbstractMethod', for Go.
-       * 
- * - * MethodSpecification = 67; - */ - public static final int MethodSpecification_VALUE = 67; - /** - *
-       * For Protobuf
-       * 
- * - * Message = 28; - */ - public static final int Message_VALUE = 28; - /** - *
-       * For Dart
-       * 
- * - * Mixin = 85; - */ - public static final int Mixin_VALUE = 85; - /** - *
-       * For Solidity
-       * 
- * - * Modifier = 65; - */ - public static final int Modifier_VALUE = 65; - /** - * Module = 29; - */ - public static final int Module_VALUE = 29; - /** - * Namespace = 30; - */ - public static final int Namespace_VALUE = 30; - /** - * Null = 31; - */ - public static final int Null_VALUE = 31; - /** - * Number = 32; - */ - public static final int Number_VALUE = 32; - /** - * Object = 33; - */ - public static final int Object_VALUE = 33; - /** - * Operator = 34; - */ - public static final int Operator_VALUE = 34; - /** - * Package = 35; - */ - public static final int Package_VALUE = 35; - /** - * PackageObject = 36; - */ - public static final int PackageObject_VALUE = 36; - /** - * Parameter = 37; - */ - public static final int Parameter_VALUE = 37; - /** - * ParameterLabel = 38; - */ - public static final int ParameterLabel_VALUE = 38; - /** - *
-       * For Haskell's PatternSynonyms
-       * 
- * - * Pattern = 39; - */ - public static final int Pattern_VALUE = 39; - /** - *
-       * For Alloy
-       * 
- * - * Predicate = 40; - */ - public static final int Predicate_VALUE = 40; - /** - * Property = 41; - */ - public static final int Property_VALUE = 41; - /** - *
-       * Analogous to 'Trait' and 'TypeClass', for Swift and Objective-C
-       * 
- * - * Protocol = 42; - */ - public static final int Protocol_VALUE = 42; - /** - *
-       * Analogous to 'AbstractMethod', for Swift and Objective-C.
-       * 
- * - * ProtocolMethod = 68; - */ - public static final int ProtocolMethod_VALUE = 68; - /** - *
-       * Analogous to 'AbstractMethod', for C++.
-       * 
- * - * PureVirtualMethod = 69; - */ - public static final int PureVirtualMethod_VALUE = 69; - /** - *
-       * For Haskell
-       * 
- * - * Quasiquoter = 43; - */ - public static final int Quasiquoter_VALUE = 43; - /** - *
-       * 'self' in Python, Rust, Swift etc.
-       * 
- * - * SelfParameter = 44; - */ - public static final int SelfParameter_VALUE = 44; - /** - *
-       * For 'set' in Swift, 'attr_writer' in Ruby
-       * 
- * - * Setter = 45; - */ - public static final int Setter_VALUE = 45; - /** - *
-       * For Alloy, analogous to 'Struct'.
-       * 
- * - * Signature = 46; - */ - public static final int Signature_VALUE = 46; - /** - *
-       * For Ruby
-       * 
- * - * SingletonClass = 75; - */ - public static final int SingletonClass_VALUE = 75; - /** - *
-       * Analogous to 'StaticMethod', for Ruby.
-       * 
- * - * SingletonMethod = 76; - */ - public static final int SingletonMethod_VALUE = 76; - /** - *
-       * Analogous to 'StaticField', for C++
-       * 
- * - * StaticDataMember = 77; - */ - public static final int StaticDataMember_VALUE = 77; - /** - *
-       * For C#
-       * 
- * - * StaticEvent = 78; - */ - public static final int StaticEvent_VALUE = 78; - /** - *
-       * For C#
-       * 
- * - * StaticField = 79; - */ - public static final int StaticField_VALUE = 79; - /** - *
-       * For Java, C#, C++ etc.
-       * 
- * - * StaticMethod = 80; - */ - public static final int StaticMethod_VALUE = 80; - /** - *
-       * For C#, TypeScript etc.
-       * 
- * - * StaticProperty = 81; - */ - public static final int StaticProperty_VALUE = 81; - /** - *
-       * For C, C++
-       * 
- * - * StaticVariable = 82; - */ - public static final int StaticVariable_VALUE = 82; - /** - * String = 48; - */ - public static final int String_VALUE = 48; - /** - * Struct = 49; - */ - public static final int Struct_VALUE = 49; - /** - *
-       * For Swift
-       * 
- * - * Subscript = 47; - */ - public static final int Subscript_VALUE = 47; - /** - *
-       * For Lean
-       * 
- * - * Tactic = 50; - */ - public static final int Tactic_VALUE = 50; - /** - *
-       * For Lean
-       * 
- * - * Theorem = 51; - */ - public static final int Theorem_VALUE = 51; - /** - *
-       * Method receiver for languages
-       * 'this' in JavaScript, C++, Java etc.
-       * 
- * - * ThisParameter = 52; - */ - public static final int ThisParameter_VALUE = 52; - /** - *
-       * Analogous to 'Protocol' and 'TypeClass', for Rust, Scala etc.
-       * 
- * - * Trait = 53; - */ - public static final int Trait_VALUE = 53; - /** - *
-       * Analogous to 'AbstractMethod', for Rust, Scala etc.
-       * 
- * - * TraitMethod = 70; - */ - public static final int TraitMethod_VALUE = 70; - /** - *
-       * Data type definition for languages like OCaml which use `type`
-       * rather than separate keywords like `struct` and `enum`.
-       * 
- * - * Type = 54; - */ - public static final int Type_VALUE = 54; - /** - * TypeAlias = 55; - */ - public static final int TypeAlias_VALUE = 55; - /** - *
-       * Analogous to 'Trait' and 'Protocol', for Haskell, Purescript etc.
-       * 
- * - * TypeClass = 56; - */ - public static final int TypeClass_VALUE = 56; - /** - *
-       * Analogous to 'AbstractMethod', for Haskell, Purescript etc.
-       * 
- * - * TypeClassMethod = 71; - */ - public static final int TypeClassMethod_VALUE = 71; - /** - *
-       * For Haskell
-       * 
- * - * TypeFamily = 57; - */ - public static final int TypeFamily_VALUE = 57; - /** - * TypeParameter = 58; - */ - public static final int TypeParameter_VALUE = 58; - /** - *
-       * For C, C++, Capn Proto
-       * 
- * - * Union = 59; - */ - public static final int Union_VALUE = 59; - /** - * Value = 60; - */ - public static final int Value_VALUE = 60; - /** - *
-       * Next = 87;
-       * Feel free to open a PR proposing new language-specific kinds.
-       * 
- * - * Variable = 61; - */ - public static final int Variable_VALUE = 61; - - - 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 UnspecifiedKind; - case 66: return AbstractMethod; - case 72: return Accessor; - case 1: return Array; - case 2: return Assertion; - case 3: return AssociatedType; - case 4: return Attribute; - case 5: return Axiom; - case 6: return Boolean; - case 7: return Class; - case 86: return Concept; - case 8: return Constant; - case 9: return Constructor; - case 62: return Contract; - case 10: return DataFamily; - case 73: return Delegate; - case 11: return Enum; - case 12: return EnumMember; - case 63: return Error; - case 13: return Event; - case 84: return Extension; - case 14: return Fact; - case 15: return Field; - case 16: return File; - case 17: return Function; - case 18: return Getter; - case 19: return Grammar; - case 20: return Instance; - case 21: return Interface; - case 22: return Key; - case 23: return Lang; - case 24: return Lemma; - case 64: return Library; - case 25: return Macro; - case 26: return Method; - case 74: return MethodAlias; - case 27: return MethodReceiver; - case 67: return MethodSpecification; - case 28: return Message; - case 85: return Mixin; - case 65: return Modifier; - case 29: return Module; - case 30: return Namespace; - case 31: return Null; - case 32: return Number; - case 33: return Object; - case 34: return Operator; - case 35: return Package; - case 36: return PackageObject; - case 37: return Parameter; - case 38: return ParameterLabel; - case 39: return Pattern; - case 40: return Predicate; - case 41: return Property; - case 42: return Protocol; - case 68: return ProtocolMethod; - case 69: return PureVirtualMethod; - case 43: return Quasiquoter; - case 44: return SelfParameter; - case 45: return Setter; - case 46: return Signature; - case 75: return SingletonClass; - case 76: return SingletonMethod; - case 77: return StaticDataMember; - case 78: return StaticEvent; - case 79: return StaticField; - case 80: return StaticMethod; - case 81: return StaticProperty; - case 82: return StaticVariable; - case 48: return String; - case 49: return Struct; - case 47: return Subscript; - case 50: return Tactic; - case 51: return Theorem; - case 52: return ThisParameter; - case 53: return Trait; - case 70: return TraitMethod; - case 54: return Type; - case 55: return TypeAlias; - case 56: return TypeClass; - case 71: return TypeClassMethod; - case 57: return TypeFamily; - case 58: return TypeParameter; - case 59: return Union; - case 60: return Value; - case 61: return Variable; - 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 com.google.protobuf.Descriptors.EnumDescriptor - getDescriptor() { - return scip.Scip.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:scip.SymbolInformation.Kind) - } - - private int bitField0_; - public static final int SYMBOL_FIELD_NUMBER = 1; - @SuppressWarnings("serial") - private volatile java.lang.Object symbol_ = ""; - /** - *
-     * Identifier of this symbol, which can be referenced from `Occurence.symbol`.
-     * The string must be formatted according to the grammar in `Symbol`.
-     * 
- * - * string symbol = 1 [json_name = "symbol"]; - * @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; - } - } - /** - *
-     * Identifier of this symbol, which can be referenced from `Occurence.symbol`.
-     * The string must be formatted according to the grammar in `Symbol`.
-     * 
- * - * string symbol = 1 [json_name = "symbol"]; - * @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 DOCUMENTATION_FIELD_NUMBER = 3; - @SuppressWarnings("serial") - private com.google.protobuf.LazyStringArrayList documentation_ = - com.google.protobuf.LazyStringArrayList.emptyList(); - /** - *
-     * (optional, but strongly recommended) The markdown-formatted documentation
-     * for this symbol. Use `SymbolInformation.signature_documentation` to
-     * document the method/class/type signature of this symbol.
-     * Due to historical reasons, indexers may include signature documentation in
-     * this field by rendering markdown code blocks. New indexers should only
-     * include non-code documentation in this field, for example docstrings.
-     * 
- * - * repeated string documentation = 3 [json_name = "documentation"]; - * @return A list containing the documentation. - */ - public com.google.protobuf.ProtocolStringList - getDocumentationList() { - return documentation_; - } - /** - *
-     * (optional, but strongly recommended) The markdown-formatted documentation
-     * for this symbol. Use `SymbolInformation.signature_documentation` to
-     * document the method/class/type signature of this symbol.
-     * Due to historical reasons, indexers may include signature documentation in
-     * this field by rendering markdown code blocks. New indexers should only
-     * include non-code documentation in this field, for example docstrings.
-     * 
- * - * repeated string documentation = 3 [json_name = "documentation"]; - * @return The count of documentation. - */ - public int getDocumentationCount() { - return documentation_.size(); - } - /** - *
-     * (optional, but strongly recommended) The markdown-formatted documentation
-     * for this symbol. Use `SymbolInformation.signature_documentation` to
-     * document the method/class/type signature of this symbol.
-     * Due to historical reasons, indexers may include signature documentation in
-     * this field by rendering markdown code blocks. New indexers should only
-     * include non-code documentation in this field, for example docstrings.
-     * 
- * - * repeated string documentation = 3 [json_name = "documentation"]; - * @param index The index of the element to return. - * @return The documentation at the given index. - */ - public java.lang.String getDocumentation(int index) { - return documentation_.get(index); - } - /** - *
-     * (optional, but strongly recommended) The markdown-formatted documentation
-     * for this symbol. Use `SymbolInformation.signature_documentation` to
-     * document the method/class/type signature of this symbol.
-     * Due to historical reasons, indexers may include signature documentation in
-     * this field by rendering markdown code blocks. New indexers should only
-     * include non-code documentation in this field, for example docstrings.
-     * 
- * - * repeated string documentation = 3 [json_name = "documentation"]; - * @param index The index of the value to return. - * @return The bytes of the documentation at the given index. - */ - public com.google.protobuf.ByteString - getDocumentationBytes(int index) { - return documentation_.getByteString(index); - } - - public static final int RELATIONSHIPS_FIELD_NUMBER = 4; - @SuppressWarnings("serial") - private java.util.List relationships_; - /** - *
-     * (optional) Relationships to other symbols (e.g., implements, type definition).
-     * 
- * - * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; - */ - @java.lang.Override - public java.util.List getRelationshipsList() { - return relationships_; - } - /** - *
-     * (optional) Relationships to other symbols (e.g., implements, type definition).
-     * 
- * - * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; - */ - @java.lang.Override - public java.util.List - getRelationshipsOrBuilderList() { - return relationships_; - } - /** - *
-     * (optional) Relationships to other symbols (e.g., implements, type definition).
-     * 
- * - * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; - */ - @java.lang.Override - public int getRelationshipsCount() { - return relationships_.size(); - } - /** - *
-     * (optional) Relationships to other symbols (e.g., implements, type definition).
-     * 
- * - * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; - */ - @java.lang.Override - public scip.Scip.Relationship getRelationships(int index) { - return relationships_.get(index); - } - /** - *
-     * (optional) Relationships to other symbols (e.g., implements, type definition).
-     * 
- * - * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; - */ - @java.lang.Override - public scip.Scip.RelationshipOrBuilder getRelationshipsOrBuilder( - int index) { - return relationships_.get(index); - } - - public static final int KIND_FIELD_NUMBER = 5; - private int kind_ = 0; - /** - *
-     * The kind of this symbol. Use this field instead of
-     * `SymbolDescriptor.Suffix` to determine whether something is, for example, a
-     * class or a method.
-     * 
- * - * .scip.SymbolInformation.Kind kind = 5 [json_name = "kind"]; - * @return The enum numeric value on the wire for kind. - */ - @java.lang.Override public int getKindValue() { - return kind_; - } - /** - *
-     * The kind of this symbol. Use this field instead of
-     * `SymbolDescriptor.Suffix` to determine whether something is, for example, a
-     * class or a method.
-     * 
- * - * .scip.SymbolInformation.Kind kind = 5 [json_name = "kind"]; - * @return The kind. - */ - @java.lang.Override public scip.Scip.SymbolInformation.Kind getKind() { - scip.Scip.SymbolInformation.Kind result = scip.Scip.SymbolInformation.Kind.forNumber(kind_); - return result == null ? scip.Scip.SymbolInformation.Kind.UNRECOGNIZED : result; - } - - public static final int DISPLAY_NAME_FIELD_NUMBER = 6; - @SuppressWarnings("serial") - private volatile java.lang.Object displayName_ = ""; - /** - *
-     * (optional) The name of this symbol as it should be displayed to the user.
-     * For example, the symbol "com/example/MyClass#myMethod(+1)." should have the
-     * display name "myMethod". The `symbol` field is not a reliable source of
-     * the display name for several reasons:
-     *
-     * - Local symbols don't encode the name.
-     * - Some languages have case-insensitive names, so the symbol is all-lowercase.
-     * - The symbol may encode names with special characters that should not be
-     * displayed to the user.
-     * 
- * - * string display_name = 6 [json_name = "displayName"]; - * @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; - } - } - /** - *
-     * (optional) The name of this symbol as it should be displayed to the user.
-     * For example, the symbol "com/example/MyClass#myMethod(+1)." should have the
-     * display name "myMethod". The `symbol` field is not a reliable source of
-     * the display name for several reasons:
-     *
-     * - Local symbols don't encode the name.
-     * - Some languages have case-insensitive names, so the symbol is all-lowercase.
-     * - The symbol may encode names with special characters that should not be
-     * displayed to the user.
-     * 
- * - * string display_name = 6 [json_name = "displayName"]; - * @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_DOCUMENTATION_FIELD_NUMBER = 7; - private scip.Scip.Signature signatureDocumentation_; - /** - *
-     * (optional) The signature of this symbol as it's displayed in API
-     * documentation or in hover tooltips. For example, a Java method that adds
-     * two numbers would have `Signature.language = "java"` and
-     * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
-     * fields are required while `occurrences` can be optionally included to
-     * support hyperlinking referenced symbols in the signature.
-     * 
- * - * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; - * @return Whether the signatureDocumentation field is set. - */ - @java.lang.Override - public boolean hasSignatureDocumentation() { - return ((bitField0_ & 0x00000001) != 0); - } - /** - *
-     * (optional) The signature of this symbol as it's displayed in API
-     * documentation or in hover tooltips. For example, a Java method that adds
-     * two numbers would have `Signature.language = "java"` and
-     * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
-     * fields are required while `occurrences` can be optionally included to
-     * support hyperlinking referenced symbols in the signature.
-     * 
- * - * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; - * @return The signatureDocumentation. - */ - @java.lang.Override - public scip.Scip.Signature getSignatureDocumentation() { - return signatureDocumentation_ == null ? scip.Scip.Signature.getDefaultInstance() : signatureDocumentation_; - } - /** - *
-     * (optional) The signature of this symbol as it's displayed in API
-     * documentation or in hover tooltips. For example, a Java method that adds
-     * two numbers would have `Signature.language = "java"` and
-     * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
-     * fields are required while `occurrences` can be optionally included to
-     * support hyperlinking referenced symbols in the signature.
-     * 
- * - * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; - */ - @java.lang.Override - public scip.Scip.SignatureOrBuilder getSignatureDocumentationOrBuilder() { - return signatureDocumentation_ == null ? scip.Scip.Signature.getDefaultInstance() : signatureDocumentation_; - } - - public static final int ENCLOSING_SYMBOL_FIELD_NUMBER = 8; - @SuppressWarnings("serial") - private volatile java.lang.Object enclosingSymbol_ = ""; - /** - *
-     * (optional) The enclosing symbol if this is a local symbol.  For non-local
-     * symbols, the enclosing symbol should be parsed from the `symbol` field
-     * using the `Descriptor` grammar.
-     *
-     * The primary use-case for this field is to allow local symbol to be displayed
-     * in a symbol hierarchy for API documentation. It's OK to leave this field
-     * empty for local variables since local variables usually don't belong in API
-     * documentation. However, in the situation that you wish to include a local
-     * symbol in the hierarchy, then you can use `enclosing_symbol` to locate the
-     * "parent" or "owner" of this local symbol. For example, a Java indexer may
-     * choose to use local symbols for private class fields while providing an
-     * `enclosing_symbol` to reference the enclosing class to allow the field to
-     * be part of the class documentation hierarchy. From the perspective of an
-     * author of an indexer, the decision to use a local symbol or global symbol
-     * should exclusively be determined whether the local symbol is accessible
-     * outside the document, not by the capability to find the enclosing
-     * symbol.
-     * 
- * - * string enclosing_symbol = 8 [json_name = "enclosingSymbol"]; - * @return The enclosingSymbol. - */ - @java.lang.Override - public java.lang.String getEnclosingSymbol() { - java.lang.Object ref = enclosingSymbol_; - 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(); - enclosingSymbol_ = s; - return s; - } - } - /** - *
-     * (optional) The enclosing symbol if this is a local symbol.  For non-local
-     * symbols, the enclosing symbol should be parsed from the `symbol` field
-     * using the `Descriptor` grammar.
-     *
-     * The primary use-case for this field is to allow local symbol to be displayed
-     * in a symbol hierarchy for API documentation. It's OK to leave this field
-     * empty for local variables since local variables usually don't belong in API
-     * documentation. However, in the situation that you wish to include a local
-     * symbol in the hierarchy, then you can use `enclosing_symbol` to locate the
-     * "parent" or "owner" of this local symbol. For example, a Java indexer may
-     * choose to use local symbols for private class fields while providing an
-     * `enclosing_symbol` to reference the enclosing class to allow the field to
-     * be part of the class documentation hierarchy. From the perspective of an
-     * author of an indexer, the decision to use a local symbol or global symbol
-     * should exclusively be determined whether the local symbol is accessible
-     * outside the document, not by the capability to find the enclosing
-     * symbol.
-     * 
- * - * string enclosing_symbol = 8 [json_name = "enclosingSymbol"]; - * @return The bytes for enclosingSymbol. - */ - @java.lang.Override - public com.google.protobuf.ByteString - getEnclosingSymbolBytes() { - java.lang.Object ref = enclosingSymbol_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - enclosingSymbol_ = 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 (!com.google.protobuf.GeneratedMessage.isStringEmpty(symbol_)) { - com.google.protobuf.GeneratedMessage.writeString(output, 1, symbol_); - } - for (int i = 0; i < documentation_.size(); i++) { - com.google.protobuf.GeneratedMessage.writeString(output, 3, documentation_.getRaw(i)); - } - for (int i = 0; i < relationships_.size(); i++) { - output.writeMessage(4, relationships_.get(i)); - } - if (kind_ != scip.Scip.SymbolInformation.Kind.UnspecifiedKind.getNumber()) { - output.writeEnum(5, kind_); - } - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(displayName_)) { - com.google.protobuf.GeneratedMessage.writeString(output, 6, displayName_); - } - if (((bitField0_ & 0x00000001) != 0)) { - output.writeMessage(7, getSignatureDocumentation()); - } - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(enclosingSymbol_)) { - com.google.protobuf.GeneratedMessage.writeString(output, 8, enclosingSymbol_); - } - getUnknownFields().writeTo(output); - } - - @java.lang.Override - public int getSerializedSize() { - int size = memoizedSize; - if (size != -1) return size; - - size = 0; - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(symbol_)) { - size += com.google.protobuf.GeneratedMessage.computeStringSize(1, symbol_); - } - { - int dataSize = 0; - for (int i = 0; i < documentation_.size(); i++) { - dataSize += computeStringSizeNoTag(documentation_.getRaw(i)); - } - size += dataSize; - size += 1 * getDocumentationList().size(); - } - for (int i = 0; i < relationships_.size(); i++) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(4, relationships_.get(i)); - } - if (kind_ != scip.Scip.SymbolInformation.Kind.UnspecifiedKind.getNumber()) { - size += com.google.protobuf.CodedOutputStream - .computeEnumSize(5, kind_); - } - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(displayName_)) { - size += com.google.protobuf.GeneratedMessage.computeStringSize(6, displayName_); - } - if (((bitField0_ & 0x00000001) != 0)) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(7, getSignatureDocumentation()); - } - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(enclosingSymbol_)) { - size += com.google.protobuf.GeneratedMessage.computeStringSize(8, enclosingSymbol_); - } - size += getUnknownFields().getSerializedSize(); - memoizedSize = size; - return size; - } - - @java.lang.Override - public boolean equals(final java.lang.Object obj) { - if (obj == this) { - return true; - } - if (!(obj instanceof scip.Scip.SymbolInformation)) { - return super.equals(obj); - } - scip.Scip.SymbolInformation other = (scip.Scip.SymbolInformation) obj; - - if (!getSymbol() - .equals(other.getSymbol())) return false; - if (!getDocumentationList() - .equals(other.getDocumentationList())) return false; - if (!getRelationshipsList() - .equals(other.getRelationshipsList())) return false; - if (kind_ != other.kind_) return false; - if (!getDisplayName() - .equals(other.getDisplayName())) return false; - if (hasSignatureDocumentation() != other.hasSignatureDocumentation()) return false; - if (hasSignatureDocumentation()) { - if (!getSignatureDocumentation() - .equals(other.getSignatureDocumentation())) return false; - } - if (!getEnclosingSymbol() - .equals(other.getEnclosingSymbol())) return false; - if (!getUnknownFields().equals(other.getUnknownFields())) 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 (getDocumentationCount() > 0) { - hash = (37 * hash) + DOCUMENTATION_FIELD_NUMBER; - hash = (53 * hash) + getDocumentationList().hashCode(); - } - if (getRelationshipsCount() > 0) { - hash = (37 * hash) + RELATIONSHIPS_FIELD_NUMBER; - hash = (53 * hash) + getRelationshipsList().hashCode(); - } - hash = (37 * hash) + KIND_FIELD_NUMBER; - hash = (53 * hash) + kind_; - hash = (37 * hash) + DISPLAY_NAME_FIELD_NUMBER; - hash = (53 * hash) + getDisplayName().hashCode(); - if (hasSignatureDocumentation()) { - hash = (37 * hash) + SIGNATURE_DOCUMENTATION_FIELD_NUMBER; - hash = (53 * hash) + getSignatureDocumentation().hashCode(); - } - hash = (37 * hash) + ENCLOSING_SYMBOL_FIELD_NUMBER; - hash = (53 * hash) + getEnclosingSymbol().hashCode(); - hash = (29 * hash) + getUnknownFields().hashCode(); - memoizedHashCode = hash; - return hash; - } - - public static scip.Scip.SymbolInformation parseFrom( - java.nio.ByteBuffer data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static scip.Scip.SymbolInformation parseFrom( - java.nio.ByteBuffer data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static scip.Scip.SymbolInformation parseFrom( - com.google.protobuf.ByteString data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static scip.Scip.SymbolInformation parseFrom( - com.google.protobuf.ByteString data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static scip.Scip.SymbolInformation parseFrom(byte[] data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static scip.Scip.SymbolInformation parseFrom( - byte[] data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static scip.Scip.SymbolInformation parseFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input); - } - public static scip.Scip.SymbolInformation parseFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input, extensionRegistry); - } - - public static scip.Scip.SymbolInformation parseDelimitedFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseDelimitedWithIOException(PARSER, input); - } - - public static scip.Scip.SymbolInformation parseDelimitedFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseDelimitedWithIOException(PARSER, input, extensionRegistry); - } - public static scip.Scip.SymbolInformation parseFrom( - com.google.protobuf.CodedInputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input); - } - public static scip.Scip.SymbolInformation parseFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input, extensionRegistry); - } - - @java.lang.Override - public Builder newBuilderForType() { return newBuilder(); } - public static Builder newBuilder() { - return DEFAULT_INSTANCE.toBuilder(); - } - public static Builder newBuilder(scip.Scip.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.GeneratedMessage.BuilderParent parent) { - Builder builder = new Builder(parent); - return builder; - } - /** - *
-     * SymbolInformation defines metadata about a symbol, such as the symbol's
-     * docstring or what package it's defined it.
-     * 
- * - * Protobuf type {@code scip.SymbolInformation} - */ - public static final class Builder extends - com.google.protobuf.GeneratedMessage.Builder implements - // @@protoc_insertion_point(builder_implements:scip.SymbolInformation) - scip.Scip.SymbolInformationOrBuilder { - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return scip.Scip.internal_static_scip_SymbolInformation_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessage.FieldAccessorTable - internalGetFieldAccessorTable() { - return scip.Scip.internal_static_scip_SymbolInformation_fieldAccessorTable - .ensureFieldAccessorsInitialized( - scip.Scip.SymbolInformation.class, scip.Scip.SymbolInformation.Builder.class); - } - - // Construct using scip.Scip.SymbolInformation.newBuilder() - private Builder() { - maybeForceBuilderInitialization(); - } - - private Builder( - com.google.protobuf.GeneratedMessage.BuilderParent parent) { - super(parent); - maybeForceBuilderInitialization(); - } - private void maybeForceBuilderInitialization() { - if (com.google.protobuf.GeneratedMessage - .alwaysUseFieldBuilders) { - internalGetRelationshipsFieldBuilder(); - internalGetSignatureDocumentationFieldBuilder(); - } - } - @java.lang.Override - public Builder clear() { - super.clear(); - bitField0_ = 0; - symbol_ = ""; - documentation_ = - com.google.protobuf.LazyStringArrayList.emptyList(); - if (relationshipsBuilder_ == null) { - relationships_ = java.util.Collections.emptyList(); - } else { - relationships_ = null; - relationshipsBuilder_.clear(); - } - bitField0_ = (bitField0_ & ~0x00000004); - kind_ = 0; - displayName_ = ""; - signatureDocumentation_ = null; - if (signatureDocumentationBuilder_ != null) { - signatureDocumentationBuilder_.dispose(); - signatureDocumentationBuilder_ = null; - } - enclosingSymbol_ = ""; - return this; - } - - @java.lang.Override - public com.google.protobuf.Descriptors.Descriptor - getDescriptorForType() { - return scip.Scip.internal_static_scip_SymbolInformation_descriptor; - } - - @java.lang.Override - public scip.Scip.SymbolInformation getDefaultInstanceForType() { - return scip.Scip.SymbolInformation.getDefaultInstance(); - } - - @java.lang.Override - public scip.Scip.SymbolInformation build() { - scip.Scip.SymbolInformation result = buildPartial(); - if (!result.isInitialized()) { - throw newUninitializedMessageException(result); - } - return result; - } - - @java.lang.Override - public scip.Scip.SymbolInformation buildPartial() { - scip.Scip.SymbolInformation result = new scip.Scip.SymbolInformation(this); - buildPartialRepeatedFields(result); - if (bitField0_ != 0) { buildPartial0(result); } - onBuilt(); - return result; - } - - private void buildPartialRepeatedFields(scip.Scip.SymbolInformation result) { - if (relationshipsBuilder_ == null) { - if (((bitField0_ & 0x00000004) != 0)) { - relationships_ = java.util.Collections.unmodifiableList(relationships_); - bitField0_ = (bitField0_ & ~0x00000004); - } - result.relationships_ = relationships_; - } else { - result.relationships_ = relationshipsBuilder_.build(); - } - } - - private void buildPartial0(scip.Scip.SymbolInformation result) { - int from_bitField0_ = bitField0_; - if (((from_bitField0_ & 0x00000001) != 0)) { - result.symbol_ = symbol_; - } - if (((from_bitField0_ & 0x00000002) != 0)) { - documentation_.makeImmutable(); - result.documentation_ = documentation_; - } - if (((from_bitField0_ & 0x00000008) != 0)) { - result.kind_ = kind_; - } - if (((from_bitField0_ & 0x00000010) != 0)) { - result.displayName_ = displayName_; - } - int to_bitField0_ = 0; - if (((from_bitField0_ & 0x00000020) != 0)) { - result.signatureDocumentation_ = signatureDocumentationBuilder_ == null - ? signatureDocumentation_ - : signatureDocumentationBuilder_.build(); - to_bitField0_ |= 0x00000001; - } - if (((from_bitField0_ & 0x00000040) != 0)) { - result.enclosingSymbol_ = enclosingSymbol_; - } - result.bitField0_ |= to_bitField0_; - } - - @java.lang.Override - public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof scip.Scip.SymbolInformation) { - return mergeFrom((scip.Scip.SymbolInformation)other); - } else { - super.mergeFrom(other); - return this; - } - } - - public Builder mergeFrom(scip.Scip.SymbolInformation other) { - if (other == scip.Scip.SymbolInformation.getDefaultInstance()) return this; - if (!other.getSymbol().isEmpty()) { - symbol_ = other.symbol_; - bitField0_ |= 0x00000001; - onChanged(); - } - if (!other.documentation_.isEmpty()) { - if (documentation_.isEmpty()) { - documentation_ = other.documentation_; - bitField0_ |= 0x00000002; - } else { - ensureDocumentationIsMutable(); - documentation_.addAll(other.documentation_); - } - onChanged(); - } - if (relationshipsBuilder_ == null) { - if (!other.relationships_.isEmpty()) { - if (relationships_.isEmpty()) { - relationships_ = other.relationships_; - bitField0_ = (bitField0_ & ~0x00000004); - } else { - ensureRelationshipsIsMutable(); - relationships_.addAll(other.relationships_); - } - onChanged(); - } - } else { - if (!other.relationships_.isEmpty()) { - if (relationshipsBuilder_.isEmpty()) { - relationshipsBuilder_.dispose(); - relationshipsBuilder_ = null; - relationships_ = other.relationships_; - bitField0_ = (bitField0_ & ~0x00000004); - relationshipsBuilder_ = - com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ? - internalGetRelationshipsFieldBuilder() : null; - } else { - relationshipsBuilder_.addAllMessages(other.relationships_); - } - } - } - if (other.kind_ != 0) { - setKindValue(other.getKindValue()); - } - if (!other.getDisplayName().isEmpty()) { - displayName_ = other.displayName_; - bitField0_ |= 0x00000010; - onChanged(); - } - if (other.hasSignatureDocumentation()) { - mergeSignatureDocumentation(other.getSignatureDocumentation()); - } - if (!other.getEnclosingSymbol().isEmpty()) { - enclosingSymbol_ = other.enclosingSymbol_; - bitField0_ |= 0x00000040; - onChanged(); - } - this.mergeUnknownFields(other.getUnknownFields()); - 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 { - if (extensionRegistry == null) { - throw new java.lang.NullPointerException(); - } - try { - boolean done = false; - while (!done) { - int tag = input.readTag(); - switch (tag) { - case 0: - done = true; - break; - case 10: { - symbol_ = input.readStringRequireUtf8(); - bitField0_ |= 0x00000001; - break; - } // case 10 - case 26: { - java.lang.String s = input.readStringRequireUtf8(); - ensureDocumentationIsMutable(); - documentation_.add(s); - break; - } // case 26 - case 34: { - scip.Scip.Relationship m = - input.readMessage( - scip.Scip.Relationship.parser(), - extensionRegistry); - if (relationshipsBuilder_ == null) { - ensureRelationshipsIsMutable(); - relationships_.add(m); - } else { - relationshipsBuilder_.addMessage(m); - } - break; - } // case 34 - case 40: { - kind_ = input.readEnum(); - bitField0_ |= 0x00000008; - break; - } // case 40 - case 50: { - displayName_ = input.readStringRequireUtf8(); - bitField0_ |= 0x00000010; - break; - } // case 50 - case 58: { - input.readMessage( - internalGetSignatureDocumentationFieldBuilder().getBuilder(), - extensionRegistry); - bitField0_ |= 0x00000020; - break; - } // case 58 - case 66: { - enclosingSymbol_ = input.readStringRequireUtf8(); - bitField0_ |= 0x00000040; - break; - } // case 66 - default: { - if (!super.parseUnknownField(input, extensionRegistry, tag)) { - done = true; // was an endgroup tag - } - break; - } // default: - } // switch (tag) - } // while (!done) - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.unwrapIOException(); - } finally { - onChanged(); - } // finally - return this; - } - private int bitField0_; - - private java.lang.Object symbol_ = ""; - /** - *
-       * Identifier of this symbol, which can be referenced from `Occurence.symbol`.
-       * The string must be formatted according to the grammar in `Symbol`.
-       * 
- * - * string symbol = 1 [json_name = "symbol"]; - * @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; - } - } - /** - *
-       * Identifier of this symbol, which can be referenced from `Occurence.symbol`.
-       * The string must be formatted according to the grammar in `Symbol`.
-       * 
- * - * string symbol = 1 [json_name = "symbol"]; - * @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; - } - } - /** - *
-       * Identifier of this symbol, which can be referenced from `Occurence.symbol`.
-       * The string must be formatted according to the grammar in `Symbol`.
-       * 
- * - * string symbol = 1 [json_name = "symbol"]; - * @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; - bitField0_ |= 0x00000001; - onChanged(); - return this; - } - /** - *
-       * Identifier of this symbol, which can be referenced from `Occurence.symbol`.
-       * The string must be formatted according to the grammar in `Symbol`.
-       * 
- * - * string symbol = 1 [json_name = "symbol"]; - * @return This builder for chaining. - */ - public Builder clearSymbol() { - symbol_ = getDefaultInstance().getSymbol(); - bitField0_ = (bitField0_ & ~0x00000001); - onChanged(); - return this; - } - /** - *
-       * Identifier of this symbol, which can be referenced from `Occurence.symbol`.
-       * The string must be formatted according to the grammar in `Symbol`.
-       * 
- * - * string symbol = 1 [json_name = "symbol"]; - * @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; - bitField0_ |= 0x00000001; - onChanged(); - return this; - } - - private com.google.protobuf.LazyStringArrayList documentation_ = - com.google.protobuf.LazyStringArrayList.emptyList(); - private void ensureDocumentationIsMutable() { - if (!documentation_.isModifiable()) { - documentation_ = new com.google.protobuf.LazyStringArrayList(documentation_); - } - bitField0_ |= 0x00000002; - } - /** - *
-       * (optional, but strongly recommended) The markdown-formatted documentation
-       * for this symbol. Use `SymbolInformation.signature_documentation` to
-       * document the method/class/type signature of this symbol.
-       * Due to historical reasons, indexers may include signature documentation in
-       * this field by rendering markdown code blocks. New indexers should only
-       * include non-code documentation in this field, for example docstrings.
-       * 
- * - * repeated string documentation = 3 [json_name = "documentation"]; - * @return A list containing the documentation. - */ - public com.google.protobuf.ProtocolStringList - getDocumentationList() { - documentation_.makeImmutable(); - return documentation_; - } - /** - *
-       * (optional, but strongly recommended) The markdown-formatted documentation
-       * for this symbol. Use `SymbolInformation.signature_documentation` to
-       * document the method/class/type signature of this symbol.
-       * Due to historical reasons, indexers may include signature documentation in
-       * this field by rendering markdown code blocks. New indexers should only
-       * include non-code documentation in this field, for example docstrings.
-       * 
- * - * repeated string documentation = 3 [json_name = "documentation"]; - * @return The count of documentation. - */ - public int getDocumentationCount() { - return documentation_.size(); - } - /** - *
-       * (optional, but strongly recommended) The markdown-formatted documentation
-       * for this symbol. Use `SymbolInformation.signature_documentation` to
-       * document the method/class/type signature of this symbol.
-       * Due to historical reasons, indexers may include signature documentation in
-       * this field by rendering markdown code blocks. New indexers should only
-       * include non-code documentation in this field, for example docstrings.
-       * 
- * - * repeated string documentation = 3 [json_name = "documentation"]; - * @param index The index of the element to return. - * @return The documentation at the given index. - */ - public java.lang.String getDocumentation(int index) { - return documentation_.get(index); - } - /** - *
-       * (optional, but strongly recommended) The markdown-formatted documentation
-       * for this symbol. Use `SymbolInformation.signature_documentation` to
-       * document the method/class/type signature of this symbol.
-       * Due to historical reasons, indexers may include signature documentation in
-       * this field by rendering markdown code blocks. New indexers should only
-       * include non-code documentation in this field, for example docstrings.
-       * 
- * - * repeated string documentation = 3 [json_name = "documentation"]; - * @param index The index of the value to return. - * @return The bytes of the documentation at the given index. - */ - public com.google.protobuf.ByteString - getDocumentationBytes(int index) { - return documentation_.getByteString(index); - } - /** - *
-       * (optional, but strongly recommended) The markdown-formatted documentation
-       * for this symbol. Use `SymbolInformation.signature_documentation` to
-       * document the method/class/type signature of this symbol.
-       * Due to historical reasons, indexers may include signature documentation in
-       * this field by rendering markdown code blocks. New indexers should only
-       * include non-code documentation in this field, for example docstrings.
-       * 
- * - * repeated string documentation = 3 [json_name = "documentation"]; - * @param index The index to set the value at. - * @param value The documentation to set. - * @return This builder for chaining. - */ - public Builder setDocumentation( - int index, java.lang.String value) { - if (value == null) { throw new NullPointerException(); } - ensureDocumentationIsMutable(); - documentation_.set(index, value); - bitField0_ |= 0x00000002; - onChanged(); - return this; - } - /** - *
-       * (optional, but strongly recommended) The markdown-formatted documentation
-       * for this symbol. Use `SymbolInformation.signature_documentation` to
-       * document the method/class/type signature of this symbol.
-       * Due to historical reasons, indexers may include signature documentation in
-       * this field by rendering markdown code blocks. New indexers should only
-       * include non-code documentation in this field, for example docstrings.
-       * 
- * - * repeated string documentation = 3 [json_name = "documentation"]; - * @param value The documentation to add. - * @return This builder for chaining. - */ - public Builder addDocumentation( - java.lang.String value) { - if (value == null) { throw new NullPointerException(); } - ensureDocumentationIsMutable(); - documentation_.add(value); - bitField0_ |= 0x00000002; - onChanged(); - return this; - } - /** - *
-       * (optional, but strongly recommended) The markdown-formatted documentation
-       * for this symbol. Use `SymbolInformation.signature_documentation` to
-       * document the method/class/type signature of this symbol.
-       * Due to historical reasons, indexers may include signature documentation in
-       * this field by rendering markdown code blocks. New indexers should only
-       * include non-code documentation in this field, for example docstrings.
-       * 
- * - * repeated string documentation = 3 [json_name = "documentation"]; - * @param values The documentation to add. - * @return This builder for chaining. - */ - public Builder addAllDocumentation( - java.lang.Iterable values) { - ensureDocumentationIsMutable(); - com.google.protobuf.AbstractMessageLite.Builder.addAll( - values, documentation_); - bitField0_ |= 0x00000002; - onChanged(); - return this; - } - /** - *
-       * (optional, but strongly recommended) The markdown-formatted documentation
-       * for this symbol. Use `SymbolInformation.signature_documentation` to
-       * document the method/class/type signature of this symbol.
-       * Due to historical reasons, indexers may include signature documentation in
-       * this field by rendering markdown code blocks. New indexers should only
-       * include non-code documentation in this field, for example docstrings.
-       * 
- * - * repeated string documentation = 3 [json_name = "documentation"]; - * @return This builder for chaining. - */ - public Builder clearDocumentation() { - documentation_ = - com.google.protobuf.LazyStringArrayList.emptyList(); - bitField0_ = (bitField0_ & ~0x00000002);; - onChanged(); - return this; - } - /** - *
-       * (optional, but strongly recommended) The markdown-formatted documentation
-       * for this symbol. Use `SymbolInformation.signature_documentation` to
-       * document the method/class/type signature of this symbol.
-       * Due to historical reasons, indexers may include signature documentation in
-       * this field by rendering markdown code blocks. New indexers should only
-       * include non-code documentation in this field, for example docstrings.
-       * 
- * - * repeated string documentation = 3 [json_name = "documentation"]; - * @param value The bytes of the documentation to add. - * @return This builder for chaining. - */ - public Builder addDocumentationBytes( - com.google.protobuf.ByteString value) { - if (value == null) { throw new NullPointerException(); } - checkByteStringIsUtf8(value); - ensureDocumentationIsMutable(); - documentation_.add(value); - bitField0_ |= 0x00000002; - onChanged(); - return this; - } - - private java.util.List relationships_ = - java.util.Collections.emptyList(); - private void ensureRelationshipsIsMutable() { - if (!((bitField0_ & 0x00000004) != 0)) { - relationships_ = new java.util.ArrayList(relationships_); - bitField0_ |= 0x00000004; - } - } - - private com.google.protobuf.RepeatedFieldBuilder< - scip.Scip.Relationship, scip.Scip.Relationship.Builder, scip.Scip.RelationshipOrBuilder> relationshipsBuilder_; - - /** - *
-       * (optional) Relationships to other symbols (e.g., implements, type definition).
-       * 
- * - * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; - */ - public java.util.List getRelationshipsList() { - if (relationshipsBuilder_ == null) { - return java.util.Collections.unmodifiableList(relationships_); - } else { - return relationshipsBuilder_.getMessageList(); - } - } - /** - *
-       * (optional) Relationships to other symbols (e.g., implements, type definition).
-       * 
- * - * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; - */ - public int getRelationshipsCount() { - if (relationshipsBuilder_ == null) { - return relationships_.size(); - } else { - return relationshipsBuilder_.getCount(); - } - } - /** - *
-       * (optional) Relationships to other symbols (e.g., implements, type definition).
-       * 
- * - * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; - */ - public scip.Scip.Relationship getRelationships(int index) { - if (relationshipsBuilder_ == null) { - return relationships_.get(index); - } else { - return relationshipsBuilder_.getMessage(index); - } - } - /** - *
-       * (optional) Relationships to other symbols (e.g., implements, type definition).
-       * 
- * - * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; - */ - public Builder setRelationships( - int index, scip.Scip.Relationship value) { - if (relationshipsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureRelationshipsIsMutable(); - relationships_.set(index, value); - onChanged(); - } else { - relationshipsBuilder_.setMessage(index, value); - } - return this; - } - /** - *
-       * (optional) Relationships to other symbols (e.g., implements, type definition).
-       * 
- * - * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; - */ - public Builder setRelationships( - int index, scip.Scip.Relationship.Builder builderForValue) { - if (relationshipsBuilder_ == null) { - ensureRelationshipsIsMutable(); - relationships_.set(index, builderForValue.build()); - onChanged(); - } else { - relationshipsBuilder_.setMessage(index, builderForValue.build()); - } - return this; - } - /** - *
-       * (optional) Relationships to other symbols (e.g., implements, type definition).
-       * 
- * - * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; - */ - public Builder addRelationships(scip.Scip.Relationship value) { - if (relationshipsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureRelationshipsIsMutable(); - relationships_.add(value); - onChanged(); - } else { - relationshipsBuilder_.addMessage(value); - } - return this; - } - /** - *
-       * (optional) Relationships to other symbols (e.g., implements, type definition).
-       * 
- * - * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; - */ - public Builder addRelationships( - int index, scip.Scip.Relationship value) { - if (relationshipsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureRelationshipsIsMutable(); - relationships_.add(index, value); - onChanged(); - } else { - relationshipsBuilder_.addMessage(index, value); - } - return this; - } - /** - *
-       * (optional) Relationships to other symbols (e.g., implements, type definition).
-       * 
- * - * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; - */ - public Builder addRelationships( - scip.Scip.Relationship.Builder builderForValue) { - if (relationshipsBuilder_ == null) { - ensureRelationshipsIsMutable(); - relationships_.add(builderForValue.build()); - onChanged(); - } else { - relationshipsBuilder_.addMessage(builderForValue.build()); - } - return this; - } - /** - *
-       * (optional) Relationships to other symbols (e.g., implements, type definition).
-       * 
- * - * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; - */ - public Builder addRelationships( - int index, scip.Scip.Relationship.Builder builderForValue) { - if (relationshipsBuilder_ == null) { - ensureRelationshipsIsMutable(); - relationships_.add(index, builderForValue.build()); - onChanged(); - } else { - relationshipsBuilder_.addMessage(index, builderForValue.build()); - } - return this; - } - /** - *
-       * (optional) Relationships to other symbols (e.g., implements, type definition).
-       * 
- * - * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; - */ - public Builder addAllRelationships( - java.lang.Iterable values) { - if (relationshipsBuilder_ == null) { - ensureRelationshipsIsMutable(); - com.google.protobuf.AbstractMessageLite.Builder.addAll( - values, relationships_); - onChanged(); - } else { - relationshipsBuilder_.addAllMessages(values); - } - return this; - } - /** - *
-       * (optional) Relationships to other symbols (e.g., implements, type definition).
-       * 
- * - * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; - */ - public Builder clearRelationships() { - if (relationshipsBuilder_ == null) { - relationships_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000004); - onChanged(); - } else { - relationshipsBuilder_.clear(); - } - return this; - } - /** - *
-       * (optional) Relationships to other symbols (e.g., implements, type definition).
-       * 
- * - * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; - */ - public Builder removeRelationships(int index) { - if (relationshipsBuilder_ == null) { - ensureRelationshipsIsMutable(); - relationships_.remove(index); - onChanged(); - } else { - relationshipsBuilder_.remove(index); - } - return this; - } - /** - *
-       * (optional) Relationships to other symbols (e.g., implements, type definition).
-       * 
- * - * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; - */ - public scip.Scip.Relationship.Builder getRelationshipsBuilder( - int index) { - return internalGetRelationshipsFieldBuilder().getBuilder(index); - } - /** - *
-       * (optional) Relationships to other symbols (e.g., implements, type definition).
-       * 
- * - * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; - */ - public scip.Scip.RelationshipOrBuilder getRelationshipsOrBuilder( - int index) { - if (relationshipsBuilder_ == null) { - return relationships_.get(index); } else { - return relationshipsBuilder_.getMessageOrBuilder(index); - } - } - /** - *
-       * (optional) Relationships to other symbols (e.g., implements, type definition).
-       * 
- * - * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; - */ - public java.util.List - getRelationshipsOrBuilderList() { - if (relationshipsBuilder_ != null) { - return relationshipsBuilder_.getMessageOrBuilderList(); - } else { - return java.util.Collections.unmodifiableList(relationships_); - } - } - /** - *
-       * (optional) Relationships to other symbols (e.g., implements, type definition).
-       * 
- * - * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; - */ - public scip.Scip.Relationship.Builder addRelationshipsBuilder() { - return internalGetRelationshipsFieldBuilder().addBuilder( - scip.Scip.Relationship.getDefaultInstance()); - } - /** - *
-       * (optional) Relationships to other symbols (e.g., implements, type definition).
-       * 
- * - * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; - */ - public scip.Scip.Relationship.Builder addRelationshipsBuilder( - int index) { - return internalGetRelationshipsFieldBuilder().addBuilder( - index, scip.Scip.Relationship.getDefaultInstance()); - } - /** - *
-       * (optional) Relationships to other symbols (e.g., implements, type definition).
-       * 
- * - * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; - */ - public java.util.List - getRelationshipsBuilderList() { - return internalGetRelationshipsFieldBuilder().getBuilderList(); - } - private com.google.protobuf.RepeatedFieldBuilder< - scip.Scip.Relationship, scip.Scip.Relationship.Builder, scip.Scip.RelationshipOrBuilder> - internalGetRelationshipsFieldBuilder() { - if (relationshipsBuilder_ == null) { - relationshipsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder< - scip.Scip.Relationship, scip.Scip.Relationship.Builder, scip.Scip.RelationshipOrBuilder>( - relationships_, - ((bitField0_ & 0x00000004) != 0), - getParentForChildren(), - isClean()); - relationships_ = null; - } - return relationshipsBuilder_; - } - - private int kind_ = 0; - /** - *
-       * The kind of this symbol. Use this field instead of
-       * `SymbolDescriptor.Suffix` to determine whether something is, for example, a
-       * class or a method.
-       * 
- * - * .scip.SymbolInformation.Kind kind = 5 [json_name = "kind"]; - * @return The enum numeric value on the wire for kind. - */ - @java.lang.Override public int getKindValue() { - return kind_; - } - /** - *
-       * The kind of this symbol. Use this field instead of
-       * `SymbolDescriptor.Suffix` to determine whether something is, for example, a
-       * class or a method.
-       * 
- * - * .scip.SymbolInformation.Kind kind = 5 [json_name = "kind"]; - * @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; - bitField0_ |= 0x00000008; - onChanged(); - return this; - } - /** - *
-       * The kind of this symbol. Use this field instead of
-       * `SymbolDescriptor.Suffix` to determine whether something is, for example, a
-       * class or a method.
-       * 
- * - * .scip.SymbolInformation.Kind kind = 5 [json_name = "kind"]; - * @return The kind. - */ - @java.lang.Override - public scip.Scip.SymbolInformation.Kind getKind() { - scip.Scip.SymbolInformation.Kind result = scip.Scip.SymbolInformation.Kind.forNumber(kind_); - return result == null ? scip.Scip.SymbolInformation.Kind.UNRECOGNIZED : result; - } - /** - *
-       * The kind of this symbol. Use this field instead of
-       * `SymbolDescriptor.Suffix` to determine whether something is, for example, a
-       * class or a method.
-       * 
- * - * .scip.SymbolInformation.Kind kind = 5 [json_name = "kind"]; - * @param value The kind to set. - * @return This builder for chaining. - */ - public Builder setKind(scip.Scip.SymbolInformation.Kind value) { - if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000008; - kind_ = value.getNumber(); - onChanged(); - return this; - } - /** - *
-       * The kind of this symbol. Use this field instead of
-       * `SymbolDescriptor.Suffix` to determine whether something is, for example, a
-       * class or a method.
-       * 
- * - * .scip.SymbolInformation.Kind kind = 5 [json_name = "kind"]; - * @return This builder for chaining. - */ - public Builder clearKind() { - bitField0_ = (bitField0_ & ~0x00000008); - kind_ = 0; - onChanged(); - return this; - } - - private java.lang.Object displayName_ = ""; - /** - *
-       * (optional) The name of this symbol as it should be displayed to the user.
-       * For example, the symbol "com/example/MyClass#myMethod(+1)." should have the
-       * display name "myMethod". The `symbol` field is not a reliable source of
-       * the display name for several reasons:
-       *
-       * - Local symbols don't encode the name.
-       * - Some languages have case-insensitive names, so the symbol is all-lowercase.
-       * - The symbol may encode names with special characters that should not be
-       * displayed to the user.
-       * 
- * - * string display_name = 6 [json_name = "displayName"]; - * @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; - } - } - /** - *
-       * (optional) The name of this symbol as it should be displayed to the user.
-       * For example, the symbol "com/example/MyClass#myMethod(+1)." should have the
-       * display name "myMethod". The `symbol` field is not a reliable source of
-       * the display name for several reasons:
-       *
-       * - Local symbols don't encode the name.
-       * - Some languages have case-insensitive names, so the symbol is all-lowercase.
-       * - The symbol may encode names with special characters that should not be
-       * displayed to the user.
-       * 
- * - * string display_name = 6 [json_name = "displayName"]; - * @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; - } - } - /** - *
-       * (optional) The name of this symbol as it should be displayed to the user.
-       * For example, the symbol "com/example/MyClass#myMethod(+1)." should have the
-       * display name "myMethod". The `symbol` field is not a reliable source of
-       * the display name for several reasons:
-       *
-       * - Local symbols don't encode the name.
-       * - Some languages have case-insensitive names, so the symbol is all-lowercase.
-       * - The symbol may encode names with special characters that should not be
-       * displayed to the user.
-       * 
- * - * string display_name = 6 [json_name = "displayName"]; - * @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; - bitField0_ |= 0x00000010; - onChanged(); - return this; - } - /** - *
-       * (optional) The name of this symbol as it should be displayed to the user.
-       * For example, the symbol "com/example/MyClass#myMethod(+1)." should have the
-       * display name "myMethod". The `symbol` field is not a reliable source of
-       * the display name for several reasons:
-       *
-       * - Local symbols don't encode the name.
-       * - Some languages have case-insensitive names, so the symbol is all-lowercase.
-       * - The symbol may encode names with special characters that should not be
-       * displayed to the user.
-       * 
- * - * string display_name = 6 [json_name = "displayName"]; - * @return This builder for chaining. - */ - public Builder clearDisplayName() { - displayName_ = getDefaultInstance().getDisplayName(); - bitField0_ = (bitField0_ & ~0x00000010); - onChanged(); - return this; - } - /** - *
-       * (optional) The name of this symbol as it should be displayed to the user.
-       * For example, the symbol "com/example/MyClass#myMethod(+1)." should have the
-       * display name "myMethod". The `symbol` field is not a reliable source of
-       * the display name for several reasons:
-       *
-       * - Local symbols don't encode the name.
-       * - Some languages have case-insensitive names, so the symbol is all-lowercase.
-       * - The symbol may encode names with special characters that should not be
-       * displayed to the user.
-       * 
- * - * string display_name = 6 [json_name = "displayName"]; - * @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; - bitField0_ |= 0x00000010; - onChanged(); - return this; - } - - private scip.Scip.Signature signatureDocumentation_; - private com.google.protobuf.SingleFieldBuilder< - scip.Scip.Signature, scip.Scip.Signature.Builder, scip.Scip.SignatureOrBuilder> signatureDocumentationBuilder_; - /** - *
-       * (optional) The signature of this symbol as it's displayed in API
-       * documentation or in hover tooltips. For example, a Java method that adds
-       * two numbers would have `Signature.language = "java"` and
-       * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
-       * fields are required while `occurrences` can be optionally included to
-       * support hyperlinking referenced symbols in the signature.
-       * 
- * - * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; - * @return Whether the signatureDocumentation field is set. - */ - public boolean hasSignatureDocumentation() { - return ((bitField0_ & 0x00000020) != 0); - } - /** - *
-       * (optional) The signature of this symbol as it's displayed in API
-       * documentation or in hover tooltips. For example, a Java method that adds
-       * two numbers would have `Signature.language = "java"` and
-       * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
-       * fields are required while `occurrences` can be optionally included to
-       * support hyperlinking referenced symbols in the signature.
-       * 
- * - * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; - * @return The signatureDocumentation. - */ - public scip.Scip.Signature getSignatureDocumentation() { - if (signatureDocumentationBuilder_ == null) { - return signatureDocumentation_ == null ? scip.Scip.Signature.getDefaultInstance() : signatureDocumentation_; - } else { - return signatureDocumentationBuilder_.getMessage(); - } - } - /** - *
-       * (optional) The signature of this symbol as it's displayed in API
-       * documentation or in hover tooltips. For example, a Java method that adds
-       * two numbers would have `Signature.language = "java"` and
-       * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
-       * fields are required while `occurrences` can be optionally included to
-       * support hyperlinking referenced symbols in the signature.
-       * 
- * - * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; - */ - public Builder setSignatureDocumentation(scip.Scip.Signature value) { - if (signatureDocumentationBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - signatureDocumentation_ = value; - } else { - signatureDocumentationBuilder_.setMessage(value); - } - bitField0_ |= 0x00000020; - onChanged(); - return this; - } - /** - *
-       * (optional) The signature of this symbol as it's displayed in API
-       * documentation or in hover tooltips. For example, a Java method that adds
-       * two numbers would have `Signature.language = "java"` and
-       * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
-       * fields are required while `occurrences` can be optionally included to
-       * support hyperlinking referenced symbols in the signature.
-       * 
- * - * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; - */ - public Builder setSignatureDocumentation( - scip.Scip.Signature.Builder builderForValue) { - if (signatureDocumentationBuilder_ == null) { - signatureDocumentation_ = builderForValue.build(); - } else { - signatureDocumentationBuilder_.setMessage(builderForValue.build()); - } - bitField0_ |= 0x00000020; - onChanged(); - return this; - } - /** - *
-       * (optional) The signature of this symbol as it's displayed in API
-       * documentation or in hover tooltips. For example, a Java method that adds
-       * two numbers would have `Signature.language = "java"` and
-       * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
-       * fields are required while `occurrences` can be optionally included to
-       * support hyperlinking referenced symbols in the signature.
-       * 
- * - * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; - */ - public Builder mergeSignatureDocumentation(scip.Scip.Signature value) { - if (signatureDocumentationBuilder_ == null) { - if (((bitField0_ & 0x00000020) != 0) && - signatureDocumentation_ != null && - signatureDocumentation_ != scip.Scip.Signature.getDefaultInstance()) { - getSignatureDocumentationBuilder().mergeFrom(value); - } else { - signatureDocumentation_ = value; - } - } else { - signatureDocumentationBuilder_.mergeFrom(value); - } - if (signatureDocumentation_ != null) { - bitField0_ |= 0x00000020; - onChanged(); - } - return this; - } - /** - *
-       * (optional) The signature of this symbol as it's displayed in API
-       * documentation or in hover tooltips. For example, a Java method that adds
-       * two numbers would have `Signature.language = "java"` and
-       * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
-       * fields are required while `occurrences` can be optionally included to
-       * support hyperlinking referenced symbols in the signature.
-       * 
- * - * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; - */ - public Builder clearSignatureDocumentation() { - bitField0_ = (bitField0_ & ~0x00000020); - signatureDocumentation_ = null; - if (signatureDocumentationBuilder_ != null) { - signatureDocumentationBuilder_.dispose(); - signatureDocumentationBuilder_ = null; - } - onChanged(); - return this; - } - /** - *
-       * (optional) The signature of this symbol as it's displayed in API
-       * documentation or in hover tooltips. For example, a Java method that adds
-       * two numbers would have `Signature.language = "java"` and
-       * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
-       * fields are required while `occurrences` can be optionally included to
-       * support hyperlinking referenced symbols in the signature.
-       * 
- * - * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; - */ - public scip.Scip.Signature.Builder getSignatureDocumentationBuilder() { - bitField0_ |= 0x00000020; - onChanged(); - return internalGetSignatureDocumentationFieldBuilder().getBuilder(); - } - /** - *
-       * (optional) The signature of this symbol as it's displayed in API
-       * documentation or in hover tooltips. For example, a Java method that adds
-       * two numbers would have `Signature.language = "java"` and
-       * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
-       * fields are required while `occurrences` can be optionally included to
-       * support hyperlinking referenced symbols in the signature.
-       * 
- * - * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; - */ - public scip.Scip.SignatureOrBuilder getSignatureDocumentationOrBuilder() { - if (signatureDocumentationBuilder_ != null) { - return signatureDocumentationBuilder_.getMessageOrBuilder(); - } else { - return signatureDocumentation_ == null ? - scip.Scip.Signature.getDefaultInstance() : signatureDocumentation_; - } - } - /** - *
-       * (optional) The signature of this symbol as it's displayed in API
-       * documentation or in hover tooltips. For example, a Java method that adds
-       * two numbers would have `Signature.language = "java"` and
-       * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
-       * fields are required while `occurrences` can be optionally included to
-       * support hyperlinking referenced symbols in the signature.
-       * 
- * - * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; - */ - private com.google.protobuf.SingleFieldBuilder< - scip.Scip.Signature, scip.Scip.Signature.Builder, scip.Scip.SignatureOrBuilder> - internalGetSignatureDocumentationFieldBuilder() { - if (signatureDocumentationBuilder_ == null) { - signatureDocumentationBuilder_ = new com.google.protobuf.SingleFieldBuilder< - scip.Scip.Signature, scip.Scip.Signature.Builder, scip.Scip.SignatureOrBuilder>( - getSignatureDocumentation(), - getParentForChildren(), - isClean()); - signatureDocumentation_ = null; - } - return signatureDocumentationBuilder_; - } - - private java.lang.Object enclosingSymbol_ = ""; - /** - *
-       * (optional) The enclosing symbol if this is a local symbol.  For non-local
-       * symbols, the enclosing symbol should be parsed from the `symbol` field
-       * using the `Descriptor` grammar.
-       *
-       * The primary use-case for this field is to allow local symbol to be displayed
-       * in a symbol hierarchy for API documentation. It's OK to leave this field
-       * empty for local variables since local variables usually don't belong in API
-       * documentation. However, in the situation that you wish to include a local
-       * symbol in the hierarchy, then you can use `enclosing_symbol` to locate the
-       * "parent" or "owner" of this local symbol. For example, a Java indexer may
-       * choose to use local symbols for private class fields while providing an
-       * `enclosing_symbol` to reference the enclosing class to allow the field to
-       * be part of the class documentation hierarchy. From the perspective of an
-       * author of an indexer, the decision to use a local symbol or global symbol
-       * should exclusively be determined whether the local symbol is accessible
-       * outside the document, not by the capability to find the enclosing
-       * symbol.
-       * 
- * - * string enclosing_symbol = 8 [json_name = "enclosingSymbol"]; - * @return The enclosingSymbol. - */ - public java.lang.String getEnclosingSymbol() { - java.lang.Object ref = enclosingSymbol_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - enclosingSymbol_ = s; - return s; - } else { - return (java.lang.String) ref; - } - } - /** - *
-       * (optional) The enclosing symbol if this is a local symbol.  For non-local
-       * symbols, the enclosing symbol should be parsed from the `symbol` field
-       * using the `Descriptor` grammar.
-       *
-       * The primary use-case for this field is to allow local symbol to be displayed
-       * in a symbol hierarchy for API documentation. It's OK to leave this field
-       * empty for local variables since local variables usually don't belong in API
-       * documentation. However, in the situation that you wish to include a local
-       * symbol in the hierarchy, then you can use `enclosing_symbol` to locate the
-       * "parent" or "owner" of this local symbol. For example, a Java indexer may
-       * choose to use local symbols for private class fields while providing an
-       * `enclosing_symbol` to reference the enclosing class to allow the field to
-       * be part of the class documentation hierarchy. From the perspective of an
-       * author of an indexer, the decision to use a local symbol or global symbol
-       * should exclusively be determined whether the local symbol is accessible
-       * outside the document, not by the capability to find the enclosing
-       * symbol.
-       * 
- * - * string enclosing_symbol = 8 [json_name = "enclosingSymbol"]; - * @return The bytes for enclosingSymbol. - */ - public com.google.protobuf.ByteString - getEnclosingSymbolBytes() { - java.lang.Object ref = enclosingSymbol_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - enclosingSymbol_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - /** - *
-       * (optional) The enclosing symbol if this is a local symbol.  For non-local
-       * symbols, the enclosing symbol should be parsed from the `symbol` field
-       * using the `Descriptor` grammar.
-       *
-       * The primary use-case for this field is to allow local symbol to be displayed
-       * in a symbol hierarchy for API documentation. It's OK to leave this field
-       * empty for local variables since local variables usually don't belong in API
-       * documentation. However, in the situation that you wish to include a local
-       * symbol in the hierarchy, then you can use `enclosing_symbol` to locate the
-       * "parent" or "owner" of this local symbol. For example, a Java indexer may
-       * choose to use local symbols for private class fields while providing an
-       * `enclosing_symbol` to reference the enclosing class to allow the field to
-       * be part of the class documentation hierarchy. From the perspective of an
-       * author of an indexer, the decision to use a local symbol or global symbol
-       * should exclusively be determined whether the local symbol is accessible
-       * outside the document, not by the capability to find the enclosing
-       * symbol.
-       * 
- * - * string enclosing_symbol = 8 [json_name = "enclosingSymbol"]; - * @param value The enclosingSymbol to set. - * @return This builder for chaining. - */ - public Builder setEnclosingSymbol( - java.lang.String value) { - if (value == null) { throw new NullPointerException(); } - enclosingSymbol_ = value; - bitField0_ |= 0x00000040; - onChanged(); - return this; - } - /** - *
-       * (optional) The enclosing symbol if this is a local symbol.  For non-local
-       * symbols, the enclosing symbol should be parsed from the `symbol` field
-       * using the `Descriptor` grammar.
-       *
-       * The primary use-case for this field is to allow local symbol to be displayed
-       * in a symbol hierarchy for API documentation. It's OK to leave this field
-       * empty for local variables since local variables usually don't belong in API
-       * documentation. However, in the situation that you wish to include a local
-       * symbol in the hierarchy, then you can use `enclosing_symbol` to locate the
-       * "parent" or "owner" of this local symbol. For example, a Java indexer may
-       * choose to use local symbols for private class fields while providing an
-       * `enclosing_symbol` to reference the enclosing class to allow the field to
-       * be part of the class documentation hierarchy. From the perspective of an
-       * author of an indexer, the decision to use a local symbol or global symbol
-       * should exclusively be determined whether the local symbol is accessible
-       * outside the document, not by the capability to find the enclosing
-       * symbol.
-       * 
- * - * string enclosing_symbol = 8 [json_name = "enclosingSymbol"]; - * @return This builder for chaining. - */ - public Builder clearEnclosingSymbol() { - enclosingSymbol_ = getDefaultInstance().getEnclosingSymbol(); - bitField0_ = (bitField0_ & ~0x00000040); - onChanged(); - return this; - } - /** - *
-       * (optional) The enclosing symbol if this is a local symbol.  For non-local
-       * symbols, the enclosing symbol should be parsed from the `symbol` field
-       * using the `Descriptor` grammar.
-       *
-       * The primary use-case for this field is to allow local symbol to be displayed
-       * in a symbol hierarchy for API documentation. It's OK to leave this field
-       * empty for local variables since local variables usually don't belong in API
-       * documentation. However, in the situation that you wish to include a local
-       * symbol in the hierarchy, then you can use `enclosing_symbol` to locate the
-       * "parent" or "owner" of this local symbol. For example, a Java indexer may
-       * choose to use local symbols for private class fields while providing an
-       * `enclosing_symbol` to reference the enclosing class to allow the field to
-       * be part of the class documentation hierarchy. From the perspective of an
-       * author of an indexer, the decision to use a local symbol or global symbol
-       * should exclusively be determined whether the local symbol is accessible
-       * outside the document, not by the capability to find the enclosing
-       * symbol.
-       * 
- * - * string enclosing_symbol = 8 [json_name = "enclosingSymbol"]; - * @param value The bytes for enclosingSymbol to set. - * @return This builder for chaining. - */ - public Builder setEnclosingSymbolBytes( - com.google.protobuf.ByteString value) { - if (value == null) { throw new NullPointerException(); } - checkByteStringIsUtf8(value); - enclosingSymbol_ = value; - bitField0_ |= 0x00000040; - onChanged(); - return this; - } - - // @@protoc_insertion_point(builder_scope:scip.SymbolInformation) - } - - // @@protoc_insertion_point(class_scope:scip.SymbolInformation) - private static final scip.Scip.SymbolInformation DEFAULT_INSTANCE; - static { - DEFAULT_INSTANCE = new scip.Scip.SymbolInformation(); - } - - public static scip.Scip.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 { - Builder builder = newBuilder(); - try { - builder.mergeFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.setUnfinishedMessage(builder.buildPartial()); - } catch (com.google.protobuf.UninitializedMessageException e) { - throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); - } catch (java.io.IOException e) { - throw new com.google.protobuf.InvalidProtocolBufferException(e) - .setUnfinishedMessage(builder.buildPartial()); - } - return builder.buildPartial(); - } - }; - - public static com.google.protobuf.Parser parser() { - return PARSER; - } - - @java.lang.Override - public com.google.protobuf.Parser getParserForType() { - return PARSER; - } - - @java.lang.Override - public scip.Scip.SymbolInformation getDefaultInstanceForType() { - return DEFAULT_INSTANCE; - } - - } - - public interface RelationshipOrBuilder extends - // @@protoc_insertion_point(interface_extends:scip.Relationship) - com.google.protobuf.MessageOrBuilder { - - /** - * string symbol = 1 [json_name = "symbol"]; - * @return The symbol. - */ - java.lang.String getSymbol(); - /** - * string symbol = 1 [json_name = "symbol"]; - * @return The bytes for symbol. - */ - com.google.protobuf.ByteString - getSymbolBytes(); - - /** - *
-     * When resolving "Find references", this field documents what other symbols
-     * should be included together with this symbol. For example, consider the
-     * following TypeScript code that defines two symbols `Animal#sound()` and
-     * `Dog#sound()`:
-     * ```ts
-     * interface Animal {
-     * ^^^^^^ definition Animal#
-     * sound(): string
-     * ^^^^^ definition Animal#sound()
-     * }
-     * class Dog implements Animal {
-     * ^^^ definition Dog#, relationships = [{symbol: "Animal#", is_implementation: true}]
-     * public sound(): string { return "woof" }
-     * ^^^^^ definition Dog#sound(), references_symbols = Animal#sound(), relationships = [{symbol: "Animal#sound()", is_implementation:true, is_reference: true}]
-     * }
-     * const animal: Animal = new Dog()
-     * ^^^^^^ reference Animal#
-     * console.log(animal.sound())
-     * ^^^^^ reference Animal#sound()
-     * ```
-     * Doing "Find references" on the symbol `Animal#sound()` should return
-     * references to the `Dog#sound()` method as well. Vice-versa, doing "Find
-     * references" on the `Dog#sound()` method should include references to the
-     * `Animal#sound()` method as well.
-     * 
- * - * bool is_reference = 2 [json_name = "isReference"]; - * @return The isReference. - */ - boolean getIsReference(); - - /** - *
-     * Similar to `is_reference` but for "Find implementations".
-     * It's common for `is_implementation` and `is_reference` to both be true but
-     * it's not always the case.
-     * In the TypeScript example above, observe that `Dog#` has an
-     * `is_implementation` relationship with `"Animal#"` but not `is_reference`.
-     * This is because "Find references" on the "Animal#" symbol should not return
-     * "Dog#". We only want "Dog#" to return as a result for "Find
-     * implementations" on the "Animal#" symbol.
-     * 
- * - * bool is_implementation = 3 [json_name = "isImplementation"]; - * @return The isImplementation. - */ - boolean getIsImplementation(); - - /** - *
-     * Similar to `references_symbols` but for "Go to type definition".
-     * 
- * - * bool is_type_definition = 4 [json_name = "isTypeDefinition"]; - * @return The isTypeDefinition. - */ - boolean getIsTypeDefinition(); - - /** - *
-     * Allows overriding the behavior of "Go to definition" and "Find references"
-     * for symbols which do not have a definition of their own or could
-     * potentially have multiple definitions.
-     *
-     * For example, in a language with single inheritance and no field overriding,
-     * inherited fields can reuse the same symbol as the ancestor which declares
-     * the field. In such a situation, is_definition is not needed.
-     *
-     * On the other hand, in languages with single inheritance and some form
-     * of mixins, you can use is_definition to relate the symbol to the
-     * matching symbol in ancestor classes, and is_reference to relate the
-     * symbol to the matching symbol in mixins.
-     * 
- * - * bool is_definition = 5 [json_name = "isDefinition"]; - * @return The isDefinition. - */ - boolean getIsDefinition(); - } - /** - * Protobuf type {@code scip.Relationship} - */ - public static final class Relationship extends - com.google.protobuf.GeneratedMessage implements - // @@protoc_insertion_point(message_implements:scip.Relationship) - RelationshipOrBuilder { - private static final long serialVersionUID = 0L; - static { - com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( - com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, - /* major= */ 4, - /* minor= */ 32, - /* patch= */ 1, - /* suffix= */ "", - Relationship.class.getName()); - } - // Use Relationship.newBuilder() to construct. - private Relationship(com.google.protobuf.GeneratedMessage.Builder builder) { - super(builder); - } - private Relationship() { - symbol_ = ""; - } - - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return scip.Scip.internal_static_scip_Relationship_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessage.FieldAccessorTable - internalGetFieldAccessorTable() { - return scip.Scip.internal_static_scip_Relationship_fieldAccessorTable - .ensureFieldAccessorsInitialized( - scip.Scip.Relationship.class, scip.Scip.Relationship.Builder.class); - } - - public static final int SYMBOL_FIELD_NUMBER = 1; - @SuppressWarnings("serial") - private volatile java.lang.Object symbol_ = ""; - /** - * string symbol = 1 [json_name = "symbol"]; - * @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 [json_name = "symbol"]; - * @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 IS_REFERENCE_FIELD_NUMBER = 2; - private boolean isReference_ = false; - /** - *
-     * When resolving "Find references", this field documents what other symbols
-     * should be included together with this symbol. For example, consider the
-     * following TypeScript code that defines two symbols `Animal#sound()` and
-     * `Dog#sound()`:
-     * ```ts
-     * interface Animal {
-     * ^^^^^^ definition Animal#
-     * sound(): string
-     * ^^^^^ definition Animal#sound()
-     * }
-     * class Dog implements Animal {
-     * ^^^ definition Dog#, relationships = [{symbol: "Animal#", is_implementation: true}]
-     * public sound(): string { return "woof" }
-     * ^^^^^ definition Dog#sound(), references_symbols = Animal#sound(), relationships = [{symbol: "Animal#sound()", is_implementation:true, is_reference: true}]
-     * }
-     * const animal: Animal = new Dog()
-     * ^^^^^^ reference Animal#
-     * console.log(animal.sound())
-     * ^^^^^ reference Animal#sound()
-     * ```
-     * Doing "Find references" on the symbol `Animal#sound()` should return
-     * references to the `Dog#sound()` method as well. Vice-versa, doing "Find
-     * references" on the `Dog#sound()` method should include references to the
-     * `Animal#sound()` method as well.
-     * 
- * - * bool is_reference = 2 [json_name = "isReference"]; - * @return The isReference. - */ - @java.lang.Override - public boolean getIsReference() { - return isReference_; - } - - public static final int IS_IMPLEMENTATION_FIELD_NUMBER = 3; - private boolean isImplementation_ = false; - /** - *
-     * Similar to `is_reference` but for "Find implementations".
-     * It's common for `is_implementation` and `is_reference` to both be true but
-     * it's not always the case.
-     * In the TypeScript example above, observe that `Dog#` has an
-     * `is_implementation` relationship with `"Animal#"` but not `is_reference`.
-     * This is because "Find references" on the "Animal#" symbol should not return
-     * "Dog#". We only want "Dog#" to return as a result for "Find
-     * implementations" on the "Animal#" symbol.
-     * 
- * - * bool is_implementation = 3 [json_name = "isImplementation"]; - * @return The isImplementation. - */ - @java.lang.Override - public boolean getIsImplementation() { - return isImplementation_; - } - - public static final int IS_TYPE_DEFINITION_FIELD_NUMBER = 4; - private boolean isTypeDefinition_ = false; - /** - *
-     * Similar to `references_symbols` but for "Go to type definition".
-     * 
- * - * bool is_type_definition = 4 [json_name = "isTypeDefinition"]; - * @return The isTypeDefinition. - */ - @java.lang.Override - public boolean getIsTypeDefinition() { - return isTypeDefinition_; - } - - public static final int IS_DEFINITION_FIELD_NUMBER = 5; - private boolean isDefinition_ = false; - /** - *
-     * Allows overriding the behavior of "Go to definition" and "Find references"
-     * for symbols which do not have a definition of their own or could
-     * potentially have multiple definitions.
-     *
-     * For example, in a language with single inheritance and no field overriding,
-     * inherited fields can reuse the same symbol as the ancestor which declares
-     * the field. In such a situation, is_definition is not needed.
-     *
-     * On the other hand, in languages with single inheritance and some form
-     * of mixins, you can use is_definition to relate the symbol to the
-     * matching symbol in ancestor classes, and is_reference to relate the
-     * symbol to the matching symbol in mixins.
-     * 
- * - * bool is_definition = 5 [json_name = "isDefinition"]; - * @return The isDefinition. - */ - @java.lang.Override - public boolean getIsDefinition() { - return isDefinition_; - } - - 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 (!com.google.protobuf.GeneratedMessage.isStringEmpty(symbol_)) { - com.google.protobuf.GeneratedMessage.writeString(output, 1, symbol_); - } - if (isReference_ != false) { - output.writeBool(2, isReference_); - } - if (isImplementation_ != false) { - output.writeBool(3, isImplementation_); - } - if (isTypeDefinition_ != false) { - output.writeBool(4, isTypeDefinition_); - } - if (isDefinition_ != false) { - output.writeBool(5, isDefinition_); - } - getUnknownFields().writeTo(output); - } - - @java.lang.Override - public int getSerializedSize() { - int size = memoizedSize; - if (size != -1) return size; - - size = 0; - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(symbol_)) { - size += com.google.protobuf.GeneratedMessage.computeStringSize(1, symbol_); - } - if (isReference_ != false) { - size += com.google.protobuf.CodedOutputStream - .computeBoolSize(2, isReference_); - } - if (isImplementation_ != false) { - size += com.google.protobuf.CodedOutputStream - .computeBoolSize(3, isImplementation_); - } - if (isTypeDefinition_ != false) { - size += com.google.protobuf.CodedOutputStream - .computeBoolSize(4, isTypeDefinition_); - } - if (isDefinition_ != false) { - size += com.google.protobuf.CodedOutputStream - .computeBoolSize(5, isDefinition_); - } - size += getUnknownFields().getSerializedSize(); - memoizedSize = size; - return size; - } - - @java.lang.Override - public boolean equals(final java.lang.Object obj) { - if (obj == this) { - return true; - } - if (!(obj instanceof scip.Scip.Relationship)) { - return super.equals(obj); - } - scip.Scip.Relationship other = (scip.Scip.Relationship) obj; - - if (!getSymbol() - .equals(other.getSymbol())) return false; - if (getIsReference() - != other.getIsReference()) return false; - if (getIsImplementation() - != other.getIsImplementation()) return false; - if (getIsTypeDefinition() - != other.getIsTypeDefinition()) return false; - if (getIsDefinition() - != other.getIsDefinition()) return false; - if (!getUnknownFields().equals(other.getUnknownFields())) 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) + IS_REFERENCE_FIELD_NUMBER; - hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( - getIsReference()); - hash = (37 * hash) + IS_IMPLEMENTATION_FIELD_NUMBER; - hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( - getIsImplementation()); - hash = (37 * hash) + IS_TYPE_DEFINITION_FIELD_NUMBER; - hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( - getIsTypeDefinition()); - hash = (37 * hash) + IS_DEFINITION_FIELD_NUMBER; - hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( - getIsDefinition()); - hash = (29 * hash) + getUnknownFields().hashCode(); - memoizedHashCode = hash; - return hash; - } - - public static scip.Scip.Relationship parseFrom( - java.nio.ByteBuffer data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static scip.Scip.Relationship parseFrom( - java.nio.ByteBuffer data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static scip.Scip.Relationship parseFrom( - com.google.protobuf.ByteString data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static scip.Scip.Relationship parseFrom( - com.google.protobuf.ByteString data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static scip.Scip.Relationship parseFrom(byte[] data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static scip.Scip.Relationship parseFrom( - byte[] data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static scip.Scip.Relationship parseFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input); - } - public static scip.Scip.Relationship parseFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input, extensionRegistry); - } - - public static scip.Scip.Relationship parseDelimitedFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseDelimitedWithIOException(PARSER, input); - } - - public static scip.Scip.Relationship parseDelimitedFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseDelimitedWithIOException(PARSER, input, extensionRegistry); - } - public static scip.Scip.Relationship parseFrom( - com.google.protobuf.CodedInputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input); - } - public static scip.Scip.Relationship parseFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input, extensionRegistry); - } - - @java.lang.Override - public Builder newBuilderForType() { return newBuilder(); } - public static Builder newBuilder() { - return DEFAULT_INSTANCE.toBuilder(); - } - public static Builder newBuilder(scip.Scip.Relationship 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.GeneratedMessage.BuilderParent parent) { - Builder builder = new Builder(parent); - return builder; - } - /** - * Protobuf type {@code scip.Relationship} - */ - public static final class Builder extends - com.google.protobuf.GeneratedMessage.Builder implements - // @@protoc_insertion_point(builder_implements:scip.Relationship) - scip.Scip.RelationshipOrBuilder { - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return scip.Scip.internal_static_scip_Relationship_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessage.FieldAccessorTable - internalGetFieldAccessorTable() { - return scip.Scip.internal_static_scip_Relationship_fieldAccessorTable - .ensureFieldAccessorsInitialized( - scip.Scip.Relationship.class, scip.Scip.Relationship.Builder.class); - } - - // Construct using scip.Scip.Relationship.newBuilder() - private Builder() { - - } - - private Builder( - com.google.protobuf.GeneratedMessage.BuilderParent parent) { - super(parent); - - } - @java.lang.Override - public Builder clear() { - super.clear(); - bitField0_ = 0; - symbol_ = ""; - isReference_ = false; - isImplementation_ = false; - isTypeDefinition_ = false; - isDefinition_ = false; - return this; - } - - @java.lang.Override - public com.google.protobuf.Descriptors.Descriptor - getDescriptorForType() { - return scip.Scip.internal_static_scip_Relationship_descriptor; - } - - @java.lang.Override - public scip.Scip.Relationship getDefaultInstanceForType() { - return scip.Scip.Relationship.getDefaultInstance(); - } - - @java.lang.Override - public scip.Scip.Relationship build() { - scip.Scip.Relationship result = buildPartial(); - if (!result.isInitialized()) { - throw newUninitializedMessageException(result); - } - return result; - } - - @java.lang.Override - public scip.Scip.Relationship buildPartial() { - scip.Scip.Relationship result = new scip.Scip.Relationship(this); - if (bitField0_ != 0) { buildPartial0(result); } - onBuilt(); - return result; - } - - private void buildPartial0(scip.Scip.Relationship result) { - int from_bitField0_ = bitField0_; - if (((from_bitField0_ & 0x00000001) != 0)) { - result.symbol_ = symbol_; - } - if (((from_bitField0_ & 0x00000002) != 0)) { - result.isReference_ = isReference_; - } - if (((from_bitField0_ & 0x00000004) != 0)) { - result.isImplementation_ = isImplementation_; - } - if (((from_bitField0_ & 0x00000008) != 0)) { - result.isTypeDefinition_ = isTypeDefinition_; - } - if (((from_bitField0_ & 0x00000010) != 0)) { - result.isDefinition_ = isDefinition_; - } - } - - @java.lang.Override - public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof scip.Scip.Relationship) { - return mergeFrom((scip.Scip.Relationship)other); - } else { - super.mergeFrom(other); - return this; - } - } - - public Builder mergeFrom(scip.Scip.Relationship other) { - if (other == scip.Scip.Relationship.getDefaultInstance()) return this; - if (!other.getSymbol().isEmpty()) { - symbol_ = other.symbol_; - bitField0_ |= 0x00000001; - onChanged(); - } - if (other.getIsReference() != false) { - setIsReference(other.getIsReference()); - } - if (other.getIsImplementation() != false) { - setIsImplementation(other.getIsImplementation()); - } - if (other.getIsTypeDefinition() != false) { - setIsTypeDefinition(other.getIsTypeDefinition()); - } - if (other.getIsDefinition() != false) { - setIsDefinition(other.getIsDefinition()); - } - this.mergeUnknownFields(other.getUnknownFields()); - 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 { - if (extensionRegistry == null) { - throw new java.lang.NullPointerException(); - } - try { - boolean done = false; - while (!done) { - int tag = input.readTag(); - switch (tag) { - case 0: - done = true; - break; - case 10: { - symbol_ = input.readStringRequireUtf8(); - bitField0_ |= 0x00000001; - break; - } // case 10 - case 16: { - isReference_ = input.readBool(); - bitField0_ |= 0x00000002; - break; - } // case 16 - case 24: { - isImplementation_ = input.readBool(); - bitField0_ |= 0x00000004; - break; - } // case 24 - case 32: { - isTypeDefinition_ = input.readBool(); - bitField0_ |= 0x00000008; - break; - } // case 32 - case 40: { - isDefinition_ = input.readBool(); - bitField0_ |= 0x00000010; - break; - } // case 40 - default: { - if (!super.parseUnknownField(input, extensionRegistry, tag)) { - done = true; // was an endgroup tag - } - break; - } // default: - } // switch (tag) - } // while (!done) - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.unwrapIOException(); - } finally { - onChanged(); - } // finally - return this; - } - private int bitField0_; - - private java.lang.Object symbol_ = ""; - /** - * string symbol = 1 [json_name = "symbol"]; - * @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 [json_name = "symbol"]; - * @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 [json_name = "symbol"]; - * @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; - bitField0_ |= 0x00000001; - onChanged(); - return this; - } - /** - * string symbol = 1 [json_name = "symbol"]; - * @return This builder for chaining. - */ - public Builder clearSymbol() { - symbol_ = getDefaultInstance().getSymbol(); - bitField0_ = (bitField0_ & ~0x00000001); - onChanged(); - return this; - } - /** - * string symbol = 1 [json_name = "symbol"]; - * @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; - bitField0_ |= 0x00000001; - onChanged(); - return this; - } - - private boolean isReference_ ; - /** - *
-       * When resolving "Find references", this field documents what other symbols
-       * should be included together with this symbol. For example, consider the
-       * following TypeScript code that defines two symbols `Animal#sound()` and
-       * `Dog#sound()`:
-       * ```ts
-       * interface Animal {
-       * ^^^^^^ definition Animal#
-       * sound(): string
-       * ^^^^^ definition Animal#sound()
-       * }
-       * class Dog implements Animal {
-       * ^^^ definition Dog#, relationships = [{symbol: "Animal#", is_implementation: true}]
-       * public sound(): string { return "woof" }
-       * ^^^^^ definition Dog#sound(), references_symbols = Animal#sound(), relationships = [{symbol: "Animal#sound()", is_implementation:true, is_reference: true}]
-       * }
-       * const animal: Animal = new Dog()
-       * ^^^^^^ reference Animal#
-       * console.log(animal.sound())
-       * ^^^^^ reference Animal#sound()
-       * ```
-       * Doing "Find references" on the symbol `Animal#sound()` should return
-       * references to the `Dog#sound()` method as well. Vice-versa, doing "Find
-       * references" on the `Dog#sound()` method should include references to the
-       * `Animal#sound()` method as well.
-       * 
- * - * bool is_reference = 2 [json_name = "isReference"]; - * @return The isReference. - */ - @java.lang.Override - public boolean getIsReference() { - return isReference_; - } - /** - *
-       * When resolving "Find references", this field documents what other symbols
-       * should be included together with this symbol. For example, consider the
-       * following TypeScript code that defines two symbols `Animal#sound()` and
-       * `Dog#sound()`:
-       * ```ts
-       * interface Animal {
-       * ^^^^^^ definition Animal#
-       * sound(): string
-       * ^^^^^ definition Animal#sound()
-       * }
-       * class Dog implements Animal {
-       * ^^^ definition Dog#, relationships = [{symbol: "Animal#", is_implementation: true}]
-       * public sound(): string { return "woof" }
-       * ^^^^^ definition Dog#sound(), references_symbols = Animal#sound(), relationships = [{symbol: "Animal#sound()", is_implementation:true, is_reference: true}]
-       * }
-       * const animal: Animal = new Dog()
-       * ^^^^^^ reference Animal#
-       * console.log(animal.sound())
-       * ^^^^^ reference Animal#sound()
-       * ```
-       * Doing "Find references" on the symbol `Animal#sound()` should return
-       * references to the `Dog#sound()` method as well. Vice-versa, doing "Find
-       * references" on the `Dog#sound()` method should include references to the
-       * `Animal#sound()` method as well.
-       * 
- * - * bool is_reference = 2 [json_name = "isReference"]; - * @param value The isReference to set. - * @return This builder for chaining. - */ - public Builder setIsReference(boolean value) { - - isReference_ = value; - bitField0_ |= 0x00000002; - onChanged(); - return this; - } - /** - *
-       * When resolving "Find references", this field documents what other symbols
-       * should be included together with this symbol. For example, consider the
-       * following TypeScript code that defines two symbols `Animal#sound()` and
-       * `Dog#sound()`:
-       * ```ts
-       * interface Animal {
-       * ^^^^^^ definition Animal#
-       * sound(): string
-       * ^^^^^ definition Animal#sound()
-       * }
-       * class Dog implements Animal {
-       * ^^^ definition Dog#, relationships = [{symbol: "Animal#", is_implementation: true}]
-       * public sound(): string { return "woof" }
-       * ^^^^^ definition Dog#sound(), references_symbols = Animal#sound(), relationships = [{symbol: "Animal#sound()", is_implementation:true, is_reference: true}]
-       * }
-       * const animal: Animal = new Dog()
-       * ^^^^^^ reference Animal#
-       * console.log(animal.sound())
-       * ^^^^^ reference Animal#sound()
-       * ```
-       * Doing "Find references" on the symbol `Animal#sound()` should return
-       * references to the `Dog#sound()` method as well. Vice-versa, doing "Find
-       * references" on the `Dog#sound()` method should include references to the
-       * `Animal#sound()` method as well.
-       * 
- * - * bool is_reference = 2 [json_name = "isReference"]; - * @return This builder for chaining. - */ - public Builder clearIsReference() { - bitField0_ = (bitField0_ & ~0x00000002); - isReference_ = false; - onChanged(); - return this; - } - - private boolean isImplementation_ ; - /** - *
-       * Similar to `is_reference` but for "Find implementations".
-       * It's common for `is_implementation` and `is_reference` to both be true but
-       * it's not always the case.
-       * In the TypeScript example above, observe that `Dog#` has an
-       * `is_implementation` relationship with `"Animal#"` but not `is_reference`.
-       * This is because "Find references" on the "Animal#" symbol should not return
-       * "Dog#". We only want "Dog#" to return as a result for "Find
-       * implementations" on the "Animal#" symbol.
-       * 
- * - * bool is_implementation = 3 [json_name = "isImplementation"]; - * @return The isImplementation. - */ - @java.lang.Override - public boolean getIsImplementation() { - return isImplementation_; - } - /** - *
-       * Similar to `is_reference` but for "Find implementations".
-       * It's common for `is_implementation` and `is_reference` to both be true but
-       * it's not always the case.
-       * In the TypeScript example above, observe that `Dog#` has an
-       * `is_implementation` relationship with `"Animal#"` but not `is_reference`.
-       * This is because "Find references" on the "Animal#" symbol should not return
-       * "Dog#". We only want "Dog#" to return as a result for "Find
-       * implementations" on the "Animal#" symbol.
-       * 
- * - * bool is_implementation = 3 [json_name = "isImplementation"]; - * @param value The isImplementation to set. - * @return This builder for chaining. - */ - public Builder setIsImplementation(boolean value) { - - isImplementation_ = value; - bitField0_ |= 0x00000004; - onChanged(); - return this; - } - /** - *
-       * Similar to `is_reference` but for "Find implementations".
-       * It's common for `is_implementation` and `is_reference` to both be true but
-       * it's not always the case.
-       * In the TypeScript example above, observe that `Dog#` has an
-       * `is_implementation` relationship with `"Animal#"` but not `is_reference`.
-       * This is because "Find references" on the "Animal#" symbol should not return
-       * "Dog#". We only want "Dog#" to return as a result for "Find
-       * implementations" on the "Animal#" symbol.
-       * 
- * - * bool is_implementation = 3 [json_name = "isImplementation"]; - * @return This builder for chaining. - */ - public Builder clearIsImplementation() { - bitField0_ = (bitField0_ & ~0x00000004); - isImplementation_ = false; - onChanged(); - return this; - } - - private boolean isTypeDefinition_ ; - /** - *
-       * Similar to `references_symbols` but for "Go to type definition".
-       * 
- * - * bool is_type_definition = 4 [json_name = "isTypeDefinition"]; - * @return The isTypeDefinition. - */ - @java.lang.Override - public boolean getIsTypeDefinition() { - return isTypeDefinition_; - } - /** - *
-       * Similar to `references_symbols` but for "Go to type definition".
-       * 
- * - * bool is_type_definition = 4 [json_name = "isTypeDefinition"]; - * @param value The isTypeDefinition to set. - * @return This builder for chaining. - */ - public Builder setIsTypeDefinition(boolean value) { - - isTypeDefinition_ = value; - bitField0_ |= 0x00000008; - onChanged(); - return this; - } - /** - *
-       * Similar to `references_symbols` but for "Go to type definition".
-       * 
- * - * bool is_type_definition = 4 [json_name = "isTypeDefinition"]; - * @return This builder for chaining. - */ - public Builder clearIsTypeDefinition() { - bitField0_ = (bitField0_ & ~0x00000008); - isTypeDefinition_ = false; - onChanged(); - return this; - } - - private boolean isDefinition_ ; - /** - *
-       * Allows overriding the behavior of "Go to definition" and "Find references"
-       * for symbols which do not have a definition of their own or could
-       * potentially have multiple definitions.
-       *
-       * For example, in a language with single inheritance and no field overriding,
-       * inherited fields can reuse the same symbol as the ancestor which declares
-       * the field. In such a situation, is_definition is not needed.
-       *
-       * On the other hand, in languages with single inheritance and some form
-       * of mixins, you can use is_definition to relate the symbol to the
-       * matching symbol in ancestor classes, and is_reference to relate the
-       * symbol to the matching symbol in mixins.
-       * 
- * - * bool is_definition = 5 [json_name = "isDefinition"]; - * @return The isDefinition. - */ - @java.lang.Override - public boolean getIsDefinition() { - return isDefinition_; - } - /** - *
-       * Allows overriding the behavior of "Go to definition" and "Find references"
-       * for symbols which do not have a definition of their own or could
-       * potentially have multiple definitions.
-       *
-       * For example, in a language with single inheritance and no field overriding,
-       * inherited fields can reuse the same symbol as the ancestor which declares
-       * the field. In such a situation, is_definition is not needed.
-       *
-       * On the other hand, in languages with single inheritance and some form
-       * of mixins, you can use is_definition to relate the symbol to the
-       * matching symbol in ancestor classes, and is_reference to relate the
-       * symbol to the matching symbol in mixins.
-       * 
- * - * bool is_definition = 5 [json_name = "isDefinition"]; - * @param value The isDefinition to set. - * @return This builder for chaining. - */ - public Builder setIsDefinition(boolean value) { - - isDefinition_ = value; - bitField0_ |= 0x00000010; - onChanged(); - return this; - } - /** - *
-       * Allows overriding the behavior of "Go to definition" and "Find references"
-       * for symbols which do not have a definition of their own or could
-       * potentially have multiple definitions.
-       *
-       * For example, in a language with single inheritance and no field overriding,
-       * inherited fields can reuse the same symbol as the ancestor which declares
-       * the field. In such a situation, is_definition is not needed.
-       *
-       * On the other hand, in languages with single inheritance and some form
-       * of mixins, you can use is_definition to relate the symbol to the
-       * matching symbol in ancestor classes, and is_reference to relate the
-       * symbol to the matching symbol in mixins.
-       * 
- * - * bool is_definition = 5 [json_name = "isDefinition"]; - * @return This builder for chaining. - */ - public Builder clearIsDefinition() { - bitField0_ = (bitField0_ & ~0x00000010); - isDefinition_ = false; - onChanged(); - return this; - } - - // @@protoc_insertion_point(builder_scope:scip.Relationship) - } - - // @@protoc_insertion_point(class_scope:scip.Relationship) - private static final scip.Scip.Relationship DEFAULT_INSTANCE; - static { - DEFAULT_INSTANCE = new scip.Scip.Relationship(); - } - - public static scip.Scip.Relationship getDefaultInstance() { - return DEFAULT_INSTANCE; - } - - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { - @java.lang.Override - public Relationship parsePartialFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - Builder builder = newBuilder(); - try { - builder.mergeFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.setUnfinishedMessage(builder.buildPartial()); - } catch (com.google.protobuf.UninitializedMessageException e) { - throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); - } catch (java.io.IOException e) { - throw new com.google.protobuf.InvalidProtocolBufferException(e) - .setUnfinishedMessage(builder.buildPartial()); - } - return builder.buildPartial(); - } - }; - - public static com.google.protobuf.Parser parser() { - return PARSER; - } - - @java.lang.Override - public com.google.protobuf.Parser getParserForType() { - return PARSER; - } - - @java.lang.Override - public scip.Scip.Relationship getDefaultInstanceForType() { - return DEFAULT_INSTANCE; - } - - } - - public interface OccurrenceOrBuilder extends - // @@protoc_insertion_point(interface_extends:scip.Occurrence) - com.google.protobuf.MessageOrBuilder { - - /** - *
-     * Half-open [start, end) range of this occurrence. Must be exactly three or four
-     * elements:
-     *
-     * - Four elements: `[startLine, startCharacter, endLine, endCharacter]`
-     * - Three elements: `[startLine, startCharacter, endCharacter]`. The end line
-     * is inferred to have the same value as the start line.
-     *
-     * It is allowed for the range to be empty (i.e. start==end).
-     *
-     * Line numbers and characters are always 0-based. Make sure to increment the
-     * line/character values before displaying them in an editor-like UI because
-     * editors conventionally use 1-based numbers.
-     *
-     * The 'character' value is interpreted based on the PositionEncoding for
-     * the Document.
-     *
-     * Historical note: the original draft of this schema had a `Range` message
-     * type with `start` and `end` fields of type `Position`, mirroring LSP.
-     * Benchmarks revealed that this encoding was inefficient and that we could
-     * reduce the total payload size of an index by 50% by using `repeated int32`
-     * instead. The `repeated int32` encoding is admittedly more embarrassing to
-     * work with in some programming languages but we hope the performance
-     * improvements make up for it.
-     * 
- * - * repeated int32 range = 1 [json_name = "range"]; - * @return A list containing the range. - */ - java.util.List getRangeList(); - /** - *
-     * Half-open [start, end) range of this occurrence. Must be exactly three or four
-     * elements:
-     *
-     * - Four elements: `[startLine, startCharacter, endLine, endCharacter]`
-     * - Three elements: `[startLine, startCharacter, endCharacter]`. The end line
-     * is inferred to have the same value as the start line.
-     *
-     * It is allowed for the range to be empty (i.e. start==end).
-     *
-     * Line numbers and characters are always 0-based. Make sure to increment the
-     * line/character values before displaying them in an editor-like UI because
-     * editors conventionally use 1-based numbers.
-     *
-     * The 'character' value is interpreted based on the PositionEncoding for
-     * the Document.
-     *
-     * Historical note: the original draft of this schema had a `Range` message
-     * type with `start` and `end` fields of type `Position`, mirroring LSP.
-     * Benchmarks revealed that this encoding was inefficient and that we could
-     * reduce the total payload size of an index by 50% by using `repeated int32`
-     * instead. The `repeated int32` encoding is admittedly more embarrassing to
-     * work with in some programming languages but we hope the performance
-     * improvements make up for it.
-     * 
- * - * repeated int32 range = 1 [json_name = "range"]; - * @return The count of range. - */ - int getRangeCount(); - /** - *
-     * Half-open [start, end) range of this occurrence. Must be exactly three or four
-     * elements:
-     *
-     * - Four elements: `[startLine, startCharacter, endLine, endCharacter]`
-     * - Three elements: `[startLine, startCharacter, endCharacter]`. The end line
-     * is inferred to have the same value as the start line.
-     *
-     * It is allowed for the range to be empty (i.e. start==end).
-     *
-     * Line numbers and characters are always 0-based. Make sure to increment the
-     * line/character values before displaying them in an editor-like UI because
-     * editors conventionally use 1-based numbers.
-     *
-     * The 'character' value is interpreted based on the PositionEncoding for
-     * the Document.
-     *
-     * Historical note: the original draft of this schema had a `Range` message
-     * type with `start` and `end` fields of type `Position`, mirroring LSP.
-     * Benchmarks revealed that this encoding was inefficient and that we could
-     * reduce the total payload size of an index by 50% by using `repeated int32`
-     * instead. The `repeated int32` encoding is admittedly more embarrassing to
-     * work with in some programming languages but we hope the performance
-     * improvements make up for it.
-     * 
- * - * repeated int32 range = 1 [json_name = "range"]; - * @param index The index of the element to return. - * @return The range at the given index. - */ - int getRange(int index); - - /** - *
-     * (optional) The symbol that appears at this position. See
-     * `SymbolInformation.symbol` for how to format symbols as strings.
-     * 
- * - * string symbol = 2 [json_name = "symbol"]; - * @return The symbol. - */ - java.lang.String getSymbol(); - /** - *
-     * (optional) The symbol that appears at this position. See
-     * `SymbolInformation.symbol` for how to format symbols as strings.
-     * 
- * - * string symbol = 2 [json_name = "symbol"]; - * @return The bytes for symbol. - */ - com.google.protobuf.ByteString - getSymbolBytes(); - - /** - *
-     * (optional) Bitset containing `SymbolRole`s in this occurrence.
-     * See `SymbolRole`'s documentation for how to read and write this field.
-     * 
- * - * int32 symbol_roles = 3 [json_name = "symbolRoles"]; - * @return The symbolRoles. - */ - int getSymbolRoles(); - - /** - *
-     * (optional) CommonMark-formatted documentation for this specific range. If
-     * empty, the `Symbol.documentation` field is used instead. One example
-     * where this field might be useful is when the symbol represents a generic
-     * function (with abstract type parameters such as `List<T>`) and at this
-     * occurrence we know the exact values (such as `List<String>`).
-     *
-     * This field can also be used for dynamically or gradually typed languages,
-     * which commonly allow for type-changing assignment.
-     * 
- * - * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; - * @return A list containing the overrideDocumentation. - */ - java.util.List - getOverrideDocumentationList(); - /** - *
-     * (optional) CommonMark-formatted documentation for this specific range. If
-     * empty, the `Symbol.documentation` field is used instead. One example
-     * where this field might be useful is when the symbol represents a generic
-     * function (with abstract type parameters such as `List<T>`) and at this
-     * occurrence we know the exact values (such as `List<String>`).
-     *
-     * This field can also be used for dynamically or gradually typed languages,
-     * which commonly allow for type-changing assignment.
-     * 
- * - * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; - * @return The count of overrideDocumentation. - */ - int getOverrideDocumentationCount(); - /** - *
-     * (optional) CommonMark-formatted documentation for this specific range. If
-     * empty, the `Symbol.documentation` field is used instead. One example
-     * where this field might be useful is when the symbol represents a generic
-     * function (with abstract type parameters such as `List<T>`) and at this
-     * occurrence we know the exact values (such as `List<String>`).
-     *
-     * This field can also be used for dynamically or gradually typed languages,
-     * which commonly allow for type-changing assignment.
-     * 
- * - * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; - * @param index The index of the element to return. - * @return The overrideDocumentation at the given index. - */ - java.lang.String getOverrideDocumentation(int index); - /** - *
-     * (optional) CommonMark-formatted documentation for this specific range. If
-     * empty, the `Symbol.documentation` field is used instead. One example
-     * where this field might be useful is when the symbol represents a generic
-     * function (with abstract type parameters such as `List<T>`) and at this
-     * occurrence we know the exact values (such as `List<String>`).
-     *
-     * This field can also be used for dynamically or gradually typed languages,
-     * which commonly allow for type-changing assignment.
-     * 
- * - * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; - * @param index The index of the value to return. - * @return The bytes of the overrideDocumentation at the given index. - */ - com.google.protobuf.ByteString - getOverrideDocumentationBytes(int index); - - /** - *
-     * (optional) What syntax highlighting class should be used for this range?
-     * 
- * - * .scip.SyntaxKind syntax_kind = 5 [json_name = "syntaxKind"]; - * @return The enum numeric value on the wire for syntaxKind. - */ - int getSyntaxKindValue(); - /** - *
-     * (optional) What syntax highlighting class should be used for this range?
-     * 
- * - * .scip.SyntaxKind syntax_kind = 5 [json_name = "syntaxKind"]; - * @return The syntaxKind. - */ - scip.Scip.SyntaxKind getSyntaxKind(); - - /** - *
-     * (optional) Diagnostics that have been reported for this specific range.
-     * 
- * - * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; - */ - java.util.List - getDiagnosticsList(); - /** - *
-     * (optional) Diagnostics that have been reported for this specific range.
-     * 
- * - * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; - */ - scip.Scip.Diagnostic getDiagnostics(int index); - /** - *
-     * (optional) Diagnostics that have been reported for this specific range.
-     * 
- * - * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; - */ - int getDiagnosticsCount(); - /** - *
-     * (optional) Diagnostics that have been reported for this specific range.
-     * 
- * - * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; - */ - java.util.List - getDiagnosticsOrBuilderList(); - /** - *
-     * (optional) Diagnostics that have been reported for this specific range.
-     * 
- * - * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; - */ - scip.Scip.DiagnosticOrBuilder getDiagnosticsOrBuilder( - int index); - - /** - *
-     * (optional) Using the same encoding as the sibling `range` field, half-open
-     * source range of the nearest non-trivial enclosing AST node. This range must
-     * enclose the `range` field. Example applications that make use of the
-     * enclosing_range field:
-     *
-     * - Call hierarchies: to determine what symbols are references from the body
-     * of a function
-     * - Symbol outline: to display breadcrumbs from the cursor position to the
-     * root of the file
-     * - Expand selection: to select the nearest enclosing AST node.
-     * - Highlight range: to indicate the AST expression that is associated with a
-     * hover popover
-     *
-     * For definition occurrences, the enclosing range should indicate the
-     * start/end bounds of the entire definition AST node, including
-     * documentation.
-     * ```
-     * const n = 3
-     * ^ range
-     * ^^^^^^^^^^^ enclosing_range
-     *
-     * /** Parses the string into something */
-     * ^ enclosing_range start --------------------------------------|
-     * function parse(input string): string {                        |
-     * ^^^^^ range                                          |
-     * return input.slice(n)                                     |
-     * }                                                             |
-     * ^ enclosing_range end <---------------------------------------|
-     * ```
-     *
-     * Any attributes/decorators/attached macros should also be part of the
-     * enclosing range.
-     *
-     * ```python
-     * @cache
-     * ^ enclosing_range start---------------------|
-     * def factorial(n):                           |
-     * return n * factorial(n-1) if n else 1   |
-     * < enclosing_range end-----------------------|
-     *
-     * ```
-     *
-     * For reference occurrences, the enclosing range should indicate the start/end
-     * bounds of the parent expression.
-     * ```
-     * const a = a.b
-     * ^ range
-     * ^^^ enclosing_range
-     * const b = a.b(41).f(42).g(43)
-     * ^ range
-     * ^^^^^^^^^^^^^ enclosing_range
-     * ```
-     * 
- * - * repeated int32 enclosing_range = 7 [json_name = "enclosingRange"]; - * @return A list containing the enclosingRange. - */ - java.util.List getEnclosingRangeList(); - /** - *
-     * (optional) Using the same encoding as the sibling `range` field, half-open
-     * source range of the nearest non-trivial enclosing AST node. This range must
-     * enclose the `range` field. Example applications that make use of the
-     * enclosing_range field:
-     *
-     * - Call hierarchies: to determine what symbols are references from the body
-     * of a function
-     * - Symbol outline: to display breadcrumbs from the cursor position to the
-     * root of the file
-     * - Expand selection: to select the nearest enclosing AST node.
-     * - Highlight range: to indicate the AST expression that is associated with a
-     * hover popover
-     *
-     * For definition occurrences, the enclosing range should indicate the
-     * start/end bounds of the entire definition AST node, including
-     * documentation.
-     * ```
-     * const n = 3
-     * ^ range
-     * ^^^^^^^^^^^ enclosing_range
-     *
-     * /** Parses the string into something */
-     * ^ enclosing_range start --------------------------------------|
-     * function parse(input string): string {                        |
-     * ^^^^^ range                                          |
-     * return input.slice(n)                                     |
-     * }                                                             |
-     * ^ enclosing_range end <---------------------------------------|
-     * ```
-     *
-     * Any attributes/decorators/attached macros should also be part of the
-     * enclosing range.
-     *
-     * ```python
-     * @cache
-     * ^ enclosing_range start---------------------|
-     * def factorial(n):                           |
-     * return n * factorial(n-1) if n else 1   |
-     * < enclosing_range end-----------------------|
-     *
-     * ```
-     *
-     * For reference occurrences, the enclosing range should indicate the start/end
-     * bounds of the parent expression.
-     * ```
-     * const a = a.b
-     * ^ range
-     * ^^^ enclosing_range
-     * const b = a.b(41).f(42).g(43)
-     * ^ range
-     * ^^^^^^^^^^^^^ enclosing_range
-     * ```
-     * 
- * - * repeated int32 enclosing_range = 7 [json_name = "enclosingRange"]; - * @return The count of enclosingRange. - */ - int getEnclosingRangeCount(); - /** - *
-     * (optional) Using the same encoding as the sibling `range` field, half-open
-     * source range of the nearest non-trivial enclosing AST node. This range must
-     * enclose the `range` field. Example applications that make use of the
-     * enclosing_range field:
-     *
-     * - Call hierarchies: to determine what symbols are references from the body
-     * of a function
-     * - Symbol outline: to display breadcrumbs from the cursor position to the
-     * root of the file
-     * - Expand selection: to select the nearest enclosing AST node.
-     * - Highlight range: to indicate the AST expression that is associated with a
-     * hover popover
-     *
-     * For definition occurrences, the enclosing range should indicate the
-     * start/end bounds of the entire definition AST node, including
-     * documentation.
-     * ```
-     * const n = 3
-     * ^ range
-     * ^^^^^^^^^^^ enclosing_range
-     *
-     * /** Parses the string into something */
-     * ^ enclosing_range start --------------------------------------|
-     * function parse(input string): string {                        |
-     * ^^^^^ range                                          |
-     * return input.slice(n)                                     |
-     * }                                                             |
-     * ^ enclosing_range end <---------------------------------------|
-     * ```
-     *
-     * Any attributes/decorators/attached macros should also be part of the
-     * enclosing range.
-     *
-     * ```python
-     * @cache
-     * ^ enclosing_range start---------------------|
-     * def factorial(n):                           |
-     * return n * factorial(n-1) if n else 1   |
-     * < enclosing_range end-----------------------|
-     *
-     * ```
-     *
-     * For reference occurrences, the enclosing range should indicate the start/end
-     * bounds of the parent expression.
-     * ```
-     * const a = a.b
-     * ^ range
-     * ^^^ enclosing_range
-     * const b = a.b(41).f(42).g(43)
-     * ^ range
-     * ^^^^^^^^^^^^^ enclosing_range
-     * ```
-     * 
- * - * repeated int32 enclosing_range = 7 [json_name = "enclosingRange"]; - * @param index The index of the element to return. - * @return The enclosingRange at the given index. - */ - int getEnclosingRange(int index); - } - /** - *
-   * Occurrence associates a source position with a symbol and/or highlighting
-   * information.
-   *
-   * If possible, indexers should try to bundle logically related information
-   * across occurrences into a single occurrence to reduce payload sizes.
-   * 
- * - * Protobuf type {@code scip.Occurrence} - */ - public static final class Occurrence extends - com.google.protobuf.GeneratedMessage implements - // @@protoc_insertion_point(message_implements:scip.Occurrence) - OccurrenceOrBuilder { - private static final long serialVersionUID = 0L; - static { - com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( - com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, - /* major= */ 4, - /* minor= */ 32, - /* patch= */ 1, - /* suffix= */ "", - Occurrence.class.getName()); - } - // Use Occurrence.newBuilder() to construct. - private Occurrence(com.google.protobuf.GeneratedMessage.Builder builder) { - super(builder); - } - private Occurrence() { - range_ = emptyIntList(); - symbol_ = ""; - overrideDocumentation_ = - com.google.protobuf.LazyStringArrayList.emptyList(); - syntaxKind_ = 0; - diagnostics_ = java.util.Collections.emptyList(); - enclosingRange_ = emptyIntList(); - } - - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return scip.Scip.internal_static_scip_Occurrence_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessage.FieldAccessorTable - internalGetFieldAccessorTable() { - return scip.Scip.internal_static_scip_Occurrence_fieldAccessorTable - .ensureFieldAccessorsInitialized( - scip.Scip.Occurrence.class, scip.Scip.Occurrence.Builder.class); - } - - public static final int RANGE_FIELD_NUMBER = 1; - @SuppressWarnings("serial") - private com.google.protobuf.Internal.IntList range_ = - emptyIntList(); - /** - *
-     * Half-open [start, end) range of this occurrence. Must be exactly three or four
-     * elements:
-     *
-     * - Four elements: `[startLine, startCharacter, endLine, endCharacter]`
-     * - Three elements: `[startLine, startCharacter, endCharacter]`. The end line
-     * is inferred to have the same value as the start line.
-     *
-     * It is allowed for the range to be empty (i.e. start==end).
-     *
-     * Line numbers and characters are always 0-based. Make sure to increment the
-     * line/character values before displaying them in an editor-like UI because
-     * editors conventionally use 1-based numbers.
-     *
-     * The 'character' value is interpreted based on the PositionEncoding for
-     * the Document.
-     *
-     * Historical note: the original draft of this schema had a `Range` message
-     * type with `start` and `end` fields of type `Position`, mirroring LSP.
-     * Benchmarks revealed that this encoding was inefficient and that we could
-     * reduce the total payload size of an index by 50% by using `repeated int32`
-     * instead. The `repeated int32` encoding is admittedly more embarrassing to
-     * work with in some programming languages but we hope the performance
-     * improvements make up for it.
-     * 
- * - * repeated int32 range = 1 [json_name = "range"]; - * @return A list containing the range. - */ - @java.lang.Override - public java.util.List - getRangeList() { - return range_; - } - /** - *
-     * Half-open [start, end) range of this occurrence. Must be exactly three or four
-     * elements:
-     *
-     * - Four elements: `[startLine, startCharacter, endLine, endCharacter]`
-     * - Three elements: `[startLine, startCharacter, endCharacter]`. The end line
-     * is inferred to have the same value as the start line.
-     *
-     * It is allowed for the range to be empty (i.e. start==end).
-     *
-     * Line numbers and characters are always 0-based. Make sure to increment the
-     * line/character values before displaying them in an editor-like UI because
-     * editors conventionally use 1-based numbers.
-     *
-     * The 'character' value is interpreted based on the PositionEncoding for
-     * the Document.
-     *
-     * Historical note: the original draft of this schema had a `Range` message
-     * type with `start` and `end` fields of type `Position`, mirroring LSP.
-     * Benchmarks revealed that this encoding was inefficient and that we could
-     * reduce the total payload size of an index by 50% by using `repeated int32`
-     * instead. The `repeated int32` encoding is admittedly more embarrassing to
-     * work with in some programming languages but we hope the performance
-     * improvements make up for it.
-     * 
- * - * repeated int32 range = 1 [json_name = "range"]; - * @return The count of range. - */ - public int getRangeCount() { - return range_.size(); - } - /** - *
-     * Half-open [start, end) range of this occurrence. Must be exactly three or four
-     * elements:
-     *
-     * - Four elements: `[startLine, startCharacter, endLine, endCharacter]`
-     * - Three elements: `[startLine, startCharacter, endCharacter]`. The end line
-     * is inferred to have the same value as the start line.
-     *
-     * It is allowed for the range to be empty (i.e. start==end).
-     *
-     * Line numbers and characters are always 0-based. Make sure to increment the
-     * line/character values before displaying them in an editor-like UI because
-     * editors conventionally use 1-based numbers.
-     *
-     * The 'character' value is interpreted based on the PositionEncoding for
-     * the Document.
-     *
-     * Historical note: the original draft of this schema had a `Range` message
-     * type with `start` and `end` fields of type `Position`, mirroring LSP.
-     * Benchmarks revealed that this encoding was inefficient and that we could
-     * reduce the total payload size of an index by 50% by using `repeated int32`
-     * instead. The `repeated int32` encoding is admittedly more embarrassing to
-     * work with in some programming languages but we hope the performance
-     * improvements make up for it.
-     * 
- * - * repeated int32 range = 1 [json_name = "range"]; - * @param index The index of the element to return. - * @return The range at the given index. - */ - public int getRange(int index) { - return range_.getInt(index); - } - private int rangeMemoizedSerializedSize = -1; - - public static final int SYMBOL_FIELD_NUMBER = 2; - @SuppressWarnings("serial") - private volatile java.lang.Object symbol_ = ""; - /** - *
-     * (optional) The symbol that appears at this position. See
-     * `SymbolInformation.symbol` for how to format symbols as strings.
-     * 
- * - * string symbol = 2 [json_name = "symbol"]; - * @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; - } - } - /** - *
-     * (optional) The symbol that appears at this position. See
-     * `SymbolInformation.symbol` for how to format symbols as strings.
-     * 
- * - * string symbol = 2 [json_name = "symbol"]; - * @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 SYMBOL_ROLES_FIELD_NUMBER = 3; - private int symbolRoles_ = 0; - /** - *
-     * (optional) Bitset containing `SymbolRole`s in this occurrence.
-     * See `SymbolRole`'s documentation for how to read and write this field.
-     * 
- * - * int32 symbol_roles = 3 [json_name = "symbolRoles"]; - * @return The symbolRoles. - */ - @java.lang.Override - public int getSymbolRoles() { - return symbolRoles_; - } - - public static final int OVERRIDE_DOCUMENTATION_FIELD_NUMBER = 4; - @SuppressWarnings("serial") - private com.google.protobuf.LazyStringArrayList overrideDocumentation_ = - com.google.protobuf.LazyStringArrayList.emptyList(); - /** - *
-     * (optional) CommonMark-formatted documentation for this specific range. If
-     * empty, the `Symbol.documentation` field is used instead. One example
-     * where this field might be useful is when the symbol represents a generic
-     * function (with abstract type parameters such as `List<T>`) and at this
-     * occurrence we know the exact values (such as `List<String>`).
-     *
-     * This field can also be used for dynamically or gradually typed languages,
-     * which commonly allow for type-changing assignment.
-     * 
- * - * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; - * @return A list containing the overrideDocumentation. - */ - public com.google.protobuf.ProtocolStringList - getOverrideDocumentationList() { - return overrideDocumentation_; - } - /** - *
-     * (optional) CommonMark-formatted documentation for this specific range. If
-     * empty, the `Symbol.documentation` field is used instead. One example
-     * where this field might be useful is when the symbol represents a generic
-     * function (with abstract type parameters such as `List<T>`) and at this
-     * occurrence we know the exact values (such as `List<String>`).
-     *
-     * This field can also be used for dynamically or gradually typed languages,
-     * which commonly allow for type-changing assignment.
-     * 
- * - * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; - * @return The count of overrideDocumentation. - */ - public int getOverrideDocumentationCount() { - return overrideDocumentation_.size(); - } - /** - *
-     * (optional) CommonMark-formatted documentation for this specific range. If
-     * empty, the `Symbol.documentation` field is used instead. One example
-     * where this field might be useful is when the symbol represents a generic
-     * function (with abstract type parameters such as `List<T>`) and at this
-     * occurrence we know the exact values (such as `List<String>`).
-     *
-     * This field can also be used for dynamically or gradually typed languages,
-     * which commonly allow for type-changing assignment.
-     * 
- * - * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; - * @param index The index of the element to return. - * @return The overrideDocumentation at the given index. - */ - public java.lang.String getOverrideDocumentation(int index) { - return overrideDocumentation_.get(index); - } - /** - *
-     * (optional) CommonMark-formatted documentation for this specific range. If
-     * empty, the `Symbol.documentation` field is used instead. One example
-     * where this field might be useful is when the symbol represents a generic
-     * function (with abstract type parameters such as `List<T>`) and at this
-     * occurrence we know the exact values (such as `List<String>`).
-     *
-     * This field can also be used for dynamically or gradually typed languages,
-     * which commonly allow for type-changing assignment.
-     * 
- * - * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; - * @param index The index of the value to return. - * @return The bytes of the overrideDocumentation at the given index. - */ - public com.google.protobuf.ByteString - getOverrideDocumentationBytes(int index) { - return overrideDocumentation_.getByteString(index); - } - - public static final int SYNTAX_KIND_FIELD_NUMBER = 5; - private int syntaxKind_ = 0; - /** - *
-     * (optional) What syntax highlighting class should be used for this range?
-     * 
- * - * .scip.SyntaxKind syntax_kind = 5 [json_name = "syntaxKind"]; - * @return The enum numeric value on the wire for syntaxKind. - */ - @java.lang.Override public int getSyntaxKindValue() { - return syntaxKind_; - } - /** - *
-     * (optional) What syntax highlighting class should be used for this range?
-     * 
- * - * .scip.SyntaxKind syntax_kind = 5 [json_name = "syntaxKind"]; - * @return The syntaxKind. - */ - @java.lang.Override public scip.Scip.SyntaxKind getSyntaxKind() { - scip.Scip.SyntaxKind result = scip.Scip.SyntaxKind.forNumber(syntaxKind_); - return result == null ? scip.Scip.SyntaxKind.UNRECOGNIZED : result; - } - - public static final int DIAGNOSTICS_FIELD_NUMBER = 6; - @SuppressWarnings("serial") - private java.util.List diagnostics_; - /** - *
-     * (optional) Diagnostics that have been reported for this specific range.
-     * 
- * - * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; - */ - @java.lang.Override - public java.util.List getDiagnosticsList() { - return diagnostics_; - } - /** - *
-     * (optional) Diagnostics that have been reported for this specific range.
-     * 
- * - * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; - */ - @java.lang.Override - public java.util.List - getDiagnosticsOrBuilderList() { - return diagnostics_; - } - /** - *
-     * (optional) Diagnostics that have been reported for this specific range.
-     * 
- * - * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; - */ - @java.lang.Override - public int getDiagnosticsCount() { - return diagnostics_.size(); - } - /** - *
-     * (optional) Diagnostics that have been reported for this specific range.
-     * 
- * - * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; - */ - @java.lang.Override - public scip.Scip.Diagnostic getDiagnostics(int index) { - return diagnostics_.get(index); - } - /** - *
-     * (optional) Diagnostics that have been reported for this specific range.
-     * 
- * - * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; - */ - @java.lang.Override - public scip.Scip.DiagnosticOrBuilder getDiagnosticsOrBuilder( - int index) { - return diagnostics_.get(index); - } - - public static final int ENCLOSING_RANGE_FIELD_NUMBER = 7; - @SuppressWarnings("serial") - private com.google.protobuf.Internal.IntList enclosingRange_ = - emptyIntList(); - /** - *
-     * (optional) Using the same encoding as the sibling `range` field, half-open
-     * source range of the nearest non-trivial enclosing AST node. This range must
-     * enclose the `range` field. Example applications that make use of the
-     * enclosing_range field:
-     *
-     * - Call hierarchies: to determine what symbols are references from the body
-     * of a function
-     * - Symbol outline: to display breadcrumbs from the cursor position to the
-     * root of the file
-     * - Expand selection: to select the nearest enclosing AST node.
-     * - Highlight range: to indicate the AST expression that is associated with a
-     * hover popover
-     *
-     * For definition occurrences, the enclosing range should indicate the
-     * start/end bounds of the entire definition AST node, including
-     * documentation.
-     * ```
-     * const n = 3
-     * ^ range
-     * ^^^^^^^^^^^ enclosing_range
-     *
-     * /** Parses the string into something */
-     * ^ enclosing_range start --------------------------------------|
-     * function parse(input string): string {                        |
-     * ^^^^^ range                                          |
-     * return input.slice(n)                                     |
-     * }                                                             |
-     * ^ enclosing_range end <---------------------------------------|
-     * ```
-     *
-     * Any attributes/decorators/attached macros should also be part of the
-     * enclosing range.
-     *
-     * ```python
-     * @cache
-     * ^ enclosing_range start---------------------|
-     * def factorial(n):                           |
-     * return n * factorial(n-1) if n else 1   |
-     * < enclosing_range end-----------------------|
-     *
-     * ```
-     *
-     * For reference occurrences, the enclosing range should indicate the start/end
-     * bounds of the parent expression.
-     * ```
-     * const a = a.b
-     * ^ range
-     * ^^^ enclosing_range
-     * const b = a.b(41).f(42).g(43)
-     * ^ range
-     * ^^^^^^^^^^^^^ enclosing_range
-     * ```
-     * 
- * - * repeated int32 enclosing_range = 7 [json_name = "enclosingRange"]; - * @return A list containing the enclosingRange. - */ - @java.lang.Override - public java.util.List - getEnclosingRangeList() { - return enclosingRange_; - } - /** - *
-     * (optional) Using the same encoding as the sibling `range` field, half-open
-     * source range of the nearest non-trivial enclosing AST node. This range must
-     * enclose the `range` field. Example applications that make use of the
-     * enclosing_range field:
-     *
-     * - Call hierarchies: to determine what symbols are references from the body
-     * of a function
-     * - Symbol outline: to display breadcrumbs from the cursor position to the
-     * root of the file
-     * - Expand selection: to select the nearest enclosing AST node.
-     * - Highlight range: to indicate the AST expression that is associated with a
-     * hover popover
-     *
-     * For definition occurrences, the enclosing range should indicate the
-     * start/end bounds of the entire definition AST node, including
-     * documentation.
-     * ```
-     * const n = 3
-     * ^ range
-     * ^^^^^^^^^^^ enclosing_range
-     *
-     * /** Parses the string into something */
-     * ^ enclosing_range start --------------------------------------|
-     * function parse(input string): string {                        |
-     * ^^^^^ range                                          |
-     * return input.slice(n)                                     |
-     * }                                                             |
-     * ^ enclosing_range end <---------------------------------------|
-     * ```
-     *
-     * Any attributes/decorators/attached macros should also be part of the
-     * enclosing range.
-     *
-     * ```python
-     * @cache
-     * ^ enclosing_range start---------------------|
-     * def factorial(n):                           |
-     * return n * factorial(n-1) if n else 1   |
-     * < enclosing_range end-----------------------|
-     *
-     * ```
-     *
-     * For reference occurrences, the enclosing range should indicate the start/end
-     * bounds of the parent expression.
-     * ```
-     * const a = a.b
-     * ^ range
-     * ^^^ enclosing_range
-     * const b = a.b(41).f(42).g(43)
-     * ^ range
-     * ^^^^^^^^^^^^^ enclosing_range
-     * ```
-     * 
- * - * repeated int32 enclosing_range = 7 [json_name = "enclosingRange"]; - * @return The count of enclosingRange. - */ - public int getEnclosingRangeCount() { - return enclosingRange_.size(); - } - /** - *
-     * (optional) Using the same encoding as the sibling `range` field, half-open
-     * source range of the nearest non-trivial enclosing AST node. This range must
-     * enclose the `range` field. Example applications that make use of the
-     * enclosing_range field:
-     *
-     * - Call hierarchies: to determine what symbols are references from the body
-     * of a function
-     * - Symbol outline: to display breadcrumbs from the cursor position to the
-     * root of the file
-     * - Expand selection: to select the nearest enclosing AST node.
-     * - Highlight range: to indicate the AST expression that is associated with a
-     * hover popover
-     *
-     * For definition occurrences, the enclosing range should indicate the
-     * start/end bounds of the entire definition AST node, including
-     * documentation.
-     * ```
-     * const n = 3
-     * ^ range
-     * ^^^^^^^^^^^ enclosing_range
-     *
-     * /** Parses the string into something */
-     * ^ enclosing_range start --------------------------------------|
-     * function parse(input string): string {                        |
-     * ^^^^^ range                                          |
-     * return input.slice(n)                                     |
-     * }                                                             |
-     * ^ enclosing_range end <---------------------------------------|
-     * ```
-     *
-     * Any attributes/decorators/attached macros should also be part of the
-     * enclosing range.
-     *
-     * ```python
-     * @cache
-     * ^ enclosing_range start---------------------|
-     * def factorial(n):                           |
-     * return n * factorial(n-1) if n else 1   |
-     * < enclosing_range end-----------------------|
-     *
-     * ```
-     *
-     * For reference occurrences, the enclosing range should indicate the start/end
-     * bounds of the parent expression.
-     * ```
-     * const a = a.b
-     * ^ range
-     * ^^^ enclosing_range
-     * const b = a.b(41).f(42).g(43)
-     * ^ range
-     * ^^^^^^^^^^^^^ enclosing_range
-     * ```
-     * 
- * - * repeated int32 enclosing_range = 7 [json_name = "enclosingRange"]; - * @param index The index of the element to return. - * @return The enclosingRange at the given index. - */ - public int getEnclosingRange(int index) { - return enclosingRange_.getInt(index); - } - private int enclosingRangeMemoizedSerializedSize = -1; - - 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 { - getSerializedSize(); - if (getRangeList().size() > 0) { - output.writeUInt32NoTag(10); - output.writeUInt32NoTag(rangeMemoizedSerializedSize); - } - for (int i = 0; i < range_.size(); i++) { - output.writeInt32NoTag(range_.getInt(i)); - } - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(symbol_)) { - com.google.protobuf.GeneratedMessage.writeString(output, 2, symbol_); - } - if (symbolRoles_ != 0) { - output.writeInt32(3, symbolRoles_); - } - for (int i = 0; i < overrideDocumentation_.size(); i++) { - com.google.protobuf.GeneratedMessage.writeString(output, 4, overrideDocumentation_.getRaw(i)); - } - if (syntaxKind_ != scip.Scip.SyntaxKind.UnspecifiedSyntaxKind.getNumber()) { - output.writeEnum(5, syntaxKind_); - } - for (int i = 0; i < diagnostics_.size(); i++) { - output.writeMessage(6, diagnostics_.get(i)); - } - if (getEnclosingRangeList().size() > 0) { - output.writeUInt32NoTag(58); - output.writeUInt32NoTag(enclosingRangeMemoizedSerializedSize); - } - for (int i = 0; i < enclosingRange_.size(); i++) { - output.writeInt32NoTag(enclosingRange_.getInt(i)); - } - getUnknownFields().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 < range_.size(); i++) { - dataSize += com.google.protobuf.CodedOutputStream - .computeInt32SizeNoTag(range_.getInt(i)); - } - size += dataSize; - if (!getRangeList().isEmpty()) { - size += 1; - size += com.google.protobuf.CodedOutputStream - .computeInt32SizeNoTag(dataSize); - } - rangeMemoizedSerializedSize = dataSize; - } - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(symbol_)) { - size += com.google.protobuf.GeneratedMessage.computeStringSize(2, symbol_); - } - if (symbolRoles_ != 0) { - size += com.google.protobuf.CodedOutputStream - .computeInt32Size(3, symbolRoles_); - } - { - int dataSize = 0; - for (int i = 0; i < overrideDocumentation_.size(); i++) { - dataSize += computeStringSizeNoTag(overrideDocumentation_.getRaw(i)); - } - size += dataSize; - size += 1 * getOverrideDocumentationList().size(); - } - if (syntaxKind_ != scip.Scip.SyntaxKind.UnspecifiedSyntaxKind.getNumber()) { - size += com.google.protobuf.CodedOutputStream - .computeEnumSize(5, syntaxKind_); - } - for (int i = 0; i < diagnostics_.size(); i++) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(6, diagnostics_.get(i)); - } - { - int dataSize = 0; - for (int i = 0; i < enclosingRange_.size(); i++) { - dataSize += com.google.protobuf.CodedOutputStream - .computeInt32SizeNoTag(enclosingRange_.getInt(i)); - } - size += dataSize; - if (!getEnclosingRangeList().isEmpty()) { - size += 1; - size += com.google.protobuf.CodedOutputStream - .computeInt32SizeNoTag(dataSize); - } - enclosingRangeMemoizedSerializedSize = dataSize; - } - size += getUnknownFields().getSerializedSize(); - memoizedSize = size; - return size; - } - - @java.lang.Override - public boolean equals(final java.lang.Object obj) { - if (obj == this) { - return true; - } - if (!(obj instanceof scip.Scip.Occurrence)) { - return super.equals(obj); - } - scip.Scip.Occurrence other = (scip.Scip.Occurrence) obj; - - if (!getRangeList() - .equals(other.getRangeList())) return false; - if (!getSymbol() - .equals(other.getSymbol())) return false; - if (getSymbolRoles() - != other.getSymbolRoles()) return false; - if (!getOverrideDocumentationList() - .equals(other.getOverrideDocumentationList())) return false; - if (syntaxKind_ != other.syntaxKind_) return false; - if (!getDiagnosticsList() - .equals(other.getDiagnosticsList())) return false; - if (!getEnclosingRangeList() - .equals(other.getEnclosingRangeList())) return false; - if (!getUnknownFields().equals(other.getUnknownFields())) return false; - return true; - } - - @java.lang.Override - public int hashCode() { - if (memoizedHashCode != 0) { - return memoizedHashCode; - } - int hash = 41; - hash = (19 * hash) + getDescriptor().hashCode(); - if (getRangeCount() > 0) { - hash = (37 * hash) + RANGE_FIELD_NUMBER; - hash = (53 * hash) + getRangeList().hashCode(); - } - hash = (37 * hash) + SYMBOL_FIELD_NUMBER; - hash = (53 * hash) + getSymbol().hashCode(); - hash = (37 * hash) + SYMBOL_ROLES_FIELD_NUMBER; - hash = (53 * hash) + getSymbolRoles(); - if (getOverrideDocumentationCount() > 0) { - hash = (37 * hash) + OVERRIDE_DOCUMENTATION_FIELD_NUMBER; - hash = (53 * hash) + getOverrideDocumentationList().hashCode(); - } - hash = (37 * hash) + SYNTAX_KIND_FIELD_NUMBER; - hash = (53 * hash) + syntaxKind_; - if (getDiagnosticsCount() > 0) { - hash = (37 * hash) + DIAGNOSTICS_FIELD_NUMBER; - hash = (53 * hash) + getDiagnosticsList().hashCode(); - } - if (getEnclosingRangeCount() > 0) { - hash = (37 * hash) + ENCLOSING_RANGE_FIELD_NUMBER; - hash = (53 * hash) + getEnclosingRangeList().hashCode(); - } - hash = (29 * hash) + getUnknownFields().hashCode(); - memoizedHashCode = hash; - return hash; - } - - public static scip.Scip.Occurrence parseFrom( - java.nio.ByteBuffer data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static scip.Scip.Occurrence parseFrom( - java.nio.ByteBuffer data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static scip.Scip.Occurrence parseFrom( - com.google.protobuf.ByteString data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static scip.Scip.Occurrence parseFrom( - com.google.protobuf.ByteString data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static scip.Scip.Occurrence parseFrom(byte[] data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static scip.Scip.Occurrence parseFrom( - byte[] data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static scip.Scip.Occurrence parseFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input); - } - public static scip.Scip.Occurrence parseFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input, extensionRegistry); - } - - public static scip.Scip.Occurrence parseDelimitedFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseDelimitedWithIOException(PARSER, input); - } - - public static scip.Scip.Occurrence parseDelimitedFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseDelimitedWithIOException(PARSER, input, extensionRegistry); - } - public static scip.Scip.Occurrence parseFrom( - com.google.protobuf.CodedInputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input); - } - public static scip.Scip.Occurrence parseFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input, extensionRegistry); - } - - @java.lang.Override - public Builder newBuilderForType() { return newBuilder(); } - public static Builder newBuilder() { - return DEFAULT_INSTANCE.toBuilder(); - } - public static Builder newBuilder(scip.Scip.Occurrence 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.GeneratedMessage.BuilderParent parent) { - Builder builder = new Builder(parent); - return builder; - } - /** - *
-     * Occurrence associates a source position with a symbol and/or highlighting
-     * information.
-     *
-     * If possible, indexers should try to bundle logically related information
-     * across occurrences into a single occurrence to reduce payload sizes.
-     * 
- * - * Protobuf type {@code scip.Occurrence} - */ - public static final class Builder extends - com.google.protobuf.GeneratedMessage.Builder implements - // @@protoc_insertion_point(builder_implements:scip.Occurrence) - scip.Scip.OccurrenceOrBuilder { - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return scip.Scip.internal_static_scip_Occurrence_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessage.FieldAccessorTable - internalGetFieldAccessorTable() { - return scip.Scip.internal_static_scip_Occurrence_fieldAccessorTable - .ensureFieldAccessorsInitialized( - scip.Scip.Occurrence.class, scip.Scip.Occurrence.Builder.class); - } - - // Construct using scip.Scip.Occurrence.newBuilder() - private Builder() { - - } - - private Builder( - com.google.protobuf.GeneratedMessage.BuilderParent parent) { - super(parent); - - } - @java.lang.Override - public Builder clear() { - super.clear(); - bitField0_ = 0; - range_ = emptyIntList(); - symbol_ = ""; - symbolRoles_ = 0; - overrideDocumentation_ = - com.google.protobuf.LazyStringArrayList.emptyList(); - syntaxKind_ = 0; - if (diagnosticsBuilder_ == null) { - diagnostics_ = java.util.Collections.emptyList(); - } else { - diagnostics_ = null; - diagnosticsBuilder_.clear(); - } - bitField0_ = (bitField0_ & ~0x00000020); - enclosingRange_ = emptyIntList(); - return this; - } - - @java.lang.Override - public com.google.protobuf.Descriptors.Descriptor - getDescriptorForType() { - return scip.Scip.internal_static_scip_Occurrence_descriptor; - } - - @java.lang.Override - public scip.Scip.Occurrence getDefaultInstanceForType() { - return scip.Scip.Occurrence.getDefaultInstance(); - } - - @java.lang.Override - public scip.Scip.Occurrence build() { - scip.Scip.Occurrence result = buildPartial(); - if (!result.isInitialized()) { - throw newUninitializedMessageException(result); - } - return result; - } - - @java.lang.Override - public scip.Scip.Occurrence buildPartial() { - scip.Scip.Occurrence result = new scip.Scip.Occurrence(this); - buildPartialRepeatedFields(result); - if (bitField0_ != 0) { buildPartial0(result); } - onBuilt(); - return result; - } - - private void buildPartialRepeatedFields(scip.Scip.Occurrence result) { - if (diagnosticsBuilder_ == null) { - if (((bitField0_ & 0x00000020) != 0)) { - diagnostics_ = java.util.Collections.unmodifiableList(diagnostics_); - bitField0_ = (bitField0_ & ~0x00000020); - } - result.diagnostics_ = diagnostics_; - } else { - result.diagnostics_ = diagnosticsBuilder_.build(); - } - } - - private void buildPartial0(scip.Scip.Occurrence result) { - int from_bitField0_ = bitField0_; - if (((from_bitField0_ & 0x00000001) != 0)) { - range_.makeImmutable(); - result.range_ = range_; - } - if (((from_bitField0_ & 0x00000002) != 0)) { - result.symbol_ = symbol_; - } - if (((from_bitField0_ & 0x00000004) != 0)) { - result.symbolRoles_ = symbolRoles_; - } - if (((from_bitField0_ & 0x00000008) != 0)) { - overrideDocumentation_.makeImmutable(); - result.overrideDocumentation_ = overrideDocumentation_; - } - if (((from_bitField0_ & 0x00000010) != 0)) { - result.syntaxKind_ = syntaxKind_; - } - if (((from_bitField0_ & 0x00000040) != 0)) { - enclosingRange_.makeImmutable(); - result.enclosingRange_ = enclosingRange_; - } - } - - @java.lang.Override - public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof scip.Scip.Occurrence) { - return mergeFrom((scip.Scip.Occurrence)other); - } else { - super.mergeFrom(other); - return this; - } - } - - public Builder mergeFrom(scip.Scip.Occurrence other) { - if (other == scip.Scip.Occurrence.getDefaultInstance()) return this; - if (!other.range_.isEmpty()) { - if (range_.isEmpty()) { - range_ = other.range_; - range_.makeImmutable(); - bitField0_ |= 0x00000001; - } else { - ensureRangeIsMutable(); - range_.addAll(other.range_); - } - onChanged(); - } - if (!other.getSymbol().isEmpty()) { - symbol_ = other.symbol_; - bitField0_ |= 0x00000002; - onChanged(); - } - if (other.getSymbolRoles() != 0) { - setSymbolRoles(other.getSymbolRoles()); - } - if (!other.overrideDocumentation_.isEmpty()) { - if (overrideDocumentation_.isEmpty()) { - overrideDocumentation_ = other.overrideDocumentation_; - bitField0_ |= 0x00000008; - } else { - ensureOverrideDocumentationIsMutable(); - overrideDocumentation_.addAll(other.overrideDocumentation_); - } - onChanged(); - } - if (other.syntaxKind_ != 0) { - setSyntaxKindValue(other.getSyntaxKindValue()); - } - if (diagnosticsBuilder_ == null) { - if (!other.diagnostics_.isEmpty()) { - if (diagnostics_.isEmpty()) { - diagnostics_ = other.diagnostics_; - bitField0_ = (bitField0_ & ~0x00000020); - } else { - ensureDiagnosticsIsMutable(); - diagnostics_.addAll(other.diagnostics_); - } - onChanged(); - } - } else { - if (!other.diagnostics_.isEmpty()) { - if (diagnosticsBuilder_.isEmpty()) { - diagnosticsBuilder_.dispose(); - diagnosticsBuilder_ = null; - diagnostics_ = other.diagnostics_; - bitField0_ = (bitField0_ & ~0x00000020); - diagnosticsBuilder_ = - com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ? - internalGetDiagnosticsFieldBuilder() : null; - } else { - diagnosticsBuilder_.addAllMessages(other.diagnostics_); - } - } - } - if (!other.enclosingRange_.isEmpty()) { - if (enclosingRange_.isEmpty()) { - enclosingRange_ = other.enclosingRange_; - enclosingRange_.makeImmutable(); - bitField0_ |= 0x00000040; - } else { - ensureEnclosingRangeIsMutable(); - enclosingRange_.addAll(other.enclosingRange_); - } - onChanged(); - } - this.mergeUnknownFields(other.getUnknownFields()); - 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 { - if (extensionRegistry == null) { - throw new java.lang.NullPointerException(); - } - try { - boolean done = false; - while (!done) { - int tag = input.readTag(); - switch (tag) { - case 0: - done = true; - break; - case 8: { - int v = input.readInt32(); - ensureRangeIsMutable(); - range_.addInt(v); - break; - } // case 8 - case 10: { - int length = input.readRawVarint32(); - int limit = input.pushLimit(length); - ensureRangeIsMutable(); - while (input.getBytesUntilLimit() > 0) { - range_.addInt(input.readInt32()); - } - input.popLimit(limit); - break; - } // case 10 - case 18: { - symbol_ = input.readStringRequireUtf8(); - bitField0_ |= 0x00000002; - break; - } // case 18 - case 24: { - symbolRoles_ = input.readInt32(); - bitField0_ |= 0x00000004; - break; - } // case 24 - case 34: { - java.lang.String s = input.readStringRequireUtf8(); - ensureOverrideDocumentationIsMutable(); - overrideDocumentation_.add(s); - break; - } // case 34 - case 40: { - syntaxKind_ = input.readEnum(); - bitField0_ |= 0x00000010; - break; - } // case 40 - case 50: { - scip.Scip.Diagnostic m = - input.readMessage( - scip.Scip.Diagnostic.parser(), - extensionRegistry); - if (diagnosticsBuilder_ == null) { - ensureDiagnosticsIsMutable(); - diagnostics_.add(m); - } else { - diagnosticsBuilder_.addMessage(m); - } - break; - } // case 50 - case 56: { - int v = input.readInt32(); - ensureEnclosingRangeIsMutable(); - enclosingRange_.addInt(v); - break; - } // case 56 - case 58: { - int length = input.readRawVarint32(); - int limit = input.pushLimit(length); - ensureEnclosingRangeIsMutable(); - while (input.getBytesUntilLimit() > 0) { - enclosingRange_.addInt(input.readInt32()); - } - input.popLimit(limit); - break; - } // case 58 - default: { - if (!super.parseUnknownField(input, extensionRegistry, tag)) { - done = true; // was an endgroup tag - } - break; - } // default: - } // switch (tag) - } // while (!done) - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.unwrapIOException(); - } finally { - onChanged(); - } // finally - return this; - } - private int bitField0_; - - private com.google.protobuf.Internal.IntList range_ = emptyIntList(); - private void ensureRangeIsMutable() { - if (!range_.isModifiable()) { - range_ = makeMutableCopy(range_); - } - bitField0_ |= 0x00000001; - } - /** - *
-       * Half-open [start, end) range of this occurrence. Must be exactly three or four
-       * elements:
-       *
-       * - Four elements: `[startLine, startCharacter, endLine, endCharacter]`
-       * - Three elements: `[startLine, startCharacter, endCharacter]`. The end line
-       * is inferred to have the same value as the start line.
-       *
-       * It is allowed for the range to be empty (i.e. start==end).
-       *
-       * Line numbers and characters are always 0-based. Make sure to increment the
-       * line/character values before displaying them in an editor-like UI because
-       * editors conventionally use 1-based numbers.
-       *
-       * The 'character' value is interpreted based on the PositionEncoding for
-       * the Document.
-       *
-       * Historical note: the original draft of this schema had a `Range` message
-       * type with `start` and `end` fields of type `Position`, mirroring LSP.
-       * Benchmarks revealed that this encoding was inefficient and that we could
-       * reduce the total payload size of an index by 50% by using `repeated int32`
-       * instead. The `repeated int32` encoding is admittedly more embarrassing to
-       * work with in some programming languages but we hope the performance
-       * improvements make up for it.
-       * 
- * - * repeated int32 range = 1 [json_name = "range"]; - * @return A list containing the range. - */ - public java.util.List - getRangeList() { - range_.makeImmutable(); - return range_; - } - /** - *
-       * Half-open [start, end) range of this occurrence. Must be exactly three or four
-       * elements:
-       *
-       * - Four elements: `[startLine, startCharacter, endLine, endCharacter]`
-       * - Three elements: `[startLine, startCharacter, endCharacter]`. The end line
-       * is inferred to have the same value as the start line.
-       *
-       * It is allowed for the range to be empty (i.e. start==end).
-       *
-       * Line numbers and characters are always 0-based. Make sure to increment the
-       * line/character values before displaying them in an editor-like UI because
-       * editors conventionally use 1-based numbers.
-       *
-       * The 'character' value is interpreted based on the PositionEncoding for
-       * the Document.
-       *
-       * Historical note: the original draft of this schema had a `Range` message
-       * type with `start` and `end` fields of type `Position`, mirroring LSP.
-       * Benchmarks revealed that this encoding was inefficient and that we could
-       * reduce the total payload size of an index by 50% by using `repeated int32`
-       * instead. The `repeated int32` encoding is admittedly more embarrassing to
-       * work with in some programming languages but we hope the performance
-       * improvements make up for it.
-       * 
- * - * repeated int32 range = 1 [json_name = "range"]; - * @return The count of range. - */ - public int getRangeCount() { - return range_.size(); - } - /** - *
-       * Half-open [start, end) range of this occurrence. Must be exactly three or four
-       * elements:
-       *
-       * - Four elements: `[startLine, startCharacter, endLine, endCharacter]`
-       * - Three elements: `[startLine, startCharacter, endCharacter]`. The end line
-       * is inferred to have the same value as the start line.
-       *
-       * It is allowed for the range to be empty (i.e. start==end).
-       *
-       * Line numbers and characters are always 0-based. Make sure to increment the
-       * line/character values before displaying them in an editor-like UI because
-       * editors conventionally use 1-based numbers.
-       *
-       * The 'character' value is interpreted based on the PositionEncoding for
-       * the Document.
-       *
-       * Historical note: the original draft of this schema had a `Range` message
-       * type with `start` and `end` fields of type `Position`, mirroring LSP.
-       * Benchmarks revealed that this encoding was inefficient and that we could
-       * reduce the total payload size of an index by 50% by using `repeated int32`
-       * instead. The `repeated int32` encoding is admittedly more embarrassing to
-       * work with in some programming languages but we hope the performance
-       * improvements make up for it.
-       * 
- * - * repeated int32 range = 1 [json_name = "range"]; - * @param index The index of the element to return. - * @return The range at the given index. - */ - public int getRange(int index) { - return range_.getInt(index); - } - /** - *
-       * Half-open [start, end) range of this occurrence. Must be exactly three or four
-       * elements:
-       *
-       * - Four elements: `[startLine, startCharacter, endLine, endCharacter]`
-       * - Three elements: `[startLine, startCharacter, endCharacter]`. The end line
-       * is inferred to have the same value as the start line.
-       *
-       * It is allowed for the range to be empty (i.e. start==end).
-       *
-       * Line numbers and characters are always 0-based. Make sure to increment the
-       * line/character values before displaying them in an editor-like UI because
-       * editors conventionally use 1-based numbers.
-       *
-       * The 'character' value is interpreted based on the PositionEncoding for
-       * the Document.
-       *
-       * Historical note: the original draft of this schema had a `Range` message
-       * type with `start` and `end` fields of type `Position`, mirroring LSP.
-       * Benchmarks revealed that this encoding was inefficient and that we could
-       * reduce the total payload size of an index by 50% by using `repeated int32`
-       * instead. The `repeated int32` encoding is admittedly more embarrassing to
-       * work with in some programming languages but we hope the performance
-       * improvements make up for it.
-       * 
- * - * repeated int32 range = 1 [json_name = "range"]; - * @param index The index to set the value at. - * @param value The range to set. - * @return This builder for chaining. - */ - public Builder setRange( - int index, int value) { - - ensureRangeIsMutable(); - range_.setInt(index, value); - bitField0_ |= 0x00000001; - onChanged(); - return this; - } - /** - *
-       * Half-open [start, end) range of this occurrence. Must be exactly three or four
-       * elements:
-       *
-       * - Four elements: `[startLine, startCharacter, endLine, endCharacter]`
-       * - Three elements: `[startLine, startCharacter, endCharacter]`. The end line
-       * is inferred to have the same value as the start line.
-       *
-       * It is allowed for the range to be empty (i.e. start==end).
-       *
-       * Line numbers and characters are always 0-based. Make sure to increment the
-       * line/character values before displaying them in an editor-like UI because
-       * editors conventionally use 1-based numbers.
-       *
-       * The 'character' value is interpreted based on the PositionEncoding for
-       * the Document.
-       *
-       * Historical note: the original draft of this schema had a `Range` message
-       * type with `start` and `end` fields of type `Position`, mirroring LSP.
-       * Benchmarks revealed that this encoding was inefficient and that we could
-       * reduce the total payload size of an index by 50% by using `repeated int32`
-       * instead. The `repeated int32` encoding is admittedly more embarrassing to
-       * work with in some programming languages but we hope the performance
-       * improvements make up for it.
-       * 
- * - * repeated int32 range = 1 [json_name = "range"]; - * @param value The range to add. - * @return This builder for chaining. - */ - public Builder addRange(int value) { - - ensureRangeIsMutable(); - range_.addInt(value); - bitField0_ |= 0x00000001; - onChanged(); - return this; - } - /** - *
-       * Half-open [start, end) range of this occurrence. Must be exactly three or four
-       * elements:
-       *
-       * - Four elements: `[startLine, startCharacter, endLine, endCharacter]`
-       * - Three elements: `[startLine, startCharacter, endCharacter]`. The end line
-       * is inferred to have the same value as the start line.
-       *
-       * It is allowed for the range to be empty (i.e. start==end).
-       *
-       * Line numbers and characters are always 0-based. Make sure to increment the
-       * line/character values before displaying them in an editor-like UI because
-       * editors conventionally use 1-based numbers.
-       *
-       * The 'character' value is interpreted based on the PositionEncoding for
-       * the Document.
-       *
-       * Historical note: the original draft of this schema had a `Range` message
-       * type with `start` and `end` fields of type `Position`, mirroring LSP.
-       * Benchmarks revealed that this encoding was inefficient and that we could
-       * reduce the total payload size of an index by 50% by using `repeated int32`
-       * instead. The `repeated int32` encoding is admittedly more embarrassing to
-       * work with in some programming languages but we hope the performance
-       * improvements make up for it.
-       * 
- * - * repeated int32 range = 1 [json_name = "range"]; - * @param values The range to add. - * @return This builder for chaining. - */ - public Builder addAllRange( - java.lang.Iterable values) { - ensureRangeIsMutable(); - com.google.protobuf.AbstractMessageLite.Builder.addAll( - values, range_); - bitField0_ |= 0x00000001; - onChanged(); - return this; - } - /** - *
-       * Half-open [start, end) range of this occurrence. Must be exactly three or four
-       * elements:
-       *
-       * - Four elements: `[startLine, startCharacter, endLine, endCharacter]`
-       * - Three elements: `[startLine, startCharacter, endCharacter]`. The end line
-       * is inferred to have the same value as the start line.
-       *
-       * It is allowed for the range to be empty (i.e. start==end).
-       *
-       * Line numbers and characters are always 0-based. Make sure to increment the
-       * line/character values before displaying them in an editor-like UI because
-       * editors conventionally use 1-based numbers.
-       *
-       * The 'character' value is interpreted based on the PositionEncoding for
-       * the Document.
-       *
-       * Historical note: the original draft of this schema had a `Range` message
-       * type with `start` and `end` fields of type `Position`, mirroring LSP.
-       * Benchmarks revealed that this encoding was inefficient and that we could
-       * reduce the total payload size of an index by 50% by using `repeated int32`
-       * instead. The `repeated int32` encoding is admittedly more embarrassing to
-       * work with in some programming languages but we hope the performance
-       * improvements make up for it.
-       * 
- * - * repeated int32 range = 1 [json_name = "range"]; - * @return This builder for chaining. - */ - public Builder clearRange() { - range_ = emptyIntList(); - bitField0_ = (bitField0_ & ~0x00000001); - onChanged(); - return this; - } - - private java.lang.Object symbol_ = ""; - /** - *
-       * (optional) The symbol that appears at this position. See
-       * `SymbolInformation.symbol` for how to format symbols as strings.
-       * 
- * - * string symbol = 2 [json_name = "symbol"]; - * @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; - } - } - /** - *
-       * (optional) The symbol that appears at this position. See
-       * `SymbolInformation.symbol` for how to format symbols as strings.
-       * 
- * - * string symbol = 2 [json_name = "symbol"]; - * @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; - } - } - /** - *
-       * (optional) The symbol that appears at this position. See
-       * `SymbolInformation.symbol` for how to format symbols as strings.
-       * 
- * - * string symbol = 2 [json_name = "symbol"]; - * @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; - bitField0_ |= 0x00000002; - onChanged(); - return this; - } - /** - *
-       * (optional) The symbol that appears at this position. See
-       * `SymbolInformation.symbol` for how to format symbols as strings.
-       * 
- * - * string symbol = 2 [json_name = "symbol"]; - * @return This builder for chaining. - */ - public Builder clearSymbol() { - symbol_ = getDefaultInstance().getSymbol(); - bitField0_ = (bitField0_ & ~0x00000002); - onChanged(); - return this; - } - /** - *
-       * (optional) The symbol that appears at this position. See
-       * `SymbolInformation.symbol` for how to format symbols as strings.
-       * 
- * - * string symbol = 2 [json_name = "symbol"]; - * @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; - bitField0_ |= 0x00000002; - onChanged(); - return this; - } - - private int symbolRoles_ ; - /** - *
-       * (optional) Bitset containing `SymbolRole`s in this occurrence.
-       * See `SymbolRole`'s documentation for how to read and write this field.
-       * 
- * - * int32 symbol_roles = 3 [json_name = "symbolRoles"]; - * @return The symbolRoles. - */ - @java.lang.Override - public int getSymbolRoles() { - return symbolRoles_; - } - /** - *
-       * (optional) Bitset containing `SymbolRole`s in this occurrence.
-       * See `SymbolRole`'s documentation for how to read and write this field.
-       * 
- * - * int32 symbol_roles = 3 [json_name = "symbolRoles"]; - * @param value The symbolRoles to set. - * @return This builder for chaining. - */ - public Builder setSymbolRoles(int value) { - - symbolRoles_ = value; - bitField0_ |= 0x00000004; - onChanged(); - return this; - } - /** - *
-       * (optional) Bitset containing `SymbolRole`s in this occurrence.
-       * See `SymbolRole`'s documentation for how to read and write this field.
-       * 
- * - * int32 symbol_roles = 3 [json_name = "symbolRoles"]; - * @return This builder for chaining. - */ - public Builder clearSymbolRoles() { - bitField0_ = (bitField0_ & ~0x00000004); - symbolRoles_ = 0; - onChanged(); - return this; - } - - private com.google.protobuf.LazyStringArrayList overrideDocumentation_ = - com.google.protobuf.LazyStringArrayList.emptyList(); - private void ensureOverrideDocumentationIsMutable() { - if (!overrideDocumentation_.isModifiable()) { - overrideDocumentation_ = new com.google.protobuf.LazyStringArrayList(overrideDocumentation_); - } - bitField0_ |= 0x00000008; - } - /** - *
-       * (optional) CommonMark-formatted documentation for this specific range. If
-       * empty, the `Symbol.documentation` field is used instead. One example
-       * where this field might be useful is when the symbol represents a generic
-       * function (with abstract type parameters such as `List<T>`) and at this
-       * occurrence we know the exact values (such as `List<String>`).
-       *
-       * This field can also be used for dynamically or gradually typed languages,
-       * which commonly allow for type-changing assignment.
-       * 
- * - * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; - * @return A list containing the overrideDocumentation. - */ - public com.google.protobuf.ProtocolStringList - getOverrideDocumentationList() { - overrideDocumentation_.makeImmutable(); - return overrideDocumentation_; - } - /** - *
-       * (optional) CommonMark-formatted documentation for this specific range. If
-       * empty, the `Symbol.documentation` field is used instead. One example
-       * where this field might be useful is when the symbol represents a generic
-       * function (with abstract type parameters such as `List<T>`) and at this
-       * occurrence we know the exact values (such as `List<String>`).
-       *
-       * This field can also be used for dynamically or gradually typed languages,
-       * which commonly allow for type-changing assignment.
-       * 
- * - * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; - * @return The count of overrideDocumentation. - */ - public int getOverrideDocumentationCount() { - return overrideDocumentation_.size(); - } - /** - *
-       * (optional) CommonMark-formatted documentation for this specific range. If
-       * empty, the `Symbol.documentation` field is used instead. One example
-       * where this field might be useful is when the symbol represents a generic
-       * function (with abstract type parameters such as `List<T>`) and at this
-       * occurrence we know the exact values (such as `List<String>`).
-       *
-       * This field can also be used for dynamically or gradually typed languages,
-       * which commonly allow for type-changing assignment.
-       * 
- * - * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; - * @param index The index of the element to return. - * @return The overrideDocumentation at the given index. - */ - public java.lang.String getOverrideDocumentation(int index) { - return overrideDocumentation_.get(index); - } - /** - *
-       * (optional) CommonMark-formatted documentation for this specific range. If
-       * empty, the `Symbol.documentation` field is used instead. One example
-       * where this field might be useful is when the symbol represents a generic
-       * function (with abstract type parameters such as `List<T>`) and at this
-       * occurrence we know the exact values (such as `List<String>`).
-       *
-       * This field can also be used for dynamically or gradually typed languages,
-       * which commonly allow for type-changing assignment.
-       * 
- * - * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; - * @param index The index of the value to return. - * @return The bytes of the overrideDocumentation at the given index. - */ - public com.google.protobuf.ByteString - getOverrideDocumentationBytes(int index) { - return overrideDocumentation_.getByteString(index); - } - /** - *
-       * (optional) CommonMark-formatted documentation for this specific range. If
-       * empty, the `Symbol.documentation` field is used instead. One example
-       * where this field might be useful is when the symbol represents a generic
-       * function (with abstract type parameters such as `List<T>`) and at this
-       * occurrence we know the exact values (such as `List<String>`).
-       *
-       * This field can also be used for dynamically or gradually typed languages,
-       * which commonly allow for type-changing assignment.
-       * 
- * - * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; - * @param index The index to set the value at. - * @param value The overrideDocumentation to set. - * @return This builder for chaining. - */ - public Builder setOverrideDocumentation( - int index, java.lang.String value) { - if (value == null) { throw new NullPointerException(); } - ensureOverrideDocumentationIsMutable(); - overrideDocumentation_.set(index, value); - bitField0_ |= 0x00000008; - onChanged(); - return this; - } - /** - *
-       * (optional) CommonMark-formatted documentation for this specific range. If
-       * empty, the `Symbol.documentation` field is used instead. One example
-       * where this field might be useful is when the symbol represents a generic
-       * function (with abstract type parameters such as `List<T>`) and at this
-       * occurrence we know the exact values (such as `List<String>`).
-       *
-       * This field can also be used for dynamically or gradually typed languages,
-       * which commonly allow for type-changing assignment.
-       * 
- * - * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; - * @param value The overrideDocumentation to add. - * @return This builder for chaining. - */ - public Builder addOverrideDocumentation( - java.lang.String value) { - if (value == null) { throw new NullPointerException(); } - ensureOverrideDocumentationIsMutable(); - overrideDocumentation_.add(value); - bitField0_ |= 0x00000008; - onChanged(); - return this; - } - /** - *
-       * (optional) CommonMark-formatted documentation for this specific range. If
-       * empty, the `Symbol.documentation` field is used instead. One example
-       * where this field might be useful is when the symbol represents a generic
-       * function (with abstract type parameters such as `List<T>`) and at this
-       * occurrence we know the exact values (such as `List<String>`).
-       *
-       * This field can also be used for dynamically or gradually typed languages,
-       * which commonly allow for type-changing assignment.
-       * 
- * - * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; - * @param values The overrideDocumentation to add. - * @return This builder for chaining. - */ - public Builder addAllOverrideDocumentation( - java.lang.Iterable values) { - ensureOverrideDocumentationIsMutable(); - com.google.protobuf.AbstractMessageLite.Builder.addAll( - values, overrideDocumentation_); - bitField0_ |= 0x00000008; - onChanged(); - return this; - } - /** - *
-       * (optional) CommonMark-formatted documentation for this specific range. If
-       * empty, the `Symbol.documentation` field is used instead. One example
-       * where this field might be useful is when the symbol represents a generic
-       * function (with abstract type parameters such as `List<T>`) and at this
-       * occurrence we know the exact values (such as `List<String>`).
-       *
-       * This field can also be used for dynamically or gradually typed languages,
-       * which commonly allow for type-changing assignment.
-       * 
- * - * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; - * @return This builder for chaining. - */ - public Builder clearOverrideDocumentation() { - overrideDocumentation_ = - com.google.protobuf.LazyStringArrayList.emptyList(); - bitField0_ = (bitField0_ & ~0x00000008);; - onChanged(); - return this; - } - /** - *
-       * (optional) CommonMark-formatted documentation for this specific range. If
-       * empty, the `Symbol.documentation` field is used instead. One example
-       * where this field might be useful is when the symbol represents a generic
-       * function (with abstract type parameters such as `List<T>`) and at this
-       * occurrence we know the exact values (such as `List<String>`).
-       *
-       * This field can also be used for dynamically or gradually typed languages,
-       * which commonly allow for type-changing assignment.
-       * 
- * - * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; - * @param value The bytes of the overrideDocumentation to add. - * @return This builder for chaining. - */ - public Builder addOverrideDocumentationBytes( - com.google.protobuf.ByteString value) { - if (value == null) { throw new NullPointerException(); } - checkByteStringIsUtf8(value); - ensureOverrideDocumentationIsMutable(); - overrideDocumentation_.add(value); - bitField0_ |= 0x00000008; - onChanged(); - return this; - } - - private int syntaxKind_ = 0; - /** - *
-       * (optional) What syntax highlighting class should be used for this range?
-       * 
- * - * .scip.SyntaxKind syntax_kind = 5 [json_name = "syntaxKind"]; - * @return The enum numeric value on the wire for syntaxKind. - */ - @java.lang.Override public int getSyntaxKindValue() { - return syntaxKind_; - } - /** - *
-       * (optional) What syntax highlighting class should be used for this range?
-       * 
- * - * .scip.SyntaxKind syntax_kind = 5 [json_name = "syntaxKind"]; - * @param value The enum numeric value on the wire for syntaxKind to set. - * @return This builder for chaining. - */ - public Builder setSyntaxKindValue(int value) { - syntaxKind_ = value; - bitField0_ |= 0x00000010; - onChanged(); - return this; - } - /** - *
-       * (optional) What syntax highlighting class should be used for this range?
-       * 
- * - * .scip.SyntaxKind syntax_kind = 5 [json_name = "syntaxKind"]; - * @return The syntaxKind. - */ - @java.lang.Override - public scip.Scip.SyntaxKind getSyntaxKind() { - scip.Scip.SyntaxKind result = scip.Scip.SyntaxKind.forNumber(syntaxKind_); - return result == null ? scip.Scip.SyntaxKind.UNRECOGNIZED : result; - } - /** - *
-       * (optional) What syntax highlighting class should be used for this range?
-       * 
- * - * .scip.SyntaxKind syntax_kind = 5 [json_name = "syntaxKind"]; - * @param value The syntaxKind to set. - * @return This builder for chaining. - */ - public Builder setSyntaxKind(scip.Scip.SyntaxKind value) { - if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000010; - syntaxKind_ = value.getNumber(); - onChanged(); - return this; - } - /** - *
-       * (optional) What syntax highlighting class should be used for this range?
-       * 
- * - * .scip.SyntaxKind syntax_kind = 5 [json_name = "syntaxKind"]; - * @return This builder for chaining. - */ - public Builder clearSyntaxKind() { - bitField0_ = (bitField0_ & ~0x00000010); - syntaxKind_ = 0; - onChanged(); - return this; - } - - private java.util.List diagnostics_ = - java.util.Collections.emptyList(); - private void ensureDiagnosticsIsMutable() { - if (!((bitField0_ & 0x00000020) != 0)) { - diagnostics_ = new java.util.ArrayList(diagnostics_); - bitField0_ |= 0x00000020; - } - } - - private com.google.protobuf.RepeatedFieldBuilder< - scip.Scip.Diagnostic, scip.Scip.Diagnostic.Builder, scip.Scip.DiagnosticOrBuilder> diagnosticsBuilder_; - - /** - *
-       * (optional) Diagnostics that have been reported for this specific range.
-       * 
- * - * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; - */ - public java.util.List getDiagnosticsList() { - if (diagnosticsBuilder_ == null) { - return java.util.Collections.unmodifiableList(diagnostics_); - } else { - return diagnosticsBuilder_.getMessageList(); - } - } - /** - *
-       * (optional) Diagnostics that have been reported for this specific range.
-       * 
- * - * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; - */ - public int getDiagnosticsCount() { - if (diagnosticsBuilder_ == null) { - return diagnostics_.size(); - } else { - return diagnosticsBuilder_.getCount(); - } - } - /** - *
-       * (optional) Diagnostics that have been reported for this specific range.
-       * 
- * - * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; - */ - public scip.Scip.Diagnostic getDiagnostics(int index) { - if (diagnosticsBuilder_ == null) { - return diagnostics_.get(index); - } else { - return diagnosticsBuilder_.getMessage(index); - } - } - /** - *
-       * (optional) Diagnostics that have been reported for this specific range.
-       * 
- * - * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; - */ - public Builder setDiagnostics( - int index, scip.Scip.Diagnostic value) { - if (diagnosticsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureDiagnosticsIsMutable(); - diagnostics_.set(index, value); - onChanged(); - } else { - diagnosticsBuilder_.setMessage(index, value); - } - return this; - } - /** - *
-       * (optional) Diagnostics that have been reported for this specific range.
-       * 
- * - * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; - */ - public Builder setDiagnostics( - int index, scip.Scip.Diagnostic.Builder builderForValue) { - if (diagnosticsBuilder_ == null) { - ensureDiagnosticsIsMutable(); - diagnostics_.set(index, builderForValue.build()); - onChanged(); - } else { - diagnosticsBuilder_.setMessage(index, builderForValue.build()); - } - return this; - } - /** - *
-       * (optional) Diagnostics that have been reported for this specific range.
-       * 
- * - * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; - */ - public Builder addDiagnostics(scip.Scip.Diagnostic value) { - if (diagnosticsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureDiagnosticsIsMutable(); - diagnostics_.add(value); - onChanged(); - } else { - diagnosticsBuilder_.addMessage(value); - } - return this; - } - /** - *
-       * (optional) Diagnostics that have been reported for this specific range.
-       * 
- * - * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; - */ - public Builder addDiagnostics( - int index, scip.Scip.Diagnostic value) { - if (diagnosticsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureDiagnosticsIsMutable(); - diagnostics_.add(index, value); - onChanged(); - } else { - diagnosticsBuilder_.addMessage(index, value); - } - return this; - } - /** - *
-       * (optional) Diagnostics that have been reported for this specific range.
-       * 
- * - * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; - */ - public Builder addDiagnostics( - scip.Scip.Diagnostic.Builder builderForValue) { - if (diagnosticsBuilder_ == null) { - ensureDiagnosticsIsMutable(); - diagnostics_.add(builderForValue.build()); - onChanged(); - } else { - diagnosticsBuilder_.addMessage(builderForValue.build()); - } - return this; - } - /** - *
-       * (optional) Diagnostics that have been reported for this specific range.
-       * 
- * - * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; - */ - public Builder addDiagnostics( - int index, scip.Scip.Diagnostic.Builder builderForValue) { - if (diagnosticsBuilder_ == null) { - ensureDiagnosticsIsMutable(); - diagnostics_.add(index, builderForValue.build()); - onChanged(); - } else { - diagnosticsBuilder_.addMessage(index, builderForValue.build()); - } - return this; - } - /** - *
-       * (optional) Diagnostics that have been reported for this specific range.
-       * 
- * - * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; - */ - public Builder addAllDiagnostics( - java.lang.Iterable values) { - if (diagnosticsBuilder_ == null) { - ensureDiagnosticsIsMutable(); - com.google.protobuf.AbstractMessageLite.Builder.addAll( - values, diagnostics_); - onChanged(); - } else { - diagnosticsBuilder_.addAllMessages(values); - } - return this; - } - /** - *
-       * (optional) Diagnostics that have been reported for this specific range.
-       * 
- * - * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; - */ - public Builder clearDiagnostics() { - if (diagnosticsBuilder_ == null) { - diagnostics_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000020); - onChanged(); - } else { - diagnosticsBuilder_.clear(); - } - return this; - } - /** - *
-       * (optional) Diagnostics that have been reported for this specific range.
-       * 
- * - * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; - */ - public Builder removeDiagnostics(int index) { - if (diagnosticsBuilder_ == null) { - ensureDiagnosticsIsMutable(); - diagnostics_.remove(index); - onChanged(); - } else { - diagnosticsBuilder_.remove(index); - } - return this; - } - /** - *
-       * (optional) Diagnostics that have been reported for this specific range.
-       * 
- * - * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; - */ - public scip.Scip.Diagnostic.Builder getDiagnosticsBuilder( - int index) { - return internalGetDiagnosticsFieldBuilder().getBuilder(index); - } - /** - *
-       * (optional) Diagnostics that have been reported for this specific range.
-       * 
- * - * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; - */ - public scip.Scip.DiagnosticOrBuilder getDiagnosticsOrBuilder( - int index) { - if (diagnosticsBuilder_ == null) { - return diagnostics_.get(index); } else { - return diagnosticsBuilder_.getMessageOrBuilder(index); - } - } - /** - *
-       * (optional) Diagnostics that have been reported for this specific range.
-       * 
- * - * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; - */ - public java.util.List - getDiagnosticsOrBuilderList() { - if (diagnosticsBuilder_ != null) { - return diagnosticsBuilder_.getMessageOrBuilderList(); - } else { - return java.util.Collections.unmodifiableList(diagnostics_); - } - } - /** - *
-       * (optional) Diagnostics that have been reported for this specific range.
-       * 
- * - * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; - */ - public scip.Scip.Diagnostic.Builder addDiagnosticsBuilder() { - return internalGetDiagnosticsFieldBuilder().addBuilder( - scip.Scip.Diagnostic.getDefaultInstance()); - } - /** - *
-       * (optional) Diagnostics that have been reported for this specific range.
-       * 
- * - * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; - */ - public scip.Scip.Diagnostic.Builder addDiagnosticsBuilder( - int index) { - return internalGetDiagnosticsFieldBuilder().addBuilder( - index, scip.Scip.Diagnostic.getDefaultInstance()); - } - /** - *
-       * (optional) Diagnostics that have been reported for this specific range.
-       * 
- * - * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; - */ - public java.util.List - getDiagnosticsBuilderList() { - return internalGetDiagnosticsFieldBuilder().getBuilderList(); - } - private com.google.protobuf.RepeatedFieldBuilder< - scip.Scip.Diagnostic, scip.Scip.Diagnostic.Builder, scip.Scip.DiagnosticOrBuilder> - internalGetDiagnosticsFieldBuilder() { - if (diagnosticsBuilder_ == null) { - diagnosticsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder< - scip.Scip.Diagnostic, scip.Scip.Diagnostic.Builder, scip.Scip.DiagnosticOrBuilder>( - diagnostics_, - ((bitField0_ & 0x00000020) != 0), - getParentForChildren(), - isClean()); - diagnostics_ = null; - } - return diagnosticsBuilder_; - } - - private com.google.protobuf.Internal.IntList enclosingRange_ = emptyIntList(); - private void ensureEnclosingRangeIsMutable() { - if (!enclosingRange_.isModifiable()) { - enclosingRange_ = makeMutableCopy(enclosingRange_); - } - bitField0_ |= 0x00000040; - } - /** - *
-       * (optional) Using the same encoding as the sibling `range` field, half-open
-       * source range of the nearest non-trivial enclosing AST node. This range must
-       * enclose the `range` field. Example applications that make use of the
-       * enclosing_range field:
-       *
-       * - Call hierarchies: to determine what symbols are references from the body
-       * of a function
-       * - Symbol outline: to display breadcrumbs from the cursor position to the
-       * root of the file
-       * - Expand selection: to select the nearest enclosing AST node.
-       * - Highlight range: to indicate the AST expression that is associated with a
-       * hover popover
-       *
-       * For definition occurrences, the enclosing range should indicate the
-       * start/end bounds of the entire definition AST node, including
-       * documentation.
-       * ```
-       * const n = 3
-       * ^ range
-       * ^^^^^^^^^^^ enclosing_range
-       *
-       * /** Parses the string into something */
-       * ^ enclosing_range start --------------------------------------|
-       * function parse(input string): string {                        |
-       * ^^^^^ range                                          |
-       * return input.slice(n)                                     |
-       * }                                                             |
-       * ^ enclosing_range end <---------------------------------------|
-       * ```
-       *
-       * Any attributes/decorators/attached macros should also be part of the
-       * enclosing range.
-       *
-       * ```python
-       * @cache
-       * ^ enclosing_range start---------------------|
-       * def factorial(n):                           |
-       * return n * factorial(n-1) if n else 1   |
-       * < enclosing_range end-----------------------|
-       *
-       * ```
-       *
-       * For reference occurrences, the enclosing range should indicate the start/end
-       * bounds of the parent expression.
-       * ```
-       * const a = a.b
-       * ^ range
-       * ^^^ enclosing_range
-       * const b = a.b(41).f(42).g(43)
-       * ^ range
-       * ^^^^^^^^^^^^^ enclosing_range
-       * ```
-       * 
- * - * repeated int32 enclosing_range = 7 [json_name = "enclosingRange"]; - * @return A list containing the enclosingRange. - */ - public java.util.List - getEnclosingRangeList() { - enclosingRange_.makeImmutable(); - return enclosingRange_; - } - /** - *
-       * (optional) Using the same encoding as the sibling `range` field, half-open
-       * source range of the nearest non-trivial enclosing AST node. This range must
-       * enclose the `range` field. Example applications that make use of the
-       * enclosing_range field:
-       *
-       * - Call hierarchies: to determine what symbols are references from the body
-       * of a function
-       * - Symbol outline: to display breadcrumbs from the cursor position to the
-       * root of the file
-       * - Expand selection: to select the nearest enclosing AST node.
-       * - Highlight range: to indicate the AST expression that is associated with a
-       * hover popover
-       *
-       * For definition occurrences, the enclosing range should indicate the
-       * start/end bounds of the entire definition AST node, including
-       * documentation.
-       * ```
-       * const n = 3
-       * ^ range
-       * ^^^^^^^^^^^ enclosing_range
-       *
-       * /** Parses the string into something */
-       * ^ enclosing_range start --------------------------------------|
-       * function parse(input string): string {                        |
-       * ^^^^^ range                                          |
-       * return input.slice(n)                                     |
-       * }                                                             |
-       * ^ enclosing_range end <---------------------------------------|
-       * ```
-       *
-       * Any attributes/decorators/attached macros should also be part of the
-       * enclosing range.
-       *
-       * ```python
-       * @cache
-       * ^ enclosing_range start---------------------|
-       * def factorial(n):                           |
-       * return n * factorial(n-1) if n else 1   |
-       * < enclosing_range end-----------------------|
-       *
-       * ```
-       *
-       * For reference occurrences, the enclosing range should indicate the start/end
-       * bounds of the parent expression.
-       * ```
-       * const a = a.b
-       * ^ range
-       * ^^^ enclosing_range
-       * const b = a.b(41).f(42).g(43)
-       * ^ range
-       * ^^^^^^^^^^^^^ enclosing_range
-       * ```
-       * 
- * - * repeated int32 enclosing_range = 7 [json_name = "enclosingRange"]; - * @return The count of enclosingRange. - */ - public int getEnclosingRangeCount() { - return enclosingRange_.size(); - } - /** - *
-       * (optional) Using the same encoding as the sibling `range` field, half-open
-       * source range of the nearest non-trivial enclosing AST node. This range must
-       * enclose the `range` field. Example applications that make use of the
-       * enclosing_range field:
-       *
-       * - Call hierarchies: to determine what symbols are references from the body
-       * of a function
-       * - Symbol outline: to display breadcrumbs from the cursor position to the
-       * root of the file
-       * - Expand selection: to select the nearest enclosing AST node.
-       * - Highlight range: to indicate the AST expression that is associated with a
-       * hover popover
-       *
-       * For definition occurrences, the enclosing range should indicate the
-       * start/end bounds of the entire definition AST node, including
-       * documentation.
-       * ```
-       * const n = 3
-       * ^ range
-       * ^^^^^^^^^^^ enclosing_range
-       *
-       * /** Parses the string into something */
-       * ^ enclosing_range start --------------------------------------|
-       * function parse(input string): string {                        |
-       * ^^^^^ range                                          |
-       * return input.slice(n)                                     |
-       * }                                                             |
-       * ^ enclosing_range end <---------------------------------------|
-       * ```
-       *
-       * Any attributes/decorators/attached macros should also be part of the
-       * enclosing range.
-       *
-       * ```python
-       * @cache
-       * ^ enclosing_range start---------------------|
-       * def factorial(n):                           |
-       * return n * factorial(n-1) if n else 1   |
-       * < enclosing_range end-----------------------|
-       *
-       * ```
-       *
-       * For reference occurrences, the enclosing range should indicate the start/end
-       * bounds of the parent expression.
-       * ```
-       * const a = a.b
-       * ^ range
-       * ^^^ enclosing_range
-       * const b = a.b(41).f(42).g(43)
-       * ^ range
-       * ^^^^^^^^^^^^^ enclosing_range
-       * ```
-       * 
- * - * repeated int32 enclosing_range = 7 [json_name = "enclosingRange"]; - * @param index The index of the element to return. - * @return The enclosingRange at the given index. - */ - public int getEnclosingRange(int index) { - return enclosingRange_.getInt(index); - } - /** - *
-       * (optional) Using the same encoding as the sibling `range` field, half-open
-       * source range of the nearest non-trivial enclosing AST node. This range must
-       * enclose the `range` field. Example applications that make use of the
-       * enclosing_range field:
-       *
-       * - Call hierarchies: to determine what symbols are references from the body
-       * of a function
-       * - Symbol outline: to display breadcrumbs from the cursor position to the
-       * root of the file
-       * - Expand selection: to select the nearest enclosing AST node.
-       * - Highlight range: to indicate the AST expression that is associated with a
-       * hover popover
-       *
-       * For definition occurrences, the enclosing range should indicate the
-       * start/end bounds of the entire definition AST node, including
-       * documentation.
-       * ```
-       * const n = 3
-       * ^ range
-       * ^^^^^^^^^^^ enclosing_range
-       *
-       * /** Parses the string into something */
-       * ^ enclosing_range start --------------------------------------|
-       * function parse(input string): string {                        |
-       * ^^^^^ range                                          |
-       * return input.slice(n)                                     |
-       * }                                                             |
-       * ^ enclosing_range end <---------------------------------------|
-       * ```
-       *
-       * Any attributes/decorators/attached macros should also be part of the
-       * enclosing range.
-       *
-       * ```python
-       * @cache
-       * ^ enclosing_range start---------------------|
-       * def factorial(n):                           |
-       * return n * factorial(n-1) if n else 1   |
-       * < enclosing_range end-----------------------|
-       *
-       * ```
-       *
-       * For reference occurrences, the enclosing range should indicate the start/end
-       * bounds of the parent expression.
-       * ```
-       * const a = a.b
-       * ^ range
-       * ^^^ enclosing_range
-       * const b = a.b(41).f(42).g(43)
-       * ^ range
-       * ^^^^^^^^^^^^^ enclosing_range
-       * ```
-       * 
- * - * repeated int32 enclosing_range = 7 [json_name = "enclosingRange"]; - * @param index The index to set the value at. - * @param value The enclosingRange to set. - * @return This builder for chaining. - */ - public Builder setEnclosingRange( - int index, int value) { - - ensureEnclosingRangeIsMutable(); - enclosingRange_.setInt(index, value); - bitField0_ |= 0x00000040; - onChanged(); - return this; - } - /** - *
-       * (optional) Using the same encoding as the sibling `range` field, half-open
-       * source range of the nearest non-trivial enclosing AST node. This range must
-       * enclose the `range` field. Example applications that make use of the
-       * enclosing_range field:
-       *
-       * - Call hierarchies: to determine what symbols are references from the body
-       * of a function
-       * - Symbol outline: to display breadcrumbs from the cursor position to the
-       * root of the file
-       * - Expand selection: to select the nearest enclosing AST node.
-       * - Highlight range: to indicate the AST expression that is associated with a
-       * hover popover
-       *
-       * For definition occurrences, the enclosing range should indicate the
-       * start/end bounds of the entire definition AST node, including
-       * documentation.
-       * ```
-       * const n = 3
-       * ^ range
-       * ^^^^^^^^^^^ enclosing_range
-       *
-       * /** Parses the string into something */
-       * ^ enclosing_range start --------------------------------------|
-       * function parse(input string): string {                        |
-       * ^^^^^ range                                          |
-       * return input.slice(n)                                     |
-       * }                                                             |
-       * ^ enclosing_range end <---------------------------------------|
-       * ```
-       *
-       * Any attributes/decorators/attached macros should also be part of the
-       * enclosing range.
-       *
-       * ```python
-       * @cache
-       * ^ enclosing_range start---------------------|
-       * def factorial(n):                           |
-       * return n * factorial(n-1) if n else 1   |
-       * < enclosing_range end-----------------------|
-       *
-       * ```
-       *
-       * For reference occurrences, the enclosing range should indicate the start/end
-       * bounds of the parent expression.
-       * ```
-       * const a = a.b
-       * ^ range
-       * ^^^ enclosing_range
-       * const b = a.b(41).f(42).g(43)
-       * ^ range
-       * ^^^^^^^^^^^^^ enclosing_range
-       * ```
-       * 
- * - * repeated int32 enclosing_range = 7 [json_name = "enclosingRange"]; - * @param value The enclosingRange to add. - * @return This builder for chaining. - */ - public Builder addEnclosingRange(int value) { - - ensureEnclosingRangeIsMutable(); - enclosingRange_.addInt(value); - bitField0_ |= 0x00000040; - onChanged(); - return this; - } - /** - *
-       * (optional) Using the same encoding as the sibling `range` field, half-open
-       * source range of the nearest non-trivial enclosing AST node. This range must
-       * enclose the `range` field. Example applications that make use of the
-       * enclosing_range field:
-       *
-       * - Call hierarchies: to determine what symbols are references from the body
-       * of a function
-       * - Symbol outline: to display breadcrumbs from the cursor position to the
-       * root of the file
-       * - Expand selection: to select the nearest enclosing AST node.
-       * - Highlight range: to indicate the AST expression that is associated with a
-       * hover popover
-       *
-       * For definition occurrences, the enclosing range should indicate the
-       * start/end bounds of the entire definition AST node, including
-       * documentation.
-       * ```
-       * const n = 3
-       * ^ range
-       * ^^^^^^^^^^^ enclosing_range
-       *
-       * /** Parses the string into something */
-       * ^ enclosing_range start --------------------------------------|
-       * function parse(input string): string {                        |
-       * ^^^^^ range                                          |
-       * return input.slice(n)                                     |
-       * }                                                             |
-       * ^ enclosing_range end <---------------------------------------|
-       * ```
-       *
-       * Any attributes/decorators/attached macros should also be part of the
-       * enclosing range.
-       *
-       * ```python
-       * @cache
-       * ^ enclosing_range start---------------------|
-       * def factorial(n):                           |
-       * return n * factorial(n-1) if n else 1   |
-       * < enclosing_range end-----------------------|
-       *
-       * ```
-       *
-       * For reference occurrences, the enclosing range should indicate the start/end
-       * bounds of the parent expression.
-       * ```
-       * const a = a.b
-       * ^ range
-       * ^^^ enclosing_range
-       * const b = a.b(41).f(42).g(43)
-       * ^ range
-       * ^^^^^^^^^^^^^ enclosing_range
-       * ```
-       * 
- * - * repeated int32 enclosing_range = 7 [json_name = "enclosingRange"]; - * @param values The enclosingRange to add. - * @return This builder for chaining. - */ - public Builder addAllEnclosingRange( - java.lang.Iterable values) { - ensureEnclosingRangeIsMutable(); - com.google.protobuf.AbstractMessageLite.Builder.addAll( - values, enclosingRange_); - bitField0_ |= 0x00000040; - onChanged(); - return this; - } - /** - *
-       * (optional) Using the same encoding as the sibling `range` field, half-open
-       * source range of the nearest non-trivial enclosing AST node. This range must
-       * enclose the `range` field. Example applications that make use of the
-       * enclosing_range field:
-       *
-       * - Call hierarchies: to determine what symbols are references from the body
-       * of a function
-       * - Symbol outline: to display breadcrumbs from the cursor position to the
-       * root of the file
-       * - Expand selection: to select the nearest enclosing AST node.
-       * - Highlight range: to indicate the AST expression that is associated with a
-       * hover popover
-       *
-       * For definition occurrences, the enclosing range should indicate the
-       * start/end bounds of the entire definition AST node, including
-       * documentation.
-       * ```
-       * const n = 3
-       * ^ range
-       * ^^^^^^^^^^^ enclosing_range
-       *
-       * /** Parses the string into something */
-       * ^ enclosing_range start --------------------------------------|
-       * function parse(input string): string {                        |
-       * ^^^^^ range                                          |
-       * return input.slice(n)                                     |
-       * }                                                             |
-       * ^ enclosing_range end <---------------------------------------|
-       * ```
-       *
-       * Any attributes/decorators/attached macros should also be part of the
-       * enclosing range.
-       *
-       * ```python
-       * @cache
-       * ^ enclosing_range start---------------------|
-       * def factorial(n):                           |
-       * return n * factorial(n-1) if n else 1   |
-       * < enclosing_range end-----------------------|
-       *
-       * ```
-       *
-       * For reference occurrences, the enclosing range should indicate the start/end
-       * bounds of the parent expression.
-       * ```
-       * const a = a.b
-       * ^ range
-       * ^^^ enclosing_range
-       * const b = a.b(41).f(42).g(43)
-       * ^ range
-       * ^^^^^^^^^^^^^ enclosing_range
-       * ```
-       * 
- * - * repeated int32 enclosing_range = 7 [json_name = "enclosingRange"]; - * @return This builder for chaining. - */ - public Builder clearEnclosingRange() { - enclosingRange_ = emptyIntList(); - bitField0_ = (bitField0_ & ~0x00000040); - onChanged(); - return this; - } - - // @@protoc_insertion_point(builder_scope:scip.Occurrence) - } - - // @@protoc_insertion_point(class_scope:scip.Occurrence) - private static final scip.Scip.Occurrence DEFAULT_INSTANCE; - static { - DEFAULT_INSTANCE = new scip.Scip.Occurrence(); - } - - public static scip.Scip.Occurrence getDefaultInstance() { - return DEFAULT_INSTANCE; - } - - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { - @java.lang.Override - public Occurrence parsePartialFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - Builder builder = newBuilder(); - try { - builder.mergeFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.setUnfinishedMessage(builder.buildPartial()); - } catch (com.google.protobuf.UninitializedMessageException e) { - throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); - } catch (java.io.IOException e) { - throw new com.google.protobuf.InvalidProtocolBufferException(e) - .setUnfinishedMessage(builder.buildPartial()); - } - return builder.buildPartial(); - } - }; - - public static com.google.protobuf.Parser parser() { - return PARSER; - } - - @java.lang.Override - public com.google.protobuf.Parser getParserForType() { - return PARSER; - } - - @java.lang.Override - public scip.Scip.Occurrence getDefaultInstanceForType() { - return DEFAULT_INSTANCE; - } - - } - - public interface DiagnosticOrBuilder extends - // @@protoc_insertion_point(interface_extends:scip.Diagnostic) - com.google.protobuf.MessageOrBuilder { - - /** - *
-     * Should this diagnostic be reported as an error, warning, info, or hint?
-     * 
- * - * .scip.Severity severity = 1 [json_name = "severity"]; - * @return The enum numeric value on the wire for severity. - */ - int getSeverityValue(); - /** - *
-     * Should this diagnostic be reported as an error, warning, info, or hint?
-     * 
- * - * .scip.Severity severity = 1 [json_name = "severity"]; - * @return The severity. - */ - scip.Scip.Severity getSeverity(); - - /** - *
-     * (optional) Code of this diagnostic, which might appear in the user interface.
-     * 
- * - * string code = 2 [json_name = "code"]; - * @return The code. - */ - java.lang.String getCode(); - /** - *
-     * (optional) Code of this diagnostic, which might appear in the user interface.
-     * 
- * - * string code = 2 [json_name = "code"]; - * @return The bytes for code. - */ - com.google.protobuf.ByteString - getCodeBytes(); - - /** - *
-     * Message of this diagnostic.
-     * 
- * - * string message = 3 [json_name = "message"]; - * @return The message. - */ - java.lang.String getMessage(); - /** - *
-     * Message of this diagnostic.
-     * 
- * - * string message = 3 [json_name = "message"]; - * @return The bytes for message. - */ - com.google.protobuf.ByteString - getMessageBytes(); - - /** - *
-     * (optional) Human-readable string describing the source of this diagnostic, e.g.
-     * 'typescript' or 'super lint'.
-     * 
- * - * string source = 4 [json_name = "source"]; - * @return The source. - */ - java.lang.String getSource(); - /** - *
-     * (optional) Human-readable string describing the source of this diagnostic, e.g.
-     * 'typescript' or 'super lint'.
-     * 
- * - * string source = 4 [json_name = "source"]; - * @return The bytes for source. - */ - com.google.protobuf.ByteString - getSourceBytes(); - - /** - * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; - * @return A list containing the tags. - */ - java.util.List getTagsList(); - /** - * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; - * @return The count of tags. - */ - int getTagsCount(); - /** - * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; - * @param index The index of the element to return. - * @return The tags at the given index. - */ - scip.Scip.DiagnosticTag getTags(int index); - /** - * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; - * @return A list containing the enum numeric values on the wire for tags. - */ - java.util.List - getTagsValueList(); - /** - * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; - * @param index The index of the value to return. - * @return The enum numeric value on the wire of tags at the given index. - */ - int getTagsValue(int index); - } - /** - *
-   * Represents a diagnostic, such as a compiler error or warning, which should be
-   * reported for a document.
-   * 
- * - * Protobuf type {@code scip.Diagnostic} - */ - public static final class Diagnostic extends - com.google.protobuf.GeneratedMessage implements - // @@protoc_insertion_point(message_implements:scip.Diagnostic) - DiagnosticOrBuilder { - private static final long serialVersionUID = 0L; - static { - com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( - com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, - /* major= */ 4, - /* minor= */ 32, - /* patch= */ 1, - /* suffix= */ "", - Diagnostic.class.getName()); - } - // Use Diagnostic.newBuilder() to construct. - private Diagnostic(com.google.protobuf.GeneratedMessage.Builder builder) { - super(builder); - } - private Diagnostic() { - severity_ = 0; - code_ = ""; - message_ = ""; - source_ = ""; - tags_ = emptyIntList(); - } - - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return scip.Scip.internal_static_scip_Diagnostic_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessage.FieldAccessorTable - internalGetFieldAccessorTable() { - return scip.Scip.internal_static_scip_Diagnostic_fieldAccessorTable - .ensureFieldAccessorsInitialized( - scip.Scip.Diagnostic.class, scip.Scip.Diagnostic.Builder.class); - } - - public static final int SEVERITY_FIELD_NUMBER = 1; - private int severity_ = 0; - /** - *
-     * Should this diagnostic be reported as an error, warning, info, or hint?
-     * 
- * - * .scip.Severity severity = 1 [json_name = "severity"]; - * @return The enum numeric value on the wire for severity. - */ - @java.lang.Override public int getSeverityValue() { - return severity_; - } - /** - *
-     * Should this diagnostic be reported as an error, warning, info, or hint?
-     * 
- * - * .scip.Severity severity = 1 [json_name = "severity"]; - * @return The severity. - */ - @java.lang.Override public scip.Scip.Severity getSeverity() { - scip.Scip.Severity result = scip.Scip.Severity.forNumber(severity_); - return result == null ? scip.Scip.Severity.UNRECOGNIZED : result; - } - - public static final int CODE_FIELD_NUMBER = 2; - @SuppressWarnings("serial") - private volatile java.lang.Object code_ = ""; - /** - *
-     * (optional) Code of this diagnostic, which might appear in the user interface.
-     * 
- * - * string code = 2 [json_name = "code"]; - * @return The code. - */ - @java.lang.Override - public java.lang.String getCode() { - java.lang.Object ref = code_; - 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(); - code_ = s; - return s; - } - } - /** - *
-     * (optional) Code of this diagnostic, which might appear in the user interface.
-     * 
- * - * string code = 2 [json_name = "code"]; - * @return The bytes for code. - */ - @java.lang.Override - public com.google.protobuf.ByteString - getCodeBytes() { - java.lang.Object ref = code_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - code_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - - public static final int MESSAGE_FIELD_NUMBER = 3; - @SuppressWarnings("serial") - private volatile java.lang.Object message_ = ""; - /** - *
-     * Message of this diagnostic.
-     * 
- * - * string message = 3 [json_name = "message"]; - * @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; - } - } - /** - *
-     * Message of this diagnostic.
-     * 
- * - * string message = 3 [json_name = "message"]; - * @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 SOURCE_FIELD_NUMBER = 4; - @SuppressWarnings("serial") - private volatile java.lang.Object source_ = ""; - /** - *
-     * (optional) Human-readable string describing the source of this diagnostic, e.g.
-     * 'typescript' or 'super lint'.
-     * 
- * - * string source = 4 [json_name = "source"]; - * @return The source. - */ - @java.lang.Override - public java.lang.String getSource() { - java.lang.Object ref = source_; - 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(); - source_ = s; - return s; - } - } - /** - *
-     * (optional) Human-readable string describing the source of this diagnostic, e.g.
-     * 'typescript' or 'super lint'.
-     * 
- * - * string source = 4 [json_name = "source"]; - * @return The bytes for source. - */ - @java.lang.Override - public com.google.protobuf.ByteString - getSourceBytes() { - java.lang.Object ref = source_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - source_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - - public static final int TAGS_FIELD_NUMBER = 5; - @SuppressWarnings("serial") - private com.google.protobuf.Internal.IntList tags_ = - emptyIntList(); - private static final com.google.protobuf.Internal.IntListAdapter.IntConverter< - scip.Scip.DiagnosticTag> tags_converter_ = - new com.google.protobuf.Internal.IntListAdapter.IntConverter< - scip.Scip.DiagnosticTag>() { - public scip.Scip.DiagnosticTag convert(int from) { - scip.Scip.DiagnosticTag result = scip.Scip.DiagnosticTag.forNumber(from); - return result == null ? scip.Scip.DiagnosticTag.UNRECOGNIZED : result; - } - }; - /** - * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; - * @return A list containing the tags. - */ - @java.lang.Override - public java.util.List getTagsList() { - return new com.google.protobuf.Internal.IntListAdapter< - scip.Scip.DiagnosticTag>(tags_, tags_converter_); - } - /** - * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; - * @return The count of tags. - */ - @java.lang.Override - public int getTagsCount() { - return tags_.size(); - } - /** - * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; - * @param index The index of the element to return. - * @return The tags at the given index. - */ - @java.lang.Override - public scip.Scip.DiagnosticTag getTags(int index) { - return tags_converter_.convert(tags_.getInt(index)); - } - /** - * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; - * @return A list containing the enum numeric values on the wire for tags. - */ - @java.lang.Override - public java.util.List - getTagsValueList() { - return tags_; - } - /** - * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; - * @param index The index of the value to return. - * @return The enum numeric value on the wire of tags at the given index. - */ - @java.lang.Override - public int getTagsValue(int index) { - return tags_.getInt(index); - } - private int tagsMemoizedSerializedSize; - - 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 { - getSerializedSize(); - if (severity_ != scip.Scip.Severity.UnspecifiedSeverity.getNumber()) { - output.writeEnum(1, severity_); - } - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(code_)) { - com.google.protobuf.GeneratedMessage.writeString(output, 2, code_); - } - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(message_)) { - com.google.protobuf.GeneratedMessage.writeString(output, 3, message_); - } - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(source_)) { - com.google.protobuf.GeneratedMessage.writeString(output, 4, source_); - } - if (getTagsList().size() > 0) { - output.writeUInt32NoTag(42); - output.writeUInt32NoTag(tagsMemoizedSerializedSize); - } - for (int i = 0; i < tags_.size(); i++) { - output.writeEnumNoTag(tags_.getInt(i)); - } - getUnknownFields().writeTo(output); - } - - @java.lang.Override - public int getSerializedSize() { - int size = memoizedSize; - if (size != -1) return size; - - size = 0; - if (severity_ != scip.Scip.Severity.UnspecifiedSeverity.getNumber()) { - size += com.google.protobuf.CodedOutputStream - .computeEnumSize(1, severity_); - } - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(code_)) { - size += com.google.protobuf.GeneratedMessage.computeStringSize(2, code_); - } - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(message_)) { - size += com.google.protobuf.GeneratedMessage.computeStringSize(3, message_); - } - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(source_)) { - size += com.google.protobuf.GeneratedMessage.computeStringSize(4, source_); - } - { - int dataSize = 0; - for (int i = 0; i < tags_.size(); i++) { - dataSize += com.google.protobuf.CodedOutputStream - .computeEnumSizeNoTag(tags_.getInt(i)); - } - size += dataSize; - if (!getTagsList().isEmpty()) { size += 1; - size += com.google.protobuf.CodedOutputStream - .computeUInt32SizeNoTag(dataSize); - }tagsMemoizedSerializedSize = dataSize; - } - size += getUnknownFields().getSerializedSize(); - memoizedSize = size; - return size; - } - - @java.lang.Override - public boolean equals(final java.lang.Object obj) { - if (obj == this) { - return true; - } - if (!(obj instanceof scip.Scip.Diagnostic)) { - return super.equals(obj); - } - scip.Scip.Diagnostic other = (scip.Scip.Diagnostic) obj; - - if (severity_ != other.severity_) return false; - if (!getCode() - .equals(other.getCode())) return false; - if (!getMessage() - .equals(other.getMessage())) return false; - if (!getSource() - .equals(other.getSource())) return false; - if (!tags_.equals(other.tags_)) return false; - if (!getUnknownFields().equals(other.getUnknownFields())) 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) + SEVERITY_FIELD_NUMBER; - hash = (53 * hash) + severity_; - hash = (37 * hash) + CODE_FIELD_NUMBER; - hash = (53 * hash) + getCode().hashCode(); - hash = (37 * hash) + MESSAGE_FIELD_NUMBER; - hash = (53 * hash) + getMessage().hashCode(); - hash = (37 * hash) + SOURCE_FIELD_NUMBER; - hash = (53 * hash) + getSource().hashCode(); - if (getTagsCount() > 0) { - hash = (37 * hash) + TAGS_FIELD_NUMBER; - hash = (53 * hash) + tags_.hashCode(); - } - hash = (29 * hash) + getUnknownFields().hashCode(); - memoizedHashCode = hash; - return hash; - } - - public static scip.Scip.Diagnostic parseFrom( - java.nio.ByteBuffer data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static scip.Scip.Diagnostic parseFrom( - java.nio.ByteBuffer data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static scip.Scip.Diagnostic parseFrom( - com.google.protobuf.ByteString data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static scip.Scip.Diagnostic parseFrom( - com.google.protobuf.ByteString data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static scip.Scip.Diagnostic parseFrom(byte[] data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static scip.Scip.Diagnostic parseFrom( - byte[] data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static scip.Scip.Diagnostic parseFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input); - } - public static scip.Scip.Diagnostic parseFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input, extensionRegistry); - } - - public static scip.Scip.Diagnostic parseDelimitedFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseDelimitedWithIOException(PARSER, input); - } - - public static scip.Scip.Diagnostic parseDelimitedFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseDelimitedWithIOException(PARSER, input, extensionRegistry); - } - public static scip.Scip.Diagnostic parseFrom( - com.google.protobuf.CodedInputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input); - } - public static scip.Scip.Diagnostic parseFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input, extensionRegistry); - } - - @java.lang.Override - public Builder newBuilderForType() { return newBuilder(); } - public static Builder newBuilder() { - return DEFAULT_INSTANCE.toBuilder(); - } - public static Builder newBuilder(scip.Scip.Diagnostic 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.GeneratedMessage.BuilderParent parent) { - Builder builder = new Builder(parent); - return builder; - } - /** - *
-     * Represents a diagnostic, such as a compiler error or warning, which should be
-     * reported for a document.
-     * 
- * - * Protobuf type {@code scip.Diagnostic} - */ - public static final class Builder extends - com.google.protobuf.GeneratedMessage.Builder implements - // @@protoc_insertion_point(builder_implements:scip.Diagnostic) - scip.Scip.DiagnosticOrBuilder { - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return scip.Scip.internal_static_scip_Diagnostic_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessage.FieldAccessorTable - internalGetFieldAccessorTable() { - return scip.Scip.internal_static_scip_Diagnostic_fieldAccessorTable - .ensureFieldAccessorsInitialized( - scip.Scip.Diagnostic.class, scip.Scip.Diagnostic.Builder.class); - } - - // Construct using scip.Scip.Diagnostic.newBuilder() - private Builder() { - - } - - private Builder( - com.google.protobuf.GeneratedMessage.BuilderParent parent) { - super(parent); - - } - @java.lang.Override - public Builder clear() { - super.clear(); - bitField0_ = 0; - severity_ = 0; - code_ = ""; - message_ = ""; - source_ = ""; - tags_ = emptyIntList(); - return this; - } - - @java.lang.Override - public com.google.protobuf.Descriptors.Descriptor - getDescriptorForType() { - return scip.Scip.internal_static_scip_Diagnostic_descriptor; - } - - @java.lang.Override - public scip.Scip.Diagnostic getDefaultInstanceForType() { - return scip.Scip.Diagnostic.getDefaultInstance(); - } - - @java.lang.Override - public scip.Scip.Diagnostic build() { - scip.Scip.Diagnostic result = buildPartial(); - if (!result.isInitialized()) { - throw newUninitializedMessageException(result); - } - return result; - } - - @java.lang.Override - public scip.Scip.Diagnostic buildPartial() { - scip.Scip.Diagnostic result = new scip.Scip.Diagnostic(this); - if (bitField0_ != 0) { buildPartial0(result); } - onBuilt(); - return result; - } - - private void buildPartial0(scip.Scip.Diagnostic result) { - int from_bitField0_ = bitField0_; - if (((from_bitField0_ & 0x00000001) != 0)) { - result.severity_ = severity_; - } - if (((from_bitField0_ & 0x00000002) != 0)) { - result.code_ = code_; - } - if (((from_bitField0_ & 0x00000004) != 0)) { - result.message_ = message_; - } - if (((from_bitField0_ & 0x00000008) != 0)) { - result.source_ = source_; - } - if (((from_bitField0_ & 0x00000010) != 0)) { - tags_.makeImmutable(); - result.tags_ = tags_; - } - } - - @java.lang.Override - public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof scip.Scip.Diagnostic) { - return mergeFrom((scip.Scip.Diagnostic)other); - } else { - super.mergeFrom(other); - return this; - } - } - - public Builder mergeFrom(scip.Scip.Diagnostic other) { - if (other == scip.Scip.Diagnostic.getDefaultInstance()) return this; - if (other.severity_ != 0) { - setSeverityValue(other.getSeverityValue()); - } - if (!other.getCode().isEmpty()) { - code_ = other.code_; - bitField0_ |= 0x00000002; - onChanged(); - } - if (!other.getMessage().isEmpty()) { - message_ = other.message_; - bitField0_ |= 0x00000004; - onChanged(); - } - if (!other.getSource().isEmpty()) { - source_ = other.source_; - bitField0_ |= 0x00000008; - onChanged(); - } - if (!other.tags_.isEmpty()) { - if (tags_.isEmpty()) { - tags_ = other.tags_; - tags_.makeImmutable(); - bitField0_ |= 0x00000010; - } else { - ensureTagsIsMutable(); - tags_.addAll(other.tags_); - } - onChanged(); - } - this.mergeUnknownFields(other.getUnknownFields()); - 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 { - if (extensionRegistry == null) { - throw new java.lang.NullPointerException(); - } - try { - boolean done = false; - while (!done) { - int tag = input.readTag(); - switch (tag) { - case 0: - done = true; - break; - case 8: { - severity_ = input.readEnum(); - bitField0_ |= 0x00000001; - break; - } // case 8 - case 18: { - code_ = input.readStringRequireUtf8(); - bitField0_ |= 0x00000002; - break; - } // case 18 - case 26: { - message_ = input.readStringRequireUtf8(); - bitField0_ |= 0x00000004; - break; - } // case 26 - case 34: { - source_ = input.readStringRequireUtf8(); - bitField0_ |= 0x00000008; - break; - } // case 34 - case 40: { - int tmpRaw = input.readEnum(); - ensureTagsIsMutable(); - tags_.addInt(tmpRaw); - break; - } // case 40 - case 42: { - int length = input.readRawVarint32(); - int limit = input.pushLimit(length); - ensureTagsIsMutable(); - while (input.getBytesUntilLimit() > 0) { - tags_.addInt(input.readEnum()); - } - input.popLimit(limit); - break; - } // case 42 - default: { - if (!super.parseUnknownField(input, extensionRegistry, tag)) { - done = true; // was an endgroup tag - } - break; - } // default: - } // switch (tag) - } // while (!done) - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.unwrapIOException(); - } finally { - onChanged(); - } // finally - return this; - } - private int bitField0_; - - private int severity_ = 0; - /** - *
-       * Should this diagnostic be reported as an error, warning, info, or hint?
-       * 
- * - * .scip.Severity severity = 1 [json_name = "severity"]; - * @return The enum numeric value on the wire for severity. - */ - @java.lang.Override public int getSeverityValue() { - return severity_; - } - /** - *
-       * Should this diagnostic be reported as an error, warning, info, or hint?
-       * 
- * - * .scip.Severity severity = 1 [json_name = "severity"]; - * @param value The enum numeric value on the wire for severity to set. - * @return This builder for chaining. - */ - public Builder setSeverityValue(int value) { - severity_ = value; - bitField0_ |= 0x00000001; - onChanged(); - return this; - } - /** - *
-       * Should this diagnostic be reported as an error, warning, info, or hint?
-       * 
- * - * .scip.Severity severity = 1 [json_name = "severity"]; - * @return The severity. - */ - @java.lang.Override - public scip.Scip.Severity getSeverity() { - scip.Scip.Severity result = scip.Scip.Severity.forNumber(severity_); - return result == null ? scip.Scip.Severity.UNRECOGNIZED : result; - } - /** - *
-       * Should this diagnostic be reported as an error, warning, info, or hint?
-       * 
- * - * .scip.Severity severity = 1 [json_name = "severity"]; - * @param value The severity to set. - * @return This builder for chaining. - */ - public Builder setSeverity(scip.Scip.Severity value) { - if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000001; - severity_ = value.getNumber(); - onChanged(); - return this; - } - /** - *
-       * Should this diagnostic be reported as an error, warning, info, or hint?
-       * 
- * - * .scip.Severity severity = 1 [json_name = "severity"]; - * @return This builder for chaining. - */ - public Builder clearSeverity() { - bitField0_ = (bitField0_ & ~0x00000001); - severity_ = 0; - onChanged(); - return this; - } - - private java.lang.Object code_ = ""; - /** - *
-       * (optional) Code of this diagnostic, which might appear in the user interface.
-       * 
- * - * string code = 2 [json_name = "code"]; - * @return The code. - */ - public java.lang.String getCode() { - java.lang.Object ref = code_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - code_ = s; - return s; - } else { - return (java.lang.String) ref; - } - } - /** - *
-       * (optional) Code of this diagnostic, which might appear in the user interface.
-       * 
- * - * string code = 2 [json_name = "code"]; - * @return The bytes for code. - */ - public com.google.protobuf.ByteString - getCodeBytes() { - java.lang.Object ref = code_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - code_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - /** - *
-       * (optional) Code of this diagnostic, which might appear in the user interface.
-       * 
- * - * string code = 2 [json_name = "code"]; - * @param value The code to set. - * @return This builder for chaining. - */ - public Builder setCode( - java.lang.String value) { - if (value == null) { throw new NullPointerException(); } - code_ = value; - bitField0_ |= 0x00000002; - onChanged(); - return this; - } - /** - *
-       * (optional) Code of this diagnostic, which might appear in the user interface.
-       * 
- * - * string code = 2 [json_name = "code"]; - * @return This builder for chaining. - */ - public Builder clearCode() { - code_ = getDefaultInstance().getCode(); - bitField0_ = (bitField0_ & ~0x00000002); - onChanged(); - return this; - } - /** - *
-       * (optional) Code of this diagnostic, which might appear in the user interface.
-       * 
- * - * string code = 2 [json_name = "code"]; - * @param value The bytes for code to set. - * @return This builder for chaining. - */ - public Builder setCodeBytes( - com.google.protobuf.ByteString value) { - if (value == null) { throw new NullPointerException(); } - checkByteStringIsUtf8(value); - code_ = value; - bitField0_ |= 0x00000002; - onChanged(); - return this; - } - - private java.lang.Object message_ = ""; - /** - *
-       * Message of this diagnostic.
-       * 
- * - * string message = 3 [json_name = "message"]; - * @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; - } - } - /** - *
-       * Message of this diagnostic.
-       * 
- * - * string message = 3 [json_name = "message"]; - * @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; - } - } - /** - *
-       * Message of this diagnostic.
-       * 
- * - * string message = 3 [json_name = "message"]; - * @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; - bitField0_ |= 0x00000004; - onChanged(); - return this; - } - /** - *
-       * Message of this diagnostic.
-       * 
- * - * string message = 3 [json_name = "message"]; - * @return This builder for chaining. - */ - public Builder clearMessage() { - message_ = getDefaultInstance().getMessage(); - bitField0_ = (bitField0_ & ~0x00000004); - onChanged(); - return this; - } - /** - *
-       * Message of this diagnostic.
-       * 
- * - * string message = 3 [json_name = "message"]; - * @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; - bitField0_ |= 0x00000004; - onChanged(); - return this; - } - - private java.lang.Object source_ = ""; - /** - *
-       * (optional) Human-readable string describing the source of this diagnostic, e.g.
-       * 'typescript' or 'super lint'.
-       * 
- * - * string source = 4 [json_name = "source"]; - * @return The source. - */ - public java.lang.String getSource() { - java.lang.Object ref = source_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - source_ = s; - return s; - } else { - return (java.lang.String) ref; - } - } - /** - *
-       * (optional) Human-readable string describing the source of this diagnostic, e.g.
-       * 'typescript' or 'super lint'.
-       * 
- * - * string source = 4 [json_name = "source"]; - * @return The bytes for source. - */ - public com.google.protobuf.ByteString - getSourceBytes() { - java.lang.Object ref = source_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - source_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - /** - *
-       * (optional) Human-readable string describing the source of this diagnostic, e.g.
-       * 'typescript' or 'super lint'.
-       * 
- * - * string source = 4 [json_name = "source"]; - * @param value The source to set. - * @return This builder for chaining. - */ - public Builder setSource( - java.lang.String value) { - if (value == null) { throw new NullPointerException(); } - source_ = value; - bitField0_ |= 0x00000008; - onChanged(); - return this; - } - /** - *
-       * (optional) Human-readable string describing the source of this diagnostic, e.g.
-       * 'typescript' or 'super lint'.
-       * 
- * - * string source = 4 [json_name = "source"]; - * @return This builder for chaining. - */ - public Builder clearSource() { - source_ = getDefaultInstance().getSource(); - bitField0_ = (bitField0_ & ~0x00000008); - onChanged(); - return this; - } - /** - *
-       * (optional) Human-readable string describing the source of this diagnostic, e.g.
-       * 'typescript' or 'super lint'.
-       * 
- * - * string source = 4 [json_name = "source"]; - * @param value The bytes for source to set. - * @return This builder for chaining. - */ - public Builder setSourceBytes( - com.google.protobuf.ByteString value) { - if (value == null) { throw new NullPointerException(); } - checkByteStringIsUtf8(value); - source_ = value; - bitField0_ |= 0x00000008; - onChanged(); - return this; - } - - private com.google.protobuf.Internal.IntList tags_ = emptyIntList(); - private void ensureTagsIsMutable() { - if (!tags_.isModifiable()) { - tags_ = makeMutableCopy(tags_); - } - bitField0_ |= 0x00000010; - } - /** - * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; - * @return A list containing the tags. - */ - public java.util.List getTagsList() { - return new com.google.protobuf.Internal.IntListAdapter< - scip.Scip.DiagnosticTag>(tags_, tags_converter_); - } - /** - * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; - * @return The count of tags. - */ - public int getTagsCount() { - return tags_.size(); - } - /** - * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; - * @param index The index of the element to return. - * @return The tags at the given index. - */ - public scip.Scip.DiagnosticTag getTags(int index) { - return tags_converter_.convert(tags_.getInt(index)); - } - /** - * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; - * @param index The index to set the value at. - * @param value The tags to set. - * @return This builder for chaining. - */ - public Builder setTags( - int index, scip.Scip.DiagnosticTag value) { - if (value == null) { throw new NullPointerException(); } - ensureTagsIsMutable(); - tags_.setInt(index, value.getNumber()); - onChanged(); - return this; - } - /** - * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; - * @param value The tags to add. - * @return This builder for chaining. - */ - public Builder addTags(scip.Scip.DiagnosticTag value) { - if (value == null) { throw new NullPointerException(); } - ensureTagsIsMutable(); - tags_.addInt(value.getNumber()); - onChanged(); - return this; - } - /** - * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; - * @param values The tags to add. - * @return This builder for chaining. - */ - public Builder addAllTags( - java.lang.Iterable values) { - ensureTagsIsMutable(); - for (scip.Scip.DiagnosticTag value : values) { - tags_.addInt(value.getNumber()); - } - onChanged(); - return this; - } - /** - * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; - * @return This builder for chaining. - */ - public Builder clearTags() { - tags_ = emptyIntList(); - bitField0_ = (bitField0_ & ~0x00000010); - onChanged(); - return this; - } - /** - * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; - * @return A list containing the enum numeric values on the wire for tags. - */ - public java.util.List - getTagsValueList() { - tags_.makeImmutable(); - return tags_; - } - /** - * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; - * @param index The index of the value to return. - * @return The enum numeric value on the wire of tags at the given index. - */ - public int getTagsValue(int index) { - return tags_.getInt(index); - } - /** - * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; - * @param index The index to set the value at. - * @param value The enum numeric value on the wire for tags to set. - * @return This builder for chaining. - */ - public Builder setTagsValue( - int index, int value) { - ensureTagsIsMutable(); - tags_.setInt(index, value); - onChanged(); - return this; - } - /** - * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; - * @param value The enum numeric value on the wire for tags to add. - * @return This builder for chaining. - */ - public Builder addTagsValue(int value) { - ensureTagsIsMutable(); - tags_.addInt(value); - onChanged(); - return this; - } - /** - * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; - * @param values The enum numeric values on the wire for tags to add. - * @return This builder for chaining. - */ - public Builder addAllTagsValue( - java.lang.Iterable values) { - ensureTagsIsMutable(); - for (int value : values) { - tags_.addInt(value); - } - onChanged(); - return this; - } - - // @@protoc_insertion_point(builder_scope:scip.Diagnostic) - } - - // @@protoc_insertion_point(class_scope:scip.Diagnostic) - private static final scip.Scip.Diagnostic DEFAULT_INSTANCE; - static { - DEFAULT_INSTANCE = new scip.Scip.Diagnostic(); - } - - public static scip.Scip.Diagnostic getDefaultInstance() { - return DEFAULT_INSTANCE; - } - - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { - @java.lang.Override - public Diagnostic parsePartialFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - Builder builder = newBuilder(); - try { - builder.mergeFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.setUnfinishedMessage(builder.buildPartial()); - } catch (com.google.protobuf.UninitializedMessageException e) { - throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); - } catch (java.io.IOException e) { - throw new com.google.protobuf.InvalidProtocolBufferException(e) - .setUnfinishedMessage(builder.buildPartial()); - } - return builder.buildPartial(); - } - }; - - public static com.google.protobuf.Parser parser() { - return PARSER; - } - - @java.lang.Override - public com.google.protobuf.Parser getParserForType() { - return PARSER; - } - - @java.lang.Override - public scip.Scip.Diagnostic getDefaultInstanceForType() { - return DEFAULT_INSTANCE; - } - - } - - private static final com.google.protobuf.Descriptors.Descriptor - internal_static_scip_Index_descriptor; - private static final - com.google.protobuf.GeneratedMessage.FieldAccessorTable - internal_static_scip_Index_fieldAccessorTable; - private static final com.google.protobuf.Descriptors.Descriptor - internal_static_scip_Metadata_descriptor; - private static final - com.google.protobuf.GeneratedMessage.FieldAccessorTable - internal_static_scip_Metadata_fieldAccessorTable; - private static final com.google.protobuf.Descriptors.Descriptor - internal_static_scip_ToolInfo_descriptor; - private static final - com.google.protobuf.GeneratedMessage.FieldAccessorTable - internal_static_scip_ToolInfo_fieldAccessorTable; - private static final com.google.protobuf.Descriptors.Descriptor - internal_static_scip_Document_descriptor; - private static final - com.google.protobuf.GeneratedMessage.FieldAccessorTable - internal_static_scip_Document_fieldAccessorTable; - private static final com.google.protobuf.Descriptors.Descriptor - internal_static_scip_Symbol_descriptor; - private static final - com.google.protobuf.GeneratedMessage.FieldAccessorTable - internal_static_scip_Symbol_fieldAccessorTable; - private static final com.google.protobuf.Descriptors.Descriptor - internal_static_scip_Package_descriptor; - private static final - com.google.protobuf.GeneratedMessage.FieldAccessorTable - internal_static_scip_Package_fieldAccessorTable; - private static final com.google.protobuf.Descriptors.Descriptor - internal_static_scip_Descriptor_descriptor; - private static final - com.google.protobuf.GeneratedMessage.FieldAccessorTable - internal_static_scip_Descriptor_fieldAccessorTable; - private static final com.google.protobuf.Descriptors.Descriptor - internal_static_scip_Signature_descriptor; - private static final - com.google.protobuf.GeneratedMessage.FieldAccessorTable - internal_static_scip_Signature_fieldAccessorTable; - private static final com.google.protobuf.Descriptors.Descriptor - internal_static_scip_SymbolInformation_descriptor; - private static final - com.google.protobuf.GeneratedMessage.FieldAccessorTable - internal_static_scip_SymbolInformation_fieldAccessorTable; - private static final com.google.protobuf.Descriptors.Descriptor - internal_static_scip_Relationship_descriptor; - private static final - com.google.protobuf.GeneratedMessage.FieldAccessorTable - internal_static_scip_Relationship_fieldAccessorTable; - private static final com.google.protobuf.Descriptors.Descriptor - internal_static_scip_Occurrence_descriptor; - private static final - com.google.protobuf.GeneratedMessage.FieldAccessorTable - internal_static_scip_Occurrence_fieldAccessorTable; - private static final com.google.protobuf.Descriptors.Descriptor - internal_static_scip_Diagnostic_descriptor; - private static final - com.google.protobuf.GeneratedMessage.FieldAccessorTable - internal_static_scip_Diagnostic_fieldAccessorTable; - - public static com.google.protobuf.Descriptors.FileDescriptor - getDescriptor() { - return descriptor; - } - private static com.google.protobuf.Descriptors.FileDescriptor - descriptor; - static { - java.lang.String[] descriptorData = { - "\n\nscip.proto\022\004scip\"\245\001\n\005Index\022*\n\010metadata" + - "\030\001 \001(\0132\016.scip.MetadataR\010metadata\022,\n\tdocu" + - "ments\030\002 \003(\0132\016.scip.DocumentR\tdocuments\022B" + - "\n\020external_symbols\030\003 \003(\0132\027.scip.SymbolIn" + - "formationR\017externalSymbols\"\325\001\n\010Metadata\022" + - "/\n\007version\030\001 \001(\0162\025.scip.ProtocolVersionR" + - "\007version\022+\n\ttool_info\030\002 \001(\0132\016.scip.ToolI" + - "nfoR\010toolInfo\022!\n\014project_root\030\003 \001(\tR\013pro" + - "jectRoot\022H\n\026text_document_encoding\030\004 \001(\016" + - "2\022.scip.TextEncodingR\024textDocumentEncodi" + - "ng\"V\n\010ToolInfo\022\022\n\004name\030\001 \001(\tR\004name\022\030\n\007ve" + - "rsion\030\002 \001(\tR\007version\022\034\n\targuments\030\003 \003(\tR" + - "\targuments\"\213\002\n\010Document\022\032\n\010language\030\004 \001(" + - "\tR\010language\022#\n\rrelative_path\030\001 \001(\tR\014rela" + - "tivePath\0222\n\013occurrences\030\002 \003(\0132\020.scip.Occ" + - "urrenceR\013occurrences\0221\n\007symbols\030\003 \003(\0132\027." + - "scip.SymbolInformationR\007symbols\022\022\n\004text\030" + - "\005 \001(\tR\004text\022C\n\021position_encoding\030\006 \001(\0162\026" + - ".scip.PositionEncodingR\020positionEncoding" + - "\"}\n\006Symbol\022\026\n\006scheme\030\001 \001(\tR\006scheme\022\'\n\007pa" + - "ckage\030\002 \001(\0132\r.scip.PackageR\007package\0222\n\013d" + - "escriptors\030\003 \003(\0132\020.scip.DescriptorR\013desc" + - "riptors\"Q\n\007Package\022\030\n\007manager\030\001 \001(\tR\007man" + - "ager\022\022\n\004name\030\002 \001(\tR\004name\022\030\n\007version\030\003 \001(" + - "\tR\007version\"\237\002\n\nDescriptor\022\022\n\004name\030\001 \001(\tR" + - "\004name\022$\n\rdisambiguator\030\002 \001(\tR\rdisambigua" + - "tor\022/\n\006suffix\030\003 \001(\0162\027.scip.Descriptor.Su" + - "ffixR\006suffix\"\245\001\n\006Suffix\022\025\n\021UnspecifiedSu" + - "ffix\020\000\022\r\n\tNamespace\020\001\022\017\n\007Package\020\001\032\002\010\001\022\010" + - "\n\004Type\020\002\022\010\n\004Term\020\003\022\n\n\006Method\020\004\022\021\n\rTypePa" + - "rameter\020\005\022\r\n\tParameter\020\006\022\010\n\004Meta\020\007\022\t\n\005Lo" + - "cal\020\010\022\t\n\005Macro\020\t\032\002\020\001\"\201\001\n\tSignature\022\032\n\010la" + - "nguage\030\004 \001(\tR\010language\022\022\n\004text\030\005 \001(\tR\004te" + - "xt\0222\n\013occurrences\030\002 \003(\0132\020.scip.Occurrenc" + - "eR\013occurrencesJ\004\010\001\020\002J\004\010\003\020\004J\004\010\006\020\007\"\323\014\n\021Sym" + - "bolInformation\022\026\n\006symbol\030\001 \001(\tR\006symbol\022$" + - "\n\rdocumentation\030\003 \003(\tR\rdocumentation\0228\n\r" + - "relationships\030\004 \003(\0132\022.scip.RelationshipR" + - "\rrelationships\0220\n\004kind\030\005 \001(\0162\034.scip.Symb" + - "olInformation.KindR\004kind\022!\n\014display_name" + - "\030\006 \001(\tR\013displayName\022H\n\027signature_documen" + - "tation\030\007 \001(\0132\017.scip.SignatureR\026signature" + - "Documentation\022)\n\020enclosing_symbol\030\010 \001(\tR" + - "\017enclosingSymbol\"\373\t\n\004Kind\022\023\n\017Unspecified" + - "Kind\020\000\022\022\n\016AbstractMethod\020B\022\014\n\010Accessor\020H" + - "\022\t\n\005Array\020\001\022\r\n\tAssertion\020\002\022\022\n\016Associated" + - "Type\020\003\022\r\n\tAttribute\020\004\022\t\n\005Axiom\020\005\022\013\n\007Bool" + - "ean\020\006\022\t\n\005Class\020\007\022\013\n\007Concept\020V\022\014\n\010Constan" + - "t\020\010\022\017\n\013Constructor\020\t\022\014\n\010Contract\020>\022\016\n\nDa" + - "taFamily\020\n\022\014\n\010Delegate\020I\022\010\n\004Enum\020\013\022\016\n\nEn" + - "umMember\020\014\022\t\n\005Error\020?\022\t\n\005Event\020\r\022\r\n\tExte" + - "nsion\020T\022\010\n\004Fact\020\016\022\t\n\005Field\020\017\022\010\n\004File\020\020\022\014" + - "\n\010Function\020\021\022\n\n\006Getter\020\022\022\013\n\007Grammar\020\023\022\014\n" + - "\010Instance\020\024\022\r\n\tInterface\020\025\022\007\n\003Key\020\026\022\010\n\004L" + - "ang\020\027\022\t\n\005Lemma\020\030\022\013\n\007Library\020@\022\t\n\005Macro\020\031" + - "\022\n\n\006Method\020\032\022\017\n\013MethodAlias\020J\022\022\n\016MethodR" + - "eceiver\020\033\022\027\n\023MethodSpecification\020C\022\013\n\007Me" + - "ssage\020\034\022\t\n\005Mixin\020U\022\014\n\010Modifier\020A\022\n\n\006Modu" + - "le\020\035\022\r\n\tNamespace\020\036\022\010\n\004Null\020\037\022\n\n\006Number\020" + - " \022\n\n\006Object\020!\022\014\n\010Operator\020\"\022\013\n\007Package\020#" + - "\022\021\n\rPackageObject\020$\022\r\n\tParameter\020%\022\022\n\016Pa" + - "rameterLabel\020&\022\013\n\007Pattern\020\'\022\r\n\tPredicate" + - "\020(\022\014\n\010Property\020)\022\014\n\010Protocol\020*\022\022\n\016Protoc" + - "olMethod\020D\022\025\n\021PureVirtualMethod\020E\022\017\n\013Qua" + - "siquoter\020+\022\021\n\rSelfParameter\020,\022\n\n\006Setter\020" + - "-\022\r\n\tSignature\020.\022\022\n\016SingletonClass\020K\022\023\n\017" + - "SingletonMethod\020L\022\024\n\020StaticDataMember\020M\022" + - "\017\n\013StaticEvent\020N\022\017\n\013StaticField\020O\022\020\n\014Sta" + - "ticMethod\020P\022\022\n\016StaticProperty\020Q\022\022\n\016Stati" + - "cVariable\020R\022\n\n\006String\0200\022\n\n\006Struct\0201\022\r\n\tS" + - "ubscript\020/\022\n\n\006Tactic\0202\022\013\n\007Theorem\0203\022\021\n\rT" + - "hisParameter\0204\022\t\n\005Trait\0205\022\017\n\013TraitMethod" + - "\020F\022\010\n\004Type\0206\022\r\n\tTypeAlias\0207\022\r\n\tTypeClass" + - "\0208\022\023\n\017TypeClassMethod\020G\022\016\n\nTypeFamily\0209\022" + - "\021\n\rTypeParameter\020:\022\t\n\005Union\020;\022\t\n\005Value\020<" + - "\022\014\n\010Variable\020=\"\311\001\n\014Relationship\022\026\n\006symbo" + - "l\030\001 \001(\tR\006symbol\022!\n\014is_reference\030\002 \001(\010R\013i" + - "sReference\022+\n\021is_implementation\030\003 \001(\010R\020i" + - "sImplementation\022,\n\022is_type_definition\030\004 " + - "\001(\010R\020isTypeDefinition\022#\n\ris_definition\030\005" + - " \001(\010R\014isDefinition\"\244\002\n\nOccurrence\022\024\n\005ran" + - "ge\030\001 \003(\005R\005range\022\026\n\006symbol\030\002 \001(\tR\006symbol\022" + - "!\n\014symbol_roles\030\003 \001(\005R\013symbolRoles\0225\n\026ov" + - "erride_documentation\030\004 \003(\tR\025overrideDocu" + - "mentation\0221\n\013syntax_kind\030\005 \001(\0162\020.scip.Sy" + - "ntaxKindR\nsyntaxKind\0222\n\013diagnostics\030\006 \003(" + - "\0132\020.scip.DiagnosticR\013diagnostics\022\'\n\017encl" + - "osing_range\030\007 \003(\005R\016enclosingRange\"\247\001\n\nDi" + - "agnostic\022*\n\010severity\030\001 \001(\0162\016.scip.Severi" + - "tyR\010severity\022\022\n\004code\030\002 \001(\tR\004code\022\030\n\007mess" + - "age\030\003 \001(\tR\007message\022\026\n\006source\030\004 \001(\tR\006sour" + - "ce\022\'\n\004tags\030\005 \003(\0162\023.scip.DiagnosticTagR\004t" + - "ags*1\n\017ProtocolVersion\022\036\n\032UnspecifiedPro" + - "tocolVersion\020\000*@\n\014TextEncoding\022\033\n\027Unspec" + - "ifiedTextEncoding\020\000\022\010\n\004UTF8\020\001\022\t\n\005UTF16\020\002" + - "*\244\001\n\020PositionEncoding\022\037\n\033UnspecifiedPosi" + - "tionEncoding\020\000\022#\n\037UTF8CodeUnitOffsetFrom" + - "LineStart\020\001\022$\n UTF16CodeUnitOffsetFromLi" + - "neStart\020\002\022$\n UTF32CodeUnitOffsetFromLine" + - "Start\020\003*\224\001\n\nSymbolRole\022\031\n\025UnspecifiedSym" + - "bolRole\020\000\022\016\n\nDefinition\020\001\022\n\n\006Import\020\002\022\017\n" + - "\013WriteAccess\020\004\022\016\n\nReadAccess\020\010\022\r\n\tGenera" + - "ted\020\020\022\010\n\004Test\020 \022\025\n\021ForwardDefinition\020@*\352" + - "\006\n\nSyntaxKind\022\031\n\025UnspecifiedSyntaxKind\020\000" + - "\022\013\n\007Comment\020\001\022\030\n\024PunctuationDelimiter\020\002\022" + - "\026\n\022PunctuationBracket\020\003\022\013\n\007Keyword\020\004\022\031\n\021" + - "IdentifierKeyword\020\004\032\002\010\001\022\026\n\022IdentifierOpe" + - "rator\020\005\022\016\n\nIdentifier\020\006\022\025\n\021IdentifierBui" + - "ltin\020\007\022\022\n\016IdentifierNull\020\010\022\026\n\022Identifier" + - "Constant\020\t\022\033\n\027IdentifierMutableGlobal\020\n\022" + - "\027\n\023IdentifierParameter\020\013\022\023\n\017IdentifierLo" + - "cal\020\014\022\026\n\022IdentifierShadowed\020\r\022\027\n\023Identif" + - "ierNamespace\020\016\022\030\n\020IdentifierModule\020\016\032\002\010\001" + - "\022\026\n\022IdentifierFunction\020\017\022 \n\034IdentifierFu" + - "nctionDefinition\020\020\022\023\n\017IdentifierMacro\020\021\022" + - "\035\n\031IdentifierMacroDefinition\020\022\022\022\n\016Identi" + - "fierType\020\023\022\031\n\025IdentifierBuiltinType\020\024\022\027\n" + - "\023IdentifierAttribute\020\025\022\017\n\013RegexEscape\020\026\022" + - "\021\n\rRegexRepeated\020\027\022\021\n\rRegexWildcard\020\030\022\022\n" + - "\016RegexDelimiter\020\031\022\r\n\tRegexJoin\020\032\022\021\n\rStri" + - "ngLiteral\020\033\022\027\n\023StringLiteralEscape\020\034\022\030\n\024" + - "StringLiteralSpecial\020\035\022\024\n\020StringLiteralK" + - "ey\020\036\022\024\n\020CharacterLiteral\020\037\022\022\n\016NumericLit" + - "eral\020 \022\022\n\016BooleanLiteral\020!\022\007\n\003Tag\020\"\022\020\n\014T" + - "agAttribute\020#\022\020\n\014TagDelimiter\020$\032\002\020\001*V\n\010S" + - "everity\022\027\n\023UnspecifiedSeverity\020\000\022\t\n\005Erro" + - "r\020\001\022\013\n\007Warning\020\002\022\017\n\013Information\020\003\022\010\n\004Hin" + - "t\020\004*N\n\rDiagnosticTag\022\034\n\030UnspecifiedDiagn" + - "osticTag\020\000\022\017\n\013Unnecessary\020\001\022\016\n\nDeprecate" + - "d\020\002*\233\n\n\010Language\022\027\n\023UnspecifiedLanguage\020" + - "\000\022\010\n\004ABAP\020<\022\010\n\004Apex\020`\022\007\n\003APL\0201\022\007\n\003Ada\020\'\022" + - "\010\n\004Agda\020-\022\014\n\010AsciiDoc\020V\022\014\n\010Assembly\020:\022\007\n" + - "\003Awk\020B\022\007\n\003Bat\020D\022\n\n\006BibTeX\020Q\022\005\n\001C\020\"\022\t\n\005CO" + - "BOL\020;\022\007\n\003CPP\020#\022\007\n\003CSS\020\032\022\n\n\006CSharp\020\001\022\013\n\007C" + - "lojure\020\010\022\020\n\014Coffeescript\020\025\022\016\n\nCommonLisp" + - "\020\t\022\007\n\003Coq\020/\022\010\n\004CUDA\020a\022\010\n\004Dart\020\003\022\n\n\006Delph" + - "i\0209\022\010\n\004Diff\020X\022\016\n\nDockerfile\020P\022\n\n\006Dyalog\020" + - "2\022\n\n\006Elixir\020\021\022\n\n\006Erlang\020\022\022\n\n\006FSharp\020*\022\010\n" + - "\004Fish\020A\022\010\n\004Flow\020\030\022\013\n\007Fortran\0208\022\016\n\nGit_Co" + - "mmit\020[\022\016\n\nGit_Config\020Y\022\016\n\nGit_Rebase\020\\\022\006" + - "\n\002Go\020!\022\013\n\007GraphQL\020b\022\n\n\006Groovy\020\007\022\010\n\004HTML\020" + - "\036\022\010\n\004Hack\020\024\022\016\n\nHandlebars\020Z\022\013\n\007Haskell\020," + - "\022\t\n\005Idris\020.\022\007\n\003Ini\020H\022\005\n\001J\0203\022\010\n\004JSON\020K\022\010\n" + - "\004Java\020\006\022\016\n\nJavaScript\020\026\022\023\n\017JavaScriptRea" + - "ct\020]\022\013\n\007Jsonnet\020L\022\t\n\005Julia\0207\022\014\n\010Justfile" + - "\020m\022\n\n\006Kotlin\020\004\022\t\n\005LaTeX\020S\022\010\n\004Lean\0200\022\010\n\004L" + - "ess\020\033\022\007\n\003Lua\020\014\022\010\n\004Luau\020l\022\014\n\010Makefile\020O\022\014" + - "\n\010Markdown\020T\022\n\n\006Matlab\0204\022\n\n\006Nickel\020n\022\007\n\003" + - "Nix\020M\022\t\n\005OCaml\020)\022\017\n\013Objective_C\020$\022\021\n\rObj" + - "ective_CPP\020%\022\n\n\006Pascal\020c\022\007\n\003PHP\020\023\022\t\n\005PLS" + - "QL\020F\022\010\n\004Perl\020\r\022\016\n\nPowerShell\020C\022\n\n\006Prolog" + - "\020G\022\014\n\010Protobuf\020d\022\n\n\006Python\020\017\022\005\n\001R\0206\022\n\n\006R" + - "acket\020\013\022\010\n\004Raku\020\016\022\t\n\005Razor\020>\022\t\n\005Repro\020f\022" + - "\010\n\004ReST\020U\022\010\n\004Ruby\020\020\022\010\n\004Rust\020(\022\007\n\003SAS\020=\022\010" + - "\n\004SCSS\020\035\022\007\n\003SML\020+\022\007\n\003SQL\020E\022\010\n\004Sass\020\034\022\t\n\005" + - "Scala\020\005\022\n\n\006Scheme\020\n\022\017\n\013ShellScript\020@\022\013\n\007" + - "Skylark\020N\022\t\n\005Slang\020k\022\014\n\010Solidity\020_\022\n\n\006Sv" + - "elte\020j\022\t\n\005Swift\020\002\022\007\n\003Tcl\020e\022\010\n\004TOML\020I\022\007\n\003" + - "TeX\020R\022\n\n\006Thrift\020g\022\016\n\nTypeScript\020\027\022\023\n\017Typ" + - "eScriptReact\020^\022\013\n\007Verilog\020h\022\010\n\004VHDL\020i\022\017\n" + - "\013VisualBasic\020?\022\007\n\003Vue\020\031\022\013\n\007Wolfram\0205\022\007\n\003" + - "XML\020\037\022\007\n\003XSL\020 \022\010\n\004YAML\020J\022\007\n\003Zig\020&B-Z+git" + - "hub.com/scip-code/scip/bindings/go/scip/" + - "b\006proto3" - }; - descriptor = com.google.protobuf.Descriptors.FileDescriptor - .internalBuildGeneratedFileFrom(descriptorData, - new com.google.protobuf.Descriptors.FileDescriptor[] { - }); - internal_static_scip_Index_descriptor = - getDescriptor().getMessageTypes().get(0); - internal_static_scip_Index_fieldAccessorTable = new - com.google.protobuf.GeneratedMessage.FieldAccessorTable( - internal_static_scip_Index_descriptor, - new java.lang.String[] { "Metadata", "Documents", "ExternalSymbols", }); - internal_static_scip_Metadata_descriptor = - getDescriptor().getMessageTypes().get(1); - internal_static_scip_Metadata_fieldAccessorTable = new - com.google.protobuf.GeneratedMessage.FieldAccessorTable( - internal_static_scip_Metadata_descriptor, - new java.lang.String[] { "Version", "ToolInfo", "ProjectRoot", "TextDocumentEncoding", }); - internal_static_scip_ToolInfo_descriptor = - getDescriptor().getMessageTypes().get(2); - internal_static_scip_ToolInfo_fieldAccessorTable = new - com.google.protobuf.GeneratedMessage.FieldAccessorTable( - internal_static_scip_ToolInfo_descriptor, - new java.lang.String[] { "Name", "Version", "Arguments", }); - internal_static_scip_Document_descriptor = - getDescriptor().getMessageTypes().get(3); - internal_static_scip_Document_fieldAccessorTable = new - com.google.protobuf.GeneratedMessage.FieldAccessorTable( - internal_static_scip_Document_descriptor, - new java.lang.String[] { "Language", "RelativePath", "Occurrences", "Symbols", "Text", "PositionEncoding", }); - internal_static_scip_Symbol_descriptor = - getDescriptor().getMessageTypes().get(4); - internal_static_scip_Symbol_fieldAccessorTable = new - com.google.protobuf.GeneratedMessage.FieldAccessorTable( - internal_static_scip_Symbol_descriptor, - new java.lang.String[] { "Scheme", "Package", "Descriptors", }); - internal_static_scip_Package_descriptor = - getDescriptor().getMessageTypes().get(5); - internal_static_scip_Package_fieldAccessorTable = new - com.google.protobuf.GeneratedMessage.FieldAccessorTable( - internal_static_scip_Package_descriptor, - new java.lang.String[] { "Manager", "Name", "Version", }); - internal_static_scip_Descriptor_descriptor = - getDescriptor().getMessageTypes().get(6); - internal_static_scip_Descriptor_fieldAccessorTable = new - com.google.protobuf.GeneratedMessage.FieldAccessorTable( - internal_static_scip_Descriptor_descriptor, - new java.lang.String[] { "Name", "Disambiguator", "Suffix", }); - internal_static_scip_Signature_descriptor = - getDescriptor().getMessageTypes().get(7); - internal_static_scip_Signature_fieldAccessorTable = new - com.google.protobuf.GeneratedMessage.FieldAccessorTable( - internal_static_scip_Signature_descriptor, - new java.lang.String[] { "Language", "Text", "Occurrences", }); - internal_static_scip_SymbolInformation_descriptor = - getDescriptor().getMessageTypes().get(8); - internal_static_scip_SymbolInformation_fieldAccessorTable = new - com.google.protobuf.GeneratedMessage.FieldAccessorTable( - internal_static_scip_SymbolInformation_descriptor, - new java.lang.String[] { "Symbol", "Documentation", "Relationships", "Kind", "DisplayName", "SignatureDocumentation", "EnclosingSymbol", }); - internal_static_scip_Relationship_descriptor = - getDescriptor().getMessageTypes().get(9); - internal_static_scip_Relationship_fieldAccessorTable = new - com.google.protobuf.GeneratedMessage.FieldAccessorTable( - internal_static_scip_Relationship_descriptor, - new java.lang.String[] { "Symbol", "IsReference", "IsImplementation", "IsTypeDefinition", "IsDefinition", }); - internal_static_scip_Occurrence_descriptor = - getDescriptor().getMessageTypes().get(10); - internal_static_scip_Occurrence_fieldAccessorTable = new - com.google.protobuf.GeneratedMessage.FieldAccessorTable( - internal_static_scip_Occurrence_descriptor, - new java.lang.String[] { "Range", "Symbol", "SymbolRoles", "OverrideDocumentation", "SyntaxKind", "Diagnostics", "EnclosingRange", }); - internal_static_scip_Diagnostic_descriptor = - getDescriptor().getMessageTypes().get(11); - internal_static_scip_Diagnostic_fieldAccessorTable = new - com.google.protobuf.GeneratedMessage.FieldAccessorTable( - internal_static_scip_Diagnostic_descriptor, - new java.lang.String[] { "Severity", "Code", "Message", "Source", "Tags", }); - descriptor.resolveAllFeaturesImmutable(); - } - - // @@protoc_insertion_point(outer_class_scope) -} diff --git a/bindings/kotlin/src/main/kotlin/scip/DescriptorKt.kt b/bindings/kotlin/src/main/kotlin/org/scip_code/scip/DescriptorKt.kt similarity index 75% rename from bindings/kotlin/src/main/kotlin/scip/DescriptorKt.kt rename to bindings/kotlin/src/main/kotlin/org/scip_code/scip/DescriptorKt.kt index 8a85aca0..8f3f1c9a 100644 --- a/bindings/kotlin/src/main/kotlin/scip/DescriptorKt.kt +++ b/bindings/kotlin/src/main/kotlin/org/scip_code/scip/DescriptorKt.kt @@ -4,11 +4,11 @@ // Generated files should ignore deprecation warnings @file:Suppress("DEPRECATION") -package scip; +package org.scip_code.scip; @kotlin.jvm.JvmName("-initializedescriptor") -public inline fun descriptor(block: scip.DescriptorKt.Dsl.() -> kotlin.Unit): scip.Scip.Descriptor = - scip.DescriptorKt.Dsl._create(scip.Scip.Descriptor.newBuilder()).apply { block() }._build() +public inline fun descriptor(block: org.scip_code.scip.DescriptorKt.Dsl.() -> kotlin.Unit): org.scip_code.scip.Descriptor = + org.scip_code.scip.DescriptorKt.Dsl._create(org.scip_code.scip.Descriptor.newBuilder()).apply { block() }._build() /** * Protobuf type `scip.Descriptor` */ @@ -16,17 +16,17 @@ public object DescriptorKt { @kotlin.OptIn(com.google.protobuf.kotlin.OnlyForUseByGeneratedProtoCode::class) @com.google.protobuf.kotlin.ProtoDslMarker public class Dsl private constructor( - private val _builder: scip.Scip.Descriptor.Builder + private val _builder: org.scip_code.scip.Descriptor.Builder ) { public companion object { @kotlin.jvm.JvmSynthetic @kotlin.PublishedApi - internal fun _create(builder: scip.Scip.Descriptor.Builder): Dsl = Dsl(builder) + internal fun _create(builder: org.scip_code.scip.Descriptor.Builder): Dsl = Dsl(builder) } @kotlin.jvm.JvmSynthetic @kotlin.PublishedApi - internal fun _build(): scip.Scip.Descriptor = _builder.build() + internal fun _build(): org.scip_code.scip.Descriptor = _builder.build() /** * `string name = 1 [json_name = "name"];` @@ -70,7 +70,7 @@ public object DescriptorKt { * * `.scip.Descriptor.Suffix suffix = 3 [json_name = "suffix"];` */ - public var suffix: scip.Scip.Descriptor.Suffix + public var suffix: org.scip_code.scip.Descriptor.Suffix @kotlin.jvm.JvmName("getSuffix") get() = _builder.suffix @kotlin.jvm.JvmName("setSuffix") @@ -98,6 +98,6 @@ public object DescriptorKt { } } @kotlin.jvm.JvmSynthetic -public inline fun scip.Scip.Descriptor.copy(block: `scip`.DescriptorKt.Dsl.() -> kotlin.Unit): scip.Scip.Descriptor = - `scip`.DescriptorKt.Dsl._create(this.toBuilder()).apply { block() }._build() +public inline fun org.scip_code.scip.Descriptor.copy(block: `org.scip_code.scip`.DescriptorKt.Dsl.() -> kotlin.Unit): org.scip_code.scip.Descriptor = + `org.scip_code.scip`.DescriptorKt.Dsl._create(this.toBuilder()).apply { block() }._build() diff --git a/bindings/kotlin/src/main/kotlin/scip/DiagnosticKt.kt b/bindings/kotlin/src/main/kotlin/org/scip_code/scip/DiagnosticKt.kt similarity index 76% rename from bindings/kotlin/src/main/kotlin/scip/DiagnosticKt.kt rename to bindings/kotlin/src/main/kotlin/org/scip_code/scip/DiagnosticKt.kt index 3e92f923..ad6d42d1 100644 --- a/bindings/kotlin/src/main/kotlin/scip/DiagnosticKt.kt +++ b/bindings/kotlin/src/main/kotlin/org/scip_code/scip/DiagnosticKt.kt @@ -4,11 +4,11 @@ // Generated files should ignore deprecation warnings @file:Suppress("DEPRECATION") -package scip; +package org.scip_code.scip; @kotlin.jvm.JvmName("-initializediagnostic") -public inline fun diagnostic(block: scip.DiagnosticKt.Dsl.() -> kotlin.Unit): scip.Scip.Diagnostic = - scip.DiagnosticKt.Dsl._create(scip.Scip.Diagnostic.newBuilder()).apply { block() }._build() +public inline fun diagnostic(block: org.scip_code.scip.DiagnosticKt.Dsl.() -> kotlin.Unit): org.scip_code.scip.Diagnostic = + org.scip_code.scip.DiagnosticKt.Dsl._create(org.scip_code.scip.Diagnostic.newBuilder()).apply { block() }._build() /** * ``` * Represents a diagnostic, such as a compiler error or warning, which should be @@ -21,17 +21,17 @@ public object DiagnosticKt { @kotlin.OptIn(com.google.protobuf.kotlin.OnlyForUseByGeneratedProtoCode::class) @com.google.protobuf.kotlin.ProtoDslMarker public class Dsl private constructor( - private val _builder: scip.Scip.Diagnostic.Builder + private val _builder: org.scip_code.scip.Diagnostic.Builder ) { public companion object { @kotlin.jvm.JvmSynthetic @kotlin.PublishedApi - internal fun _create(builder: scip.Scip.Diagnostic.Builder): Dsl = Dsl(builder) + internal fun _create(builder: org.scip_code.scip.Diagnostic.Builder): Dsl = Dsl(builder) } @kotlin.jvm.JvmSynthetic @kotlin.PublishedApi - internal fun _build(): scip.Scip.Diagnostic = _builder.build() + internal fun _build(): org.scip_code.scip.Diagnostic = _builder.build() /** * ``` @@ -40,7 +40,7 @@ public object DiagnosticKt { * * `.scip.Severity severity = 1 [json_name = "severity"];` */ - public var severity: scip.Scip.Severity + public var severity: org.scip_code.scip.Severity @kotlin.jvm.JvmName("getSeverity") get() = _builder.severity @kotlin.jvm.JvmName("setSeverity") @@ -151,7 +151,7 @@ public object DiagnosticKt { /** * `repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"];` */ - public val tags: com.google.protobuf.kotlin.DslList + public val tags: com.google.protobuf.kotlin.DslList @kotlin.jvm.JvmSynthetic get() = com.google.protobuf.kotlin.DslList( _builder.tagsList @@ -162,7 +162,7 @@ public object DiagnosticKt { */ @kotlin.jvm.JvmSynthetic @kotlin.jvm.JvmName("addTags") - public fun com.google.protobuf.kotlin.DslList.add(value: scip.Scip.DiagnosticTag) { + public fun com.google.protobuf.kotlin.DslList.add(value: org.scip_code.scip.DiagnosticTag) { _builder.addTags(value) }/** * `repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"];` @@ -171,7 +171,7 @@ public object DiagnosticKt { @kotlin.jvm.JvmSynthetic @kotlin.jvm.JvmName("plusAssignTags") @Suppress("NOTHING_TO_INLINE") - public inline operator fun com.google.protobuf.kotlin.DslList.plusAssign(value: scip.Scip.DiagnosticTag) { + public inline operator fun com.google.protobuf.kotlin.DslList.plusAssign(value: org.scip_code.scip.DiagnosticTag) { add(value) }/** * `repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"];` @@ -179,7 +179,7 @@ public object DiagnosticKt { */ @kotlin.jvm.JvmSynthetic @kotlin.jvm.JvmName("addAllTags") - public fun com.google.protobuf.kotlin.DslList.addAll(values: kotlin.collections.Iterable) { + public fun com.google.protobuf.kotlin.DslList.addAll(values: kotlin.collections.Iterable) { _builder.addAllTags(values) }/** * `repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"];` @@ -188,7 +188,7 @@ public object DiagnosticKt { @kotlin.jvm.JvmSynthetic @kotlin.jvm.JvmName("plusAssignAllTags") @Suppress("NOTHING_TO_INLINE") - public inline operator fun com.google.protobuf.kotlin.DslList.plusAssign(values: kotlin.collections.Iterable) { + public inline operator fun com.google.protobuf.kotlin.DslList.plusAssign(values: kotlin.collections.Iterable) { addAll(values) }/** * `repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"];` @@ -197,18 +197,18 @@ public object DiagnosticKt { */ @kotlin.jvm.JvmSynthetic @kotlin.jvm.JvmName("setTags") - public operator fun com.google.protobuf.kotlin.DslList.set(index: kotlin.Int, value: scip.Scip.DiagnosticTag) { + public operator fun com.google.protobuf.kotlin.DslList.set(index: kotlin.Int, value: org.scip_code.scip.DiagnosticTag) { _builder.setTags(index, value) }/** * `repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"];` */ @kotlin.jvm.JvmSynthetic @kotlin.jvm.JvmName("clearTags") - public fun com.google.protobuf.kotlin.DslList.clear() { + public fun com.google.protobuf.kotlin.DslList.clear() { _builder.clearTags() }} } @kotlin.jvm.JvmSynthetic -public inline fun scip.Scip.Diagnostic.copy(block: `scip`.DiagnosticKt.Dsl.() -> kotlin.Unit): scip.Scip.Diagnostic = - `scip`.DiagnosticKt.Dsl._create(this.toBuilder()).apply { block() }._build() +public inline fun org.scip_code.scip.Diagnostic.copy(block: `org.scip_code.scip`.DiagnosticKt.Dsl.() -> kotlin.Unit): org.scip_code.scip.Diagnostic = + `org.scip_code.scip`.DiagnosticKt.Dsl._create(this.toBuilder()).apply { block() }._build() diff --git a/bindings/kotlin/src/main/kotlin/scip/DocumentKt.kt b/bindings/kotlin/src/main/kotlin/org/scip_code/scip/DocumentKt.kt similarity index 83% rename from bindings/kotlin/src/main/kotlin/scip/DocumentKt.kt rename to bindings/kotlin/src/main/kotlin/org/scip_code/scip/DocumentKt.kt index 509ee908..52104ccb 100644 --- a/bindings/kotlin/src/main/kotlin/scip/DocumentKt.kt +++ b/bindings/kotlin/src/main/kotlin/org/scip_code/scip/DocumentKt.kt @@ -4,11 +4,11 @@ // Generated files should ignore deprecation warnings @file:Suppress("DEPRECATION") -package scip; +package org.scip_code.scip; @kotlin.jvm.JvmName("-initializedocument") -public inline fun document(block: scip.DocumentKt.Dsl.() -> kotlin.Unit): scip.Scip.Document = - scip.DocumentKt.Dsl._create(scip.Scip.Document.newBuilder()).apply { block() }._build() +public inline fun document(block: org.scip_code.scip.DocumentKt.Dsl.() -> kotlin.Unit): org.scip_code.scip.Document = + org.scip_code.scip.DocumentKt.Dsl._create(org.scip_code.scip.Document.newBuilder()).apply { block() }._build() /** * ``` * Document defines the metadata about a source file on disk. @@ -20,17 +20,17 @@ public object DocumentKt { @kotlin.OptIn(com.google.protobuf.kotlin.OnlyForUseByGeneratedProtoCode::class) @com.google.protobuf.kotlin.ProtoDslMarker public class Dsl private constructor( - private val _builder: scip.Scip.Document.Builder + private val _builder: org.scip_code.scip.Document.Builder ) { public companion object { @kotlin.jvm.JvmSynthetic @kotlin.PublishedApi - internal fun _create(builder: scip.Scip.Document.Builder): Dsl = Dsl(builder) + internal fun _create(builder: org.scip_code.scip.Document.Builder): Dsl = Dsl(builder) } @kotlin.jvm.JvmSynthetic @kotlin.PublishedApi - internal fun _build(): scip.Scip.Document = _builder.build() + internal fun _build(): org.scip_code.scip.Document = _builder.build() /** * ``` @@ -117,7 +117,7 @@ public object DocumentKt { * * `repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"];` */ - public val occurrences: com.google.protobuf.kotlin.DslList + public val occurrences: com.google.protobuf.kotlin.DslList @kotlin.jvm.JvmSynthetic get() = com.google.protobuf.kotlin.DslList( _builder.occurrencesList @@ -132,7 +132,7 @@ public object DocumentKt { */ @kotlin.jvm.JvmSynthetic @kotlin.jvm.JvmName("addOccurrences") - public fun com.google.protobuf.kotlin.DslList.add(value: scip.Scip.Occurrence) { + public fun com.google.protobuf.kotlin.DslList.add(value: org.scip_code.scip.Occurrence) { _builder.addOccurrences(value) } /** @@ -146,7 +146,7 @@ public object DocumentKt { @kotlin.jvm.JvmSynthetic @kotlin.jvm.JvmName("plusAssignOccurrences") @Suppress("NOTHING_TO_INLINE") - public inline operator fun com.google.protobuf.kotlin.DslList.plusAssign(value: scip.Scip.Occurrence) { + public inline operator fun com.google.protobuf.kotlin.DslList.plusAssign(value: org.scip_code.scip.Occurrence) { add(value) } /** @@ -159,7 +159,7 @@ public object DocumentKt { */ @kotlin.jvm.JvmSynthetic @kotlin.jvm.JvmName("addAllOccurrences") - public fun com.google.protobuf.kotlin.DslList.addAll(values: kotlin.collections.Iterable) { + public fun com.google.protobuf.kotlin.DslList.addAll(values: kotlin.collections.Iterable) { _builder.addAllOccurrences(values) } /** @@ -173,7 +173,7 @@ public object DocumentKt { @kotlin.jvm.JvmSynthetic @kotlin.jvm.JvmName("plusAssignAllOccurrences") @Suppress("NOTHING_TO_INLINE") - public inline operator fun com.google.protobuf.kotlin.DslList.plusAssign(values: kotlin.collections.Iterable) { + public inline operator fun com.google.protobuf.kotlin.DslList.plusAssign(values: kotlin.collections.Iterable) { addAll(values) } /** @@ -187,7 +187,7 @@ public object DocumentKt { */ @kotlin.jvm.JvmSynthetic @kotlin.jvm.JvmName("setOccurrences") - public operator fun com.google.protobuf.kotlin.DslList.set(index: kotlin.Int, value: scip.Scip.Occurrence) { + public operator fun com.google.protobuf.kotlin.DslList.set(index: kotlin.Int, value: org.scip_code.scip.Occurrence) { _builder.setOccurrences(index, value) } /** @@ -199,7 +199,7 @@ public object DocumentKt { */ @kotlin.jvm.JvmSynthetic @kotlin.jvm.JvmName("clearOccurrences") - public fun com.google.protobuf.kotlin.DslList.clear() { + public fun com.google.protobuf.kotlin.DslList.clear() { _builder.clearOccurrences() } @@ -220,7 +220,7 @@ public object DocumentKt { * * `repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"];` */ - public val symbols: com.google.protobuf.kotlin.DslList + public val symbols: com.google.protobuf.kotlin.DslList @kotlin.jvm.JvmSynthetic get() = com.google.protobuf.kotlin.DslList( _builder.symbolsList @@ -239,7 +239,7 @@ public object DocumentKt { */ @kotlin.jvm.JvmSynthetic @kotlin.jvm.JvmName("addSymbols") - public fun com.google.protobuf.kotlin.DslList.add(value: scip.Scip.SymbolInformation) { + public fun com.google.protobuf.kotlin.DslList.add(value: org.scip_code.scip.SymbolInformation) { _builder.addSymbols(value) } /** @@ -257,7 +257,7 @@ public object DocumentKt { @kotlin.jvm.JvmSynthetic @kotlin.jvm.JvmName("plusAssignSymbols") @Suppress("NOTHING_TO_INLINE") - public inline operator fun com.google.protobuf.kotlin.DslList.plusAssign(value: scip.Scip.SymbolInformation) { + public inline operator fun com.google.protobuf.kotlin.DslList.plusAssign(value: org.scip_code.scip.SymbolInformation) { add(value) } /** @@ -274,7 +274,7 @@ public object DocumentKt { */ @kotlin.jvm.JvmSynthetic @kotlin.jvm.JvmName("addAllSymbols") - public fun com.google.protobuf.kotlin.DslList.addAll(values: kotlin.collections.Iterable) { + public fun com.google.protobuf.kotlin.DslList.addAll(values: kotlin.collections.Iterable) { _builder.addAllSymbols(values) } /** @@ -292,7 +292,7 @@ public object DocumentKt { @kotlin.jvm.JvmSynthetic @kotlin.jvm.JvmName("plusAssignAllSymbols") @Suppress("NOTHING_TO_INLINE") - public inline operator fun com.google.protobuf.kotlin.DslList.plusAssign(values: kotlin.collections.Iterable) { + public inline operator fun com.google.protobuf.kotlin.DslList.plusAssign(values: kotlin.collections.Iterable) { addAll(values) } /** @@ -310,7 +310,7 @@ public object DocumentKt { */ @kotlin.jvm.JvmSynthetic @kotlin.jvm.JvmName("setSymbols") - public operator fun com.google.protobuf.kotlin.DslList.set(index: kotlin.Int, value: scip.Scip.SymbolInformation) { + public operator fun com.google.protobuf.kotlin.DslList.set(index: kotlin.Int, value: org.scip_code.scip.SymbolInformation) { _builder.setSymbols(index, value) } /** @@ -326,7 +326,7 @@ public object DocumentKt { */ @kotlin.jvm.JvmSynthetic @kotlin.jvm.JvmName("clearSymbols") - public fun com.google.protobuf.kotlin.DslList.clear() { + public fun com.google.protobuf.kotlin.DslList.clear() { _builder.clearSymbols() } @@ -379,7 +379,7 @@ public object DocumentKt { * * `.scip.PositionEncoding position_encoding = 6 [json_name = "positionEncoding"];` */ - public var positionEncoding: scip.Scip.PositionEncoding + public var positionEncoding: org.scip_code.scip.PositionEncoding @kotlin.jvm.JvmName("getPositionEncoding") get() = _builder.positionEncoding @kotlin.jvm.JvmName("setPositionEncoding") @@ -415,6 +415,6 @@ public object DocumentKt { } } @kotlin.jvm.JvmSynthetic -public inline fun scip.Scip.Document.copy(block: `scip`.DocumentKt.Dsl.() -> kotlin.Unit): scip.Scip.Document = - `scip`.DocumentKt.Dsl._create(this.toBuilder()).apply { block() }._build() +public inline fun org.scip_code.scip.Document.copy(block: `org.scip_code.scip`.DocumentKt.Dsl.() -> kotlin.Unit): org.scip_code.scip.Document = + `org.scip_code.scip`.DocumentKt.Dsl._create(this.toBuilder()).apply { block() }._build() diff --git a/bindings/kotlin/src/main/kotlin/scip/IndexKt.kt b/bindings/kotlin/src/main/kotlin/org/scip_code/scip/IndexKt.kt similarity index 78% rename from bindings/kotlin/src/main/kotlin/scip/IndexKt.kt rename to bindings/kotlin/src/main/kotlin/org/scip_code/scip/IndexKt.kt index 030004f1..29d11434 100644 --- a/bindings/kotlin/src/main/kotlin/scip/IndexKt.kt +++ b/bindings/kotlin/src/main/kotlin/org/scip_code/scip/IndexKt.kt @@ -4,11 +4,11 @@ // Generated files should ignore deprecation warnings @file:Suppress("DEPRECATION") -package scip; +package org.scip_code.scip; @kotlin.jvm.JvmName("-initializeindex") -public inline fun index(block: scip.IndexKt.Dsl.() -> kotlin.Unit): scip.Scip.Index = - scip.IndexKt.Dsl._create(scip.Scip.Index.newBuilder()).apply { block() }._build() +public inline fun index(block: org.scip_code.scip.IndexKt.Dsl.() -> kotlin.Unit): org.scip_code.scip.Index = + org.scip_code.scip.IndexKt.Dsl._create(org.scip_code.scip.Index.newBuilder()).apply { block() }._build() /** * ``` * Index represents a complete SCIP index for a workspace this is rooted at a @@ -25,17 +25,17 @@ public object IndexKt { @kotlin.OptIn(com.google.protobuf.kotlin.OnlyForUseByGeneratedProtoCode::class) @com.google.protobuf.kotlin.ProtoDslMarker public class Dsl private constructor( - private val _builder: scip.Scip.Index.Builder + private val _builder: org.scip_code.scip.Index.Builder ) { public companion object { @kotlin.jvm.JvmSynthetic @kotlin.PublishedApi - internal fun _create(builder: scip.Scip.Index.Builder): Dsl = Dsl(builder) + internal fun _create(builder: org.scip_code.scip.Index.Builder): Dsl = Dsl(builder) } @kotlin.jvm.JvmSynthetic @kotlin.PublishedApi - internal fun _build(): scip.Scip.Index = _builder.build() + internal fun _build(): org.scip_code.scip.Index = _builder.build() /** * ``` @@ -44,7 +44,7 @@ public object IndexKt { * * `.scip.Metadata metadata = 1 [json_name = "metadata"];` */ - public var metadata: scip.Scip.Metadata + public var metadata: org.scip_code.scip.Metadata @kotlin.jvm.JvmName("getMetadata") get() = _builder.metadata @kotlin.jvm.JvmName("setMetadata") @@ -73,7 +73,7 @@ public object IndexKt { return _builder.hasMetadata() } - public val IndexKt.Dsl.metadataOrNull: scip.Scip.Metadata? + public val IndexKt.Dsl.metadataOrNull: org.scip_code.scip.Metadata? get() = _builder.metadataOrNull /** @@ -89,7 +89,7 @@ public object IndexKt { * * `repeated .scip.Document documents = 2 [json_name = "documents"];` */ - public val documents: com.google.protobuf.kotlin.DslList + public val documents: com.google.protobuf.kotlin.DslList @kotlin.jvm.JvmSynthetic get() = com.google.protobuf.kotlin.DslList( _builder.documentsList @@ -104,7 +104,7 @@ public object IndexKt { */ @kotlin.jvm.JvmSynthetic @kotlin.jvm.JvmName("addDocuments") - public fun com.google.protobuf.kotlin.DslList.add(value: scip.Scip.Document) { + public fun com.google.protobuf.kotlin.DslList.add(value: org.scip_code.scip.Document) { _builder.addDocuments(value) } /** @@ -118,7 +118,7 @@ public object IndexKt { @kotlin.jvm.JvmSynthetic @kotlin.jvm.JvmName("plusAssignDocuments") @Suppress("NOTHING_TO_INLINE") - public inline operator fun com.google.protobuf.kotlin.DslList.plusAssign(value: scip.Scip.Document) { + public inline operator fun com.google.protobuf.kotlin.DslList.plusAssign(value: org.scip_code.scip.Document) { add(value) } /** @@ -131,7 +131,7 @@ public object IndexKt { */ @kotlin.jvm.JvmSynthetic @kotlin.jvm.JvmName("addAllDocuments") - public fun com.google.protobuf.kotlin.DslList.addAll(values: kotlin.collections.Iterable) { + public fun com.google.protobuf.kotlin.DslList.addAll(values: kotlin.collections.Iterable) { _builder.addAllDocuments(values) } /** @@ -145,7 +145,7 @@ public object IndexKt { @kotlin.jvm.JvmSynthetic @kotlin.jvm.JvmName("plusAssignAllDocuments") @Suppress("NOTHING_TO_INLINE") - public inline operator fun com.google.protobuf.kotlin.DslList.plusAssign(values: kotlin.collections.Iterable) { + public inline operator fun com.google.protobuf.kotlin.DslList.plusAssign(values: kotlin.collections.Iterable) { addAll(values) } /** @@ -159,7 +159,7 @@ public object IndexKt { */ @kotlin.jvm.JvmSynthetic @kotlin.jvm.JvmName("setDocuments") - public operator fun com.google.protobuf.kotlin.DslList.set(index: kotlin.Int, value: scip.Scip.Document) { + public operator fun com.google.protobuf.kotlin.DslList.set(index: kotlin.Int, value: org.scip_code.scip.Document) { _builder.setDocuments(index, value) } /** @@ -171,7 +171,7 @@ public object IndexKt { */ @kotlin.jvm.JvmSynthetic @kotlin.jvm.JvmName("clearDocuments") - public fun com.google.protobuf.kotlin.DslList.clear() { + public fun com.google.protobuf.kotlin.DslList.clear() { _builder.clearDocuments() } @@ -192,7 +192,7 @@ public object IndexKt { * * `repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"];` */ - public val externalSymbols: com.google.protobuf.kotlin.DslList + public val externalSymbols: com.google.protobuf.kotlin.DslList @kotlin.jvm.JvmSynthetic get() = com.google.protobuf.kotlin.DslList( _builder.externalSymbolsList @@ -211,7 +211,7 @@ public object IndexKt { */ @kotlin.jvm.JvmSynthetic @kotlin.jvm.JvmName("addExternalSymbols") - public fun com.google.protobuf.kotlin.DslList.add(value: scip.Scip.SymbolInformation) { + public fun com.google.protobuf.kotlin.DslList.add(value: org.scip_code.scip.SymbolInformation) { _builder.addExternalSymbols(value) } /** @@ -229,7 +229,7 @@ public object IndexKt { @kotlin.jvm.JvmSynthetic @kotlin.jvm.JvmName("plusAssignExternalSymbols") @Suppress("NOTHING_TO_INLINE") - public inline operator fun com.google.protobuf.kotlin.DslList.plusAssign(value: scip.Scip.SymbolInformation) { + public inline operator fun com.google.protobuf.kotlin.DslList.plusAssign(value: org.scip_code.scip.SymbolInformation) { add(value) } /** @@ -246,7 +246,7 @@ public object IndexKt { */ @kotlin.jvm.JvmSynthetic @kotlin.jvm.JvmName("addAllExternalSymbols") - public fun com.google.protobuf.kotlin.DslList.addAll(values: kotlin.collections.Iterable) { + public fun com.google.protobuf.kotlin.DslList.addAll(values: kotlin.collections.Iterable) { _builder.addAllExternalSymbols(values) } /** @@ -264,7 +264,7 @@ public object IndexKt { @kotlin.jvm.JvmSynthetic @kotlin.jvm.JvmName("plusAssignAllExternalSymbols") @Suppress("NOTHING_TO_INLINE") - public inline operator fun com.google.protobuf.kotlin.DslList.plusAssign(values: kotlin.collections.Iterable) { + public inline operator fun com.google.protobuf.kotlin.DslList.plusAssign(values: kotlin.collections.Iterable) { addAll(values) } /** @@ -282,7 +282,7 @@ public object IndexKt { */ @kotlin.jvm.JvmSynthetic @kotlin.jvm.JvmName("setExternalSymbols") - public operator fun com.google.protobuf.kotlin.DslList.set(index: kotlin.Int, value: scip.Scip.SymbolInformation) { + public operator fun com.google.protobuf.kotlin.DslList.set(index: kotlin.Int, value: org.scip_code.scip.SymbolInformation) { _builder.setExternalSymbols(index, value) } /** @@ -298,15 +298,15 @@ public object IndexKt { */ @kotlin.jvm.JvmSynthetic @kotlin.jvm.JvmName("clearExternalSymbols") - public fun com.google.protobuf.kotlin.DslList.clear() { + public fun com.google.protobuf.kotlin.DslList.clear() { _builder.clearExternalSymbols() } } } @kotlin.jvm.JvmSynthetic -public inline fun scip.Scip.Index.copy(block: `scip`.IndexKt.Dsl.() -> kotlin.Unit): scip.Scip.Index = - `scip`.IndexKt.Dsl._create(this.toBuilder()).apply { block() }._build() +public inline fun org.scip_code.scip.Index.copy(block: `org.scip_code.scip`.IndexKt.Dsl.() -> kotlin.Unit): org.scip_code.scip.Index = + `org.scip_code.scip`.IndexKt.Dsl._create(this.toBuilder()).apply { block() }._build() -public val scip.Scip.IndexOrBuilder.metadataOrNull: scip.Scip.Metadata? +public val org.scip_code.scip.IndexOrBuilder.metadataOrNull: org.scip_code.scip.Metadata? get() = if (hasMetadata()) getMetadata() else null diff --git a/bindings/kotlin/src/main/kotlin/scip/MetadataKt.kt b/bindings/kotlin/src/main/kotlin/org/scip_code/scip/MetadataKt.kt similarity index 81% rename from bindings/kotlin/src/main/kotlin/scip/MetadataKt.kt rename to bindings/kotlin/src/main/kotlin/org/scip_code/scip/MetadataKt.kt index 987be5b0..43664d10 100644 --- a/bindings/kotlin/src/main/kotlin/scip/MetadataKt.kt +++ b/bindings/kotlin/src/main/kotlin/org/scip_code/scip/MetadataKt.kt @@ -4,11 +4,11 @@ // Generated files should ignore deprecation warnings @file:Suppress("DEPRECATION") -package scip; +package org.scip_code.scip; @kotlin.jvm.JvmName("-initializemetadata") -public inline fun metadata(block: scip.MetadataKt.Dsl.() -> kotlin.Unit): scip.Scip.Metadata = - scip.MetadataKt.Dsl._create(scip.Scip.Metadata.newBuilder()).apply { block() }._build() +public inline fun metadata(block: org.scip_code.scip.MetadataKt.Dsl.() -> kotlin.Unit): org.scip_code.scip.Metadata = + org.scip_code.scip.MetadataKt.Dsl._create(org.scip_code.scip.Metadata.newBuilder()).apply { block() }._build() /** * Protobuf type `scip.Metadata` */ @@ -16,17 +16,17 @@ public object MetadataKt { @kotlin.OptIn(com.google.protobuf.kotlin.OnlyForUseByGeneratedProtoCode::class) @com.google.protobuf.kotlin.ProtoDslMarker public class Dsl private constructor( - private val _builder: scip.Scip.Metadata.Builder + private val _builder: org.scip_code.scip.Metadata.Builder ) { public companion object { @kotlin.jvm.JvmSynthetic @kotlin.PublishedApi - internal fun _create(builder: scip.Scip.Metadata.Builder): Dsl = Dsl(builder) + internal fun _create(builder: org.scip_code.scip.Metadata.Builder): Dsl = Dsl(builder) } @kotlin.jvm.JvmSynthetic @kotlin.PublishedApi - internal fun _build(): scip.Scip.Metadata = _builder.build() + internal fun _build(): org.scip_code.scip.Metadata = _builder.build() /** * ``` @@ -35,7 +35,7 @@ public object MetadataKt { * * `.scip.ProtocolVersion version = 1 [json_name = "version"];` */ - public var version: scip.Scip.ProtocolVersion + public var version: org.scip_code.scip.ProtocolVersion @kotlin.jvm.JvmName("getVersion") get() = _builder.version @kotlin.jvm.JvmName("setVersion") @@ -67,7 +67,7 @@ public object MetadataKt { * * `.scip.ToolInfo tool_info = 2 [json_name = "toolInfo"];` */ - public var toolInfo: scip.Scip.ToolInfo + public var toolInfo: org.scip_code.scip.ToolInfo @kotlin.jvm.JvmName("getToolInfo") get() = _builder.toolInfo @kotlin.jvm.JvmName("setToolInfo") @@ -96,7 +96,7 @@ public object MetadataKt { return _builder.hasToolInfo() } - public val MetadataKt.Dsl.toolInfoOrNull: scip.Scip.ToolInfo? + public val MetadataKt.Dsl.toolInfoOrNull: org.scip_code.scip.ToolInfo? get() = _builder.toolInfoOrNull /** @@ -137,7 +137,7 @@ public object MetadataKt { * * `.scip.TextEncoding text_document_encoding = 4 [json_name = "textDocumentEncoding"];` */ - public var textDocumentEncoding: scip.Scip.TextEncoding + public var textDocumentEncoding: org.scip_code.scip.TextEncoding @kotlin.jvm.JvmName("getTextDocumentEncoding") get() = _builder.textDocumentEncoding @kotlin.jvm.JvmName("setTextDocumentEncoding") @@ -166,9 +166,9 @@ public object MetadataKt { } } @kotlin.jvm.JvmSynthetic -public inline fun scip.Scip.Metadata.copy(block: `scip`.MetadataKt.Dsl.() -> kotlin.Unit): scip.Scip.Metadata = - `scip`.MetadataKt.Dsl._create(this.toBuilder()).apply { block() }._build() +public inline fun org.scip_code.scip.Metadata.copy(block: `org.scip_code.scip`.MetadataKt.Dsl.() -> kotlin.Unit): org.scip_code.scip.Metadata = + `org.scip_code.scip`.MetadataKt.Dsl._create(this.toBuilder()).apply { block() }._build() -public val scip.Scip.MetadataOrBuilder.toolInfoOrNull: scip.Scip.ToolInfo? +public val org.scip_code.scip.MetadataOrBuilder.toolInfoOrNull: org.scip_code.scip.ToolInfo? get() = if (hasToolInfo()) getToolInfo() else null diff --git a/bindings/kotlin/src/main/kotlin/scip/OccurrenceKt.kt b/bindings/kotlin/src/main/kotlin/org/scip_code/scip/OccurrenceKt.kt similarity index 96% rename from bindings/kotlin/src/main/kotlin/scip/OccurrenceKt.kt rename to bindings/kotlin/src/main/kotlin/org/scip_code/scip/OccurrenceKt.kt index 493884ff..e72cdedc 100644 --- a/bindings/kotlin/src/main/kotlin/scip/OccurrenceKt.kt +++ b/bindings/kotlin/src/main/kotlin/org/scip_code/scip/OccurrenceKt.kt @@ -4,11 +4,11 @@ // Generated files should ignore deprecation warnings @file:Suppress("DEPRECATION") -package scip; +package org.scip_code.scip; @kotlin.jvm.JvmName("-initializeoccurrence") -public inline fun occurrence(block: scip.OccurrenceKt.Dsl.() -> kotlin.Unit): scip.Scip.Occurrence = - scip.OccurrenceKt.Dsl._create(scip.Scip.Occurrence.newBuilder()).apply { block() }._build() +public inline fun occurrence(block: org.scip_code.scip.OccurrenceKt.Dsl.() -> kotlin.Unit): org.scip_code.scip.Occurrence = + org.scip_code.scip.OccurrenceKt.Dsl._create(org.scip_code.scip.Occurrence.newBuilder()).apply { block() }._build() /** * ``` * Occurrence associates a source position with a symbol and/or highlighting @@ -24,17 +24,17 @@ public object OccurrenceKt { @kotlin.OptIn(com.google.protobuf.kotlin.OnlyForUseByGeneratedProtoCode::class) @com.google.protobuf.kotlin.ProtoDslMarker public class Dsl private constructor( - private val _builder: scip.Scip.Occurrence.Builder + private val _builder: org.scip_code.scip.Occurrence.Builder ) { public companion object { @kotlin.jvm.JvmSynthetic @kotlin.PublishedApi - internal fun _create(builder: scip.Scip.Occurrence.Builder): Dsl = Dsl(builder) + internal fun _create(builder: org.scip_code.scip.Occurrence.Builder): Dsl = Dsl(builder) } @kotlin.jvm.JvmSynthetic @kotlin.PublishedApi - internal fun _build(): scip.Scip.Occurrence = _builder.build() + internal fun _build(): org.scip_code.scip.Occurrence = _builder.build() /** * An uninstantiable, behaviorless type to represent the field in @@ -491,7 +491,7 @@ public object OccurrenceKt { * * `.scip.SyntaxKind syntax_kind = 5 [json_name = "syntaxKind"];` */ - public var syntaxKind: scip.Scip.SyntaxKind + public var syntaxKind: org.scip_code.scip.SyntaxKind @kotlin.jvm.JvmName("getSyntaxKind") get() = _builder.syntaxKind @kotlin.jvm.JvmName("setSyntaxKind") @@ -529,7 +529,7 @@ public object OccurrenceKt { * * `repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"];` */ - public val diagnostics: com.google.protobuf.kotlin.DslList + public val diagnostics: com.google.protobuf.kotlin.DslList @kotlin.jvm.JvmSynthetic get() = com.google.protobuf.kotlin.DslList( _builder.diagnosticsList @@ -544,7 +544,7 @@ public object OccurrenceKt { */ @kotlin.jvm.JvmSynthetic @kotlin.jvm.JvmName("addDiagnostics") - public fun com.google.protobuf.kotlin.DslList.add(value: scip.Scip.Diagnostic) { + public fun com.google.protobuf.kotlin.DslList.add(value: org.scip_code.scip.Diagnostic) { _builder.addDiagnostics(value) } /** @@ -558,7 +558,7 @@ public object OccurrenceKt { @kotlin.jvm.JvmSynthetic @kotlin.jvm.JvmName("plusAssignDiagnostics") @Suppress("NOTHING_TO_INLINE") - public inline operator fun com.google.protobuf.kotlin.DslList.plusAssign(value: scip.Scip.Diagnostic) { + public inline operator fun com.google.protobuf.kotlin.DslList.plusAssign(value: org.scip_code.scip.Diagnostic) { add(value) } /** @@ -571,7 +571,7 @@ public object OccurrenceKt { */ @kotlin.jvm.JvmSynthetic @kotlin.jvm.JvmName("addAllDiagnostics") - public fun com.google.protobuf.kotlin.DslList.addAll(values: kotlin.collections.Iterable) { + public fun com.google.protobuf.kotlin.DslList.addAll(values: kotlin.collections.Iterable) { _builder.addAllDiagnostics(values) } /** @@ -585,7 +585,7 @@ public object OccurrenceKt { @kotlin.jvm.JvmSynthetic @kotlin.jvm.JvmName("plusAssignAllDiagnostics") @Suppress("NOTHING_TO_INLINE") - public inline operator fun com.google.protobuf.kotlin.DslList.plusAssign(values: kotlin.collections.Iterable) { + public inline operator fun com.google.protobuf.kotlin.DslList.plusAssign(values: kotlin.collections.Iterable) { addAll(values) } /** @@ -599,7 +599,7 @@ public object OccurrenceKt { */ @kotlin.jvm.JvmSynthetic @kotlin.jvm.JvmName("setDiagnostics") - public operator fun com.google.protobuf.kotlin.DslList.set(index: kotlin.Int, value: scip.Scip.Diagnostic) { + public operator fun com.google.protobuf.kotlin.DslList.set(index: kotlin.Int, value: org.scip_code.scip.Diagnostic) { _builder.setDiagnostics(index, value) } /** @@ -611,7 +611,7 @@ public object OccurrenceKt { */ @kotlin.jvm.JvmSynthetic @kotlin.jvm.JvmName("clearDiagnostics") - public fun com.google.protobuf.kotlin.DslList.clear() { + public fun com.google.protobuf.kotlin.DslList.clear() { _builder.clearDiagnostics() } @@ -1067,6 +1067,6 @@ public object OccurrenceKt { }} } @kotlin.jvm.JvmSynthetic -public inline fun scip.Scip.Occurrence.copy(block: `scip`.OccurrenceKt.Dsl.() -> kotlin.Unit): scip.Scip.Occurrence = - `scip`.OccurrenceKt.Dsl._create(this.toBuilder()).apply { block() }._build() +public inline fun org.scip_code.scip.Occurrence.copy(block: `org.scip_code.scip`.OccurrenceKt.Dsl.() -> kotlin.Unit): org.scip_code.scip.Occurrence = + `org.scip_code.scip`.OccurrenceKt.Dsl._create(this.toBuilder()).apply { block() }._build() diff --git a/bindings/kotlin/src/main/kotlin/scip/PackageKt.kt b/bindings/kotlin/src/main/kotlin/org/scip_code/scip/PackageKt.kt similarity index 73% rename from bindings/kotlin/src/main/kotlin/scip/PackageKt.kt rename to bindings/kotlin/src/main/kotlin/org/scip_code/scip/PackageKt.kt index 30269620..edbb0e4a 100644 --- a/bindings/kotlin/src/main/kotlin/scip/PackageKt.kt +++ b/bindings/kotlin/src/main/kotlin/org/scip_code/scip/PackageKt.kt @@ -4,11 +4,11 @@ // Generated files should ignore deprecation warnings @file:Suppress("DEPRECATION") -package scip; +package org.scip_code.scip; @kotlin.jvm.JvmName("-initializepackage_") -public inline fun package_(block: scip.PackageKt.Dsl.() -> kotlin.Unit): scip.Scip.Package = - scip.PackageKt.Dsl._create(scip.Scip.Package.newBuilder()).apply { block() }._build() +public inline fun package_(block: org.scip_code.scip.PackageKt.Dsl.() -> kotlin.Unit): org.scip_code.scip.Package = + org.scip_code.scip.PackageKt.Dsl._create(org.scip_code.scip.Package.newBuilder()).apply { block() }._build() /** * ``` * Unit of packaging and distribution. @@ -22,17 +22,17 @@ public object PackageKt { @kotlin.OptIn(com.google.protobuf.kotlin.OnlyForUseByGeneratedProtoCode::class) @com.google.protobuf.kotlin.ProtoDslMarker public class Dsl private constructor( - private val _builder: scip.Scip.Package.Builder + private val _builder: org.scip_code.scip.Package.Builder ) { public companion object { @kotlin.jvm.JvmSynthetic @kotlin.PublishedApi - internal fun _create(builder: scip.Scip.Package.Builder): Dsl = Dsl(builder) + internal fun _create(builder: org.scip_code.scip.Package.Builder): Dsl = Dsl(builder) } @kotlin.jvm.JvmSynthetic @kotlin.PublishedApi - internal fun _build(): scip.Scip.Package = _builder.build() + internal fun _build(): org.scip_code.scip.Package = _builder.build() /** * `string manager = 1 [json_name = "manager"];` @@ -87,6 +87,6 @@ public object PackageKt { } } @kotlin.jvm.JvmSynthetic -public inline fun scip.Scip.Package.copy(block: `scip`.PackageKt.Dsl.() -> kotlin.Unit): scip.Scip.Package = - `scip`.PackageKt.Dsl._create(this.toBuilder()).apply { block() }._build() +public inline fun org.scip_code.scip.Package.copy(block: `org.scip_code.scip`.PackageKt.Dsl.() -> kotlin.Unit): org.scip_code.scip.Package = + `org.scip_code.scip`.PackageKt.Dsl._create(this.toBuilder()).apply { block() }._build() diff --git a/bindings/kotlin/src/main/kotlin/scip/RelationshipKt.kt b/bindings/kotlin/src/main/kotlin/org/scip_code/scip/RelationshipKt.kt similarity index 91% rename from bindings/kotlin/src/main/kotlin/scip/RelationshipKt.kt rename to bindings/kotlin/src/main/kotlin/org/scip_code/scip/RelationshipKt.kt index f32162c9..56adc6e1 100644 --- a/bindings/kotlin/src/main/kotlin/scip/RelationshipKt.kt +++ b/bindings/kotlin/src/main/kotlin/org/scip_code/scip/RelationshipKt.kt @@ -4,11 +4,11 @@ // Generated files should ignore deprecation warnings @file:Suppress("DEPRECATION") -package scip; +package org.scip_code.scip; @kotlin.jvm.JvmName("-initializerelationship") -public inline fun relationship(block: scip.RelationshipKt.Dsl.() -> kotlin.Unit): scip.Scip.Relationship = - scip.RelationshipKt.Dsl._create(scip.Scip.Relationship.newBuilder()).apply { block() }._build() +public inline fun relationship(block: org.scip_code.scip.RelationshipKt.Dsl.() -> kotlin.Unit): org.scip_code.scip.Relationship = + org.scip_code.scip.RelationshipKt.Dsl._create(org.scip_code.scip.Relationship.newBuilder()).apply { block() }._build() /** * Protobuf type `scip.Relationship` */ @@ -16,17 +16,17 @@ public object RelationshipKt { @kotlin.OptIn(com.google.protobuf.kotlin.OnlyForUseByGeneratedProtoCode::class) @com.google.protobuf.kotlin.ProtoDslMarker public class Dsl private constructor( - private val _builder: scip.Scip.Relationship.Builder + private val _builder: org.scip_code.scip.Relationship.Builder ) { public companion object { @kotlin.jvm.JvmSynthetic @kotlin.PublishedApi - internal fun _create(builder: scip.Scip.Relationship.Builder): Dsl = Dsl(builder) + internal fun _create(builder: org.scip_code.scip.Relationship.Builder): Dsl = Dsl(builder) } @kotlin.jvm.JvmSynthetic @kotlin.PublishedApi - internal fun _build(): scip.Scip.Relationship = _builder.build() + internal fun _build(): org.scip_code.scip.Relationship = _builder.build() /** * `string symbol = 1 [json_name = "symbol"];` @@ -229,6 +229,6 @@ public object RelationshipKt { } } @kotlin.jvm.JvmSynthetic -public inline fun scip.Scip.Relationship.copy(block: `scip`.RelationshipKt.Dsl.() -> kotlin.Unit): scip.Scip.Relationship = - `scip`.RelationshipKt.Dsl._create(this.toBuilder()).apply { block() }._build() +public inline fun org.scip_code.scip.Relationship.copy(block: `org.scip_code.scip`.RelationshipKt.Dsl.() -> kotlin.Unit): org.scip_code.scip.Relationship = + `org.scip_code.scip`.RelationshipKt.Dsl._create(this.toBuilder()).apply { block() }._build() diff --git a/bindings/kotlin/src/main/kotlin/scip/ScipKt.proto.kt b/bindings/kotlin/src/main/kotlin/org/scip_code/scip/ScipProtoKt.proto.kt similarity index 87% rename from bindings/kotlin/src/main/kotlin/scip/ScipKt.proto.kt rename to bindings/kotlin/src/main/kotlin/org/scip_code/scip/ScipProtoKt.proto.kt index a1065f62..7d14b337 100644 --- a/bindings/kotlin/src/main/kotlin/scip/ScipKt.proto.kt +++ b/bindings/kotlin/src/main/kotlin/org/scip_code/scip/ScipProtoKt.proto.kt @@ -4,5 +4,5 @@ // Generated files should ignore deprecation warnings @file:Suppress("DEPRECATION") -package scip; +package org.scip_code.scip; diff --git a/bindings/kotlin/src/main/kotlin/scip/SignatureKt.kt b/bindings/kotlin/src/main/kotlin/org/scip_code/scip/SignatureKt.kt similarity index 79% rename from bindings/kotlin/src/main/kotlin/scip/SignatureKt.kt rename to bindings/kotlin/src/main/kotlin/org/scip_code/scip/SignatureKt.kt index 1b93d703..83f0da45 100644 --- a/bindings/kotlin/src/main/kotlin/scip/SignatureKt.kt +++ b/bindings/kotlin/src/main/kotlin/org/scip_code/scip/SignatureKt.kt @@ -4,11 +4,11 @@ // Generated files should ignore deprecation warnings @file:Suppress("DEPRECATION") -package scip; +package org.scip_code.scip; @kotlin.jvm.JvmName("-initializesignature") -public inline fun signature(block: scip.SignatureKt.Dsl.() -> kotlin.Unit): scip.Scip.Signature = - scip.SignatureKt.Dsl._create(scip.Scip.Signature.newBuilder()).apply { block() }._build() +public inline fun signature(block: org.scip_code.scip.SignatureKt.Dsl.() -> kotlin.Unit): org.scip_code.scip.Signature = + org.scip_code.scip.SignatureKt.Dsl._create(org.scip_code.scip.Signature.newBuilder()).apply { block() }._build() /** * ``` * Signature represents the signature of a symbol as it's displayed in API @@ -23,17 +23,17 @@ public object SignatureKt { @kotlin.OptIn(com.google.protobuf.kotlin.OnlyForUseByGeneratedProtoCode::class) @com.google.protobuf.kotlin.ProtoDslMarker public class Dsl private constructor( - private val _builder: scip.Scip.Signature.Builder + private val _builder: org.scip_code.scip.Signature.Builder ) { public companion object { @kotlin.jvm.JvmSynthetic @kotlin.PublishedApi - internal fun _create(builder: scip.Scip.Signature.Builder): Dsl = Dsl(builder) + internal fun _create(builder: org.scip_code.scip.Signature.Builder): Dsl = Dsl(builder) } @kotlin.jvm.JvmSynthetic @kotlin.PublishedApi - internal fun _build(): scip.Scip.Signature = _builder.build() + internal fun _build(): org.scip_code.scip.Signature = _builder.build() /** * ``` @@ -100,7 +100,7 @@ public object SignatureKt { * * `repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"];` */ - public val occurrences: com.google.protobuf.kotlin.DslList + public val occurrences: com.google.protobuf.kotlin.DslList @kotlin.jvm.JvmSynthetic get() = com.google.protobuf.kotlin.DslList( _builder.occurrencesList @@ -117,7 +117,7 @@ public object SignatureKt { */ @kotlin.jvm.JvmSynthetic @kotlin.jvm.JvmName("addOccurrences") - public fun com.google.protobuf.kotlin.DslList.add(value: scip.Scip.Occurrence) { + public fun com.google.protobuf.kotlin.DslList.add(value: org.scip_code.scip.Occurrence) { _builder.addOccurrences(value) } /** @@ -133,7 +133,7 @@ public object SignatureKt { @kotlin.jvm.JvmSynthetic @kotlin.jvm.JvmName("plusAssignOccurrences") @Suppress("NOTHING_TO_INLINE") - public inline operator fun com.google.protobuf.kotlin.DslList.plusAssign(value: scip.Scip.Occurrence) { + public inline operator fun com.google.protobuf.kotlin.DslList.plusAssign(value: org.scip_code.scip.Occurrence) { add(value) } /** @@ -148,7 +148,7 @@ public object SignatureKt { */ @kotlin.jvm.JvmSynthetic @kotlin.jvm.JvmName("addAllOccurrences") - public fun com.google.protobuf.kotlin.DslList.addAll(values: kotlin.collections.Iterable) { + public fun com.google.protobuf.kotlin.DslList.addAll(values: kotlin.collections.Iterable) { _builder.addAllOccurrences(values) } /** @@ -164,7 +164,7 @@ public object SignatureKt { @kotlin.jvm.JvmSynthetic @kotlin.jvm.JvmName("plusAssignAllOccurrences") @Suppress("NOTHING_TO_INLINE") - public inline operator fun com.google.protobuf.kotlin.DslList.plusAssign(values: kotlin.collections.Iterable) { + public inline operator fun com.google.protobuf.kotlin.DslList.plusAssign(values: kotlin.collections.Iterable) { addAll(values) } /** @@ -180,7 +180,7 @@ public object SignatureKt { */ @kotlin.jvm.JvmSynthetic @kotlin.jvm.JvmName("setOccurrences") - public operator fun com.google.protobuf.kotlin.DslList.set(index: kotlin.Int, value: scip.Scip.Occurrence) { + public operator fun com.google.protobuf.kotlin.DslList.set(index: kotlin.Int, value: org.scip_code.scip.Occurrence) { _builder.setOccurrences(index, value) } /** @@ -194,12 +194,12 @@ public object SignatureKt { */ @kotlin.jvm.JvmSynthetic @kotlin.jvm.JvmName("clearOccurrences") - public fun com.google.protobuf.kotlin.DslList.clear() { + public fun com.google.protobuf.kotlin.DslList.clear() { _builder.clearOccurrences() } } } @kotlin.jvm.JvmSynthetic -public inline fun scip.Scip.Signature.copy(block: `scip`.SignatureKt.Dsl.() -> kotlin.Unit): scip.Scip.Signature = - `scip`.SignatureKt.Dsl._create(this.toBuilder()).apply { block() }._build() +public inline fun org.scip_code.scip.Signature.copy(block: `org.scip_code.scip`.SignatureKt.Dsl.() -> kotlin.Unit): org.scip_code.scip.Signature = + `org.scip_code.scip`.SignatureKt.Dsl._create(this.toBuilder()).apply { block() }._build() diff --git a/bindings/kotlin/src/main/kotlin/scip/SymbolInformationKt.kt b/bindings/kotlin/src/main/kotlin/org/scip_code/scip/SymbolInformationKt.kt similarity index 90% rename from bindings/kotlin/src/main/kotlin/scip/SymbolInformationKt.kt rename to bindings/kotlin/src/main/kotlin/org/scip_code/scip/SymbolInformationKt.kt index 7d941806..681b0aca 100644 --- a/bindings/kotlin/src/main/kotlin/scip/SymbolInformationKt.kt +++ b/bindings/kotlin/src/main/kotlin/org/scip_code/scip/SymbolInformationKt.kt @@ -4,11 +4,11 @@ // Generated files should ignore deprecation warnings @file:Suppress("DEPRECATION") -package scip; +package org.scip_code.scip; @kotlin.jvm.JvmName("-initializesymbolInformation") -public inline fun symbolInformation(block: scip.SymbolInformationKt.Dsl.() -> kotlin.Unit): scip.Scip.SymbolInformation = - scip.SymbolInformationKt.Dsl._create(scip.Scip.SymbolInformation.newBuilder()).apply { block() }._build() +public inline fun symbolInformation(block: org.scip_code.scip.SymbolInformationKt.Dsl.() -> kotlin.Unit): org.scip_code.scip.SymbolInformation = + org.scip_code.scip.SymbolInformationKt.Dsl._create(org.scip_code.scip.SymbolInformation.newBuilder()).apply { block() }._build() /** * ``` * SymbolInformation defines metadata about a symbol, such as the symbol's @@ -21,17 +21,17 @@ public object SymbolInformationKt { @kotlin.OptIn(com.google.protobuf.kotlin.OnlyForUseByGeneratedProtoCode::class) @com.google.protobuf.kotlin.ProtoDslMarker public class Dsl private constructor( - private val _builder: scip.Scip.SymbolInformation.Builder + private val _builder: org.scip_code.scip.SymbolInformation.Builder ) { public companion object { @kotlin.jvm.JvmSynthetic @kotlin.PublishedApi - internal fun _create(builder: scip.Scip.SymbolInformation.Builder): Dsl = Dsl(builder) + internal fun _create(builder: org.scip_code.scip.SymbolInformation.Builder): Dsl = Dsl(builder) } @kotlin.jvm.JvmSynthetic @kotlin.PublishedApi - internal fun _build(): scip.Scip.SymbolInformation = _builder.build() + internal fun _build(): org.scip_code.scip.SymbolInformation = _builder.build() /** * ``` @@ -206,7 +206,7 @@ public object SymbolInformationKt { * * `repeated .scip.Relationship relationships = 4 [json_name = "relationships"];` */ - public val relationships: com.google.protobuf.kotlin.DslList + public val relationships: com.google.protobuf.kotlin.DslList @kotlin.jvm.JvmSynthetic get() = com.google.protobuf.kotlin.DslList( _builder.relationshipsList @@ -221,7 +221,7 @@ public object SymbolInformationKt { */ @kotlin.jvm.JvmSynthetic @kotlin.jvm.JvmName("addRelationships") - public fun com.google.protobuf.kotlin.DslList.add(value: scip.Scip.Relationship) { + public fun com.google.protobuf.kotlin.DslList.add(value: org.scip_code.scip.Relationship) { _builder.addRelationships(value) } /** @@ -235,7 +235,7 @@ public object SymbolInformationKt { @kotlin.jvm.JvmSynthetic @kotlin.jvm.JvmName("plusAssignRelationships") @Suppress("NOTHING_TO_INLINE") - public inline operator fun com.google.protobuf.kotlin.DslList.plusAssign(value: scip.Scip.Relationship) { + public inline operator fun com.google.protobuf.kotlin.DslList.plusAssign(value: org.scip_code.scip.Relationship) { add(value) } /** @@ -248,7 +248,7 @@ public object SymbolInformationKt { */ @kotlin.jvm.JvmSynthetic @kotlin.jvm.JvmName("addAllRelationships") - public fun com.google.protobuf.kotlin.DslList.addAll(values: kotlin.collections.Iterable) { + public fun com.google.protobuf.kotlin.DslList.addAll(values: kotlin.collections.Iterable) { _builder.addAllRelationships(values) } /** @@ -262,7 +262,7 @@ public object SymbolInformationKt { @kotlin.jvm.JvmSynthetic @kotlin.jvm.JvmName("plusAssignAllRelationships") @Suppress("NOTHING_TO_INLINE") - public inline operator fun com.google.protobuf.kotlin.DslList.plusAssign(values: kotlin.collections.Iterable) { + public inline operator fun com.google.protobuf.kotlin.DslList.plusAssign(values: kotlin.collections.Iterable) { addAll(values) } /** @@ -276,7 +276,7 @@ public object SymbolInformationKt { */ @kotlin.jvm.JvmSynthetic @kotlin.jvm.JvmName("setRelationships") - public operator fun com.google.protobuf.kotlin.DslList.set(index: kotlin.Int, value: scip.Scip.Relationship) { + public operator fun com.google.protobuf.kotlin.DslList.set(index: kotlin.Int, value: org.scip_code.scip.Relationship) { _builder.setRelationships(index, value) } /** @@ -288,7 +288,7 @@ public object SymbolInformationKt { */ @kotlin.jvm.JvmSynthetic @kotlin.jvm.JvmName("clearRelationships") - public fun com.google.protobuf.kotlin.DslList.clear() { + public fun com.google.protobuf.kotlin.DslList.clear() { _builder.clearRelationships() } @@ -301,7 +301,7 @@ public object SymbolInformationKt { * * `.scip.SymbolInformation.Kind kind = 5 [json_name = "kind"];` */ - public var kind: scip.Scip.SymbolInformation.Kind + public var kind: org.scip_code.scip.SymbolInformation.Kind @kotlin.jvm.JvmName("getKind") get() = _builder.kind @kotlin.jvm.JvmName("setKind") @@ -381,7 +381,7 @@ public object SymbolInformationKt { * * `.scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"];` */ - public var signatureDocumentation: scip.Scip.Signature + public var signatureDocumentation: org.scip_code.scip.Signature @kotlin.jvm.JvmName("getSignatureDocumentation") get() = _builder.signatureDocumentation @kotlin.jvm.JvmName("setSignatureDocumentation") @@ -420,7 +420,7 @@ public object SymbolInformationKt { return _builder.hasSignatureDocumentation() } - public val SymbolInformationKt.Dsl.signatureDocumentationOrNull: scip.Scip.Signature? + public val SymbolInformationKt.Dsl.signatureDocumentationOrNull: org.scip_code.scip.Signature? get() = _builder.signatureDocumentationOrNull /** @@ -482,9 +482,9 @@ public object SymbolInformationKt { } } @kotlin.jvm.JvmSynthetic -public inline fun scip.Scip.SymbolInformation.copy(block: `scip`.SymbolInformationKt.Dsl.() -> kotlin.Unit): scip.Scip.SymbolInformation = - `scip`.SymbolInformationKt.Dsl._create(this.toBuilder()).apply { block() }._build() +public inline fun org.scip_code.scip.SymbolInformation.copy(block: `org.scip_code.scip`.SymbolInformationKt.Dsl.() -> kotlin.Unit): org.scip_code.scip.SymbolInformation = + `org.scip_code.scip`.SymbolInformationKt.Dsl._create(this.toBuilder()).apply { block() }._build() -public val scip.Scip.SymbolInformationOrBuilder.signatureDocumentationOrNull: scip.Scip.Signature? +public val org.scip_code.scip.SymbolInformationOrBuilder.signatureDocumentationOrNull: org.scip_code.scip.Signature? get() = if (hasSignatureDocumentation()) getSignatureDocumentation() else null diff --git a/bindings/kotlin/src/main/kotlin/scip/SymbolKt.kt b/bindings/kotlin/src/main/kotlin/org/scip_code/scip/SymbolKt.kt similarity index 78% rename from bindings/kotlin/src/main/kotlin/scip/SymbolKt.kt rename to bindings/kotlin/src/main/kotlin/org/scip_code/scip/SymbolKt.kt index 060a1807..6d56d375 100644 --- a/bindings/kotlin/src/main/kotlin/scip/SymbolKt.kt +++ b/bindings/kotlin/src/main/kotlin/org/scip_code/scip/SymbolKt.kt @@ -4,11 +4,11 @@ // Generated files should ignore deprecation warnings @file:Suppress("DEPRECATION") -package scip; +package org.scip_code.scip; @kotlin.jvm.JvmName("-initializesymbol") -public inline fun symbol(block: scip.SymbolKt.Dsl.() -> kotlin.Unit): scip.Scip.Symbol = - scip.SymbolKt.Dsl._create(scip.Scip.Symbol.newBuilder()).apply { block() }._build() +public inline fun symbol(block: org.scip_code.scip.SymbolKt.Dsl.() -> kotlin.Unit): org.scip_code.scip.Symbol = + org.scip_code.scip.SymbolKt.Dsl._create(org.scip_code.scip.Symbol.newBuilder()).apply { block() }._build() /** * ``` * Symbol is similar to a URI, it identifies a class, method, or a local @@ -61,17 +61,17 @@ public object SymbolKt { @kotlin.OptIn(com.google.protobuf.kotlin.OnlyForUseByGeneratedProtoCode::class) @com.google.protobuf.kotlin.ProtoDslMarker public class Dsl private constructor( - private val _builder: scip.Scip.Symbol.Builder + private val _builder: org.scip_code.scip.Symbol.Builder ) { public companion object { @kotlin.jvm.JvmSynthetic @kotlin.PublishedApi - internal fun _create(builder: scip.Scip.Symbol.Builder): Dsl = Dsl(builder) + internal fun _create(builder: org.scip_code.scip.Symbol.Builder): Dsl = Dsl(builder) } @kotlin.jvm.JvmSynthetic @kotlin.PublishedApi - internal fun _build(): scip.Scip.Symbol = _builder.build() + internal fun _build(): org.scip_code.scip.Symbol = _builder.build() /** * `string scheme = 1 [json_name = "scheme"];` @@ -93,7 +93,7 @@ public object SymbolKt { /** * `.scip.Package package = 2 [json_name = "package"];` */ - public var package_: scip.Scip.Package + public var package_: org.scip_code.scip.Package @kotlin.jvm.JvmName("getPackage_") get() = _builder.`package` @kotlin.jvm.JvmName("setPackage_") @@ -114,7 +114,7 @@ public object SymbolKt { return _builder.hasPackage() } - public val SymbolKt.Dsl.packageOrNull: scip.Scip.Package? + public val SymbolKt.Dsl.packageOrNull: org.scip_code.scip.Package? get() = _builder.packageOrNull /** @@ -126,7 +126,7 @@ public object SymbolKt { /** * `repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"];` */ - public val descriptors: com.google.protobuf.kotlin.DslList + public val descriptors: com.google.protobuf.kotlin.DslList @kotlin.jvm.JvmSynthetic get() = com.google.protobuf.kotlin.DslList( _builder.descriptorsList @@ -137,7 +137,7 @@ public object SymbolKt { */ @kotlin.jvm.JvmSynthetic @kotlin.jvm.JvmName("addDescriptors") - public fun com.google.protobuf.kotlin.DslList.add(value: scip.Scip.Descriptor) { + public fun com.google.protobuf.kotlin.DslList.add(value: org.scip_code.scip.Descriptor) { _builder.addDescriptors(value) } /** @@ -147,7 +147,7 @@ public object SymbolKt { @kotlin.jvm.JvmSynthetic @kotlin.jvm.JvmName("plusAssignDescriptors") @Suppress("NOTHING_TO_INLINE") - public inline operator fun com.google.protobuf.kotlin.DslList.plusAssign(value: scip.Scip.Descriptor) { + public inline operator fun com.google.protobuf.kotlin.DslList.plusAssign(value: org.scip_code.scip.Descriptor) { add(value) } /** @@ -156,7 +156,7 @@ public object SymbolKt { */ @kotlin.jvm.JvmSynthetic @kotlin.jvm.JvmName("addAllDescriptors") - public fun com.google.protobuf.kotlin.DslList.addAll(values: kotlin.collections.Iterable) { + public fun com.google.protobuf.kotlin.DslList.addAll(values: kotlin.collections.Iterable) { _builder.addAllDescriptors(values) } /** @@ -166,7 +166,7 @@ public object SymbolKt { @kotlin.jvm.JvmSynthetic @kotlin.jvm.JvmName("plusAssignAllDescriptors") @Suppress("NOTHING_TO_INLINE") - public inline operator fun com.google.protobuf.kotlin.DslList.plusAssign(values: kotlin.collections.Iterable) { + public inline operator fun com.google.protobuf.kotlin.DslList.plusAssign(values: kotlin.collections.Iterable) { addAll(values) } /** @@ -176,7 +176,7 @@ public object SymbolKt { */ @kotlin.jvm.JvmSynthetic @kotlin.jvm.JvmName("setDescriptors") - public operator fun com.google.protobuf.kotlin.DslList.set(index: kotlin.Int, value: scip.Scip.Descriptor) { + public operator fun com.google.protobuf.kotlin.DslList.set(index: kotlin.Int, value: org.scip_code.scip.Descriptor) { _builder.setDescriptors(index, value) } /** @@ -184,15 +184,15 @@ public object SymbolKt { */ @kotlin.jvm.JvmSynthetic @kotlin.jvm.JvmName("clearDescriptors") - public fun com.google.protobuf.kotlin.DslList.clear() { + public fun com.google.protobuf.kotlin.DslList.clear() { _builder.clearDescriptors() } } } @kotlin.jvm.JvmSynthetic -public inline fun scip.Scip.Symbol.copy(block: `scip`.SymbolKt.Dsl.() -> kotlin.Unit): scip.Scip.Symbol = - `scip`.SymbolKt.Dsl._create(this.toBuilder()).apply { block() }._build() +public inline fun org.scip_code.scip.Symbol.copy(block: `org.scip_code.scip`.SymbolKt.Dsl.() -> kotlin.Unit): org.scip_code.scip.Symbol = + `org.scip_code.scip`.SymbolKt.Dsl._create(this.toBuilder()).apply { block() }._build() -public val scip.Scip.SymbolOrBuilder.packageOrNull: scip.Scip.Package? +public val org.scip_code.scip.SymbolOrBuilder.packageOrNull: org.scip_code.scip.Package? get() = if (hasPackage()) getPackage() else null diff --git a/bindings/kotlin/src/main/kotlin/scip/ToolInfoKt.kt b/bindings/kotlin/src/main/kotlin/org/scip_code/scip/ToolInfoKt.kt similarity index 88% rename from bindings/kotlin/src/main/kotlin/scip/ToolInfoKt.kt rename to bindings/kotlin/src/main/kotlin/org/scip_code/scip/ToolInfoKt.kt index cbdea87a..148a1c90 100644 --- a/bindings/kotlin/src/main/kotlin/scip/ToolInfoKt.kt +++ b/bindings/kotlin/src/main/kotlin/org/scip_code/scip/ToolInfoKt.kt @@ -4,11 +4,11 @@ // Generated files should ignore deprecation warnings @file:Suppress("DEPRECATION") -package scip; +package org.scip_code.scip; @kotlin.jvm.JvmName("-initializetoolInfo") -public inline fun toolInfo(block: scip.ToolInfoKt.Dsl.() -> kotlin.Unit): scip.Scip.ToolInfo = - scip.ToolInfoKt.Dsl._create(scip.Scip.ToolInfo.newBuilder()).apply { block() }._build() +public inline fun toolInfo(block: org.scip_code.scip.ToolInfoKt.Dsl.() -> kotlin.Unit): org.scip_code.scip.ToolInfo = + org.scip_code.scip.ToolInfoKt.Dsl._create(org.scip_code.scip.ToolInfo.newBuilder()).apply { block() }._build() /** * Protobuf type `scip.ToolInfo` */ @@ -16,17 +16,17 @@ public object ToolInfoKt { @kotlin.OptIn(com.google.protobuf.kotlin.OnlyForUseByGeneratedProtoCode::class) @com.google.protobuf.kotlin.ProtoDslMarker public class Dsl private constructor( - private val _builder: scip.Scip.ToolInfo.Builder + private val _builder: org.scip_code.scip.ToolInfo.Builder ) { public companion object { @kotlin.jvm.JvmSynthetic @kotlin.PublishedApi - internal fun _create(builder: scip.Scip.ToolInfo.Builder): Dsl = Dsl(builder) + internal fun _create(builder: org.scip_code.scip.ToolInfo.Builder): Dsl = Dsl(builder) } @kotlin.jvm.JvmSynthetic @kotlin.PublishedApi - internal fun _build(): scip.Scip.ToolInfo = _builder.build() + internal fun _build(): org.scip_code.scip.ToolInfo = _builder.build() /** * ``` @@ -178,6 +178,6 @@ public object ToolInfoKt { }} } @kotlin.jvm.JvmSynthetic -public inline fun scip.Scip.ToolInfo.copy(block: `scip`.ToolInfoKt.Dsl.() -> kotlin.Unit): scip.Scip.ToolInfo = - `scip`.ToolInfoKt.Dsl._create(this.toBuilder()).apply { block() }._build() +public inline fun org.scip_code.scip.ToolInfo.copy(block: `org.scip_code.scip`.ToolInfoKt.Dsl.() -> kotlin.Unit): org.scip_code.scip.ToolInfo = + `org.scip_code.scip`.ToolInfoKt.Dsl._create(this.toBuilder()).apply { block() }._build() diff --git a/bindings/kotlin/src/main/proto/scip.proto b/bindings/kotlin/src/main/proto/scip.proto new file mode 100644 index 00000000..b7c33bfb --- /dev/null +++ b/bindings/kotlin/src/main/proto/scip.proto @@ -0,0 +1,903 @@ +// An index contains one or more pieces of information about a given piece of +// source code or software artifact. Complementary information can be merged +// together from multiple sources to provide a unified code intelligence +// experience. +// +// Programs producing a file of this format is an "indexer" and may operate +// somewhere on the spectrum between precision, such as indexes produced by +// compiler-backed indexers, and heurstics, such as indexes produced by local +// syntax-directed analysis for scope rules. + +syntax = "proto3"; + +package scip; + +option go_package = "github.com/scip-code/scip/bindings/go/scip/"; +option java_multiple_files = true; +// Avoid collision between the file-level outer class (which holds the file +// descriptor and registerAllExtensions) and messages also called "Scip*" +// once java_multiple_files emits each message as its own top-level class. +option java_outer_classname = "ScipProto"; +option java_package = "org.scip_code.scip"; + +// Index represents a complete SCIP index for a workspace this is rooted at a +// single directory. An Index message payload can have a large memory footprint +// and it's therefore recommended to emit and consume an Index payload one field +// value at a time. To permit streaming consumption of an Index payload, the +// `metadata` field must appear at the start of the stream and must only appear +// once in the stream. Other field values may appear in any order. +message Index { + // Metadata about this index. + Metadata metadata = 1; + // Documents that belong to this index. + repeated Document documents = 2; + // (optional) Symbols that are referenced from this index but are defined in + // an external package (a separate `Index` message). Leave this field empty + // if you assume the external package will get indexed separately. If the + // external package won't get indexed for some reason then you can use this + // field to provide hover documentation for those external symbols. + repeated SymbolInformation external_symbols = 3; + // IMPORTANT: When adding a new field to `Index` here, add a matching + // function in `IndexVisitor` and update `ParseStreaming`. +} + +message Metadata { + // Which version of this protocol was used to generate this index? + ProtocolVersion version = 1; + // Information about the tool that produced this index. + ToolInfo tool_info = 2; + // URI-encoded absolute path to the root directory of this index. All + // documents in this index must appear in a subdirectory of this root + // directory. + string project_root = 3; + // Text encoding of the source files on disk that are referenced from + // `Document.relative_path`. This value is unrelated to the `Document.text` + // field, which is a Protobuf string and hence must be UTF-8 encoded. + TextEncoding text_document_encoding = 4; +} + +enum ProtocolVersion { + UnspecifiedProtocolVersion = 0; +} + +enum TextEncoding { + UnspecifiedTextEncoding = 0; + UTF8 = 1; + UTF16 = 2; +} + +message ToolInfo { + // Name of the indexer that produced this index. + string name = 1; + // Version of the indexer that produced this index. + string version = 2; + // Command-line arguments that were used to invoke this indexer. + repeated string arguments = 3; +} + +// Document defines the metadata about a source file on disk. +message Document { + // The string ID for the programming language this file is written in. + // The `Language` enum contains the names of most common programming languages. + // This field is typed as a string to permit any programming language, including + // ones that are not specified by the `Language` enum. + string language = 4; + // (Required) Unique path to the text document. + // + // 1. The path must be relative to the directory supplied in the associated + // `Metadata.project_root`. + // 2. The path must not begin with a leading '/'. + // 3. The path must point to a regular file, not a symbolic link. + // 4. The path must use '/' as the separator, including on Windows. + // 5. The path must be canonical; it cannot include empty components ('//'), + // or '.' or '..'. + string relative_path = 1; + // Occurrences that appear in this file. + repeated Occurrence occurrences = 2; + // Symbols that are "defined" within this document. + // + // This should include symbols which technically do not have any definition, + // but have a reference and are defined by some other symbol (see + // Relationship.is_definition). + repeated SymbolInformation symbols = 3; + + // (optional) Text contents of this document. Indexers are not expected to + // include the text by default. It's preferable that clients read the text + // contents from the file system by resolving the absolute path from joining + // `Index.metadata.project_root` and `Document.relative_path`. This field + // can be useful for testing or when working with virtual/in-memory documents. + string text = 5; + + // Specifies the encoding used for source ranges in this Document. + // + // Usually, this will match the type used to index the string type + // in the indexer's implementation language in O(1) time. + // - For an indexer implemented in JVM/.NET language or JavaScript/TypeScript, + // use UTF16CodeUnitOffsetFromLineStart. + // - For an indexer implemented in Python, + // use UTF32CodeUnitOffsetFromLineStart. + // - For an indexer implemented in Go, Rust or C++, + // use UTF8ByteOffsetFromLineStart. + PositionEncoding position_encoding = 6; +} + +// Encoding used to interpret the 'character' value in source ranges. +enum PositionEncoding { + // Default value. This value should not be used by new SCIP indexers + // so that a consumer can process the SCIP index without ambiguity. + UnspecifiedPositionEncoding = 0; + // The 'character' value is interpreted as an offset in terms + // of UTF-8 code units (i.e. bytes). + // + // Example: For the string "🚀 Woo" in UTF-8, the bytes are + // [240, 159, 154, 128, 32, 87, 111, 111], so the offset for 'W' + // would be 5. + UTF8CodeUnitOffsetFromLineStart = 1; + // The 'character' value is interpreted as an offset in terms + // of UTF-16 code units (each is 2 bytes). + // + // Example: For the string "🚀 Woo", the UTF-16 code units are + // ['\ud83d', '\ude80', ' ', 'W', 'o', 'o'], so the offset for 'W' + // would be 3. + UTF16CodeUnitOffsetFromLineStart = 2; + // The 'character' value is interpreted as an offset in terms + // of UTF-32 code units (each is 4 bytes). + // + // Example: For the string "🚀 Woo", the UTF-32 code units are + // ['🚀', ' ', 'W', 'o', 'o'], so the offset for 'W' would be 2. + UTF32CodeUnitOffsetFromLineStart = 3; +} + +// Symbol is similar to a URI, it identifies a class, method, or a local +// variable. `SymbolInformation` contains rich metadata about symbols such as +// the docstring. +// +// Symbol has a standardized string representation, which can be used +// interchangeably with `Symbol`. The syntax for Symbol is the following: +// ``` +// # ()+ stands for one or more repetitions of +// # ()? stands for zero or one occurrence of +// ::= ' ' ' ' ()+ | 'local ' +// ::= ' ' ' ' +// ::= any UTF-8, escape spaces with double space. Must not be empty nor start with 'local' +// ::= any UTF-8, escape spaces with double space. Use the placeholder '.' to indicate an empty value +// ::= same as above +// ::= same as above +// ::= | | | | | | | +// ::= '/' +// ::= '#' +// ::= '.' +// ::= ':' +// ::= '!' +// ::= '(' ()? ').' +// ::= '[' ']' +// ::= '(' ')' +// ::= +// ::= +// ::= | +// ::= ()+ +// ::= '_' | '+' | '-' | '$' | ASCII letter or digit +// ::= '`' ()+ '`', must contain at least one non- +// ::= any UTF-8, escape backticks with double backtick. +// ::= +// ``` +// +// The list of descriptors for a symbol should together form a fully +// qualified name for the symbol. That is, it should serve as a unique +// identifier across the package. Typically, it will include one descriptor +// for every node in the AST (along the ancestry path) between the root of +// the file and the node corresponding to the symbol. +// +// Local symbols MUST only be used for entities which are local to a Document, +// and cannot be accessed from outside the Document. +message Symbol { + string scheme = 1; + Package package = 2; + repeated Descriptor descriptors = 3; +} + +// Unit of packaging and distribution. +// +// NOTE: This corresponds to a module in Go and JVM languages. +message Package { + string manager = 1; + string name = 2; + string version = 3; +} + +message Descriptor { + enum Suffix { + option allow_alias = true; + UnspecifiedSuffix = 0; + // Unit of code abstraction and/or namespacing. + // + // NOTE: This corresponds to a package in Go and JVM languages. + Namespace = 1; + // Use Namespace instead. + Package = 1 [deprecated = true]; + Type = 2; + Term = 3; + Method = 4; + TypeParameter = 5; + Parameter = 6; + // Can be used for any purpose. + Meta = 7; + Local = 8; + Macro = 9; + } + string name = 1; + string disambiguator = 2; + Suffix suffix = 3; + // NOTE: If you add new fields here, make sure to update the prepareSlot() + // function responsible for parsing symbols. +} + +// Signature represents the signature of a symbol as it's displayed in API +// documentation or hover tooltips. It uses a subset of Document's fields with +// the same field numbers for wire compatibility with older indexes that encoded +// signatures using the Document message type. +message Signature { + // The language of the signature, e.g. "java", "go", "python". + string language = 4; + // The text content of the signature, e.g. "void add(int a, int b)". + string text = 5; + // (optional) Occurrences within the signature text that reference other + // symbols, enabling hyperlinking of types in the signature. Ranges are + // relative to the `text` field. + repeated Occurrence occurrences = 2; + + // Reserved field numbers from the Document message to prevent accidental + // reuse, which would break wire compatibility with older indexes. + reserved 1, 3, 6; +} + +// SymbolInformation defines metadata about a symbol, such as the symbol's +// docstring or what package it's defined it. +message SymbolInformation { + // Identifier of this symbol, which can be referenced from `Occurence.symbol`. + // The string must be formatted according to the grammar in `Symbol`. + string symbol = 1; + // (optional, but strongly recommended) The markdown-formatted documentation + // for this symbol. Use `SymbolInformation.signature_documentation` to + // document the method/class/type signature of this symbol. + // Due to historical reasons, indexers may include signature documentation in + // this field by rendering markdown code blocks. New indexers should only + // include non-code documentation in this field, for example docstrings. + repeated string documentation = 3; + // (optional) Relationships to other symbols (e.g., implements, type definition). + repeated Relationship relationships = 4; + // The kind of this symbol. Use this field instead of + // `SymbolDescriptor.Suffix` to determine whether something is, for example, a + // class or a method. + Kind kind = 5; + // (optional) Kind represents the fine-grained category of a symbol, suitable for presenting + // information about the symbol's meaning in the language. + // + // For example: + // - A Java method would have the kind `Method` while a Go function would + // have the kind `Function`, even if the symbols for these use the same + // syntax for the descriptor `SymbolDescriptor.Suffix.Method`. + // - A Go struct has the symbol kind `Struct` while a Java class has + // the symbol kind `Class` even if they both have the same descriptor: + // `SymbolDescriptor.Suffix.Type`. + // + // Since Kind is more fine-grained than Suffix: + // - If two symbols have the same Kind, they should share the same Suffix. + // - If two symbols have different Suffixes, they should have different Kinds. + enum Kind { + UnspecifiedKind = 0; + // A method which may or may not have a body. For Java, Kotlin etc. + AbstractMethod = 66; + // For Ruby's attr_accessor + Accessor = 72; + Array = 1; + // For Alloy + Assertion = 2; + AssociatedType = 3; + // For C++ + Attribute = 4; + // For Lean + Axiom = 5; + Boolean = 6; + Class = 7; + // For C++ + Concept = 86; + Constant = 8; + Constructor = 9; + // For Solidity + Contract = 62; + // For Haskell + DataFamily = 10; + // For C# and F# + Delegate = 73; + Enum = 11; + EnumMember = 12; + Error = 63; + Event = 13; + // For Dart + Extension = 84; + // For Alloy + Fact = 14; + Field = 15; + File = 16; + Function = 17; + // For 'get' in Swift, 'attr_reader' in Ruby + Getter = 18; + // For Raku + Grammar = 19; + // For Purescript and Lean + Instance = 20; + Interface = 21; + Key = 22; + // For Racket + Lang = 23; + // For Lean + Lemma = 24; + // For solidity + Library = 64; + Macro = 25; + Method = 26; + // For Ruby + MethodAlias = 74; + // Analogous to 'ThisParameter' and 'SelfParameter', but for languages + // like Go where the receiver doesn't have a conventional name. + MethodReceiver = 27; + // Analogous to 'AbstractMethod', for Go. + MethodSpecification = 67; + // For Protobuf + Message = 28; + // For Dart + Mixin = 85; + // For Solidity + Modifier = 65; + Module = 29; + Namespace = 30; + Null = 31; + Number = 32; + Object = 33; + Operator = 34; + Package = 35; + PackageObject = 36; + Parameter = 37; + ParameterLabel = 38; + // For Haskell's PatternSynonyms + Pattern = 39; + // For Alloy + Predicate = 40; + Property = 41; + // Analogous to 'Trait' and 'TypeClass', for Swift and Objective-C + Protocol = 42; + // Analogous to 'AbstractMethod', for Swift and Objective-C. + ProtocolMethod = 68; + // Analogous to 'AbstractMethod', for C++. + PureVirtualMethod = 69; + // For Haskell + Quasiquoter = 43; + // 'self' in Python, Rust, Swift etc. + SelfParameter = 44; + // For 'set' in Swift, 'attr_writer' in Ruby + Setter = 45; + // For Alloy, analogous to 'Struct'. + Signature = 46; + // For Ruby + SingletonClass = 75; + // Analogous to 'StaticMethod', for Ruby. + SingletonMethod = 76; + // Analogous to 'StaticField', for C++ + StaticDataMember = 77; + // For C# + StaticEvent = 78; + // For C# + StaticField = 79; + // For Java, C#, C++ etc. + StaticMethod = 80; + // For C#, TypeScript etc. + StaticProperty = 81; + // For C, C++ + StaticVariable = 82; + String = 48; + Struct = 49; + // For Swift + Subscript = 47; + // For Lean + Tactic = 50; + // For Lean + Theorem = 51; + // Method receiver for languages + // 'this' in JavaScript, C++, Java etc. + ThisParameter = 52; + // Analogous to 'Protocol' and 'TypeClass', for Rust, Scala etc. + Trait = 53; + // Analogous to 'AbstractMethod', for Rust, Scala etc. + TraitMethod = 70; + // Data type definition for languages like OCaml which use `type` + // rather than separate keywords like `struct` and `enum`. + Type = 54; + TypeAlias = 55; + // Analogous to 'Trait' and 'Protocol', for Haskell, Purescript etc. + TypeClass = 56; + // Analogous to 'AbstractMethod', for Haskell, Purescript etc. + TypeClassMethod = 71; + // For Haskell + TypeFamily = 57; + TypeParameter = 58; + // For C, C++, Capn Proto + Union = 59; + Value = 60; + Variable = 61; + // Next = 87; + // Feel free to open a PR proposing new language-specific kinds. + } + // (optional) The name of this symbol as it should be displayed to the user. + // For example, the symbol "com/example/MyClass#myMethod(+1)." should have the + // display name "myMethod". The `symbol` field is not a reliable source of + // the display name for several reasons: + // + // - Local symbols don't encode the name. + // - Some languages have case-insensitive names, so the symbol is all-lowercase. + // - The symbol may encode names with special characters that should not be + // displayed to the user. + string display_name = 6; + // (optional) The signature of this symbol as it's displayed in API + // documentation or in hover tooltips. For example, a Java method that adds + // two numbers would have `Signature.language = "java"` and + // `Signature.text = "void add(int a, int b)"`. The `language` and `text` + // fields are required while `occurrences` can be optionally included to + // support hyperlinking referenced symbols in the signature. + Signature signature_documentation = 7; + // (optional) The enclosing symbol if this is a local symbol. For non-local + // symbols, the enclosing symbol should be parsed from the `symbol` field + // using the `Descriptor` grammar. + // + // The primary use-case for this field is to allow local symbol to be displayed + // in a symbol hierarchy for API documentation. It's OK to leave this field + // empty for local variables since local variables usually don't belong in API + // documentation. However, in the situation that you wish to include a local + // symbol in the hierarchy, then you can use `enclosing_symbol` to locate the + // "parent" or "owner" of this local symbol. For example, a Java indexer may + // choose to use local symbols for private class fields while providing an + // `enclosing_symbol` to reference the enclosing class to allow the field to + // be part of the class documentation hierarchy. From the perspective of an + // author of an indexer, the decision to use a local symbol or global symbol + // should exclusively be determined whether the local symbol is accessible + // outside the document, not by the capability to find the enclosing + // symbol. + string enclosing_symbol = 8; +} + +message Relationship { + string symbol = 1; + // When resolving "Find references", this field documents what other symbols + // should be included together with this symbol. For example, consider the + // following TypeScript code that defines two symbols `Animal#sound()` and + // `Dog#sound()`: + // ```ts + // interface Animal { + // ^^^^^^ definition Animal# + // sound(): string + // ^^^^^ definition Animal#sound() + // } + // class Dog implements Animal { + // ^^^ definition Dog#, relationships = [{symbol: "Animal#", is_implementation: true}] + // public sound(): string { return "woof" } + // ^^^^^ definition Dog#sound(), references_symbols = Animal#sound(), relationships = [{symbol: "Animal#sound()", is_implementation:true, is_reference: true}] + // } + // const animal: Animal = new Dog() + // ^^^^^^ reference Animal# + // console.log(animal.sound()) + // ^^^^^ reference Animal#sound() + // ``` + // Doing "Find references" on the symbol `Animal#sound()` should return + // references to the `Dog#sound()` method as well. Vice-versa, doing "Find + // references" on the `Dog#sound()` method should include references to the + // `Animal#sound()` method as well. + bool is_reference = 2; + // Similar to `is_reference` but for "Find implementations". + // It's common for `is_implementation` and `is_reference` to both be true but + // it's not always the case. + // In the TypeScript example above, observe that `Dog#` has an + // `is_implementation` relationship with `"Animal#"` but not `is_reference`. + // This is because "Find references" on the "Animal#" symbol should not return + // "Dog#". We only want "Dog#" to return as a result for "Find + // implementations" on the "Animal#" symbol. + bool is_implementation = 3; + // Similar to `references_symbols` but for "Go to type definition". + bool is_type_definition = 4; + // Allows overriding the behavior of "Go to definition" and "Find references" + // for symbols which do not have a definition of their own or could + // potentially have multiple definitions. + // + // For example, in a language with single inheritance and no field overriding, + // inherited fields can reuse the same symbol as the ancestor which declares + // the field. In such a situation, is_definition is not needed. + // + // On the other hand, in languages with single inheritance and some form + // of mixins, you can use is_definition to relate the symbol to the + // matching symbol in ancestor classes, and is_reference to relate the + // symbol to the matching symbol in mixins. + bool is_definition = 5; + // Update registerInverseRelationships on adding a new field here. +} + +// SymbolRole declares what "role" a symbol has in an occurrence. A role is +// encoded as a bitset where each bit represents a different role. For example, +// to determine if the `Import` role is set, test whether the second bit of the +// enum value is defined. In pseudocode, this can be implemented with the +// logic: `const isImportRole = (role.value & SymbolRole.Import.value) > 0`. +enum SymbolRole { + // This case is not meant to be used; it only exists to avoid an error + // from the Protobuf code generator. + UnspecifiedSymbolRole = 0; + // Is the symbol defined here? If not, then this is a symbol reference. + Definition = 0x1; + // Is the symbol imported here? + Import = 0x2; + // Is the symbol written here? + WriteAccess = 0x4; + // Is the symbol read here? + ReadAccess = 0x8; + // Is the symbol in generated code? + Generated = 0x10; + // Is the symbol in test code? + Test = 0x20; + // Is this a signature for a symbol that is defined elsewhere? + // + // Applies to forward declarations for languages like C, C++ + // and Objective-C, as well as `val` declarations in interface + // files in languages like SML and OCaml. + ForwardDefinition = 0x40; +} + +enum SyntaxKind { + option allow_alias = true; + + UnspecifiedSyntaxKind = 0; + + // Comment, including comment markers and text + Comment = 1; + + // `;` `.` `,` + PunctuationDelimiter = 2; + // (), {}, [] when used syntactically + PunctuationBracket = 3; + + // `if`, `else`, `return`, `class`, etc. + Keyword = 4; + IdentifierKeyword = 4 [deprecated = true]; + + // `+`, `*`, etc. + IdentifierOperator = 5; + + // non-specific catch-all for any identifier not better described elsewhere + Identifier = 6; + // Identifiers builtin to the language: `min`, `print` in Python. + IdentifierBuiltin = 7; + // Identifiers representing `null`-like values: `None` in Python, `nil` in Go. + IdentifierNull = 8; + // `xyz` in `const xyz = "hello"` + IdentifierConstant = 9; + // `var X = "hello"` in Go + IdentifierMutableGlobal = 10; + // Parameter definition and references + IdentifierParameter = 11; + // Identifiers for variable definitions and references within a local scope + IdentifierLocal = 12; + // Identifiers that shadow other identifiers in an outer scope + IdentifierShadowed = 13; + // Identifier representing a unit of code abstraction and/or namespacing. + // + // NOTE: This corresponds to a package in Go and JVM languages, + // and a module in languages like Python and JavaScript. + IdentifierNamespace = 14; + IdentifierModule = 14 [deprecated = true]; + + // Function references, including calls + IdentifierFunction = 15; + // Function definition only + IdentifierFunctionDefinition = 16; + + // Macro references, including invocations + IdentifierMacro = 17; + // Macro definition only + IdentifierMacroDefinition = 18; + + // non-builtin types + IdentifierType = 19; + // builtin types only, such as `str` for Python or `int` in Go + IdentifierBuiltinType = 20; + + // Python decorators, c-like __attribute__ + IdentifierAttribute = 21; + + // `\b` + RegexEscape = 22; + // `*`, `+` + RegexRepeated = 23; + // `.` + RegexWildcard = 24; + // `(`, `)`, `[`, `]` + RegexDelimiter = 25; + // `|`, `-` + RegexJoin = 26; + + // Literal strings: "Hello, world!" + StringLiteral = 27; + // non-regex escapes: "\t", "\n" + StringLiteralEscape = 28; + // datetimes within strings, special words within a string, `{}` in format strings + StringLiteralSpecial = 29; + // "key" in { "key": "value" }, useful for example in JSON + StringLiteralKey = 30; + // 'c' or similar, in languages that differentiate strings and characters + CharacterLiteral = 31; + // Literal numbers, both floats and integers + NumericLiteral = 32; + // `true`, `false` + BooleanLiteral = 33; + + // Used for XML-like tags + Tag = 34; + // Attribute name in XML-like tags + TagAttribute = 35; + // Delimiters for XML-like tags + TagDelimiter = 36; +} + +// Occurrence associates a source position with a symbol and/or highlighting +// information. +// +// If possible, indexers should try to bundle logically related information +// across occurrences into a single occurrence to reduce payload sizes. +message Occurrence { + // Half-open [start, end) range of this occurrence. Must be exactly three or four + // elements: + // + // - Four elements: `[startLine, startCharacter, endLine, endCharacter]` + // - Three elements: `[startLine, startCharacter, endCharacter]`. The end line + // is inferred to have the same value as the start line. + // + // It is allowed for the range to be empty (i.e. start==end). + // + // Line numbers and characters are always 0-based. Make sure to increment the + // line/character values before displaying them in an editor-like UI because + // editors conventionally use 1-based numbers. + // + // The 'character' value is interpreted based on the PositionEncoding for + // the Document. + // + // Historical note: the original draft of this schema had a `Range` message + // type with `start` and `end` fields of type `Position`, mirroring LSP. + // Benchmarks revealed that this encoding was inefficient and that we could + // reduce the total payload size of an index by 50% by using `repeated int32` + // instead. The `repeated int32` encoding is admittedly more embarrassing to + // work with in some programming languages but we hope the performance + // improvements make up for it. + repeated int32 range = 1; + // (optional) The symbol that appears at this position. See + // `SymbolInformation.symbol` for how to format symbols as strings. + string symbol = 2; + // (optional) Bitset containing `SymbolRole`s in this occurrence. + // See `SymbolRole`'s documentation for how to read and write this field. + int32 symbol_roles = 3; + // (optional) CommonMark-formatted documentation for this specific range. If + // empty, the `Symbol.documentation` field is used instead. One example + // where this field might be useful is when the symbol represents a generic + // function (with abstract type parameters such as `List`) and at this + // occurrence we know the exact values (such as `List`). + // + // This field can also be used for dynamically or gradually typed languages, + // which commonly allow for type-changing assignment. + repeated string override_documentation = 4; + // (optional) What syntax highlighting class should be used for this range? + SyntaxKind syntax_kind = 5; + // (optional) Diagnostics that have been reported for this specific range. + repeated Diagnostic diagnostics = 6; + // (optional) Using the same encoding as the sibling `range` field, half-open + // source range of the nearest non-trivial enclosing AST node. This range must + // enclose the `range` field. Example applications that make use of the + // enclosing_range field: + // + // - Call hierarchies: to determine what symbols are references from the body + // of a function + // - Symbol outline: to display breadcrumbs from the cursor position to the + // root of the file + // - Expand selection: to select the nearest enclosing AST node. + // - Highlight range: to indicate the AST expression that is associated with a + // hover popover + // + // For definition occurrences, the enclosing range should indicate the + // start/end bounds of the entire definition AST node, including + // documentation. + // ``` + // const n = 3 + // ^ range + // ^^^^^^^^^^^ enclosing_range + // + // /** Parses the string into something */ + // ^ enclosing_range start --------------------------------------| + // function parse(input string): string { | + // ^^^^^ range | + // return input.slice(n) | + // } | + // ^ enclosing_range end <---------------------------------------| + // ``` + // + // Any attributes/decorators/attached macros should also be part of the + // enclosing range. + // + // ```python + // @cache + // ^ enclosing_range start---------------------| + // def factorial(n): | + // return n * factorial(n-1) if n else 1 | + // < enclosing_range end-----------------------| + // + // ``` + // + // For reference occurrences, the enclosing range should indicate the start/end + // bounds of the parent expression. + // ``` + // const a = a.b + // ^ range + // ^^^ enclosing_range + // const b = a.b(41).f(42).g(43) + // ^ range + // ^^^^^^^^^^^^^ enclosing_range + // ``` + repeated int32 enclosing_range = 7; +} + +// Represents a diagnostic, such as a compiler error or warning, which should be +// reported for a document. +message Diagnostic { + // Should this diagnostic be reported as an error, warning, info, or hint? + Severity severity = 1; + // (optional) Code of this diagnostic, which might appear in the user interface. + string code = 2; + // Message of this diagnostic. + string message = 3; + // (optional) Human-readable string describing the source of this diagnostic, e.g. + // 'typescript' or 'super lint'. + string source = 4; + repeated DiagnosticTag tags = 5; +} + +enum Severity { + UnspecifiedSeverity = 0; + Error = 1; + Warning = 2; + Information = 3; + Hint = 4; +} + +enum DiagnosticTag { + UnspecifiedDiagnosticTag = 0; + Unnecessary = 1; + Deprecated = 2; +} + +// Language standardises names of common programming languages that can be used +// for the `Document.language` field. The primary purpose of this enum is to +// prevent a situation where we have a single programming language ends up with +// multiple string representations. For example, the C++ language uses the name +// "CPP" in this enum and other names such as "cpp" are incompatible. +// Feel free to send a pull-request to add missing programming languages. +enum Language { + UnspecifiedLanguage = 0; + ABAP = 60; + Apex = 96; + APL = 49; + Ada = 39; + Agda = 45; + AsciiDoc = 86; + Assembly = 58; + Awk = 66; + Bat = 68; + BibTeX = 81; + C = 34; + COBOL = 59; + CPP = 35; // C++ (the name "CPP" was chosen for consistency with LSP) + CSS = 26; + CSharp = 1; + Clojure = 8; + Coffeescript = 21; + CommonLisp = 9; + Coq = 47; + CUDA = 97; + Dart = 3; + Delphi = 57; + Diff = 88; + Dockerfile = 80; + Dyalog = 50; + Elixir = 17; + Erlang = 18; + FSharp = 42; + Fish = 65; + Flow = 24; + Fortran = 56; + Git_Commit = 91; + Git_Config = 89; + Git_Rebase = 92; + Go = 33; + GraphQL = 98; + Groovy = 7; + HTML = 30; + Hack = 20; + Handlebars = 90; + Haskell = 44; + Idris = 46; + Ini = 72; + J = 51; + JSON = 75; + Java = 6; + JavaScript = 22; + JavaScriptReact = 93; + Jsonnet = 76; + Julia = 55; + Justfile = 109; + Kotlin = 4; + LaTeX = 83; + Lean = 48; + Less = 27; + Lua = 12; + Luau = 108; + Makefile = 79; + Markdown = 84; + Matlab = 52; + Nickel = 110; // https://nickel-lang.org/ + Nix = 77; + OCaml = 41; + Objective_C = 36; + Objective_CPP = 37; + Pascal = 99; + PHP = 19; + PLSQL = 70; + Perl = 13; + PowerShell = 67; + Prolog = 71; + Protobuf = 100; + Python = 15; + R = 54; + Racket = 11; + Raku = 14; + Razor = 62; + Repro = 102; // Internal language for testing SCIP + ReST = 85; + Ruby = 16; + Rust = 40; + SAS = 61; + SCSS = 29; + SML = 43; + SQL = 69; + Sass = 28; + Scala = 5; + Scheme = 10; + ShellScript = 64; // Bash + Skylark = 78; + Slang = 107; + Solidity = 95; + Svelte = 106; + Swift = 2; + Tcl = 101; + TOML = 73; + TeX = 82; + Thrift = 103; + TypeScript = 23; + TypeScriptReact = 94; + Verilog = 104; + VHDL = 105; + VisualBasic = 63; + Vue = 25; + Wolfram = 53; + XML = 31; + XSL = 32; + YAML = 74; + Zig = 38; + // NextLanguage = 111; + // Steps add a new language: + // 1. Copy-paste the "NextLanguage = N" line above + // 2. Increment "NextLanguage = N" to "NextLanguage = N+1" + // 3. Replace "NextLanguage = N" with the name of the new language. + // 4. Move the new language to the correct line above using alphabetical order + // 5. (optional) Add a brief comment behind the language if the name is not self-explanatory +} diff --git a/bindings/rust/src/generated/scip.rs b/bindings/rust/src/generated/scip.rs index 56fa13b8..b5569fac 100644 --- a/bindings/rust/src/generated/scip.rs +++ b/bindings/rust/src/generated/scip.rs @@ -4836,21 +4836,29 @@ static file_descriptor_proto_data: &'static [u8] = b"\ ct\x10^\x12\x0b\n\x07Verilog\x10h\x12\x08\n\x04VHDL\x10i\x12\x0f\n\x0bVi\ sualBasic\x10?\x12\x07\n\x03Vue\x10\x19\x12\x0b\n\x07Wolfram\x105\x12\ \x07\n\x03XML\x10\x1f\x12\x07\n\x03XSL\x10\x20\x12\x08\n\x04YAML\x10J\ - \x12\x07\n\x03Zig\x10&B-Z+github.com/scip-code/scip/bindings/go/scip/J\ - \xe3\xbe\x02\n\x07\x12\x05\n\0\x80\x07\x01\n\x82\x04\n\x01\x0c\x12\x03\n\ - \0\x122\xf7\x03\x20An\x20index\x20contains\x20one\x20or\x20more\x20piece\ - s\x20of\x20information\x20about\x20a\x20given\x20piece\x20of\n\x20source\ - \x20code\x20or\x20software\x20artifact.\x20Complementary\x20information\ - \x20can\x20be\x20merged\n\x20together\x20from\x20multiple\x20sources\x20\ - to\x20provide\x20a\x20unified\x20code\x20intelligence\n\x20experience.\n\ - \n\x20Programs\x20producing\x20a\x20file\x20of\x20this\x20format\x20is\ - \x20an\x20\"indexer\"\x20and\x20may\x20operate\n\x20somewhere\x20on\x20t\ - he\x20spectrum\x20between\x20precision,\x20such\x20as\x20indexes\x20prod\ - uced\x20by\n\x20compiler-backed\x20indexers,\x20and\x20heurstics,\x20suc\ - h\x20as\x20indexes\x20produced\x20by\x20local\n\x20syntax-directed\x20an\ - alysis\x20for\x20scope\x20rules.\n\n\x08\n\x01\x02\x12\x03\x0c\0\r\n\x08\ - \n\x01\x08\x12\x03\x0e\0B\n\t\n\x02\x08\x0b\x12\x03\x0e\0B\n\xd0\x03\n\ - \x02\x04\0\x12\x04\x16\0#\x01\x1a\xc3\x03\x20Index\x20represents\x20a\ + \x12\x07\n\x03Zig\x10&BN\n\x12org.scip_code.scipB\tScipProtoP\x01Z+githu\ + b.com/scip-code/scip/bindings/go/scip/J\x81\xc1\x02\n\x07\x12\x05\n\0\ + \x86\x07\x01\n\x82\x04\n\x01\x0c\x12\x03\n\0\x122\xf7\x03\x20An\x20index\ + \x20contains\x20one\x20or\x20more\x20pieces\x20of\x20information\x20abou\ + t\x20a\x20given\x20piece\x20of\n\x20source\x20code\x20or\x20software\x20\ + artifact.\x20Complementary\x20information\x20can\x20be\x20merged\n\x20to\ + gether\x20from\x20multiple\x20sources\x20to\x20provide\x20a\x20unified\ + \x20code\x20intelligence\n\x20experience.\n\n\x20Programs\x20producing\ + \x20a\x20file\x20of\x20this\x20format\x20is\x20an\x20\"indexer\"\x20and\ + \x20may\x20operate\n\x20somewhere\x20on\x20the\x20spectrum\x20between\ + \x20precision,\x20such\x20as\x20indexes\x20produced\x20by\n\x20compiler-\ + backed\x20indexers,\x20and\x20heurstics,\x20such\x20as\x20indexes\x20pro\ + duced\x20by\x20local\n\x20syntax-directed\x20analysis\x20for\x20scope\ + \x20rules.\n\n\x08\n\x01\x02\x12\x03\x0c\0\r\n\x08\n\x01\x08\x12\x03\x0e\ + \0B\n\t\n\x02\x08\x0b\x12\x03\x0e\0B\n\x08\n\x01\x08\x12\x03\x0f\0\"\n\t\ + \n\x02\x08\n\x12\x03\x0f\0\"\n\x08\n\x01\x08\x12\x03\x13\0*\n\xe7\x01\n\ + \x02\x08\x08\x12\x03\x13\0*\x1a\xdb\x01\x20Avoid\x20collision\x20between\ + \x20the\x20file-level\x20outer\x20class\x20(which\x20holds\x20the\x20fil\ + e\n\x20descriptor\x20and\x20registerAllExtensions)\x20and\x20messages\ + \x20also\x20called\x20\"Scip*\"\n\x20once\x20java_multiple_files\x20emit\ + s\x20each\x20message\x20as\x20its\x20own\x20top-level\x20class.\n\n\x08\ + \n\x01\x08\x12\x03\x14\0+\n\t\n\x02\x08\x01\x12\x03\x14\0+\n\xd0\x03\n\ + \x02\x04\0\x12\x04\x1c\0)\x01\x1a\xc3\x03\x20Index\x20represents\x20a\ \x20complete\x20SCIP\x20index\x20for\x20a\x20workspace\x20this\x20is\x20\ rooted\x20at\x20a\n\x20single\x20directory.\x20An\x20Index\x20message\ \x20payload\x20can\x20have\x20a\x20large\x20memory\x20footprint\n\x20and\ @@ -4860,15 +4868,15 @@ static file_descriptor_proto_data: &'static [u8] = b"\ load,\x20the\n\x20`metadata`\x20field\x20must\x20appear\x20at\x20the\x20\ start\x20of\x20the\x20stream\x20and\x20must\x20only\x20appear\n\x20once\ \x20in\x20the\x20stream.\x20Other\x20field\x20values\x20may\x20appear\ - \x20in\x20any\x20order.\n\n\n\n\x03\x04\0\x01\x12\x03\x16\x08\r\n)\n\x04\ - \x04\0\x02\0\x12\x03\x18\x02\x18\x1a\x1c\x20Metadata\x20about\x20this\ - \x20index.\n\n\x0c\n\x05\x04\0\x02\0\x06\x12\x03\x18\x02\n\n\x0c\n\x05\ - \x04\0\x02\0\x01\x12\x03\x18\x0b\x13\n\x0c\n\x05\x04\0\x02\0\x03\x12\x03\ - \x18\x16\x17\n3\n\x04\x04\0\x02\x01\x12\x03\x1a\x02\"\x1a&\x20Documents\ + \x20in\x20any\x20order.\n\n\n\n\x03\x04\0\x01\x12\x03\x1c\x08\r\n)\n\x04\ + \x04\0\x02\0\x12\x03\x1e\x02\x18\x1a\x1c\x20Metadata\x20about\x20this\ + \x20index.\n\n\x0c\n\x05\x04\0\x02\0\x06\x12\x03\x1e\x02\n\n\x0c\n\x05\ + \x04\0\x02\0\x01\x12\x03\x1e\x0b\x13\n\x0c\n\x05\x04\0\x02\0\x03\x12\x03\ + \x1e\x16\x17\n3\n\x04\x04\0\x02\x01\x12\x03\x20\x02\"\x1a&\x20Documents\ \x20that\x20belong\x20to\x20this\x20index.\n\n\x0c\n\x05\x04\0\x02\x01\ - \x04\x12\x03\x1a\x02\n\n\x0c\n\x05\x04\0\x02\x01\x06\x12\x03\x1a\x0b\x13\ - \n\x0c\n\x05\x04\0\x02\x01\x01\x12\x03\x1a\x14\x1d\n\x0c\n\x05\x04\0\x02\ - \x01\x03\x12\x03\x1a\x20!\n\xf6\x03\n\x04\x04\0\x02\x02\x12\x03\x20\x022\ + \x04\x12\x03\x20\x02\n\n\x0c\n\x05\x04\0\x02\x01\x06\x12\x03\x20\x0b\x13\ + \n\x0c\n\x05\x04\0\x02\x01\x01\x12\x03\x20\x14\x1d\n\x0c\n\x05\x04\0\x02\ + \x01\x03\x12\x03\x20\x20!\n\xf6\x03\n\x04\x04\0\x02\x02\x12\x03&\x022\ \x1a\xe9\x02\x20(optional)\x20Symbols\x20that\x20are\x20referenced\x20fr\ om\x20this\x20index\x20but\x20are\x20defined\x20in\n\x20an\x20external\ \x20package\x20(a\x20separate\x20`Index`\x20message).\x20Leave\x20this\ @@ -4879,1054 +4887,1054 @@ static file_descriptor_proto_data: &'static [u8] = b"\ cumentation\x20for\x20those\x20external\x20symbols.\n\"}\x20IMPORTANT:\ \x20When\x20adding\x20a\x20new\x20field\x20to\x20`Index`\x20here,\x20add\ \x20a\x20matching\n\x20function\x20in\x20`IndexVisitor`\x20and\x20update\ - \x20`ParseStreaming`.\n\n\x0c\n\x05\x04\0\x02\x02\x04\x12\x03\x20\x02\n\ - \n\x0c\n\x05\x04\0\x02\x02\x06\x12\x03\x20\x0b\x1c\n\x0c\n\x05\x04\0\x02\ - \x02\x01\x12\x03\x20\x1d-\n\x0c\n\x05\x04\0\x02\x02\x03\x12\x03\x2001\n\ - \n\n\x02\x04\x01\x12\x04%\02\x01\n\n\n\x03\x04\x01\x01\x12\x03%\x08\x10\ - \nN\n\x04\x04\x01\x02\0\x12\x03'\x02\x1e\x1aA\x20Which\x20version\x20of\ - \x20this\x20protocol\x20was\x20used\x20to\x20generate\x20this\x20index?\ - \n\n\x0c\n\x05\x04\x01\x02\0\x06\x12\x03'\x02\x11\n\x0c\n\x05\x04\x01\ - \x02\0\x01\x12\x03'\x12\x19\n\x0c\n\x05\x04\x01\x02\0\x03\x12\x03'\x1c\ - \x1d\nC\n\x04\x04\x01\x02\x01\x12\x03)\x02\x19\x1a6\x20Information\x20ab\ - out\x20the\x20tool\x20that\x20produced\x20this\x20index.\n\n\x0c\n\x05\ - \x04\x01\x02\x01\x06\x12\x03)\x02\n\n\x0c\n\x05\x04\x01\x02\x01\x01\x12\ - \x03)\x0b\x14\n\x0c\n\x05\x04\x01\x02\x01\x03\x12\x03)\x17\x18\n\xa2\x01\ - \n\x04\x04\x01\x02\x02\x12\x03-\x02\x1a\x1a\x94\x01\x20URI-encoded\x20ab\ - solute\x20path\x20to\x20the\x20root\x20directory\x20of\x20this\x20index.\ - \x20All\n\x20documents\x20in\x20this\x20index\x20must\x20appear\x20in\ - \x20a\x20subdirectory\x20of\x20this\x20root\n\x20directory.\n\n\x0c\n\ - \x05\x04\x01\x02\x02\x05\x12\x03-\x02\x08\n\x0c\n\x05\x04\x01\x02\x02\ - \x01\x12\x03-\t\x15\n\x0c\n\x05\x04\x01\x02\x02\x03\x12\x03-\x18\x19\n\ - \xe0\x01\n\x04\x04\x01\x02\x03\x12\x031\x02*\x1a\xd2\x01\x20Text\x20enco\ - ding\x20of\x20the\x20source\x20files\x20on\x20disk\x20that\x20are\x20ref\ - erenced\x20from\n\x20`Document.relative_path`.\x20This\x20value\x20is\ - \x20unrelated\x20to\x20the\x20`Document.text`\n\x20field,\x20which\x20is\ - \x20a\x20Protobuf\x20string\x20and\x20hence\x20must\x20be\x20UTF-8\x20en\ - coded.\n\n\x0c\n\x05\x04\x01\x02\x03\x06\x12\x031\x02\x0e\n\x0c\n\x05\ - \x04\x01\x02\x03\x01\x12\x031\x0f%\n\x0c\n\x05\x04\x01\x02\x03\x03\x12\ - \x031()\n\n\n\x02\x05\0\x12\x044\06\x01\n\n\n\x03\x05\0\x01\x12\x034\x05\ - \x14\n\x0b\n\x04\x05\0\x02\0\x12\x035\x02!\n\x0c\n\x05\x05\0\x02\0\x01\ - \x12\x035\x02\x1c\n\x0c\n\x05\x05\0\x02\0\x02\x12\x035\x1f\x20\n\n\n\x02\ - \x05\x01\x12\x048\0<\x01\n\n\n\x03\x05\x01\x01\x12\x038\x05\x11\n\x0b\n\ - \x04\x05\x01\x02\0\x12\x039\x02\x1e\n\x0c\n\x05\x05\x01\x02\0\x01\x12\ - \x039\x02\x19\n\x0c\n\x05\x05\x01\x02\0\x02\x12\x039\x1c\x1d\n\x0b\n\x04\ - \x05\x01\x02\x01\x12\x03:\x02\x0b\n\x0c\n\x05\x05\x01\x02\x01\x01\x12\ - \x03:\x02\x06\n\x0c\n\x05\x05\x01\x02\x01\x02\x12\x03:\t\n\n\x0b\n\x04\ - \x05\x01\x02\x02\x12\x03;\x02\x0c\n\x0c\n\x05\x05\x01\x02\x02\x01\x12\ - \x03;\x02\x07\n\x0c\n\x05\x05\x01\x02\x02\x02\x12\x03;\n\x0b\n\n\n\x02\ - \x04\x02\x12\x04>\0E\x01\n\n\n\x03\x04\x02\x01\x12\x03>\x08\x10\n<\n\x04\ - \x04\x02\x02\0\x12\x03@\x02\x12\x1a/\x20Name\x20of\x20the\x20indexer\x20\ - that\x20produced\x20this\x20index.\n\n\x0c\n\x05\x04\x02\x02\0\x05\x12\ - \x03@\x02\x08\n\x0c\n\x05\x04\x02\x02\0\x01\x12\x03@\t\r\n\x0c\n\x05\x04\ - \x02\x02\0\x03\x12\x03@\x10\x11\n?\n\x04\x04\x02\x02\x01\x12\x03B\x02\ - \x15\x1a2\x20Version\x20of\x20the\x20indexer\x20that\x20produced\x20this\ - \x20index.\n\n\x0c\n\x05\x04\x02\x02\x01\x05\x12\x03B\x02\x08\n\x0c\n\ - \x05\x04\x02\x02\x01\x01\x12\x03B\t\x10\n\x0c\n\x05\x04\x02\x02\x01\x03\ - \x12\x03B\x13\x14\nL\n\x04\x04\x02\x02\x02\x12\x03D\x02\x20\x1a?\x20Comm\ - and-line\x20arguments\x20that\x20were\x20used\x20to\x20invoke\x20this\ - \x20indexer.\n\n\x0c\n\x05\x04\x02\x02\x02\x04\x12\x03D\x02\n\n\x0c\n\ - \x05\x04\x02\x02\x02\x05\x12\x03D\x0b\x11\n\x0c\n\x05\x04\x02\x02\x02\ - \x01\x12\x03D\x12\x1b\n\x0c\n\x05\x04\x02\x02\x02\x03\x12\x03D\x1e\x1f\n\ - H\n\x02\x04\x03\x12\x04H\0s\x01\x1a<\x20Document\x20defines\x20the\x20me\ - tadata\x20about\x20a\x20source\x20file\x20on\x20disk.\n\n\n\n\x03\x04\ - \x03\x01\x12\x03H\x08\x10\n\xa5\x02\n\x04\x04\x03\x02\0\x12\x03M\x02\x16\ - \x1a\x97\x02\x20The\x20string\x20ID\x20for\x20the\x20programming\x20lang\ - uage\x20this\x20file\x20is\x20written\x20in.\n\x20The\x20`Language`\x20e\ - num\x20contains\x20the\x20names\x20of\x20most\x20common\x20programming\ - \x20languages.\n\x20This\x20field\x20is\x20typed\x20as\x20a\x20string\ - \x20to\x20permit\x20any\x20programming\x20language,\x20including\n\x20on\ - es\x20that\x20are\x20not\x20specified\x20by\x20the\x20`Language`\x20enum\ - .\n\n\x0c\n\x05\x04\x03\x02\0\x05\x12\x03M\x02\x08\n\x0c\n\x05\x04\x03\ - \x02\0\x01\x12\x03M\t\x11\n\x0c\n\x05\x04\x03\x02\0\x03\x12\x03M\x14\x15\ - \n\xb5\x03\n\x04\x04\x03\x02\x01\x12\x03W\x02\x1b\x1a\xa7\x03\x20(Requir\ - ed)\x20Unique\x20path\x20to\x20the\x20text\x20document.\n\n\x201.\x20The\ - \x20path\x20must\x20be\x20relative\x20to\x20the\x20directory\x20supplied\ - \x20in\x20the\x20associated\n\x20\x20\x20\x20`Metadata.project_root`.\n\ - \x202.\x20The\x20path\x20must\x20not\x20begin\x20with\x20a\x20leading\ - \x20'/'.\n\x203.\x20The\x20path\x20must\x20point\x20to\x20a\x20regular\ - \x20file,\x20not\x20a\x20symbolic\x20link.\n\x204.\x20The\x20path\x20mus\ - t\x20use\x20'/'\x20as\x20the\x20separator,\x20including\x20on\x20Windows\ - .\n\x205.\x20The\x20path\x20must\x20be\x20canonical;\x20it\x20cannot\x20\ - include\x20empty\x20components\x20('//'),\n\x20\x20\x20\x20or\x20'.'\x20\ - or\x20'..'.\n\n\x0c\n\x05\x04\x03\x02\x01\x05\x12\x03W\x02\x08\n\x0c\n\ - \x05\x04\x03\x02\x01\x01\x12\x03W\t\x16\n\x0c\n\x05\x04\x03\x02\x01\x03\ - \x12\x03W\x19\x1a\n4\n\x04\x04\x03\x02\x02\x12\x03Y\x02&\x1a'\x20Occurre\ - nces\x20that\x20appear\x20in\x20this\x20file.\n\n\x0c\n\x05\x04\x03\x02\ - \x02\x04\x12\x03Y\x02\n\n\x0c\n\x05\x04\x03\x02\x02\x06\x12\x03Y\x0b\x15\ - \n\x0c\n\x05\x04\x03\x02\x02\x01\x12\x03Y\x16!\n\x0c\n\x05\x04\x03\x02\ - \x02\x03\x12\x03Y$%\n\xea\x01\n\x04\x04\x03\x02\x03\x12\x03_\x02)\x1a\ - \xdc\x01\x20Symbols\x20that\x20are\x20\"defined\"\x20within\x20this\x20d\ - ocument.\n\n\x20This\x20should\x20include\x20symbols\x20which\x20technic\ - ally\x20do\x20not\x20have\x20any\x20definition,\n\x20but\x20have\x20a\ - \x20reference\x20and\x20are\x20defined\x20by\x20some\x20other\x20symbol\ - \x20(see\n\x20Relationship.is_definition).\n\n\x0c\n\x05\x04\x03\x02\x03\ - \x04\x12\x03_\x02\n\n\x0c\n\x05\x04\x03\x02\x03\x06\x12\x03_\x0b\x1c\n\ - \x0c\n\x05\x04\x03\x02\x03\x01\x12\x03_\x1d$\n\x0c\n\x05\x04\x03\x02\x03\ - \x03\x12\x03_'(\n\x80\x03\n\x04\x04\x03\x02\x04\x12\x03f\x02\x12\x1a\xf2\ - \x02\x20(optional)\x20Text\x20contents\x20of\x20this\x20document.\x20Ind\ - exers\x20are\x20not\x20expected\x20to\n\x20include\x20the\x20text\x20by\ - \x20default.\x20It's\x20preferable\x20that\x20clients\x20read\x20the\x20\ - text\n\x20contents\x20from\x20the\x20file\x20system\x20by\x20resolving\ - \x20the\x20absolute\x20path\x20from\x20joining\n\x20`Index.metadata.proj\ - ect_root`\x20and\x20`Document.relative_path`.\x20This\x20field\n\x20can\ - \x20be\x20useful\x20for\x20testing\x20or\x20when\x20working\x20with\x20v\ - irtual/in-memory\x20documents.\n\n\x0c\n\x05\x04\x03\x02\x04\x05\x12\x03\ - f\x02\x08\n\x0c\n\x05\x04\x03\x02\x04\x01\x12\x03f\t\r\n\x0c\n\x05\x04\ - \x03\x02\x04\x03\x12\x03f\x10\x11\n\xe7\x03\n\x04\x04\x03\x02\x05\x12\ - \x03r\x02)\x1a\xd9\x03\x20Specifies\x20the\x20encoding\x20used\x20for\ - \x20source\x20ranges\x20in\x20this\x20Document.\n\n\x20Usually,\x20this\ - \x20will\x20match\x20the\x20type\x20used\x20to\x20index\x20the\x20string\ - \x20type\n\x20in\x20the\x20indexer's\x20implementation\x20language\x20in\ - \x20O(1)\x20time.\n\x20-\x20For\x20an\x20indexer\x20implemented\x20in\ - \x20JVM/.NET\x20language\x20or\x20JavaScript/TypeScript,\n\x20\x20\x20us\ - e\x20UTF16CodeUnitOffsetFromLineStart.\n\x20-\x20For\x20an\x20indexer\ - \x20implemented\x20in\x20Python,\n\x20\x20\x20use\x20UTF32CodeUnitOffset\ - FromLineStart.\n\x20-\x20For\x20an\x20indexer\x20implemented\x20in\x20Go\ - ,\x20Rust\x20or\x20C++,\n\x20\x20\x20use\x20UTF8ByteOffsetFromLineStart.\ - \n\n\x0c\n\x05\x04\x03\x02\x05\x06\x12\x03r\x02\x12\n\x0c\n\x05\x04\x03\ - \x02\x05\x01\x12\x03r\x13$\n\x0c\n\x05\x04\x03\x02\x05\x03\x12\x03r'(\nQ\ - \n\x02\x05\x02\x12\x05v\0\x8e\x01\x01\x1aD\x20Encoding\x20used\x20to\x20\ - interpret\x20the\x20'character'\x20value\x20in\x20source\x20ranges.\n\n\ - \n\n\x03\x05\x02\x01\x12\x03v\x05\x15\n\x93\x01\n\x04\x05\x02\x02\0\x12\ - \x03y\x02\"\x1a\x85\x01\x20Default\x20value.\x20This\x20value\x20should\ - \x20not\x20be\x20used\x20by\x20new\x20SCIP\x20indexers\n\x20so\x20that\ - \x20a\x20consumer\x20can\x20process\x20the\x20SCIP\x20index\x20without\ - \x20ambiguity.\n\n\x0c\n\x05\x05\x02\x02\0\x01\x12\x03y\x02\x1d\n\x0c\n\ - \x05\x05\x02\x02\0\x02\x12\x03y\x20!\n\xf7\x01\n\x04\x05\x02\x02\x01\x12\ - \x04\x80\x01\x02&\x1a\xe8\x01\x20The\x20'character'\x20value\x20is\x20in\ - terpreted\x20as\x20an\x20offset\x20in\x20terms\n\x20of\x20UTF-8\x20code\ - \x20units\x20(i.e.\x20bytes).\n\n\x20Example:\x20For\x20the\x20string\ - \x20\"\xf0\x9f\x9a\x80\x20Woo\"\x20in\x20UTF-8,\x20the\x20bytes\x20are\n\ - \x20[240,\x20159,\x20154,\x20128,\x2032,\x2087,\x20111,\x20111],\x20so\ - \x20the\x20offset\x20for\x20'W'\n\x20would\x20be\x205.\n\n\r\n\x05\x05\ - \x02\x02\x01\x01\x12\x04\x80\x01\x02!\n\r\n\x05\x05\x02\x02\x01\x02\x12\ - \x04\x80\x01$%\n\x82\x02\n\x04\x05\x02\x02\x02\x12\x04\x87\x01\x02'\x1a\ - \xf3\x01\x20The\x20'character'\x20value\x20is\x20interpreted\x20as\x20an\ - \x20offset\x20in\x20terms\n\x20of\x20UTF-16\x20code\x20units\x20(each\ - \x20is\x202\x20bytes).\n\n\x20Example:\x20For\x20the\x20string\x20\"\xf0\ - \x9f\x9a\x80\x20Woo\",\x20the\x20UTF-16\x20code\x20units\x20are\n\x20['\ - \\ud83d',\x20'\\ude80',\x20'\x20',\x20'W',\x20'o',\x20'o'],\x20so\x20the\ - \x20offset\x20for\x20'W'\n\x20would\x20be\x203.\n\n\r\n\x05\x05\x02\x02\ - \x02\x01\x12\x04\x87\x01\x02\"\n\r\n\x05\x05\x02\x02\x02\x02\x12\x04\x87\ - \x01%&\n\xf5\x01\n\x04\x05\x02\x02\x03\x12\x04\x8d\x01\x02'\x1a\xe6\x01\ - \x20The\x20'character'\x20value\x20is\x20interpreted\x20as\x20an\x20offs\ - et\x20in\x20terms\n\x20of\x20UTF-32\x20code\x20units\x20(each\x20is\x204\ - \x20bytes).\n\n\x20Example:\x20For\x20the\x20string\x20\"\xf0\x9f\x9a\ - \x80\x20Woo\",\x20the\x20UTF-32\x20code\x20units\x20are\n\x20['\xf0\x9f\ - \x9a\x80',\x20'\x20',\x20'W',\x20'o',\x20'o'],\x20so\x20the\x20offset\ - \x20for\x20'W'\x20would\x20be\x202.\n\n\r\n\x05\x05\x02\x02\x03\x01\x12\ - \x04\x8d\x01\x02\"\n\r\n\x05\x05\x02\x02\x03\x02\x12\x04\x8d\x01%&\n\xcc\ - \x12\n\x02\x04\x04\x12\x06\xba\x01\0\xbe\x01\x01\x1a\xbd\x12\x20Symbol\ - \x20is\x20similar\x20to\x20a\x20URI,\x20it\x20identifies\x20a\x20class,\ - \x20method,\x20or\x20a\x20local\n\x20variable.\x20`SymbolInformation`\ - \x20contains\x20rich\x20metadata\x20about\x20symbols\x20such\x20as\n\x20\ - the\x20docstring.\n\n\x20Symbol\x20has\x20a\x20standardized\x20string\ - \x20representation,\x20which\x20can\x20be\x20used\n\x20interchangeably\ - \x20with\x20`Symbol`.\x20The\x20syntax\x20for\x20Symbol\x20is\x20the\x20\ - following:\n\x20```\n\x20#\x20()+\x20stands\x20for\x20one\x20or\x20mo\ - re\x20repetitions\x20of\x20\n\x20#\x20()?\x20stands\x20for\x20zero\ - \x20or\x20one\x20occurrence\x20of\x20\n\x20\x20\x20\x20\x20\ - \x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20::=\x20\x20'\x20'\ - \x20\x20'\x20'\x20()+\x20|\x20'local\x20'\x20\n\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ - \x20::=\x20\x20'\x20'\x20\x20'\x20'\x20\ - \n\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ - \x20::=\x20any\x20UTF-8,\x20escape\x20spaces\x20with\x20double\x20space.\ - \x20Must\x20not\x20be\x20empty\x20nor\x20start\x20with\x20'local'\n\x20<\ - manager>\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20::=\x20a\ - ny\x20UTF-8,\x20escape\x20spaces\x20with\x20double\x20space.\x20Use\x20t\ - he\x20placeholder\x20'.'\x20to\x20indicate\x20an\x20empty\x20value\n\x20\ - \x20\x20\x20\x20\x20\x20\x20\x20\x20::=\x20same\x20as\x20a\ - bove\n\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ - \x20::=\x20same\x20as\x20above\n\x20\x20\x20\x20\x20\x20\x20\ - \x20\x20\x20\x20\x20::=\x20\x20|\x20\x20|\x20\x20\ - |\x20\x20|\x20\x20|\x20\x20|\x20\x20|\x20\n\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ - \x20\x20\x20::=\x20\x20'/'\n\x20\x20\x20\x20\x20\x20\x20\x20\ - \x20\x20\x20\x20\x20\x20\x20\x20\x20\x20::=\x20\x20'#'\n\x20\ - \x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20::=\ - \x20\x20'.'\n\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ - \x20\x20\x20\x20\x20\x20\x20::=\x20\x20':'\n\x20\x20\x20\ - \x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20::=\x20\ - \x20'!'\n\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ - \x20\x20\x20::=\x20\x20'('\x20()?\x20').'\n\ - \x20\x20\x20\x20\x20\x20\x20\x20::=\x20'['\x20\x20\ - ']'\n\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20::=\ - \x20'('\x20\x20')'\n\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ - \x20\x20\x20\x20\x20\x20\x20\x20::=\x20\n\x20\x20::=\x20\n\x20\x20\x20\x20\x20\ - \x20\x20\x20\x20\x20\x20\x20::=\x20\x20|\x20\n\x20\x20\x20\x20\x20::=\x20()+\n\x20\x20::=\x20'_'\x20|\x20'+'\x20|\ - \x20'-'\x20|\x20'$'\x20|\x20ASCII\x20letter\x20or\x20digit\n\x20\x20\x20\x20::=\x20'`'\x20()+\x20'`',\x20\ - must\x20contain\x20at\x20least\x20one\x20non-\n\ - \x20\x20\x20\x20::=\x20any\x20UTF-8,\x20escape\x20ba\ - ckticks\x20with\x20double\x20backtick.\n\x20\x20\x20\x20\x20\ - \x20\x20\x20\x20\x20\x20\x20\x20\x20::=\x20\n\x20```\ - \n\n\x20The\x20list\x20of\x20descriptors\x20for\x20a\x20symbol\x20should\ - \x20together\x20form\x20a\x20fully\n\x20qualified\x20name\x20for\x20the\ - \x20symbol.\x20That\x20is,\x20it\x20should\x20serve\x20as\x20a\x20unique\ - \n\x20identifier\x20across\x20the\x20package.\x20Typically,\x20it\x20wil\ - l\x20include\x20one\x20descriptor\n\x20for\x20every\x20node\x20in\x20the\ - \x20AST\x20(along\x20the\x20ancestry\x20path)\x20between\x20the\x20root\ - \x20of\n\x20the\x20file\x20and\x20the\x20node\x20corresponding\x20to\x20\ - the\x20symbol.\n\n\x20Local\x20symbols\x20MUST\x20only\x20be\x20used\x20\ - for\x20entities\x20which\x20are\x20local\x20to\x20a\x20Document,\n\x20an\ - d\x20cannot\x20be\x20accessed\x20from\x20outside\x20the\x20Document.\n\n\ - \x0b\n\x03\x04\x04\x01\x12\x04\xba\x01\x08\x0e\n\x0c\n\x04\x04\x04\x02\0\ - \x12\x04\xbb\x01\x02\x14\n\r\n\x05\x04\x04\x02\0\x05\x12\x04\xbb\x01\x02\ - \x08\n\r\n\x05\x04\x04\x02\0\x01\x12\x04\xbb\x01\t\x0f\n\r\n\x05\x04\x04\ - \x02\0\x03\x12\x04\xbb\x01\x12\x13\n\x0c\n\x04\x04\x04\x02\x01\x12\x04\ - \xbc\x01\x02\x16\n\r\n\x05\x04\x04\x02\x01\x06\x12\x04\xbc\x01\x02\t\n\r\ - \n\x05\x04\x04\x02\x01\x01\x12\x04\xbc\x01\n\x11\n\r\n\x05\x04\x04\x02\ - \x01\x03\x12\x04\xbc\x01\x14\x15\n\x0c\n\x04\x04\x04\x02\x02\x12\x04\xbd\ - \x01\x02&\n\r\n\x05\x04\x04\x02\x02\x04\x12\x04\xbd\x01\x02\n\n\r\n\x05\ - \x04\x04\x02\x02\x06\x12\x04\xbd\x01\x0b\x15\n\r\n\x05\x04\x04\x02\x02\ - \x01\x12\x04\xbd\x01\x16!\n\r\n\x05\x04\x04\x02\x02\x03\x12\x04\xbd\x01$\ - %\nq\n\x02\x04\x05\x12\x06\xc3\x01\0\xc7\x01\x01\x1ac\x20Unit\x20of\x20p\ - ackaging\x20and\x20distribution.\n\n\x20NOTE:\x20This\x20corresponds\x20\ - to\x20a\x20module\x20in\x20Go\x20and\x20JVM\x20languages.\n\n\x0b\n\x03\ - \x04\x05\x01\x12\x04\xc3\x01\x08\x0f\n\x0c\n\x04\x04\x05\x02\0\x12\x04\ - \xc4\x01\x02\x15\n\r\n\x05\x04\x05\x02\0\x05\x12\x04\xc4\x01\x02\x08\n\r\ - \n\x05\x04\x05\x02\0\x01\x12\x04\xc4\x01\t\x10\n\r\n\x05\x04\x05\x02\0\ - \x03\x12\x04\xc4\x01\x13\x14\n\x0c\n\x04\x04\x05\x02\x01\x12\x04\xc5\x01\ - \x02\x12\n\r\n\x05\x04\x05\x02\x01\x05\x12\x04\xc5\x01\x02\x08\n\r\n\x05\ - \x04\x05\x02\x01\x01\x12\x04\xc5\x01\t\r\n\r\n\x05\x04\x05\x02\x01\x03\ - \x12\x04\xc5\x01\x10\x11\n\x0c\n\x04\x04\x05\x02\x02\x12\x04\xc6\x01\x02\ - \x15\n\r\n\x05\x04\x05\x02\x02\x05\x12\x04\xc6\x01\x02\x08\n\r\n\x05\x04\ - \x05\x02\x02\x01\x12\x04\xc6\x01\t\x10\n\r\n\x05\x04\x05\x02\x02\x03\x12\ - \x04\xc6\x01\x13\x14\n\x0c\n\x02\x04\x06\x12\x06\xc9\x01\0\xe2\x01\x01\n\ - \x0b\n\x03\x04\x06\x01\x12\x04\xc9\x01\x08\x12\n\x0e\n\x04\x04\x06\x04\0\ - \x12\x06\xca\x01\x02\xdc\x01\x03\n\r\n\x05\x04\x06\x04\0\x01\x12\x04\xca\ - \x01\x07\r\n\r\n\x05\x04\x06\x04\0\x03\x12\x04\xcb\x01\x04\x1e\n\x0e\n\ - \x06\x04\x06\x04\0\x03\x02\x12\x04\xcb\x01\x04\x1e\n\x0e\n\x06\x04\x06\ - \x04\0\x02\0\x12\x04\xcc\x01\x04\x1a\n\x0f\n\x07\x04\x06\x04\0\x02\0\x01\ - \x12\x04\xcc\x01\x04\x15\n\x0f\n\x07\x04\x06\x04\0\x02\0\x02\x12\x04\xcc\ - \x01\x18\x19\n}\n\x06\x04\x06\x04\0\x02\x01\x12\x04\xd0\x01\x04\x12\x1am\ - \x20Unit\x20of\x20code\x20abstraction\x20and/or\x20namespacing.\n\n\x20N\ - OTE:\x20This\x20corresponds\x20to\x20a\x20package\x20in\x20Go\x20and\x20\ - JVM\x20languages.\n\n\x0f\n\x07\x04\x06\x04\0\x02\x01\x01\x12\x04\xd0\ - \x01\x04\r\n\x0f\n\x07\x04\x06\x04\0\x02\x01\x02\x12\x04\xd0\x01\x10\x11\ - \n(\n\x06\x04\x06\x04\0\x02\x02\x12\x04\xd2\x01\x04$\x1a\x18\x20Use\x20N\ - amespace\x20instead.\n\n\x0f\n\x07\x04\x06\x04\0\x02\x02\x01\x12\x04\xd2\ - \x01\x04\x0b\n\x0f\n\x07\x04\x06\x04\0\x02\x02\x02\x12\x04\xd2\x01\x0e\ - \x0f\n\x0f\n\x07\x04\x06\x04\0\x02\x02\x03\x12\x04\xd2\x01\x10#\n\x10\n\ - \x08\x04\x06\x04\0\x02\x02\x03\x01\x12\x04\xd2\x01\x11\"\n\x0e\n\x06\x04\ - \x06\x04\0\x02\x03\x12\x04\xd3\x01\x04\r\n\x0f\n\x07\x04\x06\x04\0\x02\ - \x03\x01\x12\x04\xd3\x01\x04\x08\n\x0f\n\x07\x04\x06\x04\0\x02\x03\x02\ - \x12\x04\xd3\x01\x0b\x0c\n\x0e\n\x06\x04\x06\x04\0\x02\x04\x12\x04\xd4\ - \x01\x04\r\n\x0f\n\x07\x04\x06\x04\0\x02\x04\x01\x12\x04\xd4\x01\x04\x08\ - \n\x0f\n\x07\x04\x06\x04\0\x02\x04\x02\x12\x04\xd4\x01\x0b\x0c\n\x0e\n\ - \x06\x04\x06\x04\0\x02\x05\x12\x04\xd5\x01\x04\x0f\n\x0f\n\x07\x04\x06\ - \x04\0\x02\x05\x01\x12\x04\xd5\x01\x04\n\n\x0f\n\x07\x04\x06\x04\0\x02\ - \x05\x02\x12\x04\xd5\x01\r\x0e\n\x0e\n\x06\x04\x06\x04\0\x02\x06\x12\x04\ - \xd6\x01\x04\x16\n\x0f\n\x07\x04\x06\x04\0\x02\x06\x01\x12\x04\xd6\x01\ - \x04\x11\n\x0f\n\x07\x04\x06\x04\0\x02\x06\x02\x12\x04\xd6\x01\x14\x15\n\ - \x0e\n\x06\x04\x06\x04\0\x02\x07\x12\x04\xd7\x01\x04\x12\n\x0f\n\x07\x04\ - \x06\x04\0\x02\x07\x01\x12\x04\xd7\x01\x04\r\n\x0f\n\x07\x04\x06\x04\0\ - \x02\x07\x02\x12\x04\xd7\x01\x10\x11\n.\n\x06\x04\x06\x04\0\x02\x08\x12\ - \x04\xd9\x01\x04\r\x1a\x1e\x20Can\x20be\x20used\x20for\x20any\x20purpose\ - .\n\n\x0f\n\x07\x04\x06\x04\0\x02\x08\x01\x12\x04\xd9\x01\x04\x08\n\x0f\ - \n\x07\x04\x06\x04\0\x02\x08\x02\x12\x04\xd9\x01\x0b\x0c\n\x0e\n\x06\x04\ - \x06\x04\0\x02\t\x12\x04\xda\x01\x04\x0e\n\x0f\n\x07\x04\x06\x04\0\x02\t\ - \x01\x12\x04\xda\x01\x04\t\n\x0f\n\x07\x04\x06\x04\0\x02\t\x02\x12\x04\ - \xda\x01\x0c\r\n\x0e\n\x06\x04\x06\x04\0\x02\n\x12\x04\xdb\x01\x04\x0e\n\ - \x0f\n\x07\x04\x06\x04\0\x02\n\x01\x12\x04\xdb\x01\x04\t\n\x0f\n\x07\x04\ - \x06\x04\0\x02\n\x02\x12\x04\xdb\x01\x0c\r\n\x0c\n\x04\x04\x06\x02\0\x12\ - \x04\xdd\x01\x02\x12\n\r\n\x05\x04\x06\x02\0\x05\x12\x04\xdd\x01\x02\x08\ - \n\r\n\x05\x04\x06\x02\0\x01\x12\x04\xdd\x01\t\r\n\r\n\x05\x04\x06\x02\0\ - \x03\x12\x04\xdd\x01\x10\x11\n\x0c\n\x04\x04\x06\x02\x01\x12\x04\xde\x01\ - \x02\x1b\n\r\n\x05\x04\x06\x02\x01\x05\x12\x04\xde\x01\x02\x08\n\r\n\x05\ - \x04\x06\x02\x01\x01\x12\x04\xde\x01\t\x16\n\r\n\x05\x04\x06\x02\x01\x03\ - \x12\x04\xde\x01\x19\x1a\n\x82\x01\n\x04\x04\x06\x02\x02\x12\x04\xdf\x01\ - \x02\x14\"t\x20NOTE:\x20If\x20you\x20add\x20new\x20fields\x20here,\x20ma\ - ke\x20sure\x20to\x20update\x20the\x20prepareSlot()\n\x20function\x20resp\ - onsible\x20for\x20parsing\x20symbols.\n\n\r\n\x05\x04\x06\x02\x02\x06\ - \x12\x04\xdf\x01\x02\x08\n\r\n\x05\x04\x06\x02\x02\x01\x12\x04\xdf\x01\t\ - \x0f\n\r\n\x05\x04\x06\x02\x02\x03\x12\x04\xdf\x01\x12\x13\n\xa1\x02\n\ - \x02\x04\x07\x12\x06\xe8\x01\0\xf5\x01\x01\x1a\x92\x02\x20Signature\x20r\ - epresents\x20the\x20signature\x20of\x20a\x20symbol\x20as\x20it's\x20disp\ - layed\x20in\x20API\n\x20documentation\x20or\x20hover\x20tooltips.\x20It\ - \x20uses\x20a\x20subset\x20of\x20Document's\x20fields\x20with\n\x20the\ - \x20same\x20field\x20numbers\x20for\x20wire\x20compatibility\x20with\x20\ - older\x20indexes\x20that\x20encoded\n\x20signatures\x20using\x20the\x20D\ - ocument\x20message\x20type.\n\n\x0b\n\x03\x04\x07\x01\x12\x04\xe8\x01\ - \x08\x11\nK\n\x04\x04\x07\x02\0\x12\x04\xea\x01\x02\x16\x1a=\x20The\x20l\ - anguage\x20of\x20the\x20signature,\x20e.g.\x20\"java\",\x20\"go\",\x20\"\ - python\".\n\n\r\n\x05\x04\x07\x02\0\x05\x12\x04\xea\x01\x02\x08\n\r\n\ - \x05\x04\x07\x02\0\x01\x12\x04\xea\x01\t\x11\n\r\n\x05\x04\x07\x02\0\x03\ - \x12\x04\xea\x01\x14\x15\nQ\n\x04\x04\x07\x02\x01\x12\x04\xec\x01\x02\ - \x12\x1aC\x20The\x20text\x20content\x20of\x20the\x20signature,\x20e.g.\ - \x20\"void\x20add(int\x20a,\x20int\x20b)\".\n\n\r\n\x05\x04\x07\x02\x01\ - \x05\x12\x04\xec\x01\x02\x08\n\r\n\x05\x04\x07\x02\x01\x01\x12\x04\xec\ - \x01\t\r\n\r\n\x05\x04\x07\x02\x01\x03\x12\x04\xec\x01\x10\x11\n\xbb\x01\ - \n\x04\x04\x07\x02\x02\x12\x04\xf0\x01\x02&\x1a\xac\x01\x20(optional)\ - \x20Occurrences\x20within\x20the\x20signature\x20text\x20that\x20referen\ - ce\x20other\n\x20symbols,\x20enabling\x20hyperlinking\x20of\x20types\x20\ - in\x20the\x20signature.\x20Ranges\x20are\n\x20relative\x20to\x20the\x20`\ - text`\x20field.\n\n\r\n\x05\x04\x07\x02\x02\x04\x12\x04\xf0\x01\x02\n\n\ - \r\n\x05\x04\x07\x02\x02\x06\x12\x04\xf0\x01\x0b\x15\n\r\n\x05\x04\x07\ - \x02\x02\x01\x12\x04\xf0\x01\x16!\n\r\n\x05\x04\x07\x02\x02\x03\x12\x04\ - \xf0\x01$%\n\x97\x01\n\x03\x04\x07\t\x12\x04\xf4\x01\x02\x13\x1a\x89\x01\ - \x20Reserved\x20field\x20numbers\x20from\x20the\x20Document\x20message\ - \x20to\x20prevent\x20accidental\n\x20reuse,\x20which\x20would\x20break\ - \x20wire\x20compatibility\x20with\x20older\x20indexes.\n\n\x0c\n\x04\x04\ - \x07\t\0\x12\x04\xf4\x01\x0b\x0c\n\r\n\x05\x04\x07\t\0\x01\x12\x04\xf4\ - \x01\x0b\x0c\n\r\n\x05\x04\x07\t\0\x02\x12\x04\xf4\x01\x0b\x0c\n\x0c\n\ - \x04\x04\x07\t\x01\x12\x04\xf4\x01\x0e\x0f\n\r\n\x05\x04\x07\t\x01\x01\ - \x12\x04\xf4\x01\x0e\x0f\n\r\n\x05\x04\x07\t\x01\x02\x12\x04\xf4\x01\x0e\ - \x0f\n\x0c\n\x04\x04\x07\t\x02\x12\x04\xf4\x01\x11\x12\n\r\n\x05\x04\x07\ - \t\x02\x01\x12\x04\xf4\x01\x11\x12\n\r\n\x05\x04\x07\t\x02\x02\x12\x04\ - \xf4\x01\x11\x12\n\x83\x01\n\x02\x04\x08\x12\x06\xf9\x01\0\xcb\x03\x01\ - \x1au\x20SymbolInformation\x20defines\x20metadata\x20about\x20a\x20symbo\ - l,\x20such\x20as\x20the\x20symbol's\n\x20docstring\x20or\x20what\x20pack\ - age\x20it's\x20defined\x20it.\n\n\x0b\n\x03\x04\x08\x01\x12\x04\xf9\x01\ - \x08\x19\n\xa0\x01\n\x04\x04\x08\x02\0\x12\x04\xfc\x01\x02\x14\x1a\x91\ - \x01\x20Identifier\x20of\x20this\x20symbol,\x20which\x20can\x20be\x20ref\ - erenced\x20from\x20`Occurence.symbol`.\n\x20The\x20string\x20must\x20be\ - \x20formatted\x20according\x20to\x20the\x20grammar\x20in\x20`Symbol`.\n\ - \n\r\n\x05\x04\x08\x02\0\x05\x12\x04\xfc\x01\x02\x08\n\r\n\x05\x04\x08\ - \x02\0\x01\x12\x04\xfc\x01\t\x0f\n\r\n\x05\x04\x08\x02\0\x03\x12\x04\xfc\ - \x01\x12\x13\n\xb4\x03\n\x04\x04\x08\x02\x01\x12\x04\x83\x02\x02$\x1a\ - \xa5\x03\x20(optional,\x20but\x20strongly\x20recommended)\x20The\x20mark\ - down-formatted\x20documentation\n\x20for\x20this\x20symbol.\x20Use\x20`S\ - ymbolInformation.signature_documentation`\x20to\n\x20document\x20the\x20\ - method/class/type\x20signature\x20of\x20this\x20symbol.\n\x20Due\x20to\ - \x20historical\x20reasons,\x20indexers\x20may\x20include\x20signature\ - \x20documentation\x20in\n\x20this\x20field\x20by\x20rendering\x20markdow\ - n\x20code\x20blocks.\x20New\x20indexers\x20should\x20only\n\x20include\ - \x20non-code\x20documentation\x20in\x20this\x20field,\x20for\x20example\ - \x20docstrings.\n\n\r\n\x05\x04\x08\x02\x01\x04\x12\x04\x83\x02\x02\n\n\ - \r\n\x05\x04\x08\x02\x01\x05\x12\x04\x83\x02\x0b\x11\n\r\n\x05\x04\x08\ - \x02\x01\x01\x12\x04\x83\x02\x12\x1f\n\r\n\x05\x04\x08\x02\x01\x03\x12\ - \x04\x83\x02\"#\n^\n\x04\x04\x08\x02\x02\x12\x04\x85\x02\x02*\x1aP\x20(o\ - ptional)\x20Relationships\x20to\x20other\x20symbols\x20(e.g.,\x20impleme\ - nts,\x20type\x20definition).\n\n\r\n\x05\x04\x08\x02\x02\x04\x12\x04\x85\ - \x02\x02\n\n\r\n\x05\x04\x08\x02\x02\x06\x12\x04\x85\x02\x0b\x17\n\r\n\ - \x05\x04\x08\x02\x02\x01\x12\x04\x85\x02\x18%\n\r\n\x05\x04\x08\x02\x02\ - \x03\x12\x04\x85\x02()\n\xa4\x01\n\x04\x04\x08\x02\x03\x12\x04\x89\x02\ - \x02\x10\x1a\x95\x01\x20The\x20kind\x20of\x20this\x20symbol.\x20Use\x20t\ - his\x20field\x20instead\x20of\n\x20`SymbolDescriptor.Suffix`\x20to\x20de\ - termine\x20whether\x20something\x20is,\x20for\x20example,\x20a\n\x20clas\ - s\x20or\x20a\x20method.\n\n\r\n\x05\x04\x08\x02\x03\x06\x12\x04\x89\x02\ - \x02\x06\n\r\n\x05\x04\x08\x02\x03\x01\x12\x04\x89\x02\x07\x0b\n\r\n\x05\ - \x04\x08\x02\x03\x03\x12\x04\x89\x02\x0e\x0f\n\xf5\x05\n\x04\x04\x08\x04\ - \0\x12\x06\x98\x02\x02\xa7\x03\x03\x1a\xe4\x05\x20(optional)\x20Kind\x20\ - represents\x20the\x20fine-grained\x20category\x20of\x20a\x20symbol,\x20s\ - uitable\x20for\x20presenting\n\x20information\x20about\x20the\x20symbol'\ - s\x20meaning\x20in\x20the\x20language.\n\n\x20For\x20example:\n\x20-\x20\ - A\x20Java\x20method\x20would\x20have\x20the\x20kind\x20`Method`\x20while\ - \x20a\x20Go\x20function\x20would\n\x20\x20\x20have\x20the\x20kind\x20`Fu\ - nction`,\x20even\x20if\x20the\x20symbols\x20for\x20these\x20use\x20the\ - \x20same\n\x20\x20\x20syntax\x20for\x20the\x20descriptor\x20`SymbolDescr\ - iptor.Suffix.Method`.\n\x20-\x20A\x20Go\x20struct\x20has\x20the\x20symbo\ - l\x20kind\x20`Struct`\x20while\x20a\x20Java\x20class\x20has\n\x20\x20\ - \x20the\x20symbol\x20kind\x20`Class`\x20even\x20if\x20they\x20both\x20ha\ - ve\x20the\x20same\x20descriptor:\n\x20\x20\x20`SymbolDescriptor.Suffix.T\ - ype`.\n\n\x20Since\x20Kind\x20is\x20more\x20fine-grained\x20than\x20Suff\ - ix:\n\x20-\x20If\x20two\x20symbols\x20have\x20the\x20same\x20Kind,\x20th\ - ey\x20should\x20share\x20the\x20same\x20Suffix.\n\x20-\x20If\x20two\x20s\ - ymbols\x20have\x20different\x20Suffixes,\x20they\x20should\x20have\x20di\ - fferent\x20Kinds.\n\n\r\n\x05\x04\x08\x04\0\x01\x12\x04\x98\x02\x07\x0b\ - \n\x0e\n\x06\x04\x08\x04\0\x02\0\x12\x04\x99\x02\x04\x18\n\x0f\n\x07\x04\ - \x08\x04\0\x02\0\x01\x12\x04\x99\x02\x04\x13\n\x0f\n\x07\x04\x08\x04\0\ - \x02\0\x02\x12\x04\x99\x02\x16\x17\nR\n\x06\x04\x08\x04\0\x02\x01\x12\ - \x04\x9b\x02\x04\x18\x1aB\x20A\x20method\x20which\x20may\x20or\x20may\ - \x20not\x20have\x20a\x20body.\x20For\x20Java,\x20Kotlin\x20etc.\n\n\x0f\ - \n\x07\x04\x08\x04\0\x02\x01\x01\x12\x04\x9b\x02\x04\x12\n\x0f\n\x07\x04\ - \x08\x04\0\x02\x01\x02\x12\x04\x9b\x02\x15\x17\n*\n\x06\x04\x08\x04\0\ - \x02\x02\x12\x04\x9d\x02\x04\x12\x1a\x1a\x20For\x20Ruby's\x20attr_access\ - or\n\n\x0f\n\x07\x04\x08\x04\0\x02\x02\x01\x12\x04\x9d\x02\x04\x0c\n\x0f\ - \n\x07\x04\x08\x04\0\x02\x02\x02\x12\x04\x9d\x02\x0f\x11\n\x0e\n\x06\x04\ - \x08\x04\0\x02\x03\x12\x04\x9e\x02\x04\x0e\n\x0f\n\x07\x04\x08\x04\0\x02\ - \x03\x01\x12\x04\x9e\x02\x04\t\n\x0f\n\x07\x04\x08\x04\0\x02\x03\x02\x12\ - \x04\x9e\x02\x0c\r\n\x1b\n\x06\x04\x08\x04\0\x02\x04\x12\x04\xa0\x02\x04\ - \x12\x1a\x0b\x20For\x20Alloy\n\n\x0f\n\x07\x04\x08\x04\0\x02\x04\x01\x12\ - \x04\xa0\x02\x04\r\n\x0f\n\x07\x04\x08\x04\0\x02\x04\x02\x12\x04\xa0\x02\ - \x10\x11\n\x0e\n\x06\x04\x08\x04\0\x02\x05\x12\x04\xa1\x02\x04\x17\n\x0f\ - \n\x07\x04\x08\x04\0\x02\x05\x01\x12\x04\xa1\x02\x04\x12\n\x0f\n\x07\x04\ - \x08\x04\0\x02\x05\x02\x12\x04\xa1\x02\x15\x16\n\x19\n\x06\x04\x08\x04\0\ - \x02\x06\x12\x04\xa3\x02\x04\x12\x1a\t\x20For\x20C++\n\n\x0f\n\x07\x04\ - \x08\x04\0\x02\x06\x01\x12\x04\xa3\x02\x04\r\n\x0f\n\x07\x04\x08\x04\0\ - \x02\x06\x02\x12\x04\xa3\x02\x10\x11\n\x1a\n\x06\x04\x08\x04\0\x02\x07\ - \x12\x04\xa5\x02\x04\x0e\x1a\n\x20For\x20Lean\n\n\x0f\n\x07\x04\x08\x04\ - \0\x02\x07\x01\x12\x04\xa5\x02\x04\t\n\x0f\n\x07\x04\x08\x04\0\x02\x07\ - \x02\x12\x04\xa5\x02\x0c\r\n\x0e\n\x06\x04\x08\x04\0\x02\x08\x12\x04\xa6\ - \x02\x04\x10\n\x0f\n\x07\x04\x08\x04\0\x02\x08\x01\x12\x04\xa6\x02\x04\ - \x0b\n\x0f\n\x07\x04\x08\x04\0\x02\x08\x02\x12\x04\xa6\x02\x0e\x0f\n\x0e\ - \n\x06\x04\x08\x04\0\x02\t\x12\x04\xa7\x02\x04\x0e\n\x0f\n\x07\x04\x08\ - \x04\0\x02\t\x01\x12\x04\xa7\x02\x04\t\n\x0f\n\x07\x04\x08\x04\0\x02\t\ - \x02\x12\x04\xa7\x02\x0c\r\n\x19\n\x06\x04\x08\x04\0\x02\n\x12\x04\xa9\ - \x02\x04\x11\x1a\t\x20For\x20C++\n\n\x0f\n\x07\x04\x08\x04\0\x02\n\x01\ - \x12\x04\xa9\x02\x04\x0b\n\x0f\n\x07\x04\x08\x04\0\x02\n\x02\x12\x04\xa9\ - \x02\x0e\x10\n\x0e\n\x06\x04\x08\x04\0\x02\x0b\x12\x04\xaa\x02\x04\x11\n\ - \x0f\n\x07\x04\x08\x04\0\x02\x0b\x01\x12\x04\xaa\x02\x04\x0c\n\x0f\n\x07\ - \x04\x08\x04\0\x02\x0b\x02\x12\x04\xaa\x02\x0f\x10\n\x0e\n\x06\x04\x08\ - \x04\0\x02\x0c\x12\x04\xab\x02\x04\x14\n\x0f\n\x07\x04\x08\x04\0\x02\x0c\ - \x01\x12\x04\xab\x02\x04\x0f\n\x0f\n\x07\x04\x08\x04\0\x02\x0c\x02\x12\ - \x04\xab\x02\x12\x13\n\x1e\n\x06\x04\x08\x04\0\x02\r\x12\x04\xad\x02\x04\ - \x12\x1a\x0e\x20For\x20Solidity\n\n\x0f\n\x07\x04\x08\x04\0\x02\r\x01\ - \x12\x04\xad\x02\x04\x0c\n\x0f\n\x07\x04\x08\x04\0\x02\r\x02\x12\x04\xad\ - \x02\x0f\x11\n\x1d\n\x06\x04\x08\x04\0\x02\x0e\x12\x04\xaf\x02\x04\x14\ - \x1a\r\x20For\x20Haskell\n\n\x0f\n\x07\x04\x08\x04\0\x02\x0e\x01\x12\x04\ - \xaf\x02\x04\x0e\n\x0f\n\x07\x04\x08\x04\0\x02\x0e\x02\x12\x04\xaf\x02\ - \x11\x13\n\x1f\n\x06\x04\x08\x04\0\x02\x0f\x12\x04\xb1\x02\x04\x12\x1a\ - \x0f\x20For\x20C#\x20and\x20F#\n\n\x0f\n\x07\x04\x08\x04\0\x02\x0f\x01\ - \x12\x04\xb1\x02\x04\x0c\n\x0f\n\x07\x04\x08\x04\0\x02\x0f\x02\x12\x04\ - \xb1\x02\x0f\x11\n\x0e\n\x06\x04\x08\x04\0\x02\x10\x12\x04\xb2\x02\x04\ - \x0e\n\x0f\n\x07\x04\x08\x04\0\x02\x10\x01\x12\x04\xb2\x02\x04\x08\n\x0f\ - \n\x07\x04\x08\x04\0\x02\x10\x02\x12\x04\xb2\x02\x0b\r\n\x0e\n\x06\x04\ - \x08\x04\0\x02\x11\x12\x04\xb3\x02\x04\x14\n\x0f\n\x07\x04\x08\x04\0\x02\ - \x11\x01\x12\x04\xb3\x02\x04\x0e\n\x0f\n\x07\x04\x08\x04\0\x02\x11\x02\ - \x12\x04\xb3\x02\x11\x13\n\x0e\n\x06\x04\x08\x04\0\x02\x12\x12\x04\xb4\ - \x02\x04\x0f\n\x0f\n\x07\x04\x08\x04\0\x02\x12\x01\x12\x04\xb4\x02\x04\t\ - \n\x0f\n\x07\x04\x08\x04\0\x02\x12\x02\x12\x04\xb4\x02\x0c\x0e\n\x0e\n\ - \x06\x04\x08\x04\0\x02\x13\x12\x04\xb5\x02\x04\x0f\n\x0f\n\x07\x04\x08\ - \x04\0\x02\x13\x01\x12\x04\xb5\x02\x04\t\n\x0f\n\x07\x04\x08\x04\0\x02\ - \x13\x02\x12\x04\xb5\x02\x0c\x0e\n\x1a\n\x06\x04\x08\x04\0\x02\x14\x12\ - \x04\xb7\x02\x04\x13\x1a\n\x20For\x20Dart\n\n\x0f\n\x07\x04\x08\x04\0\ - \x02\x14\x01\x12\x04\xb7\x02\x04\r\n\x0f\n\x07\x04\x08\x04\0\x02\x14\x02\ - \x12\x04\xb7\x02\x10\x12\n\x1b\n\x06\x04\x08\x04\0\x02\x15\x12\x04\xb9\ - \x02\x04\x0e\x1a\x0b\x20For\x20Alloy\n\n\x0f\n\x07\x04\x08\x04\0\x02\x15\ - \x01\x12\x04\xb9\x02\x04\x08\n\x0f\n\x07\x04\x08\x04\0\x02\x15\x02\x12\ - \x04\xb9\x02\x0b\r\n\x0e\n\x06\x04\x08\x04\0\x02\x16\x12\x04\xba\x02\x04\ - \x0f\n\x0f\n\x07\x04\x08\x04\0\x02\x16\x01\x12\x04\xba\x02\x04\t\n\x0f\n\ - \x07\x04\x08\x04\0\x02\x16\x02\x12\x04\xba\x02\x0c\x0e\n\x0e\n\x06\x04\ - \x08\x04\0\x02\x17\x12\x04\xbb\x02\x04\x0e\n\x0f\n\x07\x04\x08\x04\0\x02\ - \x17\x01\x12\x04\xbb\x02\x04\x08\n\x0f\n\x07\x04\x08\x04\0\x02\x17\x02\ - \x12\x04\xbb\x02\x0b\r\n\x0e\n\x06\x04\x08\x04\0\x02\x18\x12\x04\xbc\x02\ - \x04\x12\n\x0f\n\x07\x04\x08\x04\0\x02\x18\x01\x12\x04\xbc\x02\x04\x0c\n\ - \x0f\n\x07\x04\x08\x04\0\x02\x18\x02\x12\x04\xbc\x02\x0f\x11\n;\n\x06\ - \x04\x08\x04\0\x02\x19\x12\x04\xbe\x02\x04\x10\x1a+\x20For\x20'get'\x20i\ - n\x20Swift,\x20'attr_reader'\x20in\x20Ruby\n\n\x0f\n\x07\x04\x08\x04\0\ - \x02\x19\x01\x12\x04\xbe\x02\x04\n\n\x0f\n\x07\x04\x08\x04\0\x02\x19\x02\ - \x12\x04\xbe\x02\r\x0f\n\x1a\n\x06\x04\x08\x04\0\x02\x1a\x12\x04\xc0\x02\ - \x04\x11\x1a\n\x20For\x20Raku\n\n\x0f\n\x07\x04\x08\x04\0\x02\x1a\x01\ - \x12\x04\xc0\x02\x04\x0b\n\x0f\n\x07\x04\x08\x04\0\x02\x1a\x02\x12\x04\ - \xc0\x02\x0e\x10\n)\n\x06\x04\x08\x04\0\x02\x1b\x12\x04\xc2\x02\x04\x12\ - \x1a\x19\x20For\x20Purescript\x20and\x20Lean\n\n\x0f\n\x07\x04\x08\x04\0\ - \x02\x1b\x01\x12\x04\xc2\x02\x04\x0c\n\x0f\n\x07\x04\x08\x04\0\x02\x1b\ - \x02\x12\x04\xc2\x02\x0f\x11\n\x0e\n\x06\x04\x08\x04\0\x02\x1c\x12\x04\ - \xc3\x02\x04\x13\n\x0f\n\x07\x04\x08\x04\0\x02\x1c\x01\x12\x04\xc3\x02\ - \x04\r\n\x0f\n\x07\x04\x08\x04\0\x02\x1c\x02\x12\x04\xc3\x02\x10\x12\n\ - \x0e\n\x06\x04\x08\x04\0\x02\x1d\x12\x04\xc4\x02\x04\r\n\x0f\n\x07\x04\ - \x08\x04\0\x02\x1d\x01\x12\x04\xc4\x02\x04\x07\n\x0f\n\x07\x04\x08\x04\0\ - \x02\x1d\x02\x12\x04\xc4\x02\n\x0c\n\x1c\n\x06\x04\x08\x04\0\x02\x1e\x12\ - \x04\xc6\x02\x04\x0e\x1a\x0c\x20For\x20Racket\n\n\x0f\n\x07\x04\x08\x04\ - \0\x02\x1e\x01\x12\x04\xc6\x02\x04\x08\n\x0f\n\x07\x04\x08\x04\0\x02\x1e\ - \x02\x12\x04\xc6\x02\x0b\r\n\x1a\n\x06\x04\x08\x04\0\x02\x1f\x12\x04\xc8\ - \x02\x04\x0f\x1a\n\x20For\x20Lean\n\n\x0f\n\x07\x04\x08\x04\0\x02\x1f\ - \x01\x12\x04\xc8\x02\x04\t\n\x0f\n\x07\x04\x08\x04\0\x02\x1f\x02\x12\x04\ - \xc8\x02\x0c\x0e\n\x1e\n\x06\x04\x08\x04\0\x02\x20\x12\x04\xca\x02\x04\ - \x11\x1a\x0e\x20For\x20solidity\n\n\x0f\n\x07\x04\x08\x04\0\x02\x20\x01\ - \x12\x04\xca\x02\x04\x0b\n\x0f\n\x07\x04\x08\x04\0\x02\x20\x02\x12\x04\ - \xca\x02\x0e\x10\n\x0e\n\x06\x04\x08\x04\0\x02!\x12\x04\xcb\x02\x04\x0f\ - \n\x0f\n\x07\x04\x08\x04\0\x02!\x01\x12\x04\xcb\x02\x04\t\n\x0f\n\x07\ - \x04\x08\x04\0\x02!\x02\x12\x04\xcb\x02\x0c\x0e\n\x0e\n\x06\x04\x08\x04\ - \0\x02\"\x12\x04\xcc\x02\x04\x10\n\x0f\n\x07\x04\x08\x04\0\x02\"\x01\x12\ - \x04\xcc\x02\x04\n\n\x0f\n\x07\x04\x08\x04\0\x02\"\x02\x12\x04\xcc\x02\r\ - \x0f\n\x1a\n\x06\x04\x08\x04\0\x02#\x12\x04\xce\x02\x04\x15\x1a\n\x20For\ - \x20Ruby\n\n\x0f\n\x07\x04\x08\x04\0\x02#\x01\x12\x04\xce\x02\x04\x0f\n\ - \x0f\n\x07\x04\x08\x04\0\x02#\x02\x12\x04\xce\x02\x12\x14\n\x94\x01\n\ - \x06\x04\x08\x04\0\x02$\x12\x04\xd1\x02\x04\x18\x1a\x83\x01\x20Analogous\ - \x20to\x20'ThisParameter'\x20and\x20'SelfParameter',\x20but\x20for\x20la\ - nguages\n\x20like\x20Go\x20where\x20the\x20receiver\x20doesn't\x20have\ - \x20a\x20conventional\x20name.\n\n\x0f\n\x07\x04\x08\x04\0\x02$\x01\x12\ - \x04\xd1\x02\x04\x12\n\x0f\n\x07\x04\x08\x04\0\x02$\x02\x12\x04\xd1\x02\ - \x15\x17\n8\n\x06\x04\x08\x04\0\x02%\x12\x04\xd3\x02\x04\x1d\x1a(\x20Ana\ - logous\x20to\x20'AbstractMethod',\x20for\x20Go.\n\n\x0f\n\x07\x04\x08\ - \x04\0\x02%\x01\x12\x04\xd3\x02\x04\x17\n\x0f\n\x07\x04\x08\x04\0\x02%\ - \x02\x12\x04\xd3\x02\x1a\x1c\n\x1e\n\x06\x04\x08\x04\0\x02&\x12\x04\xd5\ - \x02\x04\x11\x1a\x0e\x20For\x20Protobuf\n\n\x0f\n\x07\x04\x08\x04\0\x02&\ - \x01\x12\x04\xd5\x02\x04\x0b\n\x0f\n\x07\x04\x08\x04\0\x02&\x02\x12\x04\ - \xd5\x02\x0e\x10\n\x1a\n\x06\x04\x08\x04\0\x02'\x12\x04\xd7\x02\x04\x0f\ - \x1a\n\x20For\x20Dart\n\n\x0f\n\x07\x04\x08\x04\0\x02'\x01\x12\x04\xd7\ - \x02\x04\t\n\x0f\n\x07\x04\x08\x04\0\x02'\x02\x12\x04\xd7\x02\x0c\x0e\n\ - \x1e\n\x06\x04\x08\x04\0\x02(\x12\x04\xd9\x02\x04\x12\x1a\x0e\x20For\x20\ - Solidity\n\n\x0f\n\x07\x04\x08\x04\0\x02(\x01\x12\x04\xd9\x02\x04\x0c\n\ - \x0f\n\x07\x04\x08\x04\0\x02(\x02\x12\x04\xd9\x02\x0f\x11\n\x0e\n\x06\ - \x04\x08\x04\0\x02)\x12\x04\xda\x02\x04\x10\n\x0f\n\x07\x04\x08\x04\0\ - \x02)\x01\x12\x04\xda\x02\x04\n\n\x0f\n\x07\x04\x08\x04\0\x02)\x02\x12\ - \x04\xda\x02\r\x0f\n\x0e\n\x06\x04\x08\x04\0\x02*\x12\x04\xdb\x02\x04\ - \x13\n\x0f\n\x07\x04\x08\x04\0\x02*\x01\x12\x04\xdb\x02\x04\r\n\x0f\n\ - \x07\x04\x08\x04\0\x02*\x02\x12\x04\xdb\x02\x10\x12\n\x0e\n\x06\x04\x08\ - \x04\0\x02+\x12\x04\xdc\x02\x04\x0e\n\x0f\n\x07\x04\x08\x04\0\x02+\x01\ - \x12\x04\xdc\x02\x04\x08\n\x0f\n\x07\x04\x08\x04\0\x02+\x02\x12\x04\xdc\ - \x02\x0b\r\n\x0e\n\x06\x04\x08\x04\0\x02,\x12\x04\xdd\x02\x04\x10\n\x0f\ - \n\x07\x04\x08\x04\0\x02,\x01\x12\x04\xdd\x02\x04\n\n\x0f\n\x07\x04\x08\ - \x04\0\x02,\x02\x12\x04\xdd\x02\r\x0f\n\x0e\n\x06\x04\x08\x04\0\x02-\x12\ - \x04\xde\x02\x04\x10\n\x0f\n\x07\x04\x08\x04\0\x02-\x01\x12\x04\xde\x02\ - \x04\n\n\x0f\n\x07\x04\x08\x04\0\x02-\x02\x12\x04\xde\x02\r\x0f\n\x0e\n\ - \x06\x04\x08\x04\0\x02.\x12\x04\xdf\x02\x04\x12\n\x0f\n\x07\x04\x08\x04\ - \0\x02.\x01\x12\x04\xdf\x02\x04\x0c\n\x0f\n\x07\x04\x08\x04\0\x02.\x02\ - \x12\x04\xdf\x02\x0f\x11\n\x0e\n\x06\x04\x08\x04\0\x02/\x12\x04\xe0\x02\ - \x04\x11\n\x0f\n\x07\x04\x08\x04\0\x02/\x01\x12\x04\xe0\x02\x04\x0b\n\ - \x0f\n\x07\x04\x08\x04\0\x02/\x02\x12\x04\xe0\x02\x0e\x10\n\x0e\n\x06\ - \x04\x08\x04\0\x020\x12\x04\xe1\x02\x04\x17\n\x0f\n\x07\x04\x08\x04\0\ - \x020\x01\x12\x04\xe1\x02\x04\x11\n\x0f\n\x07\x04\x08\x04\0\x020\x02\x12\ - \x04\xe1\x02\x14\x16\n\x0e\n\x06\x04\x08\x04\0\x021\x12\x04\xe2\x02\x04\ - \x13\n\x0f\n\x07\x04\x08\x04\0\x021\x01\x12\x04\xe2\x02\x04\r\n\x0f\n\ - \x07\x04\x08\x04\0\x021\x02\x12\x04\xe2\x02\x10\x12\n\x0e\n\x06\x04\x08\ - \x04\0\x022\x12\x04\xe3\x02\x04\x18\n\x0f\n\x07\x04\x08\x04\0\x022\x01\ - \x12\x04\xe3\x02\x04\x12\n\x0f\n\x07\x04\x08\x04\0\x022\x02\x12\x04\xe3\ - \x02\x15\x17\n/\n\x06\x04\x08\x04\0\x023\x12\x04\xe5\x02\x04\x11\x1a\x1f\ - \x20For\x20Haskell's\x20PatternSynonyms\n\n\x0f\n\x07\x04\x08\x04\0\x023\ - \x01\x12\x04\xe5\x02\x04\x0b\n\x0f\n\x07\x04\x08\x04\0\x023\x02\x12\x04\ - \xe5\x02\x0e\x10\n\x1b\n\x06\x04\x08\x04\0\x024\x12\x04\xe7\x02\x04\x13\ - \x1a\x0b\x20For\x20Alloy\n\n\x0f\n\x07\x04\x08\x04\0\x024\x01\x12\x04\ - \xe7\x02\x04\r\n\x0f\n\x07\x04\x08\x04\0\x024\x02\x12\x04\xe7\x02\x10\ - \x12\n\x0e\n\x06\x04\x08\x04\0\x025\x12\x04\xe8\x02\x04\x12\n\x0f\n\x07\ - \x04\x08\x04\0\x025\x01\x12\x04\xe8\x02\x04\x0c\n\x0f\n\x07\x04\x08\x04\ - \0\x025\x02\x12\x04\xe8\x02\x0f\x11\nQ\n\x06\x04\x08\x04\0\x026\x12\x04\ - \xea\x02\x04\x12\x1aA\x20Analogous\x20to\x20'Trait'\x20and\x20'TypeClass\ - ',\x20for\x20Swift\x20and\x20Objective-C\n\n\x0f\n\x07\x04\x08\x04\0\x02\ - 6\x01\x12\x04\xea\x02\x04\x0c\n\x0f\n\x07\x04\x08\x04\0\x026\x02\x12\x04\ - \xea\x02\x0f\x11\nK\n\x06\x04\x08\x04\0\x027\x12\x04\xec\x02\x04\x18\x1a\ - ;\x20Analogous\x20to\x20'AbstractMethod',\x20for\x20Swift\x20and\x20Obje\ - ctive-C.\n\n\x0f\n\x07\x04\x08\x04\0\x027\x01\x12\x04\xec\x02\x04\x12\n\ - \x0f\n\x07\x04\x08\x04\0\x027\x02\x12\x04\xec\x02\x15\x17\n9\n\x06\x04\ - \x08\x04\0\x028\x12\x04\xee\x02\x04\x1b\x1a)\x20Analogous\x20to\x20'Abst\ - ractMethod',\x20for\x20C++.\n\n\x0f\n\x07\x04\x08\x04\0\x028\x01\x12\x04\ - \xee\x02\x04\x15\n\x0f\n\x07\x04\x08\x04\0\x028\x02\x12\x04\xee\x02\x18\ - \x1a\n\x1d\n\x06\x04\x08\x04\0\x029\x12\x04\xf0\x02\x04\x15\x1a\r\x20For\ - \x20Haskell\n\n\x0f\n\x07\x04\x08\x04\0\x029\x01\x12\x04\xf0\x02\x04\x0f\ - \n\x0f\n\x07\x04\x08\x04\0\x029\x02\x12\x04\xf0\x02\x12\x14\n4\n\x06\x04\ - \x08\x04\0\x02:\x12\x04\xf2\x02\x04\x17\x1a$\x20'self'\x20in\x20Python,\ - \x20Rust,\x20Swift\x20etc.\n\n\x0f\n\x07\x04\x08\x04\0\x02:\x01\x12\x04\ - \xf2\x02\x04\x11\n\x0f\n\x07\x04\x08\x04\0\x02:\x02\x12\x04\xf2\x02\x14\ - \x16\n;\n\x06\x04\x08\x04\0\x02;\x12\x04\xf4\x02\x04\x10\x1a+\x20For\x20\ - 'set'\x20in\x20Swift,\x20'attr_writer'\x20in\x20Ruby\n\n\x0f\n\x07\x04\ - \x08\x04\0\x02;\x01\x12\x04\xf4\x02\x04\n\n\x0f\n\x07\x04\x08\x04\0\x02;\ - \x02\x12\x04\xf4\x02\r\x0f\n3\n\x06\x04\x08\x04\0\x02<\x12\x04\xf6\x02\ - \x04\x13\x1a#\x20For\x20Alloy,\x20analogous\x20to\x20'Struct'.\n\n\x0f\n\ - \x07\x04\x08\x04\0\x02<\x01\x12\x04\xf6\x02\x04\r\n\x0f\n\x07\x04\x08\ - \x04\0\x02<\x02\x12\x04\xf6\x02\x10\x12\n\x1a\n\x06\x04\x08\x04\0\x02=\ - \x12\x04\xf8\x02\x04\x18\x1a\n\x20For\x20Ruby\n\n\x0f\n\x07\x04\x08\x04\ - \0\x02=\x01\x12\x04\xf8\x02\x04\x12\n\x0f\n\x07\x04\x08\x04\0\x02=\x02\ - \x12\x04\xf8\x02\x15\x17\n8\n\x06\x04\x08\x04\0\x02>\x12\x04\xfa\x02\x04\ - \x19\x1a(\x20Analogous\x20to\x20'StaticMethod',\x20for\x20Ruby.\n\n\x0f\ - \n\x07\x04\x08\x04\0\x02>\x01\x12\x04\xfa\x02\x04\x13\n\x0f\n\x07\x04\ - \x08\x04\0\x02>\x02\x12\x04\xfa\x02\x16\x18\n5\n\x06\x04\x08\x04\0\x02?\ - \x12\x04\xfc\x02\x04\x1a\x1a%\x20Analogous\x20to\x20'StaticField',\x20fo\ - r\x20C++\n\n\x0f\n\x07\x04\x08\x04\0\x02?\x01\x12\x04\xfc\x02\x04\x14\n\ - \x0f\n\x07\x04\x08\x04\0\x02?\x02\x12\x04\xfc\x02\x17\x19\n\x18\n\x06\ - \x04\x08\x04\0\x02@\x12\x04\xfe\x02\x04\x15\x1a\x08\x20For\x20C#\n\n\x0f\ - \n\x07\x04\x08\x04\0\x02@\x01\x12\x04\xfe\x02\x04\x0f\n\x0f\n\x07\x04\ - \x08\x04\0\x02@\x02\x12\x04\xfe\x02\x12\x14\n\x18\n\x06\x04\x08\x04\0\ - \x02A\x12\x04\x80\x03\x04\x15\x1a\x08\x20For\x20C#\n\n\x0f\n\x07\x04\x08\ - \x04\0\x02A\x01\x12\x04\x80\x03\x04\x0f\n\x0f\n\x07\x04\x08\x04\0\x02A\ - \x02\x12\x04\x80\x03\x12\x14\n(\n\x06\x04\x08\x04\0\x02B\x12\x04\x82\x03\ - \x04\x16\x1a\x18\x20For\x20Java,\x20C#,\x20C++\x20etc.\n\n\x0f\n\x07\x04\ - \x08\x04\0\x02B\x01\x12\x04\x82\x03\x04\x10\n\x0f\n\x07\x04\x08\x04\0\ - \x02B\x02\x12\x04\x82\x03\x13\x15\n)\n\x06\x04\x08\x04\0\x02C\x12\x04\ - \x84\x03\x04\x18\x1a\x19\x20For\x20C#,\x20TypeScript\x20etc.\n\n\x0f\n\ - \x07\x04\x08\x04\0\x02C\x01\x12\x04\x84\x03\x04\x12\n\x0f\n\x07\x04\x08\ - \x04\0\x02C\x02\x12\x04\x84\x03\x15\x17\n\x1c\n\x06\x04\x08\x04\0\x02D\ - \x12\x04\x86\x03\x04\x18\x1a\x0c\x20For\x20C,\x20C++\n\n\x0f\n\x07\x04\ - \x08\x04\0\x02D\x01\x12\x04\x86\x03\x04\x12\n\x0f\n\x07\x04\x08\x04\0\ - \x02D\x02\x12\x04\x86\x03\x15\x17\n\x0e\n\x06\x04\x08\x04\0\x02E\x12\x04\ - \x87\x03\x04\x10\n\x0f\n\x07\x04\x08\x04\0\x02E\x01\x12\x04\x87\x03\x04\ - \n\n\x0f\n\x07\x04\x08\x04\0\x02E\x02\x12\x04\x87\x03\r\x0f\n\x0e\n\x06\ - \x04\x08\x04\0\x02F\x12\x04\x88\x03\x04\x10\n\x0f\n\x07\x04\x08\x04\0\ - \x02F\x01\x12\x04\x88\x03\x04\n\n\x0f\n\x07\x04\x08\x04\0\x02F\x02\x12\ - \x04\x88\x03\r\x0f\n\x1b\n\x06\x04\x08\x04\0\x02G\x12\x04\x8a\x03\x04\ - \x13\x1a\x0b\x20For\x20Swift\n\n\x0f\n\x07\x04\x08\x04\0\x02G\x01\x12\ - \x04\x8a\x03\x04\r\n\x0f\n\x07\x04\x08\x04\0\x02G\x02\x12\x04\x8a\x03\ - \x10\x12\n\x1a\n\x06\x04\x08\x04\0\x02H\x12\x04\x8c\x03\x04\x10\x1a\n\ - \x20For\x20Lean\n\n\x0f\n\x07\x04\x08\x04\0\x02H\x01\x12\x04\x8c\x03\x04\ - \n\n\x0f\n\x07\x04\x08\x04\0\x02H\x02\x12\x04\x8c\x03\r\x0f\n\x1a\n\x06\ - \x04\x08\x04\0\x02I\x12\x04\x8e\x03\x04\x11\x1a\n\x20For\x20Lean\n\n\x0f\ - \n\x07\x04\x08\x04\0\x02I\x01\x12\x04\x8e\x03\x04\x0b\n\x0f\n\x07\x04\ - \x08\x04\0\x02I\x02\x12\x04\x8e\x03\x0e\x10\nU\n\x06\x04\x08\x04\0\x02J\ - \x12\x04\x91\x03\x04\x17\x1aE\x20Method\x20receiver\x20for\x20languages\ - \n\x20'this'\x20in\x20JavaScript,\x20C++,\x20Java\x20etc.\n\n\x0f\n\x07\ - \x04\x08\x04\0\x02J\x01\x12\x04\x91\x03\x04\x11\n\x0f\n\x07\x04\x08\x04\ - \0\x02J\x02\x12\x04\x91\x03\x14\x16\nO\n\x06\x04\x08\x04\0\x02K\x12\x04\ - \x93\x03\x04\x0f\x1a?\x20Analogous\x20to\x20'Protocol'\x20and\x20'TypeCl\ - ass',\x20for\x20Rust,\x20Scala\x20etc.\n\n\x0f\n\x07\x04\x08\x04\0\x02K\ - \x01\x12\x04\x93\x03\x04\t\n\x0f\n\x07\x04\x08\x04\0\x02K\x02\x12\x04\ - \x93\x03\x0c\x0e\nE\n\x06\x04\x08\x04\0\x02L\x12\x04\x95\x03\x04\x15\x1a\ - 5\x20Analogous\x20to\x20'AbstractMethod',\x20for\x20Rust,\x20Scala\x20et\ - c.\n\n\x0f\n\x07\x04\x08\x04\0\x02L\x01\x12\x04\x95\x03\x04\x0f\n\x0f\n\ - \x07\x04\x08\x04\0\x02L\x02\x12\x04\x95\x03\x12\x14\n\x89\x01\n\x06\x04\ - \x08\x04\0\x02M\x12\x04\x98\x03\x04\x0e\x1ay\x20Data\x20type\x20definiti\ - on\x20for\x20languages\x20like\x20OCaml\x20which\x20use\x20`type`\n\x20r\ - ather\x20than\x20separate\x20keywords\x20like\x20`struct`\x20and\x20`enu\ - m`.\n\n\x0f\n\x07\x04\x08\x04\0\x02M\x01\x12\x04\x98\x03\x04\x08\n\x0f\n\ - \x07\x04\x08\x04\0\x02M\x02\x12\x04\x98\x03\x0b\r\n\x0e\n\x06\x04\x08\ - \x04\0\x02N\x12\x04\x99\x03\x04\x13\n\x0f\n\x07\x04\x08\x04\0\x02N\x01\ - \x12\x04\x99\x03\x04\r\n\x0f\n\x07\x04\x08\x04\0\x02N\x02\x12\x04\x99\ - \x03\x10\x12\nS\n\x06\x04\x08\x04\0\x02O\x12\x04\x9b\x03\x04\x13\x1aC\ - \x20Analogous\x20to\x20'Trait'\x20and\x20'Protocol',\x20for\x20Haskell,\ - \x20Purescript\x20etc.\n\n\x0f\n\x07\x04\x08\x04\0\x02O\x01\x12\x04\x9b\ - \x03\x04\r\n\x0f\n\x07\x04\x08\x04\0\x02O\x02\x12\x04\x9b\x03\x10\x12\nM\ - \n\x06\x04\x08\x04\0\x02P\x12\x04\x9d\x03\x04\x19\x1a=\x20Analogous\x20t\ - o\x20'AbstractMethod',\x20for\x20Haskell,\x20Purescript\x20etc.\n\n\x0f\ - \n\x07\x04\x08\x04\0\x02P\x01\x12\x04\x9d\x03\x04\x13\n\x0f\n\x07\x04\ - \x08\x04\0\x02P\x02\x12\x04\x9d\x03\x16\x18\n\x1d\n\x06\x04\x08\x04\0\ - \x02Q\x12\x04\x9f\x03\x04\x14\x1a\r\x20For\x20Haskell\n\n\x0f\n\x07\x04\ - \x08\x04\0\x02Q\x01\x12\x04\x9f\x03\x04\x0e\n\x0f\n\x07\x04\x08\x04\0\ - \x02Q\x02\x12\x04\x9f\x03\x11\x13\n\x0e\n\x06\x04\x08\x04\0\x02R\x12\x04\ - \xa0\x03\x04\x17\n\x0f\n\x07\x04\x08\x04\0\x02R\x01\x12\x04\xa0\x03\x04\ - \x11\n\x0f\n\x07\x04\x08\x04\0\x02R\x02\x12\x04\xa0\x03\x14\x16\n(\n\x06\ - \x04\x08\x04\0\x02S\x12\x04\xa2\x03\x04\x0f\x1a\x18\x20For\x20C,\x20C++,\ - \x20Capn\x20Proto\n\n\x0f\n\x07\x04\x08\x04\0\x02S\x01\x12\x04\xa2\x03\ - \x04\t\n\x0f\n\x07\x04\x08\x04\0\x02S\x02\x12\x04\xa2\x03\x0c\x0e\n\x0e\ - \n\x06\x04\x08\x04\0\x02T\x12\x04\xa3\x03\x04\x0f\n\x0f\n\x07\x04\x08\ - \x04\0\x02T\x01\x12\x04\xa3\x03\x04\t\n\x0f\n\x07\x04\x08\x04\0\x02T\x02\ - \x12\x04\xa3\x03\x0c\x0e\n[\n\x06\x04\x08\x04\0\x02U\x12\x04\xa4\x03\x04\ - \x12\"K\x20Next\x20=\x2087;\n\x20Feel\x20free\x20to\x20open\x20a\x20PR\ - \x20proposing\x20new\x20language-specific\x20kinds.\n\n\x0f\n\x07\x04\ - \x08\x04\0\x02U\x01\x12\x04\xa4\x03\x04\x0c\n\x0f\n\x07\x04\x08\x04\0\ - \x02U\x02\x12\x04\xa4\x03\x0f\x11\n\xf3\x03\n\x04\x04\x08\x02\x04\x12\ - \x04\xb1\x03\x02\x1a\x1a\xe4\x03\x20(optional)\x20The\x20name\x20of\x20t\ - his\x20symbol\x20as\x20it\x20should\x20be\x20displayed\x20to\x20the\x20u\ - ser.\n\x20For\x20example,\x20the\x20symbol\x20\"com/example/MyClass#myMe\ - thod(+1).\"\x20should\x20have\x20the\n\x20display\x20name\x20\"myMethod\ - \".\x20The\x20`symbol`\x20field\x20is\x20not\x20a\x20reliable\x20source\ - \x20of\n\x20the\x20display\x20name\x20for\x20several\x20reasons:\n\n\x20\ - -\x20Local\x20symbols\x20don't\x20encode\x20the\x20name.\n\x20-\x20Some\ - \x20languages\x20have\x20case-insensitive\x20names,\x20so\x20the\x20symb\ - ol\x20is\x20all-lowercase.\n\x20-\x20The\x20symbol\x20may\x20encode\x20n\ - ames\x20with\x20special\x20characters\x20that\x20should\x20not\x20be\n\ - \x20\x20\x20displayed\x20to\x20the\x20user.\n\n\r\n\x05\x04\x08\x02\x04\ - \x05\x12\x04\xb1\x03\x02\x08\n\r\n\x05\x04\x08\x02\x04\x01\x12\x04\xb1\ - \x03\t\x15\n\r\n\x05\x04\x08\x02\x04\x03\x12\x04\xb1\x03\x18\x19\n\x9f\ - \x03\n\x04\x04\x08\x02\x05\x12\x04\xb8\x03\x02(\x1a\x90\x03\x20(optional\ - )\x20The\x20signature\x20of\x20this\x20symbol\x20as\x20it's\x20displayed\ - \x20in\x20API\n\x20documentation\x20or\x20in\x20hover\x20tooltips.\x20Fo\ - r\x20example,\x20a\x20Java\x20method\x20that\x20adds\n\x20two\x20numbers\ - \x20would\x20have\x20`Signature.language\x20=\x20\"java\"`\x20and\n\x20`\ - Signature.text\x20=\x20\"void\x20add(int\x20a,\x20int\x20b)\"`.\x20The\ - \x20`language`\x20and\x20`text`\n\x20fields\x20are\x20required\x20while\ - \x20`occurrences`\x20can\x20be\x20optionally\x20included\x20to\n\x20supp\ - ort\x20hyperlinking\x20referenced\x20symbols\x20in\x20the\x20signature.\ - \n\n\r\n\x05\x04\x08\x02\x05\x06\x12\x04\xb8\x03\x02\x0b\n\r\n\x05\x04\ - \x08\x02\x05\x01\x12\x04\xb8\x03\x0c#\n\r\n\x05\x04\x08\x02\x05\x03\x12\ - \x04\xb8\x03&'\n\xc9\x08\n\x04\x04\x08\x02\x06\x12\x04\xca\x03\x02\x1e\ - \x1a\xba\x08\x20(optional)\x20The\x20enclosing\x20symbol\x20if\x20this\ - \x20is\x20a\x20local\x20symbol.\x20\x20For\x20non-local\n\x20symbols,\ - \x20the\x20enclosing\x20symbol\x20should\x20be\x20parsed\x20from\x20the\ - \x20`symbol`\x20field\n\x20using\x20the\x20`Descriptor`\x20grammar.\n\n\ - \x20The\x20primary\x20use-case\x20for\x20this\x20field\x20is\x20to\x20al\ - low\x20local\x20symbol\x20to\x20be\x20displayed\n\x20in\x20a\x20symbol\ - \x20hierarchy\x20for\x20API\x20documentation.\x20It's\x20OK\x20to\x20lea\ - ve\x20this\x20field\n\x20empty\x20for\x20local\x20variables\x20since\x20\ - local\x20variables\x20usually\x20don't\x20belong\x20in\x20API\n\x20docum\ - entation.\x20However,\x20in\x20the\x20situation\x20that\x20you\x20wish\ - \x20to\x20include\x20a\x20local\n\x20symbol\x20in\x20the\x20hierarchy,\ - \x20then\x20you\x20can\x20use\x20`enclosing_symbol`\x20to\x20locate\x20t\ - he\n\x20\"parent\"\x20or\x20\"owner\"\x20of\x20this\x20local\x20symbol.\ - \x20For\x20example,\x20a\x20Java\x20indexer\x20may\n\x20choose\x20to\x20\ - use\x20local\x20symbols\x20for\x20private\x20class\x20fields\x20while\ - \x20providing\x20an\n\x20`enclosing_symbol`\x20to\x20reference\x20the\ - \x20enclosing\x20class\x20to\x20allow\x20the\x20field\x20to\n\x20be\x20p\ - art\x20of\x20the\x20class\x20documentation\x20hierarchy.\x20From\x20the\ - \x20perspective\x20of\x20an\n\x20author\x20of\x20an\x20indexer,\x20the\ - \x20decision\x20to\x20use\x20a\x20local\x20symbol\x20or\x20global\x20sym\ - bol\n\x20should\x20exclusively\x20be\x20determined\x20whether\x20the\x20\ - local\x20symbol\x20is\x20accessible\n\x20outside\x20the\x20document,\x20\ - not\x20by\x20the\x20capability\x20to\x20find\x20the\x20enclosing\n\x20sy\ - mbol.\n\n\r\n\x05\x04\x08\x02\x06\x05\x12\x04\xca\x03\x02\x08\n\r\n\x05\ - \x04\x08\x02\x06\x01\x12\x04\xca\x03\t\x19\n\r\n\x05\x04\x08\x02\x06\x03\ - \x12\x04\xca\x03\x1c\x1d\n\x0c\n\x02\x04\t\x12\x06\xcd\x03\0\x81\x04\x01\ - \n\x0b\n\x03\x04\t\x01\x12\x04\xcd\x03\x08\x14\n\x0c\n\x04\x04\t\x02\0\ - \x12\x04\xce\x03\x02\x14\n\r\n\x05\x04\t\x02\0\x05\x12\x04\xce\x03\x02\ - \x08\n\r\n\x05\x04\t\x02\0\x01\x12\x04\xce\x03\t\x0f\n\r\n\x05\x04\t\x02\ - \0\x03\x12\x04\xce\x03\x12\x13\n\xde\x08\n\x04\x04\t\x02\x01\x12\x04\xe7\ - \x03\x02\x18\x1a\xcf\x08\x20When\x20resolving\x20\"Find\x20references\",\ - \x20this\x20field\x20documents\x20what\x20other\x20symbols\n\x20should\ - \x20be\x20included\x20together\x20with\x20this\x20symbol.\x20For\x20exam\ - ple,\x20consider\x20the\n\x20following\x20TypeScript\x20code\x20that\x20\ - defines\x20two\x20symbols\x20`Animal#sound()`\x20and\n\x20`Dog#sound()`:\ - \n\x20```ts\n\x20interface\x20Animal\x20{\n\x20\x20\x20\x20\x20\x20\x20\ - \x20\x20\x20\x20^^^^^^\x20definition\x20Animal#\n\x20\x20\x20sound():\ - \x20string\n\x20\x20\x20^^^^^\x20definition\x20Animal#sound()\n\x20}\n\ - \x20class\x20Dog\x20implements\x20Animal\x20{\n\x20\x20\x20\x20\x20\x20\ - \x20^^^\x20definition\x20Dog#,\x20relationships\x20=\x20[{symbol:\x20\"A\ - nimal#\",\x20is_implementation:\x20true}]\n\x20\x20\x20public\x20sound()\ - :\x20string\x20{\x20return\x20\"woof\"\x20}\n\x20\x20\x20\x20\x20\x20\ - \x20\x20\x20\x20^^^^^\x20definition\x20Dog#sound(),\x20references_symbol\ - s\x20=\x20Animal#sound(),\x20relationships\x20=\x20[{symbol:\x20\"Animal\ - #sound()\",\x20is_implementation:true,\x20is_reference:\x20true}]\n\x20}\ - \n\x20const\x20animal:\x20Animal\x20=\x20new\x20Dog()\n\x20\x20\x20\x20\ - \x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20^^^^^^\x20reference\x20Anima\ - l#\n\x20console.log(animal.sound())\n\x20\x20\x20\x20\x20\x20\x20\x20\ - \x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20^^^^^\x20reference\x20An\ - imal#sound()\n\x20```\n\x20Doing\x20\"Find\x20references\"\x20on\x20the\ - \x20symbol\x20`Animal#sound()`\x20should\x20return\n\x20references\x20to\ - \x20the\x20`Dog#sound()`\x20method\x20as\x20well.\x20Vice-versa,\x20doin\ - g\x20\"Find\n\x20references\"\x20on\x20the\x20`Dog#sound()`\x20method\ - \x20should\x20include\x20references\x20to\x20the\n\x20`Animal#sound()`\ - \x20method\x20as\x20well.\n\n\r\n\x05\x04\t\x02\x01\x05\x12\x04\xe7\x03\ - \x02\x06\n\r\n\x05\x04\t\x02\x01\x01\x12\x04\xe7\x03\x07\x13\n\r\n\x05\ - \x04\t\x02\x01\x03\x12\x04\xe7\x03\x16\x17\n\xee\x03\n\x04\x04\t\x02\x02\ - \x12\x04\xf0\x03\x02\x1d\x1a\xdf\x03\x20Similar\x20to\x20`is_reference`\ - \x20but\x20for\x20\"Find\x20implementations\".\n\x20It's\x20common\x20fo\ - r\x20`is_implementation`\x20and\x20`is_reference`\x20to\x20both\x20be\ - \x20true\x20but\n\x20it's\x20not\x20always\x20the\x20case.\n\x20In\x20th\ - e\x20TypeScript\x20example\x20above,\x20observe\x20that\x20`Dog#`\x20has\ - \x20an\n\x20`is_implementation`\x20relationship\x20with\x20`\"Animal#\"`\ - \x20but\x20not\x20`is_reference`.\n\x20This\x20is\x20because\x20\"Find\ - \x20references\"\x20on\x20the\x20\"Animal#\"\x20symbol\x20should\x20not\ - \x20return\n\x20\"Dog#\".\x20We\x20only\x20want\x20\"Dog#\"\x20to\x20ret\ - urn\x20as\x20a\x20result\x20for\x20\"Find\n\x20implementations\"\x20on\ - \x20the\x20\"Animal#\"\x20symbol.\n\n\r\n\x05\x04\t\x02\x02\x05\x12\x04\ - \xf0\x03\x02\x06\n\r\n\x05\x04\t\x02\x02\x01\x12\x04\xf0\x03\x07\x18\n\r\ - \n\x05\x04\t\x02\x02\x03\x12\x04\xf0\x03\x1b\x1c\nP\n\x04\x04\t\x02\x03\ - \x12\x04\xf2\x03\x02\x1e\x1aB\x20Similar\x20to\x20`references_symbols`\ - \x20but\x20for\x20\"Go\x20to\x20type\x20definition\".\n\n\r\n\x05\x04\t\ - \x02\x03\x05\x12\x04\xf2\x03\x02\x06\n\r\n\x05\x04\t\x02\x03\x01\x12\x04\ - \xf2\x03\x07\x19\n\r\n\x05\x04\t\x02\x03\x03\x12\x04\xf2\x03\x1c\x1d\n\ - \xd8\x05\n\x04\x04\t\x02\x04\x12\x04\xff\x03\x02\x19\x1a\x86\x05\x20Allo\ - ws\x20overriding\x20the\x20behavior\x20of\x20\"Go\x20to\x20definition\"\ - \x20and\x20\"Find\x20references\"\n\x20for\x20symbols\x20which\x20do\x20\ - not\x20have\x20a\x20definition\x20of\x20their\x20own\x20or\x20could\n\ - \x20potentially\x20have\x20multiple\x20definitions.\n\n\x20For\x20exampl\ - e,\x20in\x20a\x20language\x20with\x20single\x20inheritance\x20and\x20no\ - \x20field\x20overriding,\n\x20inherited\x20fields\x20can\x20reuse\x20the\ - \x20same\x20symbol\x20as\x20the\x20ancestor\x20which\x20declares\n\x20th\ - e\x20field.\x20In\x20such\x20a\x20situation,\x20is_definition\x20is\x20n\ - ot\x20needed.\n\n\x20On\x20the\x20other\x20hand,\x20in\x20languages\x20w\ - ith\x20single\x20inheritance\x20and\x20some\x20form\n\x20of\x20mixins,\ - \x20you\x20can\x20use\x20is_definition\x20to\x20relate\x20the\x20symbol\ - \x20to\x20the\n\x20matching\x20symbol\x20in\x20ancestor\x20classes,\x20a\ - nd\x20is_reference\x20to\x20relate\x20the\n\x20symbol\x20to\x20the\x20ma\ - tching\x20symbol\x20in\x20mixins.\n\"A\x20Update\x20registerInverseRelat\ - ionships\x20on\x20adding\x20a\x20new\x20field\x20here.\n\n\r\n\x05\x04\t\ - \x02\x04\x05\x12\x04\xff\x03\x02\x06\n\r\n\x05\x04\t\x02\x04\x01\x12\x04\ - \xff\x03\x07\x14\n\r\n\x05\x04\t\x02\x04\x03\x12\x04\xff\x03\x17\x18\n\ - \x88\x03\n\x02\x05\x03\x12\x06\x88\x04\0\x9e\x04\x01\x1a\xf9\x02\x20Symb\ - olRole\x20declares\x20what\x20\"role\"\x20a\x20symbol\x20has\x20in\x20an\ - \x20occurrence.\x20A\x20role\x20is\n\x20encoded\x20as\x20a\x20bitset\x20\ - where\x20each\x20bit\x20represents\x20a\x20different\x20role.\x20For\x20\ - example,\n\x20to\x20determine\x20if\x20the\x20`Import`\x20role\x20is\x20\ - set,\x20test\x20whether\x20the\x20second\x20bit\x20of\x20the\n\x20enum\ - \x20value\x20is\x20defined.\x20In\x20pseudocode,\x20this\x20can\x20be\ - \x20implemented\x20with\x20the\n\x20logic:\x20`const\x20isImportRole\x20\ - =\x20(role.value\x20&\x20SymbolRole.Import.value)\x20>\x200`.\n\n\x0b\n\ - \x03\x05\x03\x01\x12\x04\x88\x04\x05\x0f\nv\n\x04\x05\x03\x02\0\x12\x04\ - \x8b\x04\x02\x1c\x1ah\x20This\x20case\x20is\x20not\x20meant\x20to\x20be\ - \x20used;\x20it\x20only\x20exists\x20to\x20avoid\x20an\x20error\n\x20fro\ - m\x20the\x20Protobuf\x20code\x20generator.\n\n\r\n\x05\x05\x03\x02\0\x01\ - \x12\x04\x8b\x04\x02\x17\n\r\n\x05\x05\x03\x02\0\x02\x12\x04\x8b\x04\x1a\ - \x1b\nT\n\x04\x05\x03\x02\x01\x12\x04\x8d\x04\x02\x13\x1aF\x20Is\x20the\ - \x20symbol\x20defined\x20here?\x20If\x20not,\x20then\x20this\x20is\x20a\ - \x20symbol\x20reference.\n\n\r\n\x05\x05\x03\x02\x01\x01\x12\x04\x8d\x04\ - \x02\x0c\n\r\n\x05\x05\x03\x02\x01\x02\x12\x04\x8d\x04\x0f\x12\n,\n\x04\ - \x05\x03\x02\x02\x12\x04\x8f\x04\x02\x0f\x1a\x1e\x20Is\x20the\x20symbol\ - \x20imported\x20here?\n\n\r\n\x05\x05\x03\x02\x02\x01\x12\x04\x8f\x04\ - \x02\x08\n\r\n\x05\x05\x03\x02\x02\x02\x12\x04\x8f\x04\x0b\x0e\n+\n\x04\ - \x05\x03\x02\x03\x12\x04\x91\x04\x02\x14\x1a\x1d\x20Is\x20the\x20symbol\ - \x20written\x20here?\n\n\r\n\x05\x05\x03\x02\x03\x01\x12\x04\x91\x04\x02\ - \r\n\r\n\x05\x05\x03\x02\x03\x02\x12\x04\x91\x04\x10\x13\n(\n\x04\x05\ - \x03\x02\x04\x12\x04\x93\x04\x02\x13\x1a\x1a\x20Is\x20the\x20symbol\x20r\ - ead\x20here?\n\n\r\n\x05\x05\x03\x02\x04\x01\x12\x04\x93\x04\x02\x0c\n\r\ - \n\x05\x05\x03\x02\x04\x02\x12\x04\x93\x04\x0f\x12\n0\n\x04\x05\x03\x02\ - \x05\x12\x04\x95\x04\x02\x13\x1a\"\x20Is\x20the\x20symbol\x20in\x20gener\ - ated\x20code?\n\n\r\n\x05\x05\x03\x02\x05\x01\x12\x04\x95\x04\x02\x0b\n\ - \r\n\x05\x05\x03\x02\x05\x02\x12\x04\x95\x04\x0e\x12\n+\n\x04\x05\x03\ - \x02\x06\x12\x04\x97\x04\x02\x0e\x1a\x1d\x20Is\x20the\x20symbol\x20in\ - \x20test\x20code?\n\n\r\n\x05\x05\x03\x02\x06\x01\x12\x04\x97\x04\x02\ - \x06\n\r\n\x05\x05\x03\x02\x06\x02\x12\x04\x97\x04\t\r\n\xed\x01\n\x04\ - \x05\x03\x02\x07\x12\x04\x9d\x04\x02\x1b\x1a\xde\x01\x20Is\x20this\x20a\ - \x20signature\x20for\x20a\x20symbol\x20that\x20is\x20defined\x20elsewher\ - e?\n\n\x20Applies\x20to\x20forward\x20declarations\x20for\x20languages\ - \x20like\x20C,\x20C++\n\x20and\x20Objective-C,\x20as\x20well\x20as\x20`v\ - al`\x20declarations\x20in\x20interface\n\x20files\x20in\x20languages\x20\ - like\x20SML\x20and\x20OCaml.\n\n\r\n\x05\x05\x03\x02\x07\x01\x12\x04\x9d\ - \x04\x02\x13\n\r\n\x05\x05\x03\x02\x07\x02\x12\x04\x9d\x04\x16\x1a\n\x0c\ - \n\x02\x05\x04\x12\x06\xa0\x04\0\xfd\x04\x01\n\x0b\n\x03\x05\x04\x01\x12\ - \x04\xa0\x04\x05\x0f\n\x0b\n\x03\x05\x04\x03\x12\x04\xa1\x04\x02\x1c\n\ - \x0c\n\x04\x05\x04\x03\x02\x12\x04\xa1\x04\x02\x1c\n\x0c\n\x04\x05\x04\ - \x02\0\x12\x04\xa3\x04\x02\x1c\n\r\n\x05\x05\x04\x02\0\x01\x12\x04\xa3\ - \x04\x02\x17\n\r\n\x05\x05\x04\x02\0\x02\x12\x04\xa3\x04\x1a\x1b\n;\n\ - \x04\x05\x04\x02\x01\x12\x04\xa6\x04\x02\x0e\x1a-\x20Comment,\x20includi\ - ng\x20comment\x20markers\x20and\x20text\n\n\r\n\x05\x05\x04\x02\x01\x01\ - \x12\x04\xa6\x04\x02\t\n\r\n\x05\x05\x04\x02\x01\x02\x12\x04\xa6\x04\x0c\ - \r\n\x1b\n\x04\x05\x04\x02\x02\x12\x04\xa9\x04\x02\x1b\x1a\r\x20`;`\x20`\ - .`\x20`,`\n\n\r\n\x05\x05\x04\x02\x02\x01\x12\x04\xa9\x04\x02\x16\n\r\n\ - \x05\x05\x04\x02\x02\x02\x12\x04\xa9\x04\x19\x1a\n2\n\x04\x05\x04\x02\ - \x03\x12\x04\xab\x04\x02\x19\x1a$\x20(),\x20{},\x20[]\x20when\x20used\ - \x20syntactically\n\n\r\n\x05\x05\x04\x02\x03\x01\x12\x04\xab\x04\x02\ - \x14\n\r\n\x05\x05\x04\x02\x03\x02\x12\x04\xab\x04\x17\x18\n5\n\x04\x05\ - \x04\x02\x04\x12\x04\xae\x04\x02\x0e\x1a'\x20`if`,\x20`else`,\x20`return\ - `,\x20`class`,\x20etc.\n\n\r\n\x05\x05\x04\x02\x04\x01\x12\x04\xae\x04\ - \x02\t\n\r\n\x05\x05\x04\x02\x04\x02\x12\x04\xae\x04\x0c\r\n\x0c\n\x04\ - \x05\x04\x02\x05\x12\x04\xaf\x04\x02,\n\r\n\x05\x05\x04\x02\x05\x01\x12\ - \x04\xaf\x04\x02\x13\n\r\n\x05\x05\x04\x02\x05\x02\x12\x04\xaf\x04\x16\ - \x17\n\r\n\x05\x05\x04\x02\x05\x03\x12\x04\xaf\x04\x18+\n\x0e\n\x06\x05\ - \x04\x02\x05\x03\x01\x12\x04\xaf\x04\x19*\n\x1e\n\x04\x05\x04\x02\x06\ - \x12\x04\xb2\x04\x02\x19\x1a\x10\x20`+`,\x20`*`,\x20etc.\n\n\r\n\x05\x05\ - \x04\x02\x06\x01\x12\x04\xb2\x04\x02\x14\n\r\n\x05\x05\x04\x02\x06\x02\ - \x12\x04\xb2\x04\x17\x18\nX\n\x04\x05\x04\x02\x07\x12\x04\xb5\x04\x02\ - \x11\x1aJ\x20non-specific\x20catch-all\x20for\x20any\x20identifier\x20no\ - t\x20better\x20described\x20elsewhere\n\n\r\n\x05\x05\x04\x02\x07\x01\ - \x12\x04\xb5\x04\x02\x0c\n\r\n\x05\x05\x04\x02\x07\x02\x12\x04\xb5\x04\ - \x0f\x10\nN\n\x04\x05\x04\x02\x08\x12\x04\xb7\x04\x02\x18\x1a@\x20Identi\ - fiers\x20builtin\x20to\x20the\x20language:\x20`min`,\x20`print`\x20in\ - \x20Python.\n\n\r\n\x05\x05\x04\x02\x08\x01\x12\x04\xb7\x04\x02\x13\n\r\ - \n\x05\x05\x04\x02\x08\x02\x12\x04\xb7\x04\x16\x17\n[\n\x04\x05\x04\x02\ - \t\x12\x04\xb9\x04\x02\x15\x1aM\x20Identifiers\x20representing\x20`null`\ - -like\x20values:\x20`None`\x20in\x20Python,\x20`nil`\x20in\x20Go.\n\n\r\ - \n\x05\x05\x04\x02\t\x01\x12\x04\xb9\x04\x02\x10\n\r\n\x05\x05\x04\x02\t\ - \x02\x12\x04\xb9\x04\x13\x14\n.\n\x04\x05\x04\x02\n\x12\x04\xbb\x04\x02\ - \x19\x1a\x20\x20`xyz`\x20in\x20`const\x20xyz\x20=\x20\"hello\"`\n\n\r\n\ - \x05\x05\x04\x02\n\x01\x12\x04\xbb\x04\x02\x14\n\r\n\x05\x05\x04\x02\n\ - \x02\x12\x04\xbb\x04\x17\x18\n'\n\x04\x05\x04\x02\x0b\x12\x04\xbd\x04\ - \x02\x1f\x1a\x19\x20`var\x20X\x20=\x20\"hello\"`\x20in\x20Go\n\n\r\n\x05\ - \x05\x04\x02\x0b\x01\x12\x04\xbd\x04\x02\x19\n\r\n\x05\x05\x04\x02\x0b\ - \x02\x12\x04\xbd\x04\x1c\x1e\n3\n\x04\x05\x04\x02\x0c\x12\x04\xbf\x04\ - \x02\x1b\x1a%\x20Parameter\x20definition\x20and\x20references\n\n\r\n\ - \x05\x05\x04\x02\x0c\x01\x12\x04\xbf\x04\x02\x15\n\r\n\x05\x05\x04\x02\ - \x0c\x02\x12\x04\xbf\x04\x18\x1a\nX\n\x04\x05\x04\x02\r\x12\x04\xc1\x04\ - \x02\x17\x1aJ\x20Identifiers\x20for\x20variable\x20definitions\x20and\ - \x20references\x20within\x20a\x20local\x20scope\n\n\r\n\x05\x05\x04\x02\ - \r\x01\x12\x04\xc1\x04\x02\x11\n\r\n\x05\x05\x04\x02\r\x02\x12\x04\xc1\ - \x04\x14\x16\nK\n\x04\x05\x04\x02\x0e\x12\x04\xc3\x04\x02\x1a\x1a=\x20Id\ - entifiers\x20that\x20shadow\x20other\x20identifiers\x20in\x20an\x20outer\ - \x20scope\n\n\r\n\x05\x05\x04\x02\x0e\x01\x12\x04\xc3\x04\x02\x14\n\r\n\ - \x05\x05\x04\x02\x0e\x02\x12\x04\xc3\x04\x17\x19\n\xcd\x01\n\x04\x05\x04\ - \x02\x0f\x12\x04\xc8\x04\x02\x1b\x1a\xbe\x01\x20Identifier\x20representi\ - ng\x20a\x20unit\x20of\x20code\x20abstraction\x20and/or\x20namespacing.\n\ - \n\x20NOTE:\x20This\x20corresponds\x20to\x20a\x20package\x20in\x20Go\x20\ - and\x20JVM\x20languages,\n\x20and\x20a\x20module\x20in\x20languages\x20l\ - ike\x20Python\x20and\x20JavaScript.\n\n\r\n\x05\x05\x04\x02\x0f\x01\x12\ - \x04\xc8\x04\x02\x15\n\r\n\x05\x05\x04\x02\x0f\x02\x12\x04\xc8\x04\x18\ - \x1a\n\x0c\n\x04\x05\x04\x02\x10\x12\x04\xc9\x04\x02,\n\r\n\x05\x05\x04\ - \x02\x10\x01\x12\x04\xc9\x04\x02\x12\n\r\n\x05\x05\x04\x02\x10\x02\x12\ - \x04\xc9\x04\x15\x17\n\r\n\x05\x05\x04\x02\x10\x03\x12\x04\xc9\x04\x18+\ - \n\x0e\n\x06\x05\x04\x02\x10\x03\x01\x12\x04\xc9\x04\x19*\n4\n\x04\x05\ - \x04\x02\x11\x12\x04\xcc\x04\x02\x1a\x1a&\x20Function\x20references,\x20\ - including\x20calls\n\n\r\n\x05\x05\x04\x02\x11\x01\x12\x04\xcc\x04\x02\ - \x14\n\r\n\x05\x05\x04\x02\x11\x02\x12\x04\xcc\x04\x17\x19\n(\n\x04\x05\ - \x04\x02\x12\x12\x04\xce\x04\x02$\x1a\x1a\x20Function\x20definition\x20o\ - nly\n\n\r\n\x05\x05\x04\x02\x12\x01\x12\x04\xce\x04\x02\x1e\n\r\n\x05\ - \x05\x04\x02\x12\x02\x12\x04\xce\x04!#\n7\n\x04\x05\x04\x02\x13\x12\x04\ - \xd1\x04\x02\x17\x1a)\x20Macro\x20references,\x20including\x20invocation\ - s\n\n\r\n\x05\x05\x04\x02\x13\x01\x12\x04\xd1\x04\x02\x11\n\r\n\x05\x05\ - \x04\x02\x13\x02\x12\x04\xd1\x04\x14\x16\n%\n\x04\x05\x04\x02\x14\x12\ - \x04\xd3\x04\x02!\x1a\x17\x20Macro\x20definition\x20only\n\n\r\n\x05\x05\ - \x04\x02\x14\x01\x12\x04\xd3\x04\x02\x1b\n\r\n\x05\x05\x04\x02\x14\x02\ - \x12\x04\xd3\x04\x1e\x20\n!\n\x04\x05\x04\x02\x15\x12\x04\xd6\x04\x02\ - \x16\x1a\x13\x20non-builtin\x20types\n\n\r\n\x05\x05\x04\x02\x15\x01\x12\ - \x04\xd6\x04\x02\x10\n\r\n\x05\x05\x04\x02\x15\x02\x12\x04\xd6\x04\x13\ - \x15\nK\n\x04\x05\x04\x02\x16\x12\x04\xd8\x04\x02\x1d\x1a=\x20builtin\ - \x20types\x20only,\x20such\x20as\x20`str`\x20for\x20Python\x20or\x20`int\ - `\x20in\x20Go\n\n\r\n\x05\x05\x04\x02\x16\x01\x12\x04\xd8\x04\x02\x17\n\ - \r\n\x05\x05\x04\x02\x16\x02\x12\x04\xd8\x04\x1a\x1c\n7\n\x04\x05\x04\ - \x02\x17\x12\x04\xdb\x04\x02\x1b\x1a)\x20Python\x20decorators,\x20c-like\ - \x20__attribute__\n\n\r\n\x05\x05\x04\x02\x17\x01\x12\x04\xdb\x04\x02\ - \x15\n\r\n\x05\x05\x04\x02\x17\x02\x12\x04\xdb\x04\x18\x1a\n\x14\n\x04\ - \x05\x04\x02\x18\x12\x04\xde\x04\x02\x13\x1a\x06\x20`\\b`\n\n\r\n\x05\ - \x05\x04\x02\x18\x01\x12\x04\xde\x04\x02\r\n\r\n\x05\x05\x04\x02\x18\x02\ - \x12\x04\xde\x04\x10\x12\n\x18\n\x04\x05\x04\x02\x19\x12\x04\xe0\x04\x02\ - \x15\x1a\n\x20`*`,\x20`+`\n\n\r\n\x05\x05\x04\x02\x19\x01\x12\x04\xe0\ - \x04\x02\x0f\n\r\n\x05\x05\x04\x02\x19\x02\x12\x04\xe0\x04\x12\x14\n\x13\ - \n\x04\x05\x04\x02\x1a\x12\x04\xe2\x04\x02\x15\x1a\x05\x20`.`\n\n\r\n\ - \x05\x05\x04\x02\x1a\x01\x12\x04\xe2\x04\x02\x0f\n\r\n\x05\x05\x04\x02\ - \x1a\x02\x12\x04\xe2\x04\x12\x14\n\"\n\x04\x05\x04\x02\x1b\x12\x04\xe4\ - \x04\x02\x16\x1a\x14\x20`(`,\x20`)`,\x20`[`,\x20`]`\n\n\r\n\x05\x05\x04\ - \x02\x1b\x01\x12\x04\xe4\x04\x02\x10\n\r\n\x05\x05\x04\x02\x1b\x02\x12\ - \x04\xe4\x04\x13\x15\n\x18\n\x04\x05\x04\x02\x1c\x12\x04\xe6\x04\x02\x11\ - \x1a\n\x20`|`,\x20`-`\n\n\r\n\x05\x05\x04\x02\x1c\x01\x12\x04\xe6\x04\ - \x02\x0b\n\r\n\x05\x05\x04\x02\x1c\x02\x12\x04\xe6\x04\x0e\x10\n0\n\x04\ - \x05\x04\x02\x1d\x12\x04\xe9\x04\x02\x15\x1a\"\x20Literal\x20strings:\ - \x20\"Hello,\x20world!\"\n\n\r\n\x05\x05\x04\x02\x1d\x01\x12\x04\xe9\x04\ - \x02\x0f\n\r\n\x05\x05\x04\x02\x1d\x02\x12\x04\xe9\x04\x12\x14\n-\n\x04\ - \x05\x04\x02\x1e\x12\x04\xeb\x04\x02\x1b\x1a\x1f\x20non-regex\x20escapes\ - :\x20\"\\t\",\x20\"\\n\"\n\n\r\n\x05\x05\x04\x02\x1e\x01\x12\x04\xeb\x04\ - \x02\x15\n\r\n\x05\x05\x04\x02\x1e\x02\x12\x04\xeb\x04\x18\x1a\n_\n\x04\ - \x05\x04\x02\x1f\x12\x04\xed\x04\x02\x1c\x1aQ\x20datetimes\x20within\x20\ - strings,\x20special\x20words\x20within\x20a\x20string,\x20`{}`\x20in\x20\ - format\x20strings\n\n\r\n\x05\x05\x04\x02\x1f\x01\x12\x04\xed\x04\x02\ - \x16\n\r\n\x05\x05\x04\x02\x1f\x02\x12\x04\xed\x04\x19\x1b\nG\n\x04\x05\ - \x04\x02\x20\x12\x04\xef\x04\x02\x18\x1a9\x20\"key\"\x20in\x20{\x20\"key\ - \":\x20\"value\"\x20},\x20useful\x20for\x20example\x20in\x20JSON\n\n\r\n\ - \x05\x05\x04\x02\x20\x01\x12\x04\xef\x04\x02\x12\n\r\n\x05\x05\x04\x02\ - \x20\x02\x12\x04\xef\x04\x15\x17\nV\n\x04\x05\x04\x02!\x12\x04\xf1\x04\ - \x02\x18\x1aH\x20'c'\x20or\x20similar,\x20in\x20languages\x20that\x20dif\ - ferentiate\x20strings\x20and\x20characters\n\n\r\n\x05\x05\x04\x02!\x01\ - \x12\x04\xf1\x04\x02\x12\n\r\n\x05\x05\x04\x02!\x02\x12\x04\xf1\x04\x15\ - \x17\n9\n\x04\x05\x04\x02\"\x12\x04\xf3\x04\x02\x16\x1a+\x20Literal\x20n\ - umbers,\x20both\x20floats\x20and\x20integers\n\n\r\n\x05\x05\x04\x02\"\ - \x01\x12\x04\xf3\x04\x02\x10\n\r\n\x05\x05\x04\x02\"\x02\x12\x04\xf3\x04\ - \x13\x15\n\x1f\n\x04\x05\x04\x02#\x12\x04\xf5\x04\x02\x16\x1a\x11\x20`tr\ - ue`,\x20`false`\n\n\r\n\x05\x05\x04\x02#\x01\x12\x04\xf5\x04\x02\x10\n\r\ - \n\x05\x05\x04\x02#\x02\x12\x04\xf5\x04\x13\x15\n&\n\x04\x05\x04\x02$\ - \x12\x04\xf8\x04\x02\x0b\x1a\x18\x20Used\x20for\x20XML-like\x20tags\n\n\ - \r\n\x05\x05\x04\x02$\x01\x12\x04\xf8\x04\x02\x05\n\r\n\x05\x05\x04\x02$\ - \x02\x12\x04\xf8\x04\x08\n\n/\n\x04\x05\x04\x02%\x12\x04\xfa\x04\x02\x14\ - \x1a!\x20Attribute\x20name\x20in\x20XML-like\x20tags\n\n\r\n\x05\x05\x04\ - \x02%\x01\x12\x04\xfa\x04\x02\x0e\n\r\n\x05\x05\x04\x02%\x02\x12\x04\xfa\ - \x04\x11\x13\n,\n\x04\x05\x04\x02&\x12\x04\xfc\x04\x02\x14\x1a\x1e\x20De\ - limiters\x20for\x20XML-like\x20tags\n\n\r\n\x05\x05\x04\x02&\x01\x12\x04\ - \xfc\x04\x02\x0e\n\r\n\x05\x05\x04\x02&\x02\x12\x04\xfc\x04\x11\x13\n\ - \xf9\x01\n\x02\x04\n\x12\x06\x84\x05\0\xe5\x05\x01\x1a\xea\x01\x20Occurr\ - ence\x20associates\x20a\x20source\x20position\x20with\x20a\x20symbol\x20\ - and/or\x20highlighting\n\x20information.\n\n\x20If\x20possible,\x20index\ - ers\x20should\x20try\x20to\x20bundle\x20logically\x20related\x20informat\ - ion\n\x20across\x20occurrences\x20into\x20a\x20single\x20occurrence\x20t\ - o\x20reduce\x20payload\x20sizes.\n\n\x0b\n\x03\x04\n\x01\x12\x04\x84\x05\ - \x08\x12\n\xe8\x08\n\x04\x04\n\x02\0\x12\x04\x9c\x05\x02\x1b\x1a\xd9\x08\ - \x20Half-open\x20[start,\x20end)\x20range\x20of\x20this\x20occurrence.\ - \x20Must\x20be\x20exactly\x20three\x20or\x20four\n\x20elements:\n\n\x20-\ - \x20Four\x20elements:\x20`[startLine,\x20startCharacter,\x20endLine,\x20\ - endCharacter]`\n\x20-\x20Three\x20elements:\x20`[startLine,\x20startChar\ - acter,\x20endCharacter]`.\x20The\x20end\x20line\n\x20\x20\x20is\x20infer\ - red\x20to\x20have\x20the\x20same\x20value\x20as\x20the\x20start\x20line.\ - \n\n\x20It\x20is\x20allowed\x20for\x20the\x20range\x20to\x20be\x20empty\ - \x20(i.e.\x20start==end).\n\n\x20Line\x20numbers\x20and\x20characters\ - \x20are\x20always\x200-based.\x20Make\x20sure\x20to\x20increment\x20the\ - \n\x20line/character\x20values\x20before\x20displaying\x20them\x20in\x20\ - an\x20editor-like\x20UI\x20because\n\x20editors\x20conventionally\x20use\ - \x201-based\x20numbers.\n\n\x20The\x20'character'\x20value\x20is\x20inte\ - rpreted\x20based\x20on\x20the\x20PositionEncoding\x20for\n\x20the\x20Doc\ - ument.\n\n\x20Historical\x20note:\x20the\x20original\x20draft\x20of\x20t\ - his\x20schema\x20had\x20a\x20`Range`\x20message\n\x20type\x20with\x20`st\ - art`\x20and\x20`end`\x20fields\x20of\x20type\x20`Position`,\x20mirroring\ - \x20LSP.\n\x20Benchmarks\x20revealed\x20that\x20this\x20encoding\x20was\ - \x20inefficient\x20and\x20that\x20we\x20could\n\x20reduce\x20the\x20tota\ - l\x20payload\x20size\x20of\x20an\x20index\x20by\x2050%\x20by\x20using\ - \x20`repeated\x20int32`\n\x20instead.\x20The\x20`repeated\x20int32`\x20e\ - ncoding\x20is\x20admittedly\x20more\x20embarrassing\x20to\n\x20work\x20w\ - ith\x20in\x20some\x20programming\x20languages\x20but\x20we\x20hope\x20th\ - e\x20performance\n\x20improvements\x20make\x20up\x20for\x20it.\n\n\r\n\ - \x05\x04\n\x02\0\x04\x12\x04\x9c\x05\x02\n\n\r\n\x05\x04\n\x02\0\x05\x12\ - \x04\x9c\x05\x0b\x10\n\r\n\x05\x04\n\x02\0\x01\x12\x04\x9c\x05\x11\x16\n\ - \r\n\x05\x04\n\x02\0\x03\x12\x04\x9c\x05\x19\x1a\n\x8a\x01\n\x04\x04\n\ - \x02\x01\x12\x04\x9f\x05\x02\x14\x1a|\x20(optional)\x20The\x20symbol\x20\ - that\x20appears\x20at\x20this\x20position.\x20See\n\x20`SymbolInformatio\ - n.symbol`\x20for\x20how\x20to\x20format\x20symbols\x20as\x20strings.\n\n\ - \r\n\x05\x04\n\x02\x01\x05\x12\x04\x9f\x05\x02\x08\n\r\n\x05\x04\n\x02\ - \x01\x01\x12\x04\x9f\x05\t\x0f\n\r\n\x05\x04\n\x02\x01\x03\x12\x04\x9f\ - \x05\x12\x13\n\x97\x01\n\x04\x04\n\x02\x02\x12\x04\xa2\x05\x02\x19\x1a\ - \x88\x01\x20(optional)\x20Bitset\x20containing\x20`SymbolRole`s\x20in\ - \x20this\x20occurrence.\n\x20See\x20`SymbolRole`'s\x20documentation\x20f\ - or\x20how\x20to\x20read\x20and\x20write\x20this\x20field.\n\n\r\n\x05\ - \x04\n\x02\x02\x05\x12\x04\xa2\x05\x02\x07\n\r\n\x05\x04\n\x02\x02\x01\ - \x12\x04\xa2\x05\x08\x14\n\r\n\x05\x04\n\x02\x02\x03\x12\x04\xa2\x05\x17\ - \x18\n\xf1\x03\n\x04\x04\n\x02\x03\x12\x04\xab\x05\x02-\x1a\xe2\x03\x20(\ - optional)\x20CommonMark-formatted\x20documentation\x20for\x20this\x20spe\ - cific\x20range.\x20If\n\x20empty,\x20the\x20`Symbol.documentation`\x20fi\ - eld\x20is\x20used\x20instead.\x20One\x20example\n\x20where\x20this\x20fi\ - eld\x20might\x20be\x20useful\x20is\x20when\x20the\x20symbol\x20represent\ - s\x20a\x20generic\n\x20function\x20(with\x20abstract\x20type\x20paramete\ - rs\x20such\x20as\x20`List`)\x20and\x20at\x20this\n\x20occurrence\x20w\ - e\x20know\x20the\x20exact\x20values\x20(such\x20as\x20`List`).\n\ - \n\x20This\x20field\x20can\x20also\x20be\x20used\x20for\x20dynamically\ - \x20or\x20gradually\x20typed\x20languages,\n\x20which\x20commonly\x20all\ - ow\x20for\x20type-changing\x20assignment.\n\n\r\n\x05\x04\n\x02\x03\x04\ - \x12\x04\xab\x05\x02\n\n\r\n\x05\x04\n\x02\x03\x05\x12\x04\xab\x05\x0b\ - \x11\n\r\n\x05\x04\n\x02\x03\x01\x12\x04\xab\x05\x12(\n\r\n\x05\x04\n\ - \x02\x03\x03\x12\x04\xab\x05+,\nX\n\x04\x04\n\x02\x04\x12\x04\xad\x05\ - \x02\x1d\x1aJ\x20(optional)\x20What\x20syntax\x20highlighting\x20class\ - \x20should\x20be\x20used\x20for\x20this\x20range?\n\n\r\n\x05\x04\n\x02\ - \x04\x06\x12\x04\xad\x05\x02\x0c\n\r\n\x05\x04\n\x02\x04\x01\x12\x04\xad\ - \x05\r\x18\n\r\n\x05\x04\n\x02\x04\x03\x12\x04\xad\x05\x1b\x1c\nW\n\x04\ - \x04\n\x02\x05\x12\x04\xaf\x05\x02&\x1aI\x20(optional)\x20Diagnostics\ - \x20that\x20have\x20been\x20reported\x20for\x20this\x20specific\x20range\ - .\n\n\r\n\x05\x04\n\x02\x05\x04\x12\x04\xaf\x05\x02\n\n\r\n\x05\x04\n\ - \x02\x05\x06\x12\x04\xaf\x05\x0b\x15\n\r\n\x05\x04\n\x02\x05\x01\x12\x04\ - \xaf\x05\x16!\n\r\n\x05\x04\n\x02\x05\x03\x12\x04\xaf\x05$%\n\xb7\x0e\n\ - \x04\x04\n\x02\x06\x12\x04\xe4\x05\x02%\x1a\xa8\x0e\x20(optional)\x20Usi\ - ng\x20the\x20same\x20encoding\x20as\x20the\x20sibling\x20`range`\x20fiel\ - d,\x20half-open\n\x20source\x20range\x20of\x20the\x20nearest\x20non-triv\ - ial\x20enclosing\x20AST\x20node.\x20This\x20range\x20must\n\x20enclose\ - \x20the\x20`range`\x20field.\x20Example\x20applications\x20that\x20make\ - \x20use\x20of\x20the\n\x20enclosing_range\x20field:\n\n\x20-\x20Call\x20\ - hierarchies:\x20to\x20determine\x20what\x20symbols\x20are\x20references\ - \x20from\x20the\x20body\n\x20\x20\x20of\x20a\x20function\n\x20-\x20Symbo\ - l\x20outline:\x20to\x20display\x20breadcrumbs\x20from\x20the\x20cursor\ - \x20position\x20to\x20the\n\x20\x20\x20root\x20of\x20the\x20file\n\x20-\ - \x20Expand\x20selection:\x20to\x20select\x20the\x20nearest\x20enclosing\ - \x20AST\x20node.\n\x20-\x20Highlight\x20range:\x20to\x20indicate\x20the\ - \x20AST\x20expression\x20that\x20is\x20associated\x20with\x20a\n\x20\x20\ - \x20hover\x20popover\n\n\x20For\x20definition\x20occurrences,\x20the\x20\ - enclosing\x20range\x20should\x20indicate\x20the\n\x20start/end\x20bounds\ - \x20of\x20the\x20entire\x20definition\x20AST\x20node,\x20including\n\x20\ - documentation.\n\x20```\n\x20const\x20n\x20=\x203\n\x20\x20\x20\x20\x20\ - \x20\x20^\x20range\n\x20^^^^^^^^^^^\x20enclosing_range\n\n\x20/**\x20Par\ - ses\x20the\x20string\x20into\x20something\x20*/\n\x20^\x20enclosing_rang\ - e\x20start\x20--------------------------------------|\n\x20function\x20p\ - arse(input\x20string):\x20string\x20{\x20\x20\x20\x20\x20\x20\x20\x20\ - \x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20|\n\x20\ - \x20\x20\x20\x20\x20\x20\x20\x20\x20^^^^^\x20range\x20\x20\x20\x20\x20\ + \x20`ParseStreaming`.\n\n\x0c\n\x05\x04\0\x02\x02\x04\x12\x03&\x02\n\n\ + \x0c\n\x05\x04\0\x02\x02\x06\x12\x03&\x0b\x1c\n\x0c\n\x05\x04\0\x02\x02\ + \x01\x12\x03&\x1d-\n\x0c\n\x05\x04\0\x02\x02\x03\x12\x03&01\n\n\n\x02\ + \x04\x01\x12\x04+\08\x01\n\n\n\x03\x04\x01\x01\x12\x03+\x08\x10\nN\n\x04\ + \x04\x01\x02\0\x12\x03-\x02\x1e\x1aA\x20Which\x20version\x20of\x20this\ + \x20protocol\x20was\x20used\x20to\x20generate\x20this\x20index?\n\n\x0c\ + \n\x05\x04\x01\x02\0\x06\x12\x03-\x02\x11\n\x0c\n\x05\x04\x01\x02\0\x01\ + \x12\x03-\x12\x19\n\x0c\n\x05\x04\x01\x02\0\x03\x12\x03-\x1c\x1d\nC\n\ + \x04\x04\x01\x02\x01\x12\x03/\x02\x19\x1a6\x20Information\x20about\x20th\ + e\x20tool\x20that\x20produced\x20this\x20index.\n\n\x0c\n\x05\x04\x01\ + \x02\x01\x06\x12\x03/\x02\n\n\x0c\n\x05\x04\x01\x02\x01\x01\x12\x03/\x0b\ + \x14\n\x0c\n\x05\x04\x01\x02\x01\x03\x12\x03/\x17\x18\n\xa2\x01\n\x04\ + \x04\x01\x02\x02\x12\x033\x02\x1a\x1a\x94\x01\x20URI-encoded\x20absolute\ + \x20path\x20to\x20the\x20root\x20directory\x20of\x20this\x20index.\x20Al\ + l\n\x20documents\x20in\x20this\x20index\x20must\x20appear\x20in\x20a\x20\ + subdirectory\x20of\x20this\x20root\n\x20directory.\n\n\x0c\n\x05\x04\x01\ + \x02\x02\x05\x12\x033\x02\x08\n\x0c\n\x05\x04\x01\x02\x02\x01\x12\x033\t\ + \x15\n\x0c\n\x05\x04\x01\x02\x02\x03\x12\x033\x18\x19\n\xe0\x01\n\x04\ + \x04\x01\x02\x03\x12\x037\x02*\x1a\xd2\x01\x20Text\x20encoding\x20of\x20\ + the\x20source\x20files\x20on\x20disk\x20that\x20are\x20referenced\x20fro\ + m\n\x20`Document.relative_path`.\x20This\x20value\x20is\x20unrelated\x20\ + to\x20the\x20`Document.text`\n\x20field,\x20which\x20is\x20a\x20Protobuf\ + \x20string\x20and\x20hence\x20must\x20be\x20UTF-8\x20encoded.\n\n\x0c\n\ + \x05\x04\x01\x02\x03\x06\x12\x037\x02\x0e\n\x0c\n\x05\x04\x01\x02\x03\ + \x01\x12\x037\x0f%\n\x0c\n\x05\x04\x01\x02\x03\x03\x12\x037()\n\n\n\x02\ + \x05\0\x12\x04:\0<\x01\n\n\n\x03\x05\0\x01\x12\x03:\x05\x14\n\x0b\n\x04\ + \x05\0\x02\0\x12\x03;\x02!\n\x0c\n\x05\x05\0\x02\0\x01\x12\x03;\x02\x1c\ + \n\x0c\n\x05\x05\0\x02\0\x02\x12\x03;\x1f\x20\n\n\n\x02\x05\x01\x12\x04>\ + \0B\x01\n\n\n\x03\x05\x01\x01\x12\x03>\x05\x11\n\x0b\n\x04\x05\x01\x02\0\ + \x12\x03?\x02\x1e\n\x0c\n\x05\x05\x01\x02\0\x01\x12\x03?\x02\x19\n\x0c\n\ + \x05\x05\x01\x02\0\x02\x12\x03?\x1c\x1d\n\x0b\n\x04\x05\x01\x02\x01\x12\ + \x03@\x02\x0b\n\x0c\n\x05\x05\x01\x02\x01\x01\x12\x03@\x02\x06\n\x0c\n\ + \x05\x05\x01\x02\x01\x02\x12\x03@\t\n\n\x0b\n\x04\x05\x01\x02\x02\x12\ + \x03A\x02\x0c\n\x0c\n\x05\x05\x01\x02\x02\x01\x12\x03A\x02\x07\n\x0c\n\ + \x05\x05\x01\x02\x02\x02\x12\x03A\n\x0b\n\n\n\x02\x04\x02\x12\x04D\0K\ + \x01\n\n\n\x03\x04\x02\x01\x12\x03D\x08\x10\n<\n\x04\x04\x02\x02\0\x12\ + \x03F\x02\x12\x1a/\x20Name\x20of\x20the\x20indexer\x20that\x20produced\ + \x20this\x20index.\n\n\x0c\n\x05\x04\x02\x02\0\x05\x12\x03F\x02\x08\n\ + \x0c\n\x05\x04\x02\x02\0\x01\x12\x03F\t\r\n\x0c\n\x05\x04\x02\x02\0\x03\ + \x12\x03F\x10\x11\n?\n\x04\x04\x02\x02\x01\x12\x03H\x02\x15\x1a2\x20Vers\ + ion\x20of\x20the\x20indexer\x20that\x20produced\x20this\x20index.\n\n\ + \x0c\n\x05\x04\x02\x02\x01\x05\x12\x03H\x02\x08\n\x0c\n\x05\x04\x02\x02\ + \x01\x01\x12\x03H\t\x10\n\x0c\n\x05\x04\x02\x02\x01\x03\x12\x03H\x13\x14\ + \nL\n\x04\x04\x02\x02\x02\x12\x03J\x02\x20\x1a?\x20Command-line\x20argum\ + ents\x20that\x20were\x20used\x20to\x20invoke\x20this\x20indexer.\n\n\x0c\ + \n\x05\x04\x02\x02\x02\x04\x12\x03J\x02\n\n\x0c\n\x05\x04\x02\x02\x02\ + \x05\x12\x03J\x0b\x11\n\x0c\n\x05\x04\x02\x02\x02\x01\x12\x03J\x12\x1b\n\ + \x0c\n\x05\x04\x02\x02\x02\x03\x12\x03J\x1e\x1f\nH\n\x02\x04\x03\x12\x04\ + N\0y\x01\x1a<\x20Document\x20defines\x20the\x20metadata\x20about\x20a\ + \x20source\x20file\x20on\x20disk.\n\n\n\n\x03\x04\x03\x01\x12\x03N\x08\ + \x10\n\xa5\x02\n\x04\x04\x03\x02\0\x12\x03S\x02\x16\x1a\x97\x02\x20The\ + \x20string\x20ID\x20for\x20the\x20programming\x20language\x20this\x20fil\ + e\x20is\x20written\x20in.\n\x20The\x20`Language`\x20enum\x20contains\x20\ + the\x20names\x20of\x20most\x20common\x20programming\x20languages.\n\x20T\ + his\x20field\x20is\x20typed\x20as\x20a\x20string\x20to\x20permit\x20any\ + \x20programming\x20language,\x20including\n\x20ones\x20that\x20are\x20no\ + t\x20specified\x20by\x20the\x20`Language`\x20enum.\n\n\x0c\n\x05\x04\x03\ + \x02\0\x05\x12\x03S\x02\x08\n\x0c\n\x05\x04\x03\x02\0\x01\x12\x03S\t\x11\ + \n\x0c\n\x05\x04\x03\x02\0\x03\x12\x03S\x14\x15\n\xb5\x03\n\x04\x04\x03\ + \x02\x01\x12\x03]\x02\x1b\x1a\xa7\x03\x20(Required)\x20Unique\x20path\ + \x20to\x20the\x20text\x20document.\n\n\x201.\x20The\x20path\x20must\x20b\ + e\x20relative\x20to\x20the\x20directory\x20supplied\x20in\x20the\x20asso\ + ciated\n\x20\x20\x20\x20`Metadata.project_root`.\n\x202.\x20The\x20path\ + \x20must\x20not\x20begin\x20with\x20a\x20leading\x20'/'.\n\x203.\x20The\ + \x20path\x20must\x20point\x20to\x20a\x20regular\x20file,\x20not\x20a\x20\ + symbolic\x20link.\n\x204.\x20The\x20path\x20must\x20use\x20'/'\x20as\x20\ + the\x20separator,\x20including\x20on\x20Windows.\n\x205.\x20The\x20path\ + \x20must\x20be\x20canonical;\x20it\x20cannot\x20include\x20empty\x20comp\ + onents\x20('//'),\n\x20\x20\x20\x20or\x20'.'\x20or\x20'..'.\n\n\x0c\n\ + \x05\x04\x03\x02\x01\x05\x12\x03]\x02\x08\n\x0c\n\x05\x04\x03\x02\x01\ + \x01\x12\x03]\t\x16\n\x0c\n\x05\x04\x03\x02\x01\x03\x12\x03]\x19\x1a\n4\ + \n\x04\x04\x03\x02\x02\x12\x03_\x02&\x1a'\x20Occurrences\x20that\x20appe\ + ar\x20in\x20this\x20file.\n\n\x0c\n\x05\x04\x03\x02\x02\x04\x12\x03_\x02\ + \n\n\x0c\n\x05\x04\x03\x02\x02\x06\x12\x03_\x0b\x15\n\x0c\n\x05\x04\x03\ + \x02\x02\x01\x12\x03_\x16!\n\x0c\n\x05\x04\x03\x02\x02\x03\x12\x03_$%\n\ + \xea\x01\n\x04\x04\x03\x02\x03\x12\x03e\x02)\x1a\xdc\x01\x20Symbols\x20t\ + hat\x20are\x20\"defined\"\x20within\x20this\x20document.\n\n\x20This\x20\ + should\x20include\x20symbols\x20which\x20technically\x20do\x20not\x20hav\ + e\x20any\x20definition,\n\x20but\x20have\x20a\x20reference\x20and\x20are\ + \x20defined\x20by\x20some\x20other\x20symbol\x20(see\n\x20Relationship.i\ + s_definition).\n\n\x0c\n\x05\x04\x03\x02\x03\x04\x12\x03e\x02\n\n\x0c\n\ + \x05\x04\x03\x02\x03\x06\x12\x03e\x0b\x1c\n\x0c\n\x05\x04\x03\x02\x03\ + \x01\x12\x03e\x1d$\n\x0c\n\x05\x04\x03\x02\x03\x03\x12\x03e'(\n\x80\x03\ + \n\x04\x04\x03\x02\x04\x12\x03l\x02\x12\x1a\xf2\x02\x20(optional)\x20Tex\ + t\x20contents\x20of\x20this\x20document.\x20Indexers\x20are\x20not\x20ex\ + pected\x20to\n\x20include\x20the\x20text\x20by\x20default.\x20It's\x20pr\ + eferable\x20that\x20clients\x20read\x20the\x20text\n\x20contents\x20from\ + \x20the\x20file\x20system\x20by\x20resolving\x20the\x20absolute\x20path\ + \x20from\x20joining\n\x20`Index.metadata.project_root`\x20and\x20`Docume\ + nt.relative_path`.\x20This\x20field\n\x20can\x20be\x20useful\x20for\x20t\ + esting\x20or\x20when\x20working\x20with\x20virtual/in-memory\x20document\ + s.\n\n\x0c\n\x05\x04\x03\x02\x04\x05\x12\x03l\x02\x08\n\x0c\n\x05\x04\ + \x03\x02\x04\x01\x12\x03l\t\r\n\x0c\n\x05\x04\x03\x02\x04\x03\x12\x03l\ + \x10\x11\n\xe7\x03\n\x04\x04\x03\x02\x05\x12\x03x\x02)\x1a\xd9\x03\x20Sp\ + ecifies\x20the\x20encoding\x20used\x20for\x20source\x20ranges\x20in\x20t\ + his\x20Document.\n\n\x20Usually,\x20this\x20will\x20match\x20the\x20type\ + \x20used\x20to\x20index\x20the\x20string\x20type\n\x20in\x20the\x20index\ + er's\x20implementation\x20language\x20in\x20O(1)\x20time.\n\x20-\x20For\ + \x20an\x20indexer\x20implemented\x20in\x20JVM/.NET\x20language\x20or\x20\ + JavaScript/TypeScript,\n\x20\x20\x20use\x20UTF16CodeUnitOffsetFromLineSt\ + art.\n\x20-\x20For\x20an\x20indexer\x20implemented\x20in\x20Python,\n\ + \x20\x20\x20use\x20UTF32CodeUnitOffsetFromLineStart.\n\x20-\x20For\x20an\ + \x20indexer\x20implemented\x20in\x20Go,\x20Rust\x20or\x20C++,\n\x20\x20\ + \x20use\x20UTF8ByteOffsetFromLineStart.\n\n\x0c\n\x05\x04\x03\x02\x05\ + \x06\x12\x03x\x02\x12\n\x0c\n\x05\x04\x03\x02\x05\x01\x12\x03x\x13$\n\ + \x0c\n\x05\x04\x03\x02\x05\x03\x12\x03x'(\nQ\n\x02\x05\x02\x12\x05|\0\ + \x94\x01\x01\x1aD\x20Encoding\x20used\x20to\x20interpret\x20the\x20'char\ + acter'\x20value\x20in\x20source\x20ranges.\n\n\n\n\x03\x05\x02\x01\x12\ + \x03|\x05\x15\n\x93\x01\n\x04\x05\x02\x02\0\x12\x03\x7f\x02\"\x1a\x85\ + \x01\x20Default\x20value.\x20This\x20value\x20should\x20not\x20be\x20use\ + d\x20by\x20new\x20SCIP\x20indexers\n\x20so\x20that\x20a\x20consumer\x20c\ + an\x20process\x20the\x20SCIP\x20index\x20without\x20ambiguity.\n\n\x0c\n\ + \x05\x05\x02\x02\0\x01\x12\x03\x7f\x02\x1d\n\x0c\n\x05\x05\x02\x02\0\x02\ + \x12\x03\x7f\x20!\n\xf7\x01\n\x04\x05\x02\x02\x01\x12\x04\x86\x01\x02&\ + \x1a\xe8\x01\x20The\x20'character'\x20value\x20is\x20interpreted\x20as\ + \x20an\x20offset\x20in\x20terms\n\x20of\x20UTF-8\x20code\x20units\x20(i.\ + e.\x20bytes).\n\n\x20Example:\x20For\x20the\x20string\x20\"\xf0\x9f\x9a\ + \x80\x20Woo\"\x20in\x20UTF-8,\x20the\x20bytes\x20are\n\x20[240,\x20159,\ + \x20154,\x20128,\x2032,\x2087,\x20111,\x20111],\x20so\x20the\x20offset\ + \x20for\x20'W'\n\x20would\x20be\x205.\n\n\r\n\x05\x05\x02\x02\x01\x01\ + \x12\x04\x86\x01\x02!\n\r\n\x05\x05\x02\x02\x01\x02\x12\x04\x86\x01$%\n\ + \x82\x02\n\x04\x05\x02\x02\x02\x12\x04\x8d\x01\x02'\x1a\xf3\x01\x20The\ + \x20'character'\x20value\x20is\x20interpreted\x20as\x20an\x20offset\x20i\ + n\x20terms\n\x20of\x20UTF-16\x20code\x20units\x20(each\x20is\x202\x20byt\ + es).\n\n\x20Example:\x20For\x20the\x20string\x20\"\xf0\x9f\x9a\x80\x20Wo\ + o\",\x20the\x20UTF-16\x20code\x20units\x20are\n\x20['\\ud83d',\x20'\\ude\ + 80',\x20'\x20',\x20'W',\x20'o',\x20'o'],\x20so\x20the\x20offset\x20for\ + \x20'W'\n\x20would\x20be\x203.\n\n\r\n\x05\x05\x02\x02\x02\x01\x12\x04\ + \x8d\x01\x02\"\n\r\n\x05\x05\x02\x02\x02\x02\x12\x04\x8d\x01%&\n\xf5\x01\ + \n\x04\x05\x02\x02\x03\x12\x04\x93\x01\x02'\x1a\xe6\x01\x20The\x20'chara\ + cter'\x20value\x20is\x20interpreted\x20as\x20an\x20offset\x20in\x20terms\ + \n\x20of\x20UTF-32\x20code\x20units\x20(each\x20is\x204\x20bytes).\n\n\ + \x20Example:\x20For\x20the\x20string\x20\"\xf0\x9f\x9a\x80\x20Woo\",\x20\ + the\x20UTF-32\x20code\x20units\x20are\n\x20['\xf0\x9f\x9a\x80',\x20'\x20\ + ',\x20'W',\x20'o',\x20'o'],\x20so\x20the\x20offset\x20for\x20'W'\x20woul\ + d\x20be\x202.\n\n\r\n\x05\x05\x02\x02\x03\x01\x12\x04\x93\x01\x02\"\n\r\ + \n\x05\x05\x02\x02\x03\x02\x12\x04\x93\x01%&\n\xcc\x12\n\x02\x04\x04\x12\ + \x06\xc0\x01\0\xc4\x01\x01\x1a\xbd\x12\x20Symbol\x20is\x20similar\x20to\ + \x20a\x20URI,\x20it\x20identifies\x20a\x20class,\x20method,\x20or\x20a\ + \x20local\n\x20variable.\x20`SymbolInformation`\x20contains\x20rich\x20m\ + etadata\x20about\x20symbols\x20such\x20as\n\x20the\x20docstring.\n\n\x20\ + Symbol\x20has\x20a\x20standardized\x20string\x20representation,\x20which\ + \x20can\x20be\x20used\n\x20interchangeably\x20with\x20`Symbol`.\x20The\ + \x20syntax\x20for\x20Symbol\x20is\x20the\x20following:\n\x20```\n\x20#\ + \x20()+\x20stands\x20for\x20one\x20or\x20more\x20repetitions\x20of\ + \x20\n\x20#\x20()?\x20stands\x20for\x20zero\x20or\x20one\x20occurr\ + ence\x20of\x20\n\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ + \x20\x20\x20\x20\x20::=\x20\x20'\x20'\x20\x20'\x20'\x20\ + ()+\x20|\x20'local\x20'\x20\n\x20\x20\x20\ + \x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20::=\x20\x20'\ + \x20'\x20\x20'\x20'\x20\n\x20\x20\x20\x20\ + \x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20::=\x20any\x20UTF-8,\x20\ + escape\x20spaces\x20with\x20double\x20space.\x20Must\x20not\x20be\x20emp\ + ty\x20nor\x20start\x20with\x20'local'\n\x20\x20\x20\x20\x20\x20\ + \x20\x20\x20\x20\x20\x20\x20\x20\x20::=\x20any\x20UTF-8,\x20escape\x20sp\ + aces\x20with\x20double\x20space.\x20Use\x20the\x20placeholder\x20'.'\x20\ + to\x20indicate\x20an\x20empty\x20value\n\x20\x20\x20\x20\ + \x20\x20\x20\x20\x20\x20::=\x20same\x20as\x20above\n\x20\x20\ + \x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20::=\x20same\x20as\ + \x20above\n\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20:\ + :=\x20\x20|\x20\x20|\x20\x20|\x20\x20|\ + \x20\x20|\x20\x20|\x20\x20|\x20\ + \n\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20::=\x20\ + \x20'/'\n\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ + \x20\x20\x20\x20\x20\x20::=\x20\x20'#'\n\x20\x20\x20\x20\x20\ + \x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20::=\x20\x20'.'\ + \n\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ + \x20\x20::=\x20\x20':'\n\x20\x20\x20\x20\x20\x20\x20\x20\ + \x20\x20\x20\x20\x20\x20\x20\x20\x20::=\x20\x20'!'\n\x20\ + \x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20::=\x20\x20'('\x20()?\x20').'\n\x20\x20\ + \x20\x20\x20\x20\x20\x20::=\x20'['\x20\x20']'\n\x20\x20\ + \x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20::=\x20'('\x20\x20')'\ + \n\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ + \x20\x20::=\x20\n\x20\x20::=\x20\n\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ + \x20::=\x20\x20|\x20\n\x20\x20\x20\x20\x20::=\x20()+\n\x20\x20::=\x20'_'\x20|\x20'+'\x20|\x20'-'\x20|\x20'$'\x20|\ + \x20ASCII\x20letter\x20or\x20digit\n\x20\x20\x20\x20\ + ::=\x20'`'\x20()+\x20'`',\x20must\x20contain\x20at\ + \x20least\x20one\x20non-\n\x20\ + \x20\x20\x20::=\x20any\x20UTF-8,\x20escape\x20backticks\x20with\x20doubl\ + e\x20backtick.\n\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ + \x20\x20\x20::=\x20\n\x20```\n\n\x20The\x20list\x20of\ + \x20descriptors\x20for\x20a\x20symbol\x20should\x20together\x20form\x20a\ + \x20fully\n\x20qualified\x20name\x20for\x20the\x20symbol.\x20That\x20is,\ + \x20it\x20should\x20serve\x20as\x20a\x20unique\n\x20identifier\x20across\ + \x20the\x20package.\x20Typically,\x20it\x20will\x20include\x20one\x20des\ + criptor\n\x20for\x20every\x20node\x20in\x20the\x20AST\x20(along\x20the\ + \x20ancestry\x20path)\x20between\x20the\x20root\x20of\n\x20the\x20file\ + \x20and\x20the\x20node\x20corresponding\x20to\x20the\x20symbol.\n\n\x20L\ + ocal\x20symbols\x20MUST\x20only\x20be\x20used\x20for\x20entities\x20whic\ + h\x20are\x20local\x20to\x20a\x20Document,\n\x20and\x20cannot\x20be\x20ac\ + cessed\x20from\x20outside\x20the\x20Document.\n\n\x0b\n\x03\x04\x04\x01\ + \x12\x04\xc0\x01\x08\x0e\n\x0c\n\x04\x04\x04\x02\0\x12\x04\xc1\x01\x02\ + \x14\n\r\n\x05\x04\x04\x02\0\x05\x12\x04\xc1\x01\x02\x08\n\r\n\x05\x04\ + \x04\x02\0\x01\x12\x04\xc1\x01\t\x0f\n\r\n\x05\x04\x04\x02\0\x03\x12\x04\ + \xc1\x01\x12\x13\n\x0c\n\x04\x04\x04\x02\x01\x12\x04\xc2\x01\x02\x16\n\r\ + \n\x05\x04\x04\x02\x01\x06\x12\x04\xc2\x01\x02\t\n\r\n\x05\x04\x04\x02\ + \x01\x01\x12\x04\xc2\x01\n\x11\n\r\n\x05\x04\x04\x02\x01\x03\x12\x04\xc2\ + \x01\x14\x15\n\x0c\n\x04\x04\x04\x02\x02\x12\x04\xc3\x01\x02&\n\r\n\x05\ + \x04\x04\x02\x02\x04\x12\x04\xc3\x01\x02\n\n\r\n\x05\x04\x04\x02\x02\x06\ + \x12\x04\xc3\x01\x0b\x15\n\r\n\x05\x04\x04\x02\x02\x01\x12\x04\xc3\x01\ + \x16!\n\r\n\x05\x04\x04\x02\x02\x03\x12\x04\xc3\x01$%\nq\n\x02\x04\x05\ + \x12\x06\xc9\x01\0\xcd\x01\x01\x1ac\x20Unit\x20of\x20packaging\x20and\ + \x20distribution.\n\n\x20NOTE:\x20This\x20corresponds\x20to\x20a\x20modu\ + le\x20in\x20Go\x20and\x20JVM\x20languages.\n\n\x0b\n\x03\x04\x05\x01\x12\ + \x04\xc9\x01\x08\x0f\n\x0c\n\x04\x04\x05\x02\0\x12\x04\xca\x01\x02\x15\n\ + \r\n\x05\x04\x05\x02\0\x05\x12\x04\xca\x01\x02\x08\n\r\n\x05\x04\x05\x02\ + \0\x01\x12\x04\xca\x01\t\x10\n\r\n\x05\x04\x05\x02\0\x03\x12\x04\xca\x01\ + \x13\x14\n\x0c\n\x04\x04\x05\x02\x01\x12\x04\xcb\x01\x02\x12\n\r\n\x05\ + \x04\x05\x02\x01\x05\x12\x04\xcb\x01\x02\x08\n\r\n\x05\x04\x05\x02\x01\ + \x01\x12\x04\xcb\x01\t\r\n\r\n\x05\x04\x05\x02\x01\x03\x12\x04\xcb\x01\ + \x10\x11\n\x0c\n\x04\x04\x05\x02\x02\x12\x04\xcc\x01\x02\x15\n\r\n\x05\ + \x04\x05\x02\x02\x05\x12\x04\xcc\x01\x02\x08\n\r\n\x05\x04\x05\x02\x02\ + \x01\x12\x04\xcc\x01\t\x10\n\r\n\x05\x04\x05\x02\x02\x03\x12\x04\xcc\x01\ + \x13\x14\n\x0c\n\x02\x04\x06\x12\x06\xcf\x01\0\xe8\x01\x01\n\x0b\n\x03\ + \x04\x06\x01\x12\x04\xcf\x01\x08\x12\n\x0e\n\x04\x04\x06\x04\0\x12\x06\ + \xd0\x01\x02\xe2\x01\x03\n\r\n\x05\x04\x06\x04\0\x01\x12\x04\xd0\x01\x07\ + \r\n\r\n\x05\x04\x06\x04\0\x03\x12\x04\xd1\x01\x04\x1e\n\x0e\n\x06\x04\ + \x06\x04\0\x03\x02\x12\x04\xd1\x01\x04\x1e\n\x0e\n\x06\x04\x06\x04\0\x02\ + \0\x12\x04\xd2\x01\x04\x1a\n\x0f\n\x07\x04\x06\x04\0\x02\0\x01\x12\x04\ + \xd2\x01\x04\x15\n\x0f\n\x07\x04\x06\x04\0\x02\0\x02\x12\x04\xd2\x01\x18\ + \x19\n}\n\x06\x04\x06\x04\0\x02\x01\x12\x04\xd6\x01\x04\x12\x1am\x20Unit\ + \x20of\x20code\x20abstraction\x20and/or\x20namespacing.\n\n\x20NOTE:\x20\ + This\x20corresponds\x20to\x20a\x20package\x20in\x20Go\x20and\x20JVM\x20l\ + anguages.\n\n\x0f\n\x07\x04\x06\x04\0\x02\x01\x01\x12\x04\xd6\x01\x04\r\ + \n\x0f\n\x07\x04\x06\x04\0\x02\x01\x02\x12\x04\xd6\x01\x10\x11\n(\n\x06\ + \x04\x06\x04\0\x02\x02\x12\x04\xd8\x01\x04$\x1a\x18\x20Use\x20Namespace\ + \x20instead.\n\n\x0f\n\x07\x04\x06\x04\0\x02\x02\x01\x12\x04\xd8\x01\x04\ + \x0b\n\x0f\n\x07\x04\x06\x04\0\x02\x02\x02\x12\x04\xd8\x01\x0e\x0f\n\x0f\ + \n\x07\x04\x06\x04\0\x02\x02\x03\x12\x04\xd8\x01\x10#\n\x10\n\x08\x04\ + \x06\x04\0\x02\x02\x03\x01\x12\x04\xd8\x01\x11\"\n\x0e\n\x06\x04\x06\x04\ + \0\x02\x03\x12\x04\xd9\x01\x04\r\n\x0f\n\x07\x04\x06\x04\0\x02\x03\x01\ + \x12\x04\xd9\x01\x04\x08\n\x0f\n\x07\x04\x06\x04\0\x02\x03\x02\x12\x04\ + \xd9\x01\x0b\x0c\n\x0e\n\x06\x04\x06\x04\0\x02\x04\x12\x04\xda\x01\x04\r\ + \n\x0f\n\x07\x04\x06\x04\0\x02\x04\x01\x12\x04\xda\x01\x04\x08\n\x0f\n\ + \x07\x04\x06\x04\0\x02\x04\x02\x12\x04\xda\x01\x0b\x0c\n\x0e\n\x06\x04\ + \x06\x04\0\x02\x05\x12\x04\xdb\x01\x04\x0f\n\x0f\n\x07\x04\x06\x04\0\x02\ + \x05\x01\x12\x04\xdb\x01\x04\n\n\x0f\n\x07\x04\x06\x04\0\x02\x05\x02\x12\ + \x04\xdb\x01\r\x0e\n\x0e\n\x06\x04\x06\x04\0\x02\x06\x12\x04\xdc\x01\x04\ + \x16\n\x0f\n\x07\x04\x06\x04\0\x02\x06\x01\x12\x04\xdc\x01\x04\x11\n\x0f\ + \n\x07\x04\x06\x04\0\x02\x06\x02\x12\x04\xdc\x01\x14\x15\n\x0e\n\x06\x04\ + \x06\x04\0\x02\x07\x12\x04\xdd\x01\x04\x12\n\x0f\n\x07\x04\x06\x04\0\x02\ + \x07\x01\x12\x04\xdd\x01\x04\r\n\x0f\n\x07\x04\x06\x04\0\x02\x07\x02\x12\ + \x04\xdd\x01\x10\x11\n.\n\x06\x04\x06\x04\0\x02\x08\x12\x04\xdf\x01\x04\ + \r\x1a\x1e\x20Can\x20be\x20used\x20for\x20any\x20purpose.\n\n\x0f\n\x07\ + \x04\x06\x04\0\x02\x08\x01\x12\x04\xdf\x01\x04\x08\n\x0f\n\x07\x04\x06\ + \x04\0\x02\x08\x02\x12\x04\xdf\x01\x0b\x0c\n\x0e\n\x06\x04\x06\x04\0\x02\ + \t\x12\x04\xe0\x01\x04\x0e\n\x0f\n\x07\x04\x06\x04\0\x02\t\x01\x12\x04\ + \xe0\x01\x04\t\n\x0f\n\x07\x04\x06\x04\0\x02\t\x02\x12\x04\xe0\x01\x0c\r\ + \n\x0e\n\x06\x04\x06\x04\0\x02\n\x12\x04\xe1\x01\x04\x0e\n\x0f\n\x07\x04\ + \x06\x04\0\x02\n\x01\x12\x04\xe1\x01\x04\t\n\x0f\n\x07\x04\x06\x04\0\x02\ + \n\x02\x12\x04\xe1\x01\x0c\r\n\x0c\n\x04\x04\x06\x02\0\x12\x04\xe3\x01\ + \x02\x12\n\r\n\x05\x04\x06\x02\0\x05\x12\x04\xe3\x01\x02\x08\n\r\n\x05\ + \x04\x06\x02\0\x01\x12\x04\xe3\x01\t\r\n\r\n\x05\x04\x06\x02\0\x03\x12\ + \x04\xe3\x01\x10\x11\n\x0c\n\x04\x04\x06\x02\x01\x12\x04\xe4\x01\x02\x1b\ + \n\r\n\x05\x04\x06\x02\x01\x05\x12\x04\xe4\x01\x02\x08\n\r\n\x05\x04\x06\ + \x02\x01\x01\x12\x04\xe4\x01\t\x16\n\r\n\x05\x04\x06\x02\x01\x03\x12\x04\ + \xe4\x01\x19\x1a\n\x82\x01\n\x04\x04\x06\x02\x02\x12\x04\xe5\x01\x02\x14\ + \"t\x20NOTE:\x20If\x20you\x20add\x20new\x20fields\x20here,\x20make\x20su\ + re\x20to\x20update\x20the\x20prepareSlot()\n\x20function\x20responsible\ + \x20for\x20parsing\x20symbols.\n\n\r\n\x05\x04\x06\x02\x02\x06\x12\x04\ + \xe5\x01\x02\x08\n\r\n\x05\x04\x06\x02\x02\x01\x12\x04\xe5\x01\t\x0f\n\r\ + \n\x05\x04\x06\x02\x02\x03\x12\x04\xe5\x01\x12\x13\n\xa1\x02\n\x02\x04\ + \x07\x12\x06\xee\x01\0\xfb\x01\x01\x1a\x92\x02\x20Signature\x20represent\ + s\x20the\x20signature\x20of\x20a\x20symbol\x20as\x20it's\x20displayed\ + \x20in\x20API\n\x20documentation\x20or\x20hover\x20tooltips.\x20It\x20us\ + es\x20a\x20subset\x20of\x20Document's\x20fields\x20with\n\x20the\x20same\ + \x20field\x20numbers\x20for\x20wire\x20compatibility\x20with\x20older\ + \x20indexes\x20that\x20encoded\n\x20signatures\x20using\x20the\x20Docume\ + nt\x20message\x20type.\n\n\x0b\n\x03\x04\x07\x01\x12\x04\xee\x01\x08\x11\ + \nK\n\x04\x04\x07\x02\0\x12\x04\xf0\x01\x02\x16\x1a=\x20The\x20language\ + \x20of\x20the\x20signature,\x20e.g.\x20\"java\",\x20\"go\",\x20\"python\ + \".\n\n\r\n\x05\x04\x07\x02\0\x05\x12\x04\xf0\x01\x02\x08\n\r\n\x05\x04\ + \x07\x02\0\x01\x12\x04\xf0\x01\t\x11\n\r\n\x05\x04\x07\x02\0\x03\x12\x04\ + \xf0\x01\x14\x15\nQ\n\x04\x04\x07\x02\x01\x12\x04\xf2\x01\x02\x12\x1aC\ + \x20The\x20text\x20content\x20of\x20the\x20signature,\x20e.g.\x20\"void\ + \x20add(int\x20a,\x20int\x20b)\".\n\n\r\n\x05\x04\x07\x02\x01\x05\x12\ + \x04\xf2\x01\x02\x08\n\r\n\x05\x04\x07\x02\x01\x01\x12\x04\xf2\x01\t\r\n\ + \r\n\x05\x04\x07\x02\x01\x03\x12\x04\xf2\x01\x10\x11\n\xbb\x01\n\x04\x04\ + \x07\x02\x02\x12\x04\xf6\x01\x02&\x1a\xac\x01\x20(optional)\x20Occurrenc\ + es\x20within\x20the\x20signature\x20text\x20that\x20reference\x20other\n\ + \x20symbols,\x20enabling\x20hyperlinking\x20of\x20types\x20in\x20the\x20\ + signature.\x20Ranges\x20are\n\x20relative\x20to\x20the\x20`text`\x20fiel\ + d.\n\n\r\n\x05\x04\x07\x02\x02\x04\x12\x04\xf6\x01\x02\n\n\r\n\x05\x04\ + \x07\x02\x02\x06\x12\x04\xf6\x01\x0b\x15\n\r\n\x05\x04\x07\x02\x02\x01\ + \x12\x04\xf6\x01\x16!\n\r\n\x05\x04\x07\x02\x02\x03\x12\x04\xf6\x01$%\n\ + \x97\x01\n\x03\x04\x07\t\x12\x04\xfa\x01\x02\x13\x1a\x89\x01\x20Reserved\ + \x20field\x20numbers\x20from\x20the\x20Document\x20message\x20to\x20prev\ + ent\x20accidental\n\x20reuse,\x20which\x20would\x20break\x20wire\x20comp\ + atibility\x20with\x20older\x20indexes.\n\n\x0c\n\x04\x04\x07\t\0\x12\x04\ + \xfa\x01\x0b\x0c\n\r\n\x05\x04\x07\t\0\x01\x12\x04\xfa\x01\x0b\x0c\n\r\n\ + \x05\x04\x07\t\0\x02\x12\x04\xfa\x01\x0b\x0c\n\x0c\n\x04\x04\x07\t\x01\ + \x12\x04\xfa\x01\x0e\x0f\n\r\n\x05\x04\x07\t\x01\x01\x12\x04\xfa\x01\x0e\ + \x0f\n\r\n\x05\x04\x07\t\x01\x02\x12\x04\xfa\x01\x0e\x0f\n\x0c\n\x04\x04\ + \x07\t\x02\x12\x04\xfa\x01\x11\x12\n\r\n\x05\x04\x07\t\x02\x01\x12\x04\ + \xfa\x01\x11\x12\n\r\n\x05\x04\x07\t\x02\x02\x12\x04\xfa\x01\x11\x12\n\ + \x83\x01\n\x02\x04\x08\x12\x06\xff\x01\0\xd1\x03\x01\x1au\x20SymbolInfor\ + mation\x20defines\x20metadata\x20about\x20a\x20symbol,\x20such\x20as\x20\ + the\x20symbol's\n\x20docstring\x20or\x20what\x20package\x20it's\x20defin\ + ed\x20it.\n\n\x0b\n\x03\x04\x08\x01\x12\x04\xff\x01\x08\x19\n\xa0\x01\n\ + \x04\x04\x08\x02\0\x12\x04\x82\x02\x02\x14\x1a\x91\x01\x20Identifier\x20\ + of\x20this\x20symbol,\x20which\x20can\x20be\x20referenced\x20from\x20`Oc\ + curence.symbol`.\n\x20The\x20string\x20must\x20be\x20formatted\x20accord\ + ing\x20to\x20the\x20grammar\x20in\x20`Symbol`.\n\n\r\n\x05\x04\x08\x02\0\ + \x05\x12\x04\x82\x02\x02\x08\n\r\n\x05\x04\x08\x02\0\x01\x12\x04\x82\x02\ + \t\x0f\n\r\n\x05\x04\x08\x02\0\x03\x12\x04\x82\x02\x12\x13\n\xb4\x03\n\ + \x04\x04\x08\x02\x01\x12\x04\x89\x02\x02$\x1a\xa5\x03\x20(optional,\x20b\ + ut\x20strongly\x20recommended)\x20The\x20markdown-formatted\x20documenta\ + tion\n\x20for\x20this\x20symbol.\x20Use\x20`SymbolInformation.signature_\ + documentation`\x20to\n\x20document\x20the\x20method/class/type\x20signat\ + ure\x20of\x20this\x20symbol.\n\x20Due\x20to\x20historical\x20reasons,\ + \x20indexers\x20may\x20include\x20signature\x20documentation\x20in\n\x20\ + this\x20field\x20by\x20rendering\x20markdown\x20code\x20blocks.\x20New\ + \x20indexers\x20should\x20only\n\x20include\x20non-code\x20documentation\ + \x20in\x20this\x20field,\x20for\x20example\x20docstrings.\n\n\r\n\x05\ + \x04\x08\x02\x01\x04\x12\x04\x89\x02\x02\n\n\r\n\x05\x04\x08\x02\x01\x05\ + \x12\x04\x89\x02\x0b\x11\n\r\n\x05\x04\x08\x02\x01\x01\x12\x04\x89\x02\ + \x12\x1f\n\r\n\x05\x04\x08\x02\x01\x03\x12\x04\x89\x02\"#\n^\n\x04\x04\ + \x08\x02\x02\x12\x04\x8b\x02\x02*\x1aP\x20(optional)\x20Relationships\ + \x20to\x20other\x20symbols\x20(e.g.,\x20implements,\x20type\x20definitio\ + n).\n\n\r\n\x05\x04\x08\x02\x02\x04\x12\x04\x8b\x02\x02\n\n\r\n\x05\x04\ + \x08\x02\x02\x06\x12\x04\x8b\x02\x0b\x17\n\r\n\x05\x04\x08\x02\x02\x01\ + \x12\x04\x8b\x02\x18%\n\r\n\x05\x04\x08\x02\x02\x03\x12\x04\x8b\x02()\n\ + \xa4\x01\n\x04\x04\x08\x02\x03\x12\x04\x8f\x02\x02\x10\x1a\x95\x01\x20Th\ + e\x20kind\x20of\x20this\x20symbol.\x20Use\x20this\x20field\x20instead\ + \x20of\n\x20`SymbolDescriptor.Suffix`\x20to\x20determine\x20whether\x20s\ + omething\x20is,\x20for\x20example,\x20a\n\x20class\x20or\x20a\x20method.\ + \n\n\r\n\x05\x04\x08\x02\x03\x06\x12\x04\x8f\x02\x02\x06\n\r\n\x05\x04\ + \x08\x02\x03\x01\x12\x04\x8f\x02\x07\x0b\n\r\n\x05\x04\x08\x02\x03\x03\ + \x12\x04\x8f\x02\x0e\x0f\n\xf5\x05\n\x04\x04\x08\x04\0\x12\x06\x9e\x02\ + \x02\xad\x03\x03\x1a\xe4\x05\x20(optional)\x20Kind\x20represents\x20the\ + \x20fine-grained\x20category\x20of\x20a\x20symbol,\x20suitable\x20for\ + \x20presenting\n\x20information\x20about\x20the\x20symbol's\x20meaning\ + \x20in\x20the\x20language.\n\n\x20For\x20example:\n\x20-\x20A\x20Java\ + \x20method\x20would\x20have\x20the\x20kind\x20`Method`\x20while\x20a\x20\ + Go\x20function\x20would\n\x20\x20\x20have\x20the\x20kind\x20`Function`,\ + \x20even\x20if\x20the\x20symbols\x20for\x20these\x20use\x20the\x20same\n\ + \x20\x20\x20syntax\x20for\x20the\x20descriptor\x20`SymbolDescriptor.Suff\ + ix.Method`.\n\x20-\x20A\x20Go\x20struct\x20has\x20the\x20symbol\x20kind\ + \x20`Struct`\x20while\x20a\x20Java\x20class\x20has\n\x20\x20\x20the\x20s\ + ymbol\x20kind\x20`Class`\x20even\x20if\x20they\x20both\x20have\x20the\ + \x20same\x20descriptor:\n\x20\x20\x20`SymbolDescriptor.Suffix.Type`.\n\n\ + \x20Since\x20Kind\x20is\x20more\x20fine-grained\x20than\x20Suffix:\n\x20\ + -\x20If\x20two\x20symbols\x20have\x20the\x20same\x20Kind,\x20they\x20sho\ + uld\x20share\x20the\x20same\x20Suffix.\n\x20-\x20If\x20two\x20symbols\ + \x20have\x20different\x20Suffixes,\x20they\x20should\x20have\x20differen\ + t\x20Kinds.\n\n\r\n\x05\x04\x08\x04\0\x01\x12\x04\x9e\x02\x07\x0b\n\x0e\ + \n\x06\x04\x08\x04\0\x02\0\x12\x04\x9f\x02\x04\x18\n\x0f\n\x07\x04\x08\ + \x04\0\x02\0\x01\x12\x04\x9f\x02\x04\x13\n\x0f\n\x07\x04\x08\x04\0\x02\0\ + \x02\x12\x04\x9f\x02\x16\x17\nR\n\x06\x04\x08\x04\0\x02\x01\x12\x04\xa1\ + \x02\x04\x18\x1aB\x20A\x20method\x20which\x20may\x20or\x20may\x20not\x20\ + have\x20a\x20body.\x20For\x20Java,\x20Kotlin\x20etc.\n\n\x0f\n\x07\x04\ + \x08\x04\0\x02\x01\x01\x12\x04\xa1\x02\x04\x12\n\x0f\n\x07\x04\x08\x04\0\ + \x02\x01\x02\x12\x04\xa1\x02\x15\x17\n*\n\x06\x04\x08\x04\0\x02\x02\x12\ + \x04\xa3\x02\x04\x12\x1a\x1a\x20For\x20Ruby's\x20attr_accessor\n\n\x0f\n\ + \x07\x04\x08\x04\0\x02\x02\x01\x12\x04\xa3\x02\x04\x0c\n\x0f\n\x07\x04\ + \x08\x04\0\x02\x02\x02\x12\x04\xa3\x02\x0f\x11\n\x0e\n\x06\x04\x08\x04\0\ + \x02\x03\x12\x04\xa4\x02\x04\x0e\n\x0f\n\x07\x04\x08\x04\0\x02\x03\x01\ + \x12\x04\xa4\x02\x04\t\n\x0f\n\x07\x04\x08\x04\0\x02\x03\x02\x12\x04\xa4\ + \x02\x0c\r\n\x1b\n\x06\x04\x08\x04\0\x02\x04\x12\x04\xa6\x02\x04\x12\x1a\ + \x0b\x20For\x20Alloy\n\n\x0f\n\x07\x04\x08\x04\0\x02\x04\x01\x12\x04\xa6\ + \x02\x04\r\n\x0f\n\x07\x04\x08\x04\0\x02\x04\x02\x12\x04\xa6\x02\x10\x11\ + \n\x0e\n\x06\x04\x08\x04\0\x02\x05\x12\x04\xa7\x02\x04\x17\n\x0f\n\x07\ + \x04\x08\x04\0\x02\x05\x01\x12\x04\xa7\x02\x04\x12\n\x0f\n\x07\x04\x08\ + \x04\0\x02\x05\x02\x12\x04\xa7\x02\x15\x16\n\x19\n\x06\x04\x08\x04\0\x02\ + \x06\x12\x04\xa9\x02\x04\x12\x1a\t\x20For\x20C++\n\n\x0f\n\x07\x04\x08\ + \x04\0\x02\x06\x01\x12\x04\xa9\x02\x04\r\n\x0f\n\x07\x04\x08\x04\0\x02\ + \x06\x02\x12\x04\xa9\x02\x10\x11\n\x1a\n\x06\x04\x08\x04\0\x02\x07\x12\ + \x04\xab\x02\x04\x0e\x1a\n\x20For\x20Lean\n\n\x0f\n\x07\x04\x08\x04\0\ + \x02\x07\x01\x12\x04\xab\x02\x04\t\n\x0f\n\x07\x04\x08\x04\0\x02\x07\x02\ + \x12\x04\xab\x02\x0c\r\n\x0e\n\x06\x04\x08\x04\0\x02\x08\x12\x04\xac\x02\ + \x04\x10\n\x0f\n\x07\x04\x08\x04\0\x02\x08\x01\x12\x04\xac\x02\x04\x0b\n\ + \x0f\n\x07\x04\x08\x04\0\x02\x08\x02\x12\x04\xac\x02\x0e\x0f\n\x0e\n\x06\ + \x04\x08\x04\0\x02\t\x12\x04\xad\x02\x04\x0e\n\x0f\n\x07\x04\x08\x04\0\ + \x02\t\x01\x12\x04\xad\x02\x04\t\n\x0f\n\x07\x04\x08\x04\0\x02\t\x02\x12\ + \x04\xad\x02\x0c\r\n\x19\n\x06\x04\x08\x04\0\x02\n\x12\x04\xaf\x02\x04\ + \x11\x1a\t\x20For\x20C++\n\n\x0f\n\x07\x04\x08\x04\0\x02\n\x01\x12\x04\ + \xaf\x02\x04\x0b\n\x0f\n\x07\x04\x08\x04\0\x02\n\x02\x12\x04\xaf\x02\x0e\ + \x10\n\x0e\n\x06\x04\x08\x04\0\x02\x0b\x12\x04\xb0\x02\x04\x11\n\x0f\n\ + \x07\x04\x08\x04\0\x02\x0b\x01\x12\x04\xb0\x02\x04\x0c\n\x0f\n\x07\x04\ + \x08\x04\0\x02\x0b\x02\x12\x04\xb0\x02\x0f\x10\n\x0e\n\x06\x04\x08\x04\0\ + \x02\x0c\x12\x04\xb1\x02\x04\x14\n\x0f\n\x07\x04\x08\x04\0\x02\x0c\x01\ + \x12\x04\xb1\x02\x04\x0f\n\x0f\n\x07\x04\x08\x04\0\x02\x0c\x02\x12\x04\ + \xb1\x02\x12\x13\n\x1e\n\x06\x04\x08\x04\0\x02\r\x12\x04\xb3\x02\x04\x12\ + \x1a\x0e\x20For\x20Solidity\n\n\x0f\n\x07\x04\x08\x04\0\x02\r\x01\x12\ + \x04\xb3\x02\x04\x0c\n\x0f\n\x07\x04\x08\x04\0\x02\r\x02\x12\x04\xb3\x02\ + \x0f\x11\n\x1d\n\x06\x04\x08\x04\0\x02\x0e\x12\x04\xb5\x02\x04\x14\x1a\r\ + \x20For\x20Haskell\n\n\x0f\n\x07\x04\x08\x04\0\x02\x0e\x01\x12\x04\xb5\ + \x02\x04\x0e\n\x0f\n\x07\x04\x08\x04\0\x02\x0e\x02\x12\x04\xb5\x02\x11\ + \x13\n\x1f\n\x06\x04\x08\x04\0\x02\x0f\x12\x04\xb7\x02\x04\x12\x1a\x0f\ + \x20For\x20C#\x20and\x20F#\n\n\x0f\n\x07\x04\x08\x04\0\x02\x0f\x01\x12\ + \x04\xb7\x02\x04\x0c\n\x0f\n\x07\x04\x08\x04\0\x02\x0f\x02\x12\x04\xb7\ + \x02\x0f\x11\n\x0e\n\x06\x04\x08\x04\0\x02\x10\x12\x04\xb8\x02\x04\x0e\n\ + \x0f\n\x07\x04\x08\x04\0\x02\x10\x01\x12\x04\xb8\x02\x04\x08\n\x0f\n\x07\ + \x04\x08\x04\0\x02\x10\x02\x12\x04\xb8\x02\x0b\r\n\x0e\n\x06\x04\x08\x04\ + \0\x02\x11\x12\x04\xb9\x02\x04\x14\n\x0f\n\x07\x04\x08\x04\0\x02\x11\x01\ + \x12\x04\xb9\x02\x04\x0e\n\x0f\n\x07\x04\x08\x04\0\x02\x11\x02\x12\x04\ + \xb9\x02\x11\x13\n\x0e\n\x06\x04\x08\x04\0\x02\x12\x12\x04\xba\x02\x04\ + \x0f\n\x0f\n\x07\x04\x08\x04\0\x02\x12\x01\x12\x04\xba\x02\x04\t\n\x0f\n\ + \x07\x04\x08\x04\0\x02\x12\x02\x12\x04\xba\x02\x0c\x0e\n\x0e\n\x06\x04\ + \x08\x04\0\x02\x13\x12\x04\xbb\x02\x04\x0f\n\x0f\n\x07\x04\x08\x04\0\x02\ + \x13\x01\x12\x04\xbb\x02\x04\t\n\x0f\n\x07\x04\x08\x04\0\x02\x13\x02\x12\ + \x04\xbb\x02\x0c\x0e\n\x1a\n\x06\x04\x08\x04\0\x02\x14\x12\x04\xbd\x02\ + \x04\x13\x1a\n\x20For\x20Dart\n\n\x0f\n\x07\x04\x08\x04\0\x02\x14\x01\ + \x12\x04\xbd\x02\x04\r\n\x0f\n\x07\x04\x08\x04\0\x02\x14\x02\x12\x04\xbd\ + \x02\x10\x12\n\x1b\n\x06\x04\x08\x04\0\x02\x15\x12\x04\xbf\x02\x04\x0e\ + \x1a\x0b\x20For\x20Alloy\n\n\x0f\n\x07\x04\x08\x04\0\x02\x15\x01\x12\x04\ + \xbf\x02\x04\x08\n\x0f\n\x07\x04\x08\x04\0\x02\x15\x02\x12\x04\xbf\x02\ + \x0b\r\n\x0e\n\x06\x04\x08\x04\0\x02\x16\x12\x04\xc0\x02\x04\x0f\n\x0f\n\ + \x07\x04\x08\x04\0\x02\x16\x01\x12\x04\xc0\x02\x04\t\n\x0f\n\x07\x04\x08\ + \x04\0\x02\x16\x02\x12\x04\xc0\x02\x0c\x0e\n\x0e\n\x06\x04\x08\x04\0\x02\ + \x17\x12\x04\xc1\x02\x04\x0e\n\x0f\n\x07\x04\x08\x04\0\x02\x17\x01\x12\ + \x04\xc1\x02\x04\x08\n\x0f\n\x07\x04\x08\x04\0\x02\x17\x02\x12\x04\xc1\ + \x02\x0b\r\n\x0e\n\x06\x04\x08\x04\0\x02\x18\x12\x04\xc2\x02\x04\x12\n\ + \x0f\n\x07\x04\x08\x04\0\x02\x18\x01\x12\x04\xc2\x02\x04\x0c\n\x0f\n\x07\ + \x04\x08\x04\0\x02\x18\x02\x12\x04\xc2\x02\x0f\x11\n;\n\x06\x04\x08\x04\ + \0\x02\x19\x12\x04\xc4\x02\x04\x10\x1a+\x20For\x20'get'\x20in\x20Swift,\ + \x20'attr_reader'\x20in\x20Ruby\n\n\x0f\n\x07\x04\x08\x04\0\x02\x19\x01\ + \x12\x04\xc4\x02\x04\n\n\x0f\n\x07\x04\x08\x04\0\x02\x19\x02\x12\x04\xc4\ + \x02\r\x0f\n\x1a\n\x06\x04\x08\x04\0\x02\x1a\x12\x04\xc6\x02\x04\x11\x1a\ + \n\x20For\x20Raku\n\n\x0f\n\x07\x04\x08\x04\0\x02\x1a\x01\x12\x04\xc6\ + \x02\x04\x0b\n\x0f\n\x07\x04\x08\x04\0\x02\x1a\x02\x12\x04\xc6\x02\x0e\ + \x10\n)\n\x06\x04\x08\x04\0\x02\x1b\x12\x04\xc8\x02\x04\x12\x1a\x19\x20F\ + or\x20Purescript\x20and\x20Lean\n\n\x0f\n\x07\x04\x08\x04\0\x02\x1b\x01\ + \x12\x04\xc8\x02\x04\x0c\n\x0f\n\x07\x04\x08\x04\0\x02\x1b\x02\x12\x04\ + \xc8\x02\x0f\x11\n\x0e\n\x06\x04\x08\x04\0\x02\x1c\x12\x04\xc9\x02\x04\ + \x13\n\x0f\n\x07\x04\x08\x04\0\x02\x1c\x01\x12\x04\xc9\x02\x04\r\n\x0f\n\ + \x07\x04\x08\x04\0\x02\x1c\x02\x12\x04\xc9\x02\x10\x12\n\x0e\n\x06\x04\ + \x08\x04\0\x02\x1d\x12\x04\xca\x02\x04\r\n\x0f\n\x07\x04\x08\x04\0\x02\ + \x1d\x01\x12\x04\xca\x02\x04\x07\n\x0f\n\x07\x04\x08\x04\0\x02\x1d\x02\ + \x12\x04\xca\x02\n\x0c\n\x1c\n\x06\x04\x08\x04\0\x02\x1e\x12\x04\xcc\x02\ + \x04\x0e\x1a\x0c\x20For\x20Racket\n\n\x0f\n\x07\x04\x08\x04\0\x02\x1e\ + \x01\x12\x04\xcc\x02\x04\x08\n\x0f\n\x07\x04\x08\x04\0\x02\x1e\x02\x12\ + \x04\xcc\x02\x0b\r\n\x1a\n\x06\x04\x08\x04\0\x02\x1f\x12\x04\xce\x02\x04\ + \x0f\x1a\n\x20For\x20Lean\n\n\x0f\n\x07\x04\x08\x04\0\x02\x1f\x01\x12\ + \x04\xce\x02\x04\t\n\x0f\n\x07\x04\x08\x04\0\x02\x1f\x02\x12\x04\xce\x02\ + \x0c\x0e\n\x1e\n\x06\x04\x08\x04\0\x02\x20\x12\x04\xd0\x02\x04\x11\x1a\ + \x0e\x20For\x20solidity\n\n\x0f\n\x07\x04\x08\x04\0\x02\x20\x01\x12\x04\ + \xd0\x02\x04\x0b\n\x0f\n\x07\x04\x08\x04\0\x02\x20\x02\x12\x04\xd0\x02\ + \x0e\x10\n\x0e\n\x06\x04\x08\x04\0\x02!\x12\x04\xd1\x02\x04\x0f\n\x0f\n\ + \x07\x04\x08\x04\0\x02!\x01\x12\x04\xd1\x02\x04\t\n\x0f\n\x07\x04\x08\ + \x04\0\x02!\x02\x12\x04\xd1\x02\x0c\x0e\n\x0e\n\x06\x04\x08\x04\0\x02\"\ + \x12\x04\xd2\x02\x04\x10\n\x0f\n\x07\x04\x08\x04\0\x02\"\x01\x12\x04\xd2\ + \x02\x04\n\n\x0f\n\x07\x04\x08\x04\0\x02\"\x02\x12\x04\xd2\x02\r\x0f\n\ + \x1a\n\x06\x04\x08\x04\0\x02#\x12\x04\xd4\x02\x04\x15\x1a\n\x20For\x20Ru\ + by\n\n\x0f\n\x07\x04\x08\x04\0\x02#\x01\x12\x04\xd4\x02\x04\x0f\n\x0f\n\ + \x07\x04\x08\x04\0\x02#\x02\x12\x04\xd4\x02\x12\x14\n\x94\x01\n\x06\x04\ + \x08\x04\0\x02$\x12\x04\xd7\x02\x04\x18\x1a\x83\x01\x20Analogous\x20to\ + \x20'ThisParameter'\x20and\x20'SelfParameter',\x20but\x20for\x20language\ + s\n\x20like\x20Go\x20where\x20the\x20receiver\x20doesn't\x20have\x20a\ + \x20conventional\x20name.\n\n\x0f\n\x07\x04\x08\x04\0\x02$\x01\x12\x04\ + \xd7\x02\x04\x12\n\x0f\n\x07\x04\x08\x04\0\x02$\x02\x12\x04\xd7\x02\x15\ + \x17\n8\n\x06\x04\x08\x04\0\x02%\x12\x04\xd9\x02\x04\x1d\x1a(\x20Analogo\ + us\x20to\x20'AbstractMethod',\x20for\x20Go.\n\n\x0f\n\x07\x04\x08\x04\0\ + \x02%\x01\x12\x04\xd9\x02\x04\x17\n\x0f\n\x07\x04\x08\x04\0\x02%\x02\x12\ + \x04\xd9\x02\x1a\x1c\n\x1e\n\x06\x04\x08\x04\0\x02&\x12\x04\xdb\x02\x04\ + \x11\x1a\x0e\x20For\x20Protobuf\n\n\x0f\n\x07\x04\x08\x04\0\x02&\x01\x12\ + \x04\xdb\x02\x04\x0b\n\x0f\n\x07\x04\x08\x04\0\x02&\x02\x12\x04\xdb\x02\ + \x0e\x10\n\x1a\n\x06\x04\x08\x04\0\x02'\x12\x04\xdd\x02\x04\x0f\x1a\n\ + \x20For\x20Dart\n\n\x0f\n\x07\x04\x08\x04\0\x02'\x01\x12\x04\xdd\x02\x04\ + \t\n\x0f\n\x07\x04\x08\x04\0\x02'\x02\x12\x04\xdd\x02\x0c\x0e\n\x1e\n\ + \x06\x04\x08\x04\0\x02(\x12\x04\xdf\x02\x04\x12\x1a\x0e\x20For\x20Solidi\ + ty\n\n\x0f\n\x07\x04\x08\x04\0\x02(\x01\x12\x04\xdf\x02\x04\x0c\n\x0f\n\ + \x07\x04\x08\x04\0\x02(\x02\x12\x04\xdf\x02\x0f\x11\n\x0e\n\x06\x04\x08\ + \x04\0\x02)\x12\x04\xe0\x02\x04\x10\n\x0f\n\x07\x04\x08\x04\0\x02)\x01\ + \x12\x04\xe0\x02\x04\n\n\x0f\n\x07\x04\x08\x04\0\x02)\x02\x12\x04\xe0\ + \x02\r\x0f\n\x0e\n\x06\x04\x08\x04\0\x02*\x12\x04\xe1\x02\x04\x13\n\x0f\ + \n\x07\x04\x08\x04\0\x02*\x01\x12\x04\xe1\x02\x04\r\n\x0f\n\x07\x04\x08\ + \x04\0\x02*\x02\x12\x04\xe1\x02\x10\x12\n\x0e\n\x06\x04\x08\x04\0\x02+\ + \x12\x04\xe2\x02\x04\x0e\n\x0f\n\x07\x04\x08\x04\0\x02+\x01\x12\x04\xe2\ + \x02\x04\x08\n\x0f\n\x07\x04\x08\x04\0\x02+\x02\x12\x04\xe2\x02\x0b\r\n\ + \x0e\n\x06\x04\x08\x04\0\x02,\x12\x04\xe3\x02\x04\x10\n\x0f\n\x07\x04\ + \x08\x04\0\x02,\x01\x12\x04\xe3\x02\x04\n\n\x0f\n\x07\x04\x08\x04\0\x02,\ + \x02\x12\x04\xe3\x02\r\x0f\n\x0e\n\x06\x04\x08\x04\0\x02-\x12\x04\xe4\ + \x02\x04\x10\n\x0f\n\x07\x04\x08\x04\0\x02-\x01\x12\x04\xe4\x02\x04\n\n\ + \x0f\n\x07\x04\x08\x04\0\x02-\x02\x12\x04\xe4\x02\r\x0f\n\x0e\n\x06\x04\ + \x08\x04\0\x02.\x12\x04\xe5\x02\x04\x12\n\x0f\n\x07\x04\x08\x04\0\x02.\ + \x01\x12\x04\xe5\x02\x04\x0c\n\x0f\n\x07\x04\x08\x04\0\x02.\x02\x12\x04\ + \xe5\x02\x0f\x11\n\x0e\n\x06\x04\x08\x04\0\x02/\x12\x04\xe6\x02\x04\x11\ + \n\x0f\n\x07\x04\x08\x04\0\x02/\x01\x12\x04\xe6\x02\x04\x0b\n\x0f\n\x07\ + \x04\x08\x04\0\x02/\x02\x12\x04\xe6\x02\x0e\x10\n\x0e\n\x06\x04\x08\x04\ + \0\x020\x12\x04\xe7\x02\x04\x17\n\x0f\n\x07\x04\x08\x04\0\x020\x01\x12\ + \x04\xe7\x02\x04\x11\n\x0f\n\x07\x04\x08\x04\0\x020\x02\x12\x04\xe7\x02\ + \x14\x16\n\x0e\n\x06\x04\x08\x04\0\x021\x12\x04\xe8\x02\x04\x13\n\x0f\n\ + \x07\x04\x08\x04\0\x021\x01\x12\x04\xe8\x02\x04\r\n\x0f\n\x07\x04\x08\ + \x04\0\x021\x02\x12\x04\xe8\x02\x10\x12\n\x0e\n\x06\x04\x08\x04\0\x022\ + \x12\x04\xe9\x02\x04\x18\n\x0f\n\x07\x04\x08\x04\0\x022\x01\x12\x04\xe9\ + \x02\x04\x12\n\x0f\n\x07\x04\x08\x04\0\x022\x02\x12\x04\xe9\x02\x15\x17\ + \n/\n\x06\x04\x08\x04\0\x023\x12\x04\xeb\x02\x04\x11\x1a\x1f\x20For\x20H\ + askell's\x20PatternSynonyms\n\n\x0f\n\x07\x04\x08\x04\0\x023\x01\x12\x04\ + \xeb\x02\x04\x0b\n\x0f\n\x07\x04\x08\x04\0\x023\x02\x12\x04\xeb\x02\x0e\ + \x10\n\x1b\n\x06\x04\x08\x04\0\x024\x12\x04\xed\x02\x04\x13\x1a\x0b\x20F\ + or\x20Alloy\n\n\x0f\n\x07\x04\x08\x04\0\x024\x01\x12\x04\xed\x02\x04\r\n\ + \x0f\n\x07\x04\x08\x04\0\x024\x02\x12\x04\xed\x02\x10\x12\n\x0e\n\x06\ + \x04\x08\x04\0\x025\x12\x04\xee\x02\x04\x12\n\x0f\n\x07\x04\x08\x04\0\ + \x025\x01\x12\x04\xee\x02\x04\x0c\n\x0f\n\x07\x04\x08\x04\0\x025\x02\x12\ + \x04\xee\x02\x0f\x11\nQ\n\x06\x04\x08\x04\0\x026\x12\x04\xf0\x02\x04\x12\ + \x1aA\x20Analogous\x20to\x20'Trait'\x20and\x20'TypeClass',\x20for\x20Swi\ + ft\x20and\x20Objective-C\n\n\x0f\n\x07\x04\x08\x04\0\x026\x01\x12\x04\ + \xf0\x02\x04\x0c\n\x0f\n\x07\x04\x08\x04\0\x026\x02\x12\x04\xf0\x02\x0f\ + \x11\nK\n\x06\x04\x08\x04\0\x027\x12\x04\xf2\x02\x04\x18\x1a;\x20Analogo\ + us\x20to\x20'AbstractMethod',\x20for\x20Swift\x20and\x20Objective-C.\n\n\ + \x0f\n\x07\x04\x08\x04\0\x027\x01\x12\x04\xf2\x02\x04\x12\n\x0f\n\x07\ + \x04\x08\x04\0\x027\x02\x12\x04\xf2\x02\x15\x17\n9\n\x06\x04\x08\x04\0\ + \x028\x12\x04\xf4\x02\x04\x1b\x1a)\x20Analogous\x20to\x20'AbstractMethod\ + ',\x20for\x20C++.\n\n\x0f\n\x07\x04\x08\x04\0\x028\x01\x12\x04\xf4\x02\ + \x04\x15\n\x0f\n\x07\x04\x08\x04\0\x028\x02\x12\x04\xf4\x02\x18\x1a\n\ + \x1d\n\x06\x04\x08\x04\0\x029\x12\x04\xf6\x02\x04\x15\x1a\r\x20For\x20Ha\ + skell\n\n\x0f\n\x07\x04\x08\x04\0\x029\x01\x12\x04\xf6\x02\x04\x0f\n\x0f\ + \n\x07\x04\x08\x04\0\x029\x02\x12\x04\xf6\x02\x12\x14\n4\n\x06\x04\x08\ + \x04\0\x02:\x12\x04\xf8\x02\x04\x17\x1a$\x20'self'\x20in\x20Python,\x20R\ + ust,\x20Swift\x20etc.\n\n\x0f\n\x07\x04\x08\x04\0\x02:\x01\x12\x04\xf8\ + \x02\x04\x11\n\x0f\n\x07\x04\x08\x04\0\x02:\x02\x12\x04\xf8\x02\x14\x16\ + \n;\n\x06\x04\x08\x04\0\x02;\x12\x04\xfa\x02\x04\x10\x1a+\x20For\x20'set\ + '\x20in\x20Swift,\x20'attr_writer'\x20in\x20Ruby\n\n\x0f\n\x07\x04\x08\ + \x04\0\x02;\x01\x12\x04\xfa\x02\x04\n\n\x0f\n\x07\x04\x08\x04\0\x02;\x02\ + \x12\x04\xfa\x02\r\x0f\n3\n\x06\x04\x08\x04\0\x02<\x12\x04\xfc\x02\x04\ + \x13\x1a#\x20For\x20Alloy,\x20analogous\x20to\x20'Struct'.\n\n\x0f\n\x07\ + \x04\x08\x04\0\x02<\x01\x12\x04\xfc\x02\x04\r\n\x0f\n\x07\x04\x08\x04\0\ + \x02<\x02\x12\x04\xfc\x02\x10\x12\n\x1a\n\x06\x04\x08\x04\0\x02=\x12\x04\ + \xfe\x02\x04\x18\x1a\n\x20For\x20Ruby\n\n\x0f\n\x07\x04\x08\x04\0\x02=\ + \x01\x12\x04\xfe\x02\x04\x12\n\x0f\n\x07\x04\x08\x04\0\x02=\x02\x12\x04\ + \xfe\x02\x15\x17\n8\n\x06\x04\x08\x04\0\x02>\x12\x04\x80\x03\x04\x19\x1a\ + (\x20Analogous\x20to\x20'StaticMethod',\x20for\x20Ruby.\n\n\x0f\n\x07\ + \x04\x08\x04\0\x02>\x01\x12\x04\x80\x03\x04\x13\n\x0f\n\x07\x04\x08\x04\ + \0\x02>\x02\x12\x04\x80\x03\x16\x18\n5\n\x06\x04\x08\x04\0\x02?\x12\x04\ + \x82\x03\x04\x1a\x1a%\x20Analogous\x20to\x20'StaticField',\x20for\x20C++\ + \n\n\x0f\n\x07\x04\x08\x04\0\x02?\x01\x12\x04\x82\x03\x04\x14\n\x0f\n\ + \x07\x04\x08\x04\0\x02?\x02\x12\x04\x82\x03\x17\x19\n\x18\n\x06\x04\x08\ + \x04\0\x02@\x12\x04\x84\x03\x04\x15\x1a\x08\x20For\x20C#\n\n\x0f\n\x07\ + \x04\x08\x04\0\x02@\x01\x12\x04\x84\x03\x04\x0f\n\x0f\n\x07\x04\x08\x04\ + \0\x02@\x02\x12\x04\x84\x03\x12\x14\n\x18\n\x06\x04\x08\x04\0\x02A\x12\ + \x04\x86\x03\x04\x15\x1a\x08\x20For\x20C#\n\n\x0f\n\x07\x04\x08\x04\0\ + \x02A\x01\x12\x04\x86\x03\x04\x0f\n\x0f\n\x07\x04\x08\x04\0\x02A\x02\x12\ + \x04\x86\x03\x12\x14\n(\n\x06\x04\x08\x04\0\x02B\x12\x04\x88\x03\x04\x16\ + \x1a\x18\x20For\x20Java,\x20C#,\x20C++\x20etc.\n\n\x0f\n\x07\x04\x08\x04\ + \0\x02B\x01\x12\x04\x88\x03\x04\x10\n\x0f\n\x07\x04\x08\x04\0\x02B\x02\ + \x12\x04\x88\x03\x13\x15\n)\n\x06\x04\x08\x04\0\x02C\x12\x04\x8a\x03\x04\ + \x18\x1a\x19\x20For\x20C#,\x20TypeScript\x20etc.\n\n\x0f\n\x07\x04\x08\ + \x04\0\x02C\x01\x12\x04\x8a\x03\x04\x12\n\x0f\n\x07\x04\x08\x04\0\x02C\ + \x02\x12\x04\x8a\x03\x15\x17\n\x1c\n\x06\x04\x08\x04\0\x02D\x12\x04\x8c\ + \x03\x04\x18\x1a\x0c\x20For\x20C,\x20C++\n\n\x0f\n\x07\x04\x08\x04\0\x02\ + D\x01\x12\x04\x8c\x03\x04\x12\n\x0f\n\x07\x04\x08\x04\0\x02D\x02\x12\x04\ + \x8c\x03\x15\x17\n\x0e\n\x06\x04\x08\x04\0\x02E\x12\x04\x8d\x03\x04\x10\ + \n\x0f\n\x07\x04\x08\x04\0\x02E\x01\x12\x04\x8d\x03\x04\n\n\x0f\n\x07\ + \x04\x08\x04\0\x02E\x02\x12\x04\x8d\x03\r\x0f\n\x0e\n\x06\x04\x08\x04\0\ + \x02F\x12\x04\x8e\x03\x04\x10\n\x0f\n\x07\x04\x08\x04\0\x02F\x01\x12\x04\ + \x8e\x03\x04\n\n\x0f\n\x07\x04\x08\x04\0\x02F\x02\x12\x04\x8e\x03\r\x0f\ + \n\x1b\n\x06\x04\x08\x04\0\x02G\x12\x04\x90\x03\x04\x13\x1a\x0b\x20For\ + \x20Swift\n\n\x0f\n\x07\x04\x08\x04\0\x02G\x01\x12\x04\x90\x03\x04\r\n\ + \x0f\n\x07\x04\x08\x04\0\x02G\x02\x12\x04\x90\x03\x10\x12\n\x1a\n\x06\ + \x04\x08\x04\0\x02H\x12\x04\x92\x03\x04\x10\x1a\n\x20For\x20Lean\n\n\x0f\ + \n\x07\x04\x08\x04\0\x02H\x01\x12\x04\x92\x03\x04\n\n\x0f\n\x07\x04\x08\ + \x04\0\x02H\x02\x12\x04\x92\x03\r\x0f\n\x1a\n\x06\x04\x08\x04\0\x02I\x12\ + \x04\x94\x03\x04\x11\x1a\n\x20For\x20Lean\n\n\x0f\n\x07\x04\x08\x04\0\ + \x02I\x01\x12\x04\x94\x03\x04\x0b\n\x0f\n\x07\x04\x08\x04\0\x02I\x02\x12\ + \x04\x94\x03\x0e\x10\nU\n\x06\x04\x08\x04\0\x02J\x12\x04\x97\x03\x04\x17\ + \x1aE\x20Method\x20receiver\x20for\x20languages\n\x20'this'\x20in\x20Jav\ + aScript,\x20C++,\x20Java\x20etc.\n\n\x0f\n\x07\x04\x08\x04\0\x02J\x01\ + \x12\x04\x97\x03\x04\x11\n\x0f\n\x07\x04\x08\x04\0\x02J\x02\x12\x04\x97\ + \x03\x14\x16\nO\n\x06\x04\x08\x04\0\x02K\x12\x04\x99\x03\x04\x0f\x1a?\ + \x20Analogous\x20to\x20'Protocol'\x20and\x20'TypeClass',\x20for\x20Rust,\ + \x20Scala\x20etc.\n\n\x0f\n\x07\x04\x08\x04\0\x02K\x01\x12\x04\x99\x03\ + \x04\t\n\x0f\n\x07\x04\x08\x04\0\x02K\x02\x12\x04\x99\x03\x0c\x0e\nE\n\ + \x06\x04\x08\x04\0\x02L\x12\x04\x9b\x03\x04\x15\x1a5\x20Analogous\x20to\ + \x20'AbstractMethod',\x20for\x20Rust,\x20Scala\x20etc.\n\n\x0f\n\x07\x04\ + \x08\x04\0\x02L\x01\x12\x04\x9b\x03\x04\x0f\n\x0f\n\x07\x04\x08\x04\0\ + \x02L\x02\x12\x04\x9b\x03\x12\x14\n\x89\x01\n\x06\x04\x08\x04\0\x02M\x12\ + \x04\x9e\x03\x04\x0e\x1ay\x20Data\x20type\x20definition\x20for\x20langua\ + ges\x20like\x20OCaml\x20which\x20use\x20`type`\n\x20rather\x20than\x20se\ + parate\x20keywords\x20like\x20`struct`\x20and\x20`enum`.\n\n\x0f\n\x07\ + \x04\x08\x04\0\x02M\x01\x12\x04\x9e\x03\x04\x08\n\x0f\n\x07\x04\x08\x04\ + \0\x02M\x02\x12\x04\x9e\x03\x0b\r\n\x0e\n\x06\x04\x08\x04\0\x02N\x12\x04\ + \x9f\x03\x04\x13\n\x0f\n\x07\x04\x08\x04\0\x02N\x01\x12\x04\x9f\x03\x04\ + \r\n\x0f\n\x07\x04\x08\x04\0\x02N\x02\x12\x04\x9f\x03\x10\x12\nS\n\x06\ + \x04\x08\x04\0\x02O\x12\x04\xa1\x03\x04\x13\x1aC\x20Analogous\x20to\x20'\ + Trait'\x20and\x20'Protocol',\x20for\x20Haskell,\x20Purescript\x20etc.\n\ + \n\x0f\n\x07\x04\x08\x04\0\x02O\x01\x12\x04\xa1\x03\x04\r\n\x0f\n\x07\ + \x04\x08\x04\0\x02O\x02\x12\x04\xa1\x03\x10\x12\nM\n\x06\x04\x08\x04\0\ + \x02P\x12\x04\xa3\x03\x04\x19\x1a=\x20Analogous\x20to\x20'AbstractMethod\ + ',\x20for\x20Haskell,\x20Purescript\x20etc.\n\n\x0f\n\x07\x04\x08\x04\0\ + \x02P\x01\x12\x04\xa3\x03\x04\x13\n\x0f\n\x07\x04\x08\x04\0\x02P\x02\x12\ + \x04\xa3\x03\x16\x18\n\x1d\n\x06\x04\x08\x04\0\x02Q\x12\x04\xa5\x03\x04\ + \x14\x1a\r\x20For\x20Haskell\n\n\x0f\n\x07\x04\x08\x04\0\x02Q\x01\x12\ + \x04\xa5\x03\x04\x0e\n\x0f\n\x07\x04\x08\x04\0\x02Q\x02\x12\x04\xa5\x03\ + \x11\x13\n\x0e\n\x06\x04\x08\x04\0\x02R\x12\x04\xa6\x03\x04\x17\n\x0f\n\ + \x07\x04\x08\x04\0\x02R\x01\x12\x04\xa6\x03\x04\x11\n\x0f\n\x07\x04\x08\ + \x04\0\x02R\x02\x12\x04\xa6\x03\x14\x16\n(\n\x06\x04\x08\x04\0\x02S\x12\ + \x04\xa8\x03\x04\x0f\x1a\x18\x20For\x20C,\x20C++,\x20Capn\x20Proto\n\n\ + \x0f\n\x07\x04\x08\x04\0\x02S\x01\x12\x04\xa8\x03\x04\t\n\x0f\n\x07\x04\ + \x08\x04\0\x02S\x02\x12\x04\xa8\x03\x0c\x0e\n\x0e\n\x06\x04\x08\x04\0\ + \x02T\x12\x04\xa9\x03\x04\x0f\n\x0f\n\x07\x04\x08\x04\0\x02T\x01\x12\x04\ + \xa9\x03\x04\t\n\x0f\n\x07\x04\x08\x04\0\x02T\x02\x12\x04\xa9\x03\x0c\ + \x0e\n[\n\x06\x04\x08\x04\0\x02U\x12\x04\xaa\x03\x04\x12\"K\x20Next\x20=\ + \x2087;\n\x20Feel\x20free\x20to\x20open\x20a\x20PR\x20proposing\x20new\ + \x20language-specific\x20kinds.\n\n\x0f\n\x07\x04\x08\x04\0\x02U\x01\x12\ + \x04\xaa\x03\x04\x0c\n\x0f\n\x07\x04\x08\x04\0\x02U\x02\x12\x04\xaa\x03\ + \x0f\x11\n\xf3\x03\n\x04\x04\x08\x02\x04\x12\x04\xb7\x03\x02\x1a\x1a\xe4\ + \x03\x20(optional)\x20The\x20name\x20of\x20this\x20symbol\x20as\x20it\ + \x20should\x20be\x20displayed\x20to\x20the\x20user.\n\x20For\x20example,\ + \x20the\x20symbol\x20\"com/example/MyClass#myMethod(+1).\"\x20should\x20\ + have\x20the\n\x20display\x20name\x20\"myMethod\".\x20The\x20`symbol`\x20\ + field\x20is\x20not\x20a\x20reliable\x20source\x20of\n\x20the\x20display\ + \x20name\x20for\x20several\x20reasons:\n\n\x20-\x20Local\x20symbols\x20d\ + on't\x20encode\x20the\x20name.\n\x20-\x20Some\x20languages\x20have\x20ca\ + se-insensitive\x20names,\x20so\x20the\x20symbol\x20is\x20all-lowercase.\ + \n\x20-\x20The\x20symbol\x20may\x20encode\x20names\x20with\x20special\ + \x20characters\x20that\x20should\x20not\x20be\n\x20\x20\x20displayed\x20\ + to\x20the\x20user.\n\n\r\n\x05\x04\x08\x02\x04\x05\x12\x04\xb7\x03\x02\ + \x08\n\r\n\x05\x04\x08\x02\x04\x01\x12\x04\xb7\x03\t\x15\n\r\n\x05\x04\ + \x08\x02\x04\x03\x12\x04\xb7\x03\x18\x19\n\x9f\x03\n\x04\x04\x08\x02\x05\ + \x12\x04\xbe\x03\x02(\x1a\x90\x03\x20(optional)\x20The\x20signature\x20o\ + f\x20this\x20symbol\x20as\x20it's\x20displayed\x20in\x20API\n\x20documen\ + tation\x20or\x20in\x20hover\x20tooltips.\x20For\x20example,\x20a\x20Java\ + \x20method\x20that\x20adds\n\x20two\x20numbers\x20would\x20have\x20`Sign\ + ature.language\x20=\x20\"java\"`\x20and\n\x20`Signature.text\x20=\x20\"v\ + oid\x20add(int\x20a,\x20int\x20b)\"`.\x20The\x20`language`\x20and\x20`te\ + xt`\n\x20fields\x20are\x20required\x20while\x20`occurrences`\x20can\x20b\ + e\x20optionally\x20included\x20to\n\x20support\x20hyperlinking\x20refere\ + nced\x20symbols\x20in\x20the\x20signature.\n\n\r\n\x05\x04\x08\x02\x05\ + \x06\x12\x04\xbe\x03\x02\x0b\n\r\n\x05\x04\x08\x02\x05\x01\x12\x04\xbe\ + \x03\x0c#\n\r\n\x05\x04\x08\x02\x05\x03\x12\x04\xbe\x03&'\n\xc9\x08\n\ + \x04\x04\x08\x02\x06\x12\x04\xd0\x03\x02\x1e\x1a\xba\x08\x20(optional)\ + \x20The\x20enclosing\x20symbol\x20if\x20this\x20is\x20a\x20local\x20symb\ + ol.\x20\x20For\x20non-local\n\x20symbols,\x20the\x20enclosing\x20symbol\ + \x20should\x20be\x20parsed\x20from\x20the\x20`symbol`\x20field\n\x20usin\ + g\x20the\x20`Descriptor`\x20grammar.\n\n\x20The\x20primary\x20use-case\ + \x20for\x20this\x20field\x20is\x20to\x20allow\x20local\x20symbol\x20to\ + \x20be\x20displayed\n\x20in\x20a\x20symbol\x20hierarchy\x20for\x20API\ + \x20documentation.\x20It's\x20OK\x20to\x20leave\x20this\x20field\n\x20em\ + pty\x20for\x20local\x20variables\x20since\x20local\x20variables\x20usual\ + ly\x20don't\x20belong\x20in\x20API\n\x20documentation.\x20However,\x20in\ + \x20the\x20situation\x20that\x20you\x20wish\x20to\x20include\x20a\x20loc\ + al\n\x20symbol\x20in\x20the\x20hierarchy,\x20then\x20you\x20can\x20use\ + \x20`enclosing_symbol`\x20to\x20locate\x20the\n\x20\"parent\"\x20or\x20\ + \"owner\"\x20of\x20this\x20local\x20symbol.\x20For\x20example,\x20a\x20J\ + ava\x20indexer\x20may\n\x20choose\x20to\x20use\x20local\x20symbols\x20fo\ + r\x20private\x20class\x20fields\x20while\x20providing\x20an\n\x20`enclos\ + ing_symbol`\x20to\x20reference\x20the\x20enclosing\x20class\x20to\x20all\ + ow\x20the\x20field\x20to\n\x20be\x20part\x20of\x20the\x20class\x20docume\ + ntation\x20hierarchy.\x20From\x20the\x20perspective\x20of\x20an\n\x20aut\ + hor\x20of\x20an\x20indexer,\x20the\x20decision\x20to\x20use\x20a\x20loca\ + l\x20symbol\x20or\x20global\x20symbol\n\x20should\x20exclusively\x20be\ + \x20determined\x20whether\x20the\x20local\x20symbol\x20is\x20accessible\ + \n\x20outside\x20the\x20document,\x20not\x20by\x20the\x20capability\x20t\ + o\x20find\x20the\x20enclosing\n\x20symbol.\n\n\r\n\x05\x04\x08\x02\x06\ + \x05\x12\x04\xd0\x03\x02\x08\n\r\n\x05\x04\x08\x02\x06\x01\x12\x04\xd0\ + \x03\t\x19\n\r\n\x05\x04\x08\x02\x06\x03\x12\x04\xd0\x03\x1c\x1d\n\x0c\n\ + \x02\x04\t\x12\x06\xd3\x03\0\x87\x04\x01\n\x0b\n\x03\x04\t\x01\x12\x04\ + \xd3\x03\x08\x14\n\x0c\n\x04\x04\t\x02\0\x12\x04\xd4\x03\x02\x14\n\r\n\ + \x05\x04\t\x02\0\x05\x12\x04\xd4\x03\x02\x08\n\r\n\x05\x04\t\x02\0\x01\ + \x12\x04\xd4\x03\t\x0f\n\r\n\x05\x04\t\x02\0\x03\x12\x04\xd4\x03\x12\x13\ + \n\xde\x08\n\x04\x04\t\x02\x01\x12\x04\xed\x03\x02\x18\x1a\xcf\x08\x20Wh\ + en\x20resolving\x20\"Find\x20references\",\x20this\x20field\x20documents\ + \x20what\x20other\x20symbols\n\x20should\x20be\x20included\x20together\ + \x20with\x20this\x20symbol.\x20For\x20example,\x20consider\x20the\n\x20f\ + ollowing\x20TypeScript\x20code\x20that\x20defines\x20two\x20symbols\x20`\ + Animal#sound()`\x20and\n\x20`Dog#sound()`:\n\x20```ts\n\x20interface\x20\ + Animal\x20{\n\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20^^^^^^\x20defin\ + ition\x20Animal#\n\x20\x20\x20sound():\x20string\n\x20\x20\x20^^^^^\x20d\ + efinition\x20Animal#sound()\n\x20}\n\x20class\x20Dog\x20implements\x20An\ + imal\x20{\n\x20\x20\x20\x20\x20\x20\x20^^^\x20definition\x20Dog#,\x20rel\ + ationships\x20=\x20[{symbol:\x20\"Animal#\",\x20is_implementation:\x20tr\ + ue}]\n\x20\x20\x20public\x20sound():\x20string\x20{\x20return\x20\"woof\ + \"\x20}\n\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20^^^^^\x20definition\x20\ + Dog#sound(),\x20references_symbols\x20=\x20Animal#sound(),\x20relationsh\ + ips\x20=\x20[{symbol:\x20\"Animal#sound()\",\x20is_implementation:true,\ + \x20is_reference:\x20true}]\n\x20}\n\x20const\x20animal:\x20Animal\x20=\ + \x20new\x20Dog()\n\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ + \x20\x20^^^^^^\x20reference\x20Animal#\n\x20console.log(animal.sound())\ + \n\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ + \x20\x20\x20^^^^^\x20reference\x20Animal#sound()\n\x20```\n\x20Doing\x20\ + \"Find\x20references\"\x20on\x20the\x20symbol\x20`Animal#sound()`\x20sho\ + uld\x20return\n\x20references\x20to\x20the\x20`Dog#sound()`\x20method\ + \x20as\x20well.\x20Vice-versa,\x20doing\x20\"Find\n\x20references\"\x20o\ + n\x20the\x20`Dog#sound()`\x20method\x20should\x20include\x20references\ + \x20to\x20the\n\x20`Animal#sound()`\x20method\x20as\x20well.\n\n\r\n\x05\ + \x04\t\x02\x01\x05\x12\x04\xed\x03\x02\x06\n\r\n\x05\x04\t\x02\x01\x01\ + \x12\x04\xed\x03\x07\x13\n\r\n\x05\x04\t\x02\x01\x03\x12\x04\xed\x03\x16\ + \x17\n\xee\x03\n\x04\x04\t\x02\x02\x12\x04\xf6\x03\x02\x1d\x1a\xdf\x03\ + \x20Similar\x20to\x20`is_reference`\x20but\x20for\x20\"Find\x20implement\ + ations\".\n\x20It's\x20common\x20for\x20`is_implementation`\x20and\x20`i\ + s_reference`\x20to\x20both\x20be\x20true\x20but\n\x20it's\x20not\x20alwa\ + ys\x20the\x20case.\n\x20In\x20the\x20TypeScript\x20example\x20above,\x20\ + observe\x20that\x20`Dog#`\x20has\x20an\n\x20`is_implementation`\x20relat\ + ionship\x20with\x20`\"Animal#\"`\x20but\x20not\x20`is_reference`.\n\x20T\ + his\x20is\x20because\x20\"Find\x20references\"\x20on\x20the\x20\"Animal#\ + \"\x20symbol\x20should\x20not\x20return\n\x20\"Dog#\".\x20We\x20only\x20\ + want\x20\"Dog#\"\x20to\x20return\x20as\x20a\x20result\x20for\x20\"Find\n\ + \x20implementations\"\x20on\x20the\x20\"Animal#\"\x20symbol.\n\n\r\n\x05\ + \x04\t\x02\x02\x05\x12\x04\xf6\x03\x02\x06\n\r\n\x05\x04\t\x02\x02\x01\ + \x12\x04\xf6\x03\x07\x18\n\r\n\x05\x04\t\x02\x02\x03\x12\x04\xf6\x03\x1b\ + \x1c\nP\n\x04\x04\t\x02\x03\x12\x04\xf8\x03\x02\x1e\x1aB\x20Similar\x20t\ + o\x20`references_symbols`\x20but\x20for\x20\"Go\x20to\x20type\x20definit\ + ion\".\n\n\r\n\x05\x04\t\x02\x03\x05\x12\x04\xf8\x03\x02\x06\n\r\n\x05\ + \x04\t\x02\x03\x01\x12\x04\xf8\x03\x07\x19\n\r\n\x05\x04\t\x02\x03\x03\ + \x12\x04\xf8\x03\x1c\x1d\n\xd8\x05\n\x04\x04\t\x02\x04\x12\x04\x85\x04\ + \x02\x19\x1a\x86\x05\x20Allows\x20overriding\x20the\x20behavior\x20of\ + \x20\"Go\x20to\x20definition\"\x20and\x20\"Find\x20references\"\n\x20for\ + \x20symbols\x20which\x20do\x20not\x20have\x20a\x20definition\x20of\x20th\ + eir\x20own\x20or\x20could\n\x20potentially\x20have\x20multiple\x20defini\ + tions.\n\n\x20For\x20example,\x20in\x20a\x20language\x20with\x20single\ + \x20inheritance\x20and\x20no\x20field\x20overriding,\n\x20inherited\x20f\ + ields\x20can\x20reuse\x20the\x20same\x20symbol\x20as\x20the\x20ancestor\ + \x20which\x20declares\n\x20the\x20field.\x20In\x20such\x20a\x20situation\ + ,\x20is_definition\x20is\x20not\x20needed.\n\n\x20On\x20the\x20other\x20\ + hand,\x20in\x20languages\x20with\x20single\x20inheritance\x20and\x20some\ + \x20form\n\x20of\x20mixins,\x20you\x20can\x20use\x20is_definition\x20to\ + \x20relate\x20the\x20symbol\x20to\x20the\n\x20matching\x20symbol\x20in\ + \x20ancestor\x20classes,\x20and\x20is_reference\x20to\x20relate\x20the\n\ + \x20symbol\x20to\x20the\x20matching\x20symbol\x20in\x20mixins.\n\"A\x20U\ + pdate\x20registerInverseRelationships\x20on\x20adding\x20a\x20new\x20fie\ + ld\x20here.\n\n\r\n\x05\x04\t\x02\x04\x05\x12\x04\x85\x04\x02\x06\n\r\n\ + \x05\x04\t\x02\x04\x01\x12\x04\x85\x04\x07\x14\n\r\n\x05\x04\t\x02\x04\ + \x03\x12\x04\x85\x04\x17\x18\n\x88\x03\n\x02\x05\x03\x12\x06\x8e\x04\0\ + \xa4\x04\x01\x1a\xf9\x02\x20SymbolRole\x20declares\x20what\x20\"role\"\ + \x20a\x20symbol\x20has\x20in\x20an\x20occurrence.\x20A\x20role\x20is\n\ + \x20encoded\x20as\x20a\x20bitset\x20where\x20each\x20bit\x20represents\ + \x20a\x20different\x20role.\x20For\x20example,\n\x20to\x20determine\x20i\ + f\x20the\x20`Import`\x20role\x20is\x20set,\x20test\x20whether\x20the\x20\ + second\x20bit\x20of\x20the\n\x20enum\x20value\x20is\x20defined.\x20In\ + \x20pseudocode,\x20this\x20can\x20be\x20implemented\x20with\x20the\n\x20\ + logic:\x20`const\x20isImportRole\x20=\x20(role.value\x20&\x20SymbolRole.\ + Import.value)\x20>\x200`.\n\n\x0b\n\x03\x05\x03\x01\x12\x04\x8e\x04\x05\ + \x0f\nv\n\x04\x05\x03\x02\0\x12\x04\x91\x04\x02\x1c\x1ah\x20This\x20case\ + \x20is\x20not\x20meant\x20to\x20be\x20used;\x20it\x20only\x20exists\x20t\ + o\x20avoid\x20an\x20error\n\x20from\x20the\x20Protobuf\x20code\x20genera\ + tor.\n\n\r\n\x05\x05\x03\x02\0\x01\x12\x04\x91\x04\x02\x17\n\r\n\x05\x05\ + \x03\x02\0\x02\x12\x04\x91\x04\x1a\x1b\nT\n\x04\x05\x03\x02\x01\x12\x04\ + \x93\x04\x02\x13\x1aF\x20Is\x20the\x20symbol\x20defined\x20here?\x20If\ + \x20not,\x20then\x20this\x20is\x20a\x20symbol\x20reference.\n\n\r\n\x05\ + \x05\x03\x02\x01\x01\x12\x04\x93\x04\x02\x0c\n\r\n\x05\x05\x03\x02\x01\ + \x02\x12\x04\x93\x04\x0f\x12\n,\n\x04\x05\x03\x02\x02\x12\x04\x95\x04\ + \x02\x0f\x1a\x1e\x20Is\x20the\x20symbol\x20imported\x20here?\n\n\r\n\x05\ + \x05\x03\x02\x02\x01\x12\x04\x95\x04\x02\x08\n\r\n\x05\x05\x03\x02\x02\ + \x02\x12\x04\x95\x04\x0b\x0e\n+\n\x04\x05\x03\x02\x03\x12\x04\x97\x04\ + \x02\x14\x1a\x1d\x20Is\x20the\x20symbol\x20written\x20here?\n\n\r\n\x05\ + \x05\x03\x02\x03\x01\x12\x04\x97\x04\x02\r\n\r\n\x05\x05\x03\x02\x03\x02\ + \x12\x04\x97\x04\x10\x13\n(\n\x04\x05\x03\x02\x04\x12\x04\x99\x04\x02\ + \x13\x1a\x1a\x20Is\x20the\x20symbol\x20read\x20here?\n\n\r\n\x05\x05\x03\ + \x02\x04\x01\x12\x04\x99\x04\x02\x0c\n\r\n\x05\x05\x03\x02\x04\x02\x12\ + \x04\x99\x04\x0f\x12\n0\n\x04\x05\x03\x02\x05\x12\x04\x9b\x04\x02\x13\ + \x1a\"\x20Is\x20the\x20symbol\x20in\x20generated\x20code?\n\n\r\n\x05\ + \x05\x03\x02\x05\x01\x12\x04\x9b\x04\x02\x0b\n\r\n\x05\x05\x03\x02\x05\ + \x02\x12\x04\x9b\x04\x0e\x12\n+\n\x04\x05\x03\x02\x06\x12\x04\x9d\x04\ + \x02\x0e\x1a\x1d\x20Is\x20the\x20symbol\x20in\x20test\x20code?\n\n\r\n\ + \x05\x05\x03\x02\x06\x01\x12\x04\x9d\x04\x02\x06\n\r\n\x05\x05\x03\x02\ + \x06\x02\x12\x04\x9d\x04\t\r\n\xed\x01\n\x04\x05\x03\x02\x07\x12\x04\xa3\ + \x04\x02\x1b\x1a\xde\x01\x20Is\x20this\x20a\x20signature\x20for\x20a\x20\ + symbol\x20that\x20is\x20defined\x20elsewhere?\n\n\x20Applies\x20to\x20fo\ + rward\x20declarations\x20for\x20languages\x20like\x20C,\x20C++\n\x20and\ + \x20Objective-C,\x20as\x20well\x20as\x20`val`\x20declarations\x20in\x20i\ + nterface\n\x20files\x20in\x20languages\x20like\x20SML\x20and\x20OCaml.\n\ + \n\r\n\x05\x05\x03\x02\x07\x01\x12\x04\xa3\x04\x02\x13\n\r\n\x05\x05\x03\ + \x02\x07\x02\x12\x04\xa3\x04\x16\x1a\n\x0c\n\x02\x05\x04\x12\x06\xa6\x04\ + \0\x83\x05\x01\n\x0b\n\x03\x05\x04\x01\x12\x04\xa6\x04\x05\x0f\n\x0b\n\ + \x03\x05\x04\x03\x12\x04\xa7\x04\x02\x1c\n\x0c\n\x04\x05\x04\x03\x02\x12\ + \x04\xa7\x04\x02\x1c\n\x0c\n\x04\x05\x04\x02\0\x12\x04\xa9\x04\x02\x1c\n\ + \r\n\x05\x05\x04\x02\0\x01\x12\x04\xa9\x04\x02\x17\n\r\n\x05\x05\x04\x02\ + \0\x02\x12\x04\xa9\x04\x1a\x1b\n;\n\x04\x05\x04\x02\x01\x12\x04\xac\x04\ + \x02\x0e\x1a-\x20Comment,\x20including\x20comment\x20markers\x20and\x20t\ + ext\n\n\r\n\x05\x05\x04\x02\x01\x01\x12\x04\xac\x04\x02\t\n\r\n\x05\x05\ + \x04\x02\x01\x02\x12\x04\xac\x04\x0c\r\n\x1b\n\x04\x05\x04\x02\x02\x12\ + \x04\xaf\x04\x02\x1b\x1a\r\x20`;`\x20`.`\x20`,`\n\n\r\n\x05\x05\x04\x02\ + \x02\x01\x12\x04\xaf\x04\x02\x16\n\r\n\x05\x05\x04\x02\x02\x02\x12\x04\ + \xaf\x04\x19\x1a\n2\n\x04\x05\x04\x02\x03\x12\x04\xb1\x04\x02\x19\x1a$\ + \x20(),\x20{},\x20[]\x20when\x20used\x20syntactically\n\n\r\n\x05\x05\ + \x04\x02\x03\x01\x12\x04\xb1\x04\x02\x14\n\r\n\x05\x05\x04\x02\x03\x02\ + \x12\x04\xb1\x04\x17\x18\n5\n\x04\x05\x04\x02\x04\x12\x04\xb4\x04\x02\ + \x0e\x1a'\x20`if`,\x20`else`,\x20`return`,\x20`class`,\x20etc.\n\n\r\n\ + \x05\x05\x04\x02\x04\x01\x12\x04\xb4\x04\x02\t\n\r\n\x05\x05\x04\x02\x04\ + \x02\x12\x04\xb4\x04\x0c\r\n\x0c\n\x04\x05\x04\x02\x05\x12\x04\xb5\x04\ + \x02,\n\r\n\x05\x05\x04\x02\x05\x01\x12\x04\xb5\x04\x02\x13\n\r\n\x05\ + \x05\x04\x02\x05\x02\x12\x04\xb5\x04\x16\x17\n\r\n\x05\x05\x04\x02\x05\ + \x03\x12\x04\xb5\x04\x18+\n\x0e\n\x06\x05\x04\x02\x05\x03\x01\x12\x04\ + \xb5\x04\x19*\n\x1e\n\x04\x05\x04\x02\x06\x12\x04\xb8\x04\x02\x19\x1a\ + \x10\x20`+`,\x20`*`,\x20etc.\n\n\r\n\x05\x05\x04\x02\x06\x01\x12\x04\xb8\ + \x04\x02\x14\n\r\n\x05\x05\x04\x02\x06\x02\x12\x04\xb8\x04\x17\x18\nX\n\ + \x04\x05\x04\x02\x07\x12\x04\xbb\x04\x02\x11\x1aJ\x20non-specific\x20cat\ + ch-all\x20for\x20any\x20identifier\x20not\x20better\x20described\x20else\ + where\n\n\r\n\x05\x05\x04\x02\x07\x01\x12\x04\xbb\x04\x02\x0c\n\r\n\x05\ + \x05\x04\x02\x07\x02\x12\x04\xbb\x04\x0f\x10\nN\n\x04\x05\x04\x02\x08\ + \x12\x04\xbd\x04\x02\x18\x1a@\x20Identifiers\x20builtin\x20to\x20the\x20\ + language:\x20`min`,\x20`print`\x20in\x20Python.\n\n\r\n\x05\x05\x04\x02\ + \x08\x01\x12\x04\xbd\x04\x02\x13\n\r\n\x05\x05\x04\x02\x08\x02\x12\x04\ + \xbd\x04\x16\x17\n[\n\x04\x05\x04\x02\t\x12\x04\xbf\x04\x02\x15\x1aM\x20\ + Identifiers\x20representing\x20`null`-like\x20values:\x20`None`\x20in\ + \x20Python,\x20`nil`\x20in\x20Go.\n\n\r\n\x05\x05\x04\x02\t\x01\x12\x04\ + \xbf\x04\x02\x10\n\r\n\x05\x05\x04\x02\t\x02\x12\x04\xbf\x04\x13\x14\n.\ + \n\x04\x05\x04\x02\n\x12\x04\xc1\x04\x02\x19\x1a\x20\x20`xyz`\x20in\x20`\ + const\x20xyz\x20=\x20\"hello\"`\n\n\r\n\x05\x05\x04\x02\n\x01\x12\x04\ + \xc1\x04\x02\x14\n\r\n\x05\x05\x04\x02\n\x02\x12\x04\xc1\x04\x17\x18\n'\ + \n\x04\x05\x04\x02\x0b\x12\x04\xc3\x04\x02\x1f\x1a\x19\x20`var\x20X\x20=\ + \x20\"hello\"`\x20in\x20Go\n\n\r\n\x05\x05\x04\x02\x0b\x01\x12\x04\xc3\ + \x04\x02\x19\n\r\n\x05\x05\x04\x02\x0b\x02\x12\x04\xc3\x04\x1c\x1e\n3\n\ + \x04\x05\x04\x02\x0c\x12\x04\xc5\x04\x02\x1b\x1a%\x20Parameter\x20defini\ + tion\x20and\x20references\n\n\r\n\x05\x05\x04\x02\x0c\x01\x12\x04\xc5\ + \x04\x02\x15\n\r\n\x05\x05\x04\x02\x0c\x02\x12\x04\xc5\x04\x18\x1a\nX\n\ + \x04\x05\x04\x02\r\x12\x04\xc7\x04\x02\x17\x1aJ\x20Identifiers\x20for\ + \x20variable\x20definitions\x20and\x20references\x20within\x20a\x20local\ + \x20scope\n\n\r\n\x05\x05\x04\x02\r\x01\x12\x04\xc7\x04\x02\x11\n\r\n\ + \x05\x05\x04\x02\r\x02\x12\x04\xc7\x04\x14\x16\nK\n\x04\x05\x04\x02\x0e\ + \x12\x04\xc9\x04\x02\x1a\x1a=\x20Identifiers\x20that\x20shadow\x20other\ + \x20identifiers\x20in\x20an\x20outer\x20scope\n\n\r\n\x05\x05\x04\x02\ + \x0e\x01\x12\x04\xc9\x04\x02\x14\n\r\n\x05\x05\x04\x02\x0e\x02\x12\x04\ + \xc9\x04\x17\x19\n\xcd\x01\n\x04\x05\x04\x02\x0f\x12\x04\xce\x04\x02\x1b\ + \x1a\xbe\x01\x20Identifier\x20representing\x20a\x20unit\x20of\x20code\ + \x20abstraction\x20and/or\x20namespacing.\n\n\x20NOTE:\x20This\x20corres\ + ponds\x20to\x20a\x20package\x20in\x20Go\x20and\x20JVM\x20languages,\n\ + \x20and\x20a\x20module\x20in\x20languages\x20like\x20Python\x20and\x20Ja\ + vaScript.\n\n\r\n\x05\x05\x04\x02\x0f\x01\x12\x04\xce\x04\x02\x15\n\r\n\ + \x05\x05\x04\x02\x0f\x02\x12\x04\xce\x04\x18\x1a\n\x0c\n\x04\x05\x04\x02\ + \x10\x12\x04\xcf\x04\x02,\n\r\n\x05\x05\x04\x02\x10\x01\x12\x04\xcf\x04\ + \x02\x12\n\r\n\x05\x05\x04\x02\x10\x02\x12\x04\xcf\x04\x15\x17\n\r\n\x05\ + \x05\x04\x02\x10\x03\x12\x04\xcf\x04\x18+\n\x0e\n\x06\x05\x04\x02\x10\ + \x03\x01\x12\x04\xcf\x04\x19*\n4\n\x04\x05\x04\x02\x11\x12\x04\xd2\x04\ + \x02\x1a\x1a&\x20Function\x20references,\x20including\x20calls\n\n\r\n\ + \x05\x05\x04\x02\x11\x01\x12\x04\xd2\x04\x02\x14\n\r\n\x05\x05\x04\x02\ + \x11\x02\x12\x04\xd2\x04\x17\x19\n(\n\x04\x05\x04\x02\x12\x12\x04\xd4\ + \x04\x02$\x1a\x1a\x20Function\x20definition\x20only\n\n\r\n\x05\x05\x04\ + \x02\x12\x01\x12\x04\xd4\x04\x02\x1e\n\r\n\x05\x05\x04\x02\x12\x02\x12\ + \x04\xd4\x04!#\n7\n\x04\x05\x04\x02\x13\x12\x04\xd7\x04\x02\x17\x1a)\x20\ + Macro\x20references,\x20including\x20invocations\n\n\r\n\x05\x05\x04\x02\ + \x13\x01\x12\x04\xd7\x04\x02\x11\n\r\n\x05\x05\x04\x02\x13\x02\x12\x04\ + \xd7\x04\x14\x16\n%\n\x04\x05\x04\x02\x14\x12\x04\xd9\x04\x02!\x1a\x17\ + \x20Macro\x20definition\x20only\n\n\r\n\x05\x05\x04\x02\x14\x01\x12\x04\ + \xd9\x04\x02\x1b\n\r\n\x05\x05\x04\x02\x14\x02\x12\x04\xd9\x04\x1e\x20\n\ + !\n\x04\x05\x04\x02\x15\x12\x04\xdc\x04\x02\x16\x1a\x13\x20non-builtin\ + \x20types\n\n\r\n\x05\x05\x04\x02\x15\x01\x12\x04\xdc\x04\x02\x10\n\r\n\ + \x05\x05\x04\x02\x15\x02\x12\x04\xdc\x04\x13\x15\nK\n\x04\x05\x04\x02\ + \x16\x12\x04\xde\x04\x02\x1d\x1a=\x20builtin\x20types\x20only,\x20such\ + \x20as\x20`str`\x20for\x20Python\x20or\x20`int`\x20in\x20Go\n\n\r\n\x05\ + \x05\x04\x02\x16\x01\x12\x04\xde\x04\x02\x17\n\r\n\x05\x05\x04\x02\x16\ + \x02\x12\x04\xde\x04\x1a\x1c\n7\n\x04\x05\x04\x02\x17\x12\x04\xe1\x04\ + \x02\x1b\x1a)\x20Python\x20decorators,\x20c-like\x20__attribute__\n\n\r\ + \n\x05\x05\x04\x02\x17\x01\x12\x04\xe1\x04\x02\x15\n\r\n\x05\x05\x04\x02\ + \x17\x02\x12\x04\xe1\x04\x18\x1a\n\x14\n\x04\x05\x04\x02\x18\x12\x04\xe4\ + \x04\x02\x13\x1a\x06\x20`\\b`\n\n\r\n\x05\x05\x04\x02\x18\x01\x12\x04\ + \xe4\x04\x02\r\n\r\n\x05\x05\x04\x02\x18\x02\x12\x04\xe4\x04\x10\x12\n\ + \x18\n\x04\x05\x04\x02\x19\x12\x04\xe6\x04\x02\x15\x1a\n\x20`*`,\x20`+`\ + \n\n\r\n\x05\x05\x04\x02\x19\x01\x12\x04\xe6\x04\x02\x0f\n\r\n\x05\x05\ + \x04\x02\x19\x02\x12\x04\xe6\x04\x12\x14\n\x13\n\x04\x05\x04\x02\x1a\x12\ + \x04\xe8\x04\x02\x15\x1a\x05\x20`.`\n\n\r\n\x05\x05\x04\x02\x1a\x01\x12\ + \x04\xe8\x04\x02\x0f\n\r\n\x05\x05\x04\x02\x1a\x02\x12\x04\xe8\x04\x12\ + \x14\n\"\n\x04\x05\x04\x02\x1b\x12\x04\xea\x04\x02\x16\x1a\x14\x20`(`,\ + \x20`)`,\x20`[`,\x20`]`\n\n\r\n\x05\x05\x04\x02\x1b\x01\x12\x04\xea\x04\ + \x02\x10\n\r\n\x05\x05\x04\x02\x1b\x02\x12\x04\xea\x04\x13\x15\n\x18\n\ + \x04\x05\x04\x02\x1c\x12\x04\xec\x04\x02\x11\x1a\n\x20`|`,\x20`-`\n\n\r\ + \n\x05\x05\x04\x02\x1c\x01\x12\x04\xec\x04\x02\x0b\n\r\n\x05\x05\x04\x02\ + \x1c\x02\x12\x04\xec\x04\x0e\x10\n0\n\x04\x05\x04\x02\x1d\x12\x04\xef\ + \x04\x02\x15\x1a\"\x20Literal\x20strings:\x20\"Hello,\x20world!\"\n\n\r\ + \n\x05\x05\x04\x02\x1d\x01\x12\x04\xef\x04\x02\x0f\n\r\n\x05\x05\x04\x02\ + \x1d\x02\x12\x04\xef\x04\x12\x14\n-\n\x04\x05\x04\x02\x1e\x12\x04\xf1\ + \x04\x02\x1b\x1a\x1f\x20non-regex\x20escapes:\x20\"\\t\",\x20\"\\n\"\n\n\ + \r\n\x05\x05\x04\x02\x1e\x01\x12\x04\xf1\x04\x02\x15\n\r\n\x05\x05\x04\ + \x02\x1e\x02\x12\x04\xf1\x04\x18\x1a\n_\n\x04\x05\x04\x02\x1f\x12\x04\ + \xf3\x04\x02\x1c\x1aQ\x20datetimes\x20within\x20strings,\x20special\x20w\ + ords\x20within\x20a\x20string,\x20`{}`\x20in\x20format\x20strings\n\n\r\ + \n\x05\x05\x04\x02\x1f\x01\x12\x04\xf3\x04\x02\x16\n\r\n\x05\x05\x04\x02\ + \x1f\x02\x12\x04\xf3\x04\x19\x1b\nG\n\x04\x05\x04\x02\x20\x12\x04\xf5\ + \x04\x02\x18\x1a9\x20\"key\"\x20in\x20{\x20\"key\":\x20\"value\"\x20},\ + \x20useful\x20for\x20example\x20in\x20JSON\n\n\r\n\x05\x05\x04\x02\x20\ + \x01\x12\x04\xf5\x04\x02\x12\n\r\n\x05\x05\x04\x02\x20\x02\x12\x04\xf5\ + \x04\x15\x17\nV\n\x04\x05\x04\x02!\x12\x04\xf7\x04\x02\x18\x1aH\x20'c'\ + \x20or\x20similar,\x20in\x20languages\x20that\x20differentiate\x20string\ + s\x20and\x20characters\n\n\r\n\x05\x05\x04\x02!\x01\x12\x04\xf7\x04\x02\ + \x12\n\r\n\x05\x05\x04\x02!\x02\x12\x04\xf7\x04\x15\x17\n9\n\x04\x05\x04\ + \x02\"\x12\x04\xf9\x04\x02\x16\x1a+\x20Literal\x20numbers,\x20both\x20fl\ + oats\x20and\x20integers\n\n\r\n\x05\x05\x04\x02\"\x01\x12\x04\xf9\x04\ + \x02\x10\n\r\n\x05\x05\x04\x02\"\x02\x12\x04\xf9\x04\x13\x15\n\x1f\n\x04\ + \x05\x04\x02#\x12\x04\xfb\x04\x02\x16\x1a\x11\x20`true`,\x20`false`\n\n\ + \r\n\x05\x05\x04\x02#\x01\x12\x04\xfb\x04\x02\x10\n\r\n\x05\x05\x04\x02#\ + \x02\x12\x04\xfb\x04\x13\x15\n&\n\x04\x05\x04\x02$\x12\x04\xfe\x04\x02\ + \x0b\x1a\x18\x20Used\x20for\x20XML-like\x20tags\n\n\r\n\x05\x05\x04\x02$\ + \x01\x12\x04\xfe\x04\x02\x05\n\r\n\x05\x05\x04\x02$\x02\x12\x04\xfe\x04\ + \x08\n\n/\n\x04\x05\x04\x02%\x12\x04\x80\x05\x02\x14\x1a!\x20Attribute\ + \x20name\x20in\x20XML-like\x20tags\n\n\r\n\x05\x05\x04\x02%\x01\x12\x04\ + \x80\x05\x02\x0e\n\r\n\x05\x05\x04\x02%\x02\x12\x04\x80\x05\x11\x13\n,\n\ + \x04\x05\x04\x02&\x12\x04\x82\x05\x02\x14\x1a\x1e\x20Delimiters\x20for\ + \x20XML-like\x20tags\n\n\r\n\x05\x05\x04\x02&\x01\x12\x04\x82\x05\x02\ + \x0e\n\r\n\x05\x05\x04\x02&\x02\x12\x04\x82\x05\x11\x13\n\xf9\x01\n\x02\ + \x04\n\x12\x06\x8a\x05\0\xeb\x05\x01\x1a\xea\x01\x20Occurrence\x20associ\ + ates\x20a\x20source\x20position\x20with\x20a\x20symbol\x20and/or\x20high\ + lighting\n\x20information.\n\n\x20If\x20possible,\x20indexers\x20should\ + \x20try\x20to\x20bundle\x20logically\x20related\x20information\n\x20acro\ + ss\x20occurrences\x20into\x20a\x20single\x20occurrence\x20to\x20reduce\ + \x20payload\x20sizes.\n\n\x0b\n\x03\x04\n\x01\x12\x04\x8a\x05\x08\x12\n\ + \xe8\x08\n\x04\x04\n\x02\0\x12\x04\xa2\x05\x02\x1b\x1a\xd9\x08\x20Half-o\ + pen\x20[start,\x20end)\x20range\x20of\x20this\x20occurrence.\x20Must\x20\ + be\x20exactly\x20three\x20or\x20four\n\x20elements:\n\n\x20-\x20Four\x20\ + elements:\x20`[startLine,\x20startCharacter,\x20endLine,\x20endCharacter\ + ]`\n\x20-\x20Three\x20elements:\x20`[startLine,\x20startCharacter,\x20en\ + dCharacter]`.\x20The\x20end\x20line\n\x20\x20\x20is\x20inferred\x20to\ + \x20have\x20the\x20same\x20value\x20as\x20the\x20start\x20line.\n\n\x20I\ + t\x20is\x20allowed\x20for\x20the\x20range\x20to\x20be\x20empty\x20(i.e.\ + \x20start==end).\n\n\x20Line\x20numbers\x20and\x20characters\x20are\x20a\ + lways\x200-based.\x20Make\x20sure\x20to\x20increment\x20the\n\x20line/ch\ + aracter\x20values\x20before\x20displaying\x20them\x20in\x20an\x20editor-\ + like\x20UI\x20because\n\x20editors\x20conventionally\x20use\x201-based\ + \x20numbers.\n\n\x20The\x20'character'\x20value\x20is\x20interpreted\x20\ + based\x20on\x20the\x20PositionEncoding\x20for\n\x20the\x20Document.\n\n\ + \x20Historical\x20note:\x20the\x20original\x20draft\x20of\x20this\x20sch\ + ema\x20had\x20a\x20`Range`\x20message\n\x20type\x20with\x20`start`\x20an\ + d\x20`end`\x20fields\x20of\x20type\x20`Position`,\x20mirroring\x20LSP.\n\ + \x20Benchmarks\x20revealed\x20that\x20this\x20encoding\x20was\x20ineffic\ + ient\x20and\x20that\x20we\x20could\n\x20reduce\x20the\x20total\x20payloa\ + d\x20size\x20of\x20an\x20index\x20by\x2050%\x20by\x20using\x20`repeated\ + \x20int32`\n\x20instead.\x20The\x20`repeated\x20int32`\x20encoding\x20is\ + \x20admittedly\x20more\x20embarrassing\x20to\n\x20work\x20with\x20in\x20\ + some\x20programming\x20languages\x20but\x20we\x20hope\x20the\x20performa\ + nce\n\x20improvements\x20make\x20up\x20for\x20it.\n\n\r\n\x05\x04\n\x02\ + \0\x04\x12\x04\xa2\x05\x02\n\n\r\n\x05\x04\n\x02\0\x05\x12\x04\xa2\x05\ + \x0b\x10\n\r\n\x05\x04\n\x02\0\x01\x12\x04\xa2\x05\x11\x16\n\r\n\x05\x04\ + \n\x02\0\x03\x12\x04\xa2\x05\x19\x1a\n\x8a\x01\n\x04\x04\n\x02\x01\x12\ + \x04\xa5\x05\x02\x14\x1a|\x20(optional)\x20The\x20symbol\x20that\x20appe\ + ars\x20at\x20this\x20position.\x20See\n\x20`SymbolInformation.symbol`\ + \x20for\x20how\x20to\x20format\x20symbols\x20as\x20strings.\n\n\r\n\x05\ + \x04\n\x02\x01\x05\x12\x04\xa5\x05\x02\x08\n\r\n\x05\x04\n\x02\x01\x01\ + \x12\x04\xa5\x05\t\x0f\n\r\n\x05\x04\n\x02\x01\x03\x12\x04\xa5\x05\x12\ + \x13\n\x97\x01\n\x04\x04\n\x02\x02\x12\x04\xa8\x05\x02\x19\x1a\x88\x01\ + \x20(optional)\x20Bitset\x20containing\x20`SymbolRole`s\x20in\x20this\ + \x20occurrence.\n\x20See\x20`SymbolRole`'s\x20documentation\x20for\x20ho\ + w\x20to\x20read\x20and\x20write\x20this\x20field.\n\n\r\n\x05\x04\n\x02\ + \x02\x05\x12\x04\xa8\x05\x02\x07\n\r\n\x05\x04\n\x02\x02\x01\x12\x04\xa8\ + \x05\x08\x14\n\r\n\x05\x04\n\x02\x02\x03\x12\x04\xa8\x05\x17\x18\n\xf1\ + \x03\n\x04\x04\n\x02\x03\x12\x04\xb1\x05\x02-\x1a\xe2\x03\x20(optional)\ + \x20CommonMark-formatted\x20documentation\x20for\x20this\x20specific\x20\ + range.\x20If\n\x20empty,\x20the\x20`Symbol.documentation`\x20field\x20is\ + \x20used\x20instead.\x20One\x20example\n\x20where\x20this\x20field\x20mi\ + ght\x20be\x20useful\x20is\x20when\x20the\x20symbol\x20represents\x20a\ + \x20generic\n\x20function\x20(with\x20abstract\x20type\x20parameters\x20\ + such\x20as\x20`List`)\x20and\x20at\x20this\n\x20occurrence\x20we\x20k\ + now\x20the\x20exact\x20values\x20(such\x20as\x20`List`).\n\n\x20\ + This\x20field\x20can\x20also\x20be\x20used\x20for\x20dynamically\x20or\ + \x20gradually\x20typed\x20languages,\n\x20which\x20commonly\x20allow\x20\ + for\x20type-changing\x20assignment.\n\n\r\n\x05\x04\n\x02\x03\x04\x12\ + \x04\xb1\x05\x02\n\n\r\n\x05\x04\n\x02\x03\x05\x12\x04\xb1\x05\x0b\x11\n\ + \r\n\x05\x04\n\x02\x03\x01\x12\x04\xb1\x05\x12(\n\r\n\x05\x04\n\x02\x03\ + \x03\x12\x04\xb1\x05+,\nX\n\x04\x04\n\x02\x04\x12\x04\xb3\x05\x02\x1d\ + \x1aJ\x20(optional)\x20What\x20syntax\x20highlighting\x20class\x20should\ + \x20be\x20used\x20for\x20this\x20range?\n\n\r\n\x05\x04\n\x02\x04\x06\ + \x12\x04\xb3\x05\x02\x0c\n\r\n\x05\x04\n\x02\x04\x01\x12\x04\xb3\x05\r\ + \x18\n\r\n\x05\x04\n\x02\x04\x03\x12\x04\xb3\x05\x1b\x1c\nW\n\x04\x04\n\ + \x02\x05\x12\x04\xb5\x05\x02&\x1aI\x20(optional)\x20Diagnostics\x20that\ + \x20have\x20been\x20reported\x20for\x20this\x20specific\x20range.\n\n\r\ + \n\x05\x04\n\x02\x05\x04\x12\x04\xb5\x05\x02\n\n\r\n\x05\x04\n\x02\x05\ + \x06\x12\x04\xb5\x05\x0b\x15\n\r\n\x05\x04\n\x02\x05\x01\x12\x04\xb5\x05\ + \x16!\n\r\n\x05\x04\n\x02\x05\x03\x12\x04\xb5\x05$%\n\xb7\x0e\n\x04\x04\ + \n\x02\x06\x12\x04\xea\x05\x02%\x1a\xa8\x0e\x20(optional)\x20Using\x20th\ + e\x20same\x20encoding\x20as\x20the\x20sibling\x20`range`\x20field,\x20ha\ + lf-open\n\x20source\x20range\x20of\x20the\x20nearest\x20non-trivial\x20e\ + nclosing\x20AST\x20node.\x20This\x20range\x20must\n\x20enclose\x20the\ + \x20`range`\x20field.\x20Example\x20applications\x20that\x20make\x20use\ + \x20of\x20the\n\x20enclosing_range\x20field:\n\n\x20-\x20Call\x20hierarc\ + hies:\x20to\x20determine\x20what\x20symbols\x20are\x20references\x20from\ + \x20the\x20body\n\x20\x20\x20of\x20a\x20function\n\x20-\x20Symbol\x20out\ + line:\x20to\x20display\x20breadcrumbs\x20from\x20the\x20cursor\x20positi\ + on\x20to\x20the\n\x20\x20\x20root\x20of\x20the\x20file\n\x20-\x20Expand\ + \x20selection:\x20to\x20select\x20the\x20nearest\x20enclosing\x20AST\x20\ + node.\n\x20-\x20Highlight\x20range:\x20to\x20indicate\x20the\x20AST\x20e\ + xpression\x20that\x20is\x20associated\x20with\x20a\n\x20\x20\x20hover\ + \x20popover\n\n\x20For\x20definition\x20occurrences,\x20the\x20enclosing\ + \x20range\x20should\x20indicate\x20the\n\x20start/end\x20bounds\x20of\ + \x20the\x20entire\x20definition\x20AST\x20node,\x20including\n\x20docume\ + ntation.\n\x20```\n\x20const\x20n\x20=\x203\n\x20\x20\x20\x20\x20\x20\ + \x20^\x20range\n\x20^^^^^^^^^^^\x20enclosing_range\n\n\x20/**\x20Parses\ + \x20the\x20string\x20into\x20something\x20*/\n\x20^\x20enclosing_range\ + \x20start\x20--------------------------------------|\n\x20function\x20pa\ + rse(input\x20string):\x20string\x20{\x20\x20\x20\x20\x20\x20\x20\x20\x20\ + \x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20|\n\x20\x20\ + \x20\x20\x20\x20\x20\x20\x20\x20^^^^^\x20range\x20\x20\x20\x20\x20\x20\ \x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ \x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ - \x20|\n\x20\x20\x20\x20\x20return\x20input.slice(n)\x20\x20\x20\x20\x20\ + |\n\x20\x20\x20\x20\x20return\x20input.slice(n)\x20\x20\x20\x20\x20\x20\ \x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ - \x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20|\n\x20}\x20\x20\ + \x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20|\n\x20}\x20\x20\x20\ \x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ \x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ \x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ - \x20\x20\x20\x20\x20|\n\x20^\x20enclosing_range\x20end\x20<-------------\ - --------------------------|\n\x20```\n\n\x20Any\x20attributes/decorators\ - /attached\x20macros\x20should\x20also\x20be\x20part\x20of\x20the\n\x20en\ - closing\x20range.\n\n\x20```python\n\x20@cache\n\x20^\x20enclosing_range\ - \x20start---------------------|\n\x20def\x20factorial(n):\x20\x20\x20\ + \x20\x20\x20\x20|\n\x20^\x20enclosing_range\x20end\x20<-----------------\ + ----------------------|\n\x20```\n\n\x20Any\x20attributes/decorators/att\ + ached\x20macros\x20should\x20also\x20be\x20part\x20of\x20the\n\x20enclos\ + ing\x20range.\n\n\x20```python\n\x20@cache\n\x20^\x20enclosing_range\x20\ + start---------------------|\n\x20def\x20factorial(n):\x20\x20\x20\x20\ \x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ - \x20\x20\x20\x20\x20\x20|\n\x20\x20\x20\x20\x20return\x20n\x20*\x20facto\ - rial(n-1)\x20if\x20n\x20else\x201\x20\x20\x20|\n\x20<\x20enclosing_range\ - \x20end-----------------------|\n\n\x20```\n\n\x20For\x20reference\x20oc\ - currences,\x20the\x20enclosing\x20range\x20should\x20indicate\x20the\x20\ - start/end\n\x20bounds\x20of\x20the\x20parent\x20expression.\n\x20```\n\ - \x20const\x20a\x20=\x20a.b\n\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ - \x20\x20^\x20range\n\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20^^^\x20e\ - nclosing_range\n\x20const\x20b\x20=\x20a.b(41).f(42).g(43)\n\x20\x20\x20\ - \x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20^\x20ran\ - ge\n\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20^^^^^^^^^^^^^\x20enclosi\ - ng_range\n\x20```\n\n\r\n\x05\x04\n\x02\x06\x04\x12\x04\xe4\x05\x02\n\n\ - \r\n\x05\x04\n\x02\x06\x05\x12\x04\xe4\x05\x0b\x10\n\r\n\x05\x04\n\x02\ - \x06\x01\x12\x04\xe4\x05\x11\x20\n\r\n\x05\x04\n\x02\x06\x03\x12\x04\xe4\ - \x05#$\nw\n\x02\x04\x0b\x12\x06\xe9\x05\0\xf4\x05\x01\x1ai\x20Represents\ - \x20a\x20diagnostic,\x20such\x20as\x20a\x20compiler\x20error\x20or\x20wa\ - rning,\x20which\x20should\x20be\n\x20reported\x20for\x20a\x20document.\n\ - \n\x0b\n\x03\x04\x0b\x01\x12\x04\xe9\x05\x08\x12\nW\n\x04\x04\x0b\x02\0\ - \x12\x04\xeb\x05\x02\x18\x1aI\x20Should\x20this\x20diagnostic\x20be\x20r\ + \x20\x20\x20\x20\x20|\n\x20\x20\x20\x20\x20return\x20n\x20*\x20factorial\ + (n-1)\x20if\x20n\x20else\x201\x20\x20\x20|\n\x20<\x20enclosing_range\x20\ + end-----------------------|\n\n\x20```\n\n\x20For\x20reference\x20occurr\ + ences,\x20the\x20enclosing\x20range\x20should\x20indicate\x20the\x20star\ + t/end\n\x20bounds\x20of\x20the\x20parent\x20expression.\n\x20```\n\x20co\ + nst\x20a\x20=\x20a.b\n\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ + \x20^\x20range\n\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20^^^\x20enclo\ + sing_range\n\x20const\x20b\x20=\x20a.b(41).f(42).g(43)\n\x20\x20\x20\x20\ + \x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20^\x20range\n\ + \x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20^^^^^^^^^^^^^\x20enclosing_r\ + ange\n\x20```\n\n\r\n\x05\x04\n\x02\x06\x04\x12\x04\xea\x05\x02\n\n\r\n\ + \x05\x04\n\x02\x06\x05\x12\x04\xea\x05\x0b\x10\n\r\n\x05\x04\n\x02\x06\ + \x01\x12\x04\xea\x05\x11\x20\n\r\n\x05\x04\n\x02\x06\x03\x12\x04\xea\x05\ + #$\nw\n\x02\x04\x0b\x12\x06\xef\x05\0\xfa\x05\x01\x1ai\x20Represents\x20\ + a\x20diagnostic,\x20such\x20as\x20a\x20compiler\x20error\x20or\x20warnin\ + g,\x20which\x20should\x20be\n\x20reported\x20for\x20a\x20document.\n\n\ + \x0b\n\x03\x04\x0b\x01\x12\x04\xef\x05\x08\x12\nW\n\x04\x04\x0b\x02\0\ + \x12\x04\xf1\x05\x02\x18\x1aI\x20Should\x20this\x20diagnostic\x20be\x20r\ eported\x20as\x20an\x20error,\x20warning,\x20info,\x20or\x20hint?\n\n\r\ - \n\x05\x04\x0b\x02\0\x06\x12\x04\xeb\x05\x02\n\n\r\n\x05\x04\x0b\x02\0\ - \x01\x12\x04\xeb\x05\x0b\x13\n\r\n\x05\x04\x0b\x02\0\x03\x12\x04\xeb\x05\ - \x16\x17\n]\n\x04\x04\x0b\x02\x01\x12\x04\xed\x05\x02\x12\x1aO\x20(optio\ + \n\x05\x04\x0b\x02\0\x06\x12\x04\xf1\x05\x02\n\n\r\n\x05\x04\x0b\x02\0\ + \x01\x12\x04\xf1\x05\x0b\x13\n\r\n\x05\x04\x0b\x02\0\x03\x12\x04\xf1\x05\ + \x16\x17\n]\n\x04\x04\x0b\x02\x01\x12\x04\xf3\x05\x02\x12\x1aO\x20(optio\ nal)\x20Code\x20of\x20this\x20diagnostic,\x20which\x20might\x20appear\ \x20in\x20the\x20user\x20interface.\n\n\r\n\x05\x04\x0b\x02\x01\x05\x12\ - \x04\xed\x05\x02\x08\n\r\n\x05\x04\x0b\x02\x01\x01\x12\x04\xed\x05\t\r\n\ - \r\n\x05\x04\x0b\x02\x01\x03\x12\x04\xed\x05\x10\x11\n+\n\x04\x04\x0b\ - \x02\x02\x12\x04\xef\x05\x02\x15\x1a\x1d\x20Message\x20of\x20this\x20dia\ - gnostic.\n\n\r\n\x05\x04\x0b\x02\x02\x05\x12\x04\xef\x05\x02\x08\n\r\n\ - \x05\x04\x0b\x02\x02\x01\x12\x04\xef\x05\t\x10\n\r\n\x05\x04\x0b\x02\x02\ - \x03\x12\x04\xef\x05\x13\x14\n~\n\x04\x04\x0b\x02\x03\x12\x04\xf2\x05\ + \x04\xf3\x05\x02\x08\n\r\n\x05\x04\x0b\x02\x01\x01\x12\x04\xf3\x05\t\r\n\ + \r\n\x05\x04\x0b\x02\x01\x03\x12\x04\xf3\x05\x10\x11\n+\n\x04\x04\x0b\ + \x02\x02\x12\x04\xf5\x05\x02\x15\x1a\x1d\x20Message\x20of\x20this\x20dia\ + gnostic.\n\n\r\n\x05\x04\x0b\x02\x02\x05\x12\x04\xf5\x05\x02\x08\n\r\n\ + \x05\x04\x0b\x02\x02\x01\x12\x04\xf5\x05\t\x10\n\r\n\x05\x04\x0b\x02\x02\ + \x03\x12\x04\xf5\x05\x13\x14\n~\n\x04\x04\x0b\x02\x03\x12\x04\xf8\x05\ \x02\x14\x1ap\x20(optional)\x20Human-readable\x20string\x20describing\ \x20the\x20source\x20of\x20this\x20diagnostic,\x20e.g.\n\x20'typescript'\ - \x20or\x20'super\x20lint'.\n\n\r\n\x05\x04\x0b\x02\x03\x05\x12\x04\xf2\ - \x05\x02\x08\n\r\n\x05\x04\x0b\x02\x03\x01\x12\x04\xf2\x05\t\x0f\n\r\n\ - \x05\x04\x0b\x02\x03\x03\x12\x04\xf2\x05\x12\x13\n\x0c\n\x04\x04\x0b\x02\ - \x04\x12\x04\xf3\x05\x02\"\n\r\n\x05\x04\x0b\x02\x04\x04\x12\x04\xf3\x05\ - \x02\n\n\r\n\x05\x04\x0b\x02\x04\x06\x12\x04\xf3\x05\x0b\x18\n\r\n\x05\ - \x04\x0b\x02\x04\x01\x12\x04\xf3\x05\x19\x1d\n\r\n\x05\x04\x0b\x02\x04\ - \x03\x12\x04\xf3\x05\x20!\n\x0c\n\x02\x05\x05\x12\x06\xf6\x05\0\xfc\x05\ - \x01\n\x0b\n\x03\x05\x05\x01\x12\x04\xf6\x05\x05\r\n\x0c\n\x04\x05\x05\ - \x02\0\x12\x04\xf7\x05\x02\x1a\n\r\n\x05\x05\x05\x02\0\x01\x12\x04\xf7\ - \x05\x02\x15\n\r\n\x05\x05\x05\x02\0\x02\x12\x04\xf7\x05\x18\x19\n\x0c\n\ - \x04\x05\x05\x02\x01\x12\x04\xf8\x05\x02\x0c\n\r\n\x05\x05\x05\x02\x01\ - \x01\x12\x04\xf8\x05\x02\x07\n\r\n\x05\x05\x05\x02\x01\x02\x12\x04\xf8\ - \x05\n\x0b\n\x0c\n\x04\x05\x05\x02\x02\x12\x04\xf9\x05\x02\x0e\n\r\n\x05\ - \x05\x05\x02\x02\x01\x12\x04\xf9\x05\x02\t\n\r\n\x05\x05\x05\x02\x02\x02\ - \x12\x04\xf9\x05\x0c\r\n\x0c\n\x04\x05\x05\x02\x03\x12\x04\xfa\x05\x02\ - \x12\n\r\n\x05\x05\x05\x02\x03\x01\x12\x04\xfa\x05\x02\r\n\r\n\x05\x05\ - \x05\x02\x03\x02\x12\x04\xfa\x05\x10\x11\n\x0c\n\x04\x05\x05\x02\x04\x12\ - \x04\xfb\x05\x02\x0b\n\r\n\x05\x05\x05\x02\x04\x01\x12\x04\xfb\x05\x02\ - \x06\n\r\n\x05\x05\x05\x02\x04\x02\x12\x04\xfb\x05\t\n\n\x0c\n\x02\x05\ - \x06\x12\x06\xfe\x05\0\x82\x06\x01\n\x0b\n\x03\x05\x06\x01\x12\x04\xfe\ - \x05\x05\x12\n\x0c\n\x04\x05\x06\x02\0\x12\x04\xff\x05\x02\x1f\n\r\n\x05\ - \x05\x06\x02\0\x01\x12\x04\xff\x05\x02\x1a\n\r\n\x05\x05\x06\x02\0\x02\ - \x12\x04\xff\x05\x1d\x1e\n\x0c\n\x04\x05\x06\x02\x01\x12\x04\x80\x06\x02\ - \x12\n\r\n\x05\x05\x06\x02\x01\x01\x12\x04\x80\x06\x02\r\n\r\n\x05\x05\ - \x06\x02\x01\x02\x12\x04\x80\x06\x10\x11\n\x0c\n\x04\x05\x06\x02\x02\x12\ - \x04\x81\x06\x02\x11\n\r\n\x05\x05\x06\x02\x02\x01\x12\x04\x81\x06\x02\ - \x0c\n\r\n\x05\x05\x06\x02\x02\x02\x12\x04\x81\x06\x0f\x10\n\xd0\x03\n\ - \x02\x05\x07\x12\x06\x8a\x06\0\x80\x07\x01\x1a\xc1\x03\x20Language\x20st\ + \x20or\x20'super\x20lint'.\n\n\r\n\x05\x04\x0b\x02\x03\x05\x12\x04\xf8\ + \x05\x02\x08\n\r\n\x05\x04\x0b\x02\x03\x01\x12\x04\xf8\x05\t\x0f\n\r\n\ + \x05\x04\x0b\x02\x03\x03\x12\x04\xf8\x05\x12\x13\n\x0c\n\x04\x04\x0b\x02\ + \x04\x12\x04\xf9\x05\x02\"\n\r\n\x05\x04\x0b\x02\x04\x04\x12\x04\xf9\x05\ + \x02\n\n\r\n\x05\x04\x0b\x02\x04\x06\x12\x04\xf9\x05\x0b\x18\n\r\n\x05\ + \x04\x0b\x02\x04\x01\x12\x04\xf9\x05\x19\x1d\n\r\n\x05\x04\x0b\x02\x04\ + \x03\x12\x04\xf9\x05\x20!\n\x0c\n\x02\x05\x05\x12\x06\xfc\x05\0\x82\x06\ + \x01\n\x0b\n\x03\x05\x05\x01\x12\x04\xfc\x05\x05\r\n\x0c\n\x04\x05\x05\ + \x02\0\x12\x04\xfd\x05\x02\x1a\n\r\n\x05\x05\x05\x02\0\x01\x12\x04\xfd\ + \x05\x02\x15\n\r\n\x05\x05\x05\x02\0\x02\x12\x04\xfd\x05\x18\x19\n\x0c\n\ + \x04\x05\x05\x02\x01\x12\x04\xfe\x05\x02\x0c\n\r\n\x05\x05\x05\x02\x01\ + \x01\x12\x04\xfe\x05\x02\x07\n\r\n\x05\x05\x05\x02\x01\x02\x12\x04\xfe\ + \x05\n\x0b\n\x0c\n\x04\x05\x05\x02\x02\x12\x04\xff\x05\x02\x0e\n\r\n\x05\ + \x05\x05\x02\x02\x01\x12\x04\xff\x05\x02\t\n\r\n\x05\x05\x05\x02\x02\x02\ + \x12\x04\xff\x05\x0c\r\n\x0c\n\x04\x05\x05\x02\x03\x12\x04\x80\x06\x02\ + \x12\n\r\n\x05\x05\x05\x02\x03\x01\x12\x04\x80\x06\x02\r\n\r\n\x05\x05\ + \x05\x02\x03\x02\x12\x04\x80\x06\x10\x11\n\x0c\n\x04\x05\x05\x02\x04\x12\ + \x04\x81\x06\x02\x0b\n\r\n\x05\x05\x05\x02\x04\x01\x12\x04\x81\x06\x02\ + \x06\n\r\n\x05\x05\x05\x02\x04\x02\x12\x04\x81\x06\t\n\n\x0c\n\x02\x05\ + \x06\x12\x06\x84\x06\0\x88\x06\x01\n\x0b\n\x03\x05\x06\x01\x12\x04\x84\ + \x06\x05\x12\n\x0c\n\x04\x05\x06\x02\0\x12\x04\x85\x06\x02\x1f\n\r\n\x05\ + \x05\x06\x02\0\x01\x12\x04\x85\x06\x02\x1a\n\r\n\x05\x05\x06\x02\0\x02\ + \x12\x04\x85\x06\x1d\x1e\n\x0c\n\x04\x05\x06\x02\x01\x12\x04\x86\x06\x02\ + \x12\n\r\n\x05\x05\x06\x02\x01\x01\x12\x04\x86\x06\x02\r\n\r\n\x05\x05\ + \x06\x02\x01\x02\x12\x04\x86\x06\x10\x11\n\x0c\n\x04\x05\x06\x02\x02\x12\ + \x04\x87\x06\x02\x11\n\r\n\x05\x05\x06\x02\x02\x01\x12\x04\x87\x06\x02\ + \x0c\n\r\n\x05\x05\x06\x02\x02\x02\x12\x04\x87\x06\x0f\x10\n\xd0\x03\n\ + \x02\x05\x07\x12\x06\x90\x06\0\x86\x07\x01\x1a\xc1\x03\x20Language\x20st\ andardises\x20names\x20of\x20common\x20programming\x20languages\x20that\ \x20can\x20be\x20used\n\x20for\x20the\x20`Document.language`\x20field.\ \x20The\x20primary\x20purpose\x20of\x20this\x20enum\x20is\x20to\n\x20pre\ @@ -5936,244 +5944,244 @@ static file_descriptor_proto_data: &'static [u8] = b"\ \x20name\n\x20\"CPP\"\x20in\x20this\x20enum\x20and\x20other\x20names\x20\ such\x20as\x20\"cpp\"\x20are\x20incompatible.\n\x20Feel\x20free\x20to\ \x20send\x20a\x20pull-request\x20to\x20add\x20missing\x20programming\x20\ - languages.\n\n\x0b\n\x03\x05\x07\x01\x12\x04\x8a\x06\x05\r\n\x0c\n\x04\ - \x05\x07\x02\0\x12\x04\x8b\x06\x02\x1a\n\r\n\x05\x05\x07\x02\0\x01\x12\ - \x04\x8b\x06\x02\x15\n\r\n\x05\x05\x07\x02\0\x02\x12\x04\x8b\x06\x18\x19\ - \n\x0c\n\x04\x05\x07\x02\x01\x12\x04\x8c\x06\x02\x0c\n\r\n\x05\x05\x07\ - \x02\x01\x01\x12\x04\x8c\x06\x02\x06\n\r\n\x05\x05\x07\x02\x01\x02\x12\ - \x04\x8c\x06\t\x0b\n\x0c\n\x04\x05\x07\x02\x02\x12\x04\x8d\x06\x02\x0c\n\ - \r\n\x05\x05\x07\x02\x02\x01\x12\x04\x8d\x06\x02\x06\n\r\n\x05\x05\x07\ - \x02\x02\x02\x12\x04\x8d\x06\t\x0b\n\x0c\n\x04\x05\x07\x02\x03\x12\x04\ - \x8e\x06\x02\x0b\n\r\n\x05\x05\x07\x02\x03\x01\x12\x04\x8e\x06\x02\x05\n\ - \r\n\x05\x05\x07\x02\x03\x02\x12\x04\x8e\x06\x08\n\n\x0c\n\x04\x05\x07\ - \x02\x04\x12\x04\x8f\x06\x02\x0b\n\r\n\x05\x05\x07\x02\x04\x01\x12\x04\ - \x8f\x06\x02\x05\n\r\n\x05\x05\x07\x02\x04\x02\x12\x04\x8f\x06\x08\n\n\ - \x0c\n\x04\x05\x07\x02\x05\x12\x04\x90\x06\x02\x0c\n\r\n\x05\x05\x07\x02\ - \x05\x01\x12\x04\x90\x06\x02\x06\n\r\n\x05\x05\x07\x02\x05\x02\x12\x04\ - \x90\x06\t\x0b\n\x0c\n\x04\x05\x07\x02\x06\x12\x04\x91\x06\x02\x10\n\r\n\ - \x05\x05\x07\x02\x06\x01\x12\x04\x91\x06\x02\n\n\r\n\x05\x05\x07\x02\x06\ - \x02\x12\x04\x91\x06\r\x0f\n\x0c\n\x04\x05\x07\x02\x07\x12\x04\x92\x06\ - \x02\x10\n\r\n\x05\x05\x07\x02\x07\x01\x12\x04\x92\x06\x02\n\n\r\n\x05\ - \x05\x07\x02\x07\x02\x12\x04\x92\x06\r\x0f\n\x0c\n\x04\x05\x07\x02\x08\ - \x12\x04\x93\x06\x02\x0b\n\r\n\x05\x05\x07\x02\x08\x01\x12\x04\x93\x06\ - \x02\x05\n\r\n\x05\x05\x07\x02\x08\x02\x12\x04\x93\x06\x08\n\n\x0c\n\x04\ - \x05\x07\x02\t\x12\x04\x94\x06\x02\x0b\n\r\n\x05\x05\x07\x02\t\x01\x12\ - \x04\x94\x06\x02\x05\n\r\n\x05\x05\x07\x02\t\x02\x12\x04\x94\x06\x08\n\n\ - \x0c\n\x04\x05\x07\x02\n\x12\x04\x95\x06\x02\x0e\n\r\n\x05\x05\x07\x02\n\ - \x01\x12\x04\x95\x06\x02\x08\n\r\n\x05\x05\x07\x02\n\x02\x12\x04\x95\x06\ - \x0b\r\n\x0c\n\x04\x05\x07\x02\x0b\x12\x04\x96\x06\x02\t\n\r\n\x05\x05\ - \x07\x02\x0b\x01\x12\x04\x96\x06\x02\x03\n\r\n\x05\x05\x07\x02\x0b\x02\ - \x12\x04\x96\x06\x06\x08\n\x0c\n\x04\x05\x07\x02\x0c\x12\x04\x97\x06\x02\ - \r\n\r\n\x05\x05\x07\x02\x0c\x01\x12\x04\x97\x06\x02\x07\n\r\n\x05\x05\ - \x07\x02\x0c\x02\x12\x04\x97\x06\n\x0c\nH\n\x04\x05\x07\x02\r\x12\x04\ - \x98\x06\x02\x0b\":\x20C++\x20(the\x20name\x20\"CPP\"\x20was\x20chosen\ + languages.\n\n\x0b\n\x03\x05\x07\x01\x12\x04\x90\x06\x05\r\n\x0c\n\x04\ + \x05\x07\x02\0\x12\x04\x91\x06\x02\x1a\n\r\n\x05\x05\x07\x02\0\x01\x12\ + \x04\x91\x06\x02\x15\n\r\n\x05\x05\x07\x02\0\x02\x12\x04\x91\x06\x18\x19\ + \n\x0c\n\x04\x05\x07\x02\x01\x12\x04\x92\x06\x02\x0c\n\r\n\x05\x05\x07\ + \x02\x01\x01\x12\x04\x92\x06\x02\x06\n\r\n\x05\x05\x07\x02\x01\x02\x12\ + \x04\x92\x06\t\x0b\n\x0c\n\x04\x05\x07\x02\x02\x12\x04\x93\x06\x02\x0c\n\ + \r\n\x05\x05\x07\x02\x02\x01\x12\x04\x93\x06\x02\x06\n\r\n\x05\x05\x07\ + \x02\x02\x02\x12\x04\x93\x06\t\x0b\n\x0c\n\x04\x05\x07\x02\x03\x12\x04\ + \x94\x06\x02\x0b\n\r\n\x05\x05\x07\x02\x03\x01\x12\x04\x94\x06\x02\x05\n\ + \r\n\x05\x05\x07\x02\x03\x02\x12\x04\x94\x06\x08\n\n\x0c\n\x04\x05\x07\ + \x02\x04\x12\x04\x95\x06\x02\x0b\n\r\n\x05\x05\x07\x02\x04\x01\x12\x04\ + \x95\x06\x02\x05\n\r\n\x05\x05\x07\x02\x04\x02\x12\x04\x95\x06\x08\n\n\ + \x0c\n\x04\x05\x07\x02\x05\x12\x04\x96\x06\x02\x0c\n\r\n\x05\x05\x07\x02\ + \x05\x01\x12\x04\x96\x06\x02\x06\n\r\n\x05\x05\x07\x02\x05\x02\x12\x04\ + \x96\x06\t\x0b\n\x0c\n\x04\x05\x07\x02\x06\x12\x04\x97\x06\x02\x10\n\r\n\ + \x05\x05\x07\x02\x06\x01\x12\x04\x97\x06\x02\n\n\r\n\x05\x05\x07\x02\x06\ + \x02\x12\x04\x97\x06\r\x0f\n\x0c\n\x04\x05\x07\x02\x07\x12\x04\x98\x06\ + \x02\x10\n\r\n\x05\x05\x07\x02\x07\x01\x12\x04\x98\x06\x02\n\n\r\n\x05\ + \x05\x07\x02\x07\x02\x12\x04\x98\x06\r\x0f\n\x0c\n\x04\x05\x07\x02\x08\ + \x12\x04\x99\x06\x02\x0b\n\r\n\x05\x05\x07\x02\x08\x01\x12\x04\x99\x06\ + \x02\x05\n\r\n\x05\x05\x07\x02\x08\x02\x12\x04\x99\x06\x08\n\n\x0c\n\x04\ + \x05\x07\x02\t\x12\x04\x9a\x06\x02\x0b\n\r\n\x05\x05\x07\x02\t\x01\x12\ + \x04\x9a\x06\x02\x05\n\r\n\x05\x05\x07\x02\t\x02\x12\x04\x9a\x06\x08\n\n\ + \x0c\n\x04\x05\x07\x02\n\x12\x04\x9b\x06\x02\x0e\n\r\n\x05\x05\x07\x02\n\ + \x01\x12\x04\x9b\x06\x02\x08\n\r\n\x05\x05\x07\x02\n\x02\x12\x04\x9b\x06\ + \x0b\r\n\x0c\n\x04\x05\x07\x02\x0b\x12\x04\x9c\x06\x02\t\n\r\n\x05\x05\ + \x07\x02\x0b\x01\x12\x04\x9c\x06\x02\x03\n\r\n\x05\x05\x07\x02\x0b\x02\ + \x12\x04\x9c\x06\x06\x08\n\x0c\n\x04\x05\x07\x02\x0c\x12\x04\x9d\x06\x02\ + \r\n\r\n\x05\x05\x07\x02\x0c\x01\x12\x04\x9d\x06\x02\x07\n\r\n\x05\x05\ + \x07\x02\x0c\x02\x12\x04\x9d\x06\n\x0c\nH\n\x04\x05\x07\x02\r\x12\x04\ + \x9e\x06\x02\x0b\":\x20C++\x20(the\x20name\x20\"CPP\"\x20was\x20chosen\ \x20for\x20consistency\x20with\x20LSP)\n\n\r\n\x05\x05\x07\x02\r\x01\x12\ - \x04\x98\x06\x02\x05\n\r\n\x05\x05\x07\x02\r\x02\x12\x04\x98\x06\x08\n\n\ - \x0c\n\x04\x05\x07\x02\x0e\x12\x04\x99\x06\x02\x0b\n\r\n\x05\x05\x07\x02\ - \x0e\x01\x12\x04\x99\x06\x02\x05\n\r\n\x05\x05\x07\x02\x0e\x02\x12\x04\ - \x99\x06\x08\n\n\x0c\n\x04\x05\x07\x02\x0f\x12\x04\x9a\x06\x02\r\n\r\n\ - \x05\x05\x07\x02\x0f\x01\x12\x04\x9a\x06\x02\x08\n\r\n\x05\x05\x07\x02\ - \x0f\x02\x12\x04\x9a\x06\x0b\x0c\n\x0c\n\x04\x05\x07\x02\x10\x12\x04\x9b\ - \x06\x02\x0e\n\r\n\x05\x05\x07\x02\x10\x01\x12\x04\x9b\x06\x02\t\n\r\n\ - \x05\x05\x07\x02\x10\x02\x12\x04\x9b\x06\x0c\r\n\x0c\n\x04\x05\x07\x02\ - \x11\x12\x04\x9c\x06\x02\x14\n\r\n\x05\x05\x07\x02\x11\x01\x12\x04\x9c\ - \x06\x02\x0e\n\r\n\x05\x05\x07\x02\x11\x02\x12\x04\x9c\x06\x11\x13\n\x0c\ - \n\x04\x05\x07\x02\x12\x12\x04\x9d\x06\x02\x11\n\r\n\x05\x05\x07\x02\x12\ - \x01\x12\x04\x9d\x06\x02\x0c\n\r\n\x05\x05\x07\x02\x12\x02\x12\x04\x9d\ - \x06\x0f\x10\n\x0c\n\x04\x05\x07\x02\x13\x12\x04\x9e\x06\x02\x0b\n\r\n\ - \x05\x05\x07\x02\x13\x01\x12\x04\x9e\x06\x02\x05\n\r\n\x05\x05\x07\x02\ - \x13\x02\x12\x04\x9e\x06\x08\n\n\x0c\n\x04\x05\x07\x02\x14\x12\x04\x9f\ - \x06\x02\x0c\n\r\n\x05\x05\x07\x02\x14\x01\x12\x04\x9f\x06\x02\x06\n\r\n\ - \x05\x05\x07\x02\x14\x02\x12\x04\x9f\x06\t\x0b\n\x0c\n\x04\x05\x07\x02\ - \x15\x12\x04\xa0\x06\x02\x0b\n\r\n\x05\x05\x07\x02\x15\x01\x12\x04\xa0\ - \x06\x02\x06\n\r\n\x05\x05\x07\x02\x15\x02\x12\x04\xa0\x06\t\n\n\x0c\n\ - \x04\x05\x07\x02\x16\x12\x04\xa1\x06\x02\x0e\n\r\n\x05\x05\x07\x02\x16\ - \x01\x12\x04\xa1\x06\x02\x08\n\r\n\x05\x05\x07\x02\x16\x02\x12\x04\xa1\ - \x06\x0b\r\n\x0c\n\x04\x05\x07\x02\x17\x12\x04\xa2\x06\x02\x0c\n\r\n\x05\ - \x05\x07\x02\x17\x01\x12\x04\xa2\x06\x02\x06\n\r\n\x05\x05\x07\x02\x17\ - \x02\x12\x04\xa2\x06\t\x0b\n\x0c\n\x04\x05\x07\x02\x18\x12\x04\xa3\x06\ - \x02\x12\n\r\n\x05\x05\x07\x02\x18\x01\x12\x04\xa3\x06\x02\x0c\n\r\n\x05\ - \x05\x07\x02\x18\x02\x12\x04\xa3\x06\x0f\x11\n\x0c\n\x04\x05\x07\x02\x19\ - \x12\x04\xa4\x06\x02\x0e\n\r\n\x05\x05\x07\x02\x19\x01\x12\x04\xa4\x06\ - \x02\x08\n\r\n\x05\x05\x07\x02\x19\x02\x12\x04\xa4\x06\x0b\r\n\x0c\n\x04\ - \x05\x07\x02\x1a\x12\x04\xa5\x06\x02\x0e\n\r\n\x05\x05\x07\x02\x1a\x01\ - \x12\x04\xa5\x06\x02\x08\n\r\n\x05\x05\x07\x02\x1a\x02\x12\x04\xa5\x06\ - \x0b\r\n\x0c\n\x04\x05\x07\x02\x1b\x12\x04\xa6\x06\x02\x0e\n\r\n\x05\x05\ - \x07\x02\x1b\x01\x12\x04\xa6\x06\x02\x08\n\r\n\x05\x05\x07\x02\x1b\x02\ - \x12\x04\xa6\x06\x0b\r\n\x0c\n\x04\x05\x07\x02\x1c\x12\x04\xa7\x06\x02\ - \x0e\n\r\n\x05\x05\x07\x02\x1c\x01\x12\x04\xa7\x06\x02\x08\n\r\n\x05\x05\ - \x07\x02\x1c\x02\x12\x04\xa7\x06\x0b\r\n\x0c\n\x04\x05\x07\x02\x1d\x12\ - \x04\xa8\x06\x02\x0c\n\r\n\x05\x05\x07\x02\x1d\x01\x12\x04\xa8\x06\x02\ - \x06\n\r\n\x05\x05\x07\x02\x1d\x02\x12\x04\xa8\x06\t\x0b\n\x0c\n\x04\x05\ - \x07\x02\x1e\x12\x04\xa9\x06\x02\x0c\n\r\n\x05\x05\x07\x02\x1e\x01\x12\ - \x04\xa9\x06\x02\x06\n\r\n\x05\x05\x07\x02\x1e\x02\x12\x04\xa9\x06\t\x0b\ - \n\x0c\n\x04\x05\x07\x02\x1f\x12\x04\xaa\x06\x02\x0f\n\r\n\x05\x05\x07\ - \x02\x1f\x01\x12\x04\xaa\x06\x02\t\n\r\n\x05\x05\x07\x02\x1f\x02\x12\x04\ - \xaa\x06\x0c\x0e\n\x0c\n\x04\x05\x07\x02\x20\x12\x04\xab\x06\x02\x12\n\r\ - \n\x05\x05\x07\x02\x20\x01\x12\x04\xab\x06\x02\x0c\n\r\n\x05\x05\x07\x02\ - \x20\x02\x12\x04\xab\x06\x0f\x11\n\x0c\n\x04\x05\x07\x02!\x12\x04\xac\ - \x06\x02\x12\n\r\n\x05\x05\x07\x02!\x01\x12\x04\xac\x06\x02\x0c\n\r\n\ - \x05\x05\x07\x02!\x02\x12\x04\xac\x06\x0f\x11\n\x0c\n\x04\x05\x07\x02\"\ - \x12\x04\xad\x06\x02\x12\n\r\n\x05\x05\x07\x02\"\x01\x12\x04\xad\x06\x02\ - \x0c\n\r\n\x05\x05\x07\x02\"\x02\x12\x04\xad\x06\x0f\x11\n\x0c\n\x04\x05\ - \x07\x02#\x12\x04\xae\x06\x02\n\n\r\n\x05\x05\x07\x02#\x01\x12\x04\xae\ - \x06\x02\x04\n\r\n\x05\x05\x07\x02#\x02\x12\x04\xae\x06\x07\t\n\x0c\n\ - \x04\x05\x07\x02$\x12\x04\xaf\x06\x02\x0f\n\r\n\x05\x05\x07\x02$\x01\x12\ - \x04\xaf\x06\x02\t\n\r\n\x05\x05\x07\x02$\x02\x12\x04\xaf\x06\x0c\x0e\n\ - \x0c\n\x04\x05\x07\x02%\x12\x04\xb0\x06\x02\r\n\r\n\x05\x05\x07\x02%\x01\ - \x12\x04\xb0\x06\x02\x08\n\r\n\x05\x05\x07\x02%\x02\x12\x04\xb0\x06\x0b\ - \x0c\n\x0c\n\x04\x05\x07\x02&\x12\x04\xb1\x06\x02\x0c\n\r\n\x05\x05\x07\ - \x02&\x01\x12\x04\xb1\x06\x02\x06\n\r\n\x05\x05\x07\x02&\x02\x12\x04\xb1\ - \x06\t\x0b\n\x0c\n\x04\x05\x07\x02'\x12\x04\xb2\x06\x02\x0c\n\r\n\x05\ - \x05\x07\x02'\x01\x12\x04\xb2\x06\x02\x06\n\r\n\x05\x05\x07\x02'\x02\x12\ - \x04\xb2\x06\t\x0b\n\x0c\n\x04\x05\x07\x02(\x12\x04\xb3\x06\x02\x12\n\r\ - \n\x05\x05\x07\x02(\x01\x12\x04\xb3\x06\x02\x0c\n\r\n\x05\x05\x07\x02(\ - \x02\x12\x04\xb3\x06\x0f\x11\n\x0c\n\x04\x05\x07\x02)\x12\x04\xb4\x06\ - \x02\x0f\n\r\n\x05\x05\x07\x02)\x01\x12\x04\xb4\x06\x02\t\n\r\n\x05\x05\ - \x07\x02)\x02\x12\x04\xb4\x06\x0c\x0e\n\x0c\n\x04\x05\x07\x02*\x12\x04\ - \xb5\x06\x02\r\n\r\n\x05\x05\x07\x02*\x01\x12\x04\xb5\x06\x02\x07\n\r\n\ - \x05\x05\x07\x02*\x02\x12\x04\xb5\x06\n\x0c\n\x0c\n\x04\x05\x07\x02+\x12\ - \x04\xb6\x06\x02\x0b\n\r\n\x05\x05\x07\x02+\x01\x12\x04\xb6\x06\x02\x05\ - \n\r\n\x05\x05\x07\x02+\x02\x12\x04\xb6\x06\x08\n\n\x0c\n\x04\x05\x07\ - \x02,\x12\x04\xb7\x06\x02\t\n\r\n\x05\x05\x07\x02,\x01\x12\x04\xb7\x06\ - \x02\x03\n\r\n\x05\x05\x07\x02,\x02\x12\x04\xb7\x06\x06\x08\n\x0c\n\x04\ - \x05\x07\x02-\x12\x04\xb8\x06\x02\x0c\n\r\n\x05\x05\x07\x02-\x01\x12\x04\ - \xb8\x06\x02\x06\n\r\n\x05\x05\x07\x02-\x02\x12\x04\xb8\x06\t\x0b\n\x0c\ - \n\x04\x05\x07\x02.\x12\x04\xb9\x06\x02\x0b\n\r\n\x05\x05\x07\x02.\x01\ - \x12\x04\xb9\x06\x02\x06\n\r\n\x05\x05\x07\x02.\x02\x12\x04\xb9\x06\t\n\ - \n\x0c\n\x04\x05\x07\x02/\x12\x04\xba\x06\x02\x12\n\r\n\x05\x05\x07\x02/\ - \x01\x12\x04\xba\x06\x02\x0c\n\r\n\x05\x05\x07\x02/\x02\x12\x04\xba\x06\ - \x0f\x11\n\x0c\n\x04\x05\x07\x020\x12\x04\xbb\x06\x02\x17\n\r\n\x05\x05\ - \x07\x020\x01\x12\x04\xbb\x06\x02\x11\n\r\n\x05\x05\x07\x020\x02\x12\x04\ - \xbb\x06\x14\x16\n\x0c\n\x04\x05\x07\x021\x12\x04\xbc\x06\x02\x0f\n\r\n\ - \x05\x05\x07\x021\x01\x12\x04\xbc\x06\x02\t\n\r\n\x05\x05\x07\x021\x02\ - \x12\x04\xbc\x06\x0c\x0e\n\x0c\n\x04\x05\x07\x022\x12\x04\xbd\x06\x02\r\ - \n\r\n\x05\x05\x07\x022\x01\x12\x04\xbd\x06\x02\x07\n\r\n\x05\x05\x07\ - \x022\x02\x12\x04\xbd\x06\n\x0c\n\x0c\n\x04\x05\x07\x023\x12\x04\xbe\x06\ - \x02\x11\n\r\n\x05\x05\x07\x023\x01\x12\x04\xbe\x06\x02\n\n\r\n\x05\x05\ - \x07\x023\x02\x12\x04\xbe\x06\r\x10\n\x0c\n\x04\x05\x07\x024\x12\x04\xbf\ - \x06\x02\r\n\r\n\x05\x05\x07\x024\x01\x12\x04\xbf\x06\x02\x08\n\r\n\x05\ - \x05\x07\x024\x02\x12\x04\xbf\x06\x0b\x0c\n\x0c\n\x04\x05\x07\x025\x12\ - \x04\xc0\x06\x02\r\n\r\n\x05\x05\x07\x025\x01\x12\x04\xc0\x06\x02\x07\n\ - \r\n\x05\x05\x07\x025\x02\x12\x04\xc0\x06\n\x0c\n\x0c\n\x04\x05\x07\x026\ - \x12\x04\xc1\x06\x02\x0c\n\r\n\x05\x05\x07\x026\x01\x12\x04\xc1\x06\x02\ - \x06\n\r\n\x05\x05\x07\x026\x02\x12\x04\xc1\x06\t\x0b\n\x0c\n\x04\x05\ - \x07\x027\x12\x04\xc2\x06\x02\x0c\n\r\n\x05\x05\x07\x027\x01\x12\x04\xc2\ - \x06\x02\x06\n\r\n\x05\x05\x07\x027\x02\x12\x04\xc2\x06\t\x0b\n\x0c\n\ - \x04\x05\x07\x028\x12\x04\xc3\x06\x02\x0b\n\r\n\x05\x05\x07\x028\x01\x12\ - \x04\xc3\x06\x02\x05\n\r\n\x05\x05\x07\x028\x02\x12\x04\xc3\x06\x08\n\n\ - \x0c\n\x04\x05\x07\x029\x12\x04\xc4\x06\x02\r\n\r\n\x05\x05\x07\x029\x01\ - \x12\x04\xc4\x06\x02\x06\n\r\n\x05\x05\x07\x029\x02\x12\x04\xc4\x06\t\ - \x0c\n\x0c\n\x04\x05\x07\x02:\x12\x04\xc5\x06\x02\x10\n\r\n\x05\x05\x07\ - \x02:\x01\x12\x04\xc5\x06\x02\n\n\r\n\x05\x05\x07\x02:\x02\x12\x04\xc5\ - \x06\r\x0f\n\x0c\n\x04\x05\x07\x02;\x12\x04\xc6\x06\x02\x10\n\r\n\x05\ - \x05\x07\x02;\x01\x12\x04\xc6\x06\x02\n\n\r\n\x05\x05\x07\x02;\x02\x12\ - \x04\xc6\x06\r\x0f\n\x0c\n\x04\x05\x07\x02<\x12\x04\xc7\x06\x02\x0e\n\r\ - \n\x05\x05\x07\x02<\x01\x12\x04\xc7\x06\x02\x08\n\r\n\x05\x05\x07\x02<\ - \x02\x12\x04\xc7\x06\x0b\r\n(\n\x04\x05\x07\x02=\x12\x04\xc8\x06\x02\x0f\ + \x04\x9e\x06\x02\x05\n\r\n\x05\x05\x07\x02\r\x02\x12\x04\x9e\x06\x08\n\n\ + \x0c\n\x04\x05\x07\x02\x0e\x12\x04\x9f\x06\x02\x0b\n\r\n\x05\x05\x07\x02\ + \x0e\x01\x12\x04\x9f\x06\x02\x05\n\r\n\x05\x05\x07\x02\x0e\x02\x12\x04\ + \x9f\x06\x08\n\n\x0c\n\x04\x05\x07\x02\x0f\x12\x04\xa0\x06\x02\r\n\r\n\ + \x05\x05\x07\x02\x0f\x01\x12\x04\xa0\x06\x02\x08\n\r\n\x05\x05\x07\x02\ + \x0f\x02\x12\x04\xa0\x06\x0b\x0c\n\x0c\n\x04\x05\x07\x02\x10\x12\x04\xa1\ + \x06\x02\x0e\n\r\n\x05\x05\x07\x02\x10\x01\x12\x04\xa1\x06\x02\t\n\r\n\ + \x05\x05\x07\x02\x10\x02\x12\x04\xa1\x06\x0c\r\n\x0c\n\x04\x05\x07\x02\ + \x11\x12\x04\xa2\x06\x02\x14\n\r\n\x05\x05\x07\x02\x11\x01\x12\x04\xa2\ + \x06\x02\x0e\n\r\n\x05\x05\x07\x02\x11\x02\x12\x04\xa2\x06\x11\x13\n\x0c\ + \n\x04\x05\x07\x02\x12\x12\x04\xa3\x06\x02\x11\n\r\n\x05\x05\x07\x02\x12\ + \x01\x12\x04\xa3\x06\x02\x0c\n\r\n\x05\x05\x07\x02\x12\x02\x12\x04\xa3\ + \x06\x0f\x10\n\x0c\n\x04\x05\x07\x02\x13\x12\x04\xa4\x06\x02\x0b\n\r\n\ + \x05\x05\x07\x02\x13\x01\x12\x04\xa4\x06\x02\x05\n\r\n\x05\x05\x07\x02\ + \x13\x02\x12\x04\xa4\x06\x08\n\n\x0c\n\x04\x05\x07\x02\x14\x12\x04\xa5\ + \x06\x02\x0c\n\r\n\x05\x05\x07\x02\x14\x01\x12\x04\xa5\x06\x02\x06\n\r\n\ + \x05\x05\x07\x02\x14\x02\x12\x04\xa5\x06\t\x0b\n\x0c\n\x04\x05\x07\x02\ + \x15\x12\x04\xa6\x06\x02\x0b\n\r\n\x05\x05\x07\x02\x15\x01\x12\x04\xa6\ + \x06\x02\x06\n\r\n\x05\x05\x07\x02\x15\x02\x12\x04\xa6\x06\t\n\n\x0c\n\ + \x04\x05\x07\x02\x16\x12\x04\xa7\x06\x02\x0e\n\r\n\x05\x05\x07\x02\x16\ + \x01\x12\x04\xa7\x06\x02\x08\n\r\n\x05\x05\x07\x02\x16\x02\x12\x04\xa7\ + \x06\x0b\r\n\x0c\n\x04\x05\x07\x02\x17\x12\x04\xa8\x06\x02\x0c\n\r\n\x05\ + \x05\x07\x02\x17\x01\x12\x04\xa8\x06\x02\x06\n\r\n\x05\x05\x07\x02\x17\ + \x02\x12\x04\xa8\x06\t\x0b\n\x0c\n\x04\x05\x07\x02\x18\x12\x04\xa9\x06\ + \x02\x12\n\r\n\x05\x05\x07\x02\x18\x01\x12\x04\xa9\x06\x02\x0c\n\r\n\x05\ + \x05\x07\x02\x18\x02\x12\x04\xa9\x06\x0f\x11\n\x0c\n\x04\x05\x07\x02\x19\ + \x12\x04\xaa\x06\x02\x0e\n\r\n\x05\x05\x07\x02\x19\x01\x12\x04\xaa\x06\ + \x02\x08\n\r\n\x05\x05\x07\x02\x19\x02\x12\x04\xaa\x06\x0b\r\n\x0c\n\x04\ + \x05\x07\x02\x1a\x12\x04\xab\x06\x02\x0e\n\r\n\x05\x05\x07\x02\x1a\x01\ + \x12\x04\xab\x06\x02\x08\n\r\n\x05\x05\x07\x02\x1a\x02\x12\x04\xab\x06\ + \x0b\r\n\x0c\n\x04\x05\x07\x02\x1b\x12\x04\xac\x06\x02\x0e\n\r\n\x05\x05\ + \x07\x02\x1b\x01\x12\x04\xac\x06\x02\x08\n\r\n\x05\x05\x07\x02\x1b\x02\ + \x12\x04\xac\x06\x0b\r\n\x0c\n\x04\x05\x07\x02\x1c\x12\x04\xad\x06\x02\ + \x0e\n\r\n\x05\x05\x07\x02\x1c\x01\x12\x04\xad\x06\x02\x08\n\r\n\x05\x05\ + \x07\x02\x1c\x02\x12\x04\xad\x06\x0b\r\n\x0c\n\x04\x05\x07\x02\x1d\x12\ + \x04\xae\x06\x02\x0c\n\r\n\x05\x05\x07\x02\x1d\x01\x12\x04\xae\x06\x02\ + \x06\n\r\n\x05\x05\x07\x02\x1d\x02\x12\x04\xae\x06\t\x0b\n\x0c\n\x04\x05\ + \x07\x02\x1e\x12\x04\xaf\x06\x02\x0c\n\r\n\x05\x05\x07\x02\x1e\x01\x12\ + \x04\xaf\x06\x02\x06\n\r\n\x05\x05\x07\x02\x1e\x02\x12\x04\xaf\x06\t\x0b\ + \n\x0c\n\x04\x05\x07\x02\x1f\x12\x04\xb0\x06\x02\x0f\n\r\n\x05\x05\x07\ + \x02\x1f\x01\x12\x04\xb0\x06\x02\t\n\r\n\x05\x05\x07\x02\x1f\x02\x12\x04\ + \xb0\x06\x0c\x0e\n\x0c\n\x04\x05\x07\x02\x20\x12\x04\xb1\x06\x02\x12\n\r\ + \n\x05\x05\x07\x02\x20\x01\x12\x04\xb1\x06\x02\x0c\n\r\n\x05\x05\x07\x02\ + \x20\x02\x12\x04\xb1\x06\x0f\x11\n\x0c\n\x04\x05\x07\x02!\x12\x04\xb2\ + \x06\x02\x12\n\r\n\x05\x05\x07\x02!\x01\x12\x04\xb2\x06\x02\x0c\n\r\n\ + \x05\x05\x07\x02!\x02\x12\x04\xb2\x06\x0f\x11\n\x0c\n\x04\x05\x07\x02\"\ + \x12\x04\xb3\x06\x02\x12\n\r\n\x05\x05\x07\x02\"\x01\x12\x04\xb3\x06\x02\ + \x0c\n\r\n\x05\x05\x07\x02\"\x02\x12\x04\xb3\x06\x0f\x11\n\x0c\n\x04\x05\ + \x07\x02#\x12\x04\xb4\x06\x02\n\n\r\n\x05\x05\x07\x02#\x01\x12\x04\xb4\ + \x06\x02\x04\n\r\n\x05\x05\x07\x02#\x02\x12\x04\xb4\x06\x07\t\n\x0c\n\ + \x04\x05\x07\x02$\x12\x04\xb5\x06\x02\x0f\n\r\n\x05\x05\x07\x02$\x01\x12\ + \x04\xb5\x06\x02\t\n\r\n\x05\x05\x07\x02$\x02\x12\x04\xb5\x06\x0c\x0e\n\ + \x0c\n\x04\x05\x07\x02%\x12\x04\xb6\x06\x02\r\n\r\n\x05\x05\x07\x02%\x01\ + \x12\x04\xb6\x06\x02\x08\n\r\n\x05\x05\x07\x02%\x02\x12\x04\xb6\x06\x0b\ + \x0c\n\x0c\n\x04\x05\x07\x02&\x12\x04\xb7\x06\x02\x0c\n\r\n\x05\x05\x07\ + \x02&\x01\x12\x04\xb7\x06\x02\x06\n\r\n\x05\x05\x07\x02&\x02\x12\x04\xb7\ + \x06\t\x0b\n\x0c\n\x04\x05\x07\x02'\x12\x04\xb8\x06\x02\x0c\n\r\n\x05\ + \x05\x07\x02'\x01\x12\x04\xb8\x06\x02\x06\n\r\n\x05\x05\x07\x02'\x02\x12\ + \x04\xb8\x06\t\x0b\n\x0c\n\x04\x05\x07\x02(\x12\x04\xb9\x06\x02\x12\n\r\ + \n\x05\x05\x07\x02(\x01\x12\x04\xb9\x06\x02\x0c\n\r\n\x05\x05\x07\x02(\ + \x02\x12\x04\xb9\x06\x0f\x11\n\x0c\n\x04\x05\x07\x02)\x12\x04\xba\x06\ + \x02\x0f\n\r\n\x05\x05\x07\x02)\x01\x12\x04\xba\x06\x02\t\n\r\n\x05\x05\ + \x07\x02)\x02\x12\x04\xba\x06\x0c\x0e\n\x0c\n\x04\x05\x07\x02*\x12\x04\ + \xbb\x06\x02\r\n\r\n\x05\x05\x07\x02*\x01\x12\x04\xbb\x06\x02\x07\n\r\n\ + \x05\x05\x07\x02*\x02\x12\x04\xbb\x06\n\x0c\n\x0c\n\x04\x05\x07\x02+\x12\ + \x04\xbc\x06\x02\x0b\n\r\n\x05\x05\x07\x02+\x01\x12\x04\xbc\x06\x02\x05\ + \n\r\n\x05\x05\x07\x02+\x02\x12\x04\xbc\x06\x08\n\n\x0c\n\x04\x05\x07\ + \x02,\x12\x04\xbd\x06\x02\t\n\r\n\x05\x05\x07\x02,\x01\x12\x04\xbd\x06\ + \x02\x03\n\r\n\x05\x05\x07\x02,\x02\x12\x04\xbd\x06\x06\x08\n\x0c\n\x04\ + \x05\x07\x02-\x12\x04\xbe\x06\x02\x0c\n\r\n\x05\x05\x07\x02-\x01\x12\x04\ + \xbe\x06\x02\x06\n\r\n\x05\x05\x07\x02-\x02\x12\x04\xbe\x06\t\x0b\n\x0c\ + \n\x04\x05\x07\x02.\x12\x04\xbf\x06\x02\x0b\n\r\n\x05\x05\x07\x02.\x01\ + \x12\x04\xbf\x06\x02\x06\n\r\n\x05\x05\x07\x02.\x02\x12\x04\xbf\x06\t\n\ + \n\x0c\n\x04\x05\x07\x02/\x12\x04\xc0\x06\x02\x12\n\r\n\x05\x05\x07\x02/\ + \x01\x12\x04\xc0\x06\x02\x0c\n\r\n\x05\x05\x07\x02/\x02\x12\x04\xc0\x06\ + \x0f\x11\n\x0c\n\x04\x05\x07\x020\x12\x04\xc1\x06\x02\x17\n\r\n\x05\x05\ + \x07\x020\x01\x12\x04\xc1\x06\x02\x11\n\r\n\x05\x05\x07\x020\x02\x12\x04\ + \xc1\x06\x14\x16\n\x0c\n\x04\x05\x07\x021\x12\x04\xc2\x06\x02\x0f\n\r\n\ + \x05\x05\x07\x021\x01\x12\x04\xc2\x06\x02\t\n\r\n\x05\x05\x07\x021\x02\ + \x12\x04\xc2\x06\x0c\x0e\n\x0c\n\x04\x05\x07\x022\x12\x04\xc3\x06\x02\r\ + \n\r\n\x05\x05\x07\x022\x01\x12\x04\xc3\x06\x02\x07\n\r\n\x05\x05\x07\ + \x022\x02\x12\x04\xc3\x06\n\x0c\n\x0c\n\x04\x05\x07\x023\x12\x04\xc4\x06\ + \x02\x11\n\r\n\x05\x05\x07\x023\x01\x12\x04\xc4\x06\x02\n\n\r\n\x05\x05\ + \x07\x023\x02\x12\x04\xc4\x06\r\x10\n\x0c\n\x04\x05\x07\x024\x12\x04\xc5\ + \x06\x02\r\n\r\n\x05\x05\x07\x024\x01\x12\x04\xc5\x06\x02\x08\n\r\n\x05\ + \x05\x07\x024\x02\x12\x04\xc5\x06\x0b\x0c\n\x0c\n\x04\x05\x07\x025\x12\ + \x04\xc6\x06\x02\r\n\r\n\x05\x05\x07\x025\x01\x12\x04\xc6\x06\x02\x07\n\ + \r\n\x05\x05\x07\x025\x02\x12\x04\xc6\x06\n\x0c\n\x0c\n\x04\x05\x07\x026\ + \x12\x04\xc7\x06\x02\x0c\n\r\n\x05\x05\x07\x026\x01\x12\x04\xc7\x06\x02\ + \x06\n\r\n\x05\x05\x07\x026\x02\x12\x04\xc7\x06\t\x0b\n\x0c\n\x04\x05\ + \x07\x027\x12\x04\xc8\x06\x02\x0c\n\r\n\x05\x05\x07\x027\x01\x12\x04\xc8\ + \x06\x02\x06\n\r\n\x05\x05\x07\x027\x02\x12\x04\xc8\x06\t\x0b\n\x0c\n\ + \x04\x05\x07\x028\x12\x04\xc9\x06\x02\x0b\n\r\n\x05\x05\x07\x028\x01\x12\ + \x04\xc9\x06\x02\x05\n\r\n\x05\x05\x07\x028\x02\x12\x04\xc9\x06\x08\n\n\ + \x0c\n\x04\x05\x07\x029\x12\x04\xca\x06\x02\r\n\r\n\x05\x05\x07\x029\x01\ + \x12\x04\xca\x06\x02\x06\n\r\n\x05\x05\x07\x029\x02\x12\x04\xca\x06\t\ + \x0c\n\x0c\n\x04\x05\x07\x02:\x12\x04\xcb\x06\x02\x10\n\r\n\x05\x05\x07\ + \x02:\x01\x12\x04\xcb\x06\x02\n\n\r\n\x05\x05\x07\x02:\x02\x12\x04\xcb\ + \x06\r\x0f\n\x0c\n\x04\x05\x07\x02;\x12\x04\xcc\x06\x02\x10\n\r\n\x05\ + \x05\x07\x02;\x01\x12\x04\xcc\x06\x02\n\n\r\n\x05\x05\x07\x02;\x02\x12\ + \x04\xcc\x06\r\x0f\n\x0c\n\x04\x05\x07\x02<\x12\x04\xcd\x06\x02\x0e\n\r\ + \n\x05\x05\x07\x02<\x01\x12\x04\xcd\x06\x02\x08\n\r\n\x05\x05\x07\x02<\ + \x02\x12\x04\xcd\x06\x0b\r\n(\n\x04\x05\x07\x02=\x12\x04\xce\x06\x02\x0f\ \"\x1a\x20https://nickel-lang.org/\n\n\r\n\x05\x05\x07\x02=\x01\x12\x04\ - \xc8\x06\x02\x08\n\r\n\x05\x05\x07\x02=\x02\x12\x04\xc8\x06\x0b\x0e\n\ - \x0c\n\x04\x05\x07\x02>\x12\x04\xc9\x06\x02\x0b\n\r\n\x05\x05\x07\x02>\ - \x01\x12\x04\xc9\x06\x02\x05\n\r\n\x05\x05\x07\x02>\x02\x12\x04\xc9\x06\ - \x08\n\n\x0c\n\x04\x05\x07\x02?\x12\x04\xca\x06\x02\r\n\r\n\x05\x05\x07\ - \x02?\x01\x12\x04\xca\x06\x02\x07\n\r\n\x05\x05\x07\x02?\x02\x12\x04\xca\ - \x06\n\x0c\n\x0c\n\x04\x05\x07\x02@\x12\x04\xcb\x06\x02\x13\n\r\n\x05\ - \x05\x07\x02@\x01\x12\x04\xcb\x06\x02\r\n\r\n\x05\x05\x07\x02@\x02\x12\ - \x04\xcb\x06\x10\x12\n\x0c\n\x04\x05\x07\x02A\x12\x04\xcc\x06\x02\x15\n\ - \r\n\x05\x05\x07\x02A\x01\x12\x04\xcc\x06\x02\x0f\n\r\n\x05\x05\x07\x02A\ - \x02\x12\x04\xcc\x06\x12\x14\n\x0c\n\x04\x05\x07\x02B\x12\x04\xcd\x06\ - \x02\x0e\n\r\n\x05\x05\x07\x02B\x01\x12\x04\xcd\x06\x02\x08\n\r\n\x05\ - \x05\x07\x02B\x02\x12\x04\xcd\x06\x0b\r\n\x0c\n\x04\x05\x07\x02C\x12\x04\ - \xce\x06\x02\x0b\n\r\n\x05\x05\x07\x02C\x01\x12\x04\xce\x06\x02\x05\n\r\ - \n\x05\x05\x07\x02C\x02\x12\x04\xce\x06\x08\n\n\x0c\n\x04\x05\x07\x02D\ - \x12\x04\xcf\x06\x02\r\n\r\n\x05\x05\x07\x02D\x01\x12\x04\xcf\x06\x02\ - \x07\n\r\n\x05\x05\x07\x02D\x02\x12\x04\xcf\x06\n\x0c\n\x0c\n\x04\x05\ - \x07\x02E\x12\x04\xd0\x06\x02\x0c\n\r\n\x05\x05\x07\x02E\x01\x12\x04\xd0\ - \x06\x02\x06\n\r\n\x05\x05\x07\x02E\x02\x12\x04\xd0\x06\t\x0b\n\x0c\n\ - \x04\x05\x07\x02F\x12\x04\xd1\x06\x02\x12\n\r\n\x05\x05\x07\x02F\x01\x12\ - \x04\xd1\x06\x02\x0c\n\r\n\x05\x05\x07\x02F\x02\x12\x04\xd1\x06\x0f\x11\ - \n\x0c\n\x04\x05\x07\x02G\x12\x04\xd2\x06\x02\x0e\n\r\n\x05\x05\x07\x02G\ - \x01\x12\x04\xd2\x06\x02\x08\n\r\n\x05\x05\x07\x02G\x02\x12\x04\xd2\x06\ - \x0b\r\n\x0c\n\x04\x05\x07\x02H\x12\x04\xd3\x06\x02\x11\n\r\n\x05\x05\ - \x07\x02H\x01\x12\x04\xd3\x06\x02\n\n\r\n\x05\x05\x07\x02H\x02\x12\x04\ - \xd3\x06\r\x10\n\x0c\n\x04\x05\x07\x02I\x12\x04\xd4\x06\x02\x0e\n\r\n\ - \x05\x05\x07\x02I\x01\x12\x04\xd4\x06\x02\x08\n\r\n\x05\x05\x07\x02I\x02\ - \x12\x04\xd4\x06\x0b\r\n\x0c\n\x04\x05\x07\x02J\x12\x04\xd5\x06\x02\t\n\ - \r\n\x05\x05\x07\x02J\x01\x12\x04\xd5\x06\x02\x03\n\r\n\x05\x05\x07\x02J\ - \x02\x12\x04\xd5\x06\x06\x08\n\x0c\n\x04\x05\x07\x02K\x12\x04\xd6\x06\ - \x02\x0e\n\r\n\x05\x05\x07\x02K\x01\x12\x04\xd6\x06\x02\x08\n\r\n\x05\ - \x05\x07\x02K\x02\x12\x04\xd6\x06\x0b\r\n\x0c\n\x04\x05\x07\x02L\x12\x04\ - \xd7\x06\x02\x0c\n\r\n\x05\x05\x07\x02L\x01\x12\x04\xd7\x06\x02\x06\n\r\ - \n\x05\x05\x07\x02L\x02\x12\x04\xd7\x06\t\x0b\n\x0c\n\x04\x05\x07\x02M\ - \x12\x04\xd8\x06\x02\r\n\r\n\x05\x05\x07\x02M\x01\x12\x04\xd8\x06\x02\ - \x07\n\r\n\x05\x05\x07\x02M\x02\x12\x04\xd8\x06\n\x0c\n2\n\x04\x05\x07\ - \x02N\x12\x04\xd9\x06\x02\x0e\"$\x20Internal\x20language\x20for\x20testi\ - ng\x20SCIP\n\n\r\n\x05\x05\x07\x02N\x01\x12\x04\xd9\x06\x02\x07\n\r\n\ - \x05\x05\x07\x02N\x02\x12\x04\xd9\x06\n\r\n\x0c\n\x04\x05\x07\x02O\x12\ - \x04\xda\x06\x02\x0c\n\r\n\x05\x05\x07\x02O\x01\x12\x04\xda\x06\x02\x06\ - \n\r\n\x05\x05\x07\x02O\x02\x12\x04\xda\x06\t\x0b\n\x0c\n\x04\x05\x07\ - \x02P\x12\x04\xdb\x06\x02\x0c\n\r\n\x05\x05\x07\x02P\x01\x12\x04\xdb\x06\ - \x02\x06\n\r\n\x05\x05\x07\x02P\x02\x12\x04\xdb\x06\t\x0b\n\x0c\n\x04\ - \x05\x07\x02Q\x12\x04\xdc\x06\x02\x0c\n\r\n\x05\x05\x07\x02Q\x01\x12\x04\ - \xdc\x06\x02\x06\n\r\n\x05\x05\x07\x02Q\x02\x12\x04\xdc\x06\t\x0b\n\x0c\ - \n\x04\x05\x07\x02R\x12\x04\xdd\x06\x02\x0b\n\r\n\x05\x05\x07\x02R\x01\ - \x12\x04\xdd\x06\x02\x05\n\r\n\x05\x05\x07\x02R\x02\x12\x04\xdd\x06\x08\ - \n\n\x0c\n\x04\x05\x07\x02S\x12\x04\xde\x06\x02\x0c\n\r\n\x05\x05\x07\ - \x02S\x01\x12\x04\xde\x06\x02\x06\n\r\n\x05\x05\x07\x02S\x02\x12\x04\xde\ - \x06\t\x0b\n\x0c\n\x04\x05\x07\x02T\x12\x04\xdf\x06\x02\x0b\n\r\n\x05\ - \x05\x07\x02T\x01\x12\x04\xdf\x06\x02\x05\n\r\n\x05\x05\x07\x02T\x02\x12\ - \x04\xdf\x06\x08\n\n\x0c\n\x04\x05\x07\x02U\x12\x04\xe0\x06\x02\x0b\n\r\ - \n\x05\x05\x07\x02U\x01\x12\x04\xe0\x06\x02\x05\n\r\n\x05\x05\x07\x02U\ - \x02\x12\x04\xe0\x06\x08\n\n\x0c\n\x04\x05\x07\x02V\x12\x04\xe1\x06\x02\ - \x0c\n\r\n\x05\x05\x07\x02V\x01\x12\x04\xe1\x06\x02\x06\n\r\n\x05\x05\ - \x07\x02V\x02\x12\x04\xe1\x06\t\x0b\n\x0c\n\x04\x05\x07\x02W\x12\x04\xe2\ - \x06\x02\x0c\n\r\n\x05\x05\x07\x02W\x01\x12\x04\xe2\x06\x02\x07\n\r\n\ - \x05\x05\x07\x02W\x02\x12\x04\xe2\x06\n\x0b\n\x0c\n\x04\x05\x07\x02X\x12\ - \x04\xe3\x06\x02\x0e\n\r\n\x05\x05\x07\x02X\x01\x12\x04\xe3\x06\x02\x08\ - \n\r\n\x05\x05\x07\x02X\x02\x12\x04\xe3\x06\x0b\r\n\x14\n\x04\x05\x07\ - \x02Y\x12\x04\xe4\x06\x02\x13\"\x06\x20Bash\n\n\r\n\x05\x05\x07\x02Y\x01\ - \x12\x04\xe4\x06\x02\r\n\r\n\x05\x05\x07\x02Y\x02\x12\x04\xe4\x06\x10\ - \x12\n\x0c\n\x04\x05\x07\x02Z\x12\x04\xe5\x06\x02\x0f\n\r\n\x05\x05\x07\ - \x02Z\x01\x12\x04\xe5\x06\x02\t\n\r\n\x05\x05\x07\x02Z\x02\x12\x04\xe5\ - \x06\x0c\x0e\n\x0c\n\x04\x05\x07\x02[\x12\x04\xe6\x06\x02\x0e\n\r\n\x05\ - \x05\x07\x02[\x01\x12\x04\xe6\x06\x02\x07\n\r\n\x05\x05\x07\x02[\x02\x12\ - \x04\xe6\x06\n\r\n\x0c\n\x04\x05\x07\x02\\\x12\x04\xe7\x06\x02\x10\n\r\n\ - \x05\x05\x07\x02\\\x01\x12\x04\xe7\x06\x02\n\n\r\n\x05\x05\x07\x02\\\x02\ - \x12\x04\xe7\x06\r\x0f\n\x0c\n\x04\x05\x07\x02]\x12\x04\xe8\x06\x02\x0f\ - \n\r\n\x05\x05\x07\x02]\x01\x12\x04\xe8\x06\x02\x08\n\r\n\x05\x05\x07\ - \x02]\x02\x12\x04\xe8\x06\x0b\x0e\n\x0c\n\x04\x05\x07\x02^\x12\x04\xe9\ - \x06\x02\x0c\n\r\n\x05\x05\x07\x02^\x01\x12\x04\xe9\x06\x02\x07\n\r\n\ - \x05\x05\x07\x02^\x02\x12\x04\xe9\x06\n\x0b\n\x0c\n\x04\x05\x07\x02_\x12\ - \x04\xea\x06\x02\x0c\n\r\n\x05\x05\x07\x02_\x01\x12\x04\xea\x06\x02\x05\ - \n\r\n\x05\x05\x07\x02_\x02\x12\x04\xea\x06\x08\x0b\n\x0c\n\x04\x05\x07\ - \x02`\x12\x04\xeb\x06\x02\x0c\n\r\n\x05\x05\x07\x02`\x01\x12\x04\xeb\x06\ - \x02\x06\n\r\n\x05\x05\x07\x02`\x02\x12\x04\xeb\x06\t\x0b\n\x0c\n\x04\ - \x05\x07\x02a\x12\x04\xec\x06\x02\x0b\n\r\n\x05\x05\x07\x02a\x01\x12\x04\ - \xec\x06\x02\x05\n\r\n\x05\x05\x07\x02a\x02\x12\x04\xec\x06\x08\n\n\x0c\ - \n\x04\x05\x07\x02b\x12\x04\xed\x06\x02\x0f\n\r\n\x05\x05\x07\x02b\x01\ - \x12\x04\xed\x06\x02\x08\n\r\n\x05\x05\x07\x02b\x02\x12\x04\xed\x06\x0b\ - \x0e\n\x0c\n\x04\x05\x07\x02c\x12\x04\xee\x06\x02\x12\n\r\n\x05\x05\x07\ - \x02c\x01\x12\x04\xee\x06\x02\x0c\n\r\n\x05\x05\x07\x02c\x02\x12\x04\xee\ - \x06\x0f\x11\n\x0c\n\x04\x05\x07\x02d\x12\x04\xef\x06\x02\x17\n\r\n\x05\ - \x05\x07\x02d\x01\x12\x04\xef\x06\x02\x11\n\r\n\x05\x05\x07\x02d\x02\x12\ - \x04\xef\x06\x14\x16\n\x0c\n\x04\x05\x07\x02e\x12\x04\xf0\x06\x02\x10\n\ - \r\n\x05\x05\x07\x02e\x01\x12\x04\xf0\x06\x02\t\n\r\n\x05\x05\x07\x02e\ - \x02\x12\x04\xf0\x06\x0c\x0f\n\x0c\n\x04\x05\x07\x02f\x12\x04\xf1\x06\ - \x02\r\n\r\n\x05\x05\x07\x02f\x01\x12\x04\xf1\x06\x02\x06\n\r\n\x05\x05\ - \x07\x02f\x02\x12\x04\xf1\x06\t\x0c\n\x0c\n\x04\x05\x07\x02g\x12\x04\xf2\ - \x06\x02\x13\n\r\n\x05\x05\x07\x02g\x01\x12\x04\xf2\x06\x02\r\n\r\n\x05\ - \x05\x07\x02g\x02\x12\x04\xf2\x06\x10\x12\n\x0c\n\x04\x05\x07\x02h\x12\ - \x04\xf3\x06\x02\x0b\n\r\n\x05\x05\x07\x02h\x01\x12\x04\xf3\x06\x02\x05\ - \n\r\n\x05\x05\x07\x02h\x02\x12\x04\xf3\x06\x08\n\n\x0c\n\x04\x05\x07\ - \x02i\x12\x04\xf4\x06\x02\x0f\n\r\n\x05\x05\x07\x02i\x01\x12\x04\xf4\x06\ - \x02\t\n\r\n\x05\x05\x07\x02i\x02\x12\x04\xf4\x06\x0c\x0e\n\x0c\n\x04\ - \x05\x07\x02j\x12\x04\xf5\x06\x02\x0b\n\r\n\x05\x05\x07\x02j\x01\x12\x04\ - \xf5\x06\x02\x05\n\r\n\x05\x05\x07\x02j\x02\x12\x04\xf5\x06\x08\n\n\x0c\ - \n\x04\x05\x07\x02k\x12\x04\xf6\x06\x02\x0b\n\r\n\x05\x05\x07\x02k\x01\ - \x12\x04\xf6\x06\x02\x05\n\r\n\x05\x05\x07\x02k\x02\x12\x04\xf6\x06\x08\ - \n\n\x0c\n\x04\x05\x07\x02l\x12\x04\xf7\x06\x02\x0c\n\r\n\x05\x05\x07\ - \x02l\x01\x12\x04\xf7\x06\x02\x06\n\r\n\x05\x05\x07\x02l\x02\x12\x04\xf7\ - \x06\t\x0b\n\x93\x03\n\x04\x05\x07\x02m\x12\x04\xf8\x06\x02\x0b\"\x84\ + \xce\x06\x02\x08\n\r\n\x05\x05\x07\x02=\x02\x12\x04\xce\x06\x0b\x0e\n\ + \x0c\n\x04\x05\x07\x02>\x12\x04\xcf\x06\x02\x0b\n\r\n\x05\x05\x07\x02>\ + \x01\x12\x04\xcf\x06\x02\x05\n\r\n\x05\x05\x07\x02>\x02\x12\x04\xcf\x06\ + \x08\n\n\x0c\n\x04\x05\x07\x02?\x12\x04\xd0\x06\x02\r\n\r\n\x05\x05\x07\ + \x02?\x01\x12\x04\xd0\x06\x02\x07\n\r\n\x05\x05\x07\x02?\x02\x12\x04\xd0\ + \x06\n\x0c\n\x0c\n\x04\x05\x07\x02@\x12\x04\xd1\x06\x02\x13\n\r\n\x05\ + \x05\x07\x02@\x01\x12\x04\xd1\x06\x02\r\n\r\n\x05\x05\x07\x02@\x02\x12\ + \x04\xd1\x06\x10\x12\n\x0c\n\x04\x05\x07\x02A\x12\x04\xd2\x06\x02\x15\n\ + \r\n\x05\x05\x07\x02A\x01\x12\x04\xd2\x06\x02\x0f\n\r\n\x05\x05\x07\x02A\ + \x02\x12\x04\xd2\x06\x12\x14\n\x0c\n\x04\x05\x07\x02B\x12\x04\xd3\x06\ + \x02\x0e\n\r\n\x05\x05\x07\x02B\x01\x12\x04\xd3\x06\x02\x08\n\r\n\x05\ + \x05\x07\x02B\x02\x12\x04\xd3\x06\x0b\r\n\x0c\n\x04\x05\x07\x02C\x12\x04\ + \xd4\x06\x02\x0b\n\r\n\x05\x05\x07\x02C\x01\x12\x04\xd4\x06\x02\x05\n\r\ + \n\x05\x05\x07\x02C\x02\x12\x04\xd4\x06\x08\n\n\x0c\n\x04\x05\x07\x02D\ + \x12\x04\xd5\x06\x02\r\n\r\n\x05\x05\x07\x02D\x01\x12\x04\xd5\x06\x02\ + \x07\n\r\n\x05\x05\x07\x02D\x02\x12\x04\xd5\x06\n\x0c\n\x0c\n\x04\x05\ + \x07\x02E\x12\x04\xd6\x06\x02\x0c\n\r\n\x05\x05\x07\x02E\x01\x12\x04\xd6\ + \x06\x02\x06\n\r\n\x05\x05\x07\x02E\x02\x12\x04\xd6\x06\t\x0b\n\x0c\n\ + \x04\x05\x07\x02F\x12\x04\xd7\x06\x02\x12\n\r\n\x05\x05\x07\x02F\x01\x12\ + \x04\xd7\x06\x02\x0c\n\r\n\x05\x05\x07\x02F\x02\x12\x04\xd7\x06\x0f\x11\ + \n\x0c\n\x04\x05\x07\x02G\x12\x04\xd8\x06\x02\x0e\n\r\n\x05\x05\x07\x02G\ + \x01\x12\x04\xd8\x06\x02\x08\n\r\n\x05\x05\x07\x02G\x02\x12\x04\xd8\x06\ + \x0b\r\n\x0c\n\x04\x05\x07\x02H\x12\x04\xd9\x06\x02\x11\n\r\n\x05\x05\ + \x07\x02H\x01\x12\x04\xd9\x06\x02\n\n\r\n\x05\x05\x07\x02H\x02\x12\x04\ + \xd9\x06\r\x10\n\x0c\n\x04\x05\x07\x02I\x12\x04\xda\x06\x02\x0e\n\r\n\ + \x05\x05\x07\x02I\x01\x12\x04\xda\x06\x02\x08\n\r\n\x05\x05\x07\x02I\x02\ + \x12\x04\xda\x06\x0b\r\n\x0c\n\x04\x05\x07\x02J\x12\x04\xdb\x06\x02\t\n\ + \r\n\x05\x05\x07\x02J\x01\x12\x04\xdb\x06\x02\x03\n\r\n\x05\x05\x07\x02J\ + \x02\x12\x04\xdb\x06\x06\x08\n\x0c\n\x04\x05\x07\x02K\x12\x04\xdc\x06\ + \x02\x0e\n\r\n\x05\x05\x07\x02K\x01\x12\x04\xdc\x06\x02\x08\n\r\n\x05\ + \x05\x07\x02K\x02\x12\x04\xdc\x06\x0b\r\n\x0c\n\x04\x05\x07\x02L\x12\x04\ + \xdd\x06\x02\x0c\n\r\n\x05\x05\x07\x02L\x01\x12\x04\xdd\x06\x02\x06\n\r\ + \n\x05\x05\x07\x02L\x02\x12\x04\xdd\x06\t\x0b\n\x0c\n\x04\x05\x07\x02M\ + \x12\x04\xde\x06\x02\r\n\r\n\x05\x05\x07\x02M\x01\x12\x04\xde\x06\x02\ + \x07\n\r\n\x05\x05\x07\x02M\x02\x12\x04\xde\x06\n\x0c\n2\n\x04\x05\x07\ + \x02N\x12\x04\xdf\x06\x02\x0e\"$\x20Internal\x20language\x20for\x20testi\ + ng\x20SCIP\n\n\r\n\x05\x05\x07\x02N\x01\x12\x04\xdf\x06\x02\x07\n\r\n\ + \x05\x05\x07\x02N\x02\x12\x04\xdf\x06\n\r\n\x0c\n\x04\x05\x07\x02O\x12\ + \x04\xe0\x06\x02\x0c\n\r\n\x05\x05\x07\x02O\x01\x12\x04\xe0\x06\x02\x06\ + \n\r\n\x05\x05\x07\x02O\x02\x12\x04\xe0\x06\t\x0b\n\x0c\n\x04\x05\x07\ + \x02P\x12\x04\xe1\x06\x02\x0c\n\r\n\x05\x05\x07\x02P\x01\x12\x04\xe1\x06\ + \x02\x06\n\r\n\x05\x05\x07\x02P\x02\x12\x04\xe1\x06\t\x0b\n\x0c\n\x04\ + \x05\x07\x02Q\x12\x04\xe2\x06\x02\x0c\n\r\n\x05\x05\x07\x02Q\x01\x12\x04\ + \xe2\x06\x02\x06\n\r\n\x05\x05\x07\x02Q\x02\x12\x04\xe2\x06\t\x0b\n\x0c\ + \n\x04\x05\x07\x02R\x12\x04\xe3\x06\x02\x0b\n\r\n\x05\x05\x07\x02R\x01\ + \x12\x04\xe3\x06\x02\x05\n\r\n\x05\x05\x07\x02R\x02\x12\x04\xe3\x06\x08\ + \n\n\x0c\n\x04\x05\x07\x02S\x12\x04\xe4\x06\x02\x0c\n\r\n\x05\x05\x07\ + \x02S\x01\x12\x04\xe4\x06\x02\x06\n\r\n\x05\x05\x07\x02S\x02\x12\x04\xe4\ + \x06\t\x0b\n\x0c\n\x04\x05\x07\x02T\x12\x04\xe5\x06\x02\x0b\n\r\n\x05\ + \x05\x07\x02T\x01\x12\x04\xe5\x06\x02\x05\n\r\n\x05\x05\x07\x02T\x02\x12\ + \x04\xe5\x06\x08\n\n\x0c\n\x04\x05\x07\x02U\x12\x04\xe6\x06\x02\x0b\n\r\ + \n\x05\x05\x07\x02U\x01\x12\x04\xe6\x06\x02\x05\n\r\n\x05\x05\x07\x02U\ + \x02\x12\x04\xe6\x06\x08\n\n\x0c\n\x04\x05\x07\x02V\x12\x04\xe7\x06\x02\ + \x0c\n\r\n\x05\x05\x07\x02V\x01\x12\x04\xe7\x06\x02\x06\n\r\n\x05\x05\ + \x07\x02V\x02\x12\x04\xe7\x06\t\x0b\n\x0c\n\x04\x05\x07\x02W\x12\x04\xe8\ + \x06\x02\x0c\n\r\n\x05\x05\x07\x02W\x01\x12\x04\xe8\x06\x02\x07\n\r\n\ + \x05\x05\x07\x02W\x02\x12\x04\xe8\x06\n\x0b\n\x0c\n\x04\x05\x07\x02X\x12\ + \x04\xe9\x06\x02\x0e\n\r\n\x05\x05\x07\x02X\x01\x12\x04\xe9\x06\x02\x08\ + \n\r\n\x05\x05\x07\x02X\x02\x12\x04\xe9\x06\x0b\r\n\x14\n\x04\x05\x07\ + \x02Y\x12\x04\xea\x06\x02\x13\"\x06\x20Bash\n\n\r\n\x05\x05\x07\x02Y\x01\ + \x12\x04\xea\x06\x02\r\n\r\n\x05\x05\x07\x02Y\x02\x12\x04\xea\x06\x10\ + \x12\n\x0c\n\x04\x05\x07\x02Z\x12\x04\xeb\x06\x02\x0f\n\r\n\x05\x05\x07\ + \x02Z\x01\x12\x04\xeb\x06\x02\t\n\r\n\x05\x05\x07\x02Z\x02\x12\x04\xeb\ + \x06\x0c\x0e\n\x0c\n\x04\x05\x07\x02[\x12\x04\xec\x06\x02\x0e\n\r\n\x05\ + \x05\x07\x02[\x01\x12\x04\xec\x06\x02\x07\n\r\n\x05\x05\x07\x02[\x02\x12\ + \x04\xec\x06\n\r\n\x0c\n\x04\x05\x07\x02\\\x12\x04\xed\x06\x02\x10\n\r\n\ + \x05\x05\x07\x02\\\x01\x12\x04\xed\x06\x02\n\n\r\n\x05\x05\x07\x02\\\x02\ + \x12\x04\xed\x06\r\x0f\n\x0c\n\x04\x05\x07\x02]\x12\x04\xee\x06\x02\x0f\ + \n\r\n\x05\x05\x07\x02]\x01\x12\x04\xee\x06\x02\x08\n\r\n\x05\x05\x07\ + \x02]\x02\x12\x04\xee\x06\x0b\x0e\n\x0c\n\x04\x05\x07\x02^\x12\x04\xef\ + \x06\x02\x0c\n\r\n\x05\x05\x07\x02^\x01\x12\x04\xef\x06\x02\x07\n\r\n\ + \x05\x05\x07\x02^\x02\x12\x04\xef\x06\n\x0b\n\x0c\n\x04\x05\x07\x02_\x12\ + \x04\xf0\x06\x02\x0c\n\r\n\x05\x05\x07\x02_\x01\x12\x04\xf0\x06\x02\x05\ + \n\r\n\x05\x05\x07\x02_\x02\x12\x04\xf0\x06\x08\x0b\n\x0c\n\x04\x05\x07\ + \x02`\x12\x04\xf1\x06\x02\x0c\n\r\n\x05\x05\x07\x02`\x01\x12\x04\xf1\x06\ + \x02\x06\n\r\n\x05\x05\x07\x02`\x02\x12\x04\xf1\x06\t\x0b\n\x0c\n\x04\ + \x05\x07\x02a\x12\x04\xf2\x06\x02\x0b\n\r\n\x05\x05\x07\x02a\x01\x12\x04\ + \xf2\x06\x02\x05\n\r\n\x05\x05\x07\x02a\x02\x12\x04\xf2\x06\x08\n\n\x0c\ + \n\x04\x05\x07\x02b\x12\x04\xf3\x06\x02\x0f\n\r\n\x05\x05\x07\x02b\x01\ + \x12\x04\xf3\x06\x02\x08\n\r\n\x05\x05\x07\x02b\x02\x12\x04\xf3\x06\x0b\ + \x0e\n\x0c\n\x04\x05\x07\x02c\x12\x04\xf4\x06\x02\x12\n\r\n\x05\x05\x07\ + \x02c\x01\x12\x04\xf4\x06\x02\x0c\n\r\n\x05\x05\x07\x02c\x02\x12\x04\xf4\ + \x06\x0f\x11\n\x0c\n\x04\x05\x07\x02d\x12\x04\xf5\x06\x02\x17\n\r\n\x05\ + \x05\x07\x02d\x01\x12\x04\xf5\x06\x02\x11\n\r\n\x05\x05\x07\x02d\x02\x12\ + \x04\xf5\x06\x14\x16\n\x0c\n\x04\x05\x07\x02e\x12\x04\xf6\x06\x02\x10\n\ + \r\n\x05\x05\x07\x02e\x01\x12\x04\xf6\x06\x02\t\n\r\n\x05\x05\x07\x02e\ + \x02\x12\x04\xf6\x06\x0c\x0f\n\x0c\n\x04\x05\x07\x02f\x12\x04\xf7\x06\ + \x02\r\n\r\n\x05\x05\x07\x02f\x01\x12\x04\xf7\x06\x02\x06\n\r\n\x05\x05\ + \x07\x02f\x02\x12\x04\xf7\x06\t\x0c\n\x0c\n\x04\x05\x07\x02g\x12\x04\xf8\ + \x06\x02\x13\n\r\n\x05\x05\x07\x02g\x01\x12\x04\xf8\x06\x02\r\n\r\n\x05\ + \x05\x07\x02g\x02\x12\x04\xf8\x06\x10\x12\n\x0c\n\x04\x05\x07\x02h\x12\ + \x04\xf9\x06\x02\x0b\n\r\n\x05\x05\x07\x02h\x01\x12\x04\xf9\x06\x02\x05\ + \n\r\n\x05\x05\x07\x02h\x02\x12\x04\xf9\x06\x08\n\n\x0c\n\x04\x05\x07\ + \x02i\x12\x04\xfa\x06\x02\x0f\n\r\n\x05\x05\x07\x02i\x01\x12\x04\xfa\x06\ + \x02\t\n\r\n\x05\x05\x07\x02i\x02\x12\x04\xfa\x06\x0c\x0e\n\x0c\n\x04\ + \x05\x07\x02j\x12\x04\xfb\x06\x02\x0b\n\r\n\x05\x05\x07\x02j\x01\x12\x04\ + \xfb\x06\x02\x05\n\r\n\x05\x05\x07\x02j\x02\x12\x04\xfb\x06\x08\n\n\x0c\ + \n\x04\x05\x07\x02k\x12\x04\xfc\x06\x02\x0b\n\r\n\x05\x05\x07\x02k\x01\ + \x12\x04\xfc\x06\x02\x05\n\r\n\x05\x05\x07\x02k\x02\x12\x04\xfc\x06\x08\ + \n\n\x0c\n\x04\x05\x07\x02l\x12\x04\xfd\x06\x02\x0c\n\r\n\x05\x05\x07\ + \x02l\x01\x12\x04\xfd\x06\x02\x06\n\r\n\x05\x05\x07\x02l\x02\x12\x04\xfd\ + \x06\t\x0b\n\x93\x03\n\x04\x05\x07\x02m\x12\x04\xfe\x06\x02\x0b\"\x84\ \x03\x20NextLanguage\x20=\x20111;\n\x20Steps\x20add\x20a\x20new\x20langu\ age:\n\x201.\x20Copy-paste\x20the\x20\"NextLanguage\x20=\x20N\"\x20line\ \x20above\n\x202.\x20Increment\x20\"NextLanguage\x20=\x20N\"\x20to\x20\"\ @@ -6182,8 +6190,8 @@ static file_descriptor_proto_data: &'static [u8] = b"\ ove\x20the\x20new\x20language\x20to\x20the\x20correct\x20line\x20above\ \x20using\x20alphabetical\x20order\n\x205.\x20(optional)\x20Add\x20a\x20\ brief\x20comment\x20behind\x20the\x20language\x20if\x20the\x20name\x20is\ - \x20not\x20self-explanatory\n\n\r\n\x05\x05\x07\x02m\x01\x12\x04\xf8\x06\ - \x02\x05\n\r\n\x05\x05\x07\x02m\x02\x12\x04\xf8\x06\x08\nb\x06proto3\ + \x20not\x20self-explanatory\n\n\r\n\x05\x05\x07\x02m\x01\x12\x04\xfe\x06\ + \x02\x05\n\r\n\x05\x05\x07\x02m\x02\x12\x04\xfe\x06\x08\nb\x06proto3\ "; /// `FileDescriptorProto` object which was a source for this generated file diff --git a/bindings/typescript/scip_pb.ts b/bindings/typescript/scip_pb.ts index ffc0bd6e..7294f78a 100644 --- a/bindings/typescript/scip_pb.ts +++ b/bindings/typescript/scip_pb.ts @@ -20,7 +20,7 @@ import type { Message } from "@bufbuild/protobuf"; * Describes the file scip.proto. */ export const file_scip: GenFile = /*@__PURE__*/ - fileDesc("CgpzY2lwLnByb3RvEgRzY2lwIn8KBUluZGV4EiAKCG1ldGFkYXRhGAEgASgLMg4uc2NpcC5NZXRhZGF0YRIhCglkb2N1bWVudHMYAiADKAsyDi5zY2lwLkRvY3VtZW50EjEKEGV4dGVybmFsX3N5bWJvbHMYAyADKAsyFy5zY2lwLlN5bWJvbEluZm9ybWF0aW9uIp8BCghNZXRhZGF0YRImCgd2ZXJzaW9uGAEgASgOMhUuc2NpcC5Qcm90b2NvbFZlcnNpb24SIQoJdG9vbF9pbmZvGAIgASgLMg4uc2NpcC5Ub29sSW5mbxIUCgxwcm9qZWN0X3Jvb3QYAyABKAkSMgoWdGV4dF9kb2N1bWVudF9lbmNvZGluZxgEIAEoDjISLnNjaXAuVGV4dEVuY29kaW5nIjwKCFRvb2xJbmZvEgwKBG5hbWUYASABKAkSDwoHdmVyc2lvbhgCIAEoCRIRCglhcmd1bWVudHMYAyADKAkixQEKCERvY3VtZW50EhAKCGxhbmd1YWdlGAQgASgJEhUKDXJlbGF0aXZlX3BhdGgYASABKAkSJQoLb2NjdXJyZW5jZXMYAiADKAsyEC5zY2lwLk9jY3VycmVuY2USKAoHc3ltYm9scxgDIAMoCzIXLnNjaXAuU3ltYm9sSW5mb3JtYXRpb24SDAoEdGV4dBgFIAEoCRIxChFwb3NpdGlvbl9lbmNvZGluZxgGIAEoDjIWLnNjaXAuUG9zaXRpb25FbmNvZGluZyJfCgZTeW1ib2wSDgoGc2NoZW1lGAEgASgJEh4KB3BhY2thZ2UYAiABKAsyDS5zY2lwLlBhY2thZ2USJQoLZGVzY3JpcHRvcnMYAyADKAsyEC5zY2lwLkRlc2NyaXB0b3IiOQoHUGFja2FnZRIPCgdtYW5hZ2VyGAEgASgJEgwKBG5hbWUYAiABKAkSDwoHdmVyc2lvbhgDIAEoCSKCAgoKRGVzY3JpcHRvchIMCgRuYW1lGAEgASgJEhUKDWRpc2FtYmlndWF0b3IYAiABKAkSJwoGc3VmZml4GAMgASgOMhcuc2NpcC5EZXNjcmlwdG9yLlN1ZmZpeCKlAQoGU3VmZml4EhUKEVVuc3BlY2lmaWVkU3VmZml4EAASDQoJTmFtZXNwYWNlEAESDwoHUGFja2FnZRABGgIIARIICgRUeXBlEAISCAoEVGVybRADEgoKBk1ldGhvZBAEEhEKDVR5cGVQYXJhbWV0ZXIQBRINCglQYXJhbWV0ZXIQBhIICgRNZXRhEAcSCQoFTG9jYWwQCBIJCgVNYWNybxAJGgIQASJkCglTaWduYXR1cmUSEAoIbGFuZ3VhZ2UYBCABKAkSDAoEdGV4dBgFIAEoCRIlCgtvY2N1cnJlbmNlcxgCIAMoCzIQLnNjaXAuT2NjdXJyZW5jZUoECAEQAkoECAMQBEoECAYQByLxCwoRU3ltYm9sSW5mb3JtYXRpb24SDgoGc3ltYm9sGAEgASgJEhUKDWRvY3VtZW50YXRpb24YAyADKAkSKQoNcmVsYXRpb25zaGlwcxgEIAMoCzISLnNjaXAuUmVsYXRpb25zaGlwEioKBGtpbmQYBSABKA4yHC5zY2lwLlN5bWJvbEluZm9ybWF0aW9uLktpbmQSFAoMZGlzcGxheV9uYW1lGAYgASgJEjAKF3NpZ25hdHVyZV9kb2N1bWVudGF0aW9uGAcgASgLMg8uc2NpcC5TaWduYXR1cmUSGAoQZW5jbG9zaW5nX3N5bWJvbBgIIAEoCSL7CQoES2luZBITCg9VbnNwZWNpZmllZEtpbmQQABISCg5BYnN0cmFjdE1ldGhvZBBCEgwKCEFjY2Vzc29yEEgSCQoFQXJyYXkQARINCglBc3NlcnRpb24QAhISCg5Bc3NvY2lhdGVkVHlwZRADEg0KCUF0dHJpYnV0ZRAEEgkKBUF4aW9tEAUSCwoHQm9vbGVhbhAGEgkKBUNsYXNzEAcSCwoHQ29uY2VwdBBWEgwKCENvbnN0YW50EAgSDwoLQ29uc3RydWN0b3IQCRIMCghDb250cmFjdBA+Eg4KCkRhdGFGYW1pbHkQChIMCghEZWxlZ2F0ZRBJEggKBEVudW0QCxIOCgpFbnVtTWVtYmVyEAwSCQoFRXJyb3IQPxIJCgVFdmVudBANEg0KCUV4dGVuc2lvbhBUEggKBEZhY3QQDhIJCgVGaWVsZBAPEggKBEZpbGUQEBIMCghGdW5jdGlvbhAREgoKBkdldHRlchASEgsKB0dyYW1tYXIQExIMCghJbnN0YW5jZRAUEg0KCUludGVyZmFjZRAVEgcKA0tleRAWEggKBExhbmcQFxIJCgVMZW1tYRAYEgsKB0xpYnJhcnkQQBIJCgVNYWNybxAZEgoKBk1ldGhvZBAaEg8KC01ldGhvZEFsaWFzEEoSEgoOTWV0aG9kUmVjZWl2ZXIQGxIXChNNZXRob2RTcGVjaWZpY2F0aW9uEEMSCwoHTWVzc2FnZRAcEgkKBU1peGluEFUSDAoITW9kaWZpZXIQQRIKCgZNb2R1bGUQHRINCglOYW1lc3BhY2UQHhIICgROdWxsEB8SCgoGTnVtYmVyECASCgoGT2JqZWN0ECESDAoIT3BlcmF0b3IQIhILCgdQYWNrYWdlECMSEQoNUGFja2FnZU9iamVjdBAkEg0KCVBhcmFtZXRlchAlEhIKDlBhcmFtZXRlckxhYmVsECYSCwoHUGF0dGVybhAnEg0KCVByZWRpY2F0ZRAoEgwKCFByb3BlcnR5ECkSDAoIUHJvdG9jb2wQKhISCg5Qcm90b2NvbE1ldGhvZBBEEhUKEVB1cmVWaXJ0dWFsTWV0aG9kEEUSDwoLUXVhc2lxdW90ZXIQKxIRCg1TZWxmUGFyYW1ldGVyECwSCgoGU2V0dGVyEC0SDQoJU2lnbmF0dXJlEC4SEgoOU2luZ2xldG9uQ2xhc3MQSxITCg9TaW5nbGV0b25NZXRob2QQTBIUChBTdGF0aWNEYXRhTWVtYmVyEE0SDwoLU3RhdGljRXZlbnQQThIPCgtTdGF0aWNGaWVsZBBPEhAKDFN0YXRpY01ldGhvZBBQEhIKDlN0YXRpY1Byb3BlcnR5EFESEgoOU3RhdGljVmFyaWFibGUQUhIKCgZTdHJpbmcQMBIKCgZTdHJ1Y3QQMRINCglTdWJzY3JpcHQQLxIKCgZUYWN0aWMQMhILCgdUaGVvcmVtEDMSEQoNVGhpc1BhcmFtZXRlchA0EgkKBVRyYWl0EDUSDwoLVHJhaXRNZXRob2QQRhIICgRUeXBlEDYSDQoJVHlwZUFsaWFzEDcSDQoJVHlwZUNsYXNzEDgSEwoPVHlwZUNsYXNzTWV0aG9kEEcSDgoKVHlwZUZhbWlseRA5EhEKDVR5cGVQYXJhbWV0ZXIQOhIJCgVVbmlvbhA7EgkKBVZhbHVlEDwSDAoIVmFyaWFibGUQPSKCAQoMUmVsYXRpb25zaGlwEg4KBnN5bWJvbBgBIAEoCRIUCgxpc19yZWZlcmVuY2UYAiABKAgSGQoRaXNfaW1wbGVtZW50YXRpb24YAyABKAgSGgoSaXNfdHlwZV9kZWZpbml0aW9uGAQgASgIEhUKDWlzX2RlZmluaXRpb24YBSABKAgiyAEKCk9jY3VycmVuY2USDQoFcmFuZ2UYASADKAUSDgoGc3ltYm9sGAIgASgJEhQKDHN5bWJvbF9yb2xlcxgDIAEoBRIeChZvdmVycmlkZV9kb2N1bWVudGF0aW9uGAQgAygJEiUKC3N5bnRheF9raW5kGAUgASgOMhAuc2NpcC5TeW50YXhLaW5kEiUKC2RpYWdub3N0aWNzGAYgAygLMhAuc2NpcC5EaWFnbm9zdGljEhcKD2VuY2xvc2luZ19yYW5nZRgHIAMoBSKAAQoKRGlhZ25vc3RpYxIgCghzZXZlcml0eRgBIAEoDjIOLnNjaXAuU2V2ZXJpdHkSDAoEY29kZRgCIAEoCRIPCgdtZXNzYWdlGAMgASgJEg4KBnNvdXJjZRgEIAEoCRIhCgR0YWdzGAUgAygOMhMuc2NpcC5EaWFnbm9zdGljVGFnKjEKD1Byb3RvY29sVmVyc2lvbhIeChpVbnNwZWNpZmllZFByb3RvY29sVmVyc2lvbhAAKkAKDFRleHRFbmNvZGluZxIbChdVbnNwZWNpZmllZFRleHRFbmNvZGluZxAAEggKBFVURjgQARIJCgVVVEYxNhACKqQBChBQb3NpdGlvbkVuY29kaW5nEh8KG1Vuc3BlY2lmaWVkUG9zaXRpb25FbmNvZGluZxAAEiMKH1VURjhDb2RlVW5pdE9mZnNldEZyb21MaW5lU3RhcnQQARIkCiBVVEYxNkNvZGVVbml0T2Zmc2V0RnJvbUxpbmVTdGFydBACEiQKIFVURjMyQ29kZVVuaXRPZmZzZXRGcm9tTGluZVN0YXJ0EAMqlAEKClN5bWJvbFJvbGUSGQoVVW5zcGVjaWZpZWRTeW1ib2xSb2xlEAASDgoKRGVmaW5pdGlvbhABEgoKBkltcG9ydBACEg8KC1dyaXRlQWNjZXNzEAQSDgoKUmVhZEFjY2VzcxAIEg0KCUdlbmVyYXRlZBAQEggKBFRlc3QQIBIVChFGb3J3YXJkRGVmaW5pdGlvbhBAKuoGCgpTeW50YXhLaW5kEhkKFVVuc3BlY2lmaWVkU3ludGF4S2luZBAAEgsKB0NvbW1lbnQQARIYChRQdW5jdHVhdGlvbkRlbGltaXRlchACEhYKElB1bmN0dWF0aW9uQnJhY2tldBADEgsKB0tleXdvcmQQBBIZChFJZGVudGlmaWVyS2V5d29yZBAEGgIIARIWChJJZGVudGlmaWVyT3BlcmF0b3IQBRIOCgpJZGVudGlmaWVyEAYSFQoRSWRlbnRpZmllckJ1aWx0aW4QBxISCg5JZGVudGlmaWVyTnVsbBAIEhYKEklkZW50aWZpZXJDb25zdGFudBAJEhsKF0lkZW50aWZpZXJNdXRhYmxlR2xvYmFsEAoSFwoTSWRlbnRpZmllclBhcmFtZXRlchALEhMKD0lkZW50aWZpZXJMb2NhbBAMEhYKEklkZW50aWZpZXJTaGFkb3dlZBANEhcKE0lkZW50aWZpZXJOYW1lc3BhY2UQDhIYChBJZGVudGlmaWVyTW9kdWxlEA4aAggBEhYKEklkZW50aWZpZXJGdW5jdGlvbhAPEiAKHElkZW50aWZpZXJGdW5jdGlvbkRlZmluaXRpb24QEBITCg9JZGVudGlmaWVyTWFjcm8QERIdChlJZGVudGlmaWVyTWFjcm9EZWZpbml0aW9uEBISEgoOSWRlbnRpZmllclR5cGUQExIZChVJZGVudGlmaWVyQnVpbHRpblR5cGUQFBIXChNJZGVudGlmaWVyQXR0cmlidXRlEBUSDwoLUmVnZXhFc2NhcGUQFhIRCg1SZWdleFJlcGVhdGVkEBcSEQoNUmVnZXhXaWxkY2FyZBAYEhIKDlJlZ2V4RGVsaW1pdGVyEBkSDQoJUmVnZXhKb2luEBoSEQoNU3RyaW5nTGl0ZXJhbBAbEhcKE1N0cmluZ0xpdGVyYWxFc2NhcGUQHBIYChRTdHJpbmdMaXRlcmFsU3BlY2lhbBAdEhQKEFN0cmluZ0xpdGVyYWxLZXkQHhIUChBDaGFyYWN0ZXJMaXRlcmFsEB8SEgoOTnVtZXJpY0xpdGVyYWwQIBISCg5Cb29sZWFuTGl0ZXJhbBAhEgcKA1RhZxAiEhAKDFRhZ0F0dHJpYnV0ZRAjEhAKDFRhZ0RlbGltaXRlchAkGgIQASpWCghTZXZlcml0eRIXChNVbnNwZWNpZmllZFNldmVyaXR5EAASCQoFRXJyb3IQARILCgdXYXJuaW5nEAISDwoLSW5mb3JtYXRpb24QAxIICgRIaW50EAQqTgoNRGlhZ25vc3RpY1RhZxIcChhVbnNwZWNpZmllZERpYWdub3N0aWNUYWcQABIPCgtVbm5lY2Vzc2FyeRABEg4KCkRlcHJlY2F0ZWQQAiqbCgoITGFuZ3VhZ2USFwoTVW5zcGVjaWZpZWRMYW5ndWFnZRAAEggKBEFCQVAQPBIICgRBcGV4EGASBwoDQVBMEDESBwoDQWRhECcSCAoEQWdkYRAtEgwKCEFzY2lpRG9jEFYSDAoIQXNzZW1ibHkQOhIHCgNBd2sQQhIHCgNCYXQQRBIKCgZCaWJUZVgQURIFCgFDECISCQoFQ09CT0wQOxIHCgNDUFAQIxIHCgNDU1MQGhIKCgZDU2hhcnAQARILCgdDbG9qdXJlEAgSEAoMQ29mZmVlc2NyaXB0EBUSDgoKQ29tbW9uTGlzcBAJEgcKA0NvcRAvEggKBENVREEQYRIICgREYXJ0EAMSCgoGRGVscGhpEDkSCAoERGlmZhBYEg4KCkRvY2tlcmZpbGUQUBIKCgZEeWFsb2cQMhIKCgZFbGl4aXIQERIKCgZFcmxhbmcQEhIKCgZGU2hhcnAQKhIICgRGaXNoEEESCAoERmxvdxAYEgsKB0ZvcnRyYW4QOBIOCgpHaXRfQ29tbWl0EFsSDgoKR2l0X0NvbmZpZxBZEg4KCkdpdF9SZWJhc2UQXBIGCgJHbxAhEgsKB0dyYXBoUUwQYhIKCgZHcm9vdnkQBxIICgRIVE1MEB4SCAoESGFjaxAUEg4KCkhhbmRsZWJhcnMQWhILCgdIYXNrZWxsECwSCQoFSWRyaXMQLhIHCgNJbmkQSBIFCgFKEDMSCAoESlNPThBLEggKBEphdmEQBhIOCgpKYXZhU2NyaXB0EBYSEwoPSmF2YVNjcmlwdFJlYWN0EF0SCwoHSnNvbm5ldBBMEgkKBUp1bGlhEDcSDAoISnVzdGZpbGUQbRIKCgZLb3RsaW4QBBIJCgVMYVRlWBBTEggKBExlYW4QMBIICgRMZXNzEBsSBwoDTHVhEAwSCAoETHVhdRBsEgwKCE1ha2VmaWxlEE8SDAoITWFya2Rvd24QVBIKCgZNYXRsYWIQNBIKCgZOaWNrZWwQbhIHCgNOaXgQTRIJCgVPQ2FtbBApEg8KC09iamVjdGl2ZV9DECQSEQoNT2JqZWN0aXZlX0NQUBAlEgoKBlBhc2NhbBBjEgcKA1BIUBATEgkKBVBMU1FMEEYSCAoEUGVybBANEg4KClBvd2VyU2hlbGwQQxIKCgZQcm9sb2cQRxIMCghQcm90b2J1ZhBkEgoKBlB5dGhvbhAPEgUKAVIQNhIKCgZSYWNrZXQQCxIICgRSYWt1EA4SCQoFUmF6b3IQPhIJCgVSZXBybxBmEggKBFJlU1QQVRIICgRSdWJ5EBASCAoEUnVzdBAoEgcKA1NBUxA9EggKBFNDU1MQHRIHCgNTTUwQKxIHCgNTUUwQRRIICgRTYXNzEBwSCQoFU2NhbGEQBRIKCgZTY2hlbWUQChIPCgtTaGVsbFNjcmlwdBBAEgsKB1NreWxhcmsQThIJCgVTbGFuZxBrEgwKCFNvbGlkaXR5EF8SCgoGU3ZlbHRlEGoSCQoFU3dpZnQQAhIHCgNUY2wQZRIICgRUT01MEEkSBwoDVGVYEFISCgoGVGhyaWZ0EGcSDgoKVHlwZVNjcmlwdBAXEhMKD1R5cGVTY3JpcHRSZWFjdBBeEgsKB1Zlcmlsb2cQaBIICgRWSERMEGkSDwoLVmlzdWFsQmFzaWMQPxIHCgNWdWUQGRILCgdXb2xmcmFtEDUSBwoDWE1MEB8SBwoDWFNMECASCAoEWUFNTBBKEgcKA1ppZxAmQi1aK2dpdGh1Yi5jb20vc2NpcC1jb2RlL3NjaXAvYmluZGluZ3MvZ28vc2NpcC9iBnByb3RvMw"); + fileDesc("CgpzY2lwLnByb3RvEgRzY2lwIn8KBUluZGV4EiAKCG1ldGFkYXRhGAEgASgLMg4uc2NpcC5NZXRhZGF0YRIhCglkb2N1bWVudHMYAiADKAsyDi5zY2lwLkRvY3VtZW50EjEKEGV4dGVybmFsX3N5bWJvbHMYAyADKAsyFy5zY2lwLlN5bWJvbEluZm9ybWF0aW9uIp8BCghNZXRhZGF0YRImCgd2ZXJzaW9uGAEgASgOMhUuc2NpcC5Qcm90b2NvbFZlcnNpb24SIQoJdG9vbF9pbmZvGAIgASgLMg4uc2NpcC5Ub29sSW5mbxIUCgxwcm9qZWN0X3Jvb3QYAyABKAkSMgoWdGV4dF9kb2N1bWVudF9lbmNvZGluZxgEIAEoDjISLnNjaXAuVGV4dEVuY29kaW5nIjwKCFRvb2xJbmZvEgwKBG5hbWUYASABKAkSDwoHdmVyc2lvbhgCIAEoCRIRCglhcmd1bWVudHMYAyADKAkixQEKCERvY3VtZW50EhAKCGxhbmd1YWdlGAQgASgJEhUKDXJlbGF0aXZlX3BhdGgYASABKAkSJQoLb2NjdXJyZW5jZXMYAiADKAsyEC5zY2lwLk9jY3VycmVuY2USKAoHc3ltYm9scxgDIAMoCzIXLnNjaXAuU3ltYm9sSW5mb3JtYXRpb24SDAoEdGV4dBgFIAEoCRIxChFwb3NpdGlvbl9lbmNvZGluZxgGIAEoDjIWLnNjaXAuUG9zaXRpb25FbmNvZGluZyJfCgZTeW1ib2wSDgoGc2NoZW1lGAEgASgJEh4KB3BhY2thZ2UYAiABKAsyDS5zY2lwLlBhY2thZ2USJQoLZGVzY3JpcHRvcnMYAyADKAsyEC5zY2lwLkRlc2NyaXB0b3IiOQoHUGFja2FnZRIPCgdtYW5hZ2VyGAEgASgJEgwKBG5hbWUYAiABKAkSDwoHdmVyc2lvbhgDIAEoCSKCAgoKRGVzY3JpcHRvchIMCgRuYW1lGAEgASgJEhUKDWRpc2FtYmlndWF0b3IYAiABKAkSJwoGc3VmZml4GAMgASgOMhcuc2NpcC5EZXNjcmlwdG9yLlN1ZmZpeCKlAQoGU3VmZml4EhUKEVVuc3BlY2lmaWVkU3VmZml4EAASDQoJTmFtZXNwYWNlEAESDwoHUGFja2FnZRABGgIIARIICgRUeXBlEAISCAoEVGVybRADEgoKBk1ldGhvZBAEEhEKDVR5cGVQYXJhbWV0ZXIQBRINCglQYXJhbWV0ZXIQBhIICgRNZXRhEAcSCQoFTG9jYWwQCBIJCgVNYWNybxAJGgIQASJkCglTaWduYXR1cmUSEAoIbGFuZ3VhZ2UYBCABKAkSDAoEdGV4dBgFIAEoCRIlCgtvY2N1cnJlbmNlcxgCIAMoCzIQLnNjaXAuT2NjdXJyZW5jZUoECAEQAkoECAMQBEoECAYQByLxCwoRU3ltYm9sSW5mb3JtYXRpb24SDgoGc3ltYm9sGAEgASgJEhUKDWRvY3VtZW50YXRpb24YAyADKAkSKQoNcmVsYXRpb25zaGlwcxgEIAMoCzISLnNjaXAuUmVsYXRpb25zaGlwEioKBGtpbmQYBSABKA4yHC5zY2lwLlN5bWJvbEluZm9ybWF0aW9uLktpbmQSFAoMZGlzcGxheV9uYW1lGAYgASgJEjAKF3NpZ25hdHVyZV9kb2N1bWVudGF0aW9uGAcgASgLMg8uc2NpcC5TaWduYXR1cmUSGAoQZW5jbG9zaW5nX3N5bWJvbBgIIAEoCSL7CQoES2luZBITCg9VbnNwZWNpZmllZEtpbmQQABISCg5BYnN0cmFjdE1ldGhvZBBCEgwKCEFjY2Vzc29yEEgSCQoFQXJyYXkQARINCglBc3NlcnRpb24QAhISCg5Bc3NvY2lhdGVkVHlwZRADEg0KCUF0dHJpYnV0ZRAEEgkKBUF4aW9tEAUSCwoHQm9vbGVhbhAGEgkKBUNsYXNzEAcSCwoHQ29uY2VwdBBWEgwKCENvbnN0YW50EAgSDwoLQ29uc3RydWN0b3IQCRIMCghDb250cmFjdBA+Eg4KCkRhdGFGYW1pbHkQChIMCghEZWxlZ2F0ZRBJEggKBEVudW0QCxIOCgpFbnVtTWVtYmVyEAwSCQoFRXJyb3IQPxIJCgVFdmVudBANEg0KCUV4dGVuc2lvbhBUEggKBEZhY3QQDhIJCgVGaWVsZBAPEggKBEZpbGUQEBIMCghGdW5jdGlvbhAREgoKBkdldHRlchASEgsKB0dyYW1tYXIQExIMCghJbnN0YW5jZRAUEg0KCUludGVyZmFjZRAVEgcKA0tleRAWEggKBExhbmcQFxIJCgVMZW1tYRAYEgsKB0xpYnJhcnkQQBIJCgVNYWNybxAZEgoKBk1ldGhvZBAaEg8KC01ldGhvZEFsaWFzEEoSEgoOTWV0aG9kUmVjZWl2ZXIQGxIXChNNZXRob2RTcGVjaWZpY2F0aW9uEEMSCwoHTWVzc2FnZRAcEgkKBU1peGluEFUSDAoITW9kaWZpZXIQQRIKCgZNb2R1bGUQHRINCglOYW1lc3BhY2UQHhIICgROdWxsEB8SCgoGTnVtYmVyECASCgoGT2JqZWN0ECESDAoIT3BlcmF0b3IQIhILCgdQYWNrYWdlECMSEQoNUGFja2FnZU9iamVjdBAkEg0KCVBhcmFtZXRlchAlEhIKDlBhcmFtZXRlckxhYmVsECYSCwoHUGF0dGVybhAnEg0KCVByZWRpY2F0ZRAoEgwKCFByb3BlcnR5ECkSDAoIUHJvdG9jb2wQKhISCg5Qcm90b2NvbE1ldGhvZBBEEhUKEVB1cmVWaXJ0dWFsTWV0aG9kEEUSDwoLUXVhc2lxdW90ZXIQKxIRCg1TZWxmUGFyYW1ldGVyECwSCgoGU2V0dGVyEC0SDQoJU2lnbmF0dXJlEC4SEgoOU2luZ2xldG9uQ2xhc3MQSxITCg9TaW5nbGV0b25NZXRob2QQTBIUChBTdGF0aWNEYXRhTWVtYmVyEE0SDwoLU3RhdGljRXZlbnQQThIPCgtTdGF0aWNGaWVsZBBPEhAKDFN0YXRpY01ldGhvZBBQEhIKDlN0YXRpY1Byb3BlcnR5EFESEgoOU3RhdGljVmFyaWFibGUQUhIKCgZTdHJpbmcQMBIKCgZTdHJ1Y3QQMRINCglTdWJzY3JpcHQQLxIKCgZUYWN0aWMQMhILCgdUaGVvcmVtEDMSEQoNVGhpc1BhcmFtZXRlchA0EgkKBVRyYWl0EDUSDwoLVHJhaXRNZXRob2QQRhIICgRUeXBlEDYSDQoJVHlwZUFsaWFzEDcSDQoJVHlwZUNsYXNzEDgSEwoPVHlwZUNsYXNzTWV0aG9kEEcSDgoKVHlwZUZhbWlseRA5EhEKDVR5cGVQYXJhbWV0ZXIQOhIJCgVVbmlvbhA7EgkKBVZhbHVlEDwSDAoIVmFyaWFibGUQPSKCAQoMUmVsYXRpb25zaGlwEg4KBnN5bWJvbBgBIAEoCRIUCgxpc19yZWZlcmVuY2UYAiABKAgSGQoRaXNfaW1wbGVtZW50YXRpb24YAyABKAgSGgoSaXNfdHlwZV9kZWZpbml0aW9uGAQgASgIEhUKDWlzX2RlZmluaXRpb24YBSABKAgiyAEKCk9jY3VycmVuY2USDQoFcmFuZ2UYASADKAUSDgoGc3ltYm9sGAIgASgJEhQKDHN5bWJvbF9yb2xlcxgDIAEoBRIeChZvdmVycmlkZV9kb2N1bWVudGF0aW9uGAQgAygJEiUKC3N5bnRheF9raW5kGAUgASgOMhAuc2NpcC5TeW50YXhLaW5kEiUKC2RpYWdub3N0aWNzGAYgAygLMhAuc2NpcC5EaWFnbm9zdGljEhcKD2VuY2xvc2luZ19yYW5nZRgHIAMoBSKAAQoKRGlhZ25vc3RpYxIgCghzZXZlcml0eRgBIAEoDjIOLnNjaXAuU2V2ZXJpdHkSDAoEY29kZRgCIAEoCRIPCgdtZXNzYWdlGAMgASgJEg4KBnNvdXJjZRgEIAEoCRIhCgR0YWdzGAUgAygOMhMuc2NpcC5EaWFnbm9zdGljVGFnKjEKD1Byb3RvY29sVmVyc2lvbhIeChpVbnNwZWNpZmllZFByb3RvY29sVmVyc2lvbhAAKkAKDFRleHRFbmNvZGluZxIbChdVbnNwZWNpZmllZFRleHRFbmNvZGluZxAAEggKBFVURjgQARIJCgVVVEYxNhACKqQBChBQb3NpdGlvbkVuY29kaW5nEh8KG1Vuc3BlY2lmaWVkUG9zaXRpb25FbmNvZGluZxAAEiMKH1VURjhDb2RlVW5pdE9mZnNldEZyb21MaW5lU3RhcnQQARIkCiBVVEYxNkNvZGVVbml0T2Zmc2V0RnJvbUxpbmVTdGFydBACEiQKIFVURjMyQ29kZVVuaXRPZmZzZXRGcm9tTGluZVN0YXJ0EAMqlAEKClN5bWJvbFJvbGUSGQoVVW5zcGVjaWZpZWRTeW1ib2xSb2xlEAASDgoKRGVmaW5pdGlvbhABEgoKBkltcG9ydBACEg8KC1dyaXRlQWNjZXNzEAQSDgoKUmVhZEFjY2VzcxAIEg0KCUdlbmVyYXRlZBAQEggKBFRlc3QQIBIVChFGb3J3YXJkRGVmaW5pdGlvbhBAKuoGCgpTeW50YXhLaW5kEhkKFVVuc3BlY2lmaWVkU3ludGF4S2luZBAAEgsKB0NvbW1lbnQQARIYChRQdW5jdHVhdGlvbkRlbGltaXRlchACEhYKElB1bmN0dWF0aW9uQnJhY2tldBADEgsKB0tleXdvcmQQBBIZChFJZGVudGlmaWVyS2V5d29yZBAEGgIIARIWChJJZGVudGlmaWVyT3BlcmF0b3IQBRIOCgpJZGVudGlmaWVyEAYSFQoRSWRlbnRpZmllckJ1aWx0aW4QBxISCg5JZGVudGlmaWVyTnVsbBAIEhYKEklkZW50aWZpZXJDb25zdGFudBAJEhsKF0lkZW50aWZpZXJNdXRhYmxlR2xvYmFsEAoSFwoTSWRlbnRpZmllclBhcmFtZXRlchALEhMKD0lkZW50aWZpZXJMb2NhbBAMEhYKEklkZW50aWZpZXJTaGFkb3dlZBANEhcKE0lkZW50aWZpZXJOYW1lc3BhY2UQDhIYChBJZGVudGlmaWVyTW9kdWxlEA4aAggBEhYKEklkZW50aWZpZXJGdW5jdGlvbhAPEiAKHElkZW50aWZpZXJGdW5jdGlvbkRlZmluaXRpb24QEBITCg9JZGVudGlmaWVyTWFjcm8QERIdChlJZGVudGlmaWVyTWFjcm9EZWZpbml0aW9uEBISEgoOSWRlbnRpZmllclR5cGUQExIZChVJZGVudGlmaWVyQnVpbHRpblR5cGUQFBIXChNJZGVudGlmaWVyQXR0cmlidXRlEBUSDwoLUmVnZXhFc2NhcGUQFhIRCg1SZWdleFJlcGVhdGVkEBcSEQoNUmVnZXhXaWxkY2FyZBAYEhIKDlJlZ2V4RGVsaW1pdGVyEBkSDQoJUmVnZXhKb2luEBoSEQoNU3RyaW5nTGl0ZXJhbBAbEhcKE1N0cmluZ0xpdGVyYWxFc2NhcGUQHBIYChRTdHJpbmdMaXRlcmFsU3BlY2lhbBAdEhQKEFN0cmluZ0xpdGVyYWxLZXkQHhIUChBDaGFyYWN0ZXJMaXRlcmFsEB8SEgoOTnVtZXJpY0xpdGVyYWwQIBISCg5Cb29sZWFuTGl0ZXJhbBAhEgcKA1RhZxAiEhAKDFRhZ0F0dHJpYnV0ZRAjEhAKDFRhZ0RlbGltaXRlchAkGgIQASpWCghTZXZlcml0eRIXChNVbnNwZWNpZmllZFNldmVyaXR5EAASCQoFRXJyb3IQARILCgdXYXJuaW5nEAISDwoLSW5mb3JtYXRpb24QAxIICgRIaW50EAQqTgoNRGlhZ25vc3RpY1RhZxIcChhVbnNwZWNpZmllZERpYWdub3N0aWNUYWcQABIPCgtVbm5lY2Vzc2FyeRABEg4KCkRlcHJlY2F0ZWQQAiqbCgoITGFuZ3VhZ2USFwoTVW5zcGVjaWZpZWRMYW5ndWFnZRAAEggKBEFCQVAQPBIICgRBcGV4EGASBwoDQVBMEDESBwoDQWRhECcSCAoEQWdkYRAtEgwKCEFzY2lpRG9jEFYSDAoIQXNzZW1ibHkQOhIHCgNBd2sQQhIHCgNCYXQQRBIKCgZCaWJUZVgQURIFCgFDECISCQoFQ09CT0wQOxIHCgNDUFAQIxIHCgNDU1MQGhIKCgZDU2hhcnAQARILCgdDbG9qdXJlEAgSEAoMQ29mZmVlc2NyaXB0EBUSDgoKQ29tbW9uTGlzcBAJEgcKA0NvcRAvEggKBENVREEQYRIICgREYXJ0EAMSCgoGRGVscGhpEDkSCAoERGlmZhBYEg4KCkRvY2tlcmZpbGUQUBIKCgZEeWFsb2cQMhIKCgZFbGl4aXIQERIKCgZFcmxhbmcQEhIKCgZGU2hhcnAQKhIICgRGaXNoEEESCAoERmxvdxAYEgsKB0ZvcnRyYW4QOBIOCgpHaXRfQ29tbWl0EFsSDgoKR2l0X0NvbmZpZxBZEg4KCkdpdF9SZWJhc2UQXBIGCgJHbxAhEgsKB0dyYXBoUUwQYhIKCgZHcm9vdnkQBxIICgRIVE1MEB4SCAoESGFjaxAUEg4KCkhhbmRsZWJhcnMQWhILCgdIYXNrZWxsECwSCQoFSWRyaXMQLhIHCgNJbmkQSBIFCgFKEDMSCAoESlNPThBLEggKBEphdmEQBhIOCgpKYXZhU2NyaXB0EBYSEwoPSmF2YVNjcmlwdFJlYWN0EF0SCwoHSnNvbm5ldBBMEgkKBUp1bGlhEDcSDAoISnVzdGZpbGUQbRIKCgZLb3RsaW4QBBIJCgVMYVRlWBBTEggKBExlYW4QMBIICgRMZXNzEBsSBwoDTHVhEAwSCAoETHVhdRBsEgwKCE1ha2VmaWxlEE8SDAoITWFya2Rvd24QVBIKCgZNYXRsYWIQNBIKCgZOaWNrZWwQbhIHCgNOaXgQTRIJCgVPQ2FtbBApEg8KC09iamVjdGl2ZV9DECQSEQoNT2JqZWN0aXZlX0NQUBAlEgoKBlBhc2NhbBBjEgcKA1BIUBATEgkKBVBMU1FMEEYSCAoEUGVybBANEg4KClBvd2VyU2hlbGwQQxIKCgZQcm9sb2cQRxIMCghQcm90b2J1ZhBkEgoKBlB5dGhvbhAPEgUKAVIQNhIKCgZSYWNrZXQQCxIICgRSYWt1EA4SCQoFUmF6b3IQPhIJCgVSZXBybxBmEggKBFJlU1QQVRIICgRSdWJ5EBASCAoEUnVzdBAoEgcKA1NBUxA9EggKBFNDU1MQHRIHCgNTTUwQKxIHCgNTUUwQRRIICgRTYXNzEBwSCQoFU2NhbGEQBRIKCgZTY2hlbWUQChIPCgtTaGVsbFNjcmlwdBBAEgsKB1NreWxhcmsQThIJCgVTbGFuZxBrEgwKCFNvbGlkaXR5EF8SCgoGU3ZlbHRlEGoSCQoFU3dpZnQQAhIHCgNUY2wQZRIICgRUT01MEEkSBwoDVGVYEFISCgoGVGhyaWZ0EGcSDgoKVHlwZVNjcmlwdBAXEhMKD1R5cGVTY3JpcHRSZWFjdBBeEgsKB1Zlcmlsb2cQaBIICgRWSERMEGkSDwoLVmlzdWFsQmFzaWMQPxIHCgNWdWUQGRILCgdXb2xmcmFtEDUSBwoDWE1MEB8SBwoDWFNMECASCAoEWUFNTBBKEgcKA1ppZxAmQk4KEm9yZy5zY2lwX2NvZGUuc2NpcEIJU2NpcFByb3RvUAFaK2dpdGh1Yi5jb20vc2NpcC1jb2RlL3NjaXAvYmluZGluZ3MvZ28vc2NpcC9iBnByb3RvMw"); /** * Index represents a complete SCIP index for a workspace this is rooted at a diff --git a/buf.yaml b/buf.yaml index e0e268c5..2f0f1514 100644 --- a/buf.yaml +++ b/buf.yaml @@ -4,6 +4,12 @@ build: excludes: - .direnv - node_modules + # The JVM bindings ship a copy of scip.proto as a Maven classifier + # artifact (see bindings/{java,kotlin}/pom.xml). Exclude those copies + # from buf's input set so we don't re-process them as duplicate + # top-level proto files. + - bindings/java/src/main/proto + - bindings/kotlin/src/main/proto lint: use: - DEFAULT diff --git a/checks.nix b/checks.nix index a0b8e0d0..eb60efa6 100644 --- a/checks.nix +++ b/checks.nix @@ -92,7 +92,7 @@ in pname = "scip-bindings-java"; inherit version; src = ./bindings/java; - mvnHash = "sha256-qh+F+aNYKBDkdW4fZVnjN03F0bxTMhlZmWM51EnXF6Y="; + mvnHash = "sha256-IwVaByO6zz87VLL6pX8uhKrp9Co1eBiTH+U0ze29EnE="; doCheck = false; installPhase = "touch $out"; }; @@ -108,7 +108,7 @@ in pname = "scip-bindings-kotlin"; inherit version; src = ./bindings/kotlin; - mvnHash = "sha256-sLoAmf+p/UGVYOxbTT8u+zfzfZzckdxTUktWmbZFg/A="; + mvnHash = "sha256-DhQWd2Zcrbf04cqwjI0UqNJiU3h/OWYnfOAZAuzRdWk="; doCheck = false; installPhase = "touch $out"; }; diff --git a/flake.nix b/flake.nix index bb752c2e..84484b50 100644 --- a/flake.nix +++ b/flake.nix @@ -76,6 +76,13 @@ buf generate goimports -w ./bindings/go/scip/scip.pb.go prettier --write --list-different '**/*.{ts,js(on)?,md,yml}' + # Make scip.proto available to the JVM bindings' Maven build + # so they can attach it as a classifier artifact (consumers + # can then `mvn dependency:get` the canonical schema instead + # of vendoring it). + for d in bindings/java bindings/kotlin; do + install -D -m644 scip.proto "$d/src/main/proto/scip.proto" + done ''; }; diff --git a/scip.proto b/scip.proto index 46f23f0e..b7c33bfb 100644 --- a/scip.proto +++ b/scip.proto @@ -13,6 +13,12 @@ syntax = "proto3"; package scip; option go_package = "github.com/scip-code/scip/bindings/go/scip/"; +option java_multiple_files = true; +// Avoid collision between the file-level outer class (which holds the file +// descriptor and registerAllExtensions) and messages also called "Scip*" +// once java_multiple_files emits each message as its own top-level class. +option java_outer_classname = "ScipProto"; +option java_package = "org.scip_code.scip"; // Index represents a complete SCIP index for a workspace this is rooted at a // single directory. An Index message payload can have a large memory footprint From 858c693eae52c590bd282a9f8de1e9f173862f21 Mon Sep 17 00:00:00 2001 From: jupblb Date: Wed, 13 May 2026 13:02:40 +0200 Subject: [PATCH 8/8] Drop bundled Java sources from scip-kotlin; depend on scip-java instead Mirrors how the upstream com.google.protobuf:protobuf-kotlin artifact relates to protobuf-java: scip-kotlin now ships only the Kotlin DSL extensions (~13 files) and declares scip-java as a Maven dependency that brings the protobuf message classes (and protobuf-java-util) transitively. Removes the ~32-file Java duplication that previously lived under bindings/kotlin/src/main/java/. Verified end-to-end: * proto-generate is idempotent and the kotlin tree is now kotlin/proto-only (no Java). * mvn install of scip-java followed by mvn package of scip-kotlin succeeds; the resulting scip-kotlin-0.7.1.jar contains only Kotlin DSL classes (no embedded Java protobuf message classes). KNOWN FOLLOW-UP (not addressed in this commit, intentional): * checks.nix's kotlin-bindings derivation will fail in `nix flake check` because Maven can't resolve scip-java in the sandboxed offline build (the local repo isn't seeded with the locally-built scip-java JAR). The fix is to teach the kotlin derivation to depend on the java derivation and pre-populate its .m2 cache from it. Will be done in a separate commit. --- .gitattributes | 1 - bindings/kotlin/pom.xml | 58 +- .../java/org/scip_code/scip/Descriptor.java | 996 ----- .../scip_code/scip/DescriptorOrBuilder.java | 57 - .../java/org/scip_code/scip/Diagnostic.java | 1248 ------ .../scip_code/scip/DiagnosticOrBuilder.java | 122 - .../org/scip_code/scip/DiagnosticTag.java | 134 - .../java/org/scip_code/scip/Document.java | 2134 ---------- .../org/scip_code/scip/DocumentOrBuilder.java | 247 -- .../main/java/org/scip_code/scip/Index.java | 1607 -------- .../org/scip_code/scip/IndexOrBuilder.java | 147 - .../java/org/scip_code/scip/Language.java | 1158 ------ .../java/org/scip_code/scip/Metadata.java | 1039 ----- .../org/scip_code/scip/MetadataOrBuilder.java | 105 - .../java/org/scip_code/scip/Occurrence.java | 2696 ------------- .../scip_code/scip/OccurrenceOrBuilder.java | 454 --- .../main/java/org/scip_code/scip/Package.java | 786 ---- .../org/scip_code/scip/PackageOrBuilder.java | 48 - .../org/scip_code/scip/PositionEncoding.java | 209 - .../org/scip_code/scip/ProtocolVersion.java | 116 - .../java/org/scip_code/scip/Relationship.java | 998 ----- .../scip_code/scip/RelationshipOrBuilder.java | 105 - .../java/org/scip_code/scip/ScipProto.java | 344 -- .../java/org/scip_code/scip/Severity.java | 152 - .../java/org/scip_code/scip/Signature.java | 1200 ------ .../scip_code/scip/SignatureOrBuilder.java | 106 - .../main/java/org/scip_code/scip/Symbol.java | 1140 ------ .../org/scip_code/scip/SymbolInformation.java | 3545 ----------------- .../scip/SymbolInformationOrBuilder.java | 292 -- .../org/scip_code/scip/SymbolOrBuilder.java | 63 - .../java/org/scip_code/scip/SymbolRole.java | 261 -- .../java/org/scip_code/scip/SyntaxKind.java | 756 ---- .../java/org/scip_code/scip/TextEncoding.java | 134 - .../java/org/scip_code/scip/ToolInfo.java | 935 ----- .../org/scip_code/scip/ToolInfoOrBuilder.java | 93 - buf.gen.yaml | 9 +- 36 files changed, 19 insertions(+), 23476 deletions(-) delete mode 100644 bindings/kotlin/src/main/java/org/scip_code/scip/Descriptor.java delete mode 100644 bindings/kotlin/src/main/java/org/scip_code/scip/DescriptorOrBuilder.java delete mode 100644 bindings/kotlin/src/main/java/org/scip_code/scip/Diagnostic.java delete mode 100644 bindings/kotlin/src/main/java/org/scip_code/scip/DiagnosticOrBuilder.java delete mode 100644 bindings/kotlin/src/main/java/org/scip_code/scip/DiagnosticTag.java delete mode 100644 bindings/kotlin/src/main/java/org/scip_code/scip/Document.java delete mode 100644 bindings/kotlin/src/main/java/org/scip_code/scip/DocumentOrBuilder.java delete mode 100644 bindings/kotlin/src/main/java/org/scip_code/scip/Index.java delete mode 100644 bindings/kotlin/src/main/java/org/scip_code/scip/IndexOrBuilder.java delete mode 100644 bindings/kotlin/src/main/java/org/scip_code/scip/Language.java delete mode 100644 bindings/kotlin/src/main/java/org/scip_code/scip/Metadata.java delete mode 100644 bindings/kotlin/src/main/java/org/scip_code/scip/MetadataOrBuilder.java delete mode 100644 bindings/kotlin/src/main/java/org/scip_code/scip/Occurrence.java delete mode 100644 bindings/kotlin/src/main/java/org/scip_code/scip/OccurrenceOrBuilder.java delete mode 100644 bindings/kotlin/src/main/java/org/scip_code/scip/Package.java delete mode 100644 bindings/kotlin/src/main/java/org/scip_code/scip/PackageOrBuilder.java delete mode 100644 bindings/kotlin/src/main/java/org/scip_code/scip/PositionEncoding.java delete mode 100644 bindings/kotlin/src/main/java/org/scip_code/scip/ProtocolVersion.java delete mode 100644 bindings/kotlin/src/main/java/org/scip_code/scip/Relationship.java delete mode 100644 bindings/kotlin/src/main/java/org/scip_code/scip/RelationshipOrBuilder.java delete mode 100644 bindings/kotlin/src/main/java/org/scip_code/scip/ScipProto.java delete mode 100644 bindings/kotlin/src/main/java/org/scip_code/scip/Severity.java delete mode 100644 bindings/kotlin/src/main/java/org/scip_code/scip/Signature.java delete mode 100644 bindings/kotlin/src/main/java/org/scip_code/scip/SignatureOrBuilder.java delete mode 100644 bindings/kotlin/src/main/java/org/scip_code/scip/Symbol.java delete mode 100644 bindings/kotlin/src/main/java/org/scip_code/scip/SymbolInformation.java delete mode 100644 bindings/kotlin/src/main/java/org/scip_code/scip/SymbolInformationOrBuilder.java delete mode 100644 bindings/kotlin/src/main/java/org/scip_code/scip/SymbolOrBuilder.java delete mode 100644 bindings/kotlin/src/main/java/org/scip_code/scip/SymbolRole.java delete mode 100644 bindings/kotlin/src/main/java/org/scip_code/scip/SyntaxKind.java delete mode 100644 bindings/kotlin/src/main/java/org/scip_code/scip/TextEncoding.java delete mode 100644 bindings/kotlin/src/main/java/org/scip_code/scip/ToolInfo.java delete mode 100644 bindings/kotlin/src/main/java/org/scip_code/scip/ToolInfoOrBuilder.java diff --git a/.gitattributes b/.gitattributes index da771885..eaad0f91 100644 --- a/.gitattributes +++ b/.gitattributes @@ -3,7 +3,6 @@ bindings/go/scip/scip.pb.go linguist-generated=true bindings/rust/src/generated/scip.rs linguist-generated=true bindings/haskell/src/Proto/**.hs linguist-generated=true bindings/java/src/main/java/org/scip_code/scip/**.java linguist-generated=true -bindings/kotlin/src/main/java/org/scip_code/scip/**.java linguist-generated=true bindings/kotlin/src/main/kotlin/org/scip_code/scip/**.kt linguist-generated=true docs/scip.md linguist-generated=true yarn.lock linguist-generated=true diff --git a/bindings/kotlin/pom.xml b/bindings/kotlin/pom.xml index 9faf85dd..549dffc2 100644 --- a/bindings/kotlin/pom.xml +++ b/bindings/kotlin/pom.xml @@ -11,9 +11,9 @@ scip-kotlin - Generated Kotlin bindings for the Semantic Code Intelligence Protocol - (SCIP). Includes the Kotlin DSL extensions on top of the Java protobuf - message classes, both bundled in a single artifact. + Generated Kotlin DSL extensions for the Semantic Code Intelligence + Protocol (SCIP). Pulls scip-java transitively for the underlying + protobuf message classes. https://github.com/scip-code/scip @@ -37,34 +37,30 @@ Must match the protoc version used for code generation (see flake.nix). Protobuf 4 generated code calls validateProtobufGencodeVersion() at class load: the runtime version must be >= the gencode version within - the same major version. Consumers who pull a newer protobuf-java - transitively are fine; consumers who downgrade to <4.32.1 will crash. + the same major version. Consumers who pull a newer protobuf transitively + are fine; consumers who downgrade to <4.32.1 will crash. --> 4.32.1 2.0.21 + - com.google.protobuf - protobuf-java - ${protobuf.version} + org.scip-code + scip-java + ${project.version} com.google.protobuf protobuf-kotlin ${protobuf.version} - - - com.google.protobuf - protobuf-java-util - ${protobuf.version} - org.jetbrains.kotlin kotlin-stdlib @@ -73,7 +69,7 @@ - src/main/java + src/main/kotlin org.jetbrains.kotlin @@ -82,30 +78,6 @@ compile - process-sources - - compile - - - - src/main/java - src/main/kotlin - - - - - - - org.apache.maven.plugins - maven-compiler-plugin - 3.13.0 - - - default-compile - none - - - java-compile compile compile diff --git a/bindings/kotlin/src/main/java/org/scip_code/scip/Descriptor.java b/bindings/kotlin/src/main/java/org/scip_code/scip/Descriptor.java deleted file mode 100644 index 1d90b149..00000000 --- a/bindings/kotlin/src/main/java/org/scip_code/scip/Descriptor.java +++ /dev/null @@ -1,996 +0,0 @@ -// Generated by the protocol buffer compiler. DO NOT EDIT! -// NO CHECKED-IN PROTOBUF GENCODE -// source: scip.proto -// Protobuf Java Version: 4.32.1 - -package org.scip_code.scip; - -/** - * Protobuf type {@code scip.Descriptor} - */ -@com.google.protobuf.Generated -public final class Descriptor extends - com.google.protobuf.GeneratedMessage implements - // @@protoc_insertion_point(message_implements:scip.Descriptor) - DescriptorOrBuilder { -private static final long serialVersionUID = 0L; - static { - com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( - com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, - /* major= */ 4, - /* minor= */ 32, - /* patch= */ 1, - /* suffix= */ "", - Descriptor.class.getName()); - } - // Use Descriptor.newBuilder() to construct. - private Descriptor(com.google.protobuf.GeneratedMessage.Builder builder) { - super(builder); - } - private Descriptor() { - name_ = ""; - disambiguator_ = ""; - suffix_ = 0; - } - - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return org.scip_code.scip.ScipProto.internal_static_scip_Descriptor_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessage.FieldAccessorTable - internalGetFieldAccessorTable() { - return org.scip_code.scip.ScipProto.internal_static_scip_Descriptor_fieldAccessorTable - .ensureFieldAccessorsInitialized( - org.scip_code.scip.Descriptor.class, org.scip_code.scip.Descriptor.Builder.class); - } - - /** - * Protobuf enum {@code scip.Descriptor.Suffix} - */ - public enum Suffix - implements com.google.protobuf.ProtocolMessageEnum { - /** - * UnspecifiedSuffix = 0; - */ - UnspecifiedSuffix(0, 0), - /** - *
-     * Unit of code abstraction and/or namespacing.
-     *
-     * NOTE: This corresponds to a package in Go and JVM languages.
-     * 
- * - * Namespace = 1; - */ - Namespace(1, 1), - /** - * Type = 2; - */ - Type(3, 2), - /** - * Term = 3; - */ - Term(4, 3), - /** - * Method = 4; - */ - Method(5, 4), - /** - * TypeParameter = 5; - */ - TypeParameter(6, 5), - /** - * Parameter = 6; - */ - Parameter(7, 6), - /** - *
-     * Can be used for any purpose.
-     * 
- * - * Meta = 7; - */ - Meta(8, 7), - /** - * Local = 8; - */ - Local(9, 8), - /** - * Macro = 9; - */ - Macro(10, 9), - UNRECOGNIZED(-1, -1), - ; - - static { - com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( - com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, - /* major= */ 4, - /* minor= */ 32, - /* patch= */ 1, - /* suffix= */ "", - Suffix.class.getName()); - } - /** - *
-     * Use Namespace instead.
-     * 
- * - * Package = 1 [deprecated = true]; - */ - public static final Suffix Package = Namespace; - /** - * UnspecifiedSuffix = 0; - */ - public static final int UnspecifiedSuffix_VALUE = 0; - /** - *
-     * Unit of code abstraction and/or namespacing.
-     *
-     * NOTE: This corresponds to a package in Go and JVM languages.
-     * 
- * - * Namespace = 1; - */ - public static final int Namespace_VALUE = 1; - /** - *
-     * Use Namespace instead.
-     * 
- * - * Package = 1 [deprecated = true]; - */ - @java.lang.Deprecated public static final int Package_VALUE = 1; - /** - * Type = 2; - */ - public static final int Type_VALUE = 2; - /** - * Term = 3; - */ - public static final int Term_VALUE = 3; - /** - * Method = 4; - */ - public static final int Method_VALUE = 4; - /** - * TypeParameter = 5; - */ - public static final int TypeParameter_VALUE = 5; - /** - * Parameter = 6; - */ - public static final int Parameter_VALUE = 6; - /** - *
-     * Can be used for any purpose.
-     * 
- * - * Meta = 7; - */ - public static final int Meta_VALUE = 7; - /** - * Local = 8; - */ - public static final int Local_VALUE = 8; - /** - * Macro = 9; - */ - public static final int Macro_VALUE = 9; - - - public final int getNumber() { - if (index == -1) { - 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 Suffix 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 Suffix forNumber(int value) { - switch (value) { - case 0: return UnspecifiedSuffix; - case 1: return Namespace; - case 2: return Type; - case 3: return Term; - case 4: return Method; - case 5: return TypeParameter; - case 6: return Parameter; - case 7: return Meta; - case 8: return Local; - case 9: return Macro; - default: return null; - } - } - - public static com.google.protobuf.Internal.EnumLiteMap - internalGetValueMap() { - return internalValueMap; - } - private static final com.google.protobuf.Internal.EnumLiteMap< - Suffix> internalValueMap = - new com.google.protobuf.Internal.EnumLiteMap() { - public Suffix findValueByNumber(int number) { - return Suffix.forNumber(number); - } - }; - - public final com.google.protobuf.Descriptors.EnumValueDescriptor - getValueDescriptor() { - if (index == -1) { - throw new java.lang.IllegalStateException( - "Can't get the descriptor of an unrecognized enum value."); - } - return getDescriptor().getValues().get(index); - } - public final com.google.protobuf.Descriptors.EnumDescriptor - getDescriptorForType() { - return getDescriptor(); - } - public static com.google.protobuf.Descriptors.EnumDescriptor - getDescriptor() { - return org.scip_code.scip.Descriptor.getDescriptor().getEnumTypes().get(0); - } - - private static final Suffix[] VALUES = getStaticValuesArray(); - private static Suffix[] getStaticValuesArray() { - return new Suffix[] { - UnspecifiedSuffix, Namespace, Package, Type, Term, Method, TypeParameter, Parameter, Meta, Local, Macro, - }; - } - public static Suffix 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 index; - private final int value; - - private Suffix(int index, int value) { - this.index = index; - this.value = value; - } - - // @@protoc_insertion_point(enum_scope:scip.Descriptor.Suffix) - } - - public static final int NAME_FIELD_NUMBER = 1; - @SuppressWarnings("serial") - private volatile java.lang.Object name_ = ""; - /** - * string name = 1 [json_name = "name"]; - * @return The name. - */ - @java.lang.Override - public java.lang.String getName() { - java.lang.Object ref = name_; - 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(); - name_ = s; - return s; - } - } - /** - * string name = 1 [json_name = "name"]; - * @return The bytes for name. - */ - @java.lang.Override - public com.google.protobuf.ByteString - getNameBytes() { - java.lang.Object ref = name_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - name_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - - public static final int DISAMBIGUATOR_FIELD_NUMBER = 2; - @SuppressWarnings("serial") - private volatile java.lang.Object disambiguator_ = ""; - /** - * string disambiguator = 2 [json_name = "disambiguator"]; - * @return The disambiguator. - */ - @java.lang.Override - public java.lang.String getDisambiguator() { - java.lang.Object ref = disambiguator_; - 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(); - disambiguator_ = s; - return s; - } - } - /** - * string disambiguator = 2 [json_name = "disambiguator"]; - * @return The bytes for disambiguator. - */ - @java.lang.Override - public com.google.protobuf.ByteString - getDisambiguatorBytes() { - java.lang.Object ref = disambiguator_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - disambiguator_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - - public static final int SUFFIX_FIELD_NUMBER = 3; - private int suffix_ = 0; - /** - *
-   * NOTE: If you add new fields here, make sure to update the prepareSlot()
-   * function responsible for parsing symbols.
-   * 
- * - * .scip.Descriptor.Suffix suffix = 3 [json_name = "suffix"]; - * @return The enum numeric value on the wire for suffix. - */ - @java.lang.Override public int getSuffixValue() { - return suffix_; - } - /** - *
-   * NOTE: If you add new fields here, make sure to update the prepareSlot()
-   * function responsible for parsing symbols.
-   * 
- * - * .scip.Descriptor.Suffix suffix = 3 [json_name = "suffix"]; - * @return The suffix. - */ - @java.lang.Override public org.scip_code.scip.Descriptor.Suffix getSuffix() { - org.scip_code.scip.Descriptor.Suffix result = org.scip_code.scip.Descriptor.Suffix.forNumber(suffix_); - return result == null ? org.scip_code.scip.Descriptor.Suffix.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 (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) { - com.google.protobuf.GeneratedMessage.writeString(output, 1, name_); - } - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(disambiguator_)) { - com.google.protobuf.GeneratedMessage.writeString(output, 2, disambiguator_); - } - if (suffix_ != org.scip_code.scip.Descriptor.Suffix.UnspecifiedSuffix.getNumber()) { - output.writeEnum(3, suffix_); - } - getUnknownFields().writeTo(output); - } - - @java.lang.Override - public int getSerializedSize() { - int size = memoizedSize; - if (size != -1) return size; - - size = 0; - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) { - size += com.google.protobuf.GeneratedMessage.computeStringSize(1, name_); - } - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(disambiguator_)) { - size += com.google.protobuf.GeneratedMessage.computeStringSize(2, disambiguator_); - } - if (suffix_ != org.scip_code.scip.Descriptor.Suffix.UnspecifiedSuffix.getNumber()) { - size += com.google.protobuf.CodedOutputStream - .computeEnumSize(3, suffix_); - } - size += getUnknownFields().getSerializedSize(); - memoizedSize = size; - return size; - } - - @java.lang.Override - public boolean equals(final java.lang.Object obj) { - if (obj == this) { - return true; - } - if (!(obj instanceof org.scip_code.scip.Descriptor)) { - return super.equals(obj); - } - org.scip_code.scip.Descriptor other = (org.scip_code.scip.Descriptor) obj; - - if (!getName() - .equals(other.getName())) return false; - if (!getDisambiguator() - .equals(other.getDisambiguator())) return false; - if (suffix_ != other.suffix_) return false; - if (!getUnknownFields().equals(other.getUnknownFields())) 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) + NAME_FIELD_NUMBER; - hash = (53 * hash) + getName().hashCode(); - hash = (37 * hash) + DISAMBIGUATOR_FIELD_NUMBER; - hash = (53 * hash) + getDisambiguator().hashCode(); - hash = (37 * hash) + SUFFIX_FIELD_NUMBER; - hash = (53 * hash) + suffix_; - hash = (29 * hash) + getUnknownFields().hashCode(); - memoizedHashCode = hash; - return hash; - } - - public static org.scip_code.scip.Descriptor parseFrom( - java.nio.ByteBuffer data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static org.scip_code.scip.Descriptor parseFrom( - java.nio.ByteBuffer data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static org.scip_code.scip.Descriptor parseFrom( - com.google.protobuf.ByteString data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static org.scip_code.scip.Descriptor parseFrom( - com.google.protobuf.ByteString data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static org.scip_code.scip.Descriptor parseFrom(byte[] data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static org.scip_code.scip.Descriptor parseFrom( - byte[] data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static org.scip_code.scip.Descriptor parseFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input); - } - public static org.scip_code.scip.Descriptor parseFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input, extensionRegistry); - } - - public static org.scip_code.scip.Descriptor parseDelimitedFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseDelimitedWithIOException(PARSER, input); - } - - public static org.scip_code.scip.Descriptor parseDelimitedFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseDelimitedWithIOException(PARSER, input, extensionRegistry); - } - public static org.scip_code.scip.Descriptor parseFrom( - com.google.protobuf.CodedInputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input); - } - public static org.scip_code.scip.Descriptor parseFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input, extensionRegistry); - } - - @java.lang.Override - public Builder newBuilderForType() { return newBuilder(); } - public static Builder newBuilder() { - return DEFAULT_INSTANCE.toBuilder(); - } - public static Builder newBuilder(org.scip_code.scip.Descriptor 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.GeneratedMessage.BuilderParent parent) { - Builder builder = new Builder(parent); - return builder; - } - /** - * Protobuf type {@code scip.Descriptor} - */ - public static final class Builder extends - com.google.protobuf.GeneratedMessage.Builder implements - // @@protoc_insertion_point(builder_implements:scip.Descriptor) - org.scip_code.scip.DescriptorOrBuilder { - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return org.scip_code.scip.ScipProto.internal_static_scip_Descriptor_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessage.FieldAccessorTable - internalGetFieldAccessorTable() { - return org.scip_code.scip.ScipProto.internal_static_scip_Descriptor_fieldAccessorTable - .ensureFieldAccessorsInitialized( - org.scip_code.scip.Descriptor.class, org.scip_code.scip.Descriptor.Builder.class); - } - - // Construct using org.scip_code.scip.Descriptor.newBuilder() - private Builder() { - - } - - private Builder( - com.google.protobuf.GeneratedMessage.BuilderParent parent) { - super(parent); - - } - @java.lang.Override - public Builder clear() { - super.clear(); - bitField0_ = 0; - name_ = ""; - disambiguator_ = ""; - suffix_ = 0; - return this; - } - - @java.lang.Override - public com.google.protobuf.Descriptors.Descriptor - getDescriptorForType() { - return org.scip_code.scip.ScipProto.internal_static_scip_Descriptor_descriptor; - } - - @java.lang.Override - public org.scip_code.scip.Descriptor getDefaultInstanceForType() { - return org.scip_code.scip.Descriptor.getDefaultInstance(); - } - - @java.lang.Override - public org.scip_code.scip.Descriptor build() { - org.scip_code.scip.Descriptor result = buildPartial(); - if (!result.isInitialized()) { - throw newUninitializedMessageException(result); - } - return result; - } - - @java.lang.Override - public org.scip_code.scip.Descriptor buildPartial() { - org.scip_code.scip.Descriptor result = new org.scip_code.scip.Descriptor(this); - if (bitField0_ != 0) { buildPartial0(result); } - onBuilt(); - return result; - } - - private void buildPartial0(org.scip_code.scip.Descriptor result) { - int from_bitField0_ = bitField0_; - if (((from_bitField0_ & 0x00000001) != 0)) { - result.name_ = name_; - } - if (((from_bitField0_ & 0x00000002) != 0)) { - result.disambiguator_ = disambiguator_; - } - if (((from_bitField0_ & 0x00000004) != 0)) { - result.suffix_ = suffix_; - } - } - - @java.lang.Override - public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof org.scip_code.scip.Descriptor) { - return mergeFrom((org.scip_code.scip.Descriptor)other); - } else { - super.mergeFrom(other); - return this; - } - } - - public Builder mergeFrom(org.scip_code.scip.Descriptor other) { - if (other == org.scip_code.scip.Descriptor.getDefaultInstance()) return this; - if (!other.getName().isEmpty()) { - name_ = other.name_; - bitField0_ |= 0x00000001; - onChanged(); - } - if (!other.getDisambiguator().isEmpty()) { - disambiguator_ = other.disambiguator_; - bitField0_ |= 0x00000002; - onChanged(); - } - if (other.suffix_ != 0) { - setSuffixValue(other.getSuffixValue()); - } - this.mergeUnknownFields(other.getUnknownFields()); - 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 { - if (extensionRegistry == null) { - throw new java.lang.NullPointerException(); - } - try { - boolean done = false; - while (!done) { - int tag = input.readTag(); - switch (tag) { - case 0: - done = true; - break; - case 10: { - name_ = input.readStringRequireUtf8(); - bitField0_ |= 0x00000001; - break; - } // case 10 - case 18: { - disambiguator_ = input.readStringRequireUtf8(); - bitField0_ |= 0x00000002; - break; - } // case 18 - case 24: { - suffix_ = input.readEnum(); - bitField0_ |= 0x00000004; - break; - } // case 24 - default: { - if (!super.parseUnknownField(input, extensionRegistry, tag)) { - done = true; // was an endgroup tag - } - break; - } // default: - } // switch (tag) - } // while (!done) - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.unwrapIOException(); - } finally { - onChanged(); - } // finally - return this; - } - private int bitField0_; - - private java.lang.Object name_ = ""; - /** - * string name = 1 [json_name = "name"]; - * @return The name. - */ - public java.lang.String getName() { - java.lang.Object ref = name_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - name_ = s; - return s; - } else { - return (java.lang.String) ref; - } - } - /** - * string name = 1 [json_name = "name"]; - * @return The bytes for name. - */ - public com.google.protobuf.ByteString - getNameBytes() { - java.lang.Object ref = name_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - name_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - /** - * string name = 1 [json_name = "name"]; - * @param value The name to set. - * @return This builder for chaining. - */ - public Builder setName( - java.lang.String value) { - if (value == null) { throw new NullPointerException(); } - name_ = value; - bitField0_ |= 0x00000001; - onChanged(); - return this; - } - /** - * string name = 1 [json_name = "name"]; - * @return This builder for chaining. - */ - public Builder clearName() { - name_ = getDefaultInstance().getName(); - bitField0_ = (bitField0_ & ~0x00000001); - onChanged(); - return this; - } - /** - * string name = 1 [json_name = "name"]; - * @param value The bytes for name to set. - * @return This builder for chaining. - */ - public Builder setNameBytes( - com.google.protobuf.ByteString value) { - if (value == null) { throw new NullPointerException(); } - checkByteStringIsUtf8(value); - name_ = value; - bitField0_ |= 0x00000001; - onChanged(); - return this; - } - - private java.lang.Object disambiguator_ = ""; - /** - * string disambiguator = 2 [json_name = "disambiguator"]; - * @return The disambiguator. - */ - public java.lang.String getDisambiguator() { - java.lang.Object ref = disambiguator_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - disambiguator_ = s; - return s; - } else { - return (java.lang.String) ref; - } - } - /** - * string disambiguator = 2 [json_name = "disambiguator"]; - * @return The bytes for disambiguator. - */ - public com.google.protobuf.ByteString - getDisambiguatorBytes() { - java.lang.Object ref = disambiguator_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - disambiguator_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - /** - * string disambiguator = 2 [json_name = "disambiguator"]; - * @param value The disambiguator to set. - * @return This builder for chaining. - */ - public Builder setDisambiguator( - java.lang.String value) { - if (value == null) { throw new NullPointerException(); } - disambiguator_ = value; - bitField0_ |= 0x00000002; - onChanged(); - return this; - } - /** - * string disambiguator = 2 [json_name = "disambiguator"]; - * @return This builder for chaining. - */ - public Builder clearDisambiguator() { - disambiguator_ = getDefaultInstance().getDisambiguator(); - bitField0_ = (bitField0_ & ~0x00000002); - onChanged(); - return this; - } - /** - * string disambiguator = 2 [json_name = "disambiguator"]; - * @param value The bytes for disambiguator to set. - * @return This builder for chaining. - */ - public Builder setDisambiguatorBytes( - com.google.protobuf.ByteString value) { - if (value == null) { throw new NullPointerException(); } - checkByteStringIsUtf8(value); - disambiguator_ = value; - bitField0_ |= 0x00000002; - onChanged(); - return this; - } - - private int suffix_ = 0; - /** - *
-     * NOTE: If you add new fields here, make sure to update the prepareSlot()
-     * function responsible for parsing symbols.
-     * 
- * - * .scip.Descriptor.Suffix suffix = 3 [json_name = "suffix"]; - * @return The enum numeric value on the wire for suffix. - */ - @java.lang.Override public int getSuffixValue() { - return suffix_; - } - /** - *
-     * NOTE: If you add new fields here, make sure to update the prepareSlot()
-     * function responsible for parsing symbols.
-     * 
- * - * .scip.Descriptor.Suffix suffix = 3 [json_name = "suffix"]; - * @param value The enum numeric value on the wire for suffix to set. - * @return This builder for chaining. - */ - public Builder setSuffixValue(int value) { - suffix_ = value; - bitField0_ |= 0x00000004; - onChanged(); - return this; - } - /** - *
-     * NOTE: If you add new fields here, make sure to update the prepareSlot()
-     * function responsible for parsing symbols.
-     * 
- * - * .scip.Descriptor.Suffix suffix = 3 [json_name = "suffix"]; - * @return The suffix. - */ - @java.lang.Override - public org.scip_code.scip.Descriptor.Suffix getSuffix() { - org.scip_code.scip.Descriptor.Suffix result = org.scip_code.scip.Descriptor.Suffix.forNumber(suffix_); - return result == null ? org.scip_code.scip.Descriptor.Suffix.UNRECOGNIZED : result; - } - /** - *
-     * NOTE: If you add new fields here, make sure to update the prepareSlot()
-     * function responsible for parsing symbols.
-     * 
- * - * .scip.Descriptor.Suffix suffix = 3 [json_name = "suffix"]; - * @param value The suffix to set. - * @return This builder for chaining. - */ - public Builder setSuffix(org.scip_code.scip.Descriptor.Suffix value) { - if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000004; - suffix_ = value.getNumber(); - onChanged(); - return this; - } - /** - *
-     * NOTE: If you add new fields here, make sure to update the prepareSlot()
-     * function responsible for parsing symbols.
-     * 
- * - * .scip.Descriptor.Suffix suffix = 3 [json_name = "suffix"]; - * @return This builder for chaining. - */ - public Builder clearSuffix() { - bitField0_ = (bitField0_ & ~0x00000004); - suffix_ = 0; - onChanged(); - return this; - } - - // @@protoc_insertion_point(builder_scope:scip.Descriptor) - } - - // @@protoc_insertion_point(class_scope:scip.Descriptor) - private static final org.scip_code.scip.Descriptor DEFAULT_INSTANCE; - static { - DEFAULT_INSTANCE = new org.scip_code.scip.Descriptor(); - } - - public static org.scip_code.scip.Descriptor getDefaultInstance() { - return DEFAULT_INSTANCE; - } - - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { - @java.lang.Override - public Descriptor parsePartialFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - Builder builder = newBuilder(); - try { - builder.mergeFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.setUnfinishedMessage(builder.buildPartial()); - } catch (com.google.protobuf.UninitializedMessageException e) { - throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); - } catch (java.io.IOException e) { - throw new com.google.protobuf.InvalidProtocolBufferException(e) - .setUnfinishedMessage(builder.buildPartial()); - } - return builder.buildPartial(); - } - }; - - public static com.google.protobuf.Parser parser() { - return PARSER; - } - - @java.lang.Override - public com.google.protobuf.Parser getParserForType() { - return PARSER; - } - - @java.lang.Override - public org.scip_code.scip.Descriptor getDefaultInstanceForType() { - return DEFAULT_INSTANCE; - } - -} - diff --git a/bindings/kotlin/src/main/java/org/scip_code/scip/DescriptorOrBuilder.java b/bindings/kotlin/src/main/java/org/scip_code/scip/DescriptorOrBuilder.java deleted file mode 100644 index c4163c6e..00000000 --- a/bindings/kotlin/src/main/java/org/scip_code/scip/DescriptorOrBuilder.java +++ /dev/null @@ -1,57 +0,0 @@ -// Generated by the protocol buffer compiler. DO NOT EDIT! -// NO CHECKED-IN PROTOBUF GENCODE -// source: scip.proto -// Protobuf Java Version: 4.32.1 - -package org.scip_code.scip; - -@com.google.protobuf.Generated -public interface DescriptorOrBuilder extends - // @@protoc_insertion_point(interface_extends:scip.Descriptor) - com.google.protobuf.MessageOrBuilder { - - /** - * string name = 1 [json_name = "name"]; - * @return The name. - */ - java.lang.String getName(); - /** - * string name = 1 [json_name = "name"]; - * @return The bytes for name. - */ - com.google.protobuf.ByteString - getNameBytes(); - - /** - * string disambiguator = 2 [json_name = "disambiguator"]; - * @return The disambiguator. - */ - java.lang.String getDisambiguator(); - /** - * string disambiguator = 2 [json_name = "disambiguator"]; - * @return The bytes for disambiguator. - */ - com.google.protobuf.ByteString - getDisambiguatorBytes(); - - /** - *
-   * NOTE: If you add new fields here, make sure to update the prepareSlot()
-   * function responsible for parsing symbols.
-   * 
- * - * .scip.Descriptor.Suffix suffix = 3 [json_name = "suffix"]; - * @return The enum numeric value on the wire for suffix. - */ - int getSuffixValue(); - /** - *
-   * NOTE: If you add new fields here, make sure to update the prepareSlot()
-   * function responsible for parsing symbols.
-   * 
- * - * .scip.Descriptor.Suffix suffix = 3 [json_name = "suffix"]; - * @return The suffix. - */ - org.scip_code.scip.Descriptor.Suffix getSuffix(); -} diff --git a/bindings/kotlin/src/main/java/org/scip_code/scip/Diagnostic.java b/bindings/kotlin/src/main/java/org/scip_code/scip/Diagnostic.java deleted file mode 100644 index da370203..00000000 --- a/bindings/kotlin/src/main/java/org/scip_code/scip/Diagnostic.java +++ /dev/null @@ -1,1248 +0,0 @@ -// Generated by the protocol buffer compiler. DO NOT EDIT! -// NO CHECKED-IN PROTOBUF GENCODE -// source: scip.proto -// Protobuf Java Version: 4.32.1 - -package org.scip_code.scip; - -/** - *
- * Represents a diagnostic, such as a compiler error or warning, which should be
- * reported for a document.
- * 
- * - * Protobuf type {@code scip.Diagnostic} - */ -@com.google.protobuf.Generated -public final class Diagnostic extends - com.google.protobuf.GeneratedMessage implements - // @@protoc_insertion_point(message_implements:scip.Diagnostic) - DiagnosticOrBuilder { -private static final long serialVersionUID = 0L; - static { - com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( - com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, - /* major= */ 4, - /* minor= */ 32, - /* patch= */ 1, - /* suffix= */ "", - Diagnostic.class.getName()); - } - // Use Diagnostic.newBuilder() to construct. - private Diagnostic(com.google.protobuf.GeneratedMessage.Builder builder) { - super(builder); - } - private Diagnostic() { - severity_ = 0; - code_ = ""; - message_ = ""; - source_ = ""; - tags_ = emptyIntList(); - } - - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return org.scip_code.scip.ScipProto.internal_static_scip_Diagnostic_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessage.FieldAccessorTable - internalGetFieldAccessorTable() { - return org.scip_code.scip.ScipProto.internal_static_scip_Diagnostic_fieldAccessorTable - .ensureFieldAccessorsInitialized( - org.scip_code.scip.Diagnostic.class, org.scip_code.scip.Diagnostic.Builder.class); - } - - public static final int SEVERITY_FIELD_NUMBER = 1; - private int severity_ = 0; - /** - *
-   * Should this diagnostic be reported as an error, warning, info, or hint?
-   * 
- * - * .scip.Severity severity = 1 [json_name = "severity"]; - * @return The enum numeric value on the wire for severity. - */ - @java.lang.Override public int getSeverityValue() { - return severity_; - } - /** - *
-   * Should this diagnostic be reported as an error, warning, info, or hint?
-   * 
- * - * .scip.Severity severity = 1 [json_name = "severity"]; - * @return The severity. - */ - @java.lang.Override public org.scip_code.scip.Severity getSeverity() { - org.scip_code.scip.Severity result = org.scip_code.scip.Severity.forNumber(severity_); - return result == null ? org.scip_code.scip.Severity.UNRECOGNIZED : result; - } - - public static final int CODE_FIELD_NUMBER = 2; - @SuppressWarnings("serial") - private volatile java.lang.Object code_ = ""; - /** - *
-   * (optional) Code of this diagnostic, which might appear in the user interface.
-   * 
- * - * string code = 2 [json_name = "code"]; - * @return The code. - */ - @java.lang.Override - public java.lang.String getCode() { - java.lang.Object ref = code_; - 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(); - code_ = s; - return s; - } - } - /** - *
-   * (optional) Code of this diagnostic, which might appear in the user interface.
-   * 
- * - * string code = 2 [json_name = "code"]; - * @return The bytes for code. - */ - @java.lang.Override - public com.google.protobuf.ByteString - getCodeBytes() { - java.lang.Object ref = code_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - code_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - - public static final int MESSAGE_FIELD_NUMBER = 3; - @SuppressWarnings("serial") - private volatile java.lang.Object message_ = ""; - /** - *
-   * Message of this diagnostic.
-   * 
- * - * string message = 3 [json_name = "message"]; - * @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; - } - } - /** - *
-   * Message of this diagnostic.
-   * 
- * - * string message = 3 [json_name = "message"]; - * @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 SOURCE_FIELD_NUMBER = 4; - @SuppressWarnings("serial") - private volatile java.lang.Object source_ = ""; - /** - *
-   * (optional) Human-readable string describing the source of this diagnostic, e.g.
-   * 'typescript' or 'super lint'.
-   * 
- * - * string source = 4 [json_name = "source"]; - * @return The source. - */ - @java.lang.Override - public java.lang.String getSource() { - java.lang.Object ref = source_; - 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(); - source_ = s; - return s; - } - } - /** - *
-   * (optional) Human-readable string describing the source of this diagnostic, e.g.
-   * 'typescript' or 'super lint'.
-   * 
- * - * string source = 4 [json_name = "source"]; - * @return The bytes for source. - */ - @java.lang.Override - public com.google.protobuf.ByteString - getSourceBytes() { - java.lang.Object ref = source_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - source_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - - public static final int TAGS_FIELD_NUMBER = 5; - @SuppressWarnings("serial") - private com.google.protobuf.Internal.IntList tags_ = - emptyIntList(); - private static final com.google.protobuf.Internal.IntListAdapter.IntConverter< - org.scip_code.scip.DiagnosticTag> tags_converter_ = - new com.google.protobuf.Internal.IntListAdapter.IntConverter< - org.scip_code.scip.DiagnosticTag>() { - public org.scip_code.scip.DiagnosticTag convert(int from) { - org.scip_code.scip.DiagnosticTag result = org.scip_code.scip.DiagnosticTag.forNumber(from); - return result == null ? org.scip_code.scip.DiagnosticTag.UNRECOGNIZED : result; - } - }; - /** - * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; - * @return A list containing the tags. - */ - @java.lang.Override - public java.util.List getTagsList() { - return new com.google.protobuf.Internal.IntListAdapter< - org.scip_code.scip.DiagnosticTag>(tags_, tags_converter_); - } - /** - * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; - * @return The count of tags. - */ - @java.lang.Override - public int getTagsCount() { - return tags_.size(); - } - /** - * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; - * @param index The index of the element to return. - * @return The tags at the given index. - */ - @java.lang.Override - public org.scip_code.scip.DiagnosticTag getTags(int index) { - return tags_converter_.convert(tags_.getInt(index)); - } - /** - * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; - * @return A list containing the enum numeric values on the wire for tags. - */ - @java.lang.Override - public java.util.List - getTagsValueList() { - return tags_; - } - /** - * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; - * @param index The index of the value to return. - * @return The enum numeric value on the wire of tags at the given index. - */ - @java.lang.Override - public int getTagsValue(int index) { - return tags_.getInt(index); - } - private int tagsMemoizedSerializedSize; - - 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 { - getSerializedSize(); - if (severity_ != org.scip_code.scip.Severity.UnspecifiedSeverity.getNumber()) { - output.writeEnum(1, severity_); - } - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(code_)) { - com.google.protobuf.GeneratedMessage.writeString(output, 2, code_); - } - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(message_)) { - com.google.protobuf.GeneratedMessage.writeString(output, 3, message_); - } - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(source_)) { - com.google.protobuf.GeneratedMessage.writeString(output, 4, source_); - } - if (getTagsList().size() > 0) { - output.writeUInt32NoTag(42); - output.writeUInt32NoTag(tagsMemoizedSerializedSize); - } - for (int i = 0; i < tags_.size(); i++) { - output.writeEnumNoTag(tags_.getInt(i)); - } - getUnknownFields().writeTo(output); - } - - @java.lang.Override - public int getSerializedSize() { - int size = memoizedSize; - if (size != -1) return size; - - size = 0; - if (severity_ != org.scip_code.scip.Severity.UnspecifiedSeverity.getNumber()) { - size += com.google.protobuf.CodedOutputStream - .computeEnumSize(1, severity_); - } - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(code_)) { - size += com.google.protobuf.GeneratedMessage.computeStringSize(2, code_); - } - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(message_)) { - size += com.google.protobuf.GeneratedMessage.computeStringSize(3, message_); - } - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(source_)) { - size += com.google.protobuf.GeneratedMessage.computeStringSize(4, source_); - } - { - int dataSize = 0; - for (int i = 0; i < tags_.size(); i++) { - dataSize += com.google.protobuf.CodedOutputStream - .computeEnumSizeNoTag(tags_.getInt(i)); - } - size += dataSize; - if (!getTagsList().isEmpty()) { size += 1; - size += com.google.protobuf.CodedOutputStream - .computeUInt32SizeNoTag(dataSize); - }tagsMemoizedSerializedSize = dataSize; - } - size += getUnknownFields().getSerializedSize(); - memoizedSize = size; - return size; - } - - @java.lang.Override - public boolean equals(final java.lang.Object obj) { - if (obj == this) { - return true; - } - if (!(obj instanceof org.scip_code.scip.Diagnostic)) { - return super.equals(obj); - } - org.scip_code.scip.Diagnostic other = (org.scip_code.scip.Diagnostic) obj; - - if (severity_ != other.severity_) return false; - if (!getCode() - .equals(other.getCode())) return false; - if (!getMessage() - .equals(other.getMessage())) return false; - if (!getSource() - .equals(other.getSource())) return false; - if (!tags_.equals(other.tags_)) return false; - if (!getUnknownFields().equals(other.getUnknownFields())) 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) + SEVERITY_FIELD_NUMBER; - hash = (53 * hash) + severity_; - hash = (37 * hash) + CODE_FIELD_NUMBER; - hash = (53 * hash) + getCode().hashCode(); - hash = (37 * hash) + MESSAGE_FIELD_NUMBER; - hash = (53 * hash) + getMessage().hashCode(); - hash = (37 * hash) + SOURCE_FIELD_NUMBER; - hash = (53 * hash) + getSource().hashCode(); - if (getTagsCount() > 0) { - hash = (37 * hash) + TAGS_FIELD_NUMBER; - hash = (53 * hash) + tags_.hashCode(); - } - hash = (29 * hash) + getUnknownFields().hashCode(); - memoizedHashCode = hash; - return hash; - } - - public static org.scip_code.scip.Diagnostic parseFrom( - java.nio.ByteBuffer data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static org.scip_code.scip.Diagnostic parseFrom( - java.nio.ByteBuffer data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static org.scip_code.scip.Diagnostic parseFrom( - com.google.protobuf.ByteString data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static org.scip_code.scip.Diagnostic parseFrom( - com.google.protobuf.ByteString data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static org.scip_code.scip.Diagnostic parseFrom(byte[] data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static org.scip_code.scip.Diagnostic parseFrom( - byte[] data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static org.scip_code.scip.Diagnostic parseFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input); - } - public static org.scip_code.scip.Diagnostic parseFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input, extensionRegistry); - } - - public static org.scip_code.scip.Diagnostic parseDelimitedFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseDelimitedWithIOException(PARSER, input); - } - - public static org.scip_code.scip.Diagnostic parseDelimitedFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseDelimitedWithIOException(PARSER, input, extensionRegistry); - } - public static org.scip_code.scip.Diagnostic parseFrom( - com.google.protobuf.CodedInputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input); - } - public static org.scip_code.scip.Diagnostic parseFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input, extensionRegistry); - } - - @java.lang.Override - public Builder newBuilderForType() { return newBuilder(); } - public static Builder newBuilder() { - return DEFAULT_INSTANCE.toBuilder(); - } - public static Builder newBuilder(org.scip_code.scip.Diagnostic 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.GeneratedMessage.BuilderParent parent) { - Builder builder = new Builder(parent); - return builder; - } - /** - *
-   * Represents a diagnostic, such as a compiler error or warning, which should be
-   * reported for a document.
-   * 
- * - * Protobuf type {@code scip.Diagnostic} - */ - public static final class Builder extends - com.google.protobuf.GeneratedMessage.Builder implements - // @@protoc_insertion_point(builder_implements:scip.Diagnostic) - org.scip_code.scip.DiagnosticOrBuilder { - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return org.scip_code.scip.ScipProto.internal_static_scip_Diagnostic_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessage.FieldAccessorTable - internalGetFieldAccessorTable() { - return org.scip_code.scip.ScipProto.internal_static_scip_Diagnostic_fieldAccessorTable - .ensureFieldAccessorsInitialized( - org.scip_code.scip.Diagnostic.class, org.scip_code.scip.Diagnostic.Builder.class); - } - - // Construct using org.scip_code.scip.Diagnostic.newBuilder() - private Builder() { - - } - - private Builder( - com.google.protobuf.GeneratedMessage.BuilderParent parent) { - super(parent); - - } - @java.lang.Override - public Builder clear() { - super.clear(); - bitField0_ = 0; - severity_ = 0; - code_ = ""; - message_ = ""; - source_ = ""; - tags_ = emptyIntList(); - return this; - } - - @java.lang.Override - public com.google.protobuf.Descriptors.Descriptor - getDescriptorForType() { - return org.scip_code.scip.ScipProto.internal_static_scip_Diagnostic_descriptor; - } - - @java.lang.Override - public org.scip_code.scip.Diagnostic getDefaultInstanceForType() { - return org.scip_code.scip.Diagnostic.getDefaultInstance(); - } - - @java.lang.Override - public org.scip_code.scip.Diagnostic build() { - org.scip_code.scip.Diagnostic result = buildPartial(); - if (!result.isInitialized()) { - throw newUninitializedMessageException(result); - } - return result; - } - - @java.lang.Override - public org.scip_code.scip.Diagnostic buildPartial() { - org.scip_code.scip.Diagnostic result = new org.scip_code.scip.Diagnostic(this); - if (bitField0_ != 0) { buildPartial0(result); } - onBuilt(); - return result; - } - - private void buildPartial0(org.scip_code.scip.Diagnostic result) { - int from_bitField0_ = bitField0_; - if (((from_bitField0_ & 0x00000001) != 0)) { - result.severity_ = severity_; - } - if (((from_bitField0_ & 0x00000002) != 0)) { - result.code_ = code_; - } - if (((from_bitField0_ & 0x00000004) != 0)) { - result.message_ = message_; - } - if (((from_bitField0_ & 0x00000008) != 0)) { - result.source_ = source_; - } - if (((from_bitField0_ & 0x00000010) != 0)) { - tags_.makeImmutable(); - result.tags_ = tags_; - } - } - - @java.lang.Override - public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof org.scip_code.scip.Diagnostic) { - return mergeFrom((org.scip_code.scip.Diagnostic)other); - } else { - super.mergeFrom(other); - return this; - } - } - - public Builder mergeFrom(org.scip_code.scip.Diagnostic other) { - if (other == org.scip_code.scip.Diagnostic.getDefaultInstance()) return this; - if (other.severity_ != 0) { - setSeverityValue(other.getSeverityValue()); - } - if (!other.getCode().isEmpty()) { - code_ = other.code_; - bitField0_ |= 0x00000002; - onChanged(); - } - if (!other.getMessage().isEmpty()) { - message_ = other.message_; - bitField0_ |= 0x00000004; - onChanged(); - } - if (!other.getSource().isEmpty()) { - source_ = other.source_; - bitField0_ |= 0x00000008; - onChanged(); - } - if (!other.tags_.isEmpty()) { - if (tags_.isEmpty()) { - tags_ = other.tags_; - tags_.makeImmutable(); - bitField0_ |= 0x00000010; - } else { - ensureTagsIsMutable(); - tags_.addAll(other.tags_); - } - onChanged(); - } - this.mergeUnknownFields(other.getUnknownFields()); - 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 { - if (extensionRegistry == null) { - throw new java.lang.NullPointerException(); - } - try { - boolean done = false; - while (!done) { - int tag = input.readTag(); - switch (tag) { - case 0: - done = true; - break; - case 8: { - severity_ = input.readEnum(); - bitField0_ |= 0x00000001; - break; - } // case 8 - case 18: { - code_ = input.readStringRequireUtf8(); - bitField0_ |= 0x00000002; - break; - } // case 18 - case 26: { - message_ = input.readStringRequireUtf8(); - bitField0_ |= 0x00000004; - break; - } // case 26 - case 34: { - source_ = input.readStringRequireUtf8(); - bitField0_ |= 0x00000008; - break; - } // case 34 - case 40: { - int tmpRaw = input.readEnum(); - ensureTagsIsMutable(); - tags_.addInt(tmpRaw); - break; - } // case 40 - case 42: { - int length = input.readRawVarint32(); - int limit = input.pushLimit(length); - ensureTagsIsMutable(); - while (input.getBytesUntilLimit() > 0) { - tags_.addInt(input.readEnum()); - } - input.popLimit(limit); - break; - } // case 42 - default: { - if (!super.parseUnknownField(input, extensionRegistry, tag)) { - done = true; // was an endgroup tag - } - break; - } // default: - } // switch (tag) - } // while (!done) - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.unwrapIOException(); - } finally { - onChanged(); - } // finally - return this; - } - private int bitField0_; - - private int severity_ = 0; - /** - *
-     * Should this diagnostic be reported as an error, warning, info, or hint?
-     * 
- * - * .scip.Severity severity = 1 [json_name = "severity"]; - * @return The enum numeric value on the wire for severity. - */ - @java.lang.Override public int getSeverityValue() { - return severity_; - } - /** - *
-     * Should this diagnostic be reported as an error, warning, info, or hint?
-     * 
- * - * .scip.Severity severity = 1 [json_name = "severity"]; - * @param value The enum numeric value on the wire for severity to set. - * @return This builder for chaining. - */ - public Builder setSeverityValue(int value) { - severity_ = value; - bitField0_ |= 0x00000001; - onChanged(); - return this; - } - /** - *
-     * Should this diagnostic be reported as an error, warning, info, or hint?
-     * 
- * - * .scip.Severity severity = 1 [json_name = "severity"]; - * @return The severity. - */ - @java.lang.Override - public org.scip_code.scip.Severity getSeverity() { - org.scip_code.scip.Severity result = org.scip_code.scip.Severity.forNumber(severity_); - return result == null ? org.scip_code.scip.Severity.UNRECOGNIZED : result; - } - /** - *
-     * Should this diagnostic be reported as an error, warning, info, or hint?
-     * 
- * - * .scip.Severity severity = 1 [json_name = "severity"]; - * @param value The severity to set. - * @return This builder for chaining. - */ - public Builder setSeverity(org.scip_code.scip.Severity value) { - if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000001; - severity_ = value.getNumber(); - onChanged(); - return this; - } - /** - *
-     * Should this diagnostic be reported as an error, warning, info, or hint?
-     * 
- * - * .scip.Severity severity = 1 [json_name = "severity"]; - * @return This builder for chaining. - */ - public Builder clearSeverity() { - bitField0_ = (bitField0_ & ~0x00000001); - severity_ = 0; - onChanged(); - return this; - } - - private java.lang.Object code_ = ""; - /** - *
-     * (optional) Code of this diagnostic, which might appear in the user interface.
-     * 
- * - * string code = 2 [json_name = "code"]; - * @return The code. - */ - public java.lang.String getCode() { - java.lang.Object ref = code_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - code_ = s; - return s; - } else { - return (java.lang.String) ref; - } - } - /** - *
-     * (optional) Code of this diagnostic, which might appear in the user interface.
-     * 
- * - * string code = 2 [json_name = "code"]; - * @return The bytes for code. - */ - public com.google.protobuf.ByteString - getCodeBytes() { - java.lang.Object ref = code_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - code_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - /** - *
-     * (optional) Code of this diagnostic, which might appear in the user interface.
-     * 
- * - * string code = 2 [json_name = "code"]; - * @param value The code to set. - * @return This builder for chaining. - */ - public Builder setCode( - java.lang.String value) { - if (value == null) { throw new NullPointerException(); } - code_ = value; - bitField0_ |= 0x00000002; - onChanged(); - return this; - } - /** - *
-     * (optional) Code of this diagnostic, which might appear in the user interface.
-     * 
- * - * string code = 2 [json_name = "code"]; - * @return This builder for chaining. - */ - public Builder clearCode() { - code_ = getDefaultInstance().getCode(); - bitField0_ = (bitField0_ & ~0x00000002); - onChanged(); - return this; - } - /** - *
-     * (optional) Code of this diagnostic, which might appear in the user interface.
-     * 
- * - * string code = 2 [json_name = "code"]; - * @param value The bytes for code to set. - * @return This builder for chaining. - */ - public Builder setCodeBytes( - com.google.protobuf.ByteString value) { - if (value == null) { throw new NullPointerException(); } - checkByteStringIsUtf8(value); - code_ = value; - bitField0_ |= 0x00000002; - onChanged(); - return this; - } - - private java.lang.Object message_ = ""; - /** - *
-     * Message of this diagnostic.
-     * 
- * - * string message = 3 [json_name = "message"]; - * @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; - } - } - /** - *
-     * Message of this diagnostic.
-     * 
- * - * string message = 3 [json_name = "message"]; - * @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; - } - } - /** - *
-     * Message of this diagnostic.
-     * 
- * - * string message = 3 [json_name = "message"]; - * @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; - bitField0_ |= 0x00000004; - onChanged(); - return this; - } - /** - *
-     * Message of this diagnostic.
-     * 
- * - * string message = 3 [json_name = "message"]; - * @return This builder for chaining. - */ - public Builder clearMessage() { - message_ = getDefaultInstance().getMessage(); - bitField0_ = (bitField0_ & ~0x00000004); - onChanged(); - return this; - } - /** - *
-     * Message of this diagnostic.
-     * 
- * - * string message = 3 [json_name = "message"]; - * @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; - bitField0_ |= 0x00000004; - onChanged(); - return this; - } - - private java.lang.Object source_ = ""; - /** - *
-     * (optional) Human-readable string describing the source of this diagnostic, e.g.
-     * 'typescript' or 'super lint'.
-     * 
- * - * string source = 4 [json_name = "source"]; - * @return The source. - */ - public java.lang.String getSource() { - java.lang.Object ref = source_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - source_ = s; - return s; - } else { - return (java.lang.String) ref; - } - } - /** - *
-     * (optional) Human-readable string describing the source of this diagnostic, e.g.
-     * 'typescript' or 'super lint'.
-     * 
- * - * string source = 4 [json_name = "source"]; - * @return The bytes for source. - */ - public com.google.protobuf.ByteString - getSourceBytes() { - java.lang.Object ref = source_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - source_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - /** - *
-     * (optional) Human-readable string describing the source of this diagnostic, e.g.
-     * 'typescript' or 'super lint'.
-     * 
- * - * string source = 4 [json_name = "source"]; - * @param value The source to set. - * @return This builder for chaining. - */ - public Builder setSource( - java.lang.String value) { - if (value == null) { throw new NullPointerException(); } - source_ = value; - bitField0_ |= 0x00000008; - onChanged(); - return this; - } - /** - *
-     * (optional) Human-readable string describing the source of this diagnostic, e.g.
-     * 'typescript' or 'super lint'.
-     * 
- * - * string source = 4 [json_name = "source"]; - * @return This builder for chaining. - */ - public Builder clearSource() { - source_ = getDefaultInstance().getSource(); - bitField0_ = (bitField0_ & ~0x00000008); - onChanged(); - return this; - } - /** - *
-     * (optional) Human-readable string describing the source of this diagnostic, e.g.
-     * 'typescript' or 'super lint'.
-     * 
- * - * string source = 4 [json_name = "source"]; - * @param value The bytes for source to set. - * @return This builder for chaining. - */ - public Builder setSourceBytes( - com.google.protobuf.ByteString value) { - if (value == null) { throw new NullPointerException(); } - checkByteStringIsUtf8(value); - source_ = value; - bitField0_ |= 0x00000008; - onChanged(); - return this; - } - - private com.google.protobuf.Internal.IntList tags_ = emptyIntList(); - private void ensureTagsIsMutable() { - if (!tags_.isModifiable()) { - tags_ = makeMutableCopy(tags_); - } - bitField0_ |= 0x00000010; - } - /** - * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; - * @return A list containing the tags. - */ - public java.util.List getTagsList() { - return new com.google.protobuf.Internal.IntListAdapter< - org.scip_code.scip.DiagnosticTag>(tags_, tags_converter_); - } - /** - * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; - * @return The count of tags. - */ - public int getTagsCount() { - return tags_.size(); - } - /** - * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; - * @param index The index of the element to return. - * @return The tags at the given index. - */ - public org.scip_code.scip.DiagnosticTag getTags(int index) { - return tags_converter_.convert(tags_.getInt(index)); - } - /** - * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; - * @param index The index to set the value at. - * @param value The tags to set. - * @return This builder for chaining. - */ - public Builder setTags( - int index, org.scip_code.scip.DiagnosticTag value) { - if (value == null) { throw new NullPointerException(); } - ensureTagsIsMutable(); - tags_.setInt(index, value.getNumber()); - onChanged(); - return this; - } - /** - * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; - * @param value The tags to add. - * @return This builder for chaining. - */ - public Builder addTags(org.scip_code.scip.DiagnosticTag value) { - if (value == null) { throw new NullPointerException(); } - ensureTagsIsMutable(); - tags_.addInt(value.getNumber()); - onChanged(); - return this; - } - /** - * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; - * @param values The tags to add. - * @return This builder for chaining. - */ - public Builder addAllTags( - java.lang.Iterable values) { - ensureTagsIsMutable(); - for (org.scip_code.scip.DiagnosticTag value : values) { - tags_.addInt(value.getNumber()); - } - onChanged(); - return this; - } - /** - * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; - * @return This builder for chaining. - */ - public Builder clearTags() { - tags_ = emptyIntList(); - bitField0_ = (bitField0_ & ~0x00000010); - onChanged(); - return this; - } - /** - * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; - * @return A list containing the enum numeric values on the wire for tags. - */ - public java.util.List - getTagsValueList() { - tags_.makeImmutable(); - return tags_; - } - /** - * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; - * @param index The index of the value to return. - * @return The enum numeric value on the wire of tags at the given index. - */ - public int getTagsValue(int index) { - return tags_.getInt(index); - } - /** - * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; - * @param index The index to set the value at. - * @param value The enum numeric value on the wire for tags to set. - * @return This builder for chaining. - */ - public Builder setTagsValue( - int index, int value) { - ensureTagsIsMutable(); - tags_.setInt(index, value); - onChanged(); - return this; - } - /** - * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; - * @param value The enum numeric value on the wire for tags to add. - * @return This builder for chaining. - */ - public Builder addTagsValue(int value) { - ensureTagsIsMutable(); - tags_.addInt(value); - onChanged(); - return this; - } - /** - * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; - * @param values The enum numeric values on the wire for tags to add. - * @return This builder for chaining. - */ - public Builder addAllTagsValue( - java.lang.Iterable values) { - ensureTagsIsMutable(); - for (int value : values) { - tags_.addInt(value); - } - onChanged(); - return this; - } - - // @@protoc_insertion_point(builder_scope:scip.Diagnostic) - } - - // @@protoc_insertion_point(class_scope:scip.Diagnostic) - private static final org.scip_code.scip.Diagnostic DEFAULT_INSTANCE; - static { - DEFAULT_INSTANCE = new org.scip_code.scip.Diagnostic(); - } - - public static org.scip_code.scip.Diagnostic getDefaultInstance() { - return DEFAULT_INSTANCE; - } - - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { - @java.lang.Override - public Diagnostic parsePartialFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - Builder builder = newBuilder(); - try { - builder.mergeFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.setUnfinishedMessage(builder.buildPartial()); - } catch (com.google.protobuf.UninitializedMessageException e) { - throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); - } catch (java.io.IOException e) { - throw new com.google.protobuf.InvalidProtocolBufferException(e) - .setUnfinishedMessage(builder.buildPartial()); - } - return builder.buildPartial(); - } - }; - - public static com.google.protobuf.Parser parser() { - return PARSER; - } - - @java.lang.Override - public com.google.protobuf.Parser getParserForType() { - return PARSER; - } - - @java.lang.Override - public org.scip_code.scip.Diagnostic getDefaultInstanceForType() { - return DEFAULT_INSTANCE; - } - -} - diff --git a/bindings/kotlin/src/main/java/org/scip_code/scip/DiagnosticOrBuilder.java b/bindings/kotlin/src/main/java/org/scip_code/scip/DiagnosticOrBuilder.java deleted file mode 100644 index 1980b5dc..00000000 --- a/bindings/kotlin/src/main/java/org/scip_code/scip/DiagnosticOrBuilder.java +++ /dev/null @@ -1,122 +0,0 @@ -// Generated by the protocol buffer compiler. DO NOT EDIT! -// NO CHECKED-IN PROTOBUF GENCODE -// source: scip.proto -// Protobuf Java Version: 4.32.1 - -package org.scip_code.scip; - -@com.google.protobuf.Generated -public interface DiagnosticOrBuilder extends - // @@protoc_insertion_point(interface_extends:scip.Diagnostic) - com.google.protobuf.MessageOrBuilder { - - /** - *
-   * Should this diagnostic be reported as an error, warning, info, or hint?
-   * 
- * - * .scip.Severity severity = 1 [json_name = "severity"]; - * @return The enum numeric value on the wire for severity. - */ - int getSeverityValue(); - /** - *
-   * Should this diagnostic be reported as an error, warning, info, or hint?
-   * 
- * - * .scip.Severity severity = 1 [json_name = "severity"]; - * @return The severity. - */ - org.scip_code.scip.Severity getSeverity(); - - /** - *
-   * (optional) Code of this diagnostic, which might appear in the user interface.
-   * 
- * - * string code = 2 [json_name = "code"]; - * @return The code. - */ - java.lang.String getCode(); - /** - *
-   * (optional) Code of this diagnostic, which might appear in the user interface.
-   * 
- * - * string code = 2 [json_name = "code"]; - * @return The bytes for code. - */ - com.google.protobuf.ByteString - getCodeBytes(); - - /** - *
-   * Message of this diagnostic.
-   * 
- * - * string message = 3 [json_name = "message"]; - * @return The message. - */ - java.lang.String getMessage(); - /** - *
-   * Message of this diagnostic.
-   * 
- * - * string message = 3 [json_name = "message"]; - * @return The bytes for message. - */ - com.google.protobuf.ByteString - getMessageBytes(); - - /** - *
-   * (optional) Human-readable string describing the source of this diagnostic, e.g.
-   * 'typescript' or 'super lint'.
-   * 
- * - * string source = 4 [json_name = "source"]; - * @return The source. - */ - java.lang.String getSource(); - /** - *
-   * (optional) Human-readable string describing the source of this diagnostic, e.g.
-   * 'typescript' or 'super lint'.
-   * 
- * - * string source = 4 [json_name = "source"]; - * @return The bytes for source. - */ - com.google.protobuf.ByteString - getSourceBytes(); - - /** - * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; - * @return A list containing the tags. - */ - java.util.List getTagsList(); - /** - * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; - * @return The count of tags. - */ - int getTagsCount(); - /** - * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; - * @param index The index of the element to return. - * @return The tags at the given index. - */ - org.scip_code.scip.DiagnosticTag getTags(int index); - /** - * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; - * @return A list containing the enum numeric values on the wire for tags. - */ - java.util.List - getTagsValueList(); - /** - * repeated .scip.DiagnosticTag tags = 5 [json_name = "tags"]; - * @param index The index of the value to return. - * @return The enum numeric value on the wire of tags at the given index. - */ - int getTagsValue(int index); -} diff --git a/bindings/kotlin/src/main/java/org/scip_code/scip/DiagnosticTag.java b/bindings/kotlin/src/main/java/org/scip_code/scip/DiagnosticTag.java deleted file mode 100644 index 7b1d15ac..00000000 --- a/bindings/kotlin/src/main/java/org/scip_code/scip/DiagnosticTag.java +++ /dev/null @@ -1,134 +0,0 @@ -// Generated by the protocol buffer compiler. DO NOT EDIT! -// NO CHECKED-IN PROTOBUF GENCODE -// source: scip.proto -// Protobuf Java Version: 4.32.1 - -package org.scip_code.scip; - -/** - * Protobuf enum {@code scip.DiagnosticTag} - */ -@com.google.protobuf.Generated -public enum DiagnosticTag - implements com.google.protobuf.ProtocolMessageEnum { - /** - * UnspecifiedDiagnosticTag = 0; - */ - UnspecifiedDiagnosticTag(0), - /** - * Unnecessary = 1; - */ - Unnecessary(1), - /** - * Deprecated = 2; - */ - Deprecated(2), - UNRECOGNIZED(-1), - ; - - static { - com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( - com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, - /* major= */ 4, - /* minor= */ 32, - /* patch= */ 1, - /* suffix= */ "", - DiagnosticTag.class.getName()); - } - /** - * UnspecifiedDiagnosticTag = 0; - */ - public static final int UnspecifiedDiagnosticTag_VALUE = 0; - /** - * Unnecessary = 1; - */ - public static final int Unnecessary_VALUE = 1; - /** - * Deprecated = 2; - */ - public static final int Deprecated_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 DiagnosticTag 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 DiagnosticTag forNumber(int value) { - switch (value) { - case 0: return UnspecifiedDiagnosticTag; - case 1: return Unnecessary; - case 2: return Deprecated; - default: return null; - } - } - - public static com.google.protobuf.Internal.EnumLiteMap - internalGetValueMap() { - return internalValueMap; - } - private static final com.google.protobuf.Internal.EnumLiteMap< - DiagnosticTag> internalValueMap = - new com.google.protobuf.Internal.EnumLiteMap() { - public DiagnosticTag findValueByNumber(int number) { - return DiagnosticTag.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 com.google.protobuf.Descriptors.EnumDescriptor - getDescriptor() { - return org.scip_code.scip.ScipProto.getDescriptor().getEnumTypes().get(6); - } - - private static final DiagnosticTag[] VALUES = values(); - - public static DiagnosticTag 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 DiagnosticTag(int value) { - this.value = value; - } - - // @@protoc_insertion_point(enum_scope:scip.DiagnosticTag) -} - diff --git a/bindings/kotlin/src/main/java/org/scip_code/scip/Document.java b/bindings/kotlin/src/main/java/org/scip_code/scip/Document.java deleted file mode 100644 index 750f0380..00000000 --- a/bindings/kotlin/src/main/java/org/scip_code/scip/Document.java +++ /dev/null @@ -1,2134 +0,0 @@ -// Generated by the protocol buffer compiler. DO NOT EDIT! -// NO CHECKED-IN PROTOBUF GENCODE -// source: scip.proto -// Protobuf Java Version: 4.32.1 - -package org.scip_code.scip; - -/** - *
- * Document defines the metadata about a source file on disk.
- * 
- * - * Protobuf type {@code scip.Document} - */ -@com.google.protobuf.Generated -public final class Document extends - com.google.protobuf.GeneratedMessage implements - // @@protoc_insertion_point(message_implements:scip.Document) - DocumentOrBuilder { -private static final long serialVersionUID = 0L; - static { - com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( - com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, - /* major= */ 4, - /* minor= */ 32, - /* patch= */ 1, - /* suffix= */ "", - Document.class.getName()); - } - // Use Document.newBuilder() to construct. - private Document(com.google.protobuf.GeneratedMessage.Builder builder) { - super(builder); - } - private Document() { - language_ = ""; - relativePath_ = ""; - occurrences_ = java.util.Collections.emptyList(); - symbols_ = java.util.Collections.emptyList(); - text_ = ""; - positionEncoding_ = 0; - } - - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return org.scip_code.scip.ScipProto.internal_static_scip_Document_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessage.FieldAccessorTable - internalGetFieldAccessorTable() { - return org.scip_code.scip.ScipProto.internal_static_scip_Document_fieldAccessorTable - .ensureFieldAccessorsInitialized( - org.scip_code.scip.Document.class, org.scip_code.scip.Document.Builder.class); - } - - public static final int LANGUAGE_FIELD_NUMBER = 4; - @SuppressWarnings("serial") - private volatile java.lang.Object language_ = ""; - /** - *
-   * The string ID for the programming language this file is written in.
-   * The `Language` enum contains the names of most common programming languages.
-   * This field is typed as a string to permit any programming language, including
-   * ones that are not specified by the `Language` enum.
-   * 
- * - * string language = 4 [json_name = "language"]; - * @return The language. - */ - @java.lang.Override - public java.lang.String getLanguage() { - java.lang.Object ref = language_; - 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(); - language_ = s; - return s; - } - } - /** - *
-   * The string ID for the programming language this file is written in.
-   * The `Language` enum contains the names of most common programming languages.
-   * This field is typed as a string to permit any programming language, including
-   * ones that are not specified by the `Language` enum.
-   * 
- * - * string language = 4 [json_name = "language"]; - * @return The bytes for language. - */ - @java.lang.Override - public com.google.protobuf.ByteString - getLanguageBytes() { - java.lang.Object ref = language_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - language_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - - public static final int RELATIVE_PATH_FIELD_NUMBER = 1; - @SuppressWarnings("serial") - private volatile java.lang.Object relativePath_ = ""; - /** - *
-   * (Required) Unique path to the text document.
-   *
-   * 1. The path must be relative to the directory supplied in the associated
-   * `Metadata.project_root`.
-   * 2. The path must not begin with a leading '/'.
-   * 3. The path must point to a regular file, not a symbolic link.
-   * 4. The path must use '/' as the separator, including on Windows.
-   * 5. The path must be canonical; it cannot include empty components ('//'),
-   * or '.' or '..'.
-   * 
- * - * string relative_path = 1 [json_name = "relativePath"]; - * @return The relativePath. - */ - @java.lang.Override - public java.lang.String getRelativePath() { - java.lang.Object ref = relativePath_; - 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(); - relativePath_ = s; - return s; - } - } - /** - *
-   * (Required) Unique path to the text document.
-   *
-   * 1. The path must be relative to the directory supplied in the associated
-   * `Metadata.project_root`.
-   * 2. The path must not begin with a leading '/'.
-   * 3. The path must point to a regular file, not a symbolic link.
-   * 4. The path must use '/' as the separator, including on Windows.
-   * 5. The path must be canonical; it cannot include empty components ('//'),
-   * or '.' or '..'.
-   * 
- * - * string relative_path = 1 [json_name = "relativePath"]; - * @return The bytes for relativePath. - */ - @java.lang.Override - public com.google.protobuf.ByteString - getRelativePathBytes() { - java.lang.Object ref = relativePath_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - relativePath_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - - public static final int OCCURRENCES_FIELD_NUMBER = 2; - @SuppressWarnings("serial") - private java.util.List occurrences_; - /** - *
-   * Occurrences that appear in this file.
-   * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - @java.lang.Override - public java.util.List getOccurrencesList() { - return occurrences_; - } - /** - *
-   * Occurrences that appear in this file.
-   * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - @java.lang.Override - public java.util.List - getOccurrencesOrBuilderList() { - return occurrences_; - } - /** - *
-   * Occurrences that appear in this file.
-   * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - @java.lang.Override - public int getOccurrencesCount() { - return occurrences_.size(); - } - /** - *
-   * Occurrences that appear in this file.
-   * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - @java.lang.Override - public org.scip_code.scip.Occurrence getOccurrences(int index) { - return occurrences_.get(index); - } - /** - *
-   * Occurrences that appear in this file.
-   * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - @java.lang.Override - public org.scip_code.scip.OccurrenceOrBuilder getOccurrencesOrBuilder( - int index) { - return occurrences_.get(index); - } - - public static final int SYMBOLS_FIELD_NUMBER = 3; - @SuppressWarnings("serial") - private java.util.List symbols_; - /** - *
-   * Symbols that are "defined" within this document.
-   *
-   * This should include symbols which technically do not have any definition,
-   * but have a reference and are defined by some other symbol (see
-   * Relationship.is_definition).
-   * 
- * - * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; - */ - @java.lang.Override - public java.util.List getSymbolsList() { - return symbols_; - } - /** - *
-   * Symbols that are "defined" within this document.
-   *
-   * This should include symbols which technically do not have any definition,
-   * but have a reference and are defined by some other symbol (see
-   * Relationship.is_definition).
-   * 
- * - * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; - */ - @java.lang.Override - public java.util.List - getSymbolsOrBuilderList() { - return symbols_; - } - /** - *
-   * Symbols that are "defined" within this document.
-   *
-   * This should include symbols which technically do not have any definition,
-   * but have a reference and are defined by some other symbol (see
-   * Relationship.is_definition).
-   * 
- * - * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; - */ - @java.lang.Override - public int getSymbolsCount() { - return symbols_.size(); - } - /** - *
-   * Symbols that are "defined" within this document.
-   *
-   * This should include symbols which technically do not have any definition,
-   * but have a reference and are defined by some other symbol (see
-   * Relationship.is_definition).
-   * 
- * - * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; - */ - @java.lang.Override - public org.scip_code.scip.SymbolInformation getSymbols(int index) { - return symbols_.get(index); - } - /** - *
-   * Symbols that are "defined" within this document.
-   *
-   * This should include symbols which technically do not have any definition,
-   * but have a reference and are defined by some other symbol (see
-   * Relationship.is_definition).
-   * 
- * - * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; - */ - @java.lang.Override - public org.scip_code.scip.SymbolInformationOrBuilder getSymbolsOrBuilder( - int index) { - return symbols_.get(index); - } - - public static final int TEXT_FIELD_NUMBER = 5; - @SuppressWarnings("serial") - private volatile java.lang.Object text_ = ""; - /** - *
-   * (optional) Text contents of this document. Indexers are not expected to
-   * include the text by default. It's preferable that clients read the text
-   * contents from the file system by resolving the absolute path from joining
-   * `Index.metadata.project_root` and `Document.relative_path`. This field
-   * can be useful for testing or when working with virtual/in-memory documents.
-   * 
- * - * string text = 5 [json_name = "text"]; - * @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; - } - } - /** - *
-   * (optional) Text contents of this document. Indexers are not expected to
-   * include the text by default. It's preferable that clients read the text
-   * contents from the file system by resolving the absolute path from joining
-   * `Index.metadata.project_root` and `Document.relative_path`. This field
-   * can be useful for testing or when working with virtual/in-memory documents.
-   * 
- * - * string text = 5 [json_name = "text"]; - * @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 POSITION_ENCODING_FIELD_NUMBER = 6; - private int positionEncoding_ = 0; - /** - *
-   * Specifies the encoding used for source ranges in this Document.
-   *
-   * Usually, this will match the type used to index the string type
-   * in the indexer's implementation language in O(1) time.
-   * - For an indexer implemented in JVM/.NET language or JavaScript/TypeScript,
-   * use UTF16CodeUnitOffsetFromLineStart.
-   * - For an indexer implemented in Python,
-   * use UTF32CodeUnitOffsetFromLineStart.
-   * - For an indexer implemented in Go, Rust or C++,
-   * use UTF8ByteOffsetFromLineStart.
-   * 
- * - * .scip.PositionEncoding position_encoding = 6 [json_name = "positionEncoding"]; - * @return The enum numeric value on the wire for positionEncoding. - */ - @java.lang.Override public int getPositionEncodingValue() { - return positionEncoding_; - } - /** - *
-   * Specifies the encoding used for source ranges in this Document.
-   *
-   * Usually, this will match the type used to index the string type
-   * in the indexer's implementation language in O(1) time.
-   * - For an indexer implemented in JVM/.NET language or JavaScript/TypeScript,
-   * use UTF16CodeUnitOffsetFromLineStart.
-   * - For an indexer implemented in Python,
-   * use UTF32CodeUnitOffsetFromLineStart.
-   * - For an indexer implemented in Go, Rust or C++,
-   * use UTF8ByteOffsetFromLineStart.
-   * 
- * - * .scip.PositionEncoding position_encoding = 6 [json_name = "positionEncoding"]; - * @return The positionEncoding. - */ - @java.lang.Override public org.scip_code.scip.PositionEncoding getPositionEncoding() { - org.scip_code.scip.PositionEncoding result = org.scip_code.scip.PositionEncoding.forNumber(positionEncoding_); - return result == null ? org.scip_code.scip.PositionEncoding.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 (!com.google.protobuf.GeneratedMessage.isStringEmpty(relativePath_)) { - com.google.protobuf.GeneratedMessage.writeString(output, 1, relativePath_); - } - for (int i = 0; i < occurrences_.size(); i++) { - output.writeMessage(2, occurrences_.get(i)); - } - for (int i = 0; i < symbols_.size(); i++) { - output.writeMessage(3, symbols_.get(i)); - } - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(language_)) { - com.google.protobuf.GeneratedMessage.writeString(output, 4, language_); - } - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(text_)) { - com.google.protobuf.GeneratedMessage.writeString(output, 5, text_); - } - if (positionEncoding_ != org.scip_code.scip.PositionEncoding.UnspecifiedPositionEncoding.getNumber()) { - output.writeEnum(6, positionEncoding_); - } - getUnknownFields().writeTo(output); - } - - @java.lang.Override - public int getSerializedSize() { - int size = memoizedSize; - if (size != -1) return size; - - size = 0; - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(relativePath_)) { - size += com.google.protobuf.GeneratedMessage.computeStringSize(1, relativePath_); - } - for (int i = 0; i < occurrences_.size(); i++) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(2, occurrences_.get(i)); - } - for (int i = 0; i < symbols_.size(); i++) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(3, symbols_.get(i)); - } - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(language_)) { - size += com.google.protobuf.GeneratedMessage.computeStringSize(4, language_); - } - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(text_)) { - size += com.google.protobuf.GeneratedMessage.computeStringSize(5, text_); - } - if (positionEncoding_ != org.scip_code.scip.PositionEncoding.UnspecifiedPositionEncoding.getNumber()) { - size += com.google.protobuf.CodedOutputStream - .computeEnumSize(6, positionEncoding_); - } - size += getUnknownFields().getSerializedSize(); - memoizedSize = size; - return size; - } - - @java.lang.Override - public boolean equals(final java.lang.Object obj) { - if (obj == this) { - return true; - } - if (!(obj instanceof org.scip_code.scip.Document)) { - return super.equals(obj); - } - org.scip_code.scip.Document other = (org.scip_code.scip.Document) obj; - - if (!getLanguage() - .equals(other.getLanguage())) return false; - if (!getRelativePath() - .equals(other.getRelativePath())) return false; - if (!getOccurrencesList() - .equals(other.getOccurrencesList())) return false; - if (!getSymbolsList() - .equals(other.getSymbolsList())) return false; - if (!getText() - .equals(other.getText())) return false; - if (positionEncoding_ != other.positionEncoding_) return false; - if (!getUnknownFields().equals(other.getUnknownFields())) 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) + LANGUAGE_FIELD_NUMBER; - hash = (53 * hash) + getLanguage().hashCode(); - hash = (37 * hash) + RELATIVE_PATH_FIELD_NUMBER; - hash = (53 * hash) + getRelativePath().hashCode(); - if (getOccurrencesCount() > 0) { - hash = (37 * hash) + OCCURRENCES_FIELD_NUMBER; - hash = (53 * hash) + getOccurrencesList().hashCode(); - } - if (getSymbolsCount() > 0) { - hash = (37 * hash) + SYMBOLS_FIELD_NUMBER; - hash = (53 * hash) + getSymbolsList().hashCode(); - } - hash = (37 * hash) + TEXT_FIELD_NUMBER; - hash = (53 * hash) + getText().hashCode(); - hash = (37 * hash) + POSITION_ENCODING_FIELD_NUMBER; - hash = (53 * hash) + positionEncoding_; - hash = (29 * hash) + getUnknownFields().hashCode(); - memoizedHashCode = hash; - return hash; - } - - public static org.scip_code.scip.Document parseFrom( - java.nio.ByteBuffer data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static org.scip_code.scip.Document parseFrom( - java.nio.ByteBuffer data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static org.scip_code.scip.Document parseFrom( - com.google.protobuf.ByteString data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static org.scip_code.scip.Document parseFrom( - com.google.protobuf.ByteString data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static org.scip_code.scip.Document parseFrom(byte[] data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static org.scip_code.scip.Document parseFrom( - byte[] data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static org.scip_code.scip.Document parseFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input); - } - public static org.scip_code.scip.Document parseFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input, extensionRegistry); - } - - public static org.scip_code.scip.Document parseDelimitedFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseDelimitedWithIOException(PARSER, input); - } - - public static org.scip_code.scip.Document parseDelimitedFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseDelimitedWithIOException(PARSER, input, extensionRegistry); - } - public static org.scip_code.scip.Document parseFrom( - com.google.protobuf.CodedInputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input); - } - public static org.scip_code.scip.Document parseFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input, extensionRegistry); - } - - @java.lang.Override - public Builder newBuilderForType() { return newBuilder(); } - public static Builder newBuilder() { - return DEFAULT_INSTANCE.toBuilder(); - } - public static Builder newBuilder(org.scip_code.scip.Document 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.GeneratedMessage.BuilderParent parent) { - Builder builder = new Builder(parent); - return builder; - } - /** - *
-   * Document defines the metadata about a source file on disk.
-   * 
- * - * Protobuf type {@code scip.Document} - */ - public static final class Builder extends - com.google.protobuf.GeneratedMessage.Builder implements - // @@protoc_insertion_point(builder_implements:scip.Document) - org.scip_code.scip.DocumentOrBuilder { - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return org.scip_code.scip.ScipProto.internal_static_scip_Document_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessage.FieldAccessorTable - internalGetFieldAccessorTable() { - return org.scip_code.scip.ScipProto.internal_static_scip_Document_fieldAccessorTable - .ensureFieldAccessorsInitialized( - org.scip_code.scip.Document.class, org.scip_code.scip.Document.Builder.class); - } - - // Construct using org.scip_code.scip.Document.newBuilder() - private Builder() { - - } - - private Builder( - com.google.protobuf.GeneratedMessage.BuilderParent parent) { - super(parent); - - } - @java.lang.Override - public Builder clear() { - super.clear(); - bitField0_ = 0; - language_ = ""; - relativePath_ = ""; - if (occurrencesBuilder_ == null) { - occurrences_ = java.util.Collections.emptyList(); - } else { - occurrences_ = null; - occurrencesBuilder_.clear(); - } - bitField0_ = (bitField0_ & ~0x00000004); - if (symbolsBuilder_ == null) { - symbols_ = java.util.Collections.emptyList(); - } else { - symbols_ = null; - symbolsBuilder_.clear(); - } - bitField0_ = (bitField0_ & ~0x00000008); - text_ = ""; - positionEncoding_ = 0; - return this; - } - - @java.lang.Override - public com.google.protobuf.Descriptors.Descriptor - getDescriptorForType() { - return org.scip_code.scip.ScipProto.internal_static_scip_Document_descriptor; - } - - @java.lang.Override - public org.scip_code.scip.Document getDefaultInstanceForType() { - return org.scip_code.scip.Document.getDefaultInstance(); - } - - @java.lang.Override - public org.scip_code.scip.Document build() { - org.scip_code.scip.Document result = buildPartial(); - if (!result.isInitialized()) { - throw newUninitializedMessageException(result); - } - return result; - } - - @java.lang.Override - public org.scip_code.scip.Document buildPartial() { - org.scip_code.scip.Document result = new org.scip_code.scip.Document(this); - buildPartialRepeatedFields(result); - if (bitField0_ != 0) { buildPartial0(result); } - onBuilt(); - return result; - } - - private void buildPartialRepeatedFields(org.scip_code.scip.Document result) { - if (occurrencesBuilder_ == null) { - if (((bitField0_ & 0x00000004) != 0)) { - occurrences_ = java.util.Collections.unmodifiableList(occurrences_); - bitField0_ = (bitField0_ & ~0x00000004); - } - result.occurrences_ = occurrences_; - } else { - result.occurrences_ = occurrencesBuilder_.build(); - } - if (symbolsBuilder_ == null) { - if (((bitField0_ & 0x00000008) != 0)) { - symbols_ = java.util.Collections.unmodifiableList(symbols_); - bitField0_ = (bitField0_ & ~0x00000008); - } - result.symbols_ = symbols_; - } else { - result.symbols_ = symbolsBuilder_.build(); - } - } - - private void buildPartial0(org.scip_code.scip.Document result) { - int from_bitField0_ = bitField0_; - if (((from_bitField0_ & 0x00000001) != 0)) { - result.language_ = language_; - } - if (((from_bitField0_ & 0x00000002) != 0)) { - result.relativePath_ = relativePath_; - } - if (((from_bitField0_ & 0x00000010) != 0)) { - result.text_ = text_; - } - if (((from_bitField0_ & 0x00000020) != 0)) { - result.positionEncoding_ = positionEncoding_; - } - } - - @java.lang.Override - public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof org.scip_code.scip.Document) { - return mergeFrom((org.scip_code.scip.Document)other); - } else { - super.mergeFrom(other); - return this; - } - } - - public Builder mergeFrom(org.scip_code.scip.Document other) { - if (other == org.scip_code.scip.Document.getDefaultInstance()) return this; - if (!other.getLanguage().isEmpty()) { - language_ = other.language_; - bitField0_ |= 0x00000001; - onChanged(); - } - if (!other.getRelativePath().isEmpty()) { - relativePath_ = other.relativePath_; - bitField0_ |= 0x00000002; - onChanged(); - } - if (occurrencesBuilder_ == null) { - if (!other.occurrences_.isEmpty()) { - if (occurrences_.isEmpty()) { - occurrences_ = other.occurrences_; - bitField0_ = (bitField0_ & ~0x00000004); - } else { - ensureOccurrencesIsMutable(); - occurrences_.addAll(other.occurrences_); - } - onChanged(); - } - } else { - if (!other.occurrences_.isEmpty()) { - if (occurrencesBuilder_.isEmpty()) { - occurrencesBuilder_.dispose(); - occurrencesBuilder_ = null; - occurrences_ = other.occurrences_; - bitField0_ = (bitField0_ & ~0x00000004); - occurrencesBuilder_ = - com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ? - internalGetOccurrencesFieldBuilder() : null; - } else { - occurrencesBuilder_.addAllMessages(other.occurrences_); - } - } - } - if (symbolsBuilder_ == null) { - if (!other.symbols_.isEmpty()) { - if (symbols_.isEmpty()) { - symbols_ = other.symbols_; - bitField0_ = (bitField0_ & ~0x00000008); - } else { - ensureSymbolsIsMutable(); - symbols_.addAll(other.symbols_); - } - onChanged(); - } - } else { - if (!other.symbols_.isEmpty()) { - if (symbolsBuilder_.isEmpty()) { - symbolsBuilder_.dispose(); - symbolsBuilder_ = null; - symbols_ = other.symbols_; - bitField0_ = (bitField0_ & ~0x00000008); - symbolsBuilder_ = - com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ? - internalGetSymbolsFieldBuilder() : null; - } else { - symbolsBuilder_.addAllMessages(other.symbols_); - } - } - } - if (!other.getText().isEmpty()) { - text_ = other.text_; - bitField0_ |= 0x00000010; - onChanged(); - } - if (other.positionEncoding_ != 0) { - setPositionEncodingValue(other.getPositionEncodingValue()); - } - this.mergeUnknownFields(other.getUnknownFields()); - 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 { - if (extensionRegistry == null) { - throw new java.lang.NullPointerException(); - } - try { - boolean done = false; - while (!done) { - int tag = input.readTag(); - switch (tag) { - case 0: - done = true; - break; - case 10: { - relativePath_ = input.readStringRequireUtf8(); - bitField0_ |= 0x00000002; - break; - } // case 10 - case 18: { - org.scip_code.scip.Occurrence m = - input.readMessage( - org.scip_code.scip.Occurrence.parser(), - extensionRegistry); - if (occurrencesBuilder_ == null) { - ensureOccurrencesIsMutable(); - occurrences_.add(m); - } else { - occurrencesBuilder_.addMessage(m); - } - break; - } // case 18 - case 26: { - org.scip_code.scip.SymbolInformation m = - input.readMessage( - org.scip_code.scip.SymbolInformation.parser(), - extensionRegistry); - if (symbolsBuilder_ == null) { - ensureSymbolsIsMutable(); - symbols_.add(m); - } else { - symbolsBuilder_.addMessage(m); - } - break; - } // case 26 - case 34: { - language_ = input.readStringRequireUtf8(); - bitField0_ |= 0x00000001; - break; - } // case 34 - case 42: { - text_ = input.readStringRequireUtf8(); - bitField0_ |= 0x00000010; - break; - } // case 42 - case 48: { - positionEncoding_ = input.readEnum(); - bitField0_ |= 0x00000020; - break; - } // case 48 - default: { - if (!super.parseUnknownField(input, extensionRegistry, tag)) { - done = true; // was an endgroup tag - } - break; - } // default: - } // switch (tag) - } // while (!done) - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.unwrapIOException(); - } finally { - onChanged(); - } // finally - return this; - } - private int bitField0_; - - private java.lang.Object language_ = ""; - /** - *
-     * The string ID for the programming language this file is written in.
-     * The `Language` enum contains the names of most common programming languages.
-     * This field is typed as a string to permit any programming language, including
-     * ones that are not specified by the `Language` enum.
-     * 
- * - * string language = 4 [json_name = "language"]; - * @return The language. - */ - public java.lang.String getLanguage() { - java.lang.Object ref = language_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - language_ = s; - return s; - } else { - return (java.lang.String) ref; - } - } - /** - *
-     * The string ID for the programming language this file is written in.
-     * The `Language` enum contains the names of most common programming languages.
-     * This field is typed as a string to permit any programming language, including
-     * ones that are not specified by the `Language` enum.
-     * 
- * - * string language = 4 [json_name = "language"]; - * @return The bytes for language. - */ - public com.google.protobuf.ByteString - getLanguageBytes() { - java.lang.Object ref = language_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - language_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - /** - *
-     * The string ID for the programming language this file is written in.
-     * The `Language` enum contains the names of most common programming languages.
-     * This field is typed as a string to permit any programming language, including
-     * ones that are not specified by the `Language` enum.
-     * 
- * - * string language = 4 [json_name = "language"]; - * @param value The language to set. - * @return This builder for chaining. - */ - public Builder setLanguage( - java.lang.String value) { - if (value == null) { throw new NullPointerException(); } - language_ = value; - bitField0_ |= 0x00000001; - onChanged(); - return this; - } - /** - *
-     * The string ID for the programming language this file is written in.
-     * The `Language` enum contains the names of most common programming languages.
-     * This field is typed as a string to permit any programming language, including
-     * ones that are not specified by the `Language` enum.
-     * 
- * - * string language = 4 [json_name = "language"]; - * @return This builder for chaining. - */ - public Builder clearLanguage() { - language_ = getDefaultInstance().getLanguage(); - bitField0_ = (bitField0_ & ~0x00000001); - onChanged(); - return this; - } - /** - *
-     * The string ID for the programming language this file is written in.
-     * The `Language` enum contains the names of most common programming languages.
-     * This field is typed as a string to permit any programming language, including
-     * ones that are not specified by the `Language` enum.
-     * 
- * - * string language = 4 [json_name = "language"]; - * @param value The bytes for language to set. - * @return This builder for chaining. - */ - public Builder setLanguageBytes( - com.google.protobuf.ByteString value) { - if (value == null) { throw new NullPointerException(); } - checkByteStringIsUtf8(value); - language_ = value; - bitField0_ |= 0x00000001; - onChanged(); - return this; - } - - private java.lang.Object relativePath_ = ""; - /** - *
-     * (Required) Unique path to the text document.
-     *
-     * 1. The path must be relative to the directory supplied in the associated
-     * `Metadata.project_root`.
-     * 2. The path must not begin with a leading '/'.
-     * 3. The path must point to a regular file, not a symbolic link.
-     * 4. The path must use '/' as the separator, including on Windows.
-     * 5. The path must be canonical; it cannot include empty components ('//'),
-     * or '.' or '..'.
-     * 
- * - * string relative_path = 1 [json_name = "relativePath"]; - * @return The relativePath. - */ - public java.lang.String getRelativePath() { - java.lang.Object ref = relativePath_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - relativePath_ = s; - return s; - } else { - return (java.lang.String) ref; - } - } - /** - *
-     * (Required) Unique path to the text document.
-     *
-     * 1. The path must be relative to the directory supplied in the associated
-     * `Metadata.project_root`.
-     * 2. The path must not begin with a leading '/'.
-     * 3. The path must point to a regular file, not a symbolic link.
-     * 4. The path must use '/' as the separator, including on Windows.
-     * 5. The path must be canonical; it cannot include empty components ('//'),
-     * or '.' or '..'.
-     * 
- * - * string relative_path = 1 [json_name = "relativePath"]; - * @return The bytes for relativePath. - */ - public com.google.protobuf.ByteString - getRelativePathBytes() { - java.lang.Object ref = relativePath_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - relativePath_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - /** - *
-     * (Required) Unique path to the text document.
-     *
-     * 1. The path must be relative to the directory supplied in the associated
-     * `Metadata.project_root`.
-     * 2. The path must not begin with a leading '/'.
-     * 3. The path must point to a regular file, not a symbolic link.
-     * 4. The path must use '/' as the separator, including on Windows.
-     * 5. The path must be canonical; it cannot include empty components ('//'),
-     * or '.' or '..'.
-     * 
- * - * string relative_path = 1 [json_name = "relativePath"]; - * @param value The relativePath to set. - * @return This builder for chaining. - */ - public Builder setRelativePath( - java.lang.String value) { - if (value == null) { throw new NullPointerException(); } - relativePath_ = value; - bitField0_ |= 0x00000002; - onChanged(); - return this; - } - /** - *
-     * (Required) Unique path to the text document.
-     *
-     * 1. The path must be relative to the directory supplied in the associated
-     * `Metadata.project_root`.
-     * 2. The path must not begin with a leading '/'.
-     * 3. The path must point to a regular file, not a symbolic link.
-     * 4. The path must use '/' as the separator, including on Windows.
-     * 5. The path must be canonical; it cannot include empty components ('//'),
-     * or '.' or '..'.
-     * 
- * - * string relative_path = 1 [json_name = "relativePath"]; - * @return This builder for chaining. - */ - public Builder clearRelativePath() { - relativePath_ = getDefaultInstance().getRelativePath(); - bitField0_ = (bitField0_ & ~0x00000002); - onChanged(); - return this; - } - /** - *
-     * (Required) Unique path to the text document.
-     *
-     * 1. The path must be relative to the directory supplied in the associated
-     * `Metadata.project_root`.
-     * 2. The path must not begin with a leading '/'.
-     * 3. The path must point to a regular file, not a symbolic link.
-     * 4. The path must use '/' as the separator, including on Windows.
-     * 5. The path must be canonical; it cannot include empty components ('//'),
-     * or '.' or '..'.
-     * 
- * - * string relative_path = 1 [json_name = "relativePath"]; - * @param value The bytes for relativePath to set. - * @return This builder for chaining. - */ - public Builder setRelativePathBytes( - com.google.protobuf.ByteString value) { - if (value == null) { throw new NullPointerException(); } - checkByteStringIsUtf8(value); - relativePath_ = value; - bitField0_ |= 0x00000002; - onChanged(); - return this; - } - - private java.util.List occurrences_ = - java.util.Collections.emptyList(); - private void ensureOccurrencesIsMutable() { - if (!((bitField0_ & 0x00000004) != 0)) { - occurrences_ = new java.util.ArrayList(occurrences_); - bitField0_ |= 0x00000004; - } - } - - private com.google.protobuf.RepeatedFieldBuilder< - org.scip_code.scip.Occurrence, org.scip_code.scip.Occurrence.Builder, org.scip_code.scip.OccurrenceOrBuilder> occurrencesBuilder_; - - /** - *
-     * Occurrences that appear in this file.
-     * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public java.util.List getOccurrencesList() { - if (occurrencesBuilder_ == null) { - return java.util.Collections.unmodifiableList(occurrences_); - } else { - return occurrencesBuilder_.getMessageList(); - } - } - /** - *
-     * Occurrences that appear in this file.
-     * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public int getOccurrencesCount() { - if (occurrencesBuilder_ == null) { - return occurrences_.size(); - } else { - return occurrencesBuilder_.getCount(); - } - } - /** - *
-     * Occurrences that appear in this file.
-     * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public org.scip_code.scip.Occurrence getOccurrences(int index) { - if (occurrencesBuilder_ == null) { - return occurrences_.get(index); - } else { - return occurrencesBuilder_.getMessage(index); - } - } - /** - *
-     * Occurrences that appear in this file.
-     * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public Builder setOccurrences( - int index, org.scip_code.scip.Occurrence value) { - if (occurrencesBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureOccurrencesIsMutable(); - occurrences_.set(index, value); - onChanged(); - } else { - occurrencesBuilder_.setMessage(index, value); - } - return this; - } - /** - *
-     * Occurrences that appear in this file.
-     * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public Builder setOccurrences( - int index, org.scip_code.scip.Occurrence.Builder builderForValue) { - if (occurrencesBuilder_ == null) { - ensureOccurrencesIsMutable(); - occurrences_.set(index, builderForValue.build()); - onChanged(); - } else { - occurrencesBuilder_.setMessage(index, builderForValue.build()); - } - return this; - } - /** - *
-     * Occurrences that appear in this file.
-     * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public Builder addOccurrences(org.scip_code.scip.Occurrence value) { - if (occurrencesBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureOccurrencesIsMutable(); - occurrences_.add(value); - onChanged(); - } else { - occurrencesBuilder_.addMessage(value); - } - return this; - } - /** - *
-     * Occurrences that appear in this file.
-     * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public Builder addOccurrences( - int index, org.scip_code.scip.Occurrence value) { - if (occurrencesBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureOccurrencesIsMutable(); - occurrences_.add(index, value); - onChanged(); - } else { - occurrencesBuilder_.addMessage(index, value); - } - return this; - } - /** - *
-     * Occurrences that appear in this file.
-     * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public Builder addOccurrences( - org.scip_code.scip.Occurrence.Builder builderForValue) { - if (occurrencesBuilder_ == null) { - ensureOccurrencesIsMutable(); - occurrences_.add(builderForValue.build()); - onChanged(); - } else { - occurrencesBuilder_.addMessage(builderForValue.build()); - } - return this; - } - /** - *
-     * Occurrences that appear in this file.
-     * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public Builder addOccurrences( - int index, org.scip_code.scip.Occurrence.Builder builderForValue) { - if (occurrencesBuilder_ == null) { - ensureOccurrencesIsMutable(); - occurrences_.add(index, builderForValue.build()); - onChanged(); - } else { - occurrencesBuilder_.addMessage(index, builderForValue.build()); - } - return this; - } - /** - *
-     * Occurrences that appear in this file.
-     * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - 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; - } - /** - *
-     * Occurrences that appear in this file.
-     * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public Builder clearOccurrences() { - if (occurrencesBuilder_ == null) { - occurrences_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000004); - onChanged(); - } else { - occurrencesBuilder_.clear(); - } - return this; - } - /** - *
-     * Occurrences that appear in this file.
-     * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public Builder removeOccurrences(int index) { - if (occurrencesBuilder_ == null) { - ensureOccurrencesIsMutable(); - occurrences_.remove(index); - onChanged(); - } else { - occurrencesBuilder_.remove(index); - } - return this; - } - /** - *
-     * Occurrences that appear in this file.
-     * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public org.scip_code.scip.Occurrence.Builder getOccurrencesBuilder( - int index) { - return internalGetOccurrencesFieldBuilder().getBuilder(index); - } - /** - *
-     * Occurrences that appear in this file.
-     * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public org.scip_code.scip.OccurrenceOrBuilder getOccurrencesOrBuilder( - int index) { - if (occurrencesBuilder_ == null) { - return occurrences_.get(index); } else { - return occurrencesBuilder_.getMessageOrBuilder(index); - } - } - /** - *
-     * Occurrences that appear in this file.
-     * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public java.util.List - getOccurrencesOrBuilderList() { - if (occurrencesBuilder_ != null) { - return occurrencesBuilder_.getMessageOrBuilderList(); - } else { - return java.util.Collections.unmodifiableList(occurrences_); - } - } - /** - *
-     * Occurrences that appear in this file.
-     * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public org.scip_code.scip.Occurrence.Builder addOccurrencesBuilder() { - return internalGetOccurrencesFieldBuilder().addBuilder( - org.scip_code.scip.Occurrence.getDefaultInstance()); - } - /** - *
-     * Occurrences that appear in this file.
-     * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public org.scip_code.scip.Occurrence.Builder addOccurrencesBuilder( - int index) { - return internalGetOccurrencesFieldBuilder().addBuilder( - index, org.scip_code.scip.Occurrence.getDefaultInstance()); - } - /** - *
-     * Occurrences that appear in this file.
-     * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public java.util.List - getOccurrencesBuilderList() { - return internalGetOccurrencesFieldBuilder().getBuilderList(); - } - private com.google.protobuf.RepeatedFieldBuilder< - org.scip_code.scip.Occurrence, org.scip_code.scip.Occurrence.Builder, org.scip_code.scip.OccurrenceOrBuilder> - internalGetOccurrencesFieldBuilder() { - if (occurrencesBuilder_ == null) { - occurrencesBuilder_ = new com.google.protobuf.RepeatedFieldBuilder< - org.scip_code.scip.Occurrence, org.scip_code.scip.Occurrence.Builder, org.scip_code.scip.OccurrenceOrBuilder>( - occurrences_, - ((bitField0_ & 0x00000004) != 0), - getParentForChildren(), - isClean()); - occurrences_ = null; - } - return occurrencesBuilder_; - } - - private java.util.List symbols_ = - java.util.Collections.emptyList(); - private void ensureSymbolsIsMutable() { - if (!((bitField0_ & 0x00000008) != 0)) { - symbols_ = new java.util.ArrayList(symbols_); - bitField0_ |= 0x00000008; - } - } - - private com.google.protobuf.RepeatedFieldBuilder< - org.scip_code.scip.SymbolInformation, org.scip_code.scip.SymbolInformation.Builder, org.scip_code.scip.SymbolInformationOrBuilder> symbolsBuilder_; - - /** - *
-     * Symbols that are "defined" within this document.
-     *
-     * This should include symbols which technically do not have any definition,
-     * but have a reference and are defined by some other symbol (see
-     * Relationship.is_definition).
-     * 
- * - * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; - */ - public java.util.List getSymbolsList() { - if (symbolsBuilder_ == null) { - return java.util.Collections.unmodifiableList(symbols_); - } else { - return symbolsBuilder_.getMessageList(); - } - } - /** - *
-     * Symbols that are "defined" within this document.
-     *
-     * This should include symbols which technically do not have any definition,
-     * but have a reference and are defined by some other symbol (see
-     * Relationship.is_definition).
-     * 
- * - * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; - */ - public int getSymbolsCount() { - if (symbolsBuilder_ == null) { - return symbols_.size(); - } else { - return symbolsBuilder_.getCount(); - } - } - /** - *
-     * Symbols that are "defined" within this document.
-     *
-     * This should include symbols which technically do not have any definition,
-     * but have a reference and are defined by some other symbol (see
-     * Relationship.is_definition).
-     * 
- * - * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; - */ - public org.scip_code.scip.SymbolInformation getSymbols(int index) { - if (symbolsBuilder_ == null) { - return symbols_.get(index); - } else { - return symbolsBuilder_.getMessage(index); - } - } - /** - *
-     * Symbols that are "defined" within this document.
-     *
-     * This should include symbols which technically do not have any definition,
-     * but have a reference and are defined by some other symbol (see
-     * Relationship.is_definition).
-     * 
- * - * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; - */ - public Builder setSymbols( - int index, org.scip_code.scip.SymbolInformation value) { - if (symbolsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureSymbolsIsMutable(); - symbols_.set(index, value); - onChanged(); - } else { - symbolsBuilder_.setMessage(index, value); - } - return this; - } - /** - *
-     * Symbols that are "defined" within this document.
-     *
-     * This should include symbols which technically do not have any definition,
-     * but have a reference and are defined by some other symbol (see
-     * Relationship.is_definition).
-     * 
- * - * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; - */ - public Builder setSymbols( - int index, org.scip_code.scip.SymbolInformation.Builder builderForValue) { - if (symbolsBuilder_ == null) { - ensureSymbolsIsMutable(); - symbols_.set(index, builderForValue.build()); - onChanged(); - } else { - symbolsBuilder_.setMessage(index, builderForValue.build()); - } - return this; - } - /** - *
-     * Symbols that are "defined" within this document.
-     *
-     * This should include symbols which technically do not have any definition,
-     * but have a reference and are defined by some other symbol (see
-     * Relationship.is_definition).
-     * 
- * - * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; - */ - public Builder addSymbols(org.scip_code.scip.SymbolInformation value) { - if (symbolsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureSymbolsIsMutable(); - symbols_.add(value); - onChanged(); - } else { - symbolsBuilder_.addMessage(value); - } - return this; - } - /** - *
-     * Symbols that are "defined" within this document.
-     *
-     * This should include symbols which technically do not have any definition,
-     * but have a reference and are defined by some other symbol (see
-     * Relationship.is_definition).
-     * 
- * - * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; - */ - public Builder addSymbols( - int index, org.scip_code.scip.SymbolInformation value) { - if (symbolsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureSymbolsIsMutable(); - symbols_.add(index, value); - onChanged(); - } else { - symbolsBuilder_.addMessage(index, value); - } - return this; - } - /** - *
-     * Symbols that are "defined" within this document.
-     *
-     * This should include symbols which technically do not have any definition,
-     * but have a reference and are defined by some other symbol (see
-     * Relationship.is_definition).
-     * 
- * - * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; - */ - public Builder addSymbols( - org.scip_code.scip.SymbolInformation.Builder builderForValue) { - if (symbolsBuilder_ == null) { - ensureSymbolsIsMutable(); - symbols_.add(builderForValue.build()); - onChanged(); - } else { - symbolsBuilder_.addMessage(builderForValue.build()); - } - return this; - } - /** - *
-     * Symbols that are "defined" within this document.
-     *
-     * This should include symbols which technically do not have any definition,
-     * but have a reference and are defined by some other symbol (see
-     * Relationship.is_definition).
-     * 
- * - * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; - */ - public Builder addSymbols( - int index, org.scip_code.scip.SymbolInformation.Builder builderForValue) { - if (symbolsBuilder_ == null) { - ensureSymbolsIsMutable(); - symbols_.add(index, builderForValue.build()); - onChanged(); - } else { - symbolsBuilder_.addMessage(index, builderForValue.build()); - } - return this; - } - /** - *
-     * Symbols that are "defined" within this document.
-     *
-     * This should include symbols which technically do not have any definition,
-     * but have a reference and are defined by some other symbol (see
-     * Relationship.is_definition).
-     * 
- * - * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; - */ - 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; - } - /** - *
-     * Symbols that are "defined" within this document.
-     *
-     * This should include symbols which technically do not have any definition,
-     * but have a reference and are defined by some other symbol (see
-     * Relationship.is_definition).
-     * 
- * - * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; - */ - public Builder clearSymbols() { - if (symbolsBuilder_ == null) { - symbols_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000008); - onChanged(); - } else { - symbolsBuilder_.clear(); - } - return this; - } - /** - *
-     * Symbols that are "defined" within this document.
-     *
-     * This should include symbols which technically do not have any definition,
-     * but have a reference and are defined by some other symbol (see
-     * Relationship.is_definition).
-     * 
- * - * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; - */ - public Builder removeSymbols(int index) { - if (symbolsBuilder_ == null) { - ensureSymbolsIsMutable(); - symbols_.remove(index); - onChanged(); - } else { - symbolsBuilder_.remove(index); - } - return this; - } - /** - *
-     * Symbols that are "defined" within this document.
-     *
-     * This should include symbols which technically do not have any definition,
-     * but have a reference and are defined by some other symbol (see
-     * Relationship.is_definition).
-     * 
- * - * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; - */ - public org.scip_code.scip.SymbolInformation.Builder getSymbolsBuilder( - int index) { - return internalGetSymbolsFieldBuilder().getBuilder(index); - } - /** - *
-     * Symbols that are "defined" within this document.
-     *
-     * This should include symbols which technically do not have any definition,
-     * but have a reference and are defined by some other symbol (see
-     * Relationship.is_definition).
-     * 
- * - * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; - */ - public org.scip_code.scip.SymbolInformationOrBuilder getSymbolsOrBuilder( - int index) { - if (symbolsBuilder_ == null) { - return symbols_.get(index); } else { - return symbolsBuilder_.getMessageOrBuilder(index); - } - } - /** - *
-     * Symbols that are "defined" within this document.
-     *
-     * This should include symbols which technically do not have any definition,
-     * but have a reference and are defined by some other symbol (see
-     * Relationship.is_definition).
-     * 
- * - * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; - */ - public java.util.List - getSymbolsOrBuilderList() { - if (symbolsBuilder_ != null) { - return symbolsBuilder_.getMessageOrBuilderList(); - } else { - return java.util.Collections.unmodifiableList(symbols_); - } - } - /** - *
-     * Symbols that are "defined" within this document.
-     *
-     * This should include symbols which technically do not have any definition,
-     * but have a reference and are defined by some other symbol (see
-     * Relationship.is_definition).
-     * 
- * - * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; - */ - public org.scip_code.scip.SymbolInformation.Builder addSymbolsBuilder() { - return internalGetSymbolsFieldBuilder().addBuilder( - org.scip_code.scip.SymbolInformation.getDefaultInstance()); - } - /** - *
-     * Symbols that are "defined" within this document.
-     *
-     * This should include symbols which technically do not have any definition,
-     * but have a reference and are defined by some other symbol (see
-     * Relationship.is_definition).
-     * 
- * - * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; - */ - public org.scip_code.scip.SymbolInformation.Builder addSymbolsBuilder( - int index) { - return internalGetSymbolsFieldBuilder().addBuilder( - index, org.scip_code.scip.SymbolInformation.getDefaultInstance()); - } - /** - *
-     * Symbols that are "defined" within this document.
-     *
-     * This should include symbols which technically do not have any definition,
-     * but have a reference and are defined by some other symbol (see
-     * Relationship.is_definition).
-     * 
- * - * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; - */ - public java.util.List - getSymbolsBuilderList() { - return internalGetSymbolsFieldBuilder().getBuilderList(); - } - private com.google.protobuf.RepeatedFieldBuilder< - org.scip_code.scip.SymbolInformation, org.scip_code.scip.SymbolInformation.Builder, org.scip_code.scip.SymbolInformationOrBuilder> - internalGetSymbolsFieldBuilder() { - if (symbolsBuilder_ == null) { - symbolsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder< - org.scip_code.scip.SymbolInformation, org.scip_code.scip.SymbolInformation.Builder, org.scip_code.scip.SymbolInformationOrBuilder>( - symbols_, - ((bitField0_ & 0x00000008) != 0), - getParentForChildren(), - isClean()); - symbols_ = null; - } - return symbolsBuilder_; - } - - private java.lang.Object text_ = ""; - /** - *
-     * (optional) Text contents of this document. Indexers are not expected to
-     * include the text by default. It's preferable that clients read the text
-     * contents from the file system by resolving the absolute path from joining
-     * `Index.metadata.project_root` and `Document.relative_path`. This field
-     * can be useful for testing or when working with virtual/in-memory documents.
-     * 
- * - * string text = 5 [json_name = "text"]; - * @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; - } - } - /** - *
-     * (optional) Text contents of this document. Indexers are not expected to
-     * include the text by default. It's preferable that clients read the text
-     * contents from the file system by resolving the absolute path from joining
-     * `Index.metadata.project_root` and `Document.relative_path`. This field
-     * can be useful for testing or when working with virtual/in-memory documents.
-     * 
- * - * string text = 5 [json_name = "text"]; - * @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; - } - } - /** - *
-     * (optional) Text contents of this document. Indexers are not expected to
-     * include the text by default. It's preferable that clients read the text
-     * contents from the file system by resolving the absolute path from joining
-     * `Index.metadata.project_root` and `Document.relative_path`. This field
-     * can be useful for testing or when working with virtual/in-memory documents.
-     * 
- * - * string text = 5 [json_name = "text"]; - * @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; - bitField0_ |= 0x00000010; - onChanged(); - return this; - } - /** - *
-     * (optional) Text contents of this document. Indexers are not expected to
-     * include the text by default. It's preferable that clients read the text
-     * contents from the file system by resolving the absolute path from joining
-     * `Index.metadata.project_root` and `Document.relative_path`. This field
-     * can be useful for testing or when working with virtual/in-memory documents.
-     * 
- * - * string text = 5 [json_name = "text"]; - * @return This builder for chaining. - */ - public Builder clearText() { - text_ = getDefaultInstance().getText(); - bitField0_ = (bitField0_ & ~0x00000010); - onChanged(); - return this; - } - /** - *
-     * (optional) Text contents of this document. Indexers are not expected to
-     * include the text by default. It's preferable that clients read the text
-     * contents from the file system by resolving the absolute path from joining
-     * `Index.metadata.project_root` and `Document.relative_path`. This field
-     * can be useful for testing or when working with virtual/in-memory documents.
-     * 
- * - * string text = 5 [json_name = "text"]; - * @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; - bitField0_ |= 0x00000010; - onChanged(); - return this; - } - - private int positionEncoding_ = 0; - /** - *
-     * Specifies the encoding used for source ranges in this Document.
-     *
-     * Usually, this will match the type used to index the string type
-     * in the indexer's implementation language in O(1) time.
-     * - For an indexer implemented in JVM/.NET language or JavaScript/TypeScript,
-     * use UTF16CodeUnitOffsetFromLineStart.
-     * - For an indexer implemented in Python,
-     * use UTF32CodeUnitOffsetFromLineStart.
-     * - For an indexer implemented in Go, Rust or C++,
-     * use UTF8ByteOffsetFromLineStart.
-     * 
- * - * .scip.PositionEncoding position_encoding = 6 [json_name = "positionEncoding"]; - * @return The enum numeric value on the wire for positionEncoding. - */ - @java.lang.Override public int getPositionEncodingValue() { - return positionEncoding_; - } - /** - *
-     * Specifies the encoding used for source ranges in this Document.
-     *
-     * Usually, this will match the type used to index the string type
-     * in the indexer's implementation language in O(1) time.
-     * - For an indexer implemented in JVM/.NET language or JavaScript/TypeScript,
-     * use UTF16CodeUnitOffsetFromLineStart.
-     * - For an indexer implemented in Python,
-     * use UTF32CodeUnitOffsetFromLineStart.
-     * - For an indexer implemented in Go, Rust or C++,
-     * use UTF8ByteOffsetFromLineStart.
-     * 
- * - * .scip.PositionEncoding position_encoding = 6 [json_name = "positionEncoding"]; - * @param value The enum numeric value on the wire for positionEncoding to set. - * @return This builder for chaining. - */ - public Builder setPositionEncodingValue(int value) { - positionEncoding_ = value; - bitField0_ |= 0x00000020; - onChanged(); - return this; - } - /** - *
-     * Specifies the encoding used for source ranges in this Document.
-     *
-     * Usually, this will match the type used to index the string type
-     * in the indexer's implementation language in O(1) time.
-     * - For an indexer implemented in JVM/.NET language or JavaScript/TypeScript,
-     * use UTF16CodeUnitOffsetFromLineStart.
-     * - For an indexer implemented in Python,
-     * use UTF32CodeUnitOffsetFromLineStart.
-     * - For an indexer implemented in Go, Rust or C++,
-     * use UTF8ByteOffsetFromLineStart.
-     * 
- * - * .scip.PositionEncoding position_encoding = 6 [json_name = "positionEncoding"]; - * @return The positionEncoding. - */ - @java.lang.Override - public org.scip_code.scip.PositionEncoding getPositionEncoding() { - org.scip_code.scip.PositionEncoding result = org.scip_code.scip.PositionEncoding.forNumber(positionEncoding_); - return result == null ? org.scip_code.scip.PositionEncoding.UNRECOGNIZED : result; - } - /** - *
-     * Specifies the encoding used for source ranges in this Document.
-     *
-     * Usually, this will match the type used to index the string type
-     * in the indexer's implementation language in O(1) time.
-     * - For an indexer implemented in JVM/.NET language or JavaScript/TypeScript,
-     * use UTF16CodeUnitOffsetFromLineStart.
-     * - For an indexer implemented in Python,
-     * use UTF32CodeUnitOffsetFromLineStart.
-     * - For an indexer implemented in Go, Rust or C++,
-     * use UTF8ByteOffsetFromLineStart.
-     * 
- * - * .scip.PositionEncoding position_encoding = 6 [json_name = "positionEncoding"]; - * @param value The positionEncoding to set. - * @return This builder for chaining. - */ - public Builder setPositionEncoding(org.scip_code.scip.PositionEncoding value) { - if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000020; - positionEncoding_ = value.getNumber(); - onChanged(); - return this; - } - /** - *
-     * Specifies the encoding used for source ranges in this Document.
-     *
-     * Usually, this will match the type used to index the string type
-     * in the indexer's implementation language in O(1) time.
-     * - For an indexer implemented in JVM/.NET language or JavaScript/TypeScript,
-     * use UTF16CodeUnitOffsetFromLineStart.
-     * - For an indexer implemented in Python,
-     * use UTF32CodeUnitOffsetFromLineStart.
-     * - For an indexer implemented in Go, Rust or C++,
-     * use UTF8ByteOffsetFromLineStart.
-     * 
- * - * .scip.PositionEncoding position_encoding = 6 [json_name = "positionEncoding"]; - * @return This builder for chaining. - */ - public Builder clearPositionEncoding() { - bitField0_ = (bitField0_ & ~0x00000020); - positionEncoding_ = 0; - onChanged(); - return this; - } - - // @@protoc_insertion_point(builder_scope:scip.Document) - } - - // @@protoc_insertion_point(class_scope:scip.Document) - private static final org.scip_code.scip.Document DEFAULT_INSTANCE; - static { - DEFAULT_INSTANCE = new org.scip_code.scip.Document(); - } - - public static org.scip_code.scip.Document getDefaultInstance() { - return DEFAULT_INSTANCE; - } - - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { - @java.lang.Override - public Document parsePartialFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - Builder builder = newBuilder(); - try { - builder.mergeFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.setUnfinishedMessage(builder.buildPartial()); - } catch (com.google.protobuf.UninitializedMessageException e) { - throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); - } catch (java.io.IOException e) { - throw new com.google.protobuf.InvalidProtocolBufferException(e) - .setUnfinishedMessage(builder.buildPartial()); - } - return builder.buildPartial(); - } - }; - - public static com.google.protobuf.Parser parser() { - return PARSER; - } - - @java.lang.Override - public com.google.protobuf.Parser getParserForType() { - return PARSER; - } - - @java.lang.Override - public org.scip_code.scip.Document getDefaultInstanceForType() { - return DEFAULT_INSTANCE; - } - -} - diff --git a/bindings/kotlin/src/main/java/org/scip_code/scip/DocumentOrBuilder.java b/bindings/kotlin/src/main/java/org/scip_code/scip/DocumentOrBuilder.java deleted file mode 100644 index ad1e69ae..00000000 --- a/bindings/kotlin/src/main/java/org/scip_code/scip/DocumentOrBuilder.java +++ /dev/null @@ -1,247 +0,0 @@ -// Generated by the protocol buffer compiler. DO NOT EDIT! -// NO CHECKED-IN PROTOBUF GENCODE -// source: scip.proto -// Protobuf Java Version: 4.32.1 - -package org.scip_code.scip; - -@com.google.protobuf.Generated -public interface DocumentOrBuilder extends - // @@protoc_insertion_point(interface_extends:scip.Document) - com.google.protobuf.MessageOrBuilder { - - /** - *
-   * The string ID for the programming language this file is written in.
-   * The `Language` enum contains the names of most common programming languages.
-   * This field is typed as a string to permit any programming language, including
-   * ones that are not specified by the `Language` enum.
-   * 
- * - * string language = 4 [json_name = "language"]; - * @return The language. - */ - java.lang.String getLanguage(); - /** - *
-   * The string ID for the programming language this file is written in.
-   * The `Language` enum contains the names of most common programming languages.
-   * This field is typed as a string to permit any programming language, including
-   * ones that are not specified by the `Language` enum.
-   * 
- * - * string language = 4 [json_name = "language"]; - * @return The bytes for language. - */ - com.google.protobuf.ByteString - getLanguageBytes(); - - /** - *
-   * (Required) Unique path to the text document.
-   *
-   * 1. The path must be relative to the directory supplied in the associated
-   * `Metadata.project_root`.
-   * 2. The path must not begin with a leading '/'.
-   * 3. The path must point to a regular file, not a symbolic link.
-   * 4. The path must use '/' as the separator, including on Windows.
-   * 5. The path must be canonical; it cannot include empty components ('//'),
-   * or '.' or '..'.
-   * 
- * - * string relative_path = 1 [json_name = "relativePath"]; - * @return The relativePath. - */ - java.lang.String getRelativePath(); - /** - *
-   * (Required) Unique path to the text document.
-   *
-   * 1. The path must be relative to the directory supplied in the associated
-   * `Metadata.project_root`.
-   * 2. The path must not begin with a leading '/'.
-   * 3. The path must point to a regular file, not a symbolic link.
-   * 4. The path must use '/' as the separator, including on Windows.
-   * 5. The path must be canonical; it cannot include empty components ('//'),
-   * or '.' or '..'.
-   * 
- * - * string relative_path = 1 [json_name = "relativePath"]; - * @return The bytes for relativePath. - */ - com.google.protobuf.ByteString - getRelativePathBytes(); - - /** - *
-   * Occurrences that appear in this file.
-   * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - java.util.List - getOccurrencesList(); - /** - *
-   * Occurrences that appear in this file.
-   * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - org.scip_code.scip.Occurrence getOccurrences(int index); - /** - *
-   * Occurrences that appear in this file.
-   * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - int getOccurrencesCount(); - /** - *
-   * Occurrences that appear in this file.
-   * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - java.util.List - getOccurrencesOrBuilderList(); - /** - *
-   * Occurrences that appear in this file.
-   * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - org.scip_code.scip.OccurrenceOrBuilder getOccurrencesOrBuilder( - int index); - - /** - *
-   * Symbols that are "defined" within this document.
-   *
-   * This should include symbols which technically do not have any definition,
-   * but have a reference and are defined by some other symbol (see
-   * Relationship.is_definition).
-   * 
- * - * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; - */ - java.util.List - getSymbolsList(); - /** - *
-   * Symbols that are "defined" within this document.
-   *
-   * This should include symbols which technically do not have any definition,
-   * but have a reference and are defined by some other symbol (see
-   * Relationship.is_definition).
-   * 
- * - * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; - */ - org.scip_code.scip.SymbolInformation getSymbols(int index); - /** - *
-   * Symbols that are "defined" within this document.
-   *
-   * This should include symbols which technically do not have any definition,
-   * but have a reference and are defined by some other symbol (see
-   * Relationship.is_definition).
-   * 
- * - * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; - */ - int getSymbolsCount(); - /** - *
-   * Symbols that are "defined" within this document.
-   *
-   * This should include symbols which technically do not have any definition,
-   * but have a reference and are defined by some other symbol (see
-   * Relationship.is_definition).
-   * 
- * - * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; - */ - java.util.List - getSymbolsOrBuilderList(); - /** - *
-   * Symbols that are "defined" within this document.
-   *
-   * This should include symbols which technically do not have any definition,
-   * but have a reference and are defined by some other symbol (see
-   * Relationship.is_definition).
-   * 
- * - * repeated .scip.SymbolInformation symbols = 3 [json_name = "symbols"]; - */ - org.scip_code.scip.SymbolInformationOrBuilder getSymbolsOrBuilder( - int index); - - /** - *
-   * (optional) Text contents of this document. Indexers are not expected to
-   * include the text by default. It's preferable that clients read the text
-   * contents from the file system by resolving the absolute path from joining
-   * `Index.metadata.project_root` and `Document.relative_path`. This field
-   * can be useful for testing or when working with virtual/in-memory documents.
-   * 
- * - * string text = 5 [json_name = "text"]; - * @return The text. - */ - java.lang.String getText(); - /** - *
-   * (optional) Text contents of this document. Indexers are not expected to
-   * include the text by default. It's preferable that clients read the text
-   * contents from the file system by resolving the absolute path from joining
-   * `Index.metadata.project_root` and `Document.relative_path`. This field
-   * can be useful for testing or when working with virtual/in-memory documents.
-   * 
- * - * string text = 5 [json_name = "text"]; - * @return The bytes for text. - */ - com.google.protobuf.ByteString - getTextBytes(); - - /** - *
-   * Specifies the encoding used for source ranges in this Document.
-   *
-   * Usually, this will match the type used to index the string type
-   * in the indexer's implementation language in O(1) time.
-   * - For an indexer implemented in JVM/.NET language or JavaScript/TypeScript,
-   * use UTF16CodeUnitOffsetFromLineStart.
-   * - For an indexer implemented in Python,
-   * use UTF32CodeUnitOffsetFromLineStart.
-   * - For an indexer implemented in Go, Rust or C++,
-   * use UTF8ByteOffsetFromLineStart.
-   * 
- * - * .scip.PositionEncoding position_encoding = 6 [json_name = "positionEncoding"]; - * @return The enum numeric value on the wire for positionEncoding. - */ - int getPositionEncodingValue(); - /** - *
-   * Specifies the encoding used for source ranges in this Document.
-   *
-   * Usually, this will match the type used to index the string type
-   * in the indexer's implementation language in O(1) time.
-   * - For an indexer implemented in JVM/.NET language or JavaScript/TypeScript,
-   * use UTF16CodeUnitOffsetFromLineStart.
-   * - For an indexer implemented in Python,
-   * use UTF32CodeUnitOffsetFromLineStart.
-   * - For an indexer implemented in Go, Rust or C++,
-   * use UTF8ByteOffsetFromLineStart.
-   * 
- * - * .scip.PositionEncoding position_encoding = 6 [json_name = "positionEncoding"]; - * @return The positionEncoding. - */ - org.scip_code.scip.PositionEncoding getPositionEncoding(); -} diff --git a/bindings/kotlin/src/main/java/org/scip_code/scip/Index.java b/bindings/kotlin/src/main/java/org/scip_code/scip/Index.java deleted file mode 100644 index 20249318..00000000 --- a/bindings/kotlin/src/main/java/org/scip_code/scip/Index.java +++ /dev/null @@ -1,1607 +0,0 @@ -// Generated by the protocol buffer compiler. DO NOT EDIT! -// NO CHECKED-IN PROTOBUF GENCODE -// source: scip.proto -// Protobuf Java Version: 4.32.1 - -package org.scip_code.scip; - -/** - *
- * Index represents a complete SCIP index for a workspace this is rooted at a
- * single directory. An Index message payload can have a large memory footprint
- * and it's therefore recommended to emit and consume an Index payload one field
- * value at a time. To permit streaming consumption of an Index payload, the
- * `metadata` field must appear at the start of the stream and must only appear
- * once in the stream. Other field values may appear in any order.
- * 
- * - * Protobuf type {@code scip.Index} - */ -@com.google.protobuf.Generated -public final class Index extends - com.google.protobuf.GeneratedMessage implements - // @@protoc_insertion_point(message_implements:scip.Index) - IndexOrBuilder { -private static final long serialVersionUID = 0L; - static { - com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( - com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, - /* major= */ 4, - /* minor= */ 32, - /* patch= */ 1, - /* suffix= */ "", - Index.class.getName()); - } - // Use Index.newBuilder() to construct. - private Index(com.google.protobuf.GeneratedMessage.Builder builder) { - super(builder); - } - private Index() { - documents_ = java.util.Collections.emptyList(); - externalSymbols_ = java.util.Collections.emptyList(); - } - - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return org.scip_code.scip.ScipProto.internal_static_scip_Index_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessage.FieldAccessorTable - internalGetFieldAccessorTable() { - return org.scip_code.scip.ScipProto.internal_static_scip_Index_fieldAccessorTable - .ensureFieldAccessorsInitialized( - org.scip_code.scip.Index.class, org.scip_code.scip.Index.Builder.class); - } - - private int bitField0_; - public static final int METADATA_FIELD_NUMBER = 1; - private org.scip_code.scip.Metadata metadata_; - /** - *
-   * Metadata about this index.
-   * 
- * - * .scip.Metadata metadata = 1 [json_name = "metadata"]; - * @return Whether the metadata field is set. - */ - @java.lang.Override - public boolean hasMetadata() { - return ((bitField0_ & 0x00000001) != 0); - } - /** - *
-   * Metadata about this index.
-   * 
- * - * .scip.Metadata metadata = 1 [json_name = "metadata"]; - * @return The metadata. - */ - @java.lang.Override - public org.scip_code.scip.Metadata getMetadata() { - return metadata_ == null ? org.scip_code.scip.Metadata.getDefaultInstance() : metadata_; - } - /** - *
-   * Metadata about this index.
-   * 
- * - * .scip.Metadata metadata = 1 [json_name = "metadata"]; - */ - @java.lang.Override - public org.scip_code.scip.MetadataOrBuilder getMetadataOrBuilder() { - return metadata_ == null ? org.scip_code.scip.Metadata.getDefaultInstance() : metadata_; - } - - public static final int DOCUMENTS_FIELD_NUMBER = 2; - @SuppressWarnings("serial") - private java.util.List documents_; - /** - *
-   * Documents that belong to this index.
-   * 
- * - * repeated .scip.Document documents = 2 [json_name = "documents"]; - */ - @java.lang.Override - public java.util.List getDocumentsList() { - return documents_; - } - /** - *
-   * Documents that belong to this index.
-   * 
- * - * repeated .scip.Document documents = 2 [json_name = "documents"]; - */ - @java.lang.Override - public java.util.List - getDocumentsOrBuilderList() { - return documents_; - } - /** - *
-   * Documents that belong to this index.
-   * 
- * - * repeated .scip.Document documents = 2 [json_name = "documents"]; - */ - @java.lang.Override - public int getDocumentsCount() { - return documents_.size(); - } - /** - *
-   * Documents that belong to this index.
-   * 
- * - * repeated .scip.Document documents = 2 [json_name = "documents"]; - */ - @java.lang.Override - public org.scip_code.scip.Document getDocuments(int index) { - return documents_.get(index); - } - /** - *
-   * Documents that belong to this index.
-   * 
- * - * repeated .scip.Document documents = 2 [json_name = "documents"]; - */ - @java.lang.Override - public org.scip_code.scip.DocumentOrBuilder getDocumentsOrBuilder( - int index) { - return documents_.get(index); - } - - public static final int EXTERNAL_SYMBOLS_FIELD_NUMBER = 3; - @SuppressWarnings("serial") - private java.util.List externalSymbols_; - /** - *
-   * (optional) Symbols that are referenced from this index but are defined in
-   * an external package (a separate `Index` message). Leave this field empty
-   * if you assume the external package will get indexed separately. If the
-   * external package won't get indexed for some reason then you can use this
-   * field to provide hover documentation for those external symbols.
-   * 
- * - * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; - */ - @java.lang.Override - public java.util.List getExternalSymbolsList() { - return externalSymbols_; - } - /** - *
-   * (optional) Symbols that are referenced from this index but are defined in
-   * an external package (a separate `Index` message). Leave this field empty
-   * if you assume the external package will get indexed separately. If the
-   * external package won't get indexed for some reason then you can use this
-   * field to provide hover documentation for those external symbols.
-   * 
- * - * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; - */ - @java.lang.Override - public java.util.List - getExternalSymbolsOrBuilderList() { - return externalSymbols_; - } - /** - *
-   * (optional) Symbols that are referenced from this index but are defined in
-   * an external package (a separate `Index` message). Leave this field empty
-   * if you assume the external package will get indexed separately. If the
-   * external package won't get indexed for some reason then you can use this
-   * field to provide hover documentation for those external symbols.
-   * 
- * - * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; - */ - @java.lang.Override - public int getExternalSymbolsCount() { - return externalSymbols_.size(); - } - /** - *
-   * (optional) Symbols that are referenced from this index but are defined in
-   * an external package (a separate `Index` message). Leave this field empty
-   * if you assume the external package will get indexed separately. If the
-   * external package won't get indexed for some reason then you can use this
-   * field to provide hover documentation for those external symbols.
-   * 
- * - * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; - */ - @java.lang.Override - public org.scip_code.scip.SymbolInformation getExternalSymbols(int index) { - return externalSymbols_.get(index); - } - /** - *
-   * (optional) Symbols that are referenced from this index but are defined in
-   * an external package (a separate `Index` message). Leave this field empty
-   * if you assume the external package will get indexed separately. If the
-   * external package won't get indexed for some reason then you can use this
-   * field to provide hover documentation for those external symbols.
-   * 
- * - * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; - */ - @java.lang.Override - public org.scip_code.scip.SymbolInformationOrBuilder getExternalSymbolsOrBuilder( - int index) { - return externalSymbols_.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 (((bitField0_ & 0x00000001) != 0)) { - output.writeMessage(1, getMetadata()); - } - for (int i = 0; i < documents_.size(); i++) { - output.writeMessage(2, documents_.get(i)); - } - for (int i = 0; i < externalSymbols_.size(); i++) { - output.writeMessage(3, externalSymbols_.get(i)); - } - getUnknownFields().writeTo(output); - } - - @java.lang.Override - public int getSerializedSize() { - int size = memoizedSize; - if (size != -1) return size; - - size = 0; - if (((bitField0_ & 0x00000001) != 0)) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(1, getMetadata()); - } - for (int i = 0; i < documents_.size(); i++) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(2, documents_.get(i)); - } - for (int i = 0; i < externalSymbols_.size(); i++) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(3, externalSymbols_.get(i)); - } - size += getUnknownFields().getSerializedSize(); - memoizedSize = size; - return size; - } - - @java.lang.Override - public boolean equals(final java.lang.Object obj) { - if (obj == this) { - return true; - } - if (!(obj instanceof org.scip_code.scip.Index)) { - return super.equals(obj); - } - org.scip_code.scip.Index other = (org.scip_code.scip.Index) obj; - - if (hasMetadata() != other.hasMetadata()) return false; - if (hasMetadata()) { - if (!getMetadata() - .equals(other.getMetadata())) return false; - } - if (!getDocumentsList() - .equals(other.getDocumentsList())) return false; - if (!getExternalSymbolsList() - .equals(other.getExternalSymbolsList())) return false; - if (!getUnknownFields().equals(other.getUnknownFields())) return false; - return true; - } - - @java.lang.Override - public int hashCode() { - if (memoizedHashCode != 0) { - return memoizedHashCode; - } - int hash = 41; - hash = (19 * hash) + getDescriptor().hashCode(); - if (hasMetadata()) { - hash = (37 * hash) + METADATA_FIELD_NUMBER; - hash = (53 * hash) + getMetadata().hashCode(); - } - if (getDocumentsCount() > 0) { - hash = (37 * hash) + DOCUMENTS_FIELD_NUMBER; - hash = (53 * hash) + getDocumentsList().hashCode(); - } - if (getExternalSymbolsCount() > 0) { - hash = (37 * hash) + EXTERNAL_SYMBOLS_FIELD_NUMBER; - hash = (53 * hash) + getExternalSymbolsList().hashCode(); - } - hash = (29 * hash) + getUnknownFields().hashCode(); - memoizedHashCode = hash; - return hash; - } - - public static org.scip_code.scip.Index parseFrom( - java.nio.ByteBuffer data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static org.scip_code.scip.Index parseFrom( - java.nio.ByteBuffer data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static org.scip_code.scip.Index parseFrom( - com.google.protobuf.ByteString data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static org.scip_code.scip.Index parseFrom( - com.google.protobuf.ByteString data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static org.scip_code.scip.Index parseFrom(byte[] data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static org.scip_code.scip.Index parseFrom( - byte[] data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static org.scip_code.scip.Index parseFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input); - } - public static org.scip_code.scip.Index parseFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input, extensionRegistry); - } - - public static org.scip_code.scip.Index parseDelimitedFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseDelimitedWithIOException(PARSER, input); - } - - public static org.scip_code.scip.Index parseDelimitedFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseDelimitedWithIOException(PARSER, input, extensionRegistry); - } - public static org.scip_code.scip.Index parseFrom( - com.google.protobuf.CodedInputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input); - } - public static org.scip_code.scip.Index parseFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input, extensionRegistry); - } - - @java.lang.Override - public Builder newBuilderForType() { return newBuilder(); } - public static Builder newBuilder() { - return DEFAULT_INSTANCE.toBuilder(); - } - public static Builder newBuilder(org.scip_code.scip.Index 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.GeneratedMessage.BuilderParent parent) { - Builder builder = new Builder(parent); - return builder; - } - /** - *
-   * Index represents a complete SCIP index for a workspace this is rooted at a
-   * single directory. An Index message payload can have a large memory footprint
-   * and it's therefore recommended to emit and consume an Index payload one field
-   * value at a time. To permit streaming consumption of an Index payload, the
-   * `metadata` field must appear at the start of the stream and must only appear
-   * once in the stream. Other field values may appear in any order.
-   * 
- * - * Protobuf type {@code scip.Index} - */ - public static final class Builder extends - com.google.protobuf.GeneratedMessage.Builder implements - // @@protoc_insertion_point(builder_implements:scip.Index) - org.scip_code.scip.IndexOrBuilder { - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return org.scip_code.scip.ScipProto.internal_static_scip_Index_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessage.FieldAccessorTable - internalGetFieldAccessorTable() { - return org.scip_code.scip.ScipProto.internal_static_scip_Index_fieldAccessorTable - .ensureFieldAccessorsInitialized( - org.scip_code.scip.Index.class, org.scip_code.scip.Index.Builder.class); - } - - // Construct using org.scip_code.scip.Index.newBuilder() - private Builder() { - maybeForceBuilderInitialization(); - } - - private Builder( - com.google.protobuf.GeneratedMessage.BuilderParent parent) { - super(parent); - maybeForceBuilderInitialization(); - } - private void maybeForceBuilderInitialization() { - if (com.google.protobuf.GeneratedMessage - .alwaysUseFieldBuilders) { - internalGetMetadataFieldBuilder(); - internalGetDocumentsFieldBuilder(); - internalGetExternalSymbolsFieldBuilder(); - } - } - @java.lang.Override - public Builder clear() { - super.clear(); - bitField0_ = 0; - metadata_ = null; - if (metadataBuilder_ != null) { - metadataBuilder_.dispose(); - metadataBuilder_ = null; - } - if (documentsBuilder_ == null) { - documents_ = java.util.Collections.emptyList(); - } else { - documents_ = null; - documentsBuilder_.clear(); - } - bitField0_ = (bitField0_ & ~0x00000002); - if (externalSymbolsBuilder_ == null) { - externalSymbols_ = java.util.Collections.emptyList(); - } else { - externalSymbols_ = null; - externalSymbolsBuilder_.clear(); - } - bitField0_ = (bitField0_ & ~0x00000004); - return this; - } - - @java.lang.Override - public com.google.protobuf.Descriptors.Descriptor - getDescriptorForType() { - return org.scip_code.scip.ScipProto.internal_static_scip_Index_descriptor; - } - - @java.lang.Override - public org.scip_code.scip.Index getDefaultInstanceForType() { - return org.scip_code.scip.Index.getDefaultInstance(); - } - - @java.lang.Override - public org.scip_code.scip.Index build() { - org.scip_code.scip.Index result = buildPartial(); - if (!result.isInitialized()) { - throw newUninitializedMessageException(result); - } - return result; - } - - @java.lang.Override - public org.scip_code.scip.Index buildPartial() { - org.scip_code.scip.Index result = new org.scip_code.scip.Index(this); - buildPartialRepeatedFields(result); - if (bitField0_ != 0) { buildPartial0(result); } - onBuilt(); - return result; - } - - private void buildPartialRepeatedFields(org.scip_code.scip.Index result) { - if (documentsBuilder_ == null) { - if (((bitField0_ & 0x00000002) != 0)) { - documents_ = java.util.Collections.unmodifiableList(documents_); - bitField0_ = (bitField0_ & ~0x00000002); - } - result.documents_ = documents_; - } else { - result.documents_ = documentsBuilder_.build(); - } - if (externalSymbolsBuilder_ == null) { - if (((bitField0_ & 0x00000004) != 0)) { - externalSymbols_ = java.util.Collections.unmodifiableList(externalSymbols_); - bitField0_ = (bitField0_ & ~0x00000004); - } - result.externalSymbols_ = externalSymbols_; - } else { - result.externalSymbols_ = externalSymbolsBuilder_.build(); - } - } - - private void buildPartial0(org.scip_code.scip.Index result) { - int from_bitField0_ = bitField0_; - int to_bitField0_ = 0; - if (((from_bitField0_ & 0x00000001) != 0)) { - result.metadata_ = metadataBuilder_ == null - ? metadata_ - : metadataBuilder_.build(); - to_bitField0_ |= 0x00000001; - } - result.bitField0_ |= to_bitField0_; - } - - @java.lang.Override - public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof org.scip_code.scip.Index) { - return mergeFrom((org.scip_code.scip.Index)other); - } else { - super.mergeFrom(other); - return this; - } - } - - public Builder mergeFrom(org.scip_code.scip.Index other) { - if (other == org.scip_code.scip.Index.getDefaultInstance()) return this; - if (other.hasMetadata()) { - mergeMetadata(other.getMetadata()); - } - if (documentsBuilder_ == null) { - if (!other.documents_.isEmpty()) { - if (documents_.isEmpty()) { - documents_ = other.documents_; - bitField0_ = (bitField0_ & ~0x00000002); - } else { - ensureDocumentsIsMutable(); - documents_.addAll(other.documents_); - } - onChanged(); - } - } else { - if (!other.documents_.isEmpty()) { - if (documentsBuilder_.isEmpty()) { - documentsBuilder_.dispose(); - documentsBuilder_ = null; - documents_ = other.documents_; - bitField0_ = (bitField0_ & ~0x00000002); - documentsBuilder_ = - com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ? - internalGetDocumentsFieldBuilder() : null; - } else { - documentsBuilder_.addAllMessages(other.documents_); - } - } - } - if (externalSymbolsBuilder_ == null) { - if (!other.externalSymbols_.isEmpty()) { - if (externalSymbols_.isEmpty()) { - externalSymbols_ = other.externalSymbols_; - bitField0_ = (bitField0_ & ~0x00000004); - } else { - ensureExternalSymbolsIsMutable(); - externalSymbols_.addAll(other.externalSymbols_); - } - onChanged(); - } - } else { - if (!other.externalSymbols_.isEmpty()) { - if (externalSymbolsBuilder_.isEmpty()) { - externalSymbolsBuilder_.dispose(); - externalSymbolsBuilder_ = null; - externalSymbols_ = other.externalSymbols_; - bitField0_ = (bitField0_ & ~0x00000004); - externalSymbolsBuilder_ = - com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ? - internalGetExternalSymbolsFieldBuilder() : null; - } else { - externalSymbolsBuilder_.addAllMessages(other.externalSymbols_); - } - } - } - this.mergeUnknownFields(other.getUnknownFields()); - 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 { - if (extensionRegistry == null) { - throw new java.lang.NullPointerException(); - } - try { - boolean done = false; - while (!done) { - int tag = input.readTag(); - switch (tag) { - case 0: - done = true; - break; - case 10: { - input.readMessage( - internalGetMetadataFieldBuilder().getBuilder(), - extensionRegistry); - bitField0_ |= 0x00000001; - break; - } // case 10 - case 18: { - org.scip_code.scip.Document m = - input.readMessage( - org.scip_code.scip.Document.parser(), - extensionRegistry); - if (documentsBuilder_ == null) { - ensureDocumentsIsMutable(); - documents_.add(m); - } else { - documentsBuilder_.addMessage(m); - } - break; - } // case 18 - case 26: { - org.scip_code.scip.SymbolInformation m = - input.readMessage( - org.scip_code.scip.SymbolInformation.parser(), - extensionRegistry); - if (externalSymbolsBuilder_ == null) { - ensureExternalSymbolsIsMutable(); - externalSymbols_.add(m); - } else { - externalSymbolsBuilder_.addMessage(m); - } - break; - } // case 26 - default: { - if (!super.parseUnknownField(input, extensionRegistry, tag)) { - done = true; // was an endgroup tag - } - break; - } // default: - } // switch (tag) - } // while (!done) - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.unwrapIOException(); - } finally { - onChanged(); - } // finally - return this; - } - private int bitField0_; - - private org.scip_code.scip.Metadata metadata_; - private com.google.protobuf.SingleFieldBuilder< - org.scip_code.scip.Metadata, org.scip_code.scip.Metadata.Builder, org.scip_code.scip.MetadataOrBuilder> metadataBuilder_; - /** - *
-     * Metadata about this index.
-     * 
- * - * .scip.Metadata metadata = 1 [json_name = "metadata"]; - * @return Whether the metadata field is set. - */ - public boolean hasMetadata() { - return ((bitField0_ & 0x00000001) != 0); - } - /** - *
-     * Metadata about this index.
-     * 
- * - * .scip.Metadata metadata = 1 [json_name = "metadata"]; - * @return The metadata. - */ - public org.scip_code.scip.Metadata getMetadata() { - if (metadataBuilder_ == null) { - return metadata_ == null ? org.scip_code.scip.Metadata.getDefaultInstance() : metadata_; - } else { - return metadataBuilder_.getMessage(); - } - } - /** - *
-     * Metadata about this index.
-     * 
- * - * .scip.Metadata metadata = 1 [json_name = "metadata"]; - */ - public Builder setMetadata(org.scip_code.scip.Metadata value) { - if (metadataBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - metadata_ = value; - } else { - metadataBuilder_.setMessage(value); - } - bitField0_ |= 0x00000001; - onChanged(); - return this; - } - /** - *
-     * Metadata about this index.
-     * 
- * - * .scip.Metadata metadata = 1 [json_name = "metadata"]; - */ - public Builder setMetadata( - org.scip_code.scip.Metadata.Builder builderForValue) { - if (metadataBuilder_ == null) { - metadata_ = builderForValue.build(); - } else { - metadataBuilder_.setMessage(builderForValue.build()); - } - bitField0_ |= 0x00000001; - onChanged(); - return this; - } - /** - *
-     * Metadata about this index.
-     * 
- * - * .scip.Metadata metadata = 1 [json_name = "metadata"]; - */ - public Builder mergeMetadata(org.scip_code.scip.Metadata value) { - if (metadataBuilder_ == null) { - if (((bitField0_ & 0x00000001) != 0) && - metadata_ != null && - metadata_ != org.scip_code.scip.Metadata.getDefaultInstance()) { - getMetadataBuilder().mergeFrom(value); - } else { - metadata_ = value; - } - } else { - metadataBuilder_.mergeFrom(value); - } - if (metadata_ != null) { - bitField0_ |= 0x00000001; - onChanged(); - } - return this; - } - /** - *
-     * Metadata about this index.
-     * 
- * - * .scip.Metadata metadata = 1 [json_name = "metadata"]; - */ - public Builder clearMetadata() { - bitField0_ = (bitField0_ & ~0x00000001); - metadata_ = null; - if (metadataBuilder_ != null) { - metadataBuilder_.dispose(); - metadataBuilder_ = null; - } - onChanged(); - return this; - } - /** - *
-     * Metadata about this index.
-     * 
- * - * .scip.Metadata metadata = 1 [json_name = "metadata"]; - */ - public org.scip_code.scip.Metadata.Builder getMetadataBuilder() { - bitField0_ |= 0x00000001; - onChanged(); - return internalGetMetadataFieldBuilder().getBuilder(); - } - /** - *
-     * Metadata about this index.
-     * 
- * - * .scip.Metadata metadata = 1 [json_name = "metadata"]; - */ - public org.scip_code.scip.MetadataOrBuilder getMetadataOrBuilder() { - if (metadataBuilder_ != null) { - return metadataBuilder_.getMessageOrBuilder(); - } else { - return metadata_ == null ? - org.scip_code.scip.Metadata.getDefaultInstance() : metadata_; - } - } - /** - *
-     * Metadata about this index.
-     * 
- * - * .scip.Metadata metadata = 1 [json_name = "metadata"]; - */ - private com.google.protobuf.SingleFieldBuilder< - org.scip_code.scip.Metadata, org.scip_code.scip.Metadata.Builder, org.scip_code.scip.MetadataOrBuilder> - internalGetMetadataFieldBuilder() { - if (metadataBuilder_ == null) { - metadataBuilder_ = new com.google.protobuf.SingleFieldBuilder< - org.scip_code.scip.Metadata, org.scip_code.scip.Metadata.Builder, org.scip_code.scip.MetadataOrBuilder>( - getMetadata(), - getParentForChildren(), - isClean()); - metadata_ = null; - } - return metadataBuilder_; - } - - private java.util.List documents_ = - java.util.Collections.emptyList(); - private void ensureDocumentsIsMutable() { - if (!((bitField0_ & 0x00000002) != 0)) { - documents_ = new java.util.ArrayList(documents_); - bitField0_ |= 0x00000002; - } - } - - private com.google.protobuf.RepeatedFieldBuilder< - org.scip_code.scip.Document, org.scip_code.scip.Document.Builder, org.scip_code.scip.DocumentOrBuilder> documentsBuilder_; - - /** - *
-     * Documents that belong to this index.
-     * 
- * - * repeated .scip.Document documents = 2 [json_name = "documents"]; - */ - public java.util.List getDocumentsList() { - if (documentsBuilder_ == null) { - return java.util.Collections.unmodifiableList(documents_); - } else { - return documentsBuilder_.getMessageList(); - } - } - /** - *
-     * Documents that belong to this index.
-     * 
- * - * repeated .scip.Document documents = 2 [json_name = "documents"]; - */ - public int getDocumentsCount() { - if (documentsBuilder_ == null) { - return documents_.size(); - } else { - return documentsBuilder_.getCount(); - } - } - /** - *
-     * Documents that belong to this index.
-     * 
- * - * repeated .scip.Document documents = 2 [json_name = "documents"]; - */ - public org.scip_code.scip.Document getDocuments(int index) { - if (documentsBuilder_ == null) { - return documents_.get(index); - } else { - return documentsBuilder_.getMessage(index); - } - } - /** - *
-     * Documents that belong to this index.
-     * 
- * - * repeated .scip.Document documents = 2 [json_name = "documents"]; - */ - public Builder setDocuments( - int index, org.scip_code.scip.Document value) { - if (documentsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureDocumentsIsMutable(); - documents_.set(index, value); - onChanged(); - } else { - documentsBuilder_.setMessage(index, value); - } - return this; - } - /** - *
-     * Documents that belong to this index.
-     * 
- * - * repeated .scip.Document documents = 2 [json_name = "documents"]; - */ - public Builder setDocuments( - int index, org.scip_code.scip.Document.Builder builderForValue) { - if (documentsBuilder_ == null) { - ensureDocumentsIsMutable(); - documents_.set(index, builderForValue.build()); - onChanged(); - } else { - documentsBuilder_.setMessage(index, builderForValue.build()); - } - return this; - } - /** - *
-     * Documents that belong to this index.
-     * 
- * - * repeated .scip.Document documents = 2 [json_name = "documents"]; - */ - public Builder addDocuments(org.scip_code.scip.Document value) { - if (documentsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureDocumentsIsMutable(); - documents_.add(value); - onChanged(); - } else { - documentsBuilder_.addMessage(value); - } - return this; - } - /** - *
-     * Documents that belong to this index.
-     * 
- * - * repeated .scip.Document documents = 2 [json_name = "documents"]; - */ - public Builder addDocuments( - int index, org.scip_code.scip.Document value) { - if (documentsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureDocumentsIsMutable(); - documents_.add(index, value); - onChanged(); - } else { - documentsBuilder_.addMessage(index, value); - } - return this; - } - /** - *
-     * Documents that belong to this index.
-     * 
- * - * repeated .scip.Document documents = 2 [json_name = "documents"]; - */ - public Builder addDocuments( - org.scip_code.scip.Document.Builder builderForValue) { - if (documentsBuilder_ == null) { - ensureDocumentsIsMutable(); - documents_.add(builderForValue.build()); - onChanged(); - } else { - documentsBuilder_.addMessage(builderForValue.build()); - } - return this; - } - /** - *
-     * Documents that belong to this index.
-     * 
- * - * repeated .scip.Document documents = 2 [json_name = "documents"]; - */ - public Builder addDocuments( - int index, org.scip_code.scip.Document.Builder builderForValue) { - if (documentsBuilder_ == null) { - ensureDocumentsIsMutable(); - documents_.add(index, builderForValue.build()); - onChanged(); - } else { - documentsBuilder_.addMessage(index, builderForValue.build()); - } - return this; - } - /** - *
-     * Documents that belong to this index.
-     * 
- * - * repeated .scip.Document documents = 2 [json_name = "documents"]; - */ - 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; - } - /** - *
-     * Documents that belong to this index.
-     * 
- * - * repeated .scip.Document documents = 2 [json_name = "documents"]; - */ - public Builder clearDocuments() { - if (documentsBuilder_ == null) { - documents_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000002); - onChanged(); - } else { - documentsBuilder_.clear(); - } - return this; - } - /** - *
-     * Documents that belong to this index.
-     * 
- * - * repeated .scip.Document documents = 2 [json_name = "documents"]; - */ - public Builder removeDocuments(int index) { - if (documentsBuilder_ == null) { - ensureDocumentsIsMutable(); - documents_.remove(index); - onChanged(); - } else { - documentsBuilder_.remove(index); - } - return this; - } - /** - *
-     * Documents that belong to this index.
-     * 
- * - * repeated .scip.Document documents = 2 [json_name = "documents"]; - */ - public org.scip_code.scip.Document.Builder getDocumentsBuilder( - int index) { - return internalGetDocumentsFieldBuilder().getBuilder(index); - } - /** - *
-     * Documents that belong to this index.
-     * 
- * - * repeated .scip.Document documents = 2 [json_name = "documents"]; - */ - public org.scip_code.scip.DocumentOrBuilder getDocumentsOrBuilder( - int index) { - if (documentsBuilder_ == null) { - return documents_.get(index); } else { - return documentsBuilder_.getMessageOrBuilder(index); - } - } - /** - *
-     * Documents that belong to this index.
-     * 
- * - * repeated .scip.Document documents = 2 [json_name = "documents"]; - */ - public java.util.List - getDocumentsOrBuilderList() { - if (documentsBuilder_ != null) { - return documentsBuilder_.getMessageOrBuilderList(); - } else { - return java.util.Collections.unmodifiableList(documents_); - } - } - /** - *
-     * Documents that belong to this index.
-     * 
- * - * repeated .scip.Document documents = 2 [json_name = "documents"]; - */ - public org.scip_code.scip.Document.Builder addDocumentsBuilder() { - return internalGetDocumentsFieldBuilder().addBuilder( - org.scip_code.scip.Document.getDefaultInstance()); - } - /** - *
-     * Documents that belong to this index.
-     * 
- * - * repeated .scip.Document documents = 2 [json_name = "documents"]; - */ - public org.scip_code.scip.Document.Builder addDocumentsBuilder( - int index) { - return internalGetDocumentsFieldBuilder().addBuilder( - index, org.scip_code.scip.Document.getDefaultInstance()); - } - /** - *
-     * Documents that belong to this index.
-     * 
- * - * repeated .scip.Document documents = 2 [json_name = "documents"]; - */ - public java.util.List - getDocumentsBuilderList() { - return internalGetDocumentsFieldBuilder().getBuilderList(); - } - private com.google.protobuf.RepeatedFieldBuilder< - org.scip_code.scip.Document, org.scip_code.scip.Document.Builder, org.scip_code.scip.DocumentOrBuilder> - internalGetDocumentsFieldBuilder() { - if (documentsBuilder_ == null) { - documentsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder< - org.scip_code.scip.Document, org.scip_code.scip.Document.Builder, org.scip_code.scip.DocumentOrBuilder>( - documents_, - ((bitField0_ & 0x00000002) != 0), - getParentForChildren(), - isClean()); - documents_ = null; - } - return documentsBuilder_; - } - - private java.util.List externalSymbols_ = - java.util.Collections.emptyList(); - private void ensureExternalSymbolsIsMutable() { - if (!((bitField0_ & 0x00000004) != 0)) { - externalSymbols_ = new java.util.ArrayList(externalSymbols_); - bitField0_ |= 0x00000004; - } - } - - private com.google.protobuf.RepeatedFieldBuilder< - org.scip_code.scip.SymbolInformation, org.scip_code.scip.SymbolInformation.Builder, org.scip_code.scip.SymbolInformationOrBuilder> externalSymbolsBuilder_; - - /** - *
-     * (optional) Symbols that are referenced from this index but are defined in
-     * an external package (a separate `Index` message). Leave this field empty
-     * if you assume the external package will get indexed separately. If the
-     * external package won't get indexed for some reason then you can use this
-     * field to provide hover documentation for those external symbols.
-     * 
- * - * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; - */ - public java.util.List getExternalSymbolsList() { - if (externalSymbolsBuilder_ == null) { - return java.util.Collections.unmodifiableList(externalSymbols_); - } else { - return externalSymbolsBuilder_.getMessageList(); - } - } - /** - *
-     * (optional) Symbols that are referenced from this index but are defined in
-     * an external package (a separate `Index` message). Leave this field empty
-     * if you assume the external package will get indexed separately. If the
-     * external package won't get indexed for some reason then you can use this
-     * field to provide hover documentation for those external symbols.
-     * 
- * - * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; - */ - public int getExternalSymbolsCount() { - if (externalSymbolsBuilder_ == null) { - return externalSymbols_.size(); - } else { - return externalSymbolsBuilder_.getCount(); - } - } - /** - *
-     * (optional) Symbols that are referenced from this index but are defined in
-     * an external package (a separate `Index` message). Leave this field empty
-     * if you assume the external package will get indexed separately. If the
-     * external package won't get indexed for some reason then you can use this
-     * field to provide hover documentation for those external symbols.
-     * 
- * - * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; - */ - public org.scip_code.scip.SymbolInformation getExternalSymbols(int index) { - if (externalSymbolsBuilder_ == null) { - return externalSymbols_.get(index); - } else { - return externalSymbolsBuilder_.getMessage(index); - } - } - /** - *
-     * (optional) Symbols that are referenced from this index but are defined in
-     * an external package (a separate `Index` message). Leave this field empty
-     * if you assume the external package will get indexed separately. If the
-     * external package won't get indexed for some reason then you can use this
-     * field to provide hover documentation for those external symbols.
-     * 
- * - * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; - */ - public Builder setExternalSymbols( - int index, org.scip_code.scip.SymbolInformation value) { - if (externalSymbolsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureExternalSymbolsIsMutable(); - externalSymbols_.set(index, value); - onChanged(); - } else { - externalSymbolsBuilder_.setMessage(index, value); - } - return this; - } - /** - *
-     * (optional) Symbols that are referenced from this index but are defined in
-     * an external package (a separate `Index` message). Leave this field empty
-     * if you assume the external package will get indexed separately. If the
-     * external package won't get indexed for some reason then you can use this
-     * field to provide hover documentation for those external symbols.
-     * 
- * - * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; - */ - public Builder setExternalSymbols( - int index, org.scip_code.scip.SymbolInformation.Builder builderForValue) { - if (externalSymbolsBuilder_ == null) { - ensureExternalSymbolsIsMutable(); - externalSymbols_.set(index, builderForValue.build()); - onChanged(); - } else { - externalSymbolsBuilder_.setMessage(index, builderForValue.build()); - } - return this; - } - /** - *
-     * (optional) Symbols that are referenced from this index but are defined in
-     * an external package (a separate `Index` message). Leave this field empty
-     * if you assume the external package will get indexed separately. If the
-     * external package won't get indexed for some reason then you can use this
-     * field to provide hover documentation for those external symbols.
-     * 
- * - * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; - */ - public Builder addExternalSymbols(org.scip_code.scip.SymbolInformation value) { - if (externalSymbolsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureExternalSymbolsIsMutable(); - externalSymbols_.add(value); - onChanged(); - } else { - externalSymbolsBuilder_.addMessage(value); - } - return this; - } - /** - *
-     * (optional) Symbols that are referenced from this index but are defined in
-     * an external package (a separate `Index` message). Leave this field empty
-     * if you assume the external package will get indexed separately. If the
-     * external package won't get indexed for some reason then you can use this
-     * field to provide hover documentation for those external symbols.
-     * 
- * - * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; - */ - public Builder addExternalSymbols( - int index, org.scip_code.scip.SymbolInformation value) { - if (externalSymbolsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureExternalSymbolsIsMutable(); - externalSymbols_.add(index, value); - onChanged(); - } else { - externalSymbolsBuilder_.addMessage(index, value); - } - return this; - } - /** - *
-     * (optional) Symbols that are referenced from this index but are defined in
-     * an external package (a separate `Index` message). Leave this field empty
-     * if you assume the external package will get indexed separately. If the
-     * external package won't get indexed for some reason then you can use this
-     * field to provide hover documentation for those external symbols.
-     * 
- * - * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; - */ - public Builder addExternalSymbols( - org.scip_code.scip.SymbolInformation.Builder builderForValue) { - if (externalSymbolsBuilder_ == null) { - ensureExternalSymbolsIsMutable(); - externalSymbols_.add(builderForValue.build()); - onChanged(); - } else { - externalSymbolsBuilder_.addMessage(builderForValue.build()); - } - return this; - } - /** - *
-     * (optional) Symbols that are referenced from this index but are defined in
-     * an external package (a separate `Index` message). Leave this field empty
-     * if you assume the external package will get indexed separately. If the
-     * external package won't get indexed for some reason then you can use this
-     * field to provide hover documentation for those external symbols.
-     * 
- * - * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; - */ - public Builder addExternalSymbols( - int index, org.scip_code.scip.SymbolInformation.Builder builderForValue) { - if (externalSymbolsBuilder_ == null) { - ensureExternalSymbolsIsMutable(); - externalSymbols_.add(index, builderForValue.build()); - onChanged(); - } else { - externalSymbolsBuilder_.addMessage(index, builderForValue.build()); - } - return this; - } - /** - *
-     * (optional) Symbols that are referenced from this index but are defined in
-     * an external package (a separate `Index` message). Leave this field empty
-     * if you assume the external package will get indexed separately. If the
-     * external package won't get indexed for some reason then you can use this
-     * field to provide hover documentation for those external symbols.
-     * 
- * - * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; - */ - public Builder addAllExternalSymbols( - java.lang.Iterable values) { - if (externalSymbolsBuilder_ == null) { - ensureExternalSymbolsIsMutable(); - com.google.protobuf.AbstractMessageLite.Builder.addAll( - values, externalSymbols_); - onChanged(); - } else { - externalSymbolsBuilder_.addAllMessages(values); - } - return this; - } - /** - *
-     * (optional) Symbols that are referenced from this index but are defined in
-     * an external package (a separate `Index` message). Leave this field empty
-     * if you assume the external package will get indexed separately. If the
-     * external package won't get indexed for some reason then you can use this
-     * field to provide hover documentation for those external symbols.
-     * 
- * - * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; - */ - public Builder clearExternalSymbols() { - if (externalSymbolsBuilder_ == null) { - externalSymbols_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000004); - onChanged(); - } else { - externalSymbolsBuilder_.clear(); - } - return this; - } - /** - *
-     * (optional) Symbols that are referenced from this index but are defined in
-     * an external package (a separate `Index` message). Leave this field empty
-     * if you assume the external package will get indexed separately. If the
-     * external package won't get indexed for some reason then you can use this
-     * field to provide hover documentation for those external symbols.
-     * 
- * - * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; - */ - public Builder removeExternalSymbols(int index) { - if (externalSymbolsBuilder_ == null) { - ensureExternalSymbolsIsMutable(); - externalSymbols_.remove(index); - onChanged(); - } else { - externalSymbolsBuilder_.remove(index); - } - return this; - } - /** - *
-     * (optional) Symbols that are referenced from this index but are defined in
-     * an external package (a separate `Index` message). Leave this field empty
-     * if you assume the external package will get indexed separately. If the
-     * external package won't get indexed for some reason then you can use this
-     * field to provide hover documentation for those external symbols.
-     * 
- * - * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; - */ - public org.scip_code.scip.SymbolInformation.Builder getExternalSymbolsBuilder( - int index) { - return internalGetExternalSymbolsFieldBuilder().getBuilder(index); - } - /** - *
-     * (optional) Symbols that are referenced from this index but are defined in
-     * an external package (a separate `Index` message). Leave this field empty
-     * if you assume the external package will get indexed separately. If the
-     * external package won't get indexed for some reason then you can use this
-     * field to provide hover documentation for those external symbols.
-     * 
- * - * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; - */ - public org.scip_code.scip.SymbolInformationOrBuilder getExternalSymbolsOrBuilder( - int index) { - if (externalSymbolsBuilder_ == null) { - return externalSymbols_.get(index); } else { - return externalSymbolsBuilder_.getMessageOrBuilder(index); - } - } - /** - *
-     * (optional) Symbols that are referenced from this index but are defined in
-     * an external package (a separate `Index` message). Leave this field empty
-     * if you assume the external package will get indexed separately. If the
-     * external package won't get indexed for some reason then you can use this
-     * field to provide hover documentation for those external symbols.
-     * 
- * - * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; - */ - public java.util.List - getExternalSymbolsOrBuilderList() { - if (externalSymbolsBuilder_ != null) { - return externalSymbolsBuilder_.getMessageOrBuilderList(); - } else { - return java.util.Collections.unmodifiableList(externalSymbols_); - } - } - /** - *
-     * (optional) Symbols that are referenced from this index but are defined in
-     * an external package (a separate `Index` message). Leave this field empty
-     * if you assume the external package will get indexed separately. If the
-     * external package won't get indexed for some reason then you can use this
-     * field to provide hover documentation for those external symbols.
-     * 
- * - * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; - */ - public org.scip_code.scip.SymbolInformation.Builder addExternalSymbolsBuilder() { - return internalGetExternalSymbolsFieldBuilder().addBuilder( - org.scip_code.scip.SymbolInformation.getDefaultInstance()); - } - /** - *
-     * (optional) Symbols that are referenced from this index but are defined in
-     * an external package (a separate `Index` message). Leave this field empty
-     * if you assume the external package will get indexed separately. If the
-     * external package won't get indexed for some reason then you can use this
-     * field to provide hover documentation for those external symbols.
-     * 
- * - * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; - */ - public org.scip_code.scip.SymbolInformation.Builder addExternalSymbolsBuilder( - int index) { - return internalGetExternalSymbolsFieldBuilder().addBuilder( - index, org.scip_code.scip.SymbolInformation.getDefaultInstance()); - } - /** - *
-     * (optional) Symbols that are referenced from this index but are defined in
-     * an external package (a separate `Index` message). Leave this field empty
-     * if you assume the external package will get indexed separately. If the
-     * external package won't get indexed for some reason then you can use this
-     * field to provide hover documentation for those external symbols.
-     * 
- * - * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; - */ - public java.util.List - getExternalSymbolsBuilderList() { - return internalGetExternalSymbolsFieldBuilder().getBuilderList(); - } - private com.google.protobuf.RepeatedFieldBuilder< - org.scip_code.scip.SymbolInformation, org.scip_code.scip.SymbolInformation.Builder, org.scip_code.scip.SymbolInformationOrBuilder> - internalGetExternalSymbolsFieldBuilder() { - if (externalSymbolsBuilder_ == null) { - externalSymbolsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder< - org.scip_code.scip.SymbolInformation, org.scip_code.scip.SymbolInformation.Builder, org.scip_code.scip.SymbolInformationOrBuilder>( - externalSymbols_, - ((bitField0_ & 0x00000004) != 0), - getParentForChildren(), - isClean()); - externalSymbols_ = null; - } - return externalSymbolsBuilder_; - } - - // @@protoc_insertion_point(builder_scope:scip.Index) - } - - // @@protoc_insertion_point(class_scope:scip.Index) - private static final org.scip_code.scip.Index DEFAULT_INSTANCE; - static { - DEFAULT_INSTANCE = new org.scip_code.scip.Index(); - } - - public static org.scip_code.scip.Index getDefaultInstance() { - return DEFAULT_INSTANCE; - } - - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { - @java.lang.Override - public Index parsePartialFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - Builder builder = newBuilder(); - try { - builder.mergeFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.setUnfinishedMessage(builder.buildPartial()); - } catch (com.google.protobuf.UninitializedMessageException e) { - throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); - } catch (java.io.IOException e) { - throw new com.google.protobuf.InvalidProtocolBufferException(e) - .setUnfinishedMessage(builder.buildPartial()); - } - return builder.buildPartial(); - } - }; - - public static com.google.protobuf.Parser parser() { - return PARSER; - } - - @java.lang.Override - public com.google.protobuf.Parser getParserForType() { - return PARSER; - } - - @java.lang.Override - public org.scip_code.scip.Index getDefaultInstanceForType() { - return DEFAULT_INSTANCE; - } - -} - diff --git a/bindings/kotlin/src/main/java/org/scip_code/scip/IndexOrBuilder.java b/bindings/kotlin/src/main/java/org/scip_code/scip/IndexOrBuilder.java deleted file mode 100644 index 2d605ab1..00000000 --- a/bindings/kotlin/src/main/java/org/scip_code/scip/IndexOrBuilder.java +++ /dev/null @@ -1,147 +0,0 @@ -// Generated by the protocol buffer compiler. DO NOT EDIT! -// NO CHECKED-IN PROTOBUF GENCODE -// source: scip.proto -// Protobuf Java Version: 4.32.1 - -package org.scip_code.scip; - -@com.google.protobuf.Generated -public interface IndexOrBuilder extends - // @@protoc_insertion_point(interface_extends:scip.Index) - com.google.protobuf.MessageOrBuilder { - - /** - *
-   * Metadata about this index.
-   * 
- * - * .scip.Metadata metadata = 1 [json_name = "metadata"]; - * @return Whether the metadata field is set. - */ - boolean hasMetadata(); - /** - *
-   * Metadata about this index.
-   * 
- * - * .scip.Metadata metadata = 1 [json_name = "metadata"]; - * @return The metadata. - */ - org.scip_code.scip.Metadata getMetadata(); - /** - *
-   * Metadata about this index.
-   * 
- * - * .scip.Metadata metadata = 1 [json_name = "metadata"]; - */ - org.scip_code.scip.MetadataOrBuilder getMetadataOrBuilder(); - - /** - *
-   * Documents that belong to this index.
-   * 
- * - * repeated .scip.Document documents = 2 [json_name = "documents"]; - */ - java.util.List - getDocumentsList(); - /** - *
-   * Documents that belong to this index.
-   * 
- * - * repeated .scip.Document documents = 2 [json_name = "documents"]; - */ - org.scip_code.scip.Document getDocuments(int index); - /** - *
-   * Documents that belong to this index.
-   * 
- * - * repeated .scip.Document documents = 2 [json_name = "documents"]; - */ - int getDocumentsCount(); - /** - *
-   * Documents that belong to this index.
-   * 
- * - * repeated .scip.Document documents = 2 [json_name = "documents"]; - */ - java.util.List - getDocumentsOrBuilderList(); - /** - *
-   * Documents that belong to this index.
-   * 
- * - * repeated .scip.Document documents = 2 [json_name = "documents"]; - */ - org.scip_code.scip.DocumentOrBuilder getDocumentsOrBuilder( - int index); - - /** - *
-   * (optional) Symbols that are referenced from this index but are defined in
-   * an external package (a separate `Index` message). Leave this field empty
-   * if you assume the external package will get indexed separately. If the
-   * external package won't get indexed for some reason then you can use this
-   * field to provide hover documentation for those external symbols.
-   * 
- * - * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; - */ - java.util.List - getExternalSymbolsList(); - /** - *
-   * (optional) Symbols that are referenced from this index but are defined in
-   * an external package (a separate `Index` message). Leave this field empty
-   * if you assume the external package will get indexed separately. If the
-   * external package won't get indexed for some reason then you can use this
-   * field to provide hover documentation for those external symbols.
-   * 
- * - * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; - */ - org.scip_code.scip.SymbolInformation getExternalSymbols(int index); - /** - *
-   * (optional) Symbols that are referenced from this index but are defined in
-   * an external package (a separate `Index` message). Leave this field empty
-   * if you assume the external package will get indexed separately. If the
-   * external package won't get indexed for some reason then you can use this
-   * field to provide hover documentation for those external symbols.
-   * 
- * - * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; - */ - int getExternalSymbolsCount(); - /** - *
-   * (optional) Symbols that are referenced from this index but are defined in
-   * an external package (a separate `Index` message). Leave this field empty
-   * if you assume the external package will get indexed separately. If the
-   * external package won't get indexed for some reason then you can use this
-   * field to provide hover documentation for those external symbols.
-   * 
- * - * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; - */ - java.util.List - getExternalSymbolsOrBuilderList(); - /** - *
-   * (optional) Symbols that are referenced from this index but are defined in
-   * an external package (a separate `Index` message). Leave this field empty
-   * if you assume the external package will get indexed separately. If the
-   * external package won't get indexed for some reason then you can use this
-   * field to provide hover documentation for those external symbols.
-   * 
- * - * repeated .scip.SymbolInformation external_symbols = 3 [json_name = "externalSymbols"]; - */ - org.scip_code.scip.SymbolInformationOrBuilder getExternalSymbolsOrBuilder( - int index); -} diff --git a/bindings/kotlin/src/main/java/org/scip_code/scip/Language.java b/bindings/kotlin/src/main/java/org/scip_code/scip/Language.java deleted file mode 100644 index 3428ae46..00000000 --- a/bindings/kotlin/src/main/java/org/scip_code/scip/Language.java +++ /dev/null @@ -1,1158 +0,0 @@ -// Generated by the protocol buffer compiler. DO NOT EDIT! -// NO CHECKED-IN PROTOBUF GENCODE -// source: scip.proto -// Protobuf Java Version: 4.32.1 - -package org.scip_code.scip; - -/** - *
- * Language standardises names of common programming languages that can be used
- * for the `Document.language` field. The primary purpose of this enum is to
- * prevent a situation where we have a single programming language ends up with
- * multiple string representations. For example, the C++ language uses the name
- * "CPP" in this enum and other names such as "cpp" are incompatible.
- * Feel free to send a pull-request to add missing programming languages.
- * 
- * - * Protobuf enum {@code scip.Language} - */ -@com.google.protobuf.Generated -public enum Language - implements com.google.protobuf.ProtocolMessageEnum { - /** - * UnspecifiedLanguage = 0; - */ - UnspecifiedLanguage(0), - /** - * ABAP = 60; - */ - ABAP(60), - /** - * Apex = 96; - */ - Apex(96), - /** - * APL = 49; - */ - APL(49), - /** - * Ada = 39; - */ - Ada(39), - /** - * Agda = 45; - */ - Agda(45), - /** - * AsciiDoc = 86; - */ - AsciiDoc(86), - /** - * Assembly = 58; - */ - Assembly(58), - /** - * Awk = 66; - */ - Awk(66), - /** - * Bat = 68; - */ - Bat(68), - /** - * BibTeX = 81; - */ - BibTeX(81), - /** - * C = 34; - */ - C(34), - /** - * COBOL = 59; - */ - COBOL(59), - /** - *
-   * C++ (the name "CPP" was chosen for consistency with LSP)
-   * 
- * - * CPP = 35; - */ - CPP(35), - /** - * CSS = 26; - */ - CSS(26), - /** - * CSharp = 1; - */ - CSharp(1), - /** - * Clojure = 8; - */ - Clojure(8), - /** - * Coffeescript = 21; - */ - Coffeescript(21), - /** - * CommonLisp = 9; - */ - CommonLisp(9), - /** - * Coq = 47; - */ - Coq(47), - /** - * CUDA = 97; - */ - CUDA(97), - /** - * Dart = 3; - */ - Dart(3), - /** - * Delphi = 57; - */ - Delphi(57), - /** - * Diff = 88; - */ - Diff(88), - /** - * Dockerfile = 80; - */ - Dockerfile(80), - /** - * Dyalog = 50; - */ - Dyalog(50), - /** - * Elixir = 17; - */ - Elixir(17), - /** - * Erlang = 18; - */ - Erlang(18), - /** - * FSharp = 42; - */ - FSharp(42), - /** - * Fish = 65; - */ - Fish(65), - /** - * Flow = 24; - */ - Flow(24), - /** - * Fortran = 56; - */ - Fortran(56), - /** - * Git_Commit = 91; - */ - Git_Commit(91), - /** - * Git_Config = 89; - */ - Git_Config(89), - /** - * Git_Rebase = 92; - */ - Git_Rebase(92), - /** - * Go = 33; - */ - Go(33), - /** - * GraphQL = 98; - */ - GraphQL(98), - /** - * Groovy = 7; - */ - Groovy(7), - /** - * HTML = 30; - */ - HTML(30), - /** - * Hack = 20; - */ - Hack(20), - /** - * Handlebars = 90; - */ - Handlebars(90), - /** - * Haskell = 44; - */ - Haskell(44), - /** - * Idris = 46; - */ - Idris(46), - /** - * Ini = 72; - */ - Ini(72), - /** - * J = 51; - */ - J(51), - /** - * JSON = 75; - */ - JSON(75), - /** - * Java = 6; - */ - Java(6), - /** - * JavaScript = 22; - */ - JavaScript(22), - /** - * JavaScriptReact = 93; - */ - JavaScriptReact(93), - /** - * Jsonnet = 76; - */ - Jsonnet(76), - /** - * Julia = 55; - */ - Julia(55), - /** - * Justfile = 109; - */ - Justfile(109), - /** - * Kotlin = 4; - */ - Kotlin(4), - /** - * LaTeX = 83; - */ - LaTeX(83), - /** - * Lean = 48; - */ - Lean(48), - /** - * Less = 27; - */ - Less(27), - /** - * Lua = 12; - */ - Lua(12), - /** - * Luau = 108; - */ - Luau(108), - /** - * Makefile = 79; - */ - Makefile(79), - /** - * Markdown = 84; - */ - Markdown(84), - /** - * Matlab = 52; - */ - Matlab(52), - /** - *
-   * https://nickel-lang.org/
-   * 
- * - * Nickel = 110; - */ - Nickel(110), - /** - * Nix = 77; - */ - Nix(77), - /** - * OCaml = 41; - */ - OCaml(41), - /** - * Objective_C = 36; - */ - Objective_C(36), - /** - * Objective_CPP = 37; - */ - Objective_CPP(37), - /** - * Pascal = 99; - */ - Pascal(99), - /** - * PHP = 19; - */ - PHP(19), - /** - * PLSQL = 70; - */ - PLSQL(70), - /** - * Perl = 13; - */ - Perl(13), - /** - * PowerShell = 67; - */ - PowerShell(67), - /** - * Prolog = 71; - */ - Prolog(71), - /** - * Protobuf = 100; - */ - Protobuf(100), - /** - * Python = 15; - */ - Python(15), - /** - * R = 54; - */ - R(54), - /** - * Racket = 11; - */ - Racket(11), - /** - * Raku = 14; - */ - Raku(14), - /** - * Razor = 62; - */ - Razor(62), - /** - *
-   * Internal language for testing SCIP
-   * 
- * - * Repro = 102; - */ - Repro(102), - /** - * ReST = 85; - */ - ReST(85), - /** - * Ruby = 16; - */ - Ruby(16), - /** - * Rust = 40; - */ - Rust(40), - /** - * SAS = 61; - */ - SAS(61), - /** - * SCSS = 29; - */ - SCSS(29), - /** - * SML = 43; - */ - SML(43), - /** - * SQL = 69; - */ - SQL(69), - /** - * Sass = 28; - */ - Sass(28), - /** - * Scala = 5; - */ - Scala(5), - /** - * Scheme = 10; - */ - Scheme(10), - /** - *
-   * Bash
-   * 
- * - * ShellScript = 64; - */ - ShellScript(64), - /** - * Skylark = 78; - */ - Skylark(78), - /** - * Slang = 107; - */ - Slang(107), - /** - * Solidity = 95; - */ - Solidity(95), - /** - * Svelte = 106; - */ - Svelte(106), - /** - * Swift = 2; - */ - Swift(2), - /** - * Tcl = 101; - */ - Tcl(101), - /** - * TOML = 73; - */ - TOML(73), - /** - * TeX = 82; - */ - TeX(82), - /** - * Thrift = 103; - */ - Thrift(103), - /** - * TypeScript = 23; - */ - TypeScript(23), - /** - * TypeScriptReact = 94; - */ - TypeScriptReact(94), - /** - * Verilog = 104; - */ - Verilog(104), - /** - * VHDL = 105; - */ - VHDL(105), - /** - * VisualBasic = 63; - */ - VisualBasic(63), - /** - * Vue = 25; - */ - Vue(25), - /** - * Wolfram = 53; - */ - Wolfram(53), - /** - * XML = 31; - */ - XML(31), - /** - * XSL = 32; - */ - XSL(32), - /** - * YAML = 74; - */ - YAML(74), - /** - *
-   * NextLanguage = 111;
-   * Steps add a new language:
-   * 1. Copy-paste the "NextLanguage = N" line above
-   * 2. Increment "NextLanguage = N" to "NextLanguage = N+1"
-   * 3. Replace "NextLanguage = N" with the name of the new language.
-   * 4. Move the new language to the correct line above using alphabetical order
-   * 5. (optional) Add a brief comment behind the language if the name is not self-explanatory
-   * 
- * - * Zig = 38; - */ - Zig(38), - UNRECOGNIZED(-1), - ; - - static { - com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( - com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, - /* major= */ 4, - /* minor= */ 32, - /* patch= */ 1, - /* suffix= */ "", - Language.class.getName()); - } - /** - * UnspecifiedLanguage = 0; - */ - public static final int UnspecifiedLanguage_VALUE = 0; - /** - * ABAP = 60; - */ - public static final int ABAP_VALUE = 60; - /** - * Apex = 96; - */ - public static final int Apex_VALUE = 96; - /** - * APL = 49; - */ - public static final int APL_VALUE = 49; - /** - * Ada = 39; - */ - public static final int Ada_VALUE = 39; - /** - * Agda = 45; - */ - public static final int Agda_VALUE = 45; - /** - * AsciiDoc = 86; - */ - public static final int AsciiDoc_VALUE = 86; - /** - * Assembly = 58; - */ - public static final int Assembly_VALUE = 58; - /** - * Awk = 66; - */ - public static final int Awk_VALUE = 66; - /** - * Bat = 68; - */ - public static final int Bat_VALUE = 68; - /** - * BibTeX = 81; - */ - public static final int BibTeX_VALUE = 81; - /** - * C = 34; - */ - public static final int C_VALUE = 34; - /** - * COBOL = 59; - */ - public static final int COBOL_VALUE = 59; - /** - *
-   * C++ (the name "CPP" was chosen for consistency with LSP)
-   * 
- * - * CPP = 35; - */ - public static final int CPP_VALUE = 35; - /** - * CSS = 26; - */ - public static final int CSS_VALUE = 26; - /** - * CSharp = 1; - */ - public static final int CSharp_VALUE = 1; - /** - * Clojure = 8; - */ - public static final int Clojure_VALUE = 8; - /** - * Coffeescript = 21; - */ - public static final int Coffeescript_VALUE = 21; - /** - * CommonLisp = 9; - */ - public static final int CommonLisp_VALUE = 9; - /** - * Coq = 47; - */ - public static final int Coq_VALUE = 47; - /** - * CUDA = 97; - */ - public static final int CUDA_VALUE = 97; - /** - * Dart = 3; - */ - public static final int Dart_VALUE = 3; - /** - * Delphi = 57; - */ - public static final int Delphi_VALUE = 57; - /** - * Diff = 88; - */ - public static final int Diff_VALUE = 88; - /** - * Dockerfile = 80; - */ - public static final int Dockerfile_VALUE = 80; - /** - * Dyalog = 50; - */ - public static final int Dyalog_VALUE = 50; - /** - * Elixir = 17; - */ - public static final int Elixir_VALUE = 17; - /** - * Erlang = 18; - */ - public static final int Erlang_VALUE = 18; - /** - * FSharp = 42; - */ - public static final int FSharp_VALUE = 42; - /** - * Fish = 65; - */ - public static final int Fish_VALUE = 65; - /** - * Flow = 24; - */ - public static final int Flow_VALUE = 24; - /** - * Fortran = 56; - */ - public static final int Fortran_VALUE = 56; - /** - * Git_Commit = 91; - */ - public static final int Git_Commit_VALUE = 91; - /** - * Git_Config = 89; - */ - public static final int Git_Config_VALUE = 89; - /** - * Git_Rebase = 92; - */ - public static final int Git_Rebase_VALUE = 92; - /** - * Go = 33; - */ - public static final int Go_VALUE = 33; - /** - * GraphQL = 98; - */ - public static final int GraphQL_VALUE = 98; - /** - * Groovy = 7; - */ - public static final int Groovy_VALUE = 7; - /** - * HTML = 30; - */ - public static final int HTML_VALUE = 30; - /** - * Hack = 20; - */ - public static final int Hack_VALUE = 20; - /** - * Handlebars = 90; - */ - public static final int Handlebars_VALUE = 90; - /** - * Haskell = 44; - */ - public static final int Haskell_VALUE = 44; - /** - * Idris = 46; - */ - public static final int Idris_VALUE = 46; - /** - * Ini = 72; - */ - public static final int Ini_VALUE = 72; - /** - * J = 51; - */ - public static final int J_VALUE = 51; - /** - * JSON = 75; - */ - public static final int JSON_VALUE = 75; - /** - * Java = 6; - */ - public static final int Java_VALUE = 6; - /** - * JavaScript = 22; - */ - public static final int JavaScript_VALUE = 22; - /** - * JavaScriptReact = 93; - */ - public static final int JavaScriptReact_VALUE = 93; - /** - * Jsonnet = 76; - */ - public static final int Jsonnet_VALUE = 76; - /** - * Julia = 55; - */ - public static final int Julia_VALUE = 55; - /** - * Justfile = 109; - */ - public static final int Justfile_VALUE = 109; - /** - * Kotlin = 4; - */ - public static final int Kotlin_VALUE = 4; - /** - * LaTeX = 83; - */ - public static final int LaTeX_VALUE = 83; - /** - * Lean = 48; - */ - public static final int Lean_VALUE = 48; - /** - * Less = 27; - */ - public static final int Less_VALUE = 27; - /** - * Lua = 12; - */ - public static final int Lua_VALUE = 12; - /** - * Luau = 108; - */ - public static final int Luau_VALUE = 108; - /** - * Makefile = 79; - */ - public static final int Makefile_VALUE = 79; - /** - * Markdown = 84; - */ - public static final int Markdown_VALUE = 84; - /** - * Matlab = 52; - */ - public static final int Matlab_VALUE = 52; - /** - *
-   * https://nickel-lang.org/
-   * 
- * - * Nickel = 110; - */ - public static final int Nickel_VALUE = 110; - /** - * Nix = 77; - */ - public static final int Nix_VALUE = 77; - /** - * OCaml = 41; - */ - public static final int OCaml_VALUE = 41; - /** - * Objective_C = 36; - */ - public static final int Objective_C_VALUE = 36; - /** - * Objective_CPP = 37; - */ - public static final int Objective_CPP_VALUE = 37; - /** - * Pascal = 99; - */ - public static final int Pascal_VALUE = 99; - /** - * PHP = 19; - */ - public static final int PHP_VALUE = 19; - /** - * PLSQL = 70; - */ - public static final int PLSQL_VALUE = 70; - /** - * Perl = 13; - */ - public static final int Perl_VALUE = 13; - /** - * PowerShell = 67; - */ - public static final int PowerShell_VALUE = 67; - /** - * Prolog = 71; - */ - public static final int Prolog_VALUE = 71; - /** - * Protobuf = 100; - */ - public static final int Protobuf_VALUE = 100; - /** - * Python = 15; - */ - public static final int Python_VALUE = 15; - /** - * R = 54; - */ - public static final int R_VALUE = 54; - /** - * Racket = 11; - */ - public static final int Racket_VALUE = 11; - /** - * Raku = 14; - */ - public static final int Raku_VALUE = 14; - /** - * Razor = 62; - */ - public static final int Razor_VALUE = 62; - /** - *
-   * Internal language for testing SCIP
-   * 
- * - * Repro = 102; - */ - public static final int Repro_VALUE = 102; - /** - * ReST = 85; - */ - public static final int ReST_VALUE = 85; - /** - * Ruby = 16; - */ - public static final int Ruby_VALUE = 16; - /** - * Rust = 40; - */ - public static final int Rust_VALUE = 40; - /** - * SAS = 61; - */ - public static final int SAS_VALUE = 61; - /** - * SCSS = 29; - */ - public static final int SCSS_VALUE = 29; - /** - * SML = 43; - */ - public static final int SML_VALUE = 43; - /** - * SQL = 69; - */ - public static final int SQL_VALUE = 69; - /** - * Sass = 28; - */ - public static final int Sass_VALUE = 28; - /** - * Scala = 5; - */ - public static final int Scala_VALUE = 5; - /** - * Scheme = 10; - */ - public static final int Scheme_VALUE = 10; - /** - *
-   * Bash
-   * 
- * - * ShellScript = 64; - */ - public static final int ShellScript_VALUE = 64; - /** - * Skylark = 78; - */ - public static final int Skylark_VALUE = 78; - /** - * Slang = 107; - */ - public static final int Slang_VALUE = 107; - /** - * Solidity = 95; - */ - public static final int Solidity_VALUE = 95; - /** - * Svelte = 106; - */ - public static final int Svelte_VALUE = 106; - /** - * Swift = 2; - */ - public static final int Swift_VALUE = 2; - /** - * Tcl = 101; - */ - public static final int Tcl_VALUE = 101; - /** - * TOML = 73; - */ - public static final int TOML_VALUE = 73; - /** - * TeX = 82; - */ - public static final int TeX_VALUE = 82; - /** - * Thrift = 103; - */ - public static final int Thrift_VALUE = 103; - /** - * TypeScript = 23; - */ - public static final int TypeScript_VALUE = 23; - /** - * TypeScriptReact = 94; - */ - public static final int TypeScriptReact_VALUE = 94; - /** - * Verilog = 104; - */ - public static final int Verilog_VALUE = 104; - /** - * VHDL = 105; - */ - public static final int VHDL_VALUE = 105; - /** - * VisualBasic = 63; - */ - public static final int VisualBasic_VALUE = 63; - /** - * Vue = 25; - */ - public static final int Vue_VALUE = 25; - /** - * Wolfram = 53; - */ - public static final int Wolfram_VALUE = 53; - /** - * XML = 31; - */ - public static final int XML_VALUE = 31; - /** - * XSL = 32; - */ - public static final int XSL_VALUE = 32; - /** - * YAML = 74; - */ - public static final int YAML_VALUE = 74; - /** - *
-   * NextLanguage = 111;
-   * Steps add a new language:
-   * 1. Copy-paste the "NextLanguage = N" line above
-   * 2. Increment "NextLanguage = N" to "NextLanguage = N+1"
-   * 3. Replace "NextLanguage = N" with the name of the new language.
-   * 4. Move the new language to the correct line above using alphabetical order
-   * 5. (optional) Add a brief comment behind the language if the name is not self-explanatory
-   * 
- * - * Zig = 38; - */ - public static final int Zig_VALUE = 38; - - - 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 UnspecifiedLanguage; - case 60: return ABAP; - case 96: return Apex; - case 49: return APL; - case 39: return Ada; - case 45: return Agda; - case 86: return AsciiDoc; - case 58: return Assembly; - case 66: return Awk; - case 68: return Bat; - case 81: return BibTeX; - case 34: return C; - case 59: return COBOL; - case 35: return CPP; - case 26: return CSS; - case 1: return CSharp; - case 8: return Clojure; - case 21: return Coffeescript; - case 9: return CommonLisp; - case 47: return Coq; - case 97: return CUDA; - case 3: return Dart; - case 57: return Delphi; - case 88: return Diff; - case 80: return Dockerfile; - case 50: return Dyalog; - case 17: return Elixir; - case 18: return Erlang; - case 42: return FSharp; - case 65: return Fish; - case 24: return Flow; - case 56: return Fortran; - case 91: return Git_Commit; - case 89: return Git_Config; - case 92: return Git_Rebase; - case 33: return Go; - case 98: return GraphQL; - case 7: return Groovy; - case 30: return HTML; - case 20: return Hack; - case 90: return Handlebars; - case 44: return Haskell; - case 46: return Idris; - case 72: return Ini; - case 51: return J; - case 75: return JSON; - case 6: return Java; - case 22: return JavaScript; - case 93: return JavaScriptReact; - case 76: return Jsonnet; - case 55: return Julia; - case 109: return Justfile; - case 4: return Kotlin; - case 83: return LaTeX; - case 48: return Lean; - case 27: return Less; - case 12: return Lua; - case 108: return Luau; - case 79: return Makefile; - case 84: return Markdown; - case 52: return Matlab; - case 110: return Nickel; - case 77: return Nix; - case 41: return OCaml; - case 36: return Objective_C; - case 37: return Objective_CPP; - case 99: return Pascal; - case 19: return PHP; - case 70: return PLSQL; - case 13: return Perl; - case 67: return PowerShell; - case 71: return Prolog; - case 100: return Protobuf; - case 15: return Python; - case 54: return R; - case 11: return Racket; - case 14: return Raku; - case 62: return Razor; - case 102: return Repro; - case 85: return ReST; - case 16: return Ruby; - case 40: return Rust; - case 61: return SAS; - case 29: return SCSS; - case 43: return SML; - case 69: return SQL; - case 28: return Sass; - case 5: return Scala; - case 10: return Scheme; - case 64: return ShellScript; - case 78: return Skylark; - case 107: return Slang; - case 95: return Solidity; - case 106: return Svelte; - case 2: return Swift; - case 101: return Tcl; - case 73: return TOML; - case 82: return TeX; - case 103: return Thrift; - case 23: return TypeScript; - case 94: return TypeScriptReact; - case 104: return Verilog; - case 105: return VHDL; - case 63: return VisualBasic; - case 25: return Vue; - case 53: return Wolfram; - case 31: return XML; - case 32: return XSL; - case 74: return YAML; - case 38: return Zig; - 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 com.google.protobuf.Descriptors.EnumDescriptor - getDescriptor() { - return org.scip_code.scip.ScipProto.getDescriptor().getEnumTypes().get(7); - } - - 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:scip.Language) -} - diff --git a/bindings/kotlin/src/main/java/org/scip_code/scip/Metadata.java b/bindings/kotlin/src/main/java/org/scip_code/scip/Metadata.java deleted file mode 100644 index 496cbf16..00000000 --- a/bindings/kotlin/src/main/java/org/scip_code/scip/Metadata.java +++ /dev/null @@ -1,1039 +0,0 @@ -// Generated by the protocol buffer compiler. DO NOT EDIT! -// NO CHECKED-IN PROTOBUF GENCODE -// source: scip.proto -// Protobuf Java Version: 4.32.1 - -package org.scip_code.scip; - -/** - * Protobuf type {@code scip.Metadata} - */ -@com.google.protobuf.Generated -public final class Metadata extends - com.google.protobuf.GeneratedMessage implements - // @@protoc_insertion_point(message_implements:scip.Metadata) - MetadataOrBuilder { -private static final long serialVersionUID = 0L; - static { - com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( - com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, - /* major= */ 4, - /* minor= */ 32, - /* patch= */ 1, - /* suffix= */ "", - Metadata.class.getName()); - } - // Use Metadata.newBuilder() to construct. - private Metadata(com.google.protobuf.GeneratedMessage.Builder builder) { - super(builder); - } - private Metadata() { - version_ = 0; - projectRoot_ = ""; - textDocumentEncoding_ = 0; - } - - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return org.scip_code.scip.ScipProto.internal_static_scip_Metadata_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessage.FieldAccessorTable - internalGetFieldAccessorTable() { - return org.scip_code.scip.ScipProto.internal_static_scip_Metadata_fieldAccessorTable - .ensureFieldAccessorsInitialized( - org.scip_code.scip.Metadata.class, org.scip_code.scip.Metadata.Builder.class); - } - - private int bitField0_; - public static final int VERSION_FIELD_NUMBER = 1; - private int version_ = 0; - /** - *
-   * Which version of this protocol was used to generate this index?
-   * 
- * - * .scip.ProtocolVersion version = 1 [json_name = "version"]; - * @return The enum numeric value on the wire for version. - */ - @java.lang.Override public int getVersionValue() { - return version_; - } - /** - *
-   * Which version of this protocol was used to generate this index?
-   * 
- * - * .scip.ProtocolVersion version = 1 [json_name = "version"]; - * @return The version. - */ - @java.lang.Override public org.scip_code.scip.ProtocolVersion getVersion() { - org.scip_code.scip.ProtocolVersion result = org.scip_code.scip.ProtocolVersion.forNumber(version_); - return result == null ? org.scip_code.scip.ProtocolVersion.UNRECOGNIZED : result; - } - - public static final int TOOL_INFO_FIELD_NUMBER = 2; - private org.scip_code.scip.ToolInfo toolInfo_; - /** - *
-   * Information about the tool that produced this index.
-   * 
- * - * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; - * @return Whether the toolInfo field is set. - */ - @java.lang.Override - public boolean hasToolInfo() { - return ((bitField0_ & 0x00000001) != 0); - } - /** - *
-   * Information about the tool that produced this index.
-   * 
- * - * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; - * @return The toolInfo. - */ - @java.lang.Override - public org.scip_code.scip.ToolInfo getToolInfo() { - return toolInfo_ == null ? org.scip_code.scip.ToolInfo.getDefaultInstance() : toolInfo_; - } - /** - *
-   * Information about the tool that produced this index.
-   * 
- * - * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; - */ - @java.lang.Override - public org.scip_code.scip.ToolInfoOrBuilder getToolInfoOrBuilder() { - return toolInfo_ == null ? org.scip_code.scip.ToolInfo.getDefaultInstance() : toolInfo_; - } - - public static final int PROJECT_ROOT_FIELD_NUMBER = 3; - @SuppressWarnings("serial") - private volatile java.lang.Object projectRoot_ = ""; - /** - *
-   * URI-encoded absolute path to the root directory of this index. All
-   * documents in this index must appear in a subdirectory of this root
-   * directory.
-   * 
- * - * string project_root = 3 [json_name = "projectRoot"]; - * @return The projectRoot. - */ - @java.lang.Override - public java.lang.String getProjectRoot() { - java.lang.Object ref = projectRoot_; - 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(); - projectRoot_ = s; - return s; - } - } - /** - *
-   * URI-encoded absolute path to the root directory of this index. All
-   * documents in this index must appear in a subdirectory of this root
-   * directory.
-   * 
- * - * string project_root = 3 [json_name = "projectRoot"]; - * @return The bytes for projectRoot. - */ - @java.lang.Override - public com.google.protobuf.ByteString - getProjectRootBytes() { - java.lang.Object ref = projectRoot_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - projectRoot_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - - public static final int TEXT_DOCUMENT_ENCODING_FIELD_NUMBER = 4; - private int textDocumentEncoding_ = 0; - /** - *
-   * Text encoding of the source files on disk that are referenced from
-   * `Document.relative_path`. This value is unrelated to the `Document.text`
-   * field, which is a Protobuf string and hence must be UTF-8 encoded.
-   * 
- * - * .scip.TextEncoding text_document_encoding = 4 [json_name = "textDocumentEncoding"]; - * @return The enum numeric value on the wire for textDocumentEncoding. - */ - @java.lang.Override public int getTextDocumentEncodingValue() { - return textDocumentEncoding_; - } - /** - *
-   * Text encoding of the source files on disk that are referenced from
-   * `Document.relative_path`. This value is unrelated to the `Document.text`
-   * field, which is a Protobuf string and hence must be UTF-8 encoded.
-   * 
- * - * .scip.TextEncoding text_document_encoding = 4 [json_name = "textDocumentEncoding"]; - * @return The textDocumentEncoding. - */ - @java.lang.Override public org.scip_code.scip.TextEncoding getTextDocumentEncoding() { - org.scip_code.scip.TextEncoding result = org.scip_code.scip.TextEncoding.forNumber(textDocumentEncoding_); - return result == null ? org.scip_code.scip.TextEncoding.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 (version_ != org.scip_code.scip.ProtocolVersion.UnspecifiedProtocolVersion.getNumber()) { - output.writeEnum(1, version_); - } - if (((bitField0_ & 0x00000001) != 0)) { - output.writeMessage(2, getToolInfo()); - } - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(projectRoot_)) { - com.google.protobuf.GeneratedMessage.writeString(output, 3, projectRoot_); - } - if (textDocumentEncoding_ != org.scip_code.scip.TextEncoding.UnspecifiedTextEncoding.getNumber()) { - output.writeEnum(4, textDocumentEncoding_); - } - getUnknownFields().writeTo(output); - } - - @java.lang.Override - public int getSerializedSize() { - int size = memoizedSize; - if (size != -1) return size; - - size = 0; - if (version_ != org.scip_code.scip.ProtocolVersion.UnspecifiedProtocolVersion.getNumber()) { - size += com.google.protobuf.CodedOutputStream - .computeEnumSize(1, version_); - } - if (((bitField0_ & 0x00000001) != 0)) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(2, getToolInfo()); - } - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(projectRoot_)) { - size += com.google.protobuf.GeneratedMessage.computeStringSize(3, projectRoot_); - } - if (textDocumentEncoding_ != org.scip_code.scip.TextEncoding.UnspecifiedTextEncoding.getNumber()) { - size += com.google.protobuf.CodedOutputStream - .computeEnumSize(4, textDocumentEncoding_); - } - size += getUnknownFields().getSerializedSize(); - memoizedSize = size; - return size; - } - - @java.lang.Override - public boolean equals(final java.lang.Object obj) { - if (obj == this) { - return true; - } - if (!(obj instanceof org.scip_code.scip.Metadata)) { - return super.equals(obj); - } - org.scip_code.scip.Metadata other = (org.scip_code.scip.Metadata) obj; - - if (version_ != other.version_) return false; - if (hasToolInfo() != other.hasToolInfo()) return false; - if (hasToolInfo()) { - if (!getToolInfo() - .equals(other.getToolInfo())) return false; - } - if (!getProjectRoot() - .equals(other.getProjectRoot())) return false; - if (textDocumentEncoding_ != other.textDocumentEncoding_) return false; - if (!getUnknownFields().equals(other.getUnknownFields())) 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) + VERSION_FIELD_NUMBER; - hash = (53 * hash) + version_; - if (hasToolInfo()) { - hash = (37 * hash) + TOOL_INFO_FIELD_NUMBER; - hash = (53 * hash) + getToolInfo().hashCode(); - } - hash = (37 * hash) + PROJECT_ROOT_FIELD_NUMBER; - hash = (53 * hash) + getProjectRoot().hashCode(); - hash = (37 * hash) + TEXT_DOCUMENT_ENCODING_FIELD_NUMBER; - hash = (53 * hash) + textDocumentEncoding_; - hash = (29 * hash) + getUnknownFields().hashCode(); - memoizedHashCode = hash; - return hash; - } - - public static org.scip_code.scip.Metadata parseFrom( - java.nio.ByteBuffer data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static org.scip_code.scip.Metadata parseFrom( - java.nio.ByteBuffer data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static org.scip_code.scip.Metadata parseFrom( - com.google.protobuf.ByteString data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static org.scip_code.scip.Metadata parseFrom( - com.google.protobuf.ByteString data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static org.scip_code.scip.Metadata parseFrom(byte[] data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static org.scip_code.scip.Metadata parseFrom( - byte[] data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static org.scip_code.scip.Metadata parseFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input); - } - public static org.scip_code.scip.Metadata parseFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input, extensionRegistry); - } - - public static org.scip_code.scip.Metadata parseDelimitedFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseDelimitedWithIOException(PARSER, input); - } - - public static org.scip_code.scip.Metadata parseDelimitedFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseDelimitedWithIOException(PARSER, input, extensionRegistry); - } - public static org.scip_code.scip.Metadata parseFrom( - com.google.protobuf.CodedInputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input); - } - public static org.scip_code.scip.Metadata parseFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input, extensionRegistry); - } - - @java.lang.Override - public Builder newBuilderForType() { return newBuilder(); } - public static Builder newBuilder() { - return DEFAULT_INSTANCE.toBuilder(); - } - public static Builder newBuilder(org.scip_code.scip.Metadata 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.GeneratedMessage.BuilderParent parent) { - Builder builder = new Builder(parent); - return builder; - } - /** - * Protobuf type {@code scip.Metadata} - */ - public static final class Builder extends - com.google.protobuf.GeneratedMessage.Builder implements - // @@protoc_insertion_point(builder_implements:scip.Metadata) - org.scip_code.scip.MetadataOrBuilder { - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return org.scip_code.scip.ScipProto.internal_static_scip_Metadata_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessage.FieldAccessorTable - internalGetFieldAccessorTable() { - return org.scip_code.scip.ScipProto.internal_static_scip_Metadata_fieldAccessorTable - .ensureFieldAccessorsInitialized( - org.scip_code.scip.Metadata.class, org.scip_code.scip.Metadata.Builder.class); - } - - // Construct using org.scip_code.scip.Metadata.newBuilder() - private Builder() { - maybeForceBuilderInitialization(); - } - - private Builder( - com.google.protobuf.GeneratedMessage.BuilderParent parent) { - super(parent); - maybeForceBuilderInitialization(); - } - private void maybeForceBuilderInitialization() { - if (com.google.protobuf.GeneratedMessage - .alwaysUseFieldBuilders) { - internalGetToolInfoFieldBuilder(); - } - } - @java.lang.Override - public Builder clear() { - super.clear(); - bitField0_ = 0; - version_ = 0; - toolInfo_ = null; - if (toolInfoBuilder_ != null) { - toolInfoBuilder_.dispose(); - toolInfoBuilder_ = null; - } - projectRoot_ = ""; - textDocumentEncoding_ = 0; - return this; - } - - @java.lang.Override - public com.google.protobuf.Descriptors.Descriptor - getDescriptorForType() { - return org.scip_code.scip.ScipProto.internal_static_scip_Metadata_descriptor; - } - - @java.lang.Override - public org.scip_code.scip.Metadata getDefaultInstanceForType() { - return org.scip_code.scip.Metadata.getDefaultInstance(); - } - - @java.lang.Override - public org.scip_code.scip.Metadata build() { - org.scip_code.scip.Metadata result = buildPartial(); - if (!result.isInitialized()) { - throw newUninitializedMessageException(result); - } - return result; - } - - @java.lang.Override - public org.scip_code.scip.Metadata buildPartial() { - org.scip_code.scip.Metadata result = new org.scip_code.scip.Metadata(this); - if (bitField0_ != 0) { buildPartial0(result); } - onBuilt(); - return result; - } - - private void buildPartial0(org.scip_code.scip.Metadata result) { - int from_bitField0_ = bitField0_; - if (((from_bitField0_ & 0x00000001) != 0)) { - result.version_ = version_; - } - int to_bitField0_ = 0; - if (((from_bitField0_ & 0x00000002) != 0)) { - result.toolInfo_ = toolInfoBuilder_ == null - ? toolInfo_ - : toolInfoBuilder_.build(); - to_bitField0_ |= 0x00000001; - } - if (((from_bitField0_ & 0x00000004) != 0)) { - result.projectRoot_ = projectRoot_; - } - if (((from_bitField0_ & 0x00000008) != 0)) { - result.textDocumentEncoding_ = textDocumentEncoding_; - } - result.bitField0_ |= to_bitField0_; - } - - @java.lang.Override - public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof org.scip_code.scip.Metadata) { - return mergeFrom((org.scip_code.scip.Metadata)other); - } else { - super.mergeFrom(other); - return this; - } - } - - public Builder mergeFrom(org.scip_code.scip.Metadata other) { - if (other == org.scip_code.scip.Metadata.getDefaultInstance()) return this; - if (other.version_ != 0) { - setVersionValue(other.getVersionValue()); - } - if (other.hasToolInfo()) { - mergeToolInfo(other.getToolInfo()); - } - if (!other.getProjectRoot().isEmpty()) { - projectRoot_ = other.projectRoot_; - bitField0_ |= 0x00000004; - onChanged(); - } - if (other.textDocumentEncoding_ != 0) { - setTextDocumentEncodingValue(other.getTextDocumentEncodingValue()); - } - this.mergeUnknownFields(other.getUnknownFields()); - 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 { - if (extensionRegistry == null) { - throw new java.lang.NullPointerException(); - } - try { - boolean done = false; - while (!done) { - int tag = input.readTag(); - switch (tag) { - case 0: - done = true; - break; - case 8: { - version_ = input.readEnum(); - bitField0_ |= 0x00000001; - break; - } // case 8 - case 18: { - input.readMessage( - internalGetToolInfoFieldBuilder().getBuilder(), - extensionRegistry); - bitField0_ |= 0x00000002; - break; - } // case 18 - case 26: { - projectRoot_ = input.readStringRequireUtf8(); - bitField0_ |= 0x00000004; - break; - } // case 26 - case 32: { - textDocumentEncoding_ = input.readEnum(); - bitField0_ |= 0x00000008; - break; - } // case 32 - default: { - if (!super.parseUnknownField(input, extensionRegistry, tag)) { - done = true; // was an endgroup tag - } - break; - } // default: - } // switch (tag) - } // while (!done) - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.unwrapIOException(); - } finally { - onChanged(); - } // finally - return this; - } - private int bitField0_; - - private int version_ = 0; - /** - *
-     * Which version of this protocol was used to generate this index?
-     * 
- * - * .scip.ProtocolVersion version = 1 [json_name = "version"]; - * @return The enum numeric value on the wire for version. - */ - @java.lang.Override public int getVersionValue() { - return version_; - } - /** - *
-     * Which version of this protocol was used to generate this index?
-     * 
- * - * .scip.ProtocolVersion version = 1 [json_name = "version"]; - * @param value The enum numeric value on the wire for version to set. - * @return This builder for chaining. - */ - public Builder setVersionValue(int value) { - version_ = value; - bitField0_ |= 0x00000001; - onChanged(); - return this; - } - /** - *
-     * Which version of this protocol was used to generate this index?
-     * 
- * - * .scip.ProtocolVersion version = 1 [json_name = "version"]; - * @return The version. - */ - @java.lang.Override - public org.scip_code.scip.ProtocolVersion getVersion() { - org.scip_code.scip.ProtocolVersion result = org.scip_code.scip.ProtocolVersion.forNumber(version_); - return result == null ? org.scip_code.scip.ProtocolVersion.UNRECOGNIZED : result; - } - /** - *
-     * Which version of this protocol was used to generate this index?
-     * 
- * - * .scip.ProtocolVersion version = 1 [json_name = "version"]; - * @param value The version to set. - * @return This builder for chaining. - */ - public Builder setVersion(org.scip_code.scip.ProtocolVersion value) { - if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000001; - version_ = value.getNumber(); - onChanged(); - return this; - } - /** - *
-     * Which version of this protocol was used to generate this index?
-     * 
- * - * .scip.ProtocolVersion version = 1 [json_name = "version"]; - * @return This builder for chaining. - */ - public Builder clearVersion() { - bitField0_ = (bitField0_ & ~0x00000001); - version_ = 0; - onChanged(); - return this; - } - - private org.scip_code.scip.ToolInfo toolInfo_; - private com.google.protobuf.SingleFieldBuilder< - org.scip_code.scip.ToolInfo, org.scip_code.scip.ToolInfo.Builder, org.scip_code.scip.ToolInfoOrBuilder> toolInfoBuilder_; - /** - *
-     * Information about the tool that produced this index.
-     * 
- * - * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; - * @return Whether the toolInfo field is set. - */ - public boolean hasToolInfo() { - return ((bitField0_ & 0x00000002) != 0); - } - /** - *
-     * Information about the tool that produced this index.
-     * 
- * - * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; - * @return The toolInfo. - */ - public org.scip_code.scip.ToolInfo getToolInfo() { - if (toolInfoBuilder_ == null) { - return toolInfo_ == null ? org.scip_code.scip.ToolInfo.getDefaultInstance() : toolInfo_; - } else { - return toolInfoBuilder_.getMessage(); - } - } - /** - *
-     * Information about the tool that produced this index.
-     * 
- * - * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; - */ - public Builder setToolInfo(org.scip_code.scip.ToolInfo value) { - if (toolInfoBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - toolInfo_ = value; - } else { - toolInfoBuilder_.setMessage(value); - } - bitField0_ |= 0x00000002; - onChanged(); - return this; - } - /** - *
-     * Information about the tool that produced this index.
-     * 
- * - * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; - */ - public Builder setToolInfo( - org.scip_code.scip.ToolInfo.Builder builderForValue) { - if (toolInfoBuilder_ == null) { - toolInfo_ = builderForValue.build(); - } else { - toolInfoBuilder_.setMessage(builderForValue.build()); - } - bitField0_ |= 0x00000002; - onChanged(); - return this; - } - /** - *
-     * Information about the tool that produced this index.
-     * 
- * - * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; - */ - public Builder mergeToolInfo(org.scip_code.scip.ToolInfo value) { - if (toolInfoBuilder_ == null) { - if (((bitField0_ & 0x00000002) != 0) && - toolInfo_ != null && - toolInfo_ != org.scip_code.scip.ToolInfo.getDefaultInstance()) { - getToolInfoBuilder().mergeFrom(value); - } else { - toolInfo_ = value; - } - } else { - toolInfoBuilder_.mergeFrom(value); - } - if (toolInfo_ != null) { - bitField0_ |= 0x00000002; - onChanged(); - } - return this; - } - /** - *
-     * Information about the tool that produced this index.
-     * 
- * - * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; - */ - public Builder clearToolInfo() { - bitField0_ = (bitField0_ & ~0x00000002); - toolInfo_ = null; - if (toolInfoBuilder_ != null) { - toolInfoBuilder_.dispose(); - toolInfoBuilder_ = null; - } - onChanged(); - return this; - } - /** - *
-     * Information about the tool that produced this index.
-     * 
- * - * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; - */ - public org.scip_code.scip.ToolInfo.Builder getToolInfoBuilder() { - bitField0_ |= 0x00000002; - onChanged(); - return internalGetToolInfoFieldBuilder().getBuilder(); - } - /** - *
-     * Information about the tool that produced this index.
-     * 
- * - * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; - */ - public org.scip_code.scip.ToolInfoOrBuilder getToolInfoOrBuilder() { - if (toolInfoBuilder_ != null) { - return toolInfoBuilder_.getMessageOrBuilder(); - } else { - return toolInfo_ == null ? - org.scip_code.scip.ToolInfo.getDefaultInstance() : toolInfo_; - } - } - /** - *
-     * Information about the tool that produced this index.
-     * 
- * - * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; - */ - private com.google.protobuf.SingleFieldBuilder< - org.scip_code.scip.ToolInfo, org.scip_code.scip.ToolInfo.Builder, org.scip_code.scip.ToolInfoOrBuilder> - internalGetToolInfoFieldBuilder() { - if (toolInfoBuilder_ == null) { - toolInfoBuilder_ = new com.google.protobuf.SingleFieldBuilder< - org.scip_code.scip.ToolInfo, org.scip_code.scip.ToolInfo.Builder, org.scip_code.scip.ToolInfoOrBuilder>( - getToolInfo(), - getParentForChildren(), - isClean()); - toolInfo_ = null; - } - return toolInfoBuilder_; - } - - private java.lang.Object projectRoot_ = ""; - /** - *
-     * URI-encoded absolute path to the root directory of this index. All
-     * documents in this index must appear in a subdirectory of this root
-     * directory.
-     * 
- * - * string project_root = 3 [json_name = "projectRoot"]; - * @return The projectRoot. - */ - public java.lang.String getProjectRoot() { - java.lang.Object ref = projectRoot_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - projectRoot_ = s; - return s; - } else { - return (java.lang.String) ref; - } - } - /** - *
-     * URI-encoded absolute path to the root directory of this index. All
-     * documents in this index must appear in a subdirectory of this root
-     * directory.
-     * 
- * - * string project_root = 3 [json_name = "projectRoot"]; - * @return The bytes for projectRoot. - */ - public com.google.protobuf.ByteString - getProjectRootBytes() { - java.lang.Object ref = projectRoot_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - projectRoot_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - /** - *
-     * URI-encoded absolute path to the root directory of this index. All
-     * documents in this index must appear in a subdirectory of this root
-     * directory.
-     * 
- * - * string project_root = 3 [json_name = "projectRoot"]; - * @param value The projectRoot to set. - * @return This builder for chaining. - */ - public Builder setProjectRoot( - java.lang.String value) { - if (value == null) { throw new NullPointerException(); } - projectRoot_ = value; - bitField0_ |= 0x00000004; - onChanged(); - return this; - } - /** - *
-     * URI-encoded absolute path to the root directory of this index. All
-     * documents in this index must appear in a subdirectory of this root
-     * directory.
-     * 
- * - * string project_root = 3 [json_name = "projectRoot"]; - * @return This builder for chaining. - */ - public Builder clearProjectRoot() { - projectRoot_ = getDefaultInstance().getProjectRoot(); - bitField0_ = (bitField0_ & ~0x00000004); - onChanged(); - return this; - } - /** - *
-     * URI-encoded absolute path to the root directory of this index. All
-     * documents in this index must appear in a subdirectory of this root
-     * directory.
-     * 
- * - * string project_root = 3 [json_name = "projectRoot"]; - * @param value The bytes for projectRoot to set. - * @return This builder for chaining. - */ - public Builder setProjectRootBytes( - com.google.protobuf.ByteString value) { - if (value == null) { throw new NullPointerException(); } - checkByteStringIsUtf8(value); - projectRoot_ = value; - bitField0_ |= 0x00000004; - onChanged(); - return this; - } - - private int textDocumentEncoding_ = 0; - /** - *
-     * Text encoding of the source files on disk that are referenced from
-     * `Document.relative_path`. This value is unrelated to the `Document.text`
-     * field, which is a Protobuf string and hence must be UTF-8 encoded.
-     * 
- * - * .scip.TextEncoding text_document_encoding = 4 [json_name = "textDocumentEncoding"]; - * @return The enum numeric value on the wire for textDocumentEncoding. - */ - @java.lang.Override public int getTextDocumentEncodingValue() { - return textDocumentEncoding_; - } - /** - *
-     * Text encoding of the source files on disk that are referenced from
-     * `Document.relative_path`. This value is unrelated to the `Document.text`
-     * field, which is a Protobuf string and hence must be UTF-8 encoded.
-     * 
- * - * .scip.TextEncoding text_document_encoding = 4 [json_name = "textDocumentEncoding"]; - * @param value The enum numeric value on the wire for textDocumentEncoding to set. - * @return This builder for chaining. - */ - public Builder setTextDocumentEncodingValue(int value) { - textDocumentEncoding_ = value; - bitField0_ |= 0x00000008; - onChanged(); - return this; - } - /** - *
-     * Text encoding of the source files on disk that are referenced from
-     * `Document.relative_path`. This value is unrelated to the `Document.text`
-     * field, which is a Protobuf string and hence must be UTF-8 encoded.
-     * 
- * - * .scip.TextEncoding text_document_encoding = 4 [json_name = "textDocumentEncoding"]; - * @return The textDocumentEncoding. - */ - @java.lang.Override - public org.scip_code.scip.TextEncoding getTextDocumentEncoding() { - org.scip_code.scip.TextEncoding result = org.scip_code.scip.TextEncoding.forNumber(textDocumentEncoding_); - return result == null ? org.scip_code.scip.TextEncoding.UNRECOGNIZED : result; - } - /** - *
-     * Text encoding of the source files on disk that are referenced from
-     * `Document.relative_path`. This value is unrelated to the `Document.text`
-     * field, which is a Protobuf string and hence must be UTF-8 encoded.
-     * 
- * - * .scip.TextEncoding text_document_encoding = 4 [json_name = "textDocumentEncoding"]; - * @param value The textDocumentEncoding to set. - * @return This builder for chaining. - */ - public Builder setTextDocumentEncoding(org.scip_code.scip.TextEncoding value) { - if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000008; - textDocumentEncoding_ = value.getNumber(); - onChanged(); - return this; - } - /** - *
-     * Text encoding of the source files on disk that are referenced from
-     * `Document.relative_path`. This value is unrelated to the `Document.text`
-     * field, which is a Protobuf string and hence must be UTF-8 encoded.
-     * 
- * - * .scip.TextEncoding text_document_encoding = 4 [json_name = "textDocumentEncoding"]; - * @return This builder for chaining. - */ - public Builder clearTextDocumentEncoding() { - bitField0_ = (bitField0_ & ~0x00000008); - textDocumentEncoding_ = 0; - onChanged(); - return this; - } - - // @@protoc_insertion_point(builder_scope:scip.Metadata) - } - - // @@protoc_insertion_point(class_scope:scip.Metadata) - private static final org.scip_code.scip.Metadata DEFAULT_INSTANCE; - static { - DEFAULT_INSTANCE = new org.scip_code.scip.Metadata(); - } - - public static org.scip_code.scip.Metadata getDefaultInstance() { - return DEFAULT_INSTANCE; - } - - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { - @java.lang.Override - public Metadata parsePartialFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - Builder builder = newBuilder(); - try { - builder.mergeFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.setUnfinishedMessage(builder.buildPartial()); - } catch (com.google.protobuf.UninitializedMessageException e) { - throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); - } catch (java.io.IOException e) { - throw new com.google.protobuf.InvalidProtocolBufferException(e) - .setUnfinishedMessage(builder.buildPartial()); - } - return builder.buildPartial(); - } - }; - - public static com.google.protobuf.Parser parser() { - return PARSER; - } - - @java.lang.Override - public com.google.protobuf.Parser getParserForType() { - return PARSER; - } - - @java.lang.Override - public org.scip_code.scip.Metadata getDefaultInstanceForType() { - return DEFAULT_INSTANCE; - } - -} - diff --git a/bindings/kotlin/src/main/java/org/scip_code/scip/MetadataOrBuilder.java b/bindings/kotlin/src/main/java/org/scip_code/scip/MetadataOrBuilder.java deleted file mode 100644 index 83212b96..00000000 --- a/bindings/kotlin/src/main/java/org/scip_code/scip/MetadataOrBuilder.java +++ /dev/null @@ -1,105 +0,0 @@ -// Generated by the protocol buffer compiler. DO NOT EDIT! -// NO CHECKED-IN PROTOBUF GENCODE -// source: scip.proto -// Protobuf Java Version: 4.32.1 - -package org.scip_code.scip; - -@com.google.protobuf.Generated -public interface MetadataOrBuilder extends - // @@protoc_insertion_point(interface_extends:scip.Metadata) - com.google.protobuf.MessageOrBuilder { - - /** - *
-   * Which version of this protocol was used to generate this index?
-   * 
- * - * .scip.ProtocolVersion version = 1 [json_name = "version"]; - * @return The enum numeric value on the wire for version. - */ - int getVersionValue(); - /** - *
-   * Which version of this protocol was used to generate this index?
-   * 
- * - * .scip.ProtocolVersion version = 1 [json_name = "version"]; - * @return The version. - */ - org.scip_code.scip.ProtocolVersion getVersion(); - - /** - *
-   * Information about the tool that produced this index.
-   * 
- * - * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; - * @return Whether the toolInfo field is set. - */ - boolean hasToolInfo(); - /** - *
-   * Information about the tool that produced this index.
-   * 
- * - * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; - * @return The toolInfo. - */ - org.scip_code.scip.ToolInfo getToolInfo(); - /** - *
-   * Information about the tool that produced this index.
-   * 
- * - * .scip.ToolInfo tool_info = 2 [json_name = "toolInfo"]; - */ - org.scip_code.scip.ToolInfoOrBuilder getToolInfoOrBuilder(); - - /** - *
-   * URI-encoded absolute path to the root directory of this index. All
-   * documents in this index must appear in a subdirectory of this root
-   * directory.
-   * 
- * - * string project_root = 3 [json_name = "projectRoot"]; - * @return The projectRoot. - */ - java.lang.String getProjectRoot(); - /** - *
-   * URI-encoded absolute path to the root directory of this index. All
-   * documents in this index must appear in a subdirectory of this root
-   * directory.
-   * 
- * - * string project_root = 3 [json_name = "projectRoot"]; - * @return The bytes for projectRoot. - */ - com.google.protobuf.ByteString - getProjectRootBytes(); - - /** - *
-   * Text encoding of the source files on disk that are referenced from
-   * `Document.relative_path`. This value is unrelated to the `Document.text`
-   * field, which is a Protobuf string and hence must be UTF-8 encoded.
-   * 
- * - * .scip.TextEncoding text_document_encoding = 4 [json_name = "textDocumentEncoding"]; - * @return The enum numeric value on the wire for textDocumentEncoding. - */ - int getTextDocumentEncodingValue(); - /** - *
-   * Text encoding of the source files on disk that are referenced from
-   * `Document.relative_path`. This value is unrelated to the `Document.text`
-   * field, which is a Protobuf string and hence must be UTF-8 encoded.
-   * 
- * - * .scip.TextEncoding text_document_encoding = 4 [json_name = "textDocumentEncoding"]; - * @return The textDocumentEncoding. - */ - org.scip_code.scip.TextEncoding getTextDocumentEncoding(); -} diff --git a/bindings/kotlin/src/main/java/org/scip_code/scip/Occurrence.java b/bindings/kotlin/src/main/java/org/scip_code/scip/Occurrence.java deleted file mode 100644 index c80833f4..00000000 --- a/bindings/kotlin/src/main/java/org/scip_code/scip/Occurrence.java +++ /dev/null @@ -1,2696 +0,0 @@ -// Generated by the protocol buffer compiler. DO NOT EDIT! -// NO CHECKED-IN PROTOBUF GENCODE -// source: scip.proto -// Protobuf Java Version: 4.32.1 - -package org.scip_code.scip; - -/** - *
- * Occurrence associates a source position with a symbol and/or highlighting
- * information.
- *
- * If possible, indexers should try to bundle logically related information
- * across occurrences into a single occurrence to reduce payload sizes.
- * 
- * - * Protobuf type {@code scip.Occurrence} - */ -@com.google.protobuf.Generated -public final class Occurrence extends - com.google.protobuf.GeneratedMessage implements - // @@protoc_insertion_point(message_implements:scip.Occurrence) - OccurrenceOrBuilder { -private static final long serialVersionUID = 0L; - static { - com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( - com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, - /* major= */ 4, - /* minor= */ 32, - /* patch= */ 1, - /* suffix= */ "", - Occurrence.class.getName()); - } - // Use Occurrence.newBuilder() to construct. - private Occurrence(com.google.protobuf.GeneratedMessage.Builder builder) { - super(builder); - } - private Occurrence() { - range_ = emptyIntList(); - symbol_ = ""; - overrideDocumentation_ = - com.google.protobuf.LazyStringArrayList.emptyList(); - syntaxKind_ = 0; - diagnostics_ = java.util.Collections.emptyList(); - enclosingRange_ = emptyIntList(); - } - - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return org.scip_code.scip.ScipProto.internal_static_scip_Occurrence_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessage.FieldAccessorTable - internalGetFieldAccessorTable() { - return org.scip_code.scip.ScipProto.internal_static_scip_Occurrence_fieldAccessorTable - .ensureFieldAccessorsInitialized( - org.scip_code.scip.Occurrence.class, org.scip_code.scip.Occurrence.Builder.class); - } - - public static final int RANGE_FIELD_NUMBER = 1; - @SuppressWarnings("serial") - private com.google.protobuf.Internal.IntList range_ = - emptyIntList(); - /** - *
-   * Half-open [start, end) range of this occurrence. Must be exactly three or four
-   * elements:
-   *
-   * - Four elements: `[startLine, startCharacter, endLine, endCharacter]`
-   * - Three elements: `[startLine, startCharacter, endCharacter]`. The end line
-   * is inferred to have the same value as the start line.
-   *
-   * It is allowed for the range to be empty (i.e. start==end).
-   *
-   * Line numbers and characters are always 0-based. Make sure to increment the
-   * line/character values before displaying them in an editor-like UI because
-   * editors conventionally use 1-based numbers.
-   *
-   * The 'character' value is interpreted based on the PositionEncoding for
-   * the Document.
-   *
-   * Historical note: the original draft of this schema had a `Range` message
-   * type with `start` and `end` fields of type `Position`, mirroring LSP.
-   * Benchmarks revealed that this encoding was inefficient and that we could
-   * reduce the total payload size of an index by 50% by using `repeated int32`
-   * instead. The `repeated int32` encoding is admittedly more embarrassing to
-   * work with in some programming languages but we hope the performance
-   * improvements make up for it.
-   * 
- * - * repeated int32 range = 1 [json_name = "range"]; - * @return A list containing the range. - */ - @java.lang.Override - public java.util.List - getRangeList() { - return range_; - } - /** - *
-   * Half-open [start, end) range of this occurrence. Must be exactly three or four
-   * elements:
-   *
-   * - Four elements: `[startLine, startCharacter, endLine, endCharacter]`
-   * - Three elements: `[startLine, startCharacter, endCharacter]`. The end line
-   * is inferred to have the same value as the start line.
-   *
-   * It is allowed for the range to be empty (i.e. start==end).
-   *
-   * Line numbers and characters are always 0-based. Make sure to increment the
-   * line/character values before displaying them in an editor-like UI because
-   * editors conventionally use 1-based numbers.
-   *
-   * The 'character' value is interpreted based on the PositionEncoding for
-   * the Document.
-   *
-   * Historical note: the original draft of this schema had a `Range` message
-   * type with `start` and `end` fields of type `Position`, mirroring LSP.
-   * Benchmarks revealed that this encoding was inefficient and that we could
-   * reduce the total payload size of an index by 50% by using `repeated int32`
-   * instead. The `repeated int32` encoding is admittedly more embarrassing to
-   * work with in some programming languages but we hope the performance
-   * improvements make up for it.
-   * 
- * - * repeated int32 range = 1 [json_name = "range"]; - * @return The count of range. - */ - public int getRangeCount() { - return range_.size(); - } - /** - *
-   * Half-open [start, end) range of this occurrence. Must be exactly three or four
-   * elements:
-   *
-   * - Four elements: `[startLine, startCharacter, endLine, endCharacter]`
-   * - Three elements: `[startLine, startCharacter, endCharacter]`. The end line
-   * is inferred to have the same value as the start line.
-   *
-   * It is allowed for the range to be empty (i.e. start==end).
-   *
-   * Line numbers and characters are always 0-based. Make sure to increment the
-   * line/character values before displaying them in an editor-like UI because
-   * editors conventionally use 1-based numbers.
-   *
-   * The 'character' value is interpreted based on the PositionEncoding for
-   * the Document.
-   *
-   * Historical note: the original draft of this schema had a `Range` message
-   * type with `start` and `end` fields of type `Position`, mirroring LSP.
-   * Benchmarks revealed that this encoding was inefficient and that we could
-   * reduce the total payload size of an index by 50% by using `repeated int32`
-   * instead. The `repeated int32` encoding is admittedly more embarrassing to
-   * work with in some programming languages but we hope the performance
-   * improvements make up for it.
-   * 
- * - * repeated int32 range = 1 [json_name = "range"]; - * @param index The index of the element to return. - * @return The range at the given index. - */ - public int getRange(int index) { - return range_.getInt(index); - } - private int rangeMemoizedSerializedSize = -1; - - public static final int SYMBOL_FIELD_NUMBER = 2; - @SuppressWarnings("serial") - private volatile java.lang.Object symbol_ = ""; - /** - *
-   * (optional) The symbol that appears at this position. See
-   * `SymbolInformation.symbol` for how to format symbols as strings.
-   * 
- * - * string symbol = 2 [json_name = "symbol"]; - * @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; - } - } - /** - *
-   * (optional) The symbol that appears at this position. See
-   * `SymbolInformation.symbol` for how to format symbols as strings.
-   * 
- * - * string symbol = 2 [json_name = "symbol"]; - * @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 SYMBOL_ROLES_FIELD_NUMBER = 3; - private int symbolRoles_ = 0; - /** - *
-   * (optional) Bitset containing `SymbolRole`s in this occurrence.
-   * See `SymbolRole`'s documentation for how to read and write this field.
-   * 
- * - * int32 symbol_roles = 3 [json_name = "symbolRoles"]; - * @return The symbolRoles. - */ - @java.lang.Override - public int getSymbolRoles() { - return symbolRoles_; - } - - public static final int OVERRIDE_DOCUMENTATION_FIELD_NUMBER = 4; - @SuppressWarnings("serial") - private com.google.protobuf.LazyStringArrayList overrideDocumentation_ = - com.google.protobuf.LazyStringArrayList.emptyList(); - /** - *
-   * (optional) CommonMark-formatted documentation for this specific range. If
-   * empty, the `Symbol.documentation` field is used instead. One example
-   * where this field might be useful is when the symbol represents a generic
-   * function (with abstract type parameters such as `List<T>`) and at this
-   * occurrence we know the exact values (such as `List<String>`).
-   *
-   * This field can also be used for dynamically or gradually typed languages,
-   * which commonly allow for type-changing assignment.
-   * 
- * - * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; - * @return A list containing the overrideDocumentation. - */ - public com.google.protobuf.ProtocolStringList - getOverrideDocumentationList() { - return overrideDocumentation_; - } - /** - *
-   * (optional) CommonMark-formatted documentation for this specific range. If
-   * empty, the `Symbol.documentation` field is used instead. One example
-   * where this field might be useful is when the symbol represents a generic
-   * function (with abstract type parameters such as `List<T>`) and at this
-   * occurrence we know the exact values (such as `List<String>`).
-   *
-   * This field can also be used for dynamically or gradually typed languages,
-   * which commonly allow for type-changing assignment.
-   * 
- * - * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; - * @return The count of overrideDocumentation. - */ - public int getOverrideDocumentationCount() { - return overrideDocumentation_.size(); - } - /** - *
-   * (optional) CommonMark-formatted documentation for this specific range. If
-   * empty, the `Symbol.documentation` field is used instead. One example
-   * where this field might be useful is when the symbol represents a generic
-   * function (with abstract type parameters such as `List<T>`) and at this
-   * occurrence we know the exact values (such as `List<String>`).
-   *
-   * This field can also be used for dynamically or gradually typed languages,
-   * which commonly allow for type-changing assignment.
-   * 
- * - * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; - * @param index The index of the element to return. - * @return The overrideDocumentation at the given index. - */ - public java.lang.String getOverrideDocumentation(int index) { - return overrideDocumentation_.get(index); - } - /** - *
-   * (optional) CommonMark-formatted documentation for this specific range. If
-   * empty, the `Symbol.documentation` field is used instead. One example
-   * where this field might be useful is when the symbol represents a generic
-   * function (with abstract type parameters such as `List<T>`) and at this
-   * occurrence we know the exact values (such as `List<String>`).
-   *
-   * This field can also be used for dynamically or gradually typed languages,
-   * which commonly allow for type-changing assignment.
-   * 
- * - * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; - * @param index The index of the value to return. - * @return The bytes of the overrideDocumentation at the given index. - */ - public com.google.protobuf.ByteString - getOverrideDocumentationBytes(int index) { - return overrideDocumentation_.getByteString(index); - } - - public static final int SYNTAX_KIND_FIELD_NUMBER = 5; - private int syntaxKind_ = 0; - /** - *
-   * (optional) What syntax highlighting class should be used for this range?
-   * 
- * - * .scip.SyntaxKind syntax_kind = 5 [json_name = "syntaxKind"]; - * @return The enum numeric value on the wire for syntaxKind. - */ - @java.lang.Override public int getSyntaxKindValue() { - return syntaxKind_; - } - /** - *
-   * (optional) What syntax highlighting class should be used for this range?
-   * 
- * - * .scip.SyntaxKind syntax_kind = 5 [json_name = "syntaxKind"]; - * @return The syntaxKind. - */ - @java.lang.Override public org.scip_code.scip.SyntaxKind getSyntaxKind() { - org.scip_code.scip.SyntaxKind result = org.scip_code.scip.SyntaxKind.forNumber(syntaxKind_); - return result == null ? org.scip_code.scip.SyntaxKind.UNRECOGNIZED : result; - } - - public static final int DIAGNOSTICS_FIELD_NUMBER = 6; - @SuppressWarnings("serial") - private java.util.List diagnostics_; - /** - *
-   * (optional) Diagnostics that have been reported for this specific range.
-   * 
- * - * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; - */ - @java.lang.Override - public java.util.List getDiagnosticsList() { - return diagnostics_; - } - /** - *
-   * (optional) Diagnostics that have been reported for this specific range.
-   * 
- * - * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; - */ - @java.lang.Override - public java.util.List - getDiagnosticsOrBuilderList() { - return diagnostics_; - } - /** - *
-   * (optional) Diagnostics that have been reported for this specific range.
-   * 
- * - * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; - */ - @java.lang.Override - public int getDiagnosticsCount() { - return diagnostics_.size(); - } - /** - *
-   * (optional) Diagnostics that have been reported for this specific range.
-   * 
- * - * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; - */ - @java.lang.Override - public org.scip_code.scip.Diagnostic getDiagnostics(int index) { - return diagnostics_.get(index); - } - /** - *
-   * (optional) Diagnostics that have been reported for this specific range.
-   * 
- * - * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; - */ - @java.lang.Override - public org.scip_code.scip.DiagnosticOrBuilder getDiagnosticsOrBuilder( - int index) { - return diagnostics_.get(index); - } - - public static final int ENCLOSING_RANGE_FIELD_NUMBER = 7; - @SuppressWarnings("serial") - private com.google.protobuf.Internal.IntList enclosingRange_ = - emptyIntList(); - /** - *
-   * (optional) Using the same encoding as the sibling `range` field, half-open
-   * source range of the nearest non-trivial enclosing AST node. This range must
-   * enclose the `range` field. Example applications that make use of the
-   * enclosing_range field:
-   *
-   * - Call hierarchies: to determine what symbols are references from the body
-   * of a function
-   * - Symbol outline: to display breadcrumbs from the cursor position to the
-   * root of the file
-   * - Expand selection: to select the nearest enclosing AST node.
-   * - Highlight range: to indicate the AST expression that is associated with a
-   * hover popover
-   *
-   * For definition occurrences, the enclosing range should indicate the
-   * start/end bounds of the entire definition AST node, including
-   * documentation.
-   * ```
-   * const n = 3
-   * ^ range
-   * ^^^^^^^^^^^ enclosing_range
-   *
-   * /** Parses the string into something */
-   * ^ enclosing_range start --------------------------------------|
-   * function parse(input string): string {                        |
-   * ^^^^^ range                                          |
-   * return input.slice(n)                                     |
-   * }                                                             |
-   * ^ enclosing_range end <---------------------------------------|
-   * ```
-   *
-   * Any attributes/decorators/attached macros should also be part of the
-   * enclosing range.
-   *
-   * ```python
-   * @cache
-   * ^ enclosing_range start---------------------|
-   * def factorial(n):                           |
-   * return n * factorial(n-1) if n else 1   |
-   * < enclosing_range end-----------------------|
-   *
-   * ```
-   *
-   * For reference occurrences, the enclosing range should indicate the start/end
-   * bounds of the parent expression.
-   * ```
-   * const a = a.b
-   * ^ range
-   * ^^^ enclosing_range
-   * const b = a.b(41).f(42).g(43)
-   * ^ range
-   * ^^^^^^^^^^^^^ enclosing_range
-   * ```
-   * 
- * - * repeated int32 enclosing_range = 7 [json_name = "enclosingRange"]; - * @return A list containing the enclosingRange. - */ - @java.lang.Override - public java.util.List - getEnclosingRangeList() { - return enclosingRange_; - } - /** - *
-   * (optional) Using the same encoding as the sibling `range` field, half-open
-   * source range of the nearest non-trivial enclosing AST node. This range must
-   * enclose the `range` field. Example applications that make use of the
-   * enclosing_range field:
-   *
-   * - Call hierarchies: to determine what symbols are references from the body
-   * of a function
-   * - Symbol outline: to display breadcrumbs from the cursor position to the
-   * root of the file
-   * - Expand selection: to select the nearest enclosing AST node.
-   * - Highlight range: to indicate the AST expression that is associated with a
-   * hover popover
-   *
-   * For definition occurrences, the enclosing range should indicate the
-   * start/end bounds of the entire definition AST node, including
-   * documentation.
-   * ```
-   * const n = 3
-   * ^ range
-   * ^^^^^^^^^^^ enclosing_range
-   *
-   * /** Parses the string into something */
-   * ^ enclosing_range start --------------------------------------|
-   * function parse(input string): string {                        |
-   * ^^^^^ range                                          |
-   * return input.slice(n)                                     |
-   * }                                                             |
-   * ^ enclosing_range end <---------------------------------------|
-   * ```
-   *
-   * Any attributes/decorators/attached macros should also be part of the
-   * enclosing range.
-   *
-   * ```python
-   * @cache
-   * ^ enclosing_range start---------------------|
-   * def factorial(n):                           |
-   * return n * factorial(n-1) if n else 1   |
-   * < enclosing_range end-----------------------|
-   *
-   * ```
-   *
-   * For reference occurrences, the enclosing range should indicate the start/end
-   * bounds of the parent expression.
-   * ```
-   * const a = a.b
-   * ^ range
-   * ^^^ enclosing_range
-   * const b = a.b(41).f(42).g(43)
-   * ^ range
-   * ^^^^^^^^^^^^^ enclosing_range
-   * ```
-   * 
- * - * repeated int32 enclosing_range = 7 [json_name = "enclosingRange"]; - * @return The count of enclosingRange. - */ - public int getEnclosingRangeCount() { - return enclosingRange_.size(); - } - /** - *
-   * (optional) Using the same encoding as the sibling `range` field, half-open
-   * source range of the nearest non-trivial enclosing AST node. This range must
-   * enclose the `range` field. Example applications that make use of the
-   * enclosing_range field:
-   *
-   * - Call hierarchies: to determine what symbols are references from the body
-   * of a function
-   * - Symbol outline: to display breadcrumbs from the cursor position to the
-   * root of the file
-   * - Expand selection: to select the nearest enclosing AST node.
-   * - Highlight range: to indicate the AST expression that is associated with a
-   * hover popover
-   *
-   * For definition occurrences, the enclosing range should indicate the
-   * start/end bounds of the entire definition AST node, including
-   * documentation.
-   * ```
-   * const n = 3
-   * ^ range
-   * ^^^^^^^^^^^ enclosing_range
-   *
-   * /** Parses the string into something */
-   * ^ enclosing_range start --------------------------------------|
-   * function parse(input string): string {                        |
-   * ^^^^^ range                                          |
-   * return input.slice(n)                                     |
-   * }                                                             |
-   * ^ enclosing_range end <---------------------------------------|
-   * ```
-   *
-   * Any attributes/decorators/attached macros should also be part of the
-   * enclosing range.
-   *
-   * ```python
-   * @cache
-   * ^ enclosing_range start---------------------|
-   * def factorial(n):                           |
-   * return n * factorial(n-1) if n else 1   |
-   * < enclosing_range end-----------------------|
-   *
-   * ```
-   *
-   * For reference occurrences, the enclosing range should indicate the start/end
-   * bounds of the parent expression.
-   * ```
-   * const a = a.b
-   * ^ range
-   * ^^^ enclosing_range
-   * const b = a.b(41).f(42).g(43)
-   * ^ range
-   * ^^^^^^^^^^^^^ enclosing_range
-   * ```
-   * 
- * - * repeated int32 enclosing_range = 7 [json_name = "enclosingRange"]; - * @param index The index of the element to return. - * @return The enclosingRange at the given index. - */ - public int getEnclosingRange(int index) { - return enclosingRange_.getInt(index); - } - private int enclosingRangeMemoizedSerializedSize = -1; - - 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 { - getSerializedSize(); - if (getRangeList().size() > 0) { - output.writeUInt32NoTag(10); - output.writeUInt32NoTag(rangeMemoizedSerializedSize); - } - for (int i = 0; i < range_.size(); i++) { - output.writeInt32NoTag(range_.getInt(i)); - } - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(symbol_)) { - com.google.protobuf.GeneratedMessage.writeString(output, 2, symbol_); - } - if (symbolRoles_ != 0) { - output.writeInt32(3, symbolRoles_); - } - for (int i = 0; i < overrideDocumentation_.size(); i++) { - com.google.protobuf.GeneratedMessage.writeString(output, 4, overrideDocumentation_.getRaw(i)); - } - if (syntaxKind_ != org.scip_code.scip.SyntaxKind.UnspecifiedSyntaxKind.getNumber()) { - output.writeEnum(5, syntaxKind_); - } - for (int i = 0; i < diagnostics_.size(); i++) { - output.writeMessage(6, diagnostics_.get(i)); - } - if (getEnclosingRangeList().size() > 0) { - output.writeUInt32NoTag(58); - output.writeUInt32NoTag(enclosingRangeMemoizedSerializedSize); - } - for (int i = 0; i < enclosingRange_.size(); i++) { - output.writeInt32NoTag(enclosingRange_.getInt(i)); - } - getUnknownFields().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 < range_.size(); i++) { - dataSize += com.google.protobuf.CodedOutputStream - .computeInt32SizeNoTag(range_.getInt(i)); - } - size += dataSize; - if (!getRangeList().isEmpty()) { - size += 1; - size += com.google.protobuf.CodedOutputStream - .computeInt32SizeNoTag(dataSize); - } - rangeMemoizedSerializedSize = dataSize; - } - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(symbol_)) { - size += com.google.protobuf.GeneratedMessage.computeStringSize(2, symbol_); - } - if (symbolRoles_ != 0) { - size += com.google.protobuf.CodedOutputStream - .computeInt32Size(3, symbolRoles_); - } - { - int dataSize = 0; - for (int i = 0; i < overrideDocumentation_.size(); i++) { - dataSize += computeStringSizeNoTag(overrideDocumentation_.getRaw(i)); - } - size += dataSize; - size += 1 * getOverrideDocumentationList().size(); - } - if (syntaxKind_ != org.scip_code.scip.SyntaxKind.UnspecifiedSyntaxKind.getNumber()) { - size += com.google.protobuf.CodedOutputStream - .computeEnumSize(5, syntaxKind_); - } - for (int i = 0; i < diagnostics_.size(); i++) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(6, diagnostics_.get(i)); - } - { - int dataSize = 0; - for (int i = 0; i < enclosingRange_.size(); i++) { - dataSize += com.google.protobuf.CodedOutputStream - .computeInt32SizeNoTag(enclosingRange_.getInt(i)); - } - size += dataSize; - if (!getEnclosingRangeList().isEmpty()) { - size += 1; - size += com.google.protobuf.CodedOutputStream - .computeInt32SizeNoTag(dataSize); - } - enclosingRangeMemoizedSerializedSize = dataSize; - } - size += getUnknownFields().getSerializedSize(); - memoizedSize = size; - return size; - } - - @java.lang.Override - public boolean equals(final java.lang.Object obj) { - if (obj == this) { - return true; - } - if (!(obj instanceof org.scip_code.scip.Occurrence)) { - return super.equals(obj); - } - org.scip_code.scip.Occurrence other = (org.scip_code.scip.Occurrence) obj; - - if (!getRangeList() - .equals(other.getRangeList())) return false; - if (!getSymbol() - .equals(other.getSymbol())) return false; - if (getSymbolRoles() - != other.getSymbolRoles()) return false; - if (!getOverrideDocumentationList() - .equals(other.getOverrideDocumentationList())) return false; - if (syntaxKind_ != other.syntaxKind_) return false; - if (!getDiagnosticsList() - .equals(other.getDiagnosticsList())) return false; - if (!getEnclosingRangeList() - .equals(other.getEnclosingRangeList())) return false; - if (!getUnknownFields().equals(other.getUnknownFields())) return false; - return true; - } - - @java.lang.Override - public int hashCode() { - if (memoizedHashCode != 0) { - return memoizedHashCode; - } - int hash = 41; - hash = (19 * hash) + getDescriptor().hashCode(); - if (getRangeCount() > 0) { - hash = (37 * hash) + RANGE_FIELD_NUMBER; - hash = (53 * hash) + getRangeList().hashCode(); - } - hash = (37 * hash) + SYMBOL_FIELD_NUMBER; - hash = (53 * hash) + getSymbol().hashCode(); - hash = (37 * hash) + SYMBOL_ROLES_FIELD_NUMBER; - hash = (53 * hash) + getSymbolRoles(); - if (getOverrideDocumentationCount() > 0) { - hash = (37 * hash) + OVERRIDE_DOCUMENTATION_FIELD_NUMBER; - hash = (53 * hash) + getOverrideDocumentationList().hashCode(); - } - hash = (37 * hash) + SYNTAX_KIND_FIELD_NUMBER; - hash = (53 * hash) + syntaxKind_; - if (getDiagnosticsCount() > 0) { - hash = (37 * hash) + DIAGNOSTICS_FIELD_NUMBER; - hash = (53 * hash) + getDiagnosticsList().hashCode(); - } - if (getEnclosingRangeCount() > 0) { - hash = (37 * hash) + ENCLOSING_RANGE_FIELD_NUMBER; - hash = (53 * hash) + getEnclosingRangeList().hashCode(); - } - hash = (29 * hash) + getUnknownFields().hashCode(); - memoizedHashCode = hash; - return hash; - } - - public static org.scip_code.scip.Occurrence parseFrom( - java.nio.ByteBuffer data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static org.scip_code.scip.Occurrence parseFrom( - java.nio.ByteBuffer data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static org.scip_code.scip.Occurrence parseFrom( - com.google.protobuf.ByteString data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static org.scip_code.scip.Occurrence parseFrom( - com.google.protobuf.ByteString data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static org.scip_code.scip.Occurrence parseFrom(byte[] data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static org.scip_code.scip.Occurrence parseFrom( - byte[] data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static org.scip_code.scip.Occurrence parseFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input); - } - public static org.scip_code.scip.Occurrence parseFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input, extensionRegistry); - } - - public static org.scip_code.scip.Occurrence parseDelimitedFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseDelimitedWithIOException(PARSER, input); - } - - public static org.scip_code.scip.Occurrence parseDelimitedFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseDelimitedWithIOException(PARSER, input, extensionRegistry); - } - public static org.scip_code.scip.Occurrence parseFrom( - com.google.protobuf.CodedInputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input); - } - public static org.scip_code.scip.Occurrence parseFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input, extensionRegistry); - } - - @java.lang.Override - public Builder newBuilderForType() { return newBuilder(); } - public static Builder newBuilder() { - return DEFAULT_INSTANCE.toBuilder(); - } - public static Builder newBuilder(org.scip_code.scip.Occurrence 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.GeneratedMessage.BuilderParent parent) { - Builder builder = new Builder(parent); - return builder; - } - /** - *
-   * Occurrence associates a source position with a symbol and/or highlighting
-   * information.
-   *
-   * If possible, indexers should try to bundle logically related information
-   * across occurrences into a single occurrence to reduce payload sizes.
-   * 
- * - * Protobuf type {@code scip.Occurrence} - */ - public static final class Builder extends - com.google.protobuf.GeneratedMessage.Builder implements - // @@protoc_insertion_point(builder_implements:scip.Occurrence) - org.scip_code.scip.OccurrenceOrBuilder { - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return org.scip_code.scip.ScipProto.internal_static_scip_Occurrence_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessage.FieldAccessorTable - internalGetFieldAccessorTable() { - return org.scip_code.scip.ScipProto.internal_static_scip_Occurrence_fieldAccessorTable - .ensureFieldAccessorsInitialized( - org.scip_code.scip.Occurrence.class, org.scip_code.scip.Occurrence.Builder.class); - } - - // Construct using org.scip_code.scip.Occurrence.newBuilder() - private Builder() { - - } - - private Builder( - com.google.protobuf.GeneratedMessage.BuilderParent parent) { - super(parent); - - } - @java.lang.Override - public Builder clear() { - super.clear(); - bitField0_ = 0; - range_ = emptyIntList(); - symbol_ = ""; - symbolRoles_ = 0; - overrideDocumentation_ = - com.google.protobuf.LazyStringArrayList.emptyList(); - syntaxKind_ = 0; - if (diagnosticsBuilder_ == null) { - diagnostics_ = java.util.Collections.emptyList(); - } else { - diagnostics_ = null; - diagnosticsBuilder_.clear(); - } - bitField0_ = (bitField0_ & ~0x00000020); - enclosingRange_ = emptyIntList(); - return this; - } - - @java.lang.Override - public com.google.protobuf.Descriptors.Descriptor - getDescriptorForType() { - return org.scip_code.scip.ScipProto.internal_static_scip_Occurrence_descriptor; - } - - @java.lang.Override - public org.scip_code.scip.Occurrence getDefaultInstanceForType() { - return org.scip_code.scip.Occurrence.getDefaultInstance(); - } - - @java.lang.Override - public org.scip_code.scip.Occurrence build() { - org.scip_code.scip.Occurrence result = buildPartial(); - if (!result.isInitialized()) { - throw newUninitializedMessageException(result); - } - return result; - } - - @java.lang.Override - public org.scip_code.scip.Occurrence buildPartial() { - org.scip_code.scip.Occurrence result = new org.scip_code.scip.Occurrence(this); - buildPartialRepeatedFields(result); - if (bitField0_ != 0) { buildPartial0(result); } - onBuilt(); - return result; - } - - private void buildPartialRepeatedFields(org.scip_code.scip.Occurrence result) { - if (diagnosticsBuilder_ == null) { - if (((bitField0_ & 0x00000020) != 0)) { - diagnostics_ = java.util.Collections.unmodifiableList(diagnostics_); - bitField0_ = (bitField0_ & ~0x00000020); - } - result.diagnostics_ = diagnostics_; - } else { - result.diagnostics_ = diagnosticsBuilder_.build(); - } - } - - private void buildPartial0(org.scip_code.scip.Occurrence result) { - int from_bitField0_ = bitField0_; - if (((from_bitField0_ & 0x00000001) != 0)) { - range_.makeImmutable(); - result.range_ = range_; - } - if (((from_bitField0_ & 0x00000002) != 0)) { - result.symbol_ = symbol_; - } - if (((from_bitField0_ & 0x00000004) != 0)) { - result.symbolRoles_ = symbolRoles_; - } - if (((from_bitField0_ & 0x00000008) != 0)) { - overrideDocumentation_.makeImmutable(); - result.overrideDocumentation_ = overrideDocumentation_; - } - if (((from_bitField0_ & 0x00000010) != 0)) { - result.syntaxKind_ = syntaxKind_; - } - if (((from_bitField0_ & 0x00000040) != 0)) { - enclosingRange_.makeImmutable(); - result.enclosingRange_ = enclosingRange_; - } - } - - @java.lang.Override - public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof org.scip_code.scip.Occurrence) { - return mergeFrom((org.scip_code.scip.Occurrence)other); - } else { - super.mergeFrom(other); - return this; - } - } - - public Builder mergeFrom(org.scip_code.scip.Occurrence other) { - if (other == org.scip_code.scip.Occurrence.getDefaultInstance()) return this; - if (!other.range_.isEmpty()) { - if (range_.isEmpty()) { - range_ = other.range_; - range_.makeImmutable(); - bitField0_ |= 0x00000001; - } else { - ensureRangeIsMutable(); - range_.addAll(other.range_); - } - onChanged(); - } - if (!other.getSymbol().isEmpty()) { - symbol_ = other.symbol_; - bitField0_ |= 0x00000002; - onChanged(); - } - if (other.getSymbolRoles() != 0) { - setSymbolRoles(other.getSymbolRoles()); - } - if (!other.overrideDocumentation_.isEmpty()) { - if (overrideDocumentation_.isEmpty()) { - overrideDocumentation_ = other.overrideDocumentation_; - bitField0_ |= 0x00000008; - } else { - ensureOverrideDocumentationIsMutable(); - overrideDocumentation_.addAll(other.overrideDocumentation_); - } - onChanged(); - } - if (other.syntaxKind_ != 0) { - setSyntaxKindValue(other.getSyntaxKindValue()); - } - if (diagnosticsBuilder_ == null) { - if (!other.diagnostics_.isEmpty()) { - if (diagnostics_.isEmpty()) { - diagnostics_ = other.diagnostics_; - bitField0_ = (bitField0_ & ~0x00000020); - } else { - ensureDiagnosticsIsMutable(); - diagnostics_.addAll(other.diagnostics_); - } - onChanged(); - } - } else { - if (!other.diagnostics_.isEmpty()) { - if (diagnosticsBuilder_.isEmpty()) { - diagnosticsBuilder_.dispose(); - diagnosticsBuilder_ = null; - diagnostics_ = other.diagnostics_; - bitField0_ = (bitField0_ & ~0x00000020); - diagnosticsBuilder_ = - com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ? - internalGetDiagnosticsFieldBuilder() : null; - } else { - diagnosticsBuilder_.addAllMessages(other.diagnostics_); - } - } - } - if (!other.enclosingRange_.isEmpty()) { - if (enclosingRange_.isEmpty()) { - enclosingRange_ = other.enclosingRange_; - enclosingRange_.makeImmutable(); - bitField0_ |= 0x00000040; - } else { - ensureEnclosingRangeIsMutable(); - enclosingRange_.addAll(other.enclosingRange_); - } - onChanged(); - } - this.mergeUnknownFields(other.getUnknownFields()); - 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 { - if (extensionRegistry == null) { - throw new java.lang.NullPointerException(); - } - try { - boolean done = false; - while (!done) { - int tag = input.readTag(); - switch (tag) { - case 0: - done = true; - break; - case 8: { - int v = input.readInt32(); - ensureRangeIsMutable(); - range_.addInt(v); - break; - } // case 8 - case 10: { - int length = input.readRawVarint32(); - int limit = input.pushLimit(length); - ensureRangeIsMutable(); - while (input.getBytesUntilLimit() > 0) { - range_.addInt(input.readInt32()); - } - input.popLimit(limit); - break; - } // case 10 - case 18: { - symbol_ = input.readStringRequireUtf8(); - bitField0_ |= 0x00000002; - break; - } // case 18 - case 24: { - symbolRoles_ = input.readInt32(); - bitField0_ |= 0x00000004; - break; - } // case 24 - case 34: { - java.lang.String s = input.readStringRequireUtf8(); - ensureOverrideDocumentationIsMutable(); - overrideDocumentation_.add(s); - break; - } // case 34 - case 40: { - syntaxKind_ = input.readEnum(); - bitField0_ |= 0x00000010; - break; - } // case 40 - case 50: { - org.scip_code.scip.Diagnostic m = - input.readMessage( - org.scip_code.scip.Diagnostic.parser(), - extensionRegistry); - if (diagnosticsBuilder_ == null) { - ensureDiagnosticsIsMutable(); - diagnostics_.add(m); - } else { - diagnosticsBuilder_.addMessage(m); - } - break; - } // case 50 - case 56: { - int v = input.readInt32(); - ensureEnclosingRangeIsMutable(); - enclosingRange_.addInt(v); - break; - } // case 56 - case 58: { - int length = input.readRawVarint32(); - int limit = input.pushLimit(length); - ensureEnclosingRangeIsMutable(); - while (input.getBytesUntilLimit() > 0) { - enclosingRange_.addInt(input.readInt32()); - } - input.popLimit(limit); - break; - } // case 58 - default: { - if (!super.parseUnknownField(input, extensionRegistry, tag)) { - done = true; // was an endgroup tag - } - break; - } // default: - } // switch (tag) - } // while (!done) - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.unwrapIOException(); - } finally { - onChanged(); - } // finally - return this; - } - private int bitField0_; - - private com.google.protobuf.Internal.IntList range_ = emptyIntList(); - private void ensureRangeIsMutable() { - if (!range_.isModifiable()) { - range_ = makeMutableCopy(range_); - } - bitField0_ |= 0x00000001; - } - /** - *
-     * Half-open [start, end) range of this occurrence. Must be exactly three or four
-     * elements:
-     *
-     * - Four elements: `[startLine, startCharacter, endLine, endCharacter]`
-     * - Three elements: `[startLine, startCharacter, endCharacter]`. The end line
-     * is inferred to have the same value as the start line.
-     *
-     * It is allowed for the range to be empty (i.e. start==end).
-     *
-     * Line numbers and characters are always 0-based. Make sure to increment the
-     * line/character values before displaying them in an editor-like UI because
-     * editors conventionally use 1-based numbers.
-     *
-     * The 'character' value is interpreted based on the PositionEncoding for
-     * the Document.
-     *
-     * Historical note: the original draft of this schema had a `Range` message
-     * type with `start` and `end` fields of type `Position`, mirroring LSP.
-     * Benchmarks revealed that this encoding was inefficient and that we could
-     * reduce the total payload size of an index by 50% by using `repeated int32`
-     * instead. The `repeated int32` encoding is admittedly more embarrassing to
-     * work with in some programming languages but we hope the performance
-     * improvements make up for it.
-     * 
- * - * repeated int32 range = 1 [json_name = "range"]; - * @return A list containing the range. - */ - public java.util.List - getRangeList() { - range_.makeImmutable(); - return range_; - } - /** - *
-     * Half-open [start, end) range of this occurrence. Must be exactly three or four
-     * elements:
-     *
-     * - Four elements: `[startLine, startCharacter, endLine, endCharacter]`
-     * - Three elements: `[startLine, startCharacter, endCharacter]`. The end line
-     * is inferred to have the same value as the start line.
-     *
-     * It is allowed for the range to be empty (i.e. start==end).
-     *
-     * Line numbers and characters are always 0-based. Make sure to increment the
-     * line/character values before displaying them in an editor-like UI because
-     * editors conventionally use 1-based numbers.
-     *
-     * The 'character' value is interpreted based on the PositionEncoding for
-     * the Document.
-     *
-     * Historical note: the original draft of this schema had a `Range` message
-     * type with `start` and `end` fields of type `Position`, mirroring LSP.
-     * Benchmarks revealed that this encoding was inefficient and that we could
-     * reduce the total payload size of an index by 50% by using `repeated int32`
-     * instead. The `repeated int32` encoding is admittedly more embarrassing to
-     * work with in some programming languages but we hope the performance
-     * improvements make up for it.
-     * 
- * - * repeated int32 range = 1 [json_name = "range"]; - * @return The count of range. - */ - public int getRangeCount() { - return range_.size(); - } - /** - *
-     * Half-open [start, end) range of this occurrence. Must be exactly three or four
-     * elements:
-     *
-     * - Four elements: `[startLine, startCharacter, endLine, endCharacter]`
-     * - Three elements: `[startLine, startCharacter, endCharacter]`. The end line
-     * is inferred to have the same value as the start line.
-     *
-     * It is allowed for the range to be empty (i.e. start==end).
-     *
-     * Line numbers and characters are always 0-based. Make sure to increment the
-     * line/character values before displaying them in an editor-like UI because
-     * editors conventionally use 1-based numbers.
-     *
-     * The 'character' value is interpreted based on the PositionEncoding for
-     * the Document.
-     *
-     * Historical note: the original draft of this schema had a `Range` message
-     * type with `start` and `end` fields of type `Position`, mirroring LSP.
-     * Benchmarks revealed that this encoding was inefficient and that we could
-     * reduce the total payload size of an index by 50% by using `repeated int32`
-     * instead. The `repeated int32` encoding is admittedly more embarrassing to
-     * work with in some programming languages but we hope the performance
-     * improvements make up for it.
-     * 
- * - * repeated int32 range = 1 [json_name = "range"]; - * @param index The index of the element to return. - * @return The range at the given index. - */ - public int getRange(int index) { - return range_.getInt(index); - } - /** - *
-     * Half-open [start, end) range of this occurrence. Must be exactly three or four
-     * elements:
-     *
-     * - Four elements: `[startLine, startCharacter, endLine, endCharacter]`
-     * - Three elements: `[startLine, startCharacter, endCharacter]`. The end line
-     * is inferred to have the same value as the start line.
-     *
-     * It is allowed for the range to be empty (i.e. start==end).
-     *
-     * Line numbers and characters are always 0-based. Make sure to increment the
-     * line/character values before displaying them in an editor-like UI because
-     * editors conventionally use 1-based numbers.
-     *
-     * The 'character' value is interpreted based on the PositionEncoding for
-     * the Document.
-     *
-     * Historical note: the original draft of this schema had a `Range` message
-     * type with `start` and `end` fields of type `Position`, mirroring LSP.
-     * Benchmarks revealed that this encoding was inefficient and that we could
-     * reduce the total payload size of an index by 50% by using `repeated int32`
-     * instead. The `repeated int32` encoding is admittedly more embarrassing to
-     * work with in some programming languages but we hope the performance
-     * improvements make up for it.
-     * 
- * - * repeated int32 range = 1 [json_name = "range"]; - * @param index The index to set the value at. - * @param value The range to set. - * @return This builder for chaining. - */ - public Builder setRange( - int index, int value) { - - ensureRangeIsMutable(); - range_.setInt(index, value); - bitField0_ |= 0x00000001; - onChanged(); - return this; - } - /** - *
-     * Half-open [start, end) range of this occurrence. Must be exactly three or four
-     * elements:
-     *
-     * - Four elements: `[startLine, startCharacter, endLine, endCharacter]`
-     * - Three elements: `[startLine, startCharacter, endCharacter]`. The end line
-     * is inferred to have the same value as the start line.
-     *
-     * It is allowed for the range to be empty (i.e. start==end).
-     *
-     * Line numbers and characters are always 0-based. Make sure to increment the
-     * line/character values before displaying them in an editor-like UI because
-     * editors conventionally use 1-based numbers.
-     *
-     * The 'character' value is interpreted based on the PositionEncoding for
-     * the Document.
-     *
-     * Historical note: the original draft of this schema had a `Range` message
-     * type with `start` and `end` fields of type `Position`, mirroring LSP.
-     * Benchmarks revealed that this encoding was inefficient and that we could
-     * reduce the total payload size of an index by 50% by using `repeated int32`
-     * instead. The `repeated int32` encoding is admittedly more embarrassing to
-     * work with in some programming languages but we hope the performance
-     * improvements make up for it.
-     * 
- * - * repeated int32 range = 1 [json_name = "range"]; - * @param value The range to add. - * @return This builder for chaining. - */ - public Builder addRange(int value) { - - ensureRangeIsMutable(); - range_.addInt(value); - bitField0_ |= 0x00000001; - onChanged(); - return this; - } - /** - *
-     * Half-open [start, end) range of this occurrence. Must be exactly three or four
-     * elements:
-     *
-     * - Four elements: `[startLine, startCharacter, endLine, endCharacter]`
-     * - Three elements: `[startLine, startCharacter, endCharacter]`. The end line
-     * is inferred to have the same value as the start line.
-     *
-     * It is allowed for the range to be empty (i.e. start==end).
-     *
-     * Line numbers and characters are always 0-based. Make sure to increment the
-     * line/character values before displaying them in an editor-like UI because
-     * editors conventionally use 1-based numbers.
-     *
-     * The 'character' value is interpreted based on the PositionEncoding for
-     * the Document.
-     *
-     * Historical note: the original draft of this schema had a `Range` message
-     * type with `start` and `end` fields of type `Position`, mirroring LSP.
-     * Benchmarks revealed that this encoding was inefficient and that we could
-     * reduce the total payload size of an index by 50% by using `repeated int32`
-     * instead. The `repeated int32` encoding is admittedly more embarrassing to
-     * work with in some programming languages but we hope the performance
-     * improvements make up for it.
-     * 
- * - * repeated int32 range = 1 [json_name = "range"]; - * @param values The range to add. - * @return This builder for chaining. - */ - public Builder addAllRange( - java.lang.Iterable values) { - ensureRangeIsMutable(); - com.google.protobuf.AbstractMessageLite.Builder.addAll( - values, range_); - bitField0_ |= 0x00000001; - onChanged(); - return this; - } - /** - *
-     * Half-open [start, end) range of this occurrence. Must be exactly three or four
-     * elements:
-     *
-     * - Four elements: `[startLine, startCharacter, endLine, endCharacter]`
-     * - Three elements: `[startLine, startCharacter, endCharacter]`. The end line
-     * is inferred to have the same value as the start line.
-     *
-     * It is allowed for the range to be empty (i.e. start==end).
-     *
-     * Line numbers and characters are always 0-based. Make sure to increment the
-     * line/character values before displaying them in an editor-like UI because
-     * editors conventionally use 1-based numbers.
-     *
-     * The 'character' value is interpreted based on the PositionEncoding for
-     * the Document.
-     *
-     * Historical note: the original draft of this schema had a `Range` message
-     * type with `start` and `end` fields of type `Position`, mirroring LSP.
-     * Benchmarks revealed that this encoding was inefficient and that we could
-     * reduce the total payload size of an index by 50% by using `repeated int32`
-     * instead. The `repeated int32` encoding is admittedly more embarrassing to
-     * work with in some programming languages but we hope the performance
-     * improvements make up for it.
-     * 
- * - * repeated int32 range = 1 [json_name = "range"]; - * @return This builder for chaining. - */ - public Builder clearRange() { - range_ = emptyIntList(); - bitField0_ = (bitField0_ & ~0x00000001); - onChanged(); - return this; - } - - private java.lang.Object symbol_ = ""; - /** - *
-     * (optional) The symbol that appears at this position. See
-     * `SymbolInformation.symbol` for how to format symbols as strings.
-     * 
- * - * string symbol = 2 [json_name = "symbol"]; - * @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; - } - } - /** - *
-     * (optional) The symbol that appears at this position. See
-     * `SymbolInformation.symbol` for how to format symbols as strings.
-     * 
- * - * string symbol = 2 [json_name = "symbol"]; - * @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; - } - } - /** - *
-     * (optional) The symbol that appears at this position. See
-     * `SymbolInformation.symbol` for how to format symbols as strings.
-     * 
- * - * string symbol = 2 [json_name = "symbol"]; - * @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; - bitField0_ |= 0x00000002; - onChanged(); - return this; - } - /** - *
-     * (optional) The symbol that appears at this position. See
-     * `SymbolInformation.symbol` for how to format symbols as strings.
-     * 
- * - * string symbol = 2 [json_name = "symbol"]; - * @return This builder for chaining. - */ - public Builder clearSymbol() { - symbol_ = getDefaultInstance().getSymbol(); - bitField0_ = (bitField0_ & ~0x00000002); - onChanged(); - return this; - } - /** - *
-     * (optional) The symbol that appears at this position. See
-     * `SymbolInformation.symbol` for how to format symbols as strings.
-     * 
- * - * string symbol = 2 [json_name = "symbol"]; - * @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; - bitField0_ |= 0x00000002; - onChanged(); - return this; - } - - private int symbolRoles_ ; - /** - *
-     * (optional) Bitset containing `SymbolRole`s in this occurrence.
-     * See `SymbolRole`'s documentation for how to read and write this field.
-     * 
- * - * int32 symbol_roles = 3 [json_name = "symbolRoles"]; - * @return The symbolRoles. - */ - @java.lang.Override - public int getSymbolRoles() { - return symbolRoles_; - } - /** - *
-     * (optional) Bitset containing `SymbolRole`s in this occurrence.
-     * See `SymbolRole`'s documentation for how to read and write this field.
-     * 
- * - * int32 symbol_roles = 3 [json_name = "symbolRoles"]; - * @param value The symbolRoles to set. - * @return This builder for chaining. - */ - public Builder setSymbolRoles(int value) { - - symbolRoles_ = value; - bitField0_ |= 0x00000004; - onChanged(); - return this; - } - /** - *
-     * (optional) Bitset containing `SymbolRole`s in this occurrence.
-     * See `SymbolRole`'s documentation for how to read and write this field.
-     * 
- * - * int32 symbol_roles = 3 [json_name = "symbolRoles"]; - * @return This builder for chaining. - */ - public Builder clearSymbolRoles() { - bitField0_ = (bitField0_ & ~0x00000004); - symbolRoles_ = 0; - onChanged(); - return this; - } - - private com.google.protobuf.LazyStringArrayList overrideDocumentation_ = - com.google.protobuf.LazyStringArrayList.emptyList(); - private void ensureOverrideDocumentationIsMutable() { - if (!overrideDocumentation_.isModifiable()) { - overrideDocumentation_ = new com.google.protobuf.LazyStringArrayList(overrideDocumentation_); - } - bitField0_ |= 0x00000008; - } - /** - *
-     * (optional) CommonMark-formatted documentation for this specific range. If
-     * empty, the `Symbol.documentation` field is used instead. One example
-     * where this field might be useful is when the symbol represents a generic
-     * function (with abstract type parameters such as `List<T>`) and at this
-     * occurrence we know the exact values (such as `List<String>`).
-     *
-     * This field can also be used for dynamically or gradually typed languages,
-     * which commonly allow for type-changing assignment.
-     * 
- * - * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; - * @return A list containing the overrideDocumentation. - */ - public com.google.protobuf.ProtocolStringList - getOverrideDocumentationList() { - overrideDocumentation_.makeImmutable(); - return overrideDocumentation_; - } - /** - *
-     * (optional) CommonMark-formatted documentation for this specific range. If
-     * empty, the `Symbol.documentation` field is used instead. One example
-     * where this field might be useful is when the symbol represents a generic
-     * function (with abstract type parameters such as `List<T>`) and at this
-     * occurrence we know the exact values (such as `List<String>`).
-     *
-     * This field can also be used for dynamically or gradually typed languages,
-     * which commonly allow for type-changing assignment.
-     * 
- * - * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; - * @return The count of overrideDocumentation. - */ - public int getOverrideDocumentationCount() { - return overrideDocumentation_.size(); - } - /** - *
-     * (optional) CommonMark-formatted documentation for this specific range. If
-     * empty, the `Symbol.documentation` field is used instead. One example
-     * where this field might be useful is when the symbol represents a generic
-     * function (with abstract type parameters such as `List<T>`) and at this
-     * occurrence we know the exact values (such as `List<String>`).
-     *
-     * This field can also be used for dynamically or gradually typed languages,
-     * which commonly allow for type-changing assignment.
-     * 
- * - * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; - * @param index The index of the element to return. - * @return The overrideDocumentation at the given index. - */ - public java.lang.String getOverrideDocumentation(int index) { - return overrideDocumentation_.get(index); - } - /** - *
-     * (optional) CommonMark-formatted documentation for this specific range. If
-     * empty, the `Symbol.documentation` field is used instead. One example
-     * where this field might be useful is when the symbol represents a generic
-     * function (with abstract type parameters such as `List<T>`) and at this
-     * occurrence we know the exact values (such as `List<String>`).
-     *
-     * This field can also be used for dynamically or gradually typed languages,
-     * which commonly allow for type-changing assignment.
-     * 
- * - * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; - * @param index The index of the value to return. - * @return The bytes of the overrideDocumentation at the given index. - */ - public com.google.protobuf.ByteString - getOverrideDocumentationBytes(int index) { - return overrideDocumentation_.getByteString(index); - } - /** - *
-     * (optional) CommonMark-formatted documentation for this specific range. If
-     * empty, the `Symbol.documentation` field is used instead. One example
-     * where this field might be useful is when the symbol represents a generic
-     * function (with abstract type parameters such as `List<T>`) and at this
-     * occurrence we know the exact values (such as `List<String>`).
-     *
-     * This field can also be used for dynamically or gradually typed languages,
-     * which commonly allow for type-changing assignment.
-     * 
- * - * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; - * @param index The index to set the value at. - * @param value The overrideDocumentation to set. - * @return This builder for chaining. - */ - public Builder setOverrideDocumentation( - int index, java.lang.String value) { - if (value == null) { throw new NullPointerException(); } - ensureOverrideDocumentationIsMutable(); - overrideDocumentation_.set(index, value); - bitField0_ |= 0x00000008; - onChanged(); - return this; - } - /** - *
-     * (optional) CommonMark-formatted documentation for this specific range. If
-     * empty, the `Symbol.documentation` field is used instead. One example
-     * where this field might be useful is when the symbol represents a generic
-     * function (with abstract type parameters such as `List<T>`) and at this
-     * occurrence we know the exact values (such as `List<String>`).
-     *
-     * This field can also be used for dynamically or gradually typed languages,
-     * which commonly allow for type-changing assignment.
-     * 
- * - * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; - * @param value The overrideDocumentation to add. - * @return This builder for chaining. - */ - public Builder addOverrideDocumentation( - java.lang.String value) { - if (value == null) { throw new NullPointerException(); } - ensureOverrideDocumentationIsMutable(); - overrideDocumentation_.add(value); - bitField0_ |= 0x00000008; - onChanged(); - return this; - } - /** - *
-     * (optional) CommonMark-formatted documentation for this specific range. If
-     * empty, the `Symbol.documentation` field is used instead. One example
-     * where this field might be useful is when the symbol represents a generic
-     * function (with abstract type parameters such as `List<T>`) and at this
-     * occurrence we know the exact values (such as `List<String>`).
-     *
-     * This field can also be used for dynamically or gradually typed languages,
-     * which commonly allow for type-changing assignment.
-     * 
- * - * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; - * @param values The overrideDocumentation to add. - * @return This builder for chaining. - */ - public Builder addAllOverrideDocumentation( - java.lang.Iterable values) { - ensureOverrideDocumentationIsMutable(); - com.google.protobuf.AbstractMessageLite.Builder.addAll( - values, overrideDocumentation_); - bitField0_ |= 0x00000008; - onChanged(); - return this; - } - /** - *
-     * (optional) CommonMark-formatted documentation for this specific range. If
-     * empty, the `Symbol.documentation` field is used instead. One example
-     * where this field might be useful is when the symbol represents a generic
-     * function (with abstract type parameters such as `List<T>`) and at this
-     * occurrence we know the exact values (such as `List<String>`).
-     *
-     * This field can also be used for dynamically or gradually typed languages,
-     * which commonly allow for type-changing assignment.
-     * 
- * - * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; - * @return This builder for chaining. - */ - public Builder clearOverrideDocumentation() { - overrideDocumentation_ = - com.google.protobuf.LazyStringArrayList.emptyList(); - bitField0_ = (bitField0_ & ~0x00000008);; - onChanged(); - return this; - } - /** - *
-     * (optional) CommonMark-formatted documentation for this specific range. If
-     * empty, the `Symbol.documentation` field is used instead. One example
-     * where this field might be useful is when the symbol represents a generic
-     * function (with abstract type parameters such as `List<T>`) and at this
-     * occurrence we know the exact values (such as `List<String>`).
-     *
-     * This field can also be used for dynamically or gradually typed languages,
-     * which commonly allow for type-changing assignment.
-     * 
- * - * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; - * @param value The bytes of the overrideDocumentation to add. - * @return This builder for chaining. - */ - public Builder addOverrideDocumentationBytes( - com.google.protobuf.ByteString value) { - if (value == null) { throw new NullPointerException(); } - checkByteStringIsUtf8(value); - ensureOverrideDocumentationIsMutable(); - overrideDocumentation_.add(value); - bitField0_ |= 0x00000008; - onChanged(); - return this; - } - - private int syntaxKind_ = 0; - /** - *
-     * (optional) What syntax highlighting class should be used for this range?
-     * 
- * - * .scip.SyntaxKind syntax_kind = 5 [json_name = "syntaxKind"]; - * @return The enum numeric value on the wire for syntaxKind. - */ - @java.lang.Override public int getSyntaxKindValue() { - return syntaxKind_; - } - /** - *
-     * (optional) What syntax highlighting class should be used for this range?
-     * 
- * - * .scip.SyntaxKind syntax_kind = 5 [json_name = "syntaxKind"]; - * @param value The enum numeric value on the wire for syntaxKind to set. - * @return This builder for chaining. - */ - public Builder setSyntaxKindValue(int value) { - syntaxKind_ = value; - bitField0_ |= 0x00000010; - onChanged(); - return this; - } - /** - *
-     * (optional) What syntax highlighting class should be used for this range?
-     * 
- * - * .scip.SyntaxKind syntax_kind = 5 [json_name = "syntaxKind"]; - * @return The syntaxKind. - */ - @java.lang.Override - public org.scip_code.scip.SyntaxKind getSyntaxKind() { - org.scip_code.scip.SyntaxKind result = org.scip_code.scip.SyntaxKind.forNumber(syntaxKind_); - return result == null ? org.scip_code.scip.SyntaxKind.UNRECOGNIZED : result; - } - /** - *
-     * (optional) What syntax highlighting class should be used for this range?
-     * 
- * - * .scip.SyntaxKind syntax_kind = 5 [json_name = "syntaxKind"]; - * @param value The syntaxKind to set. - * @return This builder for chaining. - */ - public Builder setSyntaxKind(org.scip_code.scip.SyntaxKind value) { - if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000010; - syntaxKind_ = value.getNumber(); - onChanged(); - return this; - } - /** - *
-     * (optional) What syntax highlighting class should be used for this range?
-     * 
- * - * .scip.SyntaxKind syntax_kind = 5 [json_name = "syntaxKind"]; - * @return This builder for chaining. - */ - public Builder clearSyntaxKind() { - bitField0_ = (bitField0_ & ~0x00000010); - syntaxKind_ = 0; - onChanged(); - return this; - } - - private java.util.List diagnostics_ = - java.util.Collections.emptyList(); - private void ensureDiagnosticsIsMutable() { - if (!((bitField0_ & 0x00000020) != 0)) { - diagnostics_ = new java.util.ArrayList(diagnostics_); - bitField0_ |= 0x00000020; - } - } - - private com.google.protobuf.RepeatedFieldBuilder< - org.scip_code.scip.Diagnostic, org.scip_code.scip.Diagnostic.Builder, org.scip_code.scip.DiagnosticOrBuilder> diagnosticsBuilder_; - - /** - *
-     * (optional) Diagnostics that have been reported for this specific range.
-     * 
- * - * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; - */ - public java.util.List getDiagnosticsList() { - if (diagnosticsBuilder_ == null) { - return java.util.Collections.unmodifiableList(diagnostics_); - } else { - return diagnosticsBuilder_.getMessageList(); - } - } - /** - *
-     * (optional) Diagnostics that have been reported for this specific range.
-     * 
- * - * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; - */ - public int getDiagnosticsCount() { - if (diagnosticsBuilder_ == null) { - return diagnostics_.size(); - } else { - return diagnosticsBuilder_.getCount(); - } - } - /** - *
-     * (optional) Diagnostics that have been reported for this specific range.
-     * 
- * - * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; - */ - public org.scip_code.scip.Diagnostic getDiagnostics(int index) { - if (diagnosticsBuilder_ == null) { - return diagnostics_.get(index); - } else { - return diagnosticsBuilder_.getMessage(index); - } - } - /** - *
-     * (optional) Diagnostics that have been reported for this specific range.
-     * 
- * - * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; - */ - public Builder setDiagnostics( - int index, org.scip_code.scip.Diagnostic value) { - if (diagnosticsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureDiagnosticsIsMutable(); - diagnostics_.set(index, value); - onChanged(); - } else { - diagnosticsBuilder_.setMessage(index, value); - } - return this; - } - /** - *
-     * (optional) Diagnostics that have been reported for this specific range.
-     * 
- * - * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; - */ - public Builder setDiagnostics( - int index, org.scip_code.scip.Diagnostic.Builder builderForValue) { - if (diagnosticsBuilder_ == null) { - ensureDiagnosticsIsMutable(); - diagnostics_.set(index, builderForValue.build()); - onChanged(); - } else { - diagnosticsBuilder_.setMessage(index, builderForValue.build()); - } - return this; - } - /** - *
-     * (optional) Diagnostics that have been reported for this specific range.
-     * 
- * - * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; - */ - public Builder addDiagnostics(org.scip_code.scip.Diagnostic value) { - if (diagnosticsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureDiagnosticsIsMutable(); - diagnostics_.add(value); - onChanged(); - } else { - diagnosticsBuilder_.addMessage(value); - } - return this; - } - /** - *
-     * (optional) Diagnostics that have been reported for this specific range.
-     * 
- * - * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; - */ - public Builder addDiagnostics( - int index, org.scip_code.scip.Diagnostic value) { - if (diagnosticsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureDiagnosticsIsMutable(); - diagnostics_.add(index, value); - onChanged(); - } else { - diagnosticsBuilder_.addMessage(index, value); - } - return this; - } - /** - *
-     * (optional) Diagnostics that have been reported for this specific range.
-     * 
- * - * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; - */ - public Builder addDiagnostics( - org.scip_code.scip.Diagnostic.Builder builderForValue) { - if (diagnosticsBuilder_ == null) { - ensureDiagnosticsIsMutable(); - diagnostics_.add(builderForValue.build()); - onChanged(); - } else { - diagnosticsBuilder_.addMessage(builderForValue.build()); - } - return this; - } - /** - *
-     * (optional) Diagnostics that have been reported for this specific range.
-     * 
- * - * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; - */ - public Builder addDiagnostics( - int index, org.scip_code.scip.Diagnostic.Builder builderForValue) { - if (diagnosticsBuilder_ == null) { - ensureDiagnosticsIsMutable(); - diagnostics_.add(index, builderForValue.build()); - onChanged(); - } else { - diagnosticsBuilder_.addMessage(index, builderForValue.build()); - } - return this; - } - /** - *
-     * (optional) Diagnostics that have been reported for this specific range.
-     * 
- * - * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; - */ - public Builder addAllDiagnostics( - java.lang.Iterable values) { - if (diagnosticsBuilder_ == null) { - ensureDiagnosticsIsMutable(); - com.google.protobuf.AbstractMessageLite.Builder.addAll( - values, diagnostics_); - onChanged(); - } else { - diagnosticsBuilder_.addAllMessages(values); - } - return this; - } - /** - *
-     * (optional) Diagnostics that have been reported for this specific range.
-     * 
- * - * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; - */ - public Builder clearDiagnostics() { - if (diagnosticsBuilder_ == null) { - diagnostics_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000020); - onChanged(); - } else { - diagnosticsBuilder_.clear(); - } - return this; - } - /** - *
-     * (optional) Diagnostics that have been reported for this specific range.
-     * 
- * - * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; - */ - public Builder removeDiagnostics(int index) { - if (diagnosticsBuilder_ == null) { - ensureDiagnosticsIsMutable(); - diagnostics_.remove(index); - onChanged(); - } else { - diagnosticsBuilder_.remove(index); - } - return this; - } - /** - *
-     * (optional) Diagnostics that have been reported for this specific range.
-     * 
- * - * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; - */ - public org.scip_code.scip.Diagnostic.Builder getDiagnosticsBuilder( - int index) { - return internalGetDiagnosticsFieldBuilder().getBuilder(index); - } - /** - *
-     * (optional) Diagnostics that have been reported for this specific range.
-     * 
- * - * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; - */ - public org.scip_code.scip.DiagnosticOrBuilder getDiagnosticsOrBuilder( - int index) { - if (diagnosticsBuilder_ == null) { - return diagnostics_.get(index); } else { - return diagnosticsBuilder_.getMessageOrBuilder(index); - } - } - /** - *
-     * (optional) Diagnostics that have been reported for this specific range.
-     * 
- * - * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; - */ - public java.util.List - getDiagnosticsOrBuilderList() { - if (diagnosticsBuilder_ != null) { - return diagnosticsBuilder_.getMessageOrBuilderList(); - } else { - return java.util.Collections.unmodifiableList(diagnostics_); - } - } - /** - *
-     * (optional) Diagnostics that have been reported for this specific range.
-     * 
- * - * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; - */ - public org.scip_code.scip.Diagnostic.Builder addDiagnosticsBuilder() { - return internalGetDiagnosticsFieldBuilder().addBuilder( - org.scip_code.scip.Diagnostic.getDefaultInstance()); - } - /** - *
-     * (optional) Diagnostics that have been reported for this specific range.
-     * 
- * - * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; - */ - public org.scip_code.scip.Diagnostic.Builder addDiagnosticsBuilder( - int index) { - return internalGetDiagnosticsFieldBuilder().addBuilder( - index, org.scip_code.scip.Diagnostic.getDefaultInstance()); - } - /** - *
-     * (optional) Diagnostics that have been reported for this specific range.
-     * 
- * - * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; - */ - public java.util.List - getDiagnosticsBuilderList() { - return internalGetDiagnosticsFieldBuilder().getBuilderList(); - } - private com.google.protobuf.RepeatedFieldBuilder< - org.scip_code.scip.Diagnostic, org.scip_code.scip.Diagnostic.Builder, org.scip_code.scip.DiagnosticOrBuilder> - internalGetDiagnosticsFieldBuilder() { - if (diagnosticsBuilder_ == null) { - diagnosticsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder< - org.scip_code.scip.Diagnostic, org.scip_code.scip.Diagnostic.Builder, org.scip_code.scip.DiagnosticOrBuilder>( - diagnostics_, - ((bitField0_ & 0x00000020) != 0), - getParentForChildren(), - isClean()); - diagnostics_ = null; - } - return diagnosticsBuilder_; - } - - private com.google.protobuf.Internal.IntList enclosingRange_ = emptyIntList(); - private void ensureEnclosingRangeIsMutable() { - if (!enclosingRange_.isModifiable()) { - enclosingRange_ = makeMutableCopy(enclosingRange_); - } - bitField0_ |= 0x00000040; - } - /** - *
-     * (optional) Using the same encoding as the sibling `range` field, half-open
-     * source range of the nearest non-trivial enclosing AST node. This range must
-     * enclose the `range` field. Example applications that make use of the
-     * enclosing_range field:
-     *
-     * - Call hierarchies: to determine what symbols are references from the body
-     * of a function
-     * - Symbol outline: to display breadcrumbs from the cursor position to the
-     * root of the file
-     * - Expand selection: to select the nearest enclosing AST node.
-     * - Highlight range: to indicate the AST expression that is associated with a
-     * hover popover
-     *
-     * For definition occurrences, the enclosing range should indicate the
-     * start/end bounds of the entire definition AST node, including
-     * documentation.
-     * ```
-     * const n = 3
-     * ^ range
-     * ^^^^^^^^^^^ enclosing_range
-     *
-     * /** Parses the string into something */
-     * ^ enclosing_range start --------------------------------------|
-     * function parse(input string): string {                        |
-     * ^^^^^ range                                          |
-     * return input.slice(n)                                     |
-     * }                                                             |
-     * ^ enclosing_range end <---------------------------------------|
-     * ```
-     *
-     * Any attributes/decorators/attached macros should also be part of the
-     * enclosing range.
-     *
-     * ```python
-     * @cache
-     * ^ enclosing_range start---------------------|
-     * def factorial(n):                           |
-     * return n * factorial(n-1) if n else 1   |
-     * < enclosing_range end-----------------------|
-     *
-     * ```
-     *
-     * For reference occurrences, the enclosing range should indicate the start/end
-     * bounds of the parent expression.
-     * ```
-     * const a = a.b
-     * ^ range
-     * ^^^ enclosing_range
-     * const b = a.b(41).f(42).g(43)
-     * ^ range
-     * ^^^^^^^^^^^^^ enclosing_range
-     * ```
-     * 
- * - * repeated int32 enclosing_range = 7 [json_name = "enclosingRange"]; - * @return A list containing the enclosingRange. - */ - public java.util.List - getEnclosingRangeList() { - enclosingRange_.makeImmutable(); - return enclosingRange_; - } - /** - *
-     * (optional) Using the same encoding as the sibling `range` field, half-open
-     * source range of the nearest non-trivial enclosing AST node. This range must
-     * enclose the `range` field. Example applications that make use of the
-     * enclosing_range field:
-     *
-     * - Call hierarchies: to determine what symbols are references from the body
-     * of a function
-     * - Symbol outline: to display breadcrumbs from the cursor position to the
-     * root of the file
-     * - Expand selection: to select the nearest enclosing AST node.
-     * - Highlight range: to indicate the AST expression that is associated with a
-     * hover popover
-     *
-     * For definition occurrences, the enclosing range should indicate the
-     * start/end bounds of the entire definition AST node, including
-     * documentation.
-     * ```
-     * const n = 3
-     * ^ range
-     * ^^^^^^^^^^^ enclosing_range
-     *
-     * /** Parses the string into something */
-     * ^ enclosing_range start --------------------------------------|
-     * function parse(input string): string {                        |
-     * ^^^^^ range                                          |
-     * return input.slice(n)                                     |
-     * }                                                             |
-     * ^ enclosing_range end <---------------------------------------|
-     * ```
-     *
-     * Any attributes/decorators/attached macros should also be part of the
-     * enclosing range.
-     *
-     * ```python
-     * @cache
-     * ^ enclosing_range start---------------------|
-     * def factorial(n):                           |
-     * return n * factorial(n-1) if n else 1   |
-     * < enclosing_range end-----------------------|
-     *
-     * ```
-     *
-     * For reference occurrences, the enclosing range should indicate the start/end
-     * bounds of the parent expression.
-     * ```
-     * const a = a.b
-     * ^ range
-     * ^^^ enclosing_range
-     * const b = a.b(41).f(42).g(43)
-     * ^ range
-     * ^^^^^^^^^^^^^ enclosing_range
-     * ```
-     * 
- * - * repeated int32 enclosing_range = 7 [json_name = "enclosingRange"]; - * @return The count of enclosingRange. - */ - public int getEnclosingRangeCount() { - return enclosingRange_.size(); - } - /** - *
-     * (optional) Using the same encoding as the sibling `range` field, half-open
-     * source range of the nearest non-trivial enclosing AST node. This range must
-     * enclose the `range` field. Example applications that make use of the
-     * enclosing_range field:
-     *
-     * - Call hierarchies: to determine what symbols are references from the body
-     * of a function
-     * - Symbol outline: to display breadcrumbs from the cursor position to the
-     * root of the file
-     * - Expand selection: to select the nearest enclosing AST node.
-     * - Highlight range: to indicate the AST expression that is associated with a
-     * hover popover
-     *
-     * For definition occurrences, the enclosing range should indicate the
-     * start/end bounds of the entire definition AST node, including
-     * documentation.
-     * ```
-     * const n = 3
-     * ^ range
-     * ^^^^^^^^^^^ enclosing_range
-     *
-     * /** Parses the string into something */
-     * ^ enclosing_range start --------------------------------------|
-     * function parse(input string): string {                        |
-     * ^^^^^ range                                          |
-     * return input.slice(n)                                     |
-     * }                                                             |
-     * ^ enclosing_range end <---------------------------------------|
-     * ```
-     *
-     * Any attributes/decorators/attached macros should also be part of the
-     * enclosing range.
-     *
-     * ```python
-     * @cache
-     * ^ enclosing_range start---------------------|
-     * def factorial(n):                           |
-     * return n * factorial(n-1) if n else 1   |
-     * < enclosing_range end-----------------------|
-     *
-     * ```
-     *
-     * For reference occurrences, the enclosing range should indicate the start/end
-     * bounds of the parent expression.
-     * ```
-     * const a = a.b
-     * ^ range
-     * ^^^ enclosing_range
-     * const b = a.b(41).f(42).g(43)
-     * ^ range
-     * ^^^^^^^^^^^^^ enclosing_range
-     * ```
-     * 
- * - * repeated int32 enclosing_range = 7 [json_name = "enclosingRange"]; - * @param index The index of the element to return. - * @return The enclosingRange at the given index. - */ - public int getEnclosingRange(int index) { - return enclosingRange_.getInt(index); - } - /** - *
-     * (optional) Using the same encoding as the sibling `range` field, half-open
-     * source range of the nearest non-trivial enclosing AST node. This range must
-     * enclose the `range` field. Example applications that make use of the
-     * enclosing_range field:
-     *
-     * - Call hierarchies: to determine what symbols are references from the body
-     * of a function
-     * - Symbol outline: to display breadcrumbs from the cursor position to the
-     * root of the file
-     * - Expand selection: to select the nearest enclosing AST node.
-     * - Highlight range: to indicate the AST expression that is associated with a
-     * hover popover
-     *
-     * For definition occurrences, the enclosing range should indicate the
-     * start/end bounds of the entire definition AST node, including
-     * documentation.
-     * ```
-     * const n = 3
-     * ^ range
-     * ^^^^^^^^^^^ enclosing_range
-     *
-     * /** Parses the string into something */
-     * ^ enclosing_range start --------------------------------------|
-     * function parse(input string): string {                        |
-     * ^^^^^ range                                          |
-     * return input.slice(n)                                     |
-     * }                                                             |
-     * ^ enclosing_range end <---------------------------------------|
-     * ```
-     *
-     * Any attributes/decorators/attached macros should also be part of the
-     * enclosing range.
-     *
-     * ```python
-     * @cache
-     * ^ enclosing_range start---------------------|
-     * def factorial(n):                           |
-     * return n * factorial(n-1) if n else 1   |
-     * < enclosing_range end-----------------------|
-     *
-     * ```
-     *
-     * For reference occurrences, the enclosing range should indicate the start/end
-     * bounds of the parent expression.
-     * ```
-     * const a = a.b
-     * ^ range
-     * ^^^ enclosing_range
-     * const b = a.b(41).f(42).g(43)
-     * ^ range
-     * ^^^^^^^^^^^^^ enclosing_range
-     * ```
-     * 
- * - * repeated int32 enclosing_range = 7 [json_name = "enclosingRange"]; - * @param index The index to set the value at. - * @param value The enclosingRange to set. - * @return This builder for chaining. - */ - public Builder setEnclosingRange( - int index, int value) { - - ensureEnclosingRangeIsMutable(); - enclosingRange_.setInt(index, value); - bitField0_ |= 0x00000040; - onChanged(); - return this; - } - /** - *
-     * (optional) Using the same encoding as the sibling `range` field, half-open
-     * source range of the nearest non-trivial enclosing AST node. This range must
-     * enclose the `range` field. Example applications that make use of the
-     * enclosing_range field:
-     *
-     * - Call hierarchies: to determine what symbols are references from the body
-     * of a function
-     * - Symbol outline: to display breadcrumbs from the cursor position to the
-     * root of the file
-     * - Expand selection: to select the nearest enclosing AST node.
-     * - Highlight range: to indicate the AST expression that is associated with a
-     * hover popover
-     *
-     * For definition occurrences, the enclosing range should indicate the
-     * start/end bounds of the entire definition AST node, including
-     * documentation.
-     * ```
-     * const n = 3
-     * ^ range
-     * ^^^^^^^^^^^ enclosing_range
-     *
-     * /** Parses the string into something */
-     * ^ enclosing_range start --------------------------------------|
-     * function parse(input string): string {                        |
-     * ^^^^^ range                                          |
-     * return input.slice(n)                                     |
-     * }                                                             |
-     * ^ enclosing_range end <---------------------------------------|
-     * ```
-     *
-     * Any attributes/decorators/attached macros should also be part of the
-     * enclosing range.
-     *
-     * ```python
-     * @cache
-     * ^ enclosing_range start---------------------|
-     * def factorial(n):                           |
-     * return n * factorial(n-1) if n else 1   |
-     * < enclosing_range end-----------------------|
-     *
-     * ```
-     *
-     * For reference occurrences, the enclosing range should indicate the start/end
-     * bounds of the parent expression.
-     * ```
-     * const a = a.b
-     * ^ range
-     * ^^^ enclosing_range
-     * const b = a.b(41).f(42).g(43)
-     * ^ range
-     * ^^^^^^^^^^^^^ enclosing_range
-     * ```
-     * 
- * - * repeated int32 enclosing_range = 7 [json_name = "enclosingRange"]; - * @param value The enclosingRange to add. - * @return This builder for chaining. - */ - public Builder addEnclosingRange(int value) { - - ensureEnclosingRangeIsMutable(); - enclosingRange_.addInt(value); - bitField0_ |= 0x00000040; - onChanged(); - return this; - } - /** - *
-     * (optional) Using the same encoding as the sibling `range` field, half-open
-     * source range of the nearest non-trivial enclosing AST node. This range must
-     * enclose the `range` field. Example applications that make use of the
-     * enclosing_range field:
-     *
-     * - Call hierarchies: to determine what symbols are references from the body
-     * of a function
-     * - Symbol outline: to display breadcrumbs from the cursor position to the
-     * root of the file
-     * - Expand selection: to select the nearest enclosing AST node.
-     * - Highlight range: to indicate the AST expression that is associated with a
-     * hover popover
-     *
-     * For definition occurrences, the enclosing range should indicate the
-     * start/end bounds of the entire definition AST node, including
-     * documentation.
-     * ```
-     * const n = 3
-     * ^ range
-     * ^^^^^^^^^^^ enclosing_range
-     *
-     * /** Parses the string into something */
-     * ^ enclosing_range start --------------------------------------|
-     * function parse(input string): string {                        |
-     * ^^^^^ range                                          |
-     * return input.slice(n)                                     |
-     * }                                                             |
-     * ^ enclosing_range end <---------------------------------------|
-     * ```
-     *
-     * Any attributes/decorators/attached macros should also be part of the
-     * enclosing range.
-     *
-     * ```python
-     * @cache
-     * ^ enclosing_range start---------------------|
-     * def factorial(n):                           |
-     * return n * factorial(n-1) if n else 1   |
-     * < enclosing_range end-----------------------|
-     *
-     * ```
-     *
-     * For reference occurrences, the enclosing range should indicate the start/end
-     * bounds of the parent expression.
-     * ```
-     * const a = a.b
-     * ^ range
-     * ^^^ enclosing_range
-     * const b = a.b(41).f(42).g(43)
-     * ^ range
-     * ^^^^^^^^^^^^^ enclosing_range
-     * ```
-     * 
- * - * repeated int32 enclosing_range = 7 [json_name = "enclosingRange"]; - * @param values The enclosingRange to add. - * @return This builder for chaining. - */ - public Builder addAllEnclosingRange( - java.lang.Iterable values) { - ensureEnclosingRangeIsMutable(); - com.google.protobuf.AbstractMessageLite.Builder.addAll( - values, enclosingRange_); - bitField0_ |= 0x00000040; - onChanged(); - return this; - } - /** - *
-     * (optional) Using the same encoding as the sibling `range` field, half-open
-     * source range of the nearest non-trivial enclosing AST node. This range must
-     * enclose the `range` field. Example applications that make use of the
-     * enclosing_range field:
-     *
-     * - Call hierarchies: to determine what symbols are references from the body
-     * of a function
-     * - Symbol outline: to display breadcrumbs from the cursor position to the
-     * root of the file
-     * - Expand selection: to select the nearest enclosing AST node.
-     * - Highlight range: to indicate the AST expression that is associated with a
-     * hover popover
-     *
-     * For definition occurrences, the enclosing range should indicate the
-     * start/end bounds of the entire definition AST node, including
-     * documentation.
-     * ```
-     * const n = 3
-     * ^ range
-     * ^^^^^^^^^^^ enclosing_range
-     *
-     * /** Parses the string into something */
-     * ^ enclosing_range start --------------------------------------|
-     * function parse(input string): string {                        |
-     * ^^^^^ range                                          |
-     * return input.slice(n)                                     |
-     * }                                                             |
-     * ^ enclosing_range end <---------------------------------------|
-     * ```
-     *
-     * Any attributes/decorators/attached macros should also be part of the
-     * enclosing range.
-     *
-     * ```python
-     * @cache
-     * ^ enclosing_range start---------------------|
-     * def factorial(n):                           |
-     * return n * factorial(n-1) if n else 1   |
-     * < enclosing_range end-----------------------|
-     *
-     * ```
-     *
-     * For reference occurrences, the enclosing range should indicate the start/end
-     * bounds of the parent expression.
-     * ```
-     * const a = a.b
-     * ^ range
-     * ^^^ enclosing_range
-     * const b = a.b(41).f(42).g(43)
-     * ^ range
-     * ^^^^^^^^^^^^^ enclosing_range
-     * ```
-     * 
- * - * repeated int32 enclosing_range = 7 [json_name = "enclosingRange"]; - * @return This builder for chaining. - */ - public Builder clearEnclosingRange() { - enclosingRange_ = emptyIntList(); - bitField0_ = (bitField0_ & ~0x00000040); - onChanged(); - return this; - } - - // @@protoc_insertion_point(builder_scope:scip.Occurrence) - } - - // @@protoc_insertion_point(class_scope:scip.Occurrence) - private static final org.scip_code.scip.Occurrence DEFAULT_INSTANCE; - static { - DEFAULT_INSTANCE = new org.scip_code.scip.Occurrence(); - } - - public static org.scip_code.scip.Occurrence getDefaultInstance() { - return DEFAULT_INSTANCE; - } - - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { - @java.lang.Override - public Occurrence parsePartialFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - Builder builder = newBuilder(); - try { - builder.mergeFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.setUnfinishedMessage(builder.buildPartial()); - } catch (com.google.protobuf.UninitializedMessageException e) { - throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); - } catch (java.io.IOException e) { - throw new com.google.protobuf.InvalidProtocolBufferException(e) - .setUnfinishedMessage(builder.buildPartial()); - } - return builder.buildPartial(); - } - }; - - public static com.google.protobuf.Parser parser() { - return PARSER; - } - - @java.lang.Override - public com.google.protobuf.Parser getParserForType() { - return PARSER; - } - - @java.lang.Override - public org.scip_code.scip.Occurrence getDefaultInstanceForType() { - return DEFAULT_INSTANCE; - } - -} - diff --git a/bindings/kotlin/src/main/java/org/scip_code/scip/OccurrenceOrBuilder.java b/bindings/kotlin/src/main/java/org/scip_code/scip/OccurrenceOrBuilder.java deleted file mode 100644 index 4a2d8251..00000000 --- a/bindings/kotlin/src/main/java/org/scip_code/scip/OccurrenceOrBuilder.java +++ /dev/null @@ -1,454 +0,0 @@ -// Generated by the protocol buffer compiler. DO NOT EDIT! -// NO CHECKED-IN PROTOBUF GENCODE -// source: scip.proto -// Protobuf Java Version: 4.32.1 - -package org.scip_code.scip; - -@com.google.protobuf.Generated -public interface OccurrenceOrBuilder extends - // @@protoc_insertion_point(interface_extends:scip.Occurrence) - com.google.protobuf.MessageOrBuilder { - - /** - *
-   * Half-open [start, end) range of this occurrence. Must be exactly three or four
-   * elements:
-   *
-   * - Four elements: `[startLine, startCharacter, endLine, endCharacter]`
-   * - Three elements: `[startLine, startCharacter, endCharacter]`. The end line
-   * is inferred to have the same value as the start line.
-   *
-   * It is allowed for the range to be empty (i.e. start==end).
-   *
-   * Line numbers and characters are always 0-based. Make sure to increment the
-   * line/character values before displaying them in an editor-like UI because
-   * editors conventionally use 1-based numbers.
-   *
-   * The 'character' value is interpreted based on the PositionEncoding for
-   * the Document.
-   *
-   * Historical note: the original draft of this schema had a `Range` message
-   * type with `start` and `end` fields of type `Position`, mirroring LSP.
-   * Benchmarks revealed that this encoding was inefficient and that we could
-   * reduce the total payload size of an index by 50% by using `repeated int32`
-   * instead. The `repeated int32` encoding is admittedly more embarrassing to
-   * work with in some programming languages but we hope the performance
-   * improvements make up for it.
-   * 
- * - * repeated int32 range = 1 [json_name = "range"]; - * @return A list containing the range. - */ - java.util.List getRangeList(); - /** - *
-   * Half-open [start, end) range of this occurrence. Must be exactly three or four
-   * elements:
-   *
-   * - Four elements: `[startLine, startCharacter, endLine, endCharacter]`
-   * - Three elements: `[startLine, startCharacter, endCharacter]`. The end line
-   * is inferred to have the same value as the start line.
-   *
-   * It is allowed for the range to be empty (i.e. start==end).
-   *
-   * Line numbers and characters are always 0-based. Make sure to increment the
-   * line/character values before displaying them in an editor-like UI because
-   * editors conventionally use 1-based numbers.
-   *
-   * The 'character' value is interpreted based on the PositionEncoding for
-   * the Document.
-   *
-   * Historical note: the original draft of this schema had a `Range` message
-   * type with `start` and `end` fields of type `Position`, mirroring LSP.
-   * Benchmarks revealed that this encoding was inefficient and that we could
-   * reduce the total payload size of an index by 50% by using `repeated int32`
-   * instead. The `repeated int32` encoding is admittedly more embarrassing to
-   * work with in some programming languages but we hope the performance
-   * improvements make up for it.
-   * 
- * - * repeated int32 range = 1 [json_name = "range"]; - * @return The count of range. - */ - int getRangeCount(); - /** - *
-   * Half-open [start, end) range of this occurrence. Must be exactly three or four
-   * elements:
-   *
-   * - Four elements: `[startLine, startCharacter, endLine, endCharacter]`
-   * - Three elements: `[startLine, startCharacter, endCharacter]`. The end line
-   * is inferred to have the same value as the start line.
-   *
-   * It is allowed for the range to be empty (i.e. start==end).
-   *
-   * Line numbers and characters are always 0-based. Make sure to increment the
-   * line/character values before displaying them in an editor-like UI because
-   * editors conventionally use 1-based numbers.
-   *
-   * The 'character' value is interpreted based on the PositionEncoding for
-   * the Document.
-   *
-   * Historical note: the original draft of this schema had a `Range` message
-   * type with `start` and `end` fields of type `Position`, mirroring LSP.
-   * Benchmarks revealed that this encoding was inefficient and that we could
-   * reduce the total payload size of an index by 50% by using `repeated int32`
-   * instead. The `repeated int32` encoding is admittedly more embarrassing to
-   * work with in some programming languages but we hope the performance
-   * improvements make up for it.
-   * 
- * - * repeated int32 range = 1 [json_name = "range"]; - * @param index The index of the element to return. - * @return The range at the given index. - */ - int getRange(int index); - - /** - *
-   * (optional) The symbol that appears at this position. See
-   * `SymbolInformation.symbol` for how to format symbols as strings.
-   * 
- * - * string symbol = 2 [json_name = "symbol"]; - * @return The symbol. - */ - java.lang.String getSymbol(); - /** - *
-   * (optional) The symbol that appears at this position. See
-   * `SymbolInformation.symbol` for how to format symbols as strings.
-   * 
- * - * string symbol = 2 [json_name = "symbol"]; - * @return The bytes for symbol. - */ - com.google.protobuf.ByteString - getSymbolBytes(); - - /** - *
-   * (optional) Bitset containing `SymbolRole`s in this occurrence.
-   * See `SymbolRole`'s documentation for how to read and write this field.
-   * 
- * - * int32 symbol_roles = 3 [json_name = "symbolRoles"]; - * @return The symbolRoles. - */ - int getSymbolRoles(); - - /** - *
-   * (optional) CommonMark-formatted documentation for this specific range. If
-   * empty, the `Symbol.documentation` field is used instead. One example
-   * where this field might be useful is when the symbol represents a generic
-   * function (with abstract type parameters such as `List<T>`) and at this
-   * occurrence we know the exact values (such as `List<String>`).
-   *
-   * This field can also be used for dynamically or gradually typed languages,
-   * which commonly allow for type-changing assignment.
-   * 
- * - * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; - * @return A list containing the overrideDocumentation. - */ - java.util.List - getOverrideDocumentationList(); - /** - *
-   * (optional) CommonMark-formatted documentation for this specific range. If
-   * empty, the `Symbol.documentation` field is used instead. One example
-   * where this field might be useful is when the symbol represents a generic
-   * function (with abstract type parameters such as `List<T>`) and at this
-   * occurrence we know the exact values (such as `List<String>`).
-   *
-   * This field can also be used for dynamically or gradually typed languages,
-   * which commonly allow for type-changing assignment.
-   * 
- * - * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; - * @return The count of overrideDocumentation. - */ - int getOverrideDocumentationCount(); - /** - *
-   * (optional) CommonMark-formatted documentation for this specific range. If
-   * empty, the `Symbol.documentation` field is used instead. One example
-   * where this field might be useful is when the symbol represents a generic
-   * function (with abstract type parameters such as `List<T>`) and at this
-   * occurrence we know the exact values (such as `List<String>`).
-   *
-   * This field can also be used for dynamically or gradually typed languages,
-   * which commonly allow for type-changing assignment.
-   * 
- * - * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; - * @param index The index of the element to return. - * @return The overrideDocumentation at the given index. - */ - java.lang.String getOverrideDocumentation(int index); - /** - *
-   * (optional) CommonMark-formatted documentation for this specific range. If
-   * empty, the `Symbol.documentation` field is used instead. One example
-   * where this field might be useful is when the symbol represents a generic
-   * function (with abstract type parameters such as `List<T>`) and at this
-   * occurrence we know the exact values (such as `List<String>`).
-   *
-   * This field can also be used for dynamically or gradually typed languages,
-   * which commonly allow for type-changing assignment.
-   * 
- * - * repeated string override_documentation = 4 [json_name = "overrideDocumentation"]; - * @param index The index of the value to return. - * @return The bytes of the overrideDocumentation at the given index. - */ - com.google.protobuf.ByteString - getOverrideDocumentationBytes(int index); - - /** - *
-   * (optional) What syntax highlighting class should be used for this range?
-   * 
- * - * .scip.SyntaxKind syntax_kind = 5 [json_name = "syntaxKind"]; - * @return The enum numeric value on the wire for syntaxKind. - */ - int getSyntaxKindValue(); - /** - *
-   * (optional) What syntax highlighting class should be used for this range?
-   * 
- * - * .scip.SyntaxKind syntax_kind = 5 [json_name = "syntaxKind"]; - * @return The syntaxKind. - */ - org.scip_code.scip.SyntaxKind getSyntaxKind(); - - /** - *
-   * (optional) Diagnostics that have been reported for this specific range.
-   * 
- * - * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; - */ - java.util.List - getDiagnosticsList(); - /** - *
-   * (optional) Diagnostics that have been reported for this specific range.
-   * 
- * - * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; - */ - org.scip_code.scip.Diagnostic getDiagnostics(int index); - /** - *
-   * (optional) Diagnostics that have been reported for this specific range.
-   * 
- * - * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; - */ - int getDiagnosticsCount(); - /** - *
-   * (optional) Diagnostics that have been reported for this specific range.
-   * 
- * - * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; - */ - java.util.List - getDiagnosticsOrBuilderList(); - /** - *
-   * (optional) Diagnostics that have been reported for this specific range.
-   * 
- * - * repeated .scip.Diagnostic diagnostics = 6 [json_name = "diagnostics"]; - */ - org.scip_code.scip.DiagnosticOrBuilder getDiagnosticsOrBuilder( - int index); - - /** - *
-   * (optional) Using the same encoding as the sibling `range` field, half-open
-   * source range of the nearest non-trivial enclosing AST node. This range must
-   * enclose the `range` field. Example applications that make use of the
-   * enclosing_range field:
-   *
-   * - Call hierarchies: to determine what symbols are references from the body
-   * of a function
-   * - Symbol outline: to display breadcrumbs from the cursor position to the
-   * root of the file
-   * - Expand selection: to select the nearest enclosing AST node.
-   * - Highlight range: to indicate the AST expression that is associated with a
-   * hover popover
-   *
-   * For definition occurrences, the enclosing range should indicate the
-   * start/end bounds of the entire definition AST node, including
-   * documentation.
-   * ```
-   * const n = 3
-   * ^ range
-   * ^^^^^^^^^^^ enclosing_range
-   *
-   * /** Parses the string into something */
-   * ^ enclosing_range start --------------------------------------|
-   * function parse(input string): string {                        |
-   * ^^^^^ range                                          |
-   * return input.slice(n)                                     |
-   * }                                                             |
-   * ^ enclosing_range end <---------------------------------------|
-   * ```
-   *
-   * Any attributes/decorators/attached macros should also be part of the
-   * enclosing range.
-   *
-   * ```python
-   * @cache
-   * ^ enclosing_range start---------------------|
-   * def factorial(n):                           |
-   * return n * factorial(n-1) if n else 1   |
-   * < enclosing_range end-----------------------|
-   *
-   * ```
-   *
-   * For reference occurrences, the enclosing range should indicate the start/end
-   * bounds of the parent expression.
-   * ```
-   * const a = a.b
-   * ^ range
-   * ^^^ enclosing_range
-   * const b = a.b(41).f(42).g(43)
-   * ^ range
-   * ^^^^^^^^^^^^^ enclosing_range
-   * ```
-   * 
- * - * repeated int32 enclosing_range = 7 [json_name = "enclosingRange"]; - * @return A list containing the enclosingRange. - */ - java.util.List getEnclosingRangeList(); - /** - *
-   * (optional) Using the same encoding as the sibling `range` field, half-open
-   * source range of the nearest non-trivial enclosing AST node. This range must
-   * enclose the `range` field. Example applications that make use of the
-   * enclosing_range field:
-   *
-   * - Call hierarchies: to determine what symbols are references from the body
-   * of a function
-   * - Symbol outline: to display breadcrumbs from the cursor position to the
-   * root of the file
-   * - Expand selection: to select the nearest enclosing AST node.
-   * - Highlight range: to indicate the AST expression that is associated with a
-   * hover popover
-   *
-   * For definition occurrences, the enclosing range should indicate the
-   * start/end bounds of the entire definition AST node, including
-   * documentation.
-   * ```
-   * const n = 3
-   * ^ range
-   * ^^^^^^^^^^^ enclosing_range
-   *
-   * /** Parses the string into something */
-   * ^ enclosing_range start --------------------------------------|
-   * function parse(input string): string {                        |
-   * ^^^^^ range                                          |
-   * return input.slice(n)                                     |
-   * }                                                             |
-   * ^ enclosing_range end <---------------------------------------|
-   * ```
-   *
-   * Any attributes/decorators/attached macros should also be part of the
-   * enclosing range.
-   *
-   * ```python
-   * @cache
-   * ^ enclosing_range start---------------------|
-   * def factorial(n):                           |
-   * return n * factorial(n-1) if n else 1   |
-   * < enclosing_range end-----------------------|
-   *
-   * ```
-   *
-   * For reference occurrences, the enclosing range should indicate the start/end
-   * bounds of the parent expression.
-   * ```
-   * const a = a.b
-   * ^ range
-   * ^^^ enclosing_range
-   * const b = a.b(41).f(42).g(43)
-   * ^ range
-   * ^^^^^^^^^^^^^ enclosing_range
-   * ```
-   * 
- * - * repeated int32 enclosing_range = 7 [json_name = "enclosingRange"]; - * @return The count of enclosingRange. - */ - int getEnclosingRangeCount(); - /** - *
-   * (optional) Using the same encoding as the sibling `range` field, half-open
-   * source range of the nearest non-trivial enclosing AST node. This range must
-   * enclose the `range` field. Example applications that make use of the
-   * enclosing_range field:
-   *
-   * - Call hierarchies: to determine what symbols are references from the body
-   * of a function
-   * - Symbol outline: to display breadcrumbs from the cursor position to the
-   * root of the file
-   * - Expand selection: to select the nearest enclosing AST node.
-   * - Highlight range: to indicate the AST expression that is associated with a
-   * hover popover
-   *
-   * For definition occurrences, the enclosing range should indicate the
-   * start/end bounds of the entire definition AST node, including
-   * documentation.
-   * ```
-   * const n = 3
-   * ^ range
-   * ^^^^^^^^^^^ enclosing_range
-   *
-   * /** Parses the string into something */
-   * ^ enclosing_range start --------------------------------------|
-   * function parse(input string): string {                        |
-   * ^^^^^ range                                          |
-   * return input.slice(n)                                     |
-   * }                                                             |
-   * ^ enclosing_range end <---------------------------------------|
-   * ```
-   *
-   * Any attributes/decorators/attached macros should also be part of the
-   * enclosing range.
-   *
-   * ```python
-   * @cache
-   * ^ enclosing_range start---------------------|
-   * def factorial(n):                           |
-   * return n * factorial(n-1) if n else 1   |
-   * < enclosing_range end-----------------------|
-   *
-   * ```
-   *
-   * For reference occurrences, the enclosing range should indicate the start/end
-   * bounds of the parent expression.
-   * ```
-   * const a = a.b
-   * ^ range
-   * ^^^ enclosing_range
-   * const b = a.b(41).f(42).g(43)
-   * ^ range
-   * ^^^^^^^^^^^^^ enclosing_range
-   * ```
-   * 
- * - * repeated int32 enclosing_range = 7 [json_name = "enclosingRange"]; - * @param index The index of the element to return. - * @return The enclosingRange at the given index. - */ - int getEnclosingRange(int index); -} diff --git a/bindings/kotlin/src/main/java/org/scip_code/scip/Package.java b/bindings/kotlin/src/main/java/org/scip_code/scip/Package.java deleted file mode 100644 index 9898f798..00000000 --- a/bindings/kotlin/src/main/java/org/scip_code/scip/Package.java +++ /dev/null @@ -1,786 +0,0 @@ -// Generated by the protocol buffer compiler. DO NOT EDIT! -// NO CHECKED-IN PROTOBUF GENCODE -// source: scip.proto -// Protobuf Java Version: 4.32.1 - -package org.scip_code.scip; - -/** - *
- * Unit of packaging and distribution.
- *
- * NOTE: This corresponds to a module in Go and JVM languages.
- * 
- * - * Protobuf type {@code scip.Package} - */ -@com.google.protobuf.Generated -public final class Package extends - com.google.protobuf.GeneratedMessage implements - // @@protoc_insertion_point(message_implements:scip.Package) - PackageOrBuilder { -private static final long serialVersionUID = 0L; - static { - com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( - com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, - /* major= */ 4, - /* minor= */ 32, - /* patch= */ 1, - /* suffix= */ "", - Package.class.getName()); - } - // Use Package.newBuilder() to construct. - private Package(com.google.protobuf.GeneratedMessage.Builder builder) { - super(builder); - } - private Package() { - manager_ = ""; - name_ = ""; - version_ = ""; - } - - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return org.scip_code.scip.ScipProto.internal_static_scip_Package_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessage.FieldAccessorTable - internalGetFieldAccessorTable() { - return org.scip_code.scip.ScipProto.internal_static_scip_Package_fieldAccessorTable - .ensureFieldAccessorsInitialized( - org.scip_code.scip.Package.class, org.scip_code.scip.Package.Builder.class); - } - - public static final int MANAGER_FIELD_NUMBER = 1; - @SuppressWarnings("serial") - private volatile java.lang.Object manager_ = ""; - /** - * string manager = 1 [json_name = "manager"]; - * @return The manager. - */ - @java.lang.Override - public java.lang.String getManager() { - java.lang.Object ref = manager_; - 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(); - manager_ = s; - return s; - } - } - /** - * string manager = 1 [json_name = "manager"]; - * @return The bytes for manager. - */ - @java.lang.Override - public com.google.protobuf.ByteString - getManagerBytes() { - java.lang.Object ref = manager_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - manager_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - - public static final int NAME_FIELD_NUMBER = 2; - @SuppressWarnings("serial") - private volatile java.lang.Object name_ = ""; - /** - * string name = 2 [json_name = "name"]; - * @return The name. - */ - @java.lang.Override - public java.lang.String getName() { - java.lang.Object ref = name_; - 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(); - name_ = s; - return s; - } - } - /** - * string name = 2 [json_name = "name"]; - * @return The bytes for name. - */ - @java.lang.Override - public com.google.protobuf.ByteString - getNameBytes() { - java.lang.Object ref = name_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - name_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - - public static final int VERSION_FIELD_NUMBER = 3; - @SuppressWarnings("serial") - private volatile java.lang.Object version_ = ""; - /** - * string version = 3 [json_name = "version"]; - * @return The version. - */ - @java.lang.Override - public java.lang.String getVersion() { - java.lang.Object ref = version_; - 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(); - version_ = s; - return s; - } - } - /** - * string version = 3 [json_name = "version"]; - * @return The bytes for version. - */ - @java.lang.Override - public com.google.protobuf.ByteString - getVersionBytes() { - java.lang.Object ref = version_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - version_ = 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 (!com.google.protobuf.GeneratedMessage.isStringEmpty(manager_)) { - com.google.protobuf.GeneratedMessage.writeString(output, 1, manager_); - } - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) { - com.google.protobuf.GeneratedMessage.writeString(output, 2, name_); - } - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(version_)) { - com.google.protobuf.GeneratedMessage.writeString(output, 3, version_); - } - getUnknownFields().writeTo(output); - } - - @java.lang.Override - public int getSerializedSize() { - int size = memoizedSize; - if (size != -1) return size; - - size = 0; - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(manager_)) { - size += com.google.protobuf.GeneratedMessage.computeStringSize(1, manager_); - } - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) { - size += com.google.protobuf.GeneratedMessage.computeStringSize(2, name_); - } - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(version_)) { - size += com.google.protobuf.GeneratedMessage.computeStringSize(3, version_); - } - size += getUnknownFields().getSerializedSize(); - memoizedSize = size; - return size; - } - - @java.lang.Override - public boolean equals(final java.lang.Object obj) { - if (obj == this) { - return true; - } - if (!(obj instanceof org.scip_code.scip.Package)) { - return super.equals(obj); - } - org.scip_code.scip.Package other = (org.scip_code.scip.Package) obj; - - if (!getManager() - .equals(other.getManager())) return false; - if (!getName() - .equals(other.getName())) return false; - if (!getVersion() - .equals(other.getVersion())) return false; - if (!getUnknownFields().equals(other.getUnknownFields())) 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) + MANAGER_FIELD_NUMBER; - hash = (53 * hash) + getManager().hashCode(); - hash = (37 * hash) + NAME_FIELD_NUMBER; - hash = (53 * hash) + getName().hashCode(); - hash = (37 * hash) + VERSION_FIELD_NUMBER; - hash = (53 * hash) + getVersion().hashCode(); - hash = (29 * hash) + getUnknownFields().hashCode(); - memoizedHashCode = hash; - return hash; - } - - public static org.scip_code.scip.Package parseFrom( - java.nio.ByteBuffer data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static org.scip_code.scip.Package parseFrom( - java.nio.ByteBuffer data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static org.scip_code.scip.Package parseFrom( - com.google.protobuf.ByteString data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static org.scip_code.scip.Package parseFrom( - com.google.protobuf.ByteString data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static org.scip_code.scip.Package parseFrom(byte[] data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static org.scip_code.scip.Package parseFrom( - byte[] data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static org.scip_code.scip.Package parseFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input); - } - public static org.scip_code.scip.Package parseFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input, extensionRegistry); - } - - public static org.scip_code.scip.Package parseDelimitedFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseDelimitedWithIOException(PARSER, input); - } - - public static org.scip_code.scip.Package parseDelimitedFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseDelimitedWithIOException(PARSER, input, extensionRegistry); - } - public static org.scip_code.scip.Package parseFrom( - com.google.protobuf.CodedInputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input); - } - public static org.scip_code.scip.Package parseFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input, extensionRegistry); - } - - @java.lang.Override - public Builder newBuilderForType() { return newBuilder(); } - public static Builder newBuilder() { - return DEFAULT_INSTANCE.toBuilder(); - } - public static Builder newBuilder(org.scip_code.scip.Package 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.GeneratedMessage.BuilderParent parent) { - Builder builder = new Builder(parent); - return builder; - } - /** - *
-   * Unit of packaging and distribution.
-   *
-   * NOTE: This corresponds to a module in Go and JVM languages.
-   * 
- * - * Protobuf type {@code scip.Package} - */ - public static final class Builder extends - com.google.protobuf.GeneratedMessage.Builder implements - // @@protoc_insertion_point(builder_implements:scip.Package) - org.scip_code.scip.PackageOrBuilder { - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return org.scip_code.scip.ScipProto.internal_static_scip_Package_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessage.FieldAccessorTable - internalGetFieldAccessorTable() { - return org.scip_code.scip.ScipProto.internal_static_scip_Package_fieldAccessorTable - .ensureFieldAccessorsInitialized( - org.scip_code.scip.Package.class, org.scip_code.scip.Package.Builder.class); - } - - // Construct using org.scip_code.scip.Package.newBuilder() - private Builder() { - - } - - private Builder( - com.google.protobuf.GeneratedMessage.BuilderParent parent) { - super(parent); - - } - @java.lang.Override - public Builder clear() { - super.clear(); - bitField0_ = 0; - manager_ = ""; - name_ = ""; - version_ = ""; - return this; - } - - @java.lang.Override - public com.google.protobuf.Descriptors.Descriptor - getDescriptorForType() { - return org.scip_code.scip.ScipProto.internal_static_scip_Package_descriptor; - } - - @java.lang.Override - public org.scip_code.scip.Package getDefaultInstanceForType() { - return org.scip_code.scip.Package.getDefaultInstance(); - } - - @java.lang.Override - public org.scip_code.scip.Package build() { - org.scip_code.scip.Package result = buildPartial(); - if (!result.isInitialized()) { - throw newUninitializedMessageException(result); - } - return result; - } - - @java.lang.Override - public org.scip_code.scip.Package buildPartial() { - org.scip_code.scip.Package result = new org.scip_code.scip.Package(this); - if (bitField0_ != 0) { buildPartial0(result); } - onBuilt(); - return result; - } - - private void buildPartial0(org.scip_code.scip.Package result) { - int from_bitField0_ = bitField0_; - if (((from_bitField0_ & 0x00000001) != 0)) { - result.manager_ = manager_; - } - if (((from_bitField0_ & 0x00000002) != 0)) { - result.name_ = name_; - } - if (((from_bitField0_ & 0x00000004) != 0)) { - result.version_ = version_; - } - } - - @java.lang.Override - public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof org.scip_code.scip.Package) { - return mergeFrom((org.scip_code.scip.Package)other); - } else { - super.mergeFrom(other); - return this; - } - } - - public Builder mergeFrom(org.scip_code.scip.Package other) { - if (other == org.scip_code.scip.Package.getDefaultInstance()) return this; - if (!other.getManager().isEmpty()) { - manager_ = other.manager_; - bitField0_ |= 0x00000001; - onChanged(); - } - if (!other.getName().isEmpty()) { - name_ = other.name_; - bitField0_ |= 0x00000002; - onChanged(); - } - if (!other.getVersion().isEmpty()) { - version_ = other.version_; - bitField0_ |= 0x00000004; - onChanged(); - } - this.mergeUnknownFields(other.getUnknownFields()); - 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 { - if (extensionRegistry == null) { - throw new java.lang.NullPointerException(); - } - try { - boolean done = false; - while (!done) { - int tag = input.readTag(); - switch (tag) { - case 0: - done = true; - break; - case 10: { - manager_ = input.readStringRequireUtf8(); - bitField0_ |= 0x00000001; - break; - } // case 10 - case 18: { - name_ = input.readStringRequireUtf8(); - bitField0_ |= 0x00000002; - break; - } // case 18 - case 26: { - version_ = input.readStringRequireUtf8(); - bitField0_ |= 0x00000004; - break; - } // case 26 - default: { - if (!super.parseUnknownField(input, extensionRegistry, tag)) { - done = true; // was an endgroup tag - } - break; - } // default: - } // switch (tag) - } // while (!done) - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.unwrapIOException(); - } finally { - onChanged(); - } // finally - return this; - } - private int bitField0_; - - private java.lang.Object manager_ = ""; - /** - * string manager = 1 [json_name = "manager"]; - * @return The manager. - */ - public java.lang.String getManager() { - java.lang.Object ref = manager_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - manager_ = s; - return s; - } else { - return (java.lang.String) ref; - } - } - /** - * string manager = 1 [json_name = "manager"]; - * @return The bytes for manager. - */ - public com.google.protobuf.ByteString - getManagerBytes() { - java.lang.Object ref = manager_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - manager_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - /** - * string manager = 1 [json_name = "manager"]; - * @param value The manager to set. - * @return This builder for chaining. - */ - public Builder setManager( - java.lang.String value) { - if (value == null) { throw new NullPointerException(); } - manager_ = value; - bitField0_ |= 0x00000001; - onChanged(); - return this; - } - /** - * string manager = 1 [json_name = "manager"]; - * @return This builder for chaining. - */ - public Builder clearManager() { - manager_ = getDefaultInstance().getManager(); - bitField0_ = (bitField0_ & ~0x00000001); - onChanged(); - return this; - } - /** - * string manager = 1 [json_name = "manager"]; - * @param value The bytes for manager to set. - * @return This builder for chaining. - */ - public Builder setManagerBytes( - com.google.protobuf.ByteString value) { - if (value == null) { throw new NullPointerException(); } - checkByteStringIsUtf8(value); - manager_ = value; - bitField0_ |= 0x00000001; - onChanged(); - return this; - } - - private java.lang.Object name_ = ""; - /** - * string name = 2 [json_name = "name"]; - * @return The name. - */ - public java.lang.String getName() { - java.lang.Object ref = name_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - name_ = s; - return s; - } else { - return (java.lang.String) ref; - } - } - /** - * string name = 2 [json_name = "name"]; - * @return The bytes for name. - */ - public com.google.protobuf.ByteString - getNameBytes() { - java.lang.Object ref = name_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - name_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - /** - * string name = 2 [json_name = "name"]; - * @param value The name to set. - * @return This builder for chaining. - */ - public Builder setName( - java.lang.String value) { - if (value == null) { throw new NullPointerException(); } - name_ = value; - bitField0_ |= 0x00000002; - onChanged(); - return this; - } - /** - * string name = 2 [json_name = "name"]; - * @return This builder for chaining. - */ - public Builder clearName() { - name_ = getDefaultInstance().getName(); - bitField0_ = (bitField0_ & ~0x00000002); - onChanged(); - return this; - } - /** - * string name = 2 [json_name = "name"]; - * @param value The bytes for name to set. - * @return This builder for chaining. - */ - public Builder setNameBytes( - com.google.protobuf.ByteString value) { - if (value == null) { throw new NullPointerException(); } - checkByteStringIsUtf8(value); - name_ = value; - bitField0_ |= 0x00000002; - onChanged(); - return this; - } - - private java.lang.Object version_ = ""; - /** - * string version = 3 [json_name = "version"]; - * @return The version. - */ - public java.lang.String getVersion() { - java.lang.Object ref = version_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - version_ = s; - return s; - } else { - return (java.lang.String) ref; - } - } - /** - * string version = 3 [json_name = "version"]; - * @return The bytes for version. - */ - public com.google.protobuf.ByteString - getVersionBytes() { - java.lang.Object ref = version_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - version_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - /** - * string version = 3 [json_name = "version"]; - * @param value The version to set. - * @return This builder for chaining. - */ - public Builder setVersion( - java.lang.String value) { - if (value == null) { throw new NullPointerException(); } - version_ = value; - bitField0_ |= 0x00000004; - onChanged(); - return this; - } - /** - * string version = 3 [json_name = "version"]; - * @return This builder for chaining. - */ - public Builder clearVersion() { - version_ = getDefaultInstance().getVersion(); - bitField0_ = (bitField0_ & ~0x00000004); - onChanged(); - return this; - } - /** - * string version = 3 [json_name = "version"]; - * @param value The bytes for version to set. - * @return This builder for chaining. - */ - public Builder setVersionBytes( - com.google.protobuf.ByteString value) { - if (value == null) { throw new NullPointerException(); } - checkByteStringIsUtf8(value); - version_ = value; - bitField0_ |= 0x00000004; - onChanged(); - return this; - } - - // @@protoc_insertion_point(builder_scope:scip.Package) - } - - // @@protoc_insertion_point(class_scope:scip.Package) - private static final org.scip_code.scip.Package DEFAULT_INSTANCE; - static { - DEFAULT_INSTANCE = new org.scip_code.scip.Package(); - } - - public static org.scip_code.scip.Package getDefaultInstance() { - return DEFAULT_INSTANCE; - } - - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { - @java.lang.Override - public Package parsePartialFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - Builder builder = newBuilder(); - try { - builder.mergeFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.setUnfinishedMessage(builder.buildPartial()); - } catch (com.google.protobuf.UninitializedMessageException e) { - throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); - } catch (java.io.IOException e) { - throw new com.google.protobuf.InvalidProtocolBufferException(e) - .setUnfinishedMessage(builder.buildPartial()); - } - return builder.buildPartial(); - } - }; - - public static com.google.protobuf.Parser parser() { - return PARSER; - } - - @java.lang.Override - public com.google.protobuf.Parser getParserForType() { - return PARSER; - } - - @java.lang.Override - public org.scip_code.scip.Package getDefaultInstanceForType() { - return DEFAULT_INSTANCE; - } - -} - diff --git a/bindings/kotlin/src/main/java/org/scip_code/scip/PackageOrBuilder.java b/bindings/kotlin/src/main/java/org/scip_code/scip/PackageOrBuilder.java deleted file mode 100644 index 3fc03231..00000000 --- a/bindings/kotlin/src/main/java/org/scip_code/scip/PackageOrBuilder.java +++ /dev/null @@ -1,48 +0,0 @@ -// Generated by the protocol buffer compiler. DO NOT EDIT! -// NO CHECKED-IN PROTOBUF GENCODE -// source: scip.proto -// Protobuf Java Version: 4.32.1 - -package org.scip_code.scip; - -@com.google.protobuf.Generated -public interface PackageOrBuilder extends - // @@protoc_insertion_point(interface_extends:scip.Package) - com.google.protobuf.MessageOrBuilder { - - /** - * string manager = 1 [json_name = "manager"]; - * @return The manager. - */ - java.lang.String getManager(); - /** - * string manager = 1 [json_name = "manager"]; - * @return The bytes for manager. - */ - com.google.protobuf.ByteString - getManagerBytes(); - - /** - * string name = 2 [json_name = "name"]; - * @return The name. - */ - java.lang.String getName(); - /** - * string name = 2 [json_name = "name"]; - * @return The bytes for name. - */ - com.google.protobuf.ByteString - getNameBytes(); - - /** - * string version = 3 [json_name = "version"]; - * @return The version. - */ - java.lang.String getVersion(); - /** - * string version = 3 [json_name = "version"]; - * @return The bytes for version. - */ - com.google.protobuf.ByteString - getVersionBytes(); -} diff --git a/bindings/kotlin/src/main/java/org/scip_code/scip/PositionEncoding.java b/bindings/kotlin/src/main/java/org/scip_code/scip/PositionEncoding.java deleted file mode 100644 index 47e46f71..00000000 --- a/bindings/kotlin/src/main/java/org/scip_code/scip/PositionEncoding.java +++ /dev/null @@ -1,209 +0,0 @@ -// Generated by the protocol buffer compiler. DO NOT EDIT! -// NO CHECKED-IN PROTOBUF GENCODE -// source: scip.proto -// Protobuf Java Version: 4.32.1 - -package org.scip_code.scip; - -/** - *
- * Encoding used to interpret the 'character' value in source ranges.
- * 
- * - * Protobuf enum {@code scip.PositionEncoding} - */ -@com.google.protobuf.Generated -public enum PositionEncoding - implements com.google.protobuf.ProtocolMessageEnum { - /** - *
-   * Default value. This value should not be used by new SCIP indexers
-   * so that a consumer can process the SCIP index without ambiguity.
-   * 
- * - * UnspecifiedPositionEncoding = 0; - */ - UnspecifiedPositionEncoding(0), - /** - *
-   * The 'character' value is interpreted as an offset in terms
-   * of UTF-8 code units (i.e. bytes).
-   *
-   * Example: For the string "🚀 Woo" in UTF-8, the bytes are
-   * [240, 159, 154, 128, 32, 87, 111, 111], so the offset for 'W'
-   * would be 5.
-   * 
- * - * UTF8CodeUnitOffsetFromLineStart = 1; - */ - UTF8CodeUnitOffsetFromLineStart(1), - /** - *
-   * The 'character' value is interpreted as an offset in terms
-   * of UTF-16 code units (each is 2 bytes).
-   *
-   * Example: For the string "🚀 Woo", the UTF-16 code units are
-   * ['\ud83d', '\ude80', ' ', 'W', 'o', 'o'], so the offset for 'W'
-   * would be 3.
-   * 
- * - * UTF16CodeUnitOffsetFromLineStart = 2; - */ - UTF16CodeUnitOffsetFromLineStart(2), - /** - *
-   * The 'character' value is interpreted as an offset in terms
-   * of UTF-32 code units (each is 4 bytes).
-   *
-   * Example: For the string "🚀 Woo", the UTF-32 code units are
-   * ['🚀', ' ', 'W', 'o', 'o'], so the offset for 'W' would be 2.
-   * 
- * - * UTF32CodeUnitOffsetFromLineStart = 3; - */ - UTF32CodeUnitOffsetFromLineStart(3), - UNRECOGNIZED(-1), - ; - - static { - com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( - com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, - /* major= */ 4, - /* minor= */ 32, - /* patch= */ 1, - /* suffix= */ "", - PositionEncoding.class.getName()); - } - /** - *
-   * Default value. This value should not be used by new SCIP indexers
-   * so that a consumer can process the SCIP index without ambiguity.
-   * 
- * - * UnspecifiedPositionEncoding = 0; - */ - public static final int UnspecifiedPositionEncoding_VALUE = 0; - /** - *
-   * The 'character' value is interpreted as an offset in terms
-   * of UTF-8 code units (i.e. bytes).
-   *
-   * Example: For the string "🚀 Woo" in UTF-8, the bytes are
-   * [240, 159, 154, 128, 32, 87, 111, 111], so the offset for 'W'
-   * would be 5.
-   * 
- * - * UTF8CodeUnitOffsetFromLineStart = 1; - */ - public static final int UTF8CodeUnitOffsetFromLineStart_VALUE = 1; - /** - *
-   * The 'character' value is interpreted as an offset in terms
-   * of UTF-16 code units (each is 2 bytes).
-   *
-   * Example: For the string "🚀 Woo", the UTF-16 code units are
-   * ['\ud83d', '\ude80', ' ', 'W', 'o', 'o'], so the offset for 'W'
-   * would be 3.
-   * 
- * - * UTF16CodeUnitOffsetFromLineStart = 2; - */ - public static final int UTF16CodeUnitOffsetFromLineStart_VALUE = 2; - /** - *
-   * The 'character' value is interpreted as an offset in terms
-   * of UTF-32 code units (each is 4 bytes).
-   *
-   * Example: For the string "🚀 Woo", the UTF-32 code units are
-   * ['🚀', ' ', 'W', 'o', 'o'], so the offset for 'W' would be 2.
-   * 
- * - * UTF32CodeUnitOffsetFromLineStart = 3; - */ - public static final int UTF32CodeUnitOffsetFromLineStart_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 PositionEncoding 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 PositionEncoding forNumber(int value) { - switch (value) { - case 0: return UnspecifiedPositionEncoding; - case 1: return UTF8CodeUnitOffsetFromLineStart; - case 2: return UTF16CodeUnitOffsetFromLineStart; - case 3: return UTF32CodeUnitOffsetFromLineStart; - default: return null; - } - } - - public static com.google.protobuf.Internal.EnumLiteMap - internalGetValueMap() { - return internalValueMap; - } - private static final com.google.protobuf.Internal.EnumLiteMap< - PositionEncoding> internalValueMap = - new com.google.protobuf.Internal.EnumLiteMap() { - public PositionEncoding findValueByNumber(int number) { - return PositionEncoding.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 com.google.protobuf.Descriptors.EnumDescriptor - getDescriptor() { - return org.scip_code.scip.ScipProto.getDescriptor().getEnumTypes().get(2); - } - - private static final PositionEncoding[] VALUES = values(); - - public static PositionEncoding 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 PositionEncoding(int value) { - this.value = value; - } - - // @@protoc_insertion_point(enum_scope:scip.PositionEncoding) -} - diff --git a/bindings/kotlin/src/main/java/org/scip_code/scip/ProtocolVersion.java b/bindings/kotlin/src/main/java/org/scip_code/scip/ProtocolVersion.java deleted file mode 100644 index 4e975c2b..00000000 --- a/bindings/kotlin/src/main/java/org/scip_code/scip/ProtocolVersion.java +++ /dev/null @@ -1,116 +0,0 @@ -// Generated by the protocol buffer compiler. DO NOT EDIT! -// NO CHECKED-IN PROTOBUF GENCODE -// source: scip.proto -// Protobuf Java Version: 4.32.1 - -package org.scip_code.scip; - -/** - * Protobuf enum {@code scip.ProtocolVersion} - */ -@com.google.protobuf.Generated -public enum ProtocolVersion - implements com.google.protobuf.ProtocolMessageEnum { - /** - * UnspecifiedProtocolVersion = 0; - */ - UnspecifiedProtocolVersion(0), - UNRECOGNIZED(-1), - ; - - static { - com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( - com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, - /* major= */ 4, - /* minor= */ 32, - /* patch= */ 1, - /* suffix= */ "", - ProtocolVersion.class.getName()); - } - /** - * UnspecifiedProtocolVersion = 0; - */ - public static final int UnspecifiedProtocolVersion_VALUE = 0; - - - 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 ProtocolVersion 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 ProtocolVersion forNumber(int value) { - switch (value) { - case 0: return UnspecifiedProtocolVersion; - default: return null; - } - } - - public static com.google.protobuf.Internal.EnumLiteMap - internalGetValueMap() { - return internalValueMap; - } - private static final com.google.protobuf.Internal.EnumLiteMap< - ProtocolVersion> internalValueMap = - new com.google.protobuf.Internal.EnumLiteMap() { - public ProtocolVersion findValueByNumber(int number) { - return ProtocolVersion.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 com.google.protobuf.Descriptors.EnumDescriptor - getDescriptor() { - return org.scip_code.scip.ScipProto.getDescriptor().getEnumTypes().get(0); - } - - private static final ProtocolVersion[] VALUES = values(); - - public static ProtocolVersion 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 ProtocolVersion(int value) { - this.value = value; - } - - // @@protoc_insertion_point(enum_scope:scip.ProtocolVersion) -} - diff --git a/bindings/kotlin/src/main/java/org/scip_code/scip/Relationship.java b/bindings/kotlin/src/main/java/org/scip_code/scip/Relationship.java deleted file mode 100644 index 6b1db513..00000000 --- a/bindings/kotlin/src/main/java/org/scip_code/scip/Relationship.java +++ /dev/null @@ -1,998 +0,0 @@ -// Generated by the protocol buffer compiler. DO NOT EDIT! -// NO CHECKED-IN PROTOBUF GENCODE -// source: scip.proto -// Protobuf Java Version: 4.32.1 - -package org.scip_code.scip; - -/** - * Protobuf type {@code scip.Relationship} - */ -@com.google.protobuf.Generated -public final class Relationship extends - com.google.protobuf.GeneratedMessage implements - // @@protoc_insertion_point(message_implements:scip.Relationship) - RelationshipOrBuilder { -private static final long serialVersionUID = 0L; - static { - com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( - com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, - /* major= */ 4, - /* minor= */ 32, - /* patch= */ 1, - /* suffix= */ "", - Relationship.class.getName()); - } - // Use Relationship.newBuilder() to construct. - private Relationship(com.google.protobuf.GeneratedMessage.Builder builder) { - super(builder); - } - private Relationship() { - symbol_ = ""; - } - - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return org.scip_code.scip.ScipProto.internal_static_scip_Relationship_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessage.FieldAccessorTable - internalGetFieldAccessorTable() { - return org.scip_code.scip.ScipProto.internal_static_scip_Relationship_fieldAccessorTable - .ensureFieldAccessorsInitialized( - org.scip_code.scip.Relationship.class, org.scip_code.scip.Relationship.Builder.class); - } - - public static final int SYMBOL_FIELD_NUMBER = 1; - @SuppressWarnings("serial") - private volatile java.lang.Object symbol_ = ""; - /** - * string symbol = 1 [json_name = "symbol"]; - * @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 [json_name = "symbol"]; - * @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 IS_REFERENCE_FIELD_NUMBER = 2; - private boolean isReference_ = false; - /** - *
-   * When resolving "Find references", this field documents what other symbols
-   * should be included together with this symbol. For example, consider the
-   * following TypeScript code that defines two symbols `Animal#sound()` and
-   * `Dog#sound()`:
-   * ```ts
-   * interface Animal {
-   * ^^^^^^ definition Animal#
-   * sound(): string
-   * ^^^^^ definition Animal#sound()
-   * }
-   * class Dog implements Animal {
-   * ^^^ definition Dog#, relationships = [{symbol: "Animal#", is_implementation: true}]
-   * public sound(): string { return "woof" }
-   * ^^^^^ definition Dog#sound(), references_symbols = Animal#sound(), relationships = [{symbol: "Animal#sound()", is_implementation:true, is_reference: true}]
-   * }
-   * const animal: Animal = new Dog()
-   * ^^^^^^ reference Animal#
-   * console.log(animal.sound())
-   * ^^^^^ reference Animal#sound()
-   * ```
-   * Doing "Find references" on the symbol `Animal#sound()` should return
-   * references to the `Dog#sound()` method as well. Vice-versa, doing "Find
-   * references" on the `Dog#sound()` method should include references to the
-   * `Animal#sound()` method as well.
-   * 
- * - * bool is_reference = 2 [json_name = "isReference"]; - * @return The isReference. - */ - @java.lang.Override - public boolean getIsReference() { - return isReference_; - } - - public static final int IS_IMPLEMENTATION_FIELD_NUMBER = 3; - private boolean isImplementation_ = false; - /** - *
-   * Similar to `is_reference` but for "Find implementations".
-   * It's common for `is_implementation` and `is_reference` to both be true but
-   * it's not always the case.
-   * In the TypeScript example above, observe that `Dog#` has an
-   * `is_implementation` relationship with `"Animal#"` but not `is_reference`.
-   * This is because "Find references" on the "Animal#" symbol should not return
-   * "Dog#". We only want "Dog#" to return as a result for "Find
-   * implementations" on the "Animal#" symbol.
-   * 
- * - * bool is_implementation = 3 [json_name = "isImplementation"]; - * @return The isImplementation. - */ - @java.lang.Override - public boolean getIsImplementation() { - return isImplementation_; - } - - public static final int IS_TYPE_DEFINITION_FIELD_NUMBER = 4; - private boolean isTypeDefinition_ = false; - /** - *
-   * Similar to `references_symbols` but for "Go to type definition".
-   * 
- * - * bool is_type_definition = 4 [json_name = "isTypeDefinition"]; - * @return The isTypeDefinition. - */ - @java.lang.Override - public boolean getIsTypeDefinition() { - return isTypeDefinition_; - } - - public static final int IS_DEFINITION_FIELD_NUMBER = 5; - private boolean isDefinition_ = false; - /** - *
-   * Allows overriding the behavior of "Go to definition" and "Find references"
-   * for symbols which do not have a definition of their own or could
-   * potentially have multiple definitions.
-   *
-   * For example, in a language with single inheritance and no field overriding,
-   * inherited fields can reuse the same symbol as the ancestor which declares
-   * the field. In such a situation, is_definition is not needed.
-   *
-   * On the other hand, in languages with single inheritance and some form
-   * of mixins, you can use is_definition to relate the symbol to the
-   * matching symbol in ancestor classes, and is_reference to relate the
-   * symbol to the matching symbol in mixins.
-   * 
- * - * bool is_definition = 5 [json_name = "isDefinition"]; - * @return The isDefinition. - */ - @java.lang.Override - public boolean getIsDefinition() { - return isDefinition_; - } - - 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 (!com.google.protobuf.GeneratedMessage.isStringEmpty(symbol_)) { - com.google.protobuf.GeneratedMessage.writeString(output, 1, symbol_); - } - if (isReference_ != false) { - output.writeBool(2, isReference_); - } - if (isImplementation_ != false) { - output.writeBool(3, isImplementation_); - } - if (isTypeDefinition_ != false) { - output.writeBool(4, isTypeDefinition_); - } - if (isDefinition_ != false) { - output.writeBool(5, isDefinition_); - } - getUnknownFields().writeTo(output); - } - - @java.lang.Override - public int getSerializedSize() { - int size = memoizedSize; - if (size != -1) return size; - - size = 0; - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(symbol_)) { - size += com.google.protobuf.GeneratedMessage.computeStringSize(1, symbol_); - } - if (isReference_ != false) { - size += com.google.protobuf.CodedOutputStream - .computeBoolSize(2, isReference_); - } - if (isImplementation_ != false) { - size += com.google.protobuf.CodedOutputStream - .computeBoolSize(3, isImplementation_); - } - if (isTypeDefinition_ != false) { - size += com.google.protobuf.CodedOutputStream - .computeBoolSize(4, isTypeDefinition_); - } - if (isDefinition_ != false) { - size += com.google.protobuf.CodedOutputStream - .computeBoolSize(5, isDefinition_); - } - size += getUnknownFields().getSerializedSize(); - memoizedSize = size; - return size; - } - - @java.lang.Override - public boolean equals(final java.lang.Object obj) { - if (obj == this) { - return true; - } - if (!(obj instanceof org.scip_code.scip.Relationship)) { - return super.equals(obj); - } - org.scip_code.scip.Relationship other = (org.scip_code.scip.Relationship) obj; - - if (!getSymbol() - .equals(other.getSymbol())) return false; - if (getIsReference() - != other.getIsReference()) return false; - if (getIsImplementation() - != other.getIsImplementation()) return false; - if (getIsTypeDefinition() - != other.getIsTypeDefinition()) return false; - if (getIsDefinition() - != other.getIsDefinition()) return false; - if (!getUnknownFields().equals(other.getUnknownFields())) 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) + IS_REFERENCE_FIELD_NUMBER; - hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( - getIsReference()); - hash = (37 * hash) + IS_IMPLEMENTATION_FIELD_NUMBER; - hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( - getIsImplementation()); - hash = (37 * hash) + IS_TYPE_DEFINITION_FIELD_NUMBER; - hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( - getIsTypeDefinition()); - hash = (37 * hash) + IS_DEFINITION_FIELD_NUMBER; - hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( - getIsDefinition()); - hash = (29 * hash) + getUnknownFields().hashCode(); - memoizedHashCode = hash; - return hash; - } - - public static org.scip_code.scip.Relationship parseFrom( - java.nio.ByteBuffer data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static org.scip_code.scip.Relationship parseFrom( - java.nio.ByteBuffer data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static org.scip_code.scip.Relationship parseFrom( - com.google.protobuf.ByteString data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static org.scip_code.scip.Relationship parseFrom( - com.google.protobuf.ByteString data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static org.scip_code.scip.Relationship parseFrom(byte[] data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static org.scip_code.scip.Relationship parseFrom( - byte[] data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static org.scip_code.scip.Relationship parseFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input); - } - public static org.scip_code.scip.Relationship parseFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input, extensionRegistry); - } - - public static org.scip_code.scip.Relationship parseDelimitedFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseDelimitedWithIOException(PARSER, input); - } - - public static org.scip_code.scip.Relationship parseDelimitedFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseDelimitedWithIOException(PARSER, input, extensionRegistry); - } - public static org.scip_code.scip.Relationship parseFrom( - com.google.protobuf.CodedInputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input); - } - public static org.scip_code.scip.Relationship parseFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input, extensionRegistry); - } - - @java.lang.Override - public Builder newBuilderForType() { return newBuilder(); } - public static Builder newBuilder() { - return DEFAULT_INSTANCE.toBuilder(); - } - public static Builder newBuilder(org.scip_code.scip.Relationship 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.GeneratedMessage.BuilderParent parent) { - Builder builder = new Builder(parent); - return builder; - } - /** - * Protobuf type {@code scip.Relationship} - */ - public static final class Builder extends - com.google.protobuf.GeneratedMessage.Builder implements - // @@protoc_insertion_point(builder_implements:scip.Relationship) - org.scip_code.scip.RelationshipOrBuilder { - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return org.scip_code.scip.ScipProto.internal_static_scip_Relationship_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessage.FieldAccessorTable - internalGetFieldAccessorTable() { - return org.scip_code.scip.ScipProto.internal_static_scip_Relationship_fieldAccessorTable - .ensureFieldAccessorsInitialized( - org.scip_code.scip.Relationship.class, org.scip_code.scip.Relationship.Builder.class); - } - - // Construct using org.scip_code.scip.Relationship.newBuilder() - private Builder() { - - } - - private Builder( - com.google.protobuf.GeneratedMessage.BuilderParent parent) { - super(parent); - - } - @java.lang.Override - public Builder clear() { - super.clear(); - bitField0_ = 0; - symbol_ = ""; - isReference_ = false; - isImplementation_ = false; - isTypeDefinition_ = false; - isDefinition_ = false; - return this; - } - - @java.lang.Override - public com.google.protobuf.Descriptors.Descriptor - getDescriptorForType() { - return org.scip_code.scip.ScipProto.internal_static_scip_Relationship_descriptor; - } - - @java.lang.Override - public org.scip_code.scip.Relationship getDefaultInstanceForType() { - return org.scip_code.scip.Relationship.getDefaultInstance(); - } - - @java.lang.Override - public org.scip_code.scip.Relationship build() { - org.scip_code.scip.Relationship result = buildPartial(); - if (!result.isInitialized()) { - throw newUninitializedMessageException(result); - } - return result; - } - - @java.lang.Override - public org.scip_code.scip.Relationship buildPartial() { - org.scip_code.scip.Relationship result = new org.scip_code.scip.Relationship(this); - if (bitField0_ != 0) { buildPartial0(result); } - onBuilt(); - return result; - } - - private void buildPartial0(org.scip_code.scip.Relationship result) { - int from_bitField0_ = bitField0_; - if (((from_bitField0_ & 0x00000001) != 0)) { - result.symbol_ = symbol_; - } - if (((from_bitField0_ & 0x00000002) != 0)) { - result.isReference_ = isReference_; - } - if (((from_bitField0_ & 0x00000004) != 0)) { - result.isImplementation_ = isImplementation_; - } - if (((from_bitField0_ & 0x00000008) != 0)) { - result.isTypeDefinition_ = isTypeDefinition_; - } - if (((from_bitField0_ & 0x00000010) != 0)) { - result.isDefinition_ = isDefinition_; - } - } - - @java.lang.Override - public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof org.scip_code.scip.Relationship) { - return mergeFrom((org.scip_code.scip.Relationship)other); - } else { - super.mergeFrom(other); - return this; - } - } - - public Builder mergeFrom(org.scip_code.scip.Relationship other) { - if (other == org.scip_code.scip.Relationship.getDefaultInstance()) return this; - if (!other.getSymbol().isEmpty()) { - symbol_ = other.symbol_; - bitField0_ |= 0x00000001; - onChanged(); - } - if (other.getIsReference() != false) { - setIsReference(other.getIsReference()); - } - if (other.getIsImplementation() != false) { - setIsImplementation(other.getIsImplementation()); - } - if (other.getIsTypeDefinition() != false) { - setIsTypeDefinition(other.getIsTypeDefinition()); - } - if (other.getIsDefinition() != false) { - setIsDefinition(other.getIsDefinition()); - } - this.mergeUnknownFields(other.getUnknownFields()); - 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 { - if (extensionRegistry == null) { - throw new java.lang.NullPointerException(); - } - try { - boolean done = false; - while (!done) { - int tag = input.readTag(); - switch (tag) { - case 0: - done = true; - break; - case 10: { - symbol_ = input.readStringRequireUtf8(); - bitField0_ |= 0x00000001; - break; - } // case 10 - case 16: { - isReference_ = input.readBool(); - bitField0_ |= 0x00000002; - break; - } // case 16 - case 24: { - isImplementation_ = input.readBool(); - bitField0_ |= 0x00000004; - break; - } // case 24 - case 32: { - isTypeDefinition_ = input.readBool(); - bitField0_ |= 0x00000008; - break; - } // case 32 - case 40: { - isDefinition_ = input.readBool(); - bitField0_ |= 0x00000010; - break; - } // case 40 - default: { - if (!super.parseUnknownField(input, extensionRegistry, tag)) { - done = true; // was an endgroup tag - } - break; - } // default: - } // switch (tag) - } // while (!done) - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.unwrapIOException(); - } finally { - onChanged(); - } // finally - return this; - } - private int bitField0_; - - private java.lang.Object symbol_ = ""; - /** - * string symbol = 1 [json_name = "symbol"]; - * @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 [json_name = "symbol"]; - * @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 [json_name = "symbol"]; - * @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; - bitField0_ |= 0x00000001; - onChanged(); - return this; - } - /** - * string symbol = 1 [json_name = "symbol"]; - * @return This builder for chaining. - */ - public Builder clearSymbol() { - symbol_ = getDefaultInstance().getSymbol(); - bitField0_ = (bitField0_ & ~0x00000001); - onChanged(); - return this; - } - /** - * string symbol = 1 [json_name = "symbol"]; - * @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; - bitField0_ |= 0x00000001; - onChanged(); - return this; - } - - private boolean isReference_ ; - /** - *
-     * When resolving "Find references", this field documents what other symbols
-     * should be included together with this symbol. For example, consider the
-     * following TypeScript code that defines two symbols `Animal#sound()` and
-     * `Dog#sound()`:
-     * ```ts
-     * interface Animal {
-     * ^^^^^^ definition Animal#
-     * sound(): string
-     * ^^^^^ definition Animal#sound()
-     * }
-     * class Dog implements Animal {
-     * ^^^ definition Dog#, relationships = [{symbol: "Animal#", is_implementation: true}]
-     * public sound(): string { return "woof" }
-     * ^^^^^ definition Dog#sound(), references_symbols = Animal#sound(), relationships = [{symbol: "Animal#sound()", is_implementation:true, is_reference: true}]
-     * }
-     * const animal: Animal = new Dog()
-     * ^^^^^^ reference Animal#
-     * console.log(animal.sound())
-     * ^^^^^ reference Animal#sound()
-     * ```
-     * Doing "Find references" on the symbol `Animal#sound()` should return
-     * references to the `Dog#sound()` method as well. Vice-versa, doing "Find
-     * references" on the `Dog#sound()` method should include references to the
-     * `Animal#sound()` method as well.
-     * 
- * - * bool is_reference = 2 [json_name = "isReference"]; - * @return The isReference. - */ - @java.lang.Override - public boolean getIsReference() { - return isReference_; - } - /** - *
-     * When resolving "Find references", this field documents what other symbols
-     * should be included together with this symbol. For example, consider the
-     * following TypeScript code that defines two symbols `Animal#sound()` and
-     * `Dog#sound()`:
-     * ```ts
-     * interface Animal {
-     * ^^^^^^ definition Animal#
-     * sound(): string
-     * ^^^^^ definition Animal#sound()
-     * }
-     * class Dog implements Animal {
-     * ^^^ definition Dog#, relationships = [{symbol: "Animal#", is_implementation: true}]
-     * public sound(): string { return "woof" }
-     * ^^^^^ definition Dog#sound(), references_symbols = Animal#sound(), relationships = [{symbol: "Animal#sound()", is_implementation:true, is_reference: true}]
-     * }
-     * const animal: Animal = new Dog()
-     * ^^^^^^ reference Animal#
-     * console.log(animal.sound())
-     * ^^^^^ reference Animal#sound()
-     * ```
-     * Doing "Find references" on the symbol `Animal#sound()` should return
-     * references to the `Dog#sound()` method as well. Vice-versa, doing "Find
-     * references" on the `Dog#sound()` method should include references to the
-     * `Animal#sound()` method as well.
-     * 
- * - * bool is_reference = 2 [json_name = "isReference"]; - * @param value The isReference to set. - * @return This builder for chaining. - */ - public Builder setIsReference(boolean value) { - - isReference_ = value; - bitField0_ |= 0x00000002; - onChanged(); - return this; - } - /** - *
-     * When resolving "Find references", this field documents what other symbols
-     * should be included together with this symbol. For example, consider the
-     * following TypeScript code that defines two symbols `Animal#sound()` and
-     * `Dog#sound()`:
-     * ```ts
-     * interface Animal {
-     * ^^^^^^ definition Animal#
-     * sound(): string
-     * ^^^^^ definition Animal#sound()
-     * }
-     * class Dog implements Animal {
-     * ^^^ definition Dog#, relationships = [{symbol: "Animal#", is_implementation: true}]
-     * public sound(): string { return "woof" }
-     * ^^^^^ definition Dog#sound(), references_symbols = Animal#sound(), relationships = [{symbol: "Animal#sound()", is_implementation:true, is_reference: true}]
-     * }
-     * const animal: Animal = new Dog()
-     * ^^^^^^ reference Animal#
-     * console.log(animal.sound())
-     * ^^^^^ reference Animal#sound()
-     * ```
-     * Doing "Find references" on the symbol `Animal#sound()` should return
-     * references to the `Dog#sound()` method as well. Vice-versa, doing "Find
-     * references" on the `Dog#sound()` method should include references to the
-     * `Animal#sound()` method as well.
-     * 
- * - * bool is_reference = 2 [json_name = "isReference"]; - * @return This builder for chaining. - */ - public Builder clearIsReference() { - bitField0_ = (bitField0_ & ~0x00000002); - isReference_ = false; - onChanged(); - return this; - } - - private boolean isImplementation_ ; - /** - *
-     * Similar to `is_reference` but for "Find implementations".
-     * It's common for `is_implementation` and `is_reference` to both be true but
-     * it's not always the case.
-     * In the TypeScript example above, observe that `Dog#` has an
-     * `is_implementation` relationship with `"Animal#"` but not `is_reference`.
-     * This is because "Find references" on the "Animal#" symbol should not return
-     * "Dog#". We only want "Dog#" to return as a result for "Find
-     * implementations" on the "Animal#" symbol.
-     * 
- * - * bool is_implementation = 3 [json_name = "isImplementation"]; - * @return The isImplementation. - */ - @java.lang.Override - public boolean getIsImplementation() { - return isImplementation_; - } - /** - *
-     * Similar to `is_reference` but for "Find implementations".
-     * It's common for `is_implementation` and `is_reference` to both be true but
-     * it's not always the case.
-     * In the TypeScript example above, observe that `Dog#` has an
-     * `is_implementation` relationship with `"Animal#"` but not `is_reference`.
-     * This is because "Find references" on the "Animal#" symbol should not return
-     * "Dog#". We only want "Dog#" to return as a result for "Find
-     * implementations" on the "Animal#" symbol.
-     * 
- * - * bool is_implementation = 3 [json_name = "isImplementation"]; - * @param value The isImplementation to set. - * @return This builder for chaining. - */ - public Builder setIsImplementation(boolean value) { - - isImplementation_ = value; - bitField0_ |= 0x00000004; - onChanged(); - return this; - } - /** - *
-     * Similar to `is_reference` but for "Find implementations".
-     * It's common for `is_implementation` and `is_reference` to both be true but
-     * it's not always the case.
-     * In the TypeScript example above, observe that `Dog#` has an
-     * `is_implementation` relationship with `"Animal#"` but not `is_reference`.
-     * This is because "Find references" on the "Animal#" symbol should not return
-     * "Dog#". We only want "Dog#" to return as a result for "Find
-     * implementations" on the "Animal#" symbol.
-     * 
- * - * bool is_implementation = 3 [json_name = "isImplementation"]; - * @return This builder for chaining. - */ - public Builder clearIsImplementation() { - bitField0_ = (bitField0_ & ~0x00000004); - isImplementation_ = false; - onChanged(); - return this; - } - - private boolean isTypeDefinition_ ; - /** - *
-     * Similar to `references_symbols` but for "Go to type definition".
-     * 
- * - * bool is_type_definition = 4 [json_name = "isTypeDefinition"]; - * @return The isTypeDefinition. - */ - @java.lang.Override - public boolean getIsTypeDefinition() { - return isTypeDefinition_; - } - /** - *
-     * Similar to `references_symbols` but for "Go to type definition".
-     * 
- * - * bool is_type_definition = 4 [json_name = "isTypeDefinition"]; - * @param value The isTypeDefinition to set. - * @return This builder for chaining. - */ - public Builder setIsTypeDefinition(boolean value) { - - isTypeDefinition_ = value; - bitField0_ |= 0x00000008; - onChanged(); - return this; - } - /** - *
-     * Similar to `references_symbols` but for "Go to type definition".
-     * 
- * - * bool is_type_definition = 4 [json_name = "isTypeDefinition"]; - * @return This builder for chaining. - */ - public Builder clearIsTypeDefinition() { - bitField0_ = (bitField0_ & ~0x00000008); - isTypeDefinition_ = false; - onChanged(); - return this; - } - - private boolean isDefinition_ ; - /** - *
-     * Allows overriding the behavior of "Go to definition" and "Find references"
-     * for symbols which do not have a definition of their own or could
-     * potentially have multiple definitions.
-     *
-     * For example, in a language with single inheritance and no field overriding,
-     * inherited fields can reuse the same symbol as the ancestor which declares
-     * the field. In such a situation, is_definition is not needed.
-     *
-     * On the other hand, in languages with single inheritance and some form
-     * of mixins, you can use is_definition to relate the symbol to the
-     * matching symbol in ancestor classes, and is_reference to relate the
-     * symbol to the matching symbol in mixins.
-     * 
- * - * bool is_definition = 5 [json_name = "isDefinition"]; - * @return The isDefinition. - */ - @java.lang.Override - public boolean getIsDefinition() { - return isDefinition_; - } - /** - *
-     * Allows overriding the behavior of "Go to definition" and "Find references"
-     * for symbols which do not have a definition of their own or could
-     * potentially have multiple definitions.
-     *
-     * For example, in a language with single inheritance and no field overriding,
-     * inherited fields can reuse the same symbol as the ancestor which declares
-     * the field. In such a situation, is_definition is not needed.
-     *
-     * On the other hand, in languages with single inheritance and some form
-     * of mixins, you can use is_definition to relate the symbol to the
-     * matching symbol in ancestor classes, and is_reference to relate the
-     * symbol to the matching symbol in mixins.
-     * 
- * - * bool is_definition = 5 [json_name = "isDefinition"]; - * @param value The isDefinition to set. - * @return This builder for chaining. - */ - public Builder setIsDefinition(boolean value) { - - isDefinition_ = value; - bitField0_ |= 0x00000010; - onChanged(); - return this; - } - /** - *
-     * Allows overriding the behavior of "Go to definition" and "Find references"
-     * for symbols which do not have a definition of their own or could
-     * potentially have multiple definitions.
-     *
-     * For example, in a language with single inheritance and no field overriding,
-     * inherited fields can reuse the same symbol as the ancestor which declares
-     * the field. In such a situation, is_definition is not needed.
-     *
-     * On the other hand, in languages with single inheritance and some form
-     * of mixins, you can use is_definition to relate the symbol to the
-     * matching symbol in ancestor classes, and is_reference to relate the
-     * symbol to the matching symbol in mixins.
-     * 
- * - * bool is_definition = 5 [json_name = "isDefinition"]; - * @return This builder for chaining. - */ - public Builder clearIsDefinition() { - bitField0_ = (bitField0_ & ~0x00000010); - isDefinition_ = false; - onChanged(); - return this; - } - - // @@protoc_insertion_point(builder_scope:scip.Relationship) - } - - // @@protoc_insertion_point(class_scope:scip.Relationship) - private static final org.scip_code.scip.Relationship DEFAULT_INSTANCE; - static { - DEFAULT_INSTANCE = new org.scip_code.scip.Relationship(); - } - - public static org.scip_code.scip.Relationship getDefaultInstance() { - return DEFAULT_INSTANCE; - } - - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { - @java.lang.Override - public Relationship parsePartialFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - Builder builder = newBuilder(); - try { - builder.mergeFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.setUnfinishedMessage(builder.buildPartial()); - } catch (com.google.protobuf.UninitializedMessageException e) { - throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); - } catch (java.io.IOException e) { - throw new com.google.protobuf.InvalidProtocolBufferException(e) - .setUnfinishedMessage(builder.buildPartial()); - } - return builder.buildPartial(); - } - }; - - public static com.google.protobuf.Parser parser() { - return PARSER; - } - - @java.lang.Override - public com.google.protobuf.Parser getParserForType() { - return PARSER; - } - - @java.lang.Override - public org.scip_code.scip.Relationship getDefaultInstanceForType() { - return DEFAULT_INSTANCE; - } - -} - diff --git a/bindings/kotlin/src/main/java/org/scip_code/scip/RelationshipOrBuilder.java b/bindings/kotlin/src/main/java/org/scip_code/scip/RelationshipOrBuilder.java deleted file mode 100644 index 419dccc4..00000000 --- a/bindings/kotlin/src/main/java/org/scip_code/scip/RelationshipOrBuilder.java +++ /dev/null @@ -1,105 +0,0 @@ -// Generated by the protocol buffer compiler. DO NOT EDIT! -// NO CHECKED-IN PROTOBUF GENCODE -// source: scip.proto -// Protobuf Java Version: 4.32.1 - -package org.scip_code.scip; - -@com.google.protobuf.Generated -public interface RelationshipOrBuilder extends - // @@protoc_insertion_point(interface_extends:scip.Relationship) - com.google.protobuf.MessageOrBuilder { - - /** - * string symbol = 1 [json_name = "symbol"]; - * @return The symbol. - */ - java.lang.String getSymbol(); - /** - * string symbol = 1 [json_name = "symbol"]; - * @return The bytes for symbol. - */ - com.google.protobuf.ByteString - getSymbolBytes(); - - /** - *
-   * When resolving "Find references", this field documents what other symbols
-   * should be included together with this symbol. For example, consider the
-   * following TypeScript code that defines two symbols `Animal#sound()` and
-   * `Dog#sound()`:
-   * ```ts
-   * interface Animal {
-   * ^^^^^^ definition Animal#
-   * sound(): string
-   * ^^^^^ definition Animal#sound()
-   * }
-   * class Dog implements Animal {
-   * ^^^ definition Dog#, relationships = [{symbol: "Animal#", is_implementation: true}]
-   * public sound(): string { return "woof" }
-   * ^^^^^ definition Dog#sound(), references_symbols = Animal#sound(), relationships = [{symbol: "Animal#sound()", is_implementation:true, is_reference: true}]
-   * }
-   * const animal: Animal = new Dog()
-   * ^^^^^^ reference Animal#
-   * console.log(animal.sound())
-   * ^^^^^ reference Animal#sound()
-   * ```
-   * Doing "Find references" on the symbol `Animal#sound()` should return
-   * references to the `Dog#sound()` method as well. Vice-versa, doing "Find
-   * references" on the `Dog#sound()` method should include references to the
-   * `Animal#sound()` method as well.
-   * 
- * - * bool is_reference = 2 [json_name = "isReference"]; - * @return The isReference. - */ - boolean getIsReference(); - - /** - *
-   * Similar to `is_reference` but for "Find implementations".
-   * It's common for `is_implementation` and `is_reference` to both be true but
-   * it's not always the case.
-   * In the TypeScript example above, observe that `Dog#` has an
-   * `is_implementation` relationship with `"Animal#"` but not `is_reference`.
-   * This is because "Find references" on the "Animal#" symbol should not return
-   * "Dog#". We only want "Dog#" to return as a result for "Find
-   * implementations" on the "Animal#" symbol.
-   * 
- * - * bool is_implementation = 3 [json_name = "isImplementation"]; - * @return The isImplementation. - */ - boolean getIsImplementation(); - - /** - *
-   * Similar to `references_symbols` but for "Go to type definition".
-   * 
- * - * bool is_type_definition = 4 [json_name = "isTypeDefinition"]; - * @return The isTypeDefinition. - */ - boolean getIsTypeDefinition(); - - /** - *
-   * Allows overriding the behavior of "Go to definition" and "Find references"
-   * for symbols which do not have a definition of their own or could
-   * potentially have multiple definitions.
-   *
-   * For example, in a language with single inheritance and no field overriding,
-   * inherited fields can reuse the same symbol as the ancestor which declares
-   * the field. In such a situation, is_definition is not needed.
-   *
-   * On the other hand, in languages with single inheritance and some form
-   * of mixins, you can use is_definition to relate the symbol to the
-   * matching symbol in ancestor classes, and is_reference to relate the
-   * symbol to the matching symbol in mixins.
-   * 
- * - * bool is_definition = 5 [json_name = "isDefinition"]; - * @return The isDefinition. - */ - boolean getIsDefinition(); -} diff --git a/bindings/kotlin/src/main/java/org/scip_code/scip/ScipProto.java b/bindings/kotlin/src/main/java/org/scip_code/scip/ScipProto.java deleted file mode 100644 index 37286743..00000000 --- a/bindings/kotlin/src/main/java/org/scip_code/scip/ScipProto.java +++ /dev/null @@ -1,344 +0,0 @@ -// Generated by the protocol buffer compiler. DO NOT EDIT! -// NO CHECKED-IN PROTOBUF GENCODE -// source: scip.proto -// Protobuf Java Version: 4.32.1 - -package org.scip_code.scip; - -@com.google.protobuf.Generated -public final class ScipProto extends com.google.protobuf.GeneratedFile { - private ScipProto() {} - static { - com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( - com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, - /* major= */ 4, - /* minor= */ 32, - /* patch= */ 1, - /* suffix= */ "", - ScipProto.class.getName()); - } - public static void registerAllExtensions( - com.google.protobuf.ExtensionRegistryLite registry) { - } - - public static void registerAllExtensions( - com.google.protobuf.ExtensionRegistry registry) { - registerAllExtensions( - (com.google.protobuf.ExtensionRegistryLite) registry); - } - static final com.google.protobuf.Descriptors.Descriptor - internal_static_scip_Index_descriptor; - static final - com.google.protobuf.GeneratedMessage.FieldAccessorTable - internal_static_scip_Index_fieldAccessorTable; - static final com.google.protobuf.Descriptors.Descriptor - internal_static_scip_Metadata_descriptor; - static final - com.google.protobuf.GeneratedMessage.FieldAccessorTable - internal_static_scip_Metadata_fieldAccessorTable; - static final com.google.protobuf.Descriptors.Descriptor - internal_static_scip_ToolInfo_descriptor; - static final - com.google.protobuf.GeneratedMessage.FieldAccessorTable - internal_static_scip_ToolInfo_fieldAccessorTable; - static final com.google.protobuf.Descriptors.Descriptor - internal_static_scip_Document_descriptor; - static final - com.google.protobuf.GeneratedMessage.FieldAccessorTable - internal_static_scip_Document_fieldAccessorTable; - static final com.google.protobuf.Descriptors.Descriptor - internal_static_scip_Symbol_descriptor; - static final - com.google.protobuf.GeneratedMessage.FieldAccessorTable - internal_static_scip_Symbol_fieldAccessorTable; - static final com.google.protobuf.Descriptors.Descriptor - internal_static_scip_Package_descriptor; - static final - com.google.protobuf.GeneratedMessage.FieldAccessorTable - internal_static_scip_Package_fieldAccessorTable; - static final com.google.protobuf.Descriptors.Descriptor - internal_static_scip_Descriptor_descriptor; - static final - com.google.protobuf.GeneratedMessage.FieldAccessorTable - internal_static_scip_Descriptor_fieldAccessorTable; - static final com.google.protobuf.Descriptors.Descriptor - internal_static_scip_Signature_descriptor; - static final - com.google.protobuf.GeneratedMessage.FieldAccessorTable - internal_static_scip_Signature_fieldAccessorTable; - static final com.google.protobuf.Descriptors.Descriptor - internal_static_scip_SymbolInformation_descriptor; - static final - com.google.protobuf.GeneratedMessage.FieldAccessorTable - internal_static_scip_SymbolInformation_fieldAccessorTable; - static final com.google.protobuf.Descriptors.Descriptor - internal_static_scip_Relationship_descriptor; - static final - com.google.protobuf.GeneratedMessage.FieldAccessorTable - internal_static_scip_Relationship_fieldAccessorTable; - static final com.google.protobuf.Descriptors.Descriptor - internal_static_scip_Occurrence_descriptor; - static final - com.google.protobuf.GeneratedMessage.FieldAccessorTable - internal_static_scip_Occurrence_fieldAccessorTable; - static final com.google.protobuf.Descriptors.Descriptor - internal_static_scip_Diagnostic_descriptor; - static final - com.google.protobuf.GeneratedMessage.FieldAccessorTable - internal_static_scip_Diagnostic_fieldAccessorTable; - - public static com.google.protobuf.Descriptors.FileDescriptor - getDescriptor() { - return descriptor; - } - private static com.google.protobuf.Descriptors.FileDescriptor - descriptor; - static { - java.lang.String[] descriptorData = { - "\n\nscip.proto\022\004scip\"\245\001\n\005Index\022*\n\010metadata" + - "\030\001 \001(\0132\016.scip.MetadataR\010metadata\022,\n\tdocu" + - "ments\030\002 \003(\0132\016.scip.DocumentR\tdocuments\022B" + - "\n\020external_symbols\030\003 \003(\0132\027.scip.SymbolIn" + - "formationR\017externalSymbols\"\325\001\n\010Metadata\022" + - "/\n\007version\030\001 \001(\0162\025.scip.ProtocolVersionR" + - "\007version\022+\n\ttool_info\030\002 \001(\0132\016.scip.ToolI" + - "nfoR\010toolInfo\022!\n\014project_root\030\003 \001(\tR\013pro" + - "jectRoot\022H\n\026text_document_encoding\030\004 \001(\016" + - "2\022.scip.TextEncodingR\024textDocumentEncodi" + - "ng\"V\n\010ToolInfo\022\022\n\004name\030\001 \001(\tR\004name\022\030\n\007ve" + - "rsion\030\002 \001(\tR\007version\022\034\n\targuments\030\003 \003(\tR" + - "\targuments\"\213\002\n\010Document\022\032\n\010language\030\004 \001(" + - "\tR\010language\022#\n\rrelative_path\030\001 \001(\tR\014rela" + - "tivePath\0222\n\013occurrences\030\002 \003(\0132\020.scip.Occ" + - "urrenceR\013occurrences\0221\n\007symbols\030\003 \003(\0132\027." + - "scip.SymbolInformationR\007symbols\022\022\n\004text\030" + - "\005 \001(\tR\004text\022C\n\021position_encoding\030\006 \001(\0162\026" + - ".scip.PositionEncodingR\020positionEncoding" + - "\"}\n\006Symbol\022\026\n\006scheme\030\001 \001(\tR\006scheme\022\'\n\007pa" + - "ckage\030\002 \001(\0132\r.scip.PackageR\007package\0222\n\013d" + - "escriptors\030\003 \003(\0132\020.scip.DescriptorR\013desc" + - "riptors\"Q\n\007Package\022\030\n\007manager\030\001 \001(\tR\007man" + - "ager\022\022\n\004name\030\002 \001(\tR\004name\022\030\n\007version\030\003 \001(" + - "\tR\007version\"\237\002\n\nDescriptor\022\022\n\004name\030\001 \001(\tR" + - "\004name\022$\n\rdisambiguator\030\002 \001(\tR\rdisambigua" + - "tor\022/\n\006suffix\030\003 \001(\0162\027.scip.Descriptor.Su" + - "ffixR\006suffix\"\245\001\n\006Suffix\022\025\n\021UnspecifiedSu" + - "ffix\020\000\022\r\n\tNamespace\020\001\022\017\n\007Package\020\001\032\002\010\001\022\010" + - "\n\004Type\020\002\022\010\n\004Term\020\003\022\n\n\006Method\020\004\022\021\n\rTypePa" + - "rameter\020\005\022\r\n\tParameter\020\006\022\010\n\004Meta\020\007\022\t\n\005Lo" + - "cal\020\010\022\t\n\005Macro\020\t\032\002\020\001\"\201\001\n\tSignature\022\032\n\010la" + - "nguage\030\004 \001(\tR\010language\022\022\n\004text\030\005 \001(\tR\004te" + - "xt\0222\n\013occurrences\030\002 \003(\0132\020.scip.Occurrenc" + - "eR\013occurrencesJ\004\010\001\020\002J\004\010\003\020\004J\004\010\006\020\007\"\323\014\n\021Sym" + - "bolInformation\022\026\n\006symbol\030\001 \001(\tR\006symbol\022$" + - "\n\rdocumentation\030\003 \003(\tR\rdocumentation\0228\n\r" + - "relationships\030\004 \003(\0132\022.scip.RelationshipR" + - "\rrelationships\0220\n\004kind\030\005 \001(\0162\034.scip.Symb" + - "olInformation.KindR\004kind\022!\n\014display_name" + - "\030\006 \001(\tR\013displayName\022H\n\027signature_documen" + - "tation\030\007 \001(\0132\017.scip.SignatureR\026signature" + - "Documentation\022)\n\020enclosing_symbol\030\010 \001(\tR" + - "\017enclosingSymbol\"\373\t\n\004Kind\022\023\n\017Unspecified" + - "Kind\020\000\022\022\n\016AbstractMethod\020B\022\014\n\010Accessor\020H" + - "\022\t\n\005Array\020\001\022\r\n\tAssertion\020\002\022\022\n\016Associated" + - "Type\020\003\022\r\n\tAttribute\020\004\022\t\n\005Axiom\020\005\022\013\n\007Bool" + - "ean\020\006\022\t\n\005Class\020\007\022\013\n\007Concept\020V\022\014\n\010Constan" + - "t\020\010\022\017\n\013Constructor\020\t\022\014\n\010Contract\020>\022\016\n\nDa" + - "taFamily\020\n\022\014\n\010Delegate\020I\022\010\n\004Enum\020\013\022\016\n\nEn" + - "umMember\020\014\022\t\n\005Error\020?\022\t\n\005Event\020\r\022\r\n\tExte" + - "nsion\020T\022\010\n\004Fact\020\016\022\t\n\005Field\020\017\022\010\n\004File\020\020\022\014" + - "\n\010Function\020\021\022\n\n\006Getter\020\022\022\013\n\007Grammar\020\023\022\014\n" + - "\010Instance\020\024\022\r\n\tInterface\020\025\022\007\n\003Key\020\026\022\010\n\004L" + - "ang\020\027\022\t\n\005Lemma\020\030\022\013\n\007Library\020@\022\t\n\005Macro\020\031" + - "\022\n\n\006Method\020\032\022\017\n\013MethodAlias\020J\022\022\n\016MethodR" + - "eceiver\020\033\022\027\n\023MethodSpecification\020C\022\013\n\007Me" + - "ssage\020\034\022\t\n\005Mixin\020U\022\014\n\010Modifier\020A\022\n\n\006Modu" + - "le\020\035\022\r\n\tNamespace\020\036\022\010\n\004Null\020\037\022\n\n\006Number\020" + - " \022\n\n\006Object\020!\022\014\n\010Operator\020\"\022\013\n\007Package\020#" + - "\022\021\n\rPackageObject\020$\022\r\n\tParameter\020%\022\022\n\016Pa" + - "rameterLabel\020&\022\013\n\007Pattern\020\'\022\r\n\tPredicate" + - "\020(\022\014\n\010Property\020)\022\014\n\010Protocol\020*\022\022\n\016Protoc" + - "olMethod\020D\022\025\n\021PureVirtualMethod\020E\022\017\n\013Qua" + - "siquoter\020+\022\021\n\rSelfParameter\020,\022\n\n\006Setter\020" + - "-\022\r\n\tSignature\020.\022\022\n\016SingletonClass\020K\022\023\n\017" + - "SingletonMethod\020L\022\024\n\020StaticDataMember\020M\022" + - "\017\n\013StaticEvent\020N\022\017\n\013StaticField\020O\022\020\n\014Sta" + - "ticMethod\020P\022\022\n\016StaticProperty\020Q\022\022\n\016Stati" + - "cVariable\020R\022\n\n\006String\0200\022\n\n\006Struct\0201\022\r\n\tS" + - "ubscript\020/\022\n\n\006Tactic\0202\022\013\n\007Theorem\0203\022\021\n\rT" + - "hisParameter\0204\022\t\n\005Trait\0205\022\017\n\013TraitMethod" + - "\020F\022\010\n\004Type\0206\022\r\n\tTypeAlias\0207\022\r\n\tTypeClass" + - "\0208\022\023\n\017TypeClassMethod\020G\022\016\n\nTypeFamily\0209\022" + - "\021\n\rTypeParameter\020:\022\t\n\005Union\020;\022\t\n\005Value\020<" + - "\022\014\n\010Variable\020=\"\311\001\n\014Relationship\022\026\n\006symbo" + - "l\030\001 \001(\tR\006symbol\022!\n\014is_reference\030\002 \001(\010R\013i" + - "sReference\022+\n\021is_implementation\030\003 \001(\010R\020i" + - "sImplementation\022,\n\022is_type_definition\030\004 " + - "\001(\010R\020isTypeDefinition\022#\n\ris_definition\030\005" + - " \001(\010R\014isDefinition\"\244\002\n\nOccurrence\022\024\n\005ran" + - "ge\030\001 \003(\005R\005range\022\026\n\006symbol\030\002 \001(\tR\006symbol\022" + - "!\n\014symbol_roles\030\003 \001(\005R\013symbolRoles\0225\n\026ov" + - "erride_documentation\030\004 \003(\tR\025overrideDocu" + - "mentation\0221\n\013syntax_kind\030\005 \001(\0162\020.scip.Sy" + - "ntaxKindR\nsyntaxKind\0222\n\013diagnostics\030\006 \003(" + - "\0132\020.scip.DiagnosticR\013diagnostics\022\'\n\017encl" + - "osing_range\030\007 \003(\005R\016enclosingRange\"\247\001\n\nDi" + - "agnostic\022*\n\010severity\030\001 \001(\0162\016.scip.Severi" + - "tyR\010severity\022\022\n\004code\030\002 \001(\tR\004code\022\030\n\007mess" + - "age\030\003 \001(\tR\007message\022\026\n\006source\030\004 \001(\tR\006sour" + - "ce\022\'\n\004tags\030\005 \003(\0162\023.scip.DiagnosticTagR\004t" + - "ags*1\n\017ProtocolVersion\022\036\n\032UnspecifiedPro" + - "tocolVersion\020\000*@\n\014TextEncoding\022\033\n\027Unspec" + - "ifiedTextEncoding\020\000\022\010\n\004UTF8\020\001\022\t\n\005UTF16\020\002" + - "*\244\001\n\020PositionEncoding\022\037\n\033UnspecifiedPosi" + - "tionEncoding\020\000\022#\n\037UTF8CodeUnitOffsetFrom" + - "LineStart\020\001\022$\n UTF16CodeUnitOffsetFromLi" + - "neStart\020\002\022$\n UTF32CodeUnitOffsetFromLine" + - "Start\020\003*\224\001\n\nSymbolRole\022\031\n\025UnspecifiedSym" + - "bolRole\020\000\022\016\n\nDefinition\020\001\022\n\n\006Import\020\002\022\017\n" + - "\013WriteAccess\020\004\022\016\n\nReadAccess\020\010\022\r\n\tGenera" + - "ted\020\020\022\010\n\004Test\020 \022\025\n\021ForwardDefinition\020@*\352" + - "\006\n\nSyntaxKind\022\031\n\025UnspecifiedSyntaxKind\020\000" + - "\022\013\n\007Comment\020\001\022\030\n\024PunctuationDelimiter\020\002\022" + - "\026\n\022PunctuationBracket\020\003\022\013\n\007Keyword\020\004\022\031\n\021" + - "IdentifierKeyword\020\004\032\002\010\001\022\026\n\022IdentifierOpe" + - "rator\020\005\022\016\n\nIdentifier\020\006\022\025\n\021IdentifierBui" + - "ltin\020\007\022\022\n\016IdentifierNull\020\010\022\026\n\022Identifier" + - "Constant\020\t\022\033\n\027IdentifierMutableGlobal\020\n\022" + - "\027\n\023IdentifierParameter\020\013\022\023\n\017IdentifierLo" + - "cal\020\014\022\026\n\022IdentifierShadowed\020\r\022\027\n\023Identif" + - "ierNamespace\020\016\022\030\n\020IdentifierModule\020\016\032\002\010\001" + - "\022\026\n\022IdentifierFunction\020\017\022 \n\034IdentifierFu" + - "nctionDefinition\020\020\022\023\n\017IdentifierMacro\020\021\022" + - "\035\n\031IdentifierMacroDefinition\020\022\022\022\n\016Identi" + - "fierType\020\023\022\031\n\025IdentifierBuiltinType\020\024\022\027\n" + - "\023IdentifierAttribute\020\025\022\017\n\013RegexEscape\020\026\022" + - "\021\n\rRegexRepeated\020\027\022\021\n\rRegexWildcard\020\030\022\022\n" + - "\016RegexDelimiter\020\031\022\r\n\tRegexJoin\020\032\022\021\n\rStri" + - "ngLiteral\020\033\022\027\n\023StringLiteralEscape\020\034\022\030\n\024" + - "StringLiteralSpecial\020\035\022\024\n\020StringLiteralK" + - "ey\020\036\022\024\n\020CharacterLiteral\020\037\022\022\n\016NumericLit" + - "eral\020 \022\022\n\016BooleanLiteral\020!\022\007\n\003Tag\020\"\022\020\n\014T" + - "agAttribute\020#\022\020\n\014TagDelimiter\020$\032\002\020\001*V\n\010S" + - "everity\022\027\n\023UnspecifiedSeverity\020\000\022\t\n\005Erro" + - "r\020\001\022\013\n\007Warning\020\002\022\017\n\013Information\020\003\022\010\n\004Hin" + - "t\020\004*N\n\rDiagnosticTag\022\034\n\030UnspecifiedDiagn" + - "osticTag\020\000\022\017\n\013Unnecessary\020\001\022\016\n\nDeprecate" + - "d\020\002*\233\n\n\010Language\022\027\n\023UnspecifiedLanguage\020" + - "\000\022\010\n\004ABAP\020<\022\010\n\004Apex\020`\022\007\n\003APL\0201\022\007\n\003Ada\020\'\022" + - "\010\n\004Agda\020-\022\014\n\010AsciiDoc\020V\022\014\n\010Assembly\020:\022\007\n" + - "\003Awk\020B\022\007\n\003Bat\020D\022\n\n\006BibTeX\020Q\022\005\n\001C\020\"\022\t\n\005CO" + - "BOL\020;\022\007\n\003CPP\020#\022\007\n\003CSS\020\032\022\n\n\006CSharp\020\001\022\013\n\007C" + - "lojure\020\010\022\020\n\014Coffeescript\020\025\022\016\n\nCommonLisp" + - "\020\t\022\007\n\003Coq\020/\022\010\n\004CUDA\020a\022\010\n\004Dart\020\003\022\n\n\006Delph" + - "i\0209\022\010\n\004Diff\020X\022\016\n\nDockerfile\020P\022\n\n\006Dyalog\020" + - "2\022\n\n\006Elixir\020\021\022\n\n\006Erlang\020\022\022\n\n\006FSharp\020*\022\010\n" + - "\004Fish\020A\022\010\n\004Flow\020\030\022\013\n\007Fortran\0208\022\016\n\nGit_Co" + - "mmit\020[\022\016\n\nGit_Config\020Y\022\016\n\nGit_Rebase\020\\\022\006" + - "\n\002Go\020!\022\013\n\007GraphQL\020b\022\n\n\006Groovy\020\007\022\010\n\004HTML\020" + - "\036\022\010\n\004Hack\020\024\022\016\n\nHandlebars\020Z\022\013\n\007Haskell\020," + - "\022\t\n\005Idris\020.\022\007\n\003Ini\020H\022\005\n\001J\0203\022\010\n\004JSON\020K\022\010\n" + - "\004Java\020\006\022\016\n\nJavaScript\020\026\022\023\n\017JavaScriptRea" + - "ct\020]\022\013\n\007Jsonnet\020L\022\t\n\005Julia\0207\022\014\n\010Justfile" + - "\020m\022\n\n\006Kotlin\020\004\022\t\n\005LaTeX\020S\022\010\n\004Lean\0200\022\010\n\004L" + - "ess\020\033\022\007\n\003Lua\020\014\022\010\n\004Luau\020l\022\014\n\010Makefile\020O\022\014" + - "\n\010Markdown\020T\022\n\n\006Matlab\0204\022\n\n\006Nickel\020n\022\007\n\003" + - "Nix\020M\022\t\n\005OCaml\020)\022\017\n\013Objective_C\020$\022\021\n\rObj" + - "ective_CPP\020%\022\n\n\006Pascal\020c\022\007\n\003PHP\020\023\022\t\n\005PLS" + - "QL\020F\022\010\n\004Perl\020\r\022\016\n\nPowerShell\020C\022\n\n\006Prolog" + - "\020G\022\014\n\010Protobuf\020d\022\n\n\006Python\020\017\022\005\n\001R\0206\022\n\n\006R" + - "acket\020\013\022\010\n\004Raku\020\016\022\t\n\005Razor\020>\022\t\n\005Repro\020f\022" + - "\010\n\004ReST\020U\022\010\n\004Ruby\020\020\022\010\n\004Rust\020(\022\007\n\003SAS\020=\022\010" + - "\n\004SCSS\020\035\022\007\n\003SML\020+\022\007\n\003SQL\020E\022\010\n\004Sass\020\034\022\t\n\005" + - "Scala\020\005\022\n\n\006Scheme\020\n\022\017\n\013ShellScript\020@\022\013\n\007" + - "Skylark\020N\022\t\n\005Slang\020k\022\014\n\010Solidity\020_\022\n\n\006Sv" + - "elte\020j\022\t\n\005Swift\020\002\022\007\n\003Tcl\020e\022\010\n\004TOML\020I\022\007\n\003" + - "TeX\020R\022\n\n\006Thrift\020g\022\016\n\nTypeScript\020\027\022\023\n\017Typ" + - "eScriptReact\020^\022\013\n\007Verilog\020h\022\010\n\004VHDL\020i\022\017\n" + - "\013VisualBasic\020?\022\007\n\003Vue\020\031\022\013\n\007Wolfram\0205\022\007\n\003" + - "XML\020\037\022\007\n\003XSL\020 \022\010\n\004YAML\020J\022\007\n\003Zig\020&BN\n\022org" + - ".scip_code.scipB\tScipProtoP\001Z+github.com" + - "/scip-code/scip/bindings/go/scip/b\006proto" + - "3" - }; - descriptor = com.google.protobuf.Descriptors.FileDescriptor - .internalBuildGeneratedFileFrom(descriptorData, - new com.google.protobuf.Descriptors.FileDescriptor[] { - }); - internal_static_scip_Index_descriptor = - getDescriptor().getMessageTypes().get(0); - internal_static_scip_Index_fieldAccessorTable = new - com.google.protobuf.GeneratedMessage.FieldAccessorTable( - internal_static_scip_Index_descriptor, - new java.lang.String[] { "Metadata", "Documents", "ExternalSymbols", }); - internal_static_scip_Metadata_descriptor = - getDescriptor().getMessageTypes().get(1); - internal_static_scip_Metadata_fieldAccessorTable = new - com.google.protobuf.GeneratedMessage.FieldAccessorTable( - internal_static_scip_Metadata_descriptor, - new java.lang.String[] { "Version", "ToolInfo", "ProjectRoot", "TextDocumentEncoding", }); - internal_static_scip_ToolInfo_descriptor = - getDescriptor().getMessageTypes().get(2); - internal_static_scip_ToolInfo_fieldAccessorTable = new - com.google.protobuf.GeneratedMessage.FieldAccessorTable( - internal_static_scip_ToolInfo_descriptor, - new java.lang.String[] { "Name", "Version", "Arguments", }); - internal_static_scip_Document_descriptor = - getDescriptor().getMessageTypes().get(3); - internal_static_scip_Document_fieldAccessorTable = new - com.google.protobuf.GeneratedMessage.FieldAccessorTable( - internal_static_scip_Document_descriptor, - new java.lang.String[] { "Language", "RelativePath", "Occurrences", "Symbols", "Text", "PositionEncoding", }); - internal_static_scip_Symbol_descriptor = - getDescriptor().getMessageTypes().get(4); - internal_static_scip_Symbol_fieldAccessorTable = new - com.google.protobuf.GeneratedMessage.FieldAccessorTable( - internal_static_scip_Symbol_descriptor, - new java.lang.String[] { "Scheme", "Package", "Descriptors", }); - internal_static_scip_Package_descriptor = - getDescriptor().getMessageTypes().get(5); - internal_static_scip_Package_fieldAccessorTable = new - com.google.protobuf.GeneratedMessage.FieldAccessorTable( - internal_static_scip_Package_descriptor, - new java.lang.String[] { "Manager", "Name", "Version", }); - internal_static_scip_Descriptor_descriptor = - getDescriptor().getMessageTypes().get(6); - internal_static_scip_Descriptor_fieldAccessorTable = new - com.google.protobuf.GeneratedMessage.FieldAccessorTable( - internal_static_scip_Descriptor_descriptor, - new java.lang.String[] { "Name", "Disambiguator", "Suffix", }); - internal_static_scip_Signature_descriptor = - getDescriptor().getMessageTypes().get(7); - internal_static_scip_Signature_fieldAccessorTable = new - com.google.protobuf.GeneratedMessage.FieldAccessorTable( - internal_static_scip_Signature_descriptor, - new java.lang.String[] { "Language", "Text", "Occurrences", }); - internal_static_scip_SymbolInformation_descriptor = - getDescriptor().getMessageTypes().get(8); - internal_static_scip_SymbolInformation_fieldAccessorTable = new - com.google.protobuf.GeneratedMessage.FieldAccessorTable( - internal_static_scip_SymbolInformation_descriptor, - new java.lang.String[] { "Symbol", "Documentation", "Relationships", "Kind", "DisplayName", "SignatureDocumentation", "EnclosingSymbol", }); - internal_static_scip_Relationship_descriptor = - getDescriptor().getMessageTypes().get(9); - internal_static_scip_Relationship_fieldAccessorTable = new - com.google.protobuf.GeneratedMessage.FieldAccessorTable( - internal_static_scip_Relationship_descriptor, - new java.lang.String[] { "Symbol", "IsReference", "IsImplementation", "IsTypeDefinition", "IsDefinition", }); - internal_static_scip_Occurrence_descriptor = - getDescriptor().getMessageTypes().get(10); - internal_static_scip_Occurrence_fieldAccessorTable = new - com.google.protobuf.GeneratedMessage.FieldAccessorTable( - internal_static_scip_Occurrence_descriptor, - new java.lang.String[] { "Range", "Symbol", "SymbolRoles", "OverrideDocumentation", "SyntaxKind", "Diagnostics", "EnclosingRange", }); - internal_static_scip_Diagnostic_descriptor = - getDescriptor().getMessageTypes().get(11); - internal_static_scip_Diagnostic_fieldAccessorTable = new - com.google.protobuf.GeneratedMessage.FieldAccessorTable( - internal_static_scip_Diagnostic_descriptor, - new java.lang.String[] { "Severity", "Code", "Message", "Source", "Tags", }); - descriptor.resolveAllFeaturesImmutable(); - } - - // @@protoc_insertion_point(outer_class_scope) -} diff --git a/bindings/kotlin/src/main/java/org/scip_code/scip/Severity.java b/bindings/kotlin/src/main/java/org/scip_code/scip/Severity.java deleted file mode 100644 index a9d5164a..00000000 --- a/bindings/kotlin/src/main/java/org/scip_code/scip/Severity.java +++ /dev/null @@ -1,152 +0,0 @@ -// Generated by the protocol buffer compiler. DO NOT EDIT! -// NO CHECKED-IN PROTOBUF GENCODE -// source: scip.proto -// Protobuf Java Version: 4.32.1 - -package org.scip_code.scip; - -/** - * Protobuf enum {@code scip.Severity} - */ -@com.google.protobuf.Generated -public enum Severity - implements com.google.protobuf.ProtocolMessageEnum { - /** - * UnspecifiedSeverity = 0; - */ - UnspecifiedSeverity(0), - /** - * Error = 1; - */ - Error(1), - /** - * Warning = 2; - */ - Warning(2), - /** - * Information = 3; - */ - Information(3), - /** - * Hint = 4; - */ - Hint(4), - UNRECOGNIZED(-1), - ; - - static { - com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( - com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, - /* major= */ 4, - /* minor= */ 32, - /* patch= */ 1, - /* suffix= */ "", - Severity.class.getName()); - } - /** - * UnspecifiedSeverity = 0; - */ - public static final int UnspecifiedSeverity_VALUE = 0; - /** - * Error = 1; - */ - public static final int Error_VALUE = 1; - /** - * Warning = 2; - */ - public static final int Warning_VALUE = 2; - /** - * Information = 3; - */ - public static final int Information_VALUE = 3; - /** - * Hint = 4; - */ - public static final int Hint_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 Severity 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 Severity forNumber(int value) { - switch (value) { - case 0: return UnspecifiedSeverity; - case 1: return Error; - case 2: return Warning; - case 3: return Information; - case 4: return Hint; - default: return null; - } - } - - public static com.google.protobuf.Internal.EnumLiteMap - internalGetValueMap() { - return internalValueMap; - } - private static final com.google.protobuf.Internal.EnumLiteMap< - Severity> internalValueMap = - new com.google.protobuf.Internal.EnumLiteMap() { - public Severity findValueByNumber(int number) { - return Severity.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 com.google.protobuf.Descriptors.EnumDescriptor - getDescriptor() { - return org.scip_code.scip.ScipProto.getDescriptor().getEnumTypes().get(5); - } - - private static final Severity[] VALUES = values(); - - public static Severity 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 Severity(int value) { - this.value = value; - } - - // @@protoc_insertion_point(enum_scope:scip.Severity) -} - diff --git a/bindings/kotlin/src/main/java/org/scip_code/scip/Signature.java b/bindings/kotlin/src/main/java/org/scip_code/scip/Signature.java deleted file mode 100644 index bde4efbd..00000000 --- a/bindings/kotlin/src/main/java/org/scip_code/scip/Signature.java +++ /dev/null @@ -1,1200 +0,0 @@ -// Generated by the protocol buffer compiler. DO NOT EDIT! -// NO CHECKED-IN PROTOBUF GENCODE -// source: scip.proto -// Protobuf Java Version: 4.32.1 - -package org.scip_code.scip; - -/** - *
- * Signature represents the signature of a symbol as it's displayed in API
- * documentation or hover tooltips. It uses a subset of Document's fields with
- * the same field numbers for wire compatibility with older indexes that encoded
- * signatures using the Document message type.
- * 
- * - * Protobuf type {@code scip.Signature} - */ -@com.google.protobuf.Generated -public final class Signature extends - com.google.protobuf.GeneratedMessage implements - // @@protoc_insertion_point(message_implements:scip.Signature) - SignatureOrBuilder { -private static final long serialVersionUID = 0L; - static { - com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( - com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, - /* major= */ 4, - /* minor= */ 32, - /* patch= */ 1, - /* suffix= */ "", - Signature.class.getName()); - } - // Use Signature.newBuilder() to construct. - private Signature(com.google.protobuf.GeneratedMessage.Builder builder) { - super(builder); - } - private Signature() { - language_ = ""; - text_ = ""; - occurrences_ = java.util.Collections.emptyList(); - } - - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return org.scip_code.scip.ScipProto.internal_static_scip_Signature_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessage.FieldAccessorTable - internalGetFieldAccessorTable() { - return org.scip_code.scip.ScipProto.internal_static_scip_Signature_fieldAccessorTable - .ensureFieldAccessorsInitialized( - org.scip_code.scip.Signature.class, org.scip_code.scip.Signature.Builder.class); - } - - public static final int LANGUAGE_FIELD_NUMBER = 4; - @SuppressWarnings("serial") - private volatile java.lang.Object language_ = ""; - /** - *
-   * The language of the signature, e.g. "java", "go", "python".
-   * 
- * - * string language = 4 [json_name = "language"]; - * @return The language. - */ - @java.lang.Override - public java.lang.String getLanguage() { - java.lang.Object ref = language_; - 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(); - language_ = s; - return s; - } - } - /** - *
-   * The language of the signature, e.g. "java", "go", "python".
-   * 
- * - * string language = 4 [json_name = "language"]; - * @return The bytes for language. - */ - @java.lang.Override - public com.google.protobuf.ByteString - getLanguageBytes() { - java.lang.Object ref = language_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - language_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - - public static final int TEXT_FIELD_NUMBER = 5; - @SuppressWarnings("serial") - private volatile java.lang.Object text_ = ""; - /** - *
-   * The text content of the signature, e.g. "void add(int a, int b)".
-   * 
- * - * string text = 5 [json_name = "text"]; - * @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; - } - } - /** - *
-   * The text content of the signature, e.g. "void add(int a, int b)".
-   * 
- * - * string text = 5 [json_name = "text"]; - * @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 OCCURRENCES_FIELD_NUMBER = 2; - @SuppressWarnings("serial") - private java.util.List occurrences_; - /** - *
-   * (optional) Occurrences within the signature text that reference other
-   * symbols, enabling hyperlinking of types in the signature. Ranges are
-   * relative to the `text` field.
-   * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - @java.lang.Override - public java.util.List getOccurrencesList() { - return occurrences_; - } - /** - *
-   * (optional) Occurrences within the signature text that reference other
-   * symbols, enabling hyperlinking of types in the signature. Ranges are
-   * relative to the `text` field.
-   * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - @java.lang.Override - public java.util.List - getOccurrencesOrBuilderList() { - return occurrences_; - } - /** - *
-   * (optional) Occurrences within the signature text that reference other
-   * symbols, enabling hyperlinking of types in the signature. Ranges are
-   * relative to the `text` field.
-   * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - @java.lang.Override - public int getOccurrencesCount() { - return occurrences_.size(); - } - /** - *
-   * (optional) Occurrences within the signature text that reference other
-   * symbols, enabling hyperlinking of types in the signature. Ranges are
-   * relative to the `text` field.
-   * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - @java.lang.Override - public org.scip_code.scip.Occurrence getOccurrences(int index) { - return occurrences_.get(index); - } - /** - *
-   * (optional) Occurrences within the signature text that reference other
-   * symbols, enabling hyperlinking of types in the signature. Ranges are
-   * relative to the `text` field.
-   * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - @java.lang.Override - public org.scip_code.scip.OccurrenceOrBuilder 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 { - for (int i = 0; i < occurrences_.size(); i++) { - output.writeMessage(2, occurrences_.get(i)); - } - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(language_)) { - com.google.protobuf.GeneratedMessage.writeString(output, 4, language_); - } - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(text_)) { - com.google.protobuf.GeneratedMessage.writeString(output, 5, text_); - } - getUnknownFields().writeTo(output); - } - - @java.lang.Override - public int getSerializedSize() { - int size = memoizedSize; - if (size != -1) return size; - - size = 0; - for (int i = 0; i < occurrences_.size(); i++) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(2, occurrences_.get(i)); - } - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(language_)) { - size += com.google.protobuf.GeneratedMessage.computeStringSize(4, language_); - } - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(text_)) { - size += com.google.protobuf.GeneratedMessage.computeStringSize(5, text_); - } - size += getUnknownFields().getSerializedSize(); - memoizedSize = size; - return size; - } - - @java.lang.Override - public boolean equals(final java.lang.Object obj) { - if (obj == this) { - return true; - } - if (!(obj instanceof org.scip_code.scip.Signature)) { - return super.equals(obj); - } - org.scip_code.scip.Signature other = (org.scip_code.scip.Signature) obj; - - if (!getLanguage() - .equals(other.getLanguage())) return false; - if (!getText() - .equals(other.getText())) return false; - if (!getOccurrencesList() - .equals(other.getOccurrencesList())) return false; - if (!getUnknownFields().equals(other.getUnknownFields())) 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) + LANGUAGE_FIELD_NUMBER; - hash = (53 * hash) + getLanguage().hashCode(); - hash = (37 * hash) + TEXT_FIELD_NUMBER; - hash = (53 * hash) + getText().hashCode(); - if (getOccurrencesCount() > 0) { - hash = (37 * hash) + OCCURRENCES_FIELD_NUMBER; - hash = (53 * hash) + getOccurrencesList().hashCode(); - } - hash = (29 * hash) + getUnknownFields().hashCode(); - memoizedHashCode = hash; - return hash; - } - - public static org.scip_code.scip.Signature parseFrom( - java.nio.ByteBuffer data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static org.scip_code.scip.Signature parseFrom( - java.nio.ByteBuffer data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static org.scip_code.scip.Signature parseFrom( - com.google.protobuf.ByteString data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static org.scip_code.scip.Signature parseFrom( - com.google.protobuf.ByteString data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static org.scip_code.scip.Signature parseFrom(byte[] data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static org.scip_code.scip.Signature parseFrom( - byte[] data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static org.scip_code.scip.Signature parseFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input); - } - public static org.scip_code.scip.Signature parseFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input, extensionRegistry); - } - - public static org.scip_code.scip.Signature parseDelimitedFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseDelimitedWithIOException(PARSER, input); - } - - public static org.scip_code.scip.Signature parseDelimitedFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseDelimitedWithIOException(PARSER, input, extensionRegistry); - } - public static org.scip_code.scip.Signature parseFrom( - com.google.protobuf.CodedInputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input); - } - public static org.scip_code.scip.Signature parseFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input, extensionRegistry); - } - - @java.lang.Override - public Builder newBuilderForType() { return newBuilder(); } - public static Builder newBuilder() { - return DEFAULT_INSTANCE.toBuilder(); - } - public static Builder newBuilder(org.scip_code.scip.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.GeneratedMessage.BuilderParent parent) { - Builder builder = new Builder(parent); - return builder; - } - /** - *
-   * Signature represents the signature of a symbol as it's displayed in API
-   * documentation or hover tooltips. It uses a subset of Document's fields with
-   * the same field numbers for wire compatibility with older indexes that encoded
-   * signatures using the Document message type.
-   * 
- * - * Protobuf type {@code scip.Signature} - */ - public static final class Builder extends - com.google.protobuf.GeneratedMessage.Builder implements - // @@protoc_insertion_point(builder_implements:scip.Signature) - org.scip_code.scip.SignatureOrBuilder { - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return org.scip_code.scip.ScipProto.internal_static_scip_Signature_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessage.FieldAccessorTable - internalGetFieldAccessorTable() { - return org.scip_code.scip.ScipProto.internal_static_scip_Signature_fieldAccessorTable - .ensureFieldAccessorsInitialized( - org.scip_code.scip.Signature.class, org.scip_code.scip.Signature.Builder.class); - } - - // Construct using org.scip_code.scip.Signature.newBuilder() - private Builder() { - - } - - private Builder( - com.google.protobuf.GeneratedMessage.BuilderParent parent) { - super(parent); - - } - @java.lang.Override - public Builder clear() { - super.clear(); - bitField0_ = 0; - language_ = ""; - text_ = ""; - if (occurrencesBuilder_ == null) { - occurrences_ = java.util.Collections.emptyList(); - } else { - occurrences_ = null; - occurrencesBuilder_.clear(); - } - bitField0_ = (bitField0_ & ~0x00000004); - return this; - } - - @java.lang.Override - public com.google.protobuf.Descriptors.Descriptor - getDescriptorForType() { - return org.scip_code.scip.ScipProto.internal_static_scip_Signature_descriptor; - } - - @java.lang.Override - public org.scip_code.scip.Signature getDefaultInstanceForType() { - return org.scip_code.scip.Signature.getDefaultInstance(); - } - - @java.lang.Override - public org.scip_code.scip.Signature build() { - org.scip_code.scip.Signature result = buildPartial(); - if (!result.isInitialized()) { - throw newUninitializedMessageException(result); - } - return result; - } - - @java.lang.Override - public org.scip_code.scip.Signature buildPartial() { - org.scip_code.scip.Signature result = new org.scip_code.scip.Signature(this); - buildPartialRepeatedFields(result); - if (bitField0_ != 0) { buildPartial0(result); } - onBuilt(); - return result; - } - - private void buildPartialRepeatedFields(org.scip_code.scip.Signature result) { - if (occurrencesBuilder_ == null) { - if (((bitField0_ & 0x00000004) != 0)) { - occurrences_ = java.util.Collections.unmodifiableList(occurrences_); - bitField0_ = (bitField0_ & ~0x00000004); - } - result.occurrences_ = occurrences_; - } else { - result.occurrences_ = occurrencesBuilder_.build(); - } - } - - private void buildPartial0(org.scip_code.scip.Signature result) { - int from_bitField0_ = bitField0_; - if (((from_bitField0_ & 0x00000001) != 0)) { - result.language_ = language_; - } - if (((from_bitField0_ & 0x00000002) != 0)) { - result.text_ = text_; - } - } - - @java.lang.Override - public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof org.scip_code.scip.Signature) { - return mergeFrom((org.scip_code.scip.Signature)other); - } else { - super.mergeFrom(other); - return this; - } - } - - public Builder mergeFrom(org.scip_code.scip.Signature other) { - if (other == org.scip_code.scip.Signature.getDefaultInstance()) return this; - if (!other.getLanguage().isEmpty()) { - language_ = other.language_; - bitField0_ |= 0x00000001; - onChanged(); - } - if (!other.getText().isEmpty()) { - text_ = other.text_; - bitField0_ |= 0x00000002; - onChanged(); - } - if (occurrencesBuilder_ == null) { - if (!other.occurrences_.isEmpty()) { - if (occurrences_.isEmpty()) { - occurrences_ = other.occurrences_; - bitField0_ = (bitField0_ & ~0x00000004); - } else { - ensureOccurrencesIsMutable(); - occurrences_.addAll(other.occurrences_); - } - onChanged(); - } - } else { - if (!other.occurrences_.isEmpty()) { - if (occurrencesBuilder_.isEmpty()) { - occurrencesBuilder_.dispose(); - occurrencesBuilder_ = null; - occurrences_ = other.occurrences_; - bitField0_ = (bitField0_ & ~0x00000004); - occurrencesBuilder_ = - com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ? - internalGetOccurrencesFieldBuilder() : null; - } else { - occurrencesBuilder_.addAllMessages(other.occurrences_); - } - } - } - this.mergeUnknownFields(other.getUnknownFields()); - 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 { - if (extensionRegistry == null) { - throw new java.lang.NullPointerException(); - } - try { - boolean done = false; - while (!done) { - int tag = input.readTag(); - switch (tag) { - case 0: - done = true; - break; - case 18: { - org.scip_code.scip.Occurrence m = - input.readMessage( - org.scip_code.scip.Occurrence.parser(), - extensionRegistry); - if (occurrencesBuilder_ == null) { - ensureOccurrencesIsMutable(); - occurrences_.add(m); - } else { - occurrencesBuilder_.addMessage(m); - } - break; - } // case 18 - case 34: { - language_ = input.readStringRequireUtf8(); - bitField0_ |= 0x00000001; - break; - } // case 34 - case 42: { - text_ = input.readStringRequireUtf8(); - bitField0_ |= 0x00000002; - break; - } // case 42 - default: { - if (!super.parseUnknownField(input, extensionRegistry, tag)) { - done = true; // was an endgroup tag - } - break; - } // default: - } // switch (tag) - } // while (!done) - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.unwrapIOException(); - } finally { - onChanged(); - } // finally - return this; - } - private int bitField0_; - - private java.lang.Object language_ = ""; - /** - *
-     * The language of the signature, e.g. "java", "go", "python".
-     * 
- * - * string language = 4 [json_name = "language"]; - * @return The language. - */ - public java.lang.String getLanguage() { - java.lang.Object ref = language_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - language_ = s; - return s; - } else { - return (java.lang.String) ref; - } - } - /** - *
-     * The language of the signature, e.g. "java", "go", "python".
-     * 
- * - * string language = 4 [json_name = "language"]; - * @return The bytes for language. - */ - public com.google.protobuf.ByteString - getLanguageBytes() { - java.lang.Object ref = language_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - language_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - /** - *
-     * The language of the signature, e.g. "java", "go", "python".
-     * 
- * - * string language = 4 [json_name = "language"]; - * @param value The language to set. - * @return This builder for chaining. - */ - public Builder setLanguage( - java.lang.String value) { - if (value == null) { throw new NullPointerException(); } - language_ = value; - bitField0_ |= 0x00000001; - onChanged(); - return this; - } - /** - *
-     * The language of the signature, e.g. "java", "go", "python".
-     * 
- * - * string language = 4 [json_name = "language"]; - * @return This builder for chaining. - */ - public Builder clearLanguage() { - language_ = getDefaultInstance().getLanguage(); - bitField0_ = (bitField0_ & ~0x00000001); - onChanged(); - return this; - } - /** - *
-     * The language of the signature, e.g. "java", "go", "python".
-     * 
- * - * string language = 4 [json_name = "language"]; - * @param value The bytes for language to set. - * @return This builder for chaining. - */ - public Builder setLanguageBytes( - com.google.protobuf.ByteString value) { - if (value == null) { throw new NullPointerException(); } - checkByteStringIsUtf8(value); - language_ = value; - bitField0_ |= 0x00000001; - onChanged(); - return this; - } - - private java.lang.Object text_ = ""; - /** - *
-     * The text content of the signature, e.g. "void add(int a, int b)".
-     * 
- * - * string text = 5 [json_name = "text"]; - * @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; - } - } - /** - *
-     * The text content of the signature, e.g. "void add(int a, int b)".
-     * 
- * - * string text = 5 [json_name = "text"]; - * @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; - } - } - /** - *
-     * The text content of the signature, e.g. "void add(int a, int b)".
-     * 
- * - * string text = 5 [json_name = "text"]; - * @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; - bitField0_ |= 0x00000002; - onChanged(); - return this; - } - /** - *
-     * The text content of the signature, e.g. "void add(int a, int b)".
-     * 
- * - * string text = 5 [json_name = "text"]; - * @return This builder for chaining. - */ - public Builder clearText() { - text_ = getDefaultInstance().getText(); - bitField0_ = (bitField0_ & ~0x00000002); - onChanged(); - return this; - } - /** - *
-     * The text content of the signature, e.g. "void add(int a, int b)".
-     * 
- * - * string text = 5 [json_name = "text"]; - * @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; - bitField0_ |= 0x00000002; - onChanged(); - return this; - } - - private java.util.List occurrences_ = - java.util.Collections.emptyList(); - private void ensureOccurrencesIsMutable() { - if (!((bitField0_ & 0x00000004) != 0)) { - occurrences_ = new java.util.ArrayList(occurrences_); - bitField0_ |= 0x00000004; - } - } - - private com.google.protobuf.RepeatedFieldBuilder< - org.scip_code.scip.Occurrence, org.scip_code.scip.Occurrence.Builder, org.scip_code.scip.OccurrenceOrBuilder> occurrencesBuilder_; - - /** - *
-     * (optional) Occurrences within the signature text that reference other
-     * symbols, enabling hyperlinking of types in the signature. Ranges are
-     * relative to the `text` field.
-     * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public java.util.List getOccurrencesList() { - if (occurrencesBuilder_ == null) { - return java.util.Collections.unmodifiableList(occurrences_); - } else { - return occurrencesBuilder_.getMessageList(); - } - } - /** - *
-     * (optional) Occurrences within the signature text that reference other
-     * symbols, enabling hyperlinking of types in the signature. Ranges are
-     * relative to the `text` field.
-     * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public int getOccurrencesCount() { - if (occurrencesBuilder_ == null) { - return occurrences_.size(); - } else { - return occurrencesBuilder_.getCount(); - } - } - /** - *
-     * (optional) Occurrences within the signature text that reference other
-     * symbols, enabling hyperlinking of types in the signature. Ranges are
-     * relative to the `text` field.
-     * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public org.scip_code.scip.Occurrence getOccurrences(int index) { - if (occurrencesBuilder_ == null) { - return occurrences_.get(index); - } else { - return occurrencesBuilder_.getMessage(index); - } - } - /** - *
-     * (optional) Occurrences within the signature text that reference other
-     * symbols, enabling hyperlinking of types in the signature. Ranges are
-     * relative to the `text` field.
-     * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public Builder setOccurrences( - int index, org.scip_code.scip.Occurrence value) { - if (occurrencesBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureOccurrencesIsMutable(); - occurrences_.set(index, value); - onChanged(); - } else { - occurrencesBuilder_.setMessage(index, value); - } - return this; - } - /** - *
-     * (optional) Occurrences within the signature text that reference other
-     * symbols, enabling hyperlinking of types in the signature. Ranges are
-     * relative to the `text` field.
-     * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public Builder setOccurrences( - int index, org.scip_code.scip.Occurrence.Builder builderForValue) { - if (occurrencesBuilder_ == null) { - ensureOccurrencesIsMutable(); - occurrences_.set(index, builderForValue.build()); - onChanged(); - } else { - occurrencesBuilder_.setMessage(index, builderForValue.build()); - } - return this; - } - /** - *
-     * (optional) Occurrences within the signature text that reference other
-     * symbols, enabling hyperlinking of types in the signature. Ranges are
-     * relative to the `text` field.
-     * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public Builder addOccurrences(org.scip_code.scip.Occurrence value) { - if (occurrencesBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureOccurrencesIsMutable(); - occurrences_.add(value); - onChanged(); - } else { - occurrencesBuilder_.addMessage(value); - } - return this; - } - /** - *
-     * (optional) Occurrences within the signature text that reference other
-     * symbols, enabling hyperlinking of types in the signature. Ranges are
-     * relative to the `text` field.
-     * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public Builder addOccurrences( - int index, org.scip_code.scip.Occurrence value) { - if (occurrencesBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureOccurrencesIsMutable(); - occurrences_.add(index, value); - onChanged(); - } else { - occurrencesBuilder_.addMessage(index, value); - } - return this; - } - /** - *
-     * (optional) Occurrences within the signature text that reference other
-     * symbols, enabling hyperlinking of types in the signature. Ranges are
-     * relative to the `text` field.
-     * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public Builder addOccurrences( - org.scip_code.scip.Occurrence.Builder builderForValue) { - if (occurrencesBuilder_ == null) { - ensureOccurrencesIsMutable(); - occurrences_.add(builderForValue.build()); - onChanged(); - } else { - occurrencesBuilder_.addMessage(builderForValue.build()); - } - return this; - } - /** - *
-     * (optional) Occurrences within the signature text that reference other
-     * symbols, enabling hyperlinking of types in the signature. Ranges are
-     * relative to the `text` field.
-     * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public Builder addOccurrences( - int index, org.scip_code.scip.Occurrence.Builder builderForValue) { - if (occurrencesBuilder_ == null) { - ensureOccurrencesIsMutable(); - occurrences_.add(index, builderForValue.build()); - onChanged(); - } else { - occurrencesBuilder_.addMessage(index, builderForValue.build()); - } - return this; - } - /** - *
-     * (optional) Occurrences within the signature text that reference other
-     * symbols, enabling hyperlinking of types in the signature. Ranges are
-     * relative to the `text` field.
-     * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - 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; - } - /** - *
-     * (optional) Occurrences within the signature text that reference other
-     * symbols, enabling hyperlinking of types in the signature. Ranges are
-     * relative to the `text` field.
-     * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public Builder clearOccurrences() { - if (occurrencesBuilder_ == null) { - occurrences_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000004); - onChanged(); - } else { - occurrencesBuilder_.clear(); - } - return this; - } - /** - *
-     * (optional) Occurrences within the signature text that reference other
-     * symbols, enabling hyperlinking of types in the signature. Ranges are
-     * relative to the `text` field.
-     * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public Builder removeOccurrences(int index) { - if (occurrencesBuilder_ == null) { - ensureOccurrencesIsMutable(); - occurrences_.remove(index); - onChanged(); - } else { - occurrencesBuilder_.remove(index); - } - return this; - } - /** - *
-     * (optional) Occurrences within the signature text that reference other
-     * symbols, enabling hyperlinking of types in the signature. Ranges are
-     * relative to the `text` field.
-     * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public org.scip_code.scip.Occurrence.Builder getOccurrencesBuilder( - int index) { - return internalGetOccurrencesFieldBuilder().getBuilder(index); - } - /** - *
-     * (optional) Occurrences within the signature text that reference other
-     * symbols, enabling hyperlinking of types in the signature. Ranges are
-     * relative to the `text` field.
-     * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public org.scip_code.scip.OccurrenceOrBuilder getOccurrencesOrBuilder( - int index) { - if (occurrencesBuilder_ == null) { - return occurrences_.get(index); } else { - return occurrencesBuilder_.getMessageOrBuilder(index); - } - } - /** - *
-     * (optional) Occurrences within the signature text that reference other
-     * symbols, enabling hyperlinking of types in the signature. Ranges are
-     * relative to the `text` field.
-     * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public java.util.List - getOccurrencesOrBuilderList() { - if (occurrencesBuilder_ != null) { - return occurrencesBuilder_.getMessageOrBuilderList(); - } else { - return java.util.Collections.unmodifiableList(occurrences_); - } - } - /** - *
-     * (optional) Occurrences within the signature text that reference other
-     * symbols, enabling hyperlinking of types in the signature. Ranges are
-     * relative to the `text` field.
-     * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public org.scip_code.scip.Occurrence.Builder addOccurrencesBuilder() { - return internalGetOccurrencesFieldBuilder().addBuilder( - org.scip_code.scip.Occurrence.getDefaultInstance()); - } - /** - *
-     * (optional) Occurrences within the signature text that reference other
-     * symbols, enabling hyperlinking of types in the signature. Ranges are
-     * relative to the `text` field.
-     * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public org.scip_code.scip.Occurrence.Builder addOccurrencesBuilder( - int index) { - return internalGetOccurrencesFieldBuilder().addBuilder( - index, org.scip_code.scip.Occurrence.getDefaultInstance()); - } - /** - *
-     * (optional) Occurrences within the signature text that reference other
-     * symbols, enabling hyperlinking of types in the signature. Ranges are
-     * relative to the `text` field.
-     * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - public java.util.List - getOccurrencesBuilderList() { - return internalGetOccurrencesFieldBuilder().getBuilderList(); - } - private com.google.protobuf.RepeatedFieldBuilder< - org.scip_code.scip.Occurrence, org.scip_code.scip.Occurrence.Builder, org.scip_code.scip.OccurrenceOrBuilder> - internalGetOccurrencesFieldBuilder() { - if (occurrencesBuilder_ == null) { - occurrencesBuilder_ = new com.google.protobuf.RepeatedFieldBuilder< - org.scip_code.scip.Occurrence, org.scip_code.scip.Occurrence.Builder, org.scip_code.scip.OccurrenceOrBuilder>( - occurrences_, - ((bitField0_ & 0x00000004) != 0), - getParentForChildren(), - isClean()); - occurrences_ = null; - } - return occurrencesBuilder_; - } - - // @@protoc_insertion_point(builder_scope:scip.Signature) - } - - // @@protoc_insertion_point(class_scope:scip.Signature) - private static final org.scip_code.scip.Signature DEFAULT_INSTANCE; - static { - DEFAULT_INSTANCE = new org.scip_code.scip.Signature(); - } - - public static org.scip_code.scip.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 { - Builder builder = newBuilder(); - try { - builder.mergeFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.setUnfinishedMessage(builder.buildPartial()); - } catch (com.google.protobuf.UninitializedMessageException e) { - throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); - } catch (java.io.IOException e) { - throw new com.google.protobuf.InvalidProtocolBufferException(e) - .setUnfinishedMessage(builder.buildPartial()); - } - return builder.buildPartial(); - } - }; - - public static com.google.protobuf.Parser parser() { - return PARSER; - } - - @java.lang.Override - public com.google.protobuf.Parser getParserForType() { - return PARSER; - } - - @java.lang.Override - public org.scip_code.scip.Signature getDefaultInstanceForType() { - return DEFAULT_INSTANCE; - } - -} - diff --git a/bindings/kotlin/src/main/java/org/scip_code/scip/SignatureOrBuilder.java b/bindings/kotlin/src/main/java/org/scip_code/scip/SignatureOrBuilder.java deleted file mode 100644 index 4efea015..00000000 --- a/bindings/kotlin/src/main/java/org/scip_code/scip/SignatureOrBuilder.java +++ /dev/null @@ -1,106 +0,0 @@ -// Generated by the protocol buffer compiler. DO NOT EDIT! -// NO CHECKED-IN PROTOBUF GENCODE -// source: scip.proto -// Protobuf Java Version: 4.32.1 - -package org.scip_code.scip; - -@com.google.protobuf.Generated -public interface SignatureOrBuilder extends - // @@protoc_insertion_point(interface_extends:scip.Signature) - com.google.protobuf.MessageOrBuilder { - - /** - *
-   * The language of the signature, e.g. "java", "go", "python".
-   * 
- * - * string language = 4 [json_name = "language"]; - * @return The language. - */ - java.lang.String getLanguage(); - /** - *
-   * The language of the signature, e.g. "java", "go", "python".
-   * 
- * - * string language = 4 [json_name = "language"]; - * @return The bytes for language. - */ - com.google.protobuf.ByteString - getLanguageBytes(); - - /** - *
-   * The text content of the signature, e.g. "void add(int a, int b)".
-   * 
- * - * string text = 5 [json_name = "text"]; - * @return The text. - */ - java.lang.String getText(); - /** - *
-   * The text content of the signature, e.g. "void add(int a, int b)".
-   * 
- * - * string text = 5 [json_name = "text"]; - * @return The bytes for text. - */ - com.google.protobuf.ByteString - getTextBytes(); - - /** - *
-   * (optional) Occurrences within the signature text that reference other
-   * symbols, enabling hyperlinking of types in the signature. Ranges are
-   * relative to the `text` field.
-   * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - java.util.List - getOccurrencesList(); - /** - *
-   * (optional) Occurrences within the signature text that reference other
-   * symbols, enabling hyperlinking of types in the signature. Ranges are
-   * relative to the `text` field.
-   * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - org.scip_code.scip.Occurrence getOccurrences(int index); - /** - *
-   * (optional) Occurrences within the signature text that reference other
-   * symbols, enabling hyperlinking of types in the signature. Ranges are
-   * relative to the `text` field.
-   * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - int getOccurrencesCount(); - /** - *
-   * (optional) Occurrences within the signature text that reference other
-   * symbols, enabling hyperlinking of types in the signature. Ranges are
-   * relative to the `text` field.
-   * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - java.util.List - getOccurrencesOrBuilderList(); - /** - *
-   * (optional) Occurrences within the signature text that reference other
-   * symbols, enabling hyperlinking of types in the signature. Ranges are
-   * relative to the `text` field.
-   * 
- * - * repeated .scip.Occurrence occurrences = 2 [json_name = "occurrences"]; - */ - org.scip_code.scip.OccurrenceOrBuilder getOccurrencesOrBuilder( - int index); -} diff --git a/bindings/kotlin/src/main/java/org/scip_code/scip/Symbol.java b/bindings/kotlin/src/main/java/org/scip_code/scip/Symbol.java deleted file mode 100644 index 69c453fe..00000000 --- a/bindings/kotlin/src/main/java/org/scip_code/scip/Symbol.java +++ /dev/null @@ -1,1140 +0,0 @@ -// Generated by the protocol buffer compiler. DO NOT EDIT! -// NO CHECKED-IN PROTOBUF GENCODE -// source: scip.proto -// Protobuf Java Version: 4.32.1 - -package org.scip_code.scip; - -/** - *
- * Symbol is similar to a URI, it identifies a class, method, or a local
- * variable. `SymbolInformation` contains rich metadata about symbols such as
- * the docstring.
- *
- * Symbol has a standardized string representation, which can be used
- * interchangeably with `Symbol`. The syntax for Symbol is the following:
- * ```
- * # (<x>)+ stands for one or more repetitions of <x>
- * # (<x>)? stands for zero or one occurrence of <x>
- * <symbol>               ::= <scheme> ' ' <package> ' ' (<descriptor>)+ | 'local ' <local-id>
- * <package>              ::= <manager> ' ' <package-name> ' ' <version>
- * <scheme>               ::= any UTF-8, escape spaces with double space. Must not be empty nor start with 'local'
- * <manager>              ::= any UTF-8, escape spaces with double space. Use the placeholder '.' to indicate an empty value
- * <package-name>         ::= same as above
- * <version>              ::= same as above
- * <descriptor>           ::= <namespace> | <type> | <term> | <method> | <type-parameter> | <parameter> | <meta> | <macro>
- * <namespace>            ::= <name> '/'
- * <type>                 ::= <name> '#'
- * <term>                 ::= <name> '.'
- * <meta>                 ::= <name> ':'
- * <macro>                ::= <name> '!'
- * <method>               ::= <name> '(' (<method-disambiguator>)? ').'
- * <type-parameter>       ::= '[' <name> ']'
- * <parameter>            ::= '(' <name> ')'
- * <name>                 ::= <identifier>
- * <method-disambiguator> ::= <simple-identifier>
- * <identifier>           ::= <simple-identifier> | <escaped-identifier>
- * <simple-identifier>    ::= (<identifier-character>)+
- * <identifier-character> ::= '_' | '+' | '-' | '$' | ASCII letter or digit
- * <escaped-identifier>   ::= '`' (<escaped-character>)+ '`', must contain at least one non-<identifier-character>
- * <escaped-characters>   ::= any UTF-8, escape backticks with double backtick.
- * <local-id>             ::= <simple-identifier>
- * ```
- *
- * The list of descriptors for a symbol should together form a fully
- * qualified name for the symbol. That is, it should serve as a unique
- * identifier across the package. Typically, it will include one descriptor
- * for every node in the AST (along the ancestry path) between the root of
- * the file and the node corresponding to the symbol.
- *
- * Local symbols MUST only be used for entities which are local to a Document,
- * and cannot be accessed from outside the Document.
- * 
- * - * Protobuf type {@code scip.Symbol} - */ -@com.google.protobuf.Generated -public final class Symbol extends - com.google.protobuf.GeneratedMessage implements - // @@protoc_insertion_point(message_implements:scip.Symbol) - SymbolOrBuilder { -private static final long serialVersionUID = 0L; - static { - com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( - com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, - /* major= */ 4, - /* minor= */ 32, - /* patch= */ 1, - /* suffix= */ "", - Symbol.class.getName()); - } - // Use Symbol.newBuilder() to construct. - private Symbol(com.google.protobuf.GeneratedMessage.Builder builder) { - super(builder); - } - private Symbol() { - scheme_ = ""; - descriptors_ = java.util.Collections.emptyList(); - } - - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return org.scip_code.scip.ScipProto.internal_static_scip_Symbol_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessage.FieldAccessorTable - internalGetFieldAccessorTable() { - return org.scip_code.scip.ScipProto.internal_static_scip_Symbol_fieldAccessorTable - .ensureFieldAccessorsInitialized( - org.scip_code.scip.Symbol.class, org.scip_code.scip.Symbol.Builder.class); - } - - private int bitField0_; - public static final int SCHEME_FIELD_NUMBER = 1; - @SuppressWarnings("serial") - private volatile java.lang.Object scheme_ = ""; - /** - * string scheme = 1 [json_name = "scheme"]; - * @return The scheme. - */ - @java.lang.Override - public java.lang.String getScheme() { - java.lang.Object ref = scheme_; - 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(); - scheme_ = s; - return s; - } - } - /** - * string scheme = 1 [json_name = "scheme"]; - * @return The bytes for scheme. - */ - @java.lang.Override - public com.google.protobuf.ByteString - getSchemeBytes() { - java.lang.Object ref = scheme_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - scheme_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - - public static final int PACKAGE_FIELD_NUMBER = 2; - private org.scip_code.scip.Package package_; - /** - * .scip.Package package = 2 [json_name = "package"]; - * @return Whether the package field is set. - */ - @java.lang.Override - public boolean hasPackage() { - return ((bitField0_ & 0x00000001) != 0); - } - /** - * .scip.Package package = 2 [json_name = "package"]; - * @return The package. - */ - @java.lang.Override - public org.scip_code.scip.Package getPackage() { - return package_ == null ? org.scip_code.scip.Package.getDefaultInstance() : package_; - } - /** - * .scip.Package package = 2 [json_name = "package"]; - */ - @java.lang.Override - public org.scip_code.scip.PackageOrBuilder getPackageOrBuilder() { - return package_ == null ? org.scip_code.scip.Package.getDefaultInstance() : package_; - } - - public static final int DESCRIPTORS_FIELD_NUMBER = 3; - @SuppressWarnings("serial") - private java.util.List descriptors_; - /** - * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; - */ - @java.lang.Override - public java.util.List getDescriptorsList() { - return descriptors_; - } - /** - * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; - */ - @java.lang.Override - public java.util.List - getDescriptorsOrBuilderList() { - return descriptors_; - } - /** - * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; - */ - @java.lang.Override - public int getDescriptorsCount() { - return descriptors_.size(); - } - /** - * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; - */ - @java.lang.Override - public org.scip_code.scip.Descriptor getDescriptors(int index) { - return descriptors_.get(index); - } - /** - * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; - */ - @java.lang.Override - public org.scip_code.scip.DescriptorOrBuilder getDescriptorsOrBuilder( - int index) { - return descriptors_.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 (!com.google.protobuf.GeneratedMessage.isStringEmpty(scheme_)) { - com.google.protobuf.GeneratedMessage.writeString(output, 1, scheme_); - } - if (((bitField0_ & 0x00000001) != 0)) { - output.writeMessage(2, getPackage()); - } - for (int i = 0; i < descriptors_.size(); i++) { - output.writeMessage(3, descriptors_.get(i)); - } - getUnknownFields().writeTo(output); - } - - @java.lang.Override - public int getSerializedSize() { - int size = memoizedSize; - if (size != -1) return size; - - size = 0; - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(scheme_)) { - size += com.google.protobuf.GeneratedMessage.computeStringSize(1, scheme_); - } - if (((bitField0_ & 0x00000001) != 0)) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(2, getPackage()); - } - for (int i = 0; i < descriptors_.size(); i++) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(3, descriptors_.get(i)); - } - size += getUnknownFields().getSerializedSize(); - memoizedSize = size; - return size; - } - - @java.lang.Override - public boolean equals(final java.lang.Object obj) { - if (obj == this) { - return true; - } - if (!(obj instanceof org.scip_code.scip.Symbol)) { - return super.equals(obj); - } - org.scip_code.scip.Symbol other = (org.scip_code.scip.Symbol) obj; - - if (!getScheme() - .equals(other.getScheme())) return false; - if (hasPackage() != other.hasPackage()) return false; - if (hasPackage()) { - if (!getPackage() - .equals(other.getPackage())) return false; - } - if (!getDescriptorsList() - .equals(other.getDescriptorsList())) return false; - if (!getUnknownFields().equals(other.getUnknownFields())) 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) + SCHEME_FIELD_NUMBER; - hash = (53 * hash) + getScheme().hashCode(); - if (hasPackage()) { - hash = (37 * hash) + PACKAGE_FIELD_NUMBER; - hash = (53 * hash) + getPackage().hashCode(); - } - if (getDescriptorsCount() > 0) { - hash = (37 * hash) + DESCRIPTORS_FIELD_NUMBER; - hash = (53 * hash) + getDescriptorsList().hashCode(); - } - hash = (29 * hash) + getUnknownFields().hashCode(); - memoizedHashCode = hash; - return hash; - } - - public static org.scip_code.scip.Symbol parseFrom( - java.nio.ByteBuffer data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static org.scip_code.scip.Symbol parseFrom( - java.nio.ByteBuffer data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static org.scip_code.scip.Symbol parseFrom( - com.google.protobuf.ByteString data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static org.scip_code.scip.Symbol parseFrom( - com.google.protobuf.ByteString data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static org.scip_code.scip.Symbol parseFrom(byte[] data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static org.scip_code.scip.Symbol parseFrom( - byte[] data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static org.scip_code.scip.Symbol parseFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input); - } - public static org.scip_code.scip.Symbol parseFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input, extensionRegistry); - } - - public static org.scip_code.scip.Symbol parseDelimitedFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseDelimitedWithIOException(PARSER, input); - } - - public static org.scip_code.scip.Symbol parseDelimitedFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseDelimitedWithIOException(PARSER, input, extensionRegistry); - } - public static org.scip_code.scip.Symbol parseFrom( - com.google.protobuf.CodedInputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input); - } - public static org.scip_code.scip.Symbol parseFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input, extensionRegistry); - } - - @java.lang.Override - public Builder newBuilderForType() { return newBuilder(); } - public static Builder newBuilder() { - return DEFAULT_INSTANCE.toBuilder(); - } - public static Builder newBuilder(org.scip_code.scip.Symbol 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.GeneratedMessage.BuilderParent parent) { - Builder builder = new Builder(parent); - return builder; - } - /** - *
-   * Symbol is similar to a URI, it identifies a class, method, or a local
-   * variable. `SymbolInformation` contains rich metadata about symbols such as
-   * the docstring.
-   *
-   * Symbol has a standardized string representation, which can be used
-   * interchangeably with `Symbol`. The syntax for Symbol is the following:
-   * ```
-   * # (<x>)+ stands for one or more repetitions of <x>
-   * # (<x>)? stands for zero or one occurrence of <x>
-   * <symbol>               ::= <scheme> ' ' <package> ' ' (<descriptor>)+ | 'local ' <local-id>
-   * <package>              ::= <manager> ' ' <package-name> ' ' <version>
-   * <scheme>               ::= any UTF-8, escape spaces with double space. Must not be empty nor start with 'local'
-   * <manager>              ::= any UTF-8, escape spaces with double space. Use the placeholder '.' to indicate an empty value
-   * <package-name>         ::= same as above
-   * <version>              ::= same as above
-   * <descriptor>           ::= <namespace> | <type> | <term> | <method> | <type-parameter> | <parameter> | <meta> | <macro>
-   * <namespace>            ::= <name> '/'
-   * <type>                 ::= <name> '#'
-   * <term>                 ::= <name> '.'
-   * <meta>                 ::= <name> ':'
-   * <macro>                ::= <name> '!'
-   * <method>               ::= <name> '(' (<method-disambiguator>)? ').'
-   * <type-parameter>       ::= '[' <name> ']'
-   * <parameter>            ::= '(' <name> ')'
-   * <name>                 ::= <identifier>
-   * <method-disambiguator> ::= <simple-identifier>
-   * <identifier>           ::= <simple-identifier> | <escaped-identifier>
-   * <simple-identifier>    ::= (<identifier-character>)+
-   * <identifier-character> ::= '_' | '+' | '-' | '$' | ASCII letter or digit
-   * <escaped-identifier>   ::= '`' (<escaped-character>)+ '`', must contain at least one non-<identifier-character>
-   * <escaped-characters>   ::= any UTF-8, escape backticks with double backtick.
-   * <local-id>             ::= <simple-identifier>
-   * ```
-   *
-   * The list of descriptors for a symbol should together form a fully
-   * qualified name for the symbol. That is, it should serve as a unique
-   * identifier across the package. Typically, it will include one descriptor
-   * for every node in the AST (along the ancestry path) between the root of
-   * the file and the node corresponding to the symbol.
-   *
-   * Local symbols MUST only be used for entities which are local to a Document,
-   * and cannot be accessed from outside the Document.
-   * 
- * - * Protobuf type {@code scip.Symbol} - */ - public static final class Builder extends - com.google.protobuf.GeneratedMessage.Builder implements - // @@protoc_insertion_point(builder_implements:scip.Symbol) - org.scip_code.scip.SymbolOrBuilder { - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return org.scip_code.scip.ScipProto.internal_static_scip_Symbol_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessage.FieldAccessorTable - internalGetFieldAccessorTable() { - return org.scip_code.scip.ScipProto.internal_static_scip_Symbol_fieldAccessorTable - .ensureFieldAccessorsInitialized( - org.scip_code.scip.Symbol.class, org.scip_code.scip.Symbol.Builder.class); - } - - // Construct using org.scip_code.scip.Symbol.newBuilder() - private Builder() { - maybeForceBuilderInitialization(); - } - - private Builder( - com.google.protobuf.GeneratedMessage.BuilderParent parent) { - super(parent); - maybeForceBuilderInitialization(); - } - private void maybeForceBuilderInitialization() { - if (com.google.protobuf.GeneratedMessage - .alwaysUseFieldBuilders) { - internalGetPackageFieldBuilder(); - internalGetDescriptorsFieldBuilder(); - } - } - @java.lang.Override - public Builder clear() { - super.clear(); - bitField0_ = 0; - scheme_ = ""; - package_ = null; - if (packageBuilder_ != null) { - packageBuilder_.dispose(); - packageBuilder_ = null; - } - if (descriptorsBuilder_ == null) { - descriptors_ = java.util.Collections.emptyList(); - } else { - descriptors_ = null; - descriptorsBuilder_.clear(); - } - bitField0_ = (bitField0_ & ~0x00000004); - return this; - } - - @java.lang.Override - public com.google.protobuf.Descriptors.Descriptor - getDescriptorForType() { - return org.scip_code.scip.ScipProto.internal_static_scip_Symbol_descriptor; - } - - @java.lang.Override - public org.scip_code.scip.Symbol getDefaultInstanceForType() { - return org.scip_code.scip.Symbol.getDefaultInstance(); - } - - @java.lang.Override - public org.scip_code.scip.Symbol build() { - org.scip_code.scip.Symbol result = buildPartial(); - if (!result.isInitialized()) { - throw newUninitializedMessageException(result); - } - return result; - } - - @java.lang.Override - public org.scip_code.scip.Symbol buildPartial() { - org.scip_code.scip.Symbol result = new org.scip_code.scip.Symbol(this); - buildPartialRepeatedFields(result); - if (bitField0_ != 0) { buildPartial0(result); } - onBuilt(); - return result; - } - - private void buildPartialRepeatedFields(org.scip_code.scip.Symbol result) { - if (descriptorsBuilder_ == null) { - if (((bitField0_ & 0x00000004) != 0)) { - descriptors_ = java.util.Collections.unmodifiableList(descriptors_); - bitField0_ = (bitField0_ & ~0x00000004); - } - result.descriptors_ = descriptors_; - } else { - result.descriptors_ = descriptorsBuilder_.build(); - } - } - - private void buildPartial0(org.scip_code.scip.Symbol result) { - int from_bitField0_ = bitField0_; - if (((from_bitField0_ & 0x00000001) != 0)) { - result.scheme_ = scheme_; - } - int to_bitField0_ = 0; - if (((from_bitField0_ & 0x00000002) != 0)) { - result.package_ = packageBuilder_ == null - ? package_ - : packageBuilder_.build(); - to_bitField0_ |= 0x00000001; - } - result.bitField0_ |= to_bitField0_; - } - - @java.lang.Override - public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof org.scip_code.scip.Symbol) { - return mergeFrom((org.scip_code.scip.Symbol)other); - } else { - super.mergeFrom(other); - return this; - } - } - - public Builder mergeFrom(org.scip_code.scip.Symbol other) { - if (other == org.scip_code.scip.Symbol.getDefaultInstance()) return this; - if (!other.getScheme().isEmpty()) { - scheme_ = other.scheme_; - bitField0_ |= 0x00000001; - onChanged(); - } - if (other.hasPackage()) { - mergePackage(other.getPackage()); - } - if (descriptorsBuilder_ == null) { - if (!other.descriptors_.isEmpty()) { - if (descriptors_.isEmpty()) { - descriptors_ = other.descriptors_; - bitField0_ = (bitField0_ & ~0x00000004); - } else { - ensureDescriptorsIsMutable(); - descriptors_.addAll(other.descriptors_); - } - onChanged(); - } - } else { - if (!other.descriptors_.isEmpty()) { - if (descriptorsBuilder_.isEmpty()) { - descriptorsBuilder_.dispose(); - descriptorsBuilder_ = null; - descriptors_ = other.descriptors_; - bitField0_ = (bitField0_ & ~0x00000004); - descriptorsBuilder_ = - com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ? - internalGetDescriptorsFieldBuilder() : null; - } else { - descriptorsBuilder_.addAllMessages(other.descriptors_); - } - } - } - this.mergeUnknownFields(other.getUnknownFields()); - 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 { - if (extensionRegistry == null) { - throw new java.lang.NullPointerException(); - } - try { - boolean done = false; - while (!done) { - int tag = input.readTag(); - switch (tag) { - case 0: - done = true; - break; - case 10: { - scheme_ = input.readStringRequireUtf8(); - bitField0_ |= 0x00000001; - break; - } // case 10 - case 18: { - input.readMessage( - internalGetPackageFieldBuilder().getBuilder(), - extensionRegistry); - bitField0_ |= 0x00000002; - break; - } // case 18 - case 26: { - org.scip_code.scip.Descriptor m = - input.readMessage( - org.scip_code.scip.Descriptor.parser(), - extensionRegistry); - if (descriptorsBuilder_ == null) { - ensureDescriptorsIsMutable(); - descriptors_.add(m); - } else { - descriptorsBuilder_.addMessage(m); - } - break; - } // case 26 - default: { - if (!super.parseUnknownField(input, extensionRegistry, tag)) { - done = true; // was an endgroup tag - } - break; - } // default: - } // switch (tag) - } // while (!done) - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.unwrapIOException(); - } finally { - onChanged(); - } // finally - return this; - } - private int bitField0_; - - private java.lang.Object scheme_ = ""; - /** - * string scheme = 1 [json_name = "scheme"]; - * @return The scheme. - */ - public java.lang.String getScheme() { - java.lang.Object ref = scheme_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - scheme_ = s; - return s; - } else { - return (java.lang.String) ref; - } - } - /** - * string scheme = 1 [json_name = "scheme"]; - * @return The bytes for scheme. - */ - public com.google.protobuf.ByteString - getSchemeBytes() { - java.lang.Object ref = scheme_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - scheme_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - /** - * string scheme = 1 [json_name = "scheme"]; - * @param value The scheme to set. - * @return This builder for chaining. - */ - public Builder setScheme( - java.lang.String value) { - if (value == null) { throw new NullPointerException(); } - scheme_ = value; - bitField0_ |= 0x00000001; - onChanged(); - return this; - } - /** - * string scheme = 1 [json_name = "scheme"]; - * @return This builder for chaining. - */ - public Builder clearScheme() { - scheme_ = getDefaultInstance().getScheme(); - bitField0_ = (bitField0_ & ~0x00000001); - onChanged(); - return this; - } - /** - * string scheme = 1 [json_name = "scheme"]; - * @param value The bytes for scheme to set. - * @return This builder for chaining. - */ - public Builder setSchemeBytes( - com.google.protobuf.ByteString value) { - if (value == null) { throw new NullPointerException(); } - checkByteStringIsUtf8(value); - scheme_ = value; - bitField0_ |= 0x00000001; - onChanged(); - return this; - } - - private org.scip_code.scip.Package package_; - private com.google.protobuf.SingleFieldBuilder< - org.scip_code.scip.Package, org.scip_code.scip.Package.Builder, org.scip_code.scip.PackageOrBuilder> packageBuilder_; - /** - * .scip.Package package = 2 [json_name = "package"]; - * @return Whether the package field is set. - */ - public boolean hasPackage() { - return ((bitField0_ & 0x00000002) != 0); - } - /** - * .scip.Package package = 2 [json_name = "package"]; - * @return The package. - */ - public org.scip_code.scip.Package getPackage() { - if (packageBuilder_ == null) { - return package_ == null ? org.scip_code.scip.Package.getDefaultInstance() : package_; - } else { - return packageBuilder_.getMessage(); - } - } - /** - * .scip.Package package = 2 [json_name = "package"]; - */ - public Builder setPackage(org.scip_code.scip.Package value) { - if (packageBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - package_ = value; - } else { - packageBuilder_.setMessage(value); - } - bitField0_ |= 0x00000002; - onChanged(); - return this; - } - /** - * .scip.Package package = 2 [json_name = "package"]; - */ - public Builder setPackage( - org.scip_code.scip.Package.Builder builderForValue) { - if (packageBuilder_ == null) { - package_ = builderForValue.build(); - } else { - packageBuilder_.setMessage(builderForValue.build()); - } - bitField0_ |= 0x00000002; - onChanged(); - return this; - } - /** - * .scip.Package package = 2 [json_name = "package"]; - */ - public Builder mergePackage(org.scip_code.scip.Package value) { - if (packageBuilder_ == null) { - if (((bitField0_ & 0x00000002) != 0) && - package_ != null && - package_ != org.scip_code.scip.Package.getDefaultInstance()) { - getPackageBuilder().mergeFrom(value); - } else { - package_ = value; - } - } else { - packageBuilder_.mergeFrom(value); - } - if (package_ != null) { - bitField0_ |= 0x00000002; - onChanged(); - } - return this; - } - /** - * .scip.Package package = 2 [json_name = "package"]; - */ - public Builder clearPackage() { - bitField0_ = (bitField0_ & ~0x00000002); - package_ = null; - if (packageBuilder_ != null) { - packageBuilder_.dispose(); - packageBuilder_ = null; - } - onChanged(); - return this; - } - /** - * .scip.Package package = 2 [json_name = "package"]; - */ - public org.scip_code.scip.Package.Builder getPackageBuilder() { - bitField0_ |= 0x00000002; - onChanged(); - return internalGetPackageFieldBuilder().getBuilder(); - } - /** - * .scip.Package package = 2 [json_name = "package"]; - */ - public org.scip_code.scip.PackageOrBuilder getPackageOrBuilder() { - if (packageBuilder_ != null) { - return packageBuilder_.getMessageOrBuilder(); - } else { - return package_ == null ? - org.scip_code.scip.Package.getDefaultInstance() : package_; - } - } - /** - * .scip.Package package = 2 [json_name = "package"]; - */ - private com.google.protobuf.SingleFieldBuilder< - org.scip_code.scip.Package, org.scip_code.scip.Package.Builder, org.scip_code.scip.PackageOrBuilder> - internalGetPackageFieldBuilder() { - if (packageBuilder_ == null) { - packageBuilder_ = new com.google.protobuf.SingleFieldBuilder< - org.scip_code.scip.Package, org.scip_code.scip.Package.Builder, org.scip_code.scip.PackageOrBuilder>( - getPackage(), - getParentForChildren(), - isClean()); - package_ = null; - } - return packageBuilder_; - } - - private java.util.List descriptors_ = - java.util.Collections.emptyList(); - private void ensureDescriptorsIsMutable() { - if (!((bitField0_ & 0x00000004) != 0)) { - descriptors_ = new java.util.ArrayList(descriptors_); - bitField0_ |= 0x00000004; - } - } - - private com.google.protobuf.RepeatedFieldBuilder< - org.scip_code.scip.Descriptor, org.scip_code.scip.Descriptor.Builder, org.scip_code.scip.DescriptorOrBuilder> descriptorsBuilder_; - - /** - * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; - */ - public java.util.List getDescriptorsList() { - if (descriptorsBuilder_ == null) { - return java.util.Collections.unmodifiableList(descriptors_); - } else { - return descriptorsBuilder_.getMessageList(); - } - } - /** - * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; - */ - public int getDescriptorsCount() { - if (descriptorsBuilder_ == null) { - return descriptors_.size(); - } else { - return descriptorsBuilder_.getCount(); - } - } - /** - * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; - */ - public org.scip_code.scip.Descriptor getDescriptors(int index) { - if (descriptorsBuilder_ == null) { - return descriptors_.get(index); - } else { - return descriptorsBuilder_.getMessage(index); - } - } - /** - * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; - */ - public Builder setDescriptors( - int index, org.scip_code.scip.Descriptor value) { - if (descriptorsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureDescriptorsIsMutable(); - descriptors_.set(index, value); - onChanged(); - } else { - descriptorsBuilder_.setMessage(index, value); - } - return this; - } - /** - * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; - */ - public Builder setDescriptors( - int index, org.scip_code.scip.Descriptor.Builder builderForValue) { - if (descriptorsBuilder_ == null) { - ensureDescriptorsIsMutable(); - descriptors_.set(index, builderForValue.build()); - onChanged(); - } else { - descriptorsBuilder_.setMessage(index, builderForValue.build()); - } - return this; - } - /** - * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; - */ - public Builder addDescriptors(org.scip_code.scip.Descriptor value) { - if (descriptorsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureDescriptorsIsMutable(); - descriptors_.add(value); - onChanged(); - } else { - descriptorsBuilder_.addMessage(value); - } - return this; - } - /** - * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; - */ - public Builder addDescriptors( - int index, org.scip_code.scip.Descriptor value) { - if (descriptorsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureDescriptorsIsMutable(); - descriptors_.add(index, value); - onChanged(); - } else { - descriptorsBuilder_.addMessage(index, value); - } - return this; - } - /** - * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; - */ - public Builder addDescriptors( - org.scip_code.scip.Descriptor.Builder builderForValue) { - if (descriptorsBuilder_ == null) { - ensureDescriptorsIsMutable(); - descriptors_.add(builderForValue.build()); - onChanged(); - } else { - descriptorsBuilder_.addMessage(builderForValue.build()); - } - return this; - } - /** - * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; - */ - public Builder addDescriptors( - int index, org.scip_code.scip.Descriptor.Builder builderForValue) { - if (descriptorsBuilder_ == null) { - ensureDescriptorsIsMutable(); - descriptors_.add(index, builderForValue.build()); - onChanged(); - } else { - descriptorsBuilder_.addMessage(index, builderForValue.build()); - } - return this; - } - /** - * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; - */ - public Builder addAllDescriptors( - java.lang.Iterable values) { - if (descriptorsBuilder_ == null) { - ensureDescriptorsIsMutable(); - com.google.protobuf.AbstractMessageLite.Builder.addAll( - values, descriptors_); - onChanged(); - } else { - descriptorsBuilder_.addAllMessages(values); - } - return this; - } - /** - * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; - */ - public Builder clearDescriptors() { - if (descriptorsBuilder_ == null) { - descriptors_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000004); - onChanged(); - } else { - descriptorsBuilder_.clear(); - } - return this; - } - /** - * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; - */ - public Builder removeDescriptors(int index) { - if (descriptorsBuilder_ == null) { - ensureDescriptorsIsMutable(); - descriptors_.remove(index); - onChanged(); - } else { - descriptorsBuilder_.remove(index); - } - return this; - } - /** - * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; - */ - public org.scip_code.scip.Descriptor.Builder getDescriptorsBuilder( - int index) { - return internalGetDescriptorsFieldBuilder().getBuilder(index); - } - /** - * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; - */ - public org.scip_code.scip.DescriptorOrBuilder getDescriptorsOrBuilder( - int index) { - if (descriptorsBuilder_ == null) { - return descriptors_.get(index); } else { - return descriptorsBuilder_.getMessageOrBuilder(index); - } - } - /** - * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; - */ - public java.util.List - getDescriptorsOrBuilderList() { - if (descriptorsBuilder_ != null) { - return descriptorsBuilder_.getMessageOrBuilderList(); - } else { - return java.util.Collections.unmodifiableList(descriptors_); - } - } - /** - * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; - */ - public org.scip_code.scip.Descriptor.Builder addDescriptorsBuilder() { - return internalGetDescriptorsFieldBuilder().addBuilder( - org.scip_code.scip.Descriptor.getDefaultInstance()); - } - /** - * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; - */ - public org.scip_code.scip.Descriptor.Builder addDescriptorsBuilder( - int index) { - return internalGetDescriptorsFieldBuilder().addBuilder( - index, org.scip_code.scip.Descriptor.getDefaultInstance()); - } - /** - * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; - */ - public java.util.List - getDescriptorsBuilderList() { - return internalGetDescriptorsFieldBuilder().getBuilderList(); - } - private com.google.protobuf.RepeatedFieldBuilder< - org.scip_code.scip.Descriptor, org.scip_code.scip.Descriptor.Builder, org.scip_code.scip.DescriptorOrBuilder> - internalGetDescriptorsFieldBuilder() { - if (descriptorsBuilder_ == null) { - descriptorsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder< - org.scip_code.scip.Descriptor, org.scip_code.scip.Descriptor.Builder, org.scip_code.scip.DescriptorOrBuilder>( - descriptors_, - ((bitField0_ & 0x00000004) != 0), - getParentForChildren(), - isClean()); - descriptors_ = null; - } - return descriptorsBuilder_; - } - - // @@protoc_insertion_point(builder_scope:scip.Symbol) - } - - // @@protoc_insertion_point(class_scope:scip.Symbol) - private static final org.scip_code.scip.Symbol DEFAULT_INSTANCE; - static { - DEFAULT_INSTANCE = new org.scip_code.scip.Symbol(); - } - - public static org.scip_code.scip.Symbol getDefaultInstance() { - return DEFAULT_INSTANCE; - } - - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { - @java.lang.Override - public Symbol parsePartialFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - Builder builder = newBuilder(); - try { - builder.mergeFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.setUnfinishedMessage(builder.buildPartial()); - } catch (com.google.protobuf.UninitializedMessageException e) { - throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); - } catch (java.io.IOException e) { - throw new com.google.protobuf.InvalidProtocolBufferException(e) - .setUnfinishedMessage(builder.buildPartial()); - } - return builder.buildPartial(); - } - }; - - public static com.google.protobuf.Parser parser() { - return PARSER; - } - - @java.lang.Override - public com.google.protobuf.Parser getParserForType() { - return PARSER; - } - - @java.lang.Override - public org.scip_code.scip.Symbol getDefaultInstanceForType() { - return DEFAULT_INSTANCE; - } - -} - diff --git a/bindings/kotlin/src/main/java/org/scip_code/scip/SymbolInformation.java b/bindings/kotlin/src/main/java/org/scip_code/scip/SymbolInformation.java deleted file mode 100644 index 287c09bd..00000000 --- a/bindings/kotlin/src/main/java/org/scip_code/scip/SymbolInformation.java +++ /dev/null @@ -1,3545 +0,0 @@ -// Generated by the protocol buffer compiler. DO NOT EDIT! -// NO CHECKED-IN PROTOBUF GENCODE -// source: scip.proto -// Protobuf Java Version: 4.32.1 - -package org.scip_code.scip; - -/** - *
- * SymbolInformation defines metadata about a symbol, such as the symbol's
- * docstring or what package it's defined it.
- * 
- * - * Protobuf type {@code scip.SymbolInformation} - */ -@com.google.protobuf.Generated -public final class SymbolInformation extends - com.google.protobuf.GeneratedMessage implements - // @@protoc_insertion_point(message_implements:scip.SymbolInformation) - SymbolInformationOrBuilder { -private static final long serialVersionUID = 0L; - static { - com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( - com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, - /* major= */ 4, - /* minor= */ 32, - /* patch= */ 1, - /* suffix= */ "", - SymbolInformation.class.getName()); - } - // Use SymbolInformation.newBuilder() to construct. - private SymbolInformation(com.google.protobuf.GeneratedMessage.Builder builder) { - super(builder); - } - private SymbolInformation() { - symbol_ = ""; - documentation_ = - com.google.protobuf.LazyStringArrayList.emptyList(); - relationships_ = java.util.Collections.emptyList(); - kind_ = 0; - displayName_ = ""; - enclosingSymbol_ = ""; - } - - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return org.scip_code.scip.ScipProto.internal_static_scip_SymbolInformation_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessage.FieldAccessorTable - internalGetFieldAccessorTable() { - return org.scip_code.scip.ScipProto.internal_static_scip_SymbolInformation_fieldAccessorTable - .ensureFieldAccessorsInitialized( - org.scip_code.scip.SymbolInformation.class, org.scip_code.scip.SymbolInformation.Builder.class); - } - - /** - *
-   * (optional) Kind represents the fine-grained category of a symbol, suitable for presenting
-   * information about the symbol's meaning in the language.
-   *
-   * For example:
-   * - A Java method would have the kind `Method` while a Go function would
-   * have the kind `Function`, even if the symbols for these use the same
-   * syntax for the descriptor `SymbolDescriptor.Suffix.Method`.
-   * - A Go struct has the symbol kind `Struct` while a Java class has
-   * the symbol kind `Class` even if they both have the same descriptor:
-   * `SymbolDescriptor.Suffix.Type`.
-   *
-   * Since Kind is more fine-grained than Suffix:
-   * - If two symbols have the same Kind, they should share the same Suffix.
-   * - If two symbols have different Suffixes, they should have different Kinds.
-   * 
- * - * Protobuf enum {@code scip.SymbolInformation.Kind} - */ - public enum Kind - implements com.google.protobuf.ProtocolMessageEnum { - /** - * UnspecifiedKind = 0; - */ - UnspecifiedKind(0), - /** - *
-     * A method which may or may not have a body. For Java, Kotlin etc.
-     * 
- * - * AbstractMethod = 66; - */ - AbstractMethod(66), - /** - *
-     * For Ruby's attr_accessor
-     * 
- * - * Accessor = 72; - */ - Accessor(72), - /** - * Array = 1; - */ - Array(1), - /** - *
-     * For Alloy
-     * 
- * - * Assertion = 2; - */ - Assertion(2), - /** - * AssociatedType = 3; - */ - AssociatedType(3), - /** - *
-     * For C++
-     * 
- * - * Attribute = 4; - */ - Attribute(4), - /** - *
-     * For Lean
-     * 
- * - * Axiom = 5; - */ - Axiom(5), - /** - * Boolean = 6; - */ - Boolean(6), - /** - * Class = 7; - */ - Class(7), - /** - *
-     * For C++
-     * 
- * - * Concept = 86; - */ - Concept(86), - /** - * Constant = 8; - */ - Constant(8), - /** - * Constructor = 9; - */ - Constructor(9), - /** - *
-     * For Solidity
-     * 
- * - * Contract = 62; - */ - Contract(62), - /** - *
-     * For Haskell
-     * 
- * - * DataFamily = 10; - */ - DataFamily(10), - /** - *
-     * For C# and F#
-     * 
- * - * Delegate = 73; - */ - Delegate(73), - /** - * Enum = 11; - */ - Enum(11), - /** - * EnumMember = 12; - */ - EnumMember(12), - /** - * Error = 63; - */ - Error(63), - /** - * Event = 13; - */ - Event(13), - /** - *
-     * For Dart
-     * 
- * - * Extension = 84; - */ - Extension(84), - /** - *
-     * For Alloy
-     * 
- * - * Fact = 14; - */ - Fact(14), - /** - * Field = 15; - */ - Field(15), - /** - * File = 16; - */ - File(16), - /** - * Function = 17; - */ - Function(17), - /** - *
-     * For 'get' in Swift, 'attr_reader' in Ruby
-     * 
- * - * Getter = 18; - */ - Getter(18), - /** - *
-     * For Raku
-     * 
- * - * Grammar = 19; - */ - Grammar(19), - /** - *
-     * For Purescript and Lean
-     * 
- * - * Instance = 20; - */ - Instance(20), - /** - * Interface = 21; - */ - Interface(21), - /** - * Key = 22; - */ - Key(22), - /** - *
-     * For Racket
-     * 
- * - * Lang = 23; - */ - Lang(23), - /** - *
-     * For Lean
-     * 
- * - * Lemma = 24; - */ - Lemma(24), - /** - *
-     * For solidity
-     * 
- * - * Library = 64; - */ - Library(64), - /** - * Macro = 25; - */ - Macro(25), - /** - * Method = 26; - */ - Method(26), - /** - *
-     * For Ruby
-     * 
- * - * MethodAlias = 74; - */ - MethodAlias(74), - /** - *
-     * Analogous to 'ThisParameter' and 'SelfParameter', but for languages
-     * like Go where the receiver doesn't have a conventional name.
-     * 
- * - * MethodReceiver = 27; - */ - MethodReceiver(27), - /** - *
-     * Analogous to 'AbstractMethod', for Go.
-     * 
- * - * MethodSpecification = 67; - */ - MethodSpecification(67), - /** - *
-     * For Protobuf
-     * 
- * - * Message = 28; - */ - Message(28), - /** - *
-     * For Dart
-     * 
- * - * Mixin = 85; - */ - Mixin(85), - /** - *
-     * For Solidity
-     * 
- * - * Modifier = 65; - */ - Modifier(65), - /** - * Module = 29; - */ - Module(29), - /** - * Namespace = 30; - */ - Namespace(30), - /** - * Null = 31; - */ - Null(31), - /** - * Number = 32; - */ - Number(32), - /** - * Object = 33; - */ - Object(33), - /** - * Operator = 34; - */ - Operator(34), - /** - * Package = 35; - */ - Package(35), - /** - * PackageObject = 36; - */ - PackageObject(36), - /** - * Parameter = 37; - */ - Parameter(37), - /** - * ParameterLabel = 38; - */ - ParameterLabel(38), - /** - *
-     * For Haskell's PatternSynonyms
-     * 
- * - * Pattern = 39; - */ - Pattern(39), - /** - *
-     * For Alloy
-     * 
- * - * Predicate = 40; - */ - Predicate(40), - /** - * Property = 41; - */ - Property(41), - /** - *
-     * Analogous to 'Trait' and 'TypeClass', for Swift and Objective-C
-     * 
- * - * Protocol = 42; - */ - Protocol(42), - /** - *
-     * Analogous to 'AbstractMethod', for Swift and Objective-C.
-     * 
- * - * ProtocolMethod = 68; - */ - ProtocolMethod(68), - /** - *
-     * Analogous to 'AbstractMethod', for C++.
-     * 
- * - * PureVirtualMethod = 69; - */ - PureVirtualMethod(69), - /** - *
-     * For Haskell
-     * 
- * - * Quasiquoter = 43; - */ - Quasiquoter(43), - /** - *
-     * 'self' in Python, Rust, Swift etc.
-     * 
- * - * SelfParameter = 44; - */ - SelfParameter(44), - /** - *
-     * For 'set' in Swift, 'attr_writer' in Ruby
-     * 
- * - * Setter = 45; - */ - Setter(45), - /** - *
-     * For Alloy, analogous to 'Struct'.
-     * 
- * - * Signature = 46; - */ - Signature(46), - /** - *
-     * For Ruby
-     * 
- * - * SingletonClass = 75; - */ - SingletonClass(75), - /** - *
-     * Analogous to 'StaticMethod', for Ruby.
-     * 
- * - * SingletonMethod = 76; - */ - SingletonMethod(76), - /** - *
-     * Analogous to 'StaticField', for C++
-     * 
- * - * StaticDataMember = 77; - */ - StaticDataMember(77), - /** - *
-     * For C#
-     * 
- * - * StaticEvent = 78; - */ - StaticEvent(78), - /** - *
-     * For C#
-     * 
- * - * StaticField = 79; - */ - StaticField(79), - /** - *
-     * For Java, C#, C++ etc.
-     * 
- * - * StaticMethod = 80; - */ - StaticMethod(80), - /** - *
-     * For C#, TypeScript etc.
-     * 
- * - * StaticProperty = 81; - */ - StaticProperty(81), - /** - *
-     * For C, C++
-     * 
- * - * StaticVariable = 82; - */ - StaticVariable(82), - /** - * String = 48; - */ - String(48), - /** - * Struct = 49; - */ - Struct(49), - /** - *
-     * For Swift
-     * 
- * - * Subscript = 47; - */ - Subscript(47), - /** - *
-     * For Lean
-     * 
- * - * Tactic = 50; - */ - Tactic(50), - /** - *
-     * For Lean
-     * 
- * - * Theorem = 51; - */ - Theorem(51), - /** - *
-     * Method receiver for languages
-     * 'this' in JavaScript, C++, Java etc.
-     * 
- * - * ThisParameter = 52; - */ - ThisParameter(52), - /** - *
-     * Analogous to 'Protocol' and 'TypeClass', for Rust, Scala etc.
-     * 
- * - * Trait = 53; - */ - Trait(53), - /** - *
-     * Analogous to 'AbstractMethod', for Rust, Scala etc.
-     * 
- * - * TraitMethod = 70; - */ - TraitMethod(70), - /** - *
-     * Data type definition for languages like OCaml which use `type`
-     * rather than separate keywords like `struct` and `enum`.
-     * 
- * - * Type = 54; - */ - Type(54), - /** - * TypeAlias = 55; - */ - TypeAlias(55), - /** - *
-     * Analogous to 'Trait' and 'Protocol', for Haskell, Purescript etc.
-     * 
- * - * TypeClass = 56; - */ - TypeClass(56), - /** - *
-     * Analogous to 'AbstractMethod', for Haskell, Purescript etc.
-     * 
- * - * TypeClassMethod = 71; - */ - TypeClassMethod(71), - /** - *
-     * For Haskell
-     * 
- * - * TypeFamily = 57; - */ - TypeFamily(57), - /** - * TypeParameter = 58; - */ - TypeParameter(58), - /** - *
-     * For C, C++, Capn Proto
-     * 
- * - * Union = 59; - */ - Union(59), - /** - * Value = 60; - */ - Value(60), - /** - *
-     * Next = 87;
-     * Feel free to open a PR proposing new language-specific kinds.
-     * 
- * - * Variable = 61; - */ - Variable(61), - UNRECOGNIZED(-1), - ; - - static { - com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( - com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, - /* major= */ 4, - /* minor= */ 32, - /* patch= */ 1, - /* suffix= */ "", - Kind.class.getName()); - } - /** - * UnspecifiedKind = 0; - */ - public static final int UnspecifiedKind_VALUE = 0; - /** - *
-     * A method which may or may not have a body. For Java, Kotlin etc.
-     * 
- * - * AbstractMethod = 66; - */ - public static final int AbstractMethod_VALUE = 66; - /** - *
-     * For Ruby's attr_accessor
-     * 
- * - * Accessor = 72; - */ - public static final int Accessor_VALUE = 72; - /** - * Array = 1; - */ - public static final int Array_VALUE = 1; - /** - *
-     * For Alloy
-     * 
- * - * Assertion = 2; - */ - public static final int Assertion_VALUE = 2; - /** - * AssociatedType = 3; - */ - public static final int AssociatedType_VALUE = 3; - /** - *
-     * For C++
-     * 
- * - * Attribute = 4; - */ - public static final int Attribute_VALUE = 4; - /** - *
-     * For Lean
-     * 
- * - * Axiom = 5; - */ - public static final int Axiom_VALUE = 5; - /** - * Boolean = 6; - */ - public static final int Boolean_VALUE = 6; - /** - * Class = 7; - */ - public static final int Class_VALUE = 7; - /** - *
-     * For C++
-     * 
- * - * Concept = 86; - */ - public static final int Concept_VALUE = 86; - /** - * Constant = 8; - */ - public static final int Constant_VALUE = 8; - /** - * Constructor = 9; - */ - public static final int Constructor_VALUE = 9; - /** - *
-     * For Solidity
-     * 
- * - * Contract = 62; - */ - public static final int Contract_VALUE = 62; - /** - *
-     * For Haskell
-     * 
- * - * DataFamily = 10; - */ - public static final int DataFamily_VALUE = 10; - /** - *
-     * For C# and F#
-     * 
- * - * Delegate = 73; - */ - public static final int Delegate_VALUE = 73; - /** - * Enum = 11; - */ - public static final int Enum_VALUE = 11; - /** - * EnumMember = 12; - */ - public static final int EnumMember_VALUE = 12; - /** - * Error = 63; - */ - public static final int Error_VALUE = 63; - /** - * Event = 13; - */ - public static final int Event_VALUE = 13; - /** - *
-     * For Dart
-     * 
- * - * Extension = 84; - */ - public static final int Extension_VALUE = 84; - /** - *
-     * For Alloy
-     * 
- * - * Fact = 14; - */ - public static final int Fact_VALUE = 14; - /** - * Field = 15; - */ - public static final int Field_VALUE = 15; - /** - * File = 16; - */ - public static final int File_VALUE = 16; - /** - * Function = 17; - */ - public static final int Function_VALUE = 17; - /** - *
-     * For 'get' in Swift, 'attr_reader' in Ruby
-     * 
- * - * Getter = 18; - */ - public static final int Getter_VALUE = 18; - /** - *
-     * For Raku
-     * 
- * - * Grammar = 19; - */ - public static final int Grammar_VALUE = 19; - /** - *
-     * For Purescript and Lean
-     * 
- * - * Instance = 20; - */ - public static final int Instance_VALUE = 20; - /** - * Interface = 21; - */ - public static final int Interface_VALUE = 21; - /** - * Key = 22; - */ - public static final int Key_VALUE = 22; - /** - *
-     * For Racket
-     * 
- * - * Lang = 23; - */ - public static final int Lang_VALUE = 23; - /** - *
-     * For Lean
-     * 
- * - * Lemma = 24; - */ - public static final int Lemma_VALUE = 24; - /** - *
-     * For solidity
-     * 
- * - * Library = 64; - */ - public static final int Library_VALUE = 64; - /** - * Macro = 25; - */ - public static final int Macro_VALUE = 25; - /** - * Method = 26; - */ - public static final int Method_VALUE = 26; - /** - *
-     * For Ruby
-     * 
- * - * MethodAlias = 74; - */ - public static final int MethodAlias_VALUE = 74; - /** - *
-     * Analogous to 'ThisParameter' and 'SelfParameter', but for languages
-     * like Go where the receiver doesn't have a conventional name.
-     * 
- * - * MethodReceiver = 27; - */ - public static final int MethodReceiver_VALUE = 27; - /** - *
-     * Analogous to 'AbstractMethod', for Go.
-     * 
- * - * MethodSpecification = 67; - */ - public static final int MethodSpecification_VALUE = 67; - /** - *
-     * For Protobuf
-     * 
- * - * Message = 28; - */ - public static final int Message_VALUE = 28; - /** - *
-     * For Dart
-     * 
- * - * Mixin = 85; - */ - public static final int Mixin_VALUE = 85; - /** - *
-     * For Solidity
-     * 
- * - * Modifier = 65; - */ - public static final int Modifier_VALUE = 65; - /** - * Module = 29; - */ - public static final int Module_VALUE = 29; - /** - * Namespace = 30; - */ - public static final int Namespace_VALUE = 30; - /** - * Null = 31; - */ - public static final int Null_VALUE = 31; - /** - * Number = 32; - */ - public static final int Number_VALUE = 32; - /** - * Object = 33; - */ - public static final int Object_VALUE = 33; - /** - * Operator = 34; - */ - public static final int Operator_VALUE = 34; - /** - * Package = 35; - */ - public static final int Package_VALUE = 35; - /** - * PackageObject = 36; - */ - public static final int PackageObject_VALUE = 36; - /** - * Parameter = 37; - */ - public static final int Parameter_VALUE = 37; - /** - * ParameterLabel = 38; - */ - public static final int ParameterLabel_VALUE = 38; - /** - *
-     * For Haskell's PatternSynonyms
-     * 
- * - * Pattern = 39; - */ - public static final int Pattern_VALUE = 39; - /** - *
-     * For Alloy
-     * 
- * - * Predicate = 40; - */ - public static final int Predicate_VALUE = 40; - /** - * Property = 41; - */ - public static final int Property_VALUE = 41; - /** - *
-     * Analogous to 'Trait' and 'TypeClass', for Swift and Objective-C
-     * 
- * - * Protocol = 42; - */ - public static final int Protocol_VALUE = 42; - /** - *
-     * Analogous to 'AbstractMethod', for Swift and Objective-C.
-     * 
- * - * ProtocolMethod = 68; - */ - public static final int ProtocolMethod_VALUE = 68; - /** - *
-     * Analogous to 'AbstractMethod', for C++.
-     * 
- * - * PureVirtualMethod = 69; - */ - public static final int PureVirtualMethod_VALUE = 69; - /** - *
-     * For Haskell
-     * 
- * - * Quasiquoter = 43; - */ - public static final int Quasiquoter_VALUE = 43; - /** - *
-     * 'self' in Python, Rust, Swift etc.
-     * 
- * - * SelfParameter = 44; - */ - public static final int SelfParameter_VALUE = 44; - /** - *
-     * For 'set' in Swift, 'attr_writer' in Ruby
-     * 
- * - * Setter = 45; - */ - public static final int Setter_VALUE = 45; - /** - *
-     * For Alloy, analogous to 'Struct'.
-     * 
- * - * Signature = 46; - */ - public static final int Signature_VALUE = 46; - /** - *
-     * For Ruby
-     * 
- * - * SingletonClass = 75; - */ - public static final int SingletonClass_VALUE = 75; - /** - *
-     * Analogous to 'StaticMethod', for Ruby.
-     * 
- * - * SingletonMethod = 76; - */ - public static final int SingletonMethod_VALUE = 76; - /** - *
-     * Analogous to 'StaticField', for C++
-     * 
- * - * StaticDataMember = 77; - */ - public static final int StaticDataMember_VALUE = 77; - /** - *
-     * For C#
-     * 
- * - * StaticEvent = 78; - */ - public static final int StaticEvent_VALUE = 78; - /** - *
-     * For C#
-     * 
- * - * StaticField = 79; - */ - public static final int StaticField_VALUE = 79; - /** - *
-     * For Java, C#, C++ etc.
-     * 
- * - * StaticMethod = 80; - */ - public static final int StaticMethod_VALUE = 80; - /** - *
-     * For C#, TypeScript etc.
-     * 
- * - * StaticProperty = 81; - */ - public static final int StaticProperty_VALUE = 81; - /** - *
-     * For C, C++
-     * 
- * - * StaticVariable = 82; - */ - public static final int StaticVariable_VALUE = 82; - /** - * String = 48; - */ - public static final int String_VALUE = 48; - /** - * Struct = 49; - */ - public static final int Struct_VALUE = 49; - /** - *
-     * For Swift
-     * 
- * - * Subscript = 47; - */ - public static final int Subscript_VALUE = 47; - /** - *
-     * For Lean
-     * 
- * - * Tactic = 50; - */ - public static final int Tactic_VALUE = 50; - /** - *
-     * For Lean
-     * 
- * - * Theorem = 51; - */ - public static final int Theorem_VALUE = 51; - /** - *
-     * Method receiver for languages
-     * 'this' in JavaScript, C++, Java etc.
-     * 
- * - * ThisParameter = 52; - */ - public static final int ThisParameter_VALUE = 52; - /** - *
-     * Analogous to 'Protocol' and 'TypeClass', for Rust, Scala etc.
-     * 
- * - * Trait = 53; - */ - public static final int Trait_VALUE = 53; - /** - *
-     * Analogous to 'AbstractMethod', for Rust, Scala etc.
-     * 
- * - * TraitMethod = 70; - */ - public static final int TraitMethod_VALUE = 70; - /** - *
-     * Data type definition for languages like OCaml which use `type`
-     * rather than separate keywords like `struct` and `enum`.
-     * 
- * - * Type = 54; - */ - public static final int Type_VALUE = 54; - /** - * TypeAlias = 55; - */ - public static final int TypeAlias_VALUE = 55; - /** - *
-     * Analogous to 'Trait' and 'Protocol', for Haskell, Purescript etc.
-     * 
- * - * TypeClass = 56; - */ - public static final int TypeClass_VALUE = 56; - /** - *
-     * Analogous to 'AbstractMethod', for Haskell, Purescript etc.
-     * 
- * - * TypeClassMethod = 71; - */ - public static final int TypeClassMethod_VALUE = 71; - /** - *
-     * For Haskell
-     * 
- * - * TypeFamily = 57; - */ - public static final int TypeFamily_VALUE = 57; - /** - * TypeParameter = 58; - */ - public static final int TypeParameter_VALUE = 58; - /** - *
-     * For C, C++, Capn Proto
-     * 
- * - * Union = 59; - */ - public static final int Union_VALUE = 59; - /** - * Value = 60; - */ - public static final int Value_VALUE = 60; - /** - *
-     * Next = 87;
-     * Feel free to open a PR proposing new language-specific kinds.
-     * 
- * - * Variable = 61; - */ - public static final int Variable_VALUE = 61; - - - 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 UnspecifiedKind; - case 66: return AbstractMethod; - case 72: return Accessor; - case 1: return Array; - case 2: return Assertion; - case 3: return AssociatedType; - case 4: return Attribute; - case 5: return Axiom; - case 6: return Boolean; - case 7: return Class; - case 86: return Concept; - case 8: return Constant; - case 9: return Constructor; - case 62: return Contract; - case 10: return DataFamily; - case 73: return Delegate; - case 11: return Enum; - case 12: return EnumMember; - case 63: return Error; - case 13: return Event; - case 84: return Extension; - case 14: return Fact; - case 15: return Field; - case 16: return File; - case 17: return Function; - case 18: return Getter; - case 19: return Grammar; - case 20: return Instance; - case 21: return Interface; - case 22: return Key; - case 23: return Lang; - case 24: return Lemma; - case 64: return Library; - case 25: return Macro; - case 26: return Method; - case 74: return MethodAlias; - case 27: return MethodReceiver; - case 67: return MethodSpecification; - case 28: return Message; - case 85: return Mixin; - case 65: return Modifier; - case 29: return Module; - case 30: return Namespace; - case 31: return Null; - case 32: return Number; - case 33: return Object; - case 34: return Operator; - case 35: return Package; - case 36: return PackageObject; - case 37: return Parameter; - case 38: return ParameterLabel; - case 39: return Pattern; - case 40: return Predicate; - case 41: return Property; - case 42: return Protocol; - case 68: return ProtocolMethod; - case 69: return PureVirtualMethod; - case 43: return Quasiquoter; - case 44: return SelfParameter; - case 45: return Setter; - case 46: return Signature; - case 75: return SingletonClass; - case 76: return SingletonMethod; - case 77: return StaticDataMember; - case 78: return StaticEvent; - case 79: return StaticField; - case 80: return StaticMethod; - case 81: return StaticProperty; - case 82: return StaticVariable; - case 48: return String; - case 49: return Struct; - case 47: return Subscript; - case 50: return Tactic; - case 51: return Theorem; - case 52: return ThisParameter; - case 53: return Trait; - case 70: return TraitMethod; - case 54: return Type; - case 55: return TypeAlias; - case 56: return TypeClass; - case 71: return TypeClassMethod; - case 57: return TypeFamily; - case 58: return TypeParameter; - case 59: return Union; - case 60: return Value; - case 61: return Variable; - 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 com.google.protobuf.Descriptors.EnumDescriptor - getDescriptor() { - return org.scip_code.scip.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:scip.SymbolInformation.Kind) - } - - private int bitField0_; - public static final int SYMBOL_FIELD_NUMBER = 1; - @SuppressWarnings("serial") - private volatile java.lang.Object symbol_ = ""; - /** - *
-   * Identifier of this symbol, which can be referenced from `Occurence.symbol`.
-   * The string must be formatted according to the grammar in `Symbol`.
-   * 
- * - * string symbol = 1 [json_name = "symbol"]; - * @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; - } - } - /** - *
-   * Identifier of this symbol, which can be referenced from `Occurence.symbol`.
-   * The string must be formatted according to the grammar in `Symbol`.
-   * 
- * - * string symbol = 1 [json_name = "symbol"]; - * @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 DOCUMENTATION_FIELD_NUMBER = 3; - @SuppressWarnings("serial") - private com.google.protobuf.LazyStringArrayList documentation_ = - com.google.protobuf.LazyStringArrayList.emptyList(); - /** - *
-   * (optional, but strongly recommended) The markdown-formatted documentation
-   * for this symbol. Use `SymbolInformation.signature_documentation` to
-   * document the method/class/type signature of this symbol.
-   * Due to historical reasons, indexers may include signature documentation in
-   * this field by rendering markdown code blocks. New indexers should only
-   * include non-code documentation in this field, for example docstrings.
-   * 
- * - * repeated string documentation = 3 [json_name = "documentation"]; - * @return A list containing the documentation. - */ - public com.google.protobuf.ProtocolStringList - getDocumentationList() { - return documentation_; - } - /** - *
-   * (optional, but strongly recommended) The markdown-formatted documentation
-   * for this symbol. Use `SymbolInformation.signature_documentation` to
-   * document the method/class/type signature of this symbol.
-   * Due to historical reasons, indexers may include signature documentation in
-   * this field by rendering markdown code blocks. New indexers should only
-   * include non-code documentation in this field, for example docstrings.
-   * 
- * - * repeated string documentation = 3 [json_name = "documentation"]; - * @return The count of documentation. - */ - public int getDocumentationCount() { - return documentation_.size(); - } - /** - *
-   * (optional, but strongly recommended) The markdown-formatted documentation
-   * for this symbol. Use `SymbolInformation.signature_documentation` to
-   * document the method/class/type signature of this symbol.
-   * Due to historical reasons, indexers may include signature documentation in
-   * this field by rendering markdown code blocks. New indexers should only
-   * include non-code documentation in this field, for example docstrings.
-   * 
- * - * repeated string documentation = 3 [json_name = "documentation"]; - * @param index The index of the element to return. - * @return The documentation at the given index. - */ - public java.lang.String getDocumentation(int index) { - return documentation_.get(index); - } - /** - *
-   * (optional, but strongly recommended) The markdown-formatted documentation
-   * for this symbol. Use `SymbolInformation.signature_documentation` to
-   * document the method/class/type signature of this symbol.
-   * Due to historical reasons, indexers may include signature documentation in
-   * this field by rendering markdown code blocks. New indexers should only
-   * include non-code documentation in this field, for example docstrings.
-   * 
- * - * repeated string documentation = 3 [json_name = "documentation"]; - * @param index The index of the value to return. - * @return The bytes of the documentation at the given index. - */ - public com.google.protobuf.ByteString - getDocumentationBytes(int index) { - return documentation_.getByteString(index); - } - - public static final int RELATIONSHIPS_FIELD_NUMBER = 4; - @SuppressWarnings("serial") - private java.util.List relationships_; - /** - *
-   * (optional) Relationships to other symbols (e.g., implements, type definition).
-   * 
- * - * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; - */ - @java.lang.Override - public java.util.List getRelationshipsList() { - return relationships_; - } - /** - *
-   * (optional) Relationships to other symbols (e.g., implements, type definition).
-   * 
- * - * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; - */ - @java.lang.Override - public java.util.List - getRelationshipsOrBuilderList() { - return relationships_; - } - /** - *
-   * (optional) Relationships to other symbols (e.g., implements, type definition).
-   * 
- * - * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; - */ - @java.lang.Override - public int getRelationshipsCount() { - return relationships_.size(); - } - /** - *
-   * (optional) Relationships to other symbols (e.g., implements, type definition).
-   * 
- * - * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; - */ - @java.lang.Override - public org.scip_code.scip.Relationship getRelationships(int index) { - return relationships_.get(index); - } - /** - *
-   * (optional) Relationships to other symbols (e.g., implements, type definition).
-   * 
- * - * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; - */ - @java.lang.Override - public org.scip_code.scip.RelationshipOrBuilder getRelationshipsOrBuilder( - int index) { - return relationships_.get(index); - } - - public static final int KIND_FIELD_NUMBER = 5; - private int kind_ = 0; - /** - *
-   * The kind of this symbol. Use this field instead of
-   * `SymbolDescriptor.Suffix` to determine whether something is, for example, a
-   * class or a method.
-   * 
- * - * .scip.SymbolInformation.Kind kind = 5 [json_name = "kind"]; - * @return The enum numeric value on the wire for kind. - */ - @java.lang.Override public int getKindValue() { - return kind_; - } - /** - *
-   * The kind of this symbol. Use this field instead of
-   * `SymbolDescriptor.Suffix` to determine whether something is, for example, a
-   * class or a method.
-   * 
- * - * .scip.SymbolInformation.Kind kind = 5 [json_name = "kind"]; - * @return The kind. - */ - @java.lang.Override public org.scip_code.scip.SymbolInformation.Kind getKind() { - org.scip_code.scip.SymbolInformation.Kind result = org.scip_code.scip.SymbolInformation.Kind.forNumber(kind_); - return result == null ? org.scip_code.scip.SymbolInformation.Kind.UNRECOGNIZED : result; - } - - public static final int DISPLAY_NAME_FIELD_NUMBER = 6; - @SuppressWarnings("serial") - private volatile java.lang.Object displayName_ = ""; - /** - *
-   * (optional) The name of this symbol as it should be displayed to the user.
-   * For example, the symbol "com/example/MyClass#myMethod(+1)." should have the
-   * display name "myMethod". The `symbol` field is not a reliable source of
-   * the display name for several reasons:
-   *
-   * - Local symbols don't encode the name.
-   * - Some languages have case-insensitive names, so the symbol is all-lowercase.
-   * - The symbol may encode names with special characters that should not be
-   * displayed to the user.
-   * 
- * - * string display_name = 6 [json_name = "displayName"]; - * @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; - } - } - /** - *
-   * (optional) The name of this symbol as it should be displayed to the user.
-   * For example, the symbol "com/example/MyClass#myMethod(+1)." should have the
-   * display name "myMethod". The `symbol` field is not a reliable source of
-   * the display name for several reasons:
-   *
-   * - Local symbols don't encode the name.
-   * - Some languages have case-insensitive names, so the symbol is all-lowercase.
-   * - The symbol may encode names with special characters that should not be
-   * displayed to the user.
-   * 
- * - * string display_name = 6 [json_name = "displayName"]; - * @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_DOCUMENTATION_FIELD_NUMBER = 7; - private org.scip_code.scip.Signature signatureDocumentation_; - /** - *
-   * (optional) The signature of this symbol as it's displayed in API
-   * documentation or in hover tooltips. For example, a Java method that adds
-   * two numbers would have `Signature.language = "java"` and
-   * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
-   * fields are required while `occurrences` can be optionally included to
-   * support hyperlinking referenced symbols in the signature.
-   * 
- * - * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; - * @return Whether the signatureDocumentation field is set. - */ - @java.lang.Override - public boolean hasSignatureDocumentation() { - return ((bitField0_ & 0x00000001) != 0); - } - /** - *
-   * (optional) The signature of this symbol as it's displayed in API
-   * documentation or in hover tooltips. For example, a Java method that adds
-   * two numbers would have `Signature.language = "java"` and
-   * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
-   * fields are required while `occurrences` can be optionally included to
-   * support hyperlinking referenced symbols in the signature.
-   * 
- * - * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; - * @return The signatureDocumentation. - */ - @java.lang.Override - public org.scip_code.scip.Signature getSignatureDocumentation() { - return signatureDocumentation_ == null ? org.scip_code.scip.Signature.getDefaultInstance() : signatureDocumentation_; - } - /** - *
-   * (optional) The signature of this symbol as it's displayed in API
-   * documentation or in hover tooltips. For example, a Java method that adds
-   * two numbers would have `Signature.language = "java"` and
-   * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
-   * fields are required while `occurrences` can be optionally included to
-   * support hyperlinking referenced symbols in the signature.
-   * 
- * - * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; - */ - @java.lang.Override - public org.scip_code.scip.SignatureOrBuilder getSignatureDocumentationOrBuilder() { - return signatureDocumentation_ == null ? org.scip_code.scip.Signature.getDefaultInstance() : signatureDocumentation_; - } - - public static final int ENCLOSING_SYMBOL_FIELD_NUMBER = 8; - @SuppressWarnings("serial") - private volatile java.lang.Object enclosingSymbol_ = ""; - /** - *
-   * (optional) The enclosing symbol if this is a local symbol.  For non-local
-   * symbols, the enclosing symbol should be parsed from the `symbol` field
-   * using the `Descriptor` grammar.
-   *
-   * The primary use-case for this field is to allow local symbol to be displayed
-   * in a symbol hierarchy for API documentation. It's OK to leave this field
-   * empty for local variables since local variables usually don't belong in API
-   * documentation. However, in the situation that you wish to include a local
-   * symbol in the hierarchy, then you can use `enclosing_symbol` to locate the
-   * "parent" or "owner" of this local symbol. For example, a Java indexer may
-   * choose to use local symbols for private class fields while providing an
-   * `enclosing_symbol` to reference the enclosing class to allow the field to
-   * be part of the class documentation hierarchy. From the perspective of an
-   * author of an indexer, the decision to use a local symbol or global symbol
-   * should exclusively be determined whether the local symbol is accessible
-   * outside the document, not by the capability to find the enclosing
-   * symbol.
-   * 
- * - * string enclosing_symbol = 8 [json_name = "enclosingSymbol"]; - * @return The enclosingSymbol. - */ - @java.lang.Override - public java.lang.String getEnclosingSymbol() { - java.lang.Object ref = enclosingSymbol_; - 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(); - enclosingSymbol_ = s; - return s; - } - } - /** - *
-   * (optional) The enclosing symbol if this is a local symbol.  For non-local
-   * symbols, the enclosing symbol should be parsed from the `symbol` field
-   * using the `Descriptor` grammar.
-   *
-   * The primary use-case for this field is to allow local symbol to be displayed
-   * in a symbol hierarchy for API documentation. It's OK to leave this field
-   * empty for local variables since local variables usually don't belong in API
-   * documentation. However, in the situation that you wish to include a local
-   * symbol in the hierarchy, then you can use `enclosing_symbol` to locate the
-   * "parent" or "owner" of this local symbol. For example, a Java indexer may
-   * choose to use local symbols for private class fields while providing an
-   * `enclosing_symbol` to reference the enclosing class to allow the field to
-   * be part of the class documentation hierarchy. From the perspective of an
-   * author of an indexer, the decision to use a local symbol or global symbol
-   * should exclusively be determined whether the local symbol is accessible
-   * outside the document, not by the capability to find the enclosing
-   * symbol.
-   * 
- * - * string enclosing_symbol = 8 [json_name = "enclosingSymbol"]; - * @return The bytes for enclosingSymbol. - */ - @java.lang.Override - public com.google.protobuf.ByteString - getEnclosingSymbolBytes() { - java.lang.Object ref = enclosingSymbol_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - enclosingSymbol_ = 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 (!com.google.protobuf.GeneratedMessage.isStringEmpty(symbol_)) { - com.google.protobuf.GeneratedMessage.writeString(output, 1, symbol_); - } - for (int i = 0; i < documentation_.size(); i++) { - com.google.protobuf.GeneratedMessage.writeString(output, 3, documentation_.getRaw(i)); - } - for (int i = 0; i < relationships_.size(); i++) { - output.writeMessage(4, relationships_.get(i)); - } - if (kind_ != org.scip_code.scip.SymbolInformation.Kind.UnspecifiedKind.getNumber()) { - output.writeEnum(5, kind_); - } - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(displayName_)) { - com.google.protobuf.GeneratedMessage.writeString(output, 6, displayName_); - } - if (((bitField0_ & 0x00000001) != 0)) { - output.writeMessage(7, getSignatureDocumentation()); - } - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(enclosingSymbol_)) { - com.google.protobuf.GeneratedMessage.writeString(output, 8, enclosingSymbol_); - } - getUnknownFields().writeTo(output); - } - - @java.lang.Override - public int getSerializedSize() { - int size = memoizedSize; - if (size != -1) return size; - - size = 0; - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(symbol_)) { - size += com.google.protobuf.GeneratedMessage.computeStringSize(1, symbol_); - } - { - int dataSize = 0; - for (int i = 0; i < documentation_.size(); i++) { - dataSize += computeStringSizeNoTag(documentation_.getRaw(i)); - } - size += dataSize; - size += 1 * getDocumentationList().size(); - } - for (int i = 0; i < relationships_.size(); i++) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(4, relationships_.get(i)); - } - if (kind_ != org.scip_code.scip.SymbolInformation.Kind.UnspecifiedKind.getNumber()) { - size += com.google.protobuf.CodedOutputStream - .computeEnumSize(5, kind_); - } - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(displayName_)) { - size += com.google.protobuf.GeneratedMessage.computeStringSize(6, displayName_); - } - if (((bitField0_ & 0x00000001) != 0)) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(7, getSignatureDocumentation()); - } - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(enclosingSymbol_)) { - size += com.google.protobuf.GeneratedMessage.computeStringSize(8, enclosingSymbol_); - } - size += getUnknownFields().getSerializedSize(); - memoizedSize = size; - return size; - } - - @java.lang.Override - public boolean equals(final java.lang.Object obj) { - if (obj == this) { - return true; - } - if (!(obj instanceof org.scip_code.scip.SymbolInformation)) { - return super.equals(obj); - } - org.scip_code.scip.SymbolInformation other = (org.scip_code.scip.SymbolInformation) obj; - - if (!getSymbol() - .equals(other.getSymbol())) return false; - if (!getDocumentationList() - .equals(other.getDocumentationList())) return false; - if (!getRelationshipsList() - .equals(other.getRelationshipsList())) return false; - if (kind_ != other.kind_) return false; - if (!getDisplayName() - .equals(other.getDisplayName())) return false; - if (hasSignatureDocumentation() != other.hasSignatureDocumentation()) return false; - if (hasSignatureDocumentation()) { - if (!getSignatureDocumentation() - .equals(other.getSignatureDocumentation())) return false; - } - if (!getEnclosingSymbol() - .equals(other.getEnclosingSymbol())) return false; - if (!getUnknownFields().equals(other.getUnknownFields())) 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 (getDocumentationCount() > 0) { - hash = (37 * hash) + DOCUMENTATION_FIELD_NUMBER; - hash = (53 * hash) + getDocumentationList().hashCode(); - } - if (getRelationshipsCount() > 0) { - hash = (37 * hash) + RELATIONSHIPS_FIELD_NUMBER; - hash = (53 * hash) + getRelationshipsList().hashCode(); - } - hash = (37 * hash) + KIND_FIELD_NUMBER; - hash = (53 * hash) + kind_; - hash = (37 * hash) + DISPLAY_NAME_FIELD_NUMBER; - hash = (53 * hash) + getDisplayName().hashCode(); - if (hasSignatureDocumentation()) { - hash = (37 * hash) + SIGNATURE_DOCUMENTATION_FIELD_NUMBER; - hash = (53 * hash) + getSignatureDocumentation().hashCode(); - } - hash = (37 * hash) + ENCLOSING_SYMBOL_FIELD_NUMBER; - hash = (53 * hash) + getEnclosingSymbol().hashCode(); - hash = (29 * hash) + getUnknownFields().hashCode(); - memoizedHashCode = hash; - return hash; - } - - public static org.scip_code.scip.SymbolInformation parseFrom( - java.nio.ByteBuffer data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static org.scip_code.scip.SymbolInformation parseFrom( - java.nio.ByteBuffer data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static org.scip_code.scip.SymbolInformation parseFrom( - com.google.protobuf.ByteString data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static org.scip_code.scip.SymbolInformation parseFrom( - com.google.protobuf.ByteString data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static org.scip_code.scip.SymbolInformation parseFrom(byte[] data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static org.scip_code.scip.SymbolInformation parseFrom( - byte[] data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static org.scip_code.scip.SymbolInformation parseFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input); - } - public static org.scip_code.scip.SymbolInformation parseFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input, extensionRegistry); - } - - public static org.scip_code.scip.SymbolInformation parseDelimitedFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseDelimitedWithIOException(PARSER, input); - } - - public static org.scip_code.scip.SymbolInformation parseDelimitedFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseDelimitedWithIOException(PARSER, input, extensionRegistry); - } - public static org.scip_code.scip.SymbolInformation parseFrom( - com.google.protobuf.CodedInputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input); - } - public static org.scip_code.scip.SymbolInformation parseFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input, extensionRegistry); - } - - @java.lang.Override - public Builder newBuilderForType() { return newBuilder(); } - public static Builder newBuilder() { - return DEFAULT_INSTANCE.toBuilder(); - } - public static Builder newBuilder(org.scip_code.scip.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.GeneratedMessage.BuilderParent parent) { - Builder builder = new Builder(parent); - return builder; - } - /** - *
-   * SymbolInformation defines metadata about a symbol, such as the symbol's
-   * docstring or what package it's defined it.
-   * 
- * - * Protobuf type {@code scip.SymbolInformation} - */ - public static final class Builder extends - com.google.protobuf.GeneratedMessage.Builder implements - // @@protoc_insertion_point(builder_implements:scip.SymbolInformation) - org.scip_code.scip.SymbolInformationOrBuilder { - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return org.scip_code.scip.ScipProto.internal_static_scip_SymbolInformation_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessage.FieldAccessorTable - internalGetFieldAccessorTable() { - return org.scip_code.scip.ScipProto.internal_static_scip_SymbolInformation_fieldAccessorTable - .ensureFieldAccessorsInitialized( - org.scip_code.scip.SymbolInformation.class, org.scip_code.scip.SymbolInformation.Builder.class); - } - - // Construct using org.scip_code.scip.SymbolInformation.newBuilder() - private Builder() { - maybeForceBuilderInitialization(); - } - - private Builder( - com.google.protobuf.GeneratedMessage.BuilderParent parent) { - super(parent); - maybeForceBuilderInitialization(); - } - private void maybeForceBuilderInitialization() { - if (com.google.protobuf.GeneratedMessage - .alwaysUseFieldBuilders) { - internalGetRelationshipsFieldBuilder(); - internalGetSignatureDocumentationFieldBuilder(); - } - } - @java.lang.Override - public Builder clear() { - super.clear(); - bitField0_ = 0; - symbol_ = ""; - documentation_ = - com.google.protobuf.LazyStringArrayList.emptyList(); - if (relationshipsBuilder_ == null) { - relationships_ = java.util.Collections.emptyList(); - } else { - relationships_ = null; - relationshipsBuilder_.clear(); - } - bitField0_ = (bitField0_ & ~0x00000004); - kind_ = 0; - displayName_ = ""; - signatureDocumentation_ = null; - if (signatureDocumentationBuilder_ != null) { - signatureDocumentationBuilder_.dispose(); - signatureDocumentationBuilder_ = null; - } - enclosingSymbol_ = ""; - return this; - } - - @java.lang.Override - public com.google.protobuf.Descriptors.Descriptor - getDescriptorForType() { - return org.scip_code.scip.ScipProto.internal_static_scip_SymbolInformation_descriptor; - } - - @java.lang.Override - public org.scip_code.scip.SymbolInformation getDefaultInstanceForType() { - return org.scip_code.scip.SymbolInformation.getDefaultInstance(); - } - - @java.lang.Override - public org.scip_code.scip.SymbolInformation build() { - org.scip_code.scip.SymbolInformation result = buildPartial(); - if (!result.isInitialized()) { - throw newUninitializedMessageException(result); - } - return result; - } - - @java.lang.Override - public org.scip_code.scip.SymbolInformation buildPartial() { - org.scip_code.scip.SymbolInformation result = new org.scip_code.scip.SymbolInformation(this); - buildPartialRepeatedFields(result); - if (bitField0_ != 0) { buildPartial0(result); } - onBuilt(); - return result; - } - - private void buildPartialRepeatedFields(org.scip_code.scip.SymbolInformation result) { - if (relationshipsBuilder_ == null) { - if (((bitField0_ & 0x00000004) != 0)) { - relationships_ = java.util.Collections.unmodifiableList(relationships_); - bitField0_ = (bitField0_ & ~0x00000004); - } - result.relationships_ = relationships_; - } else { - result.relationships_ = relationshipsBuilder_.build(); - } - } - - private void buildPartial0(org.scip_code.scip.SymbolInformation result) { - int from_bitField0_ = bitField0_; - if (((from_bitField0_ & 0x00000001) != 0)) { - result.symbol_ = symbol_; - } - if (((from_bitField0_ & 0x00000002) != 0)) { - documentation_.makeImmutable(); - result.documentation_ = documentation_; - } - if (((from_bitField0_ & 0x00000008) != 0)) { - result.kind_ = kind_; - } - if (((from_bitField0_ & 0x00000010) != 0)) { - result.displayName_ = displayName_; - } - int to_bitField0_ = 0; - if (((from_bitField0_ & 0x00000020) != 0)) { - result.signatureDocumentation_ = signatureDocumentationBuilder_ == null - ? signatureDocumentation_ - : signatureDocumentationBuilder_.build(); - to_bitField0_ |= 0x00000001; - } - if (((from_bitField0_ & 0x00000040) != 0)) { - result.enclosingSymbol_ = enclosingSymbol_; - } - result.bitField0_ |= to_bitField0_; - } - - @java.lang.Override - public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof org.scip_code.scip.SymbolInformation) { - return mergeFrom((org.scip_code.scip.SymbolInformation)other); - } else { - super.mergeFrom(other); - return this; - } - } - - public Builder mergeFrom(org.scip_code.scip.SymbolInformation other) { - if (other == org.scip_code.scip.SymbolInformation.getDefaultInstance()) return this; - if (!other.getSymbol().isEmpty()) { - symbol_ = other.symbol_; - bitField0_ |= 0x00000001; - onChanged(); - } - if (!other.documentation_.isEmpty()) { - if (documentation_.isEmpty()) { - documentation_ = other.documentation_; - bitField0_ |= 0x00000002; - } else { - ensureDocumentationIsMutable(); - documentation_.addAll(other.documentation_); - } - onChanged(); - } - if (relationshipsBuilder_ == null) { - if (!other.relationships_.isEmpty()) { - if (relationships_.isEmpty()) { - relationships_ = other.relationships_; - bitField0_ = (bitField0_ & ~0x00000004); - } else { - ensureRelationshipsIsMutable(); - relationships_.addAll(other.relationships_); - } - onChanged(); - } - } else { - if (!other.relationships_.isEmpty()) { - if (relationshipsBuilder_.isEmpty()) { - relationshipsBuilder_.dispose(); - relationshipsBuilder_ = null; - relationships_ = other.relationships_; - bitField0_ = (bitField0_ & ~0x00000004); - relationshipsBuilder_ = - com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ? - internalGetRelationshipsFieldBuilder() : null; - } else { - relationshipsBuilder_.addAllMessages(other.relationships_); - } - } - } - if (other.kind_ != 0) { - setKindValue(other.getKindValue()); - } - if (!other.getDisplayName().isEmpty()) { - displayName_ = other.displayName_; - bitField0_ |= 0x00000010; - onChanged(); - } - if (other.hasSignatureDocumentation()) { - mergeSignatureDocumentation(other.getSignatureDocumentation()); - } - if (!other.getEnclosingSymbol().isEmpty()) { - enclosingSymbol_ = other.enclosingSymbol_; - bitField0_ |= 0x00000040; - onChanged(); - } - this.mergeUnknownFields(other.getUnknownFields()); - 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 { - if (extensionRegistry == null) { - throw new java.lang.NullPointerException(); - } - try { - boolean done = false; - while (!done) { - int tag = input.readTag(); - switch (tag) { - case 0: - done = true; - break; - case 10: { - symbol_ = input.readStringRequireUtf8(); - bitField0_ |= 0x00000001; - break; - } // case 10 - case 26: { - java.lang.String s = input.readStringRequireUtf8(); - ensureDocumentationIsMutable(); - documentation_.add(s); - break; - } // case 26 - case 34: { - org.scip_code.scip.Relationship m = - input.readMessage( - org.scip_code.scip.Relationship.parser(), - extensionRegistry); - if (relationshipsBuilder_ == null) { - ensureRelationshipsIsMutable(); - relationships_.add(m); - } else { - relationshipsBuilder_.addMessage(m); - } - break; - } // case 34 - case 40: { - kind_ = input.readEnum(); - bitField0_ |= 0x00000008; - break; - } // case 40 - case 50: { - displayName_ = input.readStringRequireUtf8(); - bitField0_ |= 0x00000010; - break; - } // case 50 - case 58: { - input.readMessage( - internalGetSignatureDocumentationFieldBuilder().getBuilder(), - extensionRegistry); - bitField0_ |= 0x00000020; - break; - } // case 58 - case 66: { - enclosingSymbol_ = input.readStringRequireUtf8(); - bitField0_ |= 0x00000040; - break; - } // case 66 - default: { - if (!super.parseUnknownField(input, extensionRegistry, tag)) { - done = true; // was an endgroup tag - } - break; - } // default: - } // switch (tag) - } // while (!done) - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.unwrapIOException(); - } finally { - onChanged(); - } // finally - return this; - } - private int bitField0_; - - private java.lang.Object symbol_ = ""; - /** - *
-     * Identifier of this symbol, which can be referenced from `Occurence.symbol`.
-     * The string must be formatted according to the grammar in `Symbol`.
-     * 
- * - * string symbol = 1 [json_name = "symbol"]; - * @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; - } - } - /** - *
-     * Identifier of this symbol, which can be referenced from `Occurence.symbol`.
-     * The string must be formatted according to the grammar in `Symbol`.
-     * 
- * - * string symbol = 1 [json_name = "symbol"]; - * @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; - } - } - /** - *
-     * Identifier of this symbol, which can be referenced from `Occurence.symbol`.
-     * The string must be formatted according to the grammar in `Symbol`.
-     * 
- * - * string symbol = 1 [json_name = "symbol"]; - * @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; - bitField0_ |= 0x00000001; - onChanged(); - return this; - } - /** - *
-     * Identifier of this symbol, which can be referenced from `Occurence.symbol`.
-     * The string must be formatted according to the grammar in `Symbol`.
-     * 
- * - * string symbol = 1 [json_name = "symbol"]; - * @return This builder for chaining. - */ - public Builder clearSymbol() { - symbol_ = getDefaultInstance().getSymbol(); - bitField0_ = (bitField0_ & ~0x00000001); - onChanged(); - return this; - } - /** - *
-     * Identifier of this symbol, which can be referenced from `Occurence.symbol`.
-     * The string must be formatted according to the grammar in `Symbol`.
-     * 
- * - * string symbol = 1 [json_name = "symbol"]; - * @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; - bitField0_ |= 0x00000001; - onChanged(); - return this; - } - - private com.google.protobuf.LazyStringArrayList documentation_ = - com.google.protobuf.LazyStringArrayList.emptyList(); - private void ensureDocumentationIsMutable() { - if (!documentation_.isModifiable()) { - documentation_ = new com.google.protobuf.LazyStringArrayList(documentation_); - } - bitField0_ |= 0x00000002; - } - /** - *
-     * (optional, but strongly recommended) The markdown-formatted documentation
-     * for this symbol. Use `SymbolInformation.signature_documentation` to
-     * document the method/class/type signature of this symbol.
-     * Due to historical reasons, indexers may include signature documentation in
-     * this field by rendering markdown code blocks. New indexers should only
-     * include non-code documentation in this field, for example docstrings.
-     * 
- * - * repeated string documentation = 3 [json_name = "documentation"]; - * @return A list containing the documentation. - */ - public com.google.protobuf.ProtocolStringList - getDocumentationList() { - documentation_.makeImmutable(); - return documentation_; - } - /** - *
-     * (optional, but strongly recommended) The markdown-formatted documentation
-     * for this symbol. Use `SymbolInformation.signature_documentation` to
-     * document the method/class/type signature of this symbol.
-     * Due to historical reasons, indexers may include signature documentation in
-     * this field by rendering markdown code blocks. New indexers should only
-     * include non-code documentation in this field, for example docstrings.
-     * 
- * - * repeated string documentation = 3 [json_name = "documentation"]; - * @return The count of documentation. - */ - public int getDocumentationCount() { - return documentation_.size(); - } - /** - *
-     * (optional, but strongly recommended) The markdown-formatted documentation
-     * for this symbol. Use `SymbolInformation.signature_documentation` to
-     * document the method/class/type signature of this symbol.
-     * Due to historical reasons, indexers may include signature documentation in
-     * this field by rendering markdown code blocks. New indexers should only
-     * include non-code documentation in this field, for example docstrings.
-     * 
- * - * repeated string documentation = 3 [json_name = "documentation"]; - * @param index The index of the element to return. - * @return The documentation at the given index. - */ - public java.lang.String getDocumentation(int index) { - return documentation_.get(index); - } - /** - *
-     * (optional, but strongly recommended) The markdown-formatted documentation
-     * for this symbol. Use `SymbolInformation.signature_documentation` to
-     * document the method/class/type signature of this symbol.
-     * Due to historical reasons, indexers may include signature documentation in
-     * this field by rendering markdown code blocks. New indexers should only
-     * include non-code documentation in this field, for example docstrings.
-     * 
- * - * repeated string documentation = 3 [json_name = "documentation"]; - * @param index The index of the value to return. - * @return The bytes of the documentation at the given index. - */ - public com.google.protobuf.ByteString - getDocumentationBytes(int index) { - return documentation_.getByteString(index); - } - /** - *
-     * (optional, but strongly recommended) The markdown-formatted documentation
-     * for this symbol. Use `SymbolInformation.signature_documentation` to
-     * document the method/class/type signature of this symbol.
-     * Due to historical reasons, indexers may include signature documentation in
-     * this field by rendering markdown code blocks. New indexers should only
-     * include non-code documentation in this field, for example docstrings.
-     * 
- * - * repeated string documentation = 3 [json_name = "documentation"]; - * @param index The index to set the value at. - * @param value The documentation to set. - * @return This builder for chaining. - */ - public Builder setDocumentation( - int index, java.lang.String value) { - if (value == null) { throw new NullPointerException(); } - ensureDocumentationIsMutable(); - documentation_.set(index, value); - bitField0_ |= 0x00000002; - onChanged(); - return this; - } - /** - *
-     * (optional, but strongly recommended) The markdown-formatted documentation
-     * for this symbol. Use `SymbolInformation.signature_documentation` to
-     * document the method/class/type signature of this symbol.
-     * Due to historical reasons, indexers may include signature documentation in
-     * this field by rendering markdown code blocks. New indexers should only
-     * include non-code documentation in this field, for example docstrings.
-     * 
- * - * repeated string documentation = 3 [json_name = "documentation"]; - * @param value The documentation to add. - * @return This builder for chaining. - */ - public Builder addDocumentation( - java.lang.String value) { - if (value == null) { throw new NullPointerException(); } - ensureDocumentationIsMutable(); - documentation_.add(value); - bitField0_ |= 0x00000002; - onChanged(); - return this; - } - /** - *
-     * (optional, but strongly recommended) The markdown-formatted documentation
-     * for this symbol. Use `SymbolInformation.signature_documentation` to
-     * document the method/class/type signature of this symbol.
-     * Due to historical reasons, indexers may include signature documentation in
-     * this field by rendering markdown code blocks. New indexers should only
-     * include non-code documentation in this field, for example docstrings.
-     * 
- * - * repeated string documentation = 3 [json_name = "documentation"]; - * @param values The documentation to add. - * @return This builder for chaining. - */ - public Builder addAllDocumentation( - java.lang.Iterable values) { - ensureDocumentationIsMutable(); - com.google.protobuf.AbstractMessageLite.Builder.addAll( - values, documentation_); - bitField0_ |= 0x00000002; - onChanged(); - return this; - } - /** - *
-     * (optional, but strongly recommended) The markdown-formatted documentation
-     * for this symbol. Use `SymbolInformation.signature_documentation` to
-     * document the method/class/type signature of this symbol.
-     * Due to historical reasons, indexers may include signature documentation in
-     * this field by rendering markdown code blocks. New indexers should only
-     * include non-code documentation in this field, for example docstrings.
-     * 
- * - * repeated string documentation = 3 [json_name = "documentation"]; - * @return This builder for chaining. - */ - public Builder clearDocumentation() { - documentation_ = - com.google.protobuf.LazyStringArrayList.emptyList(); - bitField0_ = (bitField0_ & ~0x00000002);; - onChanged(); - return this; - } - /** - *
-     * (optional, but strongly recommended) The markdown-formatted documentation
-     * for this symbol. Use `SymbolInformation.signature_documentation` to
-     * document the method/class/type signature of this symbol.
-     * Due to historical reasons, indexers may include signature documentation in
-     * this field by rendering markdown code blocks. New indexers should only
-     * include non-code documentation in this field, for example docstrings.
-     * 
- * - * repeated string documentation = 3 [json_name = "documentation"]; - * @param value The bytes of the documentation to add. - * @return This builder for chaining. - */ - public Builder addDocumentationBytes( - com.google.protobuf.ByteString value) { - if (value == null) { throw new NullPointerException(); } - checkByteStringIsUtf8(value); - ensureDocumentationIsMutable(); - documentation_.add(value); - bitField0_ |= 0x00000002; - onChanged(); - return this; - } - - private java.util.List relationships_ = - java.util.Collections.emptyList(); - private void ensureRelationshipsIsMutable() { - if (!((bitField0_ & 0x00000004) != 0)) { - relationships_ = new java.util.ArrayList(relationships_); - bitField0_ |= 0x00000004; - } - } - - private com.google.protobuf.RepeatedFieldBuilder< - org.scip_code.scip.Relationship, org.scip_code.scip.Relationship.Builder, org.scip_code.scip.RelationshipOrBuilder> relationshipsBuilder_; - - /** - *
-     * (optional) Relationships to other symbols (e.g., implements, type definition).
-     * 
- * - * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; - */ - public java.util.List getRelationshipsList() { - if (relationshipsBuilder_ == null) { - return java.util.Collections.unmodifiableList(relationships_); - } else { - return relationshipsBuilder_.getMessageList(); - } - } - /** - *
-     * (optional) Relationships to other symbols (e.g., implements, type definition).
-     * 
- * - * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; - */ - public int getRelationshipsCount() { - if (relationshipsBuilder_ == null) { - return relationships_.size(); - } else { - return relationshipsBuilder_.getCount(); - } - } - /** - *
-     * (optional) Relationships to other symbols (e.g., implements, type definition).
-     * 
- * - * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; - */ - public org.scip_code.scip.Relationship getRelationships(int index) { - if (relationshipsBuilder_ == null) { - return relationships_.get(index); - } else { - return relationshipsBuilder_.getMessage(index); - } - } - /** - *
-     * (optional) Relationships to other symbols (e.g., implements, type definition).
-     * 
- * - * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; - */ - public Builder setRelationships( - int index, org.scip_code.scip.Relationship value) { - if (relationshipsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureRelationshipsIsMutable(); - relationships_.set(index, value); - onChanged(); - } else { - relationshipsBuilder_.setMessage(index, value); - } - return this; - } - /** - *
-     * (optional) Relationships to other symbols (e.g., implements, type definition).
-     * 
- * - * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; - */ - public Builder setRelationships( - int index, org.scip_code.scip.Relationship.Builder builderForValue) { - if (relationshipsBuilder_ == null) { - ensureRelationshipsIsMutable(); - relationships_.set(index, builderForValue.build()); - onChanged(); - } else { - relationshipsBuilder_.setMessage(index, builderForValue.build()); - } - return this; - } - /** - *
-     * (optional) Relationships to other symbols (e.g., implements, type definition).
-     * 
- * - * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; - */ - public Builder addRelationships(org.scip_code.scip.Relationship value) { - if (relationshipsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureRelationshipsIsMutable(); - relationships_.add(value); - onChanged(); - } else { - relationshipsBuilder_.addMessage(value); - } - return this; - } - /** - *
-     * (optional) Relationships to other symbols (e.g., implements, type definition).
-     * 
- * - * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; - */ - public Builder addRelationships( - int index, org.scip_code.scip.Relationship value) { - if (relationshipsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureRelationshipsIsMutable(); - relationships_.add(index, value); - onChanged(); - } else { - relationshipsBuilder_.addMessage(index, value); - } - return this; - } - /** - *
-     * (optional) Relationships to other symbols (e.g., implements, type definition).
-     * 
- * - * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; - */ - public Builder addRelationships( - org.scip_code.scip.Relationship.Builder builderForValue) { - if (relationshipsBuilder_ == null) { - ensureRelationshipsIsMutable(); - relationships_.add(builderForValue.build()); - onChanged(); - } else { - relationshipsBuilder_.addMessage(builderForValue.build()); - } - return this; - } - /** - *
-     * (optional) Relationships to other symbols (e.g., implements, type definition).
-     * 
- * - * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; - */ - public Builder addRelationships( - int index, org.scip_code.scip.Relationship.Builder builderForValue) { - if (relationshipsBuilder_ == null) { - ensureRelationshipsIsMutable(); - relationships_.add(index, builderForValue.build()); - onChanged(); - } else { - relationshipsBuilder_.addMessage(index, builderForValue.build()); - } - return this; - } - /** - *
-     * (optional) Relationships to other symbols (e.g., implements, type definition).
-     * 
- * - * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; - */ - public Builder addAllRelationships( - java.lang.Iterable values) { - if (relationshipsBuilder_ == null) { - ensureRelationshipsIsMutable(); - com.google.protobuf.AbstractMessageLite.Builder.addAll( - values, relationships_); - onChanged(); - } else { - relationshipsBuilder_.addAllMessages(values); - } - return this; - } - /** - *
-     * (optional) Relationships to other symbols (e.g., implements, type definition).
-     * 
- * - * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; - */ - public Builder clearRelationships() { - if (relationshipsBuilder_ == null) { - relationships_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000004); - onChanged(); - } else { - relationshipsBuilder_.clear(); - } - return this; - } - /** - *
-     * (optional) Relationships to other symbols (e.g., implements, type definition).
-     * 
- * - * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; - */ - public Builder removeRelationships(int index) { - if (relationshipsBuilder_ == null) { - ensureRelationshipsIsMutable(); - relationships_.remove(index); - onChanged(); - } else { - relationshipsBuilder_.remove(index); - } - return this; - } - /** - *
-     * (optional) Relationships to other symbols (e.g., implements, type definition).
-     * 
- * - * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; - */ - public org.scip_code.scip.Relationship.Builder getRelationshipsBuilder( - int index) { - return internalGetRelationshipsFieldBuilder().getBuilder(index); - } - /** - *
-     * (optional) Relationships to other symbols (e.g., implements, type definition).
-     * 
- * - * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; - */ - public org.scip_code.scip.RelationshipOrBuilder getRelationshipsOrBuilder( - int index) { - if (relationshipsBuilder_ == null) { - return relationships_.get(index); } else { - return relationshipsBuilder_.getMessageOrBuilder(index); - } - } - /** - *
-     * (optional) Relationships to other symbols (e.g., implements, type definition).
-     * 
- * - * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; - */ - public java.util.List - getRelationshipsOrBuilderList() { - if (relationshipsBuilder_ != null) { - return relationshipsBuilder_.getMessageOrBuilderList(); - } else { - return java.util.Collections.unmodifiableList(relationships_); - } - } - /** - *
-     * (optional) Relationships to other symbols (e.g., implements, type definition).
-     * 
- * - * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; - */ - public org.scip_code.scip.Relationship.Builder addRelationshipsBuilder() { - return internalGetRelationshipsFieldBuilder().addBuilder( - org.scip_code.scip.Relationship.getDefaultInstance()); - } - /** - *
-     * (optional) Relationships to other symbols (e.g., implements, type definition).
-     * 
- * - * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; - */ - public org.scip_code.scip.Relationship.Builder addRelationshipsBuilder( - int index) { - return internalGetRelationshipsFieldBuilder().addBuilder( - index, org.scip_code.scip.Relationship.getDefaultInstance()); - } - /** - *
-     * (optional) Relationships to other symbols (e.g., implements, type definition).
-     * 
- * - * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; - */ - public java.util.List - getRelationshipsBuilderList() { - return internalGetRelationshipsFieldBuilder().getBuilderList(); - } - private com.google.protobuf.RepeatedFieldBuilder< - org.scip_code.scip.Relationship, org.scip_code.scip.Relationship.Builder, org.scip_code.scip.RelationshipOrBuilder> - internalGetRelationshipsFieldBuilder() { - if (relationshipsBuilder_ == null) { - relationshipsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder< - org.scip_code.scip.Relationship, org.scip_code.scip.Relationship.Builder, org.scip_code.scip.RelationshipOrBuilder>( - relationships_, - ((bitField0_ & 0x00000004) != 0), - getParentForChildren(), - isClean()); - relationships_ = null; - } - return relationshipsBuilder_; - } - - private int kind_ = 0; - /** - *
-     * The kind of this symbol. Use this field instead of
-     * `SymbolDescriptor.Suffix` to determine whether something is, for example, a
-     * class or a method.
-     * 
- * - * .scip.SymbolInformation.Kind kind = 5 [json_name = "kind"]; - * @return The enum numeric value on the wire for kind. - */ - @java.lang.Override public int getKindValue() { - return kind_; - } - /** - *
-     * The kind of this symbol. Use this field instead of
-     * `SymbolDescriptor.Suffix` to determine whether something is, for example, a
-     * class or a method.
-     * 
- * - * .scip.SymbolInformation.Kind kind = 5 [json_name = "kind"]; - * @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; - bitField0_ |= 0x00000008; - onChanged(); - return this; - } - /** - *
-     * The kind of this symbol. Use this field instead of
-     * `SymbolDescriptor.Suffix` to determine whether something is, for example, a
-     * class or a method.
-     * 
- * - * .scip.SymbolInformation.Kind kind = 5 [json_name = "kind"]; - * @return The kind. - */ - @java.lang.Override - public org.scip_code.scip.SymbolInformation.Kind getKind() { - org.scip_code.scip.SymbolInformation.Kind result = org.scip_code.scip.SymbolInformation.Kind.forNumber(kind_); - return result == null ? org.scip_code.scip.SymbolInformation.Kind.UNRECOGNIZED : result; - } - /** - *
-     * The kind of this symbol. Use this field instead of
-     * `SymbolDescriptor.Suffix` to determine whether something is, for example, a
-     * class or a method.
-     * 
- * - * .scip.SymbolInformation.Kind kind = 5 [json_name = "kind"]; - * @param value The kind to set. - * @return This builder for chaining. - */ - public Builder setKind(org.scip_code.scip.SymbolInformation.Kind value) { - if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000008; - kind_ = value.getNumber(); - onChanged(); - return this; - } - /** - *
-     * The kind of this symbol. Use this field instead of
-     * `SymbolDescriptor.Suffix` to determine whether something is, for example, a
-     * class or a method.
-     * 
- * - * .scip.SymbolInformation.Kind kind = 5 [json_name = "kind"]; - * @return This builder for chaining. - */ - public Builder clearKind() { - bitField0_ = (bitField0_ & ~0x00000008); - kind_ = 0; - onChanged(); - return this; - } - - private java.lang.Object displayName_ = ""; - /** - *
-     * (optional) The name of this symbol as it should be displayed to the user.
-     * For example, the symbol "com/example/MyClass#myMethod(+1)." should have the
-     * display name "myMethod". The `symbol` field is not a reliable source of
-     * the display name for several reasons:
-     *
-     * - Local symbols don't encode the name.
-     * - Some languages have case-insensitive names, so the symbol is all-lowercase.
-     * - The symbol may encode names with special characters that should not be
-     * displayed to the user.
-     * 
- * - * string display_name = 6 [json_name = "displayName"]; - * @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; - } - } - /** - *
-     * (optional) The name of this symbol as it should be displayed to the user.
-     * For example, the symbol "com/example/MyClass#myMethod(+1)." should have the
-     * display name "myMethod". The `symbol` field is not a reliable source of
-     * the display name for several reasons:
-     *
-     * - Local symbols don't encode the name.
-     * - Some languages have case-insensitive names, so the symbol is all-lowercase.
-     * - The symbol may encode names with special characters that should not be
-     * displayed to the user.
-     * 
- * - * string display_name = 6 [json_name = "displayName"]; - * @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; - } - } - /** - *
-     * (optional) The name of this symbol as it should be displayed to the user.
-     * For example, the symbol "com/example/MyClass#myMethod(+1)." should have the
-     * display name "myMethod". The `symbol` field is not a reliable source of
-     * the display name for several reasons:
-     *
-     * - Local symbols don't encode the name.
-     * - Some languages have case-insensitive names, so the symbol is all-lowercase.
-     * - The symbol may encode names with special characters that should not be
-     * displayed to the user.
-     * 
- * - * string display_name = 6 [json_name = "displayName"]; - * @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; - bitField0_ |= 0x00000010; - onChanged(); - return this; - } - /** - *
-     * (optional) The name of this symbol as it should be displayed to the user.
-     * For example, the symbol "com/example/MyClass#myMethod(+1)." should have the
-     * display name "myMethod". The `symbol` field is not a reliable source of
-     * the display name for several reasons:
-     *
-     * - Local symbols don't encode the name.
-     * - Some languages have case-insensitive names, so the symbol is all-lowercase.
-     * - The symbol may encode names with special characters that should not be
-     * displayed to the user.
-     * 
- * - * string display_name = 6 [json_name = "displayName"]; - * @return This builder for chaining. - */ - public Builder clearDisplayName() { - displayName_ = getDefaultInstance().getDisplayName(); - bitField0_ = (bitField0_ & ~0x00000010); - onChanged(); - return this; - } - /** - *
-     * (optional) The name of this symbol as it should be displayed to the user.
-     * For example, the symbol "com/example/MyClass#myMethod(+1)." should have the
-     * display name "myMethod". The `symbol` field is not a reliable source of
-     * the display name for several reasons:
-     *
-     * - Local symbols don't encode the name.
-     * - Some languages have case-insensitive names, so the symbol is all-lowercase.
-     * - The symbol may encode names with special characters that should not be
-     * displayed to the user.
-     * 
- * - * string display_name = 6 [json_name = "displayName"]; - * @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; - bitField0_ |= 0x00000010; - onChanged(); - return this; - } - - private org.scip_code.scip.Signature signatureDocumentation_; - private com.google.protobuf.SingleFieldBuilder< - org.scip_code.scip.Signature, org.scip_code.scip.Signature.Builder, org.scip_code.scip.SignatureOrBuilder> signatureDocumentationBuilder_; - /** - *
-     * (optional) The signature of this symbol as it's displayed in API
-     * documentation or in hover tooltips. For example, a Java method that adds
-     * two numbers would have `Signature.language = "java"` and
-     * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
-     * fields are required while `occurrences` can be optionally included to
-     * support hyperlinking referenced symbols in the signature.
-     * 
- * - * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; - * @return Whether the signatureDocumentation field is set. - */ - public boolean hasSignatureDocumentation() { - return ((bitField0_ & 0x00000020) != 0); - } - /** - *
-     * (optional) The signature of this symbol as it's displayed in API
-     * documentation or in hover tooltips. For example, a Java method that adds
-     * two numbers would have `Signature.language = "java"` and
-     * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
-     * fields are required while `occurrences` can be optionally included to
-     * support hyperlinking referenced symbols in the signature.
-     * 
- * - * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; - * @return The signatureDocumentation. - */ - public org.scip_code.scip.Signature getSignatureDocumentation() { - if (signatureDocumentationBuilder_ == null) { - return signatureDocumentation_ == null ? org.scip_code.scip.Signature.getDefaultInstance() : signatureDocumentation_; - } else { - return signatureDocumentationBuilder_.getMessage(); - } - } - /** - *
-     * (optional) The signature of this symbol as it's displayed in API
-     * documentation or in hover tooltips. For example, a Java method that adds
-     * two numbers would have `Signature.language = "java"` and
-     * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
-     * fields are required while `occurrences` can be optionally included to
-     * support hyperlinking referenced symbols in the signature.
-     * 
- * - * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; - */ - public Builder setSignatureDocumentation(org.scip_code.scip.Signature value) { - if (signatureDocumentationBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - signatureDocumentation_ = value; - } else { - signatureDocumentationBuilder_.setMessage(value); - } - bitField0_ |= 0x00000020; - onChanged(); - return this; - } - /** - *
-     * (optional) The signature of this symbol as it's displayed in API
-     * documentation or in hover tooltips. For example, a Java method that adds
-     * two numbers would have `Signature.language = "java"` and
-     * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
-     * fields are required while `occurrences` can be optionally included to
-     * support hyperlinking referenced symbols in the signature.
-     * 
- * - * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; - */ - public Builder setSignatureDocumentation( - org.scip_code.scip.Signature.Builder builderForValue) { - if (signatureDocumentationBuilder_ == null) { - signatureDocumentation_ = builderForValue.build(); - } else { - signatureDocumentationBuilder_.setMessage(builderForValue.build()); - } - bitField0_ |= 0x00000020; - onChanged(); - return this; - } - /** - *
-     * (optional) The signature of this symbol as it's displayed in API
-     * documentation or in hover tooltips. For example, a Java method that adds
-     * two numbers would have `Signature.language = "java"` and
-     * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
-     * fields are required while `occurrences` can be optionally included to
-     * support hyperlinking referenced symbols in the signature.
-     * 
- * - * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; - */ - public Builder mergeSignatureDocumentation(org.scip_code.scip.Signature value) { - if (signatureDocumentationBuilder_ == null) { - if (((bitField0_ & 0x00000020) != 0) && - signatureDocumentation_ != null && - signatureDocumentation_ != org.scip_code.scip.Signature.getDefaultInstance()) { - getSignatureDocumentationBuilder().mergeFrom(value); - } else { - signatureDocumentation_ = value; - } - } else { - signatureDocumentationBuilder_.mergeFrom(value); - } - if (signatureDocumentation_ != null) { - bitField0_ |= 0x00000020; - onChanged(); - } - return this; - } - /** - *
-     * (optional) The signature of this symbol as it's displayed in API
-     * documentation or in hover tooltips. For example, a Java method that adds
-     * two numbers would have `Signature.language = "java"` and
-     * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
-     * fields are required while `occurrences` can be optionally included to
-     * support hyperlinking referenced symbols in the signature.
-     * 
- * - * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; - */ - public Builder clearSignatureDocumentation() { - bitField0_ = (bitField0_ & ~0x00000020); - signatureDocumentation_ = null; - if (signatureDocumentationBuilder_ != null) { - signatureDocumentationBuilder_.dispose(); - signatureDocumentationBuilder_ = null; - } - onChanged(); - return this; - } - /** - *
-     * (optional) The signature of this symbol as it's displayed in API
-     * documentation or in hover tooltips. For example, a Java method that adds
-     * two numbers would have `Signature.language = "java"` and
-     * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
-     * fields are required while `occurrences` can be optionally included to
-     * support hyperlinking referenced symbols in the signature.
-     * 
- * - * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; - */ - public org.scip_code.scip.Signature.Builder getSignatureDocumentationBuilder() { - bitField0_ |= 0x00000020; - onChanged(); - return internalGetSignatureDocumentationFieldBuilder().getBuilder(); - } - /** - *
-     * (optional) The signature of this symbol as it's displayed in API
-     * documentation or in hover tooltips. For example, a Java method that adds
-     * two numbers would have `Signature.language = "java"` and
-     * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
-     * fields are required while `occurrences` can be optionally included to
-     * support hyperlinking referenced symbols in the signature.
-     * 
- * - * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; - */ - public org.scip_code.scip.SignatureOrBuilder getSignatureDocumentationOrBuilder() { - if (signatureDocumentationBuilder_ != null) { - return signatureDocumentationBuilder_.getMessageOrBuilder(); - } else { - return signatureDocumentation_ == null ? - org.scip_code.scip.Signature.getDefaultInstance() : signatureDocumentation_; - } - } - /** - *
-     * (optional) The signature of this symbol as it's displayed in API
-     * documentation or in hover tooltips. For example, a Java method that adds
-     * two numbers would have `Signature.language = "java"` and
-     * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
-     * fields are required while `occurrences` can be optionally included to
-     * support hyperlinking referenced symbols in the signature.
-     * 
- * - * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; - */ - private com.google.protobuf.SingleFieldBuilder< - org.scip_code.scip.Signature, org.scip_code.scip.Signature.Builder, org.scip_code.scip.SignatureOrBuilder> - internalGetSignatureDocumentationFieldBuilder() { - if (signatureDocumentationBuilder_ == null) { - signatureDocumentationBuilder_ = new com.google.protobuf.SingleFieldBuilder< - org.scip_code.scip.Signature, org.scip_code.scip.Signature.Builder, org.scip_code.scip.SignatureOrBuilder>( - getSignatureDocumentation(), - getParentForChildren(), - isClean()); - signatureDocumentation_ = null; - } - return signatureDocumentationBuilder_; - } - - private java.lang.Object enclosingSymbol_ = ""; - /** - *
-     * (optional) The enclosing symbol if this is a local symbol.  For non-local
-     * symbols, the enclosing symbol should be parsed from the `symbol` field
-     * using the `Descriptor` grammar.
-     *
-     * The primary use-case for this field is to allow local symbol to be displayed
-     * in a symbol hierarchy for API documentation. It's OK to leave this field
-     * empty for local variables since local variables usually don't belong in API
-     * documentation. However, in the situation that you wish to include a local
-     * symbol in the hierarchy, then you can use `enclosing_symbol` to locate the
-     * "parent" or "owner" of this local symbol. For example, a Java indexer may
-     * choose to use local symbols for private class fields while providing an
-     * `enclosing_symbol` to reference the enclosing class to allow the field to
-     * be part of the class documentation hierarchy. From the perspective of an
-     * author of an indexer, the decision to use a local symbol or global symbol
-     * should exclusively be determined whether the local symbol is accessible
-     * outside the document, not by the capability to find the enclosing
-     * symbol.
-     * 
- * - * string enclosing_symbol = 8 [json_name = "enclosingSymbol"]; - * @return The enclosingSymbol. - */ - public java.lang.String getEnclosingSymbol() { - java.lang.Object ref = enclosingSymbol_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - enclosingSymbol_ = s; - return s; - } else { - return (java.lang.String) ref; - } - } - /** - *
-     * (optional) The enclosing symbol if this is a local symbol.  For non-local
-     * symbols, the enclosing symbol should be parsed from the `symbol` field
-     * using the `Descriptor` grammar.
-     *
-     * The primary use-case for this field is to allow local symbol to be displayed
-     * in a symbol hierarchy for API documentation. It's OK to leave this field
-     * empty for local variables since local variables usually don't belong in API
-     * documentation. However, in the situation that you wish to include a local
-     * symbol in the hierarchy, then you can use `enclosing_symbol` to locate the
-     * "parent" or "owner" of this local symbol. For example, a Java indexer may
-     * choose to use local symbols for private class fields while providing an
-     * `enclosing_symbol` to reference the enclosing class to allow the field to
-     * be part of the class documentation hierarchy. From the perspective of an
-     * author of an indexer, the decision to use a local symbol or global symbol
-     * should exclusively be determined whether the local symbol is accessible
-     * outside the document, not by the capability to find the enclosing
-     * symbol.
-     * 
- * - * string enclosing_symbol = 8 [json_name = "enclosingSymbol"]; - * @return The bytes for enclosingSymbol. - */ - public com.google.protobuf.ByteString - getEnclosingSymbolBytes() { - java.lang.Object ref = enclosingSymbol_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - enclosingSymbol_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - /** - *
-     * (optional) The enclosing symbol if this is a local symbol.  For non-local
-     * symbols, the enclosing symbol should be parsed from the `symbol` field
-     * using the `Descriptor` grammar.
-     *
-     * The primary use-case for this field is to allow local symbol to be displayed
-     * in a symbol hierarchy for API documentation. It's OK to leave this field
-     * empty for local variables since local variables usually don't belong in API
-     * documentation. However, in the situation that you wish to include a local
-     * symbol in the hierarchy, then you can use `enclosing_symbol` to locate the
-     * "parent" or "owner" of this local symbol. For example, a Java indexer may
-     * choose to use local symbols for private class fields while providing an
-     * `enclosing_symbol` to reference the enclosing class to allow the field to
-     * be part of the class documentation hierarchy. From the perspective of an
-     * author of an indexer, the decision to use a local symbol or global symbol
-     * should exclusively be determined whether the local symbol is accessible
-     * outside the document, not by the capability to find the enclosing
-     * symbol.
-     * 
- * - * string enclosing_symbol = 8 [json_name = "enclosingSymbol"]; - * @param value The enclosingSymbol to set. - * @return This builder for chaining. - */ - public Builder setEnclosingSymbol( - java.lang.String value) { - if (value == null) { throw new NullPointerException(); } - enclosingSymbol_ = value; - bitField0_ |= 0x00000040; - onChanged(); - return this; - } - /** - *
-     * (optional) The enclosing symbol if this is a local symbol.  For non-local
-     * symbols, the enclosing symbol should be parsed from the `symbol` field
-     * using the `Descriptor` grammar.
-     *
-     * The primary use-case for this field is to allow local symbol to be displayed
-     * in a symbol hierarchy for API documentation. It's OK to leave this field
-     * empty for local variables since local variables usually don't belong in API
-     * documentation. However, in the situation that you wish to include a local
-     * symbol in the hierarchy, then you can use `enclosing_symbol` to locate the
-     * "parent" or "owner" of this local symbol. For example, a Java indexer may
-     * choose to use local symbols for private class fields while providing an
-     * `enclosing_symbol` to reference the enclosing class to allow the field to
-     * be part of the class documentation hierarchy. From the perspective of an
-     * author of an indexer, the decision to use a local symbol or global symbol
-     * should exclusively be determined whether the local symbol is accessible
-     * outside the document, not by the capability to find the enclosing
-     * symbol.
-     * 
- * - * string enclosing_symbol = 8 [json_name = "enclosingSymbol"]; - * @return This builder for chaining. - */ - public Builder clearEnclosingSymbol() { - enclosingSymbol_ = getDefaultInstance().getEnclosingSymbol(); - bitField0_ = (bitField0_ & ~0x00000040); - onChanged(); - return this; - } - /** - *
-     * (optional) The enclosing symbol if this is a local symbol.  For non-local
-     * symbols, the enclosing symbol should be parsed from the `symbol` field
-     * using the `Descriptor` grammar.
-     *
-     * The primary use-case for this field is to allow local symbol to be displayed
-     * in a symbol hierarchy for API documentation. It's OK to leave this field
-     * empty for local variables since local variables usually don't belong in API
-     * documentation. However, in the situation that you wish to include a local
-     * symbol in the hierarchy, then you can use `enclosing_symbol` to locate the
-     * "parent" or "owner" of this local symbol. For example, a Java indexer may
-     * choose to use local symbols for private class fields while providing an
-     * `enclosing_symbol` to reference the enclosing class to allow the field to
-     * be part of the class documentation hierarchy. From the perspective of an
-     * author of an indexer, the decision to use a local symbol or global symbol
-     * should exclusively be determined whether the local symbol is accessible
-     * outside the document, not by the capability to find the enclosing
-     * symbol.
-     * 
- * - * string enclosing_symbol = 8 [json_name = "enclosingSymbol"]; - * @param value The bytes for enclosingSymbol to set. - * @return This builder for chaining. - */ - public Builder setEnclosingSymbolBytes( - com.google.protobuf.ByteString value) { - if (value == null) { throw new NullPointerException(); } - checkByteStringIsUtf8(value); - enclosingSymbol_ = value; - bitField0_ |= 0x00000040; - onChanged(); - return this; - } - - // @@protoc_insertion_point(builder_scope:scip.SymbolInformation) - } - - // @@protoc_insertion_point(class_scope:scip.SymbolInformation) - private static final org.scip_code.scip.SymbolInformation DEFAULT_INSTANCE; - static { - DEFAULT_INSTANCE = new org.scip_code.scip.SymbolInformation(); - } - - public static org.scip_code.scip.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 { - Builder builder = newBuilder(); - try { - builder.mergeFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.setUnfinishedMessage(builder.buildPartial()); - } catch (com.google.protobuf.UninitializedMessageException e) { - throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); - } catch (java.io.IOException e) { - throw new com.google.protobuf.InvalidProtocolBufferException(e) - .setUnfinishedMessage(builder.buildPartial()); - } - return builder.buildPartial(); - } - }; - - public static com.google.protobuf.Parser parser() { - return PARSER; - } - - @java.lang.Override - public com.google.protobuf.Parser getParserForType() { - return PARSER; - } - - @java.lang.Override - public org.scip_code.scip.SymbolInformation getDefaultInstanceForType() { - return DEFAULT_INSTANCE; - } - -} - diff --git a/bindings/kotlin/src/main/java/org/scip_code/scip/SymbolInformationOrBuilder.java b/bindings/kotlin/src/main/java/org/scip_code/scip/SymbolInformationOrBuilder.java deleted file mode 100644 index ba919cc1..00000000 --- a/bindings/kotlin/src/main/java/org/scip_code/scip/SymbolInformationOrBuilder.java +++ /dev/null @@ -1,292 +0,0 @@ -// Generated by the protocol buffer compiler. DO NOT EDIT! -// NO CHECKED-IN PROTOBUF GENCODE -// source: scip.proto -// Protobuf Java Version: 4.32.1 - -package org.scip_code.scip; - -@com.google.protobuf.Generated -public interface SymbolInformationOrBuilder extends - // @@protoc_insertion_point(interface_extends:scip.SymbolInformation) - com.google.protobuf.MessageOrBuilder { - - /** - *
-   * Identifier of this symbol, which can be referenced from `Occurence.symbol`.
-   * The string must be formatted according to the grammar in `Symbol`.
-   * 
- * - * string symbol = 1 [json_name = "symbol"]; - * @return The symbol. - */ - java.lang.String getSymbol(); - /** - *
-   * Identifier of this symbol, which can be referenced from `Occurence.symbol`.
-   * The string must be formatted according to the grammar in `Symbol`.
-   * 
- * - * string symbol = 1 [json_name = "symbol"]; - * @return The bytes for symbol. - */ - com.google.protobuf.ByteString - getSymbolBytes(); - - /** - *
-   * (optional, but strongly recommended) The markdown-formatted documentation
-   * for this symbol. Use `SymbolInformation.signature_documentation` to
-   * document the method/class/type signature of this symbol.
-   * Due to historical reasons, indexers may include signature documentation in
-   * this field by rendering markdown code blocks. New indexers should only
-   * include non-code documentation in this field, for example docstrings.
-   * 
- * - * repeated string documentation = 3 [json_name = "documentation"]; - * @return A list containing the documentation. - */ - java.util.List - getDocumentationList(); - /** - *
-   * (optional, but strongly recommended) The markdown-formatted documentation
-   * for this symbol. Use `SymbolInformation.signature_documentation` to
-   * document the method/class/type signature of this symbol.
-   * Due to historical reasons, indexers may include signature documentation in
-   * this field by rendering markdown code blocks. New indexers should only
-   * include non-code documentation in this field, for example docstrings.
-   * 
- * - * repeated string documentation = 3 [json_name = "documentation"]; - * @return The count of documentation. - */ - int getDocumentationCount(); - /** - *
-   * (optional, but strongly recommended) The markdown-formatted documentation
-   * for this symbol. Use `SymbolInformation.signature_documentation` to
-   * document the method/class/type signature of this symbol.
-   * Due to historical reasons, indexers may include signature documentation in
-   * this field by rendering markdown code blocks. New indexers should only
-   * include non-code documentation in this field, for example docstrings.
-   * 
- * - * repeated string documentation = 3 [json_name = "documentation"]; - * @param index The index of the element to return. - * @return The documentation at the given index. - */ - java.lang.String getDocumentation(int index); - /** - *
-   * (optional, but strongly recommended) The markdown-formatted documentation
-   * for this symbol. Use `SymbolInformation.signature_documentation` to
-   * document the method/class/type signature of this symbol.
-   * Due to historical reasons, indexers may include signature documentation in
-   * this field by rendering markdown code blocks. New indexers should only
-   * include non-code documentation in this field, for example docstrings.
-   * 
- * - * repeated string documentation = 3 [json_name = "documentation"]; - * @param index The index of the value to return. - * @return The bytes of the documentation at the given index. - */ - com.google.protobuf.ByteString - getDocumentationBytes(int index); - - /** - *
-   * (optional) Relationships to other symbols (e.g., implements, type definition).
-   * 
- * - * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; - */ - java.util.List - getRelationshipsList(); - /** - *
-   * (optional) Relationships to other symbols (e.g., implements, type definition).
-   * 
- * - * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; - */ - org.scip_code.scip.Relationship getRelationships(int index); - /** - *
-   * (optional) Relationships to other symbols (e.g., implements, type definition).
-   * 
- * - * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; - */ - int getRelationshipsCount(); - /** - *
-   * (optional) Relationships to other symbols (e.g., implements, type definition).
-   * 
- * - * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; - */ - java.util.List - getRelationshipsOrBuilderList(); - /** - *
-   * (optional) Relationships to other symbols (e.g., implements, type definition).
-   * 
- * - * repeated .scip.Relationship relationships = 4 [json_name = "relationships"]; - */ - org.scip_code.scip.RelationshipOrBuilder getRelationshipsOrBuilder( - int index); - - /** - *
-   * The kind of this symbol. Use this field instead of
-   * `SymbolDescriptor.Suffix` to determine whether something is, for example, a
-   * class or a method.
-   * 
- * - * .scip.SymbolInformation.Kind kind = 5 [json_name = "kind"]; - * @return The enum numeric value on the wire for kind. - */ - int getKindValue(); - /** - *
-   * The kind of this symbol. Use this field instead of
-   * `SymbolDescriptor.Suffix` to determine whether something is, for example, a
-   * class or a method.
-   * 
- * - * .scip.SymbolInformation.Kind kind = 5 [json_name = "kind"]; - * @return The kind. - */ - org.scip_code.scip.SymbolInformation.Kind getKind(); - - /** - *
-   * (optional) The name of this symbol as it should be displayed to the user.
-   * For example, the symbol "com/example/MyClass#myMethod(+1)." should have the
-   * display name "myMethod". The `symbol` field is not a reliable source of
-   * the display name for several reasons:
-   *
-   * - Local symbols don't encode the name.
-   * - Some languages have case-insensitive names, so the symbol is all-lowercase.
-   * - The symbol may encode names with special characters that should not be
-   * displayed to the user.
-   * 
- * - * string display_name = 6 [json_name = "displayName"]; - * @return The displayName. - */ - java.lang.String getDisplayName(); - /** - *
-   * (optional) The name of this symbol as it should be displayed to the user.
-   * For example, the symbol "com/example/MyClass#myMethod(+1)." should have the
-   * display name "myMethod". The `symbol` field is not a reliable source of
-   * the display name for several reasons:
-   *
-   * - Local symbols don't encode the name.
-   * - Some languages have case-insensitive names, so the symbol is all-lowercase.
-   * - The symbol may encode names with special characters that should not be
-   * displayed to the user.
-   * 
- * - * string display_name = 6 [json_name = "displayName"]; - * @return The bytes for displayName. - */ - com.google.protobuf.ByteString - getDisplayNameBytes(); - - /** - *
-   * (optional) The signature of this symbol as it's displayed in API
-   * documentation or in hover tooltips. For example, a Java method that adds
-   * two numbers would have `Signature.language = "java"` and
-   * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
-   * fields are required while `occurrences` can be optionally included to
-   * support hyperlinking referenced symbols in the signature.
-   * 
- * - * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; - * @return Whether the signatureDocumentation field is set. - */ - boolean hasSignatureDocumentation(); - /** - *
-   * (optional) The signature of this symbol as it's displayed in API
-   * documentation or in hover tooltips. For example, a Java method that adds
-   * two numbers would have `Signature.language = "java"` and
-   * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
-   * fields are required while `occurrences` can be optionally included to
-   * support hyperlinking referenced symbols in the signature.
-   * 
- * - * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; - * @return The signatureDocumentation. - */ - org.scip_code.scip.Signature getSignatureDocumentation(); - /** - *
-   * (optional) The signature of this symbol as it's displayed in API
-   * documentation or in hover tooltips. For example, a Java method that adds
-   * two numbers would have `Signature.language = "java"` and
-   * `Signature.text = "void add(int a, int b)"`. The `language` and `text`
-   * fields are required while `occurrences` can be optionally included to
-   * support hyperlinking referenced symbols in the signature.
-   * 
- * - * .scip.Signature signature_documentation = 7 [json_name = "signatureDocumentation"]; - */ - org.scip_code.scip.SignatureOrBuilder getSignatureDocumentationOrBuilder(); - - /** - *
-   * (optional) The enclosing symbol if this is a local symbol.  For non-local
-   * symbols, the enclosing symbol should be parsed from the `symbol` field
-   * using the `Descriptor` grammar.
-   *
-   * The primary use-case for this field is to allow local symbol to be displayed
-   * in a symbol hierarchy for API documentation. It's OK to leave this field
-   * empty for local variables since local variables usually don't belong in API
-   * documentation. However, in the situation that you wish to include a local
-   * symbol in the hierarchy, then you can use `enclosing_symbol` to locate the
-   * "parent" or "owner" of this local symbol. For example, a Java indexer may
-   * choose to use local symbols for private class fields while providing an
-   * `enclosing_symbol` to reference the enclosing class to allow the field to
-   * be part of the class documentation hierarchy. From the perspective of an
-   * author of an indexer, the decision to use a local symbol or global symbol
-   * should exclusively be determined whether the local symbol is accessible
-   * outside the document, not by the capability to find the enclosing
-   * symbol.
-   * 
- * - * string enclosing_symbol = 8 [json_name = "enclosingSymbol"]; - * @return The enclosingSymbol. - */ - java.lang.String getEnclosingSymbol(); - /** - *
-   * (optional) The enclosing symbol if this is a local symbol.  For non-local
-   * symbols, the enclosing symbol should be parsed from the `symbol` field
-   * using the `Descriptor` grammar.
-   *
-   * The primary use-case for this field is to allow local symbol to be displayed
-   * in a symbol hierarchy for API documentation. It's OK to leave this field
-   * empty for local variables since local variables usually don't belong in API
-   * documentation. However, in the situation that you wish to include a local
-   * symbol in the hierarchy, then you can use `enclosing_symbol` to locate the
-   * "parent" or "owner" of this local symbol. For example, a Java indexer may
-   * choose to use local symbols for private class fields while providing an
-   * `enclosing_symbol` to reference the enclosing class to allow the field to
-   * be part of the class documentation hierarchy. From the perspective of an
-   * author of an indexer, the decision to use a local symbol or global symbol
-   * should exclusively be determined whether the local symbol is accessible
-   * outside the document, not by the capability to find the enclosing
-   * symbol.
-   * 
- * - * string enclosing_symbol = 8 [json_name = "enclosingSymbol"]; - * @return The bytes for enclosingSymbol. - */ - com.google.protobuf.ByteString - getEnclosingSymbolBytes(); -} diff --git a/bindings/kotlin/src/main/java/org/scip_code/scip/SymbolOrBuilder.java b/bindings/kotlin/src/main/java/org/scip_code/scip/SymbolOrBuilder.java deleted file mode 100644 index 3136b042..00000000 --- a/bindings/kotlin/src/main/java/org/scip_code/scip/SymbolOrBuilder.java +++ /dev/null @@ -1,63 +0,0 @@ -// Generated by the protocol buffer compiler. DO NOT EDIT! -// NO CHECKED-IN PROTOBUF GENCODE -// source: scip.proto -// Protobuf Java Version: 4.32.1 - -package org.scip_code.scip; - -@com.google.protobuf.Generated -public interface SymbolOrBuilder extends - // @@protoc_insertion_point(interface_extends:scip.Symbol) - com.google.protobuf.MessageOrBuilder { - - /** - * string scheme = 1 [json_name = "scheme"]; - * @return The scheme. - */ - java.lang.String getScheme(); - /** - * string scheme = 1 [json_name = "scheme"]; - * @return The bytes for scheme. - */ - com.google.protobuf.ByteString - getSchemeBytes(); - - /** - * .scip.Package package = 2 [json_name = "package"]; - * @return Whether the package field is set. - */ - boolean hasPackage(); - /** - * .scip.Package package = 2 [json_name = "package"]; - * @return The package. - */ - org.scip_code.scip.Package getPackage(); - /** - * .scip.Package package = 2 [json_name = "package"]; - */ - org.scip_code.scip.PackageOrBuilder getPackageOrBuilder(); - - /** - * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; - */ - java.util.List - getDescriptorsList(); - /** - * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; - */ - org.scip_code.scip.Descriptor getDescriptors(int index); - /** - * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; - */ - int getDescriptorsCount(); - /** - * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; - */ - java.util.List - getDescriptorsOrBuilderList(); - /** - * repeated .scip.Descriptor descriptors = 3 [json_name = "descriptors"]; - */ - org.scip_code.scip.DescriptorOrBuilder getDescriptorsOrBuilder( - int index); -} diff --git a/bindings/kotlin/src/main/java/org/scip_code/scip/SymbolRole.java b/bindings/kotlin/src/main/java/org/scip_code/scip/SymbolRole.java deleted file mode 100644 index c840aafd..00000000 --- a/bindings/kotlin/src/main/java/org/scip_code/scip/SymbolRole.java +++ /dev/null @@ -1,261 +0,0 @@ -// Generated by the protocol buffer compiler. DO NOT EDIT! -// NO CHECKED-IN PROTOBUF GENCODE -// source: scip.proto -// Protobuf Java Version: 4.32.1 - -package org.scip_code.scip; - -/** - *
- * SymbolRole declares what "role" a symbol has in an occurrence. A role is
- * encoded as a bitset where each bit represents a different role. For example,
- * to determine if the `Import` role is set, test whether the second bit of the
- * enum value is defined. In pseudocode, this can be implemented with the
- * logic: `const isImportRole = (role.value & SymbolRole.Import.value) > 0`.
- * 
- * - * Protobuf enum {@code scip.SymbolRole} - */ -@com.google.protobuf.Generated -public enum SymbolRole - implements com.google.protobuf.ProtocolMessageEnum { - /** - *
-   * This case is not meant to be used; it only exists to avoid an error
-   * from the Protobuf code generator.
-   * 
- * - * UnspecifiedSymbolRole = 0; - */ - UnspecifiedSymbolRole(0), - /** - *
-   * Is the symbol defined here? If not, then this is a symbol reference.
-   * 
- * - * Definition = 1; - */ - Definition(1), - /** - *
-   * Is the symbol imported here?
-   * 
- * - * Import = 2; - */ - Import(2), - /** - *
-   * Is the symbol written here?
-   * 
- * - * WriteAccess = 4; - */ - WriteAccess(4), - /** - *
-   * Is the symbol read here?
-   * 
- * - * ReadAccess = 8; - */ - ReadAccess(8), - /** - *
-   * Is the symbol in generated code?
-   * 
- * - * Generated = 16; - */ - Generated(16), - /** - *
-   * Is the symbol in test code?
-   * 
- * - * Test = 32; - */ - Test(32), - /** - *
-   * Is this a signature for a symbol that is defined elsewhere?
-   *
-   * Applies to forward declarations for languages like C, C++
-   * and Objective-C, as well as `val` declarations in interface
-   * files in languages like SML and OCaml.
-   * 
- * - * ForwardDefinition = 64; - */ - ForwardDefinition(64), - UNRECOGNIZED(-1), - ; - - static { - com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( - com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, - /* major= */ 4, - /* minor= */ 32, - /* patch= */ 1, - /* suffix= */ "", - SymbolRole.class.getName()); - } - /** - *
-   * This case is not meant to be used; it only exists to avoid an error
-   * from the Protobuf code generator.
-   * 
- * - * UnspecifiedSymbolRole = 0; - */ - public static final int UnspecifiedSymbolRole_VALUE = 0; - /** - *
-   * Is the symbol defined here? If not, then this is a symbol reference.
-   * 
- * - * Definition = 1; - */ - public static final int Definition_VALUE = 1; - /** - *
-   * Is the symbol imported here?
-   * 
- * - * Import = 2; - */ - public static final int Import_VALUE = 2; - /** - *
-   * Is the symbol written here?
-   * 
- * - * WriteAccess = 4; - */ - public static final int WriteAccess_VALUE = 4; - /** - *
-   * Is the symbol read here?
-   * 
- * - * ReadAccess = 8; - */ - public static final int ReadAccess_VALUE = 8; - /** - *
-   * Is the symbol in generated code?
-   * 
- * - * Generated = 16; - */ - public static final int Generated_VALUE = 16; - /** - *
-   * Is the symbol in test code?
-   * 
- * - * Test = 32; - */ - public static final int Test_VALUE = 32; - /** - *
-   * Is this a signature for a symbol that is defined elsewhere?
-   *
-   * Applies to forward declarations for languages like C, C++
-   * and Objective-C, as well as `val` declarations in interface
-   * files in languages like SML and OCaml.
-   * 
- * - * ForwardDefinition = 64; - */ - public static final int ForwardDefinition_VALUE = 64; - - - 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 SymbolRole 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 SymbolRole forNumber(int value) { - switch (value) { - case 0: return UnspecifiedSymbolRole; - case 1: return Definition; - case 2: return Import; - case 4: return WriteAccess; - case 8: return ReadAccess; - case 16: return Generated; - case 32: return Test; - case 64: return ForwardDefinition; - default: return null; - } - } - - public static com.google.protobuf.Internal.EnumLiteMap - internalGetValueMap() { - return internalValueMap; - } - private static final com.google.protobuf.Internal.EnumLiteMap< - SymbolRole> internalValueMap = - new com.google.protobuf.Internal.EnumLiteMap() { - public SymbolRole findValueByNumber(int number) { - return SymbolRole.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 com.google.protobuf.Descriptors.EnumDescriptor - getDescriptor() { - return org.scip_code.scip.ScipProto.getDescriptor().getEnumTypes().get(3); - } - - private static final SymbolRole[] VALUES = values(); - - public static SymbolRole 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 SymbolRole(int value) { - this.value = value; - } - - // @@protoc_insertion_point(enum_scope:scip.SymbolRole) -} - diff --git a/bindings/kotlin/src/main/java/org/scip_code/scip/SyntaxKind.java b/bindings/kotlin/src/main/java/org/scip_code/scip/SyntaxKind.java deleted file mode 100644 index 2fe54309..00000000 --- a/bindings/kotlin/src/main/java/org/scip_code/scip/SyntaxKind.java +++ /dev/null @@ -1,756 +0,0 @@ -// Generated by the protocol buffer compiler. DO NOT EDIT! -// NO CHECKED-IN PROTOBUF GENCODE -// source: scip.proto -// Protobuf Java Version: 4.32.1 - -package org.scip_code.scip; - -/** - * Protobuf enum {@code scip.SyntaxKind} - */ -@com.google.protobuf.Generated -public enum SyntaxKind - implements com.google.protobuf.ProtocolMessageEnum { - /** - * UnspecifiedSyntaxKind = 0; - */ - UnspecifiedSyntaxKind(0, 0), - /** - *
-   * Comment, including comment markers and text
-   * 
- * - * Comment = 1; - */ - Comment(1, 1), - /** - *
-   * `;` `.` `,`
-   * 
- * - * PunctuationDelimiter = 2; - */ - PunctuationDelimiter(2, 2), - /** - *
-   * (), {}, [] when used syntactically
-   * 
- * - * PunctuationBracket = 3; - */ - PunctuationBracket(3, 3), - /** - *
-   * `if`, `else`, `return`, `class`, etc.
-   * 
- * - * Keyword = 4; - */ - Keyword(4, 4), - /** - *
-   * `+`, `*`, etc.
-   * 
- * - * IdentifierOperator = 5; - */ - IdentifierOperator(6, 5), - /** - *
-   * non-specific catch-all for any identifier not better described elsewhere
-   * 
- * - * Identifier = 6; - */ - Identifier(7, 6), - /** - *
-   * Identifiers builtin to the language: `min`, `print` in Python.
-   * 
- * - * IdentifierBuiltin = 7; - */ - IdentifierBuiltin(8, 7), - /** - *
-   * Identifiers representing `null`-like values: `None` in Python, `nil` in Go.
-   * 
- * - * IdentifierNull = 8; - */ - IdentifierNull(9, 8), - /** - *
-   * `xyz` in `const xyz = "hello"`
-   * 
- * - * IdentifierConstant = 9; - */ - IdentifierConstant(10, 9), - /** - *
-   * `var X = "hello"` in Go
-   * 
- * - * IdentifierMutableGlobal = 10; - */ - IdentifierMutableGlobal(11, 10), - /** - *
-   * Parameter definition and references
-   * 
- * - * IdentifierParameter = 11; - */ - IdentifierParameter(12, 11), - /** - *
-   * Identifiers for variable definitions and references within a local scope
-   * 
- * - * IdentifierLocal = 12; - */ - IdentifierLocal(13, 12), - /** - *
-   * Identifiers that shadow other identifiers in an outer scope
-   * 
- * - * IdentifierShadowed = 13; - */ - IdentifierShadowed(14, 13), - /** - *
-   * Identifier representing a unit of code abstraction and/or namespacing.
-   *
-   * NOTE: This corresponds to a package in Go and JVM languages,
-   * and a module in languages like Python and JavaScript.
-   * 
- * - * IdentifierNamespace = 14; - */ - IdentifierNamespace(15, 14), - /** - *
-   * Function references, including calls
-   * 
- * - * IdentifierFunction = 15; - */ - IdentifierFunction(17, 15), - /** - *
-   * Function definition only
-   * 
- * - * IdentifierFunctionDefinition = 16; - */ - IdentifierFunctionDefinition(18, 16), - /** - *
-   * Macro references, including invocations
-   * 
- * - * IdentifierMacro = 17; - */ - IdentifierMacro(19, 17), - /** - *
-   * Macro definition only
-   * 
- * - * IdentifierMacroDefinition = 18; - */ - IdentifierMacroDefinition(20, 18), - /** - *
-   * non-builtin types
-   * 
- * - * IdentifierType = 19; - */ - IdentifierType(21, 19), - /** - *
-   * builtin types only, such as `str` for Python or `int` in Go
-   * 
- * - * IdentifierBuiltinType = 20; - */ - IdentifierBuiltinType(22, 20), - /** - *
-   * Python decorators, c-like __attribute__
-   * 
- * - * IdentifierAttribute = 21; - */ - IdentifierAttribute(23, 21), - /** - *
-   * `\b`
-   * 
- * - * RegexEscape = 22; - */ - RegexEscape(24, 22), - /** - *
-   * `*`, `+`
-   * 
- * - * RegexRepeated = 23; - */ - RegexRepeated(25, 23), - /** - *
-   * `.`
-   * 
- * - * RegexWildcard = 24; - */ - RegexWildcard(26, 24), - /** - *
-   * `(`, `)`, `[`, `]`
-   * 
- * - * RegexDelimiter = 25; - */ - RegexDelimiter(27, 25), - /** - *
-   * `|`, `-`
-   * 
- * - * RegexJoin = 26; - */ - RegexJoin(28, 26), - /** - *
-   * Literal strings: "Hello, world!"
-   * 
- * - * StringLiteral = 27; - */ - StringLiteral(29, 27), - /** - *
-   * non-regex escapes: "\t", "\n"
-   * 
- * - * StringLiteralEscape = 28; - */ - StringLiteralEscape(30, 28), - /** - *
-   * datetimes within strings, special words within a string, `{}` in format strings
-   * 
- * - * StringLiteralSpecial = 29; - */ - StringLiteralSpecial(31, 29), - /** - *
-   * "key" in { "key": "value" }, useful for example in JSON
-   * 
- * - * StringLiteralKey = 30; - */ - StringLiteralKey(32, 30), - /** - *
-   * 'c' or similar, in languages that differentiate strings and characters
-   * 
- * - * CharacterLiteral = 31; - */ - CharacterLiteral(33, 31), - /** - *
-   * Literal numbers, both floats and integers
-   * 
- * - * NumericLiteral = 32; - */ - NumericLiteral(34, 32), - /** - *
-   * `true`, `false`
-   * 
- * - * BooleanLiteral = 33; - */ - BooleanLiteral(35, 33), - /** - *
-   * Used for XML-like tags
-   * 
- * - * Tag = 34; - */ - Tag(36, 34), - /** - *
-   * Attribute name in XML-like tags
-   * 
- * - * TagAttribute = 35; - */ - TagAttribute(37, 35), - /** - *
-   * Delimiters for XML-like tags
-   * 
- * - * TagDelimiter = 36; - */ - TagDelimiter(38, 36), - UNRECOGNIZED(-1, -1), - ; - - static { - com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( - com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, - /* major= */ 4, - /* minor= */ 32, - /* patch= */ 1, - /* suffix= */ "", - SyntaxKind.class.getName()); - } - /** - * IdentifierKeyword = 4 [deprecated = true]; - */ - public static final SyntaxKind IdentifierKeyword = Keyword; - /** - * IdentifierModule = 14 [deprecated = true]; - */ - public static final SyntaxKind IdentifierModule = IdentifierNamespace; - /** - * UnspecifiedSyntaxKind = 0; - */ - public static final int UnspecifiedSyntaxKind_VALUE = 0; - /** - *
-   * Comment, including comment markers and text
-   * 
- * - * Comment = 1; - */ - public static final int Comment_VALUE = 1; - /** - *
-   * `;` `.` `,`
-   * 
- * - * PunctuationDelimiter = 2; - */ - public static final int PunctuationDelimiter_VALUE = 2; - /** - *
-   * (), {}, [] when used syntactically
-   * 
- * - * PunctuationBracket = 3; - */ - public static final int PunctuationBracket_VALUE = 3; - /** - *
-   * `if`, `else`, `return`, `class`, etc.
-   * 
- * - * Keyword = 4; - */ - public static final int Keyword_VALUE = 4; - /** - * IdentifierKeyword = 4 [deprecated = true]; - */ - @java.lang.Deprecated public static final int IdentifierKeyword_VALUE = 4; - /** - *
-   * `+`, `*`, etc.
-   * 
- * - * IdentifierOperator = 5; - */ - public static final int IdentifierOperator_VALUE = 5; - /** - *
-   * non-specific catch-all for any identifier not better described elsewhere
-   * 
- * - * Identifier = 6; - */ - public static final int Identifier_VALUE = 6; - /** - *
-   * Identifiers builtin to the language: `min`, `print` in Python.
-   * 
- * - * IdentifierBuiltin = 7; - */ - public static final int IdentifierBuiltin_VALUE = 7; - /** - *
-   * Identifiers representing `null`-like values: `None` in Python, `nil` in Go.
-   * 
- * - * IdentifierNull = 8; - */ - public static final int IdentifierNull_VALUE = 8; - /** - *
-   * `xyz` in `const xyz = "hello"`
-   * 
- * - * IdentifierConstant = 9; - */ - public static final int IdentifierConstant_VALUE = 9; - /** - *
-   * `var X = "hello"` in Go
-   * 
- * - * IdentifierMutableGlobal = 10; - */ - public static final int IdentifierMutableGlobal_VALUE = 10; - /** - *
-   * Parameter definition and references
-   * 
- * - * IdentifierParameter = 11; - */ - public static final int IdentifierParameter_VALUE = 11; - /** - *
-   * Identifiers for variable definitions and references within a local scope
-   * 
- * - * IdentifierLocal = 12; - */ - public static final int IdentifierLocal_VALUE = 12; - /** - *
-   * Identifiers that shadow other identifiers in an outer scope
-   * 
- * - * IdentifierShadowed = 13; - */ - public static final int IdentifierShadowed_VALUE = 13; - /** - *
-   * Identifier representing a unit of code abstraction and/or namespacing.
-   *
-   * NOTE: This corresponds to a package in Go and JVM languages,
-   * and a module in languages like Python and JavaScript.
-   * 
- * - * IdentifierNamespace = 14; - */ - public static final int IdentifierNamespace_VALUE = 14; - /** - * IdentifierModule = 14 [deprecated = true]; - */ - @java.lang.Deprecated public static final int IdentifierModule_VALUE = 14; - /** - *
-   * Function references, including calls
-   * 
- * - * IdentifierFunction = 15; - */ - public static final int IdentifierFunction_VALUE = 15; - /** - *
-   * Function definition only
-   * 
- * - * IdentifierFunctionDefinition = 16; - */ - public static final int IdentifierFunctionDefinition_VALUE = 16; - /** - *
-   * Macro references, including invocations
-   * 
- * - * IdentifierMacro = 17; - */ - public static final int IdentifierMacro_VALUE = 17; - /** - *
-   * Macro definition only
-   * 
- * - * IdentifierMacroDefinition = 18; - */ - public static final int IdentifierMacroDefinition_VALUE = 18; - /** - *
-   * non-builtin types
-   * 
- * - * IdentifierType = 19; - */ - public static final int IdentifierType_VALUE = 19; - /** - *
-   * builtin types only, such as `str` for Python or `int` in Go
-   * 
- * - * IdentifierBuiltinType = 20; - */ - public static final int IdentifierBuiltinType_VALUE = 20; - /** - *
-   * Python decorators, c-like __attribute__
-   * 
- * - * IdentifierAttribute = 21; - */ - public static final int IdentifierAttribute_VALUE = 21; - /** - *
-   * `\b`
-   * 
- * - * RegexEscape = 22; - */ - public static final int RegexEscape_VALUE = 22; - /** - *
-   * `*`, `+`
-   * 
- * - * RegexRepeated = 23; - */ - public static final int RegexRepeated_VALUE = 23; - /** - *
-   * `.`
-   * 
- * - * RegexWildcard = 24; - */ - public static final int RegexWildcard_VALUE = 24; - /** - *
-   * `(`, `)`, `[`, `]`
-   * 
- * - * RegexDelimiter = 25; - */ - public static final int RegexDelimiter_VALUE = 25; - /** - *
-   * `|`, `-`
-   * 
- * - * RegexJoin = 26; - */ - public static final int RegexJoin_VALUE = 26; - /** - *
-   * Literal strings: "Hello, world!"
-   * 
- * - * StringLiteral = 27; - */ - public static final int StringLiteral_VALUE = 27; - /** - *
-   * non-regex escapes: "\t", "\n"
-   * 
- * - * StringLiteralEscape = 28; - */ - public static final int StringLiteralEscape_VALUE = 28; - /** - *
-   * datetimes within strings, special words within a string, `{}` in format strings
-   * 
- * - * StringLiteralSpecial = 29; - */ - public static final int StringLiteralSpecial_VALUE = 29; - /** - *
-   * "key" in { "key": "value" }, useful for example in JSON
-   * 
- * - * StringLiteralKey = 30; - */ - public static final int StringLiteralKey_VALUE = 30; - /** - *
-   * 'c' or similar, in languages that differentiate strings and characters
-   * 
- * - * CharacterLiteral = 31; - */ - public static final int CharacterLiteral_VALUE = 31; - /** - *
-   * Literal numbers, both floats and integers
-   * 
- * - * NumericLiteral = 32; - */ - public static final int NumericLiteral_VALUE = 32; - /** - *
-   * `true`, `false`
-   * 
- * - * BooleanLiteral = 33; - */ - public static final int BooleanLiteral_VALUE = 33; - /** - *
-   * Used for XML-like tags
-   * 
- * - * Tag = 34; - */ - public static final int Tag_VALUE = 34; - /** - *
-   * Attribute name in XML-like tags
-   * 
- * - * TagAttribute = 35; - */ - public static final int TagAttribute_VALUE = 35; - /** - *
-   * Delimiters for XML-like tags
-   * 
- * - * TagDelimiter = 36; - */ - public static final int TagDelimiter_VALUE = 36; - - - public final int getNumber() { - if (index == -1) { - 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 SyntaxKind 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 SyntaxKind forNumber(int value) { - switch (value) { - case 0: return UnspecifiedSyntaxKind; - case 1: return Comment; - case 2: return PunctuationDelimiter; - case 3: return PunctuationBracket; - case 4: return Keyword; - case 5: return IdentifierOperator; - case 6: return Identifier; - case 7: return IdentifierBuiltin; - case 8: return IdentifierNull; - case 9: return IdentifierConstant; - case 10: return IdentifierMutableGlobal; - case 11: return IdentifierParameter; - case 12: return IdentifierLocal; - case 13: return IdentifierShadowed; - case 14: return IdentifierNamespace; - case 15: return IdentifierFunction; - case 16: return IdentifierFunctionDefinition; - case 17: return IdentifierMacro; - case 18: return IdentifierMacroDefinition; - case 19: return IdentifierType; - case 20: return IdentifierBuiltinType; - case 21: return IdentifierAttribute; - case 22: return RegexEscape; - case 23: return RegexRepeated; - case 24: return RegexWildcard; - case 25: return RegexDelimiter; - case 26: return RegexJoin; - case 27: return StringLiteral; - case 28: return StringLiteralEscape; - case 29: return StringLiteralSpecial; - case 30: return StringLiteralKey; - case 31: return CharacterLiteral; - case 32: return NumericLiteral; - case 33: return BooleanLiteral; - case 34: return Tag; - case 35: return TagAttribute; - case 36: return TagDelimiter; - default: return null; - } - } - - public static com.google.protobuf.Internal.EnumLiteMap - internalGetValueMap() { - return internalValueMap; - } - private static final com.google.protobuf.Internal.EnumLiteMap< - SyntaxKind> internalValueMap = - new com.google.protobuf.Internal.EnumLiteMap() { - public SyntaxKind findValueByNumber(int number) { - return SyntaxKind.forNumber(number); - } - }; - - public final com.google.protobuf.Descriptors.EnumValueDescriptor - getValueDescriptor() { - if (index == -1) { - throw new java.lang.IllegalStateException( - "Can't get the descriptor of an unrecognized enum value."); - } - return getDescriptor().getValues().get(index); - } - public final com.google.protobuf.Descriptors.EnumDescriptor - getDescriptorForType() { - return getDescriptor(); - } - public static com.google.protobuf.Descriptors.EnumDescriptor - getDescriptor() { - return org.scip_code.scip.ScipProto.getDescriptor().getEnumTypes().get(4); - } - - private static final SyntaxKind[] VALUES = getStaticValuesArray(); - private static SyntaxKind[] getStaticValuesArray() { - return new SyntaxKind[] { - UnspecifiedSyntaxKind, Comment, PunctuationDelimiter, PunctuationBracket, Keyword, IdentifierKeyword, IdentifierOperator, Identifier, IdentifierBuiltin, IdentifierNull, IdentifierConstant, IdentifierMutableGlobal, IdentifierParameter, IdentifierLocal, IdentifierShadowed, IdentifierNamespace, IdentifierModule, IdentifierFunction, IdentifierFunctionDefinition, IdentifierMacro, IdentifierMacroDefinition, IdentifierType, IdentifierBuiltinType, IdentifierAttribute, RegexEscape, RegexRepeated, RegexWildcard, RegexDelimiter, RegexJoin, StringLiteral, StringLiteralEscape, StringLiteralSpecial, StringLiteralKey, CharacterLiteral, NumericLiteral, BooleanLiteral, Tag, TagAttribute, TagDelimiter, - }; - } - public static SyntaxKind 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 index; - private final int value; - - private SyntaxKind(int index, int value) { - this.index = index; - this.value = value; - } - - // @@protoc_insertion_point(enum_scope:scip.SyntaxKind) -} - diff --git a/bindings/kotlin/src/main/java/org/scip_code/scip/TextEncoding.java b/bindings/kotlin/src/main/java/org/scip_code/scip/TextEncoding.java deleted file mode 100644 index 77ad6441..00000000 --- a/bindings/kotlin/src/main/java/org/scip_code/scip/TextEncoding.java +++ /dev/null @@ -1,134 +0,0 @@ -// Generated by the protocol buffer compiler. DO NOT EDIT! -// NO CHECKED-IN PROTOBUF GENCODE -// source: scip.proto -// Protobuf Java Version: 4.32.1 - -package org.scip_code.scip; - -/** - * Protobuf enum {@code scip.TextEncoding} - */ -@com.google.protobuf.Generated -public enum TextEncoding - implements com.google.protobuf.ProtocolMessageEnum { - /** - * UnspecifiedTextEncoding = 0; - */ - UnspecifiedTextEncoding(0), - /** - * UTF8 = 1; - */ - UTF8(1), - /** - * UTF16 = 2; - */ - UTF16(2), - UNRECOGNIZED(-1), - ; - - static { - com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( - com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, - /* major= */ 4, - /* minor= */ 32, - /* patch= */ 1, - /* suffix= */ "", - TextEncoding.class.getName()); - } - /** - * UnspecifiedTextEncoding = 0; - */ - public static final int UnspecifiedTextEncoding_VALUE = 0; - /** - * UTF8 = 1; - */ - public static final int UTF8_VALUE = 1; - /** - * UTF16 = 2; - */ - public static final int UTF16_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 TextEncoding 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 TextEncoding forNumber(int value) { - switch (value) { - case 0: return UnspecifiedTextEncoding; - case 1: return UTF8; - case 2: return UTF16; - default: return null; - } - } - - public static com.google.protobuf.Internal.EnumLiteMap - internalGetValueMap() { - return internalValueMap; - } - private static final com.google.protobuf.Internal.EnumLiteMap< - TextEncoding> internalValueMap = - new com.google.protobuf.Internal.EnumLiteMap() { - public TextEncoding findValueByNumber(int number) { - return TextEncoding.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 com.google.protobuf.Descriptors.EnumDescriptor - getDescriptor() { - return org.scip_code.scip.ScipProto.getDescriptor().getEnumTypes().get(1); - } - - private static final TextEncoding[] VALUES = values(); - - public static TextEncoding 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 TextEncoding(int value) { - this.value = value; - } - - // @@protoc_insertion_point(enum_scope:scip.TextEncoding) -} - diff --git a/bindings/kotlin/src/main/java/org/scip_code/scip/ToolInfo.java b/bindings/kotlin/src/main/java/org/scip_code/scip/ToolInfo.java deleted file mode 100644 index 1c67a372..00000000 --- a/bindings/kotlin/src/main/java/org/scip_code/scip/ToolInfo.java +++ /dev/null @@ -1,935 +0,0 @@ -// Generated by the protocol buffer compiler. DO NOT EDIT! -// NO CHECKED-IN PROTOBUF GENCODE -// source: scip.proto -// Protobuf Java Version: 4.32.1 - -package org.scip_code.scip; - -/** - * Protobuf type {@code scip.ToolInfo} - */ -@com.google.protobuf.Generated -public final class ToolInfo extends - com.google.protobuf.GeneratedMessage implements - // @@protoc_insertion_point(message_implements:scip.ToolInfo) - ToolInfoOrBuilder { -private static final long serialVersionUID = 0L; - static { - com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( - com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, - /* major= */ 4, - /* minor= */ 32, - /* patch= */ 1, - /* suffix= */ "", - ToolInfo.class.getName()); - } - // Use ToolInfo.newBuilder() to construct. - private ToolInfo(com.google.protobuf.GeneratedMessage.Builder builder) { - super(builder); - } - private ToolInfo() { - name_ = ""; - version_ = ""; - arguments_ = - com.google.protobuf.LazyStringArrayList.emptyList(); - } - - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return org.scip_code.scip.ScipProto.internal_static_scip_ToolInfo_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessage.FieldAccessorTable - internalGetFieldAccessorTable() { - return org.scip_code.scip.ScipProto.internal_static_scip_ToolInfo_fieldAccessorTable - .ensureFieldAccessorsInitialized( - org.scip_code.scip.ToolInfo.class, org.scip_code.scip.ToolInfo.Builder.class); - } - - public static final int NAME_FIELD_NUMBER = 1; - @SuppressWarnings("serial") - private volatile java.lang.Object name_ = ""; - /** - *
-   * Name of the indexer that produced this index.
-   * 
- * - * string name = 1 [json_name = "name"]; - * @return The name. - */ - @java.lang.Override - public java.lang.String getName() { - java.lang.Object ref = name_; - 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(); - name_ = s; - return s; - } - } - /** - *
-   * Name of the indexer that produced this index.
-   * 
- * - * string name = 1 [json_name = "name"]; - * @return The bytes for name. - */ - @java.lang.Override - public com.google.protobuf.ByteString - getNameBytes() { - java.lang.Object ref = name_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - name_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - - public static final int VERSION_FIELD_NUMBER = 2; - @SuppressWarnings("serial") - private volatile java.lang.Object version_ = ""; - /** - *
-   * Version of the indexer that produced this index.
-   * 
- * - * string version = 2 [json_name = "version"]; - * @return The version. - */ - @java.lang.Override - public java.lang.String getVersion() { - java.lang.Object ref = version_; - 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(); - version_ = s; - return s; - } - } - /** - *
-   * Version of the indexer that produced this index.
-   * 
- * - * string version = 2 [json_name = "version"]; - * @return The bytes for version. - */ - @java.lang.Override - public com.google.protobuf.ByteString - getVersionBytes() { - java.lang.Object ref = version_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - version_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - - public static final int ARGUMENTS_FIELD_NUMBER = 3; - @SuppressWarnings("serial") - private com.google.protobuf.LazyStringArrayList arguments_ = - com.google.protobuf.LazyStringArrayList.emptyList(); - /** - *
-   * Command-line arguments that were used to invoke this indexer.
-   * 
- * - * repeated string arguments = 3 [json_name = "arguments"]; - * @return A list containing the arguments. - */ - public com.google.protobuf.ProtocolStringList - getArgumentsList() { - return arguments_; - } - /** - *
-   * Command-line arguments that were used to invoke this indexer.
-   * 
- * - * repeated string arguments = 3 [json_name = "arguments"]; - * @return The count of arguments. - */ - public int getArgumentsCount() { - return arguments_.size(); - } - /** - *
-   * Command-line arguments that were used to invoke this indexer.
-   * 
- * - * repeated string arguments = 3 [json_name = "arguments"]; - * @param index The index of the element to return. - * @return The arguments at the given index. - */ - public java.lang.String getArguments(int index) { - return arguments_.get(index); - } - /** - *
-   * Command-line arguments that were used to invoke this indexer.
-   * 
- * - * repeated string arguments = 3 [json_name = "arguments"]; - * @param index The index of the value to return. - * @return The bytes of the arguments at the given index. - */ - public com.google.protobuf.ByteString - getArgumentsBytes(int index) { - return arguments_.getByteString(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 (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) { - com.google.protobuf.GeneratedMessage.writeString(output, 1, name_); - } - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(version_)) { - com.google.protobuf.GeneratedMessage.writeString(output, 2, version_); - } - for (int i = 0; i < arguments_.size(); i++) { - com.google.protobuf.GeneratedMessage.writeString(output, 3, arguments_.getRaw(i)); - } - getUnknownFields().writeTo(output); - } - - @java.lang.Override - public int getSerializedSize() { - int size = memoizedSize; - if (size != -1) return size; - - size = 0; - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) { - size += com.google.protobuf.GeneratedMessage.computeStringSize(1, name_); - } - if (!com.google.protobuf.GeneratedMessage.isStringEmpty(version_)) { - size += com.google.protobuf.GeneratedMessage.computeStringSize(2, version_); - } - { - int dataSize = 0; - for (int i = 0; i < arguments_.size(); i++) { - dataSize += computeStringSizeNoTag(arguments_.getRaw(i)); - } - size += dataSize; - size += 1 * getArgumentsList().size(); - } - size += getUnknownFields().getSerializedSize(); - memoizedSize = size; - return size; - } - - @java.lang.Override - public boolean equals(final java.lang.Object obj) { - if (obj == this) { - return true; - } - if (!(obj instanceof org.scip_code.scip.ToolInfo)) { - return super.equals(obj); - } - org.scip_code.scip.ToolInfo other = (org.scip_code.scip.ToolInfo) obj; - - if (!getName() - .equals(other.getName())) return false; - if (!getVersion() - .equals(other.getVersion())) return false; - if (!getArgumentsList() - .equals(other.getArgumentsList())) return false; - if (!getUnknownFields().equals(other.getUnknownFields())) 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) + NAME_FIELD_NUMBER; - hash = (53 * hash) + getName().hashCode(); - hash = (37 * hash) + VERSION_FIELD_NUMBER; - hash = (53 * hash) + getVersion().hashCode(); - if (getArgumentsCount() > 0) { - hash = (37 * hash) + ARGUMENTS_FIELD_NUMBER; - hash = (53 * hash) + getArgumentsList().hashCode(); - } - hash = (29 * hash) + getUnknownFields().hashCode(); - memoizedHashCode = hash; - return hash; - } - - public static org.scip_code.scip.ToolInfo parseFrom( - java.nio.ByteBuffer data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static org.scip_code.scip.ToolInfo parseFrom( - java.nio.ByteBuffer data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static org.scip_code.scip.ToolInfo parseFrom( - com.google.protobuf.ByteString data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static org.scip_code.scip.ToolInfo parseFrom( - com.google.protobuf.ByteString data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static org.scip_code.scip.ToolInfo parseFrom(byte[] data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static org.scip_code.scip.ToolInfo parseFrom( - byte[] data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static org.scip_code.scip.ToolInfo parseFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input); - } - public static org.scip_code.scip.ToolInfo parseFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input, extensionRegistry); - } - - public static org.scip_code.scip.ToolInfo parseDelimitedFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseDelimitedWithIOException(PARSER, input); - } - - public static org.scip_code.scip.ToolInfo parseDelimitedFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseDelimitedWithIOException(PARSER, input, extensionRegistry); - } - public static org.scip_code.scip.ToolInfo parseFrom( - com.google.protobuf.CodedInputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input); - } - public static org.scip_code.scip.ToolInfo parseFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessage - .parseWithIOException(PARSER, input, extensionRegistry); - } - - @java.lang.Override - public Builder newBuilderForType() { return newBuilder(); } - public static Builder newBuilder() { - return DEFAULT_INSTANCE.toBuilder(); - } - public static Builder newBuilder(org.scip_code.scip.ToolInfo 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.GeneratedMessage.BuilderParent parent) { - Builder builder = new Builder(parent); - return builder; - } - /** - * Protobuf type {@code scip.ToolInfo} - */ - public static final class Builder extends - com.google.protobuf.GeneratedMessage.Builder implements - // @@protoc_insertion_point(builder_implements:scip.ToolInfo) - org.scip_code.scip.ToolInfoOrBuilder { - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return org.scip_code.scip.ScipProto.internal_static_scip_ToolInfo_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessage.FieldAccessorTable - internalGetFieldAccessorTable() { - return org.scip_code.scip.ScipProto.internal_static_scip_ToolInfo_fieldAccessorTable - .ensureFieldAccessorsInitialized( - org.scip_code.scip.ToolInfo.class, org.scip_code.scip.ToolInfo.Builder.class); - } - - // Construct using org.scip_code.scip.ToolInfo.newBuilder() - private Builder() { - - } - - private Builder( - com.google.protobuf.GeneratedMessage.BuilderParent parent) { - super(parent); - - } - @java.lang.Override - public Builder clear() { - super.clear(); - bitField0_ = 0; - name_ = ""; - version_ = ""; - arguments_ = - com.google.protobuf.LazyStringArrayList.emptyList(); - return this; - } - - @java.lang.Override - public com.google.protobuf.Descriptors.Descriptor - getDescriptorForType() { - return org.scip_code.scip.ScipProto.internal_static_scip_ToolInfo_descriptor; - } - - @java.lang.Override - public org.scip_code.scip.ToolInfo getDefaultInstanceForType() { - return org.scip_code.scip.ToolInfo.getDefaultInstance(); - } - - @java.lang.Override - public org.scip_code.scip.ToolInfo build() { - org.scip_code.scip.ToolInfo result = buildPartial(); - if (!result.isInitialized()) { - throw newUninitializedMessageException(result); - } - return result; - } - - @java.lang.Override - public org.scip_code.scip.ToolInfo buildPartial() { - org.scip_code.scip.ToolInfo result = new org.scip_code.scip.ToolInfo(this); - if (bitField0_ != 0) { buildPartial0(result); } - onBuilt(); - return result; - } - - private void buildPartial0(org.scip_code.scip.ToolInfo result) { - int from_bitField0_ = bitField0_; - if (((from_bitField0_ & 0x00000001) != 0)) { - result.name_ = name_; - } - if (((from_bitField0_ & 0x00000002) != 0)) { - result.version_ = version_; - } - if (((from_bitField0_ & 0x00000004) != 0)) { - arguments_.makeImmutable(); - result.arguments_ = arguments_; - } - } - - @java.lang.Override - public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof org.scip_code.scip.ToolInfo) { - return mergeFrom((org.scip_code.scip.ToolInfo)other); - } else { - super.mergeFrom(other); - return this; - } - } - - public Builder mergeFrom(org.scip_code.scip.ToolInfo other) { - if (other == org.scip_code.scip.ToolInfo.getDefaultInstance()) return this; - if (!other.getName().isEmpty()) { - name_ = other.name_; - bitField0_ |= 0x00000001; - onChanged(); - } - if (!other.getVersion().isEmpty()) { - version_ = other.version_; - bitField0_ |= 0x00000002; - onChanged(); - } - if (!other.arguments_.isEmpty()) { - if (arguments_.isEmpty()) { - arguments_ = other.arguments_; - bitField0_ |= 0x00000004; - } else { - ensureArgumentsIsMutable(); - arguments_.addAll(other.arguments_); - } - onChanged(); - } - this.mergeUnknownFields(other.getUnknownFields()); - 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 { - if (extensionRegistry == null) { - throw new java.lang.NullPointerException(); - } - try { - boolean done = false; - while (!done) { - int tag = input.readTag(); - switch (tag) { - case 0: - done = true; - break; - case 10: { - name_ = input.readStringRequireUtf8(); - bitField0_ |= 0x00000001; - break; - } // case 10 - case 18: { - version_ = input.readStringRequireUtf8(); - bitField0_ |= 0x00000002; - break; - } // case 18 - case 26: { - java.lang.String s = input.readStringRequireUtf8(); - ensureArgumentsIsMutable(); - arguments_.add(s); - break; - } // case 26 - default: { - if (!super.parseUnknownField(input, extensionRegistry, tag)) { - done = true; // was an endgroup tag - } - break; - } // default: - } // switch (tag) - } // while (!done) - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.unwrapIOException(); - } finally { - onChanged(); - } // finally - return this; - } - private int bitField0_; - - private java.lang.Object name_ = ""; - /** - *
-     * Name of the indexer that produced this index.
-     * 
- * - * string name = 1 [json_name = "name"]; - * @return The name. - */ - public java.lang.String getName() { - java.lang.Object ref = name_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - name_ = s; - return s; - } else { - return (java.lang.String) ref; - } - } - /** - *
-     * Name of the indexer that produced this index.
-     * 
- * - * string name = 1 [json_name = "name"]; - * @return The bytes for name. - */ - public com.google.protobuf.ByteString - getNameBytes() { - java.lang.Object ref = name_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - name_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - /** - *
-     * Name of the indexer that produced this index.
-     * 
- * - * string name = 1 [json_name = "name"]; - * @param value The name to set. - * @return This builder for chaining. - */ - public Builder setName( - java.lang.String value) { - if (value == null) { throw new NullPointerException(); } - name_ = value; - bitField0_ |= 0x00000001; - onChanged(); - return this; - } - /** - *
-     * Name of the indexer that produced this index.
-     * 
- * - * string name = 1 [json_name = "name"]; - * @return This builder for chaining. - */ - public Builder clearName() { - name_ = getDefaultInstance().getName(); - bitField0_ = (bitField0_ & ~0x00000001); - onChanged(); - return this; - } - /** - *
-     * Name of the indexer that produced this index.
-     * 
- * - * string name = 1 [json_name = "name"]; - * @param value The bytes for name to set. - * @return This builder for chaining. - */ - public Builder setNameBytes( - com.google.protobuf.ByteString value) { - if (value == null) { throw new NullPointerException(); } - checkByteStringIsUtf8(value); - name_ = value; - bitField0_ |= 0x00000001; - onChanged(); - return this; - } - - private java.lang.Object version_ = ""; - /** - *
-     * Version of the indexer that produced this index.
-     * 
- * - * string version = 2 [json_name = "version"]; - * @return The version. - */ - public java.lang.String getVersion() { - java.lang.Object ref = version_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - version_ = s; - return s; - } else { - return (java.lang.String) ref; - } - } - /** - *
-     * Version of the indexer that produced this index.
-     * 
- * - * string version = 2 [json_name = "version"]; - * @return The bytes for version. - */ - public com.google.protobuf.ByteString - getVersionBytes() { - java.lang.Object ref = version_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - version_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - /** - *
-     * Version of the indexer that produced this index.
-     * 
- * - * string version = 2 [json_name = "version"]; - * @param value The version to set. - * @return This builder for chaining. - */ - public Builder setVersion( - java.lang.String value) { - if (value == null) { throw new NullPointerException(); } - version_ = value; - bitField0_ |= 0x00000002; - onChanged(); - return this; - } - /** - *
-     * Version of the indexer that produced this index.
-     * 
- * - * string version = 2 [json_name = "version"]; - * @return This builder for chaining. - */ - public Builder clearVersion() { - version_ = getDefaultInstance().getVersion(); - bitField0_ = (bitField0_ & ~0x00000002); - onChanged(); - return this; - } - /** - *
-     * Version of the indexer that produced this index.
-     * 
- * - * string version = 2 [json_name = "version"]; - * @param value The bytes for version to set. - * @return This builder for chaining. - */ - public Builder setVersionBytes( - com.google.protobuf.ByteString value) { - if (value == null) { throw new NullPointerException(); } - checkByteStringIsUtf8(value); - version_ = value; - bitField0_ |= 0x00000002; - onChanged(); - return this; - } - - private com.google.protobuf.LazyStringArrayList arguments_ = - com.google.protobuf.LazyStringArrayList.emptyList(); - private void ensureArgumentsIsMutable() { - if (!arguments_.isModifiable()) { - arguments_ = new com.google.protobuf.LazyStringArrayList(arguments_); - } - bitField0_ |= 0x00000004; - } - /** - *
-     * Command-line arguments that were used to invoke this indexer.
-     * 
- * - * repeated string arguments = 3 [json_name = "arguments"]; - * @return A list containing the arguments. - */ - public com.google.protobuf.ProtocolStringList - getArgumentsList() { - arguments_.makeImmutable(); - return arguments_; - } - /** - *
-     * Command-line arguments that were used to invoke this indexer.
-     * 
- * - * repeated string arguments = 3 [json_name = "arguments"]; - * @return The count of arguments. - */ - public int getArgumentsCount() { - return arguments_.size(); - } - /** - *
-     * Command-line arguments that were used to invoke this indexer.
-     * 
- * - * repeated string arguments = 3 [json_name = "arguments"]; - * @param index The index of the element to return. - * @return The arguments at the given index. - */ - public java.lang.String getArguments(int index) { - return arguments_.get(index); - } - /** - *
-     * Command-line arguments that were used to invoke this indexer.
-     * 
- * - * repeated string arguments = 3 [json_name = "arguments"]; - * @param index The index of the value to return. - * @return The bytes of the arguments at the given index. - */ - public com.google.protobuf.ByteString - getArgumentsBytes(int index) { - return arguments_.getByteString(index); - } - /** - *
-     * Command-line arguments that were used to invoke this indexer.
-     * 
- * - * repeated string arguments = 3 [json_name = "arguments"]; - * @param index The index to set the value at. - * @param value The arguments to set. - * @return This builder for chaining. - */ - public Builder setArguments( - int index, java.lang.String value) { - if (value == null) { throw new NullPointerException(); } - ensureArgumentsIsMutable(); - arguments_.set(index, value); - bitField0_ |= 0x00000004; - onChanged(); - return this; - } - /** - *
-     * Command-line arguments that were used to invoke this indexer.
-     * 
- * - * repeated string arguments = 3 [json_name = "arguments"]; - * @param value The arguments to add. - * @return This builder for chaining. - */ - public Builder addArguments( - java.lang.String value) { - if (value == null) { throw new NullPointerException(); } - ensureArgumentsIsMutable(); - arguments_.add(value); - bitField0_ |= 0x00000004; - onChanged(); - return this; - } - /** - *
-     * Command-line arguments that were used to invoke this indexer.
-     * 
- * - * repeated string arguments = 3 [json_name = "arguments"]; - * @param values The arguments to add. - * @return This builder for chaining. - */ - public Builder addAllArguments( - java.lang.Iterable values) { - ensureArgumentsIsMutable(); - com.google.protobuf.AbstractMessageLite.Builder.addAll( - values, arguments_); - bitField0_ |= 0x00000004; - onChanged(); - return this; - } - /** - *
-     * Command-line arguments that were used to invoke this indexer.
-     * 
- * - * repeated string arguments = 3 [json_name = "arguments"]; - * @return This builder for chaining. - */ - public Builder clearArguments() { - arguments_ = - com.google.protobuf.LazyStringArrayList.emptyList(); - bitField0_ = (bitField0_ & ~0x00000004);; - onChanged(); - return this; - } - /** - *
-     * Command-line arguments that were used to invoke this indexer.
-     * 
- * - * repeated string arguments = 3 [json_name = "arguments"]; - * @param value The bytes of the arguments to add. - * @return This builder for chaining. - */ - public Builder addArgumentsBytes( - com.google.protobuf.ByteString value) { - if (value == null) { throw new NullPointerException(); } - checkByteStringIsUtf8(value); - ensureArgumentsIsMutable(); - arguments_.add(value); - bitField0_ |= 0x00000004; - onChanged(); - return this; - } - - // @@protoc_insertion_point(builder_scope:scip.ToolInfo) - } - - // @@protoc_insertion_point(class_scope:scip.ToolInfo) - private static final org.scip_code.scip.ToolInfo DEFAULT_INSTANCE; - static { - DEFAULT_INSTANCE = new org.scip_code.scip.ToolInfo(); - } - - public static org.scip_code.scip.ToolInfo getDefaultInstance() { - return DEFAULT_INSTANCE; - } - - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { - @java.lang.Override - public ToolInfo parsePartialFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - Builder builder = newBuilder(); - try { - builder.mergeFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.setUnfinishedMessage(builder.buildPartial()); - } catch (com.google.protobuf.UninitializedMessageException e) { - throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); - } catch (java.io.IOException e) { - throw new com.google.protobuf.InvalidProtocolBufferException(e) - .setUnfinishedMessage(builder.buildPartial()); - } - return builder.buildPartial(); - } - }; - - public static com.google.protobuf.Parser parser() { - return PARSER; - } - - @java.lang.Override - public com.google.protobuf.Parser getParserForType() { - return PARSER; - } - - @java.lang.Override - public org.scip_code.scip.ToolInfo getDefaultInstanceForType() { - return DEFAULT_INSTANCE; - } - -} - diff --git a/bindings/kotlin/src/main/java/org/scip_code/scip/ToolInfoOrBuilder.java b/bindings/kotlin/src/main/java/org/scip_code/scip/ToolInfoOrBuilder.java deleted file mode 100644 index e74585f0..00000000 --- a/bindings/kotlin/src/main/java/org/scip_code/scip/ToolInfoOrBuilder.java +++ /dev/null @@ -1,93 +0,0 @@ -// Generated by the protocol buffer compiler. DO NOT EDIT! -// NO CHECKED-IN PROTOBUF GENCODE -// source: scip.proto -// Protobuf Java Version: 4.32.1 - -package org.scip_code.scip; - -@com.google.protobuf.Generated -public interface ToolInfoOrBuilder extends - // @@protoc_insertion_point(interface_extends:scip.ToolInfo) - com.google.protobuf.MessageOrBuilder { - - /** - *
-   * Name of the indexer that produced this index.
-   * 
- * - * string name = 1 [json_name = "name"]; - * @return The name. - */ - java.lang.String getName(); - /** - *
-   * Name of the indexer that produced this index.
-   * 
- * - * string name = 1 [json_name = "name"]; - * @return The bytes for name. - */ - com.google.protobuf.ByteString - getNameBytes(); - - /** - *
-   * Version of the indexer that produced this index.
-   * 
- * - * string version = 2 [json_name = "version"]; - * @return The version. - */ - java.lang.String getVersion(); - /** - *
-   * Version of the indexer that produced this index.
-   * 
- * - * string version = 2 [json_name = "version"]; - * @return The bytes for version. - */ - com.google.protobuf.ByteString - getVersionBytes(); - - /** - *
-   * Command-line arguments that were used to invoke this indexer.
-   * 
- * - * repeated string arguments = 3 [json_name = "arguments"]; - * @return A list containing the arguments. - */ - java.util.List - getArgumentsList(); - /** - *
-   * Command-line arguments that were used to invoke this indexer.
-   * 
- * - * repeated string arguments = 3 [json_name = "arguments"]; - * @return The count of arguments. - */ - int getArgumentsCount(); - /** - *
-   * Command-line arguments that were used to invoke this indexer.
-   * 
- * - * repeated string arguments = 3 [json_name = "arguments"]; - * @param index The index of the element to return. - * @return The arguments at the given index. - */ - java.lang.String getArguments(int index); - /** - *
-   * Command-line arguments that were used to invoke this indexer.
-   * 
- * - * repeated string arguments = 3 [json_name = "arguments"]; - * @param index The index of the value to return. - * @return The bytes of the arguments at the given index. - */ - com.google.protobuf.ByteString - getArgumentsBytes(int index); -} diff --git a/buf.gen.yaml b/buf.gen.yaml index d9dac097..d82926f5 100644 --- a/buf.gen.yaml +++ b/buf.gen.yaml @@ -19,10 +19,9 @@ plugins: out: ./bindings/haskell/src - protoc_builtin: java out: ./bindings/java/src/main/java/ - # The Kotlin generator only emits the DSL extensions; the underlying message - # classes are still produced by the Java generator and must live alongside - # them so that the Kotlin binding is buildable on its own. - - protoc_builtin: java - out: ./bindings/kotlin/src/main/java/ + # The Kotlin binding only ships the DSL extensions; the underlying Java + # message classes are consumed via a Maven dependency on scip-java, which + # mirrors how the upstream protobuf-kotlin artifact relates to + # protobuf-java. - protoc_builtin: kotlin out: ./bindings/kotlin/src/main/kotlin/