Skip to content

Commit 36a60b0

Browse files
committed
Refine HasDeclarations implementations
1 parent 4538ac1 commit 36a60b0

1 file changed

Lines changed: 5 additions & 2 deletions

File tree

src/Curry/LanguageServer/Utils/Syntax.hs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -114,16 +114,19 @@ instance HasDeclarations CS.Decl where
114114
_ -> []
115115

116116
instance HasDeclarations CS.Equation where
117-
declarations eqn = declarations =<< expressions eqn
117+
declarations (CS.Equation _ _ rhs) = declarations rhs
118118

119119
instance HasDeclarations CS.Rhs where
120-
declarations rhs = declarations =<< expressions rhs
120+
declarations rhs = case rhs of
121+
CS.SimpleRhs _ _ e decls -> (declarations e) ++ (declarations =<< decls)
122+
CS.GuardedRhs _ _ conds decls -> (declarations =<< conds) ++ (declarations =<< decls)
121123

122124
instance HasDeclarations CS.CondExpr where
123125
declarations ce = declarations =<< expressions ce
124126

125127
instance HasDeclarations CS.Expression where
126128
declarations e = expressions e >>= \case
129+
-- TODO: Declarations in do-statements etc.
127130
CS.Let _ _ ds e -> declarations =<< ds
128131
_ -> []
129132

0 commit comments

Comments
 (0)