Safe Haskell | None |
---|---|
Language | Haskell2010 |
Position information for syntax. Crucial for giving good error messages.
Synopsis
- type Position = Position' SrcFile
- type PositionWithoutFile = Position' ()
- data Position' a = Pn {}
- type SrcFile = Maybe RangeFile
- data RangeFile = RangeFile {}
- mkRangeFile :: AbsolutePath -> Maybe (TopLevelModuleName' Range) -> RangeFile
- positionInvariant :: Position' a -> Bool
- startPos :: Maybe RangeFile -> Position
- movePos :: Position' a -> Char -> Position' a
- movePosByString :: Foldable t => Position' a -> t Char -> Position' a
- backupPos :: Position' a -> Position' a
- startPos' :: a -> Position' a
- type Interval = Interval' SrcFile
- type IntervalWithoutFile = Interval' ()
- data Interval' a = Interval {}
- intervalInvariant :: Ord a => Interval' a -> Bool
- posToInterval :: a -> PositionWithoutFile -> PositionWithoutFile -> Interval' a
- getIntervalFile :: Interval' a -> a
- iLength :: Interval' a -> Int32
- fuseIntervals :: Ord a => Interval' a -> Interval' a -> Interval' a
- setIntervalFile :: a -> Interval' b -> Interval' a
- type Range = Range' SrcFile
- data Range' a
- = NoRange
- | Range !a (Seq IntervalWithoutFile)
- rangeInvariant :: Ord a => Range' a -> Bool
- consecutiveAndSeparated :: Ord a => [Interval' a] -> Bool
- intervalsToRange :: a -> [IntervalWithoutFile] -> Range' a
- intervalToRange :: a -> IntervalWithoutFile -> Range' a
- rangeIntervals :: Range' a -> [IntervalWithoutFile]
- rangeFile :: Range -> SrcFile
- rangeModule' :: Range -> Maybe (Maybe (TopLevelModuleName' Range))
- rangeModule :: Range -> Maybe (TopLevelModuleName' Range)
- rightMargin :: Range -> Range
- noRange :: Range' a
- posToRange :: Position' a -> Position' a -> Range' a
- posToRange' :: a -> PositionWithoutFile -> PositionWithoutFile -> Range' a
- rStart :: Range' a -> Maybe (Position' a)
- rStart' :: Range' a -> Maybe PositionWithoutFile
- rEnd :: Range' a -> Maybe (Position' a)
- rEnd' :: Range' a -> Maybe PositionWithoutFile
- rangeToInterval :: Range' a -> Maybe IntervalWithoutFile
- rangeToIntervalWithFile :: Range' a -> Maybe (Interval' a)
- continuous :: Range' a -> Range' a
- continuousPerLine :: Ord a => Range' a -> Range' a
- newtype PrintRange a = PrintRange a
- class HasRange a where
- class HasRange a => SetRange a where
- class KillRange a where
- killRange :: KillRangeT a
- type KillRangeT a = a -> a
- killRangeMap :: (KillRange k, KillRange v) => KillRangeT (Map k v)
- class KILLRANGE t (b :: Bool) where
- killRangeN :: t -> t
- withRangeOf :: (SetRange t, HasRange u) => t -> u -> t
- fuseRange :: (HasRange u, HasRange t) => u -> t -> Range
- fuseRanges :: Ord a => Range' a -> Range' a -> Range' a
- beginningOf :: Range -> Range
- beginningOfFile :: Range -> Range
- interleaveRanges :: HasRange a => [a] -> [a] -> ([a], [(a, a)])
Positions
type PositionWithoutFile = Position' () Source #
Represents a point in the input.
If two positions have the same srcFile
and posPos
components,
then the final two components should be the same as well, but since
this can be hard to enforce the program should not rely too much on
the last two components; they are mainly there to improve error
messages for the user.
Note the invariant which positions have to satisfy: positionInvariant
.
Instances
RangeFile | |
|
Instances
EncodeTCM Range Source # | |||||
Pretty RangeFile Source # | |||||
Pretty TopLevelModuleName Source # | |||||
Defined in Agda.Syntax.TopLevelModuleName pretty :: TopLevelModuleName -> Doc Source # prettyPrec :: Int -> TopLevelModuleName -> Doc Source # prettyList :: [TopLevelModuleName] -> Doc Source # | |||||
HasRange Interval Source # | |||||
HasRange Range Source # | |||||
KillRange Range Source # | |||||
Defined in Agda.Syntax.Position | |||||
SetRange Range Source # | |||||
FreshName Range Source # | |||||
Defined in Agda.TypeChecking.Monad.Base freshName_ :: MonadFresh NameId m => Range -> m Name Source # | |||||
PrettyTCM Range Source # | |||||
Defined in Agda.TypeChecking.Pretty | |||||
PrettyTCM TopLevelModuleName Source # | |||||
Defined in Agda.TypeChecking.Pretty prettyTCM :: MonadPretty m => TopLevelModuleName -> m Doc Source # | |||||
EmbPrj Range Source # | Ranges are always deserialised as | ||||
EmbPrj RangeFile Source # | |||||
EmbPrj TopLevelModuleName Source # | |||||
Defined in Agda.TypeChecking.Serialise.Instances.Common | |||||
Subst Range Source # | |||||
Defined in Agda.TypeChecking.Substitute applySubst :: Substitution' (SubstArg Range) -> Range -> Range Source # | |||||
Sized TopLevelModuleName Source # | |||||
Defined in Agda.Syntax.TopLevelModuleName size :: TopLevelModuleName -> Int Source # natSize :: TopLevelModuleName -> Peano Source # | |||||
Generic RangeFile Source # | |||||
Defined in Agda.Syntax.Position
| |||||
Read RangeFile Source # | This instance fills in the | ||||
Show RangeFile Source # | |||||
NFData Interval Source # | |||||
Defined in Agda.Syntax.Position | |||||
NFData Position Source # | |||||
Defined in Agda.Syntax.Position | |||||
NFData RangeFile Source # | |||||
Defined in Agda.Syntax.Position | |||||
Eq RangeFile Source # | Only the | ||||
Ord RangeFile Source # | Only the | ||||
Defined in Agda.Syntax.Position | |||||
ToJSON Range Source # | |||||
LensClosure MetaInfo Range Source # | |||||
Defined in Agda.TypeChecking.Monad.Base | |||||
LensClosure MetaVariable Range Source # | |||||
Defined in Agda.TypeChecking.Monad.Base | |||||
HasRange (TopLevelModuleName' Range) Source # | |||||
Defined in Agda.Syntax.Position | |||||
KillRange (TopLevelModuleName' Range) Source # | |||||
Defined in Agda.Syntax.Position | |||||
SetRange (TopLevelModuleName' Range) Source # | |||||
Defined in Agda.Syntax.Position | |||||
FreshName (Range, String) Source # | |||||
Defined in Agda.TypeChecking.Monad.Base freshName_ :: MonadFresh NameId m => (Range, String) -> m Name Source # | |||||
type SubstArg Range Source # | |||||
Defined in Agda.TypeChecking.Substitute | |||||
type Rep RangeFile Source # | |||||
Defined in Agda.Syntax.Position type Rep RangeFile = D1 ('MetaData "RangeFile" "Agda.Syntax.Position" "Agda-2.6.4.3-inplace" 'False) (C1 ('MetaCons "RangeFile" 'PrefixI 'True) (S1 ('MetaSel ('Just "rangeFilePath") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 AbsolutePath) :*: S1 ('MetaSel ('Just "rangeFileName") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe (TopLevelModuleName' Range))))) |
mkRangeFile :: AbsolutePath -> Maybe (TopLevelModuleName' Range) -> RangeFile Source #
A smart constructor for RangeFile
.
positionInvariant :: Position' a -> Bool Source #
startPos :: Maybe RangeFile -> Position Source #
The first position in a file: position 1, line 1, column 1.
movePos :: Position' a -> Char -> Position' a Source #
Advance the position by one character.
A newline character ('n'
) moves the position to the first
character in the next line. Any other character moves the
position to the next column.
movePosByString :: Foldable t => Position' a -> t Char -> Position' a Source #
Advance the position by a string.
movePosByString = foldl' movePos
backupPos :: Position' a -> Position' a Source #
Backup the position by one character.
Precondition: The character must not be 'n'
.
Intervals
type IntervalWithoutFile = Interval' () Source #
An interval. The iEnd
position is not included in the interval.
Note the invariant which intervals have to satisfy: intervalInvariant
.
Instances
Pretty IntervalWithoutFile Source # | |||||
Defined in Agda.Syntax.Common.Pretty pretty :: IntervalWithoutFile -> Doc Source # prettyPrec :: Int -> IntervalWithoutFile -> Doc Source # prettyList :: [IntervalWithoutFile] -> Doc Source # | |||||
HasRange Interval Source # | |||||
Foldable Interval' Source # | |||||
Defined in Agda.Syntax.Position fold :: Monoid m => Interval' m -> m # foldMap :: Monoid m => (a -> m) -> Interval' a -> m # foldMap' :: Monoid m => (a -> m) -> Interval' a -> m # foldr :: (a -> b -> b) -> b -> Interval' a -> b # foldr' :: (a -> b -> b) -> b -> Interval' a -> b # foldl :: (b -> a -> b) -> b -> Interval' a -> b # foldl' :: (b -> a -> b) -> b -> Interval' a -> b # foldr1 :: (a -> a -> a) -> Interval' a -> a # foldl1 :: (a -> a -> a) -> Interval' a -> a # toList :: Interval' a -> [a] # length :: Interval' a -> Int # elem :: Eq a => a -> Interval' a -> Bool # maximum :: Ord a => Interval' a -> a # minimum :: Ord a => Interval' a -> a # | |||||
Traversable Interval' Source # | |||||
Functor Interval' Source # | |||||
NFData Interval Source # | |||||
Defined in Agda.Syntax.Position | |||||
NFData IntervalWithoutFile Source # | |||||
Defined in Agda.Syntax.Position rnf :: IntervalWithoutFile -> () # | |||||
Pretty a => Pretty (Interval' (Maybe a)) Source # | |||||
EmbPrj a => EmbPrj (Interval' a) Source # | |||||
Generic (Interval' a) Source # | |||||
Defined in Agda.Syntax.Position
| |||||
Read a => Read (Interval' a) Source # | |||||
Show a => Show (Interval' a) Source # | |||||
Eq a => Eq (Interval' a) Source # | |||||
Ord a => Ord (Interval' a) Source # | |||||
Defined in Agda.Syntax.Position | |||||
type Rep (Interval' a) Source # | |||||
Defined in Agda.Syntax.Position type Rep (Interval' a) = D1 ('MetaData "Interval'" "Agda.Syntax.Position" "Agda-2.6.4.3-inplace" 'False) (C1 ('MetaCons "Interval" 'PrefixI 'True) (S1 ('MetaSel ('Just "iStart") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Position' a)) :*: S1 ('MetaSel ('Just "iEnd") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Position' a)))) |
posToInterval :: a -> PositionWithoutFile -> PositionWithoutFile -> Interval' a Source #
Converts a file name and two positions to an interval.
getIntervalFile :: Interval' a -> a Source #
Gets the srcFile
component of the interval. Because of the invariant,
they are both the same.
fuseIntervals :: Ord a => Interval' a -> Interval' a -> Interval' a Source #
Finds the least interval which covers the arguments.
Precondition: The intervals must point to the same file.
setIntervalFile :: a -> Interval' b -> Interval' a Source #
Sets the srcFile
components of the interval.
Ranges
A range is a file name, plus a sequence of intervals, assumed to point to the given file. The intervals should be consecutive and separated.
Note the invariant which ranges have to satisfy: rangeInvariant
.
Instances
EncodeTCM Range Source # | |||||
Pretty TopLevelModuleName Source # | |||||
Defined in Agda.Syntax.TopLevelModuleName pretty :: TopLevelModuleName -> Doc Source # prettyPrec :: Int -> TopLevelModuleName -> Doc Source # prettyList :: [TopLevelModuleName] -> Doc Source # | |||||
HasRange Range Source # | |||||
KillRange Range Source # | |||||
Defined in Agda.Syntax.Position | |||||
SetRange Range Source # | |||||
FreshName Range Source # | |||||
Defined in Agda.TypeChecking.Monad.Base freshName_ :: MonadFresh NameId m => Range -> m Name Source # | |||||
PrettyTCM Range Source # | |||||
Defined in Agda.TypeChecking.Pretty | |||||
PrettyTCM TopLevelModuleName Source # | |||||
Defined in Agda.TypeChecking.Pretty prettyTCM :: MonadPretty m => TopLevelModuleName -> m Doc Source # | |||||
EmbPrj Range Source # | Ranges are always deserialised as | ||||
EmbPrj TopLevelModuleName Source # | |||||
Defined in Agda.TypeChecking.Serialise.Instances.Common | |||||
Subst Range Source # | |||||
Defined in Agda.TypeChecking.Substitute applySubst :: Substitution' (SubstArg Range) -> Range -> Range Source # | |||||
Sized TopLevelModuleName Source # | |||||
Defined in Agda.Syntax.TopLevelModuleName size :: TopLevelModuleName -> Int Source # natSize :: TopLevelModuleName -> Peano Source # | |||||
Foldable Range' Source # | |||||
Defined in Agda.Syntax.Position fold :: Monoid m => Range' m -> m # foldMap :: Monoid m => (a -> m) -> Range' a -> m # foldMap' :: Monoid m => (a -> m) -> Range' a -> m # foldr :: (a -> b -> b) -> b -> Range' a -> b # foldr' :: (a -> b -> b) -> b -> Range' a -> b # foldl :: (b -> a -> b) -> b -> Range' a -> b # foldl' :: (b -> a -> b) -> b -> Range' a -> b # foldr1 :: (a -> a -> a) -> Range' a -> a # foldl1 :: (a -> a -> a) -> Range' a -> a # elem :: Eq a => a -> Range' a -> Bool # maximum :: Ord a => Range' a -> a # minimum :: Ord a => Range' a -> a # | |||||
Traversable Range' Source # | |||||
Functor Range' Source # | |||||
ToJSON Range Source # | |||||
LensClosure MetaInfo Range Source # | |||||
Defined in Agda.TypeChecking.Monad.Base | |||||
LensClosure MetaVariable Range Source # | |||||
Defined in Agda.TypeChecking.Monad.Base | |||||
Pretty a => Pretty (Range' (Maybe a)) Source # | |||||
HasRange (TopLevelModuleName' Range) Source # | |||||
Defined in Agda.Syntax.Position | |||||
KillRange (TopLevelModuleName' Range) Source # | |||||
Defined in Agda.Syntax.Position | |||||
SetRange (TopLevelModuleName' Range) Source # | |||||
Defined in Agda.Syntax.Position | |||||
Null (Range' a) Source # | |||||
Eq a => Monoid (Range' a) Source # | |||||
Eq a => Semigroup (Range' a) Source # | |||||
Generic (Range' a) Source # | |||||
Defined in Agda.Syntax.Position
| |||||
Read a => Read (Range' a) Source # | Note that the grammar implemented by this instance does not necessarily match the current representation of ranges. | ||||
Show a => Show (Range' a) Source # | |||||
NFData a => NFData (Range' a) Source # | |||||
Defined in Agda.Syntax.Position | |||||
Eq a => Eq (Range' a) Source # | |||||
Ord a => Ord (Range' a) Source # | |||||
Defined in Agda.Syntax.Position | |||||
FreshName (Range, String) Source # | |||||
Defined in Agda.TypeChecking.Monad.Base freshName_ :: MonadFresh NameId m => (Range, String) -> m Name Source # | |||||
type SubstArg Range Source # | |||||
Defined in Agda.TypeChecking.Substitute | |||||
type Rep (Range' a) Source # | |||||
Defined in Agda.Syntax.Position type Rep (Range' a) = D1 ('MetaData "Range'" "Agda.Syntax.Position" "Agda-2.6.4.3-inplace" 'False) (C1 ('MetaCons "NoRange" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Range" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Seq IntervalWithoutFile)))) |
consecutiveAndSeparated :: Ord a => [Interval' a] -> Bool Source #
Are the intervals consecutive and separated, do they all point to the same file, and do they satisfy the interval invariant?
intervalsToRange :: a -> [IntervalWithoutFile] -> Range' a Source #
Turns a file name plus a list of intervals into a range.
Precondition: consecutiveAndSeparated
.
intervalToRange :: a -> IntervalWithoutFile -> Range' a Source #
Converts a file name and an interval to a range.
rangeIntervals :: Range' a -> [IntervalWithoutFile] Source #
The intervals that make up the range. The intervals are
consecutive and separated (consecutiveAndSeparated
).
rangeModule' :: Range -> Maybe (Maybe (TopLevelModuleName' Range)) Source #
rangeModule :: Range -> Maybe (TopLevelModuleName' Range) Source #
The range's top-level module name, if any.
rightMargin :: Range -> Range Source #
Conflate a range to its right margin.
posToRange :: Position' a -> Position' a -> Range' a Source #
Converts two positions to a range.
Precondition: The positions have to point to the same file.
posToRange' :: a -> PositionWithoutFile -> PositionWithoutFile -> Range' a Source #
Converts a file name and two positions to a range.
rEnd :: Range' a -> Maybe (Position' a) Source #
The position after the final position in the range, if any.
rEnd' :: Range' a -> Maybe PositionWithoutFile Source #
The position after the final position in the range, if any.
rangeToInterval :: Range' a -> Maybe IntervalWithoutFile Source #
Converts a range to an interval, if possible. Note that the information about the source file is lost.
rangeToIntervalWithFile :: Range' a -> Maybe (Interval' a) Source #
Converts a range to an interval, if possible.
continuous :: Range' a -> Range' a Source #
Returns the shortest continuous range containing the given one.
continuousPerLine :: Ord a => Range' a -> Range' a Source #
Removes gaps between intervals on the same line.
newtype PrintRange a Source #
Wrapper to indicate that range should be printed.
Instances
(Pretty a, HasRange a) => Pretty (PrintRange a) Source # | |
Defined in Agda.Syntax.Common.Pretty pretty :: PrintRange a -> Doc Source # prettyPrec :: Int -> PrintRange a -> Doc Source # prettyList :: [PrintRange a] -> Doc Source # | |
HasRange a => HasRange (PrintRange a) Source # | |
Defined in Agda.Syntax.Position getRange :: PrintRange a -> Range Source # | |
KillRange a => KillRange (PrintRange a) Source # | |
Defined in Agda.Syntax.Position killRange :: KillRangeT (PrintRange a) Source # | |
SetRange a => SetRange (PrintRange a) Source # | |
Defined in Agda.Syntax.Position setRange :: Range -> PrintRange a -> PrintRange a Source # | |
Eq a => Eq (PrintRange a) Source # | |
Defined in Agda.Syntax.Position (==) :: PrintRange a -> PrintRange a -> Bool # (/=) :: PrintRange a -> PrintRange a -> Bool # | |
Ord a => Ord (PrintRange a) Source # | |
Defined in Agda.Syntax.Position compare :: PrintRange a -> PrintRange a -> Ordering # (<) :: PrintRange a -> PrintRange a -> Bool # (<=) :: PrintRange a -> PrintRange a -> Bool # (>) :: PrintRange a -> PrintRange a -> Bool # (>=) :: PrintRange a -> PrintRange a -> Bool # max :: PrintRange a -> PrintRange a -> PrintRange a # min :: PrintRange a -> PrintRange a -> PrintRange a # |
class HasRange a where Source #
Things that have a range are instances of this class.
Nothing
Instances
HasRange HaskellPragma Source # | |
Defined in Agda.Compiler.MAlonzo.Pragmas getRange :: HaskellPragma -> Range Source # | |
HasRange BindName Source # | |
HasRange Declaration Source # | |
Defined in Agda.Syntax.Abstract getRange :: Declaration -> Range Source # | |
HasRange Expr Source # | |
HasRange LHS Source # | |
HasRange LamBinding Source # | |
Defined in Agda.Syntax.Abstract getRange :: LamBinding -> Range Source # | |
HasRange LetBinding Source # | |
Defined in Agda.Syntax.Abstract getRange :: LetBinding -> Range Source # | |
HasRange RHS Source # | |
HasRange SpineLHS Source # | |
HasRange TypedBinding Source # | |
Defined in Agda.Syntax.Abstract getRange :: TypedBinding -> Range Source # | |
HasRange WhereDeclarations Source # | |
Defined in Agda.Syntax.Abstract getRange :: WhereDeclarations -> Range Source # | |
HasRange AmbiguousQName Source # | The range of an |
Defined in Agda.Syntax.Abstract.Name getRange :: AmbiguousQName -> Range Source # | |
HasRange ModuleName Source # | |
Defined in Agda.Syntax.Abstract.Name getRange :: ModuleName -> Range Source # | |
HasRange Name Source # | |
HasRange QName Source # | |
HasRange Access Source # | |
HasRange Annotation Source # | |
Defined in Agda.Syntax.Common getRange :: Annotation -> Range Source # | |
HasRange ArgInfo Source # | |
HasRange Cohesion Source # | |
HasRange Erased Source # | |
HasRange Fixity Source # | |
HasRange Hiding Source # | |
HasRange IsInstance Source # | |
Defined in Agda.Syntax.Common getRange :: IsInstance -> Range Source # | |
HasRange IsMacro Source # | |
HasRange Modality Source # | |
HasRange NotationPart Source # | |
Defined in Agda.Syntax.Common getRange :: NotationPart -> Range Source # | |
HasRange Origin Source # | |
HasRange PatternOrCopattern Source # | |
Defined in Agda.Syntax.Common getRange :: PatternOrCopattern -> Range Source # | |
HasRange Q0Origin Source # | |
HasRange Q1Origin Source # | |
HasRange Quantity Source # | |
HasRange QωOrigin Source # | |
HasRange Relevance Source # | |
HasRange Induction Source # | |
HasRange AsName Source # | |
HasRange Binder Source # | |
HasRange BoundName Source # | |
HasRange Declaration Source # | |
Defined in Agda.Syntax.Concrete getRange :: Declaration -> Range Source # | |
HasRange DoStmt Source # | |
HasRange Expr Source # | |
HasRange LHS Source # | |
HasRange LHSCore Source # | |
HasRange LamBinding Source # | |
Defined in Agda.Syntax.Concrete getRange :: LamBinding -> Range Source # | |
HasRange LamClause Source # | |
HasRange ModuleApplication Source # | |
Defined in Agda.Syntax.Concrete getRange :: ModuleApplication -> Range Source # | |
HasRange ModuleAssignment Source # | |
Defined in Agda.Syntax.Concrete getRange :: ModuleAssignment -> Range Source # | |
HasRange Pattern Source # | |
HasRange Pragma Source # | |
HasRange RHS Source # | |
HasRange RecordDirective Source # | |
Defined in Agda.Syntax.Concrete getRange :: RecordDirective -> Range Source # | |
HasRange TypedBinding Source # | |
Defined in Agda.Syntax.Concrete getRange :: TypedBinding -> Range Source # | |
HasRange WhereClause Source # | |
Defined in Agda.Syntax.Concrete getRange :: WhereClause -> Range Source # | |
HasRange Attribute Source # | |
HasRange DeclarationException Source # | |
Defined in Agda.Syntax.Concrete.Definitions.Errors getRange :: DeclarationException -> Range Source # | |
HasRange DeclarationException' Source # | |
Defined in Agda.Syntax.Concrete.Definitions.Errors | |
HasRange DeclarationWarning Source # | |
Defined in Agda.Syntax.Concrete.Definitions.Errors getRange :: DeclarationWarning -> Range Source # | |
HasRange DeclarationWarning' Source # | |
Defined in Agda.Syntax.Concrete.Definitions.Errors getRange :: DeclarationWarning' -> Range Source # | |
HasRange NiceDeclaration Source # | |
Defined in Agda.Syntax.Concrete.Definitions.Types getRange :: NiceDeclaration -> Range Source # | |
HasRange Name Source # | |
HasRange QName Source # | |
HasRange AppInfo Source # | |
HasRange ConPatInfo Source # | |
Defined in Agda.Syntax.Info getRange :: ConPatInfo -> Range Source # | |
HasRange DeclInfo Source # | |
HasRange ExprInfo Source # | |
HasRange LHSInfo Source # | |
HasRange LetInfo Source # | |
HasRange MetaInfo Source # | |
HasRange ModuleInfo Source # | |
Defined in Agda.Syntax.Info getRange :: ModuleInfo -> Range Source # | |
HasRange MutualInfo Source # | |
Defined in Agda.Syntax.Info getRange :: MutualInfo -> Range Source # | |
HasRange PatInfo Source # | |
HasRange Clause Source # | |
HasRange ConHead Source # | |
HasRange Layer Source # | |
HasRange ParseError Source # | |
Defined in Agda.Syntax.Parser.Monad getRange :: ParseError -> Range Source # | |
HasRange ParseWarning Source # | |
Defined in Agda.Syntax.Parser.Monad getRange :: ParseWarning -> Range Source # | |
HasRange Token Source # | |
HasRange Interval Source # | |
HasRange Range Source # | |
HasRange AbstractName Source # | |
Defined in Agda.Syntax.Scope.Base getRange :: AbstractName -> Range Source # | |
HasRange RawTopLevelModuleName Source # | |
Defined in Agda.Syntax.TopLevelModuleName | |
HasRange Call Source # | |
HasRange CallInfo Source # | |
HasRange CompilerPragma Source # | |
Defined in Agda.TypeChecking.Monad.Base getRange :: CompilerPragma -> Range Source # | |
HasRange Constraint Source # | |
Defined in Agda.TypeChecking.Monad.Base getRange :: Constraint -> Range Source # | |
HasRange MetaInfo Source # | |
HasRange MetaVariable Source # | |
Defined in Agda.TypeChecking.Monad.Base getRange :: MetaVariable -> Range Source # | |
HasRange ProblemConstraint Source # | |
Defined in Agda.TypeChecking.Monad.Base getRange :: ProblemConstraint -> Range Source # | |
HasRange TCErr Source # | |
HasRange TCWarning Source # | |
HasRange Item Source # | |
HasRange () Source # | |
Defined in Agda.Syntax.Position | |
HasRange Bool Source # | |
HasRange a => HasRange (Binder' a) Source # | |
HasRange a => HasRange (Clause' a) Source # | |
HasRange (LHSCore' e) Source # | |
HasRange (Pattern' e) Source # | |
HasRange a => HasRange (Arg a) Source # | |
HasRange a => HasRange (HasEta' a) Source # | |
HasRange a => HasRange (MaybePlaceholder a) Source # | |
Defined in Agda.Syntax.Common getRange :: MaybePlaceholder a -> Range Source # | |
HasRange (Ranged a) Source # | |
HasRange a => HasRange (RecordDirectives' a) Source # | |
Defined in Agda.Syntax.Common getRange :: RecordDirectives' a -> Range Source # | |
HasRange a => HasRange (WithHiding a) Source # | |
Defined in Agda.Syntax.Common getRange :: WithHiding a -> Range Source # | |
HasRange a => HasRange (WithOrigin a) Source # | |
Defined in Agda.Syntax.Common getRange :: WithOrigin a -> Range Source # | |
HasRange a => HasRange (FieldAssignment' a) Source # | |
Defined in Agda.Syntax.Concrete getRange :: FieldAssignment' a -> Range Source # | |
HasRange e => HasRange (OpApp e) Source # | |
IsExpr e => HasRange (ExprView e) Source # | |
HasRange (DefInfo' t) Source # | |
HasRange a => HasRange (PrintRange a) Source # | |
Defined in Agda.Syntax.Position getRange :: PrintRange a -> Range Source # | |
HasRange (TopLevelModuleName' Range) Source # | |
Defined in Agda.Syntax.Position | |
HasRange a => HasRange (Closure a) Source # | |
HasRange a => HasRange (List1 a) Source # | Precondition: The ranges of the list elements must point to the same file (or be empty). |
HasRange a => HasRange (List2 a) Source # | |
HasRange a => HasRange (Maybe a) Source # | |
HasRange a => HasRange [a] Source # | Precondition: The ranges of the list elements must point to the same file (or be empty). |
Defined in Agda.Syntax.Position | |
(HasRange a, HasRange b) => HasRange (ImportDirective' a b) Source # | |
Defined in Agda.Syntax.Common getRange :: ImportDirective' a b -> Range Source # | |
(HasRange a, HasRange b) => HasRange (ImportedName' a b) Source # | |
Defined in Agda.Syntax.Common getRange :: ImportedName' a b -> Range Source # | |
HasRange a => HasRange (Named name a) Source # | |
(HasRange a, HasRange b) => HasRange (Renaming' a b) Source # | |
(HasRange a, HasRange b) => HasRange (Using' a b) Source # | |
HasRange a => HasRange (Dom' t a) Source # | |
(HasRange a, HasRange b) => HasRange (Either a b) Source # | |
(HasRange a, HasRange b) => HasRange (a, b) Source # | Precondition: The ranges of the tuple elements must point to the same file (or be empty). |
Defined in Agda.Syntax.Position | |
(HasRange a, HasRange b, HasRange c) => HasRange (a, b, c) Source # | Precondition: The ranges of the tuple elements must point to the same file (or be empty). |
Defined in Agda.Syntax.Position | |
(HasRange qn, HasRange nm, HasRange p, HasRange e) => HasRange (RewriteEqn' qn nm p e) Source # | |
Defined in Agda.Syntax.Common getRange :: RewriteEqn' qn nm p e -> Range Source # | |
(HasRange a, HasRange b, HasRange c, HasRange d) => HasRange (a, b, c, d) Source # | Precondition: The ranges of the tuple elements must point to the same file (or be empty). |
Defined in Agda.Syntax.Position | |
(HasRange a, HasRange b, HasRange c, HasRange d, HasRange e) => HasRange (a, b, c, d, e) Source # | Precondition: The ranges of the tuple elements must point to the same file (or be empty). |
Defined in Agda.Syntax.Position | |
(HasRange a, HasRange b, HasRange c, HasRange d, HasRange e, HasRange f) => HasRange (a, b, c, d, e, f) Source # | Precondition: The ranges of the tuple elements must point to the same file (or be empty). |
Defined in Agda.Syntax.Position | |
(HasRange a, HasRange b, HasRange c, HasRange d, HasRange e, HasRange f, HasRange g) => HasRange (a, b, c, d, e, f, g) Source # | Precondition: The ranges of the tuple elements must point to the same file (or be empty). |
Defined in Agda.Syntax.Position |
class HasRange a => SetRange a where Source #
If it is also possible to set the range, this is the class.
Nothing
Instances
SetRange BindName Source # | |
SetRange ModuleName Source # | |
Defined in Agda.Syntax.Abstract.Name setRange :: Range -> ModuleName -> ModuleName Source # | |
SetRange Name Source # | |
SetRange QName Source # | |
SetRange Cohesion Source # | |
SetRange NotationPart Source # | |
Defined in Agda.Syntax.Common setRange :: Range -> NotationPart -> NotationPart Source # | |
SetRange Q0Origin Source # | |
SetRange Q1Origin Source # | |
SetRange Quantity Source # | |
SetRange QωOrigin Source # | |
SetRange Relevance Source # | |
SetRange Pattern Source # | |
SetRange TypedBinding Source # | |
Defined in Agda.Syntax.Concrete setRange :: Range -> TypedBinding -> TypedBinding Source # | |
SetRange Attribute Source # | |
SetRange Name Source # | |
SetRange QName Source # | |
SetRange ConPatInfo Source # | |
Defined in Agda.Syntax.Info setRange :: Range -> ConPatInfo -> ConPatInfo Source # | |
SetRange DeclInfo Source # | |
SetRange ModuleInfo Source # | |
Defined in Agda.Syntax.Info setRange :: Range -> ModuleInfo -> ModuleInfo Source # | |
SetRange PatInfo Source # | |
SetRange ConHead Source # | |
SetRange Range Source # | |
SetRange AbstractName Source # | |
Defined in Agda.Syntax.Scope.Base setRange :: Range -> AbstractName -> AbstractName Source # | |
SetRange RawTopLevelModuleName Source # | |
Defined in Agda.Syntax.TopLevelModuleName | |
SetRange MetaInfo Source # | |
SetRange MetaVariable Source # | |
Defined in Agda.TypeChecking.Monad.Base setRange :: Range -> MetaVariable -> MetaVariable Source # | |
SetRange (Pattern' a) Source # | |
SetRange a => SetRange (Arg a) Source # | |
SetRange a => SetRange (WithHiding a) Source # | |
Defined in Agda.Syntax.Common setRange :: Range -> WithHiding a -> WithHiding a Source # | |
SetRange a => SetRange (WithOrigin a) Source # | |
Defined in Agda.Syntax.Common setRange :: Range -> WithOrigin a -> WithOrigin a Source # | |
SetRange (DefInfo' t) Source # | |
SetRange a => SetRange (PrintRange a) Source # | |
Defined in Agda.Syntax.Position setRange :: Range -> PrintRange a -> PrintRange a Source # | |
SetRange (TopLevelModuleName' Range) Source # | |
Defined in Agda.Syntax.Position | |
SetRange a => SetRange (Maybe a) Source # | |
SetRange a => SetRange [a] Source # | |
Defined in Agda.Syntax.Position | |
SetRange a => SetRange (Named name a) Source # | |
class KillRange a where Source #
Killing the range of an object sets all range information to noRange
.
Nothing
killRange :: KillRangeT a Source #
Instances
KillRange BindName Source # | |
Defined in Agda.Syntax.Abstract | |
KillRange DataDefParams Source # | |
Defined in Agda.Syntax.Abstract | |
KillRange Declaration Source # | |
Defined in Agda.Syntax.Abstract | |
KillRange Expr Source # | |
Defined in Agda.Syntax.Abstract | |
KillRange GeneralizeTelescope Source # | |
Defined in Agda.Syntax.Abstract | |
KillRange LHS Source # | |
Defined in Agda.Syntax.Abstract | |
KillRange LamBinding Source # | |
Defined in Agda.Syntax.Abstract | |
KillRange LetBinding Source # | |
Defined in Agda.Syntax.Abstract | |
KillRange ModuleApplication Source # | |
Defined in Agda.Syntax.Abstract | |
KillRange ProblemEq Source # | |
Defined in Agda.Syntax.Abstract | |
KillRange RHS Source # | |
Defined in Agda.Syntax.Abstract | |
KillRange ScopeCopyInfo Source # | |
Defined in Agda.Syntax.Abstract | |
KillRange SpineLHS Source # | |
Defined in Agda.Syntax.Abstract | |
KillRange TypedBinding Source # | |
Defined in Agda.Syntax.Abstract | |
KillRange TypedBindingInfo Source # | |
Defined in Agda.Syntax.Abstract | |
KillRange WhereDeclarations Source # | |
Defined in Agda.Syntax.Abstract | |
KillRange AmbiguousQName Source # | |
Defined in Agda.Syntax.Abstract.Name | |
KillRange ModuleName Source # | |
Defined in Agda.Syntax.Abstract.Name | |
KillRange Name Source # | |
Defined in Agda.Syntax.Abstract.Name | |
KillRange QName Source # | |
Defined in Agda.Syntax.Abstract.Name | |
KillRange Suffix Source # | |
Defined in Agda.Syntax.Abstract | |
KillRange BuiltinId Source # | |
Defined in Agda.Syntax.Builtin | |
KillRange PrimitiveId Source # | |
Defined in Agda.Syntax.Builtin | |
KillRange Access Source # | |
Defined in Agda.Syntax.Common | |
KillRange Annotation Source # | |
Defined in Agda.Syntax.Common | |
KillRange ArgInfo Source # | |
Defined in Agda.Syntax.Common | |
KillRange Cohesion Source # | |
Defined in Agda.Syntax.Common | |
KillRange ConOrigin Source # | |
Defined in Agda.Syntax.Common | |
KillRange CoverageCheck Source # | |
Defined in Agda.Syntax.Common | |
KillRange Erased Source # | |
Defined in Agda.Syntax.Common | |
KillRange ExpandedEllipsis Source # | |
Defined in Agda.Syntax.Common | |
KillRange Fixity Source # | |
Defined in Agda.Syntax.Common | |
KillRange Fixity' Source # | |
Defined in Agda.Syntax.Common | |
KillRange FreeVariables Source # | |
Defined in Agda.Syntax.Common | |
KillRange Hiding Source # | |
Defined in Agda.Syntax.Common | |
KillRange InteractionId Source # | |
Defined in Agda.Syntax.Common | |
KillRange IsAbstract Source # | |
Defined in Agda.Syntax.Common | |
KillRange IsInstance Source # | |
Defined in Agda.Syntax.Common | |
KillRange IsMacro Source # | |
Defined in Agda.Syntax.Common | |
KillRange IsOpaque Source # | |
Defined in Agda.Syntax.Common | |
KillRange Language Source # | |
Defined in Agda.Syntax.Common | |
KillRange Modality Source # | |
Defined in Agda.Syntax.Common | |
KillRange NameId Source # | |
Defined in Agda.Syntax.Common | |
KillRange NotationPart Source # | |
Defined in Agda.Syntax.Common | |
KillRange OpaqueId Source # | |
Defined in Agda.Syntax.Common | |
KillRange Origin Source # | |
Defined in Agda.Syntax.Common | |
KillRange PatternOrCopattern Source # | |
Defined in Agda.Syntax.Common | |
KillRange PositivityCheck Source # | |
Defined in Agda.Syntax.Common | |
KillRange ProjOrigin Source # | |
Defined in Agda.Syntax.Common | |
KillRange Q0Origin Source # | |
Defined in Agda.Syntax.Common | |
KillRange Q1Origin Source # | |
Defined in Agda.Syntax.Common | |
KillRange Quantity Source # | |
Defined in Agda.Syntax.Common | |
KillRange QωOrigin Source # | |
Defined in Agda.Syntax.Common | |
KillRange Relevance Source # | |
Defined in Agda.Syntax.Common | |
KillRange UniverseCheck Source # | |
Defined in Agda.Syntax.Common | |
KillRange Induction Source # | |
Defined in Agda.Syntax.Common | |
KillRange AsName Source # | |
Defined in Agda.Syntax.Concrete | |
KillRange Binder Source # | |
Defined in Agda.Syntax.Concrete | |
KillRange BoundName Source # | |
Defined in Agda.Syntax.Concrete | |
KillRange Declaration Source # | |
Defined in Agda.Syntax.Concrete | |
KillRange DoStmt Source # | |
Defined in Agda.Syntax.Concrete | |
KillRange Expr Source # | |
Defined in Agda.Syntax.Concrete | |
KillRange LHS Source # | |
Defined in Agda.Syntax.Concrete | |
KillRange LamBinding Source # | |
Defined in Agda.Syntax.Concrete | |
KillRange LamClause Source # | |
Defined in Agda.Syntax.Concrete | |
KillRange ModuleApplication Source # | |
Defined in Agda.Syntax.Concrete | |
KillRange ModuleAssignment Source # | |
Defined in Agda.Syntax.Concrete | |
KillRange Pattern Source # | |
Defined in Agda.Syntax.Concrete | |
KillRange Pragma Source # | |
Defined in Agda.Syntax.Concrete | |
KillRange RHS Source # | |
Defined in Agda.Syntax.Concrete | |
KillRange RecordDirective Source # | |
Defined in Agda.Syntax.Concrete | |
KillRange TypedBinding Source # | |
Defined in Agda.Syntax.Concrete | |
KillRange WhereClause Source # | |
Defined in Agda.Syntax.Concrete | |
KillRange Attribute Source # | |
Defined in Agda.Syntax.Concrete.Attribute | |
KillRange Name Source # | |
Defined in Agda.Syntax.Concrete.Name | |
KillRange QName Source # | |
Defined in Agda.Syntax.Concrete.Name | |
KillRange AppInfo Source # | |
Defined in Agda.Syntax.Info | |
KillRange ConPatInfo Source # | |
Defined in Agda.Syntax.Info | |
KillRange DeclInfo Source # | |
Defined in Agda.Syntax.Info | |
KillRange ExprInfo Source # | |
Defined in Agda.Syntax.Info | |
KillRange LHSInfo Source # | |
Defined in Agda.Syntax.Info | |
KillRange LetInfo Source # | |
Defined in Agda.Syntax.Info | |
KillRange MetaInfo Source # | |
Defined in Agda.Syntax.Info | |
KillRange ModuleInfo Source # | |
Defined in Agda.Syntax.Info | |
KillRange MutualInfo Source # | |
Defined in Agda.Syntax.Info | |
KillRange PatInfo Source # | |
Defined in Agda.Syntax.Info | |
KillRange Clause Source # | |
Defined in Agda.Syntax.Internal | |
KillRange ConHead Source # | |
Defined in Agda.Syntax.Internal | |
KillRange ConPatternInfo Source # | |
Defined in Agda.Syntax.Internal | |
KillRange DBPatVar Source # | |
Defined in Agda.Syntax.Internal | |
KillRange DataOrRecord Source # | |
Defined in Agda.Syntax.Internal | |
KillRange Level Source # | |
Defined in Agda.Syntax.Internal | |
KillRange PatOrigin Source # | |
Defined in Agda.Syntax.Internal | |
KillRange PatternInfo Source # | |
Defined in Agda.Syntax.Internal | |
KillRange PlusLevel Source # | |
Defined in Agda.Syntax.Internal | |
KillRange Sort Source # | |
Defined in Agda.Syntax.Internal | |
KillRange Substitution Source # | |
Defined in Agda.Syntax.Internal | |
KillRange Term Source # | |
Defined in Agda.Syntax.Internal | |
KillRange Literal Source # | |
Defined in Agda.Syntax.Literal | |
KillRange Range Source # | |
Defined in Agda.Syntax.Position | |
KillRange ScopeInfo Source # | |
Defined in Agda.Syntax.Scope.Base | |
KillRange RawTopLevelModuleName Source # | |
KillRange Compiled Source # | |
Defined in Agda.Syntax.Treeless | |
KillRange CompiledClauses Source # | |
Defined in Agda.TypeChecking.CompiledClause | |
KillRange SplitTag Source # | |
Defined in Agda.TypeChecking.Coverage.SplitTree | |
KillRange BuiltinSort Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
KillRange CompKit Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
KillRange CompiledRepresentation Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
KillRange Definition Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
KillRange Definitions Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
KillRange Defn Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
KillRange DisplayForm Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
KillRange DisplayTerm Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
KillRange DoGeneralize Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
KillRange EtaEquality Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
KillRange ExtLamInfo Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
KillRange FunctionFlag Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
KillRange IsForced Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
KillRange MutualId Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
KillRange NLPSort Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
KillRange NLPType Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
KillRange NLPat Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
KillRange NumGeneralizableArgs Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
KillRange Polarity Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
KillRange ProjLams Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
KillRange Projection Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
KillRange ProjectionLikenessMissing Source # | |
KillRange RewriteRule Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
KillRange RewriteRuleMap Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
KillRange Section Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
KillRange Sections Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
KillRange Signature Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
KillRange System Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
KillRange TermHead Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
KillRange Occurrence Source # | |
Defined in Agda.TypeChecking.Positivity.Occurrence | |
KillRange Permutation Source # | |
Defined in Agda.Syntax.Position | |
KillRange Void Source # | |
Defined in Agda.Syntax.Position | |
KillRange String Source # | Overlaps with |
Defined in Agda.Syntax.Position | |
KillRange Integer Source # | |
Defined in Agda.Syntax.Position | |
KillRange () Source # | |
Defined in Agda.Syntax.Position killRange :: KillRangeT () Source # | |
KillRange Bool Source # | |
Defined in Agda.Syntax.Position | |
KillRange Int Source # | |
Defined in Agda.Syntax.Position | |
KillRange a => KillRange (Binder' a) Source # | |
Defined in Agda.Syntax.Abstract killRange :: KillRangeT (Binder' a) Source # | |
KillRange a => KillRange (Clause' a) Source # | |
Defined in Agda.Syntax.Abstract killRange :: KillRangeT (Clause' a) Source # | |
KillRange e => KillRange (LHSCore' e) Source # | |
Defined in Agda.Syntax.Abstract killRange :: KillRangeT (LHSCore' e) Source # | |
KillRange e => KillRange (Pattern' e) Source # | |
Defined in Agda.Syntax.Abstract killRange :: KillRangeT (Pattern' e) Source # | |
KillRange a => KillRange (Arg a) Source # | |
Defined in Agda.Syntax.Common killRange :: KillRangeT (Arg a) Source # | |
KillRange a => KillRange (HasEta' a) Source # | |
Defined in Agda.Syntax.Common killRange :: KillRangeT (HasEta' a) Source # | |
KillRange a => KillRange (MaybePlaceholder a) Source # | |
Defined in Agda.Syntax.Common killRange :: KillRangeT (MaybePlaceholder a) Source # | |
KillRange (Ranged a) Source # | |
Defined in Agda.Syntax.Common killRange :: KillRangeT (Ranged a) Source # | |
KillRange a => KillRange (RecordDirectives' a) Source # | |
Defined in Agda.Syntax.Common killRange :: KillRangeT (RecordDirectives' a) Source # | |
KillRange m => KillRange (TerminationCheck m) Source # | |
Defined in Agda.Syntax.Common killRange :: KillRangeT (TerminationCheck m) Source # | |
KillRange a => KillRange (WithHiding a) Source # | |
Defined in Agda.Syntax.Common killRange :: KillRangeT (WithHiding a) Source # | |
KillRange a => KillRange (WithOrigin a) Source # | |
Defined in Agda.Syntax.Common killRange :: KillRangeT (WithOrigin a) Source # | |
KillRange a => KillRange (FieldAssignment' a) Source # | |
Defined in Agda.Syntax.Concrete killRange :: KillRangeT (FieldAssignment' a) Source # | |
KillRange e => KillRange (OpApp e) Source # | |
Defined in Agda.Syntax.Concrete killRange :: KillRangeT (OpApp e) Source # | |
KillRange x => KillRange (ThingWithFixity x) Source # | |
Defined in Agda.Syntax.Fixity killRange :: KillRangeT (ThingWithFixity x) Source # | |
KillRange t => KillRange (DefInfo' t) Source # | |
Defined in Agda.Syntax.Info killRange :: KillRangeT (DefInfo' t) Source # | |
KillRange a => KillRange (Abs a) Source # | |
Defined in Agda.Syntax.Internal killRange :: KillRangeT (Abs a) Source # | |
KillRange a => KillRange (Blocked a) Source # | |
Defined in Agda.Syntax.Internal killRange :: KillRangeT (Blocked a) Source # | |
KillRange a => KillRange (Pattern' a) Source # | |
Defined in Agda.Syntax.Internal killRange :: KillRangeT (Pattern' a) Source # | |
KillRange a => KillRange (Tele a) Source # | |
Defined in Agda.Syntax.Internal killRange :: KillRangeT (Tele a) Source # | |
KillRange a => KillRange (Type' a) Source # | |
Defined in Agda.Syntax.Internal killRange :: KillRangeT (Type' a) Source # | |
KillRange a => KillRange (Elim' a) Source # | |
Defined in Agda.Syntax.Internal.Elim killRange :: KillRangeT (Elim' a) Source # | |
KillRange a => KillRange (PrintRange a) Source # | |
Defined in Agda.Syntax.Position killRange :: KillRangeT (PrintRange a) Source # | |
KillRange (TopLevelModuleName' Range) Source # | |
Defined in Agda.Syntax.Position | |
KillRange c => KillRange (Case c) Source # | |
Defined in Agda.TypeChecking.CompiledClause killRange :: KillRangeT (Case c) Source # | |
KillRange c => KillRange (WithArity c) Source # | |
Defined in Agda.TypeChecking.CompiledClause killRange :: KillRangeT (WithArity c) Source # | |
KillRange a => KillRange (SplitTree' a) Source # | |
Defined in Agda.TypeChecking.Coverage.SplitTree killRange :: KillRangeT (SplitTree' a) Source # | |
KillRange a => KillRange (Closure a) Source # | |
Defined in Agda.TypeChecking.Monad.Base killRange :: KillRangeT (Closure a) Source # | |
KillRange c => KillRange (FunctionInverse' c) Source # | |
Defined in Agda.TypeChecking.Monad.Base killRange :: KillRangeT (FunctionInverse' c) Source # | |
KillRange a => KillRange (Open a) Source # | |
Defined in Agda.TypeChecking.Monad.Base killRange :: KillRangeT (Open a) Source # | |
KillRange a => KillRange (List1 a) Source # | |
Defined in Agda.Syntax.Position killRange :: KillRangeT (List1 a) Source # | |
KillRange a => KillRange (List2 a) Source # | |
Defined in Agda.Syntax.Position killRange :: KillRangeT (List2 a) Source # | |
KillRange a => KillRange (Drop a) Source # | |
Defined in Agda.Syntax.Position killRange :: KillRangeT (Drop a) Source # | |
(Ord a, KillRange a) => KillRange (Set a) Source # | |
Defined in Agda.Syntax.Position killRange :: KillRangeT (Set a) Source # | |
KillRange a => KillRange (Maybe a) Source # | |
Defined in Agda.Syntax.Position killRange :: KillRangeT (Maybe a) Source # | |
KillRange a => KillRange (Maybe a) Source # | |
Defined in Agda.Syntax.Position killRange :: KillRangeT (Maybe a) Source # | |
KillRange a => KillRange [a] Source # | |
Defined in Agda.Syntax.Position killRange :: KillRangeT [a] Source # | |
(KillRange a, KillRange b) => KillRange (ImportDirective' a b) Source # | |
Defined in Agda.Syntax.Common killRange :: KillRangeT (ImportDirective' a b) Source # | |
(KillRange a, KillRange b) => KillRange (ImportedName' a b) Source # | |
Defined in Agda.Syntax.Common killRange :: KillRangeT (ImportedName' a b) Source # | |
(KillRange name, KillRange a) => KillRange (Named name a) Source # | |
Defined in Agda.Syntax.Common killRange :: KillRangeT (Named name a) Source # | |
(KillRange a, KillRange b) => KillRange (Renaming' a b) Source # | |
Defined in Agda.Syntax.Common killRange :: KillRangeT (Renaming' a b) Source # | |
(KillRange a, KillRange b) => KillRange (Using' a b) Source # | |
Defined in Agda.Syntax.Common killRange :: KillRangeT (Using' a b) Source # | |
(KillRange t, KillRange a) => KillRange (Dom' t a) Source # | |
Defined in Agda.Syntax.Internal killRange :: KillRangeT (Dom' t a) Source # | |
(KillRange a, KillRange b) => KillRange (Either a b) Source # | |
Defined in Agda.Syntax.Position killRange :: KillRangeT (Either a b) Source # | |
KillRange a => KillRange (Map k a) Source # | |
Defined in Agda.Syntax.Position killRange :: KillRangeT (Map k a) Source # | |
(KillRange a, KillRange b) => KillRange (a, b) Source # | |
Defined in Agda.Syntax.Position killRange :: KillRangeT (a, b) Source # | |
(KillRange a, KillRange b, KillRange c) => KillRange (a, b, c) Source # | |
Defined in Agda.Syntax.Position killRange :: KillRangeT (a, b, c) Source # | |
(KillRange qn, KillRange nm, KillRange e, KillRange p) => KillRange (RewriteEqn' qn nm p e) Source # | |
Defined in Agda.Syntax.Common killRange :: KillRangeT (RewriteEqn' qn nm p e) Source # | |
(KillRange a, KillRange b, KillRange c, KillRange d) => KillRange (a, b, c, d) Source # | |
Defined in Agda.Syntax.Position killRange :: KillRangeT (a, b, c, d) Source # |
type KillRangeT a = a -> a Source #
killRangeMap :: (KillRange k, KillRange v) => KillRangeT (Map k v) Source #
Remove ranges in keys and values of a map.
withRangeOf :: (SetRange t, HasRange u) => t -> u -> t Source #
x `withRangeOf` y
sets the range of x
to the range of y
.
fuseRange :: (HasRange u, HasRange t) => u -> t -> Range Source #
Precondition: The ranges must point to the same file (or be empty).
fuseRanges :: Ord a => Range' a -> Range' a -> Range' a Source #
fuseRanges r r'
unions the ranges r
and r'
.
Meaning it finds the least range r0
that covers r
and r'
.
Precondition: The ranges must point to the same file (or be empty).
beginningOf :: Range -> Range Source #
beginningOf r
is an empty range (a single, empty interval)
positioned at the beginning of r
. If r
does not have a
beginning, then noRange
is returned.
beginningOfFile :: Range -> Range Source #
beginningOfFile r
is an empty range (a single, empty interval)
at the beginning of r
's starting position's file. If there is no
such position, then an empty range is returned.
interleaveRanges :: HasRange a => [a] -> [a] -> ([a], [(a, a)]) Source #
Interleaves two streams of ranged elements
It will report the conflicts as a list of conflicting pairs. In case of conflict, the element with the earliest start position is placed first. In case of a tie, the element with the earliest ending position is placed first. If both tie, the element from the first list is placed first.