Ejemplo n.º 1
0
        /// <summary>
        /// Returns the created module or creates one if none has been created
        /// </summary>
        /// <returns></returns>
        public CorModuleDef GetOrCreateCorModuleDef()
        {
            Debugger.DebugVerifyThread();
            if (corModuleDef != null)
                return corModuleDef;

            // No lock needed, must be called on debugger thread

            corModuleDef = new CorModuleDef(CorModule.GetMetaDataInterface<IMetaDataImport>(), new CorModuleDefHelper(this));
            var asm = Assembly.GetOrCreateCorAssemblyDef(this, corModuleDef);
            asm.Modules.Add(corModuleDef);
            corModuleDef.Initialize();

            return corModuleDef;
        }