diff --git a/build/conf/ideaCE64-launcher.properties b/build/conf/ideaCE64-launcher.properties new file mode 100644 index 000000000000..33109899b31e --- /dev/null +++ b/build/conf/ideaCE64-launcher.properties @@ -0,0 +1,2 @@ +IDS_JDK_ONLY=true +IDS_JDK_ENV_VAR=IDEA_JDK_64 diff --git a/build/scripts/dist.gant b/build/scripts/dist.gant index e9b9fce394e5..c6e3d4fe608d 100644 --- a/build/scripts/dist.gant +++ b/build/scripts/dist.gant @@ -151,10 +151,11 @@ private layoutWin(Map args, String home, Paths paths) { winScripts(target, home, "idea.bat", args) winVMOptions(target, null, "idea.exe", "idea64.exe") - String launcherProperties = "$home/build/conf/ideaCE-launcher.properties" List resourcePaths = ["$home/community-resources/src", "$home/platform/icons/src"] - buildWinLauncher(home, "$home/bin/WinLauncher/WinLauncher.exe", "$target/bin/idea.exe", appInfoFile(), launcherProperties, resourcePaths) - buildWinLauncher(home, "$home/bin/WinLauncher/WinLauncher64.exe", "$target/bin/idea64.exe", appInfoFile(), launcherProperties, resourcePaths) + buildWinLauncher(home, "$home/bin/WinLauncher/WinLauncher.exe", "$target/bin/idea.exe", appInfoFile(), + "$home/build/conf/ideaCE-launcher.properties", null, resourcePaths) + buildWinLauncher(home, "$home/bin/WinLauncher/WinLauncher64.exe", "$target/bin/idea64.exe", appInfoFile(), + "$home/build/conf/ideaCE64-launcher.properties", null, resourcePaths) } private layoutMac(Map _args, String home, Paths paths) { diff --git a/build/scripts/utils.gant b/build/scripts/utils.gant index 40bae3a6f6b1..8eda3c858cce 100644 --- a/build/scripts/utils.gant +++ b/build/scripts/utils.gant @@ -52,8 +52,8 @@ binding.setVariable("isEap", { return "true" == p("component.version.eap") }) -binding.setVariable("mem32", "-server -Xms128m -Xmx512m -XX:MaxPermSize=250m -XX:ReservedCodeCacheSize=64m -XX:+UseCodeCacheFlushing -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -XX:+UseParNewGC") -binding.setVariable("mem64", "-Xms128m -Xmx750m -XX:MaxPermSize=350m -XX:ReservedCodeCacheSize=96m -XX:+UseCodeCacheFlushing -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -XX:+UseParNewGC") +binding.setVariable("mem32", "-server -Xms128m -Xmx512m -XX:MaxPermSize=250m -XX:ReservedCodeCacheSize=64m -XX:+UseCodeCacheFlushing -XX:+UseConcMarkSweepGC -XX:+UseParNewGC") +binding.setVariable("mem64", "-Xms128m -Xmx750m -XX:MaxPermSize=350m -XX:ReservedCodeCacheSize=96m -XX:+UseCodeCacheFlushing -XX:+UseConcMarkSweepGC -XX:+UseParNewGC") binding.setVariable("common_vmoptions", "-ea -Dsun.io.useCanonCaches=false -Djava.net.preferIPv4Stack=true") binding.setVariable("vmOptions", { "$common_vmoptions ${isEap() ? '-XX:+HeapDumpOnOutOfMemoryError' : ''}".trim() }) @@ -727,9 +727,20 @@ private void fixIdeaPropertiesEol(List paths, String eol) { } } -binding.setVariable("buildWinLauncher", { String ch, String inputPath, String outputPath, String appInfo, String launcherProperties, List resourcePaths -> +binding.setVariable("buildWinLauncher", { String ch, String inputPath, String outputPath, String appInfo, String launcherProperties, String pathsSelector, List resourcePaths -> projectBuilder.stage("winLauncher") + File launcherPropertiesTempFile = null; + if (pathsSelector != null) { + String propertiesContent = new File(launcherProperties).text + if (propertiesContent.contains("__PRODUCT_PATHS_SELECTOR__")) { + propertiesContent = propertiesContent.replace("__PRODUCT_PATHS_SELECTOR__", pathsSelector) + launcherPropertiesTempFile = File.createTempFile("launcher", ".properties") + launcherPropertiesTempFile.write(propertiesContent) + launcherProperties = launcherPropertiesTempFile.getAbsolutePath() + } + } + ant.java(classname: "com.pme.launcher.LauncherGeneratorMain", fork: "true") { arg(value: inputPath) arg(value: appInfo) @@ -748,4 +759,8 @@ binding.setVariable("buildWinLauncher", { String ch, String inputPath, String ou } } } + + if (launcherPropertiesTempFile != null) { + launcherPropertiesTempFile.delete() + } }) diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/analysis/AnnotationsHighlightUtil.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/analysis/AnnotationsHighlightUtil.java index 98b582f73545..29719754ba21 100644 --- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/analysis/AnnotationsHighlightUtil.java +++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/analysis/AnnotationsHighlightUtil.java @@ -458,9 +458,11 @@ public class AnnotationsHighlightUtil { public static HighlightInfo checkTargetAnnotationDuplicates(PsiAnnotation annotation) { PsiJavaCodeReferenceElement nameRef = annotation.getNameReferenceElement(); if (nameRef == null) return null; + PsiElement resolved = nameRef.resolve(); - if (!(resolved instanceof PsiClass) || - !CommonClassNames.TARGET_ANNOTATION_FQ_NAME.equals(((PsiClass) resolved).getQualifiedName())) return null; + if (!(resolved instanceof PsiClass) || !CommonClassNames.JAVA_LANG_ANNOTATION_TARGET.equals(((PsiClass)resolved).getQualifiedName())) { + return null; + } PsiNameValuePair[] attributes = annotation.getParameterList().getAttributes(); if (attributes.length < 1) return null; @@ -483,6 +485,7 @@ public class AnnotationsHighlightUtil { return null; } + @Nullable public static HighlightInfo checkFunctionalInterface(PsiAnnotation annotation) { final String errorMessage = LambdaUtil.checkFunctionalInterface(annotation); if (errorMessage != null) { diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/SimplifyBooleanExpressionFix.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/SimplifyBooleanExpressionFix.java index dfc477ac173d..79c7dd9ecca0 100644 --- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/SimplifyBooleanExpressionFix.java +++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/SimplifyBooleanExpressionFix.java @@ -311,7 +311,6 @@ public class SimplifyBooleanExpressionFix implements IntentionAction { } catch (IncorrectOperationException e) { resultExpression = null; - LOG.error("lExpr: " + lExpr.getText() + "; op: " + javaToken.getText() + "; rExpr: " + operand.getText() + "; top: " + expression.getText()); } } else { diff --git a/java/java-impl/src/com/intellij/refactoring/introduceField/IntroduceFieldCentralPanel.java b/java/java-impl/src/com/intellij/refactoring/introduceField/IntroduceFieldCentralPanel.java index 68d5e99cc536..da5be799dace 100644 --- a/java/java-impl/src/com/intellij/refactoring/introduceField/IntroduceFieldCentralPanel.java +++ b/java/java-impl/src/com/intellij/refactoring/introduceField/IntroduceFieldCentralPanel.java @@ -15,15 +15,19 @@ */ package com.intellij.refactoring.introduceField; +import com.intellij.codeInsight.TestFrameworks; import com.intellij.ide.util.PropertiesComponent; import com.intellij.openapi.diagnostic.Logger; import com.intellij.psi.*; +import com.intellij.psi.search.LocalSearchScope; +import com.intellij.psi.search.searches.ReferencesSearch; import com.intellij.psi.util.PsiTreeUtil; import com.intellij.psi.util.PsiUtil; import com.intellij.refactoring.RefactoringBundle; import com.intellij.refactoring.ui.TypeSelectorManager; import com.intellij.ui.NonFocusableCheckBox; import com.intellij.ui.StateRestoringCheckBox; +import com.intellij.util.Processor; import org.jetbrains.annotations.TestOnly; import javax.swing.*; @@ -93,7 +97,7 @@ public abstract class IntroduceFieldCentralPanel { refElement instanceof PsiParameter || (refElement instanceof PsiField && !((PsiField)refElement).hasInitializer())) && !PsiTreeUtil.isAncestor(initializer, refElement, true)) { - return updateInitializationPlaceModel(); + return updateInitializationPlaceModel(initializedInSetUp(refElement)); } } } @@ -104,6 +108,28 @@ public abstract class IntroduceFieldCentralPanel { return true; } + private boolean initializedInSetUp(PsiElement refElement) { + if (refElement instanceof PsiField && hasSetUpChoice()) { + final PsiMethod setUpMethod = TestFrameworks.getInstance().findSetUpMethod(((PsiField)refElement).getContainingClass()); + if (setUpMethod != null) { + final Processor initializerSearcher = new Processor() { + @Override + public boolean process(PsiReference reference) { + final PsiElement referenceElement = reference.getElement(); + if (referenceElement instanceof PsiExpression) { + return !PsiUtil.isAccessedForWriting((PsiExpression)referenceElement); + } + return true; + } + }; + if (!ReferencesSearch.search(refElement, new LocalSearchScope(setUpMethod)).forEach(initializerSearcher)) { + return true; + } + } + } + return false; + } + public abstract BaseExpressionToFieldHandler.InitializationPlace getInitializerPlace(); protected abstract void initializeInitializerPlace(PsiExpression initializerExpression, BaseExpressionToFieldHandler.InitializationPlace ourLastInitializerPlace); @@ -279,5 +305,7 @@ public abstract class IntroduceFieldCentralPanel { } } - protected abstract boolean updateInitializationPlaceModel(); + protected abstract boolean updateInitializationPlaceModel(boolean initializedInsetup); + + protected abstract boolean hasSetUpChoice(); } diff --git a/java/java-impl/src/com/intellij/refactoring/introduceField/IntroduceFieldDialogPanel.java b/java/java-impl/src/com/intellij/refactoring/introduceField/IntroduceFieldDialogPanel.java index a184983897ba..ad5ccbc6fa18 100644 --- a/java/java-impl/src/com/intellij/refactoring/introduceField/IntroduceFieldDialogPanel.java +++ b/java/java-impl/src/com/intellij/refactoring/introduceField/IntroduceFieldDialogPanel.java @@ -195,14 +195,25 @@ public class IntroduceFieldDialogPanel extends IntroduceFieldCentralPanel { } @Override - protected boolean updateInitializationPlaceModel() { + protected boolean updateInitializationPlaceModel(boolean initializedInSetup) { myRbInFieldDeclaration.setEnabled(false); myRbInConstructor.setEnabled(false); - if (myRbInSetUp != null) myRbInSetUp.setEnabled(false); enableFinal(false); + if (myRbInSetUp != null){ + if (!initializedInSetup) { + myRbInSetUp.setEnabled(false); + } else { + return true; + } + } return false; } + @Override + protected boolean hasSetUpChoice() { + return myRbInSetUp != null; + } + public void setInitializeInFieldDeclaration() { myRbInFieldDeclaration.setSelected(true); } diff --git a/java/java-impl/src/com/intellij/refactoring/introduceField/IntroduceFieldPopupPanel.java b/java/java-impl/src/com/intellij/refactoring/introduceField/IntroduceFieldPopupPanel.java index e0e26cbaf4dd..0583a16b5bdb 100644 --- a/java/java-impl/src/com/intellij/refactoring/introduceField/IntroduceFieldPopupPanel.java +++ b/java/java-impl/src/com/intellij/refactoring/introduceField/IntroduceFieldPopupPanel.java @@ -66,7 +66,7 @@ public class IntroduceFieldPopupPanel extends IntroduceFieldCentralPanel { } final PsiMethod setUpMethod = TestFrameworks.getInstance().findSetUpMethod(myParentClass); - final boolean setupEnabled = myInitialisersPlaceModel.getIndexOf(BaseExpressionToFieldHandler.InitializationPlace.IN_SETUP_METHOD) > -1; + final boolean setupEnabled = hasSetUpChoice(); if (ourLastInitializerPlace == BaseExpressionToFieldHandler.InitializationPlace.IN_SETUP_METHOD && setupEnabled && (myInitializerExpression != null && PsiTreeUtil.isAncestor(setUpMethod, myInitializerExpression, false) || TestFrameworks.getInstance().isTestClass(myParentClass))) { @@ -187,13 +187,22 @@ public class IntroduceFieldPopupPanel extends IntroduceFieldCentralPanel { } @Override - protected boolean updateInitializationPlaceModel() { + protected boolean updateInitializationPlaceModel(boolean initializedInSetup) { myInitialisersPlaceModel.removeElement(BaseExpressionToFieldHandler.InitializationPlace.IN_FIELD_DECLARATION); myInitialisersPlaceModel.removeElement(BaseExpressionToFieldHandler.InitializationPlace.IN_CONSTRUCTOR); - myInitialisersPlaceModel.removeElement(BaseExpressionToFieldHandler.InitializationPlace.IN_SETUP_METHOD); + if (!initializedInSetup) { + myInitialisersPlaceModel.removeElement(BaseExpressionToFieldHandler.InitializationPlace.IN_SETUP_METHOD); + } else { + return true; + } return false; } + @Override + protected boolean hasSetUpChoice() { + return myInitialisersPlaceModel.getIndexOf(BaseExpressionToFieldHandler.InitializationPlace.IN_SETUP_METHOD) > -1; + } + public void setInitializeInFieldDeclaration() { LOG.assertTrue(myInitializerCombo != null); myInitializerCombo.setSelectedItem(BaseExpressionToFieldHandler.InitializationPlace.IN_FIELD_DECLARATION); diff --git a/java/java-psi-api/src/com/intellij/psi/util/IsConstantExpressionVisitor.java b/java/java-psi-api/src/com/intellij/psi/util/IsConstantExpressionVisitor.java index bbed9e3d747d..531edd732fae 100644 --- a/java/java-psi-api/src/com/intellij/psi/util/IsConstantExpressionVisitor.java +++ b/java/java-psi-api/src/com/intellij/psi/util/IsConstantExpressionVisitor.java @@ -87,6 +87,11 @@ public class IsConstantExpressionVisitor extends JavaElementVisitor { for (PsiExpression operand : expression.getOperands()) { operand.accept(this); if (!myIsConstant) return; + final PsiType type = operand.getType(); + if (type != null && !(type instanceof PsiPrimitiveType) && !type.equalsToText(CommonClassNames.JAVA_LANG_STRING)) { + myIsConstant = false; + return; + } } } diff --git a/java/java-psi-api/src/com/intellij/psi/util/TypesDistinctProver.java b/java/java-psi-api/src/com/intellij/psi/util/TypesDistinctProver.java index cbe98a7590ab..5696b8ba0d63 100644 --- a/java/java-psi-api/src/com/intellij/psi/util/TypesDistinctProver.java +++ b/java/java-psi-api/src/com/intellij/psi/util/TypesDistinctProver.java @@ -154,6 +154,9 @@ public class TypesDistinctProver { PsiType type2, PsiClass boundClass1, PsiClass boundClass2) { + if (boundClass1 == null || boundClass2 == null) { + return false; + } if (boundClass1.isInterface() && boundClass2.isInterface()) return false; if (boundClass1.isInterface()) { return !(boundClass2.hasModifierProperty(PsiModifier.FINAL) ? InheritanceUtil.isInheritorOrSelf(boundClass2, boundClass1, true) : true); diff --git a/java/java-psi-impl/src/com/intellij/psi/impl/PsiImplUtil.java b/java/java-psi-impl/src/com/intellij/psi/impl/PsiImplUtil.java index c1db5cd259a7..b2b44a4e8af0 100644 --- a/java/java-psi-impl/src/com/intellij/psi/impl/PsiImplUtil.java +++ b/java/java-psi-impl/src/com/intellij/psi/impl/PsiImplUtil.java @@ -376,7 +376,7 @@ public class PsiImplUtil { if (!annotationType.isAnnotationType()) return null; PsiModifierList modifierList = annotationType.getModifierList(); if (modifierList == null) return null; - PsiAnnotation target = modifierList.findAnnotation(CommonClassNames.TARGET_ANNOTATION_FQ_NAME); + PsiAnnotation target = modifierList.findAnnotation(CommonClassNames.JAVA_LANG_ANNOTATION_TARGET); if (target == null) return DEFAULT_TARGETS; // if omitted it is applicable to all but Java 8 TYPE_USE/TYPE_PARAMETERS targets PsiAnnotationMemberValue value = target.findAttributeValue(null); diff --git a/java/java-psi-impl/src/com/intellij/psi/impl/compiled/StubBuildingVisitor.java b/java/java-psi-impl/src/com/intellij/psi/impl/compiled/StubBuildingVisitor.java index f8877b9a787b..cfe21ba80764 100644 --- a/java/java-psi-impl/src/com/intellij/psi/impl/compiled/StubBuildingVisitor.java +++ b/java/java-psi-impl/src/com/intellij/psi/impl/compiled/StubBuildingVisitor.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2012 JetBrains s.r.o. + * Copyright 2000-2013 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. @@ -303,10 +303,6 @@ public class StubBuildingVisitor extends ClassVisitor { }); } - @Override - public void visitAttribute(final Attribute attr) { - } - @Override public void visitInnerClass(final String name, final String outerName, final String innerName, final int access) { if ((access & Opcodes.ACC_SYNTHETIC) != 0) return; @@ -339,13 +335,15 @@ public class StubBuildingVisitor extends ClassVisitor { @Override @Nullable - public FieldVisitor visitField(final int access, final String name, final String desc, final String signature, final Object value) { + public FieldVisitor visitField(int access, String name, String desc, String signature, Object value) { if ((access & Opcodes.ACC_SYNTHETIC) != 0) return null; if (!isCorrectName(name)) return null; - final byte flags = PsiFieldStubImpl.packFlags((access & Opcodes.ACC_ENUM) != 0, (access & Opcodes.ACC_DEPRECATED) != 0, false); - final PsiFieldStub stub = new PsiFieldStubImpl(myResult, name, fieldType(desc, signature), constToString(value), flags); - final PsiModifierListStub modList = new PsiModifierListStubImpl(stub, packFieldFlags(access)); + byte flags = PsiFieldStubImpl.packFlags((access & Opcodes.ACC_ENUM) != 0, (access & Opcodes.ACC_DEPRECATED) != 0, false); + TypeInfo type = fieldType(desc, signature); + String initializer = constToString(value, "boolean".equals(type.text.getString())); + PsiFieldStub stub = new PsiFieldStubImpl(myResult, name, type, initializer, flags); + PsiModifierListStub modList = new PsiModifierListStubImpl(stub, packFieldFlags(access)); return new AnnotationCollectingVisitor(modList); } @@ -358,7 +356,8 @@ public class StubBuildingVisitor extends ClassVisitor { catch (ClsFormatException e) { return fieldTypeViaDescription(desc); } - } else { + } + else { return fieldTypeViaDescription(desc); } } @@ -536,7 +535,7 @@ public class StubBuildingVisitor extends ClassVisitor { @Override public void visit(final String name, final Object value) { valuePairPrefix(name); - myBuilder.append(constToString(value)); + myBuilder.append(constToString(value, false)); } @Override @@ -696,13 +695,21 @@ public class StubBuildingVisitor extends ClassVisitor { } @Nullable - private static String constToString(@Nullable Object value) { + private static String constToString(@Nullable Object value, boolean isBoolean) { if (value == null) return null; if (value instanceof String) return "\"" + StringUtil.escapeStringCharacters((String)value) + "\""; - if (value instanceof Integer || value instanceof Boolean) return value.toString(); + if (value instanceof Boolean) return value.toString(); if (value instanceof Long) return value.toString() + "L"; + if (value instanceof Integer) { + if (isBoolean) { + if (value.equals(0)) return "false"; + if (value.equals(1)) return "true"; + } + return value.toString(); + } + if (value instanceof Double) { final double d = ((Double)value).doubleValue(); if (Double.isInfinite(d)) { diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlighting7/AnnotationArgs.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlighting7/AnnotationArgs.java new file mode 100644 index 000000000000..c2a69a7fbad6 --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlighting7/AnnotationArgs.java @@ -0,0 +1,22 @@ +@interface Foo { + String value(); +} + +@Foo("myclass: " + Bar.class) +class Bar {} + +@Foo("myclass: Bazz") +class Bazz{} + +@Foo("myclass:" + "Bazz1") +class Bazz1{} + +@Foo(Const.CONST + Const.CONST) +class Bazz2{} + +@Foo(FooBar.class) +class FooBar {} + +class Const { + public static final String CONST = "const"; +} diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/simplifyBooleanExpression/beforeInvalidExpr.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/simplifyBooleanExpression/beforeInvalidExpr.java new file mode 100644 index 000000000000..c178987f689d --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/simplifyBooleanExpression/beforeInvalidExpr.java @@ -0,0 +1,7 @@ +// "Simplify boolean expression" "false" +class A { + { + String a = "", b= "", c = ""; + boolean bb = a + + b == c; + } +} \ No newline at end of file diff --git a/java/java-tests/testData/psi/cls/mirror/Booleans.txt b/java/java-tests/testData/psi/cls/mirror/Booleans.txt new file mode 100644 index 000000000000..24d533feaa29 --- /dev/null +++ b/java/java-tests/testData/psi/cls/mirror/Booleans.txt @@ -0,0 +1,15 @@ + + // IntelliJ API Decompiler stub source generated from a class file + // Implementation of methods is not available + +package pkg; + +class Booleans { + public static final boolean RELEASE = true; + public static final boolean DEBUG = false; + public static final boolean PROFILE = false; + public static final boolean LOGV = false; + public static final boolean LOGD = true; + + Booleans() { /* compiled code */ } +} \ No newline at end of file diff --git a/java/java-tests/testData/psi/cls/mirror/pkg/Booleans.class b/java/java-tests/testData/psi/cls/mirror/pkg/Booleans.class new file mode 100644 index 000000000000..d2a2fc0f5a78 Binary files /dev/null and b/java/java-tests/testData/psi/cls/mirror/pkg/Booleans.class differ diff --git a/java/java-tests/testData/psi/cls/mirror/src/pkg/Booleans.java b/java/java-tests/testData/psi/cls/mirror/src/pkg/Booleans.java new file mode 100644 index 000000000000..dac1d2c11d49 --- /dev/null +++ b/java/java-tests/testData/psi/cls/mirror/src/pkg/Booleans.java @@ -0,0 +1,9 @@ +package pkg; + +class Booleans { + public static final boolean RELEASE = true; + public static final boolean DEBUG = false; + public static final boolean PROFILE = false; + public static final boolean LOGV = false; + public static final boolean LOGD = true; +} diff --git a/java/java-tests/testSrc/com/intellij/codeInsight/daemon/LightAdvHighlightingJdk7Test.java b/java/java-tests/testSrc/com/intellij/codeInsight/daemon/LightAdvHighlightingJdk7Test.java index ca7d1d5cc0d4..f76fec97267b 100644 --- a/java/java-tests/testSrc/com/intellij/codeInsight/daemon/LightAdvHighlightingJdk7Test.java +++ b/java/java-tests/testSrc/com/intellij/codeInsight/daemon/LightAdvHighlightingJdk7Test.java @@ -172,4 +172,5 @@ public class LightAdvHighlightingJdk7Test extends LightDaemonAnalyzerTestCase { public void testAmbiguousMethodCallIDEA100314() { doTest(false, false); } public void testInstanceMemberNotAccessibleInStaticContext() { doTest(false, false); } public void testRejectedTypeParamsForConstructor() { doTest(false, false); } + public void testAnnotationArgs() throws Exception { doTest(false, false);} } diff --git a/java/java-tests/testSrc/com/intellij/psi/ClsMirrorBuildingTest.java b/java/java-tests/testSrc/com/intellij/psi/ClsMirrorBuildingTest.java index 7d77adab3513..f15637ea703c 100644 --- a/java/java-tests/testSrc/com/intellij/psi/ClsMirrorBuildingTest.java +++ b/java/java-tests/testSrc/com/intellij/psi/ClsMirrorBuildingTest.java @@ -40,6 +40,7 @@ public class ClsMirrorBuildingTest extends LightIdeaTestCase { public void testMethodReceiver() { doTest(); } public void testPackageInfo() { doTest("package-info"); } public void testEA40568() { doTest(); } + public void testBooleans() { doTest(); } private void doTest() { doTest(getTestName(false)); diff --git a/java/openapi/src/com/intellij/psi/util/RedundantCastUtil.java b/java/openapi/src/com/intellij/psi/util/RedundantCastUtil.java index ee390db92977..42bba5299036 100644 --- a/java/openapi/src/com/intellij/psi/util/RedundantCastUtil.java +++ b/java/openapi/src/com/intellij/psi/util/RedundantCastUtil.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2011 JetBrains s.r.o. + * Copyright 2000-2013 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. @@ -118,7 +118,7 @@ public class RedundantCastUtil { @Override protected void addToResults(@NotNull PsiTypeCastExpression typeCast){ - if (!isTypeCastSemantical(typeCast)) { + if (!isTypeCastSemantic(typeCast)) { myFoundCasts.add(typeCast); } } @@ -140,7 +140,7 @@ public class RedundantCastUtil { } protected void addToResults(@NotNull PsiTypeCastExpression typeCast){ - if (!isTypeCastSemantical(typeCast)) { + if (!isTypeCastSemantic(typeCast)) { isRedundant = true; } } @@ -446,7 +446,7 @@ public class RedundantCastUtil { if (parent instanceof PsiReturnStatement) return; if (parent instanceof PsiTypeCastExpression) return; - if (isTypeCastSemantical(typeCast)) return; + if (isTypeCastSemantic(typeCast)) return; PsiTypeElement typeElement = typeCast.getCastType(); if (typeElement == null) return; @@ -511,7 +511,13 @@ public class RedundantCastUtil { return result.get().booleanValue(); } + /** @deprecated use {@link #isTypeCastSemantic(PsiTypeCastExpression)} (to remove in IDEA 14) */ + @SuppressWarnings({"UnusedDeclaration", "SpellCheckingInspection"}) public static boolean isTypeCastSemantical(PsiTypeCastExpression typeCast) { + return isTypeCastSemantic(typeCast); + } + + public static boolean isTypeCastSemantic(PsiTypeCastExpression typeCast) { PsiExpression operand = typeCast.getOperand(); if (operand == null) return false; diff --git a/platform/core-api/src/com/intellij/psi/CommonClassNames.java b/platform/core-api/src/com/intellij/psi/CommonClassNames.java index afbe63830309..c7b9058a5724 100644 --- a/platform/core-api/src/com/intellij/psi/CommonClassNames.java +++ b/platform/core-api/src/com/intellij/psi/CommonClassNames.java @@ -33,14 +33,18 @@ public interface CommonClassNames { @NonNls String JAVA_LANG_THROWABLE = "java.lang.Throwable"; @NonNls String JAVA_LANG_EXCEPTION = "java.lang.Exception"; @NonNls String JAVA_LANG_ERROR = "java.lang.Error"; + @NonNls String JAVA_LANG_ASSERTION_ERROR = "java.lang.AssertionError"; @NonNls String JAVA_LANG_RUNTIME_EXCEPTION = "java.lang.RuntimeException"; @NonNls String JAVA_LANG_AUTO_CLOSEABLE = "java.lang.AutoCloseable"; @NonNls String JAVA_LANG_ITERABLE = "java.lang.Iterable"; @NonNls String JAVA_UTIL_ITERATOR = "java.util.Iterator"; + @NonNls String JAVA_LANG_RUNNABLE = "java.lang.Runnable"; + @NonNls String JAVA_LANG_DEPRECATED = "java.lang.Deprecated"; + @NonNls String JAVA_LANG_ANNOTATION_TARGET = "java.lang.annotation.Target"; @NonNls String JAVA_LANG_ANNOTATION_INHERITED = "java.lang.annotation.Inherited"; @NonNls String JAVA_LANG_ANNOTATION_ANNOTATION = "java.lang.annotation.Annotation"; @@ -50,7 +54,10 @@ public interface CommonClassNames { @NonNls String JAVA_UTIL_COLLECTIONS = "java.util.Collections"; @NonNls String JAVA_UTIL_COLLECTION = "java.util.Collection"; @NonNls String JAVA_UTIL_MAP = "java.util.Map"; + @NonNls String JAVA_UTIL_MAP_ENTRY = "java.util.Map.Entry"; + @NonNls String JAVA_UTIL_HASH_MAP = "java.util.HashMap"; @NonNls String JAVA_UTIL_LIST = "java.util.List"; + @NonNls String JAVA_UTIL_ARRAY_LIST = "java.util.ArrayList"; @NonNls String JAVA_UTIL_SET = "java.util.Set"; @NonNls String JAVA_UTIL_PROPERTIES = "java.util.Properties"; @NonNls String JAVA_UTIL_PROPERTY_RESOURCE_BUNDLE = "java.util.PropertyResourceBundle"; @@ -59,11 +66,9 @@ public interface CommonClassNames { @NonNls String JAVA_UTIL_DICTIONARY = "java.util.Dictionary"; @NonNls String JAVA_UTIL_COMPARATOR = "java.util.Comparator"; - /** @deprecated not that common (to remove in IDEA 13) */ - @SuppressWarnings("UnusedDeclaration") @NonNls String JAVA_SQL_DATE = "java.sql.Date"; - @NonNls String JAVA_IO_SERIALIZABLE = "java.io.Serializable"; @NonNls String JAVA_IO_EXTERNALIZABLE = "java.io.Externalizable"; + @NonNls String JAVA_IO_FILE = "java.io.File"; @NonNls String JAVA_LANG_STRING = "java.lang.String"; @NonNls String JAVA_LANG_STRING_SHORT = "String"; @@ -83,17 +88,17 @@ public interface CommonClassNames { @NonNls String JAVA_LANG_CLONEABLE = "java.lang.Cloneable"; @NonNls String JAVA_LANG_COMPARABLE = "java.lang.Comparable"; - @NonNls String CLASS_FILE_EXTENSION = ".class"; @NonNls String JAVA_UTIL_CONCURRENT_FUTURE = "java.util.concurrent.Future"; - @NonNls String JAVA_UTIL_ARRAY_LIST = "java.util.ArrayList"; + @NonNls String JAVA_UTIL_CONCURRENT_CALLABLE = "java.util.concurrent.Callable"; @NonNls String JAVA_LANG_INVOKE_MH_POLYMORPHIC = "java.lang.invoke.MethodHandle.PolymorphicSignature"; - @NonNls String TARGET_ANNOTATION_FQ_NAME = "java.lang.annotation.Target"; - @NonNls String JAVA_LANG_RUNNABLE = "java.lang.Runnable"; - @NonNls String JAVA_IO_FILE = "java.io.File"; - @NonNls String JAVA_LANG_ASSERTION_ERROR = "java.lang.AssertionError"; - @NonNls String JAVA_UTIL_CONCURRENT_CALLABLE = "java.util.concurrent.Callable"; - @NonNls String JAVA_UTIL_MAP_ENTRY = "java.util.Map.Entry"; - @NonNls String JAVA_UTIL_HASH_MAP = "java.util.HashMap"; + + @NonNls String CLASS_FILE_EXTENSION = ".class"; + + /** @deprecated not that common (to remove in IDEA 13) */ + @SuppressWarnings("UnusedDeclaration") @NonNls String JAVA_SQL_DATE = "java.sql.Date"; + + /** @deprecated use {@link #JAVA_LANG_ANNOTATION_TARGET} (to remove in IDEA 14) */ + @SuppressWarnings("UnusedDeclaration") @NonNls String TARGET_ANNOTATION_FQ_NAME = JAVA_LANG_ANNOTATION_TARGET; } diff --git a/platform/icons/src/debugger/muteBreakpoints@2x_dark.png b/platform/icons/src/debugger/muteBreakpoints@2x_dark.png index a49442a2466d..8977b299991f 100644 Binary files a/platform/icons/src/debugger/muteBreakpoints@2x_dark.png and b/platform/icons/src/debugger/muteBreakpoints@2x_dark.png differ diff --git a/platform/icons/src/debugger/muteBreakpoints_dark.png b/platform/icons/src/debugger/muteBreakpoints_dark.png index 408403b17251..a86e1897a4ab 100644 Binary files a/platform/icons/src/debugger/muteBreakpoints_dark.png and b/platform/icons/src/debugger/muteBreakpoints_dark.png differ diff --git a/platform/icons/src/general/add@2x.png b/platform/icons/src/general/add@2x.png new file mode 100644 index 000000000000..a2e9aec02d77 Binary files /dev/null and b/platform/icons/src/general/add@2x.png differ diff --git a/platform/icons/src/general/addFavoritesList@2x.png b/platform/icons/src/general/addFavoritesList@2x.png new file mode 100644 index 000000000000..0baf943ee876 Binary files /dev/null and b/platform/icons/src/general/addFavoritesList@2x.png differ diff --git a/platform/icons/src/general/addJdk@2x.png b/platform/icons/src/general/addJdk@2x.png new file mode 100644 index 000000000000..2abb5d6bf3dc Binary files /dev/null and b/platform/icons/src/general/addJdk@2x.png differ diff --git a/platform/icons/src/general/arrowDown@2x.png b/platform/icons/src/general/arrowDown@2x.png new file mode 100644 index 000000000000..1482406e105d Binary files /dev/null and b/platform/icons/src/general/arrowDown@2x.png differ diff --git a/platform/icons/src/general/arrowDown@2x_dark.png b/platform/icons/src/general/arrowDown@2x_dark.png new file mode 100644 index 000000000000..014aaf5c4ea0 Binary files /dev/null and b/platform/icons/src/general/arrowDown@2x_dark.png differ diff --git a/platform/icons/src/general/autoscrollFromSource@2x.png b/platform/icons/src/general/autoscrollFromSource@2x.png new file mode 100644 index 000000000000..30328d54e444 Binary files /dev/null and b/platform/icons/src/general/autoscrollFromSource@2x.png differ diff --git a/platform/icons/src/general/autoscrollFromSource@2x_dark.png b/platform/icons/src/general/autoscrollFromSource@2x_dark.png new file mode 100644 index 000000000000..92c62da2f666 Binary files /dev/null and b/platform/icons/src/general/autoscrollFromSource@2x_dark.png differ diff --git a/platform/icons/src/general/autoscrollFromSource_dark.png b/platform/icons/src/general/autoscrollFromSource_dark.png new file mode 100644 index 000000000000..b87b4c284635 Binary files /dev/null and b/platform/icons/src/general/autoscrollFromSource_dark.png differ diff --git a/platform/icons/src/general/autoscrollToSource@2x.png b/platform/icons/src/general/autoscrollToSource@2x.png new file mode 100644 index 000000000000..c3c8a492edd0 Binary files /dev/null and b/platform/icons/src/general/autoscrollToSource@2x.png differ diff --git a/platform/icons/src/general/autoscrollToSource@2x_dark.png b/platform/icons/src/general/autoscrollToSource@2x_dark.png new file mode 100644 index 000000000000..c3e63ed0df48 Binary files /dev/null and b/platform/icons/src/general/autoscrollToSource@2x_dark.png differ diff --git a/platform/icons/src/general/autoscrollToSource_dark.png b/platform/icons/src/general/autoscrollToSource_dark.png new file mode 100644 index 000000000000..f8f4c1b01576 Binary files /dev/null and b/platform/icons/src/general/autoscrollToSource_dark.png differ diff --git a/platform/icons/src/general/balloonError@2x.png b/platform/icons/src/general/balloonError@2x.png index 9171293219e7..00586dfe226a 100644 Binary files a/platform/icons/src/general/balloonError@2x.png and b/platform/icons/src/general/balloonError@2x.png differ diff --git a/platform/icons/src/general/bullet.png b/platform/icons/src/general/bullet.png index d54063a5a040..a9fa94db9b12 100644 Binary files a/platform/icons/src/general/bullet.png and b/platform/icons/src/general/bullet.png differ diff --git a/platform/icons/src/general/bullet@2x.png b/platform/icons/src/general/bullet@2x.png new file mode 100644 index 000000000000..d55daf075050 Binary files /dev/null and b/platform/icons/src/general/bullet@2x.png differ diff --git a/platform/icons/src/general/bullet@2x_dark.png b/platform/icons/src/general/bullet@2x_dark.png new file mode 100644 index 000000000000..5664c52a89ae Binary files /dev/null and b/platform/icons/src/general/bullet@2x_dark.png differ diff --git a/platform/icons/src/general/bullet_dark.png b/platform/icons/src/general/bullet_dark.png new file mode 100644 index 000000000000..f22ef8da7a7c Binary files /dev/null and b/platform/icons/src/general/bullet_dark.png differ diff --git a/platform/icons/src/general/debug@2x.png b/platform/icons/src/general/debug@2x.png new file mode 100644 index 000000000000..55a11b0c37d4 Binary files /dev/null and b/platform/icons/src/general/debug@2x.png differ diff --git a/platform/icons/src/general/debug@2x_dark.png b/platform/icons/src/general/debug@2x_dark.png new file mode 100644 index 000000000000..e6385c5d605f Binary files /dev/null and b/platform/icons/src/general/debug@2x_dark.png differ diff --git a/platform/icons/src/general/debug_dark.png b/platform/icons/src/general/debug_dark.png new file mode 100644 index 000000000000..27b35cb5fa46 Binary files /dev/null and b/platform/icons/src/general/debug_dark.png differ diff --git a/platform/icons/src/general/dropdown.png b/platform/icons/src/general/dropdown.png index 112b596a102a..ee760b5713fb 100644 Binary files a/platform/icons/src/general/dropdown.png and b/platform/icons/src/general/dropdown.png differ diff --git a/platform/icons/src/general/dropdown@2x.png b/platform/icons/src/general/dropdown@2x.png new file mode 100644 index 000000000000..b7c2fd628a14 Binary files /dev/null and b/platform/icons/src/general/dropdown@2x.png differ diff --git a/platform/icons/src/general/dropdown@2x_dark.png b/platform/icons/src/general/dropdown@2x_dark.png new file mode 100644 index 000000000000..8db4fcf2408a Binary files /dev/null and b/platform/icons/src/general/dropdown@2x_dark.png differ diff --git a/platform/icons/src/general/dropdown_dark.png b/platform/icons/src/general/dropdown_dark.png index 599bb6f80c83..4f240055988a 100644 Binary files a/platform/icons/src/general/dropdown_dark.png and b/platform/icons/src/general/dropdown_dark.png differ diff --git a/platform/icons/src/general/exclMark.png b/platform/icons/src/general/exclMark.png index 7db8874b5883..a4fab81f2c56 100644 Binary files a/platform/icons/src/general/exclMark.png and b/platform/icons/src/general/exclMark.png differ diff --git a/platform/icons/src/general/exclMark@2x.png b/platform/icons/src/general/exclMark@2x.png new file mode 100644 index 000000000000..636e4fb11cbe Binary files /dev/null and b/platform/icons/src/general/exclMark@2x.png differ diff --git a/platform/icons/src/general/filter@2x.png b/platform/icons/src/general/filter@2x.png new file mode 100644 index 000000000000..052cbcc380c2 Binary files /dev/null and b/platform/icons/src/general/filter@2x.png differ diff --git a/platform/icons/src/general/hideWarnings.png b/platform/icons/src/general/hideWarnings.png index 3c7d837f0783..7a41e37651f7 100644 Binary files a/platform/icons/src/general/hideWarnings.png and b/platform/icons/src/general/hideWarnings.png differ diff --git a/platform/icons/src/general/hideWarnings@2x.png b/platform/icons/src/general/hideWarnings@2x.png new file mode 100644 index 000000000000..81c85036699f Binary files /dev/null and b/platform/icons/src/general/hideWarnings@2x.png differ diff --git a/platform/icons/src/general/jdk@2x.png b/platform/icons/src/general/jdk@2x.png new file mode 100644 index 000000000000..e1e460bdccbd Binary files /dev/null and b/platform/icons/src/general/jdk@2x.png differ diff --git a/platform/icons/src/general/mdot.png b/platform/icons/src/general/mdot.png index fcef0379c144..91540aa1cb57 100644 Binary files a/platform/icons/src/general/mdot.png and b/platform/icons/src/general/mdot.png differ diff --git a/platform/icons/src/general/mdot@2x.png b/platform/icons/src/general/mdot@2x.png new file mode 100644 index 000000000000..9aade7ac24c5 Binary files /dev/null and b/platform/icons/src/general/mdot@2x.png differ diff --git a/platform/icons/src/general/mdot@2x_dark.png b/platform/icons/src/general/mdot@2x_dark.png new file mode 100644 index 000000000000..e829b5467eea Binary files /dev/null and b/platform/icons/src/general/mdot@2x_dark.png differ diff --git a/platform/icons/src/general/mdot_dark.png b/platform/icons/src/general/mdot_dark.png new file mode 100644 index 000000000000..6e242808866d Binary files /dev/null and b/platform/icons/src/general/mdot_dark.png differ diff --git a/platform/icons/src/general/packagesTab@2x.png b/platform/icons/src/general/packagesTab@2x.png new file mode 100644 index 000000000000..472df96ae8de Binary files /dev/null and b/platform/icons/src/general/packagesTab@2x.png differ diff --git a/platform/icons/src/general/projectStructure@2x.png b/platform/icons/src/general/projectStructure@2x.png new file mode 100644 index 000000000000..a540ccb315af Binary files /dev/null and b/platform/icons/src/general/projectStructure@2x.png differ diff --git a/platform/icons/src/general/projectStructure@2x_dark.png b/platform/icons/src/general/projectStructure@2x_dark.png new file mode 100644 index 000000000000..b5fbc4478356 Binary files /dev/null and b/platform/icons/src/general/projectStructure@2x_dark.png differ diff --git a/platform/icons/src/general/projectTab.png b/platform/icons/src/general/projectTab.png index 04a10dac19ae..cba6fb06ee34 100644 Binary files a/platform/icons/src/general/projectTab.png and b/platform/icons/src/general/projectTab.png differ diff --git a/platform/icons/src/general/projectTab@2x.png b/platform/icons/src/general/projectTab@2x.png new file mode 100644 index 000000000000..ee0c1d882de4 Binary files /dev/null and b/platform/icons/src/general/projectTab@2x.png differ diff --git a/platform/icons/src/general/projectTab@2x_dark.png b/platform/icons/src/general/projectTab@2x_dark.png new file mode 100644 index 000000000000..85250d527175 Binary files /dev/null and b/platform/icons/src/general/projectTab@2x_dark.png differ diff --git a/platform/icons/src/general/projectTab_dark.png b/platform/icons/src/general/projectTab_dark.png new file mode 100644 index 000000000000..17bf31e3d825 Binary files /dev/null and b/platform/icons/src/general/projectTab_dark.png differ diff --git a/platform/icons/src/general/remove@2x.png b/platform/icons/src/general/remove@2x.png new file mode 100644 index 000000000000..d307b92afb86 Binary files /dev/null and b/platform/icons/src/general/remove@2x.png differ diff --git a/platform/icons/src/general/reset@2x.png b/platform/icons/src/general/reset@2x.png new file mode 100644 index 000000000000..e25e04750fe3 Binary files /dev/null and b/platform/icons/src/general/reset@2x.png differ diff --git a/platform/icons/src/general/secondaryGroup@2x.png b/platform/icons/src/general/secondaryGroup@2x.png new file mode 100644 index 000000000000..bd093d7ced4b Binary files /dev/null and b/platform/icons/src/general/secondaryGroup@2x.png differ diff --git a/platform/icons/src/general/smallConfigurableVcs@2x.png b/platform/icons/src/general/smallConfigurableVcs@2x.png new file mode 100644 index 000000000000..836e205b486b Binary files /dev/null and b/platform/icons/src/general/smallConfigurableVcs@2x.png differ diff --git a/platform/icons/src/general/smallConfigurableVcs@2x_dark.png b/platform/icons/src/general/smallConfigurableVcs@2x_dark.png new file mode 100644 index 000000000000..0b6d5ee77525 Binary files /dev/null and b/platform/icons/src/general/smallConfigurableVcs@2x_dark.png differ diff --git a/platform/icons/src/general/tip.png b/platform/icons/src/general/tip.png index e8f8b014d377..43c394cdb41d 100644 Binary files a/platform/icons/src/general/tip.png and b/platform/icons/src/general/tip.png differ diff --git a/platform/icons/src/general/tip@2x.png b/platform/icons/src/general/tip@2x.png new file mode 100644 index 000000000000..100968fe9fb7 Binary files /dev/null and b/platform/icons/src/general/tip@2x.png differ diff --git a/platform/icons/src/general/tip@2x_dark.png b/platform/icons/src/general/tip@2x_dark.png new file mode 100644 index 000000000000..6534158761a5 Binary files /dev/null and b/platform/icons/src/general/tip@2x_dark.png differ diff --git a/platform/icons/src/general/tip_dark.png b/platform/icons/src/general/tip_dark.png new file mode 100644 index 000000000000..82c065ca20c5 Binary files /dev/null and b/platform/icons/src/general/tip_dark.png differ diff --git a/platform/icons/src/general/warning.png b/platform/icons/src/general/warning.png index 185ee2337654..2290ad73c174 100644 Binary files a/platform/icons/src/general/warning.png and b/platform/icons/src/general/warning.png differ diff --git a/platform/icons/src/general/warning@2x.png b/platform/icons/src/general/warning@2x.png new file mode 100644 index 000000000000..698b3503c89a Binary files /dev/null and b/platform/icons/src/general/warning@2x.png differ diff --git a/platform/icons/src/general/warningDecorator.png b/platform/icons/src/general/warningDecorator.png index 98b3e93b0690..998938f7ae79 100644 Binary files a/platform/icons/src/general/warningDecorator.png and b/platform/icons/src/general/warningDecorator.png differ diff --git a/platform/icons/src/general/warningDecorator@2x.png b/platform/icons/src/general/warningDecorator@2x.png new file mode 100644 index 000000000000..01663f22fc2c Binary files /dev/null and b/platform/icons/src/general/warningDecorator@2x.png differ diff --git a/platform/icons/src/general/warningDecorator@2x_dark.png b/platform/icons/src/general/warningDecorator@2x_dark.png new file mode 100644 index 000000000000..d741822a6142 Binary files /dev/null and b/platform/icons/src/general/warningDecorator@2x_dark.png differ diff --git a/platform/icons/src/general/warningDecorator_dark.png b/platform/icons/src/general/warningDecorator_dark.png new file mode 100644 index 000000000000..55c998fc9216 Binary files /dev/null and b/platform/icons/src/general/warningDecorator_dark.png differ diff --git a/platform/icons/src/general/web@2x.png b/platform/icons/src/general/web@2x.png new file mode 100644 index 000000000000..1217897751a9 Binary files /dev/null and b/platform/icons/src/general/web@2x.png differ diff --git a/platform/icons/src/ide/dnd/bottom.png b/platform/icons/src/ide/dnd/bottom.png index b179ab189eff..d4e8c3f2b496 100644 Binary files a/platform/icons/src/ide/dnd/bottom.png and b/platform/icons/src/ide/dnd/bottom.png differ diff --git a/platform/icons/src/ide/dnd/bottom@2x.png b/platform/icons/src/ide/dnd/bottom@2x.png new file mode 100644 index 000000000000..533e547bcad3 Binary files /dev/null and b/platform/icons/src/ide/dnd/bottom@2x.png differ diff --git a/platform/icons/src/ide/dnd/left.png b/platform/icons/src/ide/dnd/left.png index 4a9087674cb7..c77d96d0e6bb 100644 Binary files a/platform/icons/src/ide/dnd/left.png and b/platform/icons/src/ide/dnd/left.png differ diff --git a/platform/icons/src/ide/dnd/left@2x.png b/platform/icons/src/ide/dnd/left@2x.png new file mode 100644 index 000000000000..3e1ac5825f51 Binary files /dev/null and b/platform/icons/src/ide/dnd/left@2x.png differ diff --git a/platform/icons/src/ide/dnd/right.png b/platform/icons/src/ide/dnd/right.png index f74772d00308..d1eae0a1d59f 100644 Binary files a/platform/icons/src/ide/dnd/right.png and b/platform/icons/src/ide/dnd/right.png differ diff --git a/platform/icons/src/ide/dnd/right@2x.png b/platform/icons/src/ide/dnd/right@2x.png new file mode 100644 index 000000000000..467ee3cfb22c Binary files /dev/null and b/platform/icons/src/ide/dnd/right@2x.png differ diff --git a/platform/icons/src/ide/dnd/top.png b/platform/icons/src/ide/dnd/top.png index 450b6c3b4d7c..ed82f78c379b 100644 Binary files a/platform/icons/src/ide/dnd/top.png and b/platform/icons/src/ide/dnd/top.png differ diff --git a/platform/icons/src/ide/dnd/top@2x.png b/platform/icons/src/ide/dnd/top@2x.png new file mode 100644 index 000000000000..a4626a6f7b6a Binary files /dev/null and b/platform/icons/src/ide/dnd/top@2x.png differ diff --git a/platform/icons/src/ide/emptyFatalError.png b/platform/icons/src/ide/emptyFatalError.png index 1ed26a407467..acedf4488d6e 100755 Binary files a/platform/icons/src/ide/emptyFatalError.png and b/platform/icons/src/ide/emptyFatalError.png differ diff --git a/platform/icons/src/ide/emptyFatalError@2x.png b/platform/icons/src/ide/emptyFatalError@2x.png new file mode 100644 index 000000000000..3837fc645002 Binary files /dev/null and b/platform/icons/src/ide/emptyFatalError@2x.png differ diff --git a/platform/icons/src/ide/error.png b/platform/icons/src/ide/error.png index bab318774f96..2b1a751ebdd7 100644 Binary files a/platform/icons/src/ide/error.png and b/platform/icons/src/ide/error.png differ diff --git a/platform/icons/src/ide/error@2x.png b/platform/icons/src/ide/error@2x.png new file mode 100644 index 000000000000..952cfcf4f4ec Binary files /dev/null and b/platform/icons/src/ide/error@2x.png differ diff --git a/platform/icons/src/ide/errorPoint.png b/platform/icons/src/ide/errorPoint.png index 5a92b40f8ec6..2bf963398ed6 100644 Binary files a/platform/icons/src/ide/errorPoint.png and b/platform/icons/src/ide/errorPoint.png differ diff --git a/platform/icons/src/ide/errorPoint@2x.png b/platform/icons/src/ide/errorPoint@2x.png new file mode 100644 index 000000000000..a6acfabd0afb Binary files /dev/null and b/platform/icons/src/ide/errorPoint@2x.png differ diff --git a/platform/icons/src/ide/error_notifications.png b/platform/icons/src/ide/error_notifications.png index 4cc2c9d3f8c9..3da3b2cdb5f6 100755 Binary files a/platform/icons/src/ide/error_notifications.png and b/platform/icons/src/ide/error_notifications.png differ diff --git a/platform/icons/src/ide/error_notifications@2x.png b/platform/icons/src/ide/error_notifications@2x.png new file mode 100644 index 000000000000..1f1dc96de4c0 Binary files /dev/null and b/platform/icons/src/ide/error_notifications@2x.png differ diff --git a/platform/icons/src/ide/fatalError-read.png b/platform/icons/src/ide/fatalError-read.png index a47337564ae8..b7edbad27a8f 100644 Binary files a/platform/icons/src/ide/fatalError-read.png and b/platform/icons/src/ide/fatalError-read.png differ diff --git a/platform/icons/src/ide/fatalError-read@2x.png b/platform/icons/src/ide/fatalError-read@2x.png new file mode 100644 index 000000000000..a86a995bae11 Binary files /dev/null and b/platform/icons/src/ide/fatalError-read@2x.png differ diff --git a/platform/icons/src/ide/fatalError.png b/platform/icons/src/ide/fatalError.png index bab318774f96..2b1a751ebdd7 100755 Binary files a/platform/icons/src/ide/fatalError.png and b/platform/icons/src/ide/fatalError.png differ diff --git a/platform/icons/src/ide/fatalError@2x.png b/platform/icons/src/ide/fatalError@2x.png new file mode 100644 index 000000000000..952cfcf4f4ec Binary files /dev/null and b/platform/icons/src/ide/fatalError@2x.png differ diff --git a/platform/icons/src/ide/hectorNo.png b/platform/icons/src/ide/hectorNo.png index 4bcb9e10903c..0d736886cc27 100755 Binary files a/platform/icons/src/ide/hectorNo.png and b/platform/icons/src/ide/hectorNo.png differ diff --git a/platform/icons/src/ide/hectorNo@2x.png b/platform/icons/src/ide/hectorNo@2x.png new file mode 100644 index 000000000000..35653db55058 Binary files /dev/null and b/platform/icons/src/ide/hectorNo@2x.png differ diff --git a/platform/icons/src/ide/hectorNo@2x_dark.png b/platform/icons/src/ide/hectorNo@2x_dark.png new file mode 100644 index 000000000000..35653db55058 Binary files /dev/null and b/platform/icons/src/ide/hectorNo@2x_dark.png differ diff --git a/platform/icons/src/ide/hectorNo_dark.png b/platform/icons/src/ide/hectorNo_dark.png index 78e87f45fb46..c9c6d413f62a 100644 Binary files a/platform/icons/src/ide/hectorNo_dark.png and b/platform/icons/src/ide/hectorNo_dark.png differ diff --git a/platform/icons/src/ide/hectorOff.png b/platform/icons/src/ide/hectorOff.png index c56cac4ce333..ebd8b319dca4 100755 Binary files a/platform/icons/src/ide/hectorOff.png and b/platform/icons/src/ide/hectorOff.png differ diff --git a/platform/icons/src/ide/hectorOff@2x.png b/platform/icons/src/ide/hectorOff@2x.png new file mode 100644 index 000000000000..39f759e801ac Binary files /dev/null and b/platform/icons/src/ide/hectorOff@2x.png differ diff --git a/platform/icons/src/ide/hectorOff@2x_dark.png b/platform/icons/src/ide/hectorOff@2x_dark.png new file mode 100644 index 000000000000..55870c76a58a Binary files /dev/null and b/platform/icons/src/ide/hectorOff@2x_dark.png differ diff --git a/platform/icons/src/ide/hectorOff_dark.png b/platform/icons/src/ide/hectorOff_dark.png index ae132adc456f..89d84de50de7 100644 Binary files a/platform/icons/src/ide/hectorOff_dark.png and b/platform/icons/src/ide/hectorOff_dark.png differ diff --git a/platform/icons/src/ide/hectorOn.png b/platform/icons/src/ide/hectorOn.png index 9191d495a5e9..a3457e89e9b7 100755 Binary files a/platform/icons/src/ide/hectorOn.png and b/platform/icons/src/ide/hectorOn.png differ diff --git a/platform/icons/src/ide/hectorOn@2x.png b/platform/icons/src/ide/hectorOn@2x.png new file mode 100644 index 000000000000..f3d4a0aef610 Binary files /dev/null and b/platform/icons/src/ide/hectorOn@2x.png differ diff --git a/platform/icons/src/ide/hectorOn@2x_dark.png b/platform/icons/src/ide/hectorOn@2x_dark.png new file mode 100644 index 000000000000..c1c0e4b2caff Binary files /dev/null and b/platform/icons/src/ide/hectorOn@2x_dark.png differ diff --git a/platform/icons/src/ide/hectorOn_dark.png b/platform/icons/src/ide/hectorOn_dark.png index d24846934220..73d1f702681f 100644 Binary files a/platform/icons/src/ide/hectorOn_dark.png and b/platform/icons/src/ide/hectorOn_dark.png differ diff --git a/platform/icons/src/ide/hectorSyntax.png b/platform/icons/src/ide/hectorSyntax.png index a1c13024de0e..d77037de73ed 100644 Binary files a/platform/icons/src/ide/hectorSyntax.png and b/platform/icons/src/ide/hectorSyntax.png differ diff --git a/platform/icons/src/ide/hectorSyntax@2x.png b/platform/icons/src/ide/hectorSyntax@2x.png new file mode 100644 index 000000000000..d7c552dd92d2 Binary files /dev/null and b/platform/icons/src/ide/hectorSyntax@2x.png differ diff --git a/platform/icons/src/ide/hectorSyntax@2x_dark.png b/platform/icons/src/ide/hectorSyntax@2x_dark.png new file mode 100644 index 000000000000..201dcc16ae92 Binary files /dev/null and b/platform/icons/src/ide/hectorSyntax@2x_dark.png differ diff --git a/platform/icons/src/ide/hectorSyntax_dark.png b/platform/icons/src/ide/hectorSyntax_dark.png index d7600aec988b..776fb7b08e01 100644 Binary files a/platform/icons/src/ide/hectorSyntax_dark.png and b/platform/icons/src/ide/hectorSyntax_dark.png differ diff --git a/platform/icons/src/ide/incomingChangesOff.png b/platform/icons/src/ide/incomingChangesOff.png index ac63a9f81529..4d048cb32c30 100755 Binary files a/platform/icons/src/ide/incomingChangesOff.png and b/platform/icons/src/ide/incomingChangesOff.png differ diff --git a/platform/icons/src/ide/incomingChangesOff@2x.png b/platform/icons/src/ide/incomingChangesOff@2x.png new file mode 100644 index 000000000000..16c60312be6e Binary files /dev/null and b/platform/icons/src/ide/incomingChangesOff@2x.png differ diff --git a/platform/icons/src/ide/incomingChangesOn.png b/platform/icons/src/ide/incomingChangesOn.png index 5145da592469..b3c97a20f2d3 100755 Binary files a/platform/icons/src/ide/incomingChangesOn.png and b/platform/icons/src/ide/incomingChangesOn.png differ diff --git a/platform/icons/src/ide/incomingChangesOn@2x.png b/platform/icons/src/ide/incomingChangesOn@2x.png new file mode 100644 index 000000000000..29b6976fedbf Binary files /dev/null and b/platform/icons/src/ide/incomingChangesOn@2x.png differ diff --git a/platform/icons/src/ide/info_notifications.png b/platform/icons/src/ide/info_notifications.png index 6e73a549d714..f9c4e1a8e50e 100755 Binary files a/platform/icons/src/ide/info_notifications.png and b/platform/icons/src/ide/info_notifications.png differ diff --git a/platform/icons/src/ide/info_notifications@2x.png b/platform/icons/src/ide/info_notifications@2x.png new file mode 100644 index 000000000000..4e5a68320d06 Binary files /dev/null and b/platform/icons/src/ide/info_notifications@2x.png differ diff --git a/platform/icons/src/ide/link@2x.png b/platform/icons/src/ide/link@2x.png new file mode 100644 index 000000000000..4e376790c4a0 Binary files /dev/null and b/platform/icons/src/ide/link@2x.png differ diff --git a/platform/icons/src/ide/link@2x_dark.png b/platform/icons/src/ide/link@2x_dark.png new file mode 100644 index 000000000000..3252a0f8c921 Binary files /dev/null and b/platform/icons/src/ide/link@2x_dark.png differ diff --git a/platform/icons/src/ide/localScope.png b/platform/icons/src/ide/localScope.png index 659870609839..9c5fe4b43649 100644 Binary files a/platform/icons/src/ide/localScope.png and b/platform/icons/src/ide/localScope.png differ diff --git a/platform/icons/src/ide/localScope@2x.png b/platform/icons/src/ide/localScope@2x.png new file mode 100644 index 000000000000..bf14a10e24a9 Binary files /dev/null and b/platform/icons/src/ide/localScope@2x.png differ diff --git a/platform/icons/src/ide/localScope@2x_dark.png b/platform/icons/src/ide/localScope@2x_dark.png new file mode 100644 index 000000000000..18362c68e97b Binary files /dev/null and b/platform/icons/src/ide/localScope@2x_dark.png differ diff --git a/platform/icons/src/ide/localScope_dark.png b/platform/icons/src/ide/localScope_dark.png new file mode 100644 index 000000000000..f0540dfe47ec Binary files /dev/null and b/platform/icons/src/ide/localScope_dark.png differ diff --git a/platform/icons/src/ide/noNotifications13.png b/platform/icons/src/ide/noNotifications13.png index e2bfcfe02334..282dec0c4e87 100644 Binary files a/platform/icons/src/ide/noNotifications13.png and b/platform/icons/src/ide/noNotifications13.png differ diff --git a/platform/icons/src/ide/noNotifications13@2x.png b/platform/icons/src/ide/noNotifications13@2x.png new file mode 100644 index 000000000000..9933e2822188 Binary files /dev/null and b/platform/icons/src/ide/noNotifications13@2x.png differ diff --git a/platform/icons/src/ide/notifications.png b/platform/icons/src/ide/notifications.png index 1e5e5072693f..66a3d318eead 100755 Binary files a/platform/icons/src/ide/notifications.png and b/platform/icons/src/ide/notifications.png differ diff --git a/platform/icons/src/ide/notifications@2x.png b/platform/icons/src/ide/notifications@2x.png new file mode 100644 index 000000000000..ce69e34a56ee Binary files /dev/null and b/platform/icons/src/ide/notifications@2x.png differ diff --git a/platform/icons/src/ide/pipette.png b/platform/icons/src/ide/pipette.png index 0aa8fab4d5a8..1ad68274530f 100644 Binary files a/platform/icons/src/ide/pipette.png and b/platform/icons/src/ide/pipette.png differ diff --git a/platform/icons/src/ide/pipette@2x.png b/platform/icons/src/ide/pipette@2x.png new file mode 100644 index 000000000000..9c511e085954 Binary files /dev/null and b/platform/icons/src/ide/pipette@2x.png differ diff --git a/platform/icons/src/ide/pipette@2x_dark.png b/platform/icons/src/ide/pipette@2x_dark.png new file mode 100644 index 000000000000..7d863be0ab31 Binary files /dev/null and b/platform/icons/src/ide/pipette@2x_dark.png differ diff --git a/platform/icons/src/ide/pipette_dark.png b/platform/icons/src/ide/pipette_dark.png new file mode 100644 index 000000000000..e20b641d76cc Binary files /dev/null and b/platform/icons/src/ide/pipette_dark.png differ diff --git a/platform/icons/src/ide/pipette_rollover.png b/platform/icons/src/ide/pipette_rollover.png index f5c40a660622..d1685c3b8dca 100644 Binary files a/platform/icons/src/ide/pipette_rollover.png and b/platform/icons/src/ide/pipette_rollover.png differ diff --git a/platform/icons/src/ide/pipette_rollover@2x.png b/platform/icons/src/ide/pipette_rollover@2x.png new file mode 100644 index 000000000000..59c2db610f93 Binary files /dev/null and b/platform/icons/src/ide/pipette_rollover@2x.png differ diff --git a/platform/icons/src/ide/pipette_rollover@2x_dark.png b/platform/icons/src/ide/pipette_rollover@2x_dark.png new file mode 100644 index 000000000000..429a1c731eb6 Binary files /dev/null and b/platform/icons/src/ide/pipette_rollover@2x_dark.png differ diff --git a/platform/icons/src/ide/pipette_rollover_dark.png b/platform/icons/src/ide/pipette_rollover_dark.png new file mode 100644 index 000000000000..be697b181cf9 Binary files /dev/null and b/platform/icons/src/ide/pipette_rollover_dark.png differ diff --git a/platform/icons/src/ide/rating.png b/platform/icons/src/ide/rating.png index a5ab77968df0..2f50c2355f00 100644 Binary files a/platform/icons/src/ide/rating.png and b/platform/icons/src/ide/rating.png differ diff --git a/platform/icons/src/ide/rating1.png b/platform/icons/src/ide/rating1.png index 531c94bdfb37..358bf1f6b540 100644 Binary files a/platform/icons/src/ide/rating1.png and b/platform/icons/src/ide/rating1.png differ diff --git a/platform/icons/src/ide/rating1@2x.png b/platform/icons/src/ide/rating1@2x.png new file mode 100644 index 000000000000..77d5920f0f33 Binary files /dev/null and b/platform/icons/src/ide/rating1@2x.png differ diff --git a/platform/icons/src/ide/rating2.png b/platform/icons/src/ide/rating2.png index afd4bc10b3f4..ef7eb575df7a 100644 Binary files a/platform/icons/src/ide/rating2.png and b/platform/icons/src/ide/rating2.png differ diff --git a/platform/icons/src/ide/rating2@2x.png b/platform/icons/src/ide/rating2@2x.png new file mode 100644 index 000000000000..af9e1564385c Binary files /dev/null and b/platform/icons/src/ide/rating2@2x.png differ diff --git a/platform/icons/src/ide/rating3.png b/platform/icons/src/ide/rating3.png index ca5eb38b94fd..08a8d7f1673a 100644 Binary files a/platform/icons/src/ide/rating3.png and b/platform/icons/src/ide/rating3.png differ diff --git a/platform/icons/src/ide/rating3@2x.png b/platform/icons/src/ide/rating3@2x.png new file mode 100644 index 000000000000..4378302264b9 Binary files /dev/null and b/platform/icons/src/ide/rating3@2x.png differ diff --git a/platform/icons/src/ide/rating4.png b/platform/icons/src/ide/rating4.png index cd313c655422..b4fa11ca0b59 100644 Binary files a/platform/icons/src/ide/rating4.png and b/platform/icons/src/ide/rating4.png differ diff --git a/platform/icons/src/ide/rating4@2x.png b/platform/icons/src/ide/rating4@2x.png new file mode 100644 index 000000000000..02de67a9d2f9 Binary files /dev/null and b/platform/icons/src/ide/rating4@2x.png differ diff --git a/platform/icons/src/ide/rating@2x.png b/platform/icons/src/ide/rating@2x.png new file mode 100644 index 000000000000..fd1e768e994d Binary files /dev/null and b/platform/icons/src/ide/rating@2x.png differ diff --git a/platform/icons/src/ide/readonly.png b/platform/icons/src/ide/readonly.png index fe844f2a9bbb..f76b16fc98b4 100755 Binary files a/platform/icons/src/ide/readonly.png and b/platform/icons/src/ide/readonly.png differ diff --git a/platform/icons/src/ide/readonly@2x.png b/platform/icons/src/ide/readonly@2x.png new file mode 100644 index 000000000000..bfb9108c9ca6 Binary files /dev/null and b/platform/icons/src/ide/readonly@2x.png differ diff --git a/platform/icons/src/ide/readonly@2x_dark.png b/platform/icons/src/ide/readonly@2x_dark.png new file mode 100644 index 000000000000..d778b5bec98a Binary files /dev/null and b/platform/icons/src/ide/readonly@2x_dark.png differ diff --git a/platform/icons/src/ide/readonly_dark.png b/platform/icons/src/ide/readonly_dark.png index fe844f2a9bbb..c4cd880f5972 100644 Binary files a/platform/icons/src/ide/readonly_dark.png and b/platform/icons/src/ide/readonly_dark.png differ diff --git a/platform/icons/src/ide/readwrite.png b/platform/icons/src/ide/readwrite.png index 2464b60e8d57..69022bd8d7a5 100755 Binary files a/platform/icons/src/ide/readwrite.png and b/platform/icons/src/ide/readwrite.png differ diff --git a/platform/icons/src/ide/readwrite@2x.png b/platform/icons/src/ide/readwrite@2x.png new file mode 100644 index 000000000000..be5794b08a6d Binary files /dev/null and b/platform/icons/src/ide/readwrite@2x.png differ diff --git a/platform/icons/src/ide/readwrite@2x_dark.png b/platform/icons/src/ide/readwrite@2x_dark.png new file mode 100644 index 000000000000..a3924c91c21f Binary files /dev/null and b/platform/icons/src/ide/readwrite@2x_dark.png differ diff --git a/platform/icons/src/ide/readwrite_dark.png b/platform/icons/src/ide/readwrite_dark.png index df346482c340..c8e1801f6e7c 100644 Binary files a/platform/icons/src/ide/readwrite_dark.png and b/platform/icons/src/ide/readwrite_dark.png differ diff --git a/platform/icons/src/ide/sharedScope.png b/platform/icons/src/ide/sharedScope.png index b8b17f4e8f4c..f4ca32de672f 100644 Binary files a/platform/icons/src/ide/sharedScope.png and b/platform/icons/src/ide/sharedScope.png differ diff --git a/platform/icons/src/ide/sharedScope@2x.png b/platform/icons/src/ide/sharedScope@2x.png new file mode 100644 index 000000000000..940dacd3a88d Binary files /dev/null and b/platform/icons/src/ide/sharedScope@2x.png differ diff --git a/platform/icons/src/ide/sharedScope@2x_dark.png b/platform/icons/src/ide/sharedScope@2x_dark.png new file mode 100644 index 000000000000..775601cec359 Binary files /dev/null and b/platform/icons/src/ide/sharedScope@2x_dark.png differ diff --git a/platform/icons/src/ide/sharedScope_dark.png b/platform/icons/src/ide/sharedScope_dark.png new file mode 100644 index 000000000000..bce25010a6e3 Binary files /dev/null and b/platform/icons/src/ide/sharedScope_dark.png differ diff --git a/platform/icons/src/ide/warning_notifications.png b/platform/icons/src/ide/warning_notifications.png index cb89aab2a13f..b8eea71de9af 100755 Binary files a/platform/icons/src/ide/warning_notifications.png and b/platform/icons/src/ide/warning_notifications.png differ diff --git a/platform/icons/src/ide/warning_notifications@2x.png b/platform/icons/src/ide/warning_notifications@2x.png new file mode 100644 index 000000000000..b6c4789b55b4 Binary files /dev/null and b/platform/icons/src/ide/warning_notifications@2x.png differ diff --git a/platform/icons/src/nodes/deploy.png b/platform/icons/src/nodes/deploy.png index 8f35390bd7d8..4b4380a85ce8 100644 Binary files a/platform/icons/src/nodes/deploy.png and b/platform/icons/src/nodes/deploy.png differ diff --git a/platform/icons/src/nodes/deploy@2x.png b/platform/icons/src/nodes/deploy@2x.png new file mode 100644 index 000000000000..5af52424eb73 Binary files /dev/null and b/platform/icons/src/nodes/deploy@2x.png differ diff --git a/platform/icons/src/nodes/entryPoints@2x.png b/platform/icons/src/nodes/entryPoints@2x.png new file mode 100644 index 000000000000..a2e9aec02d77 Binary files /dev/null and b/platform/icons/src/nodes/entryPoints@2x.png differ diff --git a/platform/lang-impl/src/com/intellij/openapi/fileEditor/impl/TestEditorManagerImpl.java b/platform/lang-impl/src/com/intellij/openapi/fileEditor/impl/TestEditorManagerImpl.java index a60416d9cf9a..fb7692ba8e61 100644 --- a/platform/lang-impl/src/com/intellij/openapi/fileEditor/impl/TestEditorManagerImpl.java +++ b/platform/lang-impl/src/com/intellij/openapi/fileEditor/impl/TestEditorManagerImpl.java @@ -35,7 +35,6 @@ import com.intellij.openapi.util.ActionCallback; import com.intellij.openapi.util.AsyncResult; import com.intellij.openapi.util.Comparing; import com.intellij.openapi.util.Pair; -import com.intellij.openapi.vfs.VfsUtil; import com.intellij.openapi.vfs.VfsUtilCore; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.psi.PsiDocumentManager; @@ -483,4 +482,8 @@ import java.util.Map; public ActionCallback getReady(@NotNull Object requestor) { return new ActionCallback.Done(); } + + @Override + public void setSelectedEditor(VirtualFile file, String fileEditorProviderId) { + } } diff --git a/platform/platform-api/src/com/intellij/openapi/fileEditor/FileEditorManager.java b/platform/platform-api/src/com/intellij/openapi/fileEditor/FileEditorManager.java index 45de159c5e36..d2e1882113ab 100644 --- a/platform/platform-api/src/com/intellij/openapi/fileEditor/FileEditorManager.java +++ b/platform/platform-api/src/com/intellij/openapi/fileEditor/FileEditorManager.java @@ -176,4 +176,11 @@ public abstract class FileEditorManager { public abstract void registerExtraEditorDataProvider(@NotNull EditorDataProvider provider, Disposable parentDisposable); + /** + * Selects a specified file editor tab for the specified editor. + * @param file a file to switch the file editor tab for. The function does nothing if the file is not currently open in the editor. + * @param fileEditorProviderId the ID of the file editor to open; matches the return value of + * {@link com.intellij.openapi.fileEditor.FileEditorProvider#getEditorTypeId()} + */ + public abstract void setSelectedEditor(VirtualFile file, String fileEditorProviderId); } diff --git a/platform/platform-api/src/com/intellij/openapi/wm/StatusBarWidget.java b/platform/platform-api/src/com/intellij/openapi/wm/StatusBarWidget.java index 0e99e1bb71c7..8382553a28ac 100644 --- a/platform/platform-api/src/com/intellij/openapi/wm/StatusBarWidget.java +++ b/platform/platform-api/src/com/intellij/openapi/wm/StatusBarWidget.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2010 JetBrains s.r.o. + * Copyright 2000-2013 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. @@ -67,6 +67,7 @@ public interface StatusBarWidget extends Disposable { String getText(); @NotNull + @Deprecated String getMaxPossibleText(); float getAlignment(); @@ -80,6 +81,7 @@ public interface StatusBarWidget extends Disposable { String getSelectedValue(); @NotNull + @Deprecated String getMaxValue(); } diff --git a/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/FileEditorManagerImpl.java b/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/FileEditorManagerImpl.java index bd74e0447d76..0016064e3967 100644 --- a/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/FileEditorManagerImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/FileEditorManagerImpl.java @@ -945,6 +945,7 @@ public class FileEditorManagerImpl extends FileEditorManagerEx implements Projec }); } + @Override public void setSelectedEditor(VirtualFile file, String fileEditorProviderId) { EditorWithProviderComposite composite = getCurrentEditorWithProviderComposite(file); if (composite == null) { diff --git a/platform/platform-impl/src/com/intellij/openapi/vfs/newvfs/persistent/FSRecords.java b/platform/platform-impl/src/com/intellij/openapi/vfs/newvfs/persistent/FSRecords.java index 9d2c7e18fb2a..f73bbdd6bb98 100644 --- a/platform/platform-impl/src/com/intellij/openapi/vfs/newvfs/persistent/FSRecords.java +++ b/platform/platform-impl/src/com/intellij/openapi/vfs/newvfs/persistent/FSRecords.java @@ -44,6 +44,8 @@ import java.io.*; import java.util.concurrent.ScheduledFuture; import java.util.concurrent.locks.ReentrantReadWriteLock; +import static com.intellij.util.io.IOUtil.deleteWithSubordinates; + @SuppressWarnings({"PointlessArithmeticExpression", "HardCodedStringLiteral"}) public class FSRecords implements Forceable { private static final Logger LOG = Logger.getInstance("#com.intellij.vfs.persistent.FSRecords"); @@ -304,25 +306,6 @@ public class FSRecords implements Forceable { return dir == null ? PathManager.getSystemPath() + "/caches/" : dir; } - private static boolean deleteWithSubordinates(File file) { - final String baseName = file.getName(); - final File[] files = file.getParentFile().listFiles(new FileFilter() { - @Override - public boolean accept(final File pathname) { - return pathname.getName().startsWith(baseName); - } - }); - - boolean ok = true; - if (files != null) { - for (File f : files) { - ok &= FileUtil.delete(f); - } - } - - return ok; - } - private static void markDirty() { if (!myDirty) { myDirty = true; @@ -1140,7 +1123,9 @@ public class FSRecords implements Forceable { int page; try { r.lock(); - page = findContentPage(fileId, false); + checkFileIsValid(fileId); + + page = getContentRecordId(fileId); if (page == 0) return null; } finally { @@ -1189,20 +1174,6 @@ public class FSRecords implements Forceable { return getAttributesStorage().readStream(page); } - private static int findContentPage(int fileId, boolean toWrite) throws IOException { - checkFileIsValid(fileId); - - int recordId = getContentRecordId(fileId); - if (toWrite) { - if (recordId == 0 || getContentStorage().getRefCount(recordId) > 1) { - recordId = getContentStorage().acquireNewRecord(); - setContentRecordId(fileId, recordId); - } - } - - return recordId; - } - private static int findAttributePage(int fileId, @NotNull String attrId, boolean toWrite) throws IOException { checkFileIsValid(fileId); @@ -1321,56 +1292,14 @@ public class FSRecords implements Forceable { return new AttributeOutputStream(fileId, attId, fixedSize); } - private static class ContentOutputStream extends BaseOutputStream { - private ContentOutputStream(final int fileId, boolean readOnly) { - super(fileId, readOnly); - } - - @Override - protected int findOrCreatePage() throws IOException { - return findContentPage(myFileId, true); - } - - @Override - protected AbstractStorage getStorage() { - return getContentStorage(); - } - } - - private static class AttributeOutputStream extends BaseOutputStream { - private final String myAttributeId; - - private AttributeOutputStream(final int fileId, @NotNull String attributeId, boolean fixedSize) { - super(fileId, fixedSize); - myAttributeId = attributeId; - } - - @Override - protected void doFlush() throws IOException { - synchronized (myAttributeId) { - super.doFlush(); - } - } - - @Override - protected int findOrCreatePage() throws IOException { - return findAttributePage(myFileId, myAttributeId, true); - } - - @Override - protected AbstractStorage getStorage() { - return getAttributesStorage(); - } - } - - private abstract static class BaseOutputStream extends DataOutputStream { + private static class ContentOutputStream extends DataOutputStream { protected final int myFileId; protected final boolean myFixedSize; - private BaseOutputStream(final int fileId, boolean fixedSize) { + private ContentOutputStream(final int fileId, boolean readOnly) { super(new BufferExposingByteArrayOutputStream()); myFileId = fileId; - myFixedSize = fixedSize; + myFixedSize = readOnly; } @Override @@ -1378,35 +1307,74 @@ public class FSRecords implements Forceable { super.close(); try { - doFlush(); + final BufferExposingByteArrayOutputStream _out = (BufferExposingByteArrayOutputStream)out; + writeBytes(new ByteSequence(_out.getInternalBuffer(), 0, _out.size()), myFileId); } catch (Throwable e) { throw DbConnection.handleError(e); } } - protected void doFlush() throws IOException { - final BufferExposingByteArrayOutputStream _out = (BufferExposingByteArrayOutputStream)out; - writeBytes(new ByteSequence(_out.getInternalBuffer(), 0, _out.size()), myFileId); - } - public void writeBytes(ByteSequence bytes, int fileId) throws IOException { final int page; + RefCountingStorage contentStorage = getContentStorage(); try { w.lock(); incModCount(fileId); - page = findOrCreatePage(); + + checkFileIsValid(myFileId); + + int recordId = getContentRecordId(myFileId); + if (recordId == 0 || contentStorage.getRefCount(recordId) > 1) { + recordId = contentStorage.acquireNewRecord(); + setContentRecordId(myFileId, recordId); + } + + page = recordId; } finally { w.unlock(); } - getStorage().writeBytes(page, bytes, myFixedSize); + contentStorage.writeBytes(page, bytes, myFixedSize); + } + } + + private static class AttributeOutputStream extends DataOutputStream { + private final String myAttributeId; + private final int myFileId; + private final boolean myFixedSize; + + private AttributeOutputStream(final int fileId, @NotNull String attributeId, boolean fixedSize) { + super(new BufferExposingByteArrayOutputStream()); + myFileId = fileId; + myFixedSize = fixedSize; + myAttributeId = attributeId; } - protected abstract int findOrCreatePage() throws IOException; + @Override + public void close() throws IOException { + super.close(); - protected abstract AbstractStorage getStorage(); + try { + synchronized (myAttributeId) { + final BufferExposingByteArrayOutputStream _out = (BufferExposingByteArrayOutputStream)out; + final int page; + try { + w.lock(); + incModCount(myFileId); + page = findAttributePage(myFileId, myAttributeId, true); + } + finally { + w.unlock(); + } + getAttributesStorage().writeBytes(page, new ByteSequence(_out.getInternalBuffer(), 0, _out.size()), myFixedSize); + } + } + catch (Throwable e) { + throw DbConnection.handleError(e); + } + } } public static void dispose() { diff --git a/platform/platform-impl/src/com/intellij/openapi/wm/impl/IdeFrameImpl.java b/platform/platform-impl/src/com/intellij/openapi/wm/impl/IdeFrameImpl.java index 44c0e4fe16fa..4e4eda3f0d68 100644 --- a/platform/platform-impl/src/com/intellij/openapi/wm/impl/IdeFrameImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/wm/impl/IdeFrameImpl.java @@ -342,6 +342,9 @@ public class IdeFrameImpl extends JFrame implements IdeFrame, DataProvider { @Override public void run() { WindowManagerEx.getInstanceEx().setFullScreen(IdeFrameImpl.this, true); + if (SystemInfo.isMacOSLion) { + setBounds(ScreenUtil.getScreenRectangle(getLocationOnScreen())); + } myRestoreFullScreen = false; } }); diff --git a/platform/platform-impl/src/com/intellij/openapi/wm/impl/status/EncodingPanel.java b/platform/platform-impl/src/com/intellij/openapi/wm/impl/status/EncodingPanel.java index 7b4f77d12148..616b0148f5ee 100644 --- a/platform/platform-impl/src/com/intellij/openapi/wm/impl/status/EncodingPanel.java +++ b/platform/platform-impl/src/com/intellij/openapi/wm/impl/status/EncodingPanel.java @@ -50,7 +50,6 @@ import com.intellij.ui.ClickListener; import com.intellij.ui.awt.RelativePoint; import com.intellij.util.Alarm; import com.intellij.util.ui.UIUtil; -import org.jetbrains.annotations.NonNls; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -71,7 +70,7 @@ public class EncodingPanel extends EditorBasedWidget implements StatusBarWidget. public EncodingPanel(@NotNull final Project project) { super(project); - myComponent = new TextPanel(getMaxValue()) { + myComponent = new TextPanel() { @Override protected void paintComponent(@NotNull final Graphics g) { super.paintComponent(g); @@ -131,12 +130,6 @@ public class EncodingPanel extends EditorBasedWidget implements StatusBarWidget. return null; } - @NonNls - @NotNull - private static String getMaxValue() { - return "windows-1251"; - } - @Override public void install(@NotNull StatusBar statusBar) { super.install(statusBar); diff --git a/platform/platform-impl/src/com/intellij/openapi/wm/impl/status/IdeStatusBarImpl.java b/platform/platform-impl/src/com/intellij/openapi/wm/impl/status/IdeStatusBarImpl.java index 15cb1e79cf01..ecfe99b646f3 100644 --- a/platform/platform-impl/src/com/intellij/openapi/wm/impl/status/IdeStatusBarImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/wm/impl/status/IdeStatusBarImpl.java @@ -621,7 +621,7 @@ public class IdeStatusBarImpl extends JComponent implements StatusBarEx { private final StatusBarWidget.MultipleTextValuesPresentation myPresentation; private MultipleTextValuesPresentationWrapper(@NotNull final StatusBarWidget.MultipleTextValuesPresentation presentation) { - super(presentation.getMaxValue()); + super(); myPresentation = presentation; putClientProperty(UIUtil.CENTER_TOOLTIP_DEFAULT, Boolean.TRUE); @@ -679,7 +679,7 @@ public class IdeStatusBarImpl extends JComponent implements StatusBarEx { private boolean myMouseOver; private TextPresentationWrapper(@NotNull final StatusBarWidget.TextPresentation presentation) { - super(presentation.getMaxPossibleText()); + super(); myPresentation = presentation; myClickConsumer = myPresentation.getClickConsumer(); diff --git a/platform/platform-impl/src/com/intellij/openapi/wm/impl/status/LineSeparatorPanel.java b/platform/platform-impl/src/com/intellij/openapi/wm/impl/status/LineSeparatorPanel.java index c1b4adfad7e4..b5c2e53069c3 100644 --- a/platform/platform-impl/src/com/intellij/openapi/wm/impl/status/LineSeparatorPanel.java +++ b/platform/platform-impl/src/com/intellij/openapi/wm/impl/status/LineSeparatorPanel.java @@ -61,7 +61,7 @@ public class LineSeparatorPanel extends EditorBasedWidget implements StatusBarWi public LineSeparatorPanel(@NotNull final Project project) { super(project); - myComponent = new TextPanel(LineSeparator.CRLF.toString()) { + myComponent = new TextPanel() { @Override protected void paintComponent(@NotNull final Graphics g) { super.paintComponent(g); diff --git a/platform/platform-impl/src/com/intellij/openapi/wm/impl/status/TextPanel.java b/platform/platform-impl/src/com/intellij/openapi/wm/impl/status/TextPanel.java index d2a8f93018b2..84d7e9ac1929 100644 --- a/platform/platform-impl/src/com/intellij/openapi/wm/impl/status/TextPanel.java +++ b/platform/platform-impl/src/com/intellij/openapi/wm/impl/status/TextPanel.java @@ -27,8 +27,6 @@ public class TextPanel extends JComponent { @Nullable private String myText; @Nullable private Color myCustomColor; - private final String myMaxPossibleString; - private Integer myPrefHeight; private Dimension myExplicitSize; @@ -36,21 +34,15 @@ public class TextPanel extends JComponent { private float myAlignment; protected TextPanel() { - this(null); + setFont(SystemInfo.isMac ? UIUtil.getLabelFont().deriveFont(11.0f) : UIUtil.getLabelFont()); + setOpaque(false); } protected TextPanel(final boolean decorate) { - this(null); + this(); myDecorate = decorate; } - protected TextPanel(@Nullable final String maxPossibleString) { - myMaxPossibleString = maxPossibleString; - - setFont(SystemInfo.isMac ? UIUtil.getLabelFont().deriveFont(11.0f) : UIUtil.getLabelFont()); - setOpaque(false); - } - public void recomputeSize() { final JLabel label = new JLabel("XXX"); label.setFont(getFont()); @@ -144,6 +136,8 @@ public class TextPanel extends JComponent { public final void setText(@Nullable final String text) { myText = text == null ? "" : text; + setPreferredSize(getPanelDimensionFromFontMetrics(myText)); + revalidate(); repaint(); } @@ -156,15 +150,15 @@ public class TextPanel extends JComponent { return myExplicitSize; } - int max = 0; String text = getTextForPreferredSize(); - if (text != null) max = getFontMetrics(getFont()).stringWidth(text); + return getPanelDimensionFromFontMetrics(text); + } - if (myPrefHeight != null) { - return new Dimension(20 + max, myPrefHeight); - } + private Dimension getPanelDimensionFromFontMetrics (String text) { + int width = (text == null) ? 0 : 20 + getFontMetrics(getFont()).stringWidth(text); + int height = (myPrefHeight == null) ? getMinimumSize().height : myPrefHeight; - return new Dimension(20 + max, getMinimumSize().height); + return new Dimension(width, height); } /** @@ -172,7 +166,7 @@ public class TextPanel extends JComponent { */ @Nullable protected String getTextForPreferredSize() { - return myMaxPossibleString; + return myText; } public void setExplicitSize(@Nullable Dimension explicitSize) { diff --git a/platform/platform-resources-en/src/tips/SelectTasks.html b/platform/platform-resources-en/src/tips/SelectTasks.html index 0449f58af0da..a878adda6570 100644 --- a/platform/platform-resources-en/src/tips/SelectTasks.html +++ b/platform/platform-resources-en/src/tips/SelectTasks.html @@ -1,12 +1,12 @@ - +

When working with a lengthy list of tasks, you don't need to delete them one by one. -Select several tasks, using Shift -or Control keys, click the right arrow, and then click + Select several tasks, using Shift + or Control keys, click the right arrow, and then click Remove.

diff --git a/platform/platform-resources-en/src/tips/ShowAppliedStyles.html b/platform/platform-resources-en/src/tips/ShowAppliedStyles.html index 0c64330c15b9..07dbe5567e6a 100644 --- a/platform/platform-resources-en/src/tips/ShowAppliedStyles.html +++ b/platform/platform-resources-en/src/tips/ShowAppliedStyles.html @@ -1,16 +1,17 @@ - + -

You can quickly review all styles currently applied to an HTML tag, by right-clicking the tag name and selecting - Show Applied Styles For Tag - from the popup menu.

-

+

You can quickly review all styles currently applied to an HTML tag, by right-clicking the tag name and selecting + Show Applied Styles For Tag + from the context menu:

+

+ diff --git a/platform/platform-resources-en/src/tips/images/issueNavigation.png b/platform/platform-resources-en/src/tips/images/issueNavigation.png index 0d454c693ed1..adca4befad27 100644 Binary files a/platform/platform-resources-en/src/tips/images/issueNavigation.png and b/platform/platform-resources-en/src/tips/images/issueNavigation.png differ diff --git a/platform/platform-resources-en/src/tips/images/issueNavigation1.png b/platform/platform-resources-en/src/tips/images/issueNavigation1.png index 7683ac53d6ed..f6df06364c37 100644 Binary files a/platform/platform-resources-en/src/tips/images/issueNavigation1.png and b/platform/platform-resources-en/src/tips/images/issueNavigation1.png differ diff --git a/platform/platform-resources-en/src/tips/images/show_applied_styles.gif b/platform/platform-resources-en/src/tips/images/show_applied_styles.gif index 8f8fb34f9cd2..3f1e4e809d1d 100644 Binary files a/platform/platform-resources-en/src/tips/images/show_applied_styles.gif and b/platform/platform-resources-en/src/tips/images/show_applied_styles.gif differ diff --git a/platform/platform-resources/src/idea/Keymap_Xcode.xml b/platform/platform-resources/src/idea/Keymap_Xcode.xml index 461206add912..5c0668e1aefc 100644 --- a/platform/platform-resources/src/idea/Keymap_Xcode.xml +++ b/platform/platform-resources/src/idea/Keymap_Xcode.xml @@ -386,12 +386,10 @@ - - diff --git a/platform/testFramework/src/com/intellij/mock/Mock.java b/platform/testFramework/src/com/intellij/mock/Mock.java index 2453ba3b4f16..99e448dd9c55 100644 --- a/platform/testFramework/src/com/intellij/mock/Mock.java +++ b/platform/testFramework/src/com/intellij/mock/Mock.java @@ -423,6 +423,10 @@ public class Mock { public int getWindowSplitCount() { return 0; } + + @Override + public void setSelectedEditor(VirtualFile file, String fileEditorProviderId) { + } } public static class MyVirtualFile extends VirtualFile { diff --git a/platform/util/src/com/intellij/util/io/IOUtil.java b/platform/util/src/com/intellij/util/io/IOUtil.java index 8c81a499c7c4..65228ce214ba 100644 --- a/platform/util/src/com/intellij/util/io/IOUtil.java +++ b/platform/util/src/com/intellij/util/io/IOUtil.java @@ -15,13 +15,11 @@ */ package com.intellij.util.io; +import com.intellij.openapi.util.io.FileUtil; import org.jetbrains.annotations.NonNls; import org.jetbrains.annotations.NotNull; -import java.io.DataInput; -import java.io.DataOutput; -import java.io.IOException; -import java.io.UTFDataFormatException; +import java.io.*; import java.nio.charset.Charset; public class IOUtil { @@ -87,7 +85,7 @@ public class IOUtil { boolean isAscii = true; for (int i = 0; i < len; i++) { char c = value.charAt(i); - if (c < 0 || c >= 128) { + if (c >= 128) { isAscii = false; break; } @@ -126,15 +124,32 @@ public class IOUtil { } public static boolean isAscii(final String str) { - int length = str.length(); - for (int i = 0; i != length; ++ i) { - final char c = str.charAt(i); - if (!isAscii(c)) return false; + for (int i = 0, length = str.length(); i < length; ++ i) { + if (str.charAt(i) >= 128) return false; } return true; } public static boolean isAscii(char c) { - return c >= 0 && c < 128; + return c < 128; + } + + public static boolean deleteWithSubordinates(File file) { + final String baseName = file.getName(); + final File[] files = file.getParentFile().listFiles(new FileFilter() { + @Override + public boolean accept(final File pathname) { + return pathname.getName().startsWith(baseName); + } + }); + + boolean ok = true; + if (files != null) { + for (File f : files) { + ok &= FileUtil.delete(f); + } + } + + return ok; } } diff --git a/platform/util/src/com/intellij/util/io/PersistentHashMap.java b/platform/util/src/com/intellij/util/io/PersistentHashMap.java index a099999d6cbf..e09d36d2f099 100644 --- a/platform/util/src/com/intellij/util/io/PersistentHashMap.java +++ b/platform/util/src/com/intellij/util/io/PersistentHashMap.java @@ -284,18 +284,7 @@ public class PersistentHashMap extends PersistentEnumeratorDelegate< } public static void deleteFilesStartingWith(@NotNull File prefixFile) { - final String baseName = prefixFile.getName(); - final File[] files = prefixFile.getParentFile().listFiles(new FileFilter() { - @Override - public boolean accept(@NotNull final File pathName) { - return pathName.getName().startsWith(baseName); - } - }); - if (files != null) { - for (File f : files) { - FileUtil.delete(f); - } - } + IOUtil.deleteWithSubordinates(prefixFile); } @NotNull diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/UnversionedViewDialog.java b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/UnversionedViewDialog.java index 39925f364e8b..0c658bf9c744 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/UnversionedViewDialog.java +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/UnversionedViewDialog.java @@ -122,6 +122,9 @@ public class UnversionedViewDialog extends DialogWrapper { actions.add(collapseAction); actions.add(new ToggleShowFlattenAction()); actions.add(new ScheduleForAdditionAction() { + { + getTemplatePresentation().setIcon(AllIcons.General.Add); + } @Override public void actionPerformed(AnActionEvent e) { super.actionPerformed(e); diff --git a/plugins/ant/ant.iml b/plugins/ant/ant.iml index 9f7c99239c68..be08ab558305 100644 --- a/plugins/ant/ant.iml +++ b/plugins/ant/ant.iml @@ -25,6 +25,7 @@ + diff --git a/plugins/git4idea/src/git4idea/ui/branch/GitBranchWidget.java b/plugins/git4idea/src/git4idea/ui/branch/GitBranchWidget.java index 9dc52fe6db06..10f8de491587 100644 --- a/plugins/git4idea/src/git4idea/ui/branch/GitBranchWidget.java +++ b/plugins/git4idea/src/git4idea/ui/branch/GitBranchWidget.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2010 JetBrains s.r.o. + * Copyright 2000-2013 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. @@ -110,6 +110,7 @@ public class GitBranchWidget extends EditorBasedWidget implements StatusBarWidge @NotNull @Override + @Deprecated public String getMaxValue() { return myMaxString; } diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/codeInspection/utils/EquivalenceChecker.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/codeInspection/utils/EquivalenceChecker.java index 8aebf825a629..4776586c78a1 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/codeInspection/utils/EquivalenceChecker.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/codeInspection/utils/EquivalenceChecker.java @@ -172,7 +172,8 @@ public class EquivalenceChecker { } private static boolean assertStatementsAreEquivalent(GrAssertStatement statement1, GrAssertStatement statement2) { - return expressionsAreEquivalent(statement1.getAssertion(), statement2.getAssertion()); + return expressionsAreEquivalent(statement1.getAssertion(), statement2.getAssertion()) && + expressionsAreEquivalent(statement1.getErrorMessage(), statement2.getErrorMessage()); } private static boolean synchronizedStatementsAreEquivalent(GrSynchronizedStatement statement1, diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/editor/GroovyLiteralCopyPasteProcessor.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/editor/GroovyLiteralCopyPasteProcessor.java index 894a5cd0f725..9972a658b9d4 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/editor/GroovyLiteralCopyPasteProcessor.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/editor/GroovyLiteralCopyPasteProcessor.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2011 JetBrains s.r.o. + * Copyright 2000-2013 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. @@ -96,8 +96,8 @@ public class GroovyLiteralCopyPasteProcessor extends StringLiteralCopyPasteProce @Override - protected String getLineBreaker(PsiElement token) { - final String text = token.getText(); + protected String getLineBreaker(@NotNull PsiElement token) { + final String text = token.getParent().getText(); if (text.contains("'''") || text.contains("\"\"\"")) { return "\n"; } diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/refactoring/introduce/field/GrIntroduceFieldHandler.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/refactoring/introduce/field/GrIntroduceFieldHandler.java index 06a777d4f042..8562a1ba283b 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/refactoring/introduce/field/GrIntroduceFieldHandler.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/refactoring/introduce/field/GrIntroduceFieldHandler.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2011 JetBrains s.r.o. + * Copyright 2000-2013 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. @@ -40,6 +40,7 @@ import org.jetbrains.plugins.groovy.lang.psi.api.statements.typedef.GrEnumTypeDe import org.jetbrains.plugins.groovy.lang.psi.api.statements.typedef.GrTypeDefinition; import org.jetbrains.plugins.groovy.lang.psi.api.statements.typedef.members.GrEnumConstantList; import org.jetbrains.plugins.groovy.lang.psi.api.statements.typedef.members.GrMember; +import org.jetbrains.plugins.groovy.lang.psi.api.statements.typedef.members.GrMembersDeclaration; import org.jetbrains.plugins.groovy.lang.psi.api.statements.typedef.members.GrMethod; import org.jetbrains.plugins.groovy.lang.psi.impl.PsiImplUtil; import org.jetbrains.plugins.groovy.lang.psi.impl.synthetic.GroovyScriptClass; @@ -126,21 +127,18 @@ public class GrIntroduceFieldHandler extends GrIntroduceHandlerBasea/b', 'def x = /smth/', 'def x = /smtha\\/b/' + doTest 'a/b', 'def x = /smth/', 'def x = /smtha\\/b/' } public void testEscapeSlashesInRegexFromRegex() { - doTest 'a.groovy', 'def x = / a\\/b/', 'def x = /smth/', 'def x = /smtha\\/b/' + doTest 'def x = / a\\/b/', 'def x = /smth/', 'def x = /smtha\\/b/' } void testDontEscapeSymbolsInRegex(){ - doTest 'a.groovy', '''def x = a/b''', 'def x = / /', '''def x = /a\\/b /''' + doTest '''def x = a/b''', 'def x = / /', '''def x = /a\\/b /''' } public void testEscapeDollarInGString() { - doTest 'a.groovy', '''def x = '$ab/''', 'def x = "smthh"', 'def x = "smth\\$ah"' + doTest '''def x = '$ab/''', 'def x = "smthh"', 'def x = "smth\\$ah"' } public void testRestoreImports() { myFixture.addClass("package foo; public class Foo {}") - doTest 'a.groovy', '''import foo.*; Foo f''', '', '''import foo.Foo + doTest '''import foo.*; Foo f''', '', '''import foo.Foo Foo f''' } public void testPasteMultilineIntoMultilineGString() throws Exception { - doTest 'a.txt', 'a/b\nc/d', 'def x = """smth"""', 'def x = """smtha/b\nc/d"""' + doTest 'a/b\nc/d', 'def x = """smth"""', 'def x = """smtha/b\nc/d"""' } public void testPasteMultilineIntoString() throws Exception { - doTest 'a.txt', 'a\nd', "def x = 'smth'", "def x = 'smtha\\n' +\n 'd'" + doTest 'a\nd', "def x = 'smth'", "def x = 'smtha\\n' +\n 'd'" } public void testPasteMultilineIntoGString() throws Exception { - doTest 'a.txt', 'a\nd', 'def x = "smth"', 'def x = "smtha\\n" +\n "d"' + doTest 'a\nd', 'def x = "smth"', 'def x = "smtha\\n" +\n "d"' } public void testGStringEolReplace() throws Exception { - doTest 'a.txt', - '''first + doTest '''first second ''', '''def x = """ @@ -101,7 +100,21 @@ second } void testPasteInGStringContent() { - doTest 'a.groovy', 'def a = 5\\6', 'def x = " "', 'def x = "5\\\\6 "' + doTest 'def a = 5\\6', 'def x = " "', 'def x = "5\\\\6 "' } + void testPasteLFInGString() { + doTest 'bar\nbaz', ''' +""" +$foo + +""" +''', ''' +""" +$foo +bar +baz +""" +''' + } } diff --git a/plugins/groovy/testdata/refactoring/introduceField/Anonymous2_after.groovy b/plugins/groovy/testdata/refactoring/introduceField/Anonymous2_after.groovy index cebc36fe407d..f7ccc4a47f5b 100644 --- a/plugins/groovy/testdata/refactoring/introduceField/Anonymous2_after.groovy +++ b/plugins/groovy/testdata/refactoring/introduceField/Anonymous2_after.groovy @@ -7,7 +7,6 @@ def a = new A() { f = 123 } int i - def f @Override diff --git a/plugins/groovy/testdata/refactoring/introduceField/Anonymous3_after.groovy b/plugins/groovy/testdata/refactoring/introduceField/Anonymous3_after.groovy index 84dd753e25d8..bc413dbeba86 100644 --- a/plugins/groovy/testdata/refactoring/introduceField/Anonymous3_after.groovy +++ b/plugins/groovy/testdata/refactoring/introduceField/Anonymous3_after.groovy @@ -4,12 +4,11 @@ interface A { def a = new A() { int i + def f { f = 123 } - def f - @Override void m1() { println f diff --git a/plugins/groovy/testdata/refactoring/introduceField/DeclareFinal_after.groovy b/plugins/groovy/testdata/refactoring/introduceField/DeclareFinal_after.groovy index 592c0d8d49f6..4dab8f017bce 100644 --- a/plugins/groovy/testdata/refactoring/introduceField/DeclareFinal_after.groovy +++ b/plugins/groovy/testdata/refactoring/introduceField/DeclareFinal_after.groovy @@ -1,6 +1,5 @@ class Foo { def bar = 5 - final f = bar + 5 def foo() { diff --git a/plugins/groovy/testdata/refactoring/introduceField/DontReplaceStaticOccurrences_after.groovy b/plugins/groovy/testdata/refactoring/introduceField/DontReplaceStaticOccurrences_after.groovy index 4363b4c6a8e7..7ca2367e5734 100644 --- a/plugins/groovy/testdata/refactoring/introduceField/DontReplaceStaticOccurrences_after.groovy +++ b/plugins/groovy/testdata/refactoring/introduceField/DontReplaceStaticOccurrences_after.groovy @@ -1,6 +1,5 @@ class Bar { static int x = 5 - final f = x + 2 def foo() { diff --git a/plugins/hg4idea/src/org/zmlx/hg4idea/status/ui/HgStatusWidget.java b/plugins/hg4idea/src/org/zmlx/hg4idea/status/ui/HgStatusWidget.java index a5724010ba1e..198dbdba198c 100644 --- a/plugins/hg4idea/src/org/zmlx/hg4idea/status/ui/HgStatusWidget.java +++ b/plugins/hg4idea/src/org/zmlx/hg4idea/status/ui/HgStatusWidget.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2012 JetBrains s.r.o. + * Copyright 2000-2013 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. @@ -104,6 +104,7 @@ public class HgStatusWidget extends EditorBasedWidget implements StatusBarWidget @NotNull @Override + @Deprecated public String getMaxPossibleText() { return MAX_STRING; } diff --git a/plugins/javaFX/common-javaFX-plugin/src/org/jetbrains/plugins/javaFX/packaging/AbstractJavaFxPackager.java b/plugins/javaFX/common-javaFX-plugin/src/org/jetbrains/plugins/javaFX/packaging/AbstractJavaFxPackager.java index a36363116174..0f24a668a363 100644 --- a/plugins/javaFX/common-javaFX-plugin/src/org/jetbrains/plugins/javaFX/packaging/AbstractJavaFxPackager.java +++ b/plugins/javaFX/common-javaFX-plugin/src/org/jetbrains/plugins/javaFX/packaging/AbstractJavaFxPackager.java @@ -261,7 +261,8 @@ public abstract class AbstractJavaFxPackager { commands.add("-classpath"); commands.add(antHome + "/lib/ant.jar" + File.pathSeparator + antHome + "/lib/ant-launcher.jar" + File.pathSeparator + - javaHome + "/lib/ant-javafx.jar"); + javaHome + "/lib/ant-javafx.jar" + File.pathSeparator + + javaHome + "/jre/lib/jfxrt.jar"); commands.add("org.apache.tools.ant.launch.Launcher"); commands.add("-f"); try { @@ -335,4 +336,6 @@ public abstract class AbstractJavaFxPackager { public abstract String getPreloaderClass(); public abstract String getPreloaderJar(); + + public abstract boolean convertCss2Bin(); } diff --git a/plugins/javaFX/common-javaFX-plugin/src/org/jetbrains/plugins/javaFX/packaging/JavaFxAntGenerator.java b/plugins/javaFX/common-javaFX-plugin/src/org/jetbrains/plugins/javaFX/packaging/JavaFxAntGenerator.java index 883dd8dba8ec..1e814429accf 100644 --- a/plugins/javaFX/common-javaFX-plugin/src/org/jetbrains/plugins/javaFX/packaging/JavaFxAntGenerator.java +++ b/plugins/javaFX/common-javaFX-plugin/src/org/jetbrains/plugins/javaFX/packaging/JavaFxAntGenerator.java @@ -39,6 +39,8 @@ public class JavaFxAntGenerator { final String preloaderJar = packager.getPreloaderJar(); final String preloaderClass = packager.getPreloaderClass(); String preloaderFiles = null; + String allButPreloader = null; + if (!StringUtil.isEmptyOrSpaces(preloaderJar) && !StringUtil.isEmptyOrSpaces(preloaderClass)) { preloaderFiles = artifactName + "_preloader_files"; topLevelTagsCollector.add(new SimpleTag("fx:fileset", @@ -46,8 +48,24 @@ public class JavaFxAntGenerator { new Pair("requiredFor", "preloader"), new Pair("dir", tempDirPath), new Pair("includes", preloaderJar))); + + allButPreloader = "all_but_preloader_" + artifactName; + topLevelTagsCollector.add(new SimpleTag("fx:fileset", new Pair("id", allButPreloader), + new Pair("dir", tempDirPath), + new Pair("excludes", preloaderJar), + new Pair("includes", "*.jar"))); } + final String allButSelf = "all_but_" + artifactName; + final SimpleTag allButSelfAndPreloader = new SimpleTag("fx:fileset", new Pair("id", allButSelf), + new Pair("dir", tempDirPath), + new Pair("includes", "*.jar")); + allButSelfAndPreloader.add(new SimpleTag("exclude", new Pair("name", artifactFileName))); + if (preloaderJar != null) { + allButSelfAndPreloader.add(new SimpleTag("exclude", new Pair("name", preloaderJar))); + } + topLevelTagsCollector.add(allButSelfAndPreloader); + //register application final String appId = artifactName + "_id"; Pair[] applicationParams = { @@ -67,6 +85,12 @@ public class JavaFxAntGenerator { topLevelTagsCollector.add(applicationTag); + if (packager.convertCss2Bin()) { + final SimpleTag css2binTag = new SimpleTag("fx:csstobin", new Pair("outdir", tempDirPath)); + css2binTag.add(new SimpleTag("fileset", new Pair("dir", tempDirPath), new Pair("includes", "**/*.css"))); + topLevelTagsCollector.add(css2binTag); + } + //create jar task final SimpleTag createJarTag = new SimpleTag("fx:jar", new Pair("destfile", tempDirPath + File.separator + artifactFileName)); @@ -77,7 +101,7 @@ public class JavaFxAntGenerator { fileset2Jar.add(new Pair("excludes", "*.jar")); createJarTag.add(new SimpleTag("fileset", fileset2Jar.toArray(new Pair[fileset2Jar.size()]))); - createJarTag.add(createResourcesTag(tempDirPath, preloaderFiles, artifactFileName, preloaderJar, false)); + createJarTag.add(createResourcesTag(preloaderFiles, false, allButPreloader, allButSelf)); topLevelTagsCollector.add(createJarTag); @@ -97,29 +121,22 @@ public class JavaFxAntGenerator { if (!infoPairs.isEmpty()) { deployTag.add(new SimpleTag("fx:info", infoPairs.toArray(new Pair[infoPairs.size()]))); } - deployTag.add(createResourcesTag(tempDirPath, preloaderFiles, artifactFileName, preloaderJar, true)); + deployTag.add(createResourcesTag(preloaderFiles, true, allButPreloader, allButSelf)); topLevelTagsCollector.add(deployTag); return topLevelTagsCollector; } - private static SimpleTag createResourcesTag(String tempDirPath, String preloaderFiles, - String artifactFileName, - String preloaderJar, - boolean includeSelf) { + private static SimpleTag createResourcesTag(String preloaderFiles, + boolean includeSelf, + String allButPreloader, + String allButSelf) { final SimpleTag resourcesTag = new SimpleTag("fx:resources"); if (preloaderFiles != null) { resourcesTag.add(new SimpleTag("fx:fileset", new Pair("refid", preloaderFiles))); - } - final File[] files = new File(tempDirPath).listFiles(); - if (files != null) { - for (File file : files) { - final String fileName = file.getName(); - if (!fileName.equals(preloaderJar) && (includeSelf || !fileName.equals(artifactFileName))) { - resourcesTag.add(new SimpleTag("fx:fileset", new Pair("dir", tempDirPath), new Pair("includes", fileName))); - } - - } + resourcesTag.add(new SimpleTag("fx:fileset", new Pair("refid", includeSelf ? allButPreloader : allButSelf))); + } else if (!includeSelf) { + resourcesTag.add(new SimpleTag("fx:fileset", new Pair("refid", allButSelf))); } return resourcesTag; } diff --git a/plugins/javaFX/javaFX-CE/testSrc/org/jetbrains/plugins/javaFX/packaging/JavaFxAntTaskTest.java b/plugins/javaFX/javaFX-CE/testSrc/org/jetbrains/plugins/javaFX/packaging/JavaFxAntTaskTest.java index c70899c98bdd..f5e9cb659645 100644 --- a/plugins/javaFX/javaFX-CE/testSrc/org/jetbrains/plugins/javaFX/packaging/JavaFxAntTaskTest.java +++ b/plugins/javaFX/javaFX-CE/testSrc/org/jetbrains/plugins/javaFX/packaging/JavaFxAntTaskTest.java @@ -34,26 +34,36 @@ public class JavaFxAntTaskTest extends UsefulTestCase{ private static final String PRELOADER_JAR = "preloaderJar"; public void testJarDeployNoInfo() throws Exception { - doTest("\n" + - "\n" + - "\n" + - "\n" + - "\n" + - "\n" + - "\n" + - "\n" + - "\n" + - "\n" + - "\n" + - "\n" + - "\n" + - "\n" + - "\n" + - "\n", Collections.emptyMap()); + doTest("\n" + + "\n" + + "\n" + + "\n" + + "\n" + + "\n" + + "\n" + + "\n" + + "\n" + + "\n" + + "\n" + + "\n" + + "\n" + + "\n" + + "\n" + + "\n" + + "\n" + + "\n" + + "\n" + + "\n" + + "\n" + + "\n", Collections.emptyMap()); } public void testJarDeployTitle() throws Exception { - doTest("\n" + + doTest("\n" + + "\n" + + "\n" + + "\n" + + "\n" + "\n" + "\n" + "\n" + @@ -61,6 +71,8 @@ public class JavaFxAntTaskTest extends UsefulTestCase{ "\n" + "\n" + "\n" + + "\n" + + "\n" + "\n" + "\n" + "\n" + @@ -78,10 +90,18 @@ public class JavaFxAntTaskTest extends UsefulTestCase{ options.put(PRELOADER_CLASS, "MyPreloader"); options.put(PRELOADER_JAR, "preloader.jar"); doTest("\n" + + "\n" + + "\n" + + "\n" + + "\n" + + "\n" + + "\n" + + "\n" + + "\n" + "\n" + "\n" + "\n" + - "\n" + + "\n" + "\n" + "\n" + "\n" + @@ -89,14 +109,18 @@ public class JavaFxAntTaskTest extends UsefulTestCase{ "\n" + "\n" + "\n" + + "\n" + + "\n" + "\n" + "\n" + - "\n" + + "\n" + "\n" + "\n" + "\n" + "\n" + "\n" + + "\n" + + "\n" + "\n" + "\n", options); } @@ -143,6 +167,7 @@ public class JavaFxAntTaskTest extends UsefulTestCase{ private String myParams; private String myPreloaderClass; private String myPreloaderJar; + private boolean myConvertCss2Bin; private MockJavaFxPackager(String outputPath) { myOutputPath = outputPath; @@ -279,5 +304,10 @@ public class JavaFxAntTaskTest extends UsefulTestCase{ public String getPreloaderJar() { return myPreloaderJar; } + + @Override + public boolean convertCss2Bin() { + return myConvertCss2Bin; + } } } diff --git a/plugins/javaFX/javaFX-jps-plugin/src/org/jetbrains/plugins/javaFX/JpsJavaFxArtifactBuildTaskProvider.java b/plugins/javaFX/javaFX-jps-plugin/src/org/jetbrains/plugins/javaFX/JpsJavaFxArtifactBuildTaskProvider.java index f26dcac10632..f252a2ea55d1 100644 --- a/plugins/javaFX/javaFX-jps-plugin/src/org/jetbrains/plugins/javaFX/JpsJavaFxArtifactBuildTaskProvider.java +++ b/plugins/javaFX/javaFX-jps-plugin/src/org/jetbrains/plugins/javaFX/JpsJavaFxArtifactBuildTaskProvider.java @@ -212,6 +212,11 @@ public class JpsJavaFxArtifactBuildTaskProvider extends ArtifactBuildTaskProvide return null; } + @Override + public boolean convertCss2Bin() { + return myProperties.myState.isConvertCss2Bin(); + } + private JpsArtifact getPreloaderArtifact() { for (JpsPackagingElement element : myArtifact.getRootElement().getChildren()) { if (element instanceof JpsArtifactOutputPackagingElement) { diff --git a/plugins/javaFX/javaFX-jps-plugin/src/org/jetbrains/plugins/javaFX/JpsJavaFxArtifactProperties.java b/plugins/javaFX/javaFX-jps-plugin/src/org/jetbrains/plugins/javaFX/JpsJavaFxArtifactProperties.java index fcb5ae582383..b58f6c6c8944 100644 --- a/plugins/javaFX/javaFX-jps-plugin/src/org/jetbrains/plugins/javaFX/JpsJavaFxArtifactProperties.java +++ b/plugins/javaFX/javaFX-jps-plugin/src/org/jetbrains/plugins/javaFX/JpsJavaFxArtifactProperties.java @@ -34,6 +34,7 @@ public class JpsJavaFxArtifactProperties extends JpsElementBase suspiciousPaths = new ArrayList(); - if (programFilesPath != null && new File(programFilesPath, ORACLE).isDirectory()) { - fillPaths(programFilesPath, sb11, sb10, suspiciousPaths); - } else { - final String programFiles = "C:\\Program Files"; - fillPaths(programFiles, sb11, sb10, suspiciousPaths); - fillPaths(programFiles + " (x86)", sb11, sb10, suspiciousPaths); - } + final String programFiles = "C:\\Program Files"; + fillPaths(programFiles, sb11, sb10, suspiciousPaths); + fillPaths(programFiles + " (x86)", sb11, sb10, suspiciousPaths); final File sb = FileUtil.findFirstThatExist(ArrayUtil.toStringArray(suspiciousPaths)); if (sb != null) { path = sb.getPath(); diff --git a/plugins/javaFX/src/org/jetbrains/plugins/javaFX/packaging/JavaFxArtifactProperties.java b/plugins/javaFX/src/org/jetbrains/plugins/javaFX/packaging/JavaFxArtifactProperties.java index 67e295fbafb1..a81172de6525 100644 --- a/plugins/javaFX/src/org/jetbrains/plugins/javaFX/packaging/JavaFxArtifactProperties.java +++ b/plugins/javaFX/src/org/jetbrains/plugins/javaFX/packaging/JavaFxArtifactProperties.java @@ -68,6 +68,7 @@ public class JavaFxArtifactProperties extends ArtifactProperties - + @@ -163,7 +163,7 @@ - + @@ -172,7 +172,7 @@ - + @@ -192,6 +192,14 @@ + + + + + + + + diff --git a/plugins/javaFX/src/org/jetbrains/plugins/javaFX/packaging/JavaFxArtifactPropertiesEditor.java b/plugins/javaFX/src/org/jetbrains/plugins/javaFX/packaging/JavaFxArtifactPropertiesEditor.java index feaee5b4e41f..8060c8ff120b 100644 --- a/plugins/javaFX/src/org/jetbrains/plugins/javaFX/packaging/JavaFxArtifactPropertiesEditor.java +++ b/plugins/javaFX/src/org/jetbrains/plugins/javaFX/packaging/JavaFxArtifactPropertiesEditor.java @@ -51,6 +51,7 @@ public class JavaFxArtifactPropertiesEditor extends ArtifactPropertiesEditor { private JCheckBox myUpdateInBackgroundCB; private JCheckBox myEnableSigningCB; private JButton myEditSignCertificateButton; + private JCheckBox myConvertCssToBinCheckBox; private JavaFxEditCertificatesDialog myDialog; public JavaFxArtifactPropertiesEditor(JavaFxArtifactProperties properties, final Project project, Artifact artifact) { @@ -99,6 +100,7 @@ public class JavaFxArtifactPropertiesEditor extends ArtifactPropertiesEditor { final boolean inBackground = Comparing.strEqual(myProperties.getUpdateMode(), JavaFxPackagerConstants.UPDATE_MODE_BACKGROUND); if (inBackground != myUpdateInBackgroundCB.isSelected()) return true; if (myProperties.isEnabledSigning() != myEnableSigningCB.isSelected()) return true; + if (myProperties.isConvertCss2Bin() != myConvertCssToBinCheckBox.isSelected()) return true; if (myDialog != null) { if (isModified(myProperties.getAlias(), myDialog.myPanel.myAliasTF)) return true; if (isModified(myProperties.getKeystore(), myDialog.myPanel.myKeystore)) return true; @@ -132,6 +134,7 @@ public class JavaFxArtifactPropertiesEditor extends ArtifactPropertiesEditor { myProperties.setUpdateMode(myUpdateInBackgroundCB.isSelected() ? JavaFxPackagerConstants.UPDATE_MODE_BACKGROUND : JavaFxPackagerConstants.UPDATE_MODE_ALWAYS); myProperties.setEnabledSigning(myEnableSigningCB.isSelected()); + myProperties.setConvertCss2Bin(myConvertCssToBinCheckBox.isSelected()); if (myDialog != null) { myProperties.setSelfSigning(myDialog.myPanel.mySelfSignedRadioButton.isSelected()); myProperties.setAlias(myDialog.myPanel.myAliasTF.getText()); @@ -155,6 +158,7 @@ public class JavaFxArtifactPropertiesEditor extends ArtifactPropertiesEditor { setText(myParams, myProperties.getParamFile()); myUpdateInBackgroundCB.setSelected(Comparing.strEqual(myProperties.getUpdateMode(), JavaFxPackagerConstants.UPDATE_MODE_BACKGROUND)); myEnableSigningCB.setSelected(myProperties.isEnabledSigning()); + myConvertCssToBinCheckBox.setSelected(myProperties.isConvertCss2Bin()); myEditSignCertificateButton.setEnabled(myProperties.isEnabledSigning()); } diff --git a/plugins/properties/testData/propertiesFile/projectView/bundle/X.java b/plugins/properties/testData/propertiesFile/projectView/bundle/X.txt similarity index 100% rename from plugins/properties/testData/propertiesFile/projectView/bundle/X.java rename to plugins/properties/testData/propertiesFile/projectView/bundle/X.txt diff --git a/plugins/properties/testData/propertiesFile/projectView/sortByType/X.java b/plugins/properties/testData/propertiesFile/projectView/sortByType/X.txt similarity index 100% rename from plugins/properties/testData/propertiesFile/projectView/sortByType/X.java rename to plugins/properties/testData/propertiesFile/projectView/sortByType/X.txt diff --git a/plugins/properties/testData/propertiesFile/projectView/standAlone/X.java b/plugins/properties/testData/propertiesFile/projectView/standAlone/X.txt similarity index 100% rename from plugins/properties/testData/propertiesFile/projectView/standAlone/X.java rename to plugins/properties/testData/propertiesFile/projectView/standAlone/X.txt diff --git a/plugins/properties/testSrc/com/intellij/lang/properties/PropertiesProjectViewTest.java b/plugins/properties/testSrc/com/intellij/lang/properties/PropertiesProjectViewTest.java index 2e44168b2e1b..1b2ffb9fb334 100644 --- a/plugins/properties/testSrc/com/intellij/lang/properties/PropertiesProjectViewTest.java +++ b/plugins/properties/testSrc/com/intellij/lang/properties/PropertiesProjectViewTest.java @@ -40,7 +40,7 @@ public class PropertiesProjectViewTest extends LightPlatformCodeInsightFixtureTe " xxx.properties\n" + " xxx_en.properties\n" + " xxx_ru_RU.properties\n" + - " X.java\n" + + " X.txt\n" + myStructure.getProjectFileRepresentation() + " External Libraries\n"; PlatformTestUtil.assertTreeEqual(pane.getTree(), structure); @@ -57,7 +57,7 @@ public class PropertiesProjectViewTest extends LightPlatformCodeInsightFixtureTe " xxx.properties\n" + " xxx2.properties\n" + " yyy.properties\n" + - " X.java\n" + + " X.txt\n" + myStructure.getProjectFileRepresentation() + " External Libraries\n"; @@ -77,7 +77,7 @@ public class PropertiesProjectViewTest extends LightPlatformCodeInsightFixtureTe " -Resource Bundle 'xxx'\n" + " xxx.properties\n" + " xxx_en.properties\n" + - " X.java\n" + + " X.txt\n" + myStructure.getProjectFileRepresentation() + " External Libraries\n"; @@ -89,7 +89,7 @@ public class PropertiesProjectViewTest extends LightPlatformCodeInsightFixtureTe " -PsiDirectory: src\n" + " -PsiDirectory: sortByType\n" + " a.properties\n" + - " X.java\n" + + " X.txt\n" + " -Resource Bundle 'xxx'\n" + " xxx.properties\n" + " xxx_en.properties\n" + diff --git a/plugins/ui-designer-core/src/com/intellij/designer/model/RadComponent.java b/plugins/ui-designer-core/src/com/intellij/designer/model/RadComponent.java index 3fedbbe03d5e..1a701775d42e 100644 --- a/plugins/ui-designer-core/src/com/intellij/designer/model/RadComponent.java +++ b/plugins/ui-designer-core/src/com/intellij/designer/model/RadComponent.java @@ -76,6 +76,10 @@ public abstract class RadComponent extends PropertiesContainer { return myParent; } + public final T getParent(Class clazz) { + return (T)myParent; + } + public final void setParent(RadComponent parent) { myParent = parent; } diff --git a/resources-en/src/tips/FavoritesToolWindow1.html b/resources-en/src/tips/FavoritesToolWindow1.html index 5467d2678cad..f6f01f92cd6d 100644 --- a/resources-en/src/tips/FavoritesToolWindow1.html +++ b/resources-en/src/tips/FavoritesToolWindow1.html @@ -3,7 +3,7 @@ -

You want your bookmarks and breakpoints to be always at hand, so that you can easily navigate though them?

+

You want your bookmarks and breakpoints to be always at hand, so that you can easily navigate through them?

They are visible in the Favorites tool window, which you can dock or float as required:

diff --git a/resources-en/src/tips/SelectTasks.html b/resources-en/src/tips/SelectTasks.html deleted file mode 100644 index ad431a0be71b..000000000000 --- a/resources-en/src/tips/SelectTasks.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - -

When working with a lengthy list of tasks, you don't need to delete them one by one. -Select several tasks, using Shift -or Control keys, click the right arrow, and then click -Remove. -

-

- - - diff --git a/resources-en/src/tips/ShowAppliedStyles.html b/resources-en/src/tips/ShowAppliedStyles.html deleted file mode 100644 index 7418eacc97a9..000000000000 --- a/resources-en/src/tips/ShowAppliedStyles.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - -

You can quickly review all styles currently applied to an HTML tag, by right-clicking the tag name and selecting - Show Applied Styles For Tag - from the context menu:

-

- - - - - diff --git a/resources-en/src/tips/images/issueNavigation.png b/resources-en/src/tips/images/issueNavigation.png deleted file mode 100644 index adca4befad27..000000000000 Binary files a/resources-en/src/tips/images/issueNavigation.png and /dev/null differ diff --git a/resources-en/src/tips/images/issueNavigation1.png b/resources-en/src/tips/images/issueNavigation1.png deleted file mode 100644 index f6df06364c37..000000000000 Binary files a/resources-en/src/tips/images/issueNavigation1.png and /dev/null differ diff --git a/resources-en/src/tips/images/show_applied_styles.gif b/resources-en/src/tips/images/show_applied_styles.gif deleted file mode 100644 index 3f1e4e809d1d..000000000000 Binary files a/resources-en/src/tips/images/show_applied_styles.gif and /dev/null differ diff --git a/spellchecker/src/com/intellij/spellchecker/english.dic b/spellchecker/src/com/intellij/spellchecker/english.dic index 041c242d5b65..6843249fd774 100644 --- a/spellchecker/src/com/intellij/spellchecker/english.dic +++ b/spellchecker/src/com/intellij/spellchecker/english.dic @@ -3948,6 +3948,7 @@ Booker's Boole Boole's Boolean +Booleans Boone Boone's Boonie diff --git a/xml/dom-openapi/src/com/intellij/codeInsight/navigation/NavigationGutterIconBuilder.java b/xml/dom-impl/src/com/intellij/codeInsight/navigation/NavigationGutterIconBuilder.java similarity index 100% rename from xml/dom-openapi/src/com/intellij/codeInsight/navigation/NavigationGutterIconBuilder.java rename to xml/dom-impl/src/com/intellij/codeInsight/navigation/NavigationGutterIconBuilder.java diff --git a/xml/dom-openapi/src/com/intellij/codeInsight/navigation/NavigationGutterIconRenderer.java b/xml/dom-impl/src/com/intellij/codeInsight/navigation/NavigationGutterIconRenderer.java similarity index 100% rename from xml/dom-openapi/src/com/intellij/codeInsight/navigation/NavigationGutterIconRenderer.java rename to xml/dom-impl/src/com/intellij/codeInsight/navigation/NavigationGutterIconRenderer.java diff --git a/xml/dom-openapi/src/com/intellij/util/xml/AbstractDomDeclarationSearcher.java b/xml/dom-impl/src/com/intellij/util/xml/AbstractDomDeclarationSearcher.java similarity index 100% rename from xml/dom-openapi/src/com/intellij/util/xml/AbstractDomDeclarationSearcher.java rename to xml/dom-impl/src/com/intellij/util/xml/AbstractDomDeclarationSearcher.java diff --git a/xml/dom-openapi/src/com/intellij/util/xml/model/gotosymbol/GoToSymbolProvider.java b/xml/dom-impl/src/com/intellij/util/xml/model/gotosymbol/GoToSymbolProvider.java similarity index 100% rename from xml/dom-openapi/src/com/intellij/util/xml/model/gotosymbol/GoToSymbolProvider.java rename to xml/dom-impl/src/com/intellij/util/xml/model/gotosymbol/GoToSymbolProvider.java diff --git a/xml/dom-openapi/dom-openapi.iml b/xml/dom-openapi/dom-openapi.iml index f94d71262265..dc25ea1fecc9 100644 --- a/xml/dom-openapi/dom-openapi.iml +++ b/xml/dom-openapi/dom-openapi.iml @@ -12,7 +12,6 @@ -
diff --git a/xml/impl/src/com/intellij/codeInsight/daemon/impl/quickfix/FetchExtResourceAction.java b/xml/impl/src/com/intellij/codeInsight/daemon/impl/quickfix/FetchExtResourceAction.java index c931ba5bff5f..8d4f01930be9 100644 --- a/xml/impl/src/com/intellij/codeInsight/daemon/impl/quickfix/FetchExtResourceAction.java +++ b/xml/impl/src/com/intellij/codeInsight/daemon/impl/quickfix/FetchExtResourceAction.java @@ -356,6 +356,7 @@ public class FetchExtResourceAction extends BaseExtResourceAction implements Wat FileTypeManager.getInstance().getFileTypeByExtension(resourceUrl.substring(lastDoPosInResourceUrl + 1)) == FileTypes.UNKNOWN) { // remote url does not contain file with extension final String extension = + result.contentType != null && result.contentType.contains(HTML_MIME) ? StdFileTypes.HTML.getDefaultExtension() : StdFileTypes.XML.getDefaultExtension(); resPath += "." + extension; } @@ -427,7 +428,14 @@ public class FetchExtResourceAction extends BaseExtResourceAction implements Wat if (schemaLocation != null) { final PsiReference[] references = tag.getAttribute(XmlUtil.SCHEMA_LOCATION_ATT).getValueElement().getReferences(); if (references.length > 0) { - result.add(schemaLocation); + final String namespace = tag.getAttributeValue("namespace"); + + if (namespace != null && schemaLocation.indexOf('/') == -1) { + result.add(namespace.substring(0, namespace.lastIndexOf('/') + 1) + schemaLocation); + } + else { + result.add(schemaLocation); + } } } else {