aboutsummaryrefslogtreecommitdiff
path: root/Sil/Error.dcl
blob: 15a660acb9e3637c65b1d37fe0186323d8992850 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
definition module Sil.Error

from StdFile import class <<<
from StdOverloaded import class toString

from Sil.Syntax import :: Expression
from Sil.Types import :: Type

:: Error
	// Parser errors
	= E.a: P_Invalid String a & toString a
	| P_Expected String
	// Type errors
	| T_IllegalApplication Type Type
	| T_IllegalField String Type
	| T_TooHighTupleArity Int
	// Compile errors
	| C_UndefinedName String
	| C_UndefinedField String
	| C_VariableLabel
	| C_FunctionOnStack
	| C_TypeError Error Expression
	| C_CouldNotDeduceType Expression
	| C_TypeMisMatch Type Expression
	| C_BasicInitWithoutValue String
	// Miscellaneous
	| UnknownError String

instance toString Error
instance <<< Error