mirror of
https://github.com/github/semantic.git
synced 2024-12-30 02:14:20 +03:00
646e1c3459
I went through a lot of trouble to make every identifier parsed in `tree-sitter-haskell` as accurate as possible (i.e. type variable identifier vs constructor identifier vs type class identifier). This enables us to keep those distinctions with assignment at the cost of adding more constructors.
208 lines
6.0 KiB
Plaintext
208 lines
6.0 KiB
Plaintext
(Module
|
|
(Empty)
|
|
(Statements
|
|
(GADT
|
|
(Empty)
|
|
(Type
|
|
{ (TypeConstructorIdentifier)
|
|
->(TypeConstructorIdentifier) }
|
|
(Statements
|
|
(TypeVariableIdentifier)
|
|
(TypeVariableIdentifier)
|
|
(TypeVariableIdentifier))
|
|
(Empty))
|
|
(Statements
|
|
(GADTConstructor
|
|
(Empty)
|
|
(TypeConstructorIdentifier)
|
|
(FunctionType
|
|
(Type
|
|
(TypeVariableIdentifier)
|
|
(TypeParameters)
|
|
(Empty))
|
|
(FunctionType
|
|
(Type
|
|
(TypeVariableIdentifier)
|
|
(TypeParameters)
|
|
(Empty))
|
|
(FunctionType
|
|
(Type
|
|
(TypeVariableIdentifier)
|
|
(TypeParameters)
|
|
(Empty))
|
|
(Type
|
|
{ (TypeConstructorIdentifier)
|
|
->(TypeConstructorIdentifier) }
|
|
(TypeParameters
|
|
(TypeVariableIdentifier)
|
|
(TypeVariableIdentifier)
|
|
(TypeVariableIdentifier))
|
|
(Empty))))))))
|
|
(GADT
|
|
(Empty)
|
|
(Type
|
|
{ (TypeConstructorIdentifier)
|
|
->(TypeConstructorIdentifier) }
|
|
(Statements
|
|
(TypeVariableIdentifier)
|
|
(TypeVariableIdentifier))
|
|
(Empty))
|
|
(Statements
|
|
(GADTConstructor
|
|
(Empty)
|
|
{ (TypeConstructorIdentifier)
|
|
->(TypeConstructorIdentifier) }
|
|
(FunctionType
|
|
(Type
|
|
(Statements
|
|
(Field
|
|
(Statements
|
|
(VariableIdentifier))
|
|
(Type
|
|
(TypeConstructorIdentifier)
|
|
(TypeParameters
|
|
(TypeConstructorIdentifier))
|
|
(Empty)))
|
|
(Field
|
|
(Statements
|
|
(VariableIdentifier))
|
|
(Type
|
|
(TypeVariableIdentifier)
|
|
(TypeParameters
|
|
(TypeVariableIdentifier))
|
|
(Empty))))
|
|
(TypeParameters)
|
|
(Empty))
|
|
(Type
|
|
{ (TypeConstructorIdentifier)
|
|
->(TypeConstructorIdentifier) }
|
|
(TypeParameters
|
|
(TypeVariableIdentifier)
|
|
(TypeVariableIdentifier))
|
|
(Empty))))))
|
|
(GADT
|
|
(Empty)
|
|
(Type
|
|
{ (TypeConstructorIdentifier)
|
|
->(TypeConstructorIdentifier) }
|
|
(Statements
|
|
(TypeVariableIdentifier))
|
|
(KindSignature
|
|
(KindFunctionType
|
|
(Kind
|
|
(KindListType
|
|
(Star)))
|
|
(Kind
|
|
{ (Star)
|
|
->(KindListType
|
|
{+(Star)+}) }))))
|
|
(Statements))
|
|
(GADT
|
|
(Empty)
|
|
(Type
|
|
{ (TypeConstructorIdentifier)
|
|
->(TypeConstructorIdentifier) }
|
|
(Statements
|
|
(TypeVariableIdentifier))
|
|
(Empty))
|
|
(Statements
|
|
(GADTConstructor
|
|
(Empty)
|
|
{ (TypeConstructorIdentifier)
|
|
->(TypeConstructorIdentifier) }
|
|
(FunctionType
|
|
(Type
|
|
(StrictType
|
|
(QualifiedTypeConstructorIdentifier
|
|
(ModuleIdentifier)
|
|
(TypeConstructorIdentifier))
|
|
(TypeParameters))
|
|
(TypeParameters)
|
|
(Empty))
|
|
(Type
|
|
(TypeConstructorIdentifier)
|
|
(TypeParameters
|
|
(QualifiedTypeConstructorIdentifier
|
|
(ModuleIdentifier)
|
|
(TypeConstructorIdentifier)))
|
|
(Empty))))
|
|
(GADTConstructor
|
|
(Empty)
|
|
{ (TypeConstructorIdentifier)
|
|
->(TypeConstructorIdentifier) }
|
|
(FunctionType
|
|
(Type
|
|
(StrictType
|
|
(QualifiedTypeConstructorIdentifier
|
|
(ModuleIdentifier)
|
|
(TypeConstructorIdentifier))
|
|
(TypeParameters))
|
|
(TypeParameters)
|
|
(Empty))
|
|
(Type
|
|
(TypeConstructorIdentifier)
|
|
(TypeParameters
|
|
(QualifiedTypeConstructorIdentifier
|
|
(ModuleIdentifier)
|
|
(TypeConstructorIdentifier)))
|
|
(Empty))))
|
|
(GADTConstructor
|
|
(Empty)
|
|
{ (TypeConstructorIdentifier)
|
|
->(TypeConstructorIdentifier) }
|
|
(FunctionType
|
|
(Type
|
|
(StrictType
|
|
(TypeConstructorIdentifier)
|
|
(TypeParameters))
|
|
(TypeParameters)
|
|
(Empty))
|
|
(Type
|
|
(TypeConstructorIdentifier)
|
|
(TypeParameters
|
|
(TypeConstructorIdentifier))
|
|
(Empty))))))
|
|
(GADT
|
|
(Empty)
|
|
(Type
|
|
(TypeConstructorIdentifier)
|
|
(Statements
|
|
(AnnotatedTypeVariable
|
|
(TypeVariableIdentifier)
|
|
(KindListType
|
|
(KindFunctionType
|
|
(Kind
|
|
(Star))
|
|
(Kind
|
|
(Star)))))
|
|
(AnnotatedTypeVariable
|
|
(TypeVariableIdentifier)
|
|
(Star)))
|
|
(Empty))
|
|
(Statements
|
|
(GADTConstructor
|
|
(Empty)
|
|
(TypeConstructorIdentifier)
|
|
(Context
|
|
(Pragma)
|
|
(FunctionType
|
|
(Type
|
|
(StrictType
|
|
{ (TypeConstructorIdentifier)
|
|
->(TypeConstructorIdentifier) }
|
|
(TypeParameters))
|
|
(TypeParameters)
|
|
(Empty))
|
|
(FunctionType
|
|
(Type
|
|
(TypeVariableIdentifier)
|
|
(TypeParameters
|
|
(TypeVariableIdentifier))
|
|
(Empty))
|
|
(Type
|
|
(TypeConstructorIdentifier)
|
|
(TypeParameters
|
|
(TypeVariableIdentifier)
|
|
(TypeVariableIdentifier))
|
|
(Empty))))))))))
|