• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Java RefactoringFileBuffers类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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



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

示例1: addTextEditFromRewrite

import org.eclipse.jdt.internal.corext.refactoring.util.RefactoringFileBuffers; //导入依赖的package包/类
private static TextChange addTextEditFromRewrite(
    TextChangeManager manager, ICompilationUnit cu, ASTRewrite rewrite) throws CoreException {
  try {
    ITextFileBuffer buffer = RefactoringFileBuffers.acquire(cu);
    TextEdit resultingEdits =
        rewrite.rewriteAST(buffer.getDocument(), cu.getJavaProject().getOptions(true));
    TextChange textChange = manager.get(cu);
    if (textChange instanceof TextFileChange) {
      TextFileChange tfc = (TextFileChange) textChange;
      tfc.setSaveMode(TextFileChange.KEEP_SAVE_STATE);
    }
    String message = RefactoringCoreMessages.DeleteChangeCreator_1;
    TextChangeCompatibility.addTextEdit(textChange, message, resultingEdits);
    return textChange;
  } finally {
    RefactoringFileBuffers.release(cu);
  }
}
 
开发者ID:eclipse,项目名称:che,代码行数:19,代码来源:DeleteChangeCreator.java


示例2: addTextEditFromRewrite

import org.eclipse.jdt.internal.corext.refactoring.util.RefactoringFileBuffers; //导入依赖的package包/类
private static TextChange addTextEditFromRewrite(TextChangeManager manager, ICompilationUnit cu, ASTRewrite rewrite) throws CoreException {
	try {
		ITextFileBuffer buffer= RefactoringFileBuffers.acquire(cu);
		TextEdit resultingEdits= rewrite.rewriteAST(buffer.getDocument(), cu.getJavaProject().getOptions(true));
		TextChange textChange= manager.get(cu);
		if (textChange instanceof TextFileChange) {
			TextFileChange tfc= (TextFileChange) textChange;
			tfc.setSaveMode(TextFileChange.KEEP_SAVE_STATE);
		}
		String message= RefactoringCoreMessages.DeleteChangeCreator_1;
		TextChangeCompatibility.addTextEdit(textChange, message, resultingEdits);
		return textChange;
	} finally {
		RefactoringFileBuffers.release(cu);
	}
}
 
开发者ID:trylimits,项目名称:Eclipse-Postfix-Code-Completion,代码行数:17,代码来源:DeleteChangeCreator.java


示例3: CallInliner

import org.eclipse.jdt.internal.corext.refactoring.util.RefactoringFileBuffers; //导入依赖的package包/类
public CallInliner(ICompilationUnit unit, CompilationUnit targetAstRoot, SourceProvider provider)
    throws CoreException {
  super();
  fCUnit = unit;
  fBuffer = RefactoringFileBuffers.acquire(fCUnit);
  fSourceProvider = provider;
  fImportRewrite = StubUtility.createImportRewrite(targetAstRoot, true);
  fLocals = new ArrayList<VariableDeclarationStatement>(3);
  fRewrite = ASTRewrite.create(targetAstRoot.getAST());
  fRewrite.setTargetSourceRangeComputer(new NoCommentSourceRangeComputer());
  fTypeEnvironment = new TypeEnvironment();
}
 
开发者ID:eclipse,项目名称:che,代码行数:13,代码来源:CallInliner.java


示例4: dispose

import org.eclipse.jdt.internal.corext.refactoring.util.RefactoringFileBuffers; //导入依赖的package包/类
public void dispose() {
  try {
    RefactoringFileBuffers.release(fCUnit);
  } catch (CoreException exception) {
    JavaPlugin.log(exception);
  }
}
 
开发者ID:eclipse,项目名称:che,代码行数:8,代码来源:CallInliner.java


示例5: CallInliner

import org.eclipse.jdt.internal.corext.refactoring.util.RefactoringFileBuffers; //导入依赖的package包/类
public CallInliner(ICompilationUnit unit, CompilationUnit targetAstRoot, SourceProvider provider) throws CoreException {
	super();
	fCUnit= unit;
	fBuffer= RefactoringFileBuffers.acquire(fCUnit);
	fSourceProvider= provider;
	fImportRewrite= StubUtility.createImportRewrite(targetAstRoot, true);
	fLocals= new ArrayList<VariableDeclarationStatement>(3);
	fRewrite= ASTRewrite.create(targetAstRoot.getAST());
	fRewrite.setTargetSourceRangeComputer(new NoCommentSourceRangeComputer());
	fTypeEnvironment= new TypeEnvironment();
}
 
开发者ID:trylimits,项目名称:Eclipse-Postfix-Code-Completion,代码行数:12,代码来源:CallInliner.java


示例6: dispose

import org.eclipse.jdt.internal.corext.refactoring.util.RefactoringFileBuffers; //导入依赖的package包/类
public void dispose() {
	try {
		RefactoringFileBuffers.release(fCUnit);
	} catch (CoreException exception) {
		JavaPlugin.log(exception);
	}
}
 
开发者ID:trylimits,项目名称:Eclipse-Postfix-Code-Completion,代码行数:8,代码来源:CallInliner.java


示例7: createChange

import org.eclipse.jdt.internal.corext.refactoring.util.RefactoringFileBuffers; //导入依赖的package包/类
@Override
public Change createChange(IProgressMonitor pm) throws CoreException {
	ASTParser p= ASTParser.newParser(ASTProvider.SHARED_AST_LEVEL);
	p.setSource(getDestinationCu());
	CompilationUnit cuNode= (CompilationUnit) p.createAST(pm);
	ASTRewrite rewrite= ASTRewrite.create(cuNode.getAST());
	TypedSource source= null;
	for (int i= fSources.length - 1; i >= 0; i--) {
		source= fSources[i];
		final ASTNode destination= getDestinationNodeForSourceElement(fDestination, source.getType(), cuNode);
		if (destination != null) {
			if (destination instanceof CompilationUnit)
				insertToCu(rewrite, createNewNodeToInsertToCu(source, rewrite), (CompilationUnit) destination);
			else if (destination instanceof AbstractTypeDeclaration)
				insertToType(rewrite, createNewNodeToInsertToType(source, rewrite), (AbstractTypeDeclaration) destination);
		}
	}
	final CompilationUnitChange result= new CompilationUnitChange(ReorgMessages.PasteAction_change_name, getDestinationCu());
	try {
		ITextFileBuffer buffer= RefactoringFileBuffers.acquire(getDestinationCu());
		TextEdit rootEdit= rewrite.rewriteAST(buffer.getDocument(), fDestination.getJavaProject().getOptions(true));
		if (getDestinationCu().isWorkingCopy())
			result.setSaveMode(TextFileChange.LEAVE_DIRTY);
		TextChangeCompatibility.addTextEdit(result, ReorgMessages.PasteAction_edit_name, rootEdit);
	} finally {
		RefactoringFileBuffers.release(getDestinationCu());
	}
	return result;
}
 
开发者ID:trylimits,项目名称:Eclipse-Postfix-Code-Completion,代码行数:30,代码来源:PasteAction.java


示例8: replaceParameterWithExpression

import org.eclipse.jdt.internal.corext.refactoring.util.RefactoringFileBuffers; //导入依赖的package包/类
private void replaceParameterWithExpression(
    ASTRewrite rewriter, CallContext context, ImportRewrite importRewrite) throws CoreException {
  Expression[] arguments = context.arguments;
  try {
    ITextFileBuffer buffer = RefactoringFileBuffers.acquire(context.compilationUnit);
    for (int i = 0; i < arguments.length; i++) {
      Expression expression = arguments[i];
      String expressionString = null;
      if (expression instanceof SimpleName) {
        expressionString = ((SimpleName) expression).getIdentifier();
      } else {
        try {
          expressionString =
              buffer.getDocument().get(expression.getStartPosition(), expression.getLength());
        } catch (BadLocationException exception) {
          JavaPlugin.log(exception);
          continue;
        }
      }
      ParameterData parameter = getParameterData(i);
      List<SimpleName> references = parameter.references();
      for (Iterator<SimpleName> iter = references.iterator(); iter.hasNext(); ) {
        ASTNode element = iter.next();
        Expression newExpression =
            (Expression)
                rewriter.createStringPlaceholder(expressionString, expression.getNodeType());
        AST ast = rewriter.getAST();
        ITypeBinding explicitCast = ASTNodes.getExplicitCast(expression, (Expression) element);
        if (explicitCast != null) {
          CastExpression cast = ast.newCastExpression();
          if (NecessaryParenthesesChecker.needsParentheses(
              expression, cast, CastExpression.EXPRESSION_PROPERTY)) {
            newExpression = createParenthesizedExpression(newExpression, ast);
          }
          cast.setExpression(newExpression);
          ImportRewriteContext importRewriteContext =
              new ContextSensitiveImportRewriteContext(expression, importRewrite);
          cast.setType(importRewrite.addImport(explicitCast, ast, importRewriteContext));
          expression = newExpression = cast;
        }
        if (NecessaryParenthesesChecker.needsParentheses(
            expression, element.getParent(), element.getLocationInParent())) {
          newExpression = createParenthesizedExpression(newExpression, ast);
        }
        rewriter.replace(element, newExpression, null);
      }
    }
  } finally {
    RefactoringFileBuffers.release(context.compilationUnit);
  }
}
 
开发者ID:eclipse,项目名称:che,代码行数:52,代码来源:SourceProvider.java


示例9: replaceParameterWithExpression

import org.eclipse.jdt.internal.corext.refactoring.util.RefactoringFileBuffers; //导入依赖的package包/类
private void replaceParameterWithExpression(ASTRewrite rewriter, CallContext context, ImportRewrite importRewrite) throws CoreException {
	Expression[] arguments= context.arguments;
	try {
		ITextFileBuffer buffer= RefactoringFileBuffers.acquire(context.compilationUnit);
		for (int i= 0; i < arguments.length; i++) {
			Expression expression= arguments[i];
			String expressionString= null;
			if (expression instanceof SimpleName) {
				expressionString= ((SimpleName)expression).getIdentifier();
			} else {
				try {
					expressionString= buffer.getDocument().get(expression.getStartPosition(), expression.getLength());
				} catch (BadLocationException exception) {
					JavaPlugin.log(exception);
					continue;
				}
			}
			ParameterData parameter= getParameterData(i);
			List<SimpleName> references= parameter.references();
			for (Iterator<SimpleName> iter= references.iterator(); iter.hasNext();) {
				ASTNode element= iter.next();
				Expression newExpression= (Expression)rewriter.createStringPlaceholder(expressionString, expression.getNodeType());
				AST ast= rewriter.getAST();
				ITypeBinding explicitCast= ASTNodes.getExplicitCast(expression, (Expression)element);
				if (explicitCast != null) {
					CastExpression cast= ast.newCastExpression();
					if (NecessaryParenthesesChecker.needsParentheses(expression, cast, CastExpression.EXPRESSION_PROPERTY)) {
						newExpression= createParenthesizedExpression(newExpression, ast);
					}
					cast.setExpression(newExpression);
					ImportRewriteContext importRewriteContext= new ContextSensitiveImportRewriteContext(expression, importRewrite);
					cast.setType(importRewrite.addImport(explicitCast, ast, importRewriteContext));
					expression= newExpression= cast;
				}
				if (NecessaryParenthesesChecker.needsParentheses(expression, element.getParent(), element.getLocationInParent())) {
					newExpression= createParenthesizedExpression(newExpression, ast);
				}
				rewriter.replace(element, newExpression, null);
			}
		}
	} finally {
		RefactoringFileBuffers.release(context.compilationUnit);
	}
}
 
开发者ID:trylimits,项目名称:Eclipse-Postfix-Code-Completion,代码行数:45,代码来源:SourceProvider.java



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java ConstantClass类代码示例发布时间:2022-05-16
下一篇:
Java Identifier类代码示例发布时间:2022-05-16
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap