/*******************************************************************************
* Copyright (c) 2008 xored software, Inc.
*
* 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:
* xored software, Inc. - initial API and Implementation (Andrei Sobolev)
*******************************************************************************/
package org.eclipse.dltk.tcl.ast;
import org.eclipse.emf.ecore.EFactory;
/**
* <!-- begin-user-doc -->
* The <b>Factory</b> for the model.
* It provides a create method for each non-abstract class of the model.
* <!-- end-user-doc -->
* @see org.eclipse.dltk.tcl.ast.AstPackage
* @generated
*/
public interface AstFactory extends EFactory {
/**
* The singleton instance of the factory.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
AstFactory eINSTANCE = org.eclipse.dltk.tcl.ast.impl.AstFactoryImpl.init();
/**
* Returns a new object of class '<em>Node</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return a new object of class '<em>Node</em>'.
* @generated
*/
Node createNode();
/**
* Returns a new object of class '<em>Script</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return a new object of class '<em>Script</em>'.
* @generated
*/
Script createScript();
/**
* Returns a new object of class '<em>String Argument</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return a new object of class '<em>String Argument</em>'.
* @generated
*/
StringArgument createStringArgument();
/**
* Returns a new object of class '<em>Substitution</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return a new object of class '<em>Substitution</em>'.
* @generated
*/
Substitution createSubstitution();
/**
* Returns a new object of class '<em>Tcl Argument</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return a new object of class '<em>Tcl Argument</em>'.
* @generated
*/
TclArgument createTclArgument();
/**
* Returns a new object of class '<em>Tcl Command</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return a new object of class '<em>Tcl Command</em>'.
* @generated
*/
TclCommand createTclCommand();
/**
* Returns a new object of class '<em>Tcl Argument List</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return a new object of class '<em>Tcl Argument List</em>'.
* @generated
*/
TclArgumentList createTclArgumentList();
/**
* Returns a new object of class '<em>Argument Match</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return a new object of class '<em>Argument Match</em>'.
* @generated
*/
ArgumentMatch createArgumentMatch();
/**
* Returns a new object of class '<em>Complex String</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return a new object of class '<em>Complex String</em>'.
* @generated
*/
ComplexString createComplexString();
/**
* Returns a new object of class '<em>Variable Reference</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return a new object of class '<em>Variable Reference</em>'.
* @generated
*/
VariableReference createVariableReference();
/**
* Returns a new object of class '<em>Tcl Module</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return a new object of class '<em>Tcl Module</em>'.
* @generated
*/
TclModule createTclModule();
/**
* Returns a new object of class '<em>Tcl Code Model</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return a new object of class '<em>Tcl Code Model</em>'.
* @generated
*/
TclCodeModel createTclCodeModel();
/**
* Returns a new object of class '<em>Tcl Problem Model</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return a new object of class '<em>Tcl Problem Model</em>'.
* @generated
*/
TclProblemModel createTclProblemModel();
/**
* Returns a new object of class '<em>Tcl Problem</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return a new object of class '<em>Tcl Problem</em>'.
* @generated
*/
TclProblem createTclProblem();
/**
* Returns the package supported by this factory.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the package supported by this factory.
* @generated
*/
AstPackage getAstPackage();
} //AstFactory