/*******************************************************************************
* Copyright (c) 2009 IBM Corporation 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:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.cdt.core.dom.parser.upc;
import org.eclipse.cdt.core.dom.ast.IASTExpression;
import org.eclipse.cdt.core.dom.ast.IASTName;
import org.eclipse.cdt.core.dom.ast.IASTStatement;
import org.eclipse.cdt.core.dom.ast.c.ICNodeFactory;
import org.eclipse.cdt.core.dom.upc.ast.IUPCASTCompositeTypeSpecifier;
import org.eclipse.cdt.core.dom.upc.ast.IUPCASTElaboratedTypeSpecifier;
import org.eclipse.cdt.core.dom.upc.ast.IUPCASTEnumerationSpecifier;
import org.eclipse.cdt.core.dom.upc.ast.IUPCASTForallStatement;
import org.eclipse.cdt.core.dom.upc.ast.IUPCASTKeywordExpression;
import org.eclipse.cdt.core.dom.upc.ast.IUPCASTSimpleDeclSpecifier;
import org.eclipse.cdt.core.dom.upc.ast.IUPCASTSynchronizationStatement;
import org.eclipse.cdt.core.dom.upc.ast.IUPCASTTypedefNameSpecifier;
public interface IUPCNodeFactory extends ICNodeFactory {
public void setUseUPCSizeofExpressions(int op);
public void setUseC99SizeofExpressions();
public IUPCASTKeywordExpression newKeywordExpression(int keywordKind);
public IUPCASTSynchronizationStatement newSyncronizationStatment(
IASTExpression barrierExpression, int statmentKind);
public IUPCASTForallStatement newForallStatement(IASTStatement init,
IASTExpression condition, IASTExpression iterationExpression,
IASTStatement body, IASTExpression affinity);
public IUPCASTSimpleDeclSpecifier newSimpleDeclSpecifier();
public IUPCASTCompositeTypeSpecifier newCompositeTypeSpecifier(int key,
IASTName name);
public IUPCASTElaboratedTypeSpecifier newElaboratedTypeSpecifier(int kind,
IASTName name);
public IUPCASTEnumerationSpecifier newEnumerationSpecifier(IASTName name);
public IUPCASTTypedefNameSpecifier newTypedefNameSpecifier(IASTName name);
}