Package-level declarations

Types

Link copied to clipboard
object Atlas
Link copied to clipboard
class AtlasException(val problem: AtlasProblem) : Exception
Link copied to clipboard
sealed interface AtlasProblem

A reason an atlas input cannot be used. source is the file path the caller passed.

Link copied to clipboard
data class BadClassification(val detail: String) : AtlasProblem
Link copied to clipboard
data class BadDataset(val detail: String) : AtlasProblem
Link copied to clipboard
data class BadDiff(val detail: String) : AtlasProblem
Link copied to clipboard
data class BadHeader(val source: String, val detail: String) : AtlasProblem
Link copied to clipboard
class Cell(val status: ProbeStatus, val transcript: String)
Link copied to clipboard
Link copied to clipboard
class ClassCount(val probes: Int, val divergent: Int)
Link copied to clipboard
class ClassificationData(val issuesRead: List<String>, val entries: List<ClassificationEntry>)
Link copied to clipboard
class ClassificationEntry(val id: String, val classification: Classification, val basis: String, val causes: List<String>, val downgradedFrom: Classification?, val references: List<Reference>, val issues: List<IssueRef>, val searched: String?, val repro: String?, val columns: Map<String, List<List<String>>>, val lines: List<LineNote>, val note: String)

What is known about one probe, read from atlas/classification.yml. columns holds, per Kotlin version where the probe diverges, the groups of targets with identical output.

Link copied to clipboard
Link copied to clipboard
class Column(val source: String, val target: String, val version: String, val cells: Map<String, Cell>)

One transcript file: every probe result of one target on one Kotlin version.

Link copied to clipboard
data class ColumnKey(val target: String, val version: String)
Link copied to clipboard
class Comparison(val dataset: Dataset, val device: Column)

One device transcript against every column of a dataset. Only the rendering has levels.

Link copied to clipboard
class Dataset(val probes: List<ProbeEntry>)

The Kotlin probe results of every recorded column. Rows hold one cell per target and Kotlin version; divergence is judged inside one version and versions never merge.

Link copied to clipboard
class DatasetCell(val key: ColumnKey, val status: ProbeStatus, val lines: List<String>)
Link copied to clipboard
data class DuplicateColumn(val label: String, val first: String, val second: String) : AtlasProblem
Link copied to clipboard
data class DuplicateProbe(val source: String, val id: String) : AtlasProblem
Link copied to clipboard
class Here(comparison: Comparison, version: String)

This device against the recorded columns of one Kotlin version, as atlas here prints it.

Link copied to clipboard
class IssueRef(val id: String, val state: String, val resolved: String?, val summary: String, val url: String? = null)

A tracker issue with the state it had when the research read it. A Kotlin issue has no url; an issue in another tracker names its page there.

Link copied to clipboard
class LineNote(val line: String, val cause: String, val columns: String, val issue: String?)

One differing line of a probe, with the cause class and the columns that differ.

Link copied to clipboard
data class MissingProbes(val source: String, val ids: List<String>) : AtlasProblem
Link copied to clipboard
data class NoSuchProbe(val id: String) : AtlasProblem
Link copied to clipboard
Link copied to clipboard
object Oracle

Gives every divergent line of the dataset one OracleKind, from the transcripts and the decides lists of the references alone. The same input gives the same text on every target.

Link copied to clipboard

What can be said about a divergent line. Only DOCUMENTED_CONTRACT and CRASH are reportable; the other two are shown and never offered for filing.

Link copied to clipboard
class OracleLine(val probe: ProbeEntry, val version: String, val line: String, val kind: OracleKind, val contract: Reference?, val changed: List<String>, val results: List<Pair<List<String>, String>>)

One divergent line of a probe at one Kotlin version. line is Oracle.WHOLE_PROBE when a column failed instead of printing values. results groups the targets by what they printed, changed lists the targets that print something else on another version, and contract is the reference whose quote states the expected value.

Link copied to clipboard
class ProbeChange(val probe: ProbeEntry, val target: String, val before: DatasetCell, val after: DatasetCell)

One probe on one target whose transcript differs between two Kotlin versions.

Link copied to clipboard
class ProbeComparison(val probe: ProbeEntry, val deviceLines: List<String>?, val matches: List<ColumnKey>, val differs: List<ColumnKey>)

ProbeComparison.deviceLines is null when this device has no result for the probe.

Link copied to clipboard
class ProbeEntry(val id: String, val question: String, val source: String, val info: ClassificationEntry, cells: List<DatasetCell>)
Link copied to clipboard
class Reference(val url: String, val quote: String, val decides: List<String> = emptyList())

A page and the sentence read from it. decides names the transcript lines whose expected value the sentence states; a sentence that only allows variation leaves it empty.

Link copied to clipboard
object Show
Link copied to clipboard
Link copied to clipboard
data class TruncatedTranscript(val source: String, val detail: String) : AtlasProblem
Link copied to clipboard
data class UnknownProbe(val source: String, val ids: List<String>) : AtlasProblem
Link copied to clipboard
Link copied to clipboard
class VersionDiff(val dataset: Dataset, from: String, to: String, target: String? = null)

What changed between two compiler versions on the targets measured on both. A target measured on only one of the versions is listed and never compared.

Properties

Link copied to clipboard