File tree Expand file tree Collapse file tree 1 file changed +3
-2
lines changed
semantic-analysis/src/Analysis Expand file tree Collapse file tree 1 file changed +3
-2
lines changed Original file line number Diff line number Diff line change @@ -162,9 +162,10 @@ parseNode o = do
162
162
" false" -> pure (const (bool False ))
163
163
" throw" -> fmap throw <$> resolve (head edges)
164
164
" if" -> liftA3 iff <$> findEdgeNamed " condition" <*> findEdgeNamed " consequence" <*> findEdgeNamed " alternative" <|> pure (const noop)
165
- " block" -> fmap ( foldr ( \ (i, v) r -> let_ (nameI i) v ( const r)) noop . zip [ 0 .. ]) . sequenceA <$> traverse resolve edges
166
- " module" -> fmap ( foldr ( \ (i, v) r -> let_ (nameI i) v ( const r)) noop . zip [ 0 .. ]) . sequenceA <$> traverse resolve edges
165
+ " block" -> children
166
+ " module" -> children
167
167
t -> A. parseFail (" unrecognized type: " <> t)
168
+ children = fmap (foldr (\ (i, v) r -> let_ (nameI i) v (const r)) noop . zip [0 .. ]) . sequenceA <$> traverse resolve edges
168
169
resolve = resolveWith (const (pure () ))
169
170
resolveWith :: (A. Object -> A. Parser () ) -> A. Value -> A. Parser (IntMap. IntMap rep -> rep )
170
171
resolveWith f = A. withObject " edge" (\ edge -> do
You can’t perform that action at this time.
0 commit comments