Merge remote-tracking branch 'origin/master'

This commit is contained in:
Roman Shevchenko
2015-05-19 23:00:40 +02:00
28 changed files with 561 additions and 116 deletions
@@ -14,7 +14,9 @@
* limitations under the License.
*/
package com.intellij.psi.resolve
import com.intellij.openapi.application.ex.PathManagerEx
import com.intellij.openapi.command.WriteCommandAction
import com.intellij.openapi.vfs.JarFileSystem
import com.intellij.openapi.vfs.LocalFileSystem
import com.intellij.openapi.vfs.VirtualFile
@@ -217,4 +219,22 @@ class Testcase {
myFixture.checkHighlighting()
}
public void "test update method hierarchy on class file change"() {
myFixture.testDataPath = PathManagerEx.getTestDataPath() + "/libResolve/methodHierarchy"
myFixture.copyDirectoryToProject("", "lib")
PsiTestUtil.addLibrary(myModule, "lib", myFixture.tempDirFixture.getFile("").path, "lib");
def message = JavaPsiFacade.getInstance(project).findClass('com.google.protobuf.AbstractMessageLite',
GlobalSearchScope.allScope(project))
assert message
def method = message.findMethodsByName("toByteArray", false)[0]
assert method
assert method.hierarchicalMethodSignature.superSignatures.size() == 1
WriteCommandAction.runWriteCommandAction(project) {
message.interfaces[0].containingFile.virtualFile.delete(this)
}
assert method.hierarchicalMethodSignature.superSignatures.size() == 0
}
}