Skip to content

Commit ce6830c

Browse files
committed
Fixed tests
1 parent b57f591 commit ce6830c

File tree

3 files changed

+12
-3
lines changed

3 files changed

+12
-3
lines changed

lambda-buffers-compiler/src/LambdaBuffers/Compiler/TypeClassCheck.hs

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,17 @@
33

44
module LambdaBuffers.Compiler.TypeClassCheck (detectSuperclassCycles, detectSuperclassCycles') where
55

6+
import Control.Lens.Combinators (view)
67
import Control.Lens.Operators ((^.))
78
import Data.Generics.Labels ()
89
import Data.List (foldl')
910
import Data.Map qualified as M
1011
import Data.Text (Text)
1112
import LambdaBuffers.Compiler.ProtoCompat.Types (
1213
ClassDef (),
14+
ForeignClassRef (ForeignClassRef),
15+
LocalClassRef (LocalClassRef),
16+
TyClassRef (ForeignCI, LocalCI),
1317
)
1418
import Prettyprinter (
1519
Doc,
@@ -30,7 +34,11 @@ detectSuperclassCycles' = detectCycles . mkClassGraph . map defToClassInfo
3034
defToClassInfo :: ClassDef -> ClassInfo
3135
defToClassInfo cd =
3236
ClassInfo (cd ^. #className . #name) $
33-
map (\x -> x ^. #className . #name) (cd ^. #supers)
37+
map (extractName . view #classRef) (cd ^. #supers)
38+
where
39+
extractName = \case
40+
LocalCI (LocalClassRef nm _) -> nm ^. #name
41+
ForeignCI (ForeignClassRef nm _ _) -> nm ^. #name
3442

3543
mkClassGraph :: [ClassInfo] -> M.Map Text [Text]
3644
mkClassGraph = foldl' (\acc (ClassInfo nm sups) -> M.insert nm sups acc) M.empty

lambda-buffers-compiler/test/Test/KindCheck.hs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,7 @@ modMaybe =
100100
]
101101
, P.classDefs = mempty
102102
, P.instances = mempty
103+
, P.imports = mempty
103104
, P.sourceInfo = esi
104105
}
105106

lambda-buffers-compiler/test/Test/TypeClassCheck.hs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import LambdaBuffers.Compiler.ProtoCompat (IsMessage (fromProto))
99
import LambdaBuffers.Compiler.ProtoCompat.Types qualified as ProtoCompat
1010
import LambdaBuffers.Compiler.TypeClassCheck (detectSuperclassCycles')
1111
import Proto.Compiler (ClassDef, Constraint, Kind, Kind'KindRef (Kind'KIND_REF_TYPE))
12-
import Proto.Compiler_Fields (argKind, argName, arguments, classArgs, className, kindRef, name, supers, tyVar, varName)
12+
import Proto.Compiler_Fields (argKind, argName, arguments, classArgs, className, classRef, kindRef, localClassRef, name, supers, tyVar, varName)
1313
import Test.Tasty (TestTree, testGroup)
1414
import Test.Tasty.HUnit (assertFailure, testCase, (@?=))
1515

@@ -53,7 +53,7 @@ mkclass nm sups =
5353
constraint :: Text -> Constraint
5454
constraint nm =
5555
defMessage
56-
& className . name .~ nm
56+
& classRef . localClassRef . className . name .~ nm
5757
& arguments .~ [defMessage & tyVar . varName . name .~ "a"]
5858

5959
cycles :: [ClassDef]

0 commit comments

Comments
 (0)