Merge branch 'master' of git.labs.intellij.net:idea/community
authorGregory Shrago <gregory.shrago@jetbrains.com>
Mon, 19 Oct 2009 13:45:18 +0000 (17:45 +0400)
committerGregory Shrago <gregory.shrago@jetbrains.com>
Mon, 19 Oct 2009 13:45:18 +0000 (17:45 +0400)
481 files changed:
build/conf/mac/Contents/MacOS/idea
build/lib/gant/lib/README_JPS.txt [new file with mode: 0644]
build/scripts/dist.gant
build/scripts/layouts.gant
java/compiler/impl/src/com/intellij/compiler/actions/GenerateAntBuildAction.java
java/compiler/impl/src/com/intellij/compiler/impl/CompileDriver.java
java/compiler/impl/src/com/intellij/compiler/impl/javaCompiler/BackendCompilerWrapper.java
java/compiler/impl/src/com/intellij/compiler/make/DependencyCache.java
java/compiler/impl/src/com/intellij/packaging/impl/artifacts/ArtifactModelImpl.java
java/compiler/impl/src/com/intellij/packaging/impl/artifacts/JarArtifactType.java
java/compiler/impl/src/com/intellij/packaging/impl/artifacts/PlainArtifactType.java
java/compiler/impl/src/com/intellij/packaging/impl/compiler/IncrementalCompilerInstructionCreatorBase.java
java/compiler/openapi/src/com/intellij/compiler/ant/ChunkBuildExtension.java
java/compiler/openapi/src/com/intellij/packaging/artifacts/ArtifactTemplate.java [new file with mode: 0644]
java/compiler/openapi/src/com/intellij/packaging/artifacts/ArtifactType.java
java/compiler/openapi/src/com/intellij/packaging/artifacts/ModifiableArtifactModel.java
java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/artifacts/ArtifactsStructureConfigurable.java
java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/artifacts/LayoutTreeComponent.java
java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/artifacts/sourceItems/SourceItemsTree.java
java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/artifacts/sourceItems/actions/PackAndPutIntoDefaultLocationAction.java [new file with mode: 0644]
java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/artifacts/sourceItems/actions/PutIntoDefaultLocationActionBase.java [new file with mode: 0644]
java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/artifacts/sourceItems/actions/PutSourceItemIntoDefaultLocationAction.java
java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/artifacts/sourceItems/actions/PutSourceItemIntoParentAndLinkViaManifestAction.java
java/java-impl/src/com/intellij/codeInspection/dataFlow/DfaMemoryStateImpl.java
java/java-impl/src/com/intellij/codeInspection/defaultFileTemplateUsage/MethodBodyChecker.java
java/java-impl/src/com/intellij/psi/impl/source/tree/injected/MyTestInjector.java
java/java-impl/src/com/intellij/psi/impl/source/tree/java/PsiConditionalExpressionImpl.java
java/java-impl/src/com/intellij/slicer/SliceUtil.java
java/java-impl/src/com/intellij/slicer/forward/SliceFUtil.java
java/java-tests/testData/codeInsight/completion/className/InPlainTextFile.txt [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/className/InPlainTextFile_after.txt [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/className/afterNewThrowable/after1.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/className/afterNewThrowable/after2.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/className/afterNewThrowable/before1.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/className/afterNewThrowable/before2.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/className/afterNewThrowable/source/OurException.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/className/afterNewThrowable/source/OurNotException.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/className/importAfterNew/after1.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/className/importAfterNew/after2.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/className/importAfterNew/before1.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/className/importAfterNew/before2.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/className/importAfterNew/source/pack/AClass.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/className/importAfterNew/source/pack/WithInnerAClass.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/className/java/BracesAfterNew.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/className/java/BracesAfterNew_after.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/className/java/CamelHumpPrefix.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/className/java/CamelHumpPrefix_after.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/className/java/DoubleStringBuffer.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/className/java/DoubleStringBuffer_after.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/className/java/ExcessParensAfterNew.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/className/java/ExcessParensAfterNew_after.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/className/java/ReplaceReferenceExpressionWithTypeElement.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/className/java/ReplaceReferenceExpressionWithTypeElement_after.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/className/java/ReuseParensAfterNew.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/className/java/ReuseParensAfterNew_after.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/Annotation-result.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/Annotation-source.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/ExtraSpace-result.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/ExtraSpace-source.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/InCommentWithPackagePrefix-result.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/InCommentWithPackagePrefix-source.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/InStaticImport-result.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/InStaticImport-source.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/QualifyNameOnSecondCompletion-result.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/QualifyNameOnSecondCompletion-source.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/implements2-result.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/implements2-source.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/implements3-result.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/implements3-source.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/methodCall-result.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/methodCall-source.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/methodCall1-result.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/methodCall1-source.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/source/empty.txt [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test1-result.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test1-source.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test10-result.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test10-source.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test11-result.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test11-source.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test12-result.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test12-source.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test13-result.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test13-source.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test2-result.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test2-source.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test3-result.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test3-source.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test4-result.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test4-source.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test7-result.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test7-source.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test8-result.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test8-source.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test9-result.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test9-source.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test9_2-result.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test9_2-source.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test9_3-result.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test9_3-source.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/varType-result.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/varType-source.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/customFileType/1.cs [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/customFileType/1_after.cs [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/customFileType/2.cs [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/customFileType/2_after.cs [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/customFileType/Erlang.erl [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/customFileType/WordCompletion.cs [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/dot/Dot1.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/dot/Dot10.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/dot/Dot11.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/dot/Dot12.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/dot/Dot2.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/dot/Dot3.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/dot/Dot4.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/dot/Dot5.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/dot/Dot6.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/dot/Dot7.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/dot/Dot8.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/dot/Dot9.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/keywords/ExtendsInCastTypeParameters-out.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/keywords/ExtendsInCastTypeParameters.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/keywords/ExtendsInMethodParameters-out.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/keywords/ExtendsInMethodParameters.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/keywords/ExtendsWithRightContextInClassTypeParameters-out.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/keywords/ExtendsWithRightContextInClassTypeParameters.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/keywords/ExtraBracketAfterFinally-out.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/keywords/ExtraBracketAfterFinally.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/keywords/ExtraBracketAfterFinally1-out.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/keywords/ExtraBracketAfterFinally1.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/keywords/NullInIf-out.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/keywords/NullInIf.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/keywords/NullInMethodCall.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/keywords/NullInMethodCall2.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/keywords/NullInMethodCall2_After.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/keywords/NullInMethodCall_After.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/keywords/TrueInVariableDeclaration-out.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/keywords/TrueInVariableDeclaration.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/keywords/afterAnnotations.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/keywords/catch-1.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/keywords/classScope-1.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/keywords/classScope-2.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/keywords/classScope-3.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/keywords/classScope-4.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/keywords/continue.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/keywords/continue_after.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/keywords/defaultInAnno.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/keywords/defaultInAnno_after.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/keywords/extends-1.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/keywords/extends-10-result.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/keywords/extends-10.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/keywords/extends-11-result.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/keywords/extends-11.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/keywords/extends-12-result.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/keywords/extends-12.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/keywords/extends-2.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/keywords/extends-3.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/keywords/extends-4.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/keywords/extends-5.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/keywords/extends-6.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/keywords/extends-7-result.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/keywords/extends-7.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/keywords/extends-8-result.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/keywords/extends-8.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/keywords/extends-9-result.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/keywords/extends-9.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/keywords/fileScope-1.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/keywords/fileScope-2.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/keywords/instanceof-1-result.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/keywords/instanceof-1.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/keywords/instanceof-2-result.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/keywords/instanceof-2.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/keywords/instanceof-3-result.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/keywords/instanceof-3.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/keywords/methodScope-1.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/keywords/methodScope-2.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/keywords/methodScope-3.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/keywords/methodScope-4.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/keywords/methodScope-5-out.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/keywords/methodScope-5.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/keywords/super-1.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/keywords/super-2.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/keywords/synchronized-1-result.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/keywords/synchronized-1.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/keywords/synchronized-2-result.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/keywords/synchronized-2.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/keywords/throwsOnSeparateLine.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/keywords/throwsOnSeparateLine_after.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/keywords/tryInExpression.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/normalSorting/ClassStaticMembersInBooleanContext.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/normalSorting/ClassStaticMembersInVoidContext.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/normalSorting/DispreferDeclared.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/normalSorting/DispreferDeclaredOfExpectedType.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/normalSorting/DontPreferRecursiveMethod.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/normalSorting/DontPreferRecursiveMethod2.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/normalSorting/GenericMethodsWithBoundParametersAreStillBetterThanClassLiteral.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/normalSorting/HonorUppercaseLetters.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/normalSorting/PreferAnnotationMethods.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/normalSorting/PreferDefaultTypeToExpected.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/normalSorting/PreferLessParameters.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/normalSorting/PreferSuperMethods.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/normalSorting/ReturnF.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/normalSorting/ShorterPrefixesGoFirst.html [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/normalSorting/ShorterShouldBePreselected.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/normalSorting/SubstringVsSubSequence.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/normalSorting/UppercaseMatters.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/normalSorting/UppercaseMatters2.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/smartType/MethodCallInScriplet-out.jsp [deleted file]
java/java-tests/testData/codeInsight/completion/smartType/MethodCallInScriplet.jsp [deleted file]
java/java-tests/testData/codeInsight/completion/smartTypeSorting/BooleanValueOf.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/smartTypeSorting/ClassLiteral.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/smartTypeSorting/DontPreferCasted.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/smartTypeSorting/DontPreferKeywords.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/smartTypeSorting/EnumValueOf.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/smartTypeSorting/EnumValueOf2.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/smartTypeSorting/ExpectedInterfaceShouldGoFirst.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/smartTypeSorting/FactoryMethodForDefaultType.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/smartTypeSorting/FieldNameOutweighsStats.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/smartTypeSorting/GwtButtons.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/smartTypeSorting/InnerClassesProximity.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/smartTypeSorting/JComponentAdd.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/smartTypeSorting/JComponentAddNew.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/smartTypeSorting/LiteralInIf.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/smartTypeSorting/LiteralInReturn.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/smartTypeSorting/LocalVariablesOutweighStats.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/smartTypeSorting/LocalVarsBeforeClassLiterals.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/smartTypeSorting/MethodStats.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/smartTypeSorting/MethodsWithSubstitutableReturnType.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/smartTypeSorting/NewArrayList.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/smartTypeSorting/NewComponent.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/smartTypeSorting/NewRunnable.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/smartTypeSorting/NoSkippingInSmartCast.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/smartTypeSorting/PassingQualifierToMethodCall.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/smartTypeSorting/PassingThisToUnqualifiedMethodCall.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/smartTypeSorting/PreferAccessibleMembers.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/smartTypeSorting/PreferDelegatingMethodParams.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/smartTypeSorting/PreferFieldsToMethods.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/smartTypeSorting/PreferImportedClasses.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/smartTypeSorting/PreferMatchedWords.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/smartTypeSorting/PreferNestedClasses.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/smartTypeSorting/PreferNonRecursiveMethodParams.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/smartTypeSorting/PreferParametersToGetters.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/smartTypeSorting/PreferredByNameDontChangeStatistics.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/smartTypeSorting/SmartCollections.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/smartTypeSorting/SmartCollectionsNew.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/smartTypeSorting/SmartEquals.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/smartTypeSorting/SmartEquals2.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/smartTypeSorting/SmartEquals3.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/smartTypeSorting/SmartEqualsNew.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/smartTypeSorting/SmartEqualsNew2.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/smartTypeSorting/StatisticsAffectsNonPreferableExpectedItems.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/smartTypeSorting/XmlTagGetAttribute.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/style/after1.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/style/after10.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/style/after11.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/style/after12.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/style/after13.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/style/after15.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/style/after16.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/style/after17.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/style/after21.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/style/after22.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/style/after3.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/style/after31.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/style/after32-a.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/style/after32.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/style/after33.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/style/after34.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/style/after36.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/style/after38.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/style/after39.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/style/after4.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/style/after6.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/style/after7.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/style/after8.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/style/after9.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/style/before1.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/style/before10.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/style/before11.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/style/before12.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/style/before13.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/style/before15.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/style/before16.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/style/before17.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/style/before21.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/style/before22.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/style/before3.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/style/before31.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/style/before32.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/style/before33.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/style/before34.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/style/before35.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/style/before36.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/style/before38.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/style/before39.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/style/before4.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/style/before5.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/style/before6.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/style/before7.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/style/before8.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/style/before9.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/variables/locals/ArrayMethodName-result.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/variables/locals/ArrayMethodName.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/variables/locals/FieldNameCompletion1-result.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/variables/locals/FieldNameCompletion1.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/variables/locals/FieldNameCompletion2-result.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/variables/locals/FieldNameCompletion2.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/variables/locals/FieldNameCompletion3-result.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/variables/locals/FieldNameCompletion3.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/variables/locals/InputMethodEventVariable.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/variables/locals/InputMethodEventVariable_after.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/variables/locals/ObjectVariable.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/variables/locals/ObjectVariable_after.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/variables/locals/StringVariable.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/variables/locals/StringVariable_after.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/variables/locals/TestFieldOutOfAnonymous.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/variables/locals/TestFieldOutOfAnonymousResult.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/variables/locals/TestResult1.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/variables/locals/TestResult2.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/variables/locals/TestResult3.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/variables/locals/TestResult4.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/variables/locals/TestResult5.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/variables/locals/TestResult6.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/variables/locals/TestResult7.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/variables/locals/TestResult8.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/variables/locals/TestResult9.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/variables/locals/TestSource1.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/variables/locals/TestSource2.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/variables/locals/TestSource3.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/variables/locals/TestSource4.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/variables/locals/TestSource5.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/variables/locals/TestSource6.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/variables/locals/TestSource7.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/variables/locals/TestSource8.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/variables/locals/TestSource9.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/variables/locals/UnresolvedMethodName.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/variables/locals/test2-lst.txt [new file with mode: 0644]
java/java-tests/testSrc/com/intellij/codeInsight/completion/ClassNameCompletionTest.java [new file with mode: 0644]
java/java-tests/testSrc/com/intellij/codeInsight/completion/CompletionSortingTestCase.java [new file with mode: 0644]
java/java-tests/testSrc/com/intellij/codeInsight/completion/CompletionStyleTest.java [new file with mode: 0644]
java/java-tests/testSrc/com/intellij/codeInsight/completion/CustomFileTypeCompletionTest.java [new file with mode: 0644]
java/java-tests/testSrc/com/intellij/codeInsight/completion/DotTest.java [new file with mode: 0644]
java/java-tests/testSrc/com/intellij/codeInsight/completion/KeywordCompletionTest.java [new file with mode: 0644]
java/java-tests/testSrc/com/intellij/codeInsight/completion/NormalCompletionOrderingTest.java [new file with mode: 0644]
java/java-tests/testSrc/com/intellij/codeInsight/completion/SmartTypeCompletion15Test.java [deleted file]
java/java-tests/testSrc/com/intellij/codeInsight/completion/SmartTypeCompletionOrderingTest.java [new file with mode: 0644]
java/java-tests/testSrc/com/intellij/codeInsight/completion/SmartTypeCompletionTest.java
java/java-tests/testSrc/com/intellij/codeInsight/completion/VariablesCompletionTest.java [new file with mode: 0644]
java/openapi/src/com/intellij/psi/util/TypeConversionUtil.java
java/testFramework/src/com/intellij/codeInsight/daemon/DaemonAnalyzerTestCase.java
java/testFramework/src/com/intellij/codeInsight/daemon/LightDaemonAnalyzerTestCase.java
java/testFramework/src/com/intellij/codeInsight/daemon/quickFix/LightQuickFixTestCase.java
java/testFramework/src/com/intellij/testFramework/codeInsight/hierarchy/HierarchyViewTestBase.java [new file with mode: 0755]
native/VistaUpdaterLauncher/VistaUpdaterLauncher/VistaUpdaterLauncher.cpp
native/breakgen/AppMain.c
native/fileWatcher/ReadMe.txt [deleted file]
native/fileWatcher/fileWatcher3.cpp
native/fsNotifier/mac/fsnotifier.c
native/restarter/ReadMe.txt [deleted file]
native/restarter/restarter.cpp
platform/icons/src/ide/error_notifications.png [new file with mode: 0644]
platform/icons/src/ide/info_notifications.png [new file with mode: 0644]
platform/icons/src/ide/read_notifications.png
platform/icons/src/ide/unread_notifications.png [deleted file]
platform/icons/src/ide/warning_notifications.png [new file with mode: 0644]
platform/lang-api/src/com/intellij/psi/PsiElementVisitor.java
platform/lang-api/src/com/intellij/psi/PsiRecursiveElementVisitor.java
platform/lang-api/src/com/intellij/psi/PsiRecursiveElementWalkingVisitor.java
platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/CollectHighlightsUtil.java
platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/DaemonProgressIndicator.java
platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/LocalInspectionsPass.java
platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/ShowIntentionsPass.java
platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/TextEditorHighlightingPassRegistrarImpl.java
platform/lang-impl/src/com/intellij/codeInsight/intention/impl/IntentionListStep.java
platform/lang-impl/src/com/intellij/codeInsight/intention/impl/ShowIntentionActionsHandler.java
platform/lang-impl/src/com/intellij/codeInsight/template/impl/TemplateListPanel.java
platform/lang-impl/src/com/intellij/codeInsight/template/impl/TemplateSettings.java
platform/lang-impl/src/com/intellij/concurrency/JobUtil.java
platform/lang-impl/src/com/intellij/lang/impl/PsiBuilderImpl.java
platform/lang-impl/src/com/intellij/openapi/components/impl/stores/ModuleStoreImpl.java
platform/lang-impl/src/com/intellij/pom/tree/events/impl/TreeChangeEventImpl.java
platform/lang-impl/src/com/intellij/psi/impl/source/text/ASTDiffBuilder.java
platform/lang-impl/src/com/intellij/psi/impl/source/tree/ASTShallowComparator.java
platform/lang-impl/src/com/intellij/psi/impl/source/tree/ASTStructure.java
platform/lang-impl/src/com/intellij/psi/impl/source/tree/LazyParseableElement.java
platform/lang-impl/src/com/intellij/psi/impl/source/tree/LeafElement.java
platform/lang-impl/src/com/intellij/psi/impl/source/tree/injected/InjectedFileViewProvider.java
platform/lang-impl/src/com/intellij/psi/impl/source/tree/injected/InjectedLanguageUtil.java
platform/lang-impl/src/com/intellij/refactoring/move/moveFilesOrDirectories/MoveFilesOrDirectoriesDialog.java
platform/platform-api/src/com/intellij/ide/util/treeView/AbstractTreeUi.java
platform/platform-api/src/com/intellij/openapi/util/ActionCallback.java
platform/platform-api/src/com/intellij/ui/FilteringListModel.java [deleted file]
platform/platform-api/src/com/intellij/ui/treeStructure/SimpleNode.java
platform/platform-impl/src/com/intellij/concurrency/JobSchedulerImpl.java
platform/platform-impl/src/com/intellij/notification/impl/NotificationModel.java
platform/platform-impl/src/com/intellij/notification/impl/NotificationsManagerImpl.java
platform/platform-impl/src/com/intellij/notification/impl/ui/NotificationComponent.java
platform/platform-impl/src/com/intellij/openapi/components/impl/stores/ComponentStoreImpl.java
platform/platform-impl/src/com/intellij/openapi/components/impl/stores/FileBasedStorage.java
platform/platform-impl/src/com/intellij/openapi/components/impl/stores/ProjectStoreImpl.java
platform/platform-impl/src/com/intellij/openapi/fileChooser/ex/FileSystemTreeImpl.java
platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/LoadTextUtil.java
platform/platform-impl/src/com/intellij/openapi/progress/util/ProgressWrapper.java
platform/platform-impl/src/com/intellij/openapi/project/impl/ProjectManagerImpl.java
platform/platform-impl/src/com/intellij/openapi/wm/impl/AWTUtilitiesWrapper.java
platform/platform-impl/src/com/intellij/openapi/wm/impl/WindowManagerImpl.java
platform/platform-impl/src/com/intellij/ui/popup/WizardPopup.java
platform/platform-resources-en/src/messages/ProjectBundle.properties
platform/testFramework/src/com/intellij/testFramework/fixtures/impl/CodeInsightTestFixtureImpl.java
platform/util/src/com/intellij/util/containers/LimitedPool.java
platform/util/src/com/intellij/util/containers/OrderedSet.java
platform/util/src/com/intellij/util/diff/DiffTree.java
platform/util/src/com/intellij/util/diff/DiffTreeChangeBuilder.java
platform/util/src/com/intellij/util/diff/FlyweightCapableTreeStructure.java
platform/util/testSrc/com/intellij/util/diff/DiffTreeTest.java
plugins/InspectionGadgets/src/com/siyeh/ig/jdk15/CollectionsFieldAccessReplaceableByMethodCallInspection.java
plugins/InspectionGadgets/src/com/siyeh/ig/junit/SimplifiableJUnitAssertionInspection.java
plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/ImportUtils.java
plugins/IntelliLang/src/org/intellij/plugins/intelliLang/pattern/compiler/AnnotationBasedInstrumentingCompiler.java
plugins/IntentionPowerPak/src/com/siyeh/ipp/comment/MoveCommentToSeparateLineIntention.java
plugins/IntentionPowerPak/src/com/siyeh/ipp/junit/AssertEqualsLiteralPredicate.java [deleted file]
plugins/IntentionPowerPak/src/com/siyeh/ipp/junit/AssertEqualsWithLiteralPredicate.java
plugins/IntentionPowerPak/src/com/siyeh/ipp/junit/AssertLiteralPredicate.java
plugins/IntentionPowerPak/src/com/siyeh/ipp/junit/AssertTrueEqualsPredicate.java [deleted file]
plugins/IntentionPowerPak/src/com/siyeh/ipp/junit/AssertTrueOrFalsePredicate.java
plugins/IntentionPowerPak/src/com/siyeh/ipp/junit/CreateAssertPredicate.java
plugins/IntentionPowerPak/src/com/siyeh/ipp/junit/FlipAssertLiteralIntention.java
plugins/IntentionPowerPak/src/com/siyeh/ipp/junit/ReplaceAssertEqualsWithAssertLiteralIntention.java
plugins/IntentionPowerPak/src/com/siyeh/ipp/junit/ReplaceAssertLiteralWithAssertEqualsIntention.java
plugins/IntentionPowerPak/src/com/siyeh/ipp/psiutils/ImportUtils.java
plugins/git4idea/src/git4idea/GitUtil.java
plugins/git4idea/src/git4idea/checkin/GitCheckinEnvironment.java
plugins/git4idea/src/git4idea/checkin/GitConvertFilesDialog.form [new file with mode: 0644]
plugins/git4idea/src/git4idea/checkin/GitConvertFilesDialog.java [new file with mode: 0644]
plugins/git4idea/src/git4idea/commands/GitHandler.java
plugins/git4idea/src/git4idea/config/GitConfigUtil.java
plugins/git4idea/src/git4idea/config/GitVcsPanel.form
plugins/git4idea/src/git4idea/config/GitVcsPanel.java
plugins/git4idea/src/git4idea/config/GitVcsSettings.java
plugins/git4idea/src/git4idea/i18n/GitBundle.properties
plugins/git4idea/src/git4idea/merge/MergeChangeCollector.java
plugins/groovy/src/META-INF/plugin.xml
plugins/groovy/src/org/jetbrains/plugins/groovy/editor/selection/GroovyBasicSelectioner.java
plugins/groovy/src/org/jetbrains/plugins/groovy/editor/selection/GroovyGStringSelectioner.java [new file with mode: 0644]
plugins/groovy/src/org/jetbrains/plugins/groovy/editor/selection/GroovyLiteralSelectioner.java
plugins/groovy/src/org/jetbrains/plugins/groovy/editor/selection/GroovyParameterListSelectioner.java [new file with mode: 0644]
plugins/groovy/src/org/jetbrains/plugins/groovy/editor/selection/GroovyWordSelectionFilter.java [new file with mode: 0644]
plugins/groovy/src/org/jetbrains/plugins/groovy/lang/lexer/_GroovyLexer.java
plugins/groovy/src/org/jetbrains/plugins/groovy/lang/lexer/groovy.flex
plugins/groovy/src/org/jetbrains/plugins/groovy/lang/parameterInfo/GroovyParameterInfoHandler.java
plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/auxiliary/modifiers/GrModifierListImpl.java
plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/util/GrStringUtil.java
plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/util/PsiUtil.java
plugins/groovy/test/org/jetbrains/plugins/groovy/GroovyActionsTest.java
plugins/groovy/test/org/jetbrains/plugins/groovy/lang/GroovyHighlightingTest.java
plugins/groovy/test/org/jetbrains/plugins/groovy/lang/GroovyLineMarkerTest.java
plugins/groovy/test/org/jetbrains/plugins/groovy/lang/parser/StatementsParsingTest.groovy
plugins/groovy/testdata/groovy/actions/SWInGString1.groovy [new file with mode: 0644]
plugins/groovy/testdata/groovy/actions/SWInGString1_after.groovy [new file with mode: 0644]
plugins/groovy/testdata/groovy/actions/SWInGString2.groovy [new file with mode: 0644]
plugins/groovy/testdata/groovy/actions/SWInGString2_after.groovy [new file with mode: 0644]
plugins/groovy/testdata/groovy/actions/SWInGString3.groovy [new file with mode: 0644]
plugins/groovy/testdata/groovy/actions/SWInGString3_after.groovy [new file with mode: 0644]
plugins/groovy/testdata/groovy/actions/SWInGString4.groovy [new file with mode: 0644]
plugins/groovy/testdata/groovy/actions/SWInGString4_after.groovy [new file with mode: 0644]
plugins/groovy/testdata/groovy/actions/SWInGString5.groovy [new file with mode: 0644]
plugins/groovy/testdata/groovy/actions/SWInGString5_after.groovy [new file with mode: 0644]
plugins/groovy/testdata/groovy/actions/SWInParameterList.groovy [new file with mode: 0644]
plugins/groovy/testdata/groovy/actions/SWInParameterList_after.groovy [new file with mode: 0644]
plugins/groovy/testdata/highlighting/FQNJavaClassesUsages.groovy [new file with mode: 0644]
plugins/groovy/testdata/parsing/groovy/statements/declaration/dollar.test [new file with mode: 0644]
plugins/maven/maven.iml
plugins/spellchecker/src/com/intellij/spellchecker/engine/BaseSpellChecker.java
plugins/spellchecker/src/com/intellij/spellchecker/jetbrains.dic
plugins/spellchecker/src/com/intellij/spellchecker/trie/CharSequenceKeyAnalyzer.java
plugins/spellchecker/src/com/intellij/spellchecker/trie/PatriciaTrie.java
plugins/spellchecker/src/com/intellij/spellchecker/trie/Trie.java
plugins/spellchecker/src/com/intellij/spellchecker/util/SpellCheckerBundle.properties
plugins/spellchecker/testSrc/com/intellij/spellchecker/inspector/SuggestionTest.java [new file with mode: 0644]
plugins/xpath/xpath-lang/test/org/intellij/lang/xpath/xslt/XsltHighlightingTest.java
xml/impl/src/com/intellij/xml/index/IndexedRelevantResource.java

index 642adada135be78830d0a047dec43b034b1afba3..c661d3e15cee1d93f2e7732df096700c8862fd41 100644 (file)
Binary files a/build/conf/mac/Contents/MacOS/idea and b/build/conf/mac/Contents/MacOS/idea differ
diff --git a/build/lib/gant/lib/README_JPS.txt b/build/lib/gant/lib/README_JPS.txt
new file mode 100644 (file)
index 0000000..dc927aa
--- /dev/null
@@ -0,0 +1,4 @@
+The source code for JPS, JetBrains' Gant-based build system used for 
+building IntelliJ, can be found on GitHub:
+
+  http://github.com/shafirov/JPS
index 8bb11757df12e99216ddab6ed25150dada138845..730f810dc6d617db5ab699deb276177481df3a77 100644 (file)
@@ -88,6 +88,8 @@ public def layoutAll(Map args, String home, String out) {
     fileset(dir: "$home/license")
   }
 
+  ant.copy(file: "$home/LICENSE.txt", todir: "$paths.distAll", preservelastmodified: "true")
+
   layoutMac(args, home, paths)
   layoutLinux(args, home, paths)
   layoutWin(args, home, paths)
@@ -143,7 +145,7 @@ private def layoutMac(Map args, String home, Paths paths) {
 
 
     replacefilter(token: "@@version@@", value: args.version)
-    replacefilter(token: "@@vmoptions@@", value: args.vmoptions)
+    replacefilter(token: "@@vmoptions@@", value: args.vmoptions + " -Xverify:none -XX:+UseCompressedOOPS -XX:+DoEscapeAnalysis")
     replacefilter(token: "@@system_selector@@", value: args.system_selector)
     replacefilter(token: "@@jdk_req@@", value: args.jdk_req)
   }
index 3e2e862bf7114c73f0552a7be2fd6137cce8bbfe..38ad668574e88b3ac243550b8690ba31c0c3a6a6 100644 (file)
@@ -146,7 +146,7 @@ def layoutFull(String home, String targetDirectory) {
     }
 
     dir("plugins") {
-      def simplePlugins = ["commander", "copyright", "properties", "java-i18n", "images"]
+      def simplePlugins = ["commander", "copyright", "properties", "java-i18n", "images", "devkit", "eclipse"]
 
       simplePlugins.each {
         layoutPlugin it
index fc974652e04f6868febe7f05df066d532d14f0f9..f1cb28a9d51b36aa6546ce960cf195217c2f704d 100644 (file)
@@ -26,8 +26,8 @@ import com.intellij.openapi.actionSystem.Presentation;
 import com.intellij.openapi.application.ApplicationManager;
 import com.intellij.openapi.compiler.CompilerBundle;
 import com.intellij.openapi.progress.ProgressIndicator;
-import com.intellij.openapi.progress.Task;
 import com.intellij.openapi.progress.ProgressManager;
+import com.intellij.openapi.progress.Task;
 import com.intellij.openapi.project.Project;
 import com.intellij.openapi.ui.Messages;
 import com.intellij.openapi.util.io.FileUtil;
@@ -53,8 +53,9 @@ public class GenerateAntBuildAction extends CompileActionBase {
       final GenerationOptionsImpl[] genOptions = {null};
       Runnable runnable = new Runnable() {
         public void run() {
-          genOptions[0] = new GenerationOptionsImpl(project, dialog.isGenerateSingleFileBuild(), dialog.isFormsCompilationEnabled(), dialog.isBackupFiles(),
-                                    dialog.isForceTargetJdk(), dialog.isRuntimeClasspathInlined(), dialog.isIdeaHomeGenerated(), names);
+          genOptions[0] = new GenerationOptionsImpl(project, dialog.isGenerateSingleFileBuild(), dialog.isFormsCompilationEnabled(),
+                                                    dialog.isBackupFiles(), dialog.isForceTargetJdk(), dialog.isRuntimeClasspathInlined(),
+                                                    dialog.isIdeaHomeGenerated(), names);
         }
       };
       if (!ProgressManager.getInstance().runProcessWithProgressSynchronously(runnable, "Analyzing project structure...", true, project)) {
@@ -105,6 +106,7 @@ public class GenerateAntBuildAction extends CompileActionBase {
     Presentation presentation = event.getPresentation();
     Project project = PlatformDataKeys.PROJECT.getData(event.getDataContext());
     presentation.setEnabled(project != null);
+    presentation.setVisible(ChunkBuildExtension.hasBuildExtensions());
   }
 
   private void generate(final Project project, final GenerationOptions genOptions) {
index 4aae36c84d6206de8a8d730b9b21551168a398a7..ff3f5491d80a227b9aa93414ad7885786b375973 100644 (file)
@@ -809,7 +809,7 @@ public class CompileDriver {
   private static void dropDependencyCache(final CompileContextEx context) {
     CompilerUtil.runInContext(context, CompilerBundle.message("progress.saving.caches"), new ThrowableRunnable<RuntimeException>(){
       public void run() {
-        context.getDependencyCache().dispose();
+        context.getDependencyCache().resetState();
       }
     });
   }
@@ -892,8 +892,6 @@ public class CompileDriver {
           generatedTypes.addAll(compilerManager.getRegisteredOutputTypes(translator));
         }
 
-        dropDependencyCache(_context);
-
         if (_context.getMessageCount(CompilerMessageCategory.ERROR) > 0) {
           throw new ExitException(ExitStatus.ERRORS);
         }
@@ -906,6 +904,7 @@ public class CompileDriver {
         // perform update only if there were no errors, so it is guaranteed that the file was processd by all neccesary compilers
         sink.flushPostponedItems();
       }
+      dropDependencyCache(context);
     }
     return didSomething;
   }
index 224a39e92ddb3128c6778c1b2217d40c9c3d8ce0..b9586b133bec92ee9cd2b14c5c2d19004d6bf163 100644 (file)
@@ -51,7 +51,6 @@ import com.intellij.openapi.vfs.LocalFileSystem;
 import com.intellij.openapi.vfs.VfsUtil;
 import com.intellij.openapi.vfs.VirtualFile;
 import com.intellij.util.Chunk;
-import com.intellij.util.ThrowableRunnable;
 import com.intellij.util.cls.ClsFormatException;
 import com.intellij.util.containers.ContainerUtil;
 import gnu.trove.THashMap;
@@ -163,12 +162,18 @@ public class BackendCompilerWrapper {
 
     // do not update caches if cancelled because there is a chance that they will be incomplete
     if (CompilerConfiguration.MAKE_ENABLED) {
-      CompilerUtil.runInContext(myCompileContext, CompilerBundle.message("progress.updating.caches"), new ThrowableRunnable<CacheCorruptedException>(){
-        public void run() throws CacheCorruptedException {
-          ProgressIndicator indicator = myCompileContext.getProgressIndicator();
-          myCompileContext.getDependencyCache().update(indicator);
-        }
-      });
+      ProgressIndicator indicator = myCompileContext.getProgressIndicator();
+      final DependencyCache cache = myCompileContext.getDependencyCache();
+
+      indicator.setText(CompilerBundle.message("progress.updating.caches"));
+      indicator.setText2("");
+
+      cache.update(indicator);
+
+      indicator.setText(CompilerBundle.message("progress.saving.caches"));
+      cache.resetState();
+
+      indicator.setText("");
     }
 
     myFilesToRecompile.removeAll(mySuccesfullyCompiledJavaFiles);
index d04afa675e4b264faa78488e0f57217017a36367..b1d2ce8a01311a97b5ecb0ad8f1b0363eae37c60 100644 (file)
@@ -579,7 +579,7 @@ public class DependencyCache {
     return myMarkedInfos.add(qName);
   }
 
-  public void dispose() {
+  public void resetState() {
     final long start = System.currentTimeMillis();
 
     try {
index b7937546b8ee16d920da159431c0fc6e840fb500..442af50d39b038f6274582121bf7f1989ad8921b 100644 (file)
@@ -64,11 +64,13 @@ public class ArtifactModelImpl extends ArtifactModelBase implements ModifiableAr
 
   @NotNull
   public ModifiableArtifact addArtifact(@NotNull final String name, @NotNull ArtifactType artifactType) {
-    final String outputPath = ArtifactUtil.getDefaultArtifactOutputPath(name, myArtifactManager.getProject());
+    return addArtifact(name, artifactType, artifactType.createRootElement(name));
+  }
 
-    final String artifactName = generateUniqueName(name);
-    final CompositePackagingElement<?> rootElement = artifactType.createRootElement(artifactName);
-    final ArtifactImpl artifact = new ArtifactImpl(artifactName, artifactType, false, rootElement, outputPath);
+  @NotNull
+  public ModifiableArtifact addArtifact(@NotNull String name, @NotNull ArtifactType artifactType, CompositePackagingElement<?> rootElement) {
+    final String outputPath = ArtifactUtil.getDefaultArtifactOutputPath(name, myArtifactManager.getProject());
+    final ArtifactImpl artifact = new ArtifactImpl(generateUniqueName(name), artifactType, false, rootElement, outputPath);
     myOriginalArtifacts.add(artifact);
     myArtifact2ModifiableCopy.put(artifact, artifact);
     myModifiable2Original.put(artifact, artifact);
index b9a1663b44a03be6caedeedf17a8e4b341599b25..45bae738a3ae898fb02f8d637239a69655736856 100644 (file)
@@ -17,10 +17,8 @@ package com.intellij.packaging.impl.artifacts;
 
 import com.intellij.packaging.artifacts.ArtifactType;
 import com.intellij.packaging.elements.CompositePackagingElement;
-import com.intellij.packaging.elements.PackagingElement;
-import com.intellij.packaging.elements.PackagingElementResolvingContext;
+import com.intellij.packaging.elements.PackagingElementOutputKind;
 import com.intellij.packaging.impl.elements.ArchivePackagingElement;
-import com.intellij.packaging.ui.PackagingSourceItem;
 import org.jetbrains.annotations.NotNull;
 
 import javax.swing.*;
@@ -40,12 +38,7 @@ public class JarArtifactType extends ArtifactType {
   }
 
   @Override
-  public String getDefaultPathFor(@NotNull PackagingSourceItem sourceItem) {
-    return "/";
-  }
-
-  @Override
-  public String getDefaultPathFor(@NotNull PackagingElement<?> element, @NotNull PackagingElementResolvingContext context) {
+  public String getDefaultPathFor(@NotNull PackagingElementOutputKind kind) {
     return "/";
   }
 
index c3661d0cc58a184907e780767ae57aa536bb6e60..4cd6ab5030375a8a998405b7dfc6dd5c2b59c75f 100644 (file)
@@ -18,11 +18,9 @@ package com.intellij.packaging.impl.artifacts;
 import com.intellij.openapi.compiler.CompilerBundle;
 import com.intellij.openapi.util.IconLoader;
 import com.intellij.packaging.artifacts.ArtifactType;
-import com.intellij.packaging.elements.PackagingElement;
-import com.intellij.packaging.elements.PackagingElementResolvingContext;
 import com.intellij.packaging.elements.CompositePackagingElement;
+import com.intellij.packaging.elements.PackagingElementOutputKind;
 import com.intellij.packaging.impl.elements.ArtifactRootElementImpl;
-import com.intellij.packaging.ui.PackagingSourceItem;
 import com.intellij.util.containers.ContainerUtil;
 import org.jetbrains.annotations.NonNls;
 import org.jetbrains.annotations.NotNull;
@@ -50,12 +48,8 @@ public class PlainArtifactType extends ArtifactType {
     return ARTIFACT_ICON;
   }
 
-  public String getDefaultPathFor(@NotNull PackagingSourceItem sourceItem) {
-    return "/";
-  }
-
   @Override
-  public String getDefaultPathFor(@NotNull PackagingElement<?> element, @NotNull PackagingElementResolvingContext context) {
+  public String getDefaultPathFor(@NotNull PackagingElementOutputKind kind) {
     return "/";
   }
 
index ffa182569c0e6c31a1f00db7cc504ab090750c32..68918ee796249dcd17cd544b4792f47b58fa477c 100644 (file)
@@ -16,9 +16,7 @@
 package com.intellij.packaging.impl.compiler;
 
 import com.intellij.openapi.compiler.make.PackagingFileFilter;
-import com.intellij.openapi.project.Project;
-import com.intellij.openapi.roots.ProjectFileIndex;
-import com.intellij.openapi.roots.ProjectRootManager;
+import com.intellij.openapi.fileTypes.FileTypeManager;
 import com.intellij.openapi.vfs.VirtualFile;
 import com.intellij.packaging.elements.IncrementalCompilerInstructionCreator;
 import org.jetbrains.annotations.NotNull;
@@ -39,12 +37,11 @@ public abstract class IncrementalCompilerInstructionCreatorBase implements Incre
   }
 
   public void addDirectoryCopyInstructions(@NotNull VirtualFile directory, @Nullable PackagingFileFilter filter) {
-    final Project project = myContext.getCompileContext().getProject();
-    final ProjectFileIndex fileIndex = ProjectRootManager.getInstance(project).getFileIndex();
     final VirtualFile[] children = directory.getChildren();
     if (children != null) {
+      final FileTypeManager fileTypeManager = FileTypeManager.getInstance();
       for (VirtualFile child : children) {
-        if (!fileIndex.isIgnored(child)
+        if (!fileTypeManager.isFileIgnored(child.getName())
             && (filter == null || filter.accept(child, myContext.getCompileContext()))) {
           if (!child.isDirectory()) {
             addFileCopyInstruction(child, child.getName());
index 17c0130fcfbf5471ee6736acb27bbbb30112c4d5..48bba0f43159668594b3742b1615507863edbcb8 100644 (file)
 package com.intellij.compiler.ant;
 
 import com.intellij.ExtensionPoints;
-import com.intellij.openapi.extensions.Extensions;
 import com.intellij.openapi.extensions.ExtensionPointName;
+import com.intellij.openapi.extensions.Extensions;
 import com.intellij.openapi.module.Module;
 import com.intellij.openapi.project.Project;
 import org.jetbrains.annotations.NonNls;
 import org.jetbrains.annotations.NotNull;
 
-import java.util.List;
 import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.List;
 
 public abstract class ChunkBuildExtension {
+  /**
+   * true, if there are build extensions for the modules, the variable is accessed only from AWT thread
+   */
+  private static Boolean myHasExtensions = null;
+
   public static final ExtensionPointName<ChunkBuildExtension> EP_NAME = ExtensionPointName.create(ExtensionPoints.ANT_BUILD_GEN);
 
   public abstract boolean haveSelfOutputs(Module[] modules);
@@ -51,6 +56,17 @@ public abstract class ChunkBuildExtension {
     return false;
   }
 
+  /**
+   * @return true if there are build extensions registered
+   */
+  public static boolean hasBuildExtensions() {
+    if (myHasExtensions == null) {
+      ChunkBuildExtension[] extensions = Extensions.getRootArea().getExtensionPoint(EP_NAME).getExtensions();
+      myHasExtensions = extensions.length != 0;
+    }
+    return myHasExtensions;
+  }
+
   public static String[] getAllTargets(ModuleChunk chunk) {
     List<String> allTargets = new ArrayList<String>();
     final ChunkBuildExtension[] extensions = Extensions.getRootArea().getExtensionPoint(EP_NAME).getExtensions();
@@ -71,8 +87,9 @@ public abstract class ChunkBuildExtension {
     }
   }
 
-  public static void generateAllProperties(final PropertyFileGenerator propertyFileGenerator, final Project project,
-                                        final GenerationOptions genOptions) {
+  public static void generateAllProperties(final PropertyFileGenerator propertyFileGenerator,
+                                           final Project project,
+                                           final GenerationOptions genOptions) {
     ChunkBuildExtension[] extensions = Extensions.getRootArea().getExtensionPoint(EP_NAME).getExtensions();
     for (ChunkBuildExtension extension : extensions) {
       extension.generateProperties(propertyFileGenerator, project, genOptions);
diff --git a/java/compiler/openapi/src/com/intellij/packaging/artifacts/ArtifactTemplate.java b/java/compiler/openapi/src/com/intellij/packaging/artifacts/ArtifactTemplate.java
new file mode 100644 (file)
index 0000000..1b35071
--- /dev/null
@@ -0,0 +1,28 @@
+/*
+ * Copyright 2000-2009 JetBrains s.r.o.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.intellij.packaging.artifacts;
+
+import com.intellij.packaging.elements.CompositePackagingElement;
+import org.jetbrains.annotations.NotNull;
+
+/**
+ * @author nik
+ */
+public abstract class ArtifactTemplate {
+  public abstract String getPresentableName();
+
+  public abstract CompositePackagingElement<?> createRootElement(@NotNull String artifactName);
+}
index 13492d2d2dfd8bd9c43528844c741da19fba8252..c3ec0bcb311345cf168536dd2148b9504ad9e90d 100644 (file)
@@ -19,6 +19,7 @@ import com.intellij.openapi.extensions.ExtensionPointName;
 import com.intellij.openapi.extensions.Extensions;
 import com.intellij.packaging.elements.CompositePackagingElement;
 import com.intellij.packaging.elements.PackagingElement;
+import com.intellij.packaging.elements.PackagingElementOutputKind;
 import com.intellij.packaging.elements.PackagingElementResolvingContext;
 import com.intellij.packaging.ui.ArtifactValidationManager;
 import com.intellij.packaging.ui.PackagingSourceItem;
@@ -27,6 +28,7 @@ import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 
 import javax.swing.*;
+import java.util.Collections;
 import java.util.List;
 
 /**
@@ -54,10 +56,17 @@ public abstract class ArtifactType {
   public abstract Icon getIcon();
 
   @Nullable
-  public abstract String getDefaultPathFor(@NotNull PackagingSourceItem sourceItem);
+  public String getDefaultPathFor(@NotNull PackagingSourceItem sourceItem) {
+    return getDefaultPathFor(sourceItem.getKindOfProducedElements());
+  }
+
+  @Nullable
+  public String getDefaultPathFor(@NotNull PackagingElement<?> element, @NotNull PackagingElementResolvingContext context) {
+    return getDefaultPathFor(element.getFilesKind(context));
+  }
 
   @Nullable
-  public abstract String getDefaultPathFor(@NotNull PackagingElement<?> element, @NotNull PackagingElementResolvingContext context);
+  public abstract String getDefaultPathFor(@NotNull PackagingElementOutputKind kind);
 
   public boolean isSuitableItem(@NotNull PackagingSourceItem sourceItem) {
     return true;
@@ -80,6 +89,11 @@ public abstract class ArtifactType {
   @NotNull
   public abstract CompositePackagingElement<?> createRootElement(@NotNull String artifactName);
 
+  @NotNull
+  public List<? extends ArtifactTemplate> getNewArtifactTemplates(@NotNull PackagingElementResolvingContext context) {
+    return Collections.emptyList();
+  }
+
   public void checkRootElement(@NotNull CompositePackagingElement<?> rootElement, @NotNull Artifact artifact, @NotNull ArtifactValidationManager manager) {
   }
 
index fd08263259996030b57d6ae3aae2eaebe6797eef..da5a5ca5f0e5366a0edd6c35a51c0ab34e904ad8 100644 (file)
@@ -15,6 +15,7 @@
  */
 package com.intellij.packaging.artifacts;
 
+import com.intellij.packaging.elements.CompositePackagingElement;
 import org.jetbrains.annotations.NotNull;
 
 /**
@@ -25,6 +26,9 @@ public interface ModifiableArtifactModel extends ArtifactModel {
   @NotNull
   ModifiableArtifact addArtifact(final @NotNull String name, @NotNull ArtifactType artifactType);
 
+  @NotNull
+  ModifiableArtifact addArtifact(final @NotNull String name, @NotNull ArtifactType artifactType, CompositePackagingElement<?> rootElement);
+
   void removeArtifact(@NotNull Artifact artifact);
 
   @NotNull
index d8f17d68a4010bc29d158b6a314e3aba96da31bd..ae92071004e41d2d235fed7b9f90271af853cde5 100644 (file)
@@ -17,6 +17,7 @@ package com.intellij.openapi.roots.ui.configuration.artifacts;
 
 import com.intellij.openapi.actionSystem.AnAction;
 import com.intellij.openapi.actionSystem.AnActionEvent;
+import com.intellij.openapi.actionSystem.DefaultActionGroup;
 import com.intellij.openapi.application.Result;
 import com.intellij.openapi.application.WriteAction;
 import com.intellij.openapi.components.State;
@@ -29,6 +30,7 @@ import com.intellij.openapi.roots.ui.configuration.projectRoot.BaseStructureConf
 import com.intellij.openapi.roots.ui.configuration.projectRoot.StructureConfigurableContext;
 import com.intellij.openapi.roots.ui.configuration.projectRoot.daemon.ProjectStructureElement;
 import com.intellij.packaging.artifacts.*;
+import com.intellij.packaging.elements.CompositePackagingElement;
 import org.jetbrains.annotations.Nls;
 import org.jetbrains.annotations.NonNls;
 import org.jetbrains.annotations.NotNull;
@@ -127,21 +129,49 @@ public class ArtifactsStructureConfigurable extends BaseStructureConfigurable {
         final ArtifactType[] types = ArtifactType.getAllTypes();
         final AnAction[] actions = new AnAction[types.length];
         for (int i = 0; i < types.length; i++) {
-          actions[i] = new AddArtifactAction(types[i]);
+          actions[i] = createAddArtifactAction(types[i]);
         }
         return actions;
       }
     };
   }
 
-  private void addArtifact(@NotNull ArtifactType type) {
+  private AnAction createAddArtifactAction(@NotNull final ArtifactType type) {
+    final List<? extends ArtifactTemplate> templates = type.getNewArtifactTemplates(myPackagingEditorContext);
+    final ArtifactTemplate emptyTemplate = new ArtifactTemplate() {
+      @Override
+      public String getPresentableName() {
+        return "Empty";
+      }
+
+      @Override
+      public CompositePackagingElement<?> createRootElement(@NotNull String artifactName) {
+        return type.createRootElement(artifactName);
+      }
+
+    };
+
+    if (templates.isEmpty()) {
+      return new AddArtifactAction(type, emptyTemplate, type.getPresentableName(), type.getIcon());
+    }
+    final DefaultActionGroup group = new DefaultActionGroup(type.getPresentableName(), true);
+    group.getTemplatePresentation().setIcon(type.getIcon());
+    group.add(new AddArtifactAction(type, emptyTemplate, emptyTemplate.getPresentableName(), null));
+    group.addSeparator();
+    for (ArtifactTemplate template : templates) {
+      group.add(new AddArtifactAction(type, template, template.getPresentableName(), null));
+    }
+    return group;
+  }
+
+  private void addArtifact(@NotNull ArtifactType type, @NotNull ArtifactTemplate artifactTemplate) {
     String name = DEFAULT_ARTIFACT_NAME;
     int i = 2;
     while (myPackagingEditorContext.getArtifactModel().findArtifact(name) != null) {
       name = DEFAULT_ARTIFACT_NAME + i;
       i++;
     }
-    final ModifiableArtifact artifact = myPackagingEditorContext.getModifiableArtifactModel().addArtifact(name, type);
+    final ModifiableArtifact artifact = myPackagingEditorContext.getModifiableArtifactModel().addArtifact(name, type, artifactTemplate.createRootElement(name));
     selectNodeInTree(findNodeByObject(myRoot, artifact));
   }
 
@@ -203,15 +233,18 @@ public class ArtifactsStructureConfigurable extends BaseStructureConfigurable {
 
   private class AddArtifactAction extends DumbAwareAction {
     private final ArtifactType myType;
+    private final ArtifactTemplate myArtifactTemplate;
 
-    public AddArtifactAction(ArtifactType type) {
-      super(ProjectBundle.message("action.text.add.artifact", type.getPresentableName()), null, type.getIcon());
+    public AddArtifactAction(@NotNull ArtifactType type, @NotNull ArtifactTemplate artifactTemplate, final @NotNull String actionText,
+                             final Icon icon) {
+      super(actionText, null, icon);
       myType = type;
+      myArtifactTemplate = artifactTemplate;
     }
 
     @Override
     public void actionPerformed(AnActionEvent e) {
-      addArtifact(myType);
+      addArtifact(myType, myArtifactTemplate);
     }
   }
 }
index 7991c0c2b24bb593cd750fb155f6ecbaf15b7316..1ed5685a755fa55c404b885964bb2e7a8ca42d0e 100644 (file)
@@ -433,6 +433,24 @@ public class LayoutTreeComponent implements DnDTarget, Disposable {
     updateAndSelect(myTree.getRootPackagingNode(), toSelect);
   }
 
+  public void packInto(@NotNull final List<? extends PackagingSourceItem> items, final String pathToJar) {
+    final List<PackagingElement<?>> toSelect = new ArrayList<PackagingElement<?>>();
+    final CompositePackagingElement<?> rootElement = getArtifact().getRootElement();
+    editLayout(new Runnable() {
+      public void run() {
+        final CompositePackagingElement<?> archive = PackagingElementFactory.getInstance().getOrCreateArchive(rootElement, pathToJar);
+        for (PackagingSourceItem item : items) {
+          final List<? extends PackagingElement<?>> elements = item.createElements(myContext);
+          archive.addOrFindChildren(elements);
+        }
+        toSelect.add(archive);
+      }
+    });
+
+    myArtifactsEditor.getSourceItemsTree().rebuildTree();
+    updateAndSelect(myTree.getRootPackagingNode(), toSelect);
+  }
+
   public boolean isPropertiesModified() {
     final PackagingElementPropertiesPanel panel = mySelectedElementInfo.myCurrentPanel;
     return panel != null && panel.isModified();
index 3fde58fc71b01846363d1cf91d859803f28982aa..0d97437aa6a7ddbff3b0aeb0204bf4971d4ada59 100644 (file)
@@ -28,10 +28,7 @@ import com.intellij.openapi.project.ProjectBundle;
 import com.intellij.openapi.roots.ui.configuration.artifacts.ArtifactEditorImpl;
 import com.intellij.openapi.roots.ui.configuration.artifacts.SimpleDnDAwareTree;
 import com.intellij.openapi.roots.ui.configuration.artifacts.SourceItemsDraggingObject;
-import com.intellij.openapi.roots.ui.configuration.artifacts.sourceItems.actions.PutSourceItemIntoDefaultLocationAction;
-import com.intellij.openapi.roots.ui.configuration.artifacts.sourceItems.actions.PutSourceItemIntoParentAndLinkViaManifestAction;
-import com.intellij.openapi.roots.ui.configuration.artifacts.sourceItems.actions.SourceItemFindUsagesAction;
-import com.intellij.openapi.roots.ui.configuration.artifacts.sourceItems.actions.SourceItemNavigateAction;
+import com.intellij.openapi.roots.ui.configuration.artifacts.sourceItems.actions.*;
 import com.intellij.openapi.util.Disposer;
 import com.intellij.openapi.util.Pair;
 import com.intellij.packaging.ui.ArtifactEditorContext;
@@ -70,6 +67,7 @@ public class SourceItemsTree implements DnDSource, Disposable{
   private ActionGroup createPopupGroup() {
     final DefaultActionGroup group = new DefaultActionGroup();
     group.add(new PutSourceItemIntoDefaultLocationAction(this, myArtifactsEditor));
+    group.add(new PackAndPutIntoDefaultLocationAction(this, myArtifactsEditor));
     group.add(new PutSourceItemIntoParentAndLinkViaManifestAction(this, myArtifactsEditor));
 
     group.add(Separator.getInstance());
diff --git a/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/artifacts/sourceItems/actions/PackAndPutIntoDefaultLocationAction.java b/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/artifacts/sourceItems/actions/PackAndPutIntoDefaultLocationAction.java
new file mode 100644 (file)
index 0000000..b54cbe7
--- /dev/null
@@ -0,0 +1,71 @@
+/*
+ * Copyright 2000-2009 JetBrains s.r.o.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.intellij.openapi.roots.ui.configuration.artifacts.sourceItems.actions;
+
+import com.intellij.openapi.actionSystem.AnActionEvent;
+import com.intellij.openapi.actionSystem.Presentation;
+import com.intellij.openapi.deployment.DeploymentUtil;
+import com.intellij.openapi.roots.ui.configuration.artifacts.ArtifactEditorEx;
+import com.intellij.openapi.roots.ui.configuration.artifacts.sourceItems.SourceItemsTree;
+import com.intellij.packaging.elements.PackagingElementOutputKind;
+import com.intellij.packaging.ui.PackagingSourceItem;
+import org.jetbrains.annotations.Nullable;
+
+import java.util.List;
+
+/**
+ * @author nik
+ */
+public class PackAndPutIntoDefaultLocationAction extends PutIntoDefaultLocationActionBase {
+  public PackAndPutIntoDefaultLocationAction(SourceItemsTree sourceItemsTree, ArtifactEditorEx artifactEditor) {
+    super(sourceItemsTree, artifactEditor);
+  }
+
+  @Override
+  public void update(AnActionEvent e) {
+    final String jarName = suggestJarName();
+    final String pathForJars = myArtifactEditor.getArtifact().getArtifactType().getDefaultPathFor(PackagingElementOutputKind.JAR_FILES);
+    final Presentation presentation = e.getPresentation();
+    if (jarName != null && pathForJars != null) {
+      presentation.setText("Pack Into " + DeploymentUtil.appendToPath(pathForJars, jarName + ".jar"));
+      presentation.setVisible(true);
+    }
+    else {
+      presentation.setVisible(false);
+    }
+  }
+
+  @Nullable
+  private String suggestJarName() {
+    final List<PackagingSourceItem> items = mySourceItemsTree.getSelectedItems();
+    for (PackagingSourceItem item : items) {
+      if (item.isProvideElements() && item.getKindOfProducedElements().containsDirectoriesWithClasses()) {
+        return item.createPresentation(myArtifactEditor.getContext()).getPresentableName();
+      }
+    }
+    return null;
+  }
+
+  @Override
+  public void actionPerformed(AnActionEvent e) {
+    final String pathForJars = myArtifactEditor.getArtifact().getArtifactType().getDefaultPathFor(PackagingElementOutputKind.JAR_FILES);
+    final String jarName = suggestJarName();
+    if (pathForJars != null) {
+      myArtifactEditor.getLayoutTreeComponent().packInto(mySourceItemsTree.getSelectedItems(), 
+                                                         DeploymentUtil.appendToPath(pathForJars, jarName + ".jar"));
+    }
+  }
+}
diff --git a/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/artifacts/sourceItems/actions/PutIntoDefaultLocationActionBase.java b/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/artifacts/sourceItems/actions/PutIntoDefaultLocationActionBase.java
new file mode 100644 (file)
index 0000000..32e9faa
--- /dev/null
@@ -0,0 +1,40 @@
+/*
+ * Copyright 2000-2009 JetBrains s.r.o.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.intellij.openapi.roots.ui.configuration.artifacts.sourceItems.actions;
+
+import com.intellij.openapi.actionSystem.AnAction;
+import com.intellij.openapi.roots.ui.configuration.artifacts.ArtifactEditorEx;
+import com.intellij.openapi.roots.ui.configuration.artifacts.sourceItems.SourceItemsTree;
+import com.intellij.packaging.ui.PackagingSourceItem;
+import org.jetbrains.annotations.Nullable;
+
+/**
+ * @author nik
+ */
+public abstract class PutIntoDefaultLocationActionBase extends AnAction {
+  protected final SourceItemsTree mySourceItemsTree;
+  protected final ArtifactEditorEx myArtifactEditor;
+
+  public PutIntoDefaultLocationActionBase(SourceItemsTree sourceItemsTree, ArtifactEditorEx artifactEditor) {
+    mySourceItemsTree = sourceItemsTree;
+    myArtifactEditor = artifactEditor;
+  }
+
+  @Nullable
+  protected String getDefaultPath(PackagingSourceItem item) {
+    return myArtifactEditor.getArtifact().getArtifactType().getDefaultPathFor(item);
+  }
+}
index e3674ba17cb6dac0fc27d5418b981d30705babc2..5817413fd0ada4d10c4905bacedbade47eaf314d 100644 (file)
  */
 package com.intellij.openapi.roots.ui.configuration.artifacts.sourceItems.actions;
 
-import com.intellij.openapi.actionSystem.AnAction;
 import com.intellij.openapi.actionSystem.AnActionEvent;
 import com.intellij.openapi.actionSystem.Presentation;
 import com.intellij.openapi.roots.ui.configuration.artifacts.ArtifactEditorEx;
 import com.intellij.openapi.roots.ui.configuration.artifacts.sourceItems.SourceItemsTree;
 import com.intellij.openapi.util.text.StringUtil;
-import com.intellij.packaging.artifacts.ArtifactType;
 import com.intellij.packaging.ui.PackagingSourceItem;
 
+import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
-import java.util.HashSet;
 
 /**
  * @author nik
  */
-public class PutSourceItemIntoDefaultLocationAction extends AnAction {
-  private final SourceItemsTree mySourceItemsTree;
-  private final ArtifactEditorEx myArtifactEditor;
-
+public class PutSourceItemIntoDefaultLocationAction extends PutIntoDefaultLocationActionBase {
   public PutSourceItemIntoDefaultLocationAction(SourceItemsTree sourceItemsTree, ArtifactEditorEx artifactEditor) {
-    mySourceItemsTree = sourceItemsTree;
-    myArtifactEditor = artifactEditor;
+    super(sourceItemsTree, artifactEditor);
   }
 
   @Override
   public void update(AnActionEvent e) {
-    final ArtifactType type = myArtifactEditor.getArtifact().getArtifactType();
     final List<PackagingSourceItem> items = mySourceItemsTree.getSelectedItems();
     boolean enabled = false;
     final Presentation presentation = e.getPresentation();
@@ -50,7 +43,7 @@ public class PutSourceItemIntoDefaultLocationAction extends AnAction {
       enabled = true;
       Set<String> paths = new HashSet<String>();
       for (PackagingSourceItem item : items) {
-        final String path = type.getDefaultPathFor(item);
+        final String path = getDefaultPath(item);
         if (path == null) {
           enabled = false;
           break;
index 445ffe4d52c978158e5b2671ff70bcfa01b1b9b0..773a6b9bd6307a039427be07a51201af7fb68410 100644 (file)
@@ -15,7 +15,6 @@
  */
 package com.intellij.openapi.roots.ui.configuration.artifacts.sourceItems.actions;
 
-import com.intellij.openapi.actionSystem.AnAction;
 import com.intellij.openapi.actionSystem.AnActionEvent;
 import com.intellij.openapi.actionSystem.Presentation;
 import com.intellij.openapi.roots.ui.configuration.artifacts.ArtifactEditorEx;
@@ -41,13 +40,9 @@ import java.util.List;
 /**
  * @author nik
  */
-public class PutSourceItemIntoParentAndLinkViaManifestAction extends AnAction {
-  private final SourceItemsTree mySourceItemsTree;
-  private final ArtifactEditorEx myArtifactEditor;
-
+public class PutSourceItemIntoParentAndLinkViaManifestAction extends PutIntoDefaultLocationActionBase {
   public PutSourceItemIntoParentAndLinkViaManifestAction(SourceItemsTree sourceItemsTree, ArtifactEditorEx artifactEditor) {
-    mySourceItemsTree = sourceItemsTree;
-    myArtifactEditor = artifactEditor;
+    super(sourceItemsTree, artifactEditor);
   }
 
   @Override
index ff1219ab92c6467cd482f77c165d46cdc8a054de..c93050aa25a31563b2d4d0048592b92b04d2b319 100644 (file)
@@ -26,6 +26,7 @@ package com.intellij.codeInspection.dataFlow;
 
 import com.intellij.codeInspection.dataFlow.value.*;
 import com.intellij.openapi.diagnostic.Logger;
+import com.intellij.openapi.progress.ProgressManager;
 import com.intellij.psi.PsiType;
 import com.intellij.psi.PsiVariable;
 import com.intellij.psi.util.TypeConversionUtil;
@@ -191,10 +192,10 @@ public class DfaMemoryStateImpl implements DfaMemoryState {
     SortedIntSet aClass = myEqClasses.get(aClassIndex);
     if (aClass != null) {
       buf.append("(");
-      int[] values = aClass.toNativeArray();
-      for (int i = 0; i < values.length; i++) {
+
+      for (int i = 0; i < aClass.size(); i++) {
         if (i > 0) buf.append(", ");
-        int value = values[i];
+        int value = aClass.get(i);
         DfaValue dfaValue = myFactory.getValue(value);
         buf.append(dfaValue);
       }
@@ -413,15 +414,18 @@ public class DfaMemoryStateImpl implements DfaMemoryState {
       }
     }
 
-    c1.add(c2.toNativeArray());
-    long[] c2Array = c2Pairs.toNativeArray();
-    myDistinctClasses.removeAll(c2Array);
-    myEqClasses.set(c2Index, null);
-    myStateSize--;
+    for (int i = 0; i < c2.size(); i++) {
+      int c = c2.get(i);
+      c1.add(c);
+    }
 
-    for (long l : c2Array) {
-      myDistinctClasses.add(createPair(c1Index, low(l) == c2Index ? high(l) : low(l)));
+    for (int i = 0; i < c2Pairs.size(); i++) {
+      long c = c2Pairs.get(i);
+      myDistinctClasses.remove(c);
+      myDistinctClasses.add(createPair(c1Index, low(c) == c2Index ? high(c) : low(c)));
     }
+    myEqClasses.set(c2Index, null);
+    myStateSize--;
 
     return true;
   }
@@ -577,9 +581,7 @@ public class DfaMemoryStateImpl implements DfaMemoryState {
       ){
         dfaLeft = myFactory.getBoxedFactory().createUnboxed(dfaLeft);
         dfaRight = myFactory.getBoxedFactory().createUnboxed(dfaRight);
-        if (dfaLeft != null && dfaRight != null) {
-          result &= applyRelation(dfaLeft, dfaRight, isNegated);
-        }
+        result &= applyRelation(dfaLeft, dfaRight, isNegated);
       }
       else if (TypeConversionUtil.isPrimitiveAndNotNull(psiVariable.getType())){
         dfaLeft = myFactory.getBoxedFactory().createBoxed(dfaLeft);
@@ -675,21 +677,27 @@ public class DfaMemoryStateImpl implements DfaMemoryState {
   }
 
   public void flushVariable(@NotNull DfaVariableValue variable) {
-    int id = variable.getID();
-    for (int varClassIndex = 0; varClassIndex < myEqClasses.size(); varClassIndex++) {
-      SortedIntSet varClass = myEqClasses.get(varClassIndex);
+    final int id = variable.getID();
+    int size = myEqClasses.size();
+    int interruptCount = 0;
+    for (int varClassIndex = 0; varClassIndex < size; varClassIndex++) {
+      final SortedIntSet varClass = myEqClasses.get(varClassIndex);
       if (varClass == null) continue;
-      int[] cls = varClass.toNativeArray();
-      for (int i = 0; i < cls.length; i++) {
-        int cl = cls[i];
+
+      for (int i = 0; i < varClass.size(); i++) {
+        if ((++interruptCount & 0xf) == 0) {
+          ProgressManager.getInstance().checkCanceled();
+        }
+        int cl = varClass.get(i);
         DfaValue value = myFactory.getValue(cl);
-        if (value != null && id == value.getID()
-            || value instanceof DfaBoxedValue && ((DfaBoxedValue)value).getWrappedValue().getID() == id
-            || value instanceof DfaUnboxedValue && ((DfaUnboxedValue)value).getVariable().getID() == id) {
+        if (value != null && id == value.getID() ||
+            value instanceof DfaBoxedValue && ((DfaBoxedValue)value).getWrappedValue().getID() == id ||
+            value instanceof DfaUnboxedValue && ((DfaUnboxedValue)value).getVariable().getID() == id) {
           varClass.remove(i);
           break;
         }
       }
+
       if (varClass.isEmpty()) {
         myEqClasses.set(varClassIndex, null);
         myStateSize--;
index 59bb9d765d2071a3e7204a261610000a2e687891..d894108cfcf302c34897ff76aae76de5efefd0c4 100644 (file)
@@ -60,7 +60,7 @@ public class MethodBodyChecker {
       final String fileTemplateName = template.getName();
       String methodName = superSignatures.isEmpty() ? "" : superSignatures.get(0).getName();
       String key = returnType.getCanonicalText() + "+" + methodName + "+"+fileTemplateName;
-      final Map<String, PsiMethod> cache = getTemplatesCache(project);
+      final Map<String, PsiMethod> cache = getTemplatesCache(aClass);
       PsiMethod method = cache.get(key);
       if (method == null) {
         method = JavaPsiFacade.getInstance(project).getElementFactory().createMethod("x", returnType);
@@ -74,12 +74,12 @@ public class MethodBodyChecker {
     }
   }
 
-  private static final Key<Map<String, PsiMethod>> CACHE_IN_PROJECT_KEY = new Key<Map<String, PsiMethod>>("MethodBodyChecker templates cache");
+  private static final Key<Map<String, PsiMethod>> CACHE_KEY = new Key<Map<String, PsiMethod>>("MethodBodyChecker templates cache");
 
-  private static Map<String, PsiMethod> getTemplatesCache(Project project) {
-    Map<String, PsiMethod> cache = project.getUserData(CACHE_IN_PROJECT_KEY);
+  private static Map<String, PsiMethod> getTemplatesCache(PsiClass aClass) {
+    Map<String, PsiMethod> cache = aClass.getUserData(CACHE_KEY);
     if (cache == null) {
-      cache = ((UserDataHolderEx)project).putUserDataIfAbsent(CACHE_IN_PROJECT_KEY, new ConcurrentHashMap<String, PsiMethod>());
+      cache = ((UserDataHolderEx)aClass).putUserDataIfAbsent(CACHE_KEY, new ConcurrentHashMap<String, PsiMethod>());
     }
     return cache;
   }
index e8cbba94516e9645f67e224daa4cb4d8417b14ea..95c5d86aa7b1d0b3a4aa1091d41e0474ed1bf02a 100644 (file)
@@ -73,7 +73,7 @@ public class MyTestInjector {
 
   private static ConcatenationAwareInjector registerForStringVarInitializer(@NotNull Project project,
                                                                             @NotNull final Language language,
-                                                                            @NonNls final String varName,
+                                                                            @NotNull @NonNls final String varName,
                                                                             @NonNls final String prefix,
                                                                             @NonNls final String suffix) {
     ConcatenationAwareInjector injector = new ConcatenationAwareInjector() {
index 339d595dfa6cab2cea5bfe3104c48316874d383e..1b143d6644ab8d813a1e455da0efb000d7952b01 100644 (file)
@@ -60,6 +60,11 @@ public class PsiConditionalExpressionImpl extends ExpressionPsiElement implement
     if (type1.equals(type2)) return type1;
     final int typeRank1 = TypeConversionUtil.getTypeRank(type1);
     final int typeRank2 = TypeConversionUtil.getTypeRank(type2);
+
+    // bug in JLS3, see http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6888770
+    if (type1 instanceof PsiClassType && type2.equals(PsiPrimitiveType.getUnboxedType(type1))) return type2;
+    if (type2 instanceof PsiClassType && type1.equals(PsiPrimitiveType.getUnboxedType(type2))) return type1;
+
     if (TypeConversionUtil.isNumericType(typeRank1) && TypeConversionUtil.isNumericType(typeRank2)){
       if (typeRank1 == TypeConversionUtil.BYTE_RANK && typeRank2 == TypeConversionUtil.SHORT_RANK) return type2;
       if (typeRank1 == TypeConversionUtil.SHORT_RANK && typeRank2 == TypeConversionUtil.BYTE_RANK) return type1;
@@ -79,10 +84,14 @@ public class PsiConditionalExpressionImpl extends ExpressionPsiElement implement
     if (!PsiUtil.isLanguageLevel5OrHigher(this)) {
       return null;
     }
-    if (TypeConversionUtil.isPrimitiveAndNotNull(type1)) type1 = ((PsiPrimitiveType)type1).getBoxedType(this);
-    if (type1 == null) return null;
-    if (TypeConversionUtil.isPrimitiveAndNotNull(type2)) type2 = ((PsiPrimitiveType)type2).getBoxedType(this);
-    if (type2 == null) return null;
+    if (TypeConversionUtil.isPrimitiveAndNotNull(type1)) {
+      type1 = ((PsiPrimitiveType)type1).getBoxedType(this);
+      if (type1 == null) return null;
+    }
+    if (TypeConversionUtil.isPrimitiveAndNotNull(type2)) {
+      type2 = ((PsiPrimitiveType)type2).getBoxedType(this);
+      if (type2 == null) return null;
+    }
 
     return GenericsUtil.getLeastUpperBound(type1, type2, getManager());
   }
index 12fd2355b1d381cb9b54fb5697380b0dee9862d2..f500d0a9c0f67b938cdab70d6695aa90ac4a4e7e 100644 (file)
@@ -217,9 +217,6 @@ public class SliceUtil {
     Collection<PsiMethod> superMethods = new THashSet<PsiMethod>(Arrays.asList(method.findDeepestSuperMethods()));
     superMethods.add(method);
     Collection<PsiMethod> overrides = new THashSet<PsiMethod>(superMethods);
-    //for (PsiMethod superMethod : superMethods) {
-    //  overrides.addAll(OverridingMethodsSearch.search(superMethod, parent.getScope().toSearchScope(), true).findAll());
-    //}
     final Set<PsiReference> processed = new THashSet<PsiReference>(); //usages of super method and overridden method can overlap
     for (final PsiMethod containingMethod : overrides) {
       if (!MethodReferencesSearch.search(containingMethod, parent.getScope().toSearchScope(), false).forEach(new Processor<PsiReference>() {
index 342b4ad8e85fd437f75d2dde7919f9905c230e4e..052413a9c4fbd3b95cd4922a6fa58aac2f163ab0 100644 (file)
  */
 package com.intellij.slicer.forward;
 
+import com.intellij.openapi.util.Pair;
 import com.intellij.psi.*;
 import com.intellij.psi.search.searches.MethodReferencesSearch;
 import com.intellij.psi.search.searches.OverridingMethodsSearch;
 import com.intellij.psi.search.searches.ReferencesSearch;
+import com.intellij.psi.util.MethodSignatureUtil;
 import com.intellij.psi.util.PsiTreeUtil;
 import com.intellij.slicer.SliceManager;
 import com.intellij.slicer.SliceUsage;
@@ -27,6 +29,7 @@ import com.intellij.util.ArrayUtil;
 import com.intellij.util.Processor;
 import gnu.trove.THashSet;
 import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
 
 import java.util.Arrays;
 import java.util.Collection;
@@ -37,9 +40,39 @@ import java.util.Set;
  * @author cdr
  */
 public class SliceFUtil {
-  public static boolean processUsagesFlownFromThe(@NotNull PsiElement element, @NotNull Processor<SliceUsage> processor, @NotNull SliceUsage parent) {
-    PsiElement target = getAssignmentTarget(element);
-    if (target != null) {
+  public static boolean processUsagesFlownFromThe(@NotNull PsiElement element, @NotNull final Processor<SliceUsage> processor, @NotNull final SliceUsage parent) {
+    Pair<PsiElement, PsiSubstitutor> pair = getAssignmentTarget(element, parent);
+    if (pair != null) {
+      PsiElement target = pair.getFirst();
+      final PsiSubstitutor substitutor = pair.getSecond();
+      if (target instanceof PsiParameter) {
+        PsiParameter parameter = (PsiParameter)target;
+        PsiElement declarationScope = parameter.getDeclarationScope();
+        if (declarationScope instanceof PsiMethod) {
+          final PsiMethod method = (PsiMethod)declarationScope;
+          final int parameterIndex = method.getParameterList().getParameterIndex(parameter);
+
+          Processor<PsiMethod> myProcessor = new Processor<PsiMethod>() {
+            public boolean process(PsiMethod override) {
+              if (!parent.getScope().contains(override)) return true;
+              final PsiSubstitutor superSubstitutor = method == override
+                                                      ? substitutor
+                                                      : MethodSignatureUtil.getSuperMethodSignatureSubstitutor(method.getSignature(substitutor),
+                                                                                            override.getSignature(substitutor));
+
+              PsiParameter[] parameters = override.getParameterList().getParameters();
+              if (parameters.length <= parameterIndex) return true;
+              PsiParameter actualParam = parameters[parameterIndex];
+
+              SliceUsage usage = SliceUtil.createSliceUsage(actualParam, parent, superSubstitutor);
+              return processor.process(usage);
+            }
+          };
+          if (!myProcessor.process(method)) return false;
+          return OverridingMethodsSearch.search(method, parent.getScope().toSearchScope(), true).forEach(myProcessor);
+        }
+      }
+
       SliceUsage usage = SliceUtil.createSliceUsage(target, parent, parent.getSubstitutor());
       return processor.process(usage);
     }
@@ -63,14 +96,7 @@ public class SliceFUtil {
   private static boolean processAssignedFrom(final PsiElement from, final PsiElement context, final SliceUsage parent,
                                                  final Processor<SliceUsage> processor) {
     if (from instanceof PsiLocalVariable) {
-      return ReferencesSearch.search(from).forEach(new Processor<PsiReference>() {
-        public boolean process(PsiReference reference) {
-          PsiElement element = reference.getElement();
-          if (element.getTextOffset() < context.getTextOffset()) return true;
-
-          return processAssignmentTarget(element, parent, processor);
-        }
-      });
+      return searchReferencesAndProcessAssignmentTarget(from, context, parent, processor);
     }
     if (from instanceof PsiParameter) {
       PsiParameter parameter = (PsiParameter)from;
@@ -115,25 +141,12 @@ public class SliceFUtil {
       for (final PsiParameter psiParameter : parametersToAnalyze) {
         SliceManager.getInstance(from.getProject()).checkCanceled();
 
-        if (!ReferencesSearch.search(psiParameter).forEach(new Processor<PsiReference>() {
-          public boolean process(PsiReference reference) {
-            SliceManager.getInstance(from.getProject()).checkCanceled();
-            PsiElement element = reference.getElement();
-
-            return processAssignmentTarget(element, parent, processor);
-          }
-        })) return false;
+        if (!searchReferencesAndProcessAssignmentTarget(psiParameter, null, parent, processor)) return false;
       }
       return true;
     }
     if (from instanceof PsiField) {
-      return ReferencesSearch.search(from).forEach(new Processor<PsiReference>() {
-        public boolean process(PsiReference reference) {
-          SliceManager.getInstance(from.getProject()).checkCanceled();
-          PsiElement element = reference.getElement();
-          return processAssignmentTarget(element, parent, processor);
-        }
-      });
+      return searchReferencesAndProcessAssignmentTarget(from, null, parent, processor);
     }
 
     if (from instanceof PsiMethod) {
@@ -150,7 +163,6 @@ public class SliceFUtil {
                 if (!processed.add(reference)) return true;
               }
               PsiElement element = reference.getElement().getParent();
-              if (element instanceof PsiCompiledElement) return true;
 
               return processAssignmentTarget(element, parent, processor);
             }
@@ -162,18 +174,30 @@ public class SliceFUtil {
     return true;
   }
 
-  private static boolean processAssignmentTarget(PsiElement element, SliceUsage parent, Processor<SliceUsage> processor) {
-    PsiElement target = getAssignmentTarget(element);
-    if (target != null) {
-      SliceUsage usage = SliceUtil.createSliceUsage(element, parent, parent.getSubstitutor());
+  private static boolean searchReferencesAndProcessAssignmentTarget(@NotNull PsiElement element, @Nullable final PsiElement context, final SliceUsage parent,
+                                                                    final Processor<SliceUsage> processor) {
+    return ReferencesSearch.search(element).forEach(new Processor<PsiReference>() {
+      public boolean process(PsiReference reference) {
+        PsiElement element = reference.getElement();
+        if (context != null && element.getTextOffset() < context.getTextOffset()) return true;
+        return processAssignmentTarget(element, parent, processor);
+      }
+    });
+  }
+
+  private static boolean processAssignmentTarget(PsiElement element, final SliceUsage parent, final Processor<SliceUsage> processor) {
+    Pair<PsiElement, PsiSubstitutor> pair = getAssignmentTarget(element, parent);
+    if (pair != null) {
+      SliceUsage usage = SliceUtil.createSliceUsage(element, parent, pair.getSecond());
       return processor.process(usage);
     }
     return true;
   }
 
-  private static PsiElement getAssignmentTarget(PsiElement element) {
+  private static Pair<PsiElement,PsiSubstitutor> getAssignmentTarget(PsiElement element, SliceUsage parentUsage) {
     element = complexify(element);
     PsiElement target = null;
+    PsiSubstitutor substitutor = parentUsage.getSubstitutor();
     //assignment
     PsiElement parent = element.getParent();
     if (parent instanceof PsiAssignmentExpression) {
@@ -181,7 +205,9 @@ public class SliceFUtil {
       if (element.equals(assignment.getRExpression())) {
         PsiElement left = assignment.getLExpression();
         if (left instanceof PsiReferenceExpression) {
-          target = ((PsiReferenceExpression)left).resolve();
+          JavaResolveResult result = ((PsiReferenceExpression)left).advancedResolve(false);
+          target = result.getElement();
+          substitutor = result.getSubstitutor();
         }
       }
     }
@@ -198,11 +224,13 @@ public class SliceFUtil {
       PsiExpression[] expressions = ((PsiExpressionList)parent).getExpressions();
       int index = ArrayUtil.find(expressions, element);
       PsiCallExpression methodCall = (PsiCallExpression)parent.getParent();
-      PsiMethod method = methodCall.resolveMethod();
+      JavaResolveResult result = methodCall.resolveMethodGenerics();
+      PsiMethod method = (PsiMethod)result.getElement();
       if (index != -1 && method != null) {
         PsiParameter[] parameters = method.getParameterList().getParameters();
         if (index < parameters.length) {
           target = parameters[index];
+          substitutor = result.getSubstitutor();
         }
       }
     }
@@ -212,10 +240,8 @@ public class SliceFUtil {
         target = PsiTreeUtil.getParentOfType(statement, PsiMethod.class);
       }
     }
-    if (target instanceof PsiCompiledElement) {
-      target = null;
-    }
-    return target;
+
+    return target == null ? null : Pair.create(target, substitutor);
   }
 
   public static PsiElement complexify(@NotNull PsiElement element) {
diff --git a/java/java-tests/testData/codeInsight/completion/className/InPlainTextFile.txt b/java/java-tests/testData/codeInsight/completion/className/InPlainTextFile.txt
new file mode 100644 (file)
index 0000000..d64e015
--- /dev/null
@@ -0,0 +1 @@
+abc = StrinBui<caret>
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/className/InPlainTextFile_after.txt b/java/java-tests/testData/codeInsight/completion/className/InPlainTextFile_after.txt
new file mode 100644 (file)
index 0000000..9a2f681
--- /dev/null
@@ -0,0 +1 @@
+abc = java.lang.StringBuilder<caret>
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/className/afterNewThrowable/after1.java b/java/java-tests/testData/codeInsight/completion/className/afterNewThrowable/after1.java
new file mode 100644 (file)
index 0000000..0bdece1
--- /dev/null
@@ -0,0 +1,5 @@
+class A{
+ void foo() {
+  throw new OurException()<caret>
+ }
+}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/className/afterNewThrowable/after2.java b/java/java-tests/testData/codeInsight/completion/className/afterNewThrowable/after2.java
new file mode 100644 (file)
index 0000000..42685a9
--- /dev/null
@@ -0,0 +1,5 @@
+class A{
+ void foo() {
+  throw new OurNotException.InnerException()<caret>
+ }
+}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/className/afterNewThrowable/before1.java b/java/java-tests/testData/codeInsight/completion/className/afterNewThrowable/before1.java
new file mode 100644 (file)
index 0000000..a1a5879
--- /dev/null
@@ -0,0 +1,5 @@
+class A{
+ void foo() {
+  throw new Our<caret>
+ }
+}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/className/afterNewThrowable/before2.java b/java/java-tests/testData/codeInsight/completion/className/afterNewThrowable/before2.java
new file mode 100644 (file)
index 0000000..b2d362b
--- /dev/null
@@ -0,0 +1,5 @@
+class A{
+ void foo() {
+  throw new Inner<caret>
+ }
+}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/className/afterNewThrowable/source/OurException.java b/java/java-tests/testData/codeInsight/completion/className/afterNewThrowable/source/OurException.java
new file mode 100644 (file)
index 0000000..902a65a
--- /dev/null
@@ -0,0 +1,3 @@
+public class OurException extends Throwable{
+
+}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/className/afterNewThrowable/source/OurNotException.java b/java/java-tests/testData/codeInsight/completion/className/afterNewThrowable/source/OurNotException.java
new file mode 100644 (file)
index 0000000..cd77e07
--- /dev/null
@@ -0,0 +1,6 @@
+public class OurNotException {
+  public static class InnerException extends Throwable{
+  }
+  public static class InnerNonException{
+  }
+}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/className/importAfterNew/after1.java b/java/java-tests/testData/codeInsight/completion/className/importAfterNew/after1.java
new file mode 100644 (file)
index 0000000..e97c0f1
--- /dev/null
@@ -0,0 +1,7 @@
+import pack.AClass;
+
+public class Test1 {
+    public void foo() {
+        new AClass()<caret>
+    }
+}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/className/importAfterNew/after2.java b/java/java-tests/testData/codeInsight/completion/className/importAfterNew/after2.java
new file mode 100644 (file)
index 0000000..1c7cb6f
--- /dev/null
@@ -0,0 +1,7 @@
+import pack.WithInnerAClass;
+
+public class Test1 {
+    public void foo() {
+        new WithInnerAClass()<caret>
+    }
+}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/className/importAfterNew/before1.java b/java/java-tests/testData/codeInsight/completion/className/importAfterNew/before1.java
new file mode 100644 (file)
index 0000000..7c418f8
--- /dev/null
@@ -0,0 +1,5 @@
+public class Test1 {
+    public void foo() {
+        new ACl<caret>
+    }
+}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/className/importAfterNew/before2.java b/java/java-tests/testData/codeInsight/completion/className/importAfterNew/before2.java
new file mode 100644 (file)
index 0000000..0bb94fb
--- /dev/null
@@ -0,0 +1,5 @@
+public class Test1 {
+    public void foo() {
+        new WithInnerACl<caret>
+    }
+}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/className/importAfterNew/source/pack/AClass.java b/java/java-tests/testData/codeInsight/completion/className/importAfterNew/source/pack/AClass.java
new file mode 100644 (file)
index 0000000..0e67a31
--- /dev/null
@@ -0,0 +1,4 @@
+package pack;
+
+public class AClass{
+}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/className/importAfterNew/source/pack/WithInnerAClass.java b/java/java-tests/testData/codeInsight/completion/className/importAfterNew/source/pack/WithInnerAClass.java
new file mode 100644 (file)
index 0000000..1fc72b9
--- /dev/null
@@ -0,0 +1,5 @@
+package pack;
+
+public class WithInnerAClass{
+  public static class Inner{}
+}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/className/java/BracesAfterNew.java b/java/java-tests/testData/codeInsight/completion/className/java/BracesAfterNew.java
new file mode 100644 (file)
index 0000000..74cdd5a
--- /dev/null
@@ -0,0 +1,5 @@
+class FooFooFooFooFoo {
+  {
+    Object[] a = new FFFFF<caret>[];
+  }
+}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/className/java/BracesAfterNew_after.java b/java/java-tests/testData/codeInsight/completion/className/java/BracesAfterNew_after.java
new file mode 100644 (file)
index 0000000..c91f2ba
--- /dev/null
@@ -0,0 +1,5 @@
+class FooFooFooFooFoo {
+  {
+    Object[] a = new FooFooFooFooFoo<caret>[];
+  }
+}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/className/java/CamelHumpPrefix.java b/java/java-tests/testData/codeInsight/completion/className/java/CamelHumpPrefix.java
new file mode 100644 (file)
index 0000000..77dd4cb
--- /dev/null
@@ -0,0 +1,8 @@
+class LifeUniverseEverythingEntity {}
+class LifeUniverseEverythingManager {}
+
+class FooFooFooFooFoo {
+  {
+    LUEv<caret>
+  }
+}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/className/java/CamelHumpPrefix_after.java b/java/java-tests/testData/codeInsight/completion/className/java/CamelHumpPrefix_after.java
new file mode 100644 (file)
index 0000000..3c6da70
--- /dev/null
@@ -0,0 +1,8 @@
+class LifeUniverseEverythingEntity {}
+class LifeUniverseEverythingManager {}
+
+class FooFooFooFooFoo {
+  {
+    LifeUniverseEverything<caret>
+  }
+}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/className/java/DoubleStringBuffer.java b/java/java-tests/testData/codeInsight/completion/className/java/DoubleStringBuffer.java
new file mode 100644 (file)
index 0000000..d252ff4
--- /dev/null
@@ -0,0 +1,5 @@
+class FooFooFooFooFoo {
+  {
+    StringBuf<caret>
+  }
+}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/className/java/DoubleStringBuffer_after.java b/java/java-tests/testData/codeInsight/completion/className/java/DoubleStringBuffer_after.java
new file mode 100644 (file)
index 0000000..701740b
--- /dev/null
@@ -0,0 +1,5 @@
+class FooFooFooFooFoo {
+  {
+    StringBuffer<caret>
+  }
+}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/className/java/ExcessParensAfterNew.java b/java/java-tests/testData/codeInsight/completion/className/java/ExcessParensAfterNew.java
new file mode 100644 (file)
index 0000000..175f033
--- /dev/null
@@ -0,0 +1,5 @@
+class FooFooFooFooFoo {
+  {
+    new FFFFF<caret>();
+  }
+}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/className/java/ExcessParensAfterNew_after.java b/java/java-tests/testData/codeInsight/completion/className/java/ExcessParensAfterNew_after.java
new file mode 100644 (file)
index 0000000..795f161
--- /dev/null
@@ -0,0 +1,5 @@
+class FooFooFooFooFoo {
+  {
+    new FooFooFooFooFoo()<caret>;
+  }
+}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/className/java/ReplaceReferenceExpressionWithTypeElement.java b/java/java-tests/testData/codeInsight/completion/className/java/ReplaceReferenceExpressionWithTypeElement.java
new file mode 100644 (file)
index 0000000..e2de8f6
--- /dev/null
@@ -0,0 +1,7 @@
+class FooFooFooFooFoo {
+  {
+    int a = 0;
+    ABCD<caret>
+    foo(new String[]{"a"}, 1);
+  }
+}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/className/java/ReplaceReferenceExpressionWithTypeElement_after.java b/java/java-tests/testData/codeInsight/completion/className/java/ReplaceReferenceExpressionWithTypeElement_after.java
new file mode 100644 (file)
index 0000000..fb7fee5
--- /dev/null
@@ -0,0 +1,9 @@
+import foo.bar.ABCDEF;
+
+class FooFooFooFooFoo {
+  {
+    int a = 0;
+    ABCDEF<caret>
+    foo(new String[]{"a"}, 1);
+  }
+}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/className/java/ReuseParensAfterNew.java b/java/java-tests/testData/codeInsight/completion/className/java/ReuseParensAfterNew.java
new file mode 100644 (file)
index 0000000..4518863
--- /dev/null
@@ -0,0 +1,7 @@
+class FooFooFooFooFoo {
+  {
+    new FFFFF<caret>(x);
+  }
+
+  FooFooFooFooFoo(int x) {}
+}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/className/java/ReuseParensAfterNew_after.java b/java/java-tests/testData/codeInsight/completion/className/java/ReuseParensAfterNew_after.java
new file mode 100644 (file)
index 0000000..ae09c0a
--- /dev/null
@@ -0,0 +1,7 @@
+class FooFooFooFooFoo {
+  {
+    new FooFooFooFooFoo(<caret>x);
+  }
+
+  FooFooFooFooFoo(int x) {}
+}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/Annotation-result.java b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/Annotation-result.java
new file mode 100644 (file)
index 0000000..ded584e
--- /dev/null
@@ -0,0 +1,8 @@
+@interface Column {
+  String name();
+}
+
+@Column(<caret>)
+@interface Annotation {
+
+}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/Annotation-source.java b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/Annotation-source.java
new file mode 100644 (file)
index 0000000..f53e0a2
--- /dev/null
@@ -0,0 +1,8 @@
+@interface Column {
+  String name();
+}
+
+Colu<caret>
+@interface Annotation {
+
+}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/ExtraSpace-result.java b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/ExtraSpace-result.java
new file mode 100644 (file)
index 0000000..9f8533a
--- /dev/null
@@ -0,0 +1,8 @@
+import java.io.FileInputStream;
+
+class Main {
+
+    public static void main(String[] args) {
+        equals(FileInputStream<caret>aaa);
+    }
+}
diff --git a/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/ExtraSpace-source.java b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/ExtraSpace-source.java
new file mode 100644 (file)
index 0000000..460b318
--- /dev/null
@@ -0,0 +1,6 @@
+class Main {
+
+    public static void main(String[] args) {
+        equals(FileInputStrea<caret>aaa);
+    }
+}
diff --git a/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/InCommentWithPackagePrefix-result.java b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/InCommentWithPackagePrefix-result.java
new file mode 100644 (file)
index 0000000..d638244
--- /dev/null
@@ -0,0 +1,6 @@
+class Main {
+
+    public static void main(String[] args) {
+        // java.io.FileInputStream<caret>
+    }
+}
diff --git a/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/InCommentWithPackagePrefix-source.java b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/InCommentWithPackagePrefix-source.java
new file mode 100644 (file)
index 0000000..2ec9f64
--- /dev/null
@@ -0,0 +1,6 @@
+class Main {
+
+    public static void main(String[] args) {
+        // java.FileInputStrea<caret>
+    }
+}
diff --git a/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/InStaticImport-result.java b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/InStaticImport-result.java
new file mode 100644 (file)
index 0000000..7f346c9
--- /dev/null
@@ -0,0 +1,8 @@
+import static java.io.FileInputStream<caret>
+
+class Main {
+
+    public static void main(String[] args) {
+        equals(FileInputStrea<caret>aaa);
+    }
+}
diff --git a/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/InStaticImport-source.java b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/InStaticImport-source.java
new file mode 100644 (file)
index 0000000..495354a
--- /dev/null
@@ -0,0 +1,8 @@
+import static FileInpStre<caret>
+
+class Main {
+
+    public static void main(String[] args) {
+        equals(FileInputStrea<caret>aaa);
+    }
+}
diff --git a/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/QualifyNameOnSecondCompletion-result.java b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/QualifyNameOnSecondCompletion-result.java
new file mode 100644 (file)
index 0000000..e8eb3c9
--- /dev/null
@@ -0,0 +1,4 @@
+class Main {
+
+    foo.bar.AxBxCxDxEx<caret>
+}
diff --git a/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/QualifyNameOnSecondCompletion-source.java b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/QualifyNameOnSecondCompletion-source.java
new file mode 100644 (file)
index 0000000..090fcff
--- /dev/null
@@ -0,0 +1,4 @@
+class Main {
+
+    ABCDE<caret>
+}
diff --git a/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/implements2-result.java b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/implements2-result.java
new file mode 100644 (file)
index 0000000..1a628e4
--- /dev/null
@@ -0,0 +1,3 @@
+class ZZZZZZ{}
+
+class A implements Foo, ZZZZZZ<caret>{}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/implements2-source.java b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/implements2-source.java
new file mode 100644 (file)
index 0000000..ce26da3
--- /dev/null
@@ -0,0 +1,3 @@
+class ZZZZZZ{}
+
+class A implements Foo, ZZZ<caret>{}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/implements3-result.java b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/implements3-result.java
new file mode 100644 (file)
index 0000000..b142aea
--- /dev/null
@@ -0,0 +1,3 @@
+class ZZZZZZ{}
+
+class A implements Foo<ZZZZZZ<caret>
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/implements3-source.java b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/implements3-source.java
new file mode 100644 (file)
index 0000000..eabbf20
--- /dev/null
@@ -0,0 +1,3 @@
+class ZZZZZZ{}
+
+class A implements Foo<ZZZ<caret>
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/methodCall-result.java b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/methodCall-result.java
new file mode 100644 (file)
index 0000000..28bc298
--- /dev/null
@@ -0,0 +1,5 @@
+class MyClass1 {
+  {
+    MyClass1<caret>foo()
+  }  
+}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/methodCall-source.java b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/methodCall-source.java
new file mode 100644 (file)
index 0000000..6bafef8
--- /dev/null
@@ -0,0 +1,5 @@
+class MyClass1 {
+  {
+    MCla<caret>foo()
+  }  
+}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/methodCall1-result.java b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/methodCall1-result.java
new file mode 100644 (file)
index 0000000..6c17d34
--- /dev/null
@@ -0,0 +1,5 @@
+class MyClass1 {
+  {
+    MyClass1<caret>f.oo()
+  }  
+}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/methodCall1-source.java b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/methodCall1-source.java
new file mode 100644 (file)
index 0000000..4e12ce2
--- /dev/null
@@ -0,0 +1,5 @@
+class MyClass1 {
+  {
+    MCla<caret>f.oo()
+  }  
+}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/source/empty.txt b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/source/empty.txt
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test1-result.java b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test1-result.java
new file mode 100644 (file)
index 0000000..3900746
--- /dev/null
@@ -0,0 +1,3 @@
+class MyClass1 {
+    MyClass1<caret>
+}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test1-source.java b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test1-source.java
new file mode 100644 (file)
index 0000000..2e7593b
--- /dev/null
@@ -0,0 +1,3 @@
+class MyClass1 {
+    MyCla<caret>
+}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test10-result.java b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test10-result.java
new file mode 100644 (file)
index 0000000..ee551ef
--- /dev/null
@@ -0,0 +1,5 @@
+package aaa;
+@interface MyObjectType {}
+class A {
+  aaa.MyObjectType<caret>
+}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test10-source.java b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test10-source.java
new file mode 100644 (file)
index 0000000..79ed602
--- /dev/null
@@ -0,0 +1,5 @@
+package aaa;
+@interface MyObjectType {}
+class A {
+  aaa.MyObj<caret>
+}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test11-result.java b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test11-result.java
new file mode 100644 (file)
index 0000000..9911ae3
--- /dev/null
@@ -0,0 +1,5 @@
+package aaa;
+@interface MyObjectType {}
+class A {
+  MyObjectType<caret>
+}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test11-source.java b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test11-source.java
new file mode 100644 (file)
index 0000000..d57e063
--- /dev/null
@@ -0,0 +1,5 @@
+package aaa;
+@interface MyObjectType {}
+class A {
+  MyObj<caret>
+}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test12-result.java b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test12-result.java
new file mode 100644 (file)
index 0000000..799d8e2
--- /dev/null
@@ -0,0 +1,7 @@
+package aaa;
+@interface MyObjectType {}
+class A {
+  void aaa() {
+    getClass().getAnnotations(MyObjectType<caret>)
+  }
+}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test12-source.java b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test12-source.java
new file mode 100644 (file)
index 0000000..04c90f8
--- /dev/null
@@ -0,0 +1,7 @@
+package aaa;
+@interface MyObjectType {}
+class A {
+  void aaa() {
+    getClass().getAnnotations(MyObject<caret>)
+  }
+}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test13-result.java b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test13-result.java
new file mode 100644 (file)
index 0000000..912ce24
--- /dev/null
@@ -0,0 +1,9 @@
+package aaa;
+import java.lang.annotation.*;
+
+@Retention(RetentionPolicy.RUNTIME)
+@interface MyObjectType {}
+
+class A {
+  MyObjectType<caret>
+}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test13-source.java b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test13-source.java
new file mode 100644 (file)
index 0000000..a6ac202
--- /dev/null
@@ -0,0 +1,9 @@
+package aaa;
+import java.lang.annotation.*;
+
+@Retention(RetentionPolicy.RUNTIME)
+@interface MyObjectType {}
+
+class A {
+  My<caret>
+}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test2-result.java b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test2-result.java
new file mode 100644 (file)
index 0000000..9917feb
--- /dev/null
@@ -0,0 +1,5 @@
+class Test1 {
+    public void foo(){
+        Test1<caret>
+    }
+}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test2-source.java b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test2-source.java
new file mode 100644 (file)
index 0000000..1f49be0
--- /dev/null
@@ -0,0 +1,5 @@
+class Test1 {
+    public void foo(){
+        Tes<caret>
+    }
+}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test3-result.java b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test3-result.java
new file mode 100644 (file)
index 0000000..43a6e52
--- /dev/null
@@ -0,0 +1,3 @@
+class ZZZZZZ{}
+
+class A implements ZZZZZZ<caret>{}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test3-source.java b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test3-source.java
new file mode 100644 (file)
index 0000000..586d2b4
--- /dev/null
@@ -0,0 +1,3 @@
+class ZZZZZZ{}
+
+class A implements ZZZ<caret>{}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test4-result.java b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test4-result.java
new file mode 100644 (file)
index 0000000..03349ac
--- /dev/null
@@ -0,0 +1,3 @@
+interface ZZZZZZ{}
+
+class A implements ZZZZZZ<caret>{}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test4-source.java b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test4-source.java
new file mode 100644 (file)
index 0000000..b0f9d69
--- /dev/null
@@ -0,0 +1,3 @@
+interface ZZZZZZ{}
+
+class A implements ZZZ<caret>{}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test7-result.java b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test7-result.java
new file mode 100644 (file)
index 0000000..c327cb6
--- /dev/null
@@ -0,0 +1,5 @@
+class MyObject {}
+@interface MyObjectType {}
+
+@MyObjectType<caret>
+class A {}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test7-source.java b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test7-source.java
new file mode 100644 (file)
index 0000000..8da28b8
--- /dev/null
@@ -0,0 +1,5 @@
+class MyObject {}
+@interface MyObjectType {}
+
+@MyObj<caret>
+class A {}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test8-result.java b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test8-result.java
new file mode 100644 (file)
index 0000000..32b1bab
--- /dev/null
@@ -0,0 +1,5 @@
+@interface MyObjectType {}
+
+class A {
+  void aaa(@MyObjectType<caret>);
+}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test8-source.java b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test8-source.java
new file mode 100644 (file)
index 0000000..52800af
--- /dev/null
@@ -0,0 +1,5 @@
+@interface MyObjectType {}
+
+class A {
+  void aaa(@MyObj<caret>);
+}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test9-result.java b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test9-result.java
new file mode 100644 (file)
index 0000000..14466d1
--- /dev/null
@@ -0,0 +1,3 @@
+import MyObjectType<caret>
+@interface MyObjectType {}
+class A {}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test9-source.java b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test9-source.java
new file mode 100644 (file)
index 0000000..9e26d52
--- /dev/null
@@ -0,0 +1,3 @@
+import MyObj<caret>
+@interface MyObjectType {}
+class A {}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test9_2-result.java b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test9_2-result.java
new file mode 100644 (file)
index 0000000..7420dcb
--- /dev/null
@@ -0,0 +1,5 @@
+import MyObjectType<caret>
+@interface MyObjectType {
+  int param();
+}
+class A {}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test9_2-source.java b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test9_2-source.java
new file mode 100644 (file)
index 0000000..b399e8b
--- /dev/null
@@ -0,0 +1,5 @@
+import MyObj<caret>
+@interface MyObjectType {
+  int param();
+}
+class A {}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test9_3-result.java b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test9_3-result.java
new file mode 100644 (file)
index 0000000..62842b7
--- /dev/null
@@ -0,0 +1,8 @@
+@interface MyObjectType {
+  int param();
+}
+class A {
+  void foo() {
+    MyObjectType<caret>
+  }
+}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test9_3-source.java b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test9_3-source.java
new file mode 100644 (file)
index 0000000..59d95b3
--- /dev/null
@@ -0,0 +1,8 @@
+@interface MyObjectType {
+  int param();
+}
+class A {
+  void foo() {
+    MyOb<caret>
+  }
+}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/varType-result.java b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/varType-result.java
new file mode 100644 (file)
index 0000000..6c17d34
--- /dev/null
@@ -0,0 +1,5 @@
+class MyClass1 {
+  {
+    MyClass1<caret>f.oo()
+  }  
+}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/varType-source.java b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/varType-source.java
new file mode 100644 (file)
index 0000000..4e12ce2
--- /dev/null
@@ -0,0 +1,5 @@
+class MyClass1 {
+  {
+    MCla<caret>f.oo()
+  }  
+}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/customFileType/1.cs b/java/java-tests/testData/codeInsight/completion/customFileType/1.cs
new file mode 100644 (file)
index 0000000..0b4823d
--- /dev/null
@@ -0,0 +1 @@
+cont<caret>
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/customFileType/1_after.cs b/java/java-tests/testData/codeInsight/completion/customFileType/1_after.cs
new file mode 100644 (file)
index 0000000..394c78d
--- /dev/null
@@ -0,0 +1 @@
+continue<caret>
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/customFileType/2.cs b/java/java-tests/testData/codeInsight/completion/customFileType/2.cs
new file mode 100644 (file)
index 0000000..70aba74
--- /dev/null
@@ -0,0 +1,3 @@
+if (true) {
+  whi<caret>
+}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/customFileType/2_after.cs b/java/java-tests/testData/codeInsight/completion/customFileType/2_after.cs
new file mode 100644 (file)
index 0000000..8416230
--- /dev/null
@@ -0,0 +1,3 @@
+if (true) {
+  while<caret>
+}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/customFileType/Erlang.erl b/java/java-tests/testData/codeInsight/completion/customFileType/Erlang.erl
new file mode 100644 (file)
index 0000000..427ce17
--- /dev/null
@@ -0,0 +1 @@
+ca<caret>
diff --git a/java/java-tests/testData/codeInsight/completion/customFileType/WordCompletion.cs b/java/java-tests/testData/codeInsight/completion/customFileType/WordCompletion.cs
new file mode 100644 (file)
index 0000000..c60df17
--- /dev/null
@@ -0,0 +1,2 @@
+whiwhiwhi
+  whi<caret>
diff --git a/java/java-tests/testData/codeInsight/completion/dot/Dot1.java b/java/java-tests/testData/codeInsight/completion/dot/Dot1.java
new file mode 100644 (file)
index 0000000..0eefb68
--- /dev/null
@@ -0,0 +1,11 @@
+class Dot1{
+  class A{
+    int a = 0;
+    int foo(){
+  }
+  }
+  static {
+       
+    int a = new A().<caret>
+  }
+}
diff --git a/java/java-tests/testData/codeInsight/completion/dot/Dot10.java b/java/java-tests/testData/codeInsight/completion/dot/Dot10.java
new file mode 100644 (file)
index 0000000..d095741
--- /dev/null
@@ -0,0 +1,18 @@
+/**
+ * Created by IntelliJ IDEA.
+ * User: ik
+ * Date: 23.01.2003
+ * Time: 17:06:57
+ * To change this template use Options | File Templates.
+ */
+public class Dot9 {
+    public static class A{
+        public A(){}
+        public void foo(){}
+    }
+
+    public static void main(String[] args) {
+        long[] arr = new long[0];
+        arr.<caret>
+    }
+}
diff --git a/java/java-tests/testData/codeInsight/completion/dot/Dot11.java b/java/java-tests/testData/codeInsight/completion/dot/Dot11.java
new file mode 100644 (file)
index 0000000..8722592
--- /dev/null
@@ -0,0 +1,18 @@
+/**
+ * Created by IntelliJ IDEA.
+ * User: ik
+ * Date: 27.01.2003
+ * Time: 19:35:37
+ * To change this template use Options | File Templates.
+ */
+public class Dot11 extends A {
+    void foo1(){}
+
+    {
+        this.<caret>
+    }
+}
+
+class A{
+    void foo(){}
+}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/dot/Dot12.java b/java/java-tests/testData/codeInsight/completion/dot/Dot12.java
new file mode 100644 (file)
index 0000000..a834a33
--- /dev/null
@@ -0,0 +1,20 @@
+/**
+ * Created by IntelliJ IDEA.
+ * User: ik
+ * Date: 27.01.2003
+ * Time: 19:37:12
+ * To change this template use Options | File Templates.
+ */
+
+public class Dot12 extends A {
+    void foo1(){}
+
+    {
+
+        super.<caret>
+    }
+}
+
+class A{
+    void foo(){}
+}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/dot/Dot2.java b/java/java-tests/testData/codeInsight/completion/dot/Dot2.java
new file mode 100644 (file)
index 0000000..52ea39e
--- /dev/null
@@ -0,0 +1,11 @@
+class Dot2{
+  class A{
+    static int a = 0;
+    static int foo(){
+  }
+  }
+  static {
+       
+    int a = A.<caret>
+  }
+}
diff --git a/java/java-tests/testData/codeInsight/completion/dot/Dot3.java b/java/java-tests/testData/codeInsight/completion/dot/Dot3.java
new file mode 100644 (file)
index 0000000..08b67b6
--- /dev/null
@@ -0,0 +1,15 @@
+class Dot3{
+  class A{
+    int a = 0;
+    int foo(){
+  }
+  }
+  static {
+    
+    Object a = new A(){
+      static int foo(){
+        int c = super.<caret>
+      }
+    };
+  }
+}
diff --git a/java/java-tests/testData/codeInsight/completion/dot/Dot4.java b/java/java-tests/testData/codeInsight/completion/dot/Dot4.java
new file mode 100644 (file)
index 0000000..860ab1b
--- /dev/null
@@ -0,0 +1,10 @@
+class Dot4{
+  class A{
+    static int a = 0;
+    int foo(){
+    }
+  }
+  static {
+    int a = new A().<caret>
+  }
+}
diff --git a/java/java-tests/testData/codeInsight/completion/dot/Dot5.java b/java/java-tests/testData/codeInsight/completion/dot/Dot5.java
new file mode 100644 (file)
index 0000000..800b55c
--- /dev/null
@@ -0,0 +1,12 @@
+import java.<caret>
+
+class Dot5{
+  class A{
+    static int a = 0;
+    int foo(){
+    }
+  }
+  static {
+    int a = new A().
+  }
+}
diff --git a/java/java-tests/testData/codeInsight/completion/dot/Dot6.java b/java/java-tests/testData/codeInsight/completion/dot/Dot6.java
new file mode 100644 (file)
index 0000000..8de1430
--- /dev/null
@@ -0,0 +1,5 @@
+class Dot6{
+  public static void main(String[] args){
+    int a = args[0].<caret>
+  }
+}
diff --git a/java/java-tests/testData/codeInsight/completion/dot/Dot7.java b/java/java-tests/testData/codeInsight/completion/dot/Dot7.java
new file mode 100644 (file)
index 0000000..819f424
--- /dev/null
@@ -0,0 +1,5 @@
+class Dot7{
+  public static void main(String[] args){
+    int a = args.<caret>
+  }
+}
diff --git a/java/java-tests/testData/codeInsight/completion/dot/Dot8.java b/java/java-tests/testData/codeInsight/completion/dot/Dot8.java
new file mode 100644 (file)
index 0000000..85ef2ee
--- /dev/null
@@ -0,0 +1,19 @@
+/**
+ * Created by IntelliJ IDEA.
+ * User: ik
+ * Date: 23.01.2003
+ * Time: 15:04:45
+ * To change this template use Options | File Templates.
+ */
+public class Dot8 {
+
+    {
+        new A().<caret>
+    }
+}
+class A{
+    public String toString(){
+
+        return "".;
+    }
+}
diff --git a/java/java-tests/testData/codeInsight/completion/dot/Dot9.java b/java/java-tests/testData/codeInsight/completion/dot/Dot9.java
new file mode 100644 (file)
index 0000000..1cdf11d
--- /dev/null
@@ -0,0 +1,17 @@
+/**
+ * Created by IntelliJ IDEA.
+ * User: ik
+ * Date: 23.01.2003
+ * Time: 17:06:57
+ * To change this template use Options | File Templates.
+ */
+public class Dot9 {
+    public static class A{
+        public A(){}
+        public void foo(){}
+    }
+
+    public static void main(String[] args) {
+        new A().<caret>
+    }
+}
diff --git a/java/java-tests/testData/codeInsight/completion/keywords/ExtendsInCastTypeParameters-out.java b/java/java-tests/testData/codeInsight/completion/keywords/ExtendsInCastTypeParameters-out.java
new file mode 100644 (file)
index 0000000..789404f
--- /dev/null
@@ -0,0 +1,7 @@
+
+public class Main {
+
+    public static void main() {
+        x = (ProceedingJoinPoint<? extends <caret>>
+    }
+}
diff --git a/java/java-tests/testData/codeInsight/completion/keywords/ExtendsInCastTypeParameters.java b/java/java-tests/testData/codeInsight/completion/keywords/ExtendsInCastTypeParameters.java
new file mode 100644 (file)
index 0000000..8f58802
--- /dev/null
@@ -0,0 +1,7 @@
+
+public class Main {
+
+    public static void main() {
+        x = (ProceedingJoinPoint<? ext<caret>>
+    }
+}
diff --git a/java/java-tests/testData/codeInsight/completion/keywords/ExtendsInMethodParameters-out.java b/java/java-tests/testData/codeInsight/completion/keywords/ExtendsInMethodParameters-out.java
new file mode 100644 (file)
index 0000000..0fae50d
--- /dev/null
@@ -0,0 +1,5 @@
+public class Xxx {
+
+    <T extends <caret>
+
+}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/keywords/ExtendsInMethodParameters.java b/java/java-tests/testData/codeInsight/completion/keywords/ExtendsInMethodParameters.java
new file mode 100644 (file)
index 0000000..3feb130
--- /dev/null
@@ -0,0 +1,5 @@
+public class Xxx {
+
+    <T ext<caret>
+
+}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/keywords/ExtendsWithRightContextInClassTypeParameters-out.java b/java/java-tests/testData/codeInsight/completion/keywords/ExtendsWithRightContextInClassTypeParameters-out.java
new file mode 100644 (file)
index 0000000..1968e30
--- /dev/null
@@ -0,0 +1,3 @@
+class Foo<T extends <caret>A> {
+
+}
diff --git a/java/java-tests/testData/codeInsight/completion/keywords/ExtendsWithRightContextInClassTypeParameters.java b/java/java-tests/testData/codeInsight/completion/keywords/ExtendsWithRightContextInClassTypeParameters.java
new file mode 100644 (file)
index 0000000..c90ad32
--- /dev/null
@@ -0,0 +1,3 @@
+class Foo<T ext<caret> A> {
+
+}
diff --git a/java/java-tests/testData/codeInsight/completion/keywords/ExtraBracketAfterFinally-out.java b/java/java-tests/testData/codeInsight/completion/keywords/ExtraBracketAfterFinally-out.java
new file mode 100644 (file)
index 0000000..674fc42
--- /dev/null
@@ -0,0 +1,12 @@
+
+public class Main {
+
+    public static void main() {
+        try {
+            
+        } finally {<caret>
+
+        }
+
+    }
+}
diff --git a/java/java-tests/testData/codeInsight/completion/keywords/ExtraBracketAfterFinally.java b/java/java-tests/testData/codeInsight/completion/keywords/ExtraBracketAfterFinally.java
new file mode 100644 (file)
index 0000000..81df57d
--- /dev/null
@@ -0,0 +1,12 @@
+
+public class Main {
+
+    public static void main() {
+        try {
+            
+        } final<caret> {
+
+        }
+
+    }
+}
diff --git a/java/java-tests/testData/codeInsight/completion/keywords/ExtraBracketAfterFinally1-out.java b/java/java-tests/testData/codeInsight/completion/keywords/ExtraBracketAfterFinally1-out.java
new file mode 100644 (file)
index 0000000..edb1b9a
--- /dev/null
@@ -0,0 +1,12 @@
+
+public class Main {
+
+    public static void main() {
+        try {
+            
+        } finally {
+            <caret>
+        }
+
+    }
+}
diff --git a/java/java-tests/testData/codeInsight/completion/keywords/ExtraBracketAfterFinally1.java b/java/java-tests/testData/codeInsight/completion/keywords/ExtraBracketAfterFinally1.java
new file mode 100644 (file)
index 0000000..1cd4a6d
--- /dev/null
@@ -0,0 +1,10 @@
+
+public class Main {
+
+    public static void main() {
+        try {
+            
+        } final<caret>
+
+    }
+}
diff --git a/java/java-tests/testData/codeInsight/completion/keywords/NullInIf-out.java b/java/java-tests/testData/codeInsight/completion/keywords/NullInIf-out.java
new file mode 100644 (file)
index 0000000..9fd6134
--- /dev/null
@@ -0,0 +1,8 @@
+
+public class Main {
+
+    public static void main() {
+        if (null<caret>)
+
+    }
+}
diff --git a/java/java-tests/testData/codeInsight/completion/keywords/NullInIf.java b/java/java-tests/testData/codeInsight/completion/keywords/NullInIf.java
new file mode 100644 (file)
index 0000000..421cf16
--- /dev/null
@@ -0,0 +1,8 @@
+
+public class Main {
+
+    public static void main() {
+        if (nu<caret>)
+
+    }
+}
diff --git a/java/java-tests/testData/codeInsight/completion/keywords/NullInMethodCall.java b/java/java-tests/testData/codeInsight/completion/keywords/NullInMethodCall.java
new file mode 100644 (file)
index 0000000..be80348
--- /dev/null
@@ -0,0 +1,7 @@
+class Null {
+  public static void main(String[] argv) {
+    StringBuffer buf = new StringBuffer();
+    
+    buf.append(nu<caret>);
+  }
+}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/keywords/NullInMethodCall2.java b/java/java-tests/testData/codeInsight/completion/keywords/NullInMethodCall2.java
new file mode 100644 (file)
index 0000000..2233039
--- /dev/null
@@ -0,0 +1,7 @@
+class Null {
+  public static void main(String[] argv) {
+    StringBuffer buf = new StringBuffer();
+    
+    buf.append(Null.nu<caret>);
+  }
+}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/keywords/NullInMethodCall2_After.java b/java/java-tests/testData/codeInsight/completion/keywords/NullInMethodCall2_After.java
new file mode 100644 (file)
index 0000000..2233039
--- /dev/null
@@ -0,0 +1,7 @@
+class Null {
+  public static void main(String[] argv) {
+    StringBuffer buf = new StringBuffer();
+    
+    buf.append(Null.nu<caret>);
+  }
+}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/keywords/NullInMethodCall_After.java b/java/java-tests/testData/codeInsight/completion/keywords/NullInMethodCall_After.java
new file mode 100644 (file)
index 0000000..46fa664
--- /dev/null
@@ -0,0 +1,7 @@
+class Null {
+  public static void main(String[] argv) {
+    StringBuffer buf = new StringBuffer();
+    
+    buf.append(null);
+  }
+}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/keywords/TrueInVariableDeclaration-out.java b/java/java-tests/testData/codeInsight/completion/keywords/TrueInVariableDeclaration-out.java
new file mode 100644 (file)
index 0000000..c2f393f
--- /dev/null
@@ -0,0 +1,8 @@
+
+public class Main {
+
+    public static void main() {
+        boolean b = true<caret>
+
+    }
+}
diff --git a/java/java-tests/testData/codeInsight/completion/keywords/TrueInVariableDeclaration.java b/java/java-tests/testData/codeInsight/completion/keywords/TrueInVariableDeclaration.java
new file mode 100644 (file)
index 0000000..13ee5ed
--- /dev/null
@@ -0,0 +1,8 @@
+
+public class Main {
+
+    public static void main() {
+        boolean b = tr<caret>
+
+    }
+}
diff --git a/java/java-tests/testData/codeInsight/completion/keywords/afterAnnotations.java b/java/java-tests/testData/codeInsight/completion/keywords/afterAnnotations.java
new file mode 100644 (file)
index 0000000..1e7c477
--- /dev/null
@@ -0,0 +1,2 @@
+@Deprecated
+<caret>
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/keywords/catch-1.java b/java/java-tests/testData/codeInsight/completion/keywords/catch-1.java
new file mode 100644 (file)
index 0000000..ba5ce57
--- /dev/null
@@ -0,0 +1,8 @@
+public class A{
+ public void method(){
+  try{
+   String str = "";
+  }
+  <caret>
+ }
+}
diff --git a/java/java-tests/testData/codeInsight/completion/keywords/classScope-1.java b/java/java-tests/testData/codeInsight/completion/keywords/classScope-1.java
new file mode 100644 (file)
index 0000000..ed5717c
--- /dev/null
@@ -0,0 +1 @@
+public <caret>
diff --git a/java/java-tests/testData/codeInsight/completion/keywords/classScope-2.java b/java/java-tests/testData/codeInsight/completion/keywords/classScope-2.java
new file mode 100644 (file)
index 0000000..44060e3
--- /dev/null
@@ -0,0 +1 @@
+abstract <caret>
diff --git a/java/java-tests/testData/codeInsight/completion/keywords/classScope-3.java b/java/java-tests/testData/codeInsight/completion/keywords/classScope-3.java
new file mode 100644 (file)
index 0000000..09ead44
--- /dev/null
@@ -0,0 +1 @@
+class <caret>
diff --git a/java/java-tests/testData/codeInsight/completion/keywords/classScope-4.java b/java/java-tests/testData/codeInsight/completion/keywords/classScope-4.java
new file mode 100644 (file)
index 0000000..0f6c3fd
--- /dev/null
@@ -0,0 +1,3 @@
+class A{
+<caret>
+}
diff --git a/java/java-tests/testData/codeInsight/completion/keywords/continue.java b/java/java-tests/testData/codeInsight/completion/keywords/continue.java
new file mode 100644 (file)
index 0000000..9d33f53
--- /dev/null
@@ -0,0 +1,6 @@
+
+public class Foo {
+    {
+        for(int i;;) { cont<caret> }
+    }
+}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/keywords/continue_after.java b/java/java-tests/testData/codeInsight/completion/keywords/continue_after.java
new file mode 100644 (file)
index 0000000..cf2b10a
--- /dev/null
@@ -0,0 +1,6 @@
+
+public class Foo {
+    {
+        for(int i;;) { continue; }
+    }
+}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/keywords/defaultInAnno.java b/java/java-tests/testData/codeInsight/completion/keywords/defaultInAnno.java
new file mode 100644 (file)
index 0000000..c07be64
--- /dev/null
@@ -0,0 +1,3 @@
+@interface Foo {
+  String foo() def<caret>
+}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/keywords/defaultInAnno_after.java b/java/java-tests/testData/codeInsight/completion/keywords/defaultInAnno_after.java
new file mode 100644 (file)
index 0000000..f15ebae
--- /dev/null
@@ -0,0 +1,3 @@
+@interface Foo {
+  String foo() default <caret>
+}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/keywords/extends-1.java b/java/java-tests/testData/codeInsight/completion/keywords/extends-1.java
new file mode 100644 (file)
index 0000000..a928948
--- /dev/null
@@ -0,0 +1 @@
+class x3 <caret>
diff --git a/java/java-tests/testData/codeInsight/completion/keywords/extends-10-result.java b/java/java-tests/testData/codeInsight/completion/keywords/extends-10-result.java
new file mode 100644 (file)
index 0000000..9a954ae
--- /dev/null
@@ -0,0 +1,3 @@
+class A{
+ void <T extends <caret>>foo(){}
+}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/keywords/extends-10.java b/java/java-tests/testData/codeInsight/completion/keywords/extends-10.java
new file mode 100644 (file)
index 0000000..68da0e9
--- /dev/null
@@ -0,0 +1,3 @@
+class A{
+ void <T e<caret>>foo(){}
+}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/keywords/extends-11-result.java b/java/java-tests/testData/codeInsight/completion/keywords/extends-11-result.java
new file mode 100644 (file)
index 0000000..87e818a
--- /dev/null
@@ -0,0 +1,3 @@
+class A{
+ void <T extends String, V extends <caret>>foo(){}
+}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/keywords/extends-11.java b/java/java-tests/testData/codeInsight/completion/keywords/extends-11.java
new file mode 100644 (file)
index 0000000..a8e5fc0
--- /dev/null
@@ -0,0 +1,3 @@
+class A{
+ void <T extends String, V e<caret>>foo(){}
+}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/keywords/extends-12-result.java b/java/java-tests/testData/codeInsight/completion/keywords/extends-12-result.java
new file mode 100644 (file)
index 0000000..7127a52
--- /dev/null
@@ -0,0 +1,5 @@
+class A{
+ {
+   Collection<? extends <caret>>
+ }
+}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/keywords/extends-12.java b/java/java-tests/testData/codeInsight/completion/keywords/extends-12.java
new file mode 100644 (file)
index 0000000..2cc2335
--- /dev/null
@@ -0,0 +1,5 @@
+class A{
+ {
+   Collection<? ex<caret>>
+ }
+}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/keywords/extends-2.java b/java/java-tests/testData/codeInsight/completion/keywords/extends-2.java
new file mode 100644 (file)
index 0000000..4139918
--- /dev/null
@@ -0,0 +1,3 @@
+class AAA{}
+
+class BBB extends <caret>
diff --git a/java/java-tests/testData/codeInsight/completion/keywords/extends-3.java b/java/java-tests/testData/codeInsight/completion/keywords/extends-3.java
new file mode 100644 (file)
index 0000000..ce7fb12
--- /dev/null
@@ -0,0 +1,5 @@
+class AAA{}
+
+interface CCC{}
+
+class BBB extends <caret>
diff --git a/java/java-tests/testData/codeInsight/completion/keywords/extends-4.java b/java/java-tests/testData/codeInsight/completion/keywords/extends-4.java
new file mode 100644 (file)
index 0000000..ac0b51b
--- /dev/null
@@ -0,0 +1,5 @@
+class AAA{}
+
+interface CCC{}
+
+class BBB implements <caret>
diff --git a/java/java-tests/testData/codeInsight/completion/keywords/extends-5.java b/java/java-tests/testData/codeInsight/completion/keywords/extends-5.java
new file mode 100644 (file)
index 0000000..ca5ec8e
--- /dev/null
@@ -0,0 +1,3 @@
+class AAA{}
+
+interface BBB extends <caret>
diff --git a/java/java-tests/testData/codeInsight/completion/keywords/extends-6.java b/java/java-tests/testData/codeInsight/completion/keywords/extends-6.java
new file mode 100644 (file)
index 0000000..4308b67
--- /dev/null
@@ -0,0 +1,3 @@
+interface AAA{}
+
+interface BBB extends Runnable, <caret>
diff --git a/java/java-tests/testData/codeInsight/completion/keywords/extends-7-result.java b/java/java-tests/testData/codeInsight/completion/keywords/extends-7-result.java
new file mode 100644 (file)
index 0000000..e768367
--- /dev/null
@@ -0,0 +1,3 @@
+class AAA{}
+
+class BBB extends AAA implements <caret>
diff --git a/java/java-tests/testData/codeInsight/completion/keywords/extends-7.java b/java/java-tests/testData/codeInsight/completion/keywords/extends-7.java
new file mode 100644 (file)
index 0000000..20b561a
--- /dev/null
@@ -0,0 +1,3 @@
+class AAA{}
+
+class BBB extends AAA i<caret>
diff --git a/java/java-tests/testData/codeInsight/completion/keywords/extends-8-result.java b/java/java-tests/testData/codeInsight/completion/keywords/extends-8-result.java
new file mode 100644 (file)
index 0000000..37a271c
--- /dev/null
@@ -0,0 +1,4 @@
+class AAA{}
+
+class BBB extends AAA implements <caret>{
+}
diff --git a/java/java-tests/testData/codeInsight/completion/keywords/extends-8.java b/java/java-tests/testData/codeInsight/completion/keywords/extends-8.java
new file mode 100644 (file)
index 0000000..80dbed3
--- /dev/null
@@ -0,0 +1,4 @@
+class AAA{}
+
+class BBB extends AAA i<caret> {
+}
diff --git a/java/java-tests/testData/codeInsight/completion/keywords/extends-9-result.java b/java/java-tests/testData/codeInsight/completion/keywords/extends-9-result.java
new file mode 100644 (file)
index 0000000..0a95953
--- /dev/null
@@ -0,0 +1 @@
+interface AAAA extends <caret>
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/keywords/extends-9.java b/java/java-tests/testData/codeInsight/completion/keywords/extends-9.java
new file mode 100644 (file)
index 0000000..bd85a41
--- /dev/null
@@ -0,0 +1 @@
+interface AAAA e<caret>
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/keywords/fileScope-1.java b/java/java-tests/testData/codeInsight/completion/keywords/fileScope-1.java
new file mode 100644 (file)
index 0000000..113fdcf
--- /dev/null
@@ -0,0 +1 @@
+<caret>
diff --git a/java/java-tests/testData/codeInsight/completion/keywords/fileScope-2.java b/java/java-tests/testData/codeInsight/completion/keywords/fileScope-2.java
new file mode 100644 (file)
index 0000000..faee6dc
--- /dev/null
@@ -0,0 +1,3 @@
+package myPackage;
+
+<caret>
diff --git a/java/java-tests/testData/codeInsight/completion/keywords/instanceof-1-result.java b/java/java-tests/testData/codeInsight/completion/keywords/instanceof-1-result.java
new file mode 100644 (file)
index 0000000..b869368
--- /dev/null
@@ -0,0 +1,5 @@
+public class A{
+ public void method(){
+  boolean x = this instanceof <caret>
+ }
+}
diff --git a/java/java-tests/testData/codeInsight/completion/keywords/instanceof-1.java b/java/java-tests/testData/codeInsight/completion/keywords/instanceof-1.java
new file mode 100644 (file)
index 0000000..0204407
--- /dev/null
@@ -0,0 +1,5 @@
+public class A{
+ public void method(){
+  boolean x = this i<caret>
+ }
+}
diff --git a/java/java-tests/testData/codeInsight/completion/keywords/instanceof-2-result.java b/java/java-tests/testData/codeInsight/completion/keywords/instanceof-2-result.java
new file mode 100644 (file)
index 0000000..b42010d
--- /dev/null
@@ -0,0 +1,5 @@
+public class A{
+ public void method(){
+  boolean x = super <caret>
+ }
+}
diff --git a/java/java-tests/testData/codeInsight/completion/keywords/instanceof-2.java b/java/java-tests/testData/codeInsight/completion/keywords/instanceof-2.java
new file mode 100644 (file)
index 0000000..b42010d
--- /dev/null
@@ -0,0 +1,5 @@
+public class A{
+ public void method(){
+  boolean x = super <caret>
+ }
+}
diff --git a/java/java-tests/testData/codeInsight/completion/keywords/instanceof-3-result.java b/java/java-tests/testData/codeInsight/completion/keywords/instanceof-3-result.java
new file mode 100644 (file)
index 0000000..9bc7e1c
--- /dev/null
@@ -0,0 +1,6 @@
+public class A{
+ public void method(){
+  String str = "";
+  boolean x = str instanceof <caret>
+ }
+}
diff --git a/java/java-tests/testData/codeInsight/completion/keywords/instanceof-3.java b/java/java-tests/testData/codeInsight/completion/keywords/instanceof-3.java
new file mode 100644 (file)
index 0000000..4cb0574
--- /dev/null
@@ -0,0 +1,6 @@
+public class A{
+ public void method(){
+  String str = "";
+  boolean x = str i<caret>
+ }
+}
diff --git a/java/java-tests/testData/codeInsight/completion/keywords/methodScope-1.java b/java/java-tests/testData/codeInsight/completion/keywords/methodScope-1.java
new file mode 100644 (file)
index 0000000..640faaa
--- /dev/null
@@ -0,0 +1,3 @@
+public class A{
+ public void method() <caret> {}
+}
diff --git a/java/java-tests/testData/codeInsight/completion/keywords/methodScope-2.java b/java/java-tests/testData/codeInsight/completion/keywords/methodScope-2.java
new file mode 100644 (file)
index 0000000..965cfb8
--- /dev/null
@@ -0,0 +1,4 @@
+public class A{
+ public void method(<caret>){
+ }
+}
diff --git a/java/java-tests/testData/codeInsight/completion/keywords/methodScope-3.java b/java/java-tests/testData/codeInsight/completion/keywords/methodScope-3.java
new file mode 100644 (file)
index 0000000..dd99cb7
--- /dev/null
@@ -0,0 +1,5 @@
+public class A{
+ public void method(){
+  <caret>
+ }
+}
diff --git a/java/java-tests/testData/codeInsight/completion/keywords/methodScope-4.java b/java/java-tests/testData/codeInsight/completion/keywords/methodScope-4.java
new file mode 100644 (file)
index 0000000..dd99cb7
--- /dev/null
@@ -0,0 +1,5 @@
+public class A{
+ public void method(){
+  <caret>
+ }
+}
diff --git a/java/java-tests/testData/codeInsight/completion/keywords/methodScope-5-out.java b/java/java-tests/testData/codeInsight/completion/keywords/methodScope-5-out.java
new file mode 100644 (file)
index 0000000..1fdb389
--- /dev/null
@@ -0,0 +1,5 @@
+public class A{
+ public void method(final String){
+  
+ }
+}
diff --git a/java/java-tests/testData/codeInsight/completion/keywords/methodScope-5.java b/java/java-tests/testData/codeInsight/completion/keywords/methodScope-5.java
new file mode 100644 (file)
index 0000000..93adde1
--- /dev/null
@@ -0,0 +1,5 @@
+public class A{
+ public void method(fi<caret> String){
+  
+ }
+}
diff --git a/java/java-tests/testData/codeInsight/completion/keywords/super-1.java b/java/java-tests/testData/codeInsight/completion/keywords/super-1.java
new file mode 100644 (file)
index 0000000..4450560
--- /dev/null
@@ -0,0 +1,7 @@
+class B{
+ class A{
+  {
+   B.<caret>
+  }
+ }
+}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/keywords/super-2.java b/java/java-tests/testData/codeInsight/completion/keywords/super-2.java
new file mode 100644 (file)
index 0000000..390b24a
--- /dev/null
@@ -0,0 +1,5 @@
+class A{
+ {
+ String.<caret>
+ }
+}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/keywords/synchronized-1-result.java b/java/java-tests/testData/codeInsight/completion/keywords/synchronized-1-result.java
new file mode 100644 (file)
index 0000000..f9fb470
--- /dev/null
@@ -0,0 +1,7 @@
+class A {
+  void foo () {
+    new Runnable () {
+      public synchronized <caret>
+    };
+  }
+}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/keywords/synchronized-1.java b/java/java-tests/testData/codeInsight/completion/keywords/synchronized-1.java
new file mode 100644 (file)
index 0000000..692b71b
--- /dev/null
@@ -0,0 +1,7 @@
+class A {
+  void foo () {
+    new Runnable () {
+      public synch<caret>
+    };
+  }
+}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/keywords/synchronized-2-result.java b/java/java-tests/testData/codeInsight/completion/keywords/synchronized-2-result.java
new file mode 100644 (file)
index 0000000..859333d
--- /dev/null
@@ -0,0 +1,6 @@
+class Test {
+    void foo() {
+        if (true) {
+        } else synchronized(<caret>)
+    }
+}
diff --git a/java/java-tests/testData/codeInsight/completion/keywords/synchronized-2.java b/java/java-tests/testData/codeInsight/completion/keywords/synchronized-2.java
new file mode 100644 (file)
index 0000000..e2e5fe7
--- /dev/null
@@ -0,0 +1,6 @@
+class Test {
+    void foo() {
+        if (true) {
+        } else syn<caret>
+    }
+}
diff --git a/java/java-tests/testData/codeInsight/completion/keywords/throwsOnSeparateLine.java b/java/java-tests/testData/codeInsight/completion/keywords/throwsOnSeparateLine.java
new file mode 100644 (file)
index 0000000..cbff613
--- /dev/null
@@ -0,0 +1,5 @@
+
+public class Foo {
+  void foo()
+  th<caret>
+}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/keywords/throwsOnSeparateLine_after.java b/java/java-tests/testData/codeInsight/completion/keywords/throwsOnSeparateLine_after.java
new file mode 100644 (file)
index 0000000..f0adeda
--- /dev/null
@@ -0,0 +1,5 @@
+
+public class Foo {
+  void foo()
+  throws <caret>
+}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/keywords/tryInExpression.java b/java/java-tests/testData/codeInsight/completion/keywords/tryInExpression.java
new file mode 100644 (file)
index 0000000..0e0753a
--- /dev/null
@@ -0,0 +1,5 @@
+public class MessageBean {
+ {
+    String containingClass = ((String) t<caret>    
+ }
+}
diff --git a/java/java-tests/testData/codeInsight/completion/normalSorting/ClassStaticMembersInBooleanContext.java b/java/java-tests/testData/codeInsight/completion/normalSorting/ClassStaticMembersInBooleanContext.java
new file mode 100644 (file)
index 0000000..3d40a2f
--- /dev/null
@@ -0,0 +1,17 @@
+public class Foo {
+    {
+        if (Bar.<caret>)
+    }
+}
+
+class Bar {
+
+    public static void voidMethod() {}
+    public static boolean booleanMethod() {}
+    public static final boolean BOOLEAN = true;
+    public static final Object AN_OBJECT = "";
+
+    public static class Inner {}
+
+
+}
diff --git a/java/java-tests/testData/codeInsight/completion/normalSorting/ClassStaticMembersInVoidContext.java b/java/java-tests/testData/codeInsight/completion/normalSorting/ClassStaticMembersInVoidContext.java
new file mode 100644 (file)
index 0000000..e0d404d
--- /dev/null
@@ -0,0 +1,17 @@
+public class Foo {
+    {
+        Bar.<caret>
+    }
+}
+
+class Bar {
+
+    public static void voidMethod() {}
+    public static boolean booleanMethod() {}
+    public static final boolean BOOLEAN = true;
+    public static final Object AN_OBJECT = "";
+
+    public static class Inner {}
+
+
+}
diff --git a/java/java-tests/testData/codeInsight/completion/normalSorting/DispreferDeclared.java b/java/java-tests/testData/codeInsight/completion/normalSorting/DispreferDeclared.java
new file mode 100644 (file)
index 0000000..e846cff
--- /dev/null
@@ -0,0 +1,8 @@
+public class Aaaaaaa {
+    private final String aaa;
+
+    Aaaaaaa(String aabbb) {
+        aaa = true ? null : aa<caret>
+    }
+
+}
diff --git a/java/java-tests/testData/codeInsight/completion/normalSorting/DispreferDeclaredOfExpectedType.java b/java/java-tests/testData/codeInsight/completion/normalSorting/DispreferDeclaredOfExpectedType.java
new file mode 100644 (file)
index 0000000..5d79d97
--- /dev/null
@@ -0,0 +1,8 @@
+public class Aaaaaaa {
+    private final String aaa;
+
+    Aaaaaaa(Object aabbb) {
+        aaa = true ? null : aa<caret>
+    }
+
+}
diff --git a/java/java-tests/testData/codeInsight/completion/normalSorting/DontPreferRecursiveMethod.java b/java/java-tests/testData/codeInsight/completion/normalSorting/DontPreferRecursiveMethod.java
new file mode 100644 (file)
index 0000000..a6d91ea
--- /dev/null
@@ -0,0 +1,7 @@
+class Foo {
+
+  void register(int registrar) {
+    regi<caret>
+  }
+
+}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/normalSorting/DontPreferRecursiveMethod2.java b/java/java-tests/testData/codeInsight/completion/normalSorting/DontPreferRecursiveMethod2.java
new file mode 100644 (file)
index 0000000..f6462ad
--- /dev/null
@@ -0,0 +1,7 @@
+class Foo {
+
+  int register() {
+    re<caret>
+  }
+
+}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/normalSorting/GenericMethodsWithBoundParametersAreStillBetterThanClassLiteral.java b/java/java-tests/testData/codeInsight/completion/normalSorting/GenericMethodsWithBoundParametersAreStillBetterThanClassLiteral.java
new file mode 100644 (file)
index 0000000..8e71c84
--- /dev/null
@@ -0,0 +1,17 @@
+public class ServiceManager {
+
+  public static <T> T getService(Class<T> serviceClass) {
+  }
+
+  public static <T> T getService(Project project, Class<T> serviceClass) {
+  }
+
+}
+
+
+class Foo {
+  String getFoo() {
+    return ServiceManager.<caret>
+  }
+
+}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/normalSorting/HonorUppercaseLetters.java b/java/java-tests/testData/codeInsight/completion/normalSorting/HonorUppercaseLetters.java
new file mode 100644 (file)
index 0000000..b4dac6b
--- /dev/null
@@ -0,0 +1,6 @@
+public class Beda {
+  {
+    Object clsLoader;
+    cL<caret>
+  }
+}
diff --git a/java/java-tests/testData/codeInsight/completion/normalSorting/PreferAnnotationMethods.java b/java/java-tests/testData/codeInsight/completion/normalSorting/PreferAnnotationMethods.java
new file mode 100644 (file)
index 0000000..b8dc76d
--- /dev/null
@@ -0,0 +1,7 @@
+@interface Anno {
+  String value();
+  String name();
+}
+
+@Anno(<caret>)
+class Foo {}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/normalSorting/PreferDefaultTypeToExpected.java b/java/java-tests/testData/codeInsight/completion/normalSorting/PreferDefaultTypeToExpected.java
new file mode 100644 (file)
index 0000000..57fe800
--- /dev/null
@@ -0,0 +1,11 @@
+class Foo {
+    String getName() {}
+    Foo getNameIdentifier() {}
+}
+
+class Bar {
+    void foo() {
+       Foo f;
+        if ("abc".equals(f.getN<caret>))
+    }
+}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/normalSorting/PreferLessParameters.java b/java/java-tests/testData/codeInsight/completion/normalSorting/PreferLessParameters.java
new file mode 100644 (file)
index 0000000..68f8efa
--- /dev/null
@@ -0,0 +1,12 @@
+public class MyFirstTestClassFoo {
+
+   void foo(int a) {}
+   void foo() {}
+   void foo(int a, int b) {}
+   void fox(int a) {}
+
+    {
+        new MyFirstTestClassFoo().fo<caret>
+    }
+
+}
diff --git a/java/java-tests/testData/codeInsight/completion/normalSorting/PreferSuperMethods.java b/java/java-tests/testData/codeInsight/completion/normalSorting/PreferSuperMethods.java
new file mode 100644 (file)
index 0000000..12d31ea
--- /dev/null
@@ -0,0 +1,10 @@
+class Foo {
+    void bar() {}
+    void foo() {}
+}
+
+class Bar extends Foo {
+    void foo() {
+        super.<caret>
+    }
+}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/normalSorting/ReturnF.java b/java/java-tests/testData/codeInsight/completion/normalSorting/ReturnF.java
new file mode 100644 (file)
index 0000000..842b8fd
--- /dev/null
@@ -0,0 +1,5 @@
+class Foo {
+    boolean zoo(String s) {
+      return f<caret>
+    }
+}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/normalSorting/ShorterPrefixesGoFirst.html b/java/java-tests/testData/codeInsight/completion/normalSorting/ShorterPrefixesGoFirst.html
new file mode 100644 (file)
index 0000000..fe6254d
--- /dev/null
@@ -0,0 +1 @@
+<p<caret>
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/normalSorting/ShorterShouldBePreselected.java b/java/java-tests/testData/codeInsight/completion/normalSorting/ShorterShouldBePreselected.java
new file mode 100644 (file)
index 0000000..4db6376
--- /dev/null
@@ -0,0 +1,11 @@
+class Foo {
+    String fooLongButOfDefaultType() {}
+    Foo foo() {}
+}
+
+class Bar {
+    void foo() {
+        Foo f;
+        if ("abc".equals(f.fo<caret>))
+    }
+}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/normalSorting/SubstringVsSubSequence.java b/java/java-tests/testData/codeInsight/completion/normalSorting/SubstringVsSubSequence.java
new file mode 100644 (file)
index 0000000..be563ed
--- /dev/null
@@ -0,0 +1,6 @@
+class Foo {
+    void foo(String s) {}
+    {
+        foo("aaa".sub<caret>)
+    }
+}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/normalSorting/UppercaseMatters.java b/java/java-tests/testData/codeInsight/completion/normalSorting/UppercaseMatters.java
new file mode 100644 (file)
index 0000000..ab7af05
--- /dev/null
@@ -0,0 +1,8 @@
+class Foo {
+  {
+    Object classLoader;
+    Object classBeforeLoader;
+    cL<caret>
+  }
+
+}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/normalSorting/UppercaseMatters2.java b/java/java-tests/testData/codeInsight/completion/normalSorting/UppercaseMatters2.java
new file mode 100644 (file)
index 0000000..19fc5f8
--- /dev/null
@@ -0,0 +1,8 @@
+class Foo {
+  {
+    Object classLoader;
+    Object classLoader2;
+    cL<caret>
+  }
+
+}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/smartType/MethodCallInScriplet-out.jsp b/java/java-tests/testData/codeInsight/completion/smartType/MethodCallInScriplet-out.jsp
deleted file mode 100644 (file)
index 80e2c9f..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-<%@ page contentType="text/html;charset=UTF-8" language="java" %>
-<html>
-  <head><title>Simple jsp page</title></head>
-  <body><%=System.currentTimeMillis()<caret>%></body>
-</html>
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/smartType/MethodCallInScriplet.jsp b/java/java-tests/testData/codeInsight/completion/smartType/MethodCallInScriplet.jsp
deleted file mode 100644 (file)
index 4682b75..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-<%@ page contentType="text/html;charset=UTF-8" language="java" %>
-<html>
-  <head><title>Simple jsp page</title></head>
-  <body><%=System.cur<caret>%></body>
-</html>
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/smartTypeSorting/BooleanValueOf.java b/java/java-tests/testData/codeInsight/completion/smartTypeSorting/BooleanValueOf.java
new file mode 100644 (file)
index 0000000..e17446f
--- /dev/null
@@ -0,0 +1,10 @@
+public abstract class Foo {
+
+    void foo(Boolean value);
+
+    {                                                                                            
+        boolean b;
+        foo(<caret>)
+    }
+
+}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/smartTypeSorting/ClassLiteral.java b/java/java-tests/testData/codeInsight/completion/smartTypeSorting/ClassLiteral.java
new file mode 100644 (file)
index 0000000..1f43c8a
--- /dev/null
@@ -0,0 +1,6 @@
+public class Foo  {
+
+    public Class<? extends String> foo() {
+        return <caret>
+    }
+}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/smartTypeSorting/DontPreferCasted.java b/java/java-tests/testData/codeInsight/completion/smartTypeSorting/DontPreferCasted.java
new file mode 100644 (file)
index 0000000..9b690f7
--- /dev/null
@@ -0,0 +1,17 @@
+class Foo {
+    {
+        Object _o;
+        Bar b;
+        if (_o instanceof Goo) {
+            Goo g = <caret>
+        }
+    }
+}
+
+class Goo {
+
+}
+
+class Bar extends Goo {
+
+}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/smartTypeSorting/DontPreferKeywords.java b/java/java-tests/testData/codeInsight/completion/smartTypeSorting/DontPreferKeywords.java
new file mode 100644 (file)
index 0000000..88d26d4
--- /dev/null
@@ -0,0 +1,10 @@
+public class Foo {
+
+   {
+        String name;
+        Object o1;
+        Foo foo;
+
+        Object o = <caret>
+    }
+}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/smartTypeSorting/EnumValueOf.java b/java/java-tests/testData/codeInsight/completion/smartTypeSorting/EnumValueOf.java
new file mode 100644 (file)
index 0000000..382bb15
--- /dev/null
@@ -0,0 +1,11 @@
+enum MyEnum {
+  FOO, BAR;
+}
+
+public class Foo {
+
+   {
+        MyEnum e;
+        MyEnum e1 = <caret>
+    }
+}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/smartTypeSorting/EnumValueOf2.java b/java/java-tests/testData/codeInsight/completion/smartTypeSorting/EnumValueOf2.java
new file mode 100644 (file)
index 0000000..2bec7eb
--- /dev/null
@@ -0,0 +1,13 @@
+enum MyEnum {
+  FOO, BAR;
+}
+
+public class Foo {
+
+   MyEnum bar() {}
+
+   MyEnum foo() {
+        MyEnum e;
+        return <caret>
+    }
+}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/smartTypeSorting/ExpectedInterfaceShouldGoFirst.java b/java/java-tests/testData/codeInsight/completion/smartTypeSorting/ExpectedInterfaceShouldGoFirst.java
new file mode 100644 (file)
index 0000000..14558df
--- /dev/null
@@ -0,0 +1,9 @@
+interface MyProcessor<T> {
+  void execute(T t);
+}
+
+class Proc1<T> implements MyProcessor<T> { public void execute(T t) {}}
+
+class Foo {
+  MyProcessor<Foo> p = new <caret>
+}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/completion/smartTypeSorting/FactoryMethodForDefaultType.java b/java/java-tests/testData/codeInsight/completion/smartTypeSorting/FactoryMethodForDefaultType.java
new file mode 100644 (file)
index 0000000..a306630
--- /dev/null