/******************************************************************************* * Copyright (c) 2013, 2018 IBM Corporation and others. * * This program and the accompanying materials * are made available under the terms of the Eclipse Public License 2.0 * which accompanies this distribution, and is available at * https://www.eclipse.org/legal/epl-2.0/ * * SPDX-License-Identifier: EPL-2.0 * * Contributors: * IBM Corporation - initial API and implementation *******************************************************************************/ package org.eclipse.jdt.internal.corext.util; import org.eclipse.jdt.core.dom.ASTMatcher; import org.eclipse.jdt.core.dom.ASTVisitor; import org.eclipse.jdt.core.dom.NodeFinder; import org.eclipse.jdt.core.dom.rewrite.ASTRewrite; import org.eclipse.jdt.internal.core.manipulation.dom.NecessaryParenthesesChecker; import org.eclipse.jdt.internal.corext.codemanipulation.StubUtility2; import org.eclipse.jdt.internal.corext.dom.ASTNodeFactory; import org.eclipse.jdt.internal.corext.dom.ASTNodes; import org.eclipse.jdt.internal.corext.dom.Bindings; import org.eclipse.jdt.internal.corext.dom.BodyDeclarationRewrite; import org.eclipse.jdt.internal.corext.dom.DimensionRewrite; import org.eclipse.jdt.internal.corext.dom.GenericVisitor; import org.eclipse.jdt.internal.corext.dom.HierarchicalASTVisitor; import org.eclipse.jdt.internal.corext.dom.ModifierRewrite; import org.eclipse.jdt.internal.corext.dom.ReplaceRewrite; import org.eclipse.jdt.internal.corext.dom.StatementRewrite; import org.eclipse.jdt.internal.corext.dom.TypeAnnotationRewrite; import org.eclipse.jdt.internal.corext.dom.TypeRules; import org.eclipse.jdt.internal.corext.dom.VariableDeclarationRewrite; import org.eclipse.jdt.internal.corext.refactoring.structure.ASTNodeSearchUtil; import org.eclipse.jdt.internal.corext.refactoring.structure.CompilationUnitRewrite; import org.eclipse.jdt.internal.corext.refactoring.util.JavaElementUtil; /** * The org.eclipse.jdt.ui bundle contains a few internal helper classes that simplify * common tasks when dealing with JDT Core or UI APIs. With bug 508777, many of these * classes have been moved to the org.eclipse.jdt.core.manipulation bundle. We've kept * the original package/class names to reduce binary compatibility problems for bundles * that illegally accessed these classes. *
* Some classes had to be split in two. They are listed with fully-qualified names here. * Back-links in Javadoc from classes in org.eclipse.jdt.core.manipulation to this * class are not possible, so we use line comments there: // @see JDTUIHelperClasses *
** New helpers preferably go into the o.e.jdt.core.manipulation bundle. *
* * Here's a list of the most important helper classes: * ** APIs in {@link org.eclipse.jdt.core}. *
* ** Static helper methods for analysis in {@link org.eclipse.jdt.internal.corext.util} and elsewhere: *
** Static helper methods for stubs creation: *
*
* APIs in {@link org.eclipse.jdt.core.dom} and {@link org.eclipse.jdt.core.dom.rewrite}.
* Core API classes that are easy to miss: {@link NodeFinder}, {@link ASTVisitor}, {@link ASTMatcher}.
*
* Static helper methods for analysis: *
** Static helper methods for node/stubs creation: *
** Helper classes in {@link org.eclipse.jdt.internal.corext.dom}, e.g.: *
** Helper classes for {@link ASTRewrite}: *
** Label and text manipulation helpers: *
*