Attributes

This commit is contained in:
Andrey Breslav
2010-12-15 19:50:21 +03:00
parent 2453e6a0dd
commit 86fcba88d0
8 changed files with 654 additions and 8 deletions
+38
View File
@@ -0,0 +1,38 @@
namespace foo.bar.goo
abstract
virtual
enum
open
attribute
override
virtual
abstract
private
protected
public
internal
lazy [foo<A, B>(a, b),ina,foo.bar.goo.doo<f>.foo<bar, goo>.foo]
[df]
in
[sdfsdf]
out
ref
class Bar<abstract
virtual
enum
open
attribute
override
virtual
abstract
[sdfsd, sdfsd, a.b.f.c]
private
protected
public
internal
lazy
in
out
ref T> {
}
+196
View File
@@ -0,0 +1,196 @@
JetFile: Attributes.jet
NAMESPACE
PsiElement(namespace)('namespace')
PsiWhiteSpace(' ')
NAMESPACE_NAME
PsiElement(IDENTIFIER)('foo')
PsiElement(DOT)('.')
PsiElement(IDENTIFIER)('bar')
PsiElement(DOT)('.')
PsiElement(IDENTIFIER)('goo')
PsiWhiteSpace('\n\n')
CLASS
MODIFIER_LIST
PsiElement(abstract)('abstract')
PsiWhiteSpace('\n')
PsiElement(virtual)('virtual')
PsiWhiteSpace('\n')
PsiElement(enum)('enum')
PsiWhiteSpace('\n')
PsiElement(open)('open')
PsiWhiteSpace('\n')
PsiElement(attribute)('attribute')
PsiWhiteSpace('\n')
PsiElement(override)('override')
PsiWhiteSpace('\n')
PsiElement(virtual)('virtual')
PsiWhiteSpace('\n')
PsiElement(abstract)('abstract')
PsiWhiteSpace('\n')
PsiElement(private)('private')
PsiWhiteSpace('\n')
PsiElement(protected)('protected')
PsiWhiteSpace('\n')
PsiElement(public)('public')
PsiWhiteSpace('\n')
PsiElement(internal)('internal')
PsiWhiteSpace('\n')
PsiElement(lazy)('lazy')
PsiWhiteSpace(' ')
ATTRIBUTE_ANNOTATION
PsiElement(LBRACKET)('[')
ATTRIBUTE
USER_TYPE
USER_TYPE
PsiElement(IDENTIFIER)('foo')
TYPE_ARGUMENT_LIST
PsiElement(LT)('<')
PsiElement(IDENTIFIER)('A')
PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('B')
PsiElement(GT)('>')
VALUE_ARGUMENT_LIST
PsiElement(LPAR)('(')
VALUE_ARGUMENT
PsiElement(IDENTIFIER)('a')
PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
VALUE_ARGUMENT
PsiElement(IDENTIFIER)('b')
PsiElement(RPAR)(')')
PsiElement(COMMA)(',')
ATTRIBUTE
USER_TYPE
USER_TYPE
PsiElement(IDENTIFIER)('ina')
PsiElement(COMMA)(',')
ATTRIBUTE
USER_TYPE
USER_TYPE
PsiElement(IDENTIFIER)('foo')
PsiElement(DOT)('.')
USER_TYPE
PsiElement(IDENTIFIER)('bar')
PsiElement(DOT)('.')
USER_TYPE
PsiElement(IDENTIFIER)('goo')
PsiElement(DOT)('.')
USER_TYPE
PsiElement(IDENTIFIER)('doo')
TYPE_ARGUMENT_LIST
PsiElement(LT)('<')
PsiElement(IDENTIFIER)('f')
PsiElement(GT)('>')
PsiElement(DOT)('.')
USER_TYPE
PsiElement(IDENTIFIER)('foo')
TYPE_ARGUMENT_LIST
PsiElement(LT)('<')
PsiElement(IDENTIFIER)('bar')
PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('goo')
PsiElement(GT)('>')
PsiElement(DOT)('.')
USER_TYPE
PsiElement(IDENTIFIER)('foo')
PsiElement(RBRACKET)(']')
PsiWhiteSpace('\n')
ATTRIBUTE_ANNOTATION
PsiElement(LBRACKET)('[')
ATTRIBUTE
USER_TYPE
USER_TYPE
PsiElement(IDENTIFIER)('df')
PsiElement(RBRACKET)(']')
PsiWhiteSpace('\n')
PsiElement(in)('in')
PsiWhiteSpace('\n')
ATTRIBUTE_ANNOTATION
PsiElement(LBRACKET)('[')
ATTRIBUTE
USER_TYPE
USER_TYPE
PsiElement(IDENTIFIER)('sdfsdf')
PsiElement(RBRACKET)(']')
PsiWhiteSpace('\n')
PsiElement(out)('out')
PsiWhiteSpace('\n')
PsiElement(ref)('ref')
PsiWhiteSpace('\n ')
PsiElement(class)('class')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('Bar')
TYPE_PARAMETER_LIST
PsiElement(LT)('<')
TYPE_PARAMETER
MODIFIER_LIST
PsiElement(abstract)('abstract')
PsiWhiteSpace('\n')
PsiElement(virtual)('virtual')
PsiWhiteSpace('\n')
PsiElement(enum)('enum')
PsiWhiteSpace('\n')
PsiElement(open)('open')
PsiWhiteSpace('\n')
PsiElement(attribute)('attribute')
PsiWhiteSpace('\n')
PsiElement(override)('override')
PsiWhiteSpace('\n')
PsiElement(virtual)('virtual')
PsiWhiteSpace('\n')
PsiElement(abstract)('abstract')
PsiWhiteSpace('\n')
ATTRIBUTE_ANNOTATION
PsiElement(LBRACKET)('[')
ATTRIBUTE
USER_TYPE
USER_TYPE
PsiElement(IDENTIFIER)('sdfsd')
PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
ATTRIBUTE
USER_TYPE
USER_TYPE
PsiElement(IDENTIFIER)('sdfsd')
PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
ATTRIBUTE
USER_TYPE
USER_TYPE
PsiElement(IDENTIFIER)('a')
PsiElement(DOT)('.')
USER_TYPE
PsiElement(IDENTIFIER)('b')
PsiElement(DOT)('.')
USER_TYPE
PsiElement(IDENTIFIER)('f')
PsiElement(DOT)('.')
USER_TYPE
PsiElement(IDENTIFIER)('c')
PsiElement(RBRACKET)(']')
PsiWhiteSpace('\n')
PsiElement(private)('private')
PsiWhiteSpace('\n')
PsiElement(protected)('protected')
PsiWhiteSpace('\n')
PsiElement(public)('public')
PsiWhiteSpace('\n')
PsiElement(internal)('internal')
PsiWhiteSpace('\n')
PsiElement(lazy)('lazy')
PsiWhiteSpace('\n')
PsiElement(in)('in')
PsiWhiteSpace('\n')
PsiElement(out)('out')
PsiWhiteSpace('\n')
PsiElement(ref)('ref')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('T')
PsiElement(GT)('>')
PsiWhiteSpace(' ')
CLASS_BODY
PsiElement(LBRACE)('{')
PsiWhiteSpace('\n')
PsiElement(RBRACE)('}')
+40
View File
@@ -0,0 +1,40 @@
namespace foo.bar.goo
abstract
virtual
enum
open
attribute
override
virtual
abstract
[]
private
protected
public
internal
lazy [foo<A, B>(a, b), ina,foo.bar.goo.doo<f>.foo<bar, goo>.foo]
[df]
in
[sdfsdf,]
[s,fd d]
out
ref
class Bar<abstract
virtual
enum
open
attribute
override
virtual
abstract
[sdfsd, sdfsd, a.b.f.c]
private
protected
public
internal
lazy
in
out
ref T> {
}
+226
View File
@@ -0,0 +1,226 @@
JetFile: Attributes_ERR.jet
NAMESPACE
PsiElement(namespace)('namespace')
PsiWhiteSpace(' ')
NAMESPACE_NAME
PsiElement(IDENTIFIER)('foo')
PsiElement(DOT)('.')
PsiElement(IDENTIFIER)('bar')
PsiElement(DOT)('.')
PsiElement(IDENTIFIER)('goo')
PsiWhiteSpace('\n\n')
MODIFIER_LIST
PsiElement(abstract)('abstract')
PsiWhiteSpace('\n')
PsiElement(virtual)('virtual')
PsiWhiteSpace('\n')
PsiElement(enum)('enum')
PsiWhiteSpace('\n')
PsiElement(open)('open')
PsiWhiteSpace('\n')
PsiElement(attribute)('attribute')
PsiWhiteSpace('\n')
PsiElement(override)('override')
PsiWhiteSpace('\n')
PsiElement(virtual)('virtual')
PsiWhiteSpace('\n')
PsiElement(abstract)('abstract')
PsiWhiteSpace('\n')
ATTRIBUTE_ANNOTATION
PsiElement(LBRACKET)('[')
PsiErrorElement:Expecting a comma-separated list of attributes
<empty list>
PsiElement(RBRACKET)(']')
PsiWhiteSpace('\n')
PsiElement(private)('private')
PsiWhiteSpace('\n')
PsiElement(protected)('protected')
PsiWhiteSpace('\n')
PsiElement(public)('public')
PsiWhiteSpace('\n')
PsiElement(internal)('internal')
PsiWhiteSpace('\n')
PsiElement(lazy)('lazy')
PsiWhiteSpace(' ')
ATTRIBUTE_ANNOTATION
PsiElement(LBRACKET)('[')
ATTRIBUTE
USER_TYPE
USER_TYPE
PsiElement(IDENTIFIER)('foo')
TYPE_ARGUMENT_LIST
PsiElement(LT)('<')
PsiElement(IDENTIFIER)('A')
PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('B')
PsiElement(GT)('>')
VALUE_ARGUMENT_LIST
PsiElement(LPAR)('(')
VALUE_ARGUMENT
PsiElement(IDENTIFIER)('a')
PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
VALUE_ARGUMENT
PsiElement(IDENTIFIER)('b')
PsiElement(RPAR)(')')
PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
ATTRIBUTE
USER_TYPE
USER_TYPE
PsiElement(IDENTIFIER)('ina')
PsiElement(COMMA)(',')
ATTRIBUTE
USER_TYPE
USER_TYPE
PsiElement(IDENTIFIER)('foo')
PsiElement(DOT)('.')
USER_TYPE
PsiElement(IDENTIFIER)('bar')
PsiElement(DOT)('.')
USER_TYPE
PsiElement(IDENTIFIER)('goo')
PsiElement(DOT)('.')
USER_TYPE
PsiElement(IDENTIFIER)('doo')
TYPE_ARGUMENT_LIST
PsiElement(LT)('<')
PsiElement(IDENTIFIER)('f')
PsiElement(GT)('>')
PsiElement(DOT)('.')
USER_TYPE
PsiElement(IDENTIFIER)('foo')
TYPE_ARGUMENT_LIST
PsiElement(LT)('<')
PsiElement(IDENTIFIER)('bar')
PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('goo')
PsiElement(GT)('>')
PsiElement(DOT)('.')
USER_TYPE
PsiElement(IDENTIFIER)('foo')
PsiElement(RBRACKET)(']')
PsiWhiteSpace('\n')
ATTRIBUTE_ANNOTATION
PsiElement(LBRACKET)('[')
ATTRIBUTE
USER_TYPE
USER_TYPE
PsiElement(IDENTIFIER)('df')
PsiElement(RBRACKET)(']')
PsiWhiteSpace('\n')
PsiElement(in)('in')
PsiWhiteSpace('\n')
ATTRIBUTE_ANNOTATION
PsiElement(LBRACKET)('[')
ATTRIBUTE
USER_TYPE
USER_TYPE
PsiElement(IDENTIFIER)('sdfsdf')
PsiElement(COMMA)(',')
PsiErrorElement:Expecting a comma-separated list of attributes
<empty list>
PsiElement(RBRACKET)(']')
PsiWhiteSpace('\n')
ATTRIBUTE_ANNOTATION
PsiElement(LBRACKET)('[')
ATTRIBUTE
USER_TYPE
USER_TYPE
PsiElement(IDENTIFIER)('s')
PsiElement(COMMA)(',')
ATTRIBUTE
USER_TYPE
USER_TYPE
PsiElement(IDENTIFIER)('fd')
PsiErrorElement:Expecting ']' to close an attribute annotation
<empty list>
PsiWhiteSpace(' ')
PsiErrorElement:Expecting namespace or top level declaration
PsiElement(IDENTIFIER)('d')
PsiErrorElement:Expecting namespace or top level declaration
PsiElement(RBRACKET)(']')
PsiWhiteSpace('\n')
CLASS
MODIFIER_LIST
PsiElement(out)('out')
PsiWhiteSpace('\n')
PsiElement(ref)('ref')
PsiWhiteSpace('\n ')
PsiElement(class)('class')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('Bar')
TYPE_PARAMETER_LIST
PsiElement(LT)('<')
TYPE_PARAMETER
MODIFIER_LIST
PsiElement(abstract)('abstract')
PsiWhiteSpace('\n')
PsiElement(virtual)('virtual')
PsiWhiteSpace('\n')
PsiElement(enum)('enum')
PsiWhiteSpace('\n')
PsiElement(open)('open')
PsiWhiteSpace('\n')
PsiElement(attribute)('attribute')
PsiWhiteSpace('\n')
PsiElement(override)('override')
PsiWhiteSpace('\n')
PsiElement(virtual)('virtual')
PsiWhiteSpace('\n')
PsiElement(abstract)('abstract')
PsiWhiteSpace('\n')
ATTRIBUTE_ANNOTATION
PsiElement(LBRACKET)('[')
ATTRIBUTE
USER_TYPE
USER_TYPE
PsiElement(IDENTIFIER)('sdfsd')
PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
ATTRIBUTE
USER_TYPE
USER_TYPE
PsiElement(IDENTIFIER)('sdfsd')
PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
ATTRIBUTE
USER_TYPE
USER_TYPE
PsiElement(IDENTIFIER)('a')
PsiElement(DOT)('.')
USER_TYPE
PsiElement(IDENTIFIER)('b')
PsiElement(DOT)('.')
USER_TYPE
PsiElement(IDENTIFIER)('f')
PsiElement(DOT)('.')
USER_TYPE
PsiElement(IDENTIFIER)('c')
PsiElement(RBRACKET)(']')
PsiWhiteSpace('\n')
PsiElement(private)('private')
PsiWhiteSpace('\n')
PsiElement(protected)('protected')
PsiWhiteSpace('\n')
PsiElement(public)('public')
PsiWhiteSpace('\n')
PsiElement(internal)('internal')
PsiWhiteSpace('\n')
PsiElement(lazy)('lazy')
PsiWhiteSpace('\n')
PsiElement(in)('in')
PsiWhiteSpace('\n')
PsiElement(out)('out')
PsiWhiteSpace('\n')
PsiElement(ref)('ref')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('T')
PsiElement(GT)('>')
PsiWhiteSpace(' ')
CLASS_BODY
PsiElement(LBRACE)('{')
PsiWhiteSpace('\n')
PsiElement(RBRACE)('}')