Skip to content

Commit

Permalink
Improve module hierarchy, start dealing with names
Browse files Browse the repository at this point in the history
Closes #142.
  • Loading branch information
edsko committed Sep 21, 2024
1 parent d7027bb commit e351bbd
Show file tree
Hide file tree
Showing 23 changed files with 672 additions and 471 deletions.
39 changes: 24 additions & 15 deletions hs-bindgen/fixtures/enums.tree-diff.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,58 +3,67 @@ WrapCHeader
[
DeclMacro
(Right
(IncludeGuard "ENUMS_H")),
Macro {
macroLoc = SourceLoc {
sourceLocFile = [
"examples",
"enums.h"],
sourceLocLine = 2,
sourceLocColumn = 9},
macroName = CName "ENUMS_H",
macroArgs = [],
macroBody = ESimple SEmpty}),
DeclEnum
Enu {
enumTag = Just "first",
enumTag = Just (CName "first"),
enumSizeof = 4,
enumAlignment = 4,
enumValues = [
EnumValue {
valueName = "FIRST1",
valueName = CName "FIRST1",
valueValue = 0},
EnumValue {
valueName = "FIRST2",
valueName = CName "FIRST2",
valueValue = 1}]},
DeclEnum
Enu {
enumTag = Just "second",
enumTag = Just (CName "second"),
enumSizeof = 4,
enumAlignment = 4,
enumValues = [
EnumValue {
valueName = "SECOND_A",
valueName = CName "SECOND_A",
valueValue = `-1`},
EnumValue {
valueName = "SECOND_B",
valueName = CName "SECOND_B",
valueValue = 0},
EnumValue {
valueName = "SECOND_C",
valueName = CName "SECOND_C",
valueValue = 1}]},
DeclEnum
Enu {
enumTag = Just "same",
enumTag = Just (CName "same"),
enumSizeof = 4,
enumAlignment = 4,
enumValues = [
EnumValue {
valueName = "SAME_A",
valueName = CName "SAME_A",
valueValue = 1},
EnumValue {
valueName = "SAME_B",
valueName = CName "SAME_B",
valueValue = 1}]},
DeclEnum
Enu {
enumTag = Just "packad",
enumTag = Just (CName "packad"),
enumSizeof = 1,
enumAlignment = 1,
enumValues = [
EnumValue {
valueName = "PACKED_A",
valueName = CName "PACKED_A",
valueValue = 0},
EnumValue {
valueName = "PACKED_B",
valueName = CName "PACKED_B",
valueValue = 1},
EnumValue {
valueName = "PACKED_C",
valueName = CName "PACKED_C",
valueValue = 2}]}])
39 changes: 27 additions & 12 deletions hs-bindgen/fixtures/macro_functions.tree-diff.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,17 +3,32 @@ WrapCHeader
[
DeclMacro
(Right
(FunctionLike
"INCR"
["x"]
(EAdd
(ESimple (SVar "x" []))
(ESimple (SInt 1))))),
Macro {
macroLoc = SourceLoc {
sourceLocFile = [
"examples",
"macro_functions.h"],
sourceLocLine = 1,
sourceLocColumn = 9},
macroName = CName "INCR",
macroArgs = [CName "x"],
macroBody = EAdd
(ESimple (SVar (CName "x") []))
(ESimple (SInt 1))}),
DeclMacro
(Right
(FunctionLike
"ADD"
["x", "y"]
(EAdd
(ESimple (SVar "x" []))
(ESimple (SVar "y" [])))))])
Macro {
macroLoc = SourceLoc {
sourceLocFile = [
"examples",
"macro_functions.h"],
sourceLocLine = 2,
sourceLocColumn = 9},
macroName = CName "ADD",
macroArgs = [
CName "x",
CName "y"],
macroBody = EAdd
(ESimple (SVar (CName "x") []))
(ESimple
(SVar (CName "y") []))})])
11 changes: 10 additions & 1 deletion hs-bindgen/fixtures/macros.tree-diff.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,13 @@ WrapCHeader
[
DeclMacro
(Right
(ObjectLike "MYFOO" (SInt 1)))])
Macro {
macroLoc = SourceLoc {
sourceLocFile = [
"examples",
"macros.h"],
sourceLocLine = 1,
sourceLocColumn = 9},
macroName = CName "MYFOO",
macroArgs = [],
macroBody = ESimple (SInt 1)})])
12 changes: 6 additions & 6 deletions hs-bindgen/fixtures/nested_types.tree-diff.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,31 +3,31 @@ WrapCHeader
[
DeclStruct
Struct {
structTag = Just "foo",
structTag = Just (CName "foo"),
structSizeof = 8,
structAlignment = 4,
structFields = [
StructField {
fieldName = "i",
fieldName = CName "i",
fieldOffset = 0,
fieldType = TypPrim
(PrimInt Signed)},
StructField {
fieldName = "c",
fieldName = CName "c",
fieldOffset = 32,
fieldType = TypPrim
(PrimChar Nothing)}]},
DeclStruct
Struct {
structTag = Just "bar",
structTag = Just (CName "bar"),
structSizeof = 16,
structAlignment = 4,
structFields = [
StructField {
fieldName = "foo1",
fieldName = CName "foo1",
fieldOffset = 0,
fieldType = TypElaborated},
StructField {
fieldName = "foo2",
fieldName = CName "foo2",
fieldOffset = 64,
fieldType = TypElaborated}]}])
61 changes: 31 additions & 30 deletions hs-bindgen/fixtures/primitive_types.tree-diff.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,150 +3,151 @@ WrapCHeader
[
DeclStruct
Struct {
structTag = Just "primitive",
structTag = Just
(CName "primitive"),
structSizeof = 176,
structAlignment = 16,
structFields = [
StructField {
fieldName = "c",
fieldName = CName "c",
fieldOffset = 0,
fieldType = TypPrim
(PrimChar Nothing)},
StructField {
fieldName = "sc",
fieldName = CName "sc",
fieldOffset = 8,
fieldType = TypPrim
(PrimChar (Just Signed))},
StructField {
fieldName = "uc",
fieldName = CName "uc",
fieldOffset = 16,
fieldType = TypPrim
(PrimChar (Just Unsigned))},
StructField {
fieldName = "s",
fieldName = CName "s",
fieldOffset = 32,
fieldType = TypPrim
(PrimShortInt Signed)},
StructField {
fieldName = "si",
fieldName = CName "si",
fieldOffset = 48,
fieldType = TypPrim
(PrimShortInt Signed)},
StructField {
fieldName = "ss",
fieldName = CName "ss",
fieldOffset = 64,
fieldType = TypPrim
(PrimShortInt Signed)},
StructField {
fieldName = "ssi",
fieldName = CName "ssi",
fieldOffset = 80,
fieldType = TypPrim
(PrimShortInt Signed)},
StructField {
fieldName = "us",
fieldName = CName "us",
fieldOffset = 96,
fieldType = TypPrim
(PrimShortInt Unsigned)},
StructField {
fieldName = "usi",
fieldName = CName "usi",
fieldOffset = 112,
fieldType = TypPrim
(PrimShortInt Unsigned)},
StructField {
fieldName = "i",
fieldName = CName "i",
fieldOffset = 128,
fieldType = TypPrim
(PrimInt Signed)},
StructField {
fieldName = "s2",
fieldName = CName "s2",
fieldOffset = 160,
fieldType = TypPrim
(PrimInt Signed)},
StructField {
fieldName = "si2",
fieldName = CName "si2",
fieldOffset = 192,
fieldType = TypPrim
(PrimInt Signed)},
StructField {
fieldName = "u",
fieldName = CName "u",
fieldOffset = 224,
fieldType = TypPrim
(PrimInt Unsigned)},
StructField {
fieldName = "ui",
fieldName = CName "ui",
fieldOffset = 256,
fieldType = TypPrim
(PrimInt Unsigned)},
StructField {
fieldName = "l",
fieldName = CName "l",
fieldOffset = 320,
fieldType = TypPrim
(PrimLong Signed)},
StructField {
fieldName = "li",
fieldName = CName "li",
fieldOffset = 384,
fieldType = TypPrim
(PrimLong Signed)},
StructField {
fieldName = "sl",
fieldName = CName "sl",
fieldOffset = 448,
fieldType = TypPrim
(PrimLong Signed)},
StructField {
fieldName = "sli",
fieldName = CName "sli",
fieldOffset = 512,
fieldType = TypPrim
(PrimLong Signed)},
StructField {
fieldName = "ul",
fieldName = CName "ul",
fieldOffset = 576,
fieldType = TypPrim
(PrimLong Unsigned)},
StructField {
fieldName = "uli",
fieldName = CName "uli",
fieldOffset = 640,
fieldType = TypPrim
(PrimLong Unsigned)},
StructField {
fieldName = "ll",
fieldName = CName "ll",
fieldOffset = 704,
fieldType = TypPrim
(PrimLongLong Signed)},
StructField {
fieldName = "lli",
fieldName = CName "lli",
fieldOffset = 768,
fieldType = TypPrim
(PrimLongLong Signed)},
StructField {
fieldName = "sll",
fieldName = CName "sll",
fieldOffset = 832,
fieldType = TypPrim
(PrimLongLong Signed)},
StructField {
fieldName = "slli",
fieldName = CName "slli",
fieldOffset = 896,
fieldType = TypPrim
(PrimLongLong Signed)},
StructField {
fieldName = "ull",
fieldName = CName "ull",
fieldOffset = 960,
fieldType = TypPrim
(PrimLongLong Unsigned)},
StructField {
fieldName = "ulli",
fieldName = CName "ulli",
fieldOffset = 1024,
fieldType = TypPrim
(PrimLongLong Unsigned)},
StructField {
fieldName = "f",
fieldName = CName "f",
fieldOffset = 1088,
fieldType = TypPrim PrimFloat},
StructField {
fieldName = "d",
fieldName = CName "d",
fieldOffset = 1152,
fieldType = TypPrim PrimDouble},
StructField {
fieldName = "ld",
fieldName = CName "ld",
fieldOffset = 1280,
fieldType = TypPrim
PrimLongDouble}]}])
Loading

0 comments on commit e351bbd

Please sign in to comment.