/**
 */
package org.gravity.tgg.modisco.pm.Rules;

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.gravity.tgg.modisco.pm.Rules.RulesPackage
 * @generated
 */
public interface RulesFactory extends EFactory {
	/**
	 * The singleton instance of the factory.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	RulesFactory eINSTANCE = org.gravity.tgg.modisco.pm.Rules.impl.RulesFactoryImpl.init();

	/**
	 * Returns a new object of class '<em>Nested Enum In Type</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Nested Enum In Type</em>'.
	 * @generated
	 */
	NestedEnumInType createNestedEnumInType();

	/**
	 * Returns a new object of class '<em>Member In Class Visibility</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Member In Class Visibility</em>'.
	 * @generated
	 */
	MemberInClassVisibility createMemberInClassVisibility();

	/**
	 * Returns a new object of class '<em>Primitive Type Is Int</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Primitive Type Is Int</em>'.
	 * @generated
	 */
	PrimitiveTypeIsInt createPrimitiveTypeIsInt();

	/**
	 * Returns a new object of class '<em>Method Parameter Variable</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Method Parameter Variable</em>'.
	 * @generated
	 */
	MethodParameterVariable createMethodParameterVariable();

	/**
	 * Returns a new object of class '<em>Types Orphaned</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Types Orphaned</em>'.
	 * @generated
	 */
	TypesOrphaned createTypesOrphaned();

	/**
	 * Returns a new object of class '<em>Data Flow In</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Data Flow In</em>'.
	 * @generated
	 */
	DataFlowIn createDataFlowIn();

	/**
	 * Returns a new object of class '<em>Anon Class In Compilation Unit To Module</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Anon Class In Compilation Unit To Module</em>'.
	 * @generated
	 */
	AnonClassInCompilationUnitToModule createAnonClassInCompilationUnitToModule();

	/**
	 * Returns a new object of class '<em>Text Annotations</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Text Annotations</em>'.
	 * @generated
	 */
	TextAnnotations createTextAnnotations();

	/**
	 * Returns a new object of class '<em>Class In Package</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Class In Package</em>'.
	 * @generated
	 */
	ClassInPackage createClassInPackage();

	/**
	 * Returns a new object of class '<em>Abstract Annotation Type Access</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Abstract Annotation Type Access</em>'.
	 * @generated
	 */
	AbstractAnnotationTypeAccess createAbstractAnnotationTypeAccess();

	/**
	 * Returns a new object of class '<em>Primitive Type Is Long</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Primitive Type Is Long</em>'.
	 * @generated
	 */
	PrimitiveTypeIsLong createPrimitiveTypeIsLong();

	/**
	 * Returns a new object of class '<em>Anonymous Class In Type</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Anonymous Class In Type</em>'.
	 * @generated
	 */
	AnonymousClassInType createAnonymousClassInType();

	/**
	 * Returns a new object of class '<em>Orphaned Enum</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Orphaned Enum</em>'.
	 * @generated
	 */
	OrphanedEnum createOrphanedEnum();

	/**
	 * Returns a new object of class '<em>Array Type To Type</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Array Type To Type</em>'.
	 * @generated
	 */
	ArrayTypeToType createArrayTypeToType();

	/**
	 * Returns a new object of class '<em>Annotation Member Value Number</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Annotation Member Value Number</em>'.
	 * @generated
	 */
	AnnotationMemberValueNumber createAnnotationMemberValueNumber();

	/**
	 * Returns a new object of class '<em>Class File Package To Namespace</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Class File Package To Namespace</em>'.
	 * @generated
	 */
	ClassFilePackageToNamespace createClassFilePackageToNamespace();

	/**
	 * Returns a new object of class '<em>Primitive Type Is Byte</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Primitive Type Is Byte</em>'.
	 * @generated
	 */
	PrimitiveTypeIsByte createPrimitiveTypeIsByte();

	/**
	 * Returns a new object of class '<em>Annotation Member Value String</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Annotation Member Value String</em>'.
	 * @generated
	 */
	AnnotationMemberValueString createAnnotationMemberValueString();

	/**
	 * Returns a new object of class '<em>Sub Package To PG Package</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Sub Package To PG Package</em>'.
	 * @generated
	 */
	SubPackageToPGPackage createSubPackageToPGPackage();

	/**
	 * Returns a new object of class '<em>Class Implements Interface Abstract</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Class Implements Interface Abstract</em>'.
	 * @generated
	 */
	ClassImplementsInterface_Abstract createClassImplementsInterface_Abstract();

	/**
	 * Returns a new object of class '<em>Anonymous Class Type</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Anonymous Class Type</em>'.
	 * @generated
	 */
	AnonymousClassType createAnonymousClassType();

	/**
	 * Returns a new object of class '<em>Anonymous Class</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Anonymous Class</em>'.
	 * @generated
	 */
	AnonymousClass createAnonymousClass();

	/**
	 * Returns a new object of class '<em>Member In Enum Visibility</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Member In Enum Visibility</em>'.
	 * @generated
	 */
	MemberInEnumVisibility createMemberInEnumVisibility();

	/**
	 * Returns a new object of class '<em>Field Definition</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Field Definition</em>'.
	 * @generated
	 */
	FieldDefinition createFieldDefinition();

	/**
	 * Returns a new object of class '<em>Class In Anonymous</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Class In Anonymous</em>'.
	 * @generated
	 */
	ClassInAnonymous createClassInAnonymous();

	/**
	 * Returns a new object of class '<em>Method Invocation Static Type</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Method Invocation Static Type</em>'.
	 * @generated
	 */
	MethodInvocationStaticType createMethodInvocationStaticType();

	/**
	 * Returns a new object of class '<em>Annotation Member Value Class Array</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Annotation Member Value Class Array</em>'.
	 * @generated
	 */
	AnnotationMemberValueClassArray createAnnotationMemberValueClassArray();

	/**
	 * Returns a new object of class '<em>Primitive Type Is Char</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Primitive Type Is Char</em>'.
	 * @generated
	 */
	PrimitiveTypeIsChar createPrimitiveTypeIsChar();

	/**
	 * Returns a new object of class '<em>Orphaned Interface</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Orphaned Interface</em>'.
	 * @generated
	 */
	OrphanedInterface createOrphanedInterface();

	/**
	 * Returns a new object of class '<em>Compilation Unit Package To Namespace</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Compilation Unit Package To Namespace</em>'.
	 * @generated
	 */
	CompilationUnitPackageToNamespace createCompilationUnitPackageToNamespace();

	/**
	 * Returns a new object of class '<em>Initializer</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Initializer</em>'.
	 * @generated
	 */
	Initializer createInitializer();

	/**
	 * Returns a new object of class '<em>Nested Interface In Type</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Nested Interface In Type</em>'.
	 * @generated
	 */
	NestedInterfaceInType createNestedInterfaceInType();

	/**
	 * Returns a new object of class '<em>Class Inner Member</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Class Inner Member</em>'.
	 * @generated
	 */
	ClassInnerMember createClassInnerMember();

	/**
	 * Returns a new object of class '<em>Annotation Type Nested</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Annotation Type Nested</em>'.
	 * @generated
	 */
	AnnotationTypeNested createAnnotationTypeNested();

	/**
	 * Returns a new object of class '<em>Annotation Member Value Boolean Array</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Annotation Member Value Boolean Array</em>'.
	 * @generated
	 */
	AnnotationMemberValueBooleanArray createAnnotationMemberValueBooleanArray();

	/**
	 * Returns a new object of class '<em>Method Invocation Target</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Method Invocation Target</em>'.
	 * @generated
	 */
	MethodInvocationTarget createMethodInvocationTarget();

	/**
	 * Returns a new object of class '<em>Annotation Type Member</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Annotation Type Member</em>'.
	 * @generated
	 */
	AnnotationTypeMember createAnnotationTypeMember();

	/**
	 * Returns a new object of class '<em>Field Access Write</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Field Access Write</em>'.
	 * @generated
	 */
	FieldAccessWrite createFieldAccessWrite();

	/**
	 * Returns a new object of class '<em>Type Nested In Type Abstract</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Type Nested In Type Abstract</em>'.
	 * @generated
	 */
	TypeNestedInType_Abstract createTypeNestedInType_Abstract();

	/**
	 * Returns a new object of class '<em>Method Overriding</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Method Overriding</em>'.
	 * @generated
	 */
	MethodOverriding createMethodOverriding();

	/**
	 * Returns a new object of class '<em>Variable Declaration Fragment</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Variable Declaration Fragment</em>'.
	 * @generated
	 */
	VariableDeclarationFragment createVariableDeclarationFragment();

	/**
	 * Returns a new object of class '<em>Constructor Invocation</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Constructor Invocation</em>'.
	 * @generated
	 */
	ConstructorInvocation createConstructorInvocation();

	/**
	 * Returns a new object of class '<em>Element Package To Namespace abstract</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Element Package To Namespace abstract</em>'.
	 * @generated
	 */
	ElementPackageToNamespace_abstract createElementPackageToNamespace_abstract();

	/**
	 * Returns a new object of class '<em>Method Parameter</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Method Parameter</em>'.
	 * @generated
	 */
	MethodParameter createMethodParameter();

	/**
	 * Returns a new object of class '<em>Interface Extends Interface</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Interface Extends Interface</em>'.
	 * @generated
	 */
	InterfaceExtendsInterface createInterfaceExtendsInterface();

	/**
	 * Returns a new object of class '<em>Method Invocation</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Method Invocation</em>'.
	 * @generated
	 */
	MethodInvocation createMethodInvocation();

	/**
	 * Returns a new object of class '<em>Anonymous Class Type Interface</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Anonymous Class Type Interface</em>'.
	 * @generated
	 */
	AnonymousClassTypeInterface createAnonymousClassTypeInterface();

	/**
	 * Returns a new object of class '<em>Class File To Module</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Class File To Module</em>'.
	 * @generated
	 */
	ClassFileToModule createClassFileToModule();

	/**
	 * Returns a new object of class '<em>Annotation Member Value Class</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Annotation Member Value Class</em>'.
	 * @generated
	 */
	AnnotationMemberValueClass createAnnotationMemberValueClass();

	/**
	 * Returns a new object of class '<em>Abstract Method Invocation</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Abstract Method Invocation</em>'.
	 * @generated
	 */
	AbstractMethodInvocation createAbstractMethodInvocation();

	/**
	 * Returns a new object of class '<em>Method Parameter Link First</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Method Parameter Link First</em>'.
	 * @generated
	 */
	MethodParameterLinkFirst createMethodParameterLinkFirst();

	/**
	 * Returns a new object of class '<em>Primitive Type Is Short</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Primitive Type Is Short</em>'.
	 * @generated
	 */
	PrimitiveTypeIsShort createPrimitiveTypeIsShort();

	/**
	 * Returns a new object of class '<em>Super Method Invocation</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Super Method Invocation</em>'.
	 * @generated
	 */
	SuperMethodInvocation createSuperMethodInvocation();

	/**
	 * Returns a new object of class '<em>Unresolved Method Declaration</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Unresolved Method Declaration</em>'.
	 * @generated
	 */
	UnresolvedMethodDeclaration createUnresolvedMethodDeclaration();

	/**
	 * Returns a new object of class '<em>Interface Member</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Interface Member</em>'.
	 * @generated
	 */
	InterfaceMember createInterfaceMember();

	/**
	 * Returns a new object of class '<em>Field Name</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Field Name</em>'.
	 * @generated
	 */
	FieldName createFieldName();

	/**
	 * Returns a new object of class '<em>Type In Class File To Module</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Type In Class File To Module</em>'.
	 * @generated
	 */
	TypeInClassFileToModule createTypeInClassFileToModule();

	/**
	 * Returns a new object of class '<em>Field Access Read</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Field Access Read</em>'.
	 * @generated
	 */
	FieldAccessRead createFieldAccessRead();

	/**
	 * Returns a new object of class '<em>Link Definition To Type</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Link Definition To Type</em>'.
	 * @generated
	 */
	LinkDefinitionToType createLinkDefinitionToType();

	/**
	 * Returns a new object of class '<em>Annotation Type In Anonymous</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Annotation Type In Anonymous</em>'.
	 * @generated
	 */
	AnnotationTypeInAnonymous createAnnotationTypeInAnonymous();

	/**
	 * Returns a new object of class '<em>Method Parameter Link</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Method Parameter Link</em>'.
	 * @generated
	 */
	MethodParameterLink createMethodParameterLink();

	/**
	 * Returns a new object of class '<em>Annotation Member Key</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Annotation Member Key</em>'.
	 * @generated
	 */
	AnnotationMemberKey createAnnotationMemberKey();

	/**
	 * Returns a new object of class '<em>Anon Class In Class File To Module</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Anon Class In Class File To Module</em>'.
	 * @generated
	 */
	AnonClassInClassFileToModule createAnonClassInClassFileToModule();

	/**
	 * Returns a new object of class '<em>Primitive Type Is Double</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Primitive Type Is Double</em>'.
	 * @generated
	 */
	PrimitiveTypeIsDouble createPrimitiveTypeIsDouble();

	/**
	 * Returns a new object of class '<em>Annotation Member Value String Array</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Annotation Member Value String Array</em>'.
	 * @generated
	 */
	AnnotationMemberValueStringArray createAnnotationMemberValueStringArray();

	/**
	 * Returns a new object of class '<em>Method Signature</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Method Signature</em>'.
	 * @generated
	 */
	MethodSignature createMethodSignature();

	/**
	 * Returns a new object of class '<em>Syntethic Method</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Syntethic Method</em>'.
	 * @generated
	 */
	SyntethicMethod createSyntethicMethod();

	/**
	 * Returns a new object of class '<em>Compilation Unit To Module</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Compilation Unit To Module</em>'.
	 * @generated
	 */
	CompilationUnitToModule createCompilationUnitToModule();

	/**
	 * Returns a new object of class '<em>Method Name</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Method Name</em>'.
	 * @generated
	 */
	MethodName createMethodName();

	/**
	 * Returns a new object of class '<em>Field Signature</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Field Signature</em>'.
	 * @generated
	 */
	FieldSignature createFieldSignature();

	/**
	 * Returns a new object of class '<em>Class Implements Interface</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Class Implements Interface</em>'.
	 * @generated
	 */
	ClassImplementsInterface createClassImplementsInterface();

	/**
	 * Returns a new object of class '<em>Annotation Member Value Array</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Annotation Member Value Array</em>'.
	 * @generated
	 */
	AnnotationMemberValueArray createAnnotationMemberValueArray();

	/**
	 * Returns a new object of class '<em>Type Nested In Anonymous Abstract</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Type Nested In Anonymous Abstract</em>'.
	 * @generated
	 */
	TypeNestedInAnonymous_Abstract createTypeNestedInAnonymous_Abstract();

	/**
	 * Returns a new object of class '<em>Class Inner Class Member</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Class Inner Class Member</em>'.
	 * @generated
	 */
	ClassInnerClassMember createClassInnerClassMember();

	/**
	 * Returns a new object of class '<em>Method Definition</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Method Definition</em>'.
	 * @generated
	 */
	MethodDefinition createMethodDefinition();

	/**
	 * Returns a new object of class '<em>Class Instance Creation</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Class Instance Creation</em>'.
	 * @generated
	 */
	ClassInstanceCreation createClassInstanceCreation();

	/**
	 * Returns a new object of class '<em>Type In Package Abstract</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Type In Package Abstract</em>'.
	 * @generated
	 */
	TypeInPackage_Abstract createTypeInPackage_Abstract();

	/**
	 * Returns a new object of class '<em>Primitive Type Is Boolean</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Primitive Type Is Boolean</em>'.
	 * @generated
	 */
	PrimitiveTypeIsBoolean createPrimitiveTypeIsBoolean();

	/**
	 * Returns a new object of class '<em>Interface In Package</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Interface In Package</em>'.
	 * @generated
	 */
	InterfaceInPackage createInterfaceInPackage();

	/**
	 * Returns a new object of class '<em>Type To Module abstract</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Type To Module abstract</em>'.
	 * @generated
	 */
	TypeToModule_abstract createTypeToModule_abstract();

	/**
	 * Returns a new object of class '<em>Enum In Anonymous</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Enum In Anonymous</em>'.
	 * @generated
	 */
	EnumInAnonymous createEnumInAnonymous();

	/**
	 * Returns a new object of class '<em>Package To PG Package</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Package To PG Package</em>'.
	 * @generated
	 */
	PackageToPGPackage createPackageToPGPackage();

	/**
	 * Returns a new object of class '<em>Unresolved Interface Declaration</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Unresolved Interface Declaration</em>'.
	 * @generated
	 */
	UnresolvedInterfaceDeclaration createUnresolvedInterfaceDeclaration();

	/**
	 * Returns a new object of class '<em>Data Flow Out</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Data Flow Out</em>'.
	 * @generated
	 */
	DataFlowOut createDataFlowOut();

	/**
	 * Returns a new object of class '<em>Class Extends Class</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Class Extends Class</em>'.
	 * @generated
	 */
	ClassExtendsClass createClassExtendsClass();

	/**
	 * Returns a new object of class '<em>Annotation Member Value Annotation Array</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Annotation Member Value Annotation Array</em>'.
	 * @generated
	 */
	AnnotationMemberValueAnnotationArray createAnnotationMemberValueAnnotationArray();

	/**
	 * Returns a new object of class '<em>Link Definition To Anonymous</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Link Definition To Anonymous</em>'.
	 * @generated
	 */
	LinkDefinitionToAnonymous createLinkDefinitionToAnonymous();

	/**
	 * Returns a new object of class '<em>Annotation Type Access On Self</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Annotation Type Access On Self</em>'.
	 * @generated
	 */
	AnnotationTypeAccessOnSelf createAnnotationTypeAccessOnSelf();

	/**
	 * Returns a new object of class '<em>Annotation Type Access On Body Decl</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Annotation Type Access On Body Decl</em>'.
	 * @generated
	 */
	AnnotationTypeAccessOnBodyDecl createAnnotationTypeAccessOnBodyDecl();

	/**
	 * Returns a new object of class '<em>Annotation Type Access On Annotation</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Annotation Type Access On Annotation</em>'.
	 * @generated
	 */
	AnnotationTypeAccessOnAnnotation createAnnotationTypeAccessOnAnnotation();

	/**
	 * Returns a new object of class '<em>Class Implements Patrameterized Interface</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Class Implements Patrameterized Interface</em>'.
	 * @generated
	 */
	ClassImplementsPatrameterizedInterface createClassImplementsPatrameterizedInterface();

	/**
	 * Returns a new object of class '<em>Orphaned Class</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Orphaned Class</em>'.
	 * @generated
	 */
	OrphanedClass createOrphanedClass();

	/**
	 * Returns a new object of class '<em>Parameterized Type To Type</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Parameterized Type To Type</em>'.
	 * @generated
	 */
	ParameterizedTypeToType createParameterizedTypeToType();

	/**
	 * Returns a new object of class '<em>Annotation</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Annotation</em>'.
	 * @generated
	 */
	Annotation createAnnotation();

	/**
	 * Returns a new object of class '<em>Type Parameter</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Type Parameter</em>'.
	 * @generated
	 */
	TypeParameter createTypeParameter();

	/**
	 * Returns a new object of class '<em>Anonymous Class Type Class</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Anonymous Class Type Class</em>'.
	 * @generated
	 */
	AnonymousClassTypeClass createAnonymousClassTypeClass();

	/**
	 * Returns a new object of class '<em>Field Access Read Write</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Field Access Read Write</em>'.
	 * @generated
	 */
	FieldAccessReadWrite createFieldAccessReadWrite();

	/**
	 * Returns a new object of class '<em>Array Initializer Ignore Expressions Edge</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Array Initializer Ignore Expressions Edge</em>'.
	 * @generated
	 */
	ArrayInitializerIgnoreExpressionsEdge createArrayInitializerIgnoreExpressionsEdge();

	/**
	 * Returns a new object of class '<em>Anonymous Class In Anonymous</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Anonymous Class In Anonymous</em>'.
	 * @generated
	 */
	AnonymousClassInAnonymous createAnonymousClassInAnonymous();

	/**
	 * Returns a new object of class '<em>Initializer In Type</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Initializer In Type</em>'.
	 * @generated
	 */
	InitializerInType createInitializerInType();

	/**
	 * Returns a new object of class '<em>Super Constructor Invocation</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Super Constructor Invocation</em>'.
	 * @generated
	 */
	SuperConstructorInvocation createSuperConstructorInvocation();

	/**
	 * Returns a new object of class '<em>Flow Node</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Flow Node</em>'.
	 * @generated
	 */
	FlowNode createFlowNode();

	/**
	 * Returns a new object of class '<em>Primitive Type Is Float</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Primitive Type Is Float</em>'.
	 * @generated
	 */
	PrimitiveTypeIsFloat createPrimitiveTypeIsFloat();

	/**
	 * Returns a new object of class '<em>Model To Pg</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Model To Pg</em>'.
	 * @generated
	 */
	ModelToPg createModelToPg();

	/**
	 * Returns a new object of class '<em>Constructor Definition</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Constructor Definition</em>'.
	 * @generated
	 */
	ConstructorDefinition createConstructorDefinition();

	/**
	 * Returns a new object of class '<em>Annotation Member Value Boolean</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Annotation Member Value Boolean</em>'.
	 * @generated
	 */
	AnnotationMemberValueBoolean createAnnotationMemberValueBoolean();

	/**
	 * Returns a new object of class '<em>Enum In Package</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Enum In Package</em>'.
	 * @generated
	 */
	EnumInPackage createEnumInPackage();

	/**
	 * Returns a new object of class '<em>Member In Annotation Visibility</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Member In Annotation Visibility</em>'.
	 * @generated
	 */
	MemberInAnnotationVisibility createMemberInAnnotationVisibility();

	/**
	 * Returns a new object of class '<em>Primitive Types Is Void</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Primitive Types Is Void</em>'.
	 * @generated
	 */
	PrimitiveTypesIsVoid createPrimitiveTypesIsVoid();

	/**
	 * Returns a new object of class '<em>Nested Class In Type</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Nested Class In Type</em>'.
	 * @generated
	 */
	NestedClassInType createNestedClassInType();

	/**
	 * Returns a new object of class '<em>Annotation Type In Package</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Annotation Type In Package</em>'.
	 * @generated
	 */
	AnnotationTypeInPackage createAnnotationTypeInPackage();

	/**
	 * Returns a new object of class '<em>Type In Compilation Unit To Module</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Type In Compilation Unit To Module</em>'.
	 * @generated
	 */
	TypeInCompilationUnitToModule createTypeInCompilationUnitToModule();

	/**
	 * Returns a new object of class '<em>Initializer In Anonymous</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Initializer In Anonymous</em>'.
	 * @generated
	 */
	InitializerInAnonymous createInitializerInAnonymous();

	/**
	 * Returns a new object of class '<em>Class Inner Anon Class Member</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Class Inner Anon Class Member</em>'.
	 * @generated
	 */
	ClassInnerAnonClassMember createClassInnerAnonClassMember();

	/**
	 * Returns a new object of class '<em>Annotation Member Value Number Array</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Annotation Member Value Number Array</em>'.
	 * @generated
	 */
	AnnotationMemberValueNumberArray createAnnotationMemberValueNumberArray();

	/**
	 * Returns a new object of class '<em>Unresolved Class Declaration</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Unresolved Class Declaration</em>'.
	 * @generated
	 */
	UnresolvedClassDeclaration createUnresolvedClassDeclaration();

	/**
	 * Returns a new object of class '<em>Parameter Annotation</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Parameter Annotation</em>'.
	 * @generated
	 */
	ParameterAnnotation createParameterAnnotation();

	/**
	 * Returns a new object of class '<em>Unresolved Type Declaration</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Unresolved Type Declaration</em>'.
	 * @generated
	 */
	UnresolvedTypeDeclaration createUnresolvedTypeDeclaration();

	/**
	 * Returns a new object of class '<em>Annotation Member Value Annotation</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Annotation Member Value Annotation</em>'.
	 * @generated
	 */
	AnnotationMemberValueAnnotation createAnnotationMemberValueAnnotation();

	/**
	 * Returns a new object of class '<em>Primitive Type Abstract</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Primitive Type Abstract</em>'.
	 * @generated
	 */
	PrimitiveType_Abstract createPrimitiveType_Abstract();

	/**
	 * Returns a new object of class '<em>Annotation Member Value</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Annotation Member Value</em>'.
	 * @generated
	 */
	AnnotationMemberValue createAnnotationMemberValue();

	/**
	 * Returns a new object of class '<em>Field Access</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Field Access</em>'.
	 * @generated
	 */
	FieldAccess createFieldAccess();

	/**
	 * Returns a new object of class '<em>Annotation Member Value Array Values</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Annotation Member Value Array Values</em>'.
	 * @generated
	 */
	AnnotationMemberValueArrayValues createAnnotationMemberValueArrayValues();

	/**
	 * Returns a new object of class '<em>Anonymous Enum Constant</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Anonymous Enum Constant</em>'.
	 * @generated
	 */
	AnonymousEnumConstant createAnonymousEnumConstant();

	/**
	 * Returns a new object of class '<em>Enum Constant</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Enum Constant</em>'.
	 * @generated
	 */
	EnumConstant createEnumConstant();

	/**
	 * Returns a new object of class '<em>Types Visibility</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Types Visibility</em>'.
	 * @generated
	 */
	TypesVisibility createTypesVisibility();

	/**
	 * Returns a new object of class '<em>Abstract Method Definition</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Abstract Method Definition</em>'.
	 * @generated
	 */
	AbstractMethodDefinition createAbstractMethodDefinition();

	/**
	 * Returns a new object of class '<em>Container To Module abstract</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Container To Module abstract</em>'.
	 * @generated
	 */
	ContainerToModule_abstract createContainerToModule_abstract();

	/**
	 * Returns a new object of class '<em>Interface In Anonymous</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Interface In Anonymous</em>'.
	 * @generated
	 */
	InterfaceInAnonymous createInterfaceInAnonymous();

	/**
	 * Returns the package supported by this factory.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the package supported by this factory.
	 * @generated
	 */
	RulesPackage getRulesPackage();

} //RulesFactory
