/**
*/
package org.yakindu.base.expressions.expressions.impl;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EDataType;
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;
import org.yakindu.base.expressions.expressions.*;
import org.yakindu.base.expressions.expressions.AdditiveOperator;
import org.yakindu.base.expressions.expressions.AssignmentExpression;
import org.yakindu.base.expressions.expressions.AssignmentOperator;
import org.yakindu.base.expressions.expressions.BitwiseAndExpression;
import org.yakindu.base.expressions.expressions.BitwiseOperator;
import org.yakindu.base.expressions.expressions.BitwiseOrExpression;
import org.yakindu.base.expressions.expressions.BitwiseXorExpression;
import org.yakindu.base.expressions.expressions.BoolLiteral;
import org.yakindu.base.expressions.expressions.ConditionalExpression;
import org.yakindu.base.expressions.expressions.DoubleLiteral;
import org.yakindu.base.expressions.expressions.ElementReferenceExpression;
import org.yakindu.base.expressions.expressions.ExpressionsFactory;
import org.yakindu.base.expressions.expressions.ExpressionsPackage;
import org.yakindu.base.expressions.expressions.FeatureCall;
import org.yakindu.base.expressions.expressions.FloatLiteral;
import org.yakindu.base.expressions.expressions.HexLiteral;
import org.yakindu.base.expressions.expressions.IntLiteral;
import org.yakindu.base.expressions.expressions.LogicalAndExpression;
import org.yakindu.base.expressions.expressions.LogicalNotExpression;
import org.yakindu.base.expressions.expressions.LogicalOperator;
import org.yakindu.base.expressions.expressions.LogicalOrExpression;
import org.yakindu.base.expressions.expressions.LogicalRelationExpression;
import org.yakindu.base.expressions.expressions.MultiplicativeOperator;
import org.yakindu.base.expressions.expressions.NullLiteral;
import org.yakindu.base.expressions.expressions.NumericalAddSubtractExpression;
import org.yakindu.base.expressions.expressions.NumericalMultiplyDivideExpression;
import org.yakindu.base.expressions.expressions.NumericalUnaryExpression;
import org.yakindu.base.expressions.expressions.ParenthesizedExpression;
import org.yakindu.base.expressions.expressions.PrimitiveValueExpression;
import org.yakindu.base.expressions.expressions.RelationalOperator;
import org.yakindu.base.expressions.expressions.ShiftExpression;
import org.yakindu.base.expressions.expressions.ShiftOperator;
import org.yakindu.base.expressions.expressions.StringLiteral;
import org.yakindu.base.expressions.expressions.TypeCastExpression;
import org.yakindu.base.expressions.expressions.UnaryExpression;
import org.yakindu.base.expressions.expressions.UnaryOperator;
/**
* <!-- begin-user-doc -->
* An implementation of the model <b>Factory</b>.
* <!-- end-user-doc -->
* @generated
*/
public class ExpressionsFactoryImpl extends EFactoryImpl implements ExpressionsFactory {
/**
* Creates the default factory implementation.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public static ExpressionsFactory init() {
try {
ExpressionsFactory theExpressionsFactory = (ExpressionsFactory)EPackage.Registry.INSTANCE.getEFactory(ExpressionsPackage.eNS_URI);
if (theExpressionsFactory != null) {
return theExpressionsFactory;
}
}
catch (Exception exception) {
EcorePlugin.INSTANCE.log(exception);
}
return new ExpressionsFactoryImpl();
}
/**
* Creates an instance of the factory.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public ExpressionsFactoryImpl() {
super();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EObject create(EClass eClass) {
switch (eClass.getClassifierID()) {
case ExpressionsPackage.BOOL_LITERAL: return createBoolLiteral();
case ExpressionsPackage.INT_LITERAL: return createIntLiteral();
case ExpressionsPackage.DOUBLE_LITERAL: return createDoubleLiteral();
case ExpressionsPackage.FLOAT_LITERAL: return createFloatLiteral();
case ExpressionsPackage.HEX_LITERAL: return createHexLiteral();
case ExpressionsPackage.STRING_LITERAL: return createStringLiteral();
case ExpressionsPackage.NULL_LITERAL: return createNullLiteral();
case ExpressionsPackage.ASSIGNMENT_EXPRESSION: return createAssignmentExpression();
case ExpressionsPackage.CONDITIONAL_EXPRESSION: return createConditionalExpression();
case ExpressionsPackage.LOGICAL_OR_EXPRESSION: return createLogicalOrExpression();
case ExpressionsPackage.LOGICAL_AND_EXPRESSION: return createLogicalAndExpression();
case ExpressionsPackage.LOGICAL_NOT_EXPRESSION: return createLogicalNotExpression();
case ExpressionsPackage.BITWISE_XOR_EXPRESSION: return createBitwiseXorExpression();
case ExpressionsPackage.BITWISE_OR_EXPRESSION: return createBitwiseOrExpression();
case ExpressionsPackage.BITWISE_AND_EXPRESSION: return createBitwiseAndExpression();
case ExpressionsPackage.LOGICAL_RELATION_EXPRESSION: return createLogicalRelationExpression();
case ExpressionsPackage.SHIFT_EXPRESSION: return createShiftExpression();
case ExpressionsPackage.NUMERICAL_ADD_SUBTRACT_EXPRESSION: return createNumericalAddSubtractExpression();
case ExpressionsPackage.NUMERICAL_MULTIPLY_DIVIDE_EXPRESSION: return createNumericalMultiplyDivideExpression();
case ExpressionsPackage.NUMERICAL_UNARY_EXPRESSION: return createNumericalUnaryExpression();
case ExpressionsPackage.PRIMITIVE_VALUE_EXPRESSION: return createPrimitiveValueExpression();
case ExpressionsPackage.FEATURE_CALL: return createFeatureCall();
case ExpressionsPackage.ELEMENT_REFERENCE_EXPRESSION: return createElementReferenceExpression();
case ExpressionsPackage.PARENTHESIZED_EXPRESSION: return createParenthesizedExpression();
case ExpressionsPackage.TYPE_CAST_EXPRESSION: return createTypeCastExpression();
default:
throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
}
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Object createFromString(EDataType eDataType, String initialValue) {
switch (eDataType.getClassifierID()) {
case ExpressionsPackage.ASSIGNMENT_OPERATOR:
return createAssignmentOperatorFromString(eDataType, initialValue);
case ExpressionsPackage.SHIFT_OPERATOR:
return createShiftOperatorFromString(eDataType, initialValue);
case ExpressionsPackage.ADDITIVE_OPERATOR:
return createAdditiveOperatorFromString(eDataType, initialValue);
case ExpressionsPackage.MULTIPLICATIVE_OPERATOR:
return createMultiplicativeOperatorFromString(eDataType, initialValue);
case ExpressionsPackage.UNARY_OPERATOR:
return createUnaryOperatorFromString(eDataType, initialValue);
case ExpressionsPackage.RELATIONAL_OPERATOR:
return createRelationalOperatorFromString(eDataType, initialValue);
case ExpressionsPackage.LOGICAL_OPERATOR:
return createLogicalOperatorFromString(eDataType, initialValue);
case ExpressionsPackage.BITWISE_OPERATOR:
return createBitwiseOperatorFromString(eDataType, initialValue);
default:
throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
}
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public String convertToString(EDataType eDataType, Object instanceValue) {
switch (eDataType.getClassifierID()) {
case ExpressionsPackage.ASSIGNMENT_OPERATOR:
return convertAssignmentOperatorToString(eDataType, instanceValue);
case ExpressionsPackage.SHIFT_OPERATOR:
return convertShiftOperatorToString(eDataType, instanceValue);
case ExpressionsPackage.ADDITIVE_OPERATOR:
return convertAdditiveOperatorToString(eDataType, instanceValue);
case ExpressionsPackage.MULTIPLICATIVE_OPERATOR:
return convertMultiplicativeOperatorToString(eDataType, instanceValue);
case ExpressionsPackage.UNARY_OPERATOR:
return convertUnaryOperatorToString(eDataType, instanceValue);
case ExpressionsPackage.RELATIONAL_OPERATOR:
return convertRelationalOperatorToString(eDataType, instanceValue);
case ExpressionsPackage.LOGICAL_OPERATOR:
return convertLogicalOperatorToString(eDataType, instanceValue);
case ExpressionsPackage.BITWISE_OPERATOR:
return convertBitwiseOperatorToString(eDataType, instanceValue);
default:
throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
}
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public BoolLiteral createBoolLiteral() {
BoolLiteralImpl boolLiteral = new BoolLiteralImpl();
return boolLiteral;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public IntLiteral createIntLiteral() {
IntLiteralImpl intLiteral = new IntLiteralImpl();
return intLiteral;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public DoubleLiteral createDoubleLiteral() {
DoubleLiteralImpl doubleLiteral = new DoubleLiteralImpl();
return doubleLiteral;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public FloatLiteral createFloatLiteral() {
FloatLiteralImpl floatLiteral = new FloatLiteralImpl();
return floatLiteral;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public HexLiteral createHexLiteral() {
HexLiteralImpl hexLiteral = new HexLiteralImpl();
return hexLiteral;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public StringLiteral createStringLiteral() {
StringLiteralImpl stringLiteral = new StringLiteralImpl();
return stringLiteral;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public NullLiteral createNullLiteral() {
NullLiteralImpl nullLiteral = new NullLiteralImpl();
return nullLiteral;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public AssignmentExpression createAssignmentExpression() {
AssignmentExpressionImpl assignmentExpression = new AssignmentExpressionImpl();
return assignmentExpression;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public ConditionalExpression createConditionalExpression() {
ConditionalExpressionImpl conditionalExpression = new ConditionalExpressionImpl();
return conditionalExpression;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public LogicalOrExpression createLogicalOrExpression() {
LogicalOrExpressionImpl logicalOrExpression = new LogicalOrExpressionImpl();
return logicalOrExpression;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public LogicalAndExpression createLogicalAndExpression() {
LogicalAndExpressionImpl logicalAndExpression = new LogicalAndExpressionImpl();
return logicalAndExpression;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public LogicalNotExpression createLogicalNotExpression() {
LogicalNotExpressionImpl logicalNotExpression = new LogicalNotExpressionImpl();
return logicalNotExpression;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public BitwiseXorExpression createBitwiseXorExpression() {
BitwiseXorExpressionImpl bitwiseXorExpression = new BitwiseXorExpressionImpl();
return bitwiseXorExpression;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public BitwiseOrExpression createBitwiseOrExpression() {
BitwiseOrExpressionImpl bitwiseOrExpression = new BitwiseOrExpressionImpl();
return bitwiseOrExpression;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public BitwiseAndExpression createBitwiseAndExpression() {
BitwiseAndExpressionImpl bitwiseAndExpression = new BitwiseAndExpressionImpl();
return bitwiseAndExpression;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public LogicalRelationExpression createLogicalRelationExpression() {
LogicalRelationExpressionImpl logicalRelationExpression = new LogicalRelationExpressionImpl();
return logicalRelationExpression;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public ShiftExpression createShiftExpression() {
ShiftExpressionImpl shiftExpression = new ShiftExpressionImpl();
return shiftExpression;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public NumericalAddSubtractExpression createNumericalAddSubtractExpression() {
NumericalAddSubtractExpressionImpl numericalAddSubtractExpression = new NumericalAddSubtractExpressionImpl();
return numericalAddSubtractExpression;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public NumericalMultiplyDivideExpression createNumericalMultiplyDivideExpression() {
NumericalMultiplyDivideExpressionImpl numericalMultiplyDivideExpression = new NumericalMultiplyDivideExpressionImpl();
return numericalMultiplyDivideExpression;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public NumericalUnaryExpression createNumericalUnaryExpression() {
NumericalUnaryExpressionImpl numericalUnaryExpression = new NumericalUnaryExpressionImpl();
return numericalUnaryExpression;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public PrimitiveValueExpression createPrimitiveValueExpression() {
PrimitiveValueExpressionImpl primitiveValueExpression = new PrimitiveValueExpressionImpl();
return primitiveValueExpression;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public FeatureCall createFeatureCall() {
FeatureCallImpl featureCall = new FeatureCallImpl();
return featureCall;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public ElementReferenceExpression createElementReferenceExpression() {
ElementReferenceExpressionImpl elementReferenceExpression = new ElementReferenceExpressionImpl();
return elementReferenceExpression;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public ParenthesizedExpression createParenthesizedExpression() {
ParenthesizedExpressionImpl parenthesizedExpression = new ParenthesizedExpressionImpl();
return parenthesizedExpression;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public TypeCastExpression createTypeCastExpression() {
TypeCastExpressionImpl typeCastExpression = new TypeCastExpressionImpl();
return typeCastExpression;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public AssignmentOperator createAssignmentOperatorFromString(EDataType eDataType, String initialValue) {
AssignmentOperator result = AssignmentOperator.get(initialValue);
if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
return result;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public String convertAssignmentOperatorToString(EDataType eDataType, Object instanceValue) {
return instanceValue == null ? null : instanceValue.toString();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public ShiftOperator createShiftOperatorFromString(EDataType eDataType, String initialValue) {
ShiftOperator result = ShiftOperator.get(initialValue);
if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
return result;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public String convertShiftOperatorToString(EDataType eDataType, Object instanceValue) {
return instanceValue == null ? null : instanceValue.toString();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public AdditiveOperator createAdditiveOperatorFromString(EDataType eDataType, String initialValue) {
AdditiveOperator result = AdditiveOperator.get(initialValue);
if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
return result;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public String convertAdditiveOperatorToString(EDataType eDataType, Object instanceValue) {
return instanceValue == null ? null : instanceValue.toString();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public MultiplicativeOperator createMultiplicativeOperatorFromString(EDataType eDataType, String initialValue) {
MultiplicativeOperator result = MultiplicativeOperator.get(initialValue);
if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
return result;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public String convertMultiplicativeOperatorToString(EDataType eDataType, Object instanceValue) {
return instanceValue == null ? null : instanceValue.toString();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public UnaryOperator createUnaryOperatorFromString(EDataType eDataType, String initialValue) {
UnaryOperator result = UnaryOperator.get(initialValue);
if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
return result;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public String convertUnaryOperatorToString(EDataType eDataType, Object instanceValue) {
return instanceValue == null ? null : instanceValue.toString();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public RelationalOperator createRelationalOperatorFromString(EDataType eDataType, String initialValue) {
RelationalOperator result = RelationalOperator.get(initialValue);
if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
return result;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public String convertRelationalOperatorToString(EDataType eDataType, Object instanceValue) {
return instanceValue == null ? null : instanceValue.toString();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public LogicalOperator createLogicalOperatorFromString(EDataType eDataType, String initialValue) {
LogicalOperator result = LogicalOperator.get(initialValue);
if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
return result;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public String convertLogicalOperatorToString(EDataType eDataType, Object instanceValue) {
return instanceValue == null ? null : instanceValue.toString();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public BitwiseOperator createBitwiseOperatorFromString(EDataType eDataType, String initialValue) {
BitwiseOperator result = BitwiseOperator.get(initialValue);
if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
return result;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public String convertBitwiseOperatorToString(EDataType eDataType, Object instanceValue) {
return instanceValue == null ? null : instanceValue.toString();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public ExpressionsPackage getExpressionsPackage() {
return (ExpressionsPackage)getEPackage();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @deprecated
* @generated
*/
@Deprecated
public static ExpressionsPackage getPackage() {
return ExpressionsPackage.eINSTANCE;
}
} //ExpressionsFactoryImpl