1 /*******************************************************************************
2 * Copyright (c) 2000, 2008 IBM Corporation and others.
3 * All rights reserved. This program and the accompanying materials
4 * are made available under the terms of the Eclipse Public License v1.0
5 * which accompanies this distribution, and is available at
6 * http://www.eclipse.org/legal/epl-v10.html
9 * IBM Corporation - initial API and implementation
10 *******************************************************************************/
11 package org.eclipse.jdt.internal.corext.dom.fragments;
13 import org.eclipse.jdt.core.JavaModelException;
14 import org.eclipse.jdt.core.dom.Expression;
15 import org.eclipse.jdt.core.dom.rewrite.ASTRewrite;
18 * Represents a fragment (@see IASTFragment) for which the node
19 * to which the fragment maps is an Expression.
21 public interface IExpressionFragment extends IASTFragment {
24 * Every IASTFragment maps to an ASTNode, although this mapping may
25 * not be straightforward, and more than one fragment may map to the
27 * An IExpressionFragment maps, specifically, to an Expression.
29 * @return Expression The node to which this fragment maps.
31 public Expression getAssociatedExpression();
34 * Creates a copy of this IExpressionFragment.
36 * @param rewrite an ASTRewrite
37 * @param removeSurroundingParenthesis if set to <code>true</true>, a surrounding ParenthesizedExpression will not be part of
39 * @return a copy of this IExpressionFragment, ready for use in the given
41 * @throws JavaModelException
43 public Expression createCopyTarget(ASTRewrite rewrite, boolean removeSurroundingParenthesis) throws JavaModelException;