Java imports work
This commit is contained in:
@@ -154,23 +154,27 @@ public class JetParsing extends AbstractJetParsing {
|
|||||||
PsiBuilder.Marker importDirective = mark();
|
PsiBuilder.Marker importDirective = mark();
|
||||||
advance(); // IMPORT_KEYWORD
|
advance(); // IMPORT_KEYWORD
|
||||||
|
|
||||||
|
PsiBuilder.Marker qualifiedName = mark();
|
||||||
PsiBuilder.Marker reference = mark();
|
|
||||||
|
|
||||||
if (at(NAMESPACE_KEYWORD)) {
|
if (at(NAMESPACE_KEYWORD)) {
|
||||||
advance(); // NAMESPACE_KEYWORD
|
advance(); // NAMESPACE_KEYWORD
|
||||||
expect(DOT, "Expecting '.'", TokenSet.create(IDENTIFIER, MUL, SEMICOLON));
|
expect(DOT, "Expecting '.'", TokenSet.create(IDENTIFIER, MUL, SEMICOLON));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
PsiBuilder.Marker reference = mark();
|
||||||
expect(IDENTIFIER, "Expecting qualified name", TokenSet.create(DOT, AS_KEYWORD));
|
expect(IDENTIFIER, "Expecting qualified name", TokenSet.create(DOT, AS_KEYWORD));
|
||||||
while (at(DOT) && lookahead(1) != MUL) {
|
|
||||||
PsiBuilder.Marker precede = reference.precede();
|
|
||||||
reference.done(REFERENCE_EXPRESSION);
|
|
||||||
reference = precede;
|
|
||||||
advance(); // DOT
|
|
||||||
expect(IDENTIFIER, "Qualified name must be a '.'-separated identifier list", TokenSet.create(AS_KEYWORD, DOT, SEMICOLON));
|
|
||||||
}
|
|
||||||
reference.done(REFERENCE_EXPRESSION);
|
reference.done(REFERENCE_EXPRESSION);
|
||||||
|
while (at(DOT) && lookahead(1) != MUL) {
|
||||||
|
advance(); // DOT
|
||||||
|
|
||||||
|
reference = mark();
|
||||||
|
expect(IDENTIFIER, "Qualified name must be a '.'-separated identifier list", TokenSet.create(AS_KEYWORD, DOT, SEMICOLON));
|
||||||
|
reference.done(REFERENCE_EXPRESSION);
|
||||||
|
|
||||||
|
PsiBuilder.Marker precede = qualifiedName.precede();
|
||||||
|
qualifiedName.done(DOT_QIALIFIED_EXPRESSION);
|
||||||
|
qualifiedName = precede;
|
||||||
|
}
|
||||||
|
qualifiedName.drop();
|
||||||
|
|
||||||
if (at(DOT)) {
|
if (at(DOT)) {
|
||||||
advance(); // DOT
|
advance(); // DOT
|
||||||
@@ -1234,40 +1238,31 @@ public class JetParsing extends AbstractJetParsing {
|
|||||||
*/
|
*/
|
||||||
private void parseUserType() {
|
private void parseUserType() {
|
||||||
PsiBuilder.Marker userType = mark();
|
PsiBuilder.Marker userType = mark();
|
||||||
parseUserTypeOrQualifiedName();
|
|
||||||
userType.done(USER_TYPE);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void parseUserTypeOrQualifiedName() {
|
|
||||||
PsiBuilder.Marker type = mark();
|
|
||||||
boolean typeClosed = false;
|
|
||||||
|
|
||||||
if (at(NAMESPACE_KEYWORD)) {
|
if (at(NAMESPACE_KEYWORD)) {
|
||||||
advance(); // NAMESPACE_KEYWORD
|
advance(); // NAMESPACE_KEYWORD
|
||||||
expect(DOT, "Expecting '.'", TokenSet.create(IDENTIFIER));
|
expect(DOT, "Expecting '.'", TokenSet.create(IDENTIFIER));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
PsiBuilder.Marker reference = mark();
|
||||||
while (true) {
|
while (true) {
|
||||||
expect(IDENTIFIER, "Type name expected", TokenSet.create(LT));
|
expect(IDENTIFIER, "Type name expected", TokenSet.create(LT));
|
||||||
PsiBuilder.Marker argsMarker = parseTypeArgumentList();
|
reference.done(REFERENCE_EXPRESSION);
|
||||||
|
|
||||||
|
parseTypeArgumentList();
|
||||||
if (!at(DOT)) {
|
if (!at(DOT)) {
|
||||||
// For recovery reasons, we allow to write Foo<A>.Bar<F, B>.X, but we need to place
|
|
||||||
// the last argument list next to the reference, not a its child
|
|
||||||
if (argsMarker != null) {
|
|
||||||
type.doneBefore(REFERENCE_EXPRESSION, argsMarker);
|
|
||||||
typeClosed = true;
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
type.done(REFERENCE_EXPRESSION);
|
|
||||||
type = type.precede();
|
PsiBuilder.Marker precede = userType.precede();
|
||||||
|
userType.done(USER_TYPE);
|
||||||
|
userType = precede;
|
||||||
|
|
||||||
advance(); // DOT
|
advance(); // DOT
|
||||||
|
reference = mark();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!typeClosed) {
|
userType.done(USER_TYPE);
|
||||||
type.done(REFERENCE_EXPRESSION);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -4,7 +4,6 @@ import com.intellij.lang.ASTNode;
|
|||||||
import com.intellij.psi.tree.IElementType;
|
import com.intellij.psi.tree.IElementType;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
import org.jetbrains.jet.JetNodeTypes;
|
|
||||||
import org.jetbrains.jet.lexer.JetTokens;
|
import org.jetbrains.jet.lexer.JetTokens;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -20,9 +19,13 @@ public class JetImportDirective extends JetElement {
|
|||||||
visitor.visitImportDirective(this);
|
visitor.visitImportDirective(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean isAbsoluteInRootNamespace() {
|
||||||
|
return findChildByType(JetTokens.NAMESPACE_KEYWORD) != null;
|
||||||
|
}
|
||||||
|
|
||||||
@Nullable @IfNotParsed
|
@Nullable @IfNotParsed
|
||||||
public JetReferenceExpression getImportedName() {
|
public JetExpression getImportedReference() {
|
||||||
return (JetReferenceExpression) findChildByType(JetNodeTypes.REFERENCE_EXPRESSION);
|
return findChildByClass(JetExpression.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
|
|||||||
@@ -22,15 +22,6 @@ public class JetReferenceExpression extends JetExpression {
|
|||||||
super(node);
|
super(node);
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isAbsoluteInRootNamespace() {
|
|
||||||
return findChildByType(JetTokens.NAMESPACE_KEYWORD) != null;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Nullable
|
|
||||||
public JetReferenceExpression getQualifier() {
|
|
||||||
return findChildByClass(JetReferenceExpression.class);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Nullable @IfNotParsed
|
@Nullable @IfNotParsed
|
||||||
public String getReferencedName() {
|
public String getReferencedName() {
|
||||||
ASTNode node = getNode().findChildByType(REFERENCE_TOKENS);
|
ASTNode node = getNode().findChildByType(REFERENCE_TOKENS);
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import com.intellij.lang.ASTNode;
|
|||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
import org.jetbrains.jet.JetNodeTypes;
|
import org.jetbrains.jet.JetNodeTypes;
|
||||||
|
import org.jetbrains.jet.lexer.JetTokens;
|
||||||
|
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -16,8 +17,12 @@ public class JetUserType extends JetTypeElement {
|
|||||||
super(node);
|
super(node);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean isAbsoluteInRootNamespace() {
|
||||||
|
return findChildByType(JetTokens.NAMESPACE_KEYWORD) != null;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void accept(JetVisitor visitor) {
|
public void accept(@NotNull JetVisitor visitor) {
|
||||||
visitor.visitUserType(this);
|
visitor.visitUserType(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -31,11 +36,16 @@ public class JetUserType extends JetTypeElement {
|
|||||||
return typeArgumentList == null ? Collections.<JetTypeProjection>emptyList() : typeArgumentList.getArguments();
|
return typeArgumentList == null ? Collections.<JetTypeProjection>emptyList() : typeArgumentList.getArguments();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Nullable
|
@Nullable @IfNotParsed
|
||||||
public JetReferenceExpression getReferenceExpression() {
|
public JetReferenceExpression getReferenceExpression() {
|
||||||
return (JetReferenceExpression) findChildByType(JetNodeTypes.REFERENCE_EXPRESSION);
|
return (JetReferenceExpression) findChildByType(JetNodeTypes.REFERENCE_EXPRESSION);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Nullable
|
||||||
|
public JetUserType getQualifier() {
|
||||||
|
return (JetUserType) findChildByType(JetNodeTypes.USER_TYPE);
|
||||||
|
}
|
||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
public String getReferencedName() {
|
public String getReferencedName() {
|
||||||
JetReferenceExpression referenceExpression = getReferenceExpression();
|
JetReferenceExpression referenceExpression = getReferenceExpression();
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ public class ClassDescriptorResolver {
|
|||||||
|
|
||||||
public ClassDescriptorResolver(JetSemanticServices semanticServices, BindingTrace trace) {
|
public ClassDescriptorResolver(JetSemanticServices semanticServices, BindingTrace trace) {
|
||||||
this.semanticServices = semanticServices;
|
this.semanticServices = semanticServices;
|
||||||
this.typeResolver = new TypeResolver(trace, semanticServices.getErrorHandler());
|
this.typeResolver = new TypeResolver(trace, semanticServices);
|
||||||
this.trace = trace;
|
this.trace = trace;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -59,15 +59,18 @@ public class TopDownAnalyzer {
|
|||||||
ScopeWithImports scopeWithImports = new ScopeWithImports(declaringScope);
|
ScopeWithImports scopeWithImports = new ScopeWithImports(declaringScope);
|
||||||
|
|
||||||
for (JetImportDirective importDirective : importDirectives) {
|
for (JetImportDirective importDirective : importDirectives) {
|
||||||
// if (importDirective.isAllUnder()) {
|
if (importDirective.isAbsoluteInRootNamespace()) {
|
||||||
// // TODO: this works only for Java,
|
throw new UnsupportedOperationException();
|
||||||
// // but should thoroughly resolve qualified names item-by-item
|
}
|
||||||
// // taking previous imports into account
|
if (importDirective.isAllUnder()) {
|
||||||
// String importedName = importDirective.getImportedName();
|
JetExpression importedReference = importDirective.getImportedReference();
|
||||||
// scopeWithImports.importScope(new JavaPackageScope(importedName, ));
|
Type type = semanticServices.getTypeInferrer(trace).getType(scopeWithImports, importedReference, false);
|
||||||
// } else {
|
if (type != null) {
|
||||||
// throw new UnsupportedOperationException();
|
scopeWithImports.importScope(type.getMemberScope());
|
||||||
// }
|
}
|
||||||
|
} else {
|
||||||
|
throw new UnsupportedOperationException();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
WritableScope namespaceScope = new WritableScope(scopeWithImports);
|
WritableScope namespaceScope = new WritableScope(scopeWithImports);
|
||||||
collectTypeDeclarators(namespaceScope, namespace.getDeclarations());
|
collectTypeDeclarators(namespaceScope, namespace.getDeclarations());
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ package org.jetbrains.jet.lang.resolve;
|
|||||||
|
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
import org.jetbrains.jet.lang.ErrorHandler;
|
import org.jetbrains.jet.lang.JetSemanticServices;
|
||||||
import org.jetbrains.jet.lang.psi.*;
|
import org.jetbrains.jet.lang.psi.*;
|
||||||
import org.jetbrains.jet.lang.types.*;
|
import org.jetbrains.jet.lang.types.*;
|
||||||
|
|
||||||
@@ -17,11 +17,11 @@ import java.util.Set;
|
|||||||
public class TypeResolver {
|
public class TypeResolver {
|
||||||
|
|
||||||
private final BindingTrace trace;
|
private final BindingTrace trace;
|
||||||
private final ErrorHandler errorHandler;
|
private final JetSemanticServices semanticServices;
|
||||||
|
|
||||||
public TypeResolver(BindingTrace trace, ErrorHandler errorHandler) {
|
public TypeResolver(BindingTrace trace, JetSemanticServices semanticServices) {
|
||||||
this.trace = trace;
|
this.trace = trace;
|
||||||
this.errorHandler = errorHandler;
|
this.semanticServices = semanticServices;
|
||||||
}
|
}
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
@@ -65,11 +65,11 @@ public class TypeResolver {
|
|||||||
JetStandardClasses.STUB
|
JetStandardClasses.STUB
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
errorHandler.unresolvedReference(type.getReferenceExpression());
|
semanticServices.getErrorHandler().unresolvedReference(type.getReferenceExpression());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
errorHandler.unresolvedReference(type.getReferenceExpression());
|
semanticServices.getErrorHandler().unresolvedReference(type.getReferenceExpression());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -163,54 +163,44 @@ public class TypeResolver {
|
|||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
public ClassDescriptor resolveClass(JetScope scope, JetUserType userType) {
|
public ClassDescriptor resolveClass(JetScope scope, JetUserType userType) {
|
||||||
return resolveClass(scope, userType.getReferenceExpression());
|
JetReferenceExpression expression = userType.getReferenceExpression();
|
||||||
}
|
if (userType.isAbsoluteInRootNamespace()) {
|
||||||
|
return JetModuleUtil.getRootNamespaceScope(userType).getClass(expression.getReferencedName());
|
||||||
@Nullable
|
|
||||||
private ClassDescriptor resolveClass(JetScope scope, JetReferenceExpression expression) {
|
|
||||||
if (expression.isAbsoluteInRootNamespace()) {
|
|
||||||
return resolveClass(JetModuleUtil.getRootNamespaceScope(expression), expression);
|
|
||||||
}
|
}
|
||||||
|
JetUserType qualifier = userType.getQualifier();
|
||||||
JetReferenceExpression qualifier = expression.getQualifier();
|
|
||||||
if (qualifier != null) {
|
if (qualifier != null) {
|
||||||
// TODO: this is slow. The faster way would be to start with the first item in the qualified name
|
scope = resolveClassLookupScope(scope, qualifier);
|
||||||
// TODO: priorities: class of namespace first?
|
|
||||||
throw new UnsupportedOperationException();
|
|
||||||
// MemberDomain domain = resolveClass(scope, qualifier);
|
|
||||||
// if (domain == null) {
|
|
||||||
// domain = resolveNamespace(scope, qualifier);
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// if (domain != null) {
|
|
||||||
// return domain.getClass(expression.getReferencedName());
|
|
||||||
// }
|
|
||||||
// return null;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
assert qualifier == null;
|
|
||||||
|
|
||||||
return scope.getClass(expression.getReferencedName());
|
return scope.getClass(expression.getReferencedName());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Nullable
|
private JetScope resolveClassLookupScope(JetScope scope, JetUserType userType) {
|
||||||
private NamespaceDescriptor resolveNamespace(JetScope scope, JetReferenceExpression expression) {
|
ClassDescriptor classDescriptor = resolveClass(scope, userType);
|
||||||
if (expression.isAbsoluteInRootNamespace()) {
|
if (classDescriptor != null) {
|
||||||
return resolveNamespace(JetModuleUtil.getRootNamespaceScope(expression), expression);
|
return classDescriptor.getMemberScope(resolveTypeProjections(scope, classDescriptor.getTypeConstructor(), userType.getTypeArguments()));
|
||||||
}
|
}
|
||||||
|
|
||||||
JetReferenceExpression qualifier = expression.getQualifier();
|
return resolveNamespace(scope, userType).getMemberScope();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Nullable
|
||||||
|
private NamespaceDescriptor resolveNamespace(JetScope scope, JetUserType userType) {
|
||||||
|
if (userType.isAbsoluteInRootNamespace()) {
|
||||||
|
return resolveNamespace(JetModuleUtil.getRootNamespaceScope(userType), userType);
|
||||||
|
}
|
||||||
|
|
||||||
|
JetUserType qualifier = userType.getQualifier();
|
||||||
if (qualifier != null) {
|
if (qualifier != null) {
|
||||||
NamespaceDescriptor domain = resolveNamespace(scope, qualifier);
|
NamespaceDescriptor domain = resolveNamespace(scope, qualifier);
|
||||||
if (domain == null) {
|
if (domain == null) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
return domain.getMemberScope().getNamespace(expression.getReferencedName());
|
return domain.getMemberScope().getNamespace(userType.getReferencedName());
|
||||||
}
|
}
|
||||||
|
|
||||||
assert qualifier == null;
|
NamespaceDescriptor namespace = scope.getNamespace(userType.getReferencedName());
|
||||||
|
trace.recordReferenceResolution(userType.getReferenceExpression(), namespace);
|
||||||
return scope.getNamespace(expression.getReferencedName());
|
return namespace;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ public class JetTypeInferrer {
|
|||||||
public JetTypeInferrer(BindingTrace trace, JetSemanticServices semanticServices) {
|
public JetTypeInferrer(BindingTrace trace, JetSemanticServices semanticServices) {
|
||||||
this.trace = trace;
|
this.trace = trace;
|
||||||
this.semanticServices = semanticServices;
|
this.semanticServices = semanticServices;
|
||||||
this.typeResolver = new TypeResolver(trace, semanticServices.getErrorHandler());
|
this.typeResolver = new TypeResolver(trace, semanticServices);
|
||||||
this.classDescriptorResolver = new ClassDescriptorResolver(semanticServices, trace);
|
this.classDescriptorResolver = new ClassDescriptorResolver(semanticServices, trace);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -445,6 +445,12 @@ public class JetTypeInferrer {
|
|||||||
JetProperty property = (JetProperty) statement;
|
JetProperty property = (JetProperty) statement;
|
||||||
scope.addPropertyDescriptor(classDescriptorResolver.resolvePropertyDescriptor(scope, property));
|
scope.addPropertyDescriptor(classDescriptorResolver.resolvePropertyDescriptor(scope, property));
|
||||||
}
|
}
|
||||||
|
else if (statement instanceof JetExpression) {
|
||||||
|
getType(scope, (JetExpression) statement, true);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
throw new UnsupportedOperationException(); // TODO
|
||||||
|
}
|
||||||
}
|
}
|
||||||
JetElement lastElement = block.get(block.size() - 1);
|
JetElement lastElement = block.get(block.size() - 1);
|
||||||
if (lastElement instanceof JetExpression) {
|
if (lastElement instanceof JetExpression) {
|
||||||
|
|||||||
@@ -78,45 +78,50 @@ JetFile: Attributes.jet
|
|||||||
ATTRIBUTE
|
ATTRIBUTE
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
USER_TYPE
|
USER_TYPE
|
||||||
REFERENCE_EXPRESSION
|
USER_TYPE
|
||||||
REFERENCE_EXPRESSION
|
USER_TYPE
|
||||||
REFERENCE_EXPRESSION
|
USER_TYPE
|
||||||
REFERENCE_EXPRESSION
|
USER_TYPE
|
||||||
REFERENCE_EXPRESSION
|
USER_TYPE
|
||||||
REFERENCE_EXPRESSION
|
REFERENCE_EXPRESSION
|
||||||
PsiElement(IDENTIFIER)('foo')
|
PsiElement(IDENTIFIER)('foo')
|
||||||
PsiElement(DOT)('.')
|
|
||||||
PsiElement(IDENTIFIER)('bar')
|
|
||||||
PsiElement(DOT)('.')
|
PsiElement(DOT)('.')
|
||||||
PsiElement(IDENTIFIER)('goo')
|
REFERENCE_EXPRESSION
|
||||||
|
PsiElement(IDENTIFIER)('bar')
|
||||||
PsiElement(DOT)('.')
|
PsiElement(DOT)('.')
|
||||||
PsiElement(IDENTIFIER)('doo')
|
REFERENCE_EXPRESSION
|
||||||
TYPE_ARGUMENT_LIST
|
PsiElement(IDENTIFIER)('goo')
|
||||||
PsiElement(LT)('<')
|
|
||||||
TYPE_PROJECTION
|
|
||||||
TYPE_REFERENCE
|
|
||||||
USER_TYPE
|
|
||||||
REFERENCE_EXPRESSION
|
|
||||||
PsiElement(IDENTIFIER)('f')
|
|
||||||
PsiElement(GT)('>')
|
|
||||||
PsiElement(DOT)('.')
|
PsiElement(DOT)('.')
|
||||||
PsiElement(IDENTIFIER)('foo')
|
REFERENCE_EXPRESSION
|
||||||
|
PsiElement(IDENTIFIER)('doo')
|
||||||
TYPE_ARGUMENT_LIST
|
TYPE_ARGUMENT_LIST
|
||||||
PsiElement(LT)('<')
|
PsiElement(LT)('<')
|
||||||
TYPE_PROJECTION
|
TYPE_PROJECTION
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
USER_TYPE
|
USER_TYPE
|
||||||
REFERENCE_EXPRESSION
|
REFERENCE_EXPRESSION
|
||||||
PsiElement(IDENTIFIER)('bar')
|
PsiElement(IDENTIFIER)('f')
|
||||||
PsiElement(COMMA)(',')
|
|
||||||
PsiWhiteSpace(' ')
|
|
||||||
TYPE_PROJECTION
|
|
||||||
TYPE_REFERENCE
|
|
||||||
USER_TYPE
|
|
||||||
REFERENCE_EXPRESSION
|
|
||||||
PsiElement(IDENTIFIER)('goo')
|
|
||||||
PsiElement(GT)('>')
|
PsiElement(GT)('>')
|
||||||
PsiElement(DOT)('.')
|
PsiElement(DOT)('.')
|
||||||
|
REFERENCE_EXPRESSION
|
||||||
|
PsiElement(IDENTIFIER)('foo')
|
||||||
|
TYPE_ARGUMENT_LIST
|
||||||
|
PsiElement(LT)('<')
|
||||||
|
TYPE_PROJECTION
|
||||||
|
TYPE_REFERENCE
|
||||||
|
USER_TYPE
|
||||||
|
REFERENCE_EXPRESSION
|
||||||
|
PsiElement(IDENTIFIER)('bar')
|
||||||
|
PsiElement(COMMA)(',')
|
||||||
|
PsiWhiteSpace(' ')
|
||||||
|
TYPE_PROJECTION
|
||||||
|
TYPE_REFERENCE
|
||||||
|
USER_TYPE
|
||||||
|
REFERENCE_EXPRESSION
|
||||||
|
PsiElement(IDENTIFIER)('goo')
|
||||||
|
PsiElement(GT)('>')
|
||||||
|
PsiElement(DOT)('.')
|
||||||
|
REFERENCE_EXPRESSION
|
||||||
PsiElement(IDENTIFIER)('foo')
|
PsiElement(IDENTIFIER)('foo')
|
||||||
PsiElement(RBRACKET)(']')
|
PsiElement(RBRACKET)(']')
|
||||||
PsiWhiteSpace('\n')
|
PsiWhiteSpace('\n')
|
||||||
@@ -251,16 +256,19 @@ JetFile: Attributes.jet
|
|||||||
ATTRIBUTE
|
ATTRIBUTE
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
USER_TYPE
|
USER_TYPE
|
||||||
REFERENCE_EXPRESSION
|
USER_TYPE
|
||||||
REFERENCE_EXPRESSION
|
USER_TYPE
|
||||||
REFERENCE_EXPRESSION
|
USER_TYPE
|
||||||
REFERENCE_EXPRESSION
|
REFERENCE_EXPRESSION
|
||||||
PsiElement(IDENTIFIER)('a')
|
PsiElement(IDENTIFIER)('a')
|
||||||
PsiElement(DOT)('.')
|
|
||||||
PsiElement(IDENTIFIER)('b')
|
|
||||||
PsiElement(DOT)('.')
|
PsiElement(DOT)('.')
|
||||||
PsiElement(IDENTIFIER)('f')
|
REFERENCE_EXPRESSION
|
||||||
|
PsiElement(IDENTIFIER)('b')
|
||||||
PsiElement(DOT)('.')
|
PsiElement(DOT)('.')
|
||||||
|
REFERENCE_EXPRESSION
|
||||||
|
PsiElement(IDENTIFIER)('f')
|
||||||
|
PsiElement(DOT)('.')
|
||||||
|
REFERENCE_EXPRESSION
|
||||||
PsiElement(IDENTIFIER)('c')
|
PsiElement(IDENTIFIER)('c')
|
||||||
PsiElement(RBRACKET)(']')
|
PsiElement(RBRACKET)(']')
|
||||||
PsiWhiteSpace('\n')
|
PsiWhiteSpace('\n')
|
||||||
|
|||||||
@@ -84,45 +84,50 @@ JetFile: Attributes_ERR.jet
|
|||||||
ATTRIBUTE
|
ATTRIBUTE
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
USER_TYPE
|
USER_TYPE
|
||||||
REFERENCE_EXPRESSION
|
USER_TYPE
|
||||||
REFERENCE_EXPRESSION
|
USER_TYPE
|
||||||
REFERENCE_EXPRESSION
|
USER_TYPE
|
||||||
REFERENCE_EXPRESSION
|
USER_TYPE
|
||||||
REFERENCE_EXPRESSION
|
USER_TYPE
|
||||||
REFERENCE_EXPRESSION
|
REFERENCE_EXPRESSION
|
||||||
PsiElement(IDENTIFIER)('foo')
|
PsiElement(IDENTIFIER)('foo')
|
||||||
PsiElement(DOT)('.')
|
|
||||||
PsiElement(IDENTIFIER)('bar')
|
|
||||||
PsiElement(DOT)('.')
|
PsiElement(DOT)('.')
|
||||||
PsiElement(IDENTIFIER)('goo')
|
REFERENCE_EXPRESSION
|
||||||
|
PsiElement(IDENTIFIER)('bar')
|
||||||
PsiElement(DOT)('.')
|
PsiElement(DOT)('.')
|
||||||
PsiElement(IDENTIFIER)('doo')
|
REFERENCE_EXPRESSION
|
||||||
TYPE_ARGUMENT_LIST
|
PsiElement(IDENTIFIER)('goo')
|
||||||
PsiElement(LT)('<')
|
|
||||||
TYPE_PROJECTION
|
|
||||||
TYPE_REFERENCE
|
|
||||||
USER_TYPE
|
|
||||||
REFERENCE_EXPRESSION
|
|
||||||
PsiElement(IDENTIFIER)('f')
|
|
||||||
PsiElement(GT)('>')
|
|
||||||
PsiElement(DOT)('.')
|
PsiElement(DOT)('.')
|
||||||
PsiElement(IDENTIFIER)('foo')
|
REFERENCE_EXPRESSION
|
||||||
|
PsiElement(IDENTIFIER)('doo')
|
||||||
TYPE_ARGUMENT_LIST
|
TYPE_ARGUMENT_LIST
|
||||||
PsiElement(LT)('<')
|
PsiElement(LT)('<')
|
||||||
TYPE_PROJECTION
|
TYPE_PROJECTION
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
USER_TYPE
|
USER_TYPE
|
||||||
REFERENCE_EXPRESSION
|
REFERENCE_EXPRESSION
|
||||||
PsiElement(IDENTIFIER)('bar')
|
PsiElement(IDENTIFIER)('f')
|
||||||
PsiElement(COMMA)(',')
|
|
||||||
PsiWhiteSpace(' ')
|
|
||||||
TYPE_PROJECTION
|
|
||||||
TYPE_REFERENCE
|
|
||||||
USER_TYPE
|
|
||||||
REFERENCE_EXPRESSION
|
|
||||||
PsiElement(IDENTIFIER)('goo')
|
|
||||||
PsiElement(GT)('>')
|
PsiElement(GT)('>')
|
||||||
PsiElement(DOT)('.')
|
PsiElement(DOT)('.')
|
||||||
|
REFERENCE_EXPRESSION
|
||||||
|
PsiElement(IDENTIFIER)('foo')
|
||||||
|
TYPE_ARGUMENT_LIST
|
||||||
|
PsiElement(LT)('<')
|
||||||
|
TYPE_PROJECTION
|
||||||
|
TYPE_REFERENCE
|
||||||
|
USER_TYPE
|
||||||
|
REFERENCE_EXPRESSION
|
||||||
|
PsiElement(IDENTIFIER)('bar')
|
||||||
|
PsiElement(COMMA)(',')
|
||||||
|
PsiWhiteSpace(' ')
|
||||||
|
TYPE_PROJECTION
|
||||||
|
TYPE_REFERENCE
|
||||||
|
USER_TYPE
|
||||||
|
REFERENCE_EXPRESSION
|
||||||
|
PsiElement(IDENTIFIER)('goo')
|
||||||
|
PsiElement(GT)('>')
|
||||||
|
PsiElement(DOT)('.')
|
||||||
|
REFERENCE_EXPRESSION
|
||||||
PsiElement(IDENTIFIER)('foo')
|
PsiElement(IDENTIFIER)('foo')
|
||||||
PsiElement(RBRACKET)(']')
|
PsiElement(RBRACKET)(']')
|
||||||
PsiWhiteSpace('\n')
|
PsiWhiteSpace('\n')
|
||||||
@@ -218,16 +223,19 @@ JetFile: Attributes_ERR.jet
|
|||||||
ATTRIBUTE
|
ATTRIBUTE
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
USER_TYPE
|
USER_TYPE
|
||||||
REFERENCE_EXPRESSION
|
USER_TYPE
|
||||||
REFERENCE_EXPRESSION
|
USER_TYPE
|
||||||
REFERENCE_EXPRESSION
|
USER_TYPE
|
||||||
REFERENCE_EXPRESSION
|
REFERENCE_EXPRESSION
|
||||||
PsiElement(IDENTIFIER)('a')
|
PsiElement(IDENTIFIER)('a')
|
||||||
PsiElement(DOT)('.')
|
|
||||||
PsiElement(IDENTIFIER)('b')
|
|
||||||
PsiElement(DOT)('.')
|
PsiElement(DOT)('.')
|
||||||
PsiElement(IDENTIFIER)('f')
|
REFERENCE_EXPRESSION
|
||||||
|
PsiElement(IDENTIFIER)('b')
|
||||||
PsiElement(DOT)('.')
|
PsiElement(DOT)('.')
|
||||||
|
REFERENCE_EXPRESSION
|
||||||
|
PsiElement(IDENTIFIER)('f')
|
||||||
|
PsiElement(DOT)('.')
|
||||||
|
REFERENCE_EXPRESSION
|
||||||
PsiElement(IDENTIFIER)('c')
|
PsiElement(IDENTIFIER)('c')
|
||||||
PsiElement(RBRACKET)(']')
|
PsiElement(RBRACKET)(']')
|
||||||
PsiWhiteSpace('\n')
|
PsiWhiteSpace('\n')
|
||||||
|
|||||||
@@ -585,10 +585,11 @@ JetFile: FunctionTypes.jet
|
|||||||
PsiElement(LBRACE)('{')
|
PsiElement(LBRACE)('{')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
USER_TYPE
|
USER_TYPE
|
||||||
REFERENCE_EXPRESSION
|
USER_TYPE
|
||||||
REFERENCE_EXPRESSION
|
REFERENCE_EXPRESSION
|
||||||
PsiElement(IDENTIFIER)('T')
|
PsiElement(IDENTIFIER)('T')
|
||||||
PsiElement(DOT)('.')
|
PsiElement(DOT)('.')
|
||||||
|
REFERENCE_EXPRESSION
|
||||||
PsiElement(IDENTIFIER)('T')
|
PsiElement(IDENTIFIER)('T')
|
||||||
PsiElement(DOT)('.')
|
PsiElement(DOT)('.')
|
||||||
VALUE_PARAMETER_LIST
|
VALUE_PARAMETER_LIST
|
||||||
@@ -617,25 +618,26 @@ JetFile: FunctionTypes.jet
|
|||||||
PsiElement(LBRACE)('{')
|
PsiElement(LBRACE)('{')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
USER_TYPE
|
USER_TYPE
|
||||||
REFERENCE_EXPRESSION
|
USER_TYPE
|
||||||
REFERENCE_EXPRESSION
|
REFERENCE_EXPRESSION
|
||||||
PsiElement(IDENTIFIER)('T')
|
PsiElement(IDENTIFIER)('T')
|
||||||
TYPE_ARGUMENT_LIST
|
TYPE_ARGUMENT_LIST
|
||||||
PsiElement(LT)('<')
|
PsiElement(LT)('<')
|
||||||
TYPE_PROJECTION
|
TYPE_PROJECTION
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
USER_TYPE
|
USER_TYPE
|
||||||
REFERENCE_EXPRESSION
|
REFERENCE_EXPRESSION
|
||||||
PsiElement(IDENTIFIER)('A')
|
PsiElement(IDENTIFIER)('A')
|
||||||
PsiElement(COMMA)(',')
|
PsiElement(COMMA)(',')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
TYPE_PROJECTION
|
TYPE_PROJECTION
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
USER_TYPE
|
USER_TYPE
|
||||||
REFERENCE_EXPRESSION
|
REFERENCE_EXPRESSION
|
||||||
PsiElement(IDENTIFIER)('B')
|
PsiElement(IDENTIFIER)('B')
|
||||||
PsiElement(GT)('>')
|
PsiElement(GT)('>')
|
||||||
PsiElement(DOT)('.')
|
PsiElement(DOT)('.')
|
||||||
|
REFERENCE_EXPRESSION
|
||||||
PsiElement(IDENTIFIER)('T')
|
PsiElement(IDENTIFIER)('T')
|
||||||
TYPE_ARGUMENT_LIST
|
TYPE_ARGUMENT_LIST
|
||||||
PsiElement(LT)('<')
|
PsiElement(LT)('<')
|
||||||
@@ -767,10 +769,11 @@ JetFile: FunctionTypes.jet
|
|||||||
PsiElement(LBRACE)('{')
|
PsiElement(LBRACE)('{')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
USER_TYPE
|
USER_TYPE
|
||||||
REFERENCE_EXPRESSION
|
USER_TYPE
|
||||||
REFERENCE_EXPRESSION
|
REFERENCE_EXPRESSION
|
||||||
PsiElement(IDENTIFIER)('T')
|
PsiElement(IDENTIFIER)('T')
|
||||||
PsiElement(DOT)('.')
|
PsiElement(DOT)('.')
|
||||||
|
REFERENCE_EXPRESSION
|
||||||
PsiElement(IDENTIFIER)('T')
|
PsiElement(IDENTIFIER)('T')
|
||||||
PsiElement(DOT)('.')
|
PsiElement(DOT)('.')
|
||||||
VALUE_PARAMETER_LIST
|
VALUE_PARAMETER_LIST
|
||||||
@@ -814,25 +817,26 @@ JetFile: FunctionTypes.jet
|
|||||||
PsiElement(LBRACE)('{')
|
PsiElement(LBRACE)('{')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
USER_TYPE
|
USER_TYPE
|
||||||
REFERENCE_EXPRESSION
|
USER_TYPE
|
||||||
REFERENCE_EXPRESSION
|
REFERENCE_EXPRESSION
|
||||||
PsiElement(IDENTIFIER)('T')
|
PsiElement(IDENTIFIER)('T')
|
||||||
TYPE_ARGUMENT_LIST
|
TYPE_ARGUMENT_LIST
|
||||||
PsiElement(LT)('<')
|
PsiElement(LT)('<')
|
||||||
TYPE_PROJECTION
|
TYPE_PROJECTION
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
USER_TYPE
|
USER_TYPE
|
||||||
REFERENCE_EXPRESSION
|
REFERENCE_EXPRESSION
|
||||||
PsiElement(IDENTIFIER)('A')
|
PsiElement(IDENTIFIER)('A')
|
||||||
PsiElement(COMMA)(',')
|
PsiElement(COMMA)(',')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
TYPE_PROJECTION
|
TYPE_PROJECTION
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
USER_TYPE
|
USER_TYPE
|
||||||
REFERENCE_EXPRESSION
|
REFERENCE_EXPRESSION
|
||||||
PsiElement(IDENTIFIER)('B')
|
PsiElement(IDENTIFIER)('B')
|
||||||
PsiElement(GT)('>')
|
PsiElement(GT)('>')
|
||||||
PsiElement(DOT)('.')
|
PsiElement(DOT)('.')
|
||||||
|
REFERENCE_EXPRESSION
|
||||||
PsiElement(IDENTIFIER)('T')
|
PsiElement(IDENTIFIER)('T')
|
||||||
TYPE_ARGUMENT_LIST
|
TYPE_ARGUMENT_LIST
|
||||||
PsiElement(LT)('<')
|
PsiElement(LT)('<')
|
||||||
@@ -976,10 +980,11 @@ JetFile: FunctionTypes.jet
|
|||||||
PsiElement(LBRACE)('{')
|
PsiElement(LBRACE)('{')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
USER_TYPE
|
USER_TYPE
|
||||||
REFERENCE_EXPRESSION
|
USER_TYPE
|
||||||
REFERENCE_EXPRESSION
|
REFERENCE_EXPRESSION
|
||||||
PsiElement(IDENTIFIER)('T')
|
PsiElement(IDENTIFIER)('T')
|
||||||
PsiElement(DOT)('.')
|
PsiElement(DOT)('.')
|
||||||
|
REFERENCE_EXPRESSION
|
||||||
PsiElement(IDENTIFIER)('T')
|
PsiElement(IDENTIFIER)('T')
|
||||||
PsiElement(DOT)('.')
|
PsiElement(DOT)('.')
|
||||||
VALUE_PARAMETER_LIST
|
VALUE_PARAMETER_LIST
|
||||||
@@ -1017,25 +1022,26 @@ JetFile: FunctionTypes.jet
|
|||||||
PsiElement(LBRACE)('{')
|
PsiElement(LBRACE)('{')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
USER_TYPE
|
USER_TYPE
|
||||||
REFERENCE_EXPRESSION
|
USER_TYPE
|
||||||
REFERENCE_EXPRESSION
|
REFERENCE_EXPRESSION
|
||||||
PsiElement(IDENTIFIER)('T')
|
PsiElement(IDENTIFIER)('T')
|
||||||
TYPE_ARGUMENT_LIST
|
TYPE_ARGUMENT_LIST
|
||||||
PsiElement(LT)('<')
|
PsiElement(LT)('<')
|
||||||
TYPE_PROJECTION
|
TYPE_PROJECTION
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
USER_TYPE
|
USER_TYPE
|
||||||
REFERENCE_EXPRESSION
|
REFERENCE_EXPRESSION
|
||||||
PsiElement(IDENTIFIER)('A')
|
PsiElement(IDENTIFIER)('A')
|
||||||
PsiElement(COMMA)(',')
|
PsiElement(COMMA)(',')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
TYPE_PROJECTION
|
TYPE_PROJECTION
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
USER_TYPE
|
USER_TYPE
|
||||||
REFERENCE_EXPRESSION
|
REFERENCE_EXPRESSION
|
||||||
PsiElement(IDENTIFIER)('B')
|
PsiElement(IDENTIFIER)('B')
|
||||||
PsiElement(GT)('>')
|
PsiElement(GT)('>')
|
||||||
PsiElement(DOT)('.')
|
PsiElement(DOT)('.')
|
||||||
|
REFERENCE_EXPRESSION
|
||||||
PsiElement(IDENTIFIER)('T')
|
PsiElement(IDENTIFIER)('T')
|
||||||
TYPE_ARGUMENT_LIST
|
TYPE_ARGUMENT_LIST
|
||||||
PsiElement(LT)('<')
|
PsiElement(LT)('<')
|
||||||
@@ -1221,10 +1227,11 @@ JetFile: FunctionTypes.jet
|
|||||||
PsiElement(LBRACE)('{')
|
PsiElement(LBRACE)('{')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
USER_TYPE
|
USER_TYPE
|
||||||
REFERENCE_EXPRESSION
|
USER_TYPE
|
||||||
REFERENCE_EXPRESSION
|
REFERENCE_EXPRESSION
|
||||||
PsiElement(IDENTIFIER)('T')
|
PsiElement(IDENTIFIER)('T')
|
||||||
PsiElement(DOT)('.')
|
PsiElement(DOT)('.')
|
||||||
|
REFERENCE_EXPRESSION
|
||||||
PsiElement(IDENTIFIER)('T')
|
PsiElement(IDENTIFIER)('T')
|
||||||
PsiElement(DOT)('.')
|
PsiElement(DOT)('.')
|
||||||
VALUE_PARAMETER_LIST
|
VALUE_PARAMETER_LIST
|
||||||
@@ -1286,25 +1293,26 @@ JetFile: FunctionTypes.jet
|
|||||||
PsiElement(LBRACE)('{')
|
PsiElement(LBRACE)('{')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
USER_TYPE
|
USER_TYPE
|
||||||
REFERENCE_EXPRESSION
|
USER_TYPE
|
||||||
REFERENCE_EXPRESSION
|
REFERENCE_EXPRESSION
|
||||||
PsiElement(IDENTIFIER)('T')
|
PsiElement(IDENTIFIER)('T')
|
||||||
TYPE_ARGUMENT_LIST
|
TYPE_ARGUMENT_LIST
|
||||||
PsiElement(LT)('<')
|
PsiElement(LT)('<')
|
||||||
TYPE_PROJECTION
|
TYPE_PROJECTION
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
USER_TYPE
|
USER_TYPE
|
||||||
REFERENCE_EXPRESSION
|
REFERENCE_EXPRESSION
|
||||||
PsiElement(IDENTIFIER)('A')
|
PsiElement(IDENTIFIER)('A')
|
||||||
PsiElement(COMMA)(',')
|
PsiElement(COMMA)(',')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
TYPE_PROJECTION
|
TYPE_PROJECTION
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
USER_TYPE
|
USER_TYPE
|
||||||
REFERENCE_EXPRESSION
|
REFERENCE_EXPRESSION
|
||||||
PsiElement(IDENTIFIER)('B')
|
PsiElement(IDENTIFIER)('B')
|
||||||
PsiElement(GT)('>')
|
PsiElement(GT)('>')
|
||||||
PsiElement(DOT)('.')
|
PsiElement(DOT)('.')
|
||||||
|
REFERENCE_EXPRESSION
|
||||||
PsiElement(IDENTIFIER)('T')
|
PsiElement(IDENTIFIER)('T')
|
||||||
TYPE_ARGUMENT_LIST
|
TYPE_ARGUMENT_LIST
|
||||||
PsiElement(LT)('<')
|
PsiElement(LT)('<')
|
||||||
|
|||||||
@@ -3,17 +3,20 @@ JetFile: ImportSoftKW.jet
|
|||||||
IMPORT_DIRECTIVE
|
IMPORT_DIRECTIVE
|
||||||
PsiElement(import)('import')
|
PsiElement(import)('import')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
REFERENCE_EXPRESSION
|
DOT_QIALIFIED_EXPRESSION
|
||||||
REFERENCE_EXPRESSION
|
DOT_QIALIFIED_EXPRESSION
|
||||||
REFERENCE_EXPRESSION
|
DOT_QIALIFIED_EXPRESSION
|
||||||
REFERENCE_EXPRESSION
|
REFERENCE_EXPRESSION
|
||||||
PsiElement(IDENTIFIER)('import')
|
PsiElement(IDENTIFIER)('import')
|
||||||
PsiElement(DOT)('.')
|
PsiElement(DOT)('.')
|
||||||
PsiElement(IDENTIFIER)('import')
|
REFERENCE_EXPRESSION
|
||||||
|
PsiElement(IDENTIFIER)('import')
|
||||||
PsiElement(DOT)('.')
|
PsiElement(DOT)('.')
|
||||||
PsiElement(IDENTIFIER)('import')
|
REFERENCE_EXPRESSION
|
||||||
|
PsiElement(IDENTIFIER)('import')
|
||||||
PsiElement(DOT)('.')
|
PsiElement(DOT)('.')
|
||||||
PsiElement(IDENTIFIER)('import')
|
REFERENCE_EXPRESSION
|
||||||
|
PsiElement(IDENTIFIER)('import')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
PsiElement(as)('as')
|
PsiElement(as)('as')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
|
|||||||
@@ -12,9 +12,9 @@ JetFile: Imports.jet
|
|||||||
IMPORT_DIRECTIVE
|
IMPORT_DIRECTIVE
|
||||||
PsiElement(import)('import')
|
PsiElement(import)('import')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
|
PsiElement(namespace)('namespace')
|
||||||
|
PsiElement(DOT)('.')
|
||||||
REFERENCE_EXPRESSION
|
REFERENCE_EXPRESSION
|
||||||
PsiElement(namespace)('namespace')
|
|
||||||
PsiElement(DOT)('.')
|
|
||||||
PsiElement(IDENTIFIER)('foo')
|
PsiElement(IDENTIFIER)('foo')
|
||||||
PsiWhiteSpace('\n')
|
PsiWhiteSpace('\n')
|
||||||
IMPORT_DIRECTIVE
|
IMPORT_DIRECTIVE
|
||||||
@@ -26,11 +26,12 @@ JetFile: Imports.jet
|
|||||||
IMPORT_DIRECTIVE
|
IMPORT_DIRECTIVE
|
||||||
PsiElement(import)('import')
|
PsiElement(import)('import')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
REFERENCE_EXPRESSION
|
DOT_QIALIFIED_EXPRESSION
|
||||||
REFERENCE_EXPRESSION
|
REFERENCE_EXPRESSION
|
||||||
PsiElement(IDENTIFIER)('foo')
|
PsiElement(IDENTIFIER)('foo')
|
||||||
PsiElement(DOT)('.')
|
PsiElement(DOT)('.')
|
||||||
PsiElement(IDENTIFIER)('bar')
|
REFERENCE_EXPRESSION
|
||||||
|
PsiElement(IDENTIFIER)('bar')
|
||||||
PsiWhiteSpace('\n')
|
PsiWhiteSpace('\n')
|
||||||
IMPORT_DIRECTIVE
|
IMPORT_DIRECTIVE
|
||||||
PsiElement(import)('import')
|
PsiElement(import)('import')
|
||||||
@@ -45,11 +46,12 @@ JetFile: Imports.jet
|
|||||||
IMPORT_DIRECTIVE
|
IMPORT_DIRECTIVE
|
||||||
PsiElement(import)('import')
|
PsiElement(import)('import')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
REFERENCE_EXPRESSION
|
DOT_QIALIFIED_EXPRESSION
|
||||||
REFERENCE_EXPRESSION
|
REFERENCE_EXPRESSION
|
||||||
PsiElement(IDENTIFIER)('foo')
|
PsiElement(IDENTIFIER)('foo')
|
||||||
PsiElement(DOT)('.')
|
PsiElement(DOT)('.')
|
||||||
PsiElement(IDENTIFIER)('bar')
|
REFERENCE_EXPRESSION
|
||||||
|
PsiElement(IDENTIFIER)('bar')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
PsiElement(as)('as')
|
PsiElement(as)('as')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
|
|||||||
@@ -12,30 +12,30 @@ JetFile: Imports_ERR.jet
|
|||||||
IMPORT_DIRECTIVE
|
IMPORT_DIRECTIVE
|
||||||
PsiElement(import)('import')
|
PsiElement(import)('import')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
|
PsiElement(namespace)('namespace')
|
||||||
|
PsiErrorElement:Expecting '.'
|
||||||
|
<empty list>
|
||||||
|
PsiWhiteSpace(' ')
|
||||||
REFERENCE_EXPRESSION
|
REFERENCE_EXPRESSION
|
||||||
PsiElement(namespace)('namespace')
|
|
||||||
PsiErrorElement:Expecting '.'
|
|
||||||
<empty list>
|
|
||||||
PsiWhiteSpace(' ')
|
|
||||||
PsiErrorElement:Expecting qualified name
|
PsiErrorElement:Expecting qualified name
|
||||||
PsiElement(SEMICOLON)(';')
|
PsiElement(SEMICOLON)(';')
|
||||||
PsiWhiteSpace('\n')
|
PsiWhiteSpace('\n')
|
||||||
IMPORT_DIRECTIVE
|
IMPORT_DIRECTIVE
|
||||||
PsiElement(import)('import')
|
PsiElement(import)('import')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
|
PsiElement(namespace)('namespace')
|
||||||
|
PsiElement(DOT)('.')
|
||||||
REFERENCE_EXPRESSION
|
REFERENCE_EXPRESSION
|
||||||
PsiElement(namespace)('namespace')
|
|
||||||
PsiElement(DOT)('.')
|
|
||||||
PsiErrorElement:Expecting qualified name
|
PsiErrorElement:Expecting qualified name
|
||||||
PsiElement(MUL)('*')
|
PsiElement(MUL)('*')
|
||||||
PsiWhiteSpace('\n')
|
PsiWhiteSpace('\n')
|
||||||
IMPORT_DIRECTIVE
|
IMPORT_DIRECTIVE
|
||||||
PsiElement(import)('import')
|
PsiElement(import)('import')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
|
PsiElement(namespace)('namespace')
|
||||||
|
PsiElement(DOT)('.')
|
||||||
|
PsiWhiteSpace(' ')
|
||||||
REFERENCE_EXPRESSION
|
REFERENCE_EXPRESSION
|
||||||
PsiElement(namespace)('namespace')
|
|
||||||
PsiElement(DOT)('.')
|
|
||||||
PsiWhiteSpace(' ')
|
|
||||||
PsiErrorElement:Expecting qualified name
|
PsiErrorElement:Expecting qualified name
|
||||||
PsiElement(SEMICOLON)(';')
|
PsiElement(SEMICOLON)(';')
|
||||||
PsiWhiteSpace('\n\n')
|
PsiWhiteSpace('\n\n')
|
||||||
@@ -57,15 +57,17 @@ JetFile: Imports_ERR.jet
|
|||||||
IMPORT_DIRECTIVE
|
IMPORT_DIRECTIVE
|
||||||
PsiElement(import)('import')
|
PsiElement(import)('import')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
REFERENCE_EXPRESSION
|
DOT_QIALIFIED_EXPRESSION
|
||||||
REFERENCE_EXPRESSION
|
DOT_QIALIFIED_EXPRESSION
|
||||||
REFERENCE_EXPRESSION
|
REFERENCE_EXPRESSION
|
||||||
PsiElement(IDENTIFIER)('foo')
|
PsiElement(IDENTIFIER)('foo')
|
||||||
PsiElement(DOT)('.')
|
PsiElement(DOT)('.')
|
||||||
PsiElement(IDENTIFIER)('bar')
|
REFERENCE_EXPRESSION
|
||||||
|
PsiElement(IDENTIFIER)('bar')
|
||||||
PsiElement(DOT)('.')
|
PsiElement(DOT)('.')
|
||||||
PsiWhiteSpace('\n')
|
PsiWhiteSpace('\n')
|
||||||
PsiElement(IDENTIFIER)('import')
|
REFERENCE_EXPRESSION
|
||||||
|
PsiElement(IDENTIFIER)('import')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
PsiErrorElement:Expecting namespace or top level declaration
|
PsiErrorElement:Expecting namespace or top level declaration
|
||||||
PsiElement(IDENTIFIER)('foo')
|
PsiElement(IDENTIFIER)('foo')
|
||||||
@@ -81,11 +83,12 @@ JetFile: Imports_ERR.jet
|
|||||||
IMPORT_DIRECTIVE
|
IMPORT_DIRECTIVE
|
||||||
PsiElement(import)('import')
|
PsiElement(import)('import')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
REFERENCE_EXPRESSION
|
DOT_QIALIFIED_EXPRESSION
|
||||||
REFERENCE_EXPRESSION
|
REFERENCE_EXPRESSION
|
||||||
PsiElement(IDENTIFIER)('foo')
|
PsiElement(IDENTIFIER)('foo')
|
||||||
PsiElement(DOT)('.')
|
PsiElement(DOT)('.')
|
||||||
PsiElement(IDENTIFIER)('bar')
|
REFERENCE_EXPRESSION
|
||||||
|
PsiElement(IDENTIFIER)('bar')
|
||||||
PsiElement(DOT)('.')
|
PsiElement(DOT)('.')
|
||||||
PsiElement(MUL)('*')
|
PsiElement(MUL)('*')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
@@ -97,11 +100,12 @@ JetFile: Imports_ERR.jet
|
|||||||
IMPORT_DIRECTIVE
|
IMPORT_DIRECTIVE
|
||||||
PsiElement(import)('import')
|
PsiElement(import)('import')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
REFERENCE_EXPRESSION
|
DOT_QIALIFIED_EXPRESSION
|
||||||
REFERENCE_EXPRESSION
|
REFERENCE_EXPRESSION
|
||||||
PsiElement(IDENTIFIER)('foo')
|
PsiElement(IDENTIFIER)('foo')
|
||||||
PsiElement(DOT)('.')
|
PsiElement(DOT)('.')
|
||||||
PsiElement(IDENTIFIER)('bar')
|
REFERENCE_EXPRESSION
|
||||||
|
PsiElement(IDENTIFIER)('bar')
|
||||||
PsiElement(DOT)('.')
|
PsiElement(DOT)('.')
|
||||||
PsiElement(MUL)('*')
|
PsiElement(MUL)('*')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
@@ -122,40 +126,44 @@ JetFile: Imports_ERR.jet
|
|||||||
IMPORT_DIRECTIVE
|
IMPORT_DIRECTIVE
|
||||||
PsiElement(import)('import')
|
PsiElement(import)('import')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
REFERENCE_EXPRESSION
|
DOT_QIALIFIED_EXPRESSION
|
||||||
REFERENCE_EXPRESSION
|
REFERENCE_EXPRESSION
|
||||||
PsiElement(IDENTIFIER)('foo')
|
PsiElement(IDENTIFIER)('foo')
|
||||||
PsiElement(DOT)('.')
|
PsiElement(DOT)('.')
|
||||||
PsiErrorElement:Qualified name must be a '.'-separated identifier list
|
PsiWhiteSpace(' ')
|
||||||
<empty list>
|
REFERENCE_EXPRESSION
|
||||||
PsiWhiteSpace(' ')
|
PsiErrorElement:Qualified name must be a '.'-separated identifier list
|
||||||
|
<empty list>
|
||||||
PsiElement(SEMICOLON)(';')
|
PsiElement(SEMICOLON)(';')
|
||||||
PsiWhiteSpace('\n')
|
PsiWhiteSpace('\n')
|
||||||
IMPORT_DIRECTIVE
|
IMPORT_DIRECTIVE
|
||||||
PsiElement(import)('import')
|
PsiElement(import)('import')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
REFERENCE_EXPRESSION
|
DOT_QIALIFIED_EXPRESSION
|
||||||
REFERENCE_EXPRESSION
|
DOT_QIALIFIED_EXPRESSION
|
||||||
REFERENCE_EXPRESSION
|
REFERENCE_EXPRESSION
|
||||||
PsiElement(IDENTIFIER)('foo')
|
PsiElement(IDENTIFIER)('foo')
|
||||||
PsiElement(DOT)('.')
|
PsiElement(DOT)('.')
|
||||||
PsiElement(IDENTIFIER)('bar')
|
REFERENCE_EXPRESSION
|
||||||
|
PsiElement(IDENTIFIER)('bar')
|
||||||
PsiElement(DOT)('.')
|
PsiElement(DOT)('.')
|
||||||
PsiErrorElement:Qualified name must be a '.'-separated identifier list
|
PsiWhiteSpace(' ')
|
||||||
<empty list>
|
REFERENCE_EXPRESSION
|
||||||
PsiWhiteSpace(' ')
|
PsiErrorElement:Qualified name must be a '.'-separated identifier list
|
||||||
|
<empty list>
|
||||||
PsiElement(SEMICOLON)(';')
|
PsiElement(SEMICOLON)(';')
|
||||||
PsiWhiteSpace('\n')
|
PsiWhiteSpace('\n')
|
||||||
IMPORT_DIRECTIVE
|
IMPORT_DIRECTIVE
|
||||||
PsiElement(import)('import')
|
PsiElement(import)('import')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
REFERENCE_EXPRESSION
|
DOT_QIALIFIED_EXPRESSION
|
||||||
REFERENCE_EXPRESSION
|
REFERENCE_EXPRESSION
|
||||||
PsiElement(IDENTIFIER)('foo')
|
PsiElement(IDENTIFIER)('foo')
|
||||||
PsiElement(DOT)('.')
|
PsiElement(DOT)('.')
|
||||||
PsiErrorElement:Qualified name must be a '.'-separated identifier list
|
PsiWhiteSpace(' ')
|
||||||
<empty list>
|
REFERENCE_EXPRESSION
|
||||||
PsiWhiteSpace(' ')
|
PsiErrorElement:Qualified name must be a '.'-separated identifier list
|
||||||
|
<empty list>
|
||||||
PsiElement(as)('as')
|
PsiElement(as)('as')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
PsiElement(IDENTIFIER)('bar')
|
PsiElement(IDENTIFIER)('bar')
|
||||||
@@ -165,11 +173,12 @@ JetFile: Imports_ERR.jet
|
|||||||
IMPORT_DIRECTIVE
|
IMPORT_DIRECTIVE
|
||||||
PsiElement(import)('import')
|
PsiElement(import)('import')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
REFERENCE_EXPRESSION
|
DOT_QIALIFIED_EXPRESSION
|
||||||
REFERENCE_EXPRESSION
|
REFERENCE_EXPRESSION
|
||||||
PsiElement(IDENTIFIER)('foo')
|
PsiElement(IDENTIFIER)('foo')
|
||||||
PsiElement(DOT)('.')
|
PsiElement(DOT)('.')
|
||||||
PsiElement(IDENTIFIER)('bar')
|
REFERENCE_EXPRESSION
|
||||||
|
PsiElement(IDENTIFIER)('bar')
|
||||||
PsiElement(DOT)('.')
|
PsiElement(DOT)('.')
|
||||||
PsiElement(MUL)('*')
|
PsiElement(MUL)('*')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
@@ -183,11 +192,12 @@ JetFile: Imports_ERR.jet
|
|||||||
IMPORT_DIRECTIVE
|
IMPORT_DIRECTIVE
|
||||||
PsiElement(import)('import')
|
PsiElement(import)('import')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
REFERENCE_EXPRESSION
|
DOT_QIALIFIED_EXPRESSION
|
||||||
REFERENCE_EXPRESSION
|
REFERENCE_EXPRESSION
|
||||||
PsiElement(IDENTIFIER)('foo')
|
PsiElement(IDENTIFIER)('foo')
|
||||||
PsiElement(DOT)('.')
|
PsiElement(DOT)('.')
|
||||||
PsiElement(IDENTIFIER)('bar')
|
REFERENCE_EXPRESSION
|
||||||
|
PsiElement(IDENTIFIER)('bar')
|
||||||
PsiElement(DOT)('.')
|
PsiElement(DOT)('.')
|
||||||
PsiElement(MUL)('*')
|
PsiElement(MUL)('*')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
|
|||||||
@@ -31,11 +31,12 @@ JetFile: NamespaceBlock.jet
|
|||||||
IMPORT_DIRECTIVE
|
IMPORT_DIRECTIVE
|
||||||
PsiElement(import)('import')
|
PsiElement(import)('import')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
REFERENCE_EXPRESSION
|
DOT_QIALIFIED_EXPRESSION
|
||||||
REFERENCE_EXPRESSION
|
REFERENCE_EXPRESSION
|
||||||
PsiElement(IDENTIFIER)('foo')
|
PsiElement(IDENTIFIER)('foo')
|
||||||
PsiElement(DOT)('.')
|
PsiElement(DOT)('.')
|
||||||
PsiElement(IDENTIFIER)('bar')
|
REFERENCE_EXPRESSION
|
||||||
|
PsiElement(IDENTIFIER)('bar')
|
||||||
PsiElement(DOT)('.')
|
PsiElement(DOT)('.')
|
||||||
PsiElement(MUL)('*')
|
PsiElement(MUL)('*')
|
||||||
PsiElement(SEMICOLON)(';')
|
PsiElement(SEMICOLON)(';')
|
||||||
|
|||||||
@@ -27,15 +27,17 @@ JetFile: NamespaceBlock_ERR.jet
|
|||||||
IMPORT_DIRECTIVE
|
IMPORT_DIRECTIVE
|
||||||
PsiElement(import)('import')
|
PsiElement(import)('import')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
REFERENCE_EXPRESSION
|
DOT_QIALIFIED_EXPRESSION
|
||||||
REFERENCE_EXPRESSION
|
DOT_QIALIFIED_EXPRESSION
|
||||||
REFERENCE_EXPRESSION
|
REFERENCE_EXPRESSION
|
||||||
PsiElement(IDENTIFIER)('foo')
|
PsiElement(IDENTIFIER)('foo')
|
||||||
PsiElement(DOT)('.')
|
PsiElement(DOT)('.')
|
||||||
PsiElement(IDENTIFIER)('bar')
|
REFERENCE_EXPRESSION
|
||||||
|
PsiElement(IDENTIFIER)('bar')
|
||||||
PsiElement(DOT)('.')
|
PsiElement(DOT)('.')
|
||||||
PsiWhiteSpace('\n')
|
PsiWhiteSpace('\n')
|
||||||
PsiElement(IDENTIFIER)('import')
|
REFERENCE_EXPRESSION
|
||||||
|
PsiElement(IDENTIFIER)('import')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
PsiErrorElement:Expecting namespace or top level declaration
|
PsiErrorElement:Expecting namespace or top level declaration
|
||||||
PsiElement(IDENTIFIER)('foo')
|
PsiElement(IDENTIFIER)('foo')
|
||||||
@@ -60,11 +62,12 @@ JetFile: NamespaceBlock_ERR.jet
|
|||||||
IMPORT_DIRECTIVE
|
IMPORT_DIRECTIVE
|
||||||
PsiElement(import)('import')
|
PsiElement(import)('import')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
REFERENCE_EXPRESSION
|
DOT_QIALIFIED_EXPRESSION
|
||||||
REFERENCE_EXPRESSION
|
REFERENCE_EXPRESSION
|
||||||
PsiElement(IDENTIFIER)('foo')
|
PsiElement(IDENTIFIER)('foo')
|
||||||
PsiElement(DOT)('.')
|
PsiElement(DOT)('.')
|
||||||
PsiElement(IDENTIFIER)('bar')
|
REFERENCE_EXPRESSION
|
||||||
|
PsiElement(IDENTIFIER)('bar')
|
||||||
PsiElement(DOT)('.')
|
PsiElement(DOT)('.')
|
||||||
PsiElement(MUL)('*')
|
PsiElement(MUL)('*')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
@@ -76,11 +79,12 @@ JetFile: NamespaceBlock_ERR.jet
|
|||||||
IMPORT_DIRECTIVE
|
IMPORT_DIRECTIVE
|
||||||
PsiElement(import)('import')
|
PsiElement(import)('import')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
REFERENCE_EXPRESSION
|
DOT_QIALIFIED_EXPRESSION
|
||||||
REFERENCE_EXPRESSION
|
REFERENCE_EXPRESSION
|
||||||
PsiElement(IDENTIFIER)('foo')
|
PsiElement(IDENTIFIER)('foo')
|
||||||
PsiElement(DOT)('.')
|
PsiElement(DOT)('.')
|
||||||
PsiElement(IDENTIFIER)('bar')
|
REFERENCE_EXPRESSION
|
||||||
|
PsiElement(IDENTIFIER)('bar')
|
||||||
PsiElement(DOT)('.')
|
PsiElement(DOT)('.')
|
||||||
PsiElement(MUL)('*')
|
PsiElement(MUL)('*')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
@@ -101,40 +105,44 @@ JetFile: NamespaceBlock_ERR.jet
|
|||||||
IMPORT_DIRECTIVE
|
IMPORT_DIRECTIVE
|
||||||
PsiElement(import)('import')
|
PsiElement(import)('import')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
REFERENCE_EXPRESSION
|
DOT_QIALIFIED_EXPRESSION
|
||||||
REFERENCE_EXPRESSION
|
REFERENCE_EXPRESSION
|
||||||
PsiElement(IDENTIFIER)('foo')
|
PsiElement(IDENTIFIER)('foo')
|
||||||
PsiElement(DOT)('.')
|
PsiElement(DOT)('.')
|
||||||
PsiErrorElement:Qualified name must be a '.'-separated identifier list
|
PsiWhiteSpace(' ')
|
||||||
<empty list>
|
REFERENCE_EXPRESSION
|
||||||
PsiWhiteSpace(' ')
|
PsiErrorElement:Qualified name must be a '.'-separated identifier list
|
||||||
|
<empty list>
|
||||||
PsiElement(SEMICOLON)(';')
|
PsiElement(SEMICOLON)(';')
|
||||||
PsiWhiteSpace('\n ')
|
PsiWhiteSpace('\n ')
|
||||||
IMPORT_DIRECTIVE
|
IMPORT_DIRECTIVE
|
||||||
PsiElement(import)('import')
|
PsiElement(import)('import')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
REFERENCE_EXPRESSION
|
DOT_QIALIFIED_EXPRESSION
|
||||||
REFERENCE_EXPRESSION
|
DOT_QIALIFIED_EXPRESSION
|
||||||
REFERENCE_EXPRESSION
|
REFERENCE_EXPRESSION
|
||||||
PsiElement(IDENTIFIER)('foo')
|
PsiElement(IDENTIFIER)('foo')
|
||||||
PsiElement(DOT)('.')
|
PsiElement(DOT)('.')
|
||||||
PsiElement(IDENTIFIER)('bar')
|
REFERENCE_EXPRESSION
|
||||||
|
PsiElement(IDENTIFIER)('bar')
|
||||||
PsiElement(DOT)('.')
|
PsiElement(DOT)('.')
|
||||||
PsiErrorElement:Qualified name must be a '.'-separated identifier list
|
PsiWhiteSpace(' ')
|
||||||
<empty list>
|
REFERENCE_EXPRESSION
|
||||||
PsiWhiteSpace(' ')
|
PsiErrorElement:Qualified name must be a '.'-separated identifier list
|
||||||
|
<empty list>
|
||||||
PsiElement(SEMICOLON)(';')
|
PsiElement(SEMICOLON)(';')
|
||||||
PsiWhiteSpace('\n ')
|
PsiWhiteSpace('\n ')
|
||||||
IMPORT_DIRECTIVE
|
IMPORT_DIRECTIVE
|
||||||
PsiElement(import)('import')
|
PsiElement(import)('import')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
REFERENCE_EXPRESSION
|
DOT_QIALIFIED_EXPRESSION
|
||||||
REFERENCE_EXPRESSION
|
REFERENCE_EXPRESSION
|
||||||
PsiElement(IDENTIFIER)('foo')
|
PsiElement(IDENTIFIER)('foo')
|
||||||
PsiElement(DOT)('.')
|
PsiElement(DOT)('.')
|
||||||
PsiErrorElement:Qualified name must be a '.'-separated identifier list
|
PsiWhiteSpace(' ')
|
||||||
<empty list>
|
REFERENCE_EXPRESSION
|
||||||
PsiWhiteSpace(' ')
|
PsiErrorElement:Qualified name must be a '.'-separated identifier list
|
||||||
|
<empty list>
|
||||||
PsiElement(as)('as')
|
PsiElement(as)('as')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
PsiElement(IDENTIFIER)('bar')
|
PsiElement(IDENTIFIER)('bar')
|
||||||
@@ -144,11 +152,12 @@ JetFile: NamespaceBlock_ERR.jet
|
|||||||
IMPORT_DIRECTIVE
|
IMPORT_DIRECTIVE
|
||||||
PsiElement(import)('import')
|
PsiElement(import)('import')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
REFERENCE_EXPRESSION
|
DOT_QIALIFIED_EXPRESSION
|
||||||
REFERENCE_EXPRESSION
|
REFERENCE_EXPRESSION
|
||||||
PsiElement(IDENTIFIER)('foo')
|
PsiElement(IDENTIFIER)('foo')
|
||||||
PsiElement(DOT)('.')
|
PsiElement(DOT)('.')
|
||||||
PsiElement(IDENTIFIER)('bar')
|
REFERENCE_EXPRESSION
|
||||||
|
PsiElement(IDENTIFIER)('bar')
|
||||||
PsiElement(DOT)('.')
|
PsiElement(DOT)('.')
|
||||||
PsiElement(MUL)('*')
|
PsiElement(MUL)('*')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
@@ -162,11 +171,12 @@ JetFile: NamespaceBlock_ERR.jet
|
|||||||
IMPORT_DIRECTIVE
|
IMPORT_DIRECTIVE
|
||||||
PsiElement(import)('import')
|
PsiElement(import)('import')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
REFERENCE_EXPRESSION
|
DOT_QIALIFIED_EXPRESSION
|
||||||
REFERENCE_EXPRESSION
|
REFERENCE_EXPRESSION
|
||||||
PsiElement(IDENTIFIER)('foo')
|
PsiElement(IDENTIFIER)('foo')
|
||||||
PsiElement(DOT)('.')
|
PsiElement(DOT)('.')
|
||||||
PsiElement(IDENTIFIER)('bar')
|
REFERENCE_EXPRESSION
|
||||||
|
PsiElement(IDENTIFIER)('bar')
|
||||||
PsiElement(DOT)('.')
|
PsiElement(DOT)('.')
|
||||||
PsiElement(MUL)('*')
|
PsiElement(MUL)('*')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
|
|||||||
@@ -75,10 +75,11 @@ JetFile: Properties.jet
|
|||||||
PsiElement(LBRACE)('{')
|
PsiElement(LBRACE)('{')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
USER_TYPE
|
USER_TYPE
|
||||||
REFERENCE_EXPRESSION
|
USER_TYPE
|
||||||
REFERENCE_EXPRESSION
|
REFERENCE_EXPRESSION
|
||||||
PsiElement(IDENTIFIER)('foo')
|
PsiElement(IDENTIFIER)('foo')
|
||||||
PsiElement(DOT)('.')
|
PsiElement(DOT)('.')
|
||||||
|
REFERENCE_EXPRESSION
|
||||||
PsiElement(IDENTIFIER)('bar')
|
PsiElement(IDENTIFIER)('bar')
|
||||||
PsiElement(DOT)('.')
|
PsiElement(DOT)('.')
|
||||||
VALUE_PARAMETER_LIST
|
VALUE_PARAMETER_LIST
|
||||||
@@ -165,10 +166,11 @@ JetFile: Properties.jet
|
|||||||
PsiElement(LBRACE)('{')
|
PsiElement(LBRACE)('{')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
USER_TYPE
|
USER_TYPE
|
||||||
REFERENCE_EXPRESSION
|
USER_TYPE
|
||||||
REFERENCE_EXPRESSION
|
REFERENCE_EXPRESSION
|
||||||
PsiElement(IDENTIFIER)('foo')
|
PsiElement(IDENTIFIER)('foo')
|
||||||
PsiElement(DOT)('.')
|
PsiElement(DOT)('.')
|
||||||
|
REFERENCE_EXPRESSION
|
||||||
PsiElement(IDENTIFIER)('bar')
|
PsiElement(IDENTIFIER)('bar')
|
||||||
PsiElement(DOT)('.')
|
PsiElement(DOT)('.')
|
||||||
VALUE_PARAMETER_LIST
|
VALUE_PARAMETER_LIST
|
||||||
@@ -218,10 +220,11 @@ JetFile: Properties.jet
|
|||||||
PsiElement(LBRACE)('{')
|
PsiElement(LBRACE)('{')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
USER_TYPE
|
USER_TYPE
|
||||||
REFERENCE_EXPRESSION
|
USER_TYPE
|
||||||
REFERENCE_EXPRESSION
|
REFERENCE_EXPRESSION
|
||||||
PsiElement(IDENTIFIER)('foo')
|
PsiElement(IDENTIFIER)('foo')
|
||||||
PsiElement(DOT)('.')
|
PsiElement(DOT)('.')
|
||||||
|
REFERENCE_EXPRESSION
|
||||||
PsiElement(IDENTIFIER)('bar')
|
PsiElement(IDENTIFIER)('bar')
|
||||||
PsiElement(DOT)('.')
|
PsiElement(DOT)('.')
|
||||||
VALUE_PARAMETER_LIST
|
VALUE_PARAMETER_LIST
|
||||||
@@ -278,10 +281,11 @@ JetFile: Properties.jet
|
|||||||
PsiElement(LBRACE)('{')
|
PsiElement(LBRACE)('{')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
USER_TYPE
|
USER_TYPE
|
||||||
REFERENCE_EXPRESSION
|
USER_TYPE
|
||||||
REFERENCE_EXPRESSION
|
REFERENCE_EXPRESSION
|
||||||
PsiElement(IDENTIFIER)('foo')
|
PsiElement(IDENTIFIER)('foo')
|
||||||
PsiElement(DOT)('.')
|
PsiElement(DOT)('.')
|
||||||
|
REFERENCE_EXPRESSION
|
||||||
PsiElement(IDENTIFIER)('bar')
|
PsiElement(IDENTIFIER)('bar')
|
||||||
PsiElement(DOT)('.')
|
PsiElement(DOT)('.')
|
||||||
VALUE_PARAMETER_LIST
|
VALUE_PARAMETER_LIST
|
||||||
@@ -360,10 +364,11 @@ JetFile: Properties.jet
|
|||||||
PsiElement(LBRACE)('{')
|
PsiElement(LBRACE)('{')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
USER_TYPE
|
USER_TYPE
|
||||||
REFERENCE_EXPRESSION
|
USER_TYPE
|
||||||
REFERENCE_EXPRESSION
|
REFERENCE_EXPRESSION
|
||||||
PsiElement(IDENTIFIER)('foo')
|
PsiElement(IDENTIFIER)('foo')
|
||||||
PsiElement(DOT)('.')
|
PsiElement(DOT)('.')
|
||||||
|
REFERENCE_EXPRESSION
|
||||||
PsiElement(IDENTIFIER)('bar')
|
PsiElement(IDENTIFIER)('bar')
|
||||||
PsiElement(DOT)('.')
|
PsiElement(DOT)('.')
|
||||||
VALUE_PARAMETER_LIST
|
VALUE_PARAMETER_LIST
|
||||||
@@ -421,10 +426,11 @@ JetFile: Properties.jet
|
|||||||
PsiElement(LBRACE)('{')
|
PsiElement(LBRACE)('{')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
USER_TYPE
|
USER_TYPE
|
||||||
REFERENCE_EXPRESSION
|
USER_TYPE
|
||||||
REFERENCE_EXPRESSION
|
REFERENCE_EXPRESSION
|
||||||
PsiElement(IDENTIFIER)('foo')
|
PsiElement(IDENTIFIER)('foo')
|
||||||
PsiElement(DOT)('.')
|
PsiElement(DOT)('.')
|
||||||
|
REFERENCE_EXPRESSION
|
||||||
PsiElement(IDENTIFIER)('bar')
|
PsiElement(IDENTIFIER)('bar')
|
||||||
PsiElement(DOT)('.')
|
PsiElement(DOT)('.')
|
||||||
VALUE_PARAMETER_LIST
|
VALUE_PARAMETER_LIST
|
||||||
|
|||||||
@@ -139,10 +139,11 @@ JetFile: Properties_ERR.jet
|
|||||||
PsiElement(LBRACE)('{')
|
PsiElement(LBRACE)('{')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
USER_TYPE
|
USER_TYPE
|
||||||
REFERENCE_EXPRESSION
|
USER_TYPE
|
||||||
REFERENCE_EXPRESSION
|
REFERENCE_EXPRESSION
|
||||||
PsiElement(IDENTIFIER)('foo')
|
PsiElement(IDENTIFIER)('foo')
|
||||||
PsiElement(DOT)('.')
|
PsiElement(DOT)('.')
|
||||||
|
REFERENCE_EXPRESSION
|
||||||
PsiElement(IDENTIFIER)('bar')
|
PsiElement(IDENTIFIER)('bar')
|
||||||
PsiElement(DOT)('.')
|
PsiElement(DOT)('.')
|
||||||
VALUE_PARAMETER_LIST
|
VALUE_PARAMETER_LIST
|
||||||
@@ -194,10 +195,11 @@ JetFile: Properties_ERR.jet
|
|||||||
PsiElement(LBRACE)('{')
|
PsiElement(LBRACE)('{')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
USER_TYPE
|
USER_TYPE
|
||||||
REFERENCE_EXPRESSION
|
USER_TYPE
|
||||||
REFERENCE_EXPRESSION
|
REFERENCE_EXPRESSION
|
||||||
PsiElement(IDENTIFIER)('foo')
|
PsiElement(IDENTIFIER)('foo')
|
||||||
PsiElement(DOT)('.')
|
PsiElement(DOT)('.')
|
||||||
|
REFERENCE_EXPRESSION
|
||||||
PsiElement(IDENTIFIER)('bar')
|
PsiElement(IDENTIFIER)('bar')
|
||||||
PsiElement(DOT)('.')
|
PsiElement(DOT)('.')
|
||||||
VALUE_PARAMETER_LIST
|
VALUE_PARAMETER_LIST
|
||||||
|
|||||||
@@ -59,15 +59,17 @@ JetFile: RootNamespace.jet
|
|||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
USER_TYPE
|
USER_TYPE
|
||||||
REFERENCE_EXPRESSION
|
USER_TYPE
|
||||||
REFERENCE_EXPRESSION
|
USER_TYPE
|
||||||
REFERENCE_EXPRESSION
|
PsiElement(namespace)('namespace')
|
||||||
PsiElement(namespace)('namespace')
|
|
||||||
PsiElement(DOT)('.')
|
|
||||||
PsiElement(IDENTIFIER)('foo')
|
|
||||||
PsiElement(DOT)('.')
|
PsiElement(DOT)('.')
|
||||||
PsiElement(IDENTIFIER)('bar')
|
REFERENCE_EXPRESSION
|
||||||
|
PsiElement(IDENTIFIER)('foo')
|
||||||
PsiElement(DOT)('.')
|
PsiElement(DOT)('.')
|
||||||
|
REFERENCE_EXPRESSION
|
||||||
|
PsiElement(IDENTIFIER)('bar')
|
||||||
|
PsiElement(DOT)('.')
|
||||||
|
REFERENCE_EXPRESSION
|
||||||
PsiElement(IDENTIFIER)('X')
|
PsiElement(IDENTIFIER)('X')
|
||||||
VALUE_ARGUMENT_LIST
|
VALUE_ARGUMENT_LIST
|
||||||
PsiElement(LPAR)('(')
|
PsiElement(LPAR)('(')
|
||||||
|
|||||||
@@ -253,10 +253,11 @@ JetFile: When.jet
|
|||||||
TYPE_PATTERN
|
TYPE_PATTERN
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
USER_TYPE
|
USER_TYPE
|
||||||
REFERENCE_EXPRESSION
|
USER_TYPE
|
||||||
REFERENCE_EXPRESSION
|
REFERENCE_EXPRESSION
|
||||||
PsiElement(IDENTIFIER)('A')
|
PsiElement(IDENTIFIER)('A')
|
||||||
PsiElement(DOT)('.')
|
PsiElement(DOT)('.')
|
||||||
|
REFERENCE_EXPRESSION
|
||||||
PsiElement(IDENTIFIER)('b')
|
PsiElement(IDENTIFIER)('b')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
PsiElement(DOUBLE_ARROW)('=>')
|
PsiElement(DOUBLE_ARROW)('=>')
|
||||||
|
|||||||
@@ -53,13 +53,15 @@ JetFile: HashMap.jet
|
|||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
USER_TYPE
|
USER_TYPE
|
||||||
REFERENCE_EXPRESSION
|
USER_TYPE
|
||||||
REFERENCE_EXPRESSION
|
USER_TYPE
|
||||||
REFERENCE_EXPRESSION
|
REFERENCE_EXPRESSION
|
||||||
PsiElement(IDENTIFIER)('java')
|
PsiElement(IDENTIFIER)('java')
|
||||||
PsiElement(DOT)('.')
|
|
||||||
PsiElement(IDENTIFIER)('lang')
|
|
||||||
PsiElement(DOT)('.')
|
PsiElement(DOT)('.')
|
||||||
|
REFERENCE_EXPRESSION
|
||||||
|
PsiElement(IDENTIFIER)('lang')
|
||||||
|
PsiElement(DOT)('.')
|
||||||
|
REFERENCE_EXPRESSION
|
||||||
PsiElement(IDENTIFIER)('Object')
|
PsiElement(IDENTIFIER)('Object')
|
||||||
PsiElement(RPAR)(')')
|
PsiElement(RPAR)(')')
|
||||||
PsiElement(DOT)('.')
|
PsiElement(DOT)('.')
|
||||||
@@ -76,13 +78,15 @@ JetFile: HashMap.jet
|
|||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
USER_TYPE
|
USER_TYPE
|
||||||
REFERENCE_EXPRESSION
|
USER_TYPE
|
||||||
REFERENCE_EXPRESSION
|
USER_TYPE
|
||||||
REFERENCE_EXPRESSION
|
REFERENCE_EXPRESSION
|
||||||
PsiElement(IDENTIFIER)('java')
|
PsiElement(IDENTIFIER)('java')
|
||||||
PsiElement(DOT)('.')
|
|
||||||
PsiElement(IDENTIFIER)('lang')
|
|
||||||
PsiElement(DOT)('.')
|
PsiElement(DOT)('.')
|
||||||
|
REFERENCE_EXPRESSION
|
||||||
|
PsiElement(IDENTIFIER)('lang')
|
||||||
|
PsiElement(DOT)('.')
|
||||||
|
REFERENCE_EXPRESSION
|
||||||
PsiElement(IDENTIFIER)('Object')
|
PsiElement(IDENTIFIER)('Object')
|
||||||
PsiElement(RPAR)(')')
|
PsiElement(RPAR)(')')
|
||||||
PsiWhiteSpace('\n')
|
PsiWhiteSpace('\n')
|
||||||
@@ -141,13 +145,15 @@ JetFile: HashMap.jet
|
|||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
USER_TYPE
|
USER_TYPE
|
||||||
REFERENCE_EXPRESSION
|
USER_TYPE
|
||||||
REFERENCE_EXPRESSION
|
USER_TYPE
|
||||||
REFERENCE_EXPRESSION
|
REFERENCE_EXPRESSION
|
||||||
PsiElement(IDENTIFIER)('java')
|
PsiElement(IDENTIFIER)('java')
|
||||||
PsiElement(DOT)('.')
|
|
||||||
PsiElement(IDENTIFIER)('lang')
|
|
||||||
PsiElement(DOT)('.')
|
PsiElement(DOT)('.')
|
||||||
|
REFERENCE_EXPRESSION
|
||||||
|
PsiElement(IDENTIFIER)('lang')
|
||||||
|
PsiElement(DOT)('.')
|
||||||
|
REFERENCE_EXPRESSION
|
||||||
PsiElement(IDENTIFIER)('Object')
|
PsiElement(IDENTIFIER)('Object')
|
||||||
PsiElement(RPAR)(')')
|
PsiElement(RPAR)(')')
|
||||||
PsiElement(DOT)('.')
|
PsiElement(DOT)('.')
|
||||||
|
|||||||
@@ -90,13 +90,15 @@ JetFile: IOSamples.jet
|
|||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
USER_TYPE
|
USER_TYPE
|
||||||
REFERENCE_EXPRESSION
|
USER_TYPE
|
||||||
REFERENCE_EXPRESSION
|
USER_TYPE
|
||||||
REFERENCE_EXPRESSION
|
REFERENCE_EXPRESSION
|
||||||
PsiElement(IDENTIFIER)('java')
|
PsiElement(IDENTIFIER)('java')
|
||||||
PsiElement(DOT)('.')
|
|
||||||
PsiElement(IDENTIFIER)('io')
|
|
||||||
PsiElement(DOT)('.')
|
PsiElement(DOT)('.')
|
||||||
|
REFERENCE_EXPRESSION
|
||||||
|
PsiElement(IDENTIFIER)('io')
|
||||||
|
PsiElement(DOT)('.')
|
||||||
|
REFERENCE_EXPRESSION
|
||||||
PsiElement(IDENTIFIER)('Closeable')
|
PsiElement(IDENTIFIER)('Closeable')
|
||||||
PsiElement(RPAR)(')')
|
PsiElement(RPAR)(')')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
|
|||||||
@@ -321,7 +321,7 @@ public class JetTypeCheckerTest extends LightDaemonAnalyzerTestCase {
|
|||||||
public void testBlocks() throws Exception {
|
public void testBlocks() throws Exception {
|
||||||
assertType("if (1) {val a = 1; a} else {null}", "Int?");
|
assertType("if (1) {val a = 1; a} else {null}", "Int?");
|
||||||
assertType("if (1) {() => val a = 1; a} else {() => null}", "Function0<Int?>");
|
assertType("if (1) {() => val a = 1; a} else {() => null}", "Function0<Int?>");
|
||||||
assertType("if (1) {() => val a = 1; a; var b : Boolean; b = true; b} else null", "Function0<Boolean>?");
|
assertType("if (1) {() => val a = 1; a; var b : Boolean; b} else null", "Function0<Boolean>?");
|
||||||
assertType("if (1) {() => val a = 1; a; var b = a; b} else null", "Function0<Int>?");
|
assertType("if (1) {() => val a = 1; a; var b = a; b} else null", "Function0<Int>?");
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -488,8 +488,8 @@ public class JetTypeCheckerTest extends LightDaemonAnalyzerTestCase {
|
|||||||
return makeType(classDefinitions.BASIC_SCOPE, typeStr);
|
return makeType(classDefinitions.BASIC_SCOPE, typeStr);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static Type makeType(JetScope scope, String typeStr) {
|
private Type makeType(JetScope scope, String typeStr) {
|
||||||
return new TypeResolver(BindingTrace.DUMMY, ErrorHandler.THROW_EXCEPTION).resolveType(scope, JetChangeUtil.createType(getProject(), typeStr));
|
return new TypeResolver(BindingTrace.DUMMY, semanticServices).resolveType(scope, JetChangeUtil.createType(getProject(), typeStr));
|
||||||
}
|
}
|
||||||
|
|
||||||
private class ClassDefinitions {
|
private class ClassDefinitions {
|
||||||
|
|||||||
Reference in New Issue
Block a user