mirror of
https://github.com/github/semantic.git
synced 2024-12-28 09:21:35 +03:00
Assign raise statements as Throw, with single list node
This commit is contained in:
parent
8c611c1078
commit
e4f2fa1f32
@ -102,7 +102,7 @@ instance Show1 DoWhile where liftShowsPrec = genericLiftShowsPrec
|
|||||||
|
|
||||||
-- Exception handling
|
-- Exception handling
|
||||||
|
|
||||||
newtype Throw a = Throw [a]
|
newtype Throw a = Throw a
|
||||||
deriving (Eq, Foldable, Functor, GAlign, Generic1, Show, Traversable)
|
deriving (Eq, Foldable, Functor, GAlign, Generic1, Show, Traversable)
|
||||||
|
|
||||||
instance Eq1 Throw where liftEq = genericLiftEq
|
instance Eq1 Throw where liftEq = genericLiftEq
|
||||||
|
@ -294,7 +294,7 @@ deleteStatement = makeTerm <$> symbol DeleteStatement <*> children (Expression.C
|
|||||||
where deleteIdentifier = makeTerm <$> symbol AnonDel <*> (Syntax.Identifier <$> source)
|
where deleteIdentifier = makeTerm <$> symbol AnonDel <*> (Syntax.Identifier <$> source)
|
||||||
|
|
||||||
raiseStatement :: HasCallStack => Assignment (Node Grammar) (Term Syntax Location)
|
raiseStatement :: HasCallStack => Assignment (Node Grammar) (Term Syntax Location)
|
||||||
raiseStatement = makeTerm <$> symbol RaiseStatement <*> children (Statement.Throw <$> (many expression))
|
raiseStatement = makeTerm <$> symbol RaiseStatement <*> children (Statement.Throw <$> (makeTerm <$> location <*> (many expression)))
|
||||||
|
|
||||||
ifStatement :: HasCallStack => Assignment (Node Grammar) (Term Syntax Location)
|
ifStatement :: HasCallStack => Assignment (Node Grammar) (Term Syntax Location)
|
||||||
ifStatement = makeTerm <$> symbol IfStatement <*> children (Statement.If <$> expression <*> statement <*> (flip (foldr makeElif) <$> many elifClause <*> optionalElse))
|
ifStatement = makeTerm <$> symbol IfStatement <*> children (Statement.If <$> expression <*> statement <*> (flip (foldr makeElif) <$> many elifClause <*> optionalElse))
|
||||||
|
Loading…
Reference in New Issue
Block a user