/******************************************************************************* * Copyright (c) 2008 Institute for Software, HSR Hochschule fuer Technik * Rapperswil, University of applied sciences and others * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Institute for Software - initial API and implementation *******************************************************************************/ package org.eclipse.cdt.internal.ui.refactoring.implementmethod; import org.eclipse.cdt.core.dom.ast.IASTName; import org.eclipse.cdt.core.dom.ast.IASTNode; import org.eclipse.cdt.core.dom.ast.IASTParameterDeclaration; import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTName; import org.eclipse.cdt.internal.ui.refactoring.utils.NameHelper; /** * @author Lukas Felber * */ public class ParameterInfo { private IASTParameterDeclaration parameter; private boolean hasNewName; private String parameterName; public ParameterInfo(IASTParameterDeclaration parameter, String parameterName, boolean HasNewName) { this.parameter = parameter; this.hasNewName = HasNewName; this.parameterName = parameterName; } public boolean hasNewName() { return hasNewName; } public boolean hasDefaultValue() { return getDefaultValueNode() != null; } public String getTypeName() { return NameHelper.getTypeName(parameter); } public String getParameterName() { return parameterName; } public void setParameterName(String newName) { this.parameterName = newName; } public IASTParameterDeclaration getParameter() { return parameter; } public IASTName getNameNode() { return parameter.getDeclarator().getName(); } public IASTName getNewNameNode() { return new CPPASTName(parameterName.toCharArray()); } public IASTNode getDefaultValueNode() { return parameter.getDeclarator().getInitializer(); } }