decorated

package
v0.0.13 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 16, 2023 License: MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AppendError added in v0.0.9

func CallIsExternal added in v0.0.6

func CallIsExternal(fn Expression) (*ast.FunctionDeclarationExpression, bool)

func LogicalOperatorToString added in v0.0.4

func LogicalOperatorToString(operatorType LogicalOperatorType) string

func ModuleTypeToString added in v0.0.4

func ModuleTypeToString(moduleType ModuleType) string

func TraverseToString

func TraverseToString(t dtype.Type) string

Types

type AliasReference added in v0.0.4

type AliasReference struct {
	// contains filtered or unexported fields
}

func NewAliasReference added in v0.0.4

func NewAliasReference(definitionReference *dectype.NamedDefinitionTypeReference, referencedType *dectype.AliasReference) *AliasReference

func (*AliasReference) FetchPositionLength added in v0.0.4

func (c *AliasReference) FetchPositionLength() token.SourceFileReference

func (*AliasReference) HumanReadable added in v0.0.5

func (c *AliasReference) HumanReadable() string

func (*AliasReference) NameReference added in v0.0.5

func (*AliasReference) String added in v0.0.4

func (c *AliasReference) String() string

func (*AliasReference) Type added in v0.0.4

func (c *AliasReference) Type() dtype.Type

func (*AliasReference) TypeAliasReference added in v0.0.5

func (c *AliasReference) TypeAliasReference() *dectype.AliasReference

type AlreadyHandledCustomTypeVariant

type AlreadyHandledCustomTypeVariant struct {
	// contains filtered or unexported fields
}

func NewAlreadyHandledCustomTypeVariant

func NewAlreadyHandledCustomTypeVariant(caseExpression *ast.CaseForCustomType, consequence *ast.CaseConsequenceForCustomType, unhandledVariant *dectype.CustomTypeVariantAtom) *AlreadyHandledCustomTypeVariant

func (*AlreadyHandledCustomTypeVariant) Error

func (*AlreadyHandledCustomTypeVariant) FetchPositionLength

type ArithmeticOperator

type ArithmeticOperator struct {
	BinaryOperator
	// contains filtered or unexported fields
}

func NewArithmeticOperator

func NewArithmeticOperator(infix *ast.BinaryOperator, left Expression, right Expression, operatorType ArithmeticOperatorType) (*ArithmeticOperator, decshared.DecoratedError)

func (*ArithmeticOperator) FetchPositionLength

func (a *ArithmeticOperator) FetchPositionLength() token.SourceFileReference

func (*ArithmeticOperator) Left

func (a *ArithmeticOperator) Left() Expression

func (*ArithmeticOperator) OperatorType

func (a *ArithmeticOperator) OperatorType() ArithmeticOperatorType

func (*ArithmeticOperator) Right

func (a *ArithmeticOperator) Right() Expression

func (*ArithmeticOperator) String

func (a *ArithmeticOperator) String() string

type ArithmeticOperatorType

type ArithmeticOperatorType uint
const (
	ArithmeticPlus ArithmeticOperatorType = iota
	ArithmeticMinus
	ArithmeticMultiply
	ArithmeticDivide
	ArithmeticRemainder
	ArithmeticAppend
	ArithmeticCons
	ArithmeticFixedMultiply
	ArithmeticFixedDivide
)

type ArithmeticUnaryOperator

type ArithmeticUnaryOperator struct {
	UnaryOperator
	// contains filtered or unexported fields
}

func (*ArithmeticUnaryOperator) FetchPositionLength

func (a *ArithmeticUnaryOperator) FetchPositionLength() token.SourceFileReference

func (*ArithmeticUnaryOperator) Left

func (*ArithmeticUnaryOperator) OperatorType

func (*ArithmeticUnaryOperator) String

func (a *ArithmeticUnaryOperator) String() string

type ArithmeticUnaryOperatorType

type ArithmeticUnaryOperatorType uint
const (
	ArithmeticUnaryMinus ArithmeticUnaryOperatorType = iota
)

type ArrayLiteral

type ArrayLiteral struct {
	// contains filtered or unexported fields
}

func NewArrayLiteral

func NewArrayLiteral(astArrayLiteral *ast.ArrayLiteral, t dtype.Type, expressions []Expression) *ArrayLiteral

func (*ArrayLiteral) AstArrayLiteral

func (c *ArrayLiteral) AstArrayLiteral() *ast.ArrayLiteral

func (*ArrayLiteral) Expressions

func (c *ArrayLiteral) Expressions() []Expression

func (*ArrayLiteral) FetchPositionLength

func (c *ArrayLiteral) FetchPositionLength() token.SourceFileReference

func (*ArrayLiteral) HumanReadable added in v0.0.2

func (c *ArrayLiteral) HumanReadable() string

func (*ArrayLiteral) String

func (c *ArrayLiteral) String() string

func (*ArrayLiteral) Type

func (c *ArrayLiteral) Type() dtype.Type

type BinaryOperator

type BinaryOperator struct {
	ExpressionNode
	// contains filtered or unexported fields
}

func (*BinaryOperator) FetchPositionLength

func (b *BinaryOperator) FetchPositionLength() token.SourceFileReference

func (*BinaryOperator) Left

func (b *BinaryOperator) Left() Expression

func (*BinaryOperator) Right

func (b *BinaryOperator) Right() Expression

func (*BinaryOperator) String

func (b *BinaryOperator) String() string

type BitwiseOperator

type BitwiseOperator struct {
	BinaryOperator
	// contains filtered or unexported fields
}

func NewBitwiseOperator

func NewBitwiseOperator(infix *ast.BinaryOperator, left Expression, right Expression, operatorType BitwiseOperatorType) (*BitwiseOperator, decshared.DecoratedError)

func (*BitwiseOperator) FetchPositionLength

func (a *BitwiseOperator) FetchPositionLength() token.SourceFileReference

func (*BitwiseOperator) Left

func (a *BitwiseOperator) Left() Expression

func (*BitwiseOperator) OperatorType

func (a *BitwiseOperator) OperatorType() BitwiseOperatorType

func (*BitwiseOperator) Right

func (a *BitwiseOperator) Right() Expression

func (*BitwiseOperator) String

func (a *BitwiseOperator) String() string

type BitwiseOperatorType

type BitwiseOperatorType uint
const (
	BitwiseOr BitwiseOperatorType = iota
	BitwiseAnd
	BitwiseXor
	BitwiseShiftLeft
	BitwiseShiftRight
	BitwiseNot
)

type BitwiseUnaryOperator

type BitwiseUnaryOperator struct {
	UnaryOperator
	// contains filtered or unexported fields
}

func (*BitwiseUnaryOperator) FetchPositionLength

func (a *BitwiseUnaryOperator) FetchPositionLength() token.SourceFileReference

func (*BitwiseUnaryOperator) Left

func (a *BitwiseUnaryOperator) Left() Expression

func (*BitwiseUnaryOperator) OperatorType

func (*BitwiseUnaryOperator) String

func (a *BitwiseUnaryOperator) String() string

type BitwiseUnaryOperatorType

type BitwiseUnaryOperatorType uint
const (
	BitwiseUnaryNot BitwiseUnaryOperatorType = iota
)

type BooleanLiteral

type BooleanLiteral struct {
	// contains filtered or unexported fields
}

func NewBooleanLiteral

func NewBooleanLiteral(boolean *ast.BooleanLiteral, globalBooleanType dtype.Type) *BooleanLiteral

func (*BooleanLiteral) FetchPositionLength

func (i *BooleanLiteral) FetchPositionLength() token.SourceFileReference

func (*BooleanLiteral) String

func (i *BooleanLiteral) String() string

func (*BooleanLiteral) Type

func (i *BooleanLiteral) Type() dtype.Type

func (*BooleanLiteral) Value

func (i *BooleanLiteral) Value() bool

type BooleanOperator

type BooleanOperator struct {
	BinaryOperator
	// contains filtered or unexported fields
}

func NewBooleanOperator

func NewBooleanOperator(infix *ast.BinaryOperator, left Expression, right Expression, operatorType BooleanOperatorType, booleanType dtype.Type) (*BooleanOperator, decshared.DecoratedError)

func (*BooleanOperator) FetchPositionLength

func (l *BooleanOperator) FetchPositionLength() token.SourceFileReference

func (*BooleanOperator) Left

func (l *BooleanOperator) Left() Expression

func (*BooleanOperator) OperatorType

func (l *BooleanOperator) OperatorType() BooleanOperatorType

func (*BooleanOperator) Right

func (l *BooleanOperator) Right() Expression

func (*BooleanOperator) String

func (l *BooleanOperator) String() string

type BooleanOperatorType

type BooleanOperatorType uint
const (
	BooleanEqual BooleanOperatorType = iota
	BooleanNotEqual
	BooleanLess
	BooleanLessOrEqual
	BooleanGreater
	BooleanGreaterOrEqual
)

type ByAssignmentName

type ByAssignmentName []*RecordLiteralAssignment

func (ByAssignmentName) Len

func (a ByAssignmentName) Len() int

func (ByAssignmentName) Less

func (a ByAssignmentName) Less(i, j int) bool

func (ByAssignmentName) Swap

func (a ByAssignmentName) Swap(i, j int)

type CaseConsequenceForCustomType added in v0.0.2

type CaseConsequenceForCustomType struct {
	// contains filtered or unexported fields
}

func NewCaseConsequenceForCustomType added in v0.0.2

func NewCaseConsequenceForCustomType(internalIndex int, variantName *dectype.CustomTypeVariantReference, parameters []*CaseConsequenceParameterForCustomType,
	expression Expression, astConsequence *ast.CaseConsequenceForCustomType) *CaseConsequenceForCustomType

func (*CaseConsequenceForCustomType) AstConsequence added in v0.0.2

func (*CaseConsequenceForCustomType) Expression added in v0.0.2

func (c *CaseConsequenceForCustomType) Expression() Expression

func (*CaseConsequenceForCustomType) InternalIndex added in v0.0.2

func (c *CaseConsequenceForCustomType) InternalIndex() int

func (*CaseConsequenceForCustomType) Parameters added in v0.0.2

func (*CaseConsequenceForCustomType) String added in v0.0.2

func (*CaseConsequenceForCustomType) VariantReference added in v0.0.2

type CaseConsequenceForPatternMatching added in v0.0.2

type CaseConsequenceForPatternMatching struct {
	// contains filtered or unexported fields
}

func NewCaseConsequencePatternMatching

func NewCaseConsequencePatternMatching(astConsequence *ast.CaseConsequencePatternMatching, internalIndex int, literal Expression, expression Expression) *CaseConsequenceForPatternMatching

func (*CaseConsequenceForPatternMatching) AstConsequence added in v0.0.2

func (*CaseConsequenceForPatternMatching) Expression added in v0.0.2

func (*CaseConsequenceForPatternMatching) InternalIndex added in v0.0.2

func (c *CaseConsequenceForPatternMatching) InternalIndex() int

func (*CaseConsequenceForPatternMatching) Literal added in v0.0.2

func (*CaseConsequenceForPatternMatching) String added in v0.0.2

type CaseConsequenceParameterForCustomType added in v0.0.2

type CaseConsequenceParameterForCustomType struct {
	// contains filtered or unexported fields
}

func NewCaseConsequenceParameterForCustomType added in v0.0.2

func NewCaseConsequenceParameterForCustomType(name *ast.VariableIdentifier, parameterType dtype.Type) *CaseConsequenceParameterForCustomType

func (*CaseConsequenceParameterForCustomType) AddReferee added in v0.0.2

func (*CaseConsequenceParameterForCustomType) FetchPositionLength added in v0.0.2

func (*CaseConsequenceParameterForCustomType) HumanReadable added in v0.0.2

func (c *CaseConsequenceParameterForCustomType) HumanReadable() string

func (*CaseConsequenceParameterForCustomType) Identifier added in v0.0.2

func (*CaseConsequenceParameterForCustomType) References added in v0.0.2

func (*CaseConsequenceParameterForCustomType) String added in v0.0.2

func (*CaseConsequenceParameterForCustomType) Type added in v0.0.2

type CaseConsequenceParameterReference added in v0.0.2

type CaseConsequenceParameterReference struct {
	// contains filtered or unexported fields
}

func NewCaseConsequenceParameterReference added in v0.0.2

func NewCaseConsequenceParameterReference(ident ast.ScopedOrNormalVariableIdentifier,
	referencedParameter *CaseConsequenceParameterForCustomType) *CaseConsequenceParameterReference

func (*CaseConsequenceParameterReference) FetchPositionLength added in v0.0.2

func (*CaseConsequenceParameterReference) HumanReadable added in v0.0.2

func (g *CaseConsequenceParameterReference) HumanReadable() string

func (*CaseConsequenceParameterReference) Identifier added in v0.0.2

func (*CaseConsequenceParameterReference) ParameterRef added in v0.0.2

func (*CaseConsequenceParameterReference) String added in v0.0.2

func (*CaseConsequenceParameterReference) Type added in v0.0.2

type CaseCouldNotFindCustomVariantType

type CaseCouldNotFindCustomVariantType struct {
	// contains filtered or unexported fields
}

func NewCaseCouldNotFindCustomVariantType

func NewCaseCouldNotFindCustomVariantType(caseExpression *ast.CaseForCustomType, consequence *ast.CaseConsequenceForCustomType) *CaseCouldNotFindCustomVariantType

func (*CaseCouldNotFindCustomVariantType) Error

func (*CaseCouldNotFindCustomVariantType) FetchPositionLength

type CaseCustomType

type CaseCustomType struct {
	// contains filtered or unexported fields
}

func NewCaseCustomType

func NewCaseCustomType(caseExpression *ast.CaseForCustomType, test Expression, cases []*CaseConsequenceForCustomType, defaultCase Expression) (*CaseCustomType, decshared.DecoratedError)

func (*CaseCustomType) AstCaseCustomType

func (i *CaseCustomType) AstCaseCustomType() *ast.CaseForCustomType

func (*CaseCustomType) Consequences

func (i *CaseCustomType) Consequences() []*CaseConsequenceForCustomType

func (*CaseCustomType) DebugString

func (i *CaseCustomType) DebugString() string

func (*CaseCustomType) DefaultCase

func (i *CaseCustomType) DefaultCase() Expression

func (*CaseCustomType) FetchPositionLength

func (i *CaseCustomType) FetchPositionLength() token.SourceFileReference

func (*CaseCustomType) String

func (i *CaseCustomType) String() string

func (*CaseCustomType) Test

func (i *CaseCustomType) Test() Expression

func (*CaseCustomType) Type

func (i *CaseCustomType) Type() dtype.Type

type CaseForPatternMatching added in v0.0.2

type CaseForPatternMatching struct {
	// contains filtered or unexported fields
}

func NewCaseForPatternMatching added in v0.0.2

func NewCaseForPatternMatching(astCase *ast.CaseForPatternMatching, test Expression, cases []*CaseConsequenceForPatternMatching, defaultCase Expression) (*CaseForPatternMatching, decshared.DecoratedError)

func (*CaseForPatternMatching) AstCasePatternMatching added in v0.0.2

func (i *CaseForPatternMatching) AstCasePatternMatching() *ast.CaseForPatternMatching

func (*CaseForPatternMatching) ComparisonType added in v0.0.4

func (i *CaseForPatternMatching) ComparisonType() dtype.Type

func (*CaseForPatternMatching) Consequences added in v0.0.2

func (*CaseForPatternMatching) DebugString added in v0.0.2

func (i *CaseForPatternMatching) DebugString() string

func (*CaseForPatternMatching) DefaultCase added in v0.0.2

func (i *CaseForPatternMatching) DefaultCase() Expression

func (*CaseForPatternMatching) FetchPositionLength added in v0.0.2

func (i *CaseForPatternMatching) FetchPositionLength() token.SourceFileReference

func (*CaseForPatternMatching) String added in v0.0.2

func (i *CaseForPatternMatching) String() string

func (*CaseForPatternMatching) Test added in v0.0.2

func (*CaseForPatternMatching) Type added in v0.0.2

func (i *CaseForPatternMatching) Type() dtype.Type

type CaseWrongParameterCountInCustomTypeVariant

type CaseWrongParameterCountInCustomTypeVariant struct {
	// contains filtered or unexported fields
}

func NewCaseWrongParameterCountInCustomTypeVariant

func NewCaseWrongParameterCountInCustomTypeVariant(caseExpression *ast.CaseForCustomType, consequence *ast.CaseConsequenceForCustomType, unhandledVariant *dectype.CustomTypeVariantAtom) *CaseWrongParameterCountInCustomTypeVariant

func (*CaseWrongParameterCountInCustomTypeVariant) Error

func (*CaseWrongParameterCountInCustomTypeVariant) FetchPositionLength

type CastOperator added in v0.0.4

type CastOperator struct {
	// contains filtered or unexported fields
}

func NewCastOperator added in v0.0.4

func NewCastOperator(expression Expression, castToType *AliasReference, infix *ast.BinaryOperator) *CastOperator

func (*CastOperator) AliasReference added in v0.0.5

func (c *CastOperator) AliasReference() *AliasReference

func (*CastOperator) Expression added in v0.0.4

func (c *CastOperator) Expression() Expression

func (*CastOperator) FetchPositionLength added in v0.0.4

func (c *CastOperator) FetchPositionLength() token.SourceFileReference

func (*CastOperator) HumanReadable added in v0.0.4

func (c *CastOperator) HumanReadable() string

func (*CastOperator) String added in v0.0.4

func (c *CastOperator) String() string

func (*CastOperator) Type added in v0.0.4

func (c *CastOperator) Type() dtype.Type

type CharacterLiteral

type CharacterLiteral struct {
	// contains filtered or unexported fields
}

func NewCharacterLiteral

func NewCharacterLiteral(str *ast.CharacterLiteral, globalCharacterType dtype.Type) *CharacterLiteral

func (*CharacterLiteral) FetchPositionLength

func (i *CharacterLiteral) FetchPositionLength() token.SourceFileReference

func (*CharacterLiteral) String

func (i *CharacterLiteral) String() string

func (*CharacterLiteral) Type

func (i *CharacterLiteral) Type() dtype.Type

func (*CharacterLiteral) Value

func (i *CharacterLiteral) Value() rune

type CircularDependencyDetected added in v0.0.4

type CircularDependencyDetected struct {
	// contains filtered or unexported fields
}

func NewCircularDependencyDetected added in v0.0.4

func NewCircularDependencyDetected(packageRelativeModuleName dectype.PackageRelativeModuleName, loadedModules []dectype.PackageRelativeModuleName, lastModule dectype.ArtifactFullyQualifiedModuleName) *CircularDependencyDetected

func (*CircularDependencyDetected) Error added in v0.0.4

func (*CircularDependencyDetected) FetchPositionLength added in v0.0.4

func (e *CircularDependencyDetected) FetchPositionLength() token.SourceFileReference

type Comment

type Comment interface {
	MarkdownString() string
}

type ConsOperator

type ConsOperator struct {
	BinaryOperator
}

func NewConsOperator

func NewConsOperator(leftItem Expression, rightList Expression, refMaker TypeAddAndReferenceMaker) (*ConsOperator, decshared.DecoratedError)

func (*ConsOperator) FetchPositionLength

func (a *ConsOperator) FetchPositionLength() token.SourceFileReference

func (*ConsOperator) Left

func (a *ConsOperator) Left() Expression

func (*ConsOperator) Right

func (a *ConsOperator) Right() Expression

func (*ConsOperator) String

func (a *ConsOperator) String() string

type Constant

type Constant struct {
	// contains filtered or unexported fields
}

func NewConstant

func NewConstant(identifier ast.ScopedOrNormalVariableIdentifier, astConstant *ast.ConstantDefinition, expression Expression, localCommentBlock *ast.MultilineComment) *Constant

func (*Constant) AddReferee added in v0.0.4

func (a *Constant) AddReferee(ref *ConstantReference)

func (*Constant) AstConstant added in v0.0.4

func (c *Constant) AstConstant() *ast.ConstantDefinition

func (*Constant) CommentBlock added in v0.0.4

func (c *Constant) CommentBlock() *ast.MultilineComment

func (*Constant) Expression

func (c *Constant) Expression() Expression

func (*Constant) FetchPositionLength

func (c *Constant) FetchPositionLength() token.SourceFileReference

func (*Constant) HumanReadable

func (c *Constant) HumanReadable() string

func (*Constant) References added in v0.0.4

func (a *Constant) References() []*ConstantReference

func (*Constant) StatementString added in v0.0.4

func (n *Constant) StatementString() string

func (*Constant) String

func (c *Constant) String() string

func (*Constant) Type

func (c *Constant) Type() dtype.Type

type ConstantReference added in v0.0.4

type ConstantReference struct {
	// contains filtered or unexported fields
}

func NewConstantReference added in v0.0.4

func NewConstantReference(definitionReference *NamedDefinitionReference,
	referencedConstant *Constant) *ConstantReference

func (*ConstantReference) Constant added in v0.0.4

func (g *ConstantReference) Constant() *Constant

func (*ConstantReference) DebugString added in v0.0.4

func (g *ConstantReference) DebugString() string

func (*ConstantReference) FetchPositionLength added in v0.0.4

func (g *ConstantReference) FetchPositionLength() token.SourceFileReference

func (*ConstantReference) HumanReadable added in v0.0.4

func (g *ConstantReference) HumanReadable() string

func (*ConstantReference) Identifier added in v0.0.4

func (*ConstantReference) NameReference added in v0.0.4

func (g *ConstantReference) NameReference() *NamedDefinitionReference

func (*ConstantReference) String added in v0.0.4

func (g *ConstantReference) String() string

func (*ConstantReference) Type added in v0.0.4

func (g *ConstantReference) Type() dtype.Type

type ConstructorArgumentTypeMismatch

type ConstructorArgumentTypeMismatch struct {
	// contains filtered or unexported fields
}

func NewConstructorArgumentTypeMismatch

func NewConstructorArgumentTypeMismatch(call *ast.ConstructorCall, expectedType dtype.Type, hasType dtype.Type, err error) *ConstructorArgumentTypeMismatch

func (*ConstructorArgumentTypeMismatch) Error

func (*ConstructorArgumentTypeMismatch) FetchPositionLength

type CouldNotFindDefinitionOrTypeForIdentifier

type CouldNotFindDefinitionOrTypeForIdentifier struct {
	// contains filtered or unexported fields
}

func (*CouldNotFindDefinitionOrTypeForIdentifier) Error

func (*CouldNotFindDefinitionOrTypeForIdentifier) FetchPositionLength

type CouldNotFindFieldInLookup

type CouldNotFindFieldInLookup struct {
	// contains filtered or unexported fields
}

func NewCouldNotFindFieldInLookup

func NewCouldNotFindFieldInLookup(lookups *ast.Lookups, variable *ast.VariableIdentifier, typeToLookupIn dtype.Type) *CouldNotFindFieldInLookup

func (*CouldNotFindFieldInLookup) Error

func (e *CouldNotFindFieldInLookup) Error() string

func (*CouldNotFindFieldInLookup) FetchPositionLength

func (e *CouldNotFindFieldInLookup) FetchPositionLength() token.SourceFileReference

type CouldNotFindIdentifierInLookups

type CouldNotFindIdentifierInLookups struct {
	// contains filtered or unexported fields
}

func NewCouldNotFindIdentifierInLookups

func NewCouldNotFindIdentifierInLookups(lookups *ast.Lookups) *CouldNotFindIdentifierInLookups

func (*CouldNotFindIdentifierInLookups) Error

func (*CouldNotFindIdentifierInLookups) FetchPositionLength

type CouldNotFindTypeForTypeIdentifier

type CouldNotFindTypeForTypeIdentifier struct {
	// contains filtered or unexported fields
}

func NewCouldNotFindTypeForTypeIdentifier

func NewCouldNotFindTypeForTypeIdentifier(ident *ast.TypeIdentifier) *CouldNotFindTypeForTypeIdentifier

func (*CouldNotFindTypeForTypeIdentifier) Error

func (*CouldNotFindTypeForTypeIdentifier) FetchPositionLength

type CouldNotSmashFunctions

type CouldNotSmashFunctions struct {
	// contains filtered or unexported fields
}

func NewCouldNotSmashFunctions

func NewCouldNotSmashFunctions(call *ast.FunctionCall, expected *dectype.FunctionAtom, encountered *dectype.FunctionAtom, err error) *CouldNotSmashFunctions

func (*CouldNotSmashFunctions) Error

func (e *CouldNotSmashFunctions) Error() string

func (*CouldNotSmashFunctions) FetchPositionLength

func (e *CouldNotSmashFunctions) FetchPositionLength() token.SourceFileReference

type CurryFunction

type CurryFunction struct {
	// contains filtered or unexported fields
}

func NewCurryFunction

func NewCurryFunction(astFunctionCall *ast.FunctionCall, curryFunctionType *dectype.FunctionAtom, functionValueExpression Expression, argumentsToSave []Expression) *CurryFunction

func (*CurryFunction) ArgumentsToSave

func (c *CurryFunction) ArgumentsToSave() []Expression

func (*CurryFunction) AstFunctionCall added in v0.0.2

func (c *CurryFunction) AstFunctionCall() *ast.FunctionCall

func (*CurryFunction) FetchPositionLength

func (c *CurryFunction) FetchPositionLength() token.SourceFileReference

func (*CurryFunction) FunctionAtom added in v0.0.4

func (c *CurryFunction) FunctionAtom() *dectype.FunctionAtom

func (*CurryFunction) FunctionValue

func (c *CurryFunction) FunctionValue() Expression

func (*CurryFunction) HumanReadable added in v0.0.2

func (c *CurryFunction) HumanReadable() string

func (*CurryFunction) String

func (c *CurryFunction) String() string

func (*CurryFunction) Type

func (c *CurryFunction) Type() dtype.Type

type CustomTypeVariantConstructor

type CustomTypeVariantConstructor struct {
	// contains filtered or unexported fields
}

func NewCustomTypeVariantConstructor

func NewCustomTypeVariantConstructor(customTypeVariantReference *dectype.CustomTypeVariantReference,
	arguments []Expression) *CustomTypeVariantConstructor

func (*CustomTypeVariantConstructor) Arguments

func (c *CustomTypeVariantConstructor) Arguments() []Expression

func (*CustomTypeVariantConstructor) CustomTypeVariant

func (*CustomTypeVariantConstructor) CustomTypeVariantIndex

func (c *CustomTypeVariantConstructor) CustomTypeVariantIndex() int

func (*CustomTypeVariantConstructor) FetchPositionLength

func (c *CustomTypeVariantConstructor) FetchPositionLength() token.SourceFileReference

func (*CustomTypeVariantConstructor) HumanReadable

func (c *CustomTypeVariantConstructor) HumanReadable() string

func (*CustomTypeVariantConstructor) Reference

func (*CustomTypeVariantConstructor) String

func (*CustomTypeVariantConstructor) Type

type EveryItemInThelistMustHaveTheSameType

type EveryItemInThelistMustHaveTheSameType struct {
	ExpectedType dtype.Type
	ActualType   dtype.Type
	// contains filtered or unexported fields
}

func NewEveryItemInThelistMustHaveTheSameType

func NewEveryItemInThelistMustHaveTheSameType(list *ast.ListLiteral, faultyExpression ast.Expression, expectedType dtype.Type, actualType dtype.Type, compatibleErr error) *EveryItemInThelistMustHaveTheSameType

func (*EveryItemInThelistMustHaveTheSameType) Error

func (*EveryItemInThelistMustHaveTheSameType) FetchPositionLength

type ExpectedCustomTypeVariantConstructor

type ExpectedCustomTypeVariantConstructor struct {
	// contains filtered or unexported fields
}

func NewExpectedCustomTypeVariantConstructor

func NewExpectedCustomTypeVariantConstructor(call *ast.ConstructorCall) *ExpectedCustomTypeVariantConstructor

func (*ExpectedCustomTypeVariantConstructor) Error

func (*ExpectedCustomTypeVariantConstructor) FetchPositionLength

type ExpectedFunctionType

type ExpectedFunctionType struct {
	// contains filtered or unexported fields
}

func NewExpectedFunctionType

func NewExpectedFunctionType(expected dtype.Type, encountered ast.Expression) *ExpectedFunctionType

func (*ExpectedFunctionType) Error

func (e *ExpectedFunctionType) Error() string

func (*ExpectedFunctionType) FetchPositionLength

func (e *ExpectedFunctionType) FetchPositionLength() token.SourceFileReference

type ExpectedFunctionTypeForCall

type ExpectedFunctionTypeForCall struct {
	// contains filtered or unexported fields
}

func NewExpectedFunctionTypeForCall

func NewExpectedFunctionTypeForCall(encountered Expression) *ExpectedFunctionTypeForCall

func (*ExpectedFunctionTypeForCall) Error

func (*ExpectedFunctionTypeForCall) FetchPositionLength

func (e *ExpectedFunctionTypeForCall) FetchPositionLength() token.SourceFileReference

type ExposedTypes

type ExposedTypes struct {
	// contains filtered or unexported fields
}

func NewExposedTypes

func NewExposedTypes(module *Module) *ExposedTypes

func (*ExposedTypes) AddBuiltInTypes

func (t *ExposedTypes) AddBuiltInTypes(name *ast.TypeIdentifier, referencedType dtype.Type, localComments []ast.LocalComment) TypeError

func (*ExposedTypes) AddTypes

func (e *ExposedTypes) AddTypes(allTypes []*ImportedType, importedModule *ImportedModule)

func (*ExposedTypes) AddTypesFromModule added in v0.0.2

func (e *ExposedTypes) AddTypesFromModule(allTypes []NamedType, module *Module)

func (*ExposedTypes) AddTypesWithModulePrefix

func (e *ExposedTypes) AddTypesWithModulePrefix(allTypes map[string]dtype.Type, prefix dectype.PackageRelativeModuleName)

func (*ExposedTypes) AllInOrderTypes added in v0.0.6

func (e *ExposedTypes) AllInOrderTypes() []*ImportedType

func (*ExposedTypes) DebugString

func (e *ExposedTypes) DebugString() string

func (*ExposedTypes) FindBuiltInType

func (e *ExposedTypes) FindBuiltInType(s string) dtype.Type

func (*ExposedTypes) FindType

func (e *ExposedTypes) FindType(complete *ast.TypeIdentifier) *ImportedType

type Expression

type Expression interface {
	Node
	Type() dtype.Type
}

type ExpressionNode

type ExpressionNode struct {
	// contains filtered or unexported fields
}

func (ExpressionNode) Type

func (d ExpressionNode) Type() dtype.Type

type ExternalFunctionDeclarationExpression added in v0.0.12

type ExternalFunctionDeclarationExpression struct {
	// contains filtered or unexported fields
}

func NewExternalFunctionDeclarationExpression added in v0.0.12

func NewExternalFunctionDeclarationExpression(astFunctionDeclaration *ast.FunctionDeclarationExpression) *ExternalFunctionDeclarationExpression

func (*ExternalFunctionDeclarationExpression) FetchPositionLength added in v0.0.12

func (*ExternalFunctionDeclarationExpression) String added in v0.0.12

func (*ExternalFunctionDeclarationExpression) Type added in v0.0.12

type ExtraFunctionArguments

type ExtraFunctionArguments struct {
	// contains filtered or unexported fields
}

func NewExtraFunctionArguments

func NewExtraFunctionArguments(posLength token.SourceFileReference, expected []dtype.Type, encountered []dtype.Type) *ExtraFunctionArguments

func (*ExtraFunctionArguments) Error

func (e *ExtraFunctionArguments) Error() string

func (*ExtraFunctionArguments) FetchPositionLength

func (e *ExtraFunctionArguments) FetchPositionLength() token.SourceFileReference

type FixedLiteral

type FixedLiteral struct {
	// contains filtered or unexported fields
}

func NewFixedLiteral

func NewFixedLiteral(integer *ast.FixedLiteral, globalFixedType dtype.Type) *FixedLiteral

func (*FixedLiteral) FetchPositionLength

func (i *FixedLiteral) FetchPositionLength() token.SourceFileReference

func (*FixedLiteral) String

func (i *FixedLiteral) String() string

func (*FixedLiteral) Type

func (i *FixedLiteral) Type() dtype.Type

func (*FixedLiteral) Value

func (i *FixedLiteral) Value() int32

type FullyQualifiedPackageVariableName added in v0.0.4

type FullyQualifiedPackageVariableName struct {
	// contains filtered or unexported fields
}

func NewFullyQualifiedVariableName

func NewFullyQualifiedVariableName(module *Module, identifier *ast.VariableIdentifier) *FullyQualifiedPackageVariableName

func (*FullyQualifiedPackageVariableName) Identifier added in v0.0.4

func (*FullyQualifiedPackageVariableName) ResolveToString added in v0.0.4

func (q *FullyQualifiedPackageVariableName) ResolveToString() string

func (*FullyQualifiedPackageVariableName) String added in v0.0.4

type FunctionArgumentTypeMismatch

type FunctionArgumentTypeMismatch struct {
	UnMatchingTypesError
	// contains filtered or unexported fields
}

func NewFunctionArgumentTypeMismatch

func NewFunctionArgumentTypeMismatch(symbolToken token.SourceFileReference, decoratedArgument Expression, expression ast.Expression, expectedType dtype.Type, hasType dtype.Type, err error) *FunctionArgumentTypeMismatch

func (*FunctionArgumentTypeMismatch) Error

func (*FunctionArgumentTypeMismatch) FetchPositionLength

func (e *FunctionArgumentTypeMismatch) FetchPositionLength() token.SourceFileReference

type FunctionCall

type FunctionCall struct {
	// contains filtered or unexported fields
}

func NewFunctionCall

func NewFunctionCall(astFunctionCall *ast.FunctionCall, functionValueExpression Expression, smashedFunctionType *dectype.FunctionAtom, assignments []Expression) *FunctionCall

func (*FunctionCall) Arguments

func (c *FunctionCall) Arguments() []Expression

func (*FunctionCall) AstFunctionCall

func (c *FunctionCall) AstFunctionCall() *ast.FunctionCall

func (*FunctionCall) FetchPositionLength

func (c *FunctionCall) FetchPositionLength() token.SourceFileReference

func (*FunctionCall) FunctionExpression

func (c *FunctionCall) FunctionExpression() Expression

func (*FunctionCall) HumanReadable

func (c *FunctionCall) HumanReadable() string

func (*FunctionCall) SmashedFunctionType added in v0.0.4

func (c *FunctionCall) SmashedFunctionType() *dectype.FunctionAtom

func (*FunctionCall) String

func (c *FunctionCall) String() string

func (*FunctionCall) Type

func (c *FunctionCall) Type() dtype.Type

type FunctionCallTypeMismatch

type FunctionCallTypeMismatch struct {
	// contains filtered or unexported fields
}

func NewFunctionCallTypeMismatch

func NewFunctionCallTypeMismatch(err error, call *ast.FunctionCall, expected *dectype.FunctionAtom, encountered *dectype.FunctionAtom) *FunctionCallTypeMismatch

func (*FunctionCallTypeMismatch) Error

func (e *FunctionCallTypeMismatch) Error() string

func (*FunctionCallTypeMismatch) FetchPositionLength

func (e *FunctionCallTypeMismatch) FetchPositionLength() token.SourceFileReference

type FunctionName

type FunctionName struct {
	// contains filtered or unexported fields
}

func NewFunctionName

func NewFunctionName(identifier *ast.VariableIdentifier, value *FunctionValue) *FunctionName

func (*FunctionName) FetchPositionLength

func (f *FunctionName) FetchPositionLength() token.SourceFileReference

func (*FunctionName) FunctionValue

func (f *FunctionName) FunctionValue() *FunctionValue

func (*FunctionName) HumanReadable

func (f *FunctionName) HumanReadable() string

func (*FunctionName) Ident

func (f *FunctionName) Ident() *ast.VariableIdentifier

func (*FunctionName) String

func (f *FunctionName) String() string

type FunctionParameterDefinition

type FunctionParameterDefinition struct {
	// contains filtered or unexported fields
}

func NewFunctionParameterDefinition

func NewFunctionParameterDefinition(identifier *ast.FunctionParameter, convertedType dtype.Type) *FunctionParameterDefinition

func (*FunctionParameterDefinition) AddReferee

func (*FunctionParameterDefinition) FetchPositionLength

func (a *FunctionParameterDefinition) FetchPositionLength() token.SourceFileReference

func (*FunctionParameterDefinition) HumanReadable

func (a *FunctionParameterDefinition) HumanReadable() string

func (*FunctionParameterDefinition) Parameter added in v0.0.12

func (*FunctionParameterDefinition) References

func (*FunctionParameterDefinition) String

func (a *FunctionParameterDefinition) String() string

func (*FunctionParameterDefinition) Type

func (*FunctionParameterDefinition) WasReferenced added in v0.0.4

func (a *FunctionParameterDefinition) WasReferenced() bool

type FunctionParameterReference

type FunctionParameterReference struct {
	// contains filtered or unexported fields
}

func (*FunctionParameterReference) FetchPositionLength

func (g *FunctionParameterReference) FetchPositionLength() token.SourceFileReference

func (*FunctionParameterReference) HumanReadable

func (g *FunctionParameterReference) HumanReadable() string

func (*FunctionParameterReference) Identifier

func (*FunctionParameterReference) ParameterRef

func (*FunctionParameterReference) String

func (g *FunctionParameterReference) String() string

func (*FunctionParameterReference) Type

type FunctionReference

type FunctionReference struct {
	// contains filtered or unexported fields
}

func NewFunctionReference

func NewFunctionReference(definitionReference *NamedDefinitionReference,
	referencedFunctionValue *FunctionValue) *FunctionReference

func (*FunctionReference) DebugString

func (g *FunctionReference) DebugString() string

func (*FunctionReference) FetchPositionLength

func (g *FunctionReference) FetchPositionLength() token.SourceFileReference

func (*FunctionReference) FunctionValue

func (g *FunctionReference) FunctionValue() *FunctionValue

func (*FunctionReference) HumanReadable

func (g *FunctionReference) HumanReadable() string

func (*FunctionReference) Identifier

func (*FunctionReference) NameReference

func (g *FunctionReference) NameReference() *NamedDefinitionReference

func (*FunctionReference) String

func (g *FunctionReference) String() string

func (*FunctionReference) Type

func (g *FunctionReference) Type() dtype.Type

type FunctionValue

type FunctionValue struct {
	// contains filtered or unexported fields
}

func NewPrepareFunctionValue added in v0.0.4

func NewPrepareFunctionValue(astFunction *ast.FunctionValue, forcedFunctionType dectype.FunctionTypeLike, parameters []*FunctionParameterDefinition, commentBlock *ast.MultilineComment) *FunctionValue

func (*FunctionValue) AddReferee

func (f *FunctionValue) AddReferee(ref *FunctionReference)

func (*FunctionValue) AstFunctionValue

func (f *FunctionValue) AstFunctionValue() *ast.FunctionValue

func (*FunctionValue) CommentBlock

func (f *FunctionValue) CommentBlock() *ast.MultilineComment

func (*FunctionValue) DefineExpression added in v0.0.4

func (f *FunctionValue) DefineExpression(decoratedExpression Expression)

func (*FunctionValue) Expression

func (f *FunctionValue) Expression() Expression

func (*FunctionValue) FetchPositionLength

func (f *FunctionValue) FetchPositionLength() token.SourceFileReference

func (*FunctionValue) ForcedFunctionType

func (f *FunctionValue) ForcedFunctionType() dectype.FunctionTypeLike

func (*FunctionValue) HumanReadable

func (f *FunctionValue) HumanReadable() string

func (*FunctionValue) IsSomeKindOfExternal added in v0.0.12

func (f *FunctionValue) IsSomeKindOfExternal() bool

func (*FunctionValue) Next

func (f *FunctionValue) Next() dtype.Type

func (*FunctionValue) Parameters

func (f *FunctionValue) Parameters() []*FunctionParameterDefinition

func (*FunctionValue) References

func (f *FunctionValue) References() []*FunctionReference

func (*FunctionValue) Resolve

func (f *FunctionValue) Resolve() (dtype.Atom, error)

func (*FunctionValue) String

func (f *FunctionValue) String() string

func (*FunctionValue) Type

func (f *FunctionValue) Type() dtype.Type

type Guard

type Guard struct {
	// contains filtered or unexported fields
}

func NewGuard

func NewGuard(astGuard *ast.GuardExpression, items []*GuardItem, defaultGuard *GuardItemDefault) (*Guard, decshared.DecoratedError)

func (*Guard) AstGuard

func (i *Guard) AstGuard() *ast.GuardExpression

func (*Guard) DebugString

func (i *Guard) DebugString() string

func (*Guard) DefaultGuard

func (i *Guard) DefaultGuard() *GuardItemDefault

func (*Guard) FetchPositionLength

func (i *Guard) FetchPositionLength() token.SourceFileReference

func (*Guard) Items

func (i *Guard) Items() []*GuardItem

func (*Guard) String

func (i *Guard) String() string

func (*Guard) Type

func (i *Guard) Type() dtype.Type

type GuardConsequenceAndAlternativeMustHaveSameType added in v0.0.2

type GuardConsequenceAndAlternativeMustHaveSameType struct {
	// contains filtered or unexported fields
}

func NewGuardConsequenceAndAlternativeMustHaveSameType added in v0.0.2

func NewGuardConsequenceAndAlternativeMustHaveSameType(guardExpression *ast.GuardExpression, first Expression, alternative Expression, compatibleErr error) *GuardConsequenceAndAlternativeMustHaveSameType

func (*GuardConsequenceAndAlternativeMustHaveSameType) Error added in v0.0.2

func (*GuardConsequenceAndAlternativeMustHaveSameType) FetchPositionLength added in v0.0.2

type GuardItem

type GuardItem struct {
	// contains filtered or unexported fields
}

func NewGuardItem

func NewGuardItem(astGuardItem ast.GuardItem, internalIndex int, condition Expression, consequence Expression) *GuardItem

func (*GuardItem) AstGuardItem

func (c *GuardItem) AstGuardItem() ast.GuardItem

func (*GuardItem) Condition

func (c *GuardItem) Condition() Expression

func (*GuardItem) Expression

func (c *GuardItem) Expression() Expression

func (*GuardItem) InternalIndex

func (c *GuardItem) InternalIndex() int

func (*GuardItem) String

func (c *GuardItem) String() string

type GuardItemDefault

type GuardItemDefault struct {
	// contains filtered or unexported fields
}

func NewGuardItemDefault

func NewGuardItemDefault(guardDefault *ast.GuardDefault, internalIndex int, consequence Expression) *GuardItemDefault

func (*GuardItemDefault) AstGuardDefault

func (c *GuardItemDefault) AstGuardDefault() *ast.GuardDefault

func (*GuardItemDefault) Expression

func (c *GuardItemDefault) Expression() Expression

func (*GuardItemDefault) InternalIndex

func (c *GuardItemDefault) InternalIndex() int

func (*GuardItemDefault) String added in v0.0.7

func (c *GuardItemDefault) String() string

type HumanReadEnabler

type HumanReadEnabler interface {
	HumanReadable() string
}

type If

type If struct {
	// contains filtered or unexported fields
}

func NewIf

func NewIf(astIf *ast.IfExpression, condition Expression, consequence Expression, alternative Expression) *If

func (*If) Alternative

func (l *If) Alternative() Expression

func (*If) AstIf

func (l *If) AstIf() *ast.IfExpression

func (*If) Condition

func (l *If) Condition() Expression

func (*If) Consequence

func (l *If) Consequence() Expression

func (*If) FetchPositionLength

func (l *If) FetchPositionLength() token.SourceFileReference

func (*If) String

func (l *If) String() string

func (*If) Type

func (l *If) Type() dtype.Type

type IfConsequenceAndAlternativeMustHaveSameType

type IfConsequenceAndAlternativeMustHaveSameType struct {
	// contains filtered or unexported fields
}

func NewIfConsequenceAndAlternativeMustHaveSameType

func NewIfConsequenceAndAlternativeMustHaveSameType(ifExpression *ast.IfExpression, consequence Expression, alternative Expression, compatibleErr error) *IfConsequenceAndAlternativeMustHaveSameType

func (*IfConsequenceAndAlternativeMustHaveSameType) Error

func (*IfConsequenceAndAlternativeMustHaveSameType) FetchPositionLength

type IfTestMustHaveBooleanType

type IfTestMustHaveBooleanType struct {
	// contains filtered or unexported fields
}

func NewIfTestMustHaveBooleanType

func NewIfTestMustHaveBooleanType(ifExpression *ast.IfExpression, ifTestExpression Expression) *IfTestMustHaveBooleanType

func (*IfTestMustHaveBooleanType) Error

func (e *IfTestMustHaveBooleanType) Error() string

func (*IfTestMustHaveBooleanType) FetchPositionLength

func (e *IfTestMustHaveBooleanType) FetchPositionLength() token.SourceFileReference

type ImportStatement

type ImportStatement struct {
	// contains filtered or unexported fields
}

func NewImport

func NewImport(astImport *ast.Import, moduleReference *ModuleReference, alias *ModuleReference, exposeAll bool) *ImportStatement

func (*ImportStatement) AddReference added in v0.0.4

func (l *ImportStatement) AddReference(statementReference *ImportStatementReference)

func (*ImportStatement) Alias

func (l *ImportStatement) Alias() *ModuleReference

func (*ImportStatement) AstImport

func (l *ImportStatement) AstImport() *ast.Import

func (*ImportStatement) ExposeAll added in v0.0.2

func (l *ImportStatement) ExposeAll() bool

func (*ImportStatement) FetchPositionLength

func (l *ImportStatement) FetchPositionLength() token.SourceFileReference

func (*ImportStatement) ImportAsName added in v0.0.2

func (l *ImportStatement) ImportAsName() *ModuleReference

func (*ImportStatement) MarkAsReferenced added in v0.0.4

func (l *ImportStatement) MarkAsReferenced()

func (*ImportStatement) Module

func (l *ImportStatement) Module() *Module

func (*ImportStatement) ModuleReference

func (l *ImportStatement) ModuleReference() *ModuleReference

func (*ImportStatement) StatementString

func (l *ImportStatement) StatementString() string

func (*ImportStatement) String

func (l *ImportStatement) String() string

func (*ImportStatement) WasReferenced added in v0.0.4

func (l *ImportStatement) WasReferenced() bool

type ImportStatementReference added in v0.0.4

type ImportStatementReference struct {
	// contains filtered or unexported fields
}

func NewImportStatementReference added in v0.0.4

func NewImportStatementReference(importStatement *ImportStatement) *ImportStatementReference

func (*ImportStatementReference) ImportStatement added in v0.0.4

func (l *ImportStatementReference) ImportStatement() *ImportStatement

func (*ImportStatementReference) StatementString added in v0.0.4

func (l *ImportStatementReference) StatementString() string

func (*ImportStatementReference) String added in v0.0.4

func (l *ImportStatementReference) String() string

type ImportedDefinition added in v0.0.2

type ImportedDefinition struct {
	// contains filtered or unexported fields
}

func NewImportedDefinition added in v0.0.2

func NewImportedDefinition(createdBy *ImportedModule, identifier *ast.VariableIdentifier, referencedDefinition ModuleDef) *ImportedDefinition

func (*ImportedDefinition) CreatedBy added in v0.0.2

func (d *ImportedDefinition) CreatedBy() *ImportedModule

func (*ImportedDefinition) Definition added in v0.0.2

func (d *ImportedDefinition) Definition() ModuleDef

func (*ImportedDefinition) Expression added in v0.0.2

func (d *ImportedDefinition) Expression() Expression

func (*ImportedDefinition) FullyQualifiedVariableName added in v0.0.2

func (d *ImportedDefinition) FullyQualifiedVariableName() *FullyQualifiedPackageVariableName

func (*ImportedDefinition) Identifier added in v0.0.2

func (d *ImportedDefinition) Identifier() *ast.VariableIdentifier

func (*ImportedDefinition) IsExternal added in v0.0.4

func (d *ImportedDefinition) IsExternal() bool

func (*ImportedDefinition) IsInternal added in v0.0.2

func (d *ImportedDefinition) IsInternal() bool

func (*ImportedDefinition) MarkAsReferenced added in v0.0.2

func (d *ImportedDefinition) MarkAsReferenced()

func (*ImportedDefinition) OwnedByModule added in v0.0.2

func (d *ImportedDefinition) OwnedByModule() *Module

func (*ImportedDefinition) ShortString added in v0.0.4

func (d *ImportedDefinition) ShortString() string

func (*ImportedDefinition) String added in v0.0.2

func (d *ImportedDefinition) String() string

func (*ImportedDefinition) WasReferenced added in v0.0.2

func (d *ImportedDefinition) WasReferenced() bool

type ImportedModule added in v0.0.2

type ImportedModule struct {
	// contains filtered or unexported fields
}

func NewImportedModule added in v0.0.2

func NewImportedModule(referencedModule *Module, importStatementInModule *ImportStatement) *ImportedModule

func (*ImportedModule) ImportStatementInModule added in v0.0.2

func (i *ImportedModule) ImportStatementInModule() *ImportStatement

func (*ImportedModule) MarkAsReferenced added in v0.0.2

func (i *ImportedModule) MarkAsReferenced()

func (*ImportedModule) ModuleName added in v0.0.2

func (i *ImportedModule) ModuleName() *ast.ModuleReference

func (*ImportedModule) ReferencedModule added in v0.0.2

func (i *ImportedModule) ReferencedModule() *Module

func (*ImportedModule) String added in v0.0.2

func (i *ImportedModule) String() string

func (*ImportedModule) WasReferenced added in v0.0.2

func (i *ImportedModule) WasReferenced() bool

type ImportedType added in v0.0.2

type ImportedType struct {
	// contains filtered or unexported fields
}

func (*ImportedType) CreatedByModuleImport added in v0.0.2

func (i *ImportedType) CreatedByModuleImport() *ImportedModule

func (*ImportedType) MarkAsReferenced added in v0.0.2

func (i *ImportedType) MarkAsReferenced()

func (*ImportedType) ReferencedType added in v0.0.2

func (i *ImportedType) ReferencedType() dtype.Type

func (*ImportedType) String added in v0.0.2

func (i *ImportedType) String() string

func (*ImportedType) WasReferenced added in v0.0.2

func (i *ImportedType) WasReferenced() bool

type IntegerLiteral

type IntegerLiteral struct {
	// contains filtered or unexported fields
}

func NewIntegerLiteral

func NewIntegerLiteral(integer *ast.IntegerLiteral, globalIntegerType dtype.Type) *IntegerLiteral

func (*IntegerLiteral) FetchPositionLength

func (i *IntegerLiteral) FetchPositionLength() token.SourceFileReference

func (*IntegerLiteral) String

func (i *IntegerLiteral) String() string

func (*IntegerLiteral) Type

func (i *IntegerLiteral) Type() dtype.Type

func (*IntegerLiteral) Value

func (i *IntegerLiteral) Value() int32

type InternalError

type InternalError struct {
	// contains filtered or unexported fields
}

func NewInternalError

func NewInternalError(err error) *InternalError

func (*InternalError) Error

func (e *InternalError) Error() string

func (*InternalError) FetchPositionLength

func (e *InternalError) FetchPositionLength() token.SourceFileReference

type Let

type Let struct {
	// contains filtered or unexported fields
}

func NewLet

func NewLet(let *ast.Let, assignments []*LetAssignment, consequence Expression) *Let

func (*Let) Assignments

func (l *Let) Assignments() []*LetAssignment

func (*Let) AstLet

func (l *Let) AstLet() *ast.Let

func (*Let) Consequence

func (l *Let) Consequence() Expression

func (*Let) FetchPositionLength

func (l *Let) FetchPositionLength() token.SourceFileReference

func (*Let) String

func (l *Let) String() string

func (*Let) Type

func (l *Let) Type() dtype.Type

type LetAssignment

type LetAssignment struct {
	// contains filtered or unexported fields
}

func NewLetAssignment

func NewLetAssignment(astLetAssignment ast.LetAssignment, letVariables []*LetVariable, expression Expression) *LetAssignment

func (*LetAssignment) Expression

func (l *LetAssignment) Expression() Expression

func (*LetAssignment) FetchPositionLength

func (l *LetAssignment) FetchPositionLength() token.SourceFileReference

func (*LetAssignment) LetVariables added in v0.0.2

func (l *LetAssignment) LetVariables() []*LetVariable

func (*LetAssignment) String

func (l *LetAssignment) String() string

func (*LetAssignment) Type

func (l *LetAssignment) Type() dtype.Type

func (*LetAssignment) WasRecordDestructuring added in v0.0.4

func (l *LetAssignment) WasRecordDestructuring() bool

type LetVariable

type LetVariable struct {
	// contains filtered or unexported fields
}

func NewLetVariable

func NewLetVariable(name *ast.VariableIdentifier, variableType dtype.Type, comment *ast.MultilineComment) *LetVariable

func (*LetVariable) AddReferee

func (l *LetVariable) AddReferee(ref *LetVariableReference)

func (*LetVariable) Comment

func (l *LetVariable) Comment() *ast.MultilineComment

func (*LetVariable) FetchPositionLength

func (l *LetVariable) FetchPositionLength() token.SourceFileReference

func (*LetVariable) HumanReadable

func (l *LetVariable) HumanReadable() string

func (*LetVariable) IsIgnore added in v0.0.4

func (l *LetVariable) IsIgnore() bool

func (*LetVariable) Name

func (l *LetVariable) Name() *ast.VariableIdentifier

func (*LetVariable) References

func (l *LetVariable) References() []*LetVariableReference

func (*LetVariable) String

func (l *LetVariable) String() string

func (*LetVariable) Type

func (l *LetVariable) Type() dtype.Type

func (*LetVariable) WasReferenced added in v0.0.4

func (l *LetVariable) WasReferenced() bool

type LetVariableReference

type LetVariableReference struct {
	// contains filtered or unexported fields
}

func NewLetVariableReference

func NewLetVariableReference(ident ast.ScopedOrNormalVariableIdentifier, assignment *LetVariable) *LetVariableReference

func (*LetVariableReference) FetchPositionLength

func (g *LetVariableReference) FetchPositionLength() token.SourceFileReference

func (*LetVariableReference) HumanReadable

func (g *LetVariableReference) HumanReadable() string

func (*LetVariableReference) LetVariable

func (g *LetVariableReference) LetVariable() *LetVariable

func (*LetVariableReference) String

func (g *LetVariableReference) String() string

func (*LetVariableReference) Type

func (g *LetVariableReference) Type() dtype.Type

type ListLiteral

type ListLiteral struct {
	// contains filtered or unexported fields
}

func NewListLiteral

func NewListLiteral(astLiteral *ast.ListLiteral, t dtype.Type, expressions []Expression) *ListLiteral

func (*ListLiteral) AstListLiteral

func (c *ListLiteral) AstListLiteral() *ast.ListLiteral

func (*ListLiteral) Expressions

func (c *ListLiteral) Expressions() []Expression

func (*ListLiteral) FetchPositionLength

func (c *ListLiteral) FetchPositionLength() token.SourceFileReference

func (*ListLiteral) HumanReadable added in v0.0.2

func (c *ListLiteral) HumanReadable() string

func (*ListLiteral) String

func (c *ListLiteral) String() string

func (*ListLiteral) Type

func (c *ListLiteral) Type() dtype.Type

type LogicalOperator

type LogicalOperator struct {
	BinaryOperator
	// contains filtered or unexported fields
}

func NewLogicalOperator

func NewLogicalOperator(left Expression, right Expression, operatorType LogicalOperatorType, booleanType dtype.Type) (*LogicalOperator, decshared.DecoratedError)

func (*LogicalOperator) FetchPositionLength

func (l *LogicalOperator) FetchPositionLength() token.SourceFileReference

func (*LogicalOperator) Left

func (l *LogicalOperator) Left() Expression

func (*LogicalOperator) OperatorType

func (l *LogicalOperator) OperatorType() LogicalOperatorType

func (*LogicalOperator) Right

func (l *LogicalOperator) Right() Expression

func (*LogicalOperator) String

func (l *LogicalOperator) String() string

type LogicalOperatorLeftMustBeBoolean

type LogicalOperatorLeftMustBeBoolean struct {
	// contains filtered or unexported fields
}

func NewLogicalOperatorLeftMustBeBoolean

func NewLogicalOperatorLeftMustBeBoolean(operator *LogicalOperator, typeA Expression, booleanType dtype.Type) *LogicalOperatorLeftMustBeBoolean

func (*LogicalOperatorLeftMustBeBoolean) Error

func (*LogicalOperatorLeftMustBeBoolean) FetchPositionLength

type LogicalOperatorRightMustBeBoolean

type LogicalOperatorRightMustBeBoolean struct {
	// contains filtered or unexported fields
}

func NewLogicalOperatorRightMustBeBoolean

func NewLogicalOperatorRightMustBeBoolean(operator *LogicalOperator, typeA Expression, booleanType dtype.Type) *LogicalOperatorRightMustBeBoolean

func (*LogicalOperatorRightMustBeBoolean) Error

func (*LogicalOperatorRightMustBeBoolean) FetchPositionLength

type LogicalOperatorType

type LogicalOperatorType uint
const (
	LogicalAnd LogicalOperatorType = iota
	LogicalOr
)

type LogicalOperatorsMustBeBoolean

type LogicalOperatorsMustBeBoolean struct {
	// contains filtered or unexported fields
}

func NewLogicalOperatorsMustBeBoolean

func NewLogicalOperatorsMustBeBoolean(operator *ast.BinaryOperator, typeA Expression, typeB Expression) *LogicalOperatorsMustBeBoolean

func (*LogicalOperatorsMustBeBoolean) Error

func (*LogicalOperatorsMustBeBoolean) FetchPositionLength

func (e *LogicalOperatorsMustBeBoolean) FetchPositionLength() token.SourceFileReference

type LogicalUnaryOperator

type LogicalUnaryOperator struct {
	UnaryOperator
	// contains filtered or unexported fields
}

func (*LogicalUnaryOperator) FetchPositionLength

func (a *LogicalUnaryOperator) FetchPositionLength() token.SourceFileReference

func (*LogicalUnaryOperator) Left

func (a *LogicalUnaryOperator) Left() Expression

func (*LogicalUnaryOperator) OperatorType

func (*LogicalUnaryOperator) String

func (a *LogicalUnaryOperator) String() string

type LogicalUnaryOperatorType

type LogicalUnaryOperatorType uint
const (
	LogicalUnaryNot LogicalUnaryOperatorType = iota
)

type LookupField

type LookupField struct {
	// contains filtered or unexported fields
}

func NewLookupField

func NewLookupField(reference *RecordTypeFieldReference) LookupField

func (LookupField) FetchPositionLength

func (l LookupField) FetchPositionLength() token.SourceFileReference

func (LookupField) Identifier

func (l LookupField) Identifier() *ast.VariableIdentifier

func (LookupField) Index

func (l LookupField) Index() int

func (LookupField) MemoryOffset added in v0.0.4

func (l LookupField) MemoryOffset() dectype.MemoryOffset

func (LookupField) MemorySize added in v0.0.4

func (l LookupField) MemorySize() dectype.MemorySize

func (LookupField) RecordTypeFieldReference added in v0.0.4

func (l LookupField) RecordTypeFieldReference() *RecordTypeFieldReference

func (LookupField) String

func (l LookupField) String() string

type Module

type Module struct {
	// contains filtered or unexported fields
}

func NewModule

func NewModule(moduleType ModuleType, fullyQualifiedModuleName dectype.ArtifactFullyQualifiedModuleName, sourceFileUri *token.SourceFileDocument) *Module

func (*Module) AddReference

func (m *Module) AddReference(ref *ModuleReference)

func (*Module) DebugOutput

func (m *Module) DebugOutput(debug string)

func (*Module) DebugString

func (m *Module) DebugString() string

func (*Module) Declarations

func (m *Module) Declarations() *ModuleDeclarations

func (*Module) Document

func (m *Module) Document() *token.SourceFileDocument

func (*Module) ExposedDefinitions

func (m *Module) ExposedDefinitions() *ModuleReferenceDefinitions

func (*Module) ExposedTypes

func (m *Module) ExposedTypes() *ExposedTypes

func (*Module) FetchPositionLength

func (m *Module) FetchPositionLength() token.SourceFileReference

func (*Module) FullyQualifiedModuleName

func (m *Module) FullyQualifiedModuleName() dectype.ArtifactFullyQualifiedModuleName

func (*Module) FullyQualifiedName

func (m *Module) FullyQualifiedName(identifier *ast.VariableIdentifier) *FullyQualifiedPackageVariableName

func (*Module) ImportedDefinitions

func (m *Module) ImportedDefinitions() *ModuleImportedDefinitions

func (*Module) ImportedModules

func (m *Module) ImportedModules() *ModuleImports

func (*Module) ImportedTypes

func (m *Module) ImportedTypes() *ExposedTypes

func (*Module) IsInternal

func (m *Module) IsInternal() bool

func (*Module) LocalAndImportedDefinitions

func (m *Module) LocalAndImportedDefinitions() *ModuleDefinitionsCombine

func (*Module) LocalDefinitions added in v0.0.4

func (m *Module) LocalDefinitions() *ModuleDefinitions

func (*Module) LocalTypes added in v0.0.4

func (m *Module) LocalTypes() *ModuleTypes

func (*Module) MarkAsInternal

func (m *Module) MarkAsInternal()

func (*Module) ModuleType added in v0.0.4

func (m *Module) ModuleType() ModuleType

func (*Module) Nodes

func (m *Module) Nodes() []TypeOrToken

func (*Module) Program

func (m *Module) Program() *ast.SourceFile

func (*Module) References

func (m *Module) References() []*ModuleReference

func (*Module) RootNodes

func (m *Module) RootNodes() []Node

func (*Module) SetProgram

func (m *Module) SetProgram(program *ast.SourceFile)

func (*Module) SetRootNodes

func (m *Module) SetRootNodes(nodes []Node)

func (*Module) ShortString

func (m *Module) ShortString() string

func (*Module) String

func (m *Module) String() string

type ModuleDeclarations

type ModuleDeclarations struct {
	// contains filtered or unexported fields
}

func NewModuleDeclarations

func NewModuleDeclarations(ownedByModule *Module) *ModuleDeclarations

func (*ModuleDeclarations) AddDeclaration

func (d *ModuleDeclarations) AddDeclaration(identifier *ast.VariableIdentifier, declaredType dtype.Type) error

func (*ModuleDeclarations) String

func (t *ModuleDeclarations) String() string

type ModuleDef added in v0.0.2

type ModuleDef interface {
	MarkAsReferenced()
	Expression() Expression
	Identifier() *ast.VariableIdentifier
	FullyQualifiedVariableName() *FullyQualifiedPackageVariableName
	OwnedByModule() *Module
	CreatedBy() *ImportedModule
	WasReferenced() bool
	IsInternal() bool
	IsExternal() bool
	ShortString() string
}

type ModuleDefinition

type ModuleDefinition struct {
	// contains filtered or unexported fields
}

func NewModuleDefinition

func NewModuleDefinition(createdIn *ModuleDefinitions, createdBy *ImportedModule, identifier *ast.VariableIdentifier, expr Expression) *ModuleDefinition

func NewModuleDefinitionExternal added in v0.0.4

func NewModuleDefinitionExternal(createdIn *ModuleDefinitions, identifier *ast.VariableIdentifier) *ModuleDefinition

func (*ModuleDefinition) CreatedBy added in v0.0.9

func (d *ModuleDefinition) CreatedBy() *ImportedModule

func (*ModuleDefinition) Expression

func (d *ModuleDefinition) Expression() Expression

func (*ModuleDefinition) FullyQualifiedVariableName

func (d *ModuleDefinition) FullyQualifiedVariableName() *FullyQualifiedPackageVariableName

func (*ModuleDefinition) Identifier

func (d *ModuleDefinition) Identifier() *ast.VariableIdentifier

func (*ModuleDefinition) IsExternal added in v0.0.4

func (d *ModuleDefinition) IsExternal() bool

func (*ModuleDefinition) IsInternal added in v0.0.2

func (d *ModuleDefinition) IsInternal() bool

func (*ModuleDefinition) MarkAsReferenced

func (d *ModuleDefinition) MarkAsReferenced()

func (*ModuleDefinition) OwnedByModule added in v0.0.2

func (d *ModuleDefinition) OwnedByModule() *Module

func (*ModuleDefinition) ParentDefinitions

func (d *ModuleDefinition) ParentDefinitions() *ModuleDefinitions

func (*ModuleDefinition) ShortString

func (d *ModuleDefinition) ShortString() string

func (*ModuleDefinition) String

func (d *ModuleDefinition) String() string

func (*ModuleDefinition) WasReferenced

func (d *ModuleDefinition) WasReferenced() bool

type ModuleDefinitions

type ModuleDefinitions struct {
	// contains filtered or unexported fields
}

func NewModuleDefinitions

func NewModuleDefinitions(ownedByModule *Module) *ModuleDefinitions

func (*ModuleDefinitions) AddDecoratedExpression

func (d *ModuleDefinitions) AddDecoratedExpression(identifier *ast.VariableIdentifier, importModule *ImportedModule, expr Expression) error

func (*ModuleDefinitions) AddEmptyExternalDefinition added in v0.0.4

func (d *ModuleDefinitions) AddEmptyExternalDefinition(identifier *ast.VariableIdentifier, importModule *ImportedModule) error

func (*ModuleDefinitions) CopyFrom added in v0.0.4

func (d *ModuleDefinitions) CopyFrom(other *ModuleDefinitions) error

func (*ModuleDefinitions) DebugOutput

func (t *ModuleDefinitions) DebugOutput()

func (*ModuleDefinitions) DebugString

func (t *ModuleDefinitions) DebugString() string

func (*ModuleDefinitions) Definitions

func (d *ModuleDefinitions) Definitions() []ModuleDef

func (*ModuleDefinitions) FindDefinitionExpression

func (d *ModuleDefinitions) FindDefinitionExpression(identifier *ast.VariableIdentifier) *ModuleDefinition

func (*ModuleDefinitions) OwnedByModule

func (d *ModuleDefinitions) OwnedByModule() *Module

func (*ModuleDefinitions) ShortString

func (t *ModuleDefinitions) ShortString() string

func (*ModuleDefinitions) String

func (t *ModuleDefinitions) String() string

type ModuleDefinitionsCombine

type ModuleDefinitionsCombine struct {
	// contains filtered or unexported fields
}

func NewModuleDefinitionsCombine

func NewModuleDefinitionsCombine(internalDefinitions *ModuleDefinitions,
	importDefinitions *ModuleImportedDefinitions, importedModules *ModuleImports) *ModuleDefinitionsCombine

func (*ModuleDefinitionsCombine) FindDefinitionExpression

func (d *ModuleDefinitionsCombine) FindDefinitionExpression(identifier *ast.VariableIdentifier) ModuleDef

func (*ModuleDefinitionsCombine) FindScopedDefinitionExpression

func (d *ModuleDefinitionsCombine) FindScopedDefinitionExpression(identifier *ast.VariableIdentifierScoped) ModuleDef

type ModuleError

type ModuleError struct {
	// contains filtered or unexported fields
}

func NewModuleError

func NewModuleError(sourceFile string, err decshared.DecoratedError) *ModuleError

func (*ModuleError) Error

func (e *ModuleError) Error() string

func (*ModuleError) FetchPositionLength

func (e *ModuleError) FetchPositionLength() token.SourceFileReference

func (*ModuleError) WrappedError

func (e *ModuleError) WrappedError() decshared.DecoratedError

type ModuleImportedDefinitions added in v0.0.2

type ModuleImportedDefinitions struct {
	// contains filtered or unexported fields
}

func NewModuleImportedDefinitions added in v0.0.2

func NewModuleImportedDefinitions(ownedByModule *Module) *ModuleImportedDefinitions

func (*ModuleImportedDefinitions) AddDefinition added in v0.0.2

func (d *ModuleImportedDefinitions) AddDefinition(identifier *ast.VariableIdentifier, definition *ImportedDefinition) error

func (*ModuleImportedDefinitions) AddDefinitions added in v0.0.2

func (d *ModuleImportedDefinitions) AddDefinitions(definitions []*ImportedDefinition) error

func (*ModuleImportedDefinitions) AddDefinitionsWithModulePrefix added in v0.0.2

func (d *ModuleImportedDefinitions) AddDefinitionsWithModulePrefix(definitions []*ImportedDefinition, relative dectype.PackageRelativeModuleName) error

func (*ModuleImportedDefinitions) DebugOutput added in v0.0.2

func (t *ModuleImportedDefinitions) DebugOutput()

func (*ModuleImportedDefinitions) DebugString added in v0.0.2

func (t *ModuleImportedDefinitions) DebugString() string

func (*ModuleImportedDefinitions) FindDefinition added in v0.0.2

func (d *ModuleImportedDefinitions) FindDefinition(identifier *ast.VariableIdentifier) *ImportedDefinition

func (*ModuleImportedDefinitions) ReferencedDefinitions added in v0.0.2

func (d *ModuleImportedDefinitions) ReferencedDefinitions() []*ImportedDefinition

func (*ModuleImportedDefinitions) ShortString added in v0.0.2

func (t *ModuleImportedDefinitions) ShortString() string

func (*ModuleImportedDefinitions) String added in v0.0.2

func (t *ModuleImportedDefinitions) String() string

type ModuleImports

type ModuleImports struct {
	// contains filtered or unexported fields
}

func NewModuleImports

func NewModuleImports() *ModuleImports

func (*ModuleImports) AllInOrderModules added in v0.0.6

func (m *ModuleImports) AllInOrderModules() []*ImportedModule

func (*ModuleImports) FindModule

func (m *ModuleImports) FindModule(moduleName *ast.ModuleReference) *ImportedModule

func (*ModuleImports) ImportModule

func (m *ModuleImports) ImportModule(moduleName *ast.ModuleReference, module *Module, importStatementInModule *ImportStatement) *ImportedModule

func (*ModuleImports) String

func (m *ModuleImports) String() string

type ModuleNotFoundInDocumentProvider added in v0.0.4

type ModuleNotFoundInDocumentProvider struct {
	// contains filtered or unexported fields
}

func NewModuleNotFoundInDocumentProvider added in v0.0.4

func NewModuleNotFoundInDocumentProvider(relativeModuleName dectype.PackageRelativeModuleName,
	localFileSystemPath string, err error) *ModuleNotFoundInDocumentProvider

func (*ModuleNotFoundInDocumentProvider) Error added in v0.0.4

func (*ModuleNotFoundInDocumentProvider) FetchPositionLength added in v0.0.4

type ModuleReference

type ModuleReference struct {
	// contains filtered or unexported fields
}

func NewModuleReference

func NewModuleReference(identifier *ast.ModuleReference, module *Module) *ModuleReference

func (*ModuleReference) AstModuleReference

func (m *ModuleReference) AstModuleReference() *ast.ModuleReference

func (*ModuleReference) FetchPositionLength

func (m *ModuleReference) FetchPositionLength() token.SourceFileReference

func (*ModuleReference) HumanReadable

func (m *ModuleReference) HumanReadable() string

func (*ModuleReference) Module

func (m *ModuleReference) Module() *Module

func (*ModuleReference) String

func (m *ModuleReference) String() string

type ModuleReferenceDefinitions

type ModuleReferenceDefinitions struct {
	// contains filtered or unexported fields
}

func NewModuleReferenceDefinitions

func NewModuleReferenceDefinitions(ownedByModule *Module) *ModuleReferenceDefinitions

func (*ModuleReferenceDefinitions) AddDefinition

func (d *ModuleReferenceDefinitions) AddDefinition(identifier *ast.VariableIdentifier, importModule *ImportedModule, definition ModuleDef) error

func (*ModuleReferenceDefinitions) AddDefinitions

func (d *ModuleReferenceDefinitions) AddDefinitions(definitions []ModuleDef) error

func (*ModuleReferenceDefinitions) AddDefinitionsWithModulePrefix

func (d *ModuleReferenceDefinitions) AddDefinitionsWithModulePrefix(definitions []*ModuleDefinition, importedModule *ImportedModule, relative dectype.PackageRelativeModuleName) error

func (*ModuleReferenceDefinitions) DebugOutput

func (t *ModuleReferenceDefinitions) DebugOutput(debugString string)

func (*ModuleReferenceDefinitions) DebugString

func (t *ModuleReferenceDefinitions) DebugString() string

func (*ModuleReferenceDefinitions) FindDefinition

func (d *ModuleReferenceDefinitions) FindDefinition(identifier *ast.VariableIdentifier) ModuleDef

func (*ModuleReferenceDefinitions) ReferencedDefinitions

func (d *ModuleReferenceDefinitions) ReferencedDefinitions() []ModuleDef

func (*ModuleReferenceDefinitions) ShortString

func (t *ModuleReferenceDefinitions) ShortString() string

func (*ModuleReferenceDefinitions) String

func (t *ModuleReferenceDefinitions) String() string

type ModuleType added in v0.0.4

type ModuleType = int
const (
	ModuleTypeNormal ModuleType = iota
	ModuleTypeFromPath
	ModuleTypeFromEnvironment
)

type ModuleTypes

type ModuleTypes struct {
	// contains filtered or unexported fields
}

func NewModuleTypes

func NewModuleTypes(sourceModule *Module) *ModuleTypes

func (*ModuleTypes) AddCustomType

func (t *ModuleTypes) AddCustomType(customType *dectype.CustomTypeAtom) TypeError

func (*ModuleTypes) AddTypeAlias

func (t *ModuleTypes) AddTypeAlias(alias *dectype.Alias) TypeError

func (*ModuleTypes) AllInOrderTypes added in v0.0.6

func (t *ModuleTypes) AllInOrderTypes() []NamedType

func (*ModuleTypes) CopyType

func (t *ModuleTypes) CopyType(nameOfType *ast.TypeIdentifier, realType dtype.Type) decshared.DecoratedError

func (*ModuleTypes) CopyTypes

func (t *ModuleTypes) CopyTypes(realTypes []NamedType) decshared.DecoratedError

func (*ModuleTypes) DebugOutput

func (t *ModuleTypes) DebugOutput()

func (*ModuleTypes) DebugString

func (t *ModuleTypes) DebugString() string

func (*ModuleTypes) FindBuiltInType

func (t *ModuleTypes) FindBuiltInType(name string) dtype.Type

func (*ModuleTypes) FindType

func (t *ModuleTypes) FindType(identifier *ast.TypeIdentifier) dtype.Type

-----------------------------------------------------

Find

-----------------------------------------------------

func (*ModuleTypes) InternalAddPrimitive

func (t *ModuleTypes) InternalAddPrimitive(typeIdentifier *ast.TypeIdentifier, atom *dectype.PrimitiveAtom) error

func (*ModuleTypes) SourceModule

func (t *ModuleTypes) SourceModule() *Module

func (*ModuleTypes) String

func (t *ModuleTypes) String() string

type MultiErrors

type MultiErrors struct {
	// contains filtered or unexported fields
}

func NewMultiErrors

func NewMultiErrors(errors []decshared.DecoratedError) *MultiErrors

func (*MultiErrors) Error

func (e *MultiErrors) Error() string

func (*MultiErrors) Errors

func (e *MultiErrors) Errors() []decshared.DecoratedError

func (*MultiErrors) FetchPositionLength

func (e *MultiErrors) FetchPositionLength() token.SourceFileReference

type MultilineComment

type MultilineComment struct {
	// contains filtered or unexported fields
}

func NewMultilineComment

func NewMultilineComment(comment *ast.MultilineComment) *MultilineComment

func (*MultilineComment) AstComment

func (m *MultilineComment) AstComment() *ast.MultilineComment

func (*MultilineComment) DebugString

func (m *MultilineComment) DebugString() string

func (*MultilineComment) FetchPositionLength

func (m *MultilineComment) FetchPositionLength() token.SourceFileReference

func (*MultilineComment) MarkdownString

func (m *MultilineComment) MarkdownString() string

func (*MultilineComment) StatementString

func (m *MultilineComment) StatementString() string

func (*MultilineComment) String

func (m *MultilineComment) String() string

type MustBeCustomType

type MustBeCustomType struct {
	// contains filtered or unexported fields
}

func NewMustBeCustomType

func NewMustBeCustomType(typeA Expression) *MustBeCustomType

func (*MustBeCustomType) Error

func (e *MustBeCustomType) Error() string

func (*MustBeCustomType) FetchPositionLength

func (e *MustBeCustomType) FetchPositionLength() token.SourceFileReference

type NamedDecoratedExpression

type NamedDecoratedExpression struct {
	// contains filtered or unexported fields
}

func NewNamedDecoratedExpression

func NewNamedDecoratedExpression(fullyQualifiedName string, mDef ModuleDef,
	expression Expression) *NamedDecoratedExpression

func NewNamedEmpty added in v0.0.4

func NewNamedEmpty(fullyQualifiedName string, mDef ModuleDef) *NamedDecoratedExpression

func (*NamedDecoratedExpression) Expression

func (n *NamedDecoratedExpression) Expression() Expression

func (*NamedDecoratedExpression) FetchPositionLength

func (n *NamedDecoratedExpression) FetchPositionLength() token.SourceFileReference

func (*NamedDecoratedExpression) FullyQualifiedName

func (n *NamedDecoratedExpression) FullyQualifiedName() string

func (*NamedDecoratedExpression) ModuleDefinition

func (n *NamedDecoratedExpression) ModuleDefinition() ModuleDef

func (*NamedDecoratedExpression) SetReferenced

func (n *NamedDecoratedExpression) SetReferenced()

func (*NamedDecoratedExpression) String

func (n *NamedDecoratedExpression) String() string

func (*NamedDecoratedExpression) Type

func (*NamedDecoratedExpression) WasReferenced

func (n *NamedDecoratedExpression) WasReferenced() bool

type NamedDefinitionReference

type NamedDefinitionReference struct {
	// contains filtered or unexported fields
}

func NewNamedDefinitionReference

func NewNamedDefinitionReference(optionalModuleReference *ModuleReference, ident ast.ScopedOrNormalVariableIdentifier) *NamedDefinitionReference

func (*NamedDefinitionReference) AstIdentifier

func (*NamedDefinitionReference) DebugString

func (r *NamedDefinitionReference) DebugString() string

func (*NamedDefinitionReference) FetchPositionLength

func (r *NamedDefinitionReference) FetchPositionLength() token.SourceFileReference

func (*NamedDefinitionReference) FullyQualified added in v0.0.6

func (*NamedDefinitionReference) FullyQualifiedName added in v0.0.4

func (r *NamedDefinitionReference) FullyQualifiedName() string

func (*NamedDefinitionReference) ModuleReference

func (r *NamedDefinitionReference) ModuleReference() *ModuleReference

func (*NamedDefinitionReference) String

func (r *NamedDefinitionReference) String() string

type NamedFunctionValue

type NamedFunctionValue struct {
	// contains filtered or unexported fields
}

func NewNamedFunctionValue

func NewNamedFunctionValue(identifier *ast.VariableIdentifier, value *FunctionValue) *NamedFunctionValue

func (*NamedFunctionValue) FetchPositionLength

func (n *NamedFunctionValue) FetchPositionLength() token.SourceFileReference

func (*NamedFunctionValue) FunctionName

func (n *NamedFunctionValue) FunctionName() *FunctionName

func (*NamedFunctionValue) StatementString

func (n *NamedFunctionValue) StatementString() string

func (*NamedFunctionValue) String

func (n *NamedFunctionValue) String() string

func (*NamedFunctionValue) Value

func (n *NamedFunctionValue) Value() *FunctionValue

type NamedType added in v0.0.6

type NamedType struct {
	// contains filtered or unexported fields
}

func (NamedType) Name added in v0.0.6

func (n NamedType) Name() string

func (NamedType) RealType added in v0.0.6

func (n NamedType) RealType() dtype.Type

type NewRecordLiteralFieldNotInType

type NewRecordLiteralFieldNotInType struct {
	// contains filtered or unexported fields
}

func NewNewRecordLiteralFieldNotInType

func NewNewRecordLiteralFieldNotInType(assignment *ast.RecordLiteralFieldAssignment, recordType *dectype.RecordAtom) *NewRecordLiteralFieldNotInType

func (*NewRecordLiteralFieldNotInType) Error

func (*NewRecordLiteralFieldNotInType) FetchPositionLength

func (e *NewRecordLiteralFieldNotInType) FetchPositionLength() token.SourceFileReference

type Node

type Node interface {
	FetchPositionLength() token.SourceFileReference
	String() string
}

type PipeLeftOperator

type PipeLeftOperator struct {
	BinaryOperator
	// contains filtered or unexported fields
}

func NewPipeLeftOperator

func NewPipeLeftOperator(left Expression, right Expression, calculatedLeftExpression Expression) *PipeLeftOperator

func (*PipeLeftOperator) FetchPositionLength

func (b *PipeLeftOperator) FetchPositionLength() token.SourceFileReference

func (*PipeLeftOperator) GenerateLeft

func (b *PipeLeftOperator) GenerateLeft() Expression

func (*PipeLeftOperator) String

func (b *PipeLeftOperator) String() string

type PipeRightOperator

type PipeRightOperator struct {
	BinaryOperator
	// contains filtered or unexported fields
}

func NewPipeRightOperator

func NewPipeRightOperator(left Expression, right Expression, calculatedRight Expression) *PipeRightOperator

func (*PipeRightOperator) FetchPositionLength

func (b *PipeRightOperator) FetchPositionLength() token.SourceFileReference

func (*PipeRightOperator) GenerateRight

func (b *PipeRightOperator) GenerateRight() Expression

func (*PipeRightOperator) String

func (b *PipeRightOperator) String() string

type RecordConstructorFromParameters added in v0.0.2

type RecordConstructorFromParameters struct {
	// contains filtered or unexported fields
}

func NewRecordConstructorFromParameters added in v0.0.2

func NewRecordConstructorFromParameters(astConstructorCall *ast.ConstructorCall, recordAliasReference *dectype.AliasReference, recordType *dectype.RecordAtom, arguments []*RecordLiteralAssignment, parseOrderArguments []Expression) *RecordConstructorFromParameters

typeIdentifier ast.TypeReferenceScopedOrNormal

func (*RecordConstructorFromParameters) AstConstructorCall added in v0.0.2

func (c *RecordConstructorFromParameters) AstConstructorCall() *ast.ConstructorCall

func (*RecordConstructorFromParameters) FetchPositionLength added in v0.0.2

func (*RecordConstructorFromParameters) HumanReadable added in v0.0.2

func (c *RecordConstructorFromParameters) HumanReadable() string

func (*RecordConstructorFromParameters) NamedTypeReference added in v0.0.2

func (*RecordConstructorFromParameters) ParseOrderArguments added in v0.0.2

func (c *RecordConstructorFromParameters) ParseOrderArguments() []Expression

func (*RecordConstructorFromParameters) RecordType added in v0.0.2

func (*RecordConstructorFromParameters) SortedAssignments added in v0.0.2

func (c *RecordConstructorFromParameters) SortedAssignments() []*RecordLiteralAssignment

func (*RecordConstructorFromParameters) String added in v0.0.2

func (*RecordConstructorFromParameters) Type added in v0.0.2

type RecordConstructorFromRecord added in v0.0.2

type RecordConstructorFromRecord struct {
	// contains filtered or unexported fields
}

func NewRecordConstructorFromRecord added in v0.0.2

func NewRecordConstructorFromRecord(astConstructorCall *ast.ConstructorCall, recordAliasReference *dectype.AliasReference, recordType *dectype.RecordAtom, record *RecordLiteral) *RecordConstructorFromRecord

func (*RecordConstructorFromRecord) Expression added in v0.0.2

func (c *RecordConstructorFromRecord) Expression() Expression

func (*RecordConstructorFromRecord) FetchPositionLength added in v0.0.2

func (c *RecordConstructorFromRecord) FetchPositionLength() token.SourceFileReference

func (*RecordConstructorFromRecord) HumanReadable added in v0.0.2

func (c *RecordConstructorFromRecord) HumanReadable() string

func (*RecordConstructorFromRecord) NamedTypeReference added in v0.0.2

func (*RecordConstructorFromRecord) String added in v0.0.2

func (c *RecordConstructorFromRecord) String() string

func (*RecordConstructorFromRecord) Type added in v0.0.2

type RecordDestructuringFieldNotFound added in v0.0.4

type RecordDestructuringFieldNotFound struct {
	// contains filtered or unexported fields
}

func NewRecordDestructuringFieldNotFound added in v0.0.4

func NewRecordDestructuringFieldNotFound(decoratedExpression Expression, recordType *dectype.RecordAtom, fieldIdentifier *ast.VariableIdentifier) *RecordDestructuringFieldNotFound

func (*RecordDestructuringFieldNotFound) Error added in v0.0.4

func (*RecordDestructuringFieldNotFound) FetchPositionLength added in v0.0.4

type RecordDestructuringWasNotRecordExpression added in v0.0.4

type RecordDestructuringWasNotRecordExpression struct {
	// contains filtered or unexported fields
}

func NewRecordDestructuringWasNotRecordExpression added in v0.0.4

func NewRecordDestructuringWasNotRecordExpression(decoratedExpression Expression, recordType *dectype.RecordAtom) *RecordDestructuringWasNotRecordExpression

func (*RecordDestructuringWasNotRecordExpression) Error added in v0.0.4

func (*RecordDestructuringWasNotRecordExpression) FetchPositionLength added in v0.0.4

type RecordLiteral

type RecordLiteral struct {
	// contains filtered or unexported fields
}

func NewRecordLiteral

func NewRecordLiteral(t *dectype.RecordAtom, recordTemplate Expression,
	parseOrderedAssignments []*RecordLiteralAssignment) *RecordLiteral

func (*RecordLiteral) FetchPositionLength

func (c *RecordLiteral) FetchPositionLength() token.SourceFileReference

func (*RecordLiteral) ParseOrderedAssignments

func (c *RecordLiteral) ParseOrderedAssignments() []*RecordLiteralAssignment

func (*RecordLiteral) RecordTemplate

func (c *RecordLiteral) RecordTemplate() Expression

func (*RecordLiteral) RecordType added in v0.0.4

func (c *RecordLiteral) RecordType() *dectype.RecordAtom

func (*RecordLiteral) SortedAssignments

func (c *RecordLiteral) SortedAssignments() []*RecordLiteralAssignment

func (*RecordLiteral) String

func (c *RecordLiteral) String() string

func (*RecordLiteral) Type

func (c *RecordLiteral) Type() dtype.Type

type RecordLiteralAssignment

type RecordLiteralAssignment struct {
	// contains filtered or unexported fields
}

func NewRecordLiteralAssignment

func NewRecordLiteralAssignment(index int, fieldName *RecordLiteralField, expression Expression) *RecordLiteralAssignment

func (*RecordLiteralAssignment) Expression

func (a *RecordLiteralAssignment) Expression() Expression

func (*RecordLiteralAssignment) FieldName

func (*RecordLiteralAssignment) Index

func (a *RecordLiteralAssignment) Index() int

func (*RecordLiteralAssignment) String

func (a *RecordLiteralAssignment) String() string

type RecordLiteralField

type RecordLiteralField struct {
	// contains filtered or unexported fields
}

func NewRecordLiteralField

func NewRecordLiteralField(fieldName *ast.VariableIdentifier) *RecordLiteralField

func (*RecordLiteralField) FetchPositionLength

func (n *RecordLiteralField) FetchPositionLength() token.SourceFileReference

func (*RecordLiteralField) HumanReadable

func (n *RecordLiteralField) HumanReadable() string

func (*RecordLiteralField) Ident

func (*RecordLiteralField) InAssignment added in v0.0.2

func (n *RecordLiteralField) InAssignment() *RecordLiteralAssignment

func (*RecordLiteralField) SetInAssignment added in v0.0.2

func (n *RecordLiteralField) SetInAssignment(assignment *RecordLiteralAssignment)

func (*RecordLiteralField) String

func (n *RecordLiteralField) String() string

func (*RecordLiteralField) Type added in v0.0.2

func (n *RecordLiteralField) Type() dtype.Type

type RecordLiteralFieldTypeMismatch

type RecordLiteralFieldTypeMismatch struct {
	UnMatchingTypesError
	// contains filtered or unexported fields
}

func NewRecordLiteralFieldTypeMismatch

func NewRecordLiteralFieldTypeMismatch(assignment *ast.RecordLiteralFieldAssignment, field *dectype.RecordField, encounteredType dtype.Type, err error) *RecordLiteralFieldTypeMismatch

func (*RecordLiteralFieldTypeMismatch) Error

func (*RecordLiteralFieldTypeMismatch) FetchPositionLength

func (e *RecordLiteralFieldTypeMismatch) FetchPositionLength() token.SourceFileReference

type RecordLookups

type RecordLookups struct {
	ExpressionNode
	// contains filtered or unexported fields
}

func NewRecordLookups

func NewRecordLookups(expressionToRecord Expression, lookupFields []LookupField) *RecordLookups

func (*RecordLookups) Expression

func (l *RecordLookups) Expression() Expression

func (*RecordLookups) FetchPositionLength

func (l *RecordLookups) FetchPositionLength() token.SourceFileReference

func (*RecordLookups) LookupFields

func (l *RecordLookups) LookupFields() []LookupField

func (*RecordLookups) String

func (l *RecordLookups) String() string

type RecordTypeFieldReference added in v0.0.2

type RecordTypeFieldReference struct {
	// contains filtered or unexported fields
}

func NewRecordFieldReference

func NewRecordFieldReference(ident *ast.VariableIdentifier, unresolvedRecordType dtype.Type, recordType *dectype.RecordAtom, recordTypeField *dectype.RecordField) *RecordTypeFieldReference

func (*RecordTypeFieldReference) AstIdentifier added in v0.0.2

func (g *RecordTypeFieldReference) AstIdentifier() *ast.VariableIdentifier

func (*RecordTypeFieldReference) FetchPositionLength added in v0.0.2

func (g *RecordTypeFieldReference) FetchPositionLength() token.SourceFileReference

func (*RecordTypeFieldReference) HumanReadable added in v0.0.2

func (g *RecordTypeFieldReference) HumanReadable() string

func (*RecordTypeFieldReference) RecordTypeField added in v0.0.2

func (g *RecordTypeFieldReference) RecordTypeField() *dectype.RecordField

func (*RecordTypeFieldReference) String added in v0.0.2

func (g *RecordTypeFieldReference) String() string

func (*RecordTypeFieldReference) Type added in v0.0.2

func (*RecordTypeFieldReference) UnresolvedRecordType added in v0.0.2

func (g *RecordTypeFieldReference) UnresolvedRecordType() dtype.Type

type RecurCall

type RecurCall struct {
	// contains filtered or unexported fields
}

func NewRecurCall

func NewRecurCall(returnType dtype.Type, assignments []Expression) *RecurCall

func (*RecurCall) Arguments

func (c *RecurCall) Arguments() []Expression

func (*RecurCall) FetchPositionLength

func (c *RecurCall) FetchPositionLength() token.SourceFileReference

func (*RecurCall) String

func (c *RecurCall) String() string

func (*RecurCall) Type

func (c *RecurCall) Type() dtype.Type

type ResourceNameLiteral

type ResourceNameLiteral struct {
	// contains filtered or unexported fields
}

func NewResourceNameLiteral

func NewResourceNameLiteral(resourceName *ast.ResourceNameLiteral, globalFixedType dtype.Type) *ResourceNameLiteral

func (*ResourceNameLiteral) FetchPositionLength

func (i *ResourceNameLiteral) FetchPositionLength() token.SourceFileReference

func (*ResourceNameLiteral) HumanReadable

func (i *ResourceNameLiteral) HumanReadable() string

func (*ResourceNameLiteral) String

func (i *ResourceNameLiteral) String() string

func (*ResourceNameLiteral) Type

func (i *ResourceNameLiteral) Type() dtype.Type

func (*ResourceNameLiteral) Value

func (i *ResourceNameLiteral) Value() string

type SingleLineComment

type SingleLineComment struct {
	// contains filtered or unexported fields
}

func NewSingleLineComment

func NewSingleLineComment(comment *ast.SingleLineComment) *SingleLineComment

func (*SingleLineComment) FetchPositionLength

func (m *SingleLineComment) FetchPositionLength() token.SourceFileReference

func (*SingleLineComment) MarkdownString

func (m *SingleLineComment) MarkdownString() string

func (*SingleLineComment) StatementString

func (m *SingleLineComment) StatementString() string

func (*SingleLineComment) String

func (m *SingleLineComment) String() string

type Statement

type Statement interface {
	TypeOrToken
	StatementString() string
}

type StringInterpolation

type StringInterpolation struct {
	// contains filtered or unexported fields
}

func NewStringInterpolation

func NewStringInterpolation(str *ast.StringInterpolation, expression Expression, includedExpressions []Expression) *StringInterpolation

func (*StringInterpolation) AstStringInterpolation

func (i *StringInterpolation) AstStringInterpolation() *ast.StringInterpolation

func (*StringInterpolation) Expression

func (i *StringInterpolation) Expression() Expression

func (*StringInterpolation) FetchPositionLength

func (i *StringInterpolation) FetchPositionLength() token.SourceFileReference

func (*StringInterpolation) IncludedExpressions added in v0.0.5

func (i *StringInterpolation) IncludedExpressions() []Expression

func (*StringInterpolation) String

func (i *StringInterpolation) String() string

func (*StringInterpolation) Type

func (i *StringInterpolation) Type() dtype.Type

type StringLiteral

type StringLiteral struct {
	// contains filtered or unexported fields
}

func NewStringLiteral

func NewStringLiteral(str *ast.StringLiteral, globalStringType dtype.Type) *StringLiteral

func (*StringLiteral) AstString added in v0.0.5

func (i *StringLiteral) AstString() *ast.StringLiteral

func (*StringLiteral) FetchPositionLength

func (i *StringLiteral) FetchPositionLength() token.SourceFileReference

func (*StringLiteral) String

func (i *StringLiteral) String() string

func (*StringLiteral) Type

func (i *StringLiteral) Type() dtype.Type

func (*StringLiteral) Value

func (i *StringLiteral) Value() string

type Token

type Token interface {
	TypeOrToken
	HumanReadEnabler
	Type() dtype.Type
}

type TooFewIdentifiersForFunctionType added in v0.0.4

type TooFewIdentifiersForFunctionType struct {
	// contains filtered or unexported fields
}

func NewTooFewIdentifiersForFunctionType added in v0.0.4

func NewTooFewIdentifiersForFunctionType(annotationIdentifiers []*ast.FunctionParameter, forcedFunctionType *dectype.FunctionAtom, functionValue *ast.FunctionValue) *TooFewIdentifiersForFunctionType

func (*TooFewIdentifiersForFunctionType) Error added in v0.0.4

func (*TooFewIdentifiersForFunctionType) FetchPositionLength added in v0.0.4

type TooManyIdentifiersForFunctionType added in v0.0.4

type TooManyIdentifiersForFunctionType struct {
	// contains filtered or unexported fields
}

func NewTooManyIdentifiersForFunctionType added in v0.0.4

func NewTooManyIdentifiersForFunctionType(annotationIdentifiers []*ast.FunctionParameter, forcedFunctionType *dectype.FunctionAtom, functionValue *ast.FunctionValue) *TooManyIdentifiersForFunctionType

func (*TooManyIdentifiersForFunctionType) Error added in v0.0.4

func (*TooManyIdentifiersForFunctionType) FetchPositionLength added in v0.0.4

type TupleDestructuringWrongNumberOfIdentifiers added in v0.0.4

type TupleDestructuringWrongNumberOfIdentifiers struct {
	// contains filtered or unexported fields
}

func NewTupleDestructuringWrongNumberOfIdentifiers added in v0.0.4

func NewTupleDestructuringWrongNumberOfIdentifiers(decoratedExpression Expression, tupleType *dectype.TupleTypeAtom, fieldIdentifiers []*ast.VariableIdentifier) *TupleDestructuringWrongNumberOfIdentifiers

func (*TupleDestructuringWrongNumberOfIdentifiers) Error added in v0.0.4

func (*TupleDestructuringWrongNumberOfIdentifiers) FetchPositionLength added in v0.0.4

type TupleLiteral added in v0.0.2

type TupleLiteral struct {
	// contains filtered or unexported fields
}

func NewTupleLiteral added in v0.0.2

func NewTupleLiteral(astLiteral *ast.TupleLiteral, tupleType *dectype.TupleTypeAtom, expressions []Expression) *TupleLiteral

func (*TupleLiteral) AstTupleLiteral added in v0.0.2

func (c *TupleLiteral) AstTupleLiteral() *ast.TupleLiteral

func (*TupleLiteral) Expressions added in v0.0.2

func (c *TupleLiteral) Expressions() []Expression

func (*TupleLiteral) FetchPositionLength added in v0.0.2

func (c *TupleLiteral) FetchPositionLength() token.SourceFileReference

func (*TupleLiteral) HumanReadable added in v0.0.2

func (c *TupleLiteral) HumanReadable() string

func (*TupleLiteral) String added in v0.0.2

func (c *TupleLiteral) String() string

func (*TupleLiteral) TupleType added in v0.0.4

func (c *TupleLiteral) TupleType() *dectype.TupleTypeAtom

func (*TupleLiteral) Type added in v0.0.2

func (c *TupleLiteral) Type() dtype.Type

type TypeAddAndReferenceMaker

type TypeAddAndReferenceMaker interface {
	TypeReferenceMaker
	AddTypeAlias(alias *dectype.Alias) TypeError
	AddCustomType(customType *dectype.CustomTypeAtom) TypeError
	FindBuiltInType(s string) dtype.Type
	SourceModule() *Module
}

type TypeCreateAndLookup

type TypeCreateAndLookup struct {
	// contains filtered or unexported fields
}

func NewTypeCreateAndLookup

func NewTypeCreateAndLookup(lookup *TypeLookup, localTypes *ModuleTypes) *TypeCreateAndLookup

func (*TypeCreateAndLookup) AddCustomType

func (l *TypeCreateAndLookup) AddCustomType(customType *dectype.CustomTypeAtom) TypeError

func (*TypeCreateAndLookup) AddTypeAlias

func (l *TypeCreateAndLookup) AddTypeAlias(alias *dectype.Alias) TypeError

func (*TypeCreateAndLookup) CreateSomeTypeReference

func (*TypeCreateAndLookup) FindBuiltInType

func (l *TypeCreateAndLookup) FindBuiltInType(s string) dtype.Type

func (*TypeCreateAndLookup) SourceModule

func (l *TypeCreateAndLookup) SourceModule() *Module

type TypeError

type TypeError interface {
	Error() string
	FetchPositionLength() token.SourceFileReference
}

type TypeIdLiteral

type TypeIdLiteral struct {
	// contains filtered or unexported fields
}

func NewTypeIdLiteral

func NewTypeIdLiteral(typeId *ast.TypeId, constructedTypeIdType dtype.Type, containedType dectype.TypeReferenceScopedOrNormal) *TypeIdLiteral

func (*TypeIdLiteral) ContainedType

func (*TypeIdLiteral) FetchPositionLength

func (i *TypeIdLiteral) FetchPositionLength() token.SourceFileReference

func (*TypeIdLiteral) HumanReadable

func (i *TypeIdLiteral) HumanReadable() string

func (*TypeIdLiteral) String

func (i *TypeIdLiteral) String() string

func (*TypeIdLiteral) Type

func (i *TypeIdLiteral) Type() dtype.Type

type TypeLookup

type TypeLookup struct {
	// contains filtered or unexported fields
}

func NewTypeLookup

func NewTypeLookup(moduleImports *ModuleImports, localTypes *ModuleTypes, importedTypes *ExposedTypes) *TypeLookup

func (*TypeLookup) CreateSomeTypeReference

func (*TypeLookup) FindType

func (*TypeLookup) FindTypeScoped

type TypeNotFound

type TypeNotFound struct {
	// contains filtered or unexported fields
}

func NewTypeNotFound

func NewTypeNotFound(requestedType string) *TypeNotFound

func (*TypeNotFound) Error

func (e *TypeNotFound) Error() string

func (*TypeNotFound) FetchPositionLength

func (e *TypeNotFound) FetchPositionLength() token.SourceFileReference

type TypeOrToken

type TypeOrToken interface {
	String() string
	FetchPositionLength() token.SourceFileReference
}

func ExpandAllChildNodes

func ExpandAllChildNodes(nodes []Node) []TypeOrToken

type TypeReferenceMaker

type TypeReferenceMaker interface {
	CreateSomeTypeReference(someTypeIdentifier ast.TypeIdentifierNormalOrScoped) (dectype.TypeReferenceScopedOrNormal, decshared.DecoratedError)
}

type UnExpectedListTypeForCons added in v0.0.4

type UnExpectedListTypeForCons struct {
	// contains filtered or unexported fields
}

func NewUnExpectedListTypeForCons added in v0.0.4

func NewUnExpectedListTypeForCons(operator *ast.BinaryOperator, typeA Expression, typeB Expression) *UnExpectedListTypeForCons

func (*UnExpectedListTypeForCons) Error added in v0.0.4

func (e *UnExpectedListTypeForCons) Error() string

func (*UnExpectedListTypeForCons) FetchPositionLength added in v0.0.4

func (e *UnExpectedListTypeForCons) FetchPositionLength() token.SourceFileReference

type UnMatchingArithmeticOperatorTypes

type UnMatchingArithmeticOperatorTypes struct {
	// contains filtered or unexported fields
}

func NewUnMatchingArithmeticOperatorTypes

func NewUnMatchingArithmeticOperatorTypes(operator *ast.BinaryOperator, typeA Expression, typeB Expression) *UnMatchingArithmeticOperatorTypes

func (*UnMatchingArithmeticOperatorTypes) Error

func (*UnMatchingArithmeticOperatorTypes) FetchPositionLength

type UnMatchingBinaryOperatorTypes

type UnMatchingBinaryOperatorTypes struct {
	// contains filtered or unexported fields
}

func NewUnMatchingBinaryOperatorTypes

func NewUnMatchingBinaryOperatorTypes(operator *ast.BinaryOperator, typeA dtype.Type, typeB dtype.Type) *UnMatchingBinaryOperatorTypes

func (*UnMatchingBinaryOperatorTypes) Error

func (*UnMatchingBinaryOperatorTypes) FetchPositionLength

func (e *UnMatchingBinaryOperatorTypes) FetchPositionLength() token.SourceFileReference

type UnMatchingBooleanOperatorTypes

type UnMatchingBooleanOperatorTypes struct {
	// contains filtered or unexported fields
}

func NewUnMatchingBooleanOperatorTypes

func NewUnMatchingBooleanOperatorTypes(operator *ast.BinaryOperator, typeA Expression, typeB Expression) *UnMatchingBooleanOperatorTypes

func (*UnMatchingBooleanOperatorTypes) Error

func (*UnMatchingBooleanOperatorTypes) FetchPositionLength

func (e *UnMatchingBooleanOperatorTypes) FetchPositionLength() token.SourceFileReference

type UnMatchingFunctionReturnTypesInFunctionValue

type UnMatchingFunctionReturnTypesInFunctionValue struct {
	UnMatchingTypesExpression
	// contains filtered or unexported fields
}

func NewUnMatchingFunctionReturnTypesInFunctionValue

func NewUnMatchingFunctionReturnTypesInFunctionValue(fn *ast.FunctionValue, expression ast.Expression, expectedType dtype.Type, hasType dtype.Type, err error) *UnMatchingFunctionReturnTypesInFunctionValue

func (*UnMatchingFunctionReturnTypesInFunctionValue) Error

func (*UnMatchingFunctionReturnTypesInFunctionValue) FetchPositionLength

type UnMatchingTypesError

type UnMatchingTypesError struct {
	ExpectedType dtype.Type
	HasType      dtype.Type
}

func (UnMatchingTypesError) Error

func (e UnMatchingTypesError) Error() string

type UnMatchingTypesExpression

type UnMatchingTypesExpression struct {
	UnMatchingTypesError
	// contains filtered or unexported fields
}

func NewUnMatchingTypes

func NewUnMatchingTypes(expression ast.Expression, expectedType dtype.Type, hasType dtype.Type, err error) *UnMatchingTypesExpression

func (*UnMatchingTypesExpression) Error

func (e *UnMatchingTypesExpression) Error() string

func (*UnMatchingTypesExpression) FetchPositionLength

func (e *UnMatchingTypesExpression) FetchPositionLength() token.SourceFileReference

type UnaryOperator

type UnaryOperator struct {
	ExpressionNode
	// contains filtered or unexported fields
}

func (*UnaryOperator) FetchPositionLength

func (u *UnaryOperator) FetchPositionLength() token.SourceFileReference

func (*UnaryOperator) Left

func (u *UnaryOperator) Left() Expression

func (*UnaryOperator) String

func (u *UnaryOperator) String() string

type UnhandledCustomTypeVariants

type UnhandledCustomTypeVariants struct {
	// contains filtered or unexported fields
}

func NewUnhandledCustomTypeVariants

func NewUnhandledCustomTypeVariants(caseExpression *ast.CaseForCustomType, unhandledVariants []*dectype.CustomTypeVariantAtom) *UnhandledCustomTypeVariants

func (*UnhandledCustomTypeVariants) Error

func (*UnhandledCustomTypeVariants) FetchPositionLength

func (e *UnhandledCustomTypeVariants) FetchPositionLength() token.SourceFileReference

type UnknownAnnotationTypeReference

type UnknownAnnotationTypeReference struct {
	// contains filtered or unexported fields
}

func NewUnknownAnnotationTypeReference

func NewUnknownAnnotationTypeReference(annotationIdentifier *ast.VariableIdentifier, err TypeError) *UnknownAnnotationTypeReference

func (*UnknownAnnotationTypeReference) Error

func (*UnknownAnnotationTypeReference) FetchPositionLength

func (e *UnknownAnnotationTypeReference) FetchPositionLength() token.SourceFileReference

type UnknownBinaryOperator

type UnknownBinaryOperator struct {
	// contains filtered or unexported fields
}

func NewUnknownBinaryOperator

func NewUnknownBinaryOperator(operator *ast.BinaryOperator, typeA Expression, typeB Expression) *UnknownBinaryOperator

func (*UnknownBinaryOperator) Error

func (e *UnknownBinaryOperator) Error() string

func (*UnknownBinaryOperator) FetchPositionLength

func (e *UnknownBinaryOperator) FetchPositionLength() token.SourceFileReference

type UnknownExposedType added in v0.0.4

type UnknownExposedType struct {
	// contains filtered or unexported fields
}

func NewUnknownExposedType added in v0.0.4

func NewUnknownExposedType(typeIdentifier *ast.TypeIdentifier) *UnknownExposedType

func (*UnknownExposedType) Error added in v0.0.4

func (e *UnknownExposedType) Error() string

func (*UnknownExposedType) FetchPositionLength added in v0.0.4

func (e *UnknownExposedType) FetchPositionLength() token.SourceFileReference

type UnknownImportedType added in v0.0.4

type UnknownImportedType struct {
	// contains filtered or unexported fields
}

func NewUnknownImportedType added in v0.0.4

func NewUnknownImportedType(typeIdentifier *ast.TypeIdentifier) *UnknownImportedType

func (*UnknownImportedType) Error added in v0.0.4

func (e *UnknownImportedType) Error() string

func (*UnknownImportedType) FetchPositionLength added in v0.0.4

func (e *UnknownImportedType) FetchPositionLength() token.SourceFileReference

type UnknownModule added in v0.0.4

type UnknownModule struct {
	// contains filtered or unexported fields
}

func NewUnknownModule added in v0.0.4

func NewUnknownModule(moduleRef *ast.ModuleReference) *UnknownModule

func (*UnknownModule) Error added in v0.0.4

func (e *UnknownModule) Error() string

func (*UnknownModule) FetchPositionLength added in v0.0.4

func (e *UnknownModule) FetchPositionLength() token.SourceFileReference

type UnknownStatement

type UnknownStatement struct {
	// contains filtered or unexported fields
}

func NewUnknownStatement

func NewUnknownStatement(posLength token.SourceFileReference, statement ast.Expression) *UnknownStatement

func (*UnknownStatement) Error

func (e *UnknownStatement) Error() string

func (*UnknownStatement) FetchPositionLength

func (e *UnknownStatement) FetchPositionLength() token.SourceFileReference

type UnknownType added in v0.0.4

type UnknownType struct {
	// contains filtered or unexported fields
}

func (*UnknownType) Error added in v0.0.4

func (c *UnknownType) Error() string

func (*UnknownType) FetchPositionLength added in v0.0.4

func (c *UnknownType) FetchPositionLength() token.SourceFileReference

type UnknownTypeAliasType

type UnknownTypeAliasType struct {
	// contains filtered or unexported fields
}

func NewUnknownTypeAliasType

func NewUnknownTypeAliasType(alias *ast.Alias, err TypeError) *UnknownTypeAliasType

func (*UnknownTypeAliasType) Error

func (e *UnknownTypeAliasType) Error() string

func (*UnknownTypeAliasType) FetchPositionLength

func (e *UnknownTypeAliasType) FetchPositionLength() token.SourceFileReference

type UnknownTypeInCustomTypeVariant

type UnknownTypeInCustomTypeVariant struct {
	// contains filtered or unexported fields
}

func NewUnknownTypeInCustomTypeVariant

func NewUnknownTypeInCustomTypeVariant(variant *ast.CustomTypeVariant, err TypeError) *UnknownTypeInCustomTypeVariant

func (*UnknownTypeInCustomTypeVariant) Error

func (*UnknownTypeInCustomTypeVariant) FetchPositionLength

func (e *UnknownTypeInCustomTypeVariant) FetchPositionLength() token.SourceFileReference

type UnknownVariable

type UnknownVariable struct {
	// contains filtered or unexported fields
}

func NewUnknownVariable

func NewUnknownVariable(ident *ast.VariableIdentifier) *UnknownVariable

func (*UnknownVariable) Error

func (e *UnknownVariable) Error() string

func (*UnknownVariable) FetchPositionLength

func (e *UnknownVariable) FetchPositionLength() token.SourceFileReference

type UnmatchingBitwiseOperatorTypes

type UnmatchingBitwiseOperatorTypes struct {
	// contains filtered or unexported fields
}

func NewUnmatchingBitwiseOperatorTypes

func NewUnmatchingBitwiseOperatorTypes(operator *ast.BinaryOperator, typeA Expression, typeB Expression) *UnmatchingBitwiseOperatorTypes

func (*UnmatchingBitwiseOperatorTypes) Error

func (*UnmatchingBitwiseOperatorTypes) FetchPositionLength

func (e *UnmatchingBitwiseOperatorTypes) FetchPositionLength() token.SourceFileReference

type UnusedImportStatementWarning added in v0.0.4

type UnusedImportStatementWarning struct {
	// contains filtered or unexported fields
}

func NewUnusedImportStatementWarning added in v0.0.4

func NewUnusedImportStatementWarning(definition *ImportStatement) *UnusedImportStatementWarning

func (*UnusedImportStatementWarning) FetchPositionLength added in v0.0.4

func (e *UnusedImportStatementWarning) FetchPositionLength() token.SourceFileReference

func (*UnusedImportStatementWarning) Warning added in v0.0.4

func (e *UnusedImportStatementWarning) Warning() string

type UnusedImportWarning added in v0.0.2

type UnusedImportWarning struct {
	// contains filtered or unexported fields
}

func NewUnusedImportWarning added in v0.0.2

func NewUnusedImportWarning(definition *ImportedModule, description string) *UnusedImportWarning

func (*UnusedImportWarning) Error added in v0.0.5

func (e *UnusedImportWarning) Error() string

func (*UnusedImportWarning) FetchPositionLength added in v0.0.2

func (e *UnusedImportWarning) FetchPositionLength() token.SourceFileReference

type UnusedLetVariable added in v0.0.4

type UnusedLetVariable struct {
	// contains filtered or unexported fields
}

func NewUnusedLetVariable added in v0.0.4

func NewUnusedLetVariable(name *LetVariable) *UnusedLetVariable

func (*UnusedLetVariable) Error added in v0.0.4

func (e *UnusedLetVariable) Error() string

func (*UnusedLetVariable) FetchPositionLength added in v0.0.4

func (e *UnusedLetVariable) FetchPositionLength() token.SourceFileReference

type UnusedParameter added in v0.0.4

type UnusedParameter struct {
	// contains filtered or unexported fields
}

func NewUnusedParameter added in v0.0.4

func NewUnusedParameter(parameter *FunctionParameterDefinition, function *FunctionValue) *UnusedParameter

func (*UnusedParameter) Error added in v0.0.4

func (e *UnusedParameter) Error() string

func (*UnusedParameter) FetchPositionLength added in v0.0.4

func (e *UnusedParameter) FetchPositionLength() token.SourceFileReference

type UnusedTypeWarning added in v0.0.4

type UnusedTypeWarning struct {
	// contains filtered or unexported fields
}

func NewUnusedTypeWarning added in v0.0.4

func NewUnusedTypeWarning(unusedType dtype.Type) *UnusedTypeWarning

func (*UnusedTypeWarning) Error added in v0.0.5

func (e *UnusedTypeWarning) Error() string

func (*UnusedTypeWarning) FetchPositionLength added in v0.0.4

func (e *UnusedTypeWarning) FetchPositionLength() token.SourceFileReference

type UnusedVariable added in v0.0.2

type UnusedVariable struct {
	// contains filtered or unexported fields
}

func NewUnusedVariable added in v0.0.2

func NewUnusedVariable(name *NamedDecoratedExpression, function *ast.FunctionValue) *UnusedVariable

func (*UnusedVariable) Error added in v0.0.2

func (e *UnusedVariable) Error() string

func (*UnusedVariable) FetchPositionLength added in v0.0.2

func (e *UnusedVariable) FetchPositionLength() token.SourceFileReference

type UnusedWarning

type UnusedWarning struct {
	// contains filtered or unexported fields
}

func NewUnusedWarning

func NewUnusedWarning(definition ModuleDef) *UnusedWarning

func (*UnusedWarning) Error added in v0.0.5

func (e *UnusedWarning) Error() string

func (*UnusedWarning) FetchPositionLength

func (e *UnusedWarning) FetchPositionLength() token.SourceFileReference

type WrongNumberOfArgumentsInFunctionValue

type WrongNumberOfArgumentsInFunctionValue struct {
	// contains filtered or unexported fields
}

func NewWrongNumberOfArgumentsInFunctionValue

func NewWrongNumberOfArgumentsInFunctionValue(encounteredFunction *ast.FunctionValue,
	expectedFunction *dectype.FunctionAtom, argumentTypes []dtype.Type) *WrongNumberOfArgumentsInFunctionValue

func (*WrongNumberOfArgumentsInFunctionValue) EncounteredArgumentTypes

func (e *WrongNumberOfArgumentsInFunctionValue) EncounteredArgumentTypes() []dtype.Type

func (*WrongNumberOfArgumentsInFunctionValue) EncounteredFunctionValue

func (e *WrongNumberOfArgumentsInFunctionValue) EncounteredFunctionValue() *ast.FunctionValue

func (*WrongNumberOfArgumentsInFunctionValue) Error

func (*WrongNumberOfArgumentsInFunctionValue) ExpectedFunctionType

func (e *WrongNumberOfArgumentsInFunctionValue) ExpectedFunctionType() *dectype.FunctionAtom

func (*WrongNumberOfArgumentsInFunctionValue) FetchPositionLength

type WrongNumberOfFieldsInConstructor

type WrongNumberOfFieldsInConstructor struct {
	// contains filtered or unexported fields
}

func NewWrongNumberOfFieldsInConstructor

func NewWrongNumberOfFieldsInConstructor(record *dectype.RecordAtom, call *ast.ConstructorCall) *WrongNumberOfFieldsInConstructor

func (*WrongNumberOfFieldsInConstructor) Error

func (*WrongNumberOfFieldsInConstructor) FetchPositionLength

type WrongTypeForRecordConstructorField

type WrongTypeForRecordConstructorField struct {
	UnMatchingTypesError
	// contains filtered or unexported fields
}

func NewWrongTypeForRecordConstructorField

func NewWrongTypeForRecordConstructorField(recordField *dectype.RecordField, expectedExpression Expression,
	call *ast.ConstructorCall, err error) *WrongTypeForRecordConstructorField

func (*WrongTypeForRecordConstructorField) Error

func (*WrongTypeForRecordConstructorField) FetchPositionLength

type YouCanOnlySetFieldInRecordOnce

type YouCanOnlySetFieldInRecordOnce struct {
	// contains filtered or unexported fields
}

func NewYouCanOnlySetFieldInRecordOnce

func NewYouCanOnlySetFieldInRecordOnce(recordType *dectype.RecordAtom, fieldName *ast.VariableIdentifier) *YouCanOnlySetFieldInRecordOnce

func (*YouCanOnlySetFieldInRecordOnce) Error

func (*YouCanOnlySetFieldInRecordOnce) FetchPositionLength

func (e *YouCanOnlySetFieldInRecordOnce) FetchPositionLength() token.SourceFileReference

Source Files

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL