/**
*/
package kmLogo.ASM.impl;
import kmLogo.ASM.*;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.impl.EFactoryImpl;
import org.eclipse.emf.ecore.plugin.EcorePlugin;
/**
* <!-- begin-user-doc -->
* An implementation of the model <b>Factory</b>.
* <!-- end-user-doc -->
* @generated
*/
public class ASMFactoryImpl extends EFactoryImpl implements ASMFactory {
/**
* Creates the default factory implementation.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public static ASMFactory init() {
try {
ASMFactory theASMFactory = (ASMFactory)EPackage.Registry.INSTANCE.getEFactory(ASMPackage.eNS_URI);
if (theASMFactory != null) {
return theASMFactory;
}
}
catch (Exception exception) {
EcorePlugin.INSTANCE.log(exception);
}
return new ASMFactoryImpl();
}
/**
* Creates an instance of the factory.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public ASMFactoryImpl() {
super();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EObject create(EClass eClass) {
switch (eClass.getClassifierID()) {
case ASMPackage.BACK: return createBack();
case ASMPackage.FORWARD: return createForward();
case ASMPackage.LEFT: return createLeft();
case ASMPackage.RIGHT: return createRight();
case ASMPackage.PEN_DOWN: return createPenDown();
case ASMPackage.PEN_UP: return createPenUp();
case ASMPackage.CLEAR: return createClear();
case ASMPackage.CONSTANT: return createConstant();
case ASMPackage.PROC_CALL: return createProcCall();
case ASMPackage.PROC_DECLARATION: return createProcDeclaration();
case ASMPackage.BLOCK: return createBlock();
case ASMPackage.IF: return createIf();
case ASMPackage.CONTROL_STRUCTURE: return createControlStructure();
case ASMPackage.REPEAT: return createRepeat();
case ASMPackage.WHILE: return createWhile();
case ASMPackage.PARAMETER: return createParameter();
case ASMPackage.PARAMETER_CALL: return createParameterCall();
case ASMPackage.PLUS: return createPlus();
case ASMPackage.MINUS: return createMinus();
case ASMPackage.MULT: return createMult();
case ASMPackage.DIV: return createDiv();
case ASMPackage.EQUALS: return createEquals();
case ASMPackage.GREATER: return createGreater();
case ASMPackage.LOWER: return createLower();
case ASMPackage.LOGO_PROGRAM: return createLogoProgram();
default:
throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
}
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Back createBack() {
BackImpl back = new BackImpl();
return back;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Forward createForward() {
ForwardImpl forward = new ForwardImpl();
return forward;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Left createLeft() {
LeftImpl left = new LeftImpl();
return left;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Right createRight() {
RightImpl right = new RightImpl();
return right;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public PenDown createPenDown() {
PenDownImpl penDown = new PenDownImpl();
return penDown;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public PenUp createPenUp() {
PenUpImpl penUp = new PenUpImpl();
return penUp;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Clear createClear() {
ClearImpl clear = new ClearImpl();
return clear;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Constant createConstant() {
ConstantImpl constant = new ConstantImpl();
return constant;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public ProcCall createProcCall() {
ProcCallImpl procCall = new ProcCallImpl();
return procCall;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public ProcDeclaration createProcDeclaration() {
ProcDeclarationImpl procDeclaration = new ProcDeclarationImpl();
return procDeclaration;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Block createBlock() {
BlockImpl block = new BlockImpl();
return block;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public If createIf() {
IfImpl if_ = new IfImpl();
return if_;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public ControlStructure createControlStructure() {
ControlStructureImpl controlStructure = new ControlStructureImpl();
return controlStructure;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Repeat createRepeat() {
RepeatImpl repeat = new RepeatImpl();
return repeat;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public While createWhile() {
WhileImpl while_ = new WhileImpl();
return while_;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Parameter createParameter() {
ParameterImpl parameter = new ParameterImpl();
return parameter;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public ParameterCall createParameterCall() {
ParameterCallImpl parameterCall = new ParameterCallImpl();
return parameterCall;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Plus createPlus() {
PlusImpl plus = new PlusImpl();
return plus;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Minus createMinus() {
MinusImpl minus = new MinusImpl();
return minus;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Mult createMult() {
MultImpl mult = new MultImpl();
return mult;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Div createDiv() {
DivImpl div = new DivImpl();
return div;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Equals createEquals() {
EqualsImpl equals = new EqualsImpl();
return equals;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Greater createGreater() {
GreaterImpl greater = new GreaterImpl();
return greater;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Lower createLower() {
LowerImpl lower = new LowerImpl();
return lower;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public LogoProgram createLogoProgram() {
LogoProgramImpl logoProgram = new LogoProgramImpl();
return logoProgram;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public ASMPackage getASMPackage() {
return (ASMPackage)getEPackage();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @deprecated
* @generated
*/
@Deprecated
public static ASMPackage getPackage() {
return ASMPackage.eINSTANCE;
}
} //ASMFactoryImpl