public void Generate()
        {
            if (_assemblyNames.Length == 0)
            {
                return;
            }

            BuildData();

            _mainType = _module.MainType;

            // Methods
            var methods    = _mainType.Methods;
            var initMethod = (BuildMethod)methods.Add();

            MergeInitialize(initMethod);
            OnMergedAssemblyResolve(methods.Add());
            GetMergedAssemblyNames(methods.Add());

            _mainType.AddStartupMethod(initMethod);

            // Fields
            GenerateFields();
            _mainType.AddLockObjectField("_mergeLockObject");

            // Dependencies
            _mainType.GenerateGetAssemblyName();
            _mainType.GenerateReadString();
            _mainType.GenerateRead7BitEncodedInt();
        }
示例#2
0
        public void Generate()
        {
            if (_strings.Count == 0)
            {
                return;
            }

            BuildData();

            _mainType = _module.MainType;

            // Methods
            var initMethod = (BuildMethod)_mainType.Methods.Add();

            LoadStrings(initMethod);
            _mainType.AddStartupMethod(initMethod);

            // Fields
            GenerateFields();

            // Dependencies
            _mainType.GenerateReadStringIntern();
        }