Skip to content

Commit a172f37

Browse files
committed
Parse status
1 parent 8913bd9 commit a172f37

File tree

22 files changed

+498
-538
lines changed

22 files changed

+498
-538
lines changed

hs-bindgen/examples/golden/fun_attributes.h

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,12 @@ int square (int) __attribute__ ((const));
4343
// deprecated
4444
// deprecated (msg)
4545

46-
int old_fn () __attribute__ ((deprecated));
46+
int old_fn_deprecated () __attribute__ ((deprecated("Use new_function instead")));
47+
48+
// unavailable
49+
// unavailable (msg)
50+
51+
int old_fn_unavailable () __attribute__((unavailable("Use new_function instead")));
4752

4853
// format (archetype, string-index, first-to-check)
4954

hs-bindgen/hs-bindgen.cabal

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -49,9 +49,11 @@ common lang
4949
DerivingStrategies
5050
DerivingVia
5151
DisambiguateRecordFields
52+
DuplicateRecordFields
5253
FunctionalDependencies
5354
LambdaCase
5455
MultiWayIf
56+
OverloadedRecordDot
5557
OverloadedStrings
5658
PatternSynonyms
5759
QuantifiedConstraints
@@ -134,7 +136,6 @@ library internal
134136
HsBindgen.Frontend.LanguageC.PartialAST.FromLanC
135137
HsBindgen.Frontend.LanguageC.PartialAST.ToBindgen
136138
HsBindgen.Frontend.Naming
137-
HsBindgen.Frontend.NonParsedDecls
138139
HsBindgen.Frontend.Pass
139140
HsBindgen.Frontend.Pass.HandleMacros
140141
HsBindgen.Frontend.Pass.HandleMacros.IsPass
@@ -250,9 +251,7 @@ library
250251
executable hs-bindgen-cli
251252
import: lang
252253
default-extensions:
253-
DuplicateRecordFields
254254
NoFieldSelectors
255-
OverloadedRecordDot
256255
main-is: hs-bindgen-cli.hs
257256
hs-source-dirs: app
258257

hs-bindgen/src-internal/HsBindgen/Frontend.hs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ import HsBindgen.Frontend.Pass.Select
3636
import HsBindgen.Frontend.Pass.Select.IsPass
3737
import HsBindgen.Frontend.Pass.Sort
3838
import HsBindgen.Frontend.Pass.Sort.IsPass
39+
import HsBindgen.Frontend.Pass.Sort.IsPass qualified as Sort
3940
import HsBindgen.Frontend.Predicate
4041
import HsBindgen.Frontend.ProcessIncludes
4142
import HsBindgen.Frontend.RootHeader
@@ -186,11 +187,11 @@ frontend tracer FrontendConfig{..} BootArtefact{..} = do
186187
(afterParse, _, _) <- parsePass
187188
pure (includeGraphP, unitIncludeGraph afterParse)
188189
frontendIndex <- cache "frontendIndex" $
189-
declIndex . unitAnn <$> sortPass
190+
Sort.declIndex . unitAnn <$> sortPass
190191
frontendUseDeclGraph <- cache "frontendUseDeclGraph" $
191-
declUseDecl . unitAnn <$> sortPass
192+
Sort.declUseDecl . unitAnn <$> sortPass
192193
frontendDeclUseGraph <- cache "frontendDeclUseGraph" $
193-
declDeclUse . unitAnn <$> sortPass
194+
Sort.declDeclUse . unitAnn <$> sortPass
194195

195196
-- Declarations.
196197
frontendCDecls <- cache "frontendDecls" $

hs-bindgen/src-internal/HsBindgen/Frontend/AST/Internal.hs

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -119,12 +119,6 @@ data Availability =
119119
| Unavailable
120120
deriving stock (Show, Eq, Ord, P.Enum, Bounded, Generic)
121121

122-
instance PrettyForTrace Availability where
123-
prettyForTrace = \case
124-
Available -> "available"
125-
Deprecated -> "deprecated"
126-
Unavailable -> "unavailable"
127-
128122
data DeclInfo p = DeclInfo{
129123
declLoc :: SingleLoc
130124
, declId :: Id p

hs-bindgen/src-internal/HsBindgen/Frontend/NonParsedDecls.hs

Lines changed: 0 additions & 57 deletions
This file was deleted.

hs-bindgen/src-internal/HsBindgen/Frontend/Pass/HandleMacros.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ handleMacros C.TranslationUnit{unitDecls, unitIncludeGraph, unitAnn} =
4040
reassemble decls' = C.TranslationUnit{
4141
unitDecls = decls'
4242
, unitIncludeGraph
43-
, unitAnn = coerceDeclMeta unitAnn
43+
, unitAnn
4444
}
4545

4646
processDecl :: C.Decl Sort -> M (Maybe (C.Decl HandleMacros))

hs-bindgen/src-internal/HsBindgen/Frontend/Pass/HandleMacros/IsPass.hs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import HsBindgen.Frontend.AST.Internal (CheckedMacro, ValidPass)
1414
import HsBindgen.Frontend.LanguageC qualified as LanC
1515
import HsBindgen.Frontend.Naming qualified as C
1616
import HsBindgen.Frontend.Pass
17-
import HsBindgen.Frontend.Pass.Sort.IsPass (DeclMeta)
17+
import HsBindgen.Frontend.Pass.Sort.IsPass (SortDeclMeta)
1818
import HsBindgen.Imports
1919
import HsBindgen.Util.Tracer
2020

@@ -27,7 +27,7 @@ data HandleMacros a deriving anyclass ValidPass
2727

2828
-- We do not need the @ReparseInfo@ anymore, so we drop it from the annotations.
2929
type family AnnHandleMacros (ix :: Symbol) :: Star where
30-
AnnHandleMacros "TranslationUnit" = DeclMeta HandleMacros
30+
AnnHandleMacros "TranslationUnit" = SortDeclMeta
3131
AnnHandleMacros _ = NoAnn
3232

3333
instance IsPass HandleMacros where

hs-bindgen/src-internal/HsBindgen/Frontend/Pass/HandleTypedefs.hs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import HsBindgen.Frontend.AST.Internal qualified as C
1212
import HsBindgen.Frontend.Naming qualified as C
1313
import HsBindgen.Frontend.Pass
1414
import HsBindgen.Frontend.Pass.HandleTypedefs.IsPass
15+
import HsBindgen.Frontend.Pass.NameAnon.IsPass
1516
import HsBindgen.Frontend.Pass.Select.IsPass
1617
import HsBindgen.Imports
1718

@@ -31,7 +32,7 @@ handleTypedefs C.TranslationUnit{..} = (
3132
)
3233
where
3334
td :: TypedefAnalysis
34-
td = TypedefAnalysis.fromDecls (selectDeclDeclUse unitAnn) unitDecls
35+
td = TypedefAnalysis.fromDecls unitAnn.declDeclUse unitDecls
3536

3637
msgs :: [Maybe (Msg HandleTypedefs)]
3738
decls' :: [Maybe (C.Decl HandleTypedefs)]

hs-bindgen/src-internal/HsBindgen/Frontend/Pass/HandleTypedefs/IsPass.hs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ import HsBindgen.Frontend.AST.Internal (ValidPass)
1111
import HsBindgen.Frontend.AST.Internal qualified as C
1212
import HsBindgen.Frontend.Naming qualified as C
1313
import HsBindgen.Frontend.Pass
14-
import HsBindgen.Frontend.Pass.ResolveBindingSpec.IsPass (ResolvedExtBinding)
15-
import HsBindgen.Frontend.Pass.Select.IsPass (SelectDeclMeta)
14+
import HsBindgen.Frontend.Pass.NameAnon.IsPass
15+
import HsBindgen.Frontend.Pass.ResolveBindingSpec.IsPass
1616
import HsBindgen.Imports
1717
import HsBindgen.Util.Tracer
1818

@@ -24,7 +24,7 @@ type HandleTypedefs :: Pass
2424
data HandleTypedefs a deriving anyclass ValidPass
2525

2626
type family AnnHandleTypedefs ix where
27-
AnnHandleTypedefs "TranslationUnit" = SelectDeclMeta
27+
AnnHandleTypedefs "TranslationUnit" = NameAnonDeclMeta
2828
AnnHandleTypedefs "Decl" = BindingSpec.TypeSpec
2929
AnnHandleTypedefs _ = NoAnn
3030

hs-bindgen/src-internal/HsBindgen/Frontend/Pass/MangleNames/IsPass.hs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@ import HsBindgen.Frontend.AST.Internal (CheckedMacro, ValidPass)
1212
import HsBindgen.Frontend.Naming qualified as C
1313
import HsBindgen.Frontend.Pass
1414
import HsBindgen.Frontend.Pass.HandleTypedefs.IsPass
15-
import HsBindgen.Frontend.Pass.ResolveBindingSpec.IsPass (ResolvedExtBinding)
16-
import HsBindgen.Frontend.Pass.Select.IsPass
15+
import HsBindgen.Frontend.Pass.NameAnon.IsPass
16+
import HsBindgen.Frontend.Pass.ResolveBindingSpec.IsPass
1717
import HsBindgen.Imports
1818
import HsBindgen.Util.Tracer
1919

@@ -26,7 +26,7 @@ type MangleNames :: Pass
2626
data MangleNames a deriving anyclass (ValidPass)
2727

2828
type family AnnMangleNames ix where
29-
AnnMangleNames "TranslationUnit" = SelectDeclMeta
29+
AnnMangleNames "TranslationUnit" = NameAnonDeclMeta
3030
AnnMangleNames "Decl" = DeclSpec
3131
AnnMangleNames "Struct" = RecordNames
3232
AnnMangleNames "Union" = NewtypeNames

0 commit comments

Comments
 (0)