public AssemblerGenerator(CodeGeneratorContext context)
        {
            m_context = context;
            string ns;

            if (string.IsNullOrEmpty(m_context.AssemblerGenerationOptions.Namespace))
            {
                ns = "NS" + Guid.NewGuid().ToString("N");
            }
            else
            {
                ns = m_context.AssemblerGenerationOptions.Namespace;
            }

            m_generator = new ClassMappingGenerator(m_context);

            m_namespace = new CodeNamespace(ns);
            m_namespace.Imports.Add(new CodeNamespaceImport("System"));
            m_namespace.Imports.Add(new CodeNamespaceImport("System.Text"));
            m_namespace.Imports.Add(new CodeNamespaceImport("System.Collections"));
            m_namespace.Imports.Add(new CodeNamespaceImport("System.Collections.Generic"));
            m_namespace.Imports.Add(new CodeNamespaceImport("Otis"));
            m_assemblerClass            = new CodeTypeDeclaration("Assembler");
            m_assemblerClass.IsClass    = true;
            m_assemblerClass.Attributes = MemberAttributes.Public;
            m_namespace.Types.Add(m_assemblerClass);
            m_explicitAssemblies.Add(Assembly.GetExecutingAssembly().CodeBase.Substring(8));
        }
        public AssemblerGenerator(CodeGeneratorContext context)
        {
            m_context = context;
            string ns;
            if (string.IsNullOrEmpty(m_context.AssemblerGenerationOptions.Namespace))
                ns = "NS" + Guid.NewGuid().ToString("N");
            else
                ns = m_context.AssemblerGenerationOptions.Namespace;

            m_generator = new ClassMappingGenerator(m_context);

            m_namespace = new CodeNamespace(ns);
            m_namespace.Imports.Add(new CodeNamespaceImport("System"));
            m_namespace.Imports.Add(new CodeNamespaceImport("System.Text"));
            m_namespace.Imports.Add(new CodeNamespaceImport("System.Collections"));
            m_namespace.Imports.Add(new CodeNamespaceImport("System.Collections.Generic"));
            m_namespace.Imports.Add(new CodeNamespaceImport("Otis"));
            m_assemblerClass = new CodeTypeDeclaration("Assembler");
            m_assemblerClass.IsClass = true;
            m_assemblerClass.Attributes = MemberAttributes.Public;
            m_namespace.Types.Add(m_assemblerClass);
            m_explicitAssemblies.Add(Assembly.GetExecutingAssembly().CodeBase.Substring(8));
        }