// 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 IrRichPropertyReferenceOrBuilder extends
    // @@protoc_insertion_point(interface_extends:org.jetbrains.kotlin.backend.common.serialization.proto.IrRichPropertyReference)
    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 .org.jetbrains.kotlin.backend.common.serialization.proto.IrFunction getter_function = 3;</code>
   */
  boolean hasGetterFunction();
  /**
   * <code>required .org.jetbrains.kotlin.backend.common.serialization.proto.IrFunction getter_function = 3;</code>
   */
  org.jetbrains.kotlin.backend.common.serialization.proto.IrFunction getGetterFunction();

  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrFunction setter_function = 4;</code>
   */
  boolean hasSetterFunction();
  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrFunction setter_function = 4;</code>
   */
  org.jetbrains.kotlin.backend.common.serialization.proto.IrFunction getSetterFunction();

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