Skip to content
This repository was archived by the owner on Apr 1, 2025. It is now read-only.

Commit 196f2bf

Browse files
committed
Add declarations to records.
1 parent a73b267 commit 196f2bf

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

semantic-core/src/Analysis/ScopeGraph.hs

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ import Control.Effect.Reader
1616
import Control.Effect.State
1717
import Control.Monad ((>=>))
1818
import Data.File
19-
import Data.Foldable (fold, for_)
19+
import Data.Foldable (fold)
2020
import Data.Function (fix)
2121
import Data.List.NonEmpty
2222
import Data.Loc
@@ -25,6 +25,7 @@ import Data.Name
2525
import Data.Proxy
2626
import qualified Data.Set as Set
2727
import Data.Text (Text)
28+
import Data.Traversable (for)
2829
import Prelude hiding (fail)
2930

3031
data Decl = Decl
@@ -115,8 +116,10 @@ scopeGraphAnalysis = Analysis{..}
115116
string _ = pure mempty
116117
asString _ = pure mempty
117118
record fields = do
118-
for_ fields $ \ (k, v) -> do
119+
fields' <- for fields $ \ (k, v) -> do
119120
addr <- alloc k
120-
assign addr v
121-
pure (foldMap snd fields)
121+
loc <- ask @Loc
122+
let v' = ScopeGraph (Map.singleton (Decl k loc) mempty) <> v
123+
(k, v') <$ assign addr v'
124+
pure (foldMap snd fields')
122125
_ ... m = pure (Just m)

0 commit comments

Comments
 (0)