Fix deprecated method usages

This commit is contained in:
Roman Shevchenko
2012-11-13 14:01:49 +01:00
parent b0eb105671
commit cef469715d
19 changed files with 112 additions and 68 deletions
@@ -13,11 +13,6 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/*
* User: anna
* Date: 26-Jun-2007
*/
package com.intellij.codeInsight;
import com.intellij.CommonBundle;
@@ -25,6 +20,7 @@ import com.intellij.ProjectTopics;
import com.intellij.codeInsight.highlighting.HighlightManager;
import com.intellij.icons.AllIcons;
import com.intellij.ide.DataManager;
import com.intellij.ide.highlighter.XmlFileType;
import com.intellij.openapi.Disposable;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.application.Result;
@@ -84,6 +80,10 @@ import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
/**
* @author anna
* @since 26-Jun-2007
*/
public class ExternalAnnotationsManagerImpl extends BaseExternalAnnotationsManager {
private static final Logger LOG = Logger.getInstance("#" + ExternalAnnotationsManagerImpl.class.getName());
@@ -650,8 +650,8 @@ public class ExternalAnnotationsManagerImpl extends BaseExternalAnnotationsManag
}
try {
return (XmlFile)directory
.add(PsiFileFactory.getInstance(myPsiManager.getProject()).createFileFromText(ANNOTATIONS_XML, "<root></root>"));
final PsiFileFactory factory = PsiFileFactory.getInstance(myPsiManager.getProject());
return (XmlFile)directory.add(factory.createFileFromText(ANNOTATIONS_XML, XmlFileType.INSTANCE, "<root></root>"));
}
catch (IncorrectOperationException e) {
LOG.error(e);
@@ -1,5 +1,5 @@
/*
* Copyright 2000-2009 JetBrains s.r.o.
* Copyright 2000-2012 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.
@@ -17,6 +17,7 @@ package com.intellij.ide.fileTemplates;
import com.intellij.ide.IdeBundle;
import com.intellij.openapi.fileTypes.FileType;
import com.intellij.openapi.fileTypes.FileTypeRegistry;
import com.intellij.openapi.fileTypes.StdFileTypes;
import com.intellij.openapi.fileTypes.ex.FileTypeManagerEx;
import com.intellij.openapi.project.Project;
@@ -38,7 +39,9 @@ public class JavaCreateFromTemplateHandler implements CreateFromTemplateHandler
boolean reformat,
String extension) throws IncorrectOperationException {
if (extension == null) extension = StdFileTypes.JAVA.getDefaultExtension();
final PsiFile psiFile = PsiFileFactory.getInstance(project).createFileFromText("myclass" + "." + extension, content);
final String name = "myClass" + "." + extension;
final FileType type = FileTypeRegistry.getInstance().getFileTypeByFileName(name);
final PsiFile psiFile = PsiFileFactory.getInstance(project).createFileFromText(name, type, content);
if (!(psiFile instanceof PsiJavaFile)){
throw new IncorrectOperationException("This template did not produce a Java class or an interface\n"+psiFile.getText());
}
@@ -1,5 +1,5 @@
/*
* Copyright 2000-2009 JetBrains s.r.o.
* Copyright 2000-2012 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.
@@ -15,6 +15,7 @@
*/
package com.intellij.refactoring.extractclass;
import com.intellij.ide.highlighter.JavaFileType;
import com.intellij.ide.util.PackageUtil;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.application.Result;
@@ -683,7 +684,8 @@ public class ExtractClassProcessor extends FixableUsagesRefactoringProcessor {
directory = PackageUtil.findOrCreateDirectoryForPackage(module, newPackageName, containingDirectory, false, true);
}
if (directory != null) {
final PsiFile newFile = PsiFileFactory.getInstance(project).createFileFromText(newClassName + ".java", classString);
final PsiFileFactory factory = PsiFileFactory.getInstance(project);
final PsiFile newFile = factory.createFileFromText(newClassName + ".java", JavaFileType.INSTANCE, classString);
final PsiElement addedFile = directory.add(newFile);
final CodeStyleManager codeStyleManager = CodeStyleManager.getInstance(manager.getProject());
final PsiElement shortenedFile = JavaCodeStyleManager.getInstance(project).shortenClassReferences(addedFile);
@@ -1,5 +1,5 @@
/*
* Copyright 2000-2009 JetBrains s.r.o.
* Copyright 2000-2012 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.
@@ -15,6 +15,7 @@
*/
package com.intellij.refactoring.introduceparameterobject;
import com.intellij.ide.highlighter.JavaFileType;
import com.intellij.ide.util.PackageUtil;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.module.Module;
@@ -272,7 +273,8 @@ public class IntroduceParameterObjectProcessor extends FixableUsagesRefactoringP
final String classString = beanClassBuilder.buildBeanClass();
try {
final PsiJavaFile newFile = (PsiJavaFile)PsiFileFactory.getInstance(method.getProject()).createFileFromText(className + ".java", classString);
final PsiFileFactory factory = PsiFileFactory.getInstance(method.getProject());
final PsiJavaFile newFile = (PsiJavaFile)factory.createFileFromText(className + ".java", JavaFileType.INSTANCE, classString);
if (myCreateInnerClass) {
final PsiClass containingClass = method.getContainingClass();
final PsiClass[] classes = newFile.getClasses();
@@ -1,5 +1,5 @@
/*
* Copyright 2000-2009 JetBrains s.r.o.
* Copyright 2000-2012 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.
@@ -13,13 +13,9 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/*
* User: anna
* Date: 04-Sep-2008
*/
package com.intellij.refactoring.replaceConstructorWithBuilder;
import com.intellij.ide.highlighter.JavaFileType;
import com.intellij.ide.util.PackageUtil;
import com.intellij.openapi.module.Module;
import com.intellij.openapi.module.ModuleUtil;
@@ -54,6 +50,10 @@ import java.util.Collections;
import java.util.List;
import java.util.Map;
/**
* @author anna
* @since 04-Sep-2008
*/
public class ReplaceConstructorWithBuilderProcessor extends FixableUsagesRefactoringProcessor {
public static final String REFACTORING_NAME = "Replace Constructor with Builder";
private final PsiMethod[] myConstructors;
@@ -105,12 +105,12 @@ public class ReplaceConstructorWithBuilderProcessor extends FixableUsagesRefacto
@Nullable
private PsiClass createBuilderClass() {
final PsiClass psiClass = myConstructors[0].getContainingClass();
assert psiClass != null;
final PsiTypeParameterList typeParameterList = psiClass.getTypeParameterList();
final PsiJavaFile newFile = (PsiJavaFile)PsiFileFactory.getInstance(myProject)
.createFileFromText(myClassName + ".java", "public class " + myClassName + (typeParameterList != null ? typeParameterList.getText() : "") + "{}");
final String text = "public class " + myClassName + (typeParameterList != null ? typeParameterList.getText() : "") + "{}";
final PsiFileFactory factory = PsiFileFactory.getInstance(myProject);
final PsiJavaFile newFile = (PsiJavaFile)factory.createFileFromText(myClassName + ".java", JavaFileType.INSTANCE, text);
final PsiFile containingFile = myConstructors[0].getContainingFile();
final PsiDirectory containingDirectory = containingFile.getContainingDirectory();
@@ -1,5 +1,5 @@
/*
* Copyright 2000-2009 JetBrains s.r.o.
* Copyright 2000-2012 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.
@@ -15,6 +15,7 @@
*/
package com.intellij.refactoring.wrapreturnvalue;
import com.intellij.ide.highlighter.JavaFileType;
import com.intellij.ide.util.PackageUtil;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.module.Module;
@@ -265,7 +266,8 @@ public class WrapReturnValueProcessor extends FixableUsagesRefactoringProcessor
}
try {
final PsiJavaFile psiFile = (PsiJavaFile)PsiFileFactory.getInstance(project).createFileFromText(className + ".java", classString);
final PsiFileFactory factory = PsiFileFactory.getInstance(project);
final PsiJavaFile psiFile = (PsiJavaFile)factory.createFileFromText(className + ".java", JavaFileType.INSTANCE, classString);
final CodeStyleManager codeStyleManager = CodeStyleManager.getInstance(manager.getProject());
if (myCreateInnerClass) {
final PsiClass containingClass = method.getContainingClass();
@@ -1,5 +1,21 @@
/*
* Copyright 2000-2012 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;
import com.intellij.ide.highlighter.JavaFileType;
import com.intellij.openapi.editor.Document;
import com.intellij.openapi.fileEditor.FileDocumentManager;
import com.intellij.openapi.fileEditor.impl.LoadTextUtil;
@@ -13,6 +29,7 @@ public class AddClassToFileTest extends PsiTestCase{
public void test() throws Exception {
VirtualFile root = PsiTestUtil.createTestProjectStructure(myProject, myModule, myFilesToDelete);
PsiDirectory dir = myPsiManager.findDirectory(root);
assertNotNull(dir);
PsiFile file = dir.createFile("AAA.java");
PsiClass aClass = myJavaFacade.getElementFactory().createClass("AAA");
file.add(aClass);
@@ -24,13 +41,16 @@ public class AddClassToFileTest extends PsiTestCase{
VirtualFile root = PsiTestUtil.createTestProjectStructure(myProject, myModule, myFilesToDelete);
VirtualFile pkg = root.createChildDirectory(this, "foo");
PsiDirectory dir = myPsiManager.findDirectory(pkg);
assertNotNull(dir);
String text = "package foo;\n\nclass A {}";
PsiElement created = dir.add(PsiFileFactory.getInstance(getProject()).createFileFromText("A.java", text));
PsiElement created = dir.add(PsiFileFactory.getInstance(getProject()).createFileFromText("A.java", JavaFileType.INSTANCE, text));
VirtualFile virtualFile = created.getContainingFile().getVirtualFile();
assertNotNull(virtualFile);
String fileText = LoadTextUtil.loadText(virtualFile).toString();
assertEquals(text, fileText);
Document doc = FileDocumentManager.getInstance().getDocument(virtualFile);
assertNotNull(doc);
assertFalse(FileDocumentManager.getInstance().isDocumentUnsaved(doc));
assertFalse(FileDocumentManager.getInstance().isFileModified(virtualFile));
}
@@ -15,6 +15,7 @@
*/
package com.intellij.psi;
import com.intellij.ide.highlighter.JavaFileType;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.application.ex.PathManagerEx;
import com.intellij.openapi.diagnostic.Logger;
@@ -599,7 +600,7 @@ public class ClsRepositoryUseTest extends PsiTestCase {
"class Dummy {\n" +
" { Map<Integer, Integer> list = new HashMap<Integer, Integer>();}\n" +
"}";
PsiJavaFile file = (PsiJavaFile)PsiFileFactory.getInstance(getProject()).createFileFromText("Dummy.java", text);
PsiJavaFile file = (PsiJavaFile)PsiFileFactory.getInstance(getProject()).createFileFromText("Dummy.java", JavaFileType.INSTANCE, text);
PsiDeclarationStatement decl = (PsiDeclarationStatement)file.getClasses()[0].getInitializers()[0].getBody().getStatements()[0];
PsiVariable list = (PsiVariable)decl.getDeclaredElements()[0];
@@ -16,6 +16,7 @@
package com.intellij.psi.search;
import com.intellij.JavaTestUtil;
import com.intellij.ide.highlighter.JavaFileType;
import com.intellij.ide.impl.ProjectUtil;
import com.intellij.ide.todo.TodoConfiguration;
import com.intellij.openapi.application.ApplicationManager;
@@ -93,7 +94,7 @@ public class UpdateCacheTest extends PsiTestCase{
public void testFileCreation() throws Exception {
PsiDirectory root = ProjectRootUtil.getAllContentRoots(myProject) [0];
PsiFile file = PsiFileFactory.getInstance(myProject).createFileFromText("New.java", "class A{ Object o;}");
PsiFile file = PsiFileFactory.getInstance(myProject).createFileFromText("New.java", JavaFileType.INSTANCE, "class A{ Object o;}");
file = (PsiFile)root.add(file);
assertNotNull(file);
@@ -1,5 +1,5 @@
/*
* Copyright 2000-2009 JetBrains s.r.o.
* Copyright 2000-2012 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.
@@ -29,6 +29,7 @@ import com.intellij.codeInspection.InspectionToolProvider;
import com.intellij.codeInspection.LocalInspectionTool;
import com.intellij.codeInspection.ModifiableModel;
import com.intellij.codeInspection.ex.*;
import com.intellij.ide.highlighter.JavaFileType;
import com.intellij.ide.startup.StartupManagerEx;
import com.intellij.ide.startup.impl.StartupManagerImpl;
import com.intellij.lang.ExternalAnnotatorsFilter;
@@ -36,6 +37,7 @@ import com.intellij.lang.LanguageAnnotators;
import com.intellij.lang.StdLanguages;
import com.intellij.lang.annotation.HighlightSeverity;
import com.intellij.lang.injection.InjectedLanguageManager;
import com.intellij.lang.java.JavaLanguage;
import com.intellij.openapi.Disposable;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.application.Result;
@@ -53,10 +55,7 @@ import com.intellij.openapi.util.Disposer;
import com.intellij.openapi.util.Pair;
import com.intellij.openapi.util.TextRange;
import com.intellij.openapi.util.io.FileUtil;
import com.intellij.openapi.vfs.LocalFileSystem;
import com.intellij.openapi.vfs.VfsUtil;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.openapi.vfs.VirtualFileFilter;
import com.intellij.openapi.vfs.*;
import com.intellij.profile.codeInspection.InspectionProfileManager;
import com.intellij.profile.codeInspection.InspectionProjectProfileManager;
import com.intellij.psi.*;
@@ -172,9 +171,9 @@ public abstract class DaemonAnalyzerTestCase extends CodeInsightTestCase {
if (isPerformanceTest()) {
IntentionManager.getInstance().getAvailableIntentionActions(); // hack to avoid slowdowns in PyExtensionFactory
PathManagerEx.getTestDataPath(); // to cache stuff
ReferenceProvidersRegistry.getInstance(); // preload tons of classes
ReferenceProvidersRegistry.getInstance(); // pre-load tons of classes
InjectedLanguageManager.getInstance(getProject()); // zillion of Dom Sem classes
LanguageAnnotators.INSTANCE.allForLanguage(StdLanguages.JAVA); // pile of annotator classes loads
LanguageAnnotators.INSTANCE.allForLanguage(JavaLanguage.INSTANCE); // pile of annotator classes loads
LanguageAnnotators.INSTANCE.allForLanguage(StdLanguages.XML);
ProblemHighlightFilter.EP_NAME.getExtensions();
Extensions.getExtensions(ImplicitUsageProvider.EP_NAME);
@@ -445,12 +444,14 @@ public abstract class DaemonAnalyzerTestCase extends CodeInsightTestCase {
return new WriteCommandAction<PsiClass>(getProject()) {
@Override
protected void run(Result<PsiClass> result) throws Throwable {
final String qname =
((PsiJavaFile)PsiFileFactory.getInstance(getProject()).createFileFromText("a.java", text)).getClasses()[0].getQualifiedName();
final PsiFileFactory factory = PsiFileFactory.getInstance(getProject());
final PsiJavaFile javaFile = (PsiJavaFile)factory.createFileFromText("a.java", JavaFileType.INSTANCE, text);
final String qname = javaFile.getClasses()[0].getQualifiedName();
assertNotNull(qname);
final VirtualFile[] files = ModuleRootManager.getInstance(module).getSourceRoots();
File dir;
if (files.length > 0) {
dir = VfsUtil.virtualToIoFile(files[0]);
dir = VfsUtilCore.virtualToIoFile(files[0]);
}
else {
dir = createTempDirectory();
@@ -461,10 +462,12 @@ public abstract class DaemonAnalyzerTestCase extends CodeInsightTestCase {
File file = new File(dir, qname.replace('.', '/') + ".java");
FileUtil.createIfDoesntExist(file);
VirtualFile vFile =
LocalFileSystem.getInstance().refreshAndFindFileByPath(file.getCanonicalPath().replace(File.separatorChar, '/'));
VirtualFile vFile = LocalFileSystem.getInstance().refreshAndFindFileByPath(file.getCanonicalPath().replace(File.separatorChar, '/'));
assertNotNull(vFile);
VfsUtil.saveText(vFile, text);
PsiClass psiClass = ((PsiJavaFile)myPsiManager.findFile(vFile)).getClasses()[0];
PsiJavaFile psiFile = (PsiJavaFile)myPsiManager.findFile(vFile);
assertNotNull(psiFile);
PsiClass psiClass = psiFile.getClasses()[0];
result.setResult(psiClass);
}
@@ -1,5 +1,5 @@
/*
* Copyright 2000-2009 JetBrains s.r.o.
* Copyright 2000-2012 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.
@@ -19,6 +19,8 @@ import com.intellij.openapi.application.Result;
import com.intellij.openapi.application.WriteAction;
import com.intellij.openapi.application.ex.PathManagerEx;
import com.intellij.openapi.fileEditor.FileDocumentManager;
import com.intellij.openapi.fileTypes.FileType;
import com.intellij.openapi.fileTypes.FileTypeRegistry;
import com.intellij.openapi.module.Module;
import com.intellij.openapi.projectRoots.impl.JavaSdkImpl;
import com.intellij.openapi.roots.ModuleRootManager;
@@ -69,7 +71,8 @@ public abstract class PsiTestCase extends ModuleTestCase {
}
protected PsiFile createDummyFile(String fileName, String text) throws IncorrectOperationException {
return PsiFileFactory.getInstance(myProject).createFileFromText(fileName, text);
FileType type = FileTypeRegistry.getInstance().getFileTypeByFileName(fileName);
return PsiFileFactory.getInstance(myProject).createFileFromText(fileName, type, text);
}
protected PsiFile createFile(@NonNls String fileName, String text) throws Exception {
@@ -15,6 +15,7 @@
*/
package com.intellij.testFramework.fixtures.impl;
import com.intellij.ide.highlighter.JavaFileType;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.util.Computable;
import com.intellij.openapi.vfs.VirtualFile;
@@ -55,8 +56,9 @@ public class JavaCodeInsightTestFixtureImpl extends CodeInsightTestFixtureImpl i
final String qName =
ApplicationManager.getApplication().runReadAction(new Computable<String>() {
public String compute() {
final PsiClass aClass = ((PsiJavaFile)PsiFileFactory.getInstance(getProject()).createFileFromText("a.java", classText)).getClasses()[0];
return aClass.getQualifiedName();
final PsiFileFactory factory = PsiFileFactory.getInstance(getProject());
final PsiJavaFile javaFile = (PsiJavaFile)factory.createFileFromText("a.java", JavaFileType.INSTANCE, classText);
return javaFile.getClasses()[0].getQualifiedName();
}
});
assert qName != null;
@@ -1,5 +1,5 @@
/*
* Copyright 2000-2009 JetBrains s.r.o.
* Copyright 2000-2012 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.
@@ -13,10 +13,6 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/*
* @author max
*/
package com.intellij.psi;
import com.intellij.lang.Language;
@@ -28,8 +24,12 @@ import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
/**
* @author max
*/
public abstract class PsiFileFactory {
public static Key<PsiFile> ORIGINAL_FILE = Key.create("ORIGINAL_FILE");
public static PsiFileFactory getInstance(Project project) {
return ServiceManager.getService(project, PsiFileFactory.class);
}
@@ -37,13 +37,14 @@ public abstract class PsiFileFactory {
/**
* Please use {@link #createFileFromText(String, com.intellij.openapi.fileTypes.FileType, CharSequence)},
* since file type detecting by file extension becomes vulnerable when file type mappings are changed.
*
* <p/>
* Creates a file from the specified text.
*
* @param name the name of the file to create (the extension of the name determines the file type).
* @param text the text of the file to create.
* @return the created file.
* @throws com.intellij.util.IncorrectOperationException if the file type with specified extension is binary.
* @throws com.intellij.util.IncorrectOperationException
* if the file type with specified extension is binary.
*/
@Deprecated
@NotNull
@@ -54,11 +55,11 @@ public abstract class PsiFileFactory {
@NotNull
public abstract PsiFile createFileFromText(@NonNls @NotNull String name, @NotNull FileType fileType, @NotNull CharSequence text,
long modificationStamp, boolean physical);
long modificationStamp, boolean physical);
@NotNull
public abstract PsiFile createFileFromText(@NonNls @NotNull String name, @NotNull FileType fileType, @NotNull CharSequence text,
long modificationStamp, boolean physical, boolean markAsCopy);
long modificationStamp, boolean physical, boolean markAsCopy);
public abstract PsiFile createFileFromText(@NotNull String name, @NotNull Language language, @NotNull CharSequence text);
@@ -71,5 +72,5 @@ public abstract class PsiFileFactory {
public abstract PsiFile createFileFromText(FileType fileType, String fileName, CharSequence chars, int startOffset, int endOffset);
@Nullable
public abstract PsiFile createFileFromText(@NotNull CharSequence chars, @NotNull PsiFile original);
public abstract PsiFile createFileFromText(@NotNull CharSequence chars, @NotNull PsiFile original);
}
@@ -1,5 +1,5 @@
/*
* Copyright 2000-2009 JetBrains s.r.o.
* Copyright 2000-2012 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.
@@ -26,7 +26,9 @@ 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.fileTypes.FileType;
import com.intellij.openapi.fileTypes.FileTypeManager;
import com.intellij.openapi.fileTypes.FileTypeRegistry;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.util.text.StringUtil;
import com.intellij.openapi.vfs.VfsUtil;
@@ -160,7 +162,8 @@ public class CreateFileFix extends LocalQuickFixAndIntentionActionOnPsiElement {
String text = getFileText();
if (text != null) {
final PsiFile psiFile = PsiFileFactory.getInstance(project).createFileFromText("_" + newFileName, text);
final FileType type = FileTypeRegistry.getInstance().getFileTypeByFileName(newFileName);
final PsiFile psiFile = PsiFileFactory.getInstance(project).createFileFromText("_" + newFileName, type, text);
final PsiElement psiElement = CodeStyleManager.getInstance(project).reformat(psiFile);
text = psiElement.getText();
}
@@ -1,5 +1,5 @@
/*
* Copyright 2000-2009 JetBrains s.r.o.
* Copyright 2000-2012 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.
@@ -17,7 +17,9 @@
package com.intellij.ide.fileTemplates;
import com.intellij.ide.IdeBundle;
import com.intellij.openapi.fileTypes.FileType;
import com.intellij.openapi.fileTypes.FileTypeManager;
import com.intellij.openapi.fileTypes.FileTypeRegistry;
import com.intellij.openapi.project.Project;
import com.intellij.psi.PsiDirectory;
import com.intellij.psi.PsiElement;
@@ -46,7 +48,8 @@ public class DefaultCreateFromTemplateHandler implements CreateFromTemplateHandl
}
directory.checkCreateFile(fileName);
PsiFile file = PsiFileFactory.getInstance(project).createFileFromText(fileName, templateText);
FileType type = FileTypeRegistry.getInstance().getFileTypeByFileName(fileName);
PsiFile file = PsiFileFactory.getInstance(project).createFileFromText(fileName, type, templateText);
if (template.isReformatCode()) {
CodeStyleManager.getInstance(project).reformat(file);
@@ -788,7 +788,7 @@ public class PsiViewerDialog extends DialogWrapper implements DataProvider, Disp
final Language dialect = (Language)myDialectComboBox.getSelectedItem();
return PsiFileFactory.getInstance(myProject).createFileFromText("Dummy." + ext, dialect == null ? language : dialect, text);
}
return PsiFileFactory.getInstance(myProject).createFileFromText("Dummy." + ext, text);
return PsiFileFactory.getInstance(myProject).createFileFromText("Dummy." + ext, type, text);
}
}
catch (IncorrectOperationException e) {
@@ -1,5 +1,5 @@
/*
* Copyright 2000-2011 JetBrains s.r.o.
* Copyright 2000-2012 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.
@@ -234,7 +234,7 @@ public class TodoCheckinHandlerWorker {
private void checkEditedFragment(TodoItem newTodoItem) {
if (myBeforeFile == null) {
myBeforeFile = myPsiFileFactory.createFileFromText("old" + myAfterFile.getName(), myBeforeContent);
myBeforeFile = myPsiFileFactory.createFileFromText("old" + myAfterFile.getName(), myAfterFile.getFileType(), myBeforeContent);
}
if (myOldItems == null) {
final Collection<IndexPatternOccurrence> all =
@@ -1,5 +1,5 @@
/*
* Copyright 2000-2009 JetBrains s.r.o.
* Copyright 2000-2012 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.
@@ -33,11 +33,9 @@ public class PsiCommentManipulator extends AbstractElementManipulator<PsiComment
public PsiComment handleContentChange(PsiComment psiComment, TextRange range, String newContent) throws IncorrectOperationException {
String oldText = psiComment.getText();
String newText = oldText.substring(0, range.getStartOffset()) + newContent + oldText.substring(range.getEndOffset());
final FileType type = psiComment.getContainingFile().getFileType();
final PsiFile fromText =
PsiFileFactory.getInstance(psiComment.getProject()).createFileFromText("__." + type.getDefaultExtension(), newText);
final PsiComment newElement = PsiTreeUtil.getParentOfType(fromText.findElementAt(0), psiComment.getClass(), false);
FileType type = psiComment.getContainingFile().getFileType();
PsiFile fromText = PsiFileFactory.getInstance(psiComment.getProject()).createFileFromText("__." + type.getDefaultExtension(), type, newText);
PsiComment newElement = PsiTreeUtil.getParentOfType(fromText.findElementAt(0), psiComment.getClass(), false);
assert newElement != null;
return (PsiComment)psiComment.replace(newElement);
}
@@ -238,7 +238,7 @@ public class PsiTestUtil {
public static void checkFileStructure(PsiFile file) throws IncorrectOperationException {
String originalTree = DebugUtil.psiTreeToString(file, false);
PsiFile dummyFile = PsiFileFactory.getInstance(file.getProject()).createFileFromText(file.getName(), file.getText());
PsiFile dummyFile = PsiFileFactory.getInstance(file.getProject()).createFileFromText(file.getName(), file.getFileType(), file.getText());
String reparsedTree = DebugUtil.psiTreeToString(dummyFile, false);
Assert.assertEquals(reparsedTree, originalTree);
}