Interface Decl.FunctionDecl.OverloadOrBuilder

All Superinterfaces:
com.google.protobuf.MessageLiteOrBuilder
All Known Implementing Classes:
Decl.FunctionDecl.Overload, Decl.FunctionDecl.Overload.Builder
Enclosing class:
Decl.FunctionDecl

public static interface Decl.FunctionDecl.OverloadOrBuilder extends com.google.protobuf.MessageLiteOrBuilder
  • Method Summary

    Modifier and Type
    Method
    Description
    Documentation string for the overload.
    com.google.protobuf.ByteString
    Documentation string for the overload.
    boolean
    Whether the function is to be used in a method call-style `x.f(...)` or a function call-style `f(x, ...)`.
    Required.
    com.google.protobuf.ByteString
    Required.
    getParams(int index)
    List of function parameter [Type][google.api.expr.v1alpha1.Type] values.
    int
    List of function parameter [Type][google.api.expr.v1alpha1.Type] values.
    List of function parameter [Type][google.api.expr.v1alpha1.Type] values.
    Required.
    getTypeParams(int index)
    The type param names associated with the function declaration.
    com.google.protobuf.ByteString
    getTypeParamsBytes(int index)
    The type param names associated with the function declaration.
    int
    The type param names associated with the function declaration.
    The type param names associated with the function declaration.
    boolean
    Required.

    Methods inherited from interface com.google.protobuf.MessageLiteOrBuilder

    getDefaultInstanceForType, isInitialized
  • Method Details

    • getOverloadId

      String getOverloadId()
       Required. Globally unique overload name of the function which reflects
       the function name and argument types.
      
       This will be used by a [Reference][google.api.expr.v1alpha1.Reference]
       to indicate the `overload_id` that was resolved for the function
       `name`.
       
      string overload_id = 1 [json_name = "overloadId"];
      Returns:
      The overloadId.
    • getOverloadIdBytes

      com.google.protobuf.ByteString getOverloadIdBytes()
       Required. Globally unique overload name of the function which reflects
       the function name and argument types.
      
       This will be used by a [Reference][google.api.expr.v1alpha1.Reference]
       to indicate the `overload_id` that was resolved for the function
       `name`.
       
      string overload_id = 1 [json_name = "overloadId"];
      Returns:
      The bytes for overloadId.
    • getParamsList

      List<Type> getParamsList()
       List of function parameter [Type][google.api.expr.v1alpha1.Type]
       values.
      
       Param types are disjoint after generic type parameters have been
       replaced with the type `DYN`. Since the `DYN` type is compatible with
       any other type, this means that if `A` is a type parameter, the
       function types `int<A>` and `int<int>` are not disjoint. Likewise,
       `map<string, string>` is not disjoint from `map<K, V>`.
      
       When the `result_type` of a function is a generic type param, the
       type param name also appears as the `type` of on at least one params.
       
      repeated .google.api.expr.v1alpha1.Type params = 2 [json_name = "params"];
    • getParams

      Type getParams(int index)
       List of function parameter [Type][google.api.expr.v1alpha1.Type]
       values.
      
       Param types are disjoint after generic type parameters have been
       replaced with the type `DYN`. Since the `DYN` type is compatible with
       any other type, this means that if `A` is a type parameter, the
       function types `int<A>` and `int<int>` are not disjoint. Likewise,
       `map<string, string>` is not disjoint from `map<K, V>`.
      
       When the `result_type` of a function is a generic type param, the
       type param name also appears as the `type` of on at least one params.
       
      repeated .google.api.expr.v1alpha1.Type params = 2 [json_name = "params"];
    • getParamsCount

      int getParamsCount()
       List of function parameter [Type][google.api.expr.v1alpha1.Type]
       values.
      
       Param types are disjoint after generic type parameters have been
       replaced with the type `DYN`. Since the `DYN` type is compatible with
       any other type, this means that if `A` is a type parameter, the
       function types `int<A>` and `int<int>` are not disjoint. Likewise,
       `map<string, string>` is not disjoint from `map<K, V>`.
      
       When the `result_type` of a function is a generic type param, the
       type param name also appears as the `type` of on at least one params.
       
      repeated .google.api.expr.v1alpha1.Type params = 2 [json_name = "params"];
    • getTypeParamsList

      List<String> getTypeParamsList()
       The type param names associated with the function declaration.
      
       For example, `function ex<K,V>(K key, map<K, V> map) : V` would yield
       the type params of `K, V`.
       
      repeated string type_params = 3 [json_name = "typeParams"];
      Returns:
      A list containing the typeParams.
    • getTypeParamsCount

      int getTypeParamsCount()
       The type param names associated with the function declaration.
      
       For example, `function ex<K,V>(K key, map<K, V> map) : V` would yield
       the type params of `K, V`.
       
      repeated string type_params = 3 [json_name = "typeParams"];
      Returns:
      The count of typeParams.
    • getTypeParams

      String getTypeParams(int index)
       The type param names associated with the function declaration.
      
       For example, `function ex<K,V>(K key, map<K, V> map) : V` would yield
       the type params of `K, V`.
       
      repeated string type_params = 3 [json_name = "typeParams"];
      Parameters:
      index - The index of the element to return.
      Returns:
      The typeParams at the given index.
    • getTypeParamsBytes

      com.google.protobuf.ByteString getTypeParamsBytes(int index)
       The type param names associated with the function declaration.
      
       For example, `function ex<K,V>(K key, map<K, V> map) : V` would yield
       the type params of `K, V`.
       
      repeated string type_params = 3 [json_name = "typeParams"];
      Parameters:
      index - The index of the element to return.
      Returns:
      The typeParams at the given index.
    • hasResultType

      boolean hasResultType()
       Required. The result type of the function. For example, the operator
       `string.isEmpty()` would have `result_type` of `kind: BOOL`.
       
      .google.api.expr.v1alpha1.Type result_type = 4 [json_name = "resultType"];
      Returns:
      Whether the resultType field is set.
    • getResultType

      Type getResultType()
       Required. The result type of the function. For example, the operator
       `string.isEmpty()` would have `result_type` of `kind: BOOL`.
       
      .google.api.expr.v1alpha1.Type result_type = 4 [json_name = "resultType"];
      Returns:
      The resultType.
    • getIsInstanceFunction

      boolean getIsInstanceFunction()
       Whether the function is to be used in a method call-style `x.f(...)`
       or a function call-style `f(x, ...)`.
      
       For methods, the first parameter declaration, `params[0]` is the
       expected type of the target receiver.
       
      bool is_instance_function = 5 [json_name = "isInstanceFunction"];
      Returns:
      The isInstanceFunction.
    • getDoc

      String getDoc()
       Documentation string for the overload.
       
      string doc = 6 [json_name = "doc"];
      Returns:
      The doc.
    • getDocBytes

      com.google.protobuf.ByteString getDocBytes()
       Documentation string for the overload.
       
      string doc = 6 [json_name = "doc"];
      Returns:
      The bytes for doc.