Skip to content

Commit 3bee475

Browse files
committed
add a handful of record selectors
1 parent e15ba96 commit 3bee475

File tree

4 files changed

+13
-8
lines changed

4 files changed

+13
-8
lines changed

src/Language/Fortran/AST.hs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -197,8 +197,10 @@ data MetaInfo = MetaInfo { miVersion :: FortranVersion, miFilename :: String }
197197
deriving (Eq, Show, Data, Typeable, Generic)
198198

199199
-- Program structure definition
200-
data ProgramFile a = ProgramFile MetaInfo [ ProgramUnit a ]
201-
deriving (Eq, Show, Data, Typeable, Generic, Functor)
200+
data ProgramFile a = ProgramFile
201+
{ programFileMeta :: MetaInfo
202+
, programFileProgramUnits :: [ ProgramUnit a ]
203+
} deriving (Eq, Show, Data, Typeable, Generic, Functor)
202204

203205
pfSetFilename :: String -> ProgramFile a -> ProgramFile a
204206
pfSetFilename fn (ProgramFile mi pus) = ProgramFile (mi { miFilename = fn }) pus

src/Language/Fortran/Parser/Fixed/Lexer.x

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -888,7 +888,7 @@ vanillaAlexInput :: String -> FortranVersion -> B.ByteString -> AlexInput
888888
vanillaAlexInput fn fv bs = AlexInput
889889
{ aiSourceBytes = bs
890890
, aiEndOffset = B.length bs
891-
, aiPosition = initPosition { filePath = fn }
891+
, aiPosition = initPosition { posFilePath = fn }
892892
, aiBytes = []
893893
, aiPreviousChar = '\n'
894894
, aiLexeme = initLexeme

src/Language/Fortran/Parser/Free/Lexer.x

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -893,7 +893,7 @@ type LexAction a = Parse AlexInput Token a
893893
vanillaAlexInput :: String -> B.ByteString -> AlexInput
894894
vanillaAlexInput fn bs = AlexInput
895895
{ aiSourceBytes = bs
896-
, aiPosition = initPosition { filePath = fn }
896+
, aiPosition = initPosition { posFilePath = fn }
897897
, aiEndOffset = B.length bs
898898
, aiPreviousChar = '\n'
899899
, aiLexeme = initLexeme

src/Language/Fortran/Util/Position.hs

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ data Position = Position
1717
{ posAbsoluteOffset :: Int
1818
, posColumn :: Int
1919
, posLine :: Int
20-
, filePath :: String
20+
, posFilePath :: String
2121
, posPragmaOffset :: Maybe (Int, String) -- ^ line-offset and filename as given by a pragma.
2222
} deriving (Eq, Ord, Data, Typeable, Generic)
2323

@@ -32,7 +32,7 @@ initPosition = Position
3232
{ posAbsoluteOffset = 0
3333
, posColumn = 1
3434
, posLine = 1
35-
, filePath = ""
35+
, posFilePath = ""
3636
, posPragmaOffset = Nothing
3737
}
3838

@@ -47,9 +47,12 @@ apparentLineCol (Position _ c l _ _) = (l, c)
4747
-- | Path of file taking into account any specified line pragmas.
4848
apparentFilePath :: Position -> String
4949
apparentFilePath p | Just (_, f) <- posPragmaOffset p = f
50-
| otherwise = filePath p
50+
| otherwise = posFilePath p
5151

52-
data SrcSpan = SrcSpan Position Position deriving (Eq, Ord, Typeable, Data, Generic)
52+
data SrcSpan = SrcSpan
53+
{ ssFrom :: Position
54+
, ssTo :: Position
55+
} deriving (Eq, Ord, Typeable, Data, Generic)
5356

5457
instance Binary SrcSpan
5558
instance NFData SrcSpan

0 commit comments

Comments
 (0)