Package dev.cel.expr

Class SourceInfo

    • Method Detail

      • internalGetMapField

        protected MapField internalGetMapField​(int number)
        Description copied from class: GeneratedMessageV3
        Gets the map field with the given field number. This method should be overridden in the generated message class if the message contains map fields.

        Unlike other field types, reflection support for map fields can't be implemented based on generated public API because we need to access a map field as a list in reflection API but the generated API only allows us to access it as a map. This method returns the underlying map field directly and thus enables us to access the map field as a list.

        Overrides:
        internalGetMapField in class GeneratedMessageV3
      • getSyntaxVersion

        public java.lang.String getSyntaxVersion()
         The syntax version of the source, e.g. `cel1`.
         
        string syntax_version = 1;
        Specified by:
        getSyntaxVersion in interface SourceInfoOrBuilder
        Returns:
        The syntaxVersion.
      • getSyntaxVersionBytes

        public ByteString getSyntaxVersionBytes()
         The syntax version of the source, e.g. `cel1`.
         
        string syntax_version = 1;
        Specified by:
        getSyntaxVersionBytes in interface SourceInfoOrBuilder
        Returns:
        The bytes for syntaxVersion.
      • getLocation

        public java.lang.String getLocation()
         The location name. All position information attached to an expression is
         relative to this location.
         The location could be a file, UI element, or similar. For example,
         `acme/app/AnvilPolicy.cel`.
         
        string location = 2;
        Specified by:
        getLocation in interface SourceInfoOrBuilder
        Returns:
        The location.
      • getLocationBytes

        public ByteString getLocationBytes()
         The location name. All position information attached to an expression is
         relative to this location.
         The location could be a file, UI element, or similar. For example,
         `acme/app/AnvilPolicy.cel`.
         
        string location = 2;
        Specified by:
        getLocationBytes in interface SourceInfoOrBuilder
        Returns:
        The bytes for location.
      • getLineOffsetsList

        public java.util.List<java.lang.Integer> getLineOffsetsList()
         Monotonically increasing list of code point offsets where newlines
         `\n` appear.
         The line number of a given position is the index `i` where for a given
         `id` the `line_offsets[i] < id_positions[id] < line_offsets[i+1]`. The
         column may be derived from `id_positions[id] - line_offsets[i]`.
         
        repeated int32 line_offsets = 3;
        Specified by:
        getLineOffsetsList in interface SourceInfoOrBuilder
        Returns:
        A list containing the lineOffsets.
      • getLineOffsetsCount

        public int getLineOffsetsCount()
         Monotonically increasing list of code point offsets where newlines
         `\n` appear.
         The line number of a given position is the index `i` where for a given
         `id` the `line_offsets[i] < id_positions[id] < line_offsets[i+1]`. The
         column may be derived from `id_positions[id] - line_offsets[i]`.
         
        repeated int32 line_offsets = 3;
        Specified by:
        getLineOffsetsCount in interface SourceInfoOrBuilder
        Returns:
        The count of lineOffsets.
      • getLineOffsets

        public int getLineOffsets​(int index)
         Monotonically increasing list of code point offsets where newlines
         `\n` appear.
         The line number of a given position is the index `i` where for a given
         `id` the `line_offsets[i] < id_positions[id] < line_offsets[i+1]`. The
         column may be derived from `id_positions[id] - line_offsets[i]`.
         
        repeated int32 line_offsets = 3;
        Specified by:
        getLineOffsets in interface SourceInfoOrBuilder
        Parameters:
        index - The index of the element to return.
        Returns:
        The lineOffsets at the given index.
      • getPositionsCount

        public int getPositionsCount()
        Description copied from interface: SourceInfoOrBuilder
         A map from the parse node id (e.g. `Expr.id`) to the code point offset
         within the source.
         
        map<int64, int32> positions = 4;
        Specified by:
        getPositionsCount in interface SourceInfoOrBuilder
      • containsPositions

        public boolean containsPositions​(long key)
         A map from the parse node id (e.g. `Expr.id`) to the code point offset
         within the source.
         
        map<int64, int32> positions = 4;
        Specified by:
        containsPositions in interface SourceInfoOrBuilder
      • getPositionsMap

        public java.util.Map<java.lang.Long,​java.lang.Integer> getPositionsMap()
         A map from the parse node id (e.g. `Expr.id`) to the code point offset
         within the source.
         
        map<int64, int32> positions = 4;
        Specified by:
        getPositionsMap in interface SourceInfoOrBuilder
      • getPositionsOrDefault

        public int getPositionsOrDefault​(long key,
                                         int defaultValue)
         A map from the parse node id (e.g. `Expr.id`) to the code point offset
         within the source.
         
        map<int64, int32> positions = 4;
        Specified by:
        getPositionsOrDefault in interface SourceInfoOrBuilder
      • getPositionsOrThrow

        public int getPositionsOrThrow​(long key)
         A map from the parse node id (e.g. `Expr.id`) to the code point offset
         within the source.
         
        map<int64, int32> positions = 4;
        Specified by:
        getPositionsOrThrow in interface SourceInfoOrBuilder
      • getMacroCallsCount

        public int getMacroCallsCount()
        Description copied from interface: SourceInfoOrBuilder
         A map from the parse node id where a macro replacement was made to the
         call `Expr` that resulted in a macro expansion.
         For example, `has(value.field)` is a function call that is replaced by a
         `test_only` field selection in the AST. Likewise, the call
         `list.exists(e, e > 10)` translates to a comprehension expression. The key
         in the map corresponds to the expression id of the expanded macro, and the
         value is the call `Expr` that was replaced.
         
        map<int64, .cel.expr.Expr> macro_calls = 5;
        Specified by:
        getMacroCallsCount in interface SourceInfoOrBuilder
      • containsMacroCalls

        public boolean containsMacroCalls​(long key)
         A map from the parse node id where a macro replacement was made to the
         call `Expr` that resulted in a macro expansion.
         For example, `has(value.field)` is a function call that is replaced by a
         `test_only` field selection in the AST. Likewise, the call
         `list.exists(e, e > 10)` translates to a comprehension expression. The key
         in the map corresponds to the expression id of the expanded macro, and the
         value is the call `Expr` that was replaced.
         
        map<int64, .cel.expr.Expr> macro_calls = 5;
        Specified by:
        containsMacroCalls in interface SourceInfoOrBuilder
      • getMacroCallsMap

        public java.util.Map<java.lang.Long,​Expr> getMacroCallsMap()
         A map from the parse node id where a macro replacement was made to the
         call `Expr` that resulted in a macro expansion.
         For example, `has(value.field)` is a function call that is replaced by a
         `test_only` field selection in the AST. Likewise, the call
         `list.exists(e, e > 10)` translates to a comprehension expression. The key
         in the map corresponds to the expression id of the expanded macro, and the
         value is the call `Expr` that was replaced.
         
        map<int64, .cel.expr.Expr> macro_calls = 5;
        Specified by:
        getMacroCallsMap in interface SourceInfoOrBuilder
      • getMacroCallsOrDefault

        public Expr getMacroCallsOrDefault​(long key,
                                           Expr defaultValue)
         A map from the parse node id where a macro replacement was made to the
         call `Expr` that resulted in a macro expansion.
         For example, `has(value.field)` is a function call that is replaced by a
         `test_only` field selection in the AST. Likewise, the call
         `list.exists(e, e > 10)` translates to a comprehension expression. The key
         in the map corresponds to the expression id of the expanded macro, and the
         value is the call `Expr` that was replaced.
         
        map<int64, .cel.expr.Expr> macro_calls = 5;
        Specified by:
        getMacroCallsOrDefault in interface SourceInfoOrBuilder
      • getMacroCallsOrThrow

        public Expr getMacroCallsOrThrow​(long key)
         A map from the parse node id where a macro replacement was made to the
         call `Expr` that resulted in a macro expansion.
         For example, `has(value.field)` is a function call that is replaced by a
         `test_only` field selection in the AST. Likewise, the call
         `list.exists(e, e > 10)` translates to a comprehension expression. The key
         in the map corresponds to the expression id of the expanded macro, and the
         value is the call `Expr` that was replaced.
         
        map<int64, .cel.expr.Expr> macro_calls = 5;
        Specified by:
        getMacroCallsOrThrow in interface SourceInfoOrBuilder
      • getSerializedSize

        public int getSerializedSize()
        Description copied from interface: MessageLite
        Get the number of bytes required to encode this message. The result is only computed on the first call and memoized after that. If this message requires more than Integer.MAX_VALUE bytes to encode, the return value will be smaller than the actual number of bytes required and might be negative.
        Specified by:
        getSerializedSize in interface MessageLite
        Overrides:
        getSerializedSize in class GeneratedMessageV3
      • equals

        public boolean equals​(java.lang.Object obj)
        Description copied from interface: Message
        Compares the specified object with this message for equality. Returns true if the given object is a message of the same type (as defined by getDescriptorForType()) and has identical values for all of its fields. Subclasses must implement this; inheriting Object.equals() is incorrect.
        Specified by:
        equals in interface Message
        Overrides:
        equals in class AbstractMessage
        Parameters:
        obj - object to be compared for equality with this message
        Returns:
        true if the specified object is equal to this message
      • hashCode

        public int hashCode()
        Description copied from interface: Message
        Returns the hash code value for this message. The hash code of a message should mix the message's type (object identity of the descriptor) with its contents (known and unknown field values). Subclasses must implement this; inheriting Object.hashCode() is incorrect.
        Specified by:
        hashCode in interface Message
        Overrides:
        hashCode in class AbstractMessage
        Returns:
        the hash code value for this message
        See Also:
        Map.hashCode()
      • parseFrom

        public static SourceInfo parseFrom​(java.io.InputStream input)
                                    throws java.io.IOException
        Throws:
        java.io.IOException
      • parseFrom

        public static SourceInfo parseFrom​(java.io.InputStream input,
                                           ExtensionRegistryLite extensionRegistry)
                                    throws java.io.IOException
        Throws:
        java.io.IOException
      • parseDelimitedFrom

        public static SourceInfo parseDelimitedFrom​(java.io.InputStream input)
                                             throws java.io.IOException
        Throws:
        java.io.IOException
      • parseDelimitedFrom

        public static SourceInfo parseDelimitedFrom​(java.io.InputStream input,
                                                    ExtensionRegistryLite extensionRegistry)
                                             throws java.io.IOException
        Throws:
        java.io.IOException
      • parseFrom

        public static SourceInfo parseFrom​(CodedInputStream input)
                                    throws java.io.IOException
        Throws:
        java.io.IOException
      • getDefaultInstance

        public static SourceInfo getDefaultInstance()
      • getDefaultInstanceForType

        public SourceInfo getDefaultInstanceForType()
        Description copied from interface: MessageLiteOrBuilder
        Get an instance of the type with no fields set. Because no fields are set, all getters for singular fields will return default values and repeated fields will appear empty. This may or may not be a singleton. This differs from the getDefaultInstance() method of generated message classes in that this method is an abstract method of the MessageLite interface whereas getDefaultInstance() is a static method of a specific class. They return the same thing.
        Specified by:
        getDefaultInstanceForType in interface MessageLiteOrBuilder
        Specified by:
        getDefaultInstanceForType in interface MessageOrBuilder