// 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 MemberAccessCommonOrBuilder extends
    // @@protoc_insertion_point(interface_extends:org.jetbrains.kotlin.backend.common.serialization.proto.MemberAccessCommon)
    org.jetbrains.kotlin.protobuf.MessageLiteOrBuilder {

  /**
   * <code>repeated .org.jetbrains.kotlin.backend.common.serialization.proto.NullableIrExpression argument = 6;</code>
   *
   * <pre>
   * Value argument serialization scheme after 2.2.0
   * </pre>
   */
  java.util.List<org.jetbrains.kotlin.backend.common.serialization.proto.NullableIrExpression> 
      getArgumentList();
  /**
   * <code>repeated .org.jetbrains.kotlin.backend.common.serialization.proto.NullableIrExpression argument = 6;</code>
   *
   * <pre>
   * Value argument serialization scheme after 2.2.0
   * </pre>
   */
  org.jetbrains.kotlin.backend.common.serialization.proto.NullableIrExpression getArgument(int index);
  /**
   * <code>repeated .org.jetbrains.kotlin.backend.common.serialization.proto.NullableIrExpression argument = 6;</code>
   *
   * <pre>
   * Value argument serialization scheme after 2.2.0
   * </pre>
   */
  int getArgumentCount();

  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression dispatch_receiver = 1;</code>
   *
   * <pre>
   * Value argument serialization scheme before 2.2.0
   * </pre>
   */
  boolean hasDispatchReceiver();
  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression dispatch_receiver = 1;</code>
   *
   * <pre>
   * Value argument serialization scheme before 2.2.0
   * </pre>
   */
  org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression getDispatchReceiver();

  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression extension_receiver = 2;</code>
   */
  boolean hasExtensionReceiver();
  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression extension_receiver = 2;</code>
   */
  org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression getExtensionReceiver();

  /**
   * <code>repeated .org.jetbrains.kotlin.backend.common.serialization.proto.NullableIrExpression regular_argument = 3;</code>
   */
  java.util.List<org.jetbrains.kotlin.backend.common.serialization.proto.NullableIrExpression> 
      getRegularArgumentList();
  /**
   * <code>repeated .org.jetbrains.kotlin.backend.common.serialization.proto.NullableIrExpression regular_argument = 3;</code>
   */
  org.jetbrains.kotlin.backend.common.serialization.proto.NullableIrExpression getRegularArgument(int index);
  /**
   * <code>repeated .org.jetbrains.kotlin.backend.common.serialization.proto.NullableIrExpression regular_argument = 3;</code>
   */
  int getRegularArgumentCount();

  /**
   * <code>repeated int32 type_argument = 4 [packed = true];</code>
   */
  java.util.List<java.lang.Integer> getTypeArgumentList();
  /**
   * <code>repeated int32 type_argument = 4 [packed = true];</code>
   */
  int getTypeArgumentCount();
  /**
   * <code>repeated int32 type_argument = 4 [packed = true];</code>
   */
  int getTypeArgument(int index);
}