diff --git a/src/Language/Haskell/Assignment.hs b/src/Language/Haskell/Assignment.hs index b7709c529..2662b5157 100644 --- a/src/Language/Haskell/Assignment.hs +++ b/src/Language/Haskell/Assignment.hs @@ -307,6 +307,7 @@ expressionChoices = [ , implicitParameterIdentifier , importAlias , importDeclaration + , infixConstructorIdentifier , infixOperatorApp , infixOperatorPattern , infixVariableIdentifier @@ -498,6 +499,9 @@ importSpec = symbol ImportSpec *> children (manyTerm import') inClause :: Assignment inClause = symbol InClause *> children expressions +infixConstructorIdentifier :: Assignment +infixConstructorIdentifier = makeTerm <$> symbol InfixConstructorIdentifier <*> children (Syntax.InfixConstructorIdentifier . Name.name <$> source) + infixOperatorApp :: Assignment infixOperatorApp = makeTerm <$> symbol InfixOperatorApplication <*> children (Syntax.InfixOperatorApp <$> expression <*> (typeApp <|> emptyTerm) <*> expression <*> (expression <|> emptyTerm)) diff --git a/src/Language/Haskell/Syntax.hs b/src/Language/Haskell/Syntax.hs index 69cc61f6c..8489f98f2 100644 --- a/src/Language/Haskell/Syntax.hs +++ b/src/Language/Haskell/Syntax.hs @@ -353,6 +353,7 @@ data EntityIdentifier a = TypeVariableIdentifier Name | ModuleIdentifier Name | ConstructorIdentifier Name | ImplicitParameterIdentifier Name + | InfixConstructorIdentifier Name | InfixVariableIdentifier Name | TypeClassIdentifier Name | VariableIdentifier Name