All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.autonomousapps.model.intermediates.consumer.kt Maven / Gradle / Ivy

There is a newer version: 2.0.2
Show newest version
package com.autonomousapps.model.intermediates

import com.autonomousapps.model.CodeSource
import com.squareup.moshi.JsonClass

/** A single source file (e.g., `.java`, `.kt`) in this project. */
@JsonClass(generateAdapter = false)
internal data class ExplodingSourceCode(
  val relativePath: String,
  val className: String,
  val kind: CodeSource.Kind,
  val imports: Set
) : Comparable {

  override fun compareTo(other: ExplodingSourceCode): Int = relativePath.compareTo(other.relativePath)
}

@JsonClass(generateAdapter = false)
internal data class ExplodingBytecode(
  val relativePath: String,
  val className: String,
  val sourceFile: String?,
  /** Every class discovered in the bytecode of [className]. */
  val usedClasses: Set
)

@JsonClass(generateAdapter = false)
internal data class ExplodingAbi(
  val className: String,
  val sourceFile: String?,
  /** Every class discovered in the bytecode of [className], and which is exposed as part of the ABI. */
  val exposedClasses: Set
) : Comparable {
  override fun compareTo(other: ExplodingAbi): Int = className.compareTo(other.className)
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy