*/
package com.intellij.compiler.impl;
-import com.intellij.*;
-import com.intellij.analysis.*;
+import com.intellij.CommonBundle;
+import com.intellij.analysis.AnalysisScope;
import com.intellij.compiler.*;
-import com.intellij.compiler.make.*;
-import com.intellij.compiler.progress.*;
-import com.intellij.diagnostic.*;
-import com.intellij.openapi.application.*;
+import com.intellij.compiler.make.CacheCorruptedException;
+import com.intellij.compiler.make.CacheUtils;
+import com.intellij.compiler.make.DependencyCache;
+import com.intellij.compiler.progress.CompilerTask;
+import com.intellij.diagnostic.IdeErrorsDialog;
+import com.intellij.diagnostic.PluginException;
+import com.intellij.openapi.application.ApplicationManager;
+import com.intellij.openapi.application.ModalityState;
import com.intellij.openapi.compiler.*;
import com.intellij.openapi.compiler.Compiler;
-import com.intellij.openapi.compiler.ex.*;
-import com.intellij.openapi.diagnostic.*;
-import com.intellij.openapi.extensions.*;
-import com.intellij.openapi.fileEditor.*;
-import com.intellij.openapi.fileTypes.*;
-import com.intellij.openapi.module.*;
-import com.intellij.openapi.progress.*;
-import com.intellij.openapi.project.*;
-import com.intellij.openapi.projectRoots.*;
+import com.intellij.openapi.compiler.ex.CompileContextEx;
+import com.intellij.openapi.compiler.ex.CompilerPathsEx;
+import com.intellij.openapi.diagnostic.Logger;
+import com.intellij.openapi.extensions.Extensions;
+import com.intellij.openapi.extensions.PluginId;
+import com.intellij.openapi.fileEditor.FileDocumentManager;
+import com.intellij.openapi.fileTypes.FileType;
+import com.intellij.openapi.fileTypes.FileTypeManager;
+import com.intellij.openapi.fileTypes.StdFileTypes;
+import com.intellij.openapi.module.LanguageLevelUtil;
+import com.intellij.openapi.module.Module;
+import com.intellij.openapi.module.ModuleManager;
+import com.intellij.openapi.progress.ProcessCanceledException;
+import com.intellij.openapi.progress.ProgressIndicator;
+import com.intellij.openapi.progress.ProgressManager;
+import com.intellij.openapi.project.DumbService;
+import com.intellij.openapi.project.Project;
+import com.intellij.openapi.project.ProjectBundle;
+import com.intellij.openapi.projectRoots.Sdk;
import com.intellij.openapi.roots.*;
-import com.intellij.openapi.roots.ex.*;
-import com.intellij.openapi.roots.ui.configuration.*;
-import com.intellij.openapi.ui.*;
+import com.intellij.openapi.roots.ex.ProjectRootManagerEx;
+import com.intellij.openapi.roots.ui.configuration.CommonContentEntriesEditor;
+import com.intellij.openapi.roots.ui.configuration.ProjectSettingsService;
+import com.intellij.openapi.ui.MessageType;
+import com.intellij.openapi.ui.Messages;
import com.intellij.openapi.util.*;
-import com.intellij.openapi.util.io.*;
-import com.intellij.openapi.util.registry.*;
-import com.intellij.openapi.vfs.*;
-import com.intellij.openapi.wm.*;
-import com.intellij.packageDependencies.*;
-import com.intellij.pom.java.*;
-import com.intellij.psi.*;
-import com.intellij.util.*;
+import com.intellij.openapi.util.io.FileUtil;
+import com.intellij.openapi.util.registry.Registry;
+import com.intellij.openapi.vfs.LocalFileSystem;
+import com.intellij.openapi.vfs.VfsUtil;
+import com.intellij.openapi.vfs.VirtualFile;
+import com.intellij.openapi.vfs.VirtualFileManager;
+import com.intellij.openapi.wm.StatusBar;
+import com.intellij.openapi.wm.ToolWindowId;
+import com.intellij.openapi.wm.ToolWindowManager;
+import com.intellij.openapi.wm.WindowManager;
+import com.intellij.packageDependencies.DependenciesBuilder;
+import com.intellij.packageDependencies.ForwardDependenciesBuilder;
+import com.intellij.pom.java.LanguageLevel;
+import com.intellij.psi.PsiCompiledElement;
+import com.intellij.psi.PsiDocumentManager;
+import com.intellij.psi.PsiFile;
+import com.intellij.psi.PsiManager;
+import com.intellij.util.Chunk;
+import com.intellij.util.LocalTimeCounter;
+import com.intellij.util.StringBuilderSpinAllocator;
+import com.intellij.util.ThrowableRunnable;
import com.intellij.util.concurrency.Semaphore;
-import com.intellij.util.containers.*;
+import com.intellij.util.containers.ContainerUtil;
import com.intellij.util.containers.HashMap;
-import gnu.trove.*;
-import org.jetbrains.annotations.*;
+import com.intellij.util.containers.MultiMap;
+import com.intellij.util.containers.OrderedSet;
+import gnu.trove.TObjectHashingStrategy;
+import org.jetbrains.annotations.NonNls;
+import org.jetbrains.annotations.NotNull;
import java.io.*;
import java.util.*;
-import java.util.HashSet;
-import java.util.concurrent.*;
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.TimeUnit;
public class CompileDriver {
private static final Logger LOG = Logger.getInstance("#com.intellij.compiler.impl.CompileDriver");
*/
package com.intellij.compiler.impl;
-import com.intellij.codeInsight.daemon.impl.actions.*;
-import com.intellij.compiler.*;
-import com.intellij.compiler.options.*;
+import com.intellij.codeInsight.daemon.impl.actions.SuppressFix;
+import com.intellij.codeInsight.daemon.impl.actions.SuppressForClassFix;
+import com.intellij.compiler.CompilerConfiguration;
+import com.intellij.compiler.CompilerConfigurationImpl;
+import com.intellij.compiler.CompilerWorkspaceConfiguration;
+import com.intellij.compiler.HelpID;
+import com.intellij.compiler.options.CompilerConfigurable;
import com.intellij.ide.errorTreeView.*;
-import com.intellij.ide.util.treeView.*;
+import com.intellij.ide.util.treeView.NodeDescriptor;
import com.intellij.openapi.actionSystem.*;
-import com.intellij.openapi.application.*;
-import com.intellij.openapi.command.*;
-import com.intellij.openapi.compiler.*;
-import com.intellij.openapi.compiler.options.*;
-import com.intellij.openapi.editor.*;
-import com.intellij.openapi.fileEditor.*;
-import com.intellij.openapi.module.*;
-import com.intellij.openapi.options.*;
-import com.intellij.openapi.project.*;
-import com.intellij.openapi.projectRoots.*;
-import com.intellij.openapi.roots.*;
-import com.intellij.openapi.util.*;
-import com.intellij.openapi.vcs.*;
-import com.intellij.openapi.vfs.*;
-import com.intellij.pom.*;
-import com.intellij.pom.java.*;
+import com.intellij.openapi.application.ApplicationManager;
+import com.intellij.openapi.command.CommandProcessor;
+import com.intellij.openapi.compiler.CompilerBundle;
+import com.intellij.openapi.compiler.options.ExcludeEntryDescription;
+import com.intellij.openapi.editor.Editor;
+import com.intellij.openapi.fileEditor.OpenFileDescriptor;
+import com.intellij.openapi.module.LanguageLevelUtil;
+import com.intellij.openapi.module.Module;
+import com.intellij.openapi.module.ModuleUtil;
+import com.intellij.openapi.options.ShowSettingsUtil;
+import com.intellij.openapi.project.Project;
+import com.intellij.openapi.projectRoots.JavaSdk;
+import com.intellij.openapi.projectRoots.Sdk;
+import com.intellij.openapi.roots.ModuleRootManager;
+import com.intellij.openapi.util.IconLoader;
+import com.intellij.openapi.vcs.FileStatusManager;
+import com.intellij.openapi.vfs.LocalFileSystem;
+import com.intellij.openapi.vfs.VirtualFile;
+import com.intellij.pom.Navigatable;
+import com.intellij.pom.java.LanguageLevel;
import com.intellij.psi.*;
-import com.intellij.util.*;
-import org.jetbrains.annotations.*;
+import com.intellij.util.IncorrectOperationException;
+import org.jetbrains.annotations.NotNull;
import javax.swing.*;
package com.intellij.packaging.impl.compiler;
-import com.intellij.compiler.impl.*;
-import com.intellij.compiler.impl.packagingCompiler.*;
-import com.intellij.openapi.compiler.*;
-import com.intellij.openapi.util.*;
-import com.intellij.openapi.vfs.*;
-import com.intellij.util.*;
-import org.jetbrains.annotations.*;
+import com.intellij.compiler.impl.FileProcessingCompilerStateCache;
+import com.intellij.compiler.impl.packagingCompiler.DestinationInfo;
+import com.intellij.openapi.compiler.FileProcessingCompiler;
+import com.intellij.openapi.compiler.ValidityState;
+import com.intellij.openapi.util.Pair;
+import com.intellij.openapi.vfs.VirtualFile;
+import com.intellij.util.SmartList;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
-import java.io.*;
-import java.util.*;
+import java.io.IOException;
+import java.util.List;
/**
* @author nik
import com.intellij.execution.filters.Filter;
import com.intellij.execution.filters.TextConsoleBuilder;
import com.intellij.execution.filters.TextConsoleBuilderFactory;
-import com.intellij.execution.runners.ProgramRunner;
import com.intellij.execution.runners.ExecutionEnvironment;
+import com.intellij.execution.runners.ProgramRunner;
import com.intellij.execution.util.ExecutionErrorDialog;
import com.intellij.openapi.actionSystem.DataContext;
-import com.intellij.openapi.project.Project;
import com.intellij.openapi.module.Module;
import com.intellij.openapi.module.ModuleUtil;
+import com.intellij.openapi.project.Project;
import com.intellij.openapi.util.text.StringUtil;
import com.intellij.psi.*;
-import com.intellij.psi.util.PsiTreeUtil;
-import com.intellij.psi.util.PsiClassUtil;
import com.intellij.psi.search.GlobalSearchScope;
+import com.intellij.psi.util.PsiClassUtil;
+import com.intellij.psi.util.PsiTreeUtil;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
*/
package com.intellij.execution.configurations;
-import com.intellij.execution.*;
-import com.intellij.openapi.module.*;
-import com.intellij.openapi.project.*;
-import com.intellij.psi.*;
-import com.intellij.psi.search.*;
-import gnu.trove.*;
-import org.jetbrains.annotations.*;
+import com.intellij.execution.ExecutionBundle;
+import com.intellij.execution.JavaExecutionUtil;
+import com.intellij.openapi.module.Module;
+import com.intellij.openapi.module.ModuleManager;
+import com.intellij.openapi.module.ModuleUtil;
+import com.intellij.openapi.project.Project;
+import com.intellij.psi.JavaPsiFacade;
+import com.intellij.psi.PsiClass;
+import com.intellij.psi.PsiDocumentManager;
+import com.intellij.psi.search.GlobalSearchScope;
+import gnu.trove.THashSet;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
-import java.util.*;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.Set;
/**
* @author spleaner
*/
package com.intellij.codeInsight.completion;
-import com.intellij.codeInsight.*;
+import com.intellij.codeInsight.AutoPopupController;
+import com.intellij.codeInsight.CodeInsightUtilBase;
+import com.intellij.codeInsight.TailType;
+import com.intellij.codeInsight.TailTypes;
import com.intellij.codeInsight.lookup.LookupElement;
import com.intellij.codeInsight.lookup.LookupItem;
import com.intellij.featureStatistics.FeatureUsageTracker;
*/
package com.intellij.codeInsight.daemon.impl.actions;
-import com.intellij.codeInsight.*;
-import com.intellij.codeInsight.daemon.*;
+import com.intellij.codeInsight.CodeInsightUtilBase;
+import com.intellij.codeInsight.daemon.DaemonCodeAnalyzer;
+import com.intellij.codeInsight.daemon.HighlightDisplayKey;
import com.intellij.codeInspection.*;
-import com.intellij.lang.java.*;
-import com.intellij.openapi.application.*;
-import com.intellij.openapi.editor.*;
-import com.intellij.openapi.module.*;
-import com.intellij.openapi.project.*;
-import com.intellij.openapi.roots.impl.storage.*;
-import com.intellij.openapi.ui.*;
+import com.intellij.lang.java.JavaLanguage;
+import com.intellij.openapi.application.ApplicationManager;
+import com.intellij.openapi.editor.Editor;
+import com.intellij.openapi.module.Module;
+import com.intellij.openapi.module.ModuleUtil;
+import com.intellij.openapi.project.Project;
+import com.intellij.openapi.roots.impl.storage.ClasspathStorage;
+import com.intellij.openapi.ui.Messages;
import com.intellij.psi.*;
-import com.intellij.psi.codeStyle.*;
-import com.intellij.psi.impl.source.jsp.jspJava.*;
-import com.intellij.psi.javadoc.*;
-import com.intellij.psi.util.*;
-import com.intellij.util.*;
-import org.jetbrains.annotations.*;
+import com.intellij.psi.codeStyle.JavaCodeStyleManager;
+import com.intellij.psi.impl.source.jsp.jspJava.JspHolderMethod;
+import com.intellij.psi.javadoc.PsiDocComment;
+import com.intellij.psi.javadoc.PsiDocTag;
+import com.intellij.psi.javadoc.PsiDocTagValue;
+import com.intellij.psi.util.PsiTreeUtil;
+import com.intellij.util.IncorrectOperationException;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
/**
* @author ven
import com.intellij.find.findUsages.FindUsagesManager;
import com.intellij.find.findUsages.FindUsagesOptions;
import com.intellij.find.impl.FindManagerImpl;
-import com.intellij.ide.util.SuperMethodWarningUtil;
import com.intellij.ide.DataManager;
+import com.intellij.ide.util.SuperMethodWarningUtil;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.command.undo.UndoUtil;
import com.intellij.openapi.editor.Editor;
*/
package com.intellij.codeInsight.daemon.impl.quickfix;
-import com.intellij.codeInsight.*;
-import com.intellij.codeInsight.daemon.*;
-import com.intellij.codeInsight.intention.*;
-import com.intellij.openapi.diagnostic.*;
-import com.intellij.openapi.editor.*;
-import com.intellij.openapi.project.*;
+import com.intellij.codeInsight.CodeInsightUtilBase;
+import com.intellij.codeInsight.daemon.QuickFixBundle;
+import com.intellij.codeInsight.intention.PsiElementBaseIntentionAction;
+import com.intellij.openapi.diagnostic.Logger;
+import com.intellij.openapi.editor.Editor;
+import com.intellij.openapi.project.Project;
import com.intellij.psi.*;
import com.intellij.psi.controlFlow.*;
-import com.intellij.psi.util.*;
-import com.intellij.util.*;
-import org.jetbrains.annotations.*;
+import com.intellij.psi.util.PsiTreeUtil;
+import com.intellij.util.IncorrectOperationException;
+import org.jetbrains.annotations.NotNull;
/**
* @author ven
*/
package com.intellij.codeInsight.daemon.impl.quickfix;
-import com.intellij.codeInsight.*;
-import com.intellij.codeInsight.intention.*;
-import com.intellij.openapi.editor.*;
-import com.intellij.openapi.project.*;
+import com.intellij.codeInsight.CodeInsightUtilBase;
+import com.intellij.codeInsight.TargetElementUtil;
+import com.intellij.codeInsight.intention.PsiElementBaseIntentionAction;
+import com.intellij.openapi.editor.Editor;
+import com.intellij.openapi.project.Project;
import com.intellij.psi.*;
-import com.intellij.psi.codeStyle.*;
-import com.intellij.psi.util.*;
-import com.intellij.util.*;
-import org.jetbrains.annotations.*;
+import com.intellij.psi.codeStyle.JavaCodeStyleManager;
+import com.intellij.psi.util.PsiTreeUtil;
+import com.intellij.psi.util.PsiUtil;
+import com.intellij.psi.util.TypeConversionUtil;
+import com.intellij.util.ArrayUtil;
+import com.intellij.util.IncorrectOperationException;
+import org.jetbrains.annotations.NonNls;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
-import java.util.*;
+import java.util.Collection;
public class SurroundWithArrayFix extends PsiElementBaseIntentionAction {
private final PsiCall myMethodCall;
*/
package com.intellij.codeInsight.intention.impl;
-import com.intellij.codeInsight.intention.*;
-import com.intellij.openapi.editor.*;
-import com.intellij.openapi.project.*;
+import com.intellij.codeInsight.intention.AddAnnotationFix;
+import com.intellij.openapi.editor.Editor;
+import com.intellij.openapi.project.Project;
import com.intellij.psi.*;
-import org.jetbrains.annotations.*;
+import org.jetbrains.annotations.NotNull;
public class AddDeprecationAnnotationFix extends AddAnnotationFix {
public AddDeprecationAnnotationFix() {
*/
package com.intellij.codeInsight.intention.impl;
-import com.intellij.codeInsight.*;
-import com.intellij.codeInsight.intention.*;
-import com.intellij.openapi.editor.*;
-import com.intellij.openapi.project.*;
+import com.intellij.codeInsight.AnnotationUtil;
+import com.intellij.codeInsight.intention.AddAnnotationFix;
+import com.intellij.openapi.editor.Editor;
+import com.intellij.openapi.project.Project;
import com.intellij.psi.*;
-import org.jetbrains.annotations.*;
+import org.jetbrains.annotations.NotNull;
public class AddNullableNotNullAnnotationFix extends AddAnnotationFix {
public AddNullableNotNullAnnotationFix(final String annotation, final String annotationToRemove) {
*/
package com.intellij.codeInsight.intention.impl;
-import com.intellij.codeInsight.*;
-import com.intellij.codeInsight.highlighting.*;
-import com.intellij.codeInsight.intention.*;
-import com.intellij.openapi.diagnostic.*;
-import com.intellij.openapi.editor.*;
-import com.intellij.openapi.editor.colors.*;
-import com.intellij.openapi.project.*;
+import com.intellij.codeInsight.CodeInsightBundle;
+import com.intellij.codeInsight.CodeInsightUtilBase;
+import com.intellij.codeInsight.highlighting.HighlightManager;
+import com.intellij.codeInsight.intention.PsiElementBaseIntentionAction;
+import com.intellij.openapi.diagnostic.Logger;
+import com.intellij.openapi.editor.Editor;
+import com.intellij.openapi.editor.colors.EditorColors;
+import com.intellij.openapi.editor.colors.EditorColorsManager;
+import com.intellij.openapi.project.Project;
import com.intellij.psi.*;
-import com.intellij.psi.util.*;
-import com.intellij.util.*;
-import gnu.trove.*;
-import org.jetbrains.annotations.*;
+import com.intellij.psi.util.PsiTreeUtil;
+import com.intellij.psi.util.PsiUtil;
+import com.intellij.util.IncorrectOperationException;
+import gnu.trove.TIntArrayList;
+import gnu.trove.TIntProcedure;
+import org.jetbrains.annotations.NotNull;
/**
* @author ven
*/
package com.intellij.codeInsight.intention.impl;
-import com.intellij.codeInsight.*;
-import com.intellij.codeInsight.intention.*;
-import com.intellij.openapi.diagnostic.*;
-import com.intellij.openapi.editor.*;
-import com.intellij.openapi.project.*;
-import com.intellij.openapi.util.*;
+import com.intellij.codeInsight.CodeInsightBundle;
+import com.intellij.codeInsight.CodeInsightUtilBase;
+import com.intellij.codeInsight.intention.PsiElementBaseIntentionAction;
+import com.intellij.openapi.diagnostic.Logger;
+import com.intellij.openapi.editor.Editor;
+import com.intellij.openapi.project.Project;
+import com.intellij.openapi.util.Key;
import com.intellij.psi.*;
-import com.intellij.psi.impl.source.tree.java.*;
-import com.intellij.psi.util.*;
-import com.intellij.util.*;
-import org.jetbrains.annotations.*;
+import com.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl;
+import com.intellij.psi.util.PsiTreeUtil;
+import com.intellij.psi.util.PsiUtil;
+import com.intellij.util.IncorrectOperationException;
+import org.jetbrains.annotations.NotNull;
public class AddSingleMemberStaticImportAction extends PsiElementBaseIntentionAction {
private static final Logger LOG = Logger.getInstance("#com.intellij.codeInsight.intention.impl.AddSingleMemberStaticImportAction");
*/
package com.intellij.codeInsight.intention.impl;
-import com.intellij.codeInsight.*;
-import com.intellij.codeInsight.intention.*;
-import com.intellij.openapi.editor.*;
-import com.intellij.openapi.project.*;
-import com.intellij.patterns.*;
+import com.intellij.codeInsight.CodeInsightBundle;
+import com.intellij.codeInsight.CodeInsightUtilBase;
+import com.intellij.codeInsight.intention.PsiElementBaseIntentionAction;
+import com.intellij.openapi.editor.Editor;
+import com.intellij.openapi.project.Project;
+import com.intellij.patterns.PlatformPatterns;
import com.intellij.psi.*;
-import com.intellij.psi.codeStyle.*;
-import com.intellij.psi.util.*;
-import com.intellij.ui.*;
-import com.intellij.util.*;
-import org.jetbrains.annotations.*;
+import com.intellij.psi.codeStyle.CodeStyleManager;
+import com.intellij.psi.util.PsiTreeUtil;
+import com.intellij.ui.ColorChooser;
+import com.intellij.util.IncorrectOperationException;
+import org.jetbrains.annotations.NotNull;
import java.awt.*;
*/
package com.intellij.codeInsight.intention.impl;
-import com.intellij.codeInsight.intention.*;
-import com.intellij.openapi.editor.*;
-import com.intellij.openapi.project.*;
-import com.intellij.psi.*;
-import com.intellij.psi.impl.source.resolve.reference.impl.*;
-import com.intellij.psi.impl.source.resolve.reference.impl.providers.*;
-import com.intellij.util.*;
-import org.jetbrains.annotations.*;
+import com.intellij.codeInsight.intention.PsiElementBaseIntentionAction;
+import com.intellij.openapi.editor.Editor;
+import com.intellij.openapi.project.Project;
+import com.intellij.psi.PsiElement;
+import com.intellij.psi.PsiFile;
+import com.intellij.psi.PsiReference;
+import com.intellij.psi.impl.source.resolve.reference.impl.PsiMultiReference;
+import com.intellij.psi.impl.source.resolve.reference.impl.providers.FileReference;
+import com.intellij.psi.impl.source.resolve.reference.impl.providers.FileReferenceOwner;
+import com.intellij.psi.impl.source.resolve.reference.impl.providers.FileReferenceSet;
+import com.intellij.util.IncorrectOperationException;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
/**
* @author spleaner
*/
package com.intellij.codeInsight.intention.impl;
-import com.intellij.codeInsight.*;
-import com.intellij.codeInsight.daemon.impl.analysis.*;
-import com.intellij.codeInsight.daemon.impl.quickfix.*;
-import com.intellij.codeInsight.generation.*;
-import com.intellij.codeInsight.intention.*;
-import com.intellij.openapi.application.*;
-import com.intellij.openapi.diagnostic.*;
-import com.intellij.openapi.editor.*;
-import com.intellij.openapi.fileEditor.ex.*;
-import com.intellij.openapi.module.*;
-import com.intellij.openapi.project.*;
-import com.intellij.openapi.ui.*;
-import com.intellij.openapi.util.*;
+import com.intellij.codeInsight.CodeInsightBundle;
+import com.intellij.codeInsight.CodeInsightUtil;
+import com.intellij.codeInsight.daemon.impl.analysis.HighlightNamesUtil;
+import com.intellij.codeInsight.daemon.impl.quickfix.CreateClassKind;
+import com.intellij.codeInsight.generation.OverrideImplementUtil;
+import com.intellij.codeInsight.intention.PsiElementBaseIntentionAction;
+import com.intellij.openapi.application.ApplicationManager;
+import com.intellij.openapi.diagnostic.Logger;
+import com.intellij.openapi.editor.Editor;
+import com.intellij.openapi.fileEditor.ex.IdeDocumentHistory;
+import com.intellij.openapi.module.ModuleUtil;
+import com.intellij.openapi.project.Project;
+import com.intellij.openapi.ui.Messages;
+import com.intellij.openapi.util.TextRange;
import com.intellij.psi.*;
-import com.intellij.psi.impl.source.*;
-import com.intellij.psi.util.*;
-import com.intellij.util.*;
-import org.jetbrains.annotations.*;
+import com.intellij.psi.impl.source.PostprocessReformattingAspect;
+import com.intellij.psi.util.PsiTreeUtil;
+import com.intellij.util.IncorrectOperationException;
+import org.jetbrains.annotations.NonNls;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
public class CreateSubclassAction extends PsiElementBaseIntentionAction {
private static final Logger LOG = Logger.getInstance("#com.intellij.codeInsight.intention.impl.ImplementAbstractClassAction");
*/
package com.intellij.codeInsight.intention.impl;
-import com.intellij.codeInsight.*;
-import com.intellij.codeInsight.intention.*;
-import com.intellij.openapi.diagnostic.*;
-import com.intellij.openapi.editor.*;
-import com.intellij.openapi.project.*;
-import com.intellij.openapi.util.*;
+import com.intellij.codeInsight.CodeInsightBundle;
+import com.intellij.codeInsight.CodeInsightServicesUtil;
+import com.intellij.codeInsight.CodeInsightUtilBase;
+import com.intellij.codeInsight.intention.PsiElementBaseIntentionAction;
+import com.intellij.openapi.diagnostic.Logger;
+import com.intellij.openapi.editor.Editor;
+import com.intellij.openapi.project.Project;
+import com.intellij.openapi.util.TextRange;
import com.intellij.psi.*;
-import com.intellij.psi.codeStyle.*;
+import com.intellij.psi.codeStyle.CodeStyleManager;
import com.intellij.psi.controlFlow.*;
-import com.intellij.psi.util.*;
-import com.intellij.util.*;
-import org.jetbrains.annotations.*;
+import com.intellij.psi.util.PsiTreeUtil;
+import com.intellij.util.IncorrectOperationException;
+import org.jetbrains.annotations.NotNull;
-import java.util.*;
+import java.util.List;
public class InvertIfConditionAction extends PsiElementBaseIntentionAction {
private static final Logger LOG = Logger.getInstance("#com.intellij.codeInsight.intention.impl.InvertIfConditionAction");
*/
package com.intellij.codeInsight.intention.impl;
-import com.intellij.codeInsight.*;
-import com.intellij.codeInsight.intention.*;
-import com.intellij.openapi.editor.*;
-import com.intellij.openapi.project.*;
-import com.intellij.openapi.util.*;
+import com.intellij.codeInsight.CodeInsightBundle;
+import com.intellij.codeInsight.intention.PsiElementBaseIntentionAction;
+import com.intellij.openapi.editor.CaretModel;
+import com.intellij.openapi.editor.Editor;
+import com.intellij.openapi.project.Project;
+import com.intellij.openapi.util.Pair;
import com.intellij.psi.*;
-import com.intellij.psi.util.*;
-import com.intellij.util.*;
-import org.jetbrains.annotations.*;
+import com.intellij.psi.util.PsiUtil;
+import com.intellij.psi.util.TypeConversionUtil;
+import com.intellij.util.IncorrectOperationException;
+import org.jetbrains.annotations.NotNull;
/**
* @author dsl
*/
package com.intellij.codeInsight.intention.impl;
-import com.intellij.codeInsight.*;
-import com.intellij.codeInsight.daemon.impl.analysis.*;
-import com.intellij.codeInsight.daemon.impl.quickfix.*;
-import com.intellij.codeInsight.highlighting.*;
-import com.intellij.codeInsight.intention.*;
-import com.intellij.openapi.editor.*;
-import com.intellij.openapi.editor.colors.*;
-import com.intellij.openapi.editor.markup.*;
-import com.intellij.openapi.project.*;
-import com.intellij.openapi.util.*;
+import com.intellij.codeInsight.CodeInsightBundle;
+import com.intellij.codeInsight.CodeInsightUtilBase;
+import com.intellij.codeInsight.daemon.impl.analysis.HighlightControlFlowUtil;
+import com.intellij.codeInsight.daemon.impl.analysis.HighlightUtil;
+import com.intellij.codeInsight.daemon.impl.quickfix.CreateFromUsageUtils;
+import com.intellij.codeInsight.highlighting.HighlightManager;
+import com.intellij.codeInsight.intention.IntentionAction;
+import com.intellij.codeInsight.intention.PsiElementBaseIntentionAction;
+import com.intellij.codeInsight.intention.QuickFixFactory;
+import com.intellij.openapi.editor.Editor;
+import com.intellij.openapi.editor.colors.EditorColors;
+import com.intellij.openapi.editor.colors.EditorColorsManager;
+import com.intellij.openapi.editor.markup.TextAttributes;
+import com.intellij.openapi.project.Project;
+import com.intellij.openapi.util.Ref;
import com.intellij.psi.*;
-import com.intellij.psi.impl.source.jsp.jspJava.*;
-import com.intellij.psi.javadoc.*;
-import com.intellij.psi.util.*;
-import com.intellij.util.*;
-import org.jetbrains.annotations.*;
+import com.intellij.psi.impl.source.jsp.jspJava.JspClass;
+import com.intellij.psi.javadoc.PsiDocComment;
+import com.intellij.psi.util.PsiTreeUtil;
+import com.intellij.util.IncorrectOperationException;
+import org.jetbrains.annotations.NotNull;
import java.util.*;
*/
package com.intellij.codeInsight.intention.impl;
-import com.intellij.codeInsight.*;
-import com.intellij.codeInsight.intention.*;
-import com.intellij.openapi.editor.*;
-import com.intellij.openapi.project.*;
+import com.intellij.codeInsight.CodeInsightBundle;
+import com.intellij.codeInsight.CodeInsightUtilBase;
+import com.intellij.codeInsight.intention.PsiElementBaseIntentionAction;
+import com.intellij.openapi.editor.Editor;
+import com.intellij.openapi.project.Project;
import com.intellij.psi.*;
-import com.intellij.psi.codeStyle.*;
-import com.intellij.psi.javadoc.*;
-import com.intellij.psi.util.*;
-import com.intellij.util.*;
-import org.jetbrains.annotations.*;
+import com.intellij.psi.codeStyle.CodeStyleManager;
+import com.intellij.psi.javadoc.PsiDocComment;
+import com.intellij.psi.util.PsiTreeUtil;
+import com.intellij.util.IncorrectOperationException;
+import org.jetbrains.annotations.NotNull;
/**
* @author max
*/
package com.intellij.codeInsight.intention.impl;
-import com.intellij.codeInsight.*;
-import com.intellij.codeInsight.intention.*;
-import com.intellij.openapi.diagnostic.*;
-import com.intellij.openapi.editor.*;
-import com.intellij.openapi.project.*;
+import com.intellij.codeInsight.CodeInsightBundle;
+import com.intellij.codeInsight.CodeInsightUtilBase;
+import com.intellij.codeInsight.intention.PsiElementBaseIntentionAction;
+import com.intellij.openapi.diagnostic.Logger;
+import com.intellij.openapi.editor.Editor;
+import com.intellij.openapi.editor.ScrollType;
+import com.intellij.openapi.project.Project;
import com.intellij.psi.*;
-import com.intellij.psi.codeStyle.*;
-import com.intellij.psi.util.*;
-import com.intellij.util.*;
-import org.jetbrains.annotations.*;
+import com.intellij.psi.codeStyle.CodeStyleManager;
+import com.intellij.psi.util.PsiTreeUtil;
+import com.intellij.util.IncorrectOperationException;
+import org.jetbrains.annotations.NotNull;
/**
* @author mike
import com.intellij.psi.formatter.java.wrap.ReservedWrapsProvider;
import com.intellij.psi.impl.source.SourceTreeToPsiMap;
import com.intellij.psi.impl.source.tree.*;
+import com.intellij.psi.impl.source.tree.injected.InjectedLanguageUtil;
import com.intellij.psi.impl.source.tree.java.ClassElement;
import com.intellij.psi.jsp.JspElementType;
import com.intellij.psi.tree.IElementType;
if (isStatement(child, child.getTreeParent())) {
return new CodeBlockBlock(child, wrap, alignment, actualIndent, settings);
}
+ if (child instanceof PsiComment && child instanceof PsiLanguageInjectionHost && InjectedLanguageUtil.hasInjections((PsiLanguageInjectionHost)child)) {
+ return new CommentWithInjectionBlock(child, wrap, alignment, indent, settings);
+ }
if (child instanceof LeafElement) {
final LeafBlock block = new LeafBlock(child, wrap, alignment, actualIndent);
block.setStartOffset(startOffset);
--- /dev/null
+/*
+ * Copyright 2000-2010 JetBrains s.r.o.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.intellij.psi.formatter.java;
+
+import com.intellij.formatting.*;
+import com.intellij.lang.ASTNode;
+import com.intellij.openapi.util.TextRange;
+import com.intellij.psi.codeStyle.CodeStyleSettings;
+import com.intellij.psi.formatter.common.InjectedLanguageBlockBuilder;
+import org.jetbrains.annotations.NotNull;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author nik
+ */
+public class CommentWithInjectionBlock extends AbstractJavaBlock {
+ private InjectedLanguageBlockBuilder myInjectedBlockBuilder;
+
+ public CommentWithInjectionBlock(ASTNode node, Wrap wrap, Alignment alignment, Indent indent, CodeStyleSettings settings) {
+ super(node, wrap, alignment, indent, settings);
+ myInjectedBlockBuilder = new JavaCommentInjectedBlockBuilder();
+ }
+
+ @Override
+ protected List<Block> buildChildren() {
+ final List<Block> result = new ArrayList<Block>();
+ myInjectedBlockBuilder.addInjectedBlocks(result, myNode, myWrap, myAlignment, Indent.getNoneIndent());
+ return result;
+ }
+
+ @Override
+ public boolean isLeaf() {
+ return false;
+ }
+
+ @NotNull
+ @Override
+ public ChildAttributes getChildAttributes(int newChildIndex) {
+ return new ChildAttributes(Indent.getNormalIndent(), null);
+ }
+
+ @Override
+ public Spacing getSpacing(Block child1, Block child2) {
+ return null;
+ }
+
+ private class JavaCommentInjectedBlockBuilder extends InjectedLanguageBlockBuilder {
+ @Override
+ public CodeStyleSettings getSettings() {
+ return mySettings;
+ }
+
+ @Override
+ public boolean canProcessFragment(String text, ASTNode injectionHost) {
+ return true;
+ }
+
+ @Override
+ public Block createBlockBeforeInjection(ASTNode node, Wrap wrap, Alignment alignment, Indent indent, final TextRange range) {
+ return new PartialCommentBlock(node, wrap, alignment, indent, range);
+ }
+
+ @Override
+ public Block createBlockAfterInjection(ASTNode node, Wrap wrap, Alignment alignment, Indent indent, TextRange range) {
+ return new PartialCommentBlock(node, wrap, alignment, Indent.getNoneIndent(), range);
+ }
+ }
+
+ private static class PartialCommentBlock extends LeafBlock {
+ private final TextRange myRange;
+
+ public PartialCommentBlock(ASTNode node, Wrap wrap, Alignment alignment, Indent indent, TextRange range) {
+ super(node, wrap, alignment, indent);
+ myRange = range;
+ }
+
+ @NotNull
+ @Override
+ public TextRange getTextRange() {
+ return myRange;
+ }
+ }
+}
*/
package com.intellij.psi.impl;
-import com.intellij.openapi.extensions.*;
-import com.intellij.psi.*;
-import org.jetbrains.annotations.*;
+import com.intellij.openapi.extensions.ExtensionPointName;
+import com.intellij.openapi.extensions.Extensions;
+import com.intellij.psi.PsiElement;
+import org.jetbrains.annotations.NotNull;
public abstract class AllowedApiFilterExtension {
public static final ExtensionPointName<AllowedApiFilterExtension> EP_NAME = ExtensionPointName.create("com.intellij.allowedApiFilter");
*/
package com.intellij.refactoring.extractInterface;
-import com.intellij.openapi.project.*;
+import com.intellij.openapi.project.Project;
import com.intellij.psi.*;
-import com.intellij.refactoring.*;
-import com.intellij.refactoring.classMembers.*;
-import com.intellij.refactoring.extractSuperclass.*;
-import com.intellij.refactoring.ui.*;
-import com.intellij.refactoring.util.*;
-import com.intellij.refactoring.util.classMembers.*;
+import com.intellij.refactoring.HelpID;
+import com.intellij.refactoring.JavaRefactoringSettings;
+import com.intellij.refactoring.RefactoringBundle;
+import com.intellij.refactoring.classMembers.DelegatingMemberInfoModel;
+import com.intellij.refactoring.classMembers.MemberInfoBase;
+import com.intellij.refactoring.extractSuperclass.ExtractSuperBaseDialog;
+import com.intellij.refactoring.extractSuperclass.ExtractSuperBaseProcessor;
+import com.intellij.refactoring.ui.MemberSelectionPanel;
+import com.intellij.refactoring.util.DocCommentPolicy;
+import com.intellij.refactoring.util.classMembers.MemberInfo;
import javax.swing.*;
import java.awt.*;
*/
package com.intellij.refactoring.extractInterface;
-import com.intellij.openapi.project.*;
+import com.intellij.openapi.project.Project;
import com.intellij.psi.*;
-import com.intellij.refactoring.extractSuperclass.*;
-import com.intellij.refactoring.util.*;
-import com.intellij.refactoring.util.classMembers.*;
-import com.intellij.util.*;
+import com.intellij.refactoring.extractSuperclass.ExtractSuperBaseProcessor;
+import com.intellij.refactoring.util.DocCommentPolicy;
+import com.intellij.refactoring.util.classMembers.MemberInfo;
+import com.intellij.util.IncorrectOperationException;
/**
* @author dsl
*/
package com.intellij.refactoring.extractSuperclass;
-import com.intellij.ide.util.*;
-import com.intellij.openapi.command.*;
-import com.intellij.openapi.help.*;
-import com.intellij.openapi.project.*;
-import com.intellij.openapi.roots.*;
-import com.intellij.openapi.util.text.*;
-import com.intellij.openapi.vfs.*;
+import com.intellij.ide.util.PackageUtil;
+import com.intellij.openapi.command.CommandProcessor;
+import com.intellij.openapi.help.HelpManager;
+import com.intellij.openapi.project.Project;
+import com.intellij.openapi.roots.ProjectFileIndex;
+import com.intellij.openapi.roots.ProjectRootManager;
+import com.intellij.openapi.util.text.StringUtil;
+import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.psi.*;
-import com.intellij.refactoring.*;
-import com.intellij.refactoring.ui.*;
-import com.intellij.refactoring.util.*;
-import com.intellij.refactoring.util.classMembers.*;
-import com.intellij.ui.*;
-import com.intellij.util.*;
+import com.intellij.refactoring.RefactoringBundle;
+import com.intellij.refactoring.ui.DocCommentPanel;
+import com.intellij.refactoring.ui.PackageNameReferenceEditorCombo;
+import com.intellij.refactoring.ui.RefactoringDialog;
+import com.intellij.refactoring.util.CommonRefactoringUtil;
+import com.intellij.refactoring.util.RefactoringMessageUtil;
+import com.intellij.refactoring.util.classMembers.MemberInfo;
+import com.intellij.ui.RecentsManager;
+import com.intellij.util.IncorrectOperationException;
import javax.swing.*;
-import java.awt.event.*;
-import java.util.*;
+import java.awt.event.ItemEvent;
+import java.awt.event.ItemListener;
+import java.util.List;
/**
* @author dsl
*/
package com.intellij.refactoring.extractSuperclass;
-import com.intellij.openapi.diagnostic.*;
-import com.intellij.openapi.project.*;
-import com.intellij.openapi.util.*;
+import com.intellij.openapi.diagnostic.Logger;
+import com.intellij.openapi.project.Project;
+import com.intellij.openapi.util.Comparing;
import com.intellij.psi.*;
-import com.intellij.psi.codeStyle.*;
-import com.intellij.psi.search.*;
-import com.intellij.psi.search.searches.*;
-import com.intellij.psi.util.*;
-import com.intellij.refactoring.*;
-import com.intellij.refactoring.turnRefsToSuper.*;
-import com.intellij.refactoring.util.*;
-import com.intellij.refactoring.util.classMembers.*;
-import com.intellij.usageView.*;
-import com.intellij.util.*;
-import org.jetbrains.annotations.*;
-
-import java.util.*;
+import com.intellij.psi.codeStyle.JavaCodeStyleManager;
+import com.intellij.psi.search.GlobalSearchScope;
+import com.intellij.psi.search.searches.ReferencesSearch;
+import com.intellij.psi.util.InheritanceUtil;
+import com.intellij.psi.util.MethodSignatureUtil;
+import com.intellij.psi.util.PsiTreeUtil;
+import com.intellij.refactoring.RefactoringBundle;
+import com.intellij.refactoring.turnRefsToSuper.TurnRefsToSuperProcessorBase;
+import com.intellij.refactoring.util.DocCommentPolicy;
+import com.intellij.refactoring.util.classMembers.MemberInfo;
+import com.intellij.usageView.UsageInfo;
+import com.intellij.usageView.UsageViewDescriptor;
+import com.intellij.usageView.UsageViewUtil;
+import com.intellij.util.IncorrectOperationException;
+import org.jetbrains.annotations.NotNull;
+
+import java.util.ArrayList;
+import java.util.Collection;
/**
* @author dsl
*/
package com.intellij.refactoring.extractSuperclass;
-import com.intellij.openapi.project.*;
+import com.intellij.openapi.project.Project;
import com.intellij.psi.*;
-import com.intellij.refactoring.util.*;
-import com.intellij.refactoring.util.classMembers.*;
-import com.intellij.util.*;
+import com.intellij.refactoring.util.DocCommentPolicy;
+import com.intellij.refactoring.util.classMembers.MemberInfo;
+import com.intellij.util.IncorrectOperationException;
/**
* @author dsl
*/
package com.intellij.refactoring.extractSuperclass;
-import com.intellij.openapi.project.*;
-import com.intellij.psi.*;
-import com.intellij.refactoring.*;
-import com.intellij.refactoring.classMembers.*;
-import com.intellij.refactoring.memberPullUp.*;
-import com.intellij.refactoring.ui.*;
-import com.intellij.refactoring.util.*;
-import com.intellij.refactoring.util.classMembers.*;
+import com.intellij.openapi.project.Project;
+import com.intellij.psi.PsiClass;
+import com.intellij.psi.PsiMember;
+import com.intellij.psi.PsiMethod;
+import com.intellij.refactoring.HelpID;
+import com.intellij.refactoring.JavaRefactoringSettings;
+import com.intellij.refactoring.RefactoringBundle;
+import com.intellij.refactoring.classMembers.MemberInfoChange;
+import com.intellij.refactoring.classMembers.MemberInfoModel;
+import com.intellij.refactoring.memberPullUp.PullUpHelper;
+import com.intellij.refactoring.ui.MemberSelectionPanel;
+import com.intellij.refactoring.util.DocCommentPolicy;
+import com.intellij.refactoring.util.classMembers.InterfaceContainmentVerifier;
+import com.intellij.refactoring.util.classMembers.MemberInfo;
+import com.intellij.refactoring.util.classMembers.UsesAndInterfacesDependencyMemberInfoModel;
import javax.swing.*;
import java.awt.*;
-import java.util.*;
+import java.util.ArrayList;
import java.util.List;
class ExtractSuperclassDialog extends ExtractSuperBaseDialog {
import com.intellij.openapi.editor.markup.RangeHighlighter;
import com.intellij.openapi.editor.markup.TextAttributes;
import com.intellij.openapi.project.Project;
-import com.intellij.openapi.util.Pair;
import com.intellij.openapi.util.Pass;
import com.intellij.openapi.util.text.StringUtil;
import com.intellij.openapi.wm.WindowManager;
*/
package com.intellij.refactoring.rename;
-import com.intellij.codeInsight.*;
-import com.intellij.openapi.diagnostic.*;
-import com.intellij.openapi.project.*;
-import com.intellij.openapi.util.*;
+import com.intellij.codeInsight.ChangeContextUtil;
+import com.intellij.openapi.diagnostic.Logger;
+import com.intellij.openapi.project.Project;
+import com.intellij.openapi.util.Comparing;
+import com.intellij.openapi.util.Pair;
import com.intellij.psi.*;
-import com.intellij.psi.search.*;
-import com.intellij.psi.search.searches.*;
+import com.intellij.psi.search.GlobalSearchScope;
+import com.intellij.psi.search.LocalSearchScope;
+import com.intellij.psi.search.searches.ClassInheritorsSearch;
+import com.intellij.psi.search.searches.ReferencesSearch;
import com.intellij.psi.util.ClassUtil;
-import com.intellij.refactoring.*;
-import com.intellij.refactoring.listeners.*;
-import com.intellij.refactoring.util.*;
-import com.intellij.usageView.*;
-import com.intellij.util.*;
-import com.intellij.util.containers.*;
-import org.jetbrains.annotations.*;
+import com.intellij.refactoring.HelpID;
+import com.intellij.refactoring.JavaRefactoringSettings;
+import com.intellij.refactoring.RefactoringBundle;
+import com.intellij.refactoring.listeners.RefactoringElementListener;
+import com.intellij.refactoring.util.MoveRenameUsageInfo;
+import com.intellij.refactoring.util.RefactoringUtil;
+import com.intellij.usageView.UsageInfo;
+import com.intellij.util.IncorrectOperationException;
+import com.intellij.util.containers.MultiMap;
+import org.jetbrains.annotations.NonNls;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
import java.util.*;
-import java.util.HashSet;
-import java.util.regex.*;
+import java.util.regex.Pattern;
/**
* @author yole
*/
package com.intellij.refactoring.util.duplicates;
-import com.intellij.codeInsight.*;
-import com.intellij.lang.*;
-import com.intellij.openapi.diagnostic.*;
-import com.intellij.openapi.util.*;
+import com.intellij.codeInsight.PsiEquivalenceUtil;
+import com.intellij.lang.ASTNode;
+import com.intellij.openapi.diagnostic.Logger;
+import com.intellij.openapi.util.Comparing;
+import com.intellij.openapi.util.Key;
+import com.intellij.openapi.util.Pair;
import com.intellij.psi.*;
import com.intellij.psi.controlFlow.*;
-import com.intellij.psi.impl.source.*;
-import com.intellij.psi.tree.*;
-import com.intellij.psi.util.*;
-import com.intellij.refactoring.extractMethod.*;
-import com.intellij.refactoring.util.*;
-import com.intellij.util.*;
-import com.intellij.util.containers.*;
-import org.jetbrains.annotations.*;
+import com.intellij.psi.impl.source.PsiImmediateClassType;
+import com.intellij.psi.tree.IElementType;
+import com.intellij.psi.util.InheritanceUtil;
+import com.intellij.psi.util.PsiTreeUtil;
+import com.intellij.psi.util.PsiUtil;
+import com.intellij.psi.util.TypeConversionUtil;
+import com.intellij.refactoring.extractMethod.InputVariables;
+import com.intellij.refactoring.util.RefactoringUtil;
+import com.intellij.util.ArrayUtil;
+import com.intellij.util.IncorrectOperationException;
+import com.intellij.util.containers.IntArrayList;
+import org.jetbrains.annotations.Nullable;
import java.util.*;
import com.intellij.refactoring.extractMethod.InputVariables;
import com.intellij.refactoring.util.CommonRefactoringUtil;
import com.intellij.refactoring.util.RefactoringUtil;
-import com.intellij.util.VisibilityUtil;
import com.intellij.util.IncorrectOperationException;
+import com.intellij.util.VisibilityUtil;
import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.NotNull;
*/
package com.intellij.testIntegration.createTest;
-import com.intellij.codeInsight.*;
-import com.intellij.codeInsight.daemon.impl.analysis.*;
-import com.intellij.codeInsight.intention.*;
-import com.intellij.openapi.application.*;
-import com.intellij.openapi.editor.*;
-import com.intellij.openapi.extensions.*;
-import com.intellij.openapi.fileEditor.ex.*;
-import com.intellij.openapi.module.*;
-import com.intellij.openapi.project.*;
-import com.intellij.openapi.roots.*;
-import com.intellij.openapi.ui.*;
-import com.intellij.openapi.util.*;
-import com.intellij.openapi.vfs.*;
+import com.intellij.codeInsight.CodeInsightBundle;
+import com.intellij.codeInsight.CodeInsightUtil;
+import com.intellij.codeInsight.daemon.impl.analysis.HighlightNamesUtil;
+import com.intellij.codeInsight.intention.PsiElementBaseIntentionAction;
+import com.intellij.openapi.application.ApplicationManager;
+import com.intellij.openapi.editor.Editor;
+import com.intellij.openapi.extensions.Extensions;
+import com.intellij.openapi.fileEditor.ex.IdeDocumentHistory;
+import com.intellij.openapi.module.Module;
+import com.intellij.openapi.module.ModuleUtil;
+import com.intellij.openapi.project.Project;
+import com.intellij.openapi.roots.ProjectRootManager;
+import com.intellij.openapi.ui.Messages;
+import com.intellij.openapi.util.TextRange;
+import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.psi.*;
-import com.intellij.psi.impl.source.*;
-import com.intellij.psi.search.*;
-import com.intellij.psi.util.*;
-import com.intellij.refactoring.util.classMembers.*;
-import com.intellij.testIntegration.*;
-import com.intellij.util.*;
-import org.jetbrains.annotations.*;
-
-import java.util.*;
+import com.intellij.psi.impl.source.PostprocessReformattingAspect;
+import com.intellij.psi.search.GlobalSearchScope;
+import com.intellij.psi.util.PsiTreeUtil;
+import com.intellij.refactoring.util.classMembers.MemberInfo;
+import com.intellij.testIntegration.TestFrameworkDescriptor;
+import com.intellij.testIntegration.TestIntegrationUtils;
+import com.intellij.util.IncorrectOperationException;
+import org.jetbrains.annotations.NotNull;
+
+import java.util.Collection;
public class CreateTestAction extends PsiElementBaseIntentionAction {
@NotNull
-import java.util.*;
+import java.util.Collection;
class Test {
void foo() {
final Collection<? extends Number> extensions = getExtensions();
import com.intellij.refactoring.util.classMembers.MemberInfo;
import junit.framework.Assert;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.TreeSet;
public class ExtractEnumTest extends MultiFileTestCase {
package com.intellij.refactoring;
+import com.intellij.JavaTestUtil;
import com.intellij.codeInsight.CodeInsightUtil;
import com.intellij.openapi.editor.Editor;
import com.intellij.openapi.project.Project;
import com.intellij.refactoring.util.duplicates.Match;
import com.intellij.testFramework.LightCodeInsightTestCase;
import com.intellij.util.IncorrectOperationException;
-import com.intellij.JavaTestUtil;
import org.jetbrains.annotations.NonNls;
import java.util.List;
package com.intellij.refactoring;
+import com.intellij.JavaTestUtil;
import com.intellij.openapi.projectRoots.Sdk;
import com.intellij.openapi.projectRoots.impl.JavaSdkImpl;
import com.intellij.psi.PsiPrimitiveType;
import com.intellij.psi.PsiType;
import com.intellij.refactoring.introduceField.BaseExpressionToFieldHandler;
import com.intellij.testFramework.LightCodeInsightTestCase;
-import com.intellij.JavaTestUtil;
/**
* @author ven
package com.intellij.refactoring;
-import com.intellij.*;
-import com.intellij.codeInsight.*;
-import com.intellij.openapi.projectRoots.*;
-import com.intellij.openapi.projectRoots.impl.*;
-import com.intellij.psi.*;
-import com.intellij.refactoring.rename.*;
-import com.intellij.refactoring.util.*;
-import com.intellij.testFramework.*;
-import com.intellij.usageView.*;
-import org.junit.*;
-
-import java.util.*;
+import com.intellij.JavaTestUtil;
+import com.intellij.codeInsight.TargetElementUtilBase;
+import com.intellij.openapi.projectRoots.Sdk;
+import com.intellij.openapi.projectRoots.impl.JavaSdkImpl;
+import com.intellij.psi.PsiElement;
+import com.intellij.refactoring.rename.RenameProcessor;
+import com.intellij.refactoring.rename.RenameUtil;
+import com.intellij.refactoring.util.MoveRenameUsageInfo;
+import com.intellij.testFramework.LightCodeInsightTestCase;
+import com.intellij.usageView.UsageInfo;
+import org.junit.Assert;
+
+import java.util.HashMap;
/**
* @author sashache
*/
package com.intellij.refactoring;
+import com.intellij.JavaTestUtil;
import com.intellij.openapi.fileEditor.FileDocumentManager;
import com.intellij.openapi.vfs.LocalFileSystem;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.refactoring.replaceConstructorWithBuilder.ParameterData;
import com.intellij.refactoring.replaceConstructorWithBuilder.ReplaceConstructorWithBuilderProcessor;
import com.intellij.util.containers.HashMap;
-import com.intellij.JavaTestUtil;
import java.util.LinkedHashMap;
import java.util.Map;
package com.intellij.codeInsight.intention;
-import com.intellij.codeInsight.*;
-import com.intellij.codeInspection.*;
-import com.intellij.lang.findUsages.*;
-import com.intellij.openapi.command.undo.*;
-import com.intellij.openapi.diagnostic.*;
-import com.intellij.openapi.editor.*;
-import com.intellij.openapi.project.*;
+import com.intellij.codeInsight.AnnotationUtil;
+import com.intellij.codeInsight.CodeInsightBundle;
+import com.intellij.codeInsight.CodeInsightUtilBase;
+import com.intellij.codeInsight.ExternalAnnotationsManager;
+import com.intellij.codeInspection.LocalQuickFix;
+import com.intellij.codeInspection.ProblemDescriptor;
+import com.intellij.lang.findUsages.FindUsagesProvider;
+import com.intellij.lang.findUsages.LanguageFindUsages;
+import com.intellij.openapi.command.undo.UndoUtil;
+import com.intellij.openapi.diagnostic.Logger;
+import com.intellij.openapi.editor.CaretModel;
+import com.intellij.openapi.editor.Editor;
+import com.intellij.openapi.project.Project;
import com.intellij.psi.*;
-import com.intellij.psi.codeStyle.*;
-import com.intellij.psi.util.*;
-import com.intellij.util.*;
-import org.jetbrains.annotations.*;
+import com.intellij.psi.codeStyle.CodeStyleSettingsManager;
+import com.intellij.psi.codeStyle.JavaCodeStyleManager;
+import com.intellij.psi.util.PsiTreeUtil;
+import com.intellij.psi.util.PsiUtil;
+import com.intellij.util.IncorrectOperationException;
+import org.jetbrains.annotations.NonNls;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
/**
* @author ven
import com.intellij.codeInsight.CodeSmellInfo;
import com.intellij.lang.annotation.HighlightSeverity;
import com.intellij.openapi.progress.ProcessCanceledException;
-import com.intellij.openapi.project.Project;
import com.intellij.openapi.project.DumbService;
+import com.intellij.openapi.project.Project;
import com.intellij.openapi.ui.Messages;
-import com.intellij.openapi.vcs.*;
+import com.intellij.openapi.vcs.CheckinProjectPanel;
+import com.intellij.openapi.vcs.CodeSmellDetector;
+import com.intellij.openapi.vcs.VcsBundle;
+import com.intellij.openapi.vcs.VcsConfiguration;
import com.intellij.openapi.vcs.changes.CommitExecutor;
import com.intellij.openapi.vcs.ui.RefreshableOnComponent;
import com.intellij.openapi.vfs.VirtualFile;
+import com.intellij.util.PairConsumer;
import com.intellij.util.ui.UIUtil;
import org.jetbrains.annotations.Nullable;
return result;
}
- public ReturnResult beforeCheckin(CommitExecutor executor) {
+ public ReturnResult beforeCheckin(CommitExecutor executor, PairConsumer<Object, Object> additionalDataConsumer) {
if (getSettings().CHECK_CODE_SMELLS_BEFORE_PROJECT_COMMIT) {
if (DumbService.getInstance(myProject).isDumb()) {
if (Messages.showDialog(myProject,
*/
package com.intellij.codeInsight.intention;
-import com.intellij.codeInsight.intention.impl.*;
-import com.intellij.openapi.editor.*;
-import com.intellij.openapi.project.*;
-import com.intellij.psi.*;
-import org.jetbrains.annotations.*;
+import com.intellij.codeInsight.intention.impl.BaseIntentionAction;
+import com.intellij.openapi.editor.CaretModel;
+import com.intellij.openapi.editor.Editor;
+import com.intellij.openapi.project.Project;
+import com.intellij.psi.PsiElement;
+import com.intellij.psi.PsiFile;
+import org.jetbrains.annotations.NotNull;
public abstract class PsiElementBaseIntentionAction extends BaseIntentionAction {
package com.intellij.execution.configurations;
-import com.intellij.openapi.application.*;
-import com.intellij.openapi.diagnostic.*;
-import com.intellij.openapi.module.*;
-import com.intellij.openapi.util.*;
-import org.jdom.*;
-import org.jetbrains.annotations.*;
-
-import java.util.*;
+import com.intellij.openapi.application.ApplicationManager;
+import com.intellij.openapi.diagnostic.Logger;
+import com.intellij.openapi.module.Module;
+import com.intellij.openapi.module.ModuleManager;
+import com.intellij.openapi.module.ModuleUtil;
+import com.intellij.openapi.util.Computable;
+import com.intellij.openapi.util.InvalidDataException;
+import com.intellij.openapi.util.WriteExternalException;
+import org.jdom.Element;
+import org.jetbrains.annotations.NonNls;
+import org.jetbrains.annotations.NotNull;
+
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.Set;
public abstract class ModuleBasedConfiguration<ConfigurationModule extends RunConfigurationModule> extends RuntimeConfiguration {
private static final Logger LOG = Logger.getInstance("#com.intellij.execution.configurations.ModuleBasedConfiguration");
package com.intellij.execution.junit;
-import com.intellij.execution.*;
+import com.intellij.execution.Location;
+import com.intellij.execution.PsiLocation;
+import com.intellij.execution.RunManager;
+import com.intellij.execution.RunnerAndConfigurationSettings;
import com.intellij.execution.actions.ConfigurationContext;
import com.intellij.execution.configurations.ConfigurationFactory;
import com.intellij.execution.configurations.ConfigurationType;
*/
package com.intellij.openapi.module;
-import com.intellij.openapi.application.*;
-import com.intellij.openapi.project.*;
+import com.intellij.openapi.application.ReadAction;
+import com.intellij.openapi.application.Result;
+import com.intellij.openapi.project.Project;
import com.intellij.openapi.roots.*;
-import com.intellij.openapi.util.*;
-import com.intellij.openapi.vfs.*;
-import com.intellij.psi.*;
+import com.intellij.openapi.util.Key;
+import com.intellij.openapi.vfs.VirtualFile;
+import com.intellij.psi.PsiDirectory;
+import com.intellij.psi.PsiElement;
+import com.intellij.psi.PsiFile;
import com.intellij.util.containers.HashSet;
-import com.intellij.util.graph.*;
-import org.jetbrains.annotations.*;
+import com.intellij.util.graph.Graph;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
import java.util.*;
import com.intellij.codeInsight.daemon.DaemonCodeAnalyzer;
import com.intellij.openapi.Disposable;
+import com.intellij.openapi.application.Application;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.editor.Document;
import com.intellij.openapi.editor.Editor;
CaretListener caretListener = new CaretListener() {
public void caretPositionChanged(CaretEvent e) {
- ApplicationManager.getApplication().invokeLater(myUpdateStatusRunnable);
+ updateLater();
}
};
EditorFactory.getInstance().getEventMulticaster().addCaretListener(caretListener, this);
project.getMessageBus().connect().subscribe(FileEditorManagerListener.FILE_EDITOR_MANAGER, new FileEditorManagerAdapter() {
@Override
public void selectionChanged(FileEditorManagerEvent event) {
- ApplicationManager.getApplication().invokeLater(myUpdateStatusRunnable);
+ updateLater();
}
});
}
+ private void updateLater() {
+ final Application application = ApplicationManager.getApplication();
+ if (!application.isUnitTestMode()) {
+ application.invokeLater(myUpdateStatusRunnable);
+ }
+ else {
+ myUpdateStatusRunnable.run();
+ }
+ }
+
public void dispose() {
}
}
}
}
-}
\ No newline at end of file
+}
package com.intellij.codeInsight.daemon.impl.actions;
-import com.intellij.codeInsight.*;
-import com.intellij.codeInspection.*;
-import com.intellij.lang.*;
-import com.intellij.openapi.command.undo.*;
-import com.intellij.openapi.editor.*;
-import com.intellij.openapi.fileTypes.*;
-import com.intellij.openapi.project.*;
-import com.intellij.psi.*;
-import com.intellij.psi.util.*;
-import com.intellij.util.*;
-import org.jetbrains.annotations.*;
-
-import java.util.*;
+import com.intellij.codeInsight.CodeInsightUtilBase;
+import com.intellij.codeInspection.InspectionsBundle;
+import com.intellij.codeInspection.SuppressIntentionAction;
+import com.intellij.codeInspection.SuppressionUtil;
+import com.intellij.lang.Commenter;
+import com.intellij.lang.LanguageCommenters;
+import com.intellij.openapi.command.undo.UndoUtil;
+import com.intellij.openapi.editor.Editor;
+import com.intellij.openapi.fileTypes.LanguageFileType;
+import com.intellij.openapi.project.Project;
+import com.intellij.psi.PsiComment;
+import com.intellij.psi.PsiElement;
+import com.intellij.psi.PsiParserFacade;
+import com.intellij.psi.PsiWhiteSpace;
+import com.intellij.psi.util.PsiTreeUtil;
+import com.intellij.util.IncorrectOperationException;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
+
+import java.util.Collections;
+import java.util.List;
/**
* @author Roman.Chernyatchik
import com.intellij.codeInsight.CodeInsightBundle;
import com.intellij.codeInsight.CodeInsightSettings;
import com.intellij.codeInsight.editorActions.enter.EnterHandlerDelegate;
+import com.intellij.injected.editor.DocumentWindow;
import com.intellij.lang.*;
import com.intellij.lang.documentation.CodeDocumentationProvider;
import com.intellij.lang.documentation.CompositeDocumentationProvider;
import com.intellij.psi.codeStyle.CodeStyleSettings;
import com.intellij.psi.codeStyle.CodeStyleSettingsManager;
import com.intellij.psi.impl.source.PostprocessReformattingAspect;
+import com.intellij.psi.impl.source.tree.injected.InjectedLanguageUtil;
import com.intellij.psi.tree.IElementType;
import com.intellij.psi.util.PsiTreeUtil;
import com.intellij.psi.util.PsiUtilBase;
if (CodeInsightSettings.getInstance().SMART_INDENT_ON_ENTER || myForceIndent || docStart || docAsterisk ||
slashSlash) {
- myOffset = CodeStyleManager.getInstance(getProject()).adjustLineIndent(myFile, myOffset);
+ final CodeStyleManager codeStyleManager = CodeStyleManager.getInstance(getProject());
+ if (myDocument instanceof DocumentWindow) {
+ DocumentWindow documentWindow = (DocumentWindow)myDocument;
+ final int correctedOffset = codeStyleManager.adjustLineIndent(InjectedLanguageUtil.getTopLevelFile(myFile),
+ documentWindow.injectedToHost(myOffset));
+ myOffset = documentWindow.hostToInjected(correctedOffset);
+ }
+ else {
+ myOffset = codeStyleManager.adjustLineIndent(myFile, myOffset);
+ }
}
if (docAsterisk || docStart || slashSlash) {
package com.intellij.codeInsight.generation;
import com.intellij.codeInsight.CodeInsightActionHandler;
+import com.intellij.injected.editor.DocumentWindow;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.editor.*;
import com.intellij.openapi.fileEditor.FileDocumentManager;
import com.intellij.psi.PsiDocumentManager;
import com.intellij.psi.PsiFile;
import com.intellij.psi.codeStyle.CodeStyleManager;
+import com.intellij.psi.impl.source.tree.injected.InjectedLanguageUtil;
import com.intellij.util.IncorrectOperationException;
import org.jetbrains.annotations.NotNull;
int line1 = editor.offsetToLogicalPosition(startOffset).line;
int col = editor.getCaretModel().getLogicalPosition().column;
- CodeStyleManager codeStyleManager = CodeStyleManager.getInstance(project);
try{
- if (startOffset == endOffset) {
- int lineStart = document.getLineStartOffset(line1);
- if (codeStyleManager.isLineToBeIndented(file, lineStart)) {
- codeStyleManager.adjustLineIndent(file, lineStart);
- }
- } else {
- codeStyleManager.adjustLineIndent(file, new TextRange(startOffset, endOffset));
+ if (document instanceof DocumentWindow) {
+ final DocumentWindow documentWindow = (DocumentWindow)document;
+ int hostLine = documentWindow.injectedToHostLine(line1);
+ int hostStartOffset = documentWindow.injectedToHost(startOffset);
+ int hostEndOffset = documentWindow.injectedToHost(endOffset);
+ adjustLineIndent(InjectedLanguageUtil.getTopLevelFile(file), documentWindow.getDelegate(),
+ hostStartOffset, hostEndOffset, hostLine, project);
+ }
+ else {
+ adjustLineIndent(file, document, startOffset, endOffset, line1, project);
}
}
catch(IncorrectOperationException e){
}
}
+ private static void adjustLineIndent(PsiFile file,
+ Document document,
+ int startOffset, int endOffset, int line1, Project project) {
+ CodeStyleManager codeStyleManager = CodeStyleManager.getInstance(project);
+ if (startOffset == endOffset) {
+ int lineStart = document.getLineStartOffset(line1);
+ if (codeStyleManager.isLineToBeIndented(file, lineStart)) {
+ codeStyleManager.adjustLineIndent(file, lineStart);
+ }
+ } else {
+ codeStyleManager.adjustLineIndent(file, new TextRange(startOffset, endOffset));
+ }
+ }
+
public boolean startInWriteAction() {
return true;
}
package com.intellij.codeInsight.hint;
-import com.intellij.lang.parameterInfo.*;
-import com.intellij.openapi.editor.*;
-import com.intellij.psi.*;
-import com.intellij.ui.*;
-import com.intellij.util.ui.*;
-import org.jetbrains.annotations.*;
+import com.intellij.lang.parameterInfo.ParameterInfoHandler;
+import com.intellij.lang.parameterInfo.ParameterInfoUIContextEx;
+import com.intellij.openapi.editor.Editor;
+import com.intellij.psi.PsiElement;
+import com.intellij.ui.SideBorder;
+import com.intellij.ui.StrikeoutLabel;
+import com.intellij.util.ui.UIUtil;
+import org.jetbrains.annotations.NotNull;
import javax.swing.*;
-import javax.swing.border.*;
+import javax.swing.border.Border;
+import javax.swing.border.LineBorder;
import java.awt.*;
-import java.util.*;
+import java.util.EnumSet;
class ParameterInfoComponent extends JPanel{
private final Object[] myObjects;
package com.intellij.codeInsight.problems;
import com.intellij.codeInsight.daemon.impl.*;
-import com.intellij.codeInsight.daemon.impl.analysis.*;
-import com.intellij.lang.annotation.*;
-import com.intellij.openapi.*;
-import com.intellij.openapi.application.*;
-import com.intellij.openapi.application.impl.*;
-import com.intellij.openapi.editor.*;
-import com.intellij.openapi.extensions.*;
-import com.intellij.openapi.fileEditor.*;
-import com.intellij.openapi.module.*;
-import com.intellij.openapi.progress.*;
-import com.intellij.openapi.project.*;
-import com.intellij.openapi.util.*;
-import com.intellij.openapi.util.text.*;
-import com.intellij.openapi.vcs.*;
+import com.intellij.codeInsight.daemon.impl.analysis.HighlightInfoHolder;
+import com.intellij.lang.annotation.HighlightSeverity;
+import com.intellij.openapi.Disposable;
+import com.intellij.openapi.application.ApplicationManager;
+import com.intellij.openapi.application.impl.LaterInvocator;
+import com.intellij.openapi.editor.Document;
+import com.intellij.openapi.extensions.Extensions;
+import com.intellij.openapi.fileEditor.FileDocumentManager;
+import com.intellij.openapi.fileEditor.FileEditor;
+import com.intellij.openapi.fileEditor.FileEditorManager;
+import com.intellij.openapi.fileEditor.TextEditor;
+import com.intellij.openapi.module.Module;
+import com.intellij.openapi.module.ModuleUtil;
+import com.intellij.openapi.progress.ProcessCanceledException;
+import com.intellij.openapi.progress.ProgressIndicator;
+import com.intellij.openapi.progress.ProgressManager;
+import com.intellij.openapi.project.Project;
+import com.intellij.openapi.util.Computable;
+import com.intellij.openapi.util.Condition;
+import com.intellij.openapi.util.Disposer;
+import com.intellij.openapi.util.TextRange;
+import com.intellij.openapi.util.text.StringUtil;
+import com.intellij.openapi.vcs.FileStatusListener;
+import com.intellij.openapi.vcs.FileStatusManager;
import com.intellij.openapi.vfs.*;
-import com.intellij.openapi.wm.*;
-import com.intellij.openapi.wm.ex.*;
-import com.intellij.problems.*;
+import com.intellij.openapi.wm.StatusBar;
+import com.intellij.openapi.wm.WindowManager;
+import com.intellij.openapi.wm.ex.StatusBarEx;
+import com.intellij.problems.Problem;
+import com.intellij.problems.WolfTheProblemSolver;
import com.intellij.psi.*;
-import com.intellij.util.containers.*;
-import gnu.trove.*;
-import org.jetbrains.annotations.*;
+import com.intellij.util.containers.ContainerUtil;
+import gnu.trove.THashMap;
+import gnu.trove.THashSet;
+import org.jetbrains.annotations.NonNls;
+import org.jetbrains.annotations.NotNull;
import java.util.*;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.extensions.Extensions;
import com.intellij.openapi.project.DumbAware;
-import com.intellij.openapi.project.Project;
import com.intellij.openapi.project.DumbService;
+import com.intellij.openapi.project.Project;
import com.intellij.util.containers.HashMap;
import com.intellij.util.containers.HashSet;
import org.jetbrains.annotations.NonNls;
import com.intellij.execution.*;
import com.intellij.execution.configurations.RunConfiguration;
-import com.intellij.execution.runners.ProgramRunner;
import com.intellij.execution.runners.ExecutionEnvironment;
+import com.intellij.execution.runners.ProgramRunner;
import com.intellij.openapi.actionSystem.Presentation;
import com.intellij.openapi.ui.Messages;
import org.jetbrains.annotations.NotNull;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Collections;
import java.util.List;
+import java.util.Map;
/**
* User: anna
import com.intellij.openapi.project.Project;
import com.intellij.openapi.ui.Messages;
import com.intellij.openapi.ui.Splitter;
-import com.intellij.openapi.ui.popup.*;
+import com.intellij.openapi.ui.popup.JBPopupFactory;
+import com.intellij.openapi.ui.popup.ListPopup;
+import com.intellij.openapi.ui.popup.ListPopupStep;
+import com.intellij.openapi.ui.popup.PopupStep;
import com.intellij.openapi.ui.popup.util.BaseListPopupStep;
import com.intellij.openapi.util.Comparing;
import com.intellij.openapi.util.IconLoader;
import com.intellij.execution.process.ProcessOutputTypes;
import com.intellij.execution.runners.DefaultProgramRunner;
import com.intellij.execution.runners.ProgramRunner;
-import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.application.ex.ApplicationManagerEx;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.progress.ProgressManager;
package com.intellij.find.findUsages;
-import com.intellij.codeInsight.hint.*;
-import com.intellij.find.*;
-import com.intellij.lang.findUsages.*;
-import com.intellij.navigation.*;
-import com.intellij.openapi.actionSystem.*;
-import com.intellij.openapi.application.*;
-import com.intellij.openapi.diagnostic.*;
+import com.intellij.codeInsight.hint.HintManager;
+import com.intellij.codeInsight.hint.HintManagerImpl;
+import com.intellij.codeInsight.hint.HintUtil;
+import com.intellij.find.FindBundle;
+import com.intellij.lang.findUsages.LanguageFindUsages;
+import com.intellij.navigation.NavigationItem;
+import com.intellij.openapi.actionSystem.ActionManager;
+import com.intellij.openapi.actionSystem.AnAction;
+import com.intellij.openapi.actionSystem.IdeActions;
+import com.intellij.openapi.application.ApplicationManager;
+import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.editor.Document;
-import com.intellij.openapi.editor.*;
-import com.intellij.openapi.extensions.*;
-import com.intellij.openapi.fileEditor.*;
-import com.intellij.openapi.keymap.*;
-import com.intellij.openapi.progress.*;
-import com.intellij.openapi.project.*;
-import com.intellij.openapi.ui.*;
+import com.intellij.openapi.editor.Editor;
+import com.intellij.openapi.extensions.Extensions;
+import com.intellij.openapi.fileEditor.FileEditor;
+import com.intellij.openapi.fileEditor.FileEditorLocation;
+import com.intellij.openapi.fileEditor.TextEditor;
+import com.intellij.openapi.keymap.KeymapUtil;
+import com.intellij.openapi.progress.ProgressIndicator;
+import com.intellij.openapi.progress.ProgressManager;
+import com.intellij.openapi.progress.Task;
+import com.intellij.openapi.project.Project;
+import com.intellij.openapi.ui.Messages;
import com.intellij.openapi.util.*;
-import com.intellij.openapi.util.text.*;
-import com.intellij.openapi.wm.*;
+import com.intellij.openapi.util.text.StringUtil;
+import com.intellij.openapi.wm.StatusBar;
import com.intellij.psi.*;
-import com.intellij.psi.search.*;
-import com.intellij.ui.*;
+import com.intellij.psi.search.LocalSearchScope;
+import com.intellij.psi.search.SearchScope;
+import com.intellij.ui.LightweightHint;
import com.intellij.ui.content.Content;
-import com.intellij.usageView.*;
+import com.intellij.usageView.UsageInfo;
import com.intellij.usageView.UsageViewManager;
+import com.intellij.usageView.UsageViewUtil;
import com.intellij.usages.*;
-import com.intellij.usages.impl.*;
-import com.intellij.util.*;
-import com.intellij.util.containers.*;
-import org.jdom.*;
-import org.jetbrains.annotations.*;
+import com.intellij.usages.impl.UsageViewManagerImpl;
+import com.intellij.util.Processor;
+import com.intellij.util.containers.ContainerUtil;
+import org.jdom.Element;
+import org.jetbrains.annotations.NonNls;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
import javax.swing.*;
-import java.util.*;
-import java.util.concurrent.*;
-import java.util.concurrent.atomic.*;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+import java.util.concurrent.CopyOnWriteArrayList;
+import java.util.concurrent.atomic.AtomicInteger;
public class FindUsagesManager implements JDOMExternalizable {
private static final Logger LOG = Logger.getInstance("#com.intellij.find.findParameterUsages.FindUsagesManager");
import javax.swing.tree.DefaultTreeModel;
import javax.swing.tree.TreeNode;
import javax.swing.tree.TreePath;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Comparator;
+import java.util.List;
public abstract class BaseProjectTreeBuilder extends AbstractTreeBuilder {
protected final Project myProject;
package com.intellij.openapi.wm.impl.status;
-import com.intellij.codeInsight.daemon.*;
-import com.intellij.codeInsight.daemon.impl.*;
-import com.intellij.codeInsight.daemon.impl.analysis.*;
-import com.intellij.ide.*;
-import com.intellij.openapi.actionSystem.*;
-import com.intellij.openapi.editor.*;
-import com.intellij.openapi.fileEditor.*;
-import com.intellij.openapi.fileEditor.ex.*;
-import com.intellij.openapi.project.*;
-import com.intellij.openapi.util.*;
-import com.intellij.openapi.vfs.*;
-import com.intellij.openapi.wm.*;
-import com.intellij.profile.codeInspection.*;
-import com.intellij.psi.*;
-import com.intellij.ui.*;
-import com.intellij.ui.awt.*;
-import com.intellij.util.*;
-import org.jetbrains.annotations.*;
+import com.intellij.codeInsight.daemon.DaemonCodeAnalyzer;
+import com.intellij.codeInsight.daemon.impl.HectorComponent;
+import com.intellij.codeInsight.daemon.impl.analysis.HighlightLevelUtil;
+import com.intellij.ide.DataManager;
+import com.intellij.openapi.actionSystem.PlatformDataKeys;
+import com.intellij.openapi.editor.Editor;
+import com.intellij.openapi.fileEditor.FileEditorManager;
+import com.intellij.openapi.fileEditor.FileEditorManagerAdapter;
+import com.intellij.openapi.fileEditor.FileEditorManagerEvent;
+import com.intellij.openapi.fileEditor.FileEditorManagerListener;
+import com.intellij.openapi.fileEditor.ex.FileEditorManagerEx;
+import com.intellij.openapi.project.Project;
+import com.intellij.openapi.util.IconLoader;
+import com.intellij.openapi.vfs.VirtualFile;
+import com.intellij.openapi.wm.StatusBar;
+import com.intellij.openapi.wm.StatusBarWidget;
+import com.intellij.profile.codeInspection.InspectionProjectProfileManager;
+import com.intellij.psi.PsiFile;
+import com.intellij.psi.PsiManager;
+import com.intellij.ui.UIBundle;
+import com.intellij.ui.awt.RelativePoint;
+import com.intellij.util.Consumer;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
import javax.swing.*;
import java.awt.*;
-import java.awt.event.*;
+import java.awt.event.MouseEvent;
public class TogglePopupHintsPanel implements StatusBarWidget, StatusBarWidget.IconPresentation {
private static final Icon INSPECTIONS_ICON = IconLoader.getIcon("/ide/hectorOn.png");
package com.intellij.packageDependencies.ui;
-import com.intellij.*;
-import com.intellij.analysis.*;
-import com.intellij.codeInsight.hint.*;
-import com.intellij.ide.*;
-import com.intellij.openapi.*;
+import com.intellij.CommonBundle;
+import com.intellij.analysis.AnalysisScope;
+import com.intellij.analysis.AnalysisScopeBundle;
+import com.intellij.analysis.PerformAnalysisInBackgroundOption;
+import com.intellij.codeInsight.hint.HintUtil;
+import com.intellij.ide.CommonActionsManager;
+import com.intellij.ide.ExporterToTextFile;
+import com.intellij.openapi.Disposable;
import com.intellij.openapi.actionSystem.*;
-import com.intellij.openapi.actionSystem.ex.*;
-import com.intellij.openapi.components.*;
-import com.intellij.openapi.diagnostic.*;
-import com.intellij.openapi.extensions.*;
-import com.intellij.openapi.help.*;
-import com.intellij.openapi.options.*;
-import com.intellij.openapi.progress.*;
-import com.intellij.openapi.project.*;
-import com.intellij.openapi.roots.*;
-import com.intellij.openapi.ui.*;
-import com.intellij.openapi.ui.popup.*;
-import com.intellij.openapi.util.*;
-import com.intellij.openapi.util.text.*;
-import com.intellij.openapi.vfs.*;
-import com.intellij.openapi.wm.*;
+import com.intellij.openapi.actionSystem.ex.ComboBoxAction;
+import com.intellij.openapi.components.PathMacroManager;
+import com.intellij.openapi.diagnostic.Logger;
+import com.intellij.openapi.extensions.Extensions;
+import com.intellij.openapi.help.HelpManager;
+import com.intellij.openapi.options.ShowSettingsUtil;
+import com.intellij.openapi.progress.ProgressManager;
+import com.intellij.openapi.project.DumbAware;
+import com.intellij.openapi.project.Project;
+import com.intellij.openapi.roots.ProjectFileIndex;
+import com.intellij.openapi.roots.ProjectRootManager;
+import com.intellij.openapi.ui.Messages;
+import com.intellij.openapi.ui.Splitter;
+import com.intellij.openapi.ui.popup.JBPopupFactory;
+import com.intellij.openapi.util.Disposer;
+import com.intellij.openapi.util.IconLoader;
+import com.intellij.openapi.util.JDOMUtil;
+import com.intellij.openapi.util.text.StringUtil;
+import com.intellij.openapi.vfs.VirtualFile;
+import com.intellij.openapi.wm.StatusBar;
import com.intellij.packageDependencies.*;
-import com.intellij.packageDependencies.actions.*;
-import com.intellij.psi.*;
-import com.intellij.psi.search.scope.packageSet.*;
+import com.intellij.packageDependencies.actions.AnalyzeDependenciesHandler;
+import com.intellij.packageDependencies.actions.BackwardDependenciesHandler;
+import com.intellij.psi.PsiElement;
+import com.intellij.psi.PsiFile;
+import com.intellij.psi.PsiManager;
+import com.intellij.psi.search.scope.packageSet.NamedScope;
+import com.intellij.psi.search.scope.packageSet.PackageSet;
import com.intellij.ui.*;
import com.intellij.ui.content.Content;
import com.intellij.ui.treeStructure.Tree;
-import com.intellij.usageView.*;
+import com.intellij.usageView.UsageViewBundle;
import com.intellij.util.*;
-import com.intellij.util.ui.*;
-import com.intellij.util.ui.tree.*;
-import org.jdom.*;
-import org.jetbrains.annotations.*;
+import com.intellij.util.ui.UIUtil;
+import com.intellij.util.ui.tree.TreeUtil;
+import org.jdom.Document;
+import org.jdom.Element;
+import org.jetbrains.annotations.NonNls;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
import javax.swing.*;
-import javax.swing.event.*;
-import javax.swing.tree.*;
+import javax.swing.event.ChangeListener;
+import javax.swing.event.TreeSelectionEvent;
+import javax.swing.event.TreeSelectionListener;
+import javax.swing.tree.DefaultTreeModel;
+import javax.swing.tree.TreePath;
import java.awt.*;
import java.util.*;
import java.util.List;
*/
package com.intellij.profile.codeInspection;
-import com.intellij.codeInsight.daemon.impl.*;
-import com.intellij.codeInsight.daemon.impl.analysis.*;
-import com.intellij.codeInspection.*;
-import com.intellij.codeInspection.ex.*;
-import com.intellij.openapi.application.*;
+import com.intellij.codeInsight.daemon.impl.SeverityRegistrar;
+import com.intellij.codeInsight.daemon.impl.analysis.HighlightingSettingsPerFile;
+import com.intellij.codeInspection.InspectionProfile;
+import com.intellij.codeInspection.ex.InspectionProfileImpl;
+import com.intellij.codeInspection.ex.InspectionProfileWrapper;
+import com.intellij.openapi.application.Application;
+import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.components.*;
-import com.intellij.openapi.project.*;
-import com.intellij.openapi.startup.*;
-import com.intellij.openapi.util.*;
-import com.intellij.openapi.wm.*;
-import com.intellij.openapi.wm.ex.*;
-import com.intellij.openapi.wm.impl.status.*;
-import com.intellij.packageDependencies.*;
-import com.intellij.profile.*;
-import com.intellij.psi.*;
-import org.jdom.*;
-import org.jetbrains.annotations.*;
-
-import java.util.*;
+import com.intellij.openapi.project.Project;
+import com.intellij.openapi.startup.StartupManager;
+import com.intellij.openapi.util.InvalidDataException;
+import com.intellij.openapi.util.WriteExternalException;
+import com.intellij.openapi.wm.WindowManager;
+import com.intellij.openapi.wm.ex.StatusBarEx;
+import com.intellij.openapi.wm.impl.status.TogglePopupHintsPanel;
+import com.intellij.packageDependencies.DependencyValidationManager;
+import com.intellij.profile.DefaultProjectProfileManager;
+import com.intellij.profile.Profile;
+import com.intellij.psi.PsiElement;
+import org.jdom.Element;
+import org.jetbrains.annotations.NonNls;
+import org.jetbrains.annotations.NotNull;
+
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
/**
* User: anna
--- /dev/null
+/*
+ * Copyright 2000-2010 JetBrains s.r.o.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.intellij.psi.formatter.common;
+
+import com.intellij.formatting.*;
+import com.intellij.lang.ASTNode;
+import com.intellij.lang.Language;
+import com.intellij.lang.LanguageFormatting;
+import com.intellij.openapi.diagnostic.Logger;
+import com.intellij.openapi.util.Ref;
+import com.intellij.openapi.util.TextRange;
+import com.intellij.psi.PsiElement;
+import com.intellij.psi.PsiFile;
+import com.intellij.psi.PsiLanguageInjectionHost;
+import com.intellij.psi.codeStyle.CodeStyleSettings;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
+
+import java.util.List;
+
+/**
+ * @author nik
+ */
+public abstract class InjectedLanguageBlockBuilder {
+ private static final Logger LOG = Logger.getInstance("#com.intellij.psi.formatter.xml.XmlInjectedLanguageBlockBuilder");
+
+ public Block createInjectedBlock(ASTNode node, Block originalBlock, Indent indent, int offset, TextRange range) {
+ return new InjectedLanguageBlockWrapper(originalBlock, offset, range, indent);
+ }
+
+ public abstract CodeStyleSettings getSettings();
+
+ public abstract boolean canProcessFragment(String text, ASTNode injectionHost);
+
+ public abstract Block createBlockBeforeInjection(ASTNode node, Wrap wrap, Alignment alignment, Indent indent, TextRange range);
+
+ public abstract Block createBlockAfterInjection(ASTNode node, Wrap wrap, Alignment alignment, Indent indent, TextRange range);
+
+ public boolean addInjectedBlocks(List<Block> result, final ASTNode injectionHost, Wrap wrap, Alignment alignment, Indent indent) {
+ final PsiFile[] injectedFile = new PsiFile[1];
+ final Ref<TextRange> injectedRangeInsideHost = new Ref<TextRange>();
+ final Ref<Integer> prefixLength = new Ref<Integer>();
+ final Ref<Integer> suffixLength = new Ref<Integer>();
+
+ final PsiLanguageInjectionHost.InjectedPsiVisitor injectedPsiVisitor = new PsiLanguageInjectionHost.InjectedPsiVisitor() {
+ public void visit(@NotNull final PsiFile injectedPsi, @NotNull final List<PsiLanguageInjectionHost.Shred> places) {
+ if (places.size() == 1) {
+ final PsiLanguageInjectionHost.Shred shred = places.get(0);
+ final TextRange textRange = shred.getRangeInsideHost();
+ String childText;
+
+ if ((injectionHost.getTextLength() == textRange.getEndOffset() && textRange.getStartOffset() == 0) ||
+ (canProcessFragment((childText = injectionHost.getText()).substring(0, textRange.getStartOffset()), injectionHost) &&
+ canProcessFragment(childText.substring(textRange.getEndOffset()), injectionHost))) {
+ injectedFile[0] = injectedPsi;
+ injectedRangeInsideHost.set(textRange);
+ prefixLength.set(shred.prefix != null ? shred.prefix.length() : 0);
+ suffixLength.set(shred.suffix != null ? shred.suffix.length() : 0);
+ }
+ }
+ }
+ };
+ ((PsiLanguageInjectionHost)injectionHost.getPsi()).processInjectedPsi(injectedPsiVisitor);
+
+ if (injectedFile[0] != null) {
+ final Language childLanguage = injectedFile[0].getLanguage();
+ final FormattingModelBuilder builder = LanguageFormatting.INSTANCE.forContext(childLanguage, injectionHost.getPsi());
+
+ if (builder != null) {
+ final int startOffset = injectedRangeInsideHost.get().getStartOffset();
+ final int endOffset = injectedRangeInsideHost.get().getEndOffset();
+ TextRange range = injectionHost.getTextRange();
+
+ int childOffset = range.getStartOffset();
+ if (startOffset != 0) {
+ final ASTNode leaf = injectionHost.findLeafElementAt(startOffset - 1);
+ result.add(createBlockBeforeInjection(leaf, wrap, alignment, indent, new TextRange(childOffset, childOffset + startOffset)));
+ }
+
+ addInjectedLanguageBlockWrapper(result, injectedFile[0].getNode(), indent, childOffset + startOffset,
+ new TextRange(prefixLength.get(), injectedFile[0].getTextLength() - suffixLength.get()));
+
+ if (endOffset != injectionHost.getTextLength()) {
+ final ASTNode leaf = injectionHost.findLeafElementAt(endOffset);
+ result.add(createBlockAfterInjection(leaf, wrap, alignment, indent, new TextRange(childOffset + endOffset, range.getEndOffset())));
+ }
+ return true;
+ }
+ }
+ return false;
+ }
+
+ public void addInjectedLanguageBlockWrapper(final List<Block> result, final ASTNode injectedNode,
+ final Indent indent, int offset, @Nullable TextRange range) {
+ final PsiElement childPsi = injectedNode.getPsi();
+ final Language childLanguage = childPsi.getLanguage();
+ final FormattingModelBuilder builder = LanguageFormatting.INSTANCE.forContext(childLanguage, childPsi);
+ LOG.assertTrue(builder != null);
+ final FormattingModel childModel = builder.createModel(childPsi, getSettings());
+ Block original = childModel.getRootBlock();
+
+ if ((original.isLeaf() && injectedNode.getText().trim().length() > 0) || original.getSubBlocks().size() != 0) {
+ result.add(createInjectedBlock(injectedNode, original, indent, offset, range));
+ }
+ }
+}
--- /dev/null
+/*
+ * Copyright 2000-2009 JetBrains s.r.o.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.intellij.psi.formatter.common;
+
+import com.intellij.formatting.*;
+import com.intellij.openapi.util.TextRange;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public final class InjectedLanguageBlockWrapper implements Block {
+ private final Block myOriginal;
+ private final int myOffset;
+ private final TextRange myRange;
+ @Nullable private final Indent myIndent;
+ private List<Block> myBlocks;
+
+ /**
+ * main code prefix injected code suffix
+ * | | | |
+ * | xxx!!!!!!!!!!!!!!!!!!!!!!!!!!!!xxx
+ * ...............................!!!!!!!!!!!!!!!!!!!!!!!!!!!!....................
+ * ^
+ * offset
+ *
+ * @param original block inside injected code
+ * @param offset start offset of injected code inside the main document
+ * @param range range of code inside injected document which is really placed in the main document
+ * @param indent
+ */
+ public InjectedLanguageBlockWrapper(final @NotNull Block original, final int offset, @Nullable TextRange range, @Nullable Indent indent) {
+ myOriginal = original;
+ myOffset = offset;
+ myRange = range;
+ myIndent = indent;
+ }
+
+ public Indent getIndent() {
+ return myIndent != null ? myIndent : myOriginal.getIndent();
+ }
+
+ @Nullable
+ public Alignment getAlignment() {
+ return myOriginal.getAlignment();
+ }
+
+ @NotNull
+ public TextRange getTextRange() {
+ TextRange range = myOriginal.getTextRange();
+ if (myRange != null) {
+ range = range.intersection(myRange);
+ }
+
+ int start = myOffset + range.getStartOffset() - (myRange != null ? myRange.getStartOffset() : 0);
+ return TextRange.from(start, range.getLength());
+ }
+
+ @NotNull
+ public List<Block> getSubBlocks() {
+ if (myBlocks == null) {
+ myBlocks = buildBlocks();
+ }
+ return myBlocks;
+ }
+
+ private List<Block> buildBlocks() {
+ final List<Block> list = myOriginal.getSubBlocks();
+ if (list.size() == 0) return AbstractBlock.EMPTY;
+ if (myOffset == 0 && myRange == null) return list;
+
+ final ArrayList<Block> result = new ArrayList<Block>(list.size());
+ if (myRange == null) {
+ for (Block block : list) {
+ result.add(new InjectedLanguageBlockWrapper(block, myOffset, myRange, null));
+ }
+ }
+ else {
+ collectBlocksIntersectingRange(list, result, myRange);
+ }
+ return result;
+ }
+
+ private void collectBlocksIntersectingRange(final List<Block> list, final List<Block> result, final @NotNull TextRange range) {
+ for (Block block : list) {
+ final TextRange textRange = block.getTextRange();
+ if (range.contains(textRange)) {
+ result.add(new InjectedLanguageBlockWrapper(block, myOffset, range, null));
+ }
+ else if (textRange.intersectsStrict(range)) {
+ collectBlocksIntersectingRange(block.getSubBlocks(), result, range);
+ }
+ }
+ }
+
+ @Nullable
+ public Wrap getWrap() {
+ return myOriginal.getWrap();
+ }
+
+ @Nullable public Spacing getSpacing(Block child1, Block child2) {
+ if (child1 instanceof InjectedLanguageBlockWrapper) child1 = ((InjectedLanguageBlockWrapper)child1).myOriginal;
+ if (child2 instanceof InjectedLanguageBlockWrapper) child2 = ((InjectedLanguageBlockWrapper)child2).myOriginal;
+ return myOriginal.getSpacing(child1, child2);
+ }
+
+ @NotNull
+ public ChildAttributes getChildAttributes(final int newChildIndex) {
+ return myOriginal.getChildAttributes(newChildIndex);
+ }
+
+ public boolean isIncomplete() {
+ return myOriginal.isIncomplete();
+ }
+
+ public boolean isLeaf() {
+ return myOriginal.isLeaf();
+ }
+}
+class A {
+ private List<Integer> myResult;
+ {
+ m(10, myResult);
+ }
+
+ private void m(int i, List<Integer> result) {
+ if (i > 0) {
+ m(i - 1, result);
+ }
+ result.add(i);
+ }
+}
\ No newline at end of file
import com.intellij.psi.impl.source.PsiFileImpl;
import com.intellij.psi.impl.source.SourceTreeToPsiMap;
import com.intellij.psi.impl.source.tree.*;
+import com.intellij.psi.impl.source.tree.injected.InjectedLanguageUtil;
import com.intellij.psi.util.PsiUtilBase;
import com.intellij.util.CharTable;
import com.intellij.util.IncorrectOperationException;
if (element == null && offset != file.getTextLength()) {
return offset;
}
- if (element instanceof PsiComment && insideElement(element, offset)) {
+ if (element instanceof PsiComment && insideElement(element, offset) && !containsInjections(element)) {
return CharArrayUtil.shiftForward(file.getViewProvider().getContents(), offset, " \t");
}
final FormattingModelBuilder builder = LanguageFormatting.INSTANCE.forContext(file);
}
}
+ private static boolean containsInjections(PsiElement element) {
+ return element instanceof PsiLanguageInjectionHost && InjectedLanguageUtil.hasInjections((PsiLanguageInjectionHost)element);
+ }
+
@Nullable
public static PsiElement findElementInTreeWithFormatterEnabled(final PsiFile file, final int offset) {
final PsiElement bottomost = file.findElementAt(offset);
return isStartOverflows && isEndOverflows;
}
+
+ public static boolean hasInjections(@NotNull PsiLanguageInjectionHost host) {
+ final Ref<Boolean> result = Ref.create(false);
+ host.processInjectedPsi(new PsiLanguageInjectionHost.InjectedPsiVisitor() {
+ public void visit(@NotNull final PsiFile injectedPsi, @NotNull final List<PsiLanguageInjectionHost.Shred> places) {
+ result.set(true);
+ }
+ });
+ return result.get().booleanValue();
+ }
}
import com.intellij.refactoring.util.CommonRefactoringUtil;
import com.intellij.ui.DocumentAdapter;
import com.intellij.ui.IdeBorderFactory;
-import com.intellij.ui.RecentsManager;
import com.intellij.ui.TextFieldWithStoredHistory;
import com.intellij.util.IncorrectOperationException;
import org.jetbrains.annotations.NonNls;
*/
package com.intellij.execution.process;
-import com.intellij.ide.*;
-import com.intellij.openapi.application.*;
-import com.intellij.openapi.project.*;
-import com.intellij.openapi.util.*;
-import com.intellij.openapi.wm.*;
-import org.jetbrains.annotations.*;
+import com.intellij.ide.IdeBundle;
+import com.intellij.openapi.application.ApplicationManager;
+import com.intellij.openapi.project.Project;
+import com.intellij.openapi.util.Key;
+import com.intellij.openapi.wm.StatusBar;
+import org.jetbrains.annotations.NonNls;
/**
* @author dyoma
import com.intellij.openapi.progress.Progressive;
import com.intellij.openapi.util.ActionCallback;
import com.intellij.openapi.util.AsyncResult;
-import com.intellij.openapi.util.registry.Registry;
import com.intellij.util.containers.HashSet;
import com.intellij.util.ui.UIUtil;
import com.intellij.util.ui.update.MergingUpdateQueue;
*/
package com.intellij.notification;
-import com.intellij.openapi.diagnostic.*;
-import com.intellij.openapi.ui.popup.*;
-import org.jetbrains.annotations.*;
+import com.intellij.openapi.diagnostic.Logger;
+import com.intellij.openapi.ui.popup.Balloon;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
import javax.swing.*;
-import java.lang.ref.*;
+import java.lang.ref.WeakReference;
/**
* @author spleaner
public static void processFilesRecursively(@NotNull VirtualFile root, @NotNull Processor<VirtualFile> processor,
@NotNull Convertor<VirtualFile, Boolean> directoryFilter) {
- final LinkedList<VirtualFile> queue = new LinkedList<VirtualFile>();
- queue.add(root);
- while (!queue.isEmpty()) {
- final VirtualFile file = queue.removeFirst();
- if (!processor.process(file)) return;
- if (file.isDirectory() && directoryFilter.convert(file)) {
- queue.addAll(Arrays.asList(file.getChildren()));
- }
+ if (!processor.process(root)) return;
+
+ if (root.isDirectory() && directoryFilter.convert(root)) {
+ final LinkedList<VirtualFile[]> queue = new LinkedList<VirtualFile[]>();
+
+ queue.add(root.getChildren());
+
+ do {
+ final VirtualFile[] files = queue.removeFirst();
+
+ for (VirtualFile file : files) {
+ if (!processor.process(file)) return;
+ if (file.isDirectory() && directoryFilter.convert(file)) {
+ queue.add(file.getChildren());
+ }
+ }
+ } while (!queue.isEmpty());
}
}
public static boolean processFilesRecursively(@NotNull VirtualFile root, @NotNull Processor<VirtualFile> processor) {
- final LinkedList<VirtualFile> queue = new LinkedList<VirtualFile>();
- queue.add(root);
- while (!queue.isEmpty()) {
- final VirtualFile file = queue.removeFirst();
- if (!processor.process(file)) return false;
- if (file.isDirectory()) {
- queue.addAll(Arrays.asList(file.getChildren()));
- }
+ if (!processor.process(root)) return false;
+
+ if (root.isDirectory()) {
+ final LinkedList<VirtualFile[]> queue = new LinkedList<VirtualFile[]>();
+
+ queue.add(root.getChildren());
+
+ do {
+ final VirtualFile[] files = queue.removeFirst();
+
+ for (VirtualFile file : files) {
+ if (!processor.process(file)) return false;
+ if (file.isDirectory()) {
+ queue.add(file.getChildren());
+ }
+ }
+ } while (!queue.isEmpty());
}
+
return true;
}
*/
package com.intellij.openapi.wm;
-import com.intellij.openapi.*;
-import com.intellij.openapi.application.*;
-import com.intellij.openapi.project.*;
-import com.intellij.openapi.startup.*;
-import com.intellij.util.messages.*;
-import org.jetbrains.annotations.*;
+import com.intellij.openapi.Disposable;
+import com.intellij.openapi.application.ApplicationManager;
+import com.intellij.openapi.project.Project;
+import com.intellij.openapi.startup.StartupManager;
+import com.intellij.util.messages.MessageBus;
+import com.intellij.util.messages.Topic;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
import javax.swing.*;
import java.awt.*;
*/
package com.intellij.openapi.wm;
-import com.intellij.openapi.extensions.*;
-import org.jetbrains.annotations.*;
+import com.intellij.openapi.extensions.ExtensionPointName;
+import org.jetbrains.annotations.NotNull;
import javax.swing.*;
-import java.util.*;
+import java.util.EventListener;
/**
* @deprecated use StatusBarWidget instead
*/
package com.intellij.openapi.wm;
-import org.jetbrains.annotations.*;
+import org.jetbrains.annotations.Nullable;
/**
* User: spLeaner
import com.intellij.openapi.ui.popup.ListPopup;
import com.intellij.openapi.util.SystemInfo;
import com.intellij.util.Consumer;
+import com.intellij.util.ui.UIUtil;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
private static final Color PIXEL = LEFT1_FROM_INACTIVE;
private static final Color LEFT1_TO_INACTIVE = new Color(180, 180, 180);
- private static final Color SEPARATOR_COLOR = new Color(215, 215, 215);
+ private static final Color SEPARATOR_COLOR = UIUtil.getPanelBackgound().darker().darker().darker();
public void paintBorder(final Component c, final Graphics g, final int x, final int y, final int width, final int height) {
final Graphics2D g2 = (Graphics2D)g.create();
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
-import java.awt.event.KeyEvent;
import java.awt.event.InputEvent;
+import java.awt.event.KeyEvent;
public class ListScrollingUtil {
private static final Logger LOG = Logger.getInstance("#com.intellij.ui.ListScrollingUtil");
*/
package com.intellij.ui.components.labels;
-import com.intellij.openapi.application.*;
-import com.intellij.openapi.project.*;
-import com.intellij.openapi.util.*;
-import com.intellij.openapi.wm.*;
-import com.intellij.ui.*;
-import com.intellij.util.ui.*;
+import com.intellij.openapi.application.ApplicationManager;
+import com.intellij.openapi.project.Project;
+import com.intellij.openapi.project.ProjectManager;
+import com.intellij.openapi.util.IconLoader;
+import com.intellij.openapi.wm.StatusBar;
+import com.intellij.ui.UI;
+import com.intellij.util.ui.UIUtil;
import javax.swing.*;
-import javax.swing.border.*;
+import javax.swing.border.Border;
import java.awt.*;
-import java.awt.event.*;
-import java.util.*;
+import java.awt.event.MouseAdapter;
+import java.awt.event.MouseEvent;
+import java.awt.event.MouseMotionListener;
+import java.util.HashSet;
+import java.util.Set;
/**
* @author kir
package com.intellij.util.ui;
-import com.intellij.openapi.*;
+import com.intellij.openapi.Disposable;
import javax.swing.*;
import java.awt.*;
import com.intellij.openapi.components.PathMacroMap;
import com.intellij.util.NotNullFunction;
import org.jdom.Element;
+import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import java.util.Arrays;
myMatcher = MACRO_PATTERN.matcher("");
}
- public static Set<String> getMacroNames(Element root) {
- return getMacroNames(root, null);
- }
-
public static Set<String> getMacroNames(Element root, @Nullable final NotNullFunction<Object, Boolean> filter) {
return getMacroNames(root, filter, null);
}
- public static Set<String> getMacroNames(Element root, @Nullable final NotNullFunction<Object, Boolean> filter, @Nullable final NotNullFunction<Object, Boolean> recursiveFilter) {
+ public static Set<String> getMacroNames(Element root, @Nullable final NotNullFunction<Object, Boolean> filter, @Nullable final NotNullFunction<Object, Boolean> recursiveFilter, @NotNull final PathMacros pathMacros) {
final PathMacrosCollector collector = new PathMacrosCollector();
collector.substitute(root, true, false, filter, recursiveFilter);
final HashSet<String> result = new HashSet<String>(collector.myMacroMap.keySet());
result.removeAll(ourSystemMacroNames);
result.removeAll(PathMacrosImpl.getToolMacroNames());
- result.removeAll(PathMacros.getInstance().getIgnoredMacroNames());
+ result.removeAll(pathMacros.getIgnoredMacroNames());
return result;
}
+ public static Set<String> getMacroNames(Element root, @Nullable final NotNullFunction<Object, Boolean> filter, @Nullable final NotNullFunction<Object, Boolean> recursiveFilter) {
+ return getMacroNames(root, filter, recursiveFilter, PathMacros.getInstance());
+ }
+
@Override
public String substituteRecursively(String text, boolean caseSensitive) {
if (text == null || text.length() == 0) return text;
protocol = FILE_PROTOCOL;
} else if (text.length() > 6 && text.charAt(0) == 'j') {
protocol = JAR_PROTOCOL;
- } else if (!('$' == text.charAt(0))) {
+ } else if ('$' != text.charAt(0)) {
return text;
}
*/
package com.intellij.diagnostic;
-import com.intellij.concurrency.*;
-import com.intellij.ide.util.*;
-import com.intellij.openapi.util.*;
-import com.intellij.openapi.wm.*;
-import com.intellij.ui.*;
-import com.intellij.ui.popup.*;
-import org.jetbrains.annotations.*;
+import com.intellij.concurrency.JobScheduler;
+import com.intellij.ide.util.PropertiesComponent;
+import com.intellij.openapi.util.IconLoader;
+import com.intellij.openapi.wm.CustomStatusBarWidget;
+import com.intellij.openapi.wm.StatusBar;
+import com.intellij.ui.LightColors;
+import com.intellij.ui.popup.NotificationPopup;
+import org.jetbrains.annotations.NotNull;
import javax.swing.*;
import java.awt.*;
-import java.awt.event.*;
-import java.util.concurrent.*;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.MouseAdapter;
+import java.awt.event.MouseEvent;
+import java.util.concurrent.TimeUnit;
public class IdeMessagePanel extends JPanel implements MessagePoolListener, CustomStatusBarWidget {
private final IconPane myIdeFatal;
*/
package com.intellij.ide.util;
-import com.intellij.ide.*;
-import com.intellij.openapi.application.ex.*;
-import com.intellij.openapi.editor.*;
-import com.intellij.openapi.project.*;
-import com.intellij.openapi.ui.*;
+import com.intellij.ide.IdeBundle;
+import com.intellij.openapi.application.ex.ApplicationManagerEx;
+import com.intellij.openapi.editor.Editor;
+import com.intellij.openapi.editor.LogicalPosition;
+import com.intellij.openapi.editor.ScrollType;
+import com.intellij.openapi.project.Project;
+import com.intellij.openapi.ui.DialogWrapper;
import javax.swing.*;
import java.awt.*;
*/
package com.intellij.notification.impl;
-import com.intellij.ide.*;
-import com.intellij.notification.*;
-import com.intellij.notification.impl.ui.*;
-import com.intellij.openapi.actionSystem.*;
-import com.intellij.openapi.project.*;
-import com.intellij.openapi.ui.popup.*;
-import com.intellij.openapi.util.*;
-import com.intellij.openapi.wm.*;
-import com.intellij.util.*;
-import org.jetbrains.annotations.*;
+import com.intellij.ide.DataManager;
+import com.intellij.notification.Notification;
+import com.intellij.notification.NotificationType;
+import com.intellij.notification.impl.ui.NotificationsListPanel;
+import com.intellij.openapi.actionSystem.PlatformDataKeys;
+import com.intellij.openapi.project.Project;
+import com.intellij.openapi.ui.popup.JBPopup;
+import com.intellij.openapi.util.IconLoader;
+import com.intellij.openapi.wm.StatusBar;
+import com.intellij.openapi.wm.StatusBarWidget;
+import com.intellij.util.Consumer;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
import javax.swing.*;
import java.awt.*;
-import java.awt.event.*;
-import java.lang.ref.*;
+import java.awt.event.MouseEvent;
+import java.lang.ref.WeakReference;
/**
* @author spleaner
package com.intellij.notification.impl;
import com.intellij.notification.*;
-import com.intellij.notification.impl.ui.*;
-import com.intellij.openapi.application.*;
-import com.intellij.openapi.components.*;
-import com.intellij.openapi.project.*;
+import com.intellij.notification.impl.ui.NotificationsUtil;
+import com.intellij.openapi.application.ApplicationManager;
+import com.intellij.openapi.components.ApplicationComponent;
+import com.intellij.openapi.components.ServiceManager;
+import com.intellij.openapi.project.Project;
import com.intellij.openapi.ui.popup.*;
-import com.intellij.openapi.wm.*;
-import com.intellij.openapi.wm.impl.*;
-import com.intellij.ui.*;
-import com.intellij.ui.components.panels.*;
-import com.intellij.util.*;
-import com.intellij.util.ui.*;
-import org.jetbrains.annotations.*;
+import com.intellij.openapi.wm.WindowManager;
+import com.intellij.openapi.wm.impl.IdeFrameImpl;
+import com.intellij.ui.BalloonLayout;
+import com.intellij.ui.SystemNotifications;
+import com.intellij.ui.components.panels.NonOpaquePanel;
+import com.intellij.util.ArrayUtil;
+import com.intellij.util.PairFunction;
+import com.intellij.util.ui.UIUtil;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
import javax.swing.*;
-import javax.swing.border.*;
-import javax.swing.event.*;
+import javax.swing.border.EmptyBorder;
+import javax.swing.event.HyperlinkListener;
import java.awt.*;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Collection;
import java.util.List;
/**
*/
package com.intellij.notification.impl;
-import com.intellij.notification.*;
-import com.intellij.openapi.*;
-import com.intellij.openapi.application.*;
-import com.intellij.openapi.components.*;
-import com.intellij.openapi.project.*;
-import com.intellij.openapi.ui.popup.*;
-import com.intellij.openapi.util.*;
-import org.jetbrains.annotations.*;
+import com.intellij.notification.Notification;
+import com.intellij.notification.NotificationDisplayType;
+import com.intellij.notification.Notifications;
+import com.intellij.openapi.Disposable;
+import com.intellij.openapi.application.Application;
+import com.intellij.openapi.application.ApplicationManager;
+import com.intellij.openapi.components.ProjectComponent;
+import com.intellij.openapi.project.Project;
+import com.intellij.openapi.ui.popup.Balloon;
+import com.intellij.openapi.util.Disposer;
+import org.jetbrains.annotations.NotNull;
-import java.util.*;
+import java.util.Collection;
/**
* @author spleaner
import com.intellij.openapi.editor.Document;
import com.intellij.openapi.fileEditor.FileDocumentManager;
import com.intellij.openapi.util.Key;
-import com.intellij.openapi.vfs.*;
+import com.intellij.openapi.vfs.VirtualFile;
+import com.intellij.openapi.vfs.VirtualFileAdapter;
+import com.intellij.openapi.vfs.VirtualFileEvent;
+import com.intellij.openapi.vfs.VirtualFileManager;
import com.intellij.openapi.vfs.newvfs.NewVirtualFile;
import com.intellij.util.containers.WeakValueHashMap;
import com.intellij.util.io.fs.FilePath;
return false; // do not proceed environment variables from run configurations
}
+ if ("MESSAGE".equals(parentName) && "value".equals(attribute.getName())) return false;
+ if ("option".equals(parentName) && "LAST_COMMIT_MESSAGE".equals(parent.getAttributeValue("name"))) return false;
+
// do not proceed macros in searchConfigurations (structural search)
if ("replaceConfiguration".equals(parentName) || "searchConfiguration".equals(parentName)) return false;
}
*/
package com.intellij.openapi.fileEditor.impl;
-import com.intellij.*;
-import com.intellij.ide.*;
-import com.intellij.ide.plugins.*;
-import com.intellij.ide.ui.*;
-import com.intellij.injected.editor.*;
-import com.intellij.openapi.*;
-import com.intellij.openapi.application.*;
-import com.intellij.openapi.application.ex.*;
-import com.intellij.openapi.application.impl.*;
+import com.intellij.AppTopics;
+import com.intellij.ProjectTopics;
+import com.intellij.ide.IdeBundle;
+import com.intellij.ide.plugins.PluginManager;
+import com.intellij.ide.ui.UISettings;
+import com.intellij.ide.ui.UISettingsListener;
+import com.intellij.injected.editor.VirtualFileWindow;
+import com.intellij.openapi.Disposable;
+import com.intellij.openapi.application.ApplicationManager;
+import com.intellij.openapi.application.ModalityState;
+import com.intellij.openapi.application.ex.ApplicationManagerEx;
+import com.intellij.openapi.application.impl.LaterInvocator;
import com.intellij.openapi.command.CommandProcessor;
-import com.intellij.openapi.components.*;
-import com.intellij.openapi.diagnostic.*;
-import com.intellij.openapi.editor.*;
-import com.intellij.openapi.editor.ex.*;
-import com.intellij.openapi.extensions.*;
+import com.intellij.openapi.components.ProjectComponent;
+import com.intellij.openapi.diagnostic.Logger;
+import com.intellij.openapi.editor.Editor;
+import com.intellij.openapi.editor.ex.EditorEx;
+import com.intellij.openapi.extensions.Extensions;
import com.intellij.openapi.fileEditor.*;
-import com.intellij.openapi.fileEditor.FileEditorProvider;
-import com.intellij.openapi.fileEditor.ex.*;
-import com.intellij.openapi.fileEditor.impl.text.*;
-import com.intellij.openapi.fileTypes.*;
-import com.intellij.openapi.project.*;
-import com.intellij.openapi.project.impl.*;
-import com.intellij.openapi.roots.*;
-import com.intellij.openapi.startup.*;
+import com.intellij.openapi.fileEditor.ex.FileEditorManagerEx;
+import com.intellij.openapi.fileEditor.ex.FileEditorProviderManager;
+import com.intellij.openapi.fileEditor.ex.IdeDocumentHistory;
+import com.intellij.openapi.fileEditor.impl.text.TextEditorImpl;
+import com.intellij.openapi.fileEditor.impl.text.TextEditorProvider;
+import com.intellij.openapi.fileTypes.FileTypeEvent;
+import com.intellij.openapi.fileTypes.FileTypeListener;
+import com.intellij.openapi.project.DumbAware;
+import com.intellij.openapi.project.DumbAwareRunnable;
+import com.intellij.openapi.project.DumbService;
+import com.intellij.openapi.project.Project;
+import com.intellij.openapi.project.impl.ProjectImpl;
+import com.intellij.openapi.roots.ModuleRootEvent;
+import com.intellij.openapi.roots.ModuleRootListener;
+import com.intellij.openapi.startup.StartupManager;
import com.intellij.openapi.util.*;
-import com.intellij.openapi.vcs.*;
+import com.intellij.openapi.vcs.FileStatus;
+import com.intellij.openapi.vcs.FileStatusListener;
+import com.intellij.openapi.vcs.FileStatusManager;
import com.intellij.openapi.vfs.*;
-import com.intellij.openapi.wm.*;
-import com.intellij.openapi.wm.ex.*;
-import com.intellij.openapi.wm.impl.*;
-import com.intellij.util.containers.*;
-import com.intellij.util.messages.*;
-import com.intellij.util.messages.impl.*;
-import com.intellij.util.ui.update.*;
-import org.jdom.*;
-import org.jetbrains.annotations.*;
+import com.intellij.openapi.wm.ToolWindowManager;
+import com.intellij.openapi.wm.WindowManager;
+import com.intellij.openapi.wm.ex.StatusBarEx;
+import com.intellij.openapi.wm.ex.WindowManagerEx;
+import com.intellij.openapi.wm.impl.FrameTitleBuilder;
+import com.intellij.openapi.wm.impl.IdeFrameImpl;
+import com.intellij.util.containers.ContainerUtil;
+import com.intellij.util.messages.MessageBusConnection;
+import com.intellij.util.messages.impl.MessageListenerList;
+import com.intellij.util.ui.update.MergingUpdateQueue;
+import com.intellij.util.ui.update.Update;
+import org.jdom.Element;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
import javax.swing.*;
import java.awt.*;
-import java.beans.*;
-import java.io.*;
-import java.util.*;
+import java.beans.PropertyChangeEvent;
+import java.beans.PropertyChangeListener;
+import java.io.File;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
import java.util.List;
/**
*/
package com.intellij.openapi.fileEditor.impl.text;
-import com.intellij.*;
-import com.intellij.ide.ui.customization.*;
+import com.intellij.AppTopics;
+import com.intellij.ide.ui.customization.CustomActionsSchema;
import com.intellij.openapi.actionSystem.*;
-import com.intellij.openapi.application.*;
-import com.intellij.openapi.diagnostic.*;
-import com.intellij.openapi.editor.*;
-import com.intellij.openapi.editor.colors.*;
+import com.intellij.openapi.application.ApplicationManager;
+import com.intellij.openapi.diagnostic.Logger;
+import com.intellij.openapi.editor.Document;
+import com.intellij.openapi.editor.Editor;
+import com.intellij.openapi.editor.EditorFactory;
+import com.intellij.openapi.editor.colors.EditorColorsManager;
import com.intellij.openapi.editor.event.*;
-import com.intellij.openapi.editor.ex.*;
-import com.intellij.openapi.editor.highlighter.*;
-import com.intellij.openapi.editor.impl.*;
-import com.intellij.openapi.fileEditor.*;
-import com.intellij.openapi.fileEditor.impl.*;
-import com.intellij.openapi.fileTypes.*;
-import com.intellij.openapi.project.*;
-import com.intellij.openapi.vfs.*;
-import com.intellij.openapi.wm.*;
-import com.intellij.openapi.wm.ex.*;
-import com.intellij.util.*;
-import com.intellij.util.messages.*;
-import org.jetbrains.annotations.*;
+import com.intellij.openapi.editor.ex.EditorEx;
+import com.intellij.openapi.editor.ex.EditorMarkupModel;
+import com.intellij.openapi.editor.highlighter.EditorHighlighter;
+import com.intellij.openapi.editor.highlighter.EditorHighlighterFactory;
+import com.intellij.openapi.editor.impl.EditorImpl;
+import com.intellij.openapi.fileEditor.FileDocumentManager;
+import com.intellij.openapi.fileEditor.FileEditor;
+import com.intellij.openapi.fileEditor.FileEditorManager;
+import com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl;
+import com.intellij.openapi.fileTypes.FileTypeEvent;
+import com.intellij.openapi.fileTypes.FileTypeListener;
+import com.intellij.openapi.project.Project;
+import com.intellij.openapi.vfs.VirtualFile;
+import com.intellij.openapi.vfs.VirtualFileAdapter;
+import com.intellij.openapi.vfs.VirtualFileEvent;
+import com.intellij.openapi.vfs.VirtualFilePropertyEvent;
+import com.intellij.openapi.wm.WindowManager;
+import com.intellij.openapi.wm.ex.StatusBarEx;
+import com.intellij.util.EditorPopupHandler;
+import com.intellij.util.messages.MessageBusConnection;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
import javax.swing.*;
import java.awt.*;
-import java.awt.event.*;
-import java.beans.*;
+import java.awt.event.MouseEvent;
+import java.beans.PropertyChangeEvent;
+import java.beans.PropertyChangeListener;
/**
* @author Anton Katilin
*/
package com.intellij.openapi.keymap.impl;
-import com.intellij.ide.*;
-import com.intellij.ide.impl.*;
-import com.intellij.openapi.*;
+import com.intellij.ide.DataManager;
+import com.intellij.ide.IdeEventQueue;
+import com.intellij.ide.impl.DataManagerImpl;
+import com.intellij.openapi.Disposable;
import com.intellij.openapi.actionSystem.*;
-import com.intellij.openapi.actionSystem.ex.*;
-import com.intellij.openapi.actionSystem.impl.*;
-import com.intellij.openapi.application.*;
-import com.intellij.openapi.keymap.*;
-import com.intellij.openapi.keymap.impl.keyGestures.*;
-import com.intellij.openapi.keymap.impl.ui.*;
-import com.intellij.openapi.project.*;
-import com.intellij.openapi.ui.popup.*;
-import com.intellij.openapi.util.*;
-import com.intellij.openapi.util.registry.*;
-import com.intellij.openapi.wm.*;
-import com.intellij.openapi.wm.ex.*;
-import com.intellij.openapi.wm.impl.*;
-import com.intellij.ui.popup.*;
-import com.intellij.util.*;
-import org.jetbrains.annotations.*;
+import com.intellij.openapi.actionSystem.ex.ActionManagerEx;
+import com.intellij.openapi.actionSystem.ex.ActionUtil;
+import com.intellij.openapi.actionSystem.impl.PresentationFactory;
+import com.intellij.openapi.application.Application;
+import com.intellij.openapi.application.ApplicationManager;
+import com.intellij.openapi.application.ModalityState;
+import com.intellij.openapi.keymap.KeyMapBundle;
+import com.intellij.openapi.keymap.Keymap;
+import com.intellij.openapi.keymap.KeymapManager;
+import com.intellij.openapi.keymap.KeymapUtil;
+import com.intellij.openapi.keymap.impl.keyGestures.KeyboardGestureProcessor;
+import com.intellij.openapi.keymap.impl.ui.ShortcutTextField;
+import com.intellij.openapi.project.DumbAware;
+import com.intellij.openapi.project.DumbService;
+import com.intellij.openapi.project.Project;
+import com.intellij.openapi.ui.popup.JBPopup;
+import com.intellij.openapi.util.Disposer;
+import com.intellij.openapi.util.Pair;
+import com.intellij.openapi.util.SystemInfo;
+import com.intellij.openapi.util.registry.Registry;
+import com.intellij.openapi.wm.StatusBar;
+import com.intellij.openapi.wm.WindowManager;
+import com.intellij.openapi.wm.ex.StatusBarEx;
+import com.intellij.openapi.wm.impl.FloatingDecorator;
+import com.intellij.openapi.wm.impl.IdeFrameImpl;
+import com.intellij.openapi.wm.impl.IdeGlassPaneEx;
+import com.intellij.ui.popup.AbstractPopup;
+import com.intellij.util.Alarm;
+import org.jetbrains.annotations.NonNls;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
import javax.swing.*;
-import javax.swing.plaf.basic.*;
+import javax.swing.plaf.basic.ComboPopup;
import java.awt.*;
-import java.awt.event.*;
-import java.awt.im.*;
-import java.lang.reflect.*;
-import java.util.*;
+import java.awt.event.InputEvent;
+import java.awt.event.KeyEvent;
+import java.awt.im.InputContext;
+import java.lang.reflect.Method;
+import java.util.ArrayList;
import java.util.List;
/**
import java.awt.event.KeyEvent;
import java.awt.event.MouseEvent;
import java.lang.reflect.Field;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
/**
* @author Eugene Belyaev
*/
package com.intellij.openapi.progress.impl;
-import com.intellij.openapi.progress.*;
-import com.intellij.openapi.progress.util.*;
+import com.intellij.openapi.progress.PerformInBackgroundOption;
+import com.intellij.openapi.progress.Task;
+import com.intellij.openapi.progress.TaskInfo;
+import com.intellij.openapi.progress.util.ProgressWindow;
import com.intellij.openapi.project.*;
-import com.intellij.openapi.wm.*;
-import com.intellij.openapi.wm.ex.*;
-import org.jetbrains.annotations.*;
+import com.intellij.openapi.wm.IdeFrame;
+import com.intellij.openapi.wm.WindowManager;
+import com.intellij.openapi.wm.ex.StatusBarEx;
+import com.intellij.openapi.wm.ex.WindowManagerEx;
+import org.jetbrains.annotations.Nls;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
public class BackgroundableProcessIndicator extends ProgressWindow {
protected StatusBarEx myStatusBar;
*/
package com.intellij.openapi.vfs.newvfs;
-import com.intellij.openapi.application.*;
-import com.intellij.openapi.progress.util.*;
-import com.intellij.openapi.project.*;
-import com.intellij.openapi.wm.*;
-import com.intellij.openapi.wm.ex.*;
+import com.intellij.openapi.application.ApplicationManager;
+import com.intellij.openapi.progress.util.ProgressIndicatorBase;
+import com.intellij.openapi.project.Project;
+import com.intellij.openapi.project.ProjectManager;
+import com.intellij.openapi.wm.WindowManager;
+import com.intellij.openapi.wm.ex.StatusBarEx;
import javax.swing.*;
*/
package com.intellij.openapi.wm.ex;
-import com.intellij.openapi.*;
-import com.intellij.openapi.progress.*;
-import com.intellij.openapi.ui.*;
-import com.intellij.openapi.ui.popup.*;
-import com.intellij.openapi.wm.*;
-import org.jetbrains.annotations.*;
+import com.intellij.openapi.Disposable;
+import com.intellij.openapi.progress.TaskInfo;
+import com.intellij.openapi.ui.MessageType;
+import com.intellij.openapi.ui.popup.BalloonHandler;
+import com.intellij.openapi.wm.StatusBar;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
import javax.swing.*;
-import javax.swing.event.*;
+import javax.swing.event.HyperlinkListener;
/**
* @author spleaner
*/
package com.intellij.openapi.wm.impl;
-import com.intellij.ide.*;
+import com.intellij.ide.AppLifecycleListener;
+import com.intellij.ide.DataManager;
import com.intellij.ide.impl.ProjectUtil;
-import com.intellij.ide.ui.*;
-import com.intellij.openapi.*;
-import com.intellij.openapi.actionSystem.*;
-import com.intellij.openapi.application.*;
-import com.intellij.openapi.application.ex.*;
-import com.intellij.openapi.keymap.*;
-import com.intellij.openapi.project.*;
-import com.intellij.openapi.util.*;
-import com.intellij.openapi.util.registry.*;
-import com.intellij.openapi.wm.*;
-import com.intellij.openapi.wm.ex.*;
-import com.intellij.openapi.wm.impl.status.*;
-import com.intellij.ui.*;
-import com.intellij.util.ui.*;
-import org.jetbrains.annotations.*;
+import com.intellij.ide.ui.UISettings;
+import com.intellij.openapi.Disposable;
+import com.intellij.openapi.MnemonicHelper;
+import com.intellij.openapi.actionSystem.ActionManager;
+import com.intellij.openapi.actionSystem.DataProvider;
+import com.intellij.openapi.actionSystem.PlatformDataKeys;
+import com.intellij.openapi.application.Application;
+import com.intellij.openapi.application.ApplicationInfo;
+import com.intellij.openapi.application.ApplicationManager;
+import com.intellij.openapi.application.ModalityState;
+import com.intellij.openapi.application.ex.ApplicationInfoEx;
+import com.intellij.openapi.application.ex.ApplicationManagerEx;
+import com.intellij.openapi.keymap.KeymapManager;
+import com.intellij.openapi.project.DumbAwareRunnable;
+import com.intellij.openapi.project.Project;
+import com.intellij.openapi.project.ProjectManager;
+import com.intellij.openapi.util.Disposer;
+import com.intellij.openapi.util.SystemInfo;
+import com.intellij.openapi.util.registry.Registry;
+import com.intellij.openapi.wm.IdeFrame;
+import com.intellij.openapi.wm.StatusBar;
+import com.intellij.openapi.wm.ex.LayoutFocusTraversalPolicyExt;
+import com.intellij.openapi.wm.ex.StatusBarEx;
+import com.intellij.openapi.wm.impl.status.EncodingPanel;
+import com.intellij.openapi.wm.impl.status.InsertOverwritePanel;
+import com.intellij.openapi.wm.impl.status.PositionPanel;
+import com.intellij.openapi.wm.impl.status.ToggleReadOnlyAttributePanel;
+import com.intellij.ui.AppUIUtil;
+import com.intellij.ui.BalloonLayout;
+import com.intellij.ui.FocusTrackback;
+import com.intellij.util.ui.UIUtil;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
import javax.swing.*;
import java.awt.*;
-import java.awt.event.*;
-import java.io.*;
+import java.awt.event.WindowAdapter;
+import java.awt.event.WindowEvent;
+import java.io.File;
/**
* @author Anton Katilin
*/
package com.intellij.openapi.wm.impl;
-import com.intellij.diagnostic.*;
-import com.intellij.ide.*;
-import com.intellij.ide.actions.*;
-import com.intellij.ide.plugins.*;
-import com.intellij.ide.ui.*;
-import com.intellij.ide.ui.customization.*;
-import com.intellij.notification.impl.*;
+import com.intellij.diagnostic.IdeMessagePanel;
+import com.intellij.diagnostic.MessagePool;
+import com.intellij.ide.AppLifecycleListener;
+import com.intellij.ide.DataManager;
+import com.intellij.ide.actions.CustomizeUIAction;
+import com.intellij.ide.actions.ViewToolbarAction;
+import com.intellij.ide.plugins.PluginManager;
+import com.intellij.ide.ui.UISettings;
+import com.intellij.ide.ui.UISettingsListener;
+import com.intellij.ide.ui.customization.CustomActionsSchema;
+import com.intellij.notification.impl.IdeNotificationArea;
import com.intellij.openapi.actionSystem.*;
-import com.intellij.openapi.application.*;
-import com.intellij.openapi.diagnostic.*;
-import com.intellij.openapi.extensions.*;
-import com.intellij.openapi.keymap.*;
-import com.intellij.openapi.project.*;
-import com.intellij.openapi.util.*;
-import com.intellij.openapi.wm.*;
-import com.intellij.openapi.wm.impl.status.*;
-import com.intellij.openapi.wm.impl.welcomeScreen.*;
-import com.intellij.ui.*;
-import org.jetbrains.annotations.*;
+import com.intellij.openapi.application.Application;
+import com.intellij.openapi.diagnostic.Logger;
+import com.intellij.openapi.extensions.Extensions;
+import com.intellij.openapi.keymap.KeymapManager;
+import com.intellij.openapi.project.Project;
+import com.intellij.openapi.util.Comparing;
+import com.intellij.openapi.util.Disposer;
+import com.intellij.openapi.util.Ref;
+import com.intellij.openapi.wm.CustomStatusBarWidget;
+import com.intellij.openapi.wm.StatusBar;
+import com.intellij.openapi.wm.StatusBarCustomComponentFactory;
+import com.intellij.openapi.wm.impl.status.IdeStatusBarImpl;
+import com.intellij.openapi.wm.impl.status.MemoryUsagePanel;
+import com.intellij.openapi.wm.impl.welcomeScreen.WelcomeScreen;
+import com.intellij.ui.PopupHandler;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
import javax.swing.*;
import java.awt.*;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Arrays;
import java.util.List;
/**
*/
package com.intellij.openapi.wm.impl;
-import com.intellij.openapi.*;
-import com.intellij.openapi.components.*;
-import com.intellij.openapi.progress.*;
-import com.intellij.openapi.project.*;
-import com.intellij.openapi.ui.*;
-import com.intellij.openapi.ui.popup.*;
-import com.intellij.openapi.wm.*;
-import com.intellij.openapi.wm.ex.*;
-import org.jetbrains.annotations.*;
+import com.intellij.openapi.Disposable;
+import com.intellij.openapi.components.ApplicationComponent;
+import com.intellij.openapi.progress.TaskInfo;
+import com.intellij.openapi.project.Project;
+import com.intellij.openapi.ui.MessageType;
+import com.intellij.openapi.ui.popup.BalloonHandler;
+import com.intellij.openapi.wm.IdeFrame;
+import com.intellij.openapi.wm.StatusBar;
+import com.intellij.openapi.wm.StatusBarWidget;
+import com.intellij.openapi.wm.WindowManagerListener;
+import com.intellij.openapi.wm.ex.ProgressIndicatorEx;
+import com.intellij.openapi.wm.ex.StatusBarEx;
+import com.intellij.openapi.wm.ex.WindowManagerEx;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
import javax.swing.*;
-import javax.swing.event.*;
+import javax.swing.event.HyperlinkListener;
import java.awt.*;
-import java.awt.event.*;
+import java.awt.event.ComponentEvent;
/**
* @author Anton Katilin
*/
package com.intellij.openapi.wm.impl;
-import com.intellij.*;
-import com.intellij.ide.*;
-import com.intellij.ide.impl.*;
-import com.intellij.ide.ui.*;
-import com.intellij.openapi.actionSystem.*;
-import com.intellij.openapi.application.*;
-import com.intellij.openapi.application.ex.*;
-import com.intellij.openapi.components.*;
-import com.intellij.openapi.diagnostic.*;
-import com.intellij.openapi.keymap.*;
-import com.intellij.openapi.project.*;
-import com.intellij.openapi.util.*;
-import com.intellij.openapi.wm.*;
-import com.intellij.openapi.wm.ex.*;
-import com.intellij.util.*;
-import com.intellij.util.ui.*;
-import com.sun.jna.examples.*;
-import org.jdom.*;
-import org.jetbrains.annotations.*;
+import com.intellij.Patches;
+import com.intellij.ide.DataManager;
+import com.intellij.ide.IdeEventQueue;
+import com.intellij.ide.impl.DataManagerImpl;
+import com.intellij.ide.ui.UISettings;
+import com.intellij.openapi.actionSystem.ActionManager;
+import com.intellij.openapi.application.ApplicationInfo;
+import com.intellij.openapi.application.ApplicationManager;
+import com.intellij.openapi.application.ex.ApplicationInfoEx;
+import com.intellij.openapi.components.ApplicationComponent;
+import com.intellij.openapi.diagnostic.Logger;
+import com.intellij.openapi.keymap.KeymapManager;
+import com.intellij.openapi.project.Project;
+import com.intellij.openapi.project.ProjectManager;
+import com.intellij.openapi.util.Disposer;
+import com.intellij.openapi.util.NamedJDOMExternalizable;
+import com.intellij.openapi.util.SystemInfo;
+import com.intellij.openapi.wm.IdeFrame;
+import com.intellij.openapi.wm.StatusBar;
+import com.intellij.openapi.wm.WindowManagerListener;
+import com.intellij.openapi.wm.ex.StatusBarEx;
+import com.intellij.openapi.wm.ex.WindowManagerEx;
+import com.intellij.util.Alarm;
+import com.intellij.util.ArrayUtil;
+import com.intellij.util.EventDispatcher;
+import com.intellij.util.ui.UIUtil;
+import com.sun.jna.examples.WindowUtils;
+import org.jdom.Element;
+import org.jetbrains.annotations.NonNls;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
import javax.swing.*;
import java.awt.*;
-import java.awt.event.*;
-import java.beans.*;
-import java.util.*;
+import java.awt.event.ComponentEvent;
+import java.awt.event.WindowAdapter;
+import java.awt.event.WindowEvent;
+import java.beans.PropertyChangeEvent;
+import java.beans.PropertyChangeListener;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Set;
/**
* @author Anton Katilin
*/
package com.intellij.openapi.wm.impl.status;
-import com.intellij.ide.*;
-import com.intellij.openapi.actionSystem.*;
-import com.intellij.openapi.actionSystem.impl.*;
-import com.intellij.openapi.editor.*;
+import com.intellij.ide.DataManager;
+import com.intellij.openapi.actionSystem.DataContext;
+import com.intellij.openapi.actionSystem.PlatformDataKeys;
+import com.intellij.openapi.actionSystem.impl.SimpleDataContext;
+import com.intellij.openapi.editor.Document;
+import com.intellij.openapi.editor.Editor;
import com.intellij.openapi.fileEditor.*;
-import com.intellij.openapi.project.*;
-import com.intellij.openapi.ui.popup.*;
-import com.intellij.openapi.vfs.*;
-import com.intellij.openapi.vfs.encoding.*;
-import com.intellij.openapi.wm.*;
-import com.intellij.util.*;
-import org.jetbrains.annotations.*;
+import com.intellij.openapi.project.Project;
+import com.intellij.openapi.ui.popup.JBPopupFactory;
+import com.intellij.openapi.ui.popup.ListPopup;
+import com.intellij.openapi.vfs.VirtualFile;
+import com.intellij.openapi.vfs.encoding.ChooseFileEncodingAction;
+import com.intellij.openapi.vfs.encoding.EncodingManager;
+import com.intellij.openapi.wm.StatusBar;
+import com.intellij.openapi.wm.StatusBarWidget;
+import com.intellij.util.Consumer;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
import java.awt.*;
-import java.awt.event.*;
-import java.nio.charset.*;
+import java.awt.event.MouseEvent;
+import java.nio.charset.Charset;
/**
* @author cdr
*/
package com.intellij.openapi.wm.impl.status;
-import com.intellij.openapi.*;
-import com.intellij.openapi.progress.*;
-import com.intellij.openapi.ui.*;
-import com.intellij.openapi.ui.popup.*;
-import com.intellij.openapi.util.*;
-import com.intellij.openapi.util.text.*;
-import com.intellij.openapi.wm.*;
-import com.intellij.openapi.wm.ex.*;
-import com.intellij.ui.awt.*;
-import com.intellij.ui.popup.*;
-import com.intellij.util.*;
+import com.intellij.openapi.Disposable;
+import com.intellij.openapi.progress.TaskInfo;
+import com.intellij.openapi.ui.MessageType;
+import com.intellij.openapi.ui.popup.BalloonHandler;
+import com.intellij.openapi.ui.popup.ListPopup;
+import com.intellij.openapi.util.Disposer;
+import com.intellij.openapi.util.IconLoader;
+import com.intellij.openapi.util.SystemInfo;
+import com.intellij.openapi.util.text.StringUtil;
+import com.intellij.openapi.wm.CustomStatusBarWidget;
+import com.intellij.openapi.wm.StatusBar;
+import com.intellij.openapi.wm.StatusBarWidget;
+import com.intellij.openapi.wm.ex.ProgressIndicatorEx;
+import com.intellij.openapi.wm.ex.StatusBarEx;
+import com.intellij.ui.awt.RelativePoint;
+import com.intellij.ui.popup.NotificationPopup;
+import com.intellij.util.Consumer;
import com.intellij.util.containers.HashMap;
-import com.intellij.util.ui.*;
-import org.jetbrains.annotations.*;
+import com.intellij.util.ui.UIUtil;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
import javax.swing.*;
-import javax.swing.event.*;
+import javax.swing.event.HyperlinkListener;
import java.awt.*;
-import java.awt.event.*;
+import java.awt.event.MouseAdapter;
+import java.awt.event.MouseEvent;
+import java.util.ArrayList;
import java.util.List;
-import java.util.*;
+import java.util.Map;
+import java.util.Random;
/**
* User: spLeaner
*/
package com.intellij.openapi.wm.impl.status;
-import com.intellij.idea.*;
-import com.intellij.openapi.application.*;
-import com.intellij.openapi.application.ex.*;
-import com.intellij.openapi.progress.*;
-import com.intellij.openapi.progress.impl.*;
-import com.intellij.openapi.ui.*;
-import com.intellij.openapi.ui.popup.*;
-import com.intellij.openapi.util.*;
-import com.intellij.openapi.wm.*;
-import com.intellij.openapi.wm.ex.*;
-import com.intellij.ui.awt.*;
-import com.intellij.ui.components.labels.*;
-import com.intellij.ui.components.panels.*;
-import com.intellij.util.*;
-import com.intellij.util.ui.*;
-import com.intellij.util.ui.update.*;
-import org.jetbrains.annotations.*;
+import com.intellij.idea.ActionsBundle;
+import com.intellij.openapi.application.ApplicationManager;
+import com.intellij.openapi.application.ex.ApplicationManagerEx;
+import com.intellij.openapi.progress.TaskInfo;
+import com.intellij.openapi.progress.impl.ProgressManagerImpl;
+import com.intellij.openapi.ui.MessageType;
+import com.intellij.openapi.ui.popup.Balloon;
+import com.intellij.openapi.ui.popup.BalloonHandler;
+import com.intellij.openapi.ui.popup.JBPopupFactory;
+import com.intellij.openapi.util.MultiValuesMap;
+import com.intellij.openapi.util.Pair;
+import com.intellij.openapi.util.SystemInfo;
+import com.intellij.openapi.wm.CustomStatusBarWidget;
+import com.intellij.openapi.wm.StatusBar;
+import com.intellij.openapi.wm.StatusBarWidget;
+import com.intellij.openapi.wm.ex.ProgressIndicatorEx;
+import com.intellij.ui.awt.RelativePoint;
+import com.intellij.ui.components.labels.LinkLabel;
+import com.intellij.ui.components.labels.LinkListener;
+import com.intellij.ui.components.panels.Wrapper;
+import com.intellij.util.Alarm;
+import com.intellij.util.ui.AbstractLayoutManager;
+import com.intellij.util.ui.AsyncProcessIcon;
+import com.intellij.util.ui.EmptyIcon;
+import com.intellij.util.ui.UIUtil;
+import com.intellij.util.ui.update.MergingUpdateQueue;
+import com.intellij.util.ui.update.Update;
+import org.jetbrains.annotations.NotNull;
import javax.swing.*;
-import javax.swing.border.*;
-import javax.swing.event.*;
+import javax.swing.border.EmptyBorder;
+import javax.swing.event.HyperlinkListener;
import java.awt.*;
-import java.awt.event.*;
-import java.text.*;
+import java.awt.event.MouseAdapter;
+import java.awt.event.MouseEvent;
+import java.text.SimpleDateFormat;
import java.util.*;
import java.util.List;
*/
package com.intellij.openapi.wm.impl.status;
-import com.intellij.ide.*;
-import com.intellij.ide.ui.*;
-import com.intellij.openapi.*;
-import com.intellij.openapi.progress.*;
-import com.intellij.openapi.progress.util.*;
-import com.intellij.openapi.ui.popup.*;
-import com.intellij.openapi.util.*;
-import com.intellij.openapi.wm.impl.content.*;
-import com.intellij.ui.*;
-import com.intellij.ui.components.panels.*;
-import com.intellij.util.ui.*;
+import com.intellij.ide.IdeBundle;
+import com.intellij.ide.ui.LafManager;
+import com.intellij.openapi.Disposable;
+import com.intellij.openapi.progress.TaskInfo;
+import com.intellij.openapi.progress.util.ProgressIndicatorBase;
+import com.intellij.openapi.ui.popup.IconButton;
+import com.intellij.openapi.util.EmptyRunnable;
+import com.intellij.openapi.util.IconLoader;
+import com.intellij.openapi.wm.impl.content.GraphicsConfig;
+import com.intellij.ui.InplaceButton;
+import com.intellij.ui.components.panels.NonOpaquePanel;
+import com.intellij.ui.components.panels.Wrapper;
+import com.intellij.util.ui.UIUtil;
import javax.swing.*;
-import javax.swing.border.*;
+import javax.swing.border.EmptyBorder;
import java.awt.*;
-import java.awt.event.*;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.MouseAdapter;
+import java.awt.event.MouseEvent;
public class InlineProgressIndicator extends ProgressIndicatorBase implements Disposable {
*/
package com.intellij.openapi.wm.impl.status;
-import com.intellij.ide.*;
-import com.intellij.openapi.actionSystem.*;
-import com.intellij.openapi.editor.*;
-import com.intellij.openapi.fileEditor.*;
-import com.intellij.openapi.project.*;
-import com.intellij.openapi.wm.*;
-import com.intellij.ui.*;
-import com.intellij.util.*;
-import org.jetbrains.annotations.*;
+import com.intellij.ide.DataManager;
+import com.intellij.openapi.actionSystem.PlatformDataKeys;
+import com.intellij.openapi.editor.Editor;
+import com.intellij.openapi.fileEditor.FileEditorManager;
+import com.intellij.openapi.project.Project;
+import com.intellij.openapi.wm.StatusBar;
+import com.intellij.openapi.wm.StatusBarWidget;
+import com.intellij.ui.UIBundle;
+import com.intellij.util.Consumer;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
import java.awt.*;
-import java.awt.event.*;
+import java.awt.event.MouseEvent;
/**
* @author cdr
*/
package com.intellij.openapi.wm.impl.status;
-import com.intellij.util.ui.*;
-import com.intellij.util.ui.update.*;
+import com.intellij.util.ui.UIUtil;
+import com.intellij.util.ui.update.Activatable;
+import com.intellij.util.ui.update.UiNotifyConnector;
import javax.swing.*;
-import javax.swing.border.*;
+import javax.swing.border.Border;
import java.awt.*;
-import java.awt.event.*;
+import java.awt.event.WindowAdapter;
+import java.awt.event.WindowEvent;
+import java.awt.event.WindowListener;
/**
* User: spLeaner
*/
package com.intellij.openapi.wm.impl.status;
-import com.intellij.concurrency.*;
-import com.intellij.openapi.util.*;
-import com.intellij.openapi.wm.*;
-import com.intellij.ui.*;
-import com.intellij.util.ui.*;
-import org.jetbrains.annotations.*;
+import com.intellij.concurrency.JobScheduler;
+import com.intellij.openapi.util.SystemInfo;
+import com.intellij.openapi.wm.CustomStatusBarWidget;
+import com.intellij.openapi.wm.StatusBar;
+import com.intellij.openapi.wm.StatusBarWidget;
+import com.intellij.ui.UIBundle;
+import com.intellij.util.ui.UIUtil;
+import org.jetbrains.annotations.NonNls;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
import javax.swing.*;
import java.awt.*;
-import java.awt.event.*;
-import java.util.concurrent.*;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.util.concurrent.ScheduledFuture;
+import java.util.concurrent.TimeUnit;
public class MemoryUsagePanel extends JButton implements CustomStatusBarWidget {
@NonNls
*/
package com.intellij.openapi.wm.impl.status;
-import com.intellij.ide.*;
-import com.intellij.ide.util.*;
-import com.intellij.openapi.actionSystem.*;
-import com.intellij.openapi.command.*;
-import com.intellij.openapi.editor.*;
-import com.intellij.openapi.editor.event.*;
-import com.intellij.openapi.fileEditor.*;
-import com.intellij.openapi.fileEditor.ex.*;
-import com.intellij.openapi.project.*;
-import com.intellij.openapi.vfs.*;
-import com.intellij.openapi.wm.*;
-import com.intellij.ui.*;
-import com.intellij.util.*;
-import org.jetbrains.annotations.*;
+import com.intellij.ide.DataManager;
+import com.intellij.ide.util.GotoLineNumberDialog;
+import com.intellij.openapi.actionSystem.PlatformDataKeys;
+import com.intellij.openapi.command.CommandProcessor;
+import com.intellij.openapi.editor.Editor;
+import com.intellij.openapi.editor.EditorFactory;
+import com.intellij.openapi.editor.LogicalPosition;
+import com.intellij.openapi.editor.SelectionModel;
+import com.intellij.openapi.editor.event.CaretEvent;
+import com.intellij.openapi.editor.event.CaretListener;
+import com.intellij.openapi.fileEditor.FileEditorManager;
+import com.intellij.openapi.fileEditor.FileEditorManagerAdapter;
+import com.intellij.openapi.fileEditor.FileEditorManagerListener;
+import com.intellij.openapi.fileEditor.ex.IdeDocumentHistory;
+import com.intellij.openapi.project.Project;
+import com.intellij.openapi.vfs.VirtualFile;
+import com.intellij.openapi.wm.StatusBar;
+import com.intellij.openapi.wm.StatusBarWidget;
+import com.intellij.ui.UIBundle;
+import com.intellij.util.Consumer;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
import java.awt.*;
-import java.awt.event.*;
+import java.awt.event.MouseEvent;
public class PositionPanel implements StatusBarWidget, StatusBarWidget.TextPresentation, CaretListener {
private String myText;
*/
package com.intellij.openapi.wm.impl.status;
-import com.intellij.idea.*;
-import com.intellij.openapi.actionSystem.*;
-import com.intellij.openapi.project.*;
-import com.intellij.openapi.wm.ex.*;
-import com.intellij.openapi.wm.impl.*;
-import org.jetbrains.annotations.*;
+import com.intellij.idea.ActionsBundle;
+import com.intellij.openapi.actionSystem.AnActionEvent;
+import com.intellij.openapi.actionSystem.ToggleAction;
+import com.intellij.openapi.project.DumbAware;
+import com.intellij.openapi.wm.ex.StatusBarEx;
+import com.intellij.openapi.wm.impl.IdeFrameImpl;
+import org.jetbrains.annotations.Nullable;
import java.awt.*;
*/
package com.intellij.openapi.wm.impl.status;
-import com.intellij.util.ui.*;
+import com.intellij.util.ui.UIUtil;
import javax.swing.*;
-import javax.swing.border.*;
-import javax.swing.plaf.*;
+import javax.swing.border.Border;
+import javax.swing.plaf.ComponentUI;
import java.awt.*;
/**
*/
package com.intellij.openapi.wm.impl.status;
-import com.intellij.openapi.util.*;
-import com.intellij.util.ui.*;
-import org.jetbrains.annotations.*;
+import com.intellij.openapi.util.SystemInfo;
+import com.intellij.util.ui.UIUtil;
+import org.jetbrains.annotations.Nullable;
import javax.swing.*;
import java.awt.*;
*/
package com.intellij.openapi.wm.impl.status;
-import com.intellij.ide.*;
-import com.intellij.openapi.actionSystem.*;
-import com.intellij.openapi.application.*;
-import com.intellij.openapi.editor.*;
-import com.intellij.openapi.fileEditor.*;
-import com.intellij.openapi.project.*;
-import com.intellij.openapi.ui.*;
-import com.intellij.openapi.util.*;
-import com.intellij.openapi.vfs.*;
-import com.intellij.openapi.wm.*;
-import com.intellij.ui.*;
-import com.intellij.util.*;
-import com.intellij.util.io.*;
-import org.jetbrains.annotations.*;
+import com.intellij.ide.DataManager;
+import com.intellij.openapi.actionSystem.PlatformDataKeys;
+import com.intellij.openapi.application.ApplicationManager;
+import com.intellij.openapi.editor.Editor;
+import com.intellij.openapi.fileEditor.FileDocumentManager;
+import com.intellij.openapi.fileEditor.FileEditorManager;
+import com.intellij.openapi.project.Project;
+import com.intellij.openapi.ui.Messages;
+import com.intellij.openapi.util.IconLoader;
+import com.intellij.openapi.vfs.VirtualFile;
+import com.intellij.openapi.wm.StatusBar;
+import com.intellij.openapi.wm.StatusBarWidget;
+import com.intellij.ui.UIBundle;
+import com.intellij.util.Consumer;
+import com.intellij.util.io.ReadOnlyAttributeUtil;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
import javax.swing.*;
-import java.awt.event.*;
-import java.io.*;
+import java.awt.event.MouseEvent;
+import java.io.IOException;
public class ToggleReadOnlyAttributePanel implements StatusBarWidget, StatusBarWidget.IconPresentation {
private static final Icon myLockedIcon = IconLoader.getIcon("/ide/readonly.png");
private JTextField mySpeedSearchPatternField;
private boolean myNativePopup;
+ private boolean myMayBeParent;
AbstractPopup() {
final boolean headerAlwaysFocusable,
@NotNull List<Pair<ActionListener, KeyStroke>> keyboardActions,
Component settingsButtons,
- @Nullable final Processor<JBPopup> pinCallback) {
+ @Nullable final Processor<JBPopup> pinCallback,
+ boolean mayBeParent) {
if (requestFocus && !focusable) {
assert false : "Incorrect argument combination: requestFocus=" + requestFocus + " focusable=" + focusable;
myPopupBorder = PopupBorder.Factory.create(true);
myShadowed = !movable && !resizable && Registry.is("ide.popup.dropShadow");
myContent = createContentPanel(resizable, myPopupBorder, isToDrawMacCorner());
+ myMayBeParent = mayBeParent;
myContent.add(component, BorderLayout.CENTER);
if (adText != null) {
((JWindow)myWindow).getRootPane().putClientProperty(KEY, this);
}
+ if (myWindow != null) {
+ if (!myMayBeParent) {
+ WindowManager.getInstance().doNotSuggestAsParent(myWindow);
+ }
+ }
+
SwingUtilities.invokeLater(new Runnable() {
public void run() {
if (isDisposed()) return;
private InplaceButton myCommandButton;
private List<Pair<ActionListener, KeyStroke>> myKeyboardActions = Collections.emptyList();
private Component mySettingsButtons;
+ private boolean myMayBeParent;
public ComponentPopupBuilderImpl(final JComponent component,
final JComponent prefferedFocusedComponent) {
myPrefferedFocusedComponent = prefferedFocusedComponent;
}
+ public ComponentPopupBuilder setMayBeParent(boolean mayBeParent) {
+ myMayBeParent = mayBeParent;
+ return this;
+ }
+
@NotNull
public ComponentPopupBuilder setTitle(String title) {
myTitle = title;
myCancelButton,
myCancelOnMouseOutCallback, myCancelOnWindow, myTitleIcon, myCancelKeyEnabled, myLocateByContent,
myPlacewithinScreen, myMinSize, myAlpha, myMaskProvider, myInStack, myModalContext, myFocusOwners, myAd,
- myHeaderAlwaysFocusable, myKeyboardActions, mySettingsButtons, myPinCallback);
+ myHeaderAlwaysFocusable, myKeyboardActions, mySettingsButtons, myPinCallback, myMayBeParent);
if (myUserData != null) {
popup.setUserData(myUserData);
}
final Project project = PlatformDataKeys.PROJECT.getData(DataManager.getInstance().getDataContext());
init(project, scrollPane, getPreferredFocusableComponent(), true, true, true, true, null,
false, aStep.getTitle(), null, true, null, false, null, null, null, false, null, true, false, true, null, 0f,
- null, true, false, new Component[0], null, true, Collections.<Pair<ActionListener, KeyStroke>>emptyList(), null, null);
+ null, true, false, new Component[0], null, true, Collections.<Pair<ActionListener, KeyStroke>>emptyList(), null, null, false);
registerAction("disposeAll", KeyEvent.VK_ESCAPE, InputEvent.SHIFT_MASK, new AbstractAction() {
public void actionPerformed(ActionEvent e) {
package com.intellij.ide.util.treeView;
-import com.intellij.openapi.progress.ProcessCanceledException;
import com.intellij.openapi.util.Condition;
import com.intellij.openapi.util.Disposer;
import com.intellij.openapi.util.Ref;
import com.intellij.openapi.progress.ProgressIndicator;
import com.intellij.openapi.progress.Progressive;
import com.intellij.openapi.util.*;
-import com.intellij.testFramework.TestLogger;
import com.intellij.util.Time;
import com.intellij.util.WaitFor;
import junit.framework.TestSuite;
<extensionPoint name="webBrowserUrlProvider"
interface="com.intellij.ide.browsers.WebBrowserUrlProvider"/>
+ <extensionPoint name="remoteFileUpdater"
+ interface="com.intellij.ide.browsers.RemoteFileUpdater"/>
<extensionPoint name="standardResourceProvider" interface="com.intellij.javaee.StandardResourceProvider"/>
<psi.includeHandler implementation="com.intellij.xml.util.XmlIncludeHandler"/>
- <enterHandlerDelegate implementation="com.intellij.codeInsight.editorActions.EnterBetweenXmlTagsHandler"/>
+ <enterHandlerDelegate implementation="com.intellij.codeInsight.editorActions.EnterBetweenXmlTagsHandler" id="xmlEnter"/>
<declarationRangeHandler key="com.intellij.psi.xml.XmlTag"
implementationClass="com.intellij.codeInsight.hint.TagDeclarationRangeHandler"/>
import com.intellij.mock.MockApplication;
import com.intellij.openapi.Disposable;
+import com.intellij.openapi.application.Application;
import com.intellij.openapi.application.ex.ApplicationManagerEx;
import com.intellij.openapi.util.Disposer;
import com.intellij.openapi.util.io.FileUtil;
import java.io.File;
import java.io.IOException;
+import java.util.concurrent.Future;
public abstract class FlyIdeaTestCase extends TestCase {
private File myTempDir;
protected void setUp() throws Exception {
- MockApplication app = new MockApplication();
+ final Application old = ApplicationManagerEx.getApplication();
+ MockApplication app = new MockApplication() {
+ @Override
+ public Future<?> executeOnPooledThread(Runnable action) {
+ return old != null ? old.executeOnPooledThread(action) : super.executeOnPooledThread(action);
+ }
+ };
myRootDisposable = Disposer.newDisposable();
ApplicationManagerEx.setApplication(app, myRootDisposable);
return new WriteCommandAction<List<IntentionAction>>(myProjectFixture.getProject()) {
protected void run(final Result<List<IntentionAction>> result) throws Exception {
- configureByFilesInner(filePaths);
+ if (filePaths.length > 0) {
+ configureByFilesInner(filePaths);
+ }
result.setResult(getAvailableIntentions());
}
}.execute().getResultObject();
package com.intellij.openapi.diagnostic;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.List;
/**
* This is a very primitive fast logging class, primary for race-conditions debugging
package com.intellij.util.lang;
-import org.jetbrains.annotations.*;
-import sun.misc.*;
-
-import java.io.*;
-import java.net.*;
+import org.jetbrains.annotations.NonNls;
+import org.jetbrains.annotations.Nullable;
+import sun.misc.Resource;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.URL;
+import java.net.URLClassLoader;
import java.util.*;
public class UrlClassLoader extends ClassLoader {
*/
package com.intellij.util.ui;
-import com.intellij.openapi.*;
-import com.intellij.openapi.diagnostic.*;
-import com.intellij.openapi.util.*;
-import com.intellij.openapi.util.text.*;
-import com.intellij.ui.*;
-import com.intellij.util.*;
-import org.jetbrains.annotations.*;
+import com.intellij.openapi.Disposable;
+import com.intellij.openapi.diagnostic.Logger;
+import com.intellij.openapi.util.Disposer;
+import com.intellij.openapi.util.IconLoader;
+import com.intellij.openapi.util.Key;
+import com.intellij.openapi.util.SystemInfo;
+import com.intellij.openapi.util.text.StringUtil;
+import com.intellij.ui.SideBorder;
+import com.intellij.util.ArrayUtil;
+import com.intellij.util.ReflectionUtil;
+import org.jetbrains.annotations.NonNls;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
+import org.jetbrains.annotations.TestOnly;
import javax.swing.*;
-import javax.swing.border.*;
-import javax.swing.plaf.*;
-import javax.swing.plaf.basic.*;
-import javax.swing.text.html.*;
-import javax.swing.tree.*;
+import javax.swing.border.Border;
+import javax.swing.border.LineBorder;
+import javax.swing.plaf.ProgressBarUI;
+import javax.swing.plaf.basic.BasicTreeUI;
+import javax.swing.text.html.HTMLEditorKit;
+import javax.swing.text.html.StyleSheet;
+import javax.swing.tree.TreePath;
import java.awt.*;
import java.awt.event.*;
-import java.awt.font.*;
+import java.awt.font.FontRenderContext;
import java.awt.geom.Rectangle2D;
-import java.lang.reflect.*;
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
import java.util.*;
import java.util.List;
-import java.util.Map;
-import java.util.concurrent.*;
-import java.util.regex.*;
+import java.util.concurrent.BlockingQueue;
+import java.util.concurrent.LinkedBlockingQueue;
+import java.util.regex.Pattern;
/**
* @author max
*/
package com.intellij.openapi.vcs;
-import java.util.*;
+import java.util.HashSet;
+import java.util.Set;
public class QuantitySelection<T> implements SelectionManipulation<T>, SelectionState<T> {
private final Group<T> mySelected;
*/
package com.intellij.openapi.vcs;
-import java.util.*;
+import java.util.Set;
public interface SelectionResult<T> {
Set<T> getMarked();
--- /dev/null
+/*
+ * Copyright 2000-2010 JetBrains s.r.o.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.intellij.openapi.vcs.changes;
+
+import com.intellij.util.NullableFunction;
+import com.intellij.util.PairConsumer;
+
+import java.util.HashMap;
+import java.util.Map;
+
+public class PseudoMap<Key, Value> implements PairConsumer<Key, Value>, NullableFunction<Key, Value> {
+ private final Map<Key, Value> myMap;
+
+ public PseudoMap() {
+ myMap = createMap();
+ }
+
+ protected Map<Key, Value> createMap() {
+ return new HashMap<Key, Value>();
+ }
+
+ public Value fun(Key key) {
+ return myMap.get(key);
+ }
+
+ public void consume(Key key, Value value) {
+ myMap.put(key, value);
+ }
+}
public interface CheckinChangeListSpecificComponent extends RefreshableOnComponent {
void onChangeListSelected(final LocalChangeList list);
- Object getDataForCommit();
}
import com.intellij.openapi.vcs.changes.ChangeList;
import com.intellij.openapi.vcs.ui.RefreshableOnComponent;
import com.intellij.openapi.vfs.VirtualFile;
+import com.intellij.util.NullableFunction;
+import com.intellij.util.PairConsumer;
import org.jetbrains.annotations.NonNls;
+import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import java.util.List;
*/
public interface CheckinEnvironment extends VcsProviderMarker {
@Nullable
- RefreshableOnComponent createAdditionalOptionsPanel(CheckinProjectPanel panel);
+ RefreshableOnComponent createAdditionalOptionsPanel(CheckinProjectPanel panel, PairConsumer<Object, Object> additionalDataConsumer);
@Nullable
String getDefaultMessageFor(FilePath[] filesToCheckin);
List<VcsException> commit(List<Change> changes, String preparedComment);
@Nullable
- List<VcsException> commit(List<Change> changes, String preparedComment, final Object parameters);
+ List<VcsException> commit(List<Change> changes, String preparedComment, @NotNull NullableFunction<Object, Object> parametersHolder);
@Nullable
List<VcsException> scheduleMissingFileForDeletion(List<FilePath> files);
import com.intellij.openapi.vcs.VcsException;
import com.intellij.openapi.vcs.changes.CommitExecutor;
import com.intellij.openapi.vcs.ui.RefreshableOnComponent;
+import com.intellij.util.PairConsumer;
import org.jetbrains.annotations.Nullable;
import java.util.List;
* {@link CheckinHandlerFactory#createHandler(com.intellij.openapi.vcs.CheckinProjectPanel)} to
* get information about the files to be checked in.
*
- * @param executor the commit executor, or null if the standard commit operation is executed.
+ * @param executor the commit executor, or null if the standard commit operation is executed.
+ * @param additionalDataConsumer
* @return the code indicating whether the check-in operation should be performed or aborted.
*/
- public ReturnResult beforeCheckin(@Nullable CommitExecutor executor) {
+ public ReturnResult beforeCheckin(@Nullable CommitExecutor executor, PairConsumer<Object, Object> additionalDataConsumer) {
return beforeCheckin();
}
*/
package com.intellij.vcsUtil;
-import com.intellij.openapi.actionSystem.*;
-import com.intellij.openapi.application.*;
-import com.intellij.openapi.diagnostic.*;
-import com.intellij.openapi.editor.*;
-import com.intellij.openapi.fileEditor.*;
-import com.intellij.openapi.fileTypes.*;
-import com.intellij.openapi.progress.*;
-import com.intellij.openapi.project.*;
-import com.intellij.openapi.ui.*;
-import com.intellij.openapi.util.*;
-import com.intellij.openapi.util.io.*;
+import com.intellij.openapi.actionSystem.AnActionEvent;
+import com.intellij.openapi.actionSystem.PlatformDataKeys;
+import com.intellij.openapi.application.Application;
+import com.intellij.openapi.application.ApplicationManager;
+import com.intellij.openapi.application.ModalityState;
+import com.intellij.openapi.diagnostic.Logger;
+import com.intellij.openapi.editor.Document;
+import com.intellij.openapi.fileEditor.FileDocumentManager;
+import com.intellij.openapi.fileTypes.FileTypeManager;
+import com.intellij.openapi.fileTypes.FileTypes;
+import com.intellij.openapi.progress.ProgressManager;
+import com.intellij.openapi.project.Project;
+import com.intellij.openapi.ui.Messages;
+import com.intellij.openapi.util.Computable;
+import com.intellij.openapi.util.Ref;
+import com.intellij.openapi.util.io.FileUtil;
import com.intellij.openapi.vcs.*;
-import com.intellij.openapi.vcs.FilePath;
-import com.intellij.openapi.vcs.actions.*;
-import com.intellij.openapi.vcs.changes.*;
-import com.intellij.openapi.vfs.*;
-import com.intellij.openapi.vfs.newvfs.*;
-import com.intellij.openapi.wm.*;
-import org.jetbrains.annotations.*;
+import com.intellij.openapi.vcs.actions.VcsContextFactory;
+import com.intellij.openapi.vcs.changes.Change;
+import com.intellij.openapi.vcs.changes.ContentRevision;
+import com.intellij.openapi.vcs.changes.VcsDirtyScopeManager;
+import com.intellij.openapi.vfs.LocalFileSystem;
+import com.intellij.openapi.vfs.VfsUtil;
+import com.intellij.openapi.vfs.VirtualFile;
+import com.intellij.openapi.vfs.newvfs.RefreshQueue;
+import com.intellij.openapi.wm.StatusBar;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
import javax.swing.*;
-import java.io.*;
+import java.io.File;
+import java.io.IOException;
import java.util.*;
@SuppressWarnings({"UtilityClassWithoutPrivateConstructor"})
*/
package com.intellij.openapi.vcs.changes.committed;
-import com.intellij.openapi.*;
+import com.intellij.openapi.Disposable;
import com.intellij.openapi.actionSystem.*;
-import com.intellij.openapi.application.*;
-import com.intellij.openapi.diagnostic.*;
-import com.intellij.openapi.progress.*;
-import com.intellij.openapi.project.*;
-import com.intellij.openapi.ui.*;
-import com.intellij.openapi.util.text.*;
+import com.intellij.openapi.application.ApplicationManager;
+import com.intellij.openapi.application.ModalityState;
+import com.intellij.openapi.diagnostic.Logger;
+import com.intellij.openapi.progress.ProgressIndicator;
+import com.intellij.openapi.progress.ProgressManager;
+import com.intellij.openapi.progress.Task;
+import com.intellij.openapi.project.Project;
+import com.intellij.openapi.ui.Messages;
+import com.intellij.openapi.util.text.StringUtil;
import com.intellij.openapi.vcs.*;
-import com.intellij.openapi.vcs.changes.*;
-import com.intellij.openapi.vcs.versionBrowser.*;
-import com.intellij.openapi.vfs.*;
-import com.intellij.ui.*;
-import com.intellij.util.*;
-import org.jetbrains.annotations.*;
+import com.intellij.openapi.vcs.changes.BackgroundFromStartOption;
+import com.intellij.openapi.vcs.versionBrowser.ChangeBrowserSettings;
+import com.intellij.openapi.vcs.versionBrowser.CommittedChangeList;
+import com.intellij.openapi.vfs.VirtualFile;
+import com.intellij.ui.FilterComponent;
+import com.intellij.util.AsynchConsumer;
+import com.intellij.util.BufferedListConsumer;
+import com.intellij.util.Consumer;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
import javax.swing.*;
-import javax.swing.event.*;
+import javax.swing.event.ChangeEvent;
+import javax.swing.event.ChangeListener;
import java.awt.*;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.LinkedList;
import java.util.List;
public class CommittedChangesPanel extends JPanel implements TypeSafeDataProvider, Disposable {
*/
package com.intellij.openapi.vcs.changes.committed;
-import com.intellij.ide.*;
-import com.intellij.openapi.*;
-import com.intellij.openapi.actionSystem.*;
-import com.intellij.openapi.application.*;
-import com.intellij.openapi.components.*;
-import com.intellij.openapi.diagnostic.*;
-import com.intellij.openapi.project.*;
-import com.intellij.openapi.util.*;
-import com.intellij.openapi.vcs.*;
-import com.intellij.openapi.vcs.changes.ui.*;
-import com.intellij.openapi.vcs.versionBrowser.*;
+import com.intellij.ide.DataManager;
+import com.intellij.openapi.Disposable;
+import com.intellij.openapi.actionSystem.DataContext;
+import com.intellij.openapi.actionSystem.PlatformDataKeys;
+import com.intellij.openapi.application.ApplicationManager;
+import com.intellij.openapi.components.ProjectComponent;
+import com.intellij.openapi.diagnostic.Logger;
+import com.intellij.openapi.project.Project;
+import com.intellij.openapi.util.Disposer;
+import com.intellij.openapi.util.IconLoader;
+import com.intellij.openapi.vcs.VcsBundle;
+import com.intellij.openapi.vcs.changes.ui.ChangesViewContentManager;
+import com.intellij.openapi.vcs.versionBrowser.CommittedChangeList;
import com.intellij.openapi.wm.*;
-import com.intellij.util.*;
-import com.intellij.util.messages.*;
-import org.jetbrains.annotations.*;
+import com.intellij.util.Consumer;
+import com.intellij.util.messages.MessageBus;
+import org.jetbrains.annotations.NonNls;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
import javax.swing.*;
import java.awt.*;
-import java.awt.event.*;
+import java.awt.event.MouseEvent;
import java.util.List;
/**
private String myLastSelectedListName;
private CommitLegendPanel.ChangeInfoCalculator myChangesInfoCalculator;
+ private final PseudoMap<Object, Object> myAdditionalData;
+
private static class MyUpdateButtonsRunnable implements Runnable {
private CommitChangeListDialog myDialog;
myShowVcsCommit = showVcsCommit;
myVcs = singleVcs;
myListComments = new HashMap<String, String>();
+ myAdditionalData = new PseudoMap<Object, Object>();
if (!myShowVcsCommit && ((myExecutors == null) || myExecutors.size() == 0)) {
throw new IllegalArgumentException("nothing found to execute commit with");
for (AbstractVcs vcs : vcses) {
final CheckinEnvironment checkinEnvironment = vcs.getCheckinEnvironment();
if (checkinEnvironment != null) {
- final RefreshableOnComponent options = checkinEnvironment.createAdditionalOptionsPanel(this);
+ final RefreshableOnComponent options = checkinEnvironment.createAdditionalOptionsPanel(this, myAdditionalData);
if (options != null) {
JPanel vcsOptions = new JPanel(new BorderLayout());
vcsOptions.add(options.getComponent(), BorderLayout.CENTER);
FileDocumentManager.getInstance().saveAllDocuments();
for (CheckinHandler handler : myHandlers) {
- final CheckinHandler.ReturnResult result = handler.beforeCheckin(executor);
+ final CheckinHandler.ReturnResult result = handler.beforeCheckin(executor, myAdditionalData);
if (result == CheckinHandler.ReturnResult.COMMIT) continue;
if (result == CheckinHandler.ReturnResult.CANCEL) {
restartUpdate();
super.doCancelAction();
}
- private Map<String, Object> getAdditionalDataForSubmit() {
- final Map<String, Object> result = new HashMap<String, Object>();
- for (Map.Entry<String, CheckinChangeListSpecificComponent> entry : myCheckinChangeListSpecificComponents.entrySet()) {
- final Object data = entry.getValue().getDataForCommit();
- if (data != null) {
- result.put(entry.getKey(), data);
- }
- }
- return result;
- }
-
private void doCommit() {
final CommitHelper helper = new CommitHelper(
myProject,
myActionName,
getCommitMessage(),
myHandlers,
- myAllOfDefaultChangeListChangesIncluded, false, getAdditionalDataForSubmit());
+ myAllOfDefaultChangeListChangesIncluded, false, myAdditionalData);
if (myIsAlien) {
helper.doAlienCommit(myVcs);
import com.intellij.openapi.vcs.checkin.CheckinHandler;
import com.intellij.openapi.vcs.update.RefreshVFsSynchronously;
import com.intellij.util.Consumer;
+import com.intellij.util.NullableFunction;
import com.intellij.util.ui.ConfirmationDialog;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
-import java.util.Map;
public class CommitHelper {
private final static Logger LOG = Logger.getInstance("#com.intellij.openapi.vcs.changes.ui.CommitHelper");
private final List<CheckinHandler> myHandlers;
private final boolean myAllOfDefaultChangeListChangesIncluded;
private final boolean myForceSyncCommit;
- private final Map<String, Object> myAdditionalData;
+ private final NullableFunction<Object, Object> myAdditionalData;
private final List<Document> myCommittingDocuments = new ArrayList<Document>();
private final VcsConfiguration myConfiguration;
private final VcsDirtyScopeManager myDirtyScopeManager;
final String commitMessage,
final List<CheckinHandler> handlers,
final boolean allOfDefaultChangeListChangesIncluded,
- final boolean synchronously, final Map<String, Object> additionalData) {
+ final boolean synchronously, final NullableFunction<Object, Object> additionalDataHolder) {
myProject = project;
myChangeList = changeList;
myIncludedChanges = includedChanges;
myHandlers = handlers;
myAllOfDefaultChangeListChangesIncluded = allOfDefaultChangeListChangesIncluded;
myForceSyncCommit = synchronously;
- myAdditionalData = additionalData;
+ myAdditionalData = additionalDataHolder;
myConfiguration = VcsConfiguration.getInstance(myProject);
myDirtyScopeManager = VcsDirtyScopeManager.getInstance(myProject);
}
Collection<FilePath> paths = ChangesUtil.getPaths(items);
myPathsToRefresh.addAll(paths);
- final Object addData = (myAdditionalData == null) ? null : myAdditionalData.get(vcs.getName());
-
- final List<VcsException> exceptions = environment.commit(items, myCommitMessage, addData);
+ final List<VcsException> exceptions = environment.commit(items, myCommitMessage, myAdditionalData);
if (exceptions != null && exceptions.size() > 0) {
myVcsExceptions.addAll(exceptions);
myChangesFailedToCommit.addAll(items);
if (environment.keepChangeListAfterCommit(myChangeList)) {
myKeepChangeListAfterCommit = true;
}
- final Object addData = (myAdditionalData == null) ? null : myAdditionalData.get(vcs.getName());
- final List<VcsException> exceptions = environment.commit(items, myCommitMessage, addData);
+ final List<VcsException> exceptions = environment.commit(items, myCommitMessage, myAdditionalData);
if (exceptions != null && exceptions.size() > 0) {
myVcsExceptions.addAll(exceptions);
myChangesFailedToCommit.addAll(items);
*/
package com.intellij.openapi.vcs.impl;
-import com.intellij.ide.actions.*;
-import com.intellij.ide.errorTreeView.*;
-import com.intellij.openapi.actionSystem.*;
-import com.intellij.openapi.application.*;
-import com.intellij.openapi.command.*;
-import com.intellij.openapi.diagnostic.*;
+import com.intellij.ide.actions.CloseTabToolbarAction;
+import com.intellij.ide.errorTreeView.ErrorTreeElementKind;
+import com.intellij.ide.errorTreeView.HotfixData;
+import com.intellij.ide.errorTreeView.SimpleErrorData;
+import com.intellij.openapi.actionSystem.AnActionEvent;
+import com.intellij.openapi.actionSystem.DefaultActionGroup;
+import com.intellij.openapi.application.Application;
+import com.intellij.openapi.application.ApplicationManager;
+import com.intellij.openapi.application.ModalityState;
+import com.intellij.openapi.command.CommandProcessor;
+import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.diff.*;
-import com.intellij.openapi.fileEditor.*;
-import com.intellij.openapi.fileTypes.*;
-import com.intellij.openapi.progress.*;
-import com.intellij.openapi.project.*;
-import com.intellij.openapi.ui.*;
-import com.intellij.openapi.util.*;
+import com.intellij.openapi.fileEditor.FileDocumentManager;
+import com.intellij.openapi.fileTypes.FileType;
+import com.intellij.openapi.fileTypes.FileTypeManager;
+import com.intellij.openapi.progress.ProgressIndicator;
+import com.intellij.openapi.progress.ProgressManager;
+import com.intellij.openapi.progress.Task;
+import com.intellij.openapi.project.Project;
+import com.intellij.openapi.ui.DialogWrapper;
+import com.intellij.openapi.ui.MessageType;
+import com.intellij.openapi.ui.Messages;
+import com.intellij.openapi.util.Comparing;
+import com.intellij.openapi.util.Disposer;
+import com.intellij.openapi.util.Getter;
import com.intellij.openapi.vcs.*;
-import com.intellij.openapi.vcs.FilePath;
-import com.intellij.openapi.vcs.annotate.*;
-import com.intellij.openapi.vcs.changes.*;
+import com.intellij.openapi.vcs.annotate.Annotater;
+import com.intellij.openapi.vcs.annotate.AnnotationProvider;
+import com.intellij.openapi.vcs.annotate.FileAnnotation;
+import com.intellij.openapi.vcs.changes.BackgroundFromStartOption;
+import com.intellij.openapi.vcs.changes.Change;
import com.intellij.openapi.vcs.changes.committed.*;
import com.intellij.openapi.vcs.changes.ui.*;
-import com.intellij.openapi.vcs.ex.*;
+import com.intellij.openapi.vcs.ex.ProjectLevelVcsManagerEx;
import com.intellij.openapi.vcs.history.*;
-import com.intellij.openapi.vcs.merge.*;
-import com.intellij.openapi.vcs.versionBrowser.*;
-import com.intellij.openapi.vfs.*;
-import com.intellij.openapi.wm.*;
-import com.intellij.ui.content.*;
-import com.intellij.util.*;
-import com.intellij.util.ui.*;
-import org.jetbrains.annotations.*;
+import com.intellij.openapi.vcs.merge.MergeProvider;
+import com.intellij.openapi.vcs.merge.MultipleFileMergeDialog;
+import com.intellij.openapi.vcs.versionBrowser.ChangeBrowserSettings;
+import com.intellij.openapi.vcs.versionBrowser.ChangesBrowserSettingsEditor;
+import com.intellij.openapi.vcs.versionBrowser.CommittedChangeList;
+import com.intellij.openapi.vfs.LocalFileSystem;
+import com.intellij.openapi.vfs.VirtualFile;
+import com.intellij.openapi.wm.ToolWindow;
+import com.intellij.openapi.wm.ToolWindowId;
+import com.intellij.openapi.wm.ToolWindowManager;
+import com.intellij.openapi.wm.WindowManager;
+import com.intellij.ui.content.Content;
+import com.intellij.ui.content.ContentFactory;
+import com.intellij.ui.content.ContentManager;
+import com.intellij.ui.content.MessageView;
+import com.intellij.util.AsynchConsumer;
+import com.intellij.util.BufferedListConsumer;
+import com.intellij.util.Consumer;
+import com.intellij.util.ContentsUtil;
+import com.intellij.util.ui.ConfirmationDialog;
+import com.intellij.util.ui.ErrorTreeView;
+import com.intellij.util.ui.MessageCategory;