KT-1702 Renaming file causes "Operation not supported" and invalid imports

(Rename problem was caused because of invalid reference to file from package. Fix contains:
 - Change structure of references in package expression - last part is also a reference now
 - Resolve packages to expression but not to files)

  #KT-1702 fixed
This commit is contained in:
Nikolay Krasko
2012-04-06 14:46:23 +04:00
parent 1372d70466
commit 4d19fd05b1
25 changed files with 119 additions and 143 deletions
+2 -1
View File
@@ -8,7 +8,8 @@ JetFile: Attributes.jet
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('bar')
PsiElement(DOT)('.')
PsiElement(IDENTIFIER)('goo')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('goo')
PsiWhiteSpace('\n\n')
CLASS
MODIFIER_LIST
+2 -1
View File
@@ -8,7 +8,8 @@ JetFile: Attributes_ERR.jet
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('bar')
PsiElement(DOT)('.')
PsiElement(IDENTIFIER)('goo')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('goo')
PsiWhiteSpace('\n\n')
CLASS
MODIFIER_LIST
+2 -1
View File
@@ -2,7 +2,8 @@ JetFile: BabySteps.jet
NAMESPACE_HEADER
PsiElement(package)('package')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('foo')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo')
PsiWhiteSpace('\n\n')
CLASS
PsiElement(class)('class')
+2 -1
View File
@@ -2,7 +2,8 @@ JetFile: BabySteps_ERR.jet
NAMESPACE_HEADER
PsiElement(package)('package')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('foo')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo')
PsiWhiteSpace('\n\n')
CLASS
PsiElement(class)('class')
+2 -1
View File
@@ -8,7 +8,8 @@ JetFile: Imports.jet
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('bar')
PsiElement(DOT)('.')
PsiElement(IDENTIFIER)('goo')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('goo')
PsiWhiteSpace('\n\n')
IMPORT_DIRECTIVE
PsiElement(import)('import')
+2 -1
View File
@@ -8,7 +8,8 @@ JetFile: Imports_ERR.jet
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('bar')
PsiElement(DOT)('.')
PsiElement(IDENTIFIER)('goo')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('goo')
PsiWhiteSpace('\n\n')
IMPORT_DIRECTIVE
PsiElement(import)('import')
+2 -1
View File
@@ -15,4 +15,5 @@ JetFile: NamespaceModifiers.jet
PsiWhiteSpace(' ')
PsiElement(package)('package')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('name')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('name')
+2 -1
View File
@@ -5,7 +5,8 @@ JetFile: RootNamespace.jet
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo')
PsiElement(DOT)('.')
PsiElement(IDENTIFIER)('bar')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('bar')
PsiElement(SEMICOLON)(';')
PsiWhiteSpace('\n\n')
CLASS
+2 -1
View File
@@ -51,7 +51,8 @@ JetFile: ShortAnnotations.jet
PsiWhiteSpace(' ')
PsiElement(package)('package')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('aa')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('aa')
PsiWhiteSpace('\n\n')
CLASS
MODIFIER_LIST
+2 -1
View File
@@ -8,7 +8,8 @@ JetFile: SimpleModifiers.jet
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('bar')
PsiElement(DOT)('.')
PsiElement(IDENTIFIER)('goo')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('goo')
PsiWhiteSpace('\n\n')
CLASS
MODIFIER_LIST
+2 -1
View File
@@ -8,7 +8,8 @@ JetFile: SoftKeywords.jet
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('bar')
PsiElement(DOT)('.')
PsiElement(IDENTIFIER)('goo')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('goo')
PsiWhiteSpace('\n\n')
IMPORT_DIRECTIVE
PsiElement(import)('import')
+2 -1
View File
@@ -8,7 +8,8 @@ JetFile: TypeDef.jet
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('bar')
PsiElement(DOT)('.')
PsiElement(IDENTIFIER)('goo')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('goo')
PsiWhiteSpace('\n\n')
TYPEDEF
PsiElement(type)('type')
+1 -1
View File
@@ -1,5 +1,5 @@
// FILE: f.kt
~a~package a
package ~a~a
import java.*
~a.a~val a : util.List<Int>? = null
+1 -1
View File
@@ -1,4 +1,4 @@
~ns~package nestedObjects
package ~ns~nestedObjects
object ~A~A {
val b = `A.B`B
val d = `A`A.`A.B`B.`A.B.A`A