aboutsummaryrefslogtreecommitdiff
path: root/compiler/context_errors.h
blob: ad2fa38aaa6ee9c4223da07c17e7343bcc73ff46 (plain)
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177

LRL_D(LRL_Err_NoError, "No error. This is a bug in the compiler")
LRL_D(LRL_Err_IllegalCharacter, "Illegal character")
LRL_D(LRL_Err_UnclosedParenthesis, "Parenthesis not closed")
LRL_D(LRL_Err_UnexpectedToken, "Unexpected token")
LRL_D(LRL_Err_NotADeclaration, "Not a valid declaration")
LRL_D(LRL_Err_UndeclaredIdentifier, "Undeclared identifier")
LRL_D(LRL_Err_OperatorExpected, "Operator expected here")
LRL_D(LRL_Err_ExpectedIdentifier, "Expected an identifier here")
LRL_D(LRL_Err_ExpectedExponentPart, "Expected exponent part")
LRL_D(LRL_Err_ExpectedHexDigit, "Expected hex digit")
LRL_D(LRL_Err_UnexpectedCharInNumber, "Unexpected character in number")
LRL_D(LRL_Err_ColonWithoutSubident, "No subidentifier found after colon")
LRL_D(LRL_Err_ExpectedType, "Expected a type here")
LRL_D(LRL_Err_ExpectedFunctionBody, "Expected a function body here")
LRL_D(LRL_Err_ExtraneousSemicolonInDefList, "Extraneous semicolon in declaration area")
LRL_D(LRL_Err_SemicolonWithoutStatement, "Semicolon without statement")
LRL_D(LRL_Err_DoWhileWithoutBlock, "do-while loops requires a {} block")
LRL_D(LRL_Err_InvalidDeclaration, "Neither a declaration nor an expression")
LRL_D(LRL_Err_UnclosedComment, "Comment not closed")
LRL_D(LRL_Err_TypeParameterNotOnIdent, "Type parameter on non-identifier")
LRL_D(LRL_Err_LocalTypeParamNotBoundHere, "Local type parameter is not bound here")
LRL_D(LRL_Err_DataWithTypeParameters, "Variables may not have type parameters. Write type#[] for an array")
LRL_D(LRL_Err_DataWithNoReturn, "noreturn can only be used as a function return type")
LRL_D(LRL_Err_QualifierOnTypeParamList, "Qualifier on a type parameter list")
LRL_D(LRL_Err_QualifierOnFunction, "Qualifier on a function")
LRL_D(LRL_Err_QualifierOnEnumList, "Qualifier on an enum list")
LRL_D(LRL_Err_QualifierOnBitsList, "Qualifier on a bits list")
LRL_D(LRL_Err_QualifierOnArray, "Qualifier on array (should be on element)")
LRL_D(LRL_Err_QualifierOnOptional, "Qualifier on optional type (should be on its value type)")
LRL_D(LRL_Err_QualifierOnNoReturn, "Qualifier on noreturn")
LRL_D(LRL_Err_TypedefVarIsDefault, "The \"var\" qualifier usually makes no sense when specified directly on a typedef.")
LRL_D(LRL_Err_DataConstIsDefault, "The \"const\" qualifier makes no sense directly on a data declaration since it's the default.")
LRL_D(LRL_Err_ConstOnPointer, "The \"const\" qualifier makes no sense on pointer targets since it's the default")
LRL_D(LRL_Err_QualOnLoopVariable, "Qualifier does not make sense on loop variables.")
LRL_D(LRL_Err_NoTypeAfterQualifier, "No type after qualifier")
LRL_D(LRL_Err_VarInsideType, "\"var\" qualifier cannot appear directly inside a compound type")
LRL_D(LRL_Err_LocalSharedWithoutVar, "\"shared\" local variable that cannot ever be modified")
LRL_D(LRL_Err_QualifierNotAllowed, "Qualifier is not allowed here")
LRL_D(LRL_Err_EmptyArrayLength, "Empty array length")
LRL_D(LRL_Err_EmptyTypeParamList, "Empty type parameter list")
LRL_D(LRL_Err_MemberIsNotAnIdent, "Struct member is not an identifier")
LRL_D(LRL_Err_MemberOfNonStruct, "Trying to get a member of a non-struct value")
LRL_D(LRL_Err_SemicolonBeforeBody, "Semicolon before body")
LRL_D(LRL_Err_IdentIsNotType, "Identifier is not a type")
LRL_D(LRL_Err_IdentIsNotValue, "Identifier is not a value")
LRL_D(LRL_Err_IdentIsNotGotoLabel, "Identifier is not a goto label")
LRL_D(LRL_Err_MissingIncompleteKeyword, "Implicitly private or incomplete typedef must have \"incomplete\" keyword")
LRL_D(LRL_Err_UselessIncompleteKeyword, "Only implicitly private and incomplete types may have \"incomplete\"")
LRL_D(LRL_Err_IncompleteKeywordNotOnTypedef, "The \"incomplete\" keyword is only to be used on typedef'ed types")
LRL_D(LRL_Err_IncompleteExpression, "Incomplete expression")
LRL_D(LRL_Err_ExpectedBoolExpr, "Expected expression of boolean type")
LRL_D(LRL_Err_ExpectedNumberExpr, "Expected expression of number type")
LRL_D(LRL_Err_ExpectedOptionalExpr, "Expected expression of optional type")
LRL_D(LRL_Err_ExpectedPointerExpr, "Expected expression of pointer type")
LRL_D(LRL_Err_ExpectedArrayExpr, "Expected expression of array type")
LRL_D(LRL_Err_ExpectedEnumExpr, "Expected expression of enum type")
LRL_D(LRL_Err_ExprResultNotUsed, "Expression result not used")
LRL_D(LRL_Err_TakingValueOfPrivateType, "Can't take the value of a private type, or allocate it")
LRL_D(LRL_Err_SizeOfWithPrivateType, "Can't determine size or alignment of private type")
LRL_D(LRL_Err_SizeOfWithSemiPrivateType, "Can only determine minimum size of semi-private type")
LRL_D(LRL_Err_SizeOfFunction, "Can't take size/alignment/offset of function")
LRL_D(LRL_Err_SizeOfAny, "Can't take size/alignment/offset of \"any\" type")
LRL_D(LRL_Err_SizeOfUnknownLengthArray, "Can't take size/alignment/offset of unkown-length array")
LRL_D(LRL_Err_NamedTypesMustBeSame, "Type mismatch: Types with names must be the same")
LRL_D(LRL_Err_NotStructurallyCompatibleTypes, "Type mismatch: Type structure is not compatible")
LRL_D(LRL_Err_PrivateTypesAreNotCompatible, "Private types aren't compatible")
LRL_D(LRL_Err_AmbiguousStmtType, "Type of statement is ambiguous")
LRL_D(LRL_Err_UnclosedString, "String not closed")
LRL_D(LRL_Err_InvalidCharacterEscape, "Invalid character escape code")
LRL_D(LRL_Err_InvalidUnicodeCodepoint, "Invalid unicode codepoint (maximum is 0x10FFF)")
LRL_D(LRL_Err_CommentStartMustBeEscaped, "Comment start sequence /* in string must be escaped as /\\*")
LRL_D(LRL_Err_CommentEndMustBeEscaped, "Comment end sequence */ in string must be escaped as *\\/")
LRL_D(LRL_Err_CommentInsideLineComment, "Comment start or end sequences may not appear in line comments")
LRL_D(LRL_Err_LineCommentAfterAsterisk, "Must place a space between asterisk and line comment")
LRL_D(LRL_Err_VarAlias, "Aliases can't be variable")
LRL_D(LRL_Err_ExpectedLinknameString, "Expected link name string after keyword")
LRL_D(LRL_Err_LinkageFlagsNotAllowedHere, "Linkage flags (local, export, import) not allowed here")
LRL_D(LRL_Err_LinknameNotAllowedHere, "Linkname qualifier makes no sense here")
LRL_D(LRL_Err_MultipleDifferentLinknames, "Different linknames have been defined")
LRL_D(LRL_Err_ImportWithValue, "Variable has a value and can't be imported/deconly")
LRL_D(LRL_Err_ImportWithBody, "Function has a body and can't be imported/declonly")
LRL_D(LRL_Err_ExpressionIsNotCallable, "Expression is not callable (not a function)")
LRL_D(LRL_Err_WrongNumberOfArguments, "Wrong number of arguments")
LRL_D(LRL_Err_ModifyNonLocalNamespace, "Attempt to modify non-local namespace")
LRL_D(LRL_Err_NamespaceNotAllowed, "Unexpected colon. Namespaces are not allowed here")
LRL_D(LRL_Err_MemberDoesntExist, "Struct member doesn't exist")
LRL_D(LRL_Err_NotAMember, "Identifier isn't a member inside the struct")
LRL_D(LRL_Err_TargetTypeIsNotSuperset, "Target type doesn't accept all values of the source type")
LRL_D(LRL_Err_TargetTypeIsNotEqual, "Nested type must be equal to source type")
LRL_D(LRL_Err_TypeParametersDiffer, "Type parameters differ (must be equal types)")
LRL_D(LRL_Err_CantDetermineExprType, "Can't determine type of expression. Try using \"... as type\"")
LRL_D(LRL_Err_CantDetermineArrayExprType, "Can't determine type of array expression. Try using \"(... as type)#[...]\"")
LRL_D(LRL_Err_MissingArrayIndex, "Missing array index")
LRL_D(LRL_Err_TypeHasNoTypeScope, "Target type has no type scope")
LRL_D(LRL_Err_TypeIdentMakesNoSense, "Type identifier makes no sense here")
LRL_D(LRL_Err_TargetIsNotArrayType, "Target type is not an array type")
LRL_D(LRL_Err_TargetIsNotStructType, "Target type is not a struct")
LRL_D(LRL_Err_TargetIsNotFloatType, "Target type is not a float")
LRL_D(LRL_Err_TargetIsNotUnsignedType, "Target type is not an unsigned integer")
LRL_D(LRL_Err_TargetIsNotSignedType, "Target type is not a signed number")
LRL_D(LRL_Err_TargetIsNotNumberType, "Target type is not a number")
LRL_D(LRL_Err_TargetIsNotBooleanType, "Target type is not boolean")
LRL_D(LRL_Err_TargetIsNotPointerType, "Target type is not a pointer")
LRL_D(LRL_Err_TargetIsNotOptionalType, "Target type is not an optional type")
LRL_D(LRL_Err_TargetMayNotBeEint, "Operation may affect the sign bit and is not allowed with an eint target type")
LRL_D(LRL_Err_TooFewTypeArgs, "Too few type arguments given")
LRL_D(LRL_Err_TooManyTypeArgs, "Too many type arguments given")
LRL_D(LRL_Err_MissingTypeParameters, "Parametric type used without type parameters")
LRL_D(LRL_Err_ParamsOnNonParamType, "Non-parametric type used with type parameters")
LRL_D(LRL_Err_TypeParamWithNamespace, "Type parameter may not be accessed with namespace")
LRL_D(LRL_Err_TypeParamFromOtherType, "Type parameter from other type may not be accessed")
LRL_D(LRL_Err_TooFewStructElems, "Too few elements in struct value")
LRL_D(LRL_Err_TooManyStructElems, "Too many elements in struct value")
LRL_D(LRL_Err_ArrayLengthsDiffer, "Array lengths differ")
LRL_D(LRL_Err_EnumTypeNamesDiffer, "Value names in enum types differ")
LRL_D(LRL_Err_EnumTypeValuesDiffer, "Values in enum types differ")
LRL_D(LRL_Err_EnumTypeWithFewerValues, "Target enum type has fewer values")
LRL_D(LRL_Err_EnumTypesNotEqual, "Enum types must match exactly in this context")
LRL_D(LRL_Err_MemberCountDiffers, "Member count in structs/unions differ")
LRL_D(LRL_Err_MembersNamesDiffer, "Member names in structs/unions differ")
LRL_D(LRL_Err_CantCompareExprsStatically, "Can't compare expressions statically")
LRL_D(LRL_Err_ConstantTooComplex, "Constant value is variable or too complex")
LRL_D(LRL_Err_ArrayLengthTooComplex, "Array length is variable or too complex")
LRL_D(LRL_Err_ExprMayNotBeVar, "Expression may not be var")
LRL_D(LRL_Err_ExprMayNotBeShared, "Expression may not be shared")
LRL_D(LRL_Err_TrailingCommaInArgList, "Trailing comma in argument or index list")
LRL_D(LRL_Err_FunctionNotInPointer, "Function type must be in a pointer type")
LRL_D(LRL_Err_AnyTypeNotInPointer, "\"any\" type must be in a pointer type")
LRL_D(LRL_Err_UnknownLengthArrayNotInPointer, "Unknown-length array must be in a pointer type")
LRL_D(LRL_Err_EmptyExprInList, "Empty expression (or double comma) in list")
LRL_D(LRL_Err_RepeatedKeyword, "Repeated keyword")
LRL_D(LRL_Err_DuplicateIdentifier, "Duplicate identifier (or multiple declarations with the same name)")
LRL_D(LRL_Err_DuplicateTypedef, "Multiple type declarations with the same name")
LRL_D(LRL_Err_HereNotAllowedHere, "\"here\" keyword can't be used here")
LRL_D(LRL_Err_MissingOperand, "Operator is missing an operand")
LRL_D(LRL_Err_IntegerLargerThanLargestType, "Number is larger than the largest integer type (which is 128-bit)")
LRL_D(LRL_Err_ComputedValueTooLarge, "Computed value is too large for the target type")
LRL_D(LRL_Err_FunctionsAreNotValues, "Functions are not values. To call, use ()")
LRL_D(LRL_Err_FunctionMembersAreNotValues, "Function members (from \"->\" operation) can not be used as values")
LRL_D(LRL_Err_FunctionMemberOfTypeWithoutNamespace, "Attempting to get function member of type without a namespace")
LRL_D(LRL_Err_FunctionHasNoThisParam, "Function has no \"this\" parameter")
LRL_D(LRL_Err_CannotAssignToConstant, "Can't assign to constant data")
LRL_D(LRL_Err_MustBeLValue, "Expression cannot be assigned to (not an l-value)")
LRL_D(LRL_Err_AssignmentInExpression, "Assignment in expressions is not allowed")
LRL_D(LRL_Err_InvalidArrayIndex, "Invalid array index")
LRL_D(LRL_Err_MismatchedRCurly, "Mismatched \"}\". There may be one too much above")
LRL_D(LRL_Err_TypeIsNotIterable, "Type is not iterable")
LRL_D(LRL_Err_BreakContinueOutsideLoop, "Cannot use 'break' or 'continue' outside a loop")
LRL_D(LRL_Err_MustReturnAValue, "Function has a return type and must return a value")
LRL_D(LRL_Err_InvalidBitfieldType, "The backing type for a bitfield must be of an unsigned integer type")
LRL_D(LRL_Err_OptionalRawPointer, "An optional raw pointer makes no sense. Raw pointers are implicitly optional")
LRL_D(LRL_Err_DoublePlusMinus, "Repeated plus or minus. Pre/post increment/decrement is not supported")
LRL_D(LRL_Err_UnexpectedTokenInDefOrStmt, "Unexpected token in declaration or statement")
LRL_D(LRL_Err_TypeAssertIsOrInExpected, "Expected \"is\" or \"in\" in type assert statement")
LRL_D(LRL_Err_CycleDetected, "Cycle detected involving this identifier")
LRL_D(LRL_Err_CyclicTypeDetected, "Cyclic reference in type was detected")
LRL_D(LRL_Err_CyclicExprDetected, "Cyclic reference in expression was detected")
LRL_D(LRL_Err_InteropNotFound, "Interop not found")
LRL_D(LRL_Err_BadInteropOptions, "Bad interop options. Please see earlier errors")
LRL_D(LRL_Err_InteropFailed, "Interop failed. Please see earlier errors")
LRL_D(LRL_Err_CI_UnknownToken, "Unknown token")
LRL_D(LRL_Err_CI_MissingOperandInExpr, "Missing operand in expression")
LRL_D(LRL_Err_CI_UnexpectedToken, "Unexpected token")
LRL_D(LRL_Err_CI_UnexpectedSemicolon, "Unexpected semicolon")
LRL_D(LRL_Err_CI_UnexpectedTokenInExpr, "Unexpected token in expression")
LRL_D(LRL_Err_CI_OperatorExpected, "Expected an operator")
LRL_D(LRL_Err_CI_TooManyClosingParens, "Too many closing parentheses in expression")
LRL_D(LRL_Err_CI_SizeOfEndError, "Missing ) at end of sizeof/_Alignof or failure to parse type")
LRL_D(LRL_Err_CI_MismatchedParenthesisInExpr, "Mismatched parenthesis in expression")
LRL_D(LRL_Err_CI_IncompleteExpr, "Incomplete expression")
LRL_D(LRL_Err_CI_NoSuchType, "No such type")
LRL_D(LRL_Err_CI_ExpectedBitFieldSize, "Expected number for bit field size")
LRL_D(LRL_Err_CI_ExpectedIdentInEnum, "Expected identifier in enum")
LRL_D(LRL_Err_CI_ExpectedClosingParen, "Expected closing parenthesis")
LRL_D(LRL_Err_CI_UnexpectedTokenInArrayLength, "Unexpected or unsupported token in array length")
LRL_D(LRL_Err_CI_ParenMismatch, "Parenthesis mismatch")
LRL_D(LRL_Err_CI_EOFInFunction, "Reached EOF while skipping function body")