1
1
mirror of https://github.com/github/semantic.git synced 2024-12-30 02:14:20 +03:00
semantic/test/fixtures/haskell/corpus/gadt-declarations.diffA-B.txt
Rick Winfrey 646e1c3459 Be explicit about each identifier type
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.
2018-06-08 12:05:17 -07:00

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))))))))))