当前位置: 首页>>代码示例>>Java>>正文


Java RenameProcessor类代码示例

本文整理汇总了Java中com.intellij.refactoring.rename.RenameProcessor的典型用法代码示例。如果您正苦于以下问题:Java RenameProcessor类的具体用法?Java RenameProcessor怎么用?Java RenameProcessor使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


RenameProcessor类属于com.intellij.refactoring.rename包,在下文中一共展示了RenameProcessor类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: testRenameImportedProtoAtCaretPosition

import com.intellij.refactoring.rename.RenameProcessor; //导入依赖的package包/类
public void testRenameImportedProtoAtCaretPosition() {
    PsiFile[] files = myFixture.configureByFiles(
            "rename/import/import.proto",
            "rename/import/source.proto"
    );

    PsiElement elementAtCaret = myFixture.getElementAtCaret();
    Project project = myFixture.getProject();
    RenameProcessor processor = new RenameProcessor(project, elementAtCaret, "renamed.proto", false, false);
    for (AutomaticRenamerFactory factory : Extensions.getExtensions(AutomaticRenamerFactory.EP_NAME)) {
        processor.addRenamerFactory(factory);
    }
    processor.run();

    Assert.assertEquals("renamed.proto", files[0].getName());
    Assert.assertEquals("import \"rename/import/renamed.proto\";",
            ((ProtoPsiFileRoot) files[1]).getProtoRoot().getImports().get(0).getText());
}
 
开发者ID:protostuff,项目名称:protobuf-jetbrains-plugin,代码行数:19,代码来源:RenameImportedProtoTest.java

示例2: doAutomaticRenameMethod

import com.intellij.refactoring.rename.RenameProcessor; //导入依赖的package包/类
private void doAutomaticRenameMethod(final String className, final String methodSignature, final String newName) throws Exception {
  doTest((rootDir, rootAfter) -> {
    final JavaPsiFacade manager = getJavaFacade();
    final PsiClass aClass = manager.findClass(className, GlobalSearchScope.moduleScope(myModule));
    assertNotNull(aClass);
    final PsiMethod methodBySignature = aClass.findMethodBySignature(manager.getElementFactory().createMethodFromText(
      methodSignature + "{}", null), false);
    assertNotNull(methodBySignature);

    final RenameProcessor processor = new RenameProcessor(myProject, methodBySignature, newName, false, false);
    for (AutomaticRenamerFactory factory : Extensions.getExtensions(AutomaticRenamerFactory.EP_NAME)) {
      processor.addRenamerFactory(factory);
    }
    processor.run();
    PsiDocumentManager.getInstance(myProject).commitAllDocuments();
    FileDocumentManager.getInstance().saveAllDocuments();
  });
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:19,代码来源:RenameMethodMultiTest.java

示例3: invoke

import com.intellij.refactoring.rename.RenameProcessor; //导入依赖的package包/类
@Override
public void invoke(@NotNull final Project project,
                   @NotNull final PsiFile file,
                   @Nullable("is null when called from inspection") Editor editor,
                   @NotNull final PsiElement startElement,
                   @NotNull PsiElement endElement) {
  if (isAvailable(project, null, file)) {
    new WriteCommandAction(project) {
      @Override
      protected void run(@NotNull Result result) throws Throwable {
        LOG.assertTrue(file == startElement.getContainingFile());
        if (!FileModificationService.getInstance().prepareFileForWrite(file)) return;
        RenameProcessor processor = new RenameProcessor(project, startElement, myNewName, false, false);
        processor.run();
      }
    }.execute();
  }
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:19,代码来源:RenameElementFix.java

示例4: applyFix

import com.intellij.refactoring.rename.RenameProcessor; //导入依赖的package包/类
@Override
public void applyFix(@NotNull Project project, @NotNull ProblemDescriptor descriptor) {
  PsiElement element = descriptor.getPsiElement();
  if (element instanceof PyReferenceExpression) {
    final PsiReference reference = element.getReference();
    if (reference == null) return;
    element = reference.resolve();
  }
  if (element instanceof PyTargetExpression) {
    final String name = ((PyTargetExpression)element).getName();
    if (name == null) return;
    final VirtualFile virtualFile = element.getContainingFile().getVirtualFile();
    if (virtualFile != null) {
      final String publicName = StringUtil.trimLeading(name, '_');
      new RenameProcessor(project, element, publicName, false, false).run();
    }
  }
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:19,代码来源:PyMakePublicQuickFix.java

示例5: collectRefElements

import com.intellij.refactoring.rename.RenameProcessor; //导入依赖的package包/类
@Override
public void collectRefElements(PsiElement psiElement,
                               @Nullable RenameProcessor renameProcessor,
                               @NotNull String newName,
                               Collection<PsiElement> elementsToInvert) {
  final Collection<PsiReference> refs = ReferencesSearch.search(psiElement).findAll();

  for (PsiReference ref : refs) {
    final PsiElement refElement = ref.getElement();
    final PsiElement elementToInvert = getElementToInvert(psiElement, refElement);
    if (elementToInvert != null) {
      elementsToInvert.add(elementToInvert);
    }
    else {
      ContainerUtil.addIfNotNull(elementsToInvert, getForeignElementToInvert(psiElement, refElement, PythonLanguage.getInstance()));
    }
  }
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:19,代码来源:PyInvertBooleanDelegate.java

示例6: testRenameJavaClass

import com.intellij.refactoring.rename.RenameProcessor; //导入依赖的package包/类
@Test
public void testRenameJavaClass() {
  PsiJavaFile javaFile =
      (PsiJavaFile)
          workspace.createPsiFile(
              new WorkspacePath("com/google/foo/JavaClass.java"),
              "package com.google.foo;",
              "public class JavaClass {}");

  BuildFile buildFile =
      createBuildFile(
          new WorkspacePath("com/google/foo/BUILD"),
          "java_library(name = \"ref2\", srcs = [\"JavaClass.java\"])");

  new RenameProcessor(getProject(), javaFile.getClasses()[0], "NewName", false, false).run();

  assertFileContents(buildFile, "java_library(name = \"ref2\", srcs = [\"NewName.java\"])");
}
 
开发者ID:bazelbuild,项目名称:intellij,代码行数:19,代码来源:JavaClassRenameTest.java

示例7: doTest

import com.intellij.refactoring.rename.RenameProcessor; //导入依赖的package包/类
private void doTest(final String className, final String methodSignature, final String newName) throws Exception {
  doTest(new PerformAction() {
    @Override
    public void performAction(VirtualFile rootDir, VirtualFile rootAfter) throws Exception {
      final JavaPsiFacade manager = getJavaFacade();
      final PsiClass aClass = manager.findClass(className, GlobalSearchScope.moduleScope(myModule));
      assertNotNull(aClass);
      final PsiMethod methodBySignature = aClass.findMethodBySignature(manager.getElementFactory().createMethodFromText(
                methodSignature + "{}", null), false);
      assertNotNull(methodBySignature);
      final RenameProcessor renameProcessor = new RenameProcessor(myProject, methodBySignature, newName, false, false);
      renameProcessor.run();
      FileDocumentManager.getInstance().saveAllDocuments();
    }
  });
}
 
开发者ID:lshain-android-source,项目名称:tools-idea,代码行数:17,代码来源:RenameMethodMultiTest.java

示例8: doRenameClass

import com.intellij.refactoring.rename.RenameProcessor; //导入依赖的package包/类
private void doRenameClass(final String className, final String newName) throws Exception {
  doTest(new PerformAction() {
    @Override
    public void performAction(VirtualFile rootDir, VirtualFile rootAfter) throws Exception {
      PsiClass aClass = myJavaFacade.findClass(className, GlobalSearchScope.allScope(getProject()));
      assertNotNull("Class XX not found", aClass);

      final RenameProcessor processor = new RenameProcessor(myProject, aClass, newName, true, true);
      for (AutomaticRenamerFactory factory : Extensions.getExtensions(AutomaticRenamerFactory.EP_NAME)) {
        processor.addRenamerFactory(factory);
      }
      processor.run();
      PsiDocumentManager.getInstance(myProject).commitAllDocuments();
      FileDocumentManager.getInstance().saveAllDocuments();
    }
  });
}
 
开发者ID:lshain-android-source,项目名称:tools-idea,代码行数:18,代码来源:RenameClassTest.java

示例9: performRenameInner

import com.intellij.refactoring.rename.RenameProcessor; //导入依赖的package包/类
protected void performRenameInner(PsiElement element, String newName) {
  final RenamePsiElementProcessor elementProcessor = RenamePsiElementProcessor.forElement(element);
  final RenameProcessor
    renameProcessor = new RenameProcessor(myProject, element, newName,
                                          elementProcessor.isToSearchInComments(element),
                                          elementProcessor.isToSearchForTextOccurrences(element)){
    @Override
    public void doRun() {
      try {
        super.doRun();
      }
      finally {
        restoreCaretOffsetAfterRename();
      }
    }
  };
  for (AutomaticRenamerFactory factory : Extensions.getExtensions(AutomaticRenamerFactory.EP_NAME)) {
    if (factory.getOptionName() != null && factory.isApplicable(element)) {
      renameProcessor.addRenamerFactory(factory);
    }
  }
  renameProcessor.run();
}
 
开发者ID:lshain-android-source,项目名称:tools-idea,代码行数:24,代码来源:MemberInplaceRenamer.java

示例10: rename

import com.intellij.refactoring.rename.RenameProcessor; //导入依赖的package包/类
private void rename(final PsiElement psiElement, final String newName) {
  new WriteCommandAction(myProject, psiElement.getContainingFile()) {
    @Override
    protected void run(@NotNull Result result) throws Throwable {
      new RenameProcessor(myProject, psiElement, newName, false, false).run();
    }
  }.executeSilently();
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:9,代码来源:ConfigurationRefactoringsTest.java

示例11: renamePackage

import com.intellij.refactoring.rename.RenameProcessor; //导入依赖的package包/类
private void renamePackage(String packageName, String newPackageName) throws Exception {
  PsiPackage aPackage = JavaPsiFacade.getInstance(myPsiManager.getProject()).findPackage(packageName);
  assertNotNull("Package " + packageName + " not found", aPackage);

  //PsiDirectory dir = aPackage.getDirectories()[0];
  //to rename dir with classes move is used
  new RenameProcessor(myProject, aPackage, newPackageName, true, true).run();
  FileDocumentManager.getInstance().saveAllDocuments();
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:10,代码来源:SrcRepositoryUseTest.java

示例12: renamePackage

import com.intellij.refactoring.rename.RenameProcessor; //导入依赖的package包/类
private void renamePackage() {
  Runnable runnable = new Runnable() {
    @Override
    public void run() {
      PsiPackage aPackage = JavaPsiFacade.getInstance(myPsiManager.getProject()).findPackage("bla");
      assertNotNull("Package bla not found", aPackage);

      PsiDirectory dir = aPackage.getDirectories()[0];
      new RenameProcessor(myProject, dir, "anotherBla", true, true).run();
      FileDocumentManager.getInstance().saveAllDocuments();
    }
  };
  CommandProcessor.getInstance().executeCommand(myProject, runnable,  "", null);
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:15,代码来源:ArrayIndexOutOfBoundsTest.java

示例13: doTest

import com.intellij.refactoring.rename.RenameProcessor; //导入依赖的package包/类
private void doTest(final String newName) throws Exception {
  configureByFile(BASE_PATH + getTestName(false) + ".java");
  PsiElement element = TargetElementUtil
      .findTargetElement(myEditor, TargetElementUtil.ELEMENT_NAME_ACCEPTED | TargetElementUtil.REFERENCED_ELEMENT_ACCEPTED);
  assertNotNull(element);
  new RenameProcessor(getProject(), element, newName, true, true).run();
  checkResultByFile(BASE_PATH + getTestName(false) + ".java.after");
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:9,代码来源:RenameCollisionsTest.java

示例14: doTest

import com.intellij.refactoring.rename.RenameProcessor; //导入依赖的package包/类
private void doTest(final String newName) throws Exception {
  configureByFile(BASE_PATH + getTestName(false) + ".java");
  PsiElement element = TargetElementUtil
    .findTargetElement(myEditor, TargetElementUtil.ELEMENT_NAME_ACCEPTED | TargetElementUtil.REFERENCED_ELEMENT_ACCEPTED);
  assertNotNull(element);
  new RenameProcessor(getProject(), element, newName, true, true).run();
  checkResultByFile(BASE_PATH + getTestName(false) + "_after.java");
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:9,代码来源:RenameLocalTest.java

示例15: doTest

import com.intellij.refactoring.rename.RenameProcessor; //导入依赖的package包/类
private void doTest(final String className, final String methodSignature, final String newName) throws Exception {
  doTest((rootDir, rootAfter) -> {
    final JavaPsiFacade manager = getJavaFacade();
    final PsiClass aClass = manager.findClass(className, GlobalSearchScope.moduleScope(myModule));
    assertNotNull(aClass);
    final PsiMethod methodBySignature = aClass.findMethodBySignature(manager.getElementFactory().createMethodFromText(
              methodSignature + "{}", null), false);
    assertNotNull(methodBySignature);
    final RenameProcessor renameProcessor = new RenameProcessor(myProject, methodBySignature, newName, false, false);
    renameProcessor.run();
    FileDocumentManager.getInstance().saveAllDocuments();
  });
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:14,代码来源:RenameMethodMultiTest.java


注:本文中的com.intellij.refactoring.rename.RenameProcessor类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。