// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: compiler/ir/serialization.common/src/KotlinIr.proto

package org.jetbrains.kotlin.backend.common.serialization.proto;

public interface IrRichFunctionReferenceOrBuilder extends
    // @@protoc_insertion_point(interface_extends:org.jetbrains.kotlin.backend.common.serialization.proto.IrRichFunctionReference)
    org.jetbrains.kotlin.protobuf.MessageLiteOrBuilder {

  /**
   * <code>repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression bound_values = 1;</code>
   */
  java.util.List<org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression> 
      getBoundValuesList();
  /**
   * <code>repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression bound_values = 1;</code>
   */
  org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression getBoundValues(int index);
  /**
   * <code>repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression bound_values = 1;</code>
   */
  int getBoundValuesCount();

  /**
   * <code>optional int64 reflection_target_symbol = 2;</code>
   */
  boolean hasReflectionTargetSymbol();
  /**
   * <code>optional int64 reflection_target_symbol = 2;</code>
   */
  long getReflectionTargetSymbol();

  /**
   * <code>required int64 overridden_function_symbol = 3;</code>
   */
  boolean hasOverriddenFunctionSymbol();
  /**
   * <code>required int64 overridden_function_symbol = 3;</code>
   */
  long getOverriddenFunctionSymbol();

  /**
   * <code>required .org.jetbrains.kotlin.backend.common.serialization.proto.IrFunction invoke_function = 4;</code>
   */
  boolean hasInvokeFunction();
  /**
   * <code>required .org.jetbrains.kotlin.backend.common.serialization.proto.IrFunction invoke_function = 4;</code>
   */
  org.jetbrains.kotlin.backend.common.serialization.proto.IrFunction getInvokeFunction();

  /**
   * <code>optional int64 flags = 5 [default = 0];</code>
   */
  boolean hasFlags();
  /**
   * <code>optional int64 flags = 5 [default = 0];</code>
   */
  long getFlags();

  /**
   * <code>optional int32 origin_name = 6;</code>
   */
  boolean hasOriginName();
  /**
   * <code>optional int32 origin_name = 6;</code>
   */
  int getOriginName();
}