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

  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrBlock block = 1;</code>
   */
  boolean hasBlock();
  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrBlock block = 1;</code>
   */
  org.jetbrains.kotlin.backend.common.serialization.proto.IrBlock getBlock();

  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrBreak break = 2;</code>
   */
  boolean hasBreak();
  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrBreak break = 2;</code>
   */
  org.jetbrains.kotlin.backend.common.serialization.proto.IrBreak getBreak();

  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrCall call = 3;</code>
   */
  boolean hasCall();
  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrCall call = 3;</code>
   */
  org.jetbrains.kotlin.backend.common.serialization.proto.IrCall getCall();

  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrClassReference class_reference = 4;</code>
   */
  boolean hasClassReference();
  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrClassReference class_reference = 4;</code>
   */
  org.jetbrains.kotlin.backend.common.serialization.proto.IrClassReference getClassReference();

  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrComposite composite = 5;</code>
   */
  boolean hasComposite();
  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrComposite composite = 5;</code>
   */
  org.jetbrains.kotlin.backend.common.serialization.proto.IrComposite getComposite();

  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrConst const = 6;</code>
   */
  boolean hasConst();
  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrConst const = 6;</code>
   */
  org.jetbrains.kotlin.backend.common.serialization.proto.IrConst getConst();

  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrContinue continue = 7;</code>
   */
  boolean hasContinue();
  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrContinue continue = 7;</code>
   */
  org.jetbrains.kotlin.backend.common.serialization.proto.IrContinue getContinue();

  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDelegatingConstructorCall delegating_constructor_call = 8;</code>
   */
  boolean hasDelegatingConstructorCall();
  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDelegatingConstructorCall delegating_constructor_call = 8;</code>
   */
  org.jetbrains.kotlin.backend.common.serialization.proto.IrDelegatingConstructorCall getDelegatingConstructorCall();

  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDoWhile do_while = 9;</code>
   */
  boolean hasDoWhile();
  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDoWhile do_while = 9;</code>
   */
  org.jetbrains.kotlin.backend.common.serialization.proto.IrDoWhile getDoWhile();

  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrEnumConstructorCall enum_constructor_call = 10;</code>
   */
  boolean hasEnumConstructorCall();
  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrEnumConstructorCall enum_constructor_call = 10;</code>
   */
  org.jetbrains.kotlin.backend.common.serialization.proto.IrEnumConstructorCall getEnumConstructorCall();

  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrFunctionReference function_reference = 11;</code>
   */
  boolean hasFunctionReference();
  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrFunctionReference function_reference = 11;</code>
   */
  org.jetbrains.kotlin.backend.common.serialization.proto.IrFunctionReference getFunctionReference();

  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrGetClass get_class = 12;</code>
   */
  boolean hasGetClass();
  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrGetClass get_class = 12;</code>
   */
  org.jetbrains.kotlin.backend.common.serialization.proto.IrGetClass getGetClass();

  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrGetEnumValue get_enum_value = 13;</code>
   */
  boolean hasGetEnumValue();
  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrGetEnumValue get_enum_value = 13;</code>
   */
  org.jetbrains.kotlin.backend.common.serialization.proto.IrGetEnumValue getGetEnumValue();

  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrGetField get_field = 14;</code>
   */
  boolean hasGetField();
  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrGetField get_field = 14;</code>
   */
  org.jetbrains.kotlin.backend.common.serialization.proto.IrGetField getGetField();

  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrGetObject get_object = 15;</code>
   */
  boolean hasGetObject();
  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrGetObject get_object = 15;</code>
   */
  org.jetbrains.kotlin.backend.common.serialization.proto.IrGetObject getGetObject();

  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrGetValue get_value = 16;</code>
   */
  boolean hasGetValue();
  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrGetValue get_value = 16;</code>
   */
  org.jetbrains.kotlin.backend.common.serialization.proto.IrGetValue getGetValue();

  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrInstanceInitializerCall instance_initializer_call = 17;</code>
   */
  boolean hasInstanceInitializerCall();
  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrInstanceInitializerCall instance_initializer_call = 17;</code>
   */
  org.jetbrains.kotlin.backend.common.serialization.proto.IrInstanceInitializerCall getInstanceInitializerCall();

  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrPropertyReference property_reference = 18;</code>
   */
  boolean hasPropertyReference();
  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrPropertyReference property_reference = 18;</code>
   */
  org.jetbrains.kotlin.backend.common.serialization.proto.IrPropertyReference getPropertyReference();

  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrReturn return = 19;</code>
   */
  boolean hasReturn();
  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrReturn return = 19;</code>
   */
  org.jetbrains.kotlin.backend.common.serialization.proto.IrReturn getReturn();

  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrSetField set_field = 20;</code>
   */
  boolean hasSetField();
  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrSetField set_field = 20;</code>
   */
  org.jetbrains.kotlin.backend.common.serialization.proto.IrSetField getSetField();

  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrSetValue set_value = 21;</code>
   */
  boolean hasSetValue();
  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrSetValue set_value = 21;</code>
   */
  org.jetbrains.kotlin.backend.common.serialization.proto.IrSetValue getSetValue();

  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrStringConcat string_concat = 22;</code>
   */
  boolean hasStringConcat();
  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrStringConcat string_concat = 22;</code>
   */
  org.jetbrains.kotlin.backend.common.serialization.proto.IrStringConcat getStringConcat();

  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrThrow throw = 23;</code>
   */
  boolean hasThrow();
  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrThrow throw = 23;</code>
   */
  org.jetbrains.kotlin.backend.common.serialization.proto.IrThrow getThrow();

  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrTry try = 24;</code>
   */
  boolean hasTry();
  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrTry try = 24;</code>
   */
  org.jetbrains.kotlin.backend.common.serialization.proto.IrTry getTry();

  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeOp type_op = 25;</code>
   */
  boolean hasTypeOp();
  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeOp type_op = 25;</code>
   */
  org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeOp getTypeOp();

  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrVararg vararg = 26;</code>
   */
  boolean hasVararg();
  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrVararg vararg = 26;</code>
   */
  org.jetbrains.kotlin.backend.common.serialization.proto.IrVararg getVararg();

  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrWhen when = 27;</code>
   */
  boolean hasWhen();
  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrWhen when = 27;</code>
   */
  org.jetbrains.kotlin.backend.common.serialization.proto.IrWhen getWhen();

  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrWhile while = 28;</code>
   */
  boolean hasWhile();
  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrWhile while = 28;</code>
   */
  org.jetbrains.kotlin.backend.common.serialization.proto.IrWhile getWhile();

  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDynamicMemberExpression dynamic_member = 29;</code>
   */
  boolean hasDynamicMember();
  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDynamicMemberExpression dynamic_member = 29;</code>
   */
  org.jetbrains.kotlin.backend.common.serialization.proto.IrDynamicMemberExpression getDynamicMember();

  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDynamicOperatorExpression dynamic_operator = 30;</code>
   */
  boolean hasDynamicOperator();
  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDynamicOperatorExpression dynamic_operator = 30;</code>
   */
  org.jetbrains.kotlin.backend.common.serialization.proto.IrDynamicOperatorExpression getDynamicOperator();

  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrLocalDelegatedPropertyReference local_delegated_property_reference = 31;</code>
   */
  boolean hasLocalDelegatedPropertyReference();
  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrLocalDelegatedPropertyReference local_delegated_property_reference = 31;</code>
   */
  org.jetbrains.kotlin.backend.common.serialization.proto.IrLocalDelegatedPropertyReference getLocalDelegatedPropertyReference();

  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrConstructorCall constructor_call = 32;</code>
   */
  boolean hasConstructorCall();
  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrConstructorCall constructor_call = 32;</code>
   */
  org.jetbrains.kotlin.backend.common.serialization.proto.IrConstructorCall getConstructorCall();

  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrFunctionExpression function_expression = 33;</code>
   */
  boolean hasFunctionExpression();
  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrFunctionExpression function_expression = 33;</code>
   */
  org.jetbrains.kotlin.backend.common.serialization.proto.IrFunctionExpression getFunctionExpression();

  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrErrorExpression error_expression = 34;</code>
   *
   * <pre>
   * Error code
   * </pre>
   */
  boolean hasErrorExpression();
  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrErrorExpression error_expression = 34;</code>
   *
   * <pre>
   * Error code
   * </pre>
   */
  org.jetbrains.kotlin.backend.common.serialization.proto.IrErrorExpression getErrorExpression();

  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrErrorCallExpression error_call_expression = 35;</code>
   */
  boolean hasErrorCallExpression();
  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrErrorCallExpression error_call_expression = 35;</code>
   */
  org.jetbrains.kotlin.backend.common.serialization.proto.IrErrorCallExpression getErrorCallExpression();

  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrReturnableBlock returnable_block = 36;</code>
   *
   * <pre>
   * Operations again
   * </pre>
   */
  boolean hasReturnableBlock();
  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrReturnableBlock returnable_block = 36;</code>
   *
   * <pre>
   * Operations again
   * </pre>
   */
  org.jetbrains.kotlin.backend.common.serialization.proto.IrReturnableBlock getReturnableBlock();

  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrInlinedFunctionBlock inlined_function_block = 37;</code>
   */
  boolean hasInlinedFunctionBlock();
  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrInlinedFunctionBlock inlined_function_block = 37;</code>
   */
  org.jetbrains.kotlin.backend.common.serialization.proto.IrInlinedFunctionBlock getInlinedFunctionBlock();

  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrRichFunctionReference rich_function_reference = 38;</code>
   */
  boolean hasRichFunctionReference();
  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrRichFunctionReference rich_function_reference = 38;</code>
   */
  org.jetbrains.kotlin.backend.common.serialization.proto.IrRichFunctionReference getRichFunctionReference();

  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrRichPropertyReference rich_property_reference = 39;</code>
   */
  boolean hasRichPropertyReference();
  /**
   * <code>optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrRichPropertyReference rich_property_reference = 39;</code>
   */
  org.jetbrains.kotlin.backend.common.serialization.proto.IrRichPropertyReference getRichPropertyReference();
}