本文整理汇总了Java中org.eclipse.jdt.internal.corext.refactoring.structure.ASTNodeSearchUtil类的典型用法代码示例。如果您正苦于以下问题:Java ASTNodeSearchUtil类的具体用法?Java ASTNodeSearchUtil怎么用?Java ASTNodeSearchUtil使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
ASTNodeSearchUtil类属于org.eclipse.jdt.internal.corext.refactoring.structure包,在下文中一共展示了ASTNodeSearchUtil类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: getEnhancedForStatements
import org.eclipse.jdt.internal.corext.refactoring.structure.ASTNodeSearchUtil; //导入依赖的package包/类
private static Set<EnhancedForStatement> getEnhancedForStatements(IMethod method, IProgressMonitor pm)
throws JavaModelException {
ICompilationUnit iCompilationUnit = method.getCompilationUnit();
// get the ASTParser of the method
CompilationUnit compilationUnit = RefactoringASTParser.parseWithASTProvider(iCompilationUnit, true,
new SubProgressMonitor(pm, 1));
// get the method declaration ASTNode.
MethodDeclaration methodDeclarationNode = ASTNodeSearchUtil.getMethodDeclarationNode(method, compilationUnit);
final Set<EnhancedForStatement> statements = new LinkedHashSet<EnhancedForStatement>();
// extract all enhanced for loop statements in the method.
methodDeclarationNode.accept(new ASTVisitor() {
@Override
public boolean visit(EnhancedForStatement node) {
statements.add(node);
return super.visit(node);
}
});
return statements;
}
开发者ID:mdarefin,项目名称:Convert-For-Each-Loop-to-Lambda-Expression-Eclipse-Plugin,代码行数:25,代码来源:ForeachLoopToLambdaRefactoring.java
示例2: copyImportsToDestination
import org.eclipse.jdt.internal.corext.refactoring.structure.ASTNodeSearchUtil; //导入依赖的package包/类
private void copyImportsToDestination(
IImportContainer container,
ASTRewrite rewrite,
CompilationUnit sourceCuNode,
CompilationUnit destinationCuNode)
throws JavaModelException {
ListRewrite listRewrite =
rewrite.getListRewrite(destinationCuNode, CompilationUnit.IMPORTS_PROPERTY);
IJavaElement[] importDeclarations = container.getChildren();
for (int i = 0; i < importDeclarations.length; i++) {
IImportDeclaration declaration = (IImportDeclaration) importDeclarations[i];
ImportDeclaration sourceNode =
ASTNodeSearchUtil.getImportDeclarationNode(declaration, sourceCuNode);
ImportDeclaration copiedNode =
(ImportDeclaration) ASTNode.copySubtree(rewrite.getAST(), sourceNode);
if (getLocation() == IReorgDestination.LOCATION_BEFORE) {
listRewrite.insertFirst(copiedNode, null);
} else {
listRewrite.insertLast(copiedNode, null);
}
}
}
开发者ID:eclipse,项目名称:che,代码行数:26,代码来源:ReorgPolicyFactory.java
示例3: copyImportToDestination
import org.eclipse.jdt.internal.corext.refactoring.structure.ASTNodeSearchUtil; //导入依赖的package包/类
private void copyImportToDestination(
IImportDeclaration declaration,
ASTRewrite targetRewrite,
CompilationUnit sourceCuNode,
CompilationUnit destinationCuNode)
throws JavaModelException {
ImportDeclaration sourceNode =
ASTNodeSearchUtil.getImportDeclarationNode(declaration, sourceCuNode);
ImportDeclaration copiedNode =
(ImportDeclaration) ASTNode.copySubtree(targetRewrite.getAST(), sourceNode);
ListRewrite listRewrite =
targetRewrite.getListRewrite(destinationCuNode, CompilationUnit.IMPORTS_PROPERTY);
if (getJavaElementDestination() instanceof IImportDeclaration) {
ImportDeclaration destinationNode =
ASTNodeSearchUtil.getImportDeclarationNode(
(IImportDeclaration) getJavaElementDestination(), destinationCuNode);
insertRelative(copiedNode, destinationNode, listRewrite);
} else {
// dropped on container, we could be better here
listRewrite.insertLast(copiedNode, null);
}
}
开发者ID:eclipse,项目名称:che,代码行数:24,代码来源:ReorgPolicyFactory.java
示例4: performFirstPass
import org.eclipse.jdt.internal.corext.refactoring.structure.ASTNodeSearchUtil; //导入依赖的package包/类
/**
* Performs the first pass of processing the affected compilation units.
*
* @param creator
* the constraints creator to use
* @param units
* the compilation unit map (element type:
* <code><IJavaProject, Set<ICompilationUnit>></code>)
* @param groups
* the search result group map (element type:
* <code><ICompilationUnit, SearchResultGroup></code>)
* @param unit
* the compilation unit of the subtype
* @param node
* the compilation unit node of the subtype
* @param monitor
* the progress monitor to use
*/
protected final void performFirstPass(final SuperTypeConstraintsCreator creator, final Map<IJavaProject, Set<ICompilationUnit>> units, final Map<ICompilationUnit, SearchResultGroup> groups, final ICompilationUnit unit, final CompilationUnit node, final IProgressMonitor monitor) {
try {
monitor.beginTask("", 100); //$NON-NLS-1$
monitor.setTaskName(RefactoringCoreMessages.SuperTypeRefactoringProcessor_creating);
node.accept(creator);
monitor.worked(20);
final SearchResultGroup group= groups.get(unit);
if (group != null) {
final ASTNode[] nodes= ASTNodeSearchUtil.getAstNodes(group.getSearchResults(), node);
try {
getMethodReferencingCompilationUnits(units, nodes);
monitor.worked(40);
getFieldReferencingCompilationUnits(units, nodes);
monitor.worked(40);
} catch (JavaModelException exception) {
JavaPlugin.log(exception);
}
}
} finally {
monitor.done();
}
}
开发者ID:trylimits,项目名称:Eclipse-Postfix-Code-Completion,代码行数:41,代码来源:SuperTypeRefactoringProcessor.java
示例5: copyImportsToDestination
import org.eclipse.jdt.internal.corext.refactoring.structure.ASTNodeSearchUtil; //导入依赖的package包/类
private void copyImportsToDestination(IImportContainer container, ASTRewrite rewrite, CompilationUnit sourceCuNode, CompilationUnit destinationCuNode) throws JavaModelException {
ListRewrite listRewrite= rewrite.getListRewrite(destinationCuNode, CompilationUnit.IMPORTS_PROPERTY);
IJavaElement[] importDeclarations= container.getChildren();
for (int i= 0; i < importDeclarations.length; i++) {
IImportDeclaration declaration= (IImportDeclaration) importDeclarations[i];
ImportDeclaration sourceNode= ASTNodeSearchUtil.getImportDeclarationNode(declaration, sourceCuNode);
ImportDeclaration copiedNode= (ImportDeclaration) ASTNode.copySubtree(rewrite.getAST(), sourceNode);
if (getLocation() == IReorgDestination.LOCATION_BEFORE) {
listRewrite.insertFirst(copiedNode, null);
} else {
listRewrite.insertLast(copiedNode, null);
}
}
}
开发者ID:trylimits,项目名称:Eclipse-Postfix-Code-Completion,代码行数:18,代码来源:ReorgPolicyFactory.java
示例6: getDestinationNode
import org.eclipse.jdt.internal.corext.refactoring.structure.ASTNodeSearchUtil; //导入依赖的package包/类
private ASTNode getDestinationNode(IJavaElement destination, CompilationUnit target) throws JavaModelException {
switch (destination.getElementType()) {
case IJavaElement.INITIALIZER:
return ASTNodeSearchUtil.getInitializerNode((IInitializer) destination, target);
case IJavaElement.FIELD:
return ASTNodeSearchUtil.getFieldOrEnumConstantDeclaration((IField) destination, target);
case IJavaElement.METHOD:
return ASTNodeSearchUtil.getMethodOrAnnotationTypeMemberDeclarationNode((IMethod) destination, target);
case IJavaElement.TYPE:
IType typeDestination= (IType) destination;
if (typeDestination.isAnonymous()) {
return ASTNodeSearchUtil.getClassInstanceCreationNode(typeDestination, target).getAnonymousClassDeclaration();
} else {
return ASTNodeSearchUtil.getAbstractTypeDeclarationNode(typeDestination, target);
}
case IJavaElement.COMPILATION_UNIT:
IType mainType= JavaElementUtil.getMainType((ICompilationUnit) destination);
if (mainType != null) {
return ASTNodeSearchUtil.getAbstractTypeDeclarationNode(mainType, target);
}
//$FALL-THROUGH$
default:
return null;
}
}
开发者ID:trylimits,项目名称:Eclipse-Postfix-Code-Completion,代码行数:26,代码来源:ReorgPolicyFactory.java
示例7: getFieldSource
import org.eclipse.jdt.internal.corext.refactoring.structure.ASTNodeSearchUtil; //导入依赖的package包/类
private static String getFieldSource(IField field, SourceTuple tuple) throws CoreException {
if (Flags.isEnum(field.getFlags())) {
String source= field.getSource();
if (source != null)
return source;
} else {
if (tuple.node == null) {
ASTParser parser= ASTParser.newParser(ASTProvider.SHARED_AST_LEVEL);
parser.setSource(tuple.unit);
tuple.node= (CompilationUnit) parser.createAST(null);
}
FieldDeclaration declaration= ASTNodeSearchUtil.getFieldDeclarationNode(field, tuple.node);
if (declaration.fragments().size() == 1)
return getSourceOfDeclararationNode(field, tuple.unit);
VariableDeclarationFragment declarationFragment= ASTNodeSearchUtil.getFieldDeclarationFragmentNode(field, tuple.node);
IBuffer buffer= tuple.unit.getBuffer();
StringBuffer buff= new StringBuffer();
buff.append(buffer.getText(declaration.getStartPosition(), ((ASTNode) declaration.fragments().get(0)).getStartPosition() - declaration.getStartPosition()));
buff.append(buffer.getText(declarationFragment.getStartPosition(), declarationFragment.getLength()));
buff.append(";"); //$NON-NLS-1$
return buff.toString();
}
return ""; //$NON-NLS-1$
}
开发者ID:trylimits,项目名称:Eclipse-Postfix-Code-Completion,代码行数:25,代码来源:TypedSource.java
示例8: AddDelegateMethodsContentProvider
import org.eclipse.jdt.internal.corext.refactoring.structure.ASTNodeSearchUtil; //导入依赖的package包/类
AddDelegateMethodsContentProvider(CompilationUnit astRoot, IType type, IField[] fields) throws JavaModelException {
final ITypeBinding binding= ASTNodes.getTypeBinding(astRoot, type);
if (binding != null) {
fDelegateEntries= StubUtility2.getDelegatableMethods(binding);
List<IVariableBinding> expanded= new ArrayList<IVariableBinding>();
for (int index= 0; index < fields.length; index++) {
VariableDeclarationFragment fragment= ASTNodeSearchUtil.getFieldDeclarationFragmentNode(fields[index], astRoot);
if (fragment != null) {
IVariableBinding variableBinding= fragment.resolveBinding();
if (variableBinding != null)
expanded.add(variableBinding);
}
}
fExpanded= expanded.toArray(new IVariableBinding[expanded.size()]);
}
}
开发者ID:trylimits,项目名称:Eclipse-Postfix-Code-Completion,代码行数:19,代码来源:AddDelegateMethodsAction.java
示例9: getRealMethodDeclarationNode
import org.eclipse.jdt.internal.corext.refactoring.structure.ASTNodeSearchUtil; //导入依赖的package包/类
public static org.eclipse.jdt.core.dom.MethodDeclaration getRealMethodDeclarationNode(org.eclipse.jdt.core.IMethod sourceMethod, org.eclipse.jdt.core.dom.CompilationUnit cuUnit) throws JavaModelException {
MethodDeclaration methodDeclarationNode = ASTNodeSearchUtil.getMethodDeclarationNode(sourceMethod, cuUnit);
if (isGenerated(methodDeclarationNode)) {
IType declaringType = sourceMethod.getDeclaringType();
Stack<IType> typeStack = new Stack<IType>();
while (declaringType != null) {
typeStack.push(declaringType);
declaringType = declaringType.getDeclaringType();
}
IType rootType = typeStack.pop();
org.eclipse.jdt.core.dom.AbstractTypeDeclaration typeDeclaration = findTypeDeclaration(rootType, cuUnit.types());
while (!typeStack.isEmpty() && typeDeclaration != null) {
typeDeclaration = findTypeDeclaration(typeStack.pop(), typeDeclaration.bodyDeclarations());
}
if (typeStack.isEmpty() && typeDeclaration != null) {
String methodName = sourceMethod.getElementName();
for (Object declaration : typeDeclaration.bodyDeclarations()) {
if (declaration instanceof org.eclipse.jdt.core.dom.MethodDeclaration) {
org.eclipse.jdt.core.dom.MethodDeclaration methodDeclaration = (org.eclipse.jdt.core.dom.MethodDeclaration) declaration;
if (methodDeclaration.getName().toString().equals(methodName)) {
return methodDeclaration;
}
}
}
}
}
return methodDeclarationNode;
}
开发者ID:git03394538,项目名称:lombok-ianchiu,代码行数:31,代码来源:PatchFixesHider.java
示例10: getMethodDeclaration
import org.eclipse.jdt.internal.corext.refactoring.structure.ASTNodeSearchUtil; //导入依赖的package包/类
private MethodDeclaration getMethodDeclaration(IMethod method, Optional<IProgressMonitor> pm)
throws JavaModelException {
ITypeRoot root = method.getCompilationUnit();
CompilationUnit unit = this.getCompilationUnit(root,
new SubProgressMonitor(pm.orElseGet(NullProgressMonitor::new), IProgressMonitor.UNKNOWN));
MethodDeclaration declaration = ASTNodeSearchUtil.getMethodDeclarationNode(method, unit);
return declaration;
}
开发者ID:ponder-lab,项目名称:Migrate-Skeletal-Implementation-to-Interface-Refactoring,代码行数:9,代码来源:MigrateSkeletalImplementationToInterfaceRefactoringProcessor.java
示例11: resolveMethodBinding
import org.eclipse.jdt.internal.corext.refactoring.structure.ASTNodeSearchUtil; //导入依赖的package包/类
private IMethodBinding resolveMethodBinding(IMethod method, Optional<IProgressMonitor> monitor)
throws JavaModelException {
MethodDeclaration methodDeclarationNode = ASTNodeSearchUtil.getMethodDeclarationNode(method,
getCompilationUnit(method.getTypeRoot(),
new SubProgressMonitor(monitor.orElseGet(NullProgressMonitor::new), IProgressMonitor.UNKNOWN)));
if (methodDeclarationNode != null)
return methodDeclarationNode.resolveBinding();
else
return null;
}
开发者ID:ponder-lab,项目名称:Migrate-Skeletal-Implementation-to-Interface-Refactoring,代码行数:12,代码来源:MigrateSkeletalImplementationToInterfaceRefactoringProcessor.java
示例12: resolveReturnTypeBinding
import org.eclipse.jdt.internal.corext.refactoring.structure.ASTNodeSearchUtil; //导入依赖的package包/类
private ITypeBinding resolveReturnTypeBinding(IMethod method, Optional<IProgressMonitor> monitor)
throws JavaModelException {
MethodDeclaration methodDeclarationNode = ASTNodeSearchUtil.getMethodDeclarationNode(method,
getCompilationUnit(method.getTypeRoot(),
new SubProgressMonitor(monitor.orElseGet(NullProgressMonitor::new), IProgressMonitor.UNKNOWN)));
if (methodDeclarationNode != null) {
Type returnType = methodDeclarationNode.getReturnType2();
return returnType.resolveBinding();
} else
return null;
}
开发者ID:ponder-lab,项目名称:Migrate-Skeletal-Implementation-to-Interface-Refactoring,代码行数:13,代码来源:MigrateSkeletalImplementationToInterfaceRefactoringProcessor.java
示例13: addDeclarationUpdate
import org.eclipse.jdt.internal.corext.refactoring.structure.ASTNodeSearchUtil; //导入依赖的package包/类
private void addDeclarationUpdate(TextChangeManager manager) throws CoreException {
if (getDelegateUpdating()) {
// create the delegate
CompilationUnitRewrite rewrite = new CompilationUnitRewrite(getDeclaringCU());
rewrite.setResolveBindings(true);
MethodDeclaration methodDeclaration =
ASTNodeSearchUtil.getMethodDeclarationNode(getMethod(), rewrite.getRoot());
DelegateMethodCreator creator = new DelegateMethodCreator();
creator.setDeclaration(methodDeclaration);
creator.setDeclareDeprecated(getDeprecateDelegates());
creator.setSourceRewrite(rewrite);
creator.setCopy(true);
creator.setNewElementName(getNewElementName());
creator.prepareDelegate();
creator.createEdit();
CompilationUnitChange cuChange = rewrite.createChange(true);
if (cuChange != null) {
cuChange.setKeepPreviewEdits(true);
manager.manage(getDeclaringCU(), cuChange);
}
}
String editName = RefactoringCoreMessages.RenameMethodRefactoring_update_declaration;
ISourceRange nameRange = getMethod().getNameRange();
ReplaceEdit replaceEdit =
new ReplaceEdit(nameRange.getOffset(), nameRange.getLength(), getNewElementName());
addTextEdit(manager.get(getDeclaringCU()), editName, replaceEdit);
}
开发者ID:eclipse,项目名称:che,代码行数:30,代码来源:RenameNonVirtualMethodProcessor.java
示例14: addMethodDelegate
import org.eclipse.jdt.internal.corext.refactoring.structure.ASTNodeSearchUtil; //导入依赖的package包/类
private void addMethodDelegate(IMethod getter, String newName, CompilationUnitRewrite rewrite)
throws JavaModelException {
MethodDeclaration declaration =
ASTNodeSearchUtil.getMethodDeclarationNode(getter, rewrite.getRoot());
DelegateCreator creator = new DelegateMethodCreator();
creator.setDeclareDeprecated(fDelegateDeprecation);
creator.setDeclaration(declaration);
creator.setNewElementName(newName);
creator.setSourceRewrite(rewrite);
creator.prepareDelegate();
creator.createEdit();
}
开发者ID:eclipse,项目名称:che,代码行数:13,代码来源:RenameFieldProcessor.java
示例15: createRenameChanges
import org.eclipse.jdt.internal.corext.refactoring.structure.ASTNodeSearchUtil; //导入依赖的package包/类
/**
* Creates the necessary changes for the renaming of the type parameter.
*
* @param monitor the progress monitor to display progress
* @return the status of the operation
* @throws CoreException if the change could not be generated
*/
private RefactoringStatus createRenameChanges(IProgressMonitor monitor) throws CoreException {
Assert.isNotNull(monitor);
RefactoringStatus status = new RefactoringStatus();
try {
monitor.beginTask(RefactoringCoreMessages.RenameTypeParameterRefactoring_searching, 2);
ICompilationUnit cu = fTypeParameter.getDeclaringMember().getCompilationUnit();
CompilationUnit root = RefactoringASTParser.parseWithASTProvider(cu, true, null);
CompilationUnitRewrite rewrite = new CompilationUnitRewrite(cu, root);
IMember member = fTypeParameter.getDeclaringMember();
ASTNode declaration = null;
if (member instanceof IMethod) {
declaration = ASTNodeSearchUtil.getMethodDeclarationNode((IMethod) member, root);
} else if (member instanceof IType) {
declaration = ASTNodeSearchUtil.getAbstractTypeDeclarationNode((IType) member, root);
} else {
JavaPlugin.logErrorMessage(
"Unexpected sub-type of IMember: " + member.getClass().getName()); // $NON-NLS-1$
Assert.isTrue(false);
}
monitor.worked(1);
RenameTypeParameterVisitor visitor =
new RenameTypeParameterVisitor(rewrite, fTypeParameter.getNameRange(), status);
if (declaration != null) declaration.accept(visitor);
fChange = visitor.getResult();
} finally {
monitor.done();
}
return status;
}
开发者ID:eclipse,项目名称:che,代码行数:37,代码来源:RenameTypeParameterProcessor.java
示例16: getNodesToDelete
import org.eclipse.jdt.internal.corext.refactoring.structure.ASTNodeSearchUtil; //导入依赖的package包/类
private static ASTNode[] getNodesToDelete(IJavaElement element, CompilationUnit cuNode)
throws JavaModelException {
// fields are different because you don't delete the whole declaration but only a fragment of it
if (element.getElementType() == IJavaElement.FIELD) {
if (JdtFlags.isEnum((IField) element))
return new ASTNode[] {
ASTNodeSearchUtil.getEnumConstantDeclaration((IField) element, cuNode)
};
else
return new ASTNode[] {
ASTNodeSearchUtil.getFieldDeclarationFragmentNode((IField) element, cuNode)
};
}
if (element.getElementType() == IJavaElement.TYPE && ((IType) element).isLocal()) {
IType type = (IType) element;
if (type.isAnonymous()) {
if (type.getParent().getElementType() == IJavaElement.FIELD) {
EnumConstantDeclaration enumDecl =
ASTNodeSearchUtil.getEnumConstantDeclaration((IField) element.getParent(), cuNode);
if (enumDecl != null && enumDecl.getAnonymousClassDeclaration() != null) {
return new ASTNode[] {enumDecl.getAnonymousClassDeclaration()};
}
}
ClassInstanceCreation creation =
ASTNodeSearchUtil.getClassInstanceCreationNode(type, cuNode);
if (creation != null) {
if (creation.getLocationInParent() == ExpressionStatement.EXPRESSION_PROPERTY) {
return new ASTNode[] {creation.getParent()};
} else if (creation.getLocationInParent()
== VariableDeclarationFragment.INITIALIZER_PROPERTY) {
return new ASTNode[] {creation};
}
return new ASTNode[] {creation.getAnonymousClassDeclaration()};
}
return new ASTNode[0];
} else {
ASTNode[] nodes = ASTNodeSearchUtil.getDeclarationNodes(element, cuNode);
// we have to delete the TypeDeclarationStatement
nodes[0] = nodes[0].getParent();
return nodes;
}
}
return ASTNodeSearchUtil.getDeclarationNodes(element, cuNode);
}
开发者ID:eclipse,项目名称:che,代码行数:45,代码来源:ASTNodeDeleteUtil.java
示例17: getDestinationNode
import org.eclipse.jdt.internal.corext.refactoring.structure.ASTNodeSearchUtil; //导入依赖的package包/类
private ASTNode getDestinationNode(IJavaElement destination, CompilationUnit target)
throws JavaModelException {
switch (destination.getElementType()) {
case IJavaElement.INITIALIZER:
return ASTNodeSearchUtil.getInitializerNode((IInitializer) destination, target);
case IJavaElement.FIELD:
return ASTNodeSearchUtil.getFieldOrEnumConstantDeclaration((IField) destination, target);
case IJavaElement.METHOD:
return ASTNodeSearchUtil.getMethodOrAnnotationTypeMemberDeclarationNode(
(IMethod) destination, target);
case IJavaElement.TYPE:
IType typeDestination = (IType) destination;
if (typeDestination.isAnonymous()) {
return ASTNodeSearchUtil.getClassInstanceCreationNode(typeDestination, target)
.getAnonymousClassDeclaration();
} else {
return ASTNodeSearchUtil.getAbstractTypeDeclarationNode(typeDestination, target);
}
case IJavaElement.COMPILATION_UNIT:
IType mainType = JavaElementUtil.getMainType((ICompilationUnit) destination);
if (mainType != null) {
return ASTNodeSearchUtil.getAbstractTypeDeclarationNode(mainType, target);
}
// $FALL-THROUGH$
default:
return null;
}
}
开发者ID:eclipse,项目名称:che,代码行数:29,代码来源:ReorgPolicyFactory.java
示例18: copyPackageDeclarationToDestination
import org.eclipse.jdt.internal.corext.refactoring.structure.ASTNodeSearchUtil; //导入依赖的package包/类
private void copyPackageDeclarationToDestination(
IPackageDeclaration declaration,
ASTRewrite targetRewrite,
CompilationUnit sourceCuNode,
CompilationUnit destinationCuNode)
throws JavaModelException {
if (destinationCuNode.getPackage() != null) return;
PackageDeclaration sourceNode =
ASTNodeSearchUtil.getPackageDeclarationNode(declaration, sourceCuNode);
PackageDeclaration copiedNode =
(PackageDeclaration) ASTNode.copySubtree(targetRewrite.getAST(), sourceNode);
targetRewrite.set(destinationCuNode, CompilationUnit.PACKAGE_PROPERTY, copiedNode, null);
}
开发者ID:eclipse,项目名称:che,代码行数:14,代码来源:ReorgPolicyFactory.java
示例19: checkMethodBody
import org.eclipse.jdt.internal.corext.refactoring.structure.ASTNodeSearchUtil; //导入依赖的package包/类
protected static RefactoringStatus checkMethodBody(IMethod method, IProgressMonitor pm) {
RefactoringStatus status = new RefactoringStatus();
ITypeRoot root = method.getCompilationUnit();
CompilationUnit unit = RefactoringASTParser.parseWithASTProvider(root, false, new SubProgressMonitor(pm, 1));
MethodDeclaration declaration;
try {
declaration = ASTNodeSearchUtil.getMethodDeclarationNode(method, unit);
if (declaration != null) {
Block body = declaration.getBody();
if (body != null) {
@SuppressWarnings("rawtypes")
List statements = body.statements();
if (!statements.isEmpty()) {
// TODO for now.
addWarning(status, Messages.ForEachLoopToLambdaRefactoring_NoMethodsWithStatements, method);
}
}
}
} catch (JavaModelException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return status;
}
开发者ID:mdarefin,项目名称:Convert-For-Each-Loop-to-Lambda-Expression-Eclipse-Plugin,代码行数:30,代码来源:ForeachLoopToLambdaRefactoring.java
示例20: addDeclarationUpdate
import org.eclipse.jdt.internal.corext.refactoring.structure.ASTNodeSearchUtil; //导入依赖的package包/类
private void addDeclarationUpdate(TextChangeManager manager) throws CoreException {
if (getDelegateUpdating()) {
// create the delegate
CompilationUnitRewrite rewrite= new CompilationUnitRewrite(getDeclaringCU());
rewrite.setResolveBindings(true);
MethodDeclaration methodDeclaration= ASTNodeSearchUtil.getMethodDeclarationNode(getMethod(), rewrite.getRoot());
DelegateMethodCreator creator= new DelegateMethodCreator();
creator.setDeclaration(methodDeclaration);
creator.setDeclareDeprecated(getDeprecateDelegates());
creator.setSourceRewrite(rewrite);
creator.setCopy(true);
creator.setNewElementName(getNewElementName());
creator.prepareDelegate();
creator.createEdit();
CompilationUnitChange cuChange= rewrite.createChange(true);
if (cuChange != null) {
cuChange.setKeepPreviewEdits(true);
manager.manage(getDeclaringCU(), cuChange);
}
}
String editName= RefactoringCoreMessages.RenameMethodRefactoring_update_declaration;
ISourceRange nameRange= getMethod().getNameRange();
ReplaceEdit replaceEdit= new ReplaceEdit(nameRange.getOffset(), nameRange.getLength(), getNewElementName());
addTextEdit(manager.get(getDeclaringCU()), editName, replaceEdit);
}
开发者ID:trylimits,项目名称:Eclipse-Postfix-Code-Completion,代码行数:28,代码来源:RenameNonVirtualMethodProcessor.java
注:本文中的org.eclipse.jdt.internal.corext.refactoring.structure.ASTNodeSearchUtil类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论