Allow namespaces with {} on the first line of a file (JET-2)
This commit is contained in:
@@ -118,11 +118,16 @@ public class JetParsing extends AbstractJetParsing {
|
|||||||
parseModifierList();
|
parseModifierList();
|
||||||
|
|
||||||
if (at(NAMESPACE_KEYWORD)) {
|
if (at(NAMESPACE_KEYWORD)) {
|
||||||
firstEntry.drop();
|
|
||||||
advance(); // NAMESPACE_KEYWORD
|
advance(); // NAMESPACE_KEYWORD
|
||||||
|
|
||||||
parseNamespaceName();
|
parseNamespaceName();
|
||||||
|
|
||||||
|
if (at(LBRACE)) {
|
||||||
|
firstEntry.rollbackTo();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
firstEntry.drop();
|
||||||
|
|
||||||
consumeIf(SEMICOLON);
|
consumeIf(SEMICOLON);
|
||||||
} else {
|
} else {
|
||||||
firstEntry.rollbackTo();
|
firstEntry.rollbackTo();
|
||||||
|
|||||||
@@ -0,0 +1,4 @@
|
|||||||
|
namespace foobar {
|
||||||
|
val a = 1
|
||||||
|
val b = foobar.a
|
||||||
|
}
|
||||||
@@ -0,0 +1,36 @@
|
|||||||
|
JetFile: NamespaceBlockFirst.jet
|
||||||
|
NAMESPACE
|
||||||
|
NAMESPACE
|
||||||
|
PsiElement(namespace)('namespace')
|
||||||
|
PsiWhiteSpace(' ')
|
||||||
|
NAMESPACE_NAME
|
||||||
|
PsiElement(IDENTIFIER)('foobar')
|
||||||
|
PsiWhiteSpace(' ')
|
||||||
|
PsiElement(LBRACE)('{')
|
||||||
|
PsiWhiteSpace('\n ')
|
||||||
|
NAMESPACE_BODY
|
||||||
|
PROPERTY
|
||||||
|
PsiElement(val)('val')
|
||||||
|
PsiWhiteSpace(' ')
|
||||||
|
PsiElement(IDENTIFIER)('a')
|
||||||
|
PsiWhiteSpace(' ')
|
||||||
|
PsiElement(EQ)('=')
|
||||||
|
PsiWhiteSpace(' ')
|
||||||
|
INTEGER_CONSTANT
|
||||||
|
PsiElement(INTEGER_LITERAL)('1')
|
||||||
|
PsiWhiteSpace('\n ')
|
||||||
|
PROPERTY
|
||||||
|
PsiElement(val)('val')
|
||||||
|
PsiWhiteSpace(' ')
|
||||||
|
PsiElement(IDENTIFIER)('b')
|
||||||
|
PsiWhiteSpace(' ')
|
||||||
|
PsiElement(EQ)('=')
|
||||||
|
PsiWhiteSpace(' ')
|
||||||
|
DOT_QUALIFIED_EXPRESSION
|
||||||
|
REFERENCE_EXPRESSION
|
||||||
|
PsiElement(IDENTIFIER)('foobar')
|
||||||
|
PsiElement(DOT)('.')
|
||||||
|
REFERENCE_EXPRESSION
|
||||||
|
PsiElement(IDENTIFIER)('a')
|
||||||
|
PsiWhiteSpace('\n')
|
||||||
|
PsiElement(RBRACE)('}')
|
||||||
Reference in New Issue
Block a user