/**
*/
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