Package-level declarations

Types

Link copied to clipboard
sealed class Arity

Base class representing an element's arity.

Link copied to clipboard
sealed class DataType

Base class for all PIG data types, including primitives and products, records and sums.

Link copied to clipboard
data class NamedElement(val identifier: String, val tag: String, val typeReference: TypeRef, val metas: MetaContainer)

An element of a product or record.

Link copied to clipboard
data class PermutedDomain(val tag: String, val permutesDomain: String, val excludedTypes: List<String>, val includedTypes: List<DataType.UserType>, val permutedSums: List<PermutedSum>, val metas: MetaContainer) : Statement

Represents differences to another type domain expressed as deltas.

Link copied to clipboard
data class PermutedSum(val tag: String, val removedVariants: List<String>, val addedVariants: List<DataType.UserType.Tuple>, val metas: MetaContainer)

Represents differences to a sum in the domain being permuted.

Link copied to clipboard

Encapsulates all error context information in an easily testable way.

Link copied to clipboard
sealed class Statement

Base class for top level statements of a type universe definition.

Link copied to clipboard
data class Transform(val sourceDomainTag: String, val destinationDomainTag: String, val metas: MetaContainer) : Statement

Transforms will generate target specific code to aid in the transformation of one type domain to another.

Link copied to clipboard

Indicates the type of tuple.

Link copied to clipboard

Annotations that are allowed on a UserType definition

Link copied to clipboard
class TypeDomain(val tag: String, val userTypes: List<DataType.UserType>, val metas: MetaContainer = emptyMetaContainer()) : Statement

Represents a fully defined type domain.

Link copied to clipboard
data class TypeRef(val typeName: String, val arity: Arity, val metas: MetaContainer)
Link copied to clipboard
data class TypeUniverse(val statements: List<Statement>)

Functions

Link copied to clipboard

Performs semantic checking for TypeDomain.

Link copied to clipboard
fun semanticError(blame: IonLocation?, context: ErrorContext): Nothing
fun semanticError(blame: MetaContainer, context: ErrorContext): Nothing

Shortcut for throwing PigException with the specified metas and PigError.