@@ -83,26 +83,13 @@ onField =
83
83
scopeGraph @ syn
84
84
. getField @ field
85
85
86
- onChildren ::
87
- ( Traversable t ,
88
- ToScopeGraph syn ,
89
- ScopeGraphEff sig m ,
90
- HasField " extraChildren" (r Loc ) (t (syn Loc ))
91
- ) =>
92
- r Loc ->
93
- m (Result (FocalPoint syn ))
94
- onChildren =
95
- fmap fold
96
- . traverse scopeGraph
97
- . getField @ " extraChildren"
98
-
99
86
scopeGraphModule :: ScopeGraphEff sig m => Py. Module Loc -> m (Result () )
100
87
scopeGraphModule = getAp . scopeGraph
101
88
102
89
instance ToScopeGraph Py. AssertStatement where
103
90
type FocalPoint Py. AssertStatement = [Stack. Node ]
104
91
scopeGraph assertStmt =
105
- fmap (\ x -> [x]) <$> onChildren assertStmt
92
+ fmap (\ x -> [x]) <$> todo assertStmt
106
93
107
94
instance ToScopeGraph Py. Assignment where
108
95
type FocalPoint Py. Assignment = Stack. Node
@@ -143,7 +130,7 @@ instance ToScopeGraph Py.Attribute where
143
130
instance ToScopeGraph Py. Block where
144
131
type FocalPoint Py. Block = [Stack. Node ]
145
132
scopeGraph block =
146
- fmap (either (fromEither . fromEither . fromEither) id ) <$> onChildren block
133
+ fmap (either (fromEither . fromEither . fromEither) id ) <$> todo block
147
134
148
135
instance ToScopeGraph Py. BreakStatement where
149
136
type FocalPoint Py. BreakStatement = [Stack. Node ]
@@ -176,7 +163,7 @@ deriving instance ToScopeGraph Py.CompoundStatement
176
163
177
164
instance ToScopeGraph Py. ConditionalExpression where
178
165
type FocalPoint Py. ConditionalExpression = Stack. Node
179
- scopeGraph = onChildren
166
+ scopeGraph = todo
180
167
181
168
instance ToScopeGraph Py. ContinueStatement where
182
169
type FocalPoint Py. ContinueStatement = [Stack. Node ]
@@ -188,7 +175,7 @@ instance ToScopeGraph Py.DecoratedDefinition where
188
175
189
176
instance ToScopeGraph Py. ComparisonOperator where
190
177
type FocalPoint Py. ComparisonOperator = Stack. Node
191
- scopeGraph = onChildren
178
+ scopeGraph = todo
192
179
193
180
instance ToScopeGraph Py. DeleteStatement where
194
181
type FocalPoint Py. DeleteStatement = [Stack. Node ]
@@ -226,18 +213,18 @@ instance ToScopeGraph Py.Ellipsis where
226
213
227
214
instance ToScopeGraph Py. ExceptClause where
228
215
type FocalPoint Py. ExceptClause = [Stack. Node ]
229
- scopeGraph x = fmap (either (const [] ) id ) <$> onChildren x
216
+ scopeGraph x = fmap (either (const [] ) id ) <$> todo x
230
217
231
218
instance ToScopeGraph Py. ExecStatement where
232
219
type FocalPoint Py. ExecStatement = [Stack. Node ]
233
220
scopeGraph x = do
234
- onChildren x
221
+ todo x
235
222
pure (Complete [] )
236
223
237
224
instance ToScopeGraph Py. ExpressionStatement where
238
225
type FocalPoint Py. ExpressionStatement = [Stack. Node ]
239
226
scopeGraph x = do
240
- onChildren x
227
+ todo x
241
228
pure (Complete [] )
242
229
243
230
instance ToScopeGraph Py. ExpressionList where
@@ -441,14 +428,14 @@ instance ToScopeGraph Py.NonlocalStatement where
441
428
442
429
instance ToScopeGraph Py. Module where
443
430
type FocalPoint Py. Module = ()
444
- scopeGraph term@ (Py. Module ann _ ) = do
431
+ scopeGraph term@ (Py. Module ann stmts ) = do
445
432
rootScope' <- rootScope
446
433
447
434
putCurrentScope " __main__"
448
435
449
436
modify (Stack. addEdge rootScope' (Stack. Declaration " __main__" Identifier ann))
450
437
451
- _ <- onChildren term
438
+ _ <- mapM scopeGraph stmts
452
439
453
440
newGraph <- get @ (Stack. Graph Stack. Node )
454
441
0 commit comments