// Generated by the protocol buffer compiler. DO NOT EDIT! // source: proto/scip.proto package scip; public final class Scip { private Scip() {} 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), ; /** * 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 final 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), ; /** * 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 final 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), ; /** *
     * 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 final 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), ; /** *
     * 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 final 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), ; /** * 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 final 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), ; /** * 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 final 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), ; /** * 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 final 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), ; /** * 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 final 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; * @return Whether the metadata field is set. */ boolean hasMetadata(); /** *
     * Metadata about this index.
     * 
* * .scip.Metadata metadata = 1; * @return The metadata. */ scip.Scip.Metadata getMetadata(); /** *
     * Metadata about this index.
     * 
* * .scip.Metadata metadata = 1; */ scip.Scip.MetadataOrBuilder getMetadataOrBuilder(); /** *
     * Documents that belong to this index.
     * 
* * repeated .scip.Document documents = 2; */ java.util.List getDocumentsList(); /** *
     * Documents that belong to this index.
     * 
* * repeated .scip.Document documents = 2; */ scip.Scip.Document getDocuments(int index); /** *
     * Documents that belong to this index.
     * 
* * repeated .scip.Document documents = 2; */ int getDocumentsCount(); /** *
     * Documents that belong to this index.
     * 
* * repeated .scip.Document documents = 2; */ java.util.List getDocumentsOrBuilderList(); /** *
     * Documents that belong to this index.
     * 
* * repeated .scip.Document documents = 2; */ 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; */ 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; */ 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; */ 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; */ 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; */ 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.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:scip.Index) IndexOrBuilder { private static final long serialVersionUID = 0L; // Use Index.newBuilder() to construct. private Index(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } private Index() { documents_ = java.util.Collections.emptyList(); externalSymbols_ = java.util.Collections.emptyList(); } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { return new Index(); } @java.lang.Override public final com.google.protobuf.UnknownFieldSet getUnknownFields() { return this.unknownFields; } private Index( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { this(); if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } int mutable_bitField0_ = 0; com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); try { boolean done = false; while (!done) { int tag = input.readTag(); switch (tag) { case 0: done = true; break; case 10: { scip.Scip.Metadata.Builder subBuilder = null; if (metadata_ != null) { subBuilder = metadata_.toBuilder(); } metadata_ = input.readMessage(scip.Scip.Metadata.parser(), extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom(metadata_); metadata_ = subBuilder.buildPartial(); } break; } case 18: { if (!((mutable_bitField0_ & 0x00000001) != 0)) { documents_ = new java.util.ArrayList(); mutable_bitField0_ |= 0x00000001; } documents_.add( input.readMessage(scip.Scip.Document.parser(), extensionRegistry)); break; } case 26: { if (!((mutable_bitField0_ & 0x00000002) != 0)) { externalSymbols_ = new java.util.ArrayList(); mutable_bitField0_ |= 0x00000002; } externalSymbols_.add( input.readMessage(scip.Scip.SymbolInformation.parser(), extensionRegistry)); break; } default: { if (!parseUnknownField( input, unknownFields, extensionRegistry, tag)) { done = true; } break; } } } } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.setUnfinishedMessage(this); } catch (java.io.IOException e) { throw new com.google.protobuf.InvalidProtocolBufferException( e).setUnfinishedMessage(this); } finally { if (((mutable_bitField0_ & 0x00000001) != 0)) { documents_ = java.util.Collections.unmodifiableList(documents_); } if (((mutable_bitField0_ & 0x00000002) != 0)) { externalSymbols_ = java.util.Collections.unmodifiableList(externalSymbols_); } this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return scip.Scip.internal_static_scip_Index_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return scip.Scip.internal_static_scip_Index_fieldAccessorTable .ensureFieldAccessorsInitialized( scip.Scip.Index.class, scip.Scip.Index.Builder.class); } public static final int METADATA_FIELD_NUMBER = 1; private scip.Scip.Metadata metadata_; /** *
     * Metadata about this index.
     * 
* * .scip.Metadata metadata = 1; * @return Whether the metadata field is set. */ @java.lang.Override public boolean hasMetadata() { return metadata_ != null; } /** *
     * Metadata about this index.
     * 
* * .scip.Metadata metadata = 1; * @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; */ @java.lang.Override public scip.Scip.MetadataOrBuilder getMetadataOrBuilder() { return getMetadata(); } public static final int DOCUMENTS_FIELD_NUMBER = 2; private java.util.List documents_; /** *
     * Documents that belong to this index.
     * 
* * repeated .scip.Document documents = 2; */ @java.lang.Override public java.util.List getDocumentsList() { return documents_; } /** *
     * Documents that belong to this index.
     * 
* * repeated .scip.Document documents = 2; */ @java.lang.Override public java.util.List getDocumentsOrBuilderList() { return documents_; } /** *
     * Documents that belong to this index.
     * 
* * repeated .scip.Document documents = 2; */ @java.lang.Override public int getDocumentsCount() { return documents_.size(); } /** *
     * Documents that belong to this index.
     * 
* * repeated .scip.Document documents = 2; */ @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; */ @java.lang.Override public scip.Scip.DocumentOrBuilder getDocumentsOrBuilder( int index) { return documents_.get(index); } public static final int EXTERNAL_SYMBOLS_FIELD_NUMBER = 3; 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; */ @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; */ @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; */ @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; */ @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; */ @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 (metadata_ != null) { 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)); } unknownFields.writeTo(output); } @java.lang.Override public int getSerializedSize() { int size = memoizedSize; if (size != -1) return size; size = 0; if (metadata_ != null) { 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 += unknownFields.getSerializedSize(); memoizedSize = size; return size; } @java.lang.Override public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } if (!(obj instanceof 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 (!unknownFields.equals(other.unknownFields)) return false; return true; } @java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); if (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) + unknownFields.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.GeneratedMessageV3 .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.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } public static scip.Scip.Index parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .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.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } public static scip.Scip.Index parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .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.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } @java.lang.Override public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } public static Builder newBuilder(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.GeneratedMessageV3.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.GeneratedMessageV3.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.GeneratedMessageV3.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.GeneratedMessageV3.BuilderParent parent) { super(parent); maybeForceBuilderInitialization(); } private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { getDocumentsFieldBuilder(); getExternalSymbolsFieldBuilder(); } } @java.lang.Override public Builder clear() { super.clear(); if (metadataBuilder_ == null) { metadata_ = null; } else { metadata_ = null; metadataBuilder_ = null; } if (documentsBuilder_ == null) { documents_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000001); } else { documentsBuilder_.clear(); } if (externalSymbolsBuilder_ == null) { externalSymbols_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000002); } else { externalSymbolsBuilder_.clear(); } 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); int from_bitField0_ = bitField0_; if (metadataBuilder_ == null) { result.metadata_ = metadata_; } else { result.metadata_ = metadataBuilder_.build(); } if (documentsBuilder_ == null) { if (((bitField0_ & 0x00000001) != 0)) { documents_ = java.util.Collections.unmodifiableList(documents_); bitField0_ = (bitField0_ & ~0x00000001); } result.documents_ = documents_; } else { result.documents_ = documentsBuilder_.build(); } if (externalSymbolsBuilder_ == null) { if (((bitField0_ & 0x00000002) != 0)) { externalSymbols_ = java.util.Collections.unmodifiableList(externalSymbols_); bitField0_ = (bitField0_ & ~0x00000002); } result.externalSymbols_ = externalSymbols_; } else { result.externalSymbols_ = externalSymbolsBuilder_.build(); } onBuilt(); return result; } @java.lang.Override public Builder clone() { return super.clone(); } @java.lang.Override public Builder setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.setField(field, value); } @java.lang.Override public Builder clearField( com.google.protobuf.Descriptors.FieldDescriptor field) { return super.clearField(field); } @java.lang.Override public Builder clearOneof( com.google.protobuf.Descriptors.OneofDescriptor oneof) { return super.clearOneof(oneof); } @java.lang.Override public Builder setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { return super.setRepeatedField(field, index, value); } @java.lang.Override public Builder addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.addRepeatedField(field, value); } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { if (other instanceof 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_ & ~0x00000001); } else { ensureDocumentsIsMutable(); documents_.addAll(other.documents_); } onChanged(); } } else { if (!other.documents_.isEmpty()) { if (documentsBuilder_.isEmpty()) { documentsBuilder_.dispose(); documentsBuilder_ = null; documents_ = other.documents_; bitField0_ = (bitField0_ & ~0x00000001); documentsBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getDocumentsFieldBuilder() : null; } else { documentsBuilder_.addAllMessages(other.documents_); } } } if (externalSymbolsBuilder_ == null) { if (!other.externalSymbols_.isEmpty()) { if (externalSymbols_.isEmpty()) { externalSymbols_ = other.externalSymbols_; bitField0_ = (bitField0_ & ~0x00000002); } else { ensureExternalSymbolsIsMutable(); externalSymbols_.addAll(other.externalSymbols_); } onChanged(); } } else { if (!other.externalSymbols_.isEmpty()) { if (externalSymbolsBuilder_.isEmpty()) { externalSymbolsBuilder_.dispose(); externalSymbolsBuilder_ = null; externalSymbols_ = other.externalSymbols_; bitField0_ = (bitField0_ & ~0x00000002); externalSymbolsBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getExternalSymbolsFieldBuilder() : null; } else { externalSymbolsBuilder_.addAllMessages(other.externalSymbols_); } } } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; } @java.lang.Override public final boolean isInitialized() { return true; } @java.lang.Override public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { scip.Scip.Index parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { parsedMessage = (scip.Scip.Index) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { mergeFrom(parsedMessage); } } return this; } private int bitField0_; private scip.Scip.Metadata metadata_; private com.google.protobuf.SingleFieldBuilderV3< scip.Scip.Metadata, scip.Scip.Metadata.Builder, scip.Scip.MetadataOrBuilder> metadataBuilder_; /** *
       * Metadata about this index.
       * 
* * .scip.Metadata metadata = 1; * @return Whether the metadata field is set. */ public boolean hasMetadata() { return metadataBuilder_ != null || metadata_ != null; } /** *
       * Metadata about this index.
       * 
* * .scip.Metadata metadata = 1; * @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; */ public Builder setMetadata(scip.Scip.Metadata value) { if (metadataBuilder_ == null) { if (value == null) { throw new NullPointerException(); } metadata_ = value; onChanged(); } else { metadataBuilder_.setMessage(value); } return this; } /** *
       * Metadata about this index.
       * 
* * .scip.Metadata metadata = 1; */ public Builder setMetadata( scip.Scip.Metadata.Builder builderForValue) { if (metadataBuilder_ == null) { metadata_ = builderForValue.build(); onChanged(); } else { metadataBuilder_.setMessage(builderForValue.build()); } return this; } /** *
       * Metadata about this index.
       * 
* * .scip.Metadata metadata = 1; */ public Builder mergeMetadata(scip.Scip.Metadata value) { if (metadataBuilder_ == null) { if (metadata_ != null) { metadata_ = scip.Scip.Metadata.newBuilder(metadata_).mergeFrom(value).buildPartial(); } else { metadata_ = value; } onChanged(); } else { metadataBuilder_.mergeFrom(value); } return this; } /** *
       * Metadata about this index.
       * 
* * .scip.Metadata metadata = 1; */ public Builder clearMetadata() { if (metadataBuilder_ == null) { metadata_ = null; onChanged(); } else { metadata_ = null; metadataBuilder_ = null; } return this; } /** *
       * Metadata about this index.
       * 
* * .scip.Metadata metadata = 1; */ public scip.Scip.Metadata.Builder getMetadataBuilder() { onChanged(); return getMetadataFieldBuilder().getBuilder(); } /** *
       * Metadata about this index.
       * 
* * .scip.Metadata metadata = 1; */ 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; */ private com.google.protobuf.SingleFieldBuilderV3< scip.Scip.Metadata, scip.Scip.Metadata.Builder, scip.Scip.MetadataOrBuilder> getMetadataFieldBuilder() { if (metadataBuilder_ == null) { metadataBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< 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_ & 0x00000001) != 0)) { documents_ = new java.util.ArrayList(documents_); bitField0_ |= 0x00000001; } } private com.google.protobuf.RepeatedFieldBuilderV3< scip.Scip.Document, scip.Scip.Document.Builder, scip.Scip.DocumentOrBuilder> documentsBuilder_; /** *
       * Documents that belong to this index.
       * 
* * repeated .scip.Document documents = 2; */ 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; */ public int getDocumentsCount() { if (documentsBuilder_ == null) { return documents_.size(); } else { return documentsBuilder_.getCount(); } } /** *
       * Documents that belong to this index.
       * 
* * repeated .scip.Document documents = 2; */ 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; */ 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; */ 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; */ 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; */ 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; */ 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; */ 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; */ 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; */ public Builder clearDocuments() { if (documentsBuilder_ == null) { documents_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000001); onChanged(); } else { documentsBuilder_.clear(); } return this; } /** *
       * Documents that belong to this index.
       * 
* * repeated .scip.Document documents = 2; */ 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; */ public scip.Scip.Document.Builder getDocumentsBuilder( int index) { return getDocumentsFieldBuilder().getBuilder(index); } /** *
       * Documents that belong to this index.
       * 
* * repeated .scip.Document documents = 2; */ 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; */ 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; */ public scip.Scip.Document.Builder addDocumentsBuilder() { return getDocumentsFieldBuilder().addBuilder( scip.Scip.Document.getDefaultInstance()); } /** *
       * Documents that belong to this index.
       * 
* * repeated .scip.Document documents = 2; */ public scip.Scip.Document.Builder addDocumentsBuilder( int index) { return getDocumentsFieldBuilder().addBuilder( index, scip.Scip.Document.getDefaultInstance()); } /** *
       * Documents that belong to this index.
       * 
* * repeated .scip.Document documents = 2; */ public java.util.List getDocumentsBuilderList() { return getDocumentsFieldBuilder().getBuilderList(); } private com.google.protobuf.RepeatedFieldBuilderV3< scip.Scip.Document, scip.Scip.Document.Builder, scip.Scip.DocumentOrBuilder> getDocumentsFieldBuilder() { if (documentsBuilder_ == null) { documentsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< scip.Scip.Document, scip.Scip.Document.Builder, scip.Scip.DocumentOrBuilder>( documents_, ((bitField0_ & 0x00000001) != 0), getParentForChildren(), isClean()); documents_ = null; } return documentsBuilder_; } private java.util.List externalSymbols_ = java.util.Collections.emptyList(); private void ensureExternalSymbolsIsMutable() { if (!((bitField0_ & 0x00000002) != 0)) { externalSymbols_ = new java.util.ArrayList(externalSymbols_); bitField0_ |= 0x00000002; } } private com.google.protobuf.RepeatedFieldBuilderV3< 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; */ 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; */ 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; */ 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; */ 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; */ 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; */ 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; */ 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; */ 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; */ 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; */ 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; */ public Builder clearExternalSymbols() { if (externalSymbolsBuilder_ == null) { externalSymbols_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000002); 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; */ 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; */ public scip.Scip.SymbolInformation.Builder getExternalSymbolsBuilder( int index) { return getExternalSymbolsFieldBuilder().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; */ 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; */ 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; */ public scip.Scip.SymbolInformation.Builder addExternalSymbolsBuilder() { return getExternalSymbolsFieldBuilder().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; */ public scip.Scip.SymbolInformation.Builder addExternalSymbolsBuilder( int index) { return getExternalSymbolsFieldBuilder().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; */ public java.util.List getExternalSymbolsBuilderList() { return getExternalSymbolsFieldBuilder().getBuilderList(); } private com.google.protobuf.RepeatedFieldBuilderV3< scip.Scip.SymbolInformation, scip.Scip.SymbolInformation.Builder, scip.Scip.SymbolInformationOrBuilder> getExternalSymbolsFieldBuilder() { if (externalSymbolsBuilder_ == null) { externalSymbolsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< scip.Scip.SymbolInformation, scip.Scip.SymbolInformation.Builder, scip.Scip.SymbolInformationOrBuilder>( externalSymbols_, ((bitField0_ & 0x00000002) != 0), getParentForChildren(), isClean()); externalSymbols_ = null; } return externalSymbolsBuilder_; } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); } @java.lang.Override public final Builder mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.mergeUnknownFields(unknownFields); } // @@protoc_insertion_point(builder_scope: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 { return new Index(input, extensionRegistry); } }; public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override public 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; * @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; * @return The version. */ scip.Scip.ProtocolVersion getVersion(); /** *
     * Information about the tool that produced this index.
     * 
* * .scip.ToolInfo tool_info = 2; * @return Whether the toolInfo field is set. */ boolean hasToolInfo(); /** *
     * Information about the tool that produced this index.
     * 
* * .scip.ToolInfo tool_info = 2; * @return The toolInfo. */ scip.Scip.ToolInfo getToolInfo(); /** *
     * Information about the tool that produced this index.
     * 
* * .scip.ToolInfo tool_info = 2; */ 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; * @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; * @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; * @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; * @return The textDocumentEncoding. */ scip.Scip.TextEncoding getTextDocumentEncoding(); } /** * Protobuf type {@code scip.Metadata} */ public static final class Metadata extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:scip.Metadata) MetadataOrBuilder { private static final long serialVersionUID = 0L; // Use Metadata.newBuilder() to construct. private Metadata(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } private Metadata() { version_ = 0; projectRoot_ = ""; textDocumentEncoding_ = 0; } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { return new Metadata(); } @java.lang.Override public final com.google.protobuf.UnknownFieldSet getUnknownFields() { return this.unknownFields; } private Metadata( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { this(); if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); try { boolean done = false; while (!done) { int tag = input.readTag(); switch (tag) { case 0: done = true; break; case 8: { int rawValue = input.readEnum(); version_ = rawValue; break; } case 18: { scip.Scip.ToolInfo.Builder subBuilder = null; if (toolInfo_ != null) { subBuilder = toolInfo_.toBuilder(); } toolInfo_ = input.readMessage(scip.Scip.ToolInfo.parser(), extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom(toolInfo_); toolInfo_ = subBuilder.buildPartial(); } break; } case 26: { java.lang.String s = input.readStringRequireUtf8(); projectRoot_ = s; break; } case 32: { int rawValue = input.readEnum(); textDocumentEncoding_ = rawValue; break; } default: { if (!parseUnknownField( input, unknownFields, extensionRegistry, tag)) { done = true; } break; } } } } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.setUnfinishedMessage(this); } catch (java.io.IOException e) { throw new com.google.protobuf.InvalidProtocolBufferException( e).setUnfinishedMessage(this); } finally { this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return scip.Scip.internal_static_scip_Metadata_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return scip.Scip.internal_static_scip_Metadata_fieldAccessorTable .ensureFieldAccessorsInitialized( scip.Scip.Metadata.class, scip.Scip.Metadata.Builder.class); } public static final int VERSION_FIELD_NUMBER = 1; private int version_; /** *
     * Which version of this protocol was used to generate this index?
     * 
* * .scip.ProtocolVersion version = 1; * @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; * @return The version. */ @java.lang.Override public scip.Scip.ProtocolVersion getVersion() { @SuppressWarnings("deprecation") scip.Scip.ProtocolVersion result = scip.Scip.ProtocolVersion.valueOf(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; * @return Whether the toolInfo field is set. */ @java.lang.Override public boolean hasToolInfo() { return toolInfo_ != null; } /** *
     * Information about the tool that produced this index.
     * 
* * .scip.ToolInfo tool_info = 2; * @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; */ @java.lang.Override public scip.Scip.ToolInfoOrBuilder getToolInfoOrBuilder() { return getToolInfo(); } public static final int PROJECT_ROOT_FIELD_NUMBER = 3; 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; * @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; * @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_; /** *
     * 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; * @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; * @return The textDocumentEncoding. */ @java.lang.Override public scip.Scip.TextEncoding getTextDocumentEncoding() { @SuppressWarnings("deprecation") scip.Scip.TextEncoding result = scip.Scip.TextEncoding.valueOf(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 (toolInfo_ != null) { output.writeMessage(2, getToolInfo()); } if (!getProjectRootBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 3, projectRoot_); } if (textDocumentEncoding_ != scip.Scip.TextEncoding.UnspecifiedTextEncoding.getNumber()) { output.writeEnum(4, textDocumentEncoding_); } unknownFields.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 (toolInfo_ != null) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(2, getToolInfo()); } if (!getProjectRootBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, projectRoot_); } if (textDocumentEncoding_ != scip.Scip.TextEncoding.UnspecifiedTextEncoding.getNumber()) { size += com.google.protobuf.CodedOutputStream .computeEnumSize(4, textDocumentEncoding_); } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; } @java.lang.Override public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } if (!(obj instanceof 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 (!unknownFields.equals(other.unknownFields)) return false; return true; } @java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); hash = (37 * hash) + 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) + unknownFields.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.GeneratedMessageV3 .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.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } public static scip.Scip.Metadata parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .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.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } public static scip.Scip.Metadata parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .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.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } @java.lang.Override public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } public static Builder newBuilder(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.GeneratedMessageV3.BuilderParent parent) { Builder builder = new Builder(parent); return builder; } /** * Protobuf type {@code scip.Metadata} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.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.GeneratedMessageV3.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.GeneratedMessageV3.BuilderParent parent) { super(parent); maybeForceBuilderInitialization(); } private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { } } @java.lang.Override public Builder clear() { super.clear(); version_ = 0; if (toolInfoBuilder_ == null) { toolInfo_ = null; } else { toolInfo_ = null; 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); result.version_ = version_; if (toolInfoBuilder_ == null) { result.toolInfo_ = toolInfo_; } else { result.toolInfo_ = toolInfoBuilder_.build(); } result.projectRoot_ = projectRoot_; result.textDocumentEncoding_ = textDocumentEncoding_; onBuilt(); return result; } @java.lang.Override public Builder clone() { return super.clone(); } @java.lang.Override public Builder setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.setField(field, value); } @java.lang.Override public Builder clearField( com.google.protobuf.Descriptors.FieldDescriptor field) { return super.clearField(field); } @java.lang.Override public Builder clearOneof( com.google.protobuf.Descriptors.OneofDescriptor oneof) { return super.clearOneof(oneof); } @java.lang.Override public Builder setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { return super.setRepeatedField(field, index, value); } @java.lang.Override public Builder addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.addRepeatedField(field, value); } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { if (other instanceof 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_; onChanged(); } if (other.textDocumentEncoding_ != 0) { setTextDocumentEncodingValue(other.getTextDocumentEncodingValue()); } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; } @java.lang.Override public final boolean isInitialized() { return true; } @java.lang.Override public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { scip.Scip.Metadata parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { parsedMessage = (scip.Scip.Metadata) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { mergeFrom(parsedMessage); } } return this; } private int version_ = 0; /** *
       * Which version of this protocol was used to generate this index?
       * 
* * .scip.ProtocolVersion version = 1; * @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; * @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; onChanged(); return this; } /** *
       * Which version of this protocol was used to generate this index?
       * 
* * .scip.ProtocolVersion version = 1; * @return The version. */ @java.lang.Override public scip.Scip.ProtocolVersion getVersion() { @SuppressWarnings("deprecation") scip.Scip.ProtocolVersion result = scip.Scip.ProtocolVersion.valueOf(version_); return result == null ? scip.Scip.ProtocolVersion.UNRECOGNIZED : result; } /** *
       * Which version of this protocol was used to generate this index?
       * 
* * .scip.ProtocolVersion version = 1; * @param value The version to set. * @return This builder for chaining. */ public Builder setVersion(scip.Scip.ProtocolVersion value) { if (value == null) { throw new NullPointerException(); } version_ = value.getNumber(); onChanged(); return this; } /** *
       * Which version of this protocol was used to generate this index?
       * 
* * .scip.ProtocolVersion version = 1; * @return This builder for chaining. */ public Builder clearVersion() { version_ = 0; onChanged(); return this; } private scip.Scip.ToolInfo toolInfo_; private com.google.protobuf.SingleFieldBuilderV3< scip.Scip.ToolInfo, scip.Scip.ToolInfo.Builder, scip.Scip.ToolInfoOrBuilder> toolInfoBuilder_; /** *
       * Information about the tool that produced this index.
       * 
* * .scip.ToolInfo tool_info = 2; * @return Whether the toolInfo field is set. */ public boolean hasToolInfo() { return toolInfoBuilder_ != null || toolInfo_ != null; } /** *
       * Information about the tool that produced this index.
       * 
* * .scip.ToolInfo tool_info = 2; * @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; */ public Builder setToolInfo(scip.Scip.ToolInfo value) { if (toolInfoBuilder_ == null) { if (value == null) { throw new NullPointerException(); } toolInfo_ = value; onChanged(); } else { toolInfoBuilder_.setMessage(value); } return this; } /** *
       * Information about the tool that produced this index.
       * 
* * .scip.ToolInfo tool_info = 2; */ public Builder setToolInfo( scip.Scip.ToolInfo.Builder builderForValue) { if (toolInfoBuilder_ == null) { toolInfo_ = builderForValue.build(); onChanged(); } else { toolInfoBuilder_.setMessage(builderForValue.build()); } return this; } /** *
       * Information about the tool that produced this index.
       * 
* * .scip.ToolInfo tool_info = 2; */ public Builder mergeToolInfo(scip.Scip.ToolInfo value) { if (toolInfoBuilder_ == null) { if (toolInfo_ != null) { toolInfo_ = scip.Scip.ToolInfo.newBuilder(toolInfo_).mergeFrom(value).buildPartial(); } else { toolInfo_ = value; } onChanged(); } else { toolInfoBuilder_.mergeFrom(value); } return this; } /** *
       * Information about the tool that produced this index.
       * 
* * .scip.ToolInfo tool_info = 2; */ public Builder clearToolInfo() { if (toolInfoBuilder_ == null) { toolInfo_ = null; onChanged(); } else { toolInfo_ = null; toolInfoBuilder_ = null; } return this; } /** *
       * Information about the tool that produced this index.
       * 
* * .scip.ToolInfo tool_info = 2; */ public scip.Scip.ToolInfo.Builder getToolInfoBuilder() { onChanged(); return getToolInfoFieldBuilder().getBuilder(); } /** *
       * Information about the tool that produced this index.
       * 
* * .scip.ToolInfo tool_info = 2; */ 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; */ private com.google.protobuf.SingleFieldBuilderV3< scip.Scip.ToolInfo, scip.Scip.ToolInfo.Builder, scip.Scip.ToolInfoOrBuilder> getToolInfoFieldBuilder() { if (toolInfoBuilder_ == null) { toolInfoBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< 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; * @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; * @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; * @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; 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; * @return This builder for chaining. */ public Builder clearProjectRoot() { projectRoot_ = getDefaultInstance().getProjectRoot(); 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; * @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; 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; * @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; * @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; 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; * @return The textDocumentEncoding. */ @java.lang.Override public scip.Scip.TextEncoding getTextDocumentEncoding() { @SuppressWarnings("deprecation") scip.Scip.TextEncoding result = scip.Scip.TextEncoding.valueOf(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; * @param value The textDocumentEncoding to set. * @return This builder for chaining. */ public Builder setTextDocumentEncoding(scip.Scip.TextEncoding value) { if (value == null) { throw new NullPointerException(); } 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; * @return This builder for chaining. */ public Builder clearTextDocumentEncoding() { textDocumentEncoding_ = 0; onChanged(); return this; } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); } @java.lang.Override public final Builder mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.mergeUnknownFields(unknownFields); } // @@protoc_insertion_point(builder_scope: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 { return new Metadata(input, extensionRegistry); } }; public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override public 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; * @return The name. */ java.lang.String getName(); /** *
     * Name of the indexer that produced this index.
     * 
* * string name = 1; * @return The bytes for name. */ com.google.protobuf.ByteString getNameBytes(); /** *
     * Version of the indexer that produced this index.
     * 
* * string version = 2; * @return The version. */ java.lang.String getVersion(); /** *
     * Version of the indexer that produced this index.
     * 
* * string version = 2; * @return The bytes for version. */ com.google.protobuf.ByteString getVersionBytes(); /** *
     * Command-line arguments that were used to invoke this indexer.
     * 
* * repeated string arguments = 3; * @return A list containing the arguments. */ java.util.List getArgumentsList(); /** *
     * Command-line arguments that were used to invoke this indexer.
     * 
* * repeated string arguments = 3; * @return The count of arguments. */ int getArgumentsCount(); /** *
     * Command-line arguments that were used to invoke this indexer.
     * 
* * repeated string arguments = 3; * @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; * @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.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:scip.ToolInfo) ToolInfoOrBuilder { private static final long serialVersionUID = 0L; // Use ToolInfo.newBuilder() to construct. private ToolInfo(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } private ToolInfo() { name_ = ""; version_ = ""; arguments_ = com.google.protobuf.LazyStringArrayList.EMPTY; } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { return new ToolInfo(); } @java.lang.Override public final com.google.protobuf.UnknownFieldSet getUnknownFields() { return this.unknownFields; } private ToolInfo( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { this(); if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } int mutable_bitField0_ = 0; com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); try { boolean done = false; while (!done) { int tag = input.readTag(); switch (tag) { case 0: done = true; break; case 10: { java.lang.String s = input.readStringRequireUtf8(); name_ = s; break; } case 18: { java.lang.String s = input.readStringRequireUtf8(); version_ = s; break; } case 26: { java.lang.String s = input.readStringRequireUtf8(); if (!((mutable_bitField0_ & 0x00000001) != 0)) { arguments_ = new com.google.protobuf.LazyStringArrayList(); mutable_bitField0_ |= 0x00000001; } arguments_.add(s); break; } default: { if (!parseUnknownField( input, unknownFields, extensionRegistry, tag)) { done = true; } break; } } } } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.setUnfinishedMessage(this); } catch (java.io.IOException e) { throw new com.google.protobuf.InvalidProtocolBufferException( e).setUnfinishedMessage(this); } finally { if (((mutable_bitField0_ & 0x00000001) != 0)) { arguments_ = arguments_.getUnmodifiableView(); } this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return scip.Scip.internal_static_scip_ToolInfo_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.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; private volatile java.lang.Object name_; /** *
     * Name of the indexer that produced this index.
     * 
* * string name = 1; * @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; * @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; private volatile java.lang.Object version_; /** *
     * Version of the indexer that produced this index.
     * 
* * string version = 2; * @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; * @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; private com.google.protobuf.LazyStringList arguments_; /** *
     * Command-line arguments that were used to invoke this indexer.
     * 
* * repeated string arguments = 3; * @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; * @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; * @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; * @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 (!getNameBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 1, name_); } if (!getVersionBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 2, version_); } for (int i = 0; i < arguments_.size(); i++) { com.google.protobuf.GeneratedMessageV3.writeString(output, 3, arguments_.getRaw(i)); } unknownFields.writeTo(output); } @java.lang.Override public int getSerializedSize() { int size = memoizedSize; if (size != -1) return size; size = 0; if (!getNameBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, name_); } if (!getVersionBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.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 += unknownFields.getSerializedSize(); memoizedSize = size; return size; } @java.lang.Override public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } if (!(obj instanceof 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 (!unknownFields.equals(other.unknownFields)) return false; return true; } @java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); hash = (37 * hash) + 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) + unknownFields.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.GeneratedMessageV3 .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.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } public static scip.Scip.ToolInfo parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .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.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } public static scip.Scip.ToolInfo parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .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.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } @java.lang.Override public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } public static Builder newBuilder(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.GeneratedMessageV3.BuilderParent parent) { Builder builder = new Builder(parent); return builder; } /** * Protobuf type {@code scip.ToolInfo} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.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.GeneratedMessageV3.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() { maybeForceBuilderInitialization(); } private Builder( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); maybeForceBuilderInitialization(); } private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { } } @java.lang.Override public Builder clear() { super.clear(); name_ = ""; version_ = ""; arguments_ = com.google.protobuf.LazyStringArrayList.EMPTY; bitField0_ = (bitField0_ & ~0x00000001); 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); int from_bitField0_ = bitField0_; result.name_ = name_; result.version_ = version_; if (((bitField0_ & 0x00000001) != 0)) { arguments_ = arguments_.getUnmodifiableView(); bitField0_ = (bitField0_ & ~0x00000001); } result.arguments_ = arguments_; onBuilt(); return result; } @java.lang.Override public Builder clone() { return super.clone(); } @java.lang.Override public Builder setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.setField(field, value); } @java.lang.Override public Builder clearField( com.google.protobuf.Descriptors.FieldDescriptor field) { return super.clearField(field); } @java.lang.Override public Builder clearOneof( com.google.protobuf.Descriptors.OneofDescriptor oneof) { return super.clearOneof(oneof); } @java.lang.Override public Builder setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { return super.setRepeatedField(field, index, value); } @java.lang.Override public Builder addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.addRepeatedField(field, value); } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { if (other instanceof 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_; onChanged(); } if (!other.getVersion().isEmpty()) { version_ = other.version_; onChanged(); } if (!other.arguments_.isEmpty()) { if (arguments_.isEmpty()) { arguments_ = other.arguments_; bitField0_ = (bitField0_ & ~0x00000001); } else { ensureArgumentsIsMutable(); arguments_.addAll(other.arguments_); } onChanged(); } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; } @java.lang.Override public final boolean isInitialized() { return true; } @java.lang.Override public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { scip.Scip.ToolInfo parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { parsedMessage = (scip.Scip.ToolInfo) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { mergeFrom(parsedMessage); } } return this; } private int bitField0_; private java.lang.Object name_ = ""; /** *
       * Name of the indexer that produced this index.
       * 
* * string name = 1; * @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; * @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; * @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; onChanged(); return this; } /** *
       * Name of the indexer that produced this index.
       * 
* * string name = 1; * @return This builder for chaining. */ public Builder clearName() { name_ = getDefaultInstance().getName(); onChanged(); return this; } /** *
       * Name of the indexer that produced this index.
       * 
* * string name = 1; * @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; onChanged(); return this; } private java.lang.Object version_ = ""; /** *
       * Version of the indexer that produced this index.
       * 
* * string version = 2; * @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; * @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; * @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; onChanged(); return this; } /** *
       * Version of the indexer that produced this index.
       * 
* * string version = 2; * @return This builder for chaining. */ public Builder clearVersion() { version_ = getDefaultInstance().getVersion(); onChanged(); return this; } /** *
       * Version of the indexer that produced this index.
       * 
* * string version = 2; * @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; onChanged(); return this; } private com.google.protobuf.LazyStringList arguments_ = com.google.protobuf.LazyStringArrayList.EMPTY; private void ensureArgumentsIsMutable() { if (!((bitField0_ & 0x00000001) != 0)) { arguments_ = new com.google.protobuf.LazyStringArrayList(arguments_); bitField0_ |= 0x00000001; } } /** *
       * Command-line arguments that were used to invoke this indexer.
       * 
* * repeated string arguments = 3; * @return A list containing the arguments. */ public com.google.protobuf.ProtocolStringList getArgumentsList() { return arguments_.getUnmodifiableView(); } /** *
       * Command-line arguments that were used to invoke this indexer.
       * 
* * repeated string arguments = 3; * @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; * @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; * @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; * @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); onChanged(); return this; } /** *
       * Command-line arguments that were used to invoke this indexer.
       * 
* * repeated string arguments = 3; * @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); onChanged(); return this; } /** *
       * Command-line arguments that were used to invoke this indexer.
       * 
* * repeated string arguments = 3; * @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_); onChanged(); return this; } /** *
       * Command-line arguments that were used to invoke this indexer.
       * 
* * repeated string arguments = 3; * @return This builder for chaining. */ public Builder clearArguments() { arguments_ = com.google.protobuf.LazyStringArrayList.EMPTY; bitField0_ = (bitField0_ & ~0x00000001); onChanged(); return this; } /** *
       * Command-line arguments that were used to invoke this indexer.
       * 
* * repeated string arguments = 3; * @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); onChanged(); return this; } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); } @java.lang.Override public final Builder mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.mergeUnknownFields(unknownFields); } // @@protoc_insertion_point(builder_scope: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 { return new ToolInfo(input, extensionRegistry); } }; public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override public 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; * @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; * @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; * @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; * @return The bytes for relativePath. */ com.google.protobuf.ByteString getRelativePathBytes(); /** *
     * Occurrences that appear in this file.
     * 
* * repeated .scip.Occurrence occurrences = 2; */ java.util.List getOccurrencesList(); /** *
     * Occurrences that appear in this file.
     * 
* * repeated .scip.Occurrence occurrences = 2; */ scip.Scip.Occurrence getOccurrences(int index); /** *
     * Occurrences that appear in this file.
     * 
* * repeated .scip.Occurrence occurrences = 2; */ int getOccurrencesCount(); /** *
     * Occurrences that appear in this file.
     * 
* * repeated .scip.Occurrence occurrences = 2; */ java.util.List getOccurrencesOrBuilderList(); /** *
     * Occurrences that appear in this file.
     * 
* * repeated .scip.Occurrence occurrences = 2; */ 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; */ 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; */ 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; */ 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; */ 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; */ scip.Scip.SymbolInformationOrBuilder getSymbolsOrBuilder( int index); /** *
     * (optional) Text contents of the this document. Indexers are not expected to
     * include the text by default. It's preferrable 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 was
     * introduced to support `SymbolInformation.signature_documentation`, but it
     * can be used for other purposes as well, for example testing or when working
     * with virtual/in-memory documents.
     * 
* * string text = 5; * @return The text. */ java.lang.String getText(); /** *
     * (optional) Text contents of the this document. Indexers are not expected to
     * include the text by default. It's preferrable 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 was
     * introduced to support `SymbolInformation.signature_documentation`, but it
     * can be used for other purposes as well, for example testing or when working
     * with virtual/in-memory documents.
     * 
* * string text = 5; * @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; * @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; * @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.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:scip.Document) DocumentOrBuilder { private static final long serialVersionUID = 0L; // Use Document.newBuilder() to construct. private Document(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } private Document() { language_ = ""; relativePath_ = ""; occurrences_ = java.util.Collections.emptyList(); symbols_ = java.util.Collections.emptyList(); text_ = ""; positionEncoding_ = 0; } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { return new Document(); } @java.lang.Override public final com.google.protobuf.UnknownFieldSet getUnknownFields() { return this.unknownFields; } private Document( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { this(); if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } int mutable_bitField0_ = 0; com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); try { boolean done = false; while (!done) { int tag = input.readTag(); switch (tag) { case 0: done = true; break; case 10: { java.lang.String s = input.readStringRequireUtf8(); relativePath_ = s; break; } case 18: { if (!((mutable_bitField0_ & 0x00000001) != 0)) { occurrences_ = new java.util.ArrayList(); mutable_bitField0_ |= 0x00000001; } occurrences_.add( input.readMessage(scip.Scip.Occurrence.parser(), extensionRegistry)); break; } case 26: { if (!((mutable_bitField0_ & 0x00000002) != 0)) { symbols_ = new java.util.ArrayList(); mutable_bitField0_ |= 0x00000002; } symbols_.add( input.readMessage(scip.Scip.SymbolInformation.parser(), extensionRegistry)); break; } case 34: { java.lang.String s = input.readStringRequireUtf8(); language_ = s; break; } case 42: { java.lang.String s = input.readStringRequireUtf8(); text_ = s; break; } case 48: { int rawValue = input.readEnum(); positionEncoding_ = rawValue; break; } default: { if (!parseUnknownField( input, unknownFields, extensionRegistry, tag)) { done = true; } break; } } } } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.setUnfinishedMessage(this); } catch (java.io.IOException e) { throw new com.google.protobuf.InvalidProtocolBufferException( e).setUnfinishedMessage(this); } finally { if (((mutable_bitField0_ & 0x00000001) != 0)) { occurrences_ = java.util.Collections.unmodifiableList(occurrences_); } if (((mutable_bitField0_ & 0x00000002) != 0)) { symbols_ = java.util.Collections.unmodifiableList(symbols_); } this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return scip.Scip.internal_static_scip_Document_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.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; 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; * @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; * @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; 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; * @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; * @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; private java.util.List occurrences_; /** *
     * Occurrences that appear in this file.
     * 
* * repeated .scip.Occurrence occurrences = 2; */ @java.lang.Override public java.util.List getOccurrencesList() { return occurrences_; } /** *
     * Occurrences that appear in this file.
     * 
* * repeated .scip.Occurrence occurrences = 2; */ @java.lang.Override public java.util.List getOccurrencesOrBuilderList() { return occurrences_; } /** *
     * Occurrences that appear in this file.
     * 
* * repeated .scip.Occurrence occurrences = 2; */ @java.lang.Override public int getOccurrencesCount() { return occurrences_.size(); } /** *
     * Occurrences that appear in this file.
     * 
* * repeated .scip.Occurrence occurrences = 2; */ @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; */ @java.lang.Override public scip.Scip.OccurrenceOrBuilder getOccurrencesOrBuilder( int index) { return occurrences_.get(index); } public static final int SYMBOLS_FIELD_NUMBER = 3; 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; */ @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; */ @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; */ @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; */ @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; */ @java.lang.Override public scip.Scip.SymbolInformationOrBuilder getSymbolsOrBuilder( int index) { return symbols_.get(index); } public static final int TEXT_FIELD_NUMBER = 5; private volatile java.lang.Object text_; /** *
     * (optional) Text contents of the this document. Indexers are not expected to
     * include the text by default. It's preferrable 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 was
     * introduced to support `SymbolInformation.signature_documentation`, but it
     * can be used for other purposes as well, for example testing or when working
     * with virtual/in-memory documents.
     * 
* * string text = 5; * @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 the this document. Indexers are not expected to
     * include the text by default. It's preferrable 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 was
     * introduced to support `SymbolInformation.signature_documentation`, but it
     * can be used for other purposes as well, for example testing or when working
     * with virtual/in-memory documents.
     * 
* * string text = 5; * @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_; /** *
     * 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; * @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; * @return The positionEncoding. */ @java.lang.Override public scip.Scip.PositionEncoding getPositionEncoding() { @SuppressWarnings("deprecation") scip.Scip.PositionEncoding result = scip.Scip.PositionEncoding.valueOf(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 (!getRelativePathBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.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 (!getLanguageBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 4, language_); } if (!getTextBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 5, text_); } if (positionEncoding_ != scip.Scip.PositionEncoding.UnspecifiedPositionEncoding.getNumber()) { output.writeEnum(6, positionEncoding_); } unknownFields.writeTo(output); } @java.lang.Override public int getSerializedSize() { int size = memoizedSize; if (size != -1) return size; size = 0; if (!getRelativePathBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.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 (!getLanguageBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, language_); } if (!getTextBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(5, text_); } if (positionEncoding_ != scip.Scip.PositionEncoding.UnspecifiedPositionEncoding.getNumber()) { size += com.google.protobuf.CodedOutputStream .computeEnumSize(6, positionEncoding_); } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; } @java.lang.Override public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } if (!(obj instanceof 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 (!unknownFields.equals(other.unknownFields)) return false; return true; } @java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); hash = (37 * hash) + 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) + unknownFields.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.GeneratedMessageV3 .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.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } public static scip.Scip.Document parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .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.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } public static scip.Scip.Document parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .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.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } @java.lang.Override public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } public static Builder newBuilder(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.GeneratedMessageV3.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.GeneratedMessageV3.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.GeneratedMessageV3.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() { maybeForceBuilderInitialization(); } private Builder( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); maybeForceBuilderInitialization(); } private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { getOccurrencesFieldBuilder(); getSymbolsFieldBuilder(); } } @java.lang.Override public Builder clear() { super.clear(); language_ = ""; relativePath_ = ""; if (occurrencesBuilder_ == null) { occurrences_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000001); } else { occurrencesBuilder_.clear(); } if (symbolsBuilder_ == null) { symbols_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000002); } else { symbolsBuilder_.clear(); } 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); int from_bitField0_ = bitField0_; result.language_ = language_; result.relativePath_ = relativePath_; if (occurrencesBuilder_ == null) { if (((bitField0_ & 0x00000001) != 0)) { occurrences_ = java.util.Collections.unmodifiableList(occurrences_); bitField0_ = (bitField0_ & ~0x00000001); } result.occurrences_ = occurrences_; } else { result.occurrences_ = occurrencesBuilder_.build(); } if (symbolsBuilder_ == null) { if (((bitField0_ & 0x00000002) != 0)) { symbols_ = java.util.Collections.unmodifiableList(symbols_); bitField0_ = (bitField0_ & ~0x00000002); } result.symbols_ = symbols_; } else { result.symbols_ = symbolsBuilder_.build(); } result.text_ = text_; result.positionEncoding_ = positionEncoding_; onBuilt(); return result; } @java.lang.Override public Builder clone() { return super.clone(); } @java.lang.Override public Builder setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.setField(field, value); } @java.lang.Override public Builder clearField( com.google.protobuf.Descriptors.FieldDescriptor field) { return super.clearField(field); } @java.lang.Override public Builder clearOneof( com.google.protobuf.Descriptors.OneofDescriptor oneof) { return super.clearOneof(oneof); } @java.lang.Override public Builder setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { return super.setRepeatedField(field, index, value); } @java.lang.Override public Builder addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.addRepeatedField(field, value); } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { if (other instanceof 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_; onChanged(); } if (!other.getRelativePath().isEmpty()) { relativePath_ = other.relativePath_; onChanged(); } if (occurrencesBuilder_ == null) { if (!other.occurrences_.isEmpty()) { if (occurrences_.isEmpty()) { occurrences_ = other.occurrences_; bitField0_ = (bitField0_ & ~0x00000001); } else { ensureOccurrencesIsMutable(); occurrences_.addAll(other.occurrences_); } onChanged(); } } else { if (!other.occurrences_.isEmpty()) { if (occurrencesBuilder_.isEmpty()) { occurrencesBuilder_.dispose(); occurrencesBuilder_ = null; occurrences_ = other.occurrences_; bitField0_ = (bitField0_ & ~0x00000001); occurrencesBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getOccurrencesFieldBuilder() : null; } else { occurrencesBuilder_.addAllMessages(other.occurrences_); } } } if (symbolsBuilder_ == null) { if (!other.symbols_.isEmpty()) { if (symbols_.isEmpty()) { symbols_ = other.symbols_; bitField0_ = (bitField0_ & ~0x00000002); } else { ensureSymbolsIsMutable(); symbols_.addAll(other.symbols_); } onChanged(); } } else { if (!other.symbols_.isEmpty()) { if (symbolsBuilder_.isEmpty()) { symbolsBuilder_.dispose(); symbolsBuilder_ = null; symbols_ = other.symbols_; bitField0_ = (bitField0_ & ~0x00000002); symbolsBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getSymbolsFieldBuilder() : null; } else { symbolsBuilder_.addAllMessages(other.symbols_); } } } if (!other.getText().isEmpty()) { text_ = other.text_; onChanged(); } if (other.positionEncoding_ != 0) { setPositionEncodingValue(other.getPositionEncodingValue()); } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; } @java.lang.Override public final boolean isInitialized() { return true; } @java.lang.Override public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { scip.Scip.Document parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { parsedMessage = (scip.Scip.Document) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { mergeFrom(parsedMessage); } } 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; * @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; * @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; * @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; 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; * @return This builder for chaining. */ public Builder clearLanguage() { language_ = getDefaultInstance().getLanguage(); 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; * @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; 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; * @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; * @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; * @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; 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; * @return This builder for chaining. */ public Builder clearRelativePath() { relativePath_ = getDefaultInstance().getRelativePath(); 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; * @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; onChanged(); return this; } private java.util.List occurrences_ = java.util.Collections.emptyList(); private void ensureOccurrencesIsMutable() { if (!((bitField0_ & 0x00000001) != 0)) { occurrences_ = new java.util.ArrayList(occurrences_); bitField0_ |= 0x00000001; } } private com.google.protobuf.RepeatedFieldBuilderV3< scip.Scip.Occurrence, scip.Scip.Occurrence.Builder, scip.Scip.OccurrenceOrBuilder> occurrencesBuilder_; /** *
       * Occurrences that appear in this file.
       * 
* * repeated .scip.Occurrence occurrences = 2; */ 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; */ public int getOccurrencesCount() { if (occurrencesBuilder_ == null) { return occurrences_.size(); } else { return occurrencesBuilder_.getCount(); } } /** *
       * Occurrences that appear in this file.
       * 
* * repeated .scip.Occurrence occurrences = 2; */ 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; */ 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; */ 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; */ 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; */ 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; */ 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; */ 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; */ 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; */ public Builder clearOccurrences() { if (occurrencesBuilder_ == null) { occurrences_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000001); onChanged(); } else { occurrencesBuilder_.clear(); } return this; } /** *
       * Occurrences that appear in this file.
       * 
* * repeated .scip.Occurrence occurrences = 2; */ 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; */ public scip.Scip.Occurrence.Builder getOccurrencesBuilder( int index) { return getOccurrencesFieldBuilder().getBuilder(index); } /** *
       * Occurrences that appear in this file.
       * 
* * repeated .scip.Occurrence occurrences = 2; */ 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; */ 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; */ public scip.Scip.Occurrence.Builder addOccurrencesBuilder() { return getOccurrencesFieldBuilder().addBuilder( scip.Scip.Occurrence.getDefaultInstance()); } /** *
       * Occurrences that appear in this file.
       * 
* * repeated .scip.Occurrence occurrences = 2; */ public scip.Scip.Occurrence.Builder addOccurrencesBuilder( int index) { return getOccurrencesFieldBuilder().addBuilder( index, scip.Scip.Occurrence.getDefaultInstance()); } /** *
       * Occurrences that appear in this file.
       * 
* * repeated .scip.Occurrence occurrences = 2; */ public java.util.List getOccurrencesBuilderList() { return getOccurrencesFieldBuilder().getBuilderList(); } private com.google.protobuf.RepeatedFieldBuilderV3< scip.Scip.Occurrence, scip.Scip.Occurrence.Builder, scip.Scip.OccurrenceOrBuilder> getOccurrencesFieldBuilder() { if (occurrencesBuilder_ == null) { occurrencesBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< scip.Scip.Occurrence, scip.Scip.Occurrence.Builder, scip.Scip.OccurrenceOrBuilder>( occurrences_, ((bitField0_ & 0x00000001) != 0), getParentForChildren(), isClean()); occurrences_ = null; } return occurrencesBuilder_; } private java.util.List symbols_ = java.util.Collections.emptyList(); private void ensureSymbolsIsMutable() { if (!((bitField0_ & 0x00000002) != 0)) { symbols_ = new java.util.ArrayList(symbols_); bitField0_ |= 0x00000002; } } private com.google.protobuf.RepeatedFieldBuilderV3< 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; */ 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; */ 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; */ 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; */ 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; */ 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; */ 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; */ 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; */ 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; */ 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; */ 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; */ public Builder clearSymbols() { if (symbolsBuilder_ == null) { symbols_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000002); 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; */ 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; */ public scip.Scip.SymbolInformation.Builder getSymbolsBuilder( int index) { return getSymbolsFieldBuilder().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; */ 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; */ 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; */ public scip.Scip.SymbolInformation.Builder addSymbolsBuilder() { return getSymbolsFieldBuilder().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; */ public scip.Scip.SymbolInformation.Builder addSymbolsBuilder( int index) { return getSymbolsFieldBuilder().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; */ public java.util.List getSymbolsBuilderList() { return getSymbolsFieldBuilder().getBuilderList(); } private com.google.protobuf.RepeatedFieldBuilderV3< scip.Scip.SymbolInformation, scip.Scip.SymbolInformation.Builder, scip.Scip.SymbolInformationOrBuilder> getSymbolsFieldBuilder() { if (symbolsBuilder_ == null) { symbolsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< scip.Scip.SymbolInformation, scip.Scip.SymbolInformation.Builder, scip.Scip.SymbolInformationOrBuilder>( symbols_, ((bitField0_ & 0x00000002) != 0), getParentForChildren(), isClean()); symbols_ = null; } return symbolsBuilder_; } private java.lang.Object text_ = ""; /** *
       * (optional) Text contents of the this document. Indexers are not expected to
       * include the text by default. It's preferrable 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 was
       * introduced to support `SymbolInformation.signature_documentation`, but it
       * can be used for other purposes as well, for example testing or when working
       * with virtual/in-memory documents.
       * 
* * string text = 5; * @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 the this document. Indexers are not expected to
       * include the text by default. It's preferrable 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 was
       * introduced to support `SymbolInformation.signature_documentation`, but it
       * can be used for other purposes as well, for example testing or when working
       * with virtual/in-memory documents.
       * 
* * string text = 5; * @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 the this document. Indexers are not expected to
       * include the text by default. It's preferrable 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 was
       * introduced to support `SymbolInformation.signature_documentation`, but it
       * can be used for other purposes as well, for example testing or when working
       * with virtual/in-memory documents.
       * 
* * string text = 5; * @param value The text to set. * @return This builder for chaining. */ public Builder setText( java.lang.String value) { if (value == null) { throw new NullPointerException(); } text_ = value; onChanged(); return this; } /** *
       * (optional) Text contents of the this document. Indexers are not expected to
       * include the text by default. It's preferrable 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 was
       * introduced to support `SymbolInformation.signature_documentation`, but it
       * can be used for other purposes as well, for example testing or when working
       * with virtual/in-memory documents.
       * 
* * string text = 5; * @return This builder for chaining. */ public Builder clearText() { text_ = getDefaultInstance().getText(); onChanged(); return this; } /** *
       * (optional) Text contents of the this document. Indexers are not expected to
       * include the text by default. It's preferrable 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 was
       * introduced to support `SymbolInformation.signature_documentation`, but it
       * can be used for other purposes as well, for example testing or when working
       * with virtual/in-memory documents.
       * 
* * string text = 5; * @param value The bytes for text to set. * @return This builder for chaining. */ public Builder setTextBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); text_ = value; onChanged(); return this; } private 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; * @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; * @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; 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; * @return The positionEncoding. */ @java.lang.Override public scip.Scip.PositionEncoding getPositionEncoding() { @SuppressWarnings("deprecation") scip.Scip.PositionEncoding result = scip.Scip.PositionEncoding.valueOf(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; * @param value The positionEncoding to set. * @return This builder for chaining. */ public Builder setPositionEncoding(scip.Scip.PositionEncoding value) { if (value == null) { throw new NullPointerException(); } 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; * @return This builder for chaining. */ public Builder clearPositionEncoding() { positionEncoding_ = 0; onChanged(); return this; } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); } @java.lang.Override public final Builder mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.mergeUnknownFields(unknownFields); } // @@protoc_insertion_point(builder_scope: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 { return new Document(input, extensionRegistry); } }; public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override public 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; * @return The scheme. */ java.lang.String getScheme(); /** * string scheme = 1; * @return The bytes for scheme. */ com.google.protobuf.ByteString getSchemeBytes(); /** * .scip.Package package = 2; * @return Whether the package field is set. */ boolean hasPackage(); /** * .scip.Package package = 2; * @return The package. */ scip.Scip.Package getPackage(); /** * .scip.Package package = 2; */ scip.Scip.PackageOrBuilder getPackageOrBuilder(); /** * repeated .scip.Descriptor descriptors = 3; */ java.util.List getDescriptorsList(); /** * repeated .scip.Descriptor descriptors = 3; */ scip.Scip.Descriptor getDescriptors(int index); /** * repeated .scip.Descriptor descriptors = 3; */ int getDescriptorsCount(); /** * repeated .scip.Descriptor descriptors = 3; */ java.util.List getDescriptorsOrBuilderList(); /** * repeated .scip.Descriptor descriptors = 3; */ 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.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:scip.Symbol) SymbolOrBuilder { private static final long serialVersionUID = 0L; // Use Symbol.newBuilder() to construct. private Symbol(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } private Symbol() { scheme_ = ""; descriptors_ = java.util.Collections.emptyList(); } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { return new Symbol(); } @java.lang.Override public final com.google.protobuf.UnknownFieldSet getUnknownFields() { return this.unknownFields; } private Symbol( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { this(); if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } int mutable_bitField0_ = 0; com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); try { boolean done = false; while (!done) { int tag = input.readTag(); switch (tag) { case 0: done = true; break; case 10: { java.lang.String s = input.readStringRequireUtf8(); scheme_ = s; break; } case 18: { scip.Scip.Package.Builder subBuilder = null; if (package_ != null) { subBuilder = package_.toBuilder(); } package_ = input.readMessage(scip.Scip.Package.parser(), extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom(package_); package_ = subBuilder.buildPartial(); } break; } case 26: { if (!((mutable_bitField0_ & 0x00000001) != 0)) { descriptors_ = new java.util.ArrayList(); mutable_bitField0_ |= 0x00000001; } descriptors_.add( input.readMessage(scip.Scip.Descriptor.parser(), extensionRegistry)); break; } default: { if (!parseUnknownField( input, unknownFields, extensionRegistry, tag)) { done = true; } break; } } } } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.setUnfinishedMessage(this); } catch (java.io.IOException e) { throw new com.google.protobuf.InvalidProtocolBufferException( e).setUnfinishedMessage(this); } finally { if (((mutable_bitField0_ & 0x00000001) != 0)) { descriptors_ = java.util.Collections.unmodifiableList(descriptors_); } this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return scip.Scip.internal_static_scip_Symbol_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return scip.Scip.internal_static_scip_Symbol_fieldAccessorTable .ensureFieldAccessorsInitialized( scip.Scip.Symbol.class, scip.Scip.Symbol.Builder.class); } public static final int SCHEME_FIELD_NUMBER = 1; private volatile java.lang.Object scheme_; /** * string scheme = 1; * @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; * @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; * @return Whether the package field is set. */ @java.lang.Override public boolean hasPackage() { return package_ != null; } /** * .scip.Package package = 2; * @return The package. */ @java.lang.Override public scip.Scip.Package getPackage() { return package_ == null ? scip.Scip.Package.getDefaultInstance() : package_; } /** * .scip.Package package = 2; */ @java.lang.Override public scip.Scip.PackageOrBuilder getPackageOrBuilder() { return getPackage(); } public static final int DESCRIPTORS_FIELD_NUMBER = 3; private java.util.List descriptors_; /** * repeated .scip.Descriptor descriptors = 3; */ @java.lang.Override public java.util.List getDescriptorsList() { return descriptors_; } /** * repeated .scip.Descriptor descriptors = 3; */ @java.lang.Override public java.util.List getDescriptorsOrBuilderList() { return descriptors_; } /** * repeated .scip.Descriptor descriptors = 3; */ @java.lang.Override public int getDescriptorsCount() { return descriptors_.size(); } /** * repeated .scip.Descriptor descriptors = 3; */ @java.lang.Override public scip.Scip.Descriptor getDescriptors(int index) { return descriptors_.get(index); } /** * repeated .scip.Descriptor descriptors = 3; */ @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 (!getSchemeBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 1, scheme_); } if (package_ != null) { output.writeMessage(2, getPackage()); } for (int i = 0; i < descriptors_.size(); i++) { output.writeMessage(3, descriptors_.get(i)); } unknownFields.writeTo(output); } @java.lang.Override public int getSerializedSize() { int size = memoizedSize; if (size != -1) return size; size = 0; if (!getSchemeBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, scheme_); } if (package_ != null) { 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 += unknownFields.getSerializedSize(); memoizedSize = size; return size; } @java.lang.Override public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } if (!(obj instanceof 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 (!unknownFields.equals(other.unknownFields)) return false; return true; } @java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); hash = (37 * hash) + 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) + unknownFields.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.GeneratedMessageV3 .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.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } public static scip.Scip.Symbol parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .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.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } public static scip.Scip.Symbol parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .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.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } @java.lang.Override public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } public static Builder newBuilder(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.GeneratedMessageV3.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.GeneratedMessageV3.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.GeneratedMessageV3.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.GeneratedMessageV3.BuilderParent parent) { super(parent); maybeForceBuilderInitialization(); } private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { getDescriptorsFieldBuilder(); } } @java.lang.Override public Builder clear() { super.clear(); scheme_ = ""; if (packageBuilder_ == null) { package_ = null; } else { package_ = null; packageBuilder_ = null; } if (descriptorsBuilder_ == null) { descriptors_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000001); } else { descriptorsBuilder_.clear(); } 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); int from_bitField0_ = bitField0_; result.scheme_ = scheme_; if (packageBuilder_ == null) { result.package_ = package_; } else { result.package_ = packageBuilder_.build(); } if (descriptorsBuilder_ == null) { if (((bitField0_ & 0x00000001) != 0)) { descriptors_ = java.util.Collections.unmodifiableList(descriptors_); bitField0_ = (bitField0_ & ~0x00000001); } result.descriptors_ = descriptors_; } else { result.descriptors_ = descriptorsBuilder_.build(); } onBuilt(); return result; } @java.lang.Override public Builder clone() { return super.clone(); } @java.lang.Override public Builder setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.setField(field, value); } @java.lang.Override public Builder clearField( com.google.protobuf.Descriptors.FieldDescriptor field) { return super.clearField(field); } @java.lang.Override public Builder clearOneof( com.google.protobuf.Descriptors.OneofDescriptor oneof) { return super.clearOneof(oneof); } @java.lang.Override public Builder setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { return super.setRepeatedField(field, index, value); } @java.lang.Override public Builder addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.addRepeatedField(field, value); } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { if (other instanceof 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_; onChanged(); } if (other.hasPackage()) { mergePackage(other.getPackage()); } if (descriptorsBuilder_ == null) { if (!other.descriptors_.isEmpty()) { if (descriptors_.isEmpty()) { descriptors_ = other.descriptors_; bitField0_ = (bitField0_ & ~0x00000001); } else { ensureDescriptorsIsMutable(); descriptors_.addAll(other.descriptors_); } onChanged(); } } else { if (!other.descriptors_.isEmpty()) { if (descriptorsBuilder_.isEmpty()) { descriptorsBuilder_.dispose(); descriptorsBuilder_ = null; descriptors_ = other.descriptors_; bitField0_ = (bitField0_ & ~0x00000001); descriptorsBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getDescriptorsFieldBuilder() : null; } else { descriptorsBuilder_.addAllMessages(other.descriptors_); } } } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; } @java.lang.Override public final boolean isInitialized() { return true; } @java.lang.Override public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { scip.Scip.Symbol parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { parsedMessage = (scip.Scip.Symbol) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { mergeFrom(parsedMessage); } } return this; } private int bitField0_; private java.lang.Object scheme_ = ""; /** * string scheme = 1; * @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; * @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; * @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; onChanged(); return this; } /** * string scheme = 1; * @return This builder for chaining. */ public Builder clearScheme() { scheme_ = getDefaultInstance().getScheme(); onChanged(); return this; } /** * string scheme = 1; * @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; onChanged(); return this; } private scip.Scip.Package package_; private com.google.protobuf.SingleFieldBuilderV3< scip.Scip.Package, scip.Scip.Package.Builder, scip.Scip.PackageOrBuilder> packageBuilder_; /** * .scip.Package package = 2; * @return Whether the package field is set. */ public boolean hasPackage() { return packageBuilder_ != null || package_ != null; } /** * .scip.Package package = 2; * @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; */ public Builder setPackage(scip.Scip.Package value) { if (packageBuilder_ == null) { if (value == null) { throw new NullPointerException(); } package_ = value; onChanged(); } else { packageBuilder_.setMessage(value); } return this; } /** * .scip.Package package = 2; */ public Builder setPackage( scip.Scip.Package.Builder builderForValue) { if (packageBuilder_ == null) { package_ = builderForValue.build(); onChanged(); } else { packageBuilder_.setMessage(builderForValue.build()); } return this; } /** * .scip.Package package = 2; */ public Builder mergePackage(scip.Scip.Package value) { if (packageBuilder_ == null) { if (package_ != null) { package_ = scip.Scip.Package.newBuilder(package_).mergeFrom(value).buildPartial(); } else { package_ = value; } onChanged(); } else { packageBuilder_.mergeFrom(value); } return this; } /** * .scip.Package package = 2; */ public Builder clearPackage() { if (packageBuilder_ == null) { package_ = null; onChanged(); } else { package_ = null; packageBuilder_ = null; } return this; } /** * .scip.Package package = 2; */ public scip.Scip.Package.Builder getPackageBuilder() { onChanged(); return getPackageFieldBuilder().getBuilder(); } /** * .scip.Package package = 2; */ public scip.Scip.PackageOrBuilder getPackageOrBuilder() { if (packageBuilder_ != null) { return packageBuilder_.getMessageOrBuilder(); } else { return package_ == null ? scip.Scip.Package.getDefaultInstance() : package_; } } /** * .scip.Package package = 2; */ private com.google.protobuf.SingleFieldBuilderV3< scip.Scip.Package, scip.Scip.Package.Builder, scip.Scip.PackageOrBuilder> getPackageFieldBuilder() { if (packageBuilder_ == null) { packageBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< 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_ & 0x00000001) != 0)) { descriptors_ = new java.util.ArrayList(descriptors_); bitField0_ |= 0x00000001; } } private com.google.protobuf.RepeatedFieldBuilderV3< scip.Scip.Descriptor, scip.Scip.Descriptor.Builder, scip.Scip.DescriptorOrBuilder> descriptorsBuilder_; /** * repeated .scip.Descriptor descriptors = 3; */ public java.util.List getDescriptorsList() { if (descriptorsBuilder_ == null) { return java.util.Collections.unmodifiableList(descriptors_); } else { return descriptorsBuilder_.getMessageList(); } } /** * repeated .scip.Descriptor descriptors = 3; */ public int getDescriptorsCount() { if (descriptorsBuilder_ == null) { return descriptors_.size(); } else { return descriptorsBuilder_.getCount(); } } /** * repeated .scip.Descriptor descriptors = 3; */ public scip.Scip.Descriptor getDescriptors(int index) { if (descriptorsBuilder_ == null) { return descriptors_.get(index); } else { return descriptorsBuilder_.getMessage(index); } } /** * repeated .scip.Descriptor descriptors = 3; */ 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; */ 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; */ 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; */ 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; */ 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; */ 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; */ 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; */ public Builder clearDescriptors() { if (descriptorsBuilder_ == null) { descriptors_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000001); onChanged(); } else { descriptorsBuilder_.clear(); } return this; } /** * repeated .scip.Descriptor descriptors = 3; */ public Builder removeDescriptors(int index) { if (descriptorsBuilder_ == null) { ensureDescriptorsIsMutable(); descriptors_.remove(index); onChanged(); } else { descriptorsBuilder_.remove(index); } return this; } /** * repeated .scip.Descriptor descriptors = 3; */ public scip.Scip.Descriptor.Builder getDescriptorsBuilder( int index) { return getDescriptorsFieldBuilder().getBuilder(index); } /** * repeated .scip.Descriptor descriptors = 3; */ public scip.Scip.DescriptorOrBuilder getDescriptorsOrBuilder( int index) { if (descriptorsBuilder_ == null) { return descriptors_.get(index); } else { return descriptorsBuilder_.getMessageOrBuilder(index); } } /** * repeated .scip.Descriptor descriptors = 3; */ public java.util.List getDescriptorsOrBuilderList() { if (descriptorsBuilder_ != null) { return descriptorsBuilder_.getMessageOrBuilderList(); } else { return java.util.Collections.unmodifiableList(descriptors_); } } /** * repeated .scip.Descriptor descriptors = 3; */ public scip.Scip.Descriptor.Builder addDescriptorsBuilder() { return getDescriptorsFieldBuilder().addBuilder( scip.Scip.Descriptor.getDefaultInstance()); } /** * repeated .scip.Descriptor descriptors = 3; */ public scip.Scip.Descriptor.Builder addDescriptorsBuilder( int index) { return getDescriptorsFieldBuilder().addBuilder( index, scip.Scip.Descriptor.getDefaultInstance()); } /** * repeated .scip.Descriptor descriptors = 3; */ public java.util.List getDescriptorsBuilderList() { return getDescriptorsFieldBuilder().getBuilderList(); } private com.google.protobuf.RepeatedFieldBuilderV3< scip.Scip.Descriptor, scip.Scip.Descriptor.Builder, scip.Scip.DescriptorOrBuilder> getDescriptorsFieldBuilder() { if (descriptorsBuilder_ == null) { descriptorsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< scip.Scip.Descriptor, scip.Scip.Descriptor.Builder, scip.Scip.DescriptorOrBuilder>( descriptors_, ((bitField0_ & 0x00000001) != 0), getParentForChildren(), isClean()); descriptors_ = null; } return descriptorsBuilder_; } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); } @java.lang.Override public final Builder mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.mergeUnknownFields(unknownFields); } // @@protoc_insertion_point(builder_scope: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 { return new Symbol(input, extensionRegistry); } }; public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override public 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; * @return The manager. */ java.lang.String getManager(); /** * string manager = 1; * @return The bytes for manager. */ com.google.protobuf.ByteString getManagerBytes(); /** * string name = 2; * @return The name. */ java.lang.String getName(); /** * string name = 2; * @return The bytes for name. */ com.google.protobuf.ByteString getNameBytes(); /** * string version = 3; * @return The version. */ java.lang.String getVersion(); /** * string version = 3; * @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.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:scip.Package) PackageOrBuilder { private static final long serialVersionUID = 0L; // Use Package.newBuilder() to construct. private Package(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } private Package() { manager_ = ""; name_ = ""; version_ = ""; } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { return new Package(); } @java.lang.Override public final com.google.protobuf.UnknownFieldSet getUnknownFields() { return this.unknownFields; } private Package( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { this(); if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); try { boolean done = false; while (!done) { int tag = input.readTag(); switch (tag) { case 0: done = true; break; case 10: { java.lang.String s = input.readStringRequireUtf8(); manager_ = s; break; } case 18: { java.lang.String s = input.readStringRequireUtf8(); name_ = s; break; } case 26: { java.lang.String s = input.readStringRequireUtf8(); version_ = s; break; } default: { if (!parseUnknownField( input, unknownFields, extensionRegistry, tag)) { done = true; } break; } } } } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.setUnfinishedMessage(this); } catch (java.io.IOException e) { throw new com.google.protobuf.InvalidProtocolBufferException( e).setUnfinishedMessage(this); } finally { this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return scip.Scip.internal_static_scip_Package_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.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; private volatile java.lang.Object manager_; /** * string manager = 1; * @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; * @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; private volatile java.lang.Object name_; /** * string name = 2; * @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; * @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; private volatile java.lang.Object version_; /** * string version = 3; * @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; * @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 (!getManagerBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 1, manager_); } if (!getNameBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 2, name_); } if (!getVersionBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 3, version_); } unknownFields.writeTo(output); } @java.lang.Override public int getSerializedSize() { int size = memoizedSize; if (size != -1) return size; size = 0; if (!getManagerBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, manager_); } if (!getNameBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, name_); } if (!getVersionBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, version_); } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; } @java.lang.Override public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } if (!(obj instanceof 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 (!unknownFields.equals(other.unknownFields)) return false; return true; } @java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); hash = (37 * hash) + 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) + unknownFields.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.GeneratedMessageV3 .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.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } public static scip.Scip.Package parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .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.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } public static scip.Scip.Package parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .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.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } @java.lang.Override public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } public static Builder newBuilder(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.GeneratedMessageV3.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.GeneratedMessageV3.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.GeneratedMessageV3.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() { maybeForceBuilderInitialization(); } private Builder( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); maybeForceBuilderInitialization(); } private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { } } @java.lang.Override public Builder clear() { super.clear(); 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); result.manager_ = manager_; result.name_ = name_; result.version_ = version_; onBuilt(); return result; } @java.lang.Override public Builder clone() { return super.clone(); } @java.lang.Override public Builder setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.setField(field, value); } @java.lang.Override public Builder clearField( com.google.protobuf.Descriptors.FieldDescriptor field) { return super.clearField(field); } @java.lang.Override public Builder clearOneof( com.google.protobuf.Descriptors.OneofDescriptor oneof) { return super.clearOneof(oneof); } @java.lang.Override public Builder setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { return super.setRepeatedField(field, index, value); } @java.lang.Override public Builder addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.addRepeatedField(field, value); } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { if (other instanceof 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_; onChanged(); } if (!other.getName().isEmpty()) { name_ = other.name_; onChanged(); } if (!other.getVersion().isEmpty()) { version_ = other.version_; onChanged(); } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; } @java.lang.Override public final boolean isInitialized() { return true; } @java.lang.Override public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { scip.Scip.Package parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { parsedMessage = (scip.Scip.Package) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { mergeFrom(parsedMessage); } } return this; } private java.lang.Object manager_ = ""; /** * string manager = 1; * @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; * @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; * @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; onChanged(); return this; } /** * string manager = 1; * @return This builder for chaining. */ public Builder clearManager() { manager_ = getDefaultInstance().getManager(); onChanged(); return this; } /** * string manager = 1; * @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; onChanged(); return this; } private java.lang.Object name_ = ""; /** * string name = 2; * @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; * @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; * @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; onChanged(); return this; } /** * string name = 2; * @return This builder for chaining. */ public Builder clearName() { name_ = getDefaultInstance().getName(); onChanged(); return this; } /** * string name = 2; * @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; onChanged(); return this; } private java.lang.Object version_ = ""; /** * string version = 3; * @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; * @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; * @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; onChanged(); return this; } /** * string version = 3; * @return This builder for chaining. */ public Builder clearVersion() { version_ = getDefaultInstance().getVersion(); onChanged(); return this; } /** * string version = 3; * @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; onChanged(); return this; } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); } @java.lang.Override public final Builder mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.mergeUnknownFields(unknownFields); } // @@protoc_insertion_point(builder_scope: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 { return new Package(input, extensionRegistry); } }; public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override public 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; * @return The name. */ java.lang.String getName(); /** * string name = 1; * @return The bytes for name. */ com.google.protobuf.ByteString getNameBytes(); /** * string disambiguator = 2; * @return The disambiguator. */ java.lang.String getDisambiguator(); /** * string disambiguator = 2; * @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; * @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; * @return The suffix. */ scip.Scip.Descriptor.Suffix getSuffix(); } /** * Protobuf type {@code scip.Descriptor} */ public static final class Descriptor extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:scip.Descriptor) DescriptorOrBuilder { private static final long serialVersionUID = 0L; // Use Descriptor.newBuilder() to construct. private Descriptor(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } private Descriptor() { name_ = ""; disambiguator_ = ""; suffix_ = 0; } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { return new Descriptor(); } @java.lang.Override public final com.google.protobuf.UnknownFieldSet getUnknownFields() { return this.unknownFields; } private Descriptor( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { this(); if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); try { boolean done = false; while (!done) { int tag = input.readTag(); switch (tag) { case 0: done = true; break; case 10: { java.lang.String s = input.readStringRequireUtf8(); name_ = s; break; } case 18: { java.lang.String s = input.readStringRequireUtf8(); disambiguator_ = s; break; } case 24: { int rawValue = input.readEnum(); suffix_ = rawValue; break; } default: { if (!parseUnknownField( input, unknownFields, extensionRegistry, tag)) { done = true; } break; } } } } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.setUnfinishedMessage(this); } catch (java.io.IOException e) { throw new com.google.protobuf.InvalidProtocolBufferException( e).setUnfinishedMessage(this); } finally { this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return scip.Scip.internal_static_scip_Descriptor_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.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), ; /** *
       * 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 final 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; private volatile java.lang.Object name_; /** * string name = 1; * @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; * @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; private volatile java.lang.Object disambiguator_; /** * string disambiguator = 2; * @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; * @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_; /** *
     * NOTE: If you add new fields here, make sure to update the prepareSlot()
     * function responsible for parsing symbols.
     * 
* * .scip.Descriptor.Suffix suffix = 3; * @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; * @return The suffix. */ @java.lang.Override public scip.Scip.Descriptor.Suffix getSuffix() { @SuppressWarnings("deprecation") scip.Scip.Descriptor.Suffix result = scip.Scip.Descriptor.Suffix.valueOf(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 (!getNameBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 1, name_); } if (!getDisambiguatorBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 2, disambiguator_); } if (suffix_ != scip.Scip.Descriptor.Suffix.UnspecifiedSuffix.getNumber()) { output.writeEnum(3, suffix_); } unknownFields.writeTo(output); } @java.lang.Override public int getSerializedSize() { int size = memoizedSize; if (size != -1) return size; size = 0; if (!getNameBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, name_); } if (!getDisambiguatorBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, disambiguator_); } if (suffix_ != scip.Scip.Descriptor.Suffix.UnspecifiedSuffix.getNumber()) { size += com.google.protobuf.CodedOutputStream .computeEnumSize(3, suffix_); } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; } @java.lang.Override public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } if (!(obj instanceof 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 (!unknownFields.equals(other.unknownFields)) return false; return true; } @java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); hash = (37 * hash) + 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) + unknownFields.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.GeneratedMessageV3 .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.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } public static scip.Scip.Descriptor parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .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.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } public static scip.Scip.Descriptor parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .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.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } @java.lang.Override public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } public static Builder newBuilder(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.GeneratedMessageV3.BuilderParent parent) { Builder builder = new Builder(parent); return builder; } /** * Protobuf type {@code scip.Descriptor} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.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.GeneratedMessageV3.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() { maybeForceBuilderInitialization(); } private Builder( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); maybeForceBuilderInitialization(); } private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { } } @java.lang.Override public Builder clear() { super.clear(); 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); result.name_ = name_; result.disambiguator_ = disambiguator_; result.suffix_ = suffix_; onBuilt(); return result; } @java.lang.Override public Builder clone() { return super.clone(); } @java.lang.Override public Builder setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.setField(field, value); } @java.lang.Override public Builder clearField( com.google.protobuf.Descriptors.FieldDescriptor field) { return super.clearField(field); } @java.lang.Override public Builder clearOneof( com.google.protobuf.Descriptors.OneofDescriptor oneof) { return super.clearOneof(oneof); } @java.lang.Override public Builder setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { return super.setRepeatedField(field, index, value); } @java.lang.Override public Builder addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.addRepeatedField(field, value); } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { if (other instanceof 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_; onChanged(); } if (!other.getDisambiguator().isEmpty()) { disambiguator_ = other.disambiguator_; onChanged(); } if (other.suffix_ != 0) { setSuffixValue(other.getSuffixValue()); } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; } @java.lang.Override public final boolean isInitialized() { return true; } @java.lang.Override public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { scip.Scip.Descriptor parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { parsedMessage = (scip.Scip.Descriptor) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { mergeFrom(parsedMessage); } } return this; } private java.lang.Object name_ = ""; /** * string name = 1; * @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; * @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; * @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; onChanged(); return this; } /** * string name = 1; * @return This builder for chaining. */ public Builder clearName() { name_ = getDefaultInstance().getName(); onChanged(); return this; } /** * string name = 1; * @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; onChanged(); return this; } private java.lang.Object disambiguator_ = ""; /** * string disambiguator = 2; * @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; * @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; * @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; onChanged(); return this; } /** * string disambiguator = 2; * @return This builder for chaining. */ public Builder clearDisambiguator() { disambiguator_ = getDefaultInstance().getDisambiguator(); onChanged(); return this; } /** * string disambiguator = 2; * @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; 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; * @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; * @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; 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; * @return The suffix. */ @java.lang.Override public scip.Scip.Descriptor.Suffix getSuffix() { @SuppressWarnings("deprecation") scip.Scip.Descriptor.Suffix result = scip.Scip.Descriptor.Suffix.valueOf(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; * @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(); } 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; * @return This builder for chaining. */ public Builder clearSuffix() { suffix_ = 0; onChanged(); return this; } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); } @java.lang.Override public final Builder mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.mergeUnknownFields(unknownFields); } // @@protoc_insertion_point(builder_scope: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 { return new Descriptor(input, extensionRegistry); } }; public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override public scip.Scip.Descriptor 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; * @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; * @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; * @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; * @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; * @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; * @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; */ java.util.List getRelationshipsList(); /** *
     * (optional) Relationships to other symbols (e.g., implements, type definition).
     * 
* * repeated .scip.Relationship relationships = 4; */ scip.Scip.Relationship getRelationships(int index); /** *
     * (optional) Relationships to other symbols (e.g., implements, type definition).
     * 
* * repeated .scip.Relationship relationships = 4; */ int getRelationshipsCount(); /** *
     * (optional) Relationships to other symbols (e.g., implements, type definition).
     * 
* * repeated .scip.Relationship relationships = 4; */ java.util.List getRelationshipsOrBuilderList(); /** *
     * (optional) Relationships to other symbols (e.g., implements, type definition).
     * 
* * repeated .scip.Relationship relationships = 4; */ 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; * @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; * @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; * @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; * @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 this would have `Document.language = "java"` and `Document.text
     * = "void add(int a, int b)". The `language` and `text` fields are required
     * while other fields such as `Documentation.occurrences` can be optionally
     * included to support hyperlinking referenced symbols in the signature.
     * 
* * .scip.Document signature_documentation = 7; * @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 this would have `Document.language = "java"` and `Document.text
     * = "void add(int a, int b)". The `language` and `text` fields are required
     * while other fields such as `Documentation.occurrences` can be optionally
     * included to support hyperlinking referenced symbols in the signature.
     * 
* * .scip.Document signature_documentation = 7; * @return The signatureDocumentation. */ scip.Scip.Document 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 this would have `Document.language = "java"` and `Document.text
     * = "void add(int a, int b)". The `language` and `text` fields are required
     * while other fields such as `Documentation.occurrences` can be optionally
     * included to support hyperlinking referenced symbols in the signature.
     * 
* * .scip.Document signature_documentation = 7; */ scip.Scip.DocumentOrBuilder 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; * @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; * @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.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:scip.SymbolInformation) SymbolInformationOrBuilder { private static final long serialVersionUID = 0L; // Use SymbolInformation.newBuilder() to construct. private SymbolInformation(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } private SymbolInformation() { symbol_ = ""; documentation_ = com.google.protobuf.LazyStringArrayList.EMPTY; relationships_ = java.util.Collections.emptyList(); kind_ = 0; displayName_ = ""; enclosingSymbol_ = ""; } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { return new SymbolInformation(); } @java.lang.Override public final com.google.protobuf.UnknownFieldSet getUnknownFields() { return this.unknownFields; } private SymbolInformation( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { this(); if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } int mutable_bitField0_ = 0; com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); try { boolean done = false; while (!done) { int tag = input.readTag(); switch (tag) { case 0: done = true; break; case 10: { java.lang.String s = input.readStringRequireUtf8(); symbol_ = s; break; } case 26: { java.lang.String s = input.readStringRequireUtf8(); if (!((mutable_bitField0_ & 0x00000001) != 0)) { documentation_ = new com.google.protobuf.LazyStringArrayList(); mutable_bitField0_ |= 0x00000001; } documentation_.add(s); break; } case 34: { if (!((mutable_bitField0_ & 0x00000002) != 0)) { relationships_ = new java.util.ArrayList(); mutable_bitField0_ |= 0x00000002; } relationships_.add( input.readMessage(scip.Scip.Relationship.parser(), extensionRegistry)); break; } case 40: { int rawValue = input.readEnum(); kind_ = rawValue; break; } case 50: { java.lang.String s = input.readStringRequireUtf8(); displayName_ = s; break; } case 58: { scip.Scip.Document.Builder subBuilder = null; if (signatureDocumentation_ != null) { subBuilder = signatureDocumentation_.toBuilder(); } signatureDocumentation_ = input.readMessage(scip.Scip.Document.parser(), extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom(signatureDocumentation_); signatureDocumentation_ = subBuilder.buildPartial(); } break; } case 66: { java.lang.String s = input.readStringRequireUtf8(); enclosingSymbol_ = s; break; } default: { if (!parseUnknownField( input, unknownFields, extensionRegistry, tag)) { done = true; } break; } } } } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.setUnfinishedMessage(this); } catch (java.io.IOException e) { throw new com.google.protobuf.InvalidProtocolBufferException( e).setUnfinishedMessage(this); } finally { if (((mutable_bitField0_ & 0x00000001) != 0)) { documentation_ = documentation_.getUnmodifiableView(); } if (((mutable_bitField0_ & 0x00000002) != 0)) { relationships_ = java.util.Collections.unmodifiableList(relationships_); } this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return scip.Scip.internal_static_scip_SymbolInformation_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.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), ; /** * 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 final 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) } public static final int SYMBOL_FIELD_NUMBER = 1; 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; * @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; * @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; private com.google.protobuf.LazyStringList 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; * @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; * @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; * @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; * @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; private java.util.List relationships_; /** *
     * (optional) Relationships to other symbols (e.g., implements, type definition).
     * 
* * repeated .scip.Relationship relationships = 4; */ @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; */ @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; */ @java.lang.Override public int getRelationshipsCount() { return relationships_.size(); } /** *
     * (optional) Relationships to other symbols (e.g., implements, type definition).
     * 
* * repeated .scip.Relationship relationships = 4; */ @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; */ @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_; /** *
     * 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; * @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; * @return The kind. */ @java.lang.Override public scip.Scip.SymbolInformation.Kind getKind() { @SuppressWarnings("deprecation") scip.Scip.SymbolInformation.Kind result = scip.Scip.SymbolInformation.Kind.valueOf(kind_); return result == null ? scip.Scip.SymbolInformation.Kind.UNRECOGNIZED : result; } public static final int DISPLAY_NAME_FIELD_NUMBER = 6; 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; * @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; * @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.Document 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 this would have `Document.language = "java"` and `Document.text
     * = "void add(int a, int b)". The `language` and `text` fields are required
     * while other fields such as `Documentation.occurrences` can be optionally
     * included to support hyperlinking referenced symbols in the signature.
     * 
* * .scip.Document signature_documentation = 7; * @return Whether the signatureDocumentation field is set. */ @java.lang.Override public boolean hasSignatureDocumentation() { return signatureDocumentation_ != null; } /** *
     * (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 this would have `Document.language = "java"` and `Document.text
     * = "void add(int a, int b)". The `language` and `text` fields are required
     * while other fields such as `Documentation.occurrences` can be optionally
     * included to support hyperlinking referenced symbols in the signature.
     * 
* * .scip.Document signature_documentation = 7; * @return The signatureDocumentation. */ @java.lang.Override public scip.Scip.Document getSignatureDocumentation() { return signatureDocumentation_ == null ? scip.Scip.Document.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 this would have `Document.language = "java"` and `Document.text
     * = "void add(int a, int b)". The `language` and `text` fields are required
     * while other fields such as `Documentation.occurrences` can be optionally
     * included to support hyperlinking referenced symbols in the signature.
     * 
* * .scip.Document signature_documentation = 7; */ @java.lang.Override public scip.Scip.DocumentOrBuilder getSignatureDocumentationOrBuilder() { return getSignatureDocumentation(); } public static final int ENCLOSING_SYMBOL_FIELD_NUMBER = 8; 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; * @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; * @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 (!getSymbolBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 1, symbol_); } for (int i = 0; i < documentation_.size(); i++) { com.google.protobuf.GeneratedMessageV3.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 (!getDisplayNameBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 6, displayName_); } if (signatureDocumentation_ != null) { output.writeMessage(7, getSignatureDocumentation()); } if (!getEnclosingSymbolBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 8, enclosingSymbol_); } unknownFields.writeTo(output); } @java.lang.Override public int getSerializedSize() { int size = memoizedSize; if (size != -1) return size; size = 0; if (!getSymbolBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, symbol_); } { 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 (!getDisplayNameBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(6, displayName_); } if (signatureDocumentation_ != null) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(7, getSignatureDocumentation()); } if (!getEnclosingSymbolBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(8, enclosingSymbol_); } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; } @java.lang.Override public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } if (!(obj instanceof 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 (!unknownFields.equals(other.unknownFields)) return false; return true; } @java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); hash = (37 * hash) + SYMBOL_FIELD_NUMBER; hash = (53 * hash) + getSymbol().hashCode(); if (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) + unknownFields.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.GeneratedMessageV3 .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.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } public static scip.Scip.SymbolInformation parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .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.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } public static scip.Scip.SymbolInformation parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .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.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } @java.lang.Override public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } public static Builder newBuilder(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.GeneratedMessageV3.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.GeneratedMessageV3.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.GeneratedMessageV3.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.GeneratedMessageV3.BuilderParent parent) { super(parent); maybeForceBuilderInitialization(); } private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { getRelationshipsFieldBuilder(); } } @java.lang.Override public Builder clear() { super.clear(); symbol_ = ""; documentation_ = com.google.protobuf.LazyStringArrayList.EMPTY; bitField0_ = (bitField0_ & ~0x00000001); if (relationshipsBuilder_ == null) { relationships_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000002); } else { relationshipsBuilder_.clear(); } kind_ = 0; displayName_ = ""; if (signatureDocumentationBuilder_ == null) { signatureDocumentation_ = null; } else { signatureDocumentation_ = null; 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); int from_bitField0_ = bitField0_; result.symbol_ = symbol_; if (((bitField0_ & 0x00000001) != 0)) { documentation_ = documentation_.getUnmodifiableView(); bitField0_ = (bitField0_ & ~0x00000001); } result.documentation_ = documentation_; if (relationshipsBuilder_ == null) { if (((bitField0_ & 0x00000002) != 0)) { relationships_ = java.util.Collections.unmodifiableList(relationships_); bitField0_ = (bitField0_ & ~0x00000002); } result.relationships_ = relationships_; } else { result.relationships_ = relationshipsBuilder_.build(); } result.kind_ = kind_; result.displayName_ = displayName_; if (signatureDocumentationBuilder_ == null) { result.signatureDocumentation_ = signatureDocumentation_; } else { result.signatureDocumentation_ = signatureDocumentationBuilder_.build(); } result.enclosingSymbol_ = enclosingSymbol_; onBuilt(); return result; } @java.lang.Override public Builder clone() { return super.clone(); } @java.lang.Override public Builder setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.setField(field, value); } @java.lang.Override public Builder clearField( com.google.protobuf.Descriptors.FieldDescriptor field) { return super.clearField(field); } @java.lang.Override public Builder clearOneof( com.google.protobuf.Descriptors.OneofDescriptor oneof) { return super.clearOneof(oneof); } @java.lang.Override public Builder setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { return super.setRepeatedField(field, index, value); } @java.lang.Override public Builder addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.addRepeatedField(field, value); } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { if (other instanceof 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_; onChanged(); } if (!other.documentation_.isEmpty()) { if (documentation_.isEmpty()) { documentation_ = other.documentation_; bitField0_ = (bitField0_ & ~0x00000001); } else { ensureDocumentationIsMutable(); documentation_.addAll(other.documentation_); } onChanged(); } if (relationshipsBuilder_ == null) { if (!other.relationships_.isEmpty()) { if (relationships_.isEmpty()) { relationships_ = other.relationships_; bitField0_ = (bitField0_ & ~0x00000002); } else { ensureRelationshipsIsMutable(); relationships_.addAll(other.relationships_); } onChanged(); } } else { if (!other.relationships_.isEmpty()) { if (relationshipsBuilder_.isEmpty()) { relationshipsBuilder_.dispose(); relationshipsBuilder_ = null; relationships_ = other.relationships_; bitField0_ = (bitField0_ & ~0x00000002); relationshipsBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getRelationshipsFieldBuilder() : null; } else { relationshipsBuilder_.addAllMessages(other.relationships_); } } } if (other.kind_ != 0) { setKindValue(other.getKindValue()); } if (!other.getDisplayName().isEmpty()) { displayName_ = other.displayName_; onChanged(); } if (other.hasSignatureDocumentation()) { mergeSignatureDocumentation(other.getSignatureDocumentation()); } if (!other.getEnclosingSymbol().isEmpty()) { enclosingSymbol_ = other.enclosingSymbol_; onChanged(); } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; } @java.lang.Override public final boolean isInitialized() { return true; } @java.lang.Override public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { scip.Scip.SymbolInformation parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { parsedMessage = (scip.Scip.SymbolInformation) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { mergeFrom(parsedMessage); } } 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; * @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; * @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; * @param value The symbol to set. * @return This builder for chaining. */ public Builder setSymbol( java.lang.String value) { if (value == null) { throw new NullPointerException(); } symbol_ = value; onChanged(); return this; } /** *
       * 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; * @return This builder for chaining. */ public Builder clearSymbol() { symbol_ = getDefaultInstance().getSymbol(); 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; * @param value The bytes for symbol to set. * @return This builder for chaining. */ public Builder setSymbolBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); symbol_ = value; onChanged(); return this; } private com.google.protobuf.LazyStringList documentation_ = com.google.protobuf.LazyStringArrayList.EMPTY; private void ensureDocumentationIsMutable() { if (!((bitField0_ & 0x00000001) != 0)) { documentation_ = new com.google.protobuf.LazyStringArrayList(documentation_); bitField0_ |= 0x00000001; } } /** *
       * (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; * @return A list containing the documentation. */ public com.google.protobuf.ProtocolStringList getDocumentationList() { return documentation_.getUnmodifiableView(); } /** *
       * (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; * @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; * @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; * @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; * @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); 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; * @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); 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; * @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_); 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; * @return This builder for chaining. */ public Builder clearDocumentation() { documentation_ = com.google.protobuf.LazyStringArrayList.EMPTY; bitField0_ = (bitField0_ & ~0x00000001); 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; * @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); onChanged(); return this; } private java.util.List relationships_ = java.util.Collections.emptyList(); private void ensureRelationshipsIsMutable() { if (!((bitField0_ & 0x00000002) != 0)) { relationships_ = new java.util.ArrayList(relationships_); bitField0_ |= 0x00000002; } } private com.google.protobuf.RepeatedFieldBuilderV3< 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; */ 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; */ 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; */ 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; */ 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; */ 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; */ 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; */ 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; */ 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; */ 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; */ 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; */ public Builder clearRelationships() { if (relationshipsBuilder_ == null) { relationships_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000002); onChanged(); } else { relationshipsBuilder_.clear(); } return this; } /** *
       * (optional) Relationships to other symbols (e.g., implements, type definition).
       * 
* * repeated .scip.Relationship relationships = 4; */ 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; */ public scip.Scip.Relationship.Builder getRelationshipsBuilder( int index) { return getRelationshipsFieldBuilder().getBuilder(index); } /** *
       * (optional) Relationships to other symbols (e.g., implements, type definition).
       * 
* * repeated .scip.Relationship relationships = 4; */ 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; */ 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; */ public scip.Scip.Relationship.Builder addRelationshipsBuilder() { return getRelationshipsFieldBuilder().addBuilder( scip.Scip.Relationship.getDefaultInstance()); } /** *
       * (optional) Relationships to other symbols (e.g., implements, type definition).
       * 
* * repeated .scip.Relationship relationships = 4; */ public scip.Scip.Relationship.Builder addRelationshipsBuilder( int index) { return getRelationshipsFieldBuilder().addBuilder( index, scip.Scip.Relationship.getDefaultInstance()); } /** *
       * (optional) Relationships to other symbols (e.g., implements, type definition).
       * 
* * repeated .scip.Relationship relationships = 4; */ public java.util.List getRelationshipsBuilderList() { return getRelationshipsFieldBuilder().getBuilderList(); } private com.google.protobuf.RepeatedFieldBuilderV3< scip.Scip.Relationship, scip.Scip.Relationship.Builder, scip.Scip.RelationshipOrBuilder> getRelationshipsFieldBuilder() { if (relationshipsBuilder_ == null) { relationshipsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< scip.Scip.Relationship, scip.Scip.Relationship.Builder, scip.Scip.RelationshipOrBuilder>( relationships_, ((bitField0_ & 0x00000002) != 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; * @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; * @param value The enum numeric value on the wire for kind to set. * @return This builder for chaining. */ public Builder setKindValue(int value) { kind_ = value; onChanged(); return this; } /** *
       * 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; * @return The kind. */ @java.lang.Override public scip.Scip.SymbolInformation.Kind getKind() { @SuppressWarnings("deprecation") scip.Scip.SymbolInformation.Kind result = scip.Scip.SymbolInformation.Kind.valueOf(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; * @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(); } 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; * @return This builder for chaining. */ public Builder clearKind() { 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; * @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; * @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; * @param value The displayName to set. * @return This builder for chaining. */ public Builder setDisplayName( java.lang.String value) { if (value == null) { throw new NullPointerException(); } displayName_ = value; onChanged(); return this; } /** *
       * (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; * @return This builder for chaining. */ public Builder clearDisplayName() { displayName_ = getDefaultInstance().getDisplayName(); 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; * @param value The bytes for displayName to set. * @return This builder for chaining. */ public Builder setDisplayNameBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); displayName_ = value; onChanged(); return this; } private scip.Scip.Document signatureDocumentation_; private com.google.protobuf.SingleFieldBuilderV3< scip.Scip.Document, scip.Scip.Document.Builder, scip.Scip.DocumentOrBuilder> 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 this would have `Document.language = "java"` and `Document.text
       * = "void add(int a, int b)". The `language` and `text` fields are required
       * while other fields such as `Documentation.occurrences` can be optionally
       * included to support hyperlinking referenced symbols in the signature.
       * 
* * .scip.Document signature_documentation = 7; * @return Whether the signatureDocumentation field is set. */ public boolean hasSignatureDocumentation() { return signatureDocumentationBuilder_ != null || signatureDocumentation_ != null; } /** *
       * (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 this would have `Document.language = "java"` and `Document.text
       * = "void add(int a, int b)". The `language` and `text` fields are required
       * while other fields such as `Documentation.occurrences` can be optionally
       * included to support hyperlinking referenced symbols in the signature.
       * 
* * .scip.Document signature_documentation = 7; * @return The signatureDocumentation. */ public scip.Scip.Document getSignatureDocumentation() { if (signatureDocumentationBuilder_ == null) { return signatureDocumentation_ == null ? scip.Scip.Document.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 this would have `Document.language = "java"` and `Document.text
       * = "void add(int a, int b)". The `language` and `text` fields are required
       * while other fields such as `Documentation.occurrences` can be optionally
       * included to support hyperlinking referenced symbols in the signature.
       * 
* * .scip.Document signature_documentation = 7; */ public Builder setSignatureDocumentation(scip.Scip.Document value) { if (signatureDocumentationBuilder_ == null) { if (value == null) { throw new NullPointerException(); } signatureDocumentation_ = value; onChanged(); } else { signatureDocumentationBuilder_.setMessage(value); } 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 this would have `Document.language = "java"` and `Document.text
       * = "void add(int a, int b)". The `language` and `text` fields are required
       * while other fields such as `Documentation.occurrences` can be optionally
       * included to support hyperlinking referenced symbols in the signature.
       * 
* * .scip.Document signature_documentation = 7; */ public Builder setSignatureDocumentation( scip.Scip.Document.Builder builderForValue) { if (signatureDocumentationBuilder_ == null) { signatureDocumentation_ = builderForValue.build(); onChanged(); } else { signatureDocumentationBuilder_.setMessage(builderForValue.build()); } 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 this would have `Document.language = "java"` and `Document.text
       * = "void add(int a, int b)". The `language` and `text` fields are required
       * while other fields such as `Documentation.occurrences` can be optionally
       * included to support hyperlinking referenced symbols in the signature.
       * 
* * .scip.Document signature_documentation = 7; */ public Builder mergeSignatureDocumentation(scip.Scip.Document value) { if (signatureDocumentationBuilder_ == null) { if (signatureDocumentation_ != null) { signatureDocumentation_ = scip.Scip.Document.newBuilder(signatureDocumentation_).mergeFrom(value).buildPartial(); } else { signatureDocumentation_ = value; } onChanged(); } else { signatureDocumentationBuilder_.mergeFrom(value); } 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 this would have `Document.language = "java"` and `Document.text
       * = "void add(int a, int b)". The `language` and `text` fields are required
       * while other fields such as `Documentation.occurrences` can be optionally
       * included to support hyperlinking referenced symbols in the signature.
       * 
* * .scip.Document signature_documentation = 7; */ public Builder clearSignatureDocumentation() { if (signatureDocumentationBuilder_ == null) { signatureDocumentation_ = null; onChanged(); } else { signatureDocumentation_ = null; signatureDocumentationBuilder_ = null; } 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 this would have `Document.language = "java"` and `Document.text
       * = "void add(int a, int b)". The `language` and `text` fields are required
       * while other fields such as `Documentation.occurrences` can be optionally
       * included to support hyperlinking referenced symbols in the signature.
       * 
* * .scip.Document signature_documentation = 7; */ public scip.Scip.Document.Builder getSignatureDocumentationBuilder() { onChanged(); return getSignatureDocumentationFieldBuilder().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 this would have `Document.language = "java"` and `Document.text
       * = "void add(int a, int b)". The `language` and `text` fields are required
       * while other fields such as `Documentation.occurrences` can be optionally
       * included to support hyperlinking referenced symbols in the signature.
       * 
* * .scip.Document signature_documentation = 7; */ public scip.Scip.DocumentOrBuilder getSignatureDocumentationOrBuilder() { if (signatureDocumentationBuilder_ != null) { return signatureDocumentationBuilder_.getMessageOrBuilder(); } else { return signatureDocumentation_ == null ? scip.Scip.Document.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 this would have `Document.language = "java"` and `Document.text
       * = "void add(int a, int b)". The `language` and `text` fields are required
       * while other fields such as `Documentation.occurrences` can be optionally
       * included to support hyperlinking referenced symbols in the signature.
       * 
* * .scip.Document signature_documentation = 7; */ private com.google.protobuf.SingleFieldBuilderV3< scip.Scip.Document, scip.Scip.Document.Builder, scip.Scip.DocumentOrBuilder> getSignatureDocumentationFieldBuilder() { if (signatureDocumentationBuilder_ == null) { signatureDocumentationBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< scip.Scip.Document, scip.Scip.Document.Builder, scip.Scip.DocumentOrBuilder>( 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; * @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; * @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; * @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; 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; * @return This builder for chaining. */ public Builder clearEnclosingSymbol() { enclosingSymbol_ = getDefaultInstance().getEnclosingSymbol(); 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; * @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; onChanged(); return this; } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); } @java.lang.Override public final Builder mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.mergeUnknownFields(unknownFields); } // @@protoc_insertion_point(builder_scope: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 { return new SymbolInformation(input, extensionRegistry); } }; public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override public 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; * @return The symbol. */ java.lang.String getSymbol(); /** * string symbol = 1; * @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; * @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; * @return The isImplementation. */ boolean getIsImplementation(); /** *
     * Similar to `references_symbols` but for "Go to type definition".
     * 
* * bool is_type_definition = 4; * @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.
     * NOTE: At the moment, due to limitations of the SCIP to LSIF conversion,
     * only global symbols in an index are allowed to use is_definition.
     * The relationship may not get recorded if either symbol is local.
     * 
* * bool is_definition = 5; * @return The isDefinition. */ boolean getIsDefinition(); } /** * Protobuf type {@code scip.Relationship} */ public static final class Relationship extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:scip.Relationship) RelationshipOrBuilder { private static final long serialVersionUID = 0L; // Use Relationship.newBuilder() to construct. private Relationship(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } private Relationship() { symbol_ = ""; } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { return new Relationship(); } @java.lang.Override public final com.google.protobuf.UnknownFieldSet getUnknownFields() { return this.unknownFields; } private Relationship( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { this(); if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); try { boolean done = false; while (!done) { int tag = input.readTag(); switch (tag) { case 0: done = true; break; case 10: { java.lang.String s = input.readStringRequireUtf8(); symbol_ = s; break; } case 16: { isReference_ = input.readBool(); break; } case 24: { isImplementation_ = input.readBool(); break; } case 32: { isTypeDefinition_ = input.readBool(); break; } case 40: { isDefinition_ = input.readBool(); break; } default: { if (!parseUnknownField( input, unknownFields, extensionRegistry, tag)) { done = true; } break; } } } } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.setUnfinishedMessage(this); } catch (java.io.IOException e) { throw new com.google.protobuf.InvalidProtocolBufferException( e).setUnfinishedMessage(this); } finally { this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return scip.Scip.internal_static_scip_Relationship_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.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; private volatile java.lang.Object symbol_; /** * string symbol = 1; * @return The symbol. */ @java.lang.Override public java.lang.String getSymbol() { java.lang.Object ref = symbol_; if (ref instanceof java.lang.String) { return (java.lang.String) ref; } else { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); symbol_ = s; return s; } } /** * string symbol = 1; * @return The bytes for symbol. */ @java.lang.Override public com.google.protobuf.ByteString getSymbolBytes() { java.lang.Object ref = symbol_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); symbol_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } public static final int IS_REFERENCE_FIELD_NUMBER = 2; 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; * @return The isReference. */ @java.lang.Override public boolean getIsReference() { return isReference_; } public static final int IS_IMPLEMENTATION_FIELD_NUMBER = 3; 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; * @return The isImplementation. */ @java.lang.Override public boolean getIsImplementation() { return isImplementation_; } public static final int IS_TYPE_DEFINITION_FIELD_NUMBER = 4; private boolean isTypeDefinition_; /** *
     * Similar to `references_symbols` but for "Go to type definition".
     * 
* * bool is_type_definition = 4; * @return The isTypeDefinition. */ @java.lang.Override public boolean getIsTypeDefinition() { return isTypeDefinition_; } public static final int IS_DEFINITION_FIELD_NUMBER = 5; 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.
     * NOTE: At the moment, due to limitations of the SCIP to LSIF conversion,
     * only global symbols in an index are allowed to use is_definition.
     * The relationship may not get recorded if either symbol is local.
     * 
* * bool is_definition = 5; * @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 (!getSymbolBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.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_); } unknownFields.writeTo(output); } @java.lang.Override public int getSerializedSize() { int size = memoizedSize; if (size != -1) return size; size = 0; if (!getSymbolBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, symbol_); } if (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 += unknownFields.getSerializedSize(); memoizedSize = size; return size; } @java.lang.Override public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } if (!(obj instanceof 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 (!unknownFields.equals(other.unknownFields)) return false; return true; } @java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); hash = (37 * hash) + SYMBOL_FIELD_NUMBER; hash = (53 * hash) + getSymbol().hashCode(); hash = (37 * hash) + 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) + unknownFields.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.GeneratedMessageV3 .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.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } public static scip.Scip.Relationship parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .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.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } public static scip.Scip.Relationship parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .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.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } @java.lang.Override public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } public static Builder newBuilder(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.GeneratedMessageV3.BuilderParent parent) { Builder builder = new Builder(parent); return builder; } /** * Protobuf type {@code scip.Relationship} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.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.GeneratedMessageV3.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() { maybeForceBuilderInitialization(); } private Builder( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); maybeForceBuilderInitialization(); } private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { } } @java.lang.Override public Builder clear() { super.clear(); symbol_ = ""; 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); result.symbol_ = symbol_; result.isReference_ = isReference_; result.isImplementation_ = isImplementation_; result.isTypeDefinition_ = isTypeDefinition_; result.isDefinition_ = isDefinition_; onBuilt(); return result; } @java.lang.Override public Builder clone() { return super.clone(); } @java.lang.Override public Builder setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.setField(field, value); } @java.lang.Override public Builder clearField( com.google.protobuf.Descriptors.FieldDescriptor field) { return super.clearField(field); } @java.lang.Override public Builder clearOneof( com.google.protobuf.Descriptors.OneofDescriptor oneof) { return super.clearOneof(oneof); } @java.lang.Override public Builder setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { return super.setRepeatedField(field, index, value); } @java.lang.Override public Builder addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.addRepeatedField(field, value); } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { if (other instanceof 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_; 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.unknownFields); onChanged(); return this; } @java.lang.Override public final boolean isInitialized() { return true; } @java.lang.Override public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { scip.Scip.Relationship parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { parsedMessage = (scip.Scip.Relationship) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { mergeFrom(parsedMessage); } } return this; } private java.lang.Object symbol_ = ""; /** * string symbol = 1; * @return The symbol. */ public java.lang.String getSymbol() { java.lang.Object ref = symbol_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); symbol_ = s; return s; } else { return (java.lang.String) ref; } } /** * string symbol = 1; * @return The bytes for symbol. */ public com.google.protobuf.ByteString getSymbolBytes() { java.lang.Object ref = symbol_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); symbol_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } /** * string symbol = 1; * @param value The symbol to set. * @return This builder for chaining. */ public Builder setSymbol( java.lang.String value) { if (value == null) { throw new NullPointerException(); } symbol_ = value; onChanged(); return this; } /** * string symbol = 1; * @return This builder for chaining. */ public Builder clearSymbol() { symbol_ = getDefaultInstance().getSymbol(); onChanged(); return this; } /** * string symbol = 1; * @param value The bytes for symbol to set. * @return This builder for chaining. */ public Builder setSymbolBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); symbol_ = value; onChanged(); return this; } 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; * @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; * @param value The isReference to set. * @return This builder for chaining. */ public Builder setIsReference(boolean value) { isReference_ = value; 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; * @return This builder for chaining. */ public Builder clearIsReference() { 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; * @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; * @param value The isImplementation to set. * @return This builder for chaining. */ public Builder setIsImplementation(boolean value) { isImplementation_ = value; 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; * @return This builder for chaining. */ public Builder clearIsImplementation() { isImplementation_ = false; onChanged(); return this; } private boolean isTypeDefinition_ ; /** *
       * Similar to `references_symbols` but for "Go to type definition".
       * 
* * bool is_type_definition = 4; * @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; * @param value The isTypeDefinition to set. * @return This builder for chaining. */ public Builder setIsTypeDefinition(boolean value) { isTypeDefinition_ = value; onChanged(); return this; } /** *
       * Similar to `references_symbols` but for "Go to type definition".
       * 
* * bool is_type_definition = 4; * @return This builder for chaining. */ public Builder clearIsTypeDefinition() { 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.
       * NOTE: At the moment, due to limitations of the SCIP to LSIF conversion,
       * only global symbols in an index are allowed to use is_definition.
       * The relationship may not get recorded if either symbol is local.
       * 
* * bool is_definition = 5; * @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.
       * NOTE: At the moment, due to limitations of the SCIP to LSIF conversion,
       * only global symbols in an index are allowed to use is_definition.
       * The relationship may not get recorded if either symbol is local.
       * 
* * bool is_definition = 5; * @param value The isDefinition to set. * @return This builder for chaining. */ public Builder setIsDefinition(boolean value) { isDefinition_ = value; 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.
       * NOTE: At the moment, due to limitations of the SCIP to LSIF conversion,
       * only global symbols in an index are allowed to use is_definition.
       * The relationship may not get recorded if either symbol is local.
       * 
* * bool is_definition = 5; * @return This builder for chaining. */ public Builder clearIsDefinition() { isDefinition_ = false; onChanged(); return this; } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); } @java.lang.Override public final Builder mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.mergeUnknownFields(unknownFields); } // @@protoc_insertion_point(builder_scope: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 { return new Relationship(input, extensionRegistry); } }; public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override public 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; * @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; * @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; * @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; * @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; * @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; * @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; * @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; * @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; * @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; * @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; * @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; * @return The syntaxKind. */ scip.Scip.SyntaxKind getSyntaxKind(); /** *
     * (optional) Diagnostics that have been reported for this specific range.
     * 
* * repeated .scip.Diagnostic diagnostics = 6; */ java.util.List getDiagnosticsList(); /** *
     * (optional) Diagnostics that have been reported for this specific range.
     * 
* * repeated .scip.Diagnostic diagnostics = 6; */ scip.Scip.Diagnostic getDiagnostics(int index); /** *
     * (optional) Diagnostics that have been reported for this specific range.
     * 
* * repeated .scip.Diagnostic diagnostics = 6; */ int getDiagnosticsCount(); /** *
     * (optional) Diagnostics that have been reported for this specific range.
     * 
* * repeated .scip.Diagnostic diagnostics = 6; */ java.util.List getDiagnosticsOrBuilderList(); /** *
     * (optional) Diagnostics that have been reported for this specific range.
     * 
* * repeated .scip.Diagnostic diagnostics = 6; */ 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; * @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; * @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; * @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.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:scip.Occurrence) OccurrenceOrBuilder { private static final long serialVersionUID = 0L; // Use Occurrence.newBuilder() to construct. private Occurrence(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } private Occurrence() { range_ = emptyIntList(); symbol_ = ""; overrideDocumentation_ = com.google.protobuf.LazyStringArrayList.EMPTY; syntaxKind_ = 0; diagnostics_ = java.util.Collections.emptyList(); enclosingRange_ = emptyIntList(); } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { return new Occurrence(); } @java.lang.Override public final com.google.protobuf.UnknownFieldSet getUnknownFields() { return this.unknownFields; } private Occurrence( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { this(); if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } int mutable_bitField0_ = 0; com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); try { boolean done = false; while (!done) { int tag = input.readTag(); switch (tag) { case 0: done = true; break; case 8: { if (!((mutable_bitField0_ & 0x00000001) != 0)) { range_ = newIntList(); mutable_bitField0_ |= 0x00000001; } range_.addInt(input.readInt32()); break; } case 10: { int length = input.readRawVarint32(); int limit = input.pushLimit(length); if (!((mutable_bitField0_ & 0x00000001) != 0) && input.getBytesUntilLimit() > 0) { range_ = newIntList(); mutable_bitField0_ |= 0x00000001; } while (input.getBytesUntilLimit() > 0) { range_.addInt(input.readInt32()); } input.popLimit(limit); break; } case 18: { java.lang.String s = input.readStringRequireUtf8(); symbol_ = s; break; } case 24: { symbolRoles_ = input.readInt32(); break; } case 34: { java.lang.String s = input.readStringRequireUtf8(); if (!((mutable_bitField0_ & 0x00000002) != 0)) { overrideDocumentation_ = new com.google.protobuf.LazyStringArrayList(); mutable_bitField0_ |= 0x00000002; } overrideDocumentation_.add(s); break; } case 40: { int rawValue = input.readEnum(); syntaxKind_ = rawValue; break; } case 50: { if (!((mutable_bitField0_ & 0x00000004) != 0)) { diagnostics_ = new java.util.ArrayList(); mutable_bitField0_ |= 0x00000004; } diagnostics_.add( input.readMessage(scip.Scip.Diagnostic.parser(), extensionRegistry)); break; } case 56: { if (!((mutable_bitField0_ & 0x00000008) != 0)) { enclosingRange_ = newIntList(); mutable_bitField0_ |= 0x00000008; } enclosingRange_.addInt(input.readInt32()); break; } case 58: { int length = input.readRawVarint32(); int limit = input.pushLimit(length); if (!((mutable_bitField0_ & 0x00000008) != 0) && input.getBytesUntilLimit() > 0) { enclosingRange_ = newIntList(); mutable_bitField0_ |= 0x00000008; } while (input.getBytesUntilLimit() > 0) { enclosingRange_.addInt(input.readInt32()); } input.popLimit(limit); break; } default: { if (!parseUnknownField( input, unknownFields, extensionRegistry, tag)) { done = true; } break; } } } } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.setUnfinishedMessage(this); } catch (java.io.IOException e) { throw new com.google.protobuf.InvalidProtocolBufferException( e).setUnfinishedMessage(this); } finally { if (((mutable_bitField0_ & 0x00000001) != 0)) { range_.makeImmutable(); // C } if (((mutable_bitField0_ & 0x00000002) != 0)) { overrideDocumentation_ = overrideDocumentation_.getUnmodifiableView(); } if (((mutable_bitField0_ & 0x00000004) != 0)) { diagnostics_ = java.util.Collections.unmodifiableList(diagnostics_); } if (((mutable_bitField0_ & 0x00000008) != 0)) { enclosingRange_.makeImmutable(); // C } this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return scip.Scip.internal_static_scip_Occurrence_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.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; private com.google.protobuf.Internal.IntList 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; * @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; * @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; * @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; 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; * @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; * @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_; /** *
     * (optional) Bitset containing `SymbolRole`s in this occurrence.
     * See `SymbolRole`'s documentation for how to read and write this field.
     * 
* * int32 symbol_roles = 3; * @return The symbolRoles. */ @java.lang.Override public int getSymbolRoles() { return symbolRoles_; } public static final int OVERRIDE_DOCUMENTATION_FIELD_NUMBER = 4; private com.google.protobuf.LazyStringList 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; * @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; * @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; * @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; * @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_; /** *
     * (optional) What syntax highlighting class should be used for this range?
     * 
* * .scip.SyntaxKind syntax_kind = 5; * @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; * @return The syntaxKind. */ @java.lang.Override public scip.Scip.SyntaxKind getSyntaxKind() { @SuppressWarnings("deprecation") scip.Scip.SyntaxKind result = scip.Scip.SyntaxKind.valueOf(syntaxKind_); return result == null ? scip.Scip.SyntaxKind.UNRECOGNIZED : result; } public static final int DIAGNOSTICS_FIELD_NUMBER = 6; private java.util.List diagnostics_; /** *
     * (optional) Diagnostics that have been reported for this specific range.
     * 
* * repeated .scip.Diagnostic diagnostics = 6; */ @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; */ @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; */ @java.lang.Override public int getDiagnosticsCount() { return diagnostics_.size(); } /** *
     * (optional) Diagnostics that have been reported for this specific range.
     * 
* * repeated .scip.Diagnostic diagnostics = 6; */ @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; */ @java.lang.Override public scip.Scip.DiagnosticOrBuilder getDiagnosticsOrBuilder( int index) { return diagnostics_.get(index); } public static final int ENCLOSING_RANGE_FIELD_NUMBER = 7; private com.google.protobuf.Internal.IntList 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; * @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; * @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; * @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 (!getSymbolBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 2, symbol_); } if (symbolRoles_ != 0) { output.writeInt32(3, symbolRoles_); } for (int i = 0; i < overrideDocumentation_.size(); i++) { com.google.protobuf.GeneratedMessageV3.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)); } unknownFields.writeTo(output); } @java.lang.Override public int getSerializedSize() { int size = memoizedSize; if (size != -1) return size; size = 0; { int dataSize = 0; for (int i = 0; i < 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 (!getSymbolBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.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 += unknownFields.getSerializedSize(); memoizedSize = size; return size; } @java.lang.Override public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } if (!(obj instanceof 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 (!unknownFields.equals(other.unknownFields)) return false; return true; } @java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); if (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) + unknownFields.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.GeneratedMessageV3 .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.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } public static scip.Scip.Occurrence parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .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.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } public static scip.Scip.Occurrence parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .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.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } @java.lang.Override public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } public static Builder newBuilder(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.GeneratedMessageV3.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.GeneratedMessageV3.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.GeneratedMessageV3.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() { maybeForceBuilderInitialization(); } private Builder( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); maybeForceBuilderInitialization(); } private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { getDiagnosticsFieldBuilder(); } } @java.lang.Override public Builder clear() { super.clear(); range_ = emptyIntList(); bitField0_ = (bitField0_ & ~0x00000001); symbol_ = ""; symbolRoles_ = 0; overrideDocumentation_ = com.google.protobuf.LazyStringArrayList.EMPTY; bitField0_ = (bitField0_ & ~0x00000002); syntaxKind_ = 0; if (diagnosticsBuilder_ == null) { diagnostics_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000004); } else { diagnosticsBuilder_.clear(); } enclosingRange_ = emptyIntList(); bitField0_ = (bitField0_ & ~0x00000008); 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); int from_bitField0_ = bitField0_; if (((bitField0_ & 0x00000001) != 0)) { range_.makeImmutable(); bitField0_ = (bitField0_ & ~0x00000001); } result.range_ = range_; result.symbol_ = symbol_; result.symbolRoles_ = symbolRoles_; if (((bitField0_ & 0x00000002) != 0)) { overrideDocumentation_ = overrideDocumentation_.getUnmodifiableView(); bitField0_ = (bitField0_ & ~0x00000002); } result.overrideDocumentation_ = overrideDocumentation_; result.syntaxKind_ = syntaxKind_; if (diagnosticsBuilder_ == null) { if (((bitField0_ & 0x00000004) != 0)) { diagnostics_ = java.util.Collections.unmodifiableList(diagnostics_); bitField0_ = (bitField0_ & ~0x00000004); } result.diagnostics_ = diagnostics_; } else { result.diagnostics_ = diagnosticsBuilder_.build(); } if (((bitField0_ & 0x00000008) != 0)) { enclosingRange_.makeImmutable(); bitField0_ = (bitField0_ & ~0x00000008); } result.enclosingRange_ = enclosingRange_; onBuilt(); return result; } @java.lang.Override public Builder clone() { return super.clone(); } @java.lang.Override public Builder setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.setField(field, value); } @java.lang.Override public Builder clearField( com.google.protobuf.Descriptors.FieldDescriptor field) { return super.clearField(field); } @java.lang.Override public Builder clearOneof( com.google.protobuf.Descriptors.OneofDescriptor oneof) { return super.clearOneof(oneof); } @java.lang.Override public Builder setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { return super.setRepeatedField(field, index, value); } @java.lang.Override public Builder addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.addRepeatedField(field, value); } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { if (other instanceof 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_; bitField0_ = (bitField0_ & ~0x00000001); } else { ensureRangeIsMutable(); range_.addAll(other.range_); } onChanged(); } if (!other.getSymbol().isEmpty()) { symbol_ = other.symbol_; onChanged(); } if (other.getSymbolRoles() != 0) { setSymbolRoles(other.getSymbolRoles()); } if (!other.overrideDocumentation_.isEmpty()) { if (overrideDocumentation_.isEmpty()) { overrideDocumentation_ = other.overrideDocumentation_; bitField0_ = (bitField0_ & ~0x00000002); } 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_ & ~0x00000004); } else { ensureDiagnosticsIsMutable(); diagnostics_.addAll(other.diagnostics_); } onChanged(); } } else { if (!other.diagnostics_.isEmpty()) { if (diagnosticsBuilder_.isEmpty()) { diagnosticsBuilder_.dispose(); diagnosticsBuilder_ = null; diagnostics_ = other.diagnostics_; bitField0_ = (bitField0_ & ~0x00000004); diagnosticsBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getDiagnosticsFieldBuilder() : null; } else { diagnosticsBuilder_.addAllMessages(other.diagnostics_); } } } if (!other.enclosingRange_.isEmpty()) { if (enclosingRange_.isEmpty()) { enclosingRange_ = other.enclosingRange_; bitField0_ = (bitField0_ & ~0x00000008); } else { ensureEnclosingRangeIsMutable(); enclosingRange_.addAll(other.enclosingRange_); } onChanged(); } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; } @java.lang.Override public final boolean isInitialized() { return true; } @java.lang.Override public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { scip.Scip.Occurrence parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { parsedMessage = (scip.Scip.Occurrence) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { mergeFrom(parsedMessage); } } return this; } private int bitField0_; private com.google.protobuf.Internal.IntList range_ = emptyIntList(); private void ensureRangeIsMutable() { if (!((bitField0_ & 0x00000001) != 0)) { range_ = mutableCopy(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; * @return A list containing the range. */ public java.util.List getRangeList() { return ((bitField0_ & 0x00000001) != 0) ? java.util.Collections.unmodifiableList(range_) : 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; * @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; * @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; * @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); 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; * @param value The range to add. * @return This builder for chaining. */ public Builder addRange(int value) { ensureRangeIsMutable(); range_.addInt(value); 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; * @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_); 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; * @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; * @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; * @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; * @param value The symbol to set. * @return This builder for chaining. */ public Builder setSymbol( java.lang.String value) { if (value == null) { throw new NullPointerException(); } symbol_ = value; onChanged(); return this; } /** *
       * (optional) The symbol that appears at this position. See
       * `SymbolInformation.symbol` for how to format symbols as strings.
       * 
* * string symbol = 2; * @return This builder for chaining. */ public Builder clearSymbol() { symbol_ = getDefaultInstance().getSymbol(); onChanged(); return this; } /** *
       * (optional) The symbol that appears at this position. See
       * `SymbolInformation.symbol` for how to format symbols as strings.
       * 
* * string symbol = 2; * @param value The bytes for symbol to set. * @return This builder for chaining. */ public Builder setSymbolBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); symbol_ = value; onChanged(); return this; } private int 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; * @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; * @param value The symbolRoles to set. * @return This builder for chaining. */ public Builder setSymbolRoles(int value) { symbolRoles_ = value; 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; * @return This builder for chaining. */ public Builder clearSymbolRoles() { symbolRoles_ = 0; onChanged(); return this; } private com.google.protobuf.LazyStringList overrideDocumentation_ = com.google.protobuf.LazyStringArrayList.EMPTY; private void ensureOverrideDocumentationIsMutable() { if (!((bitField0_ & 0x00000002) != 0)) { overrideDocumentation_ = new com.google.protobuf.LazyStringArrayList(overrideDocumentation_); bitField0_ |= 0x00000002; } } /** *
       * (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; * @return A list containing the overrideDocumentation. */ public com.google.protobuf.ProtocolStringList getOverrideDocumentationList() { return overrideDocumentation_.getUnmodifiableView(); } /** *
       * (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; * @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; * @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; * @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; * @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); 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; * @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); 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; * @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_); 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; * @return This builder for chaining. */ public Builder clearOverrideDocumentation() { overrideDocumentation_ = com.google.protobuf.LazyStringArrayList.EMPTY; bitField0_ = (bitField0_ & ~0x00000002); 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; * @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); onChanged(); return this; } private int syntaxKind_ = 0; /** *
       * (optional) What syntax highlighting class should be used for this range?
       * 
* * .scip.SyntaxKind syntax_kind = 5; * @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; * @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; onChanged(); return this; } /** *
       * (optional) What syntax highlighting class should be used for this range?
       * 
* * .scip.SyntaxKind syntax_kind = 5; * @return The syntaxKind. */ @java.lang.Override public scip.Scip.SyntaxKind getSyntaxKind() { @SuppressWarnings("deprecation") scip.Scip.SyntaxKind result = scip.Scip.SyntaxKind.valueOf(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; * @param value The syntaxKind to set. * @return This builder for chaining. */ public Builder setSyntaxKind(scip.Scip.SyntaxKind value) { if (value == null) { throw new NullPointerException(); } syntaxKind_ = value.getNumber(); onChanged(); return this; } /** *
       * (optional) What syntax highlighting class should be used for this range?
       * 
* * .scip.SyntaxKind syntax_kind = 5; * @return This builder for chaining. */ public Builder clearSyntaxKind() { syntaxKind_ = 0; onChanged(); return this; } private java.util.List diagnostics_ = java.util.Collections.emptyList(); private void ensureDiagnosticsIsMutable() { if (!((bitField0_ & 0x00000004) != 0)) { diagnostics_ = new java.util.ArrayList(diagnostics_); bitField0_ |= 0x00000004; } } private com.google.protobuf.RepeatedFieldBuilderV3< 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; */ 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; */ 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; */ 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; */ 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; */ 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; */ 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; */ 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; */ 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; */ 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; */ 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; */ public Builder clearDiagnostics() { if (diagnosticsBuilder_ == null) { diagnostics_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000004); onChanged(); } else { diagnosticsBuilder_.clear(); } return this; } /** *
       * (optional) Diagnostics that have been reported for this specific range.
       * 
* * repeated .scip.Diagnostic diagnostics = 6; */ 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; */ public scip.Scip.Diagnostic.Builder getDiagnosticsBuilder( int index) { return getDiagnosticsFieldBuilder().getBuilder(index); } /** *
       * (optional) Diagnostics that have been reported for this specific range.
       * 
* * repeated .scip.Diagnostic diagnostics = 6; */ 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; */ 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; */ public scip.Scip.Diagnostic.Builder addDiagnosticsBuilder() { return getDiagnosticsFieldBuilder().addBuilder( scip.Scip.Diagnostic.getDefaultInstance()); } /** *
       * (optional) Diagnostics that have been reported for this specific range.
       * 
* * repeated .scip.Diagnostic diagnostics = 6; */ public scip.Scip.Diagnostic.Builder addDiagnosticsBuilder( int index) { return getDiagnosticsFieldBuilder().addBuilder( index, scip.Scip.Diagnostic.getDefaultInstance()); } /** *
       * (optional) Diagnostics that have been reported for this specific range.
       * 
* * repeated .scip.Diagnostic diagnostics = 6; */ public java.util.List getDiagnosticsBuilderList() { return getDiagnosticsFieldBuilder().getBuilderList(); } private com.google.protobuf.RepeatedFieldBuilderV3< scip.Scip.Diagnostic, scip.Scip.Diagnostic.Builder, scip.Scip.DiagnosticOrBuilder> getDiagnosticsFieldBuilder() { if (diagnosticsBuilder_ == null) { diagnosticsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< scip.Scip.Diagnostic, scip.Scip.Diagnostic.Builder, scip.Scip.DiagnosticOrBuilder>( diagnostics_, ((bitField0_ & 0x00000004) != 0), getParentForChildren(), isClean()); diagnostics_ = null; } return diagnosticsBuilder_; } private com.google.protobuf.Internal.IntList enclosingRange_ = emptyIntList(); private void ensureEnclosingRangeIsMutable() { if (!((bitField0_ & 0x00000008) != 0)) { enclosingRange_ = mutableCopy(enclosingRange_); bitField0_ |= 0x00000008; } } /** *
       * (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; * @return A list containing the enclosingRange. */ public java.util.List getEnclosingRangeList() { return ((bitField0_ & 0x00000008) != 0) ? java.util.Collections.unmodifiableList(enclosingRange_) : 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; * @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; * @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; * @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); 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; * @param value The enclosingRange to add. * @return This builder for chaining. */ public Builder addEnclosingRange(int value) { ensureEnclosingRangeIsMutable(); enclosingRange_.addInt(value); 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; * @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_); 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; * @return This builder for chaining. */ public Builder clearEnclosingRange() { enclosingRange_ = emptyIntList(); bitField0_ = (bitField0_ & ~0x00000008); onChanged(); return this; } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); } @java.lang.Override public final Builder mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.mergeUnknownFields(unknownFields); } // @@protoc_insertion_point(builder_scope: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 { return new Occurrence(input, extensionRegistry); } }; public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override public 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; * @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; * @return The severity. */ scip.Scip.Severity getSeverity(); /** *
     * (optional) Code of this diagnostic, which might appear in the user interface.
     * 
* * string code = 2; * @return The code. */ java.lang.String getCode(); /** *
     * (optional) Code of this diagnostic, which might appear in the user interface.
     * 
* * string code = 2; * @return The bytes for code. */ com.google.protobuf.ByteString getCodeBytes(); /** *
     * Message of this diagnostic.
     * 
* * string message = 3; * @return The message. */ java.lang.String getMessage(); /** *
     * Message of this diagnostic.
     * 
* * string message = 3; * @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; * @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; * @return The bytes for source. */ com.google.protobuf.ByteString getSourceBytes(); /** * repeated .scip.DiagnosticTag tags = 5; * @return A list containing the tags. */ java.util.List getTagsList(); /** * repeated .scip.DiagnosticTag tags = 5; * @return The count of tags. */ int getTagsCount(); /** * repeated .scip.DiagnosticTag tags = 5; * @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; * @return A list containing the enum numeric values on the wire for tags. */ java.util.List getTagsValueList(); /** * repeated .scip.DiagnosticTag tags = 5; * @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.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:scip.Diagnostic) DiagnosticOrBuilder { private static final long serialVersionUID = 0L; // Use Diagnostic.newBuilder() to construct. private Diagnostic(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } private Diagnostic() { severity_ = 0; code_ = ""; message_ = ""; source_ = ""; tags_ = java.util.Collections.emptyList(); } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { return new Diagnostic(); } @java.lang.Override public final com.google.protobuf.UnknownFieldSet getUnknownFields() { return this.unknownFields; } private Diagnostic( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { this(); if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } int mutable_bitField0_ = 0; com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); try { boolean done = false; while (!done) { int tag = input.readTag(); switch (tag) { case 0: done = true; break; case 8: { int rawValue = input.readEnum(); severity_ = rawValue; break; } case 18: { java.lang.String s = input.readStringRequireUtf8(); code_ = s; break; } case 26: { java.lang.String s = input.readStringRequireUtf8(); message_ = s; break; } case 34: { java.lang.String s = input.readStringRequireUtf8(); source_ = s; break; } case 40: { int rawValue = input.readEnum(); if (!((mutable_bitField0_ & 0x00000001) != 0)) { tags_ = new java.util.ArrayList(); mutable_bitField0_ |= 0x00000001; } tags_.add(rawValue); break; } case 42: { int length = input.readRawVarint32(); int oldLimit = input.pushLimit(length); while(input.getBytesUntilLimit() > 0) { int rawValue = input.readEnum(); if (!((mutable_bitField0_ & 0x00000001) != 0)) { tags_ = new java.util.ArrayList(); mutable_bitField0_ |= 0x00000001; } tags_.add(rawValue); } input.popLimit(oldLimit); break; } default: { if (!parseUnknownField( input, unknownFields, extensionRegistry, tag)) { done = true; } break; } } } } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.setUnfinishedMessage(this); } catch (java.io.IOException e) { throw new com.google.protobuf.InvalidProtocolBufferException( e).setUnfinishedMessage(this); } finally { if (((mutable_bitField0_ & 0x00000001) != 0)) { tags_ = java.util.Collections.unmodifiableList(tags_); } this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return scip.Scip.internal_static_scip_Diagnostic_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.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_; /** *
     * Should this diagnostic be reported as an error, warning, info, or hint?
     * 
* * .scip.Severity severity = 1; * @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; * @return The severity. */ @java.lang.Override public scip.Scip.Severity getSeverity() { @SuppressWarnings("deprecation") scip.Scip.Severity result = scip.Scip.Severity.valueOf(severity_); return result == null ? scip.Scip.Severity.UNRECOGNIZED : result; } public static final int CODE_FIELD_NUMBER = 2; private volatile java.lang.Object code_; /** *
     * (optional) Code of this diagnostic, which might appear in the user interface.
     * 
* * string code = 2; * @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; * @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; private volatile java.lang.Object message_; /** *
     * Message of this diagnostic.
     * 
* * string message = 3; * @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; * @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; 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; * @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; * @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; private java.util.List tags_; private static final com.google.protobuf.Internal.ListAdapter.Converter< java.lang.Integer, scip.Scip.DiagnosticTag> tags_converter_ = new com.google.protobuf.Internal.ListAdapter.Converter< java.lang.Integer, scip.Scip.DiagnosticTag>() { public scip.Scip.DiagnosticTag convert(java.lang.Integer from) { @SuppressWarnings("deprecation") scip.Scip.DiagnosticTag result = scip.Scip.DiagnosticTag.valueOf(from); return result == null ? scip.Scip.DiagnosticTag.UNRECOGNIZED : result; } }; /** * repeated .scip.DiagnosticTag tags = 5; * @return A list containing the tags. */ @java.lang.Override public java.util.List getTagsList() { return new com.google.protobuf.Internal.ListAdapter< java.lang.Integer, scip.Scip.DiagnosticTag>(tags_, tags_converter_); } /** * repeated .scip.DiagnosticTag tags = 5; * @return The count of tags. */ @java.lang.Override public int getTagsCount() { return tags_.size(); } /** * repeated .scip.DiagnosticTag tags = 5; * @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_.get(index)); } /** * repeated .scip.DiagnosticTag tags = 5; * @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; * @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_.get(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 (!getCodeBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 2, code_); } if (!getMessageBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 3, message_); } if (!getSourceBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.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_.get(i)); } unknownFields.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 (!getCodeBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, code_); } if (!getMessageBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, message_); } if (!getSourceBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, source_); } { int dataSize = 0; for (int i = 0; i < tags_.size(); i++) { dataSize += com.google.protobuf.CodedOutputStream .computeEnumSizeNoTag(tags_.get(i)); } size += dataSize; if (!getTagsList().isEmpty()) { size += 1; size += com.google.protobuf.CodedOutputStream .computeUInt32SizeNoTag(dataSize); }tagsMemoizedSerializedSize = dataSize; } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; } @java.lang.Override public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } if (!(obj instanceof 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 (!unknownFields.equals(other.unknownFields)) return false; return true; } @java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); hash = (37 * hash) + 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) + unknownFields.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.GeneratedMessageV3 .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.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } public static scip.Scip.Diagnostic parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .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.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } public static scip.Scip.Diagnostic parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .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.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } @java.lang.Override public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } public static Builder newBuilder(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.GeneratedMessageV3.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.GeneratedMessageV3.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.GeneratedMessageV3.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() { maybeForceBuilderInitialization(); } private Builder( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); maybeForceBuilderInitialization(); } private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { } } @java.lang.Override public Builder clear() { super.clear(); severity_ = 0; code_ = ""; message_ = ""; source_ = ""; tags_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000001); 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); int from_bitField0_ = bitField0_; result.severity_ = severity_; result.code_ = code_; result.message_ = message_; result.source_ = source_; if (((bitField0_ & 0x00000001) != 0)) { tags_ = java.util.Collections.unmodifiableList(tags_); bitField0_ = (bitField0_ & ~0x00000001); } result.tags_ = tags_; onBuilt(); return result; } @java.lang.Override public Builder clone() { return super.clone(); } @java.lang.Override public Builder setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.setField(field, value); } @java.lang.Override public Builder clearField( com.google.protobuf.Descriptors.FieldDescriptor field) { return super.clearField(field); } @java.lang.Override public Builder clearOneof( com.google.protobuf.Descriptors.OneofDescriptor oneof) { return super.clearOneof(oneof); } @java.lang.Override public Builder setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { return super.setRepeatedField(field, index, value); } @java.lang.Override public Builder addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.addRepeatedField(field, value); } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { if (other instanceof 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_; onChanged(); } if (!other.getMessage().isEmpty()) { message_ = other.message_; onChanged(); } if (!other.getSource().isEmpty()) { source_ = other.source_; onChanged(); } if (!other.tags_.isEmpty()) { if (tags_.isEmpty()) { tags_ = other.tags_; bitField0_ = (bitField0_ & ~0x00000001); } else { ensureTagsIsMutable(); tags_.addAll(other.tags_); } onChanged(); } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; } @java.lang.Override public final boolean isInitialized() { return true; } @java.lang.Override public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { scip.Scip.Diagnostic parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { parsedMessage = (scip.Scip.Diagnostic) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { mergeFrom(parsedMessage); } } 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; * @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; * @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; onChanged(); return this; } /** *
       * Should this diagnostic be reported as an error, warning, info, or hint?
       * 
* * .scip.Severity severity = 1; * @return The severity. */ @java.lang.Override public scip.Scip.Severity getSeverity() { @SuppressWarnings("deprecation") scip.Scip.Severity result = scip.Scip.Severity.valueOf(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; * @param value The severity to set. * @return This builder for chaining. */ public Builder setSeverity(scip.Scip.Severity value) { if (value == null) { throw new NullPointerException(); } severity_ = value.getNumber(); onChanged(); return this; } /** *
       * Should this diagnostic be reported as an error, warning, info, or hint?
       * 
* * .scip.Severity severity = 1; * @return This builder for chaining. */ public Builder clearSeverity() { 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; * @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; * @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; * @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; onChanged(); return this; } /** *
       * (optional) Code of this diagnostic, which might appear in the user interface.
       * 
* * string code = 2; * @return This builder for chaining. */ public Builder clearCode() { code_ = getDefaultInstance().getCode(); onChanged(); return this; } /** *
       * (optional) Code of this diagnostic, which might appear in the user interface.
       * 
* * string code = 2; * @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; onChanged(); return this; } private java.lang.Object message_ = ""; /** *
       * Message of this diagnostic.
       * 
* * string message = 3; * @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; * @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; * @param value The message to set. * @return This builder for chaining. */ public Builder setMessage( java.lang.String value) { if (value == null) { throw new NullPointerException(); } message_ = value; onChanged(); return this; } /** *
       * Message of this diagnostic.
       * 
* * string message = 3; * @return This builder for chaining. */ public Builder clearMessage() { message_ = getDefaultInstance().getMessage(); onChanged(); return this; } /** *
       * Message of this diagnostic.
       * 
* * string message = 3; * @param value The bytes for message to set. * @return This builder for chaining. */ public Builder setMessageBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); message_ = value; onChanged(); return this; } private java.lang.Object source_ = ""; /** *
       * (optional) Human-readable string describing the source of this diagnostic, e.g.
       * 'typescript' or 'super lint'.
       * 
* * string source = 4; * @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; * @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; * @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; onChanged(); return this; } /** *
       * (optional) Human-readable string describing the source of this diagnostic, e.g.
       * 'typescript' or 'super lint'.
       * 
* * string source = 4; * @return This builder for chaining. */ public Builder clearSource() { source_ = getDefaultInstance().getSource(); onChanged(); return this; } /** *
       * (optional) Human-readable string describing the source of this diagnostic, e.g.
       * 'typescript' or 'super lint'.
       * 
* * string source = 4; * @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; onChanged(); return this; } private java.util.List tags_ = java.util.Collections.emptyList(); private void ensureTagsIsMutable() { if (!((bitField0_ & 0x00000001) != 0)) { tags_ = new java.util.ArrayList(tags_); bitField0_ |= 0x00000001; } } /** * repeated .scip.DiagnosticTag tags = 5; * @return A list containing the tags. */ public java.util.List getTagsList() { return new com.google.protobuf.Internal.ListAdapter< java.lang.Integer, scip.Scip.DiagnosticTag>(tags_, tags_converter_); } /** * repeated .scip.DiagnosticTag tags = 5; * @return The count of tags. */ public int getTagsCount() { return tags_.size(); } /** * repeated .scip.DiagnosticTag tags = 5; * @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_.get(index)); } /** * repeated .scip.DiagnosticTag tags = 5; * @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_.set(index, value.getNumber()); onChanged(); return this; } /** * repeated .scip.DiagnosticTag tags = 5; * @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_.add(value.getNumber()); onChanged(); return this; } /** * repeated .scip.DiagnosticTag tags = 5; * @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_.add(value.getNumber()); } onChanged(); return this; } /** * repeated .scip.DiagnosticTag tags = 5; * @return This builder for chaining. */ public Builder clearTags() { tags_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000001); onChanged(); return this; } /** * repeated .scip.DiagnosticTag tags = 5; * @return A list containing the enum numeric values on the wire for tags. */ public java.util.List getTagsValueList() { return java.util.Collections.unmodifiableList(tags_); } /** * repeated .scip.DiagnosticTag tags = 5; * @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_.get(index); } /** * repeated .scip.DiagnosticTag tags = 5; * @param index The index of the value to return. * @return The enum numeric value on the wire of tags at the given index. * @return This builder for chaining. */ public Builder setTagsValue( int index, int value) { ensureTagsIsMutable(); tags_.set(index, value); onChanged(); return this; } /** * repeated .scip.DiagnosticTag tags = 5; * @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_.add(value); onChanged(); return this; } /** * repeated .scip.DiagnosticTag tags = 5; * @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_.add(value); } onChanged(); return this; } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); } @java.lang.Override public final Builder mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.mergeUnknownFields(unknownFields); } // @@protoc_insertion_point(builder_scope: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 { return new Diagnostic(input, extensionRegistry); } }; public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override public 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.GeneratedMessageV3.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.GeneratedMessageV3.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.GeneratedMessageV3.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.GeneratedMessageV3.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.GeneratedMessageV3.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.GeneratedMessageV3.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.GeneratedMessageV3.FieldAccessorTable internal_static_scip_Descriptor_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_scip_SymbolInformation_descriptor; private static final com.google.protobuf.GeneratedMessageV3.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.GeneratedMessageV3.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.GeneratedMessageV3.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.GeneratedMessageV3.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\020proto/scip.proto\022\004scip\"\177\n\005Index\022 \n\010met" + "adata\030\001 \001(\0132\016.scip.Metadata\022!\n\tdocuments" + "\030\002 \003(\0132\016.scip.Document\0221\n\020external_symbo" + "ls\030\003 \003(\0132\027.scip.SymbolInformation\"\237\001\n\010Me" + "tadata\022&\n\007version\030\001 \001(\0162\025.scip.ProtocolV" + "ersion\022!\n\ttool_info\030\002 \001(\0132\016.scip.ToolInf" + "o\022\024\n\014project_root\030\003 \001(\t\0222\n\026text_document" + "_encoding\030\004 \001(\0162\022.scip.TextEncoding\"<\n\010T" + "oolInfo\022\014\n\004name\030\001 \001(\t\022\017\n\007version\030\002 \001(\t\022\021" + "\n\targuments\030\003 \003(\t\"\305\001\n\010Document\022\020\n\010langua" + "ge\030\004 \001(\t\022\025\n\rrelative_path\030\001 \001(\t\022%\n\013occur" + "rences\030\002 \003(\0132\020.scip.Occurrence\022(\n\007symbol" + "s\030\003 \003(\0132\027.scip.SymbolInformation\022\014\n\004text" + "\030\005 \001(\t\0221\n\021position_encoding\030\006 \001(\0162\026.scip" + ".PositionEncoding\"_\n\006Symbol\022\016\n\006scheme\030\001 " + "\001(\t\022\036\n\007package\030\002 \001(\0132\r.scip.Package\022%\n\013d" + "escriptors\030\003 \003(\0132\020.scip.Descriptor\"9\n\007Pa" + "ckage\022\017\n\007manager\030\001 \001(\t\022\014\n\004name\030\002 \001(\t\022\017\n\007" + "version\030\003 \001(\t\"\202\002\n\nDescriptor\022\014\n\004name\030\001 \001" + "(\t\022\025\n\rdisambiguator\030\002 \001(\t\022\'\n\006suffix\030\003 \001(" + "\0162\027.scip.Descriptor.Suffix\"\245\001\n\006Suffix\022\025\n" + "\021UnspecifiedSuffix\020\000\022\r\n\tNamespace\020\001\022\017\n\007P" + "ackage\020\001\032\002\010\001\022\010\n\004Type\020\002\022\010\n\004Term\020\003\022\n\n\006Meth" + "od\020\004\022\021\n\rTypeParameter\020\005\022\r\n\tParameter\020\006\022\010" + "\n\004Meta\020\007\022\t\n\005Local\020\010\022\t\n\005Macro\020\t\032\002\020\001\"\360\013\n\021S" + "ymbolInformation\022\016\n\006symbol\030\001 \001(\t\022\025\n\rdocu" + "mentation\030\003 \003(\t\022)\n\rrelationships\030\004 \003(\0132\022" + ".scip.Relationship\022*\n\004kind\030\005 \001(\0162\034.scip." + "SymbolInformation.Kind\022\024\n\014display_name\030\006" + " \001(\t\022/\n\027signature_documentation\030\007 \001(\0132\016." + "scip.Document\022\030\n\020enclosing_symbol\030\010 \001(\t\"" + "\373\t\n\004Kind\022\023\n\017UnspecifiedKind\020\000\022\022\n\016Abstrac" + "tMethod\020B\022\014\n\010Accessor\020H\022\t\n\005Array\020\001\022\r\n\tAs" + "sertion\020\002\022\022\n\016AssociatedType\020\003\022\r\n\tAttribu" + "te\020\004\022\t\n\005Axiom\020\005\022\013\n\007Boolean\020\006\022\t\n\005Class\020\007\022" + "\013\n\007Concept\020V\022\014\n\010Constant\020\010\022\017\n\013Constructo" + "r\020\t\022\014\n\010Contract\020>\022\016\n\nDataFamily\020\n\022\014\n\010Del" + "egate\020I\022\010\n\004Enum\020\013\022\016\n\nEnumMember\020\014\022\t\n\005Err" + "or\020?\022\t\n\005Event\020\r\022\r\n\tExtension\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\006G" + "etter\020\022\022\013\n\007Grammar\020\023\022\014\n\010Instance\020\024\022\r\n\tIn" + "terface\020\025\022\007\n\003Key\020\026\022\010\n\004Lang\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\013M" + "ethodAlias\020J\022\022\n\016MethodReceiver\020\033\022\027\n\023Meth" + "odSpecification\020C\022\013\n\007Message\020\034\022\t\n\005Mixin\020" + "U\022\014\n\010Modifier\020A\022\n\n\006Module\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\010" + "Operator\020\"\022\013\n\007Package\020#\022\021\n\rPackageObject" + "\020$\022\r\n\tParameter\020%\022\022\n\016ParameterLabel\020&\022\013\n" + "\007Pattern\020\'\022\r\n\tPredicate\020(\022\014\n\010Property\020)\022" + "\014\n\010Protocol\020*\022\022\n\016ProtocolMethod\020D\022\025\n\021Pur" + "eVirtualMethod\020E\022\017\n\013Quasiquoter\020+\022\021\n\rSel" + "fParameter\020,\022\n\n\006Setter\020-\022\r\n\tSignature\020.\022" + "\022\n\016SingletonClass\020K\022\023\n\017SingletonMethod\020L" + "\022\024\n\020StaticDataMember\020M\022\017\n\013StaticEvent\020N\022" + "\017\n\013StaticField\020O\022\020\n\014StaticMethod\020P\022\022\n\016St" + "aticProperty\020Q\022\022\n\016StaticVariable\020R\022\n\n\006St" + "ring\0200\022\n\n\006Struct\0201\022\r\n\tSubscript\020/\022\n\n\006Tac" + "tic\0202\022\013\n\007Theorem\0203\022\021\n\rThisParameter\0204\022\t\n" + "\005Trait\0205\022\017\n\013TraitMethod\020F\022\010\n\004Type\0206\022\r\n\tT" + "ypeAlias\0207\022\r\n\tTypeClass\0208\022\023\n\017TypeClassMe" + "thod\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=\"\202\001" + "\n\014Relationship\022\016\n\006symbol\030\001 \001(\t\022\024\n\014is_ref" + "erence\030\002 \001(\010\022\031\n\021is_implementation\030\003 \001(\010\022" + "\032\n\022is_type_definition\030\004 \001(\010\022\025\n\ris_defini" + "tion\030\005 \001(\010\"\310\001\n\nOccurrence\022\r\n\005range\030\001 \003(\005" + "\022\016\n\006symbol\030\002 \001(\t\022\024\n\014symbol_roles\030\003 \001(\005\022\036" + "\n\026override_documentation\030\004 \003(\t\022%\n\013syntax" + "_kind\030\005 \001(\0162\020.scip.SyntaxKind\022%\n\013diagnos" + "tics\030\006 \003(\0132\020.scip.Diagnostic\022\027\n\017enclosin" + "g_range\030\007 \003(\005\"\200\001\n\nDiagnostic\022 \n\010severity" + "\030\001 \001(\0162\016.scip.Severity\022\014\n\004code\030\002 \001(\t\022\017\n\007" + "message\030\003 \001(\t\022\016\n\006source\030\004 \001(\t\022!\n\004tags\030\005 " + "\003(\0162\023.scip.DiagnosticTag*1\n\017ProtocolVers" + "ion\022\036\n\032UnspecifiedProtocolVersion\020\000*@\n\014T" + "extEncoding\022\033\n\027UnspecifiedTextEncoding\020\000" + "\022\010\n\004UTF8\020\001\022\t\n\005UTF16\020\002*\244\001\n\020PositionEncodi" + "ng\022\037\n\033UnspecifiedPositionEncoding\020\000\022#\n\037U" + "TF8CodeUnitOffsetFromLineStart\020\001\022$\n UTF1" + "6CodeUnitOffsetFromLineStart\020\002\022$\n UTF32C" + "odeUnitOffsetFromLineStart\020\003*\224\001\n\nSymbolR" + "ole\022\031\n\025UnspecifiedSymbolRole\020\000\022\016\n\nDefini" + "tion\020\001\022\n\n\006Import\020\002\022\017\n\013WriteAccess\020\004\022\016\n\nR" + "eadAccess\020\010\022\r\n\tGenerated\020\020\022\010\n\004Test\020 \022\025\n\021" + "ForwardDefinition\020@*\352\006\n\nSyntaxKind\022\031\n\025Un" + "specifiedSyntaxKind\020\000\022\013\n\007Comment\020\001\022\030\n\024Pu" + "nctuationDelimiter\020\002\022\026\n\022PunctuationBrack" + "et\020\003\022\013\n\007Keyword\020\004\022\031\n\021IdentifierKeyword\020\004" + "\032\002\010\001\022\026\n\022IdentifierOperator\020\005\022\016\n\nIdentifi" + "er\020\006\022\025\n\021IdentifierBuiltin\020\007\022\022\n\016Identifie" + "rNull\020\010\022\026\n\022IdentifierConstant\020\t\022\033\n\027Ident" + "ifierMutableGlobal\020\n\022\027\n\023IdentifierParame" + "ter\020\013\022\023\n\017IdentifierLocal\020\014\022\026\n\022Identifier" + "Shadowed\020\r\022\027\n\023IdentifierNamespace\020\016\022\030\n\020I" + "dentifierModule\020\016\032\002\010\001\022\026\n\022IdentifierFunct" + "ion\020\017\022 \n\034IdentifierFunctionDefinition\020\020\022" + "\023\n\017IdentifierMacro\020\021\022\035\n\031IdentifierMacroD" + "efinition\020\022\022\022\n\016IdentifierType\020\023\022\031\n\025Ident" + "ifierBuiltinType\020\024\022\027\n\023IdentifierAttribut" + "e\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\rStringLiteral\020\033\022\027\n\023Stri" + "ngLiteralEscape\020\034\022\030\n\024StringLiteralSpecia" + "l\020\035\022\024\n\020StringLiteralKey\020\036\022\024\n\020CharacterLi" + "teral\020\037\022\022\n\016NumericLiteral\020 \022\022\n\016BooleanLi" + "teral\020!\022\007\n\003Tag\020\"\022\020\n\014TagAttribute\020#\022\020\n\014Ta" + "gDelimiter\020$\032\002\020\001*V\n\010Severity\022\027\n\023Unspecif" + "iedSeverity\020\000\022\t\n\005Error\020\001\022\013\n\007Warning\020\002\022\017\n" + "\013Information\020\003\022\010\n\004Hint\020\004*N\n\rDiagnosticTa" + "g\022\034\n\030UnspecifiedDiagnosticTag\020\000\022\017\n\013Unnec" + "essary\020\001\022\016\n\nDeprecated\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\010AsciiD" + "oc\020V\022\014\n\010Assembly\020:\022\007\n\003Awk\020B\022\007\n\003Bat\020D\022\n\n\006" + "BibTeX\020Q\022\005\n\001C\020\"\022\t\n\005COBOL\020;\022\007\n\003CPP\020#\022\007\n\003C" + "SS\020\032\022\n\n\006CSharp\020\001\022\013\n\007Clojure\020\010\022\020\n\014Coffees" + "cript\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\006Delphi\0209\022\010\n\004Diff\020X\022\016\n\nDo" + "ckerfile\020P\022\n\n\006Dyalog\0202\022\n\n\006Elixir\020\021\022\n\n\006Er" + "lang\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_Commit\020[\022\016\n\nGit_Confi" + "g\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\nHand" + "lebars\020Z\022\013\n\007Haskell\020,\022\t\n\005Idris\020.\022\007\n\003Ini\020" + "H\022\005\n\001J\0203\022\010\n\004JSON\020K\022\010\n\004Java\020\006\022\016\n\nJavaScri" + "pt\020\026\022\023\n\017JavaScriptReact\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\005L" + "aTeX\020S\022\010\n\004Lean\0200\022\010\n\004Less\020\033\022\007\n\003Lua\020\014\022\010\n\004L" + "uau\020l\022\014\n\010Makefile\020O\022\014\n\010Markdown\020T\022\n\n\006Mat" + "lab\0204\022\n\n\006Nickel\020n\022\007\n\003Nix\020M\022\t\n\005OCaml\020)\022\017\n" + "\013Objective_C\020$\022\021\n\rObjective_CPP\020%\022\n\n\006Pas" + "cal\020c\022\007\n\003PHP\020\023\022\t\n\005PLSQL\020F\022\010\n\004Perl\020\r\022\016\n\nP" + "owerShell\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\006Racket\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\005Scala\020\005\022\n\n\006Scheme\020\n" + "\022\017\n\013ShellScript\020@\022\013\n\007Skylark\020N\022\t\n\005Slang\020" + "k\022\014\n\010Solidity\020_\022\n\n\006Svelte\020j\022\t\n\005Swift\020\002\022\007" + "\n\003Tcl\020e\022\010\n\004TOML\020I\022\007\n\003TeX\020R\022\n\n\006Thrift\020g\022\016" + "\n\nTypeScript\020\027\022\023\n\017TypeScriptReact\020^\022\013\n\007V" + "erilog\020h\022\010\n\004VHDL\020i\022\017\n\013VisualBasic\020?\022\007\n\003V" + "ue\020\031\022\013\n\007Wolfram\0205\022\007\n\003XML\020\037\022\007\n\003XSL\020 \022\010\n\004Y" + "AML\020J\022\007\n\003Zig\020&B/Z-github.com/sourcegraph" + "/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.GeneratedMessageV3.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.GeneratedMessageV3.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.GeneratedMessageV3.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.GeneratedMessageV3.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.GeneratedMessageV3.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.GeneratedMessageV3.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.GeneratedMessageV3.FieldAccessorTable( internal_static_scip_Descriptor_descriptor, new java.lang.String[] { "Name", "Disambiguator", "Suffix", }); internal_static_scip_SymbolInformation_descriptor = getDescriptor().getMessageTypes().get(7); internal_static_scip_SymbolInformation_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.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(8); internal_static_scip_Relationship_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_scip_Relationship_descriptor, new java.lang.String[] { "Symbol", "IsReference", "IsImplementation", "IsTypeDefinition", "IsDefinition", }); internal_static_scip_Occurrence_descriptor = getDescriptor().getMessageTypes().get(9); internal_static_scip_Occurrence_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.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(10); internal_static_scip_Diagnostic_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_scip_Diagnostic_descriptor, new java.lang.String[] { "Severity", "Code", "Message", "Source", "Tags", }); } // @@protoc_insertion_point(outer_class_scope) }