Safe Haskell | None |
---|---|
Language | Haskell2010 |
Language.PureScript.Errors
Synopsis
- module Language.PureScript.AST
- data SimpleErrorMessage
- = InternalCompilerError Text Text
- | ModuleNotFound ModuleName
- | ErrorParsingFFIModule FilePath (Maybe ErrorMessage)
- | ErrorParsingCSTModule ParserError
- | WarningParsingCSTModule ParserWarning
- | MissingFFIModule ModuleName
- | UnnecessaryFFIModule ModuleName FilePath
- | MissingFFIImplementations ModuleName [Ident]
- | UnusedFFIImplementations ModuleName [Ident]
- | InvalidFFIIdentifier ModuleName Text
- | DeprecatedFFIPrime ModuleName Text
- | DeprecatedFFICommonJSModule ModuleName FilePath
- | UnsupportedFFICommonJSExports ModuleName [Text]
- | UnsupportedFFICommonJSImports ModuleName [Text]
- | FileIOError Text Text
- | InfiniteType SourceType
- | InfiniteKind SourceType
- | MultipleValueOpFixities (OpName 'ValueOpName)
- | MultipleTypeOpFixities (OpName 'TypeOpName)
- | OrphanTypeDeclaration Ident
- | OrphanKindDeclaration (ProperName 'TypeName)
- | OrphanRoleDeclaration (ProperName 'TypeName)
- | RedefinedIdent Ident
- | OverlappingNamesInLet Ident
- | UnknownName (Qualified Name)
- | UnknownImport ModuleName Name
- | UnknownImportDataConstructor ModuleName (ProperName 'TypeName) (ProperName 'ConstructorName)
- | UnknownExport Name
- | UnknownExportDataConstructor (ProperName 'TypeName) (ProperName 'ConstructorName)
- | ScopeConflict Name [ModuleName]
- | ScopeShadowing Name (Maybe ModuleName) [ModuleName]
- | DeclConflict Name Name
- | ExportConflict (Qualified Name) (Qualified Name)
- | DuplicateModule ModuleName
- | DuplicateTypeClass (ProperName 'ClassName) SourceSpan
- | DuplicateInstance Ident SourceSpan
- | DuplicateTypeArgument Text
- | InvalidDoBind
- | InvalidDoLet
- | CycleInDeclaration Ident
- | CycleInTypeSynonym (NonEmpty (ProperName 'TypeName))
- | CycleInTypeClassDeclaration (NonEmpty (Qualified (ProperName 'ClassName)))
- | CycleInKindDeclaration (NonEmpty (Qualified (ProperName 'TypeName)))
- | CycleInModules (NonEmpty ModuleName)
- | NameIsUndefined Ident
- | UndefinedTypeVariable (ProperName 'TypeName)
- | PartiallyAppliedSynonym (Qualified (ProperName 'TypeName))
- | EscapedSkolem Text (Maybe SourceSpan) SourceType
- | TypesDoNotUnify SourceType SourceType
- | KindsDoNotUnify SourceType SourceType
- | ConstrainedTypeUnified SourceType SourceType
- | OverlappingInstances (Qualified (ProperName 'ClassName)) [SourceType] [Qualified (Either SourceType Ident)]
- | NoInstanceFound SourceConstraint [Qualified (Either SourceType Ident)] UnknownsHint
- | AmbiguousTypeVariables SourceType [(Text, Int)]
- | UnknownClass (Qualified (ProperName 'ClassName))
- | PossiblyInfiniteInstance (Qualified (ProperName 'ClassName)) [SourceType]
- | PossiblyInfiniteCoercibleInstance
- | CannotDerive (Qualified (ProperName 'ClassName)) [SourceType]
- | InvalidDerivedInstance (Qualified (ProperName 'ClassName)) [SourceType] Int
- | ExpectedTypeConstructor (Qualified (ProperName 'ClassName)) [SourceType] SourceType
- | InvalidNewtypeInstance (Qualified (ProperName 'ClassName)) [SourceType]
- | MissingNewtypeSuperclassInstance (Qualified (ProperName 'ClassName)) (Qualified (ProperName 'ClassName)) [SourceType]
- | UnverifiableSuperclassInstance (Qualified (ProperName 'ClassName)) (Qualified (ProperName 'ClassName)) [SourceType]
- | CannotFindDerivingType (ProperName 'TypeName)
- | DuplicateLabel Label (Maybe Expr)
- | DuplicateValueDeclaration Ident
- | ArgListLengthsDiffer Ident
- | OverlappingArgNames (Maybe Ident)
- | MissingClassMember (NonEmpty (Ident, SourceType))
- | ExtraneousClassMember Ident (Qualified (ProperName 'ClassName))
- | ExpectedType SourceType SourceType
- | IncorrectConstructorArity (Qualified (ProperName 'ConstructorName)) Int Int
- | ExprDoesNotHaveType Expr SourceType
- | PropertyIsMissing Label
- | AdditionalProperty Label
- | OrphanInstance Ident (Qualified (ProperName 'ClassName)) (Set ModuleName) [SourceType]
- | InvalidNewtype (ProperName 'TypeName)
- | InvalidInstanceHead SourceType
- | TransitiveExportError DeclarationRef [DeclarationRef]
- | TransitiveDctorExportError DeclarationRef [ProperName 'ConstructorName]
- | HiddenConstructors DeclarationRef (Qualified (ProperName 'ClassName))
- | ShadowedName Ident
- | ShadowedTypeVar Text
- | UnusedTypeVar Text
- | UnusedName Ident
- | UnusedDeclaration Ident
- | WildcardInferredType SourceType Context
- | HoleInferredType Text SourceType Context (Maybe TypeSearch)
- | MissingTypeDeclaration Ident SourceType
- | MissingKindDeclaration KindSignatureFor (ProperName 'TypeName) SourceType
- | OverlappingPattern [[Binder]] Bool
- | IncompleteExhaustivityCheck
- | ImportHidingModule ModuleName
- | UnusedImport ModuleName (Maybe ModuleName)
- | UnusedExplicitImport ModuleName [Name] (Maybe ModuleName) [DeclarationRef]
- | UnusedDctorImport ModuleName (ProperName 'TypeName) (Maybe ModuleName) [DeclarationRef]
- | UnusedDctorExplicitImport ModuleName (ProperName 'TypeName) [ProperName 'ConstructorName] (Maybe ModuleName) [DeclarationRef]
- | DuplicateSelectiveImport ModuleName
- | DuplicateImport ModuleName ImportDeclarationType (Maybe ModuleName)
- | DuplicateImportRef Name
- | DuplicateExportRef Name
- | IntOutOfRange Integer Text Integer Integer
- | ImplicitQualifiedImport ModuleName ModuleName [DeclarationRef]
- | ImplicitQualifiedImportReExport ModuleName ModuleName [DeclarationRef]
- | ImplicitImport ModuleName [DeclarationRef]
- | HidingImport ModuleName [DeclarationRef]
- | CaseBinderLengthDiffers Int [Binder]
- | IncorrectAnonymousArgument
- | InvalidOperatorInBinder (Qualified (OpName 'ValueOpName)) (Qualified Ident)
- | CannotGeneralizeRecursiveFunction Ident SourceType
- | CannotDeriveNewtypeForData (ProperName 'TypeName)
- | ExpectedWildcard (ProperName 'TypeName)
- | CannotUseBindWithDo Ident
- | ClassInstanceArityMismatch Ident (Qualified (ProperName 'ClassName)) Int Int
- | UserDefinedWarning SourceType
- | CannotDefinePrimModules ModuleName
- | MixedAssociativityError (NonEmpty (Qualified (OpName 'AnyOpName), Associativity))
- | NonAssociativeError (NonEmpty (Qualified (OpName 'AnyOpName)))
- | QuantificationCheckFailureInKind Text
- | QuantificationCheckFailureInType [Int] SourceType
- | VisibleQuantificationCheckFailureInType Text
- | UnsupportedTypeInKind SourceType
- | RoleMismatch Text Role Role
- | InvalidCoercibleInstanceDeclaration [SourceType]
- | UnsupportedRoleDeclaration
- | RoleDeclarationArityMismatch (ProperName 'TypeName) Int Int
- | DuplicateRoleDeclaration (ProperName 'TypeName)
- | CannotDeriveInvalidConstructorArg (Qualified (ProperName 'ClassName)) [Qualified (ProperName 'ClassName)] Bool
- | CannotSkipTypeApplication SourceType
- | CannotApplyExpressionOfTypeOnType SourceType SourceType
- data Level
- nonEmpty :: MultipleErrors -> Bool
- data ErrorMessage = ErrorMessage [ErrorMessageHint] SimpleErrorMessage
- renderBox :: Box -> String
- line :: Text -> Box
- errorMessage :: SimpleErrorMessage -> MultipleErrors
- indent :: Box -> Box
- data TypeMap = TypeMap {
- umSkolemMap :: Map Int (String, Int, Maybe SourceSpan)
- umUnknownMap :: Map Int Int
- umNextIndex :: Int
- newtype MultipleErrors = MultipleErrors {}
- rethrow :: MonadError e m => (e -> e) -> m a -> m a
- errorMessage' :: SourceSpan -> SimpleErrorMessage -> MultipleErrors
- rethrowWithPosition :: MonadError MultipleErrors m => SourceSpan -> m a -> m a
- addHint :: ErrorMessageHint -> MultipleErrors -> MultipleErrors
- defaultPPEOptions :: PPEOptions
- errorMessage'' :: NonEmpty SourceSpan -> SimpleErrorMessage -> MultipleErrors
- prettyPrintMultipleErrors :: PPEOptions -> MultipleErrors -> String
- singleError :: ErrorMessage -> MultipleErrors
- parU :: MonadError MultipleErrors m => [a] -> (a -> m b) -> m [b]
- positionedError :: SourceSpan -> ErrorMessageHint
- withPosition :: SourceSpan -> ErrorMessage -> ErrorMessage
- warnAndRethrow :: (MonadError e m, MonadWriter e m) => (e -> e) -> m a -> m a
- warnAndRethrowWithPosition :: (MonadError MultipleErrors m, MonadWriter MultipleErrors m) => SourceSpan -> m a -> m a
- warnWithPosition :: MonadWriter MultipleErrors m => SourceSpan -> m a -> m a
- internalCompilerError :: (MonadError MultipleErrors m, HasCallStack) => Text -> m a
- addHints :: [ErrorMessageHint] -> MultipleErrors -> MultipleErrors
- escalateWarningWhen :: (MonadWriter MultipleErrors m, MonadError MultipleErrors m) => (ErrorMessage -> Bool) -> m a -> m a
- onErrorMessages :: (ErrorMessage -> ErrorMessage) -> MultipleErrors -> MultipleErrors
- onTypesInErrorMessage :: (SourceType -> SourceType) -> ErrorMessage -> ErrorMessage
- withoutPosition :: ErrorMessage -> ErrorMessage
- newtype ErrorSuggestion = ErrorSuggestion Text
- errorSpan :: ErrorMessage -> Maybe (NonEmpty SourceSpan)
- findHint :: (ErrorMessageHint -> Maybe a) -> ErrorMessage -> Maybe a
- errorModule :: ErrorMessage -> Maybe ModuleName
- stripModuleAndSpan :: ErrorMessage -> ErrorMessage
- errorCode :: ErrorMessage -> Text
- unwrapErrorMessage :: ErrorMessage -> SimpleErrorMessage
- errorMessage''' :: [SourceSpan] -> SimpleErrorMessage -> MultipleErrors
- defaultUnknownMap :: TypeMap
- replaceUnknowns :: SourceType -> State TypeMap SourceType
- onTypesInErrorMessageM :: Applicative m => (SourceType -> m SourceType) -> ErrorMessage -> m ErrorMessage
- errorDocUri :: ErrorMessage -> Text
- errorSuggestion :: SimpleErrorMessage -> Maybe ErrorSuggestion
- prettyPrintSuggestedTypeSimplified :: Type a -> String
- prettyPrintKindSignatureFor :: KindSignatureFor -> Text
- prettyPrintRef :: DeclarationRef -> Maybe Text
- suggestionSpan :: ErrorMessage -> Maybe SourceSpan
- showSuggestion :: SimpleErrorMessage -> Text
- ansiColor :: (ColorIntensity, Color) -> String
- ansiColorReset :: String
- colorCode :: Maybe (ColorIntensity, Color) -> Text -> Text
- colorCodeBox :: Maybe (ColorIntensity, Color) -> Box -> Box
- commasAndConjunction :: Text -> [Text] -> Text
- defaultCodeColor :: (ColorIntensity, Color)
- data PPEOptions = PPEOptions {
- ppeCodeColor :: Maybe (ColorIntensity, Color)
- ppeFull :: Bool
- ppeLevel :: Level
- ppeShowDocs :: Bool
- ppeRelativeDirectory :: FilePath
- ppeFileContents :: [(FilePath, Text)]
- prettyPrintSingleError :: PPEOptions -> ErrorMessage -> Box
- lineS :: String -> Box
- toTypelevelString :: Type a -> Maybe Box
- prettyPrintExport :: DeclarationRef -> Text
- prettyPrintImport :: ModuleName -> ImportDeclarationType -> Maybe ModuleName -> Text
- prettyPrintMultipleErrorsBox :: PPEOptions -> MultipleErrors -> [Box]
- prettyPrintMultipleWarnings :: PPEOptions -> MultipleErrors -> String
- prettyPrintMultipleWarningsBox :: PPEOptions -> MultipleErrors -> [Box]
- prettyPrintMultipleErrorsWith :: PPEOptions -> String -> String -> MultipleErrors -> [Box]
Documentation
module Language.PureScript.AST
data SimpleErrorMessage #
A type of error messages
Constructors
Instances
How critical the issue is
nonEmpty :: MultipleErrors -> Bool #
Check whether a collection of errors is empty or not.
data ErrorMessage #
Constructors
ErrorMessage [ErrorMessageHint] SimpleErrorMessage |
Instances
NFData ErrorMessage # | |||||
Defined in Language.PureScript.Errors Methods rnf :: ErrorMessage -> () # | |||||
Generic ErrorMessage # | |||||
Defined in Language.PureScript.Errors Associated Types
| |||||
Show ErrorMessage # | |||||
Defined in Language.PureScript.Errors Methods showsPrec :: Int -> ErrorMessage -> ShowS # show :: ErrorMessage -> String # showList :: [ErrorMessage] -> ShowS # | |||||
type Rep ErrorMessage # | |||||
Defined in Language.PureScript.Errors type Rep ErrorMessage = D1 ('MetaData "ErrorMessage" "Language.PureScript.Errors" "purescript-0.15.15-8K0LbmS63k4ILju2RsIrDp" 'False) (C1 ('MetaCons "ErrorMessage" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [ErrorMessageHint]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 SimpleErrorMessage))) |
errorMessage :: SimpleErrorMessage -> MultipleErrors #
Create an error set from a single simple error message
A map from rigid type variable name/unknown variable pairs to new variables.
Constructors
TypeMap | |
Fields
|
newtype MultipleErrors #
A stack trace for an error
Constructors
MultipleErrors | |
Fields |
Instances
NFData MultipleErrors # | |
Defined in Language.PureScript.Errors Methods rnf :: MultipleErrors -> () # | |
Monoid MultipleErrors # | |
Defined in Language.PureScript.Errors Methods mappend :: MultipleErrors -> MultipleErrors -> MultipleErrors # mconcat :: [MultipleErrors] -> MultipleErrors # | |
Semigroup MultipleErrors # | |
Defined in Language.PureScript.Errors Methods (<>) :: MultipleErrors -> MultipleErrors -> MultipleErrors # sconcat :: NonEmpty MultipleErrors -> MultipleErrors # stimes :: Integral b => b -> MultipleErrors -> MultipleErrors # | |
Show MultipleErrors # | |
Defined in Language.PureScript.Errors Methods showsPrec :: Int -> MultipleErrors -> ShowS # show :: MultipleErrors -> String # showList :: [MultipleErrors] -> ShowS # | |
MonadError MultipleErrors Make # | |
Defined in Language.PureScript.Make.Monad Methods throwError :: MultipleErrors -> Make a # catchError :: Make a -> (MultipleErrors -> Make a) -> Make a # | |
MonadWriter MultipleErrors Make # | |
Defined in Language.PureScript.Make.Monad Methods writer :: (a, MultipleErrors) -> Make a # tell :: MultipleErrors -> Make () # listen :: Make a -> Make (a, MultipleErrors) # pass :: Make (a, MultipleErrors -> MultipleErrors) -> Make a # |
rethrow :: MonadError e m => (e -> e) -> m a -> m a #
Rethrow an error with a more detailed error message in the case of failure
errorMessage' :: SourceSpan -> SimpleErrorMessage -> MultipleErrors #
Create an error set from a single simple error message and source annotation
rethrowWithPosition :: MonadError MultipleErrors m => SourceSpan -> m a -> m a #
Rethrow an error with source position information
addHint :: ErrorMessageHint -> MultipleErrors -> MultipleErrors #
Add a hint to an error message
defaultPPEOptions :: PPEOptions #
Default options for PPEOptions
errorMessage'' :: NonEmpty SourceSpan -> SimpleErrorMessage -> MultipleErrors #
Create an error set from a single simple error message and source annotations
prettyPrintMultipleErrors :: PPEOptions -> MultipleErrors -> String #
Pretty print multiple errors
singleError :: ErrorMessage -> MultipleErrors #
Create an error set from a single error message
parU :: MonadError MultipleErrors m => [a] -> (a -> m b) -> m [b] #
Collect errors in in parallel
withPosition :: SourceSpan -> ErrorMessage -> ErrorMessage #
warnAndRethrow :: (MonadError e m, MonadWriter e m) => (e -> e) -> m a -> m a #
warnAndRethrowWithPosition :: (MonadError MultipleErrors m, MonadWriter MultipleErrors m) => SourceSpan -> m a -> m a #
warnWithPosition :: MonadWriter MultipleErrors m => SourceSpan -> m a -> m a #
internalCompilerError :: (MonadError MultipleErrors m, HasCallStack) => Text -> m a #
addHints :: [ErrorMessageHint] -> MultipleErrors -> MultipleErrors #
Add hints to an error message
escalateWarningWhen :: (MonadWriter MultipleErrors m, MonadError MultipleErrors m) => (ErrorMessage -> Bool) -> m a -> m a #
Runs a computation listening for warnings and then escalating any warnings that match the predicate to error status.
onErrorMessages :: (ErrorMessage -> ErrorMessage) -> MultipleErrors -> MultipleErrors #
Lift a function on ErrorMessage to a function on MultipleErrors
onTypesInErrorMessage :: (SourceType -> SourceType) -> ErrorMessage -> ErrorMessage #
newtype ErrorSuggestion #
Constructors
ErrorSuggestion Text |
errorSpan :: ErrorMessage -> Maybe (NonEmpty SourceSpan) #
Get the source span for an error
findHint :: (ErrorMessageHint -> Maybe a) -> ErrorMessage -> Maybe a #
errorModule :: ErrorMessage -> Maybe ModuleName #
Get the module name for an error
stripModuleAndSpan :: ErrorMessage -> ErrorMessage #
Remove the module name and span hints from an error
errorCode :: ErrorMessage -> Text #
Get the error code for a particular error type
unwrapErrorMessage :: ErrorMessage -> SimpleErrorMessage #
Extract nested error messages from wrapper errors
errorMessage''' :: [SourceSpan] -> SimpleErrorMessage -> MultipleErrors #
Create an error from multiple (possibly empty) source spans, reversed sorted.
onTypesInErrorMessageM :: Applicative m => (SourceType -> m SourceType) -> ErrorMessage -> m ErrorMessage #
errorDocUri :: ErrorMessage -> Text #
prettyPrintRef :: DeclarationRef -> Maybe Text #
ansiColor :: (ColorIntensity, Color) -> String #
colorCodeBox :: Maybe (ColorIntensity, Color) -> Box -> Box #
commasAndConjunction :: Text -> [Text] -> Text #
defaultCodeColor :: (ColorIntensity, Color) #
Default color intensity and color for code
data PPEOptions #
prettyPrintSingleError
Options
Constructors
PPEOptions | |
Fields
|
prettyPrintSingleError :: PPEOptions -> ErrorMessage -> Box #
Pretty print a single error, simplifying if necessary
toTypelevelString :: Type a -> Maybe Box #
prettyPrintExport :: DeclarationRef -> Text #
prettyPrintImport :: ModuleName -> ImportDeclarationType -> Maybe ModuleName -> Text #
prettyPrintMultipleErrorsBox :: PPEOptions -> MultipleErrors -> [Box] #
Pretty print errors as a Box
prettyPrintMultipleWarnings :: PPEOptions -> MultipleErrors -> String #
Pretty print multiple warnings
prettyPrintMultipleWarningsBox :: PPEOptions -> MultipleErrors -> [Box] #
Pretty print warnings as a Box
prettyPrintMultipleErrorsWith :: PPEOptions -> String -> String -> MultipleErrors -> [Box] #