// Generated by the protocol buffer compiler. DO NOT EDIT!
// NO CHECKED-IN PROTOBUF GENCODE
// source: proto_tcs.proto

// Generated files should ignore deprecation warnings
@file:Suppress("DEPRECATION")
package org.jetbrains.kotlin.gradle.idea.proto.generated.tcs;

@kotlin.jvm.JvmName("-initializeideaKotlinBinaryCoordinatesProto")
public inline fun ideaKotlinBinaryCoordinatesProto(block: org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCoordinatesProtoKt.Dsl.() -> kotlin.Unit): org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCoordinatesProto =
  org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCoordinatesProtoKt.Dsl._create(org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCoordinatesProto.newBuilder()).apply { block() }._build()
/**
 * Protobuf type `org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCoordinatesProto`
 */
public object IdeaKotlinBinaryCoordinatesProtoKt {
  @kotlin.OptIn(com.google.protobuf.kotlin.OnlyForUseByGeneratedProtoCode::class)
  @com.google.protobuf.kotlin.ProtoDslMarker
  public class Dsl private constructor(
    private val _builder: org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCoordinatesProto.Builder
  ) {
    public companion object {
      @kotlin.jvm.JvmSynthetic
      @kotlin.PublishedApi
      internal fun _create(builder: org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCoordinatesProto.Builder): Dsl = Dsl(builder)
    }

    @kotlin.jvm.JvmSynthetic
    @kotlin.PublishedApi
    internal fun _build(): org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCoordinatesProto = _builder.build()

    /**
     * `optional string group = 1;`
     */
    public var group: kotlin.String
      @JvmName("getGroup")
      get() = _builder.group
      @JvmName("setGroup")
      set(value) {
        _builder.group = value
      }
    /**
     * `optional string group = 1;`
     */
    public fun clearGroup() {
      _builder.clearGroup()
    }
    /**
     * `optional string group = 1;`
     * @return Whether the group field is set.
     */
    public fun hasGroup(): kotlin.Boolean {
      return _builder.hasGroup()
    }

    /**
     * `optional string module = 2;`
     */
    public var module: kotlin.String
      @JvmName("getModule")
      get() = _builder.module
      @JvmName("setModule")
      set(value) {
        _builder.module = value
      }
    /**
     * `optional string module = 2;`
     */
    public fun clearModule() {
      _builder.clearModule()
    }
    /**
     * `optional string module = 2;`
     * @return Whether the module field is set.
     */
    public fun hasModule(): kotlin.Boolean {
      return _builder.hasModule()
    }

    /**
     * `optional string version = 3;`
     */
    public var version: kotlin.String
      @JvmName("getVersion")
      get() = _builder.version
      @JvmName("setVersion")
      set(value) {
        _builder.version = value
      }
    /**
     * `optional string version = 3;`
     */
    public fun clearVersion() {
      _builder.clearVersion()
    }
    /**
     * `optional string version = 3;`
     * @return Whether the version field is set.
     */
    public fun hasVersion(): kotlin.Boolean {
      return _builder.hasVersion()
    }

    /**
     * `optional string source_set_name = 4;`
     */
    public var sourceSetName: kotlin.String
      @JvmName("getSourceSetName")
      get() = _builder.sourceSetName
      @JvmName("setSourceSetName")
      set(value) {
        _builder.sourceSetName = value
      }
    /**
     * `optional string source_set_name = 4;`
     */
    public fun clearSourceSetName() {
      _builder.clearSourceSetName()
    }
    /**
     * `optional string source_set_name = 4;`
     * @return Whether the sourceSetName field is set.
     */
    public fun hasSourceSetName(): kotlin.Boolean {
      return _builder.hasSourceSetName()
    }

    /**
     * An uninstantiable, behaviorless type to represent the field in
     * generics.
     */
    @kotlin.OptIn(com.google.protobuf.kotlin.OnlyForUseByGeneratedProtoCode::class)
    public class CapabilitiesProxy private constructor() : com.google.protobuf.kotlin.DslProxy()
    /**
     * `repeated .org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto capabilities = 5;`
     */
     public val capabilities: com.google.protobuf.kotlin.DslList<org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto, CapabilitiesProxy>
      @kotlin.jvm.JvmSynthetic
      get() = com.google.protobuf.kotlin.DslList(
        _builder.capabilitiesList
      )
    /**
     * `repeated .org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto capabilities = 5;`
     * @param value The capabilities to add.
     */
    @kotlin.jvm.JvmSynthetic
    @kotlin.jvm.JvmName("addCapabilities")
    public fun com.google.protobuf.kotlin.DslList<org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto, CapabilitiesProxy>.add(value: org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto) {
      _builder.addCapabilities(value)
    }
    /**
     * `repeated .org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto capabilities = 5;`
     * @param value The capabilities to add.
     */
    @kotlin.jvm.JvmSynthetic
    @kotlin.jvm.JvmName("plusAssignCapabilities")
    @Suppress("NOTHING_TO_INLINE")
    public inline operator fun com.google.protobuf.kotlin.DslList<org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto, CapabilitiesProxy>.plusAssign(value: org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto) {
      add(value)
    }
    /**
     * `repeated .org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto capabilities = 5;`
     * @param values The capabilities to add.
     */
    @kotlin.jvm.JvmSynthetic
    @kotlin.jvm.JvmName("addAllCapabilities")
    public fun com.google.protobuf.kotlin.DslList<org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto, CapabilitiesProxy>.addAll(values: kotlin.collections.Iterable<org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto>) {
      _builder.addAllCapabilities(values)
    }
    /**
     * `repeated .org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto capabilities = 5;`
     * @param values The capabilities to add.
     */
    @kotlin.jvm.JvmSynthetic
    @kotlin.jvm.JvmName("plusAssignAllCapabilities")
    @Suppress("NOTHING_TO_INLINE")
    public inline operator fun com.google.protobuf.kotlin.DslList<org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto, CapabilitiesProxy>.plusAssign(values: kotlin.collections.Iterable<org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto>) {
      addAll(values)
    }
    /**
     * `repeated .org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto capabilities = 5;`
     * @param index The index to set the value at.
     * @param value The capabilities to set.
     */
    @kotlin.jvm.JvmSynthetic
    @kotlin.jvm.JvmName("setCapabilities")
    public operator fun com.google.protobuf.kotlin.DslList<org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto, CapabilitiesProxy>.set(index: kotlin.Int, value: org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto) {
      _builder.setCapabilities(index, value)
    }
    /**
     * `repeated .org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto capabilities = 5;`
     */
    @kotlin.jvm.JvmSynthetic
    @kotlin.jvm.JvmName("clearCapabilities")
    public fun com.google.protobuf.kotlin.DslList<org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto, CapabilitiesProxy>.clear() {
      _builder.clearCapabilities()
    }


    /**
     * `optional .org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryAttributesProto attributes = 6;`
     */
    public var attributes: org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryAttributesProto
      @JvmName("getAttributes")
      get() = _builder.attributes
      @JvmName("setAttributes")
      set(value) {
        _builder.attributes = value
      }
    /**
     * `optional .org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryAttributesProto attributes = 6;`
     */
    public fun clearAttributes() {
      _builder.clearAttributes()
    }
    /**
     * `optional .org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryAttributesProto attributes = 6;`
     * @return Whether the attributes field is set.
     */
    public fun hasAttributes(): kotlin.Boolean {
      return _builder.hasAttributes()
    }
    public val IdeaKotlinBinaryCoordinatesProtoKt.Dsl.attributesOrNull: org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryAttributesProto?
      get() = _builder.attributesOrNull
  }
}
@kotlin.jvm.JvmSynthetic
public inline fun org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCoordinatesProto.copy(block: `org.jetbrains.kotlin.gradle.idea.proto.generated.tcs`.IdeaKotlinBinaryCoordinatesProtoKt.Dsl.() -> kotlin.Unit): org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCoordinatesProto =
  `org.jetbrains.kotlin.gradle.idea.proto.generated.tcs`.IdeaKotlinBinaryCoordinatesProtoKt.Dsl._create(this.toBuilder()).apply { block() }._build()

public val org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCoordinatesProtoOrBuilder.attributesOrNull: org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryAttributesProto?
  get() = if (hasAttributes()) getAttributes() else null

