Example #1
0
        /// <summary>
        /// Creates the view module to be rendered as setting of CommerceApplication (in client side).
        /// </summary>
        /// <param name="moduleTable">The module table.</param>
        /// <param name="clientResourceService">The client resource service.</param>
        /// <returns>An object that will be serialized and sent to the client when initializing a view.</returns>
        public override ModuleViewModel CreateViewModel(ModuleTable moduleTable, IClientResourceService clientResourceService)
        {
            var model = base.CreateViewModel(moduleTable, clientResourceService);

            AddUiRoute(model);
            return(model);
        }
Example #2
0
        public AssemblyLoader()
        {
            _signatureResolver = new SignatureResolver(this);

            _assemblyTable = new AssemblyTable(this);

            Const             = new ConstantTable(this);
            Files             = new FileTable(this);
            ManifestResources = new ManifestResourceTable(this);

            Modules = new ModuleTable(this);

            ModuleRefs   = new ModuleRefTable(this);
            AssemblyRefs = new AssemblyRefTable(this);

            TypeRefs    = new TypeRefTable(this);
            MemberRefs  = new MemberRefTable(this);
            _typeSpec   = new TypeSpecTable(this);
            _methodSpec = new MethodSpecTable(this);

            Parameters        = new ParamTable(this);
            Fields            = new FieldTable(this);
            Properties        = new PropertyTable(this);
            Events            = new EventTable(this);
            GenericParameters = new GenericParamTable(this);

            Methods = new MethodTable(this);
            Types   = new TypeTable(this);
        }
        public override ModuleViewModel CreateViewModel(ModuleTable moduleTable,
                                                        IClientResourceService clientResourceService)
        {
            var contentInspectorViewModel = new ContentInspectorModelViewModel(this, clientResourceService);

            contentInspectorViewModel.rasterizeBaseUrl = ConfigurationManager.AppSettings["ContentInspector.RasterizeBaseUrl"];  // "/static/css/";
            return(contentInspectorViewModel);
        }
Example #4
0
        public CodeGenerator(AastNode tree, ModuleTable modules, DataTable data)
        {
            _tree       = tree;
            moduleTable = modules;
            dataTable   = data;

            reset();
        }
Example #5
0
        public static async Task <Module> GetModule(string moduleId)
        {
            var x = new Module();

            x = await ModuleTable.LookupAsync(moduleId).ConfigureAwait(false);

            return(x);
        }
Example #6
0
        public static void SyncAsync()
        {
            MobileService.SyncContext.PushAsync().ConfigureAwait(false);

            ModuleTable.PullAsync("allModules", ModuleTable.CreateQuery());
            QATable.PullAsync("allQA", QATable.CreateQuery());
            CommentTable.PullAsync("allComments", CommentTable.CreateQuery());
            SkillsTable.PullAsync("allSkills", SkillsTable.CreateQuery());
        }
Example #7
0
        /// <inheritdoc />
        public override ModuleViewModel CreateViewModel(ModuleTable moduleTable,
                                                        IClientResourceService clientResourceService)
        {
            var dataSource = ServiceLocator.Current.GetInstance <IProjectCategoriesDataSource>();
            var options    = ServiceLocator.Current.GetInstance <ProjectOptions>();

            return(new ProjectEnhancementsModuleViewModel(this, clientResourceService, dataSource.List().ToList(),
                                                          options));
        }
Example #8
0
        public override ModuleViewModel CreateViewModel(ModuleTable moduleTable, IClientResourceService clientResourceService)
        {
            var viewModel = new TemplatesModuleViewModel(this)
            {
                TemplatesRoot = TemplatesInitialization.TemplateRoot
            };

            return(viewModel);
        }
        /// <inheritdoc />
        public override ModuleViewModel CreateViewModel(ModuleTable moduleTable, IClientResourceService clientResourceService)
        {
            var options = ServiceLocator.Current.GetInstance <ExternalReviewOptions>();
            var model   = new AdvancedReviewsModuleViewModel(this, clientResourceService, options);
            var profile = EPiServerProfile.Get(PrincipalInfo.CurrentPrincipal.Identity.Name);

            model.Language = profile.Language;
            return(model);
        }
        /// <summary>
        /// Gets the Disqus configuration URL.
        /// </summary>
        /// <param name="requestContext">The request context.</param>
        /// <param name="moduleTable">The module table.</param>
        /// <returns></returns>
        private static string GetConfigurationUrl(RequestContext requestContext, ModuleTable moduleTable)
        {
            ShellModule currentModule;
            var         moduleArea = moduleTable.TryGetModule(typeof(RenderingEditModeExtension).Assembly, out currentModule)
                                 ? currentModule.Name
                                 : "EPiServer.Disqus.UI";

            var routeValues = new RouteValueDictionary {
                { "moduleArea", moduleArea }
            };

            return(new UrlHelper(requestContext).Action("Index", "Settings", routeValues));
        }
Example #11
0
        public void ModuleTableConstructorWorksBigIndexes_Test()
        {
            var moduleTable = new ModuleTable(RawDotNetStructures.RawModuleTableBig, 0x02, 1, 0x07);

            Assert.Equal((uint)1, moduleTable.NumberOfRows);
            Assert.Equal(1, moduleTable.Rows.Count);
            Assert.Equal((ushort)0x2211, moduleTable.Rows.First().Generation);
            Assert.Equal((uint)0xbbaa4433, moduleTable.Rows.First().Name);
            Assert.Equal((uint)0xbbaa6655, moduleTable.Rows.First().Mvid);
            Assert.Equal((uint)0xbbaa8877, moduleTable.Rows.First().EncId);
            Assert.Equal((uint)0xbbaaaa99, moduleTable.Rows.First().EncBaseId);
            Assert.Equal((uint)0x12, moduleTable.Rows.First().Length);
            Assert.Equal((uint)0x12, moduleTable.Length);
        }
 public TelemetryService(
     TelemetryOptions telemetryOptions,
     LicensingOptions licensingOptions,
     IPrincipalAccessor principalAccessor,
     ModuleTable moduleTable,
     IObjectSerializer objectSerializer,
     UIUserProvider uiUserProvider)
 {
     _telemetryOptions  = telemetryOptions;
     _licensingOptions  = licensingOptions;
     _principalAccessor = principalAccessor;
     _moduleTable       = moduleTable;
     _objectSerializer  = objectSerializer;
     _uiUserProvider    = uiUserProvider;
 }
Example #13
0
        public static int InsertOrUpdateModules(Module module)
        {
            var lookup = ModuleTable.LookupAsync(module.id);

            if (lookup == null || module.id == null)
            {
                ModuleTable.InsertAsync(module);
            }
            else
            {
                ModuleTable.UpdateAsync(module);
            }
            MobileService.SyncContext.PushAsync();
            return(1);
        }
Example #14
0
        public void RemovedModule() {
            var id = Guid.NewGuid().ToString();
            var config = new InterpreterConfiguration(id, id, version: new Version(3, 5));
            var fact = new MockPythonInterpreterFactory(config);
            var interp = new MockPythonInterpreter(fact);
            var modules = new ModuleTable(null, interp);

            var orig = modules.Select(kv => kv.Key).ToSet();

            interp.AddModule("test", new MockPythonModule("test"));

            ModuleReference modref;
            Assert.IsTrue(modules.TryImport("test", out modref));

            interp.RemoveModule("test", retainName: true);

            modules.ReInit();
            Assert.IsFalse(modules.TryImport("test", out modref));
        }
        public static void AddOrReplaceModule(Modules moduleName, Module.Module module)
        {
            try
            {
                using (SQLiteConnection dbConn = new SQLiteConnection(new SQLitePlatformWinRT(), path))
                {
                    ModuleTable newRow = new ModuleTable
                    {
                        ModuleName   = moduleName,
                        ModuleConfig = SerializeModule(module)
                    };

                    // ReSharper disable once AccessToDisposedClosure
                    dbConn.RunInTransaction(() => { dbConn.InsertOrReplace(newRow); });
                }
            }
            catch (Exception exception)
            {
                Log.Log.WriteException(exception);
            }
        }
Example #16
0
        public void RemovedModule()
        {
            var id      = Guid.NewGuid().ToString();
            var config  = new InterpreterConfiguration(id, id, new Version(3, 5));
            var fact    = new MockPythonInterpreterFactory(config);
            var interp  = new MockPythonInterpreter(fact);
            var modules = new ModuleTable(null, interp);

            var orig = modules.Select(kv => kv.Key).ToSet();

            interp.AddModule("test", new MockPythonModule("test"));

            ModuleReference modref;

            Assert.IsTrue(modules.TryImport("test", out modref));

            interp.RemoveModule("test", retainName: true);

            modules.ReInit();
            Assert.IsFalse(modules.TryImport("test", out modref));
        }
Example #17
0
        protected override string BuildValue(ModuleTable moduleTable)
        {
            var value = string.Empty;

            //Set self value.
            if (this.HasBase)
            {
                value = moduleTable[this.BaseId].GetValue();
                foreach (var p in this.ReplaceCommands)
                {
                    var oldValue = "{$" + p.Key + "}";
                    value = value.Replace(oldValue, this.OriginalValue);
                }
            }
            else
            {
                value = this.OriginalValue;
            }

            return(value);
        }
Example #18
0
        void EncodeModuleTable(ModuleTable table)
        {
            int index = 0;

            foreach (ModuleRow row in table.Rows)
            {
                this.asm.ALIGN(Assembly.OBJECT_ALIGNMENT);
                this.asm.LABEL(moduleName + " ModuleRow#" + index);
                this.asm.AddObjectFields(typeof(SharpOS.AOT.Metadata.ModuleRow).ToString());

                this.asm.DATA(row.Generation);
                this.asm.DATA(row.Name);
                this.asm.DATA(row.Mvid);
                this.asm.DATA(row.EncId);
                this.asm.DATA(row.EncBaseId);

                ++index;
            }

            this.MetadataArray("Module", table);
        }
Example #19
0
        public override void VisitModuleDefinition(ModuleDefinition module)
        {
            if (module.Main)
            {
                ModuleTable modTable = m_tableWriter.GetModuleTable();
                ModuleRow   modRow   = m_rowWriter.CreateModuleRow(
                    0,
                    m_mdWriter.AddString(module.Name),
                    m_mdWriter.AddGuid(module.Mvid),
                    0,
                    0);

                modTable.Rows.Add(modRow);
                module.MetadataToken = new MetadataToken(TokenType.Module, 1);
            }
            else
            {
                // multiple module assemblies
                throw new NotImplementedException();
            }
        }
Example #20
0
        public void ModuleTableConstructorWorksBigIndexes_Test()
        {
            var fakeStreamString = new Mock <IMETADATASTREAM_STRING>();
            var fakeStreamGuid   = new Mock <IMETADATASTREAM_GUID>();
            var heapOffsets      = new PeNet.Structures.MetaDataTables.Indices.HeapOffsetSizes(0x07);
            var moduleTable      = new ModuleTable(
                RawDotNetStructures.RawModuleTableBig,
                0x02,
                1,
                fakeStreamString.Object,
                fakeStreamGuid.Object,
                heapOffsets);

            Assert.Equal((uint)1, moduleTable.NumberOfRows);
            Assert.Single(moduleTable.Rows);
            Assert.Equal((ushort)0x2211, moduleTable.Rows.First().Generation);
            Assert.Equal((uint)0xbbaa4433, moduleTable.Rows.First().Name);
            Assert.Equal((uint)0xbbaa6655, moduleTable.Rows.First().Mvid);
            Assert.Equal((uint)0xbbaa8877, moduleTable.Rows.First().EncId);
            Assert.Equal((uint)0xbbaaaa99, moduleTable.Rows.First().EncBaseId);
            Assert.Equal((uint)0x12, moduleTable.Rows.First().Length);
            Assert.Equal((uint)0x12, moduleTable.Length);
        }
Example #21
0
        public override void VisitModuleDefinitionCollection(ModuleDefinitionCollection modules)
        {
            ModuleTable mt = m_tableReader.GetModuleTable();

            if (mt == null || mt.Rows.Count != 1)
            {
                throw new ReflectionException("Can not read main module");
            }

            ModuleRow        mr   = mt [0];
            string           name = ReadString(mr.Name);
            ModuleDefinition main = new ModuleDefinition(name, m_asmDef, this, true);

            main.Mvid          = m_streams.GuidHeap [mr.Mvid];
            main.MetadataToken = new MetadataToken(TokenType.Module, 1);
            modules.Add(main);
            m_module = main;
            m_module.Accept(this);

            FileTable ftable = m_tableReader.GetFileTable();

            if (ftable == null || ftable.Rows.Count == 0)
            {
                return;
            }

            foreach (FileRow frow in ftable.Rows)
            {
                if (frow.Flags != FileAttributes.ContainsMetaData)
                {
                    continue;
                }

                name = ReadString(frow.Name);
                FileInfo location = new FileInfo(
                    m_img.FileInformation != null ? Path.Combine(m_img.FileInformation.DirectoryName, name) : name);
                if (!File.Exists(location.FullName))
                {
                    throw new FileNotFoundException("Module not found : " + name);
                }

                try {
                    ImageReader module = ImageReader.Read(location.FullName);
                    mt = module.Image.MetadataRoot.Streams.TablesHeap [ModuleTable.RId] as ModuleTable;
                    if (mt == null || mt.Rows.Count != 1)
                    {
                        throw new ReflectionException("Can not read module : " + name);
                    }

                    mr = mt [0];
                    ModuleDefinition modext = new ModuleDefinition(name, m_asmDef,
                                                                   new StructureReader(module, m_manifestOnly), false);
                    modext.Mvid = module.Image.MetadataRoot.Streams.GuidHeap [mr.Mvid];

                    modules.Add(modext);
                    modext.Accept(this);
                } catch (ReflectionException) {
                    throw;
                } catch (Exception e) {
                    throw new ReflectionException("Can not read module : " + name, e);
                }
            }
        }
 public virtual void VisitModuleTable(ModuleTable table)
 {
 }
        /// <inheritdoc />
        public override ModuleViewModel CreateViewModel(ModuleTable moduleTable, IClientResourceService clientResourceService)
        {
            var options = ServiceLocator.Current.GetInstance <ExternalReviewOptions>();

            return(new AdvancedReviewsModuleViewModel(this, clientResourceService, options));
        }
Example #24
0
 internal RequireAnalysisUnit(ModuleTree tree, ModuleTable table, ProjectEntry entry, string dependency) : base(entry.Tree, entry.EnvironmentRecord)
 {
     _tree       = tree;
     _table      = table;
     _dependency = dependency;
 }
 public override ModuleViewModel CreateViewModel(ModuleTable moduleTable, IClientResourceService clientResourceService)
 {
     return(new ModuleViewModel(this, clientResourceService));
 }
Example #26
0
        public void Read(ReaderContext ctxt)
        {
            var reader = ctxt.GetTablesReader();

            var actualReserved0 = reader.ReadUInt32();

            if (actualReserved0 != reserved0)
            {
                throw new PEException("invalid MetadataTable header");
            }
            var actualMajorVersion = reader.ReadByte();

            if (actualMajorVersion != majorVersion)
            {
                throw new PEException("invalid MetadataTable header");
            }
            var actualMinorVersion = reader.ReadByte();

            if (actualMinorVersion != minorVersion)
            {
                throw new PEException("invalid MetadataTable header");
            }
            var heapSizes = reader.ReadByte();

            IsStringStreamBig = (heapSizes & 0x01) != 0;
            IsGuidStreamBig   = (heapSizes & 0x02) != 0;
            IsBlobStreamBig   = (heapSizes & 0x04) != 0;
            Reserved1         = reader.ReadByte();

            var valid  = new IntSet64(reader.ReadUInt64());
            var sorted = new IntSet64(reader.ReadUInt64());

            for (var i = 0; i < 64; i++)
            {
                var numRows = 0;
                if (valid[i])
                {
                    numRows = (int)reader.ReadUInt32();
                }

                switch ((TableTag)i)
                {
                case TableTag.Module:
                    ModuleTable = new ModuleTable(numRows);
                    break;

                case TableTag.Assembly:
                    AssemblyTable = new AssemblyTable(numRows);
                    break;

                case TableTag.AssemblyOS:
                    AssemblyOSTable = new AssemblyOSTable(numRows);
                    break;

                case TableTag.AssemblyProcessor:
                    AssemblyProcessorTable = new AssemblyProcessorTable(numRows);
                    break;

                case TableTag.AssemblyRef:
                    AssemblyRefTable = new AssemblyRefTable(numRows);
                    break;

                case TableTag.AssemblyRefOS:
                    AssemblyRefOSTable = new AssemblyRefOSTable(numRows);
                    break;

                case TableTag.AssemblyRefProcessor:
                    AssemblyRefProcessorTable = new AssemblyRefProcessorTable(numRows);
                    break;

                case TableTag.ClassLayout:
                    ClassLayoutTable = new ClassLayoutTable(numRows);
                    break;

                case TableTag.Constant:
                    ConstantTable = new ConstantTable(numRows);
                    break;

                case TableTag.CustomAttribute:
                    CustomAttributeTable = new CustomAttributeTable(numRows);
                    break;

                case TableTag.DeclSecurity:
                    DeclSecurityTable = new DeclSecurityTable(numRows);
                    break;

                case TableTag.EventMap:
                    EventMapTable = new EventMapTable(numRows);
                    break;

                case TableTag.Event:
                    EventTable = new EventTable(numRows);
                    break;

                case TableTag.ExportedType:
                    ExportedTypeTable = new ExportedTypeTable(numRows);
                    break;

                case TableTag.Field:
                    FieldTable = new FieldTable(numRows);
                    break;

                case TableTag.FieldLayout:
                    FieldLayoutTable = new FieldLayoutTable(numRows);
                    break;

                case TableTag.FieldMarshal:
                    FieldMarshalTable = new FieldMarshalTable(numRows);
                    break;

                case TableTag.FieldRVA:
                    FieldRVATable = new FieldRVATable(numRows);
                    break;

                case TableTag.File:
                    FileTable = new FileTable(numRows);
                    break;

                case TableTag.GenericParam:
                    GenericParamTable = new GenericParamTable(numRows);
                    break;

                case TableTag.GenericParamConstraint:
                    GenericParamConstraintTable = new GenericParamConstraintTable(numRows);
                    break;

                case TableTag.ImplMap:
                    ImplMapTable = new ImplMapTable(numRows);
                    break;

                case TableTag.InterfaceImpl:
                    InterfaceImplTable = new InterfaceImplTable(numRows);
                    break;

                case TableTag.ManifestResource:
                    ManifestResourceTable = new ManifestResourceTable(numRows);
                    break;

                case TableTag.MemberRef:
                    MemberRefTable = new MemberRefTable(numRows);
                    break;

                case TableTag.MethodDef:
                    MethodDefTable = new MethodDefTable(numRows);
                    break;

                case TableTag.MethodImpl:
                    MethodImplTable = new MethodImplTable(numRows);
                    break;

                case TableTag.MethodSemantics:
                    MethodSemanticsTable = new MethodSemanticsTable(numRows);
                    break;

                case TableTag.MethodSpec:
                    MethodSpecTable = new MethodSpecTable(numRows);
                    break;

                case TableTag.ModuleRef:
                    ModuleRefTable = new ModuleRefTable(numRows);
                    break;

                case TableTag.NestedClass:
                    NestedClassTable = new NestedClassTable(numRows);
                    break;

                case TableTag.Param:
                    ParamTable = new ParamTable(numRows);
                    break;

                case TableTag.Property:
                    PropertyTable = new PropertyTable(numRows);
                    break;

                case TableTag.PropertyMap:
                    PropertyMapTable = new PropertyMapTable(numRows);
                    break;

                case TableTag.StandAloneSig:
                    StandAloneSigTable = new StandAloneSigTable(numRows);
                    break;

                case TableTag.TypeDef:
                    TypeDefTable = new TypeDefTable(numRows);
                    break;

                case TableTag.TypeRef:
                    TypeRefTable = new TypeRefTable(numRows);
                    break;

                case TableTag.TypeSpec:
                    TypeSpecTable = new TypeSpecTable(numRows);
                    break;

                default:
                    // Ignore
                    break;
                }
            }

            DetermineIndexCodingSizes();

            for (var i = 0; i < 64; i++)
            {
                if (valid[i])
                {
                    switch ((TableTag)i)
                    {
                    case TableTag.Module:
                        ModuleTable.Read(ctxt, reader);
                        break;

                    case TableTag.Assembly:
                        AssemblyTable.Read(ctxt, reader);
                        break;

                    case TableTag.AssemblyOS:
                        AssemblyOSTable.Read(ctxt, reader);
                        break;

                    case TableTag.AssemblyProcessor:
                        AssemblyProcessorTable.Read(ctxt, reader);
                        break;

                    case TableTag.AssemblyRef:
                        AssemblyRefTable.Read(ctxt, reader);
                        break;

                    case TableTag.AssemblyRefOS:
                        AssemblyRefOSTable.Read(ctxt, reader);
                        break;

                    case TableTag.AssemblyRefProcessor:
                        AssemblyRefProcessorTable.Read(ctxt, reader);
                        break;

                    case TableTag.ClassLayout:
                        ClassLayoutTable.Read(ctxt, reader);
                        break;

                    case TableTag.Constant:
                        ConstantTable.Read(ctxt, reader);
                        break;

                    case TableTag.CustomAttribute:
                        CustomAttributeTable.Read(ctxt, reader);
                        break;

                    case TableTag.DeclSecurity:
                        DeclSecurityTable.Read(ctxt, reader);
                        break;

                    case TableTag.EventMap:
                        EventMapTable.Read(ctxt, reader);
                        break;

                    case TableTag.Event:
                        EventTable.Read(ctxt, reader);
                        break;

                    case TableTag.ExportedType:
                        ExportedTypeTable.Read(ctxt, reader);
                        break;

                    case TableTag.Field:
                        FieldTable.Read(ctxt, reader);
                        break;

                    case TableTag.FieldLayout:
                        FieldLayoutTable.Read(ctxt, reader);
                        break;

                    case TableTag.FieldMarshal:
                        FieldMarshalTable.Read(ctxt, reader);
                        break;

                    case TableTag.FieldRVA:
                        FieldRVATable.Read(ctxt, reader);
                        break;

                    case TableTag.File:
                        FileTable.Read(ctxt, reader);
                        break;

                    case TableTag.GenericParam:
                        GenericParamTable.Read(ctxt, reader);
                        break;

                    case TableTag.GenericParamConstraint:
                        GenericParamConstraintTable.Read(ctxt, reader);
                        break;

                    case TableTag.ImplMap:
                        ImplMapTable.Read(ctxt, reader);
                        break;

                    case TableTag.InterfaceImpl:
                        InterfaceImplTable.Read(ctxt, reader);
                        break;

                    case TableTag.ManifestResource:
                        ManifestResourceTable.Read(ctxt, reader);
                        break;

                    case TableTag.MemberRef:
                        MemberRefTable.Read(ctxt, reader);
                        break;

                    case TableTag.MethodDef:
                        MethodDefTable.Read(ctxt, reader);
                        break;

                    case TableTag.MethodImpl:
                        MethodImplTable.Read(ctxt, reader);
                        break;

                    case TableTag.MethodSemantics:
                        MethodSemanticsTable.Read(ctxt, reader);
                        break;

                    case TableTag.MethodSpec:
                        MethodSpecTable.Read(ctxt, reader);
                        break;

                    case TableTag.ModuleRef:
                        ModuleRefTable.Read(ctxt, reader);
                        break;

                    case TableTag.NestedClass:
                        NestedClassTable.Read(ctxt, reader);
                        break;

                    case TableTag.Param:
                        ParamTable.Read(ctxt, reader);
                        break;

                    case TableTag.Property:
                        PropertyTable.Read(ctxt, reader);
                        break;

                    case TableTag.PropertyMap:
                        PropertyMapTable.Read(ctxt, reader);
                        break;

                    case TableTag.StandAloneSig:
                        StandAloneSigTable.Read(ctxt, reader);
                        break;

                    case TableTag.TypeDef:
                        TypeDefTable.Read(ctxt, reader);
                        break;

                    case TableTag.TypeRef:
                        TypeRefTable.Read(ctxt, reader);
                        break;

                    case TableTag.TypeSpec:
                        TypeSpecTable.Read(ctxt, reader);
                        break;

                    default:
                        throw new PEException("unexpected table tag in MetadataTable body");
                    }
                }
            }

            ModuleTable.ResolveIndexes(ctxt);
            TypeRefTable.ResolveIndexes(ctxt);
            TypeDefTable.ResolveIndexes(ctxt);
            FieldTable.ResolveIndexes(ctxt);
            MethodDefTable.ResolveIndexes(ctxt);
            ParamTable.ResolveIndexes(ctxt);
            InterfaceImplTable.ResolveIndexes(ctxt);
            MemberRefTable.ResolveIndexes(ctxt);
            ConstantTable.ResolveIndexes(ctxt);
            CustomAttributeTable.ResolveIndexes(ctxt);
            FieldMarshalTable.ResolveIndexes(ctxt);
            DeclSecurityTable.ResolveIndexes(ctxt);
            ClassLayoutTable.ResolveIndexes(ctxt);
            FieldLayoutTable.ResolveIndexes(ctxt);
            StandAloneSigTable.ResolveIndexes(ctxt);
            EventMapTable.ResolveIndexes(ctxt);
            EventTable.ResolveIndexes(ctxt);
            PropertyMapTable.ResolveIndexes(ctxt);
            PropertyTable.ResolveIndexes(ctxt);
            MethodSemanticsTable.ResolveIndexes(ctxt);
            MethodImplTable.ResolveIndexes(ctxt);
            ModuleRefTable.ResolveIndexes(ctxt);
            TypeSpecTable.ResolveIndexes(ctxt);
            ImplMapTable.ResolveIndexes(ctxt);
            FieldRVATable.ResolveIndexes(ctxt);
            AssemblyTable.ResolveIndexes(ctxt);
            AssemblyProcessorTable.ResolveIndexes(ctxt);
            AssemblyOSTable.ResolveIndexes(ctxt);
            AssemblyRefTable.ResolveIndexes(ctxt);
            AssemblyRefProcessorTable.ResolveIndexes(ctxt);
            AssemblyRefOSTable.ResolveIndexes(ctxt);
            FileTable.ResolveIndexes(ctxt);
            ExportedTypeTable.ResolveIndexes(ctxt);
            ManifestResourceTable.ResolveIndexes(ctxt);
            NestedClassTable.ResolveIndexes(ctxt);
            GenericParamTable.ResolveIndexes(ctxt);
            MethodSpecTable.ResolveIndexes(ctxt);
            GenericParamConstraintTable.ResolveIndexes(ctxt);
        }
Example #27
0
        public void Read(ReaderContext ctxt)
        {
            var reader = ctxt.GetTablesReader();

            var actualReserved0 = reader.ReadUInt32();
            if (actualReserved0 != reserved0)
                throw new PEException("invalid MetadataTable header");
            var actualMajorVersion = reader.ReadByte();
            if (actualMajorVersion != majorVersion)
                throw new PEException("invalid MetadataTable header");
            var actualMinorVersion = reader.ReadByte();
            if (actualMinorVersion != minorVersion)
                throw new PEException("invalid MetadataTable header");
            var heapSizes = reader.ReadByte();
            IsStringStreamBig = (heapSizes & 0x01) != 0;
            IsGuidStreamBig = (heapSizes & 0x02) != 0;
            IsBlobStreamBig = (heapSizes & 0x04) != 0;
            Reserved1 = reader.ReadByte();

            var valid = new IntSet64(reader.ReadUInt64());
            var sorted = new IntSet64(reader.ReadUInt64());

            for (var i = 0; i < 64; i++)
            {
                var numRows = 0;
                if (valid[i])
                    numRows = (int)reader.ReadUInt32();

                switch ((TableTag)i)
                {
                case TableTag.Module:
                    ModuleTable = new ModuleTable(numRows);
                    break;
                case TableTag.Assembly:
                    AssemblyTable = new AssemblyTable(numRows);
                    break;
                case TableTag.AssemblyOS:
                    AssemblyOSTable = new AssemblyOSTable(numRows);
                    break;
                case TableTag.AssemblyProcessor:
                    AssemblyProcessorTable = new AssemblyProcessorTable(numRows);
                    break;
                case TableTag.AssemblyRef:
                    AssemblyRefTable = new AssemblyRefTable(numRows);
                    break;
                case TableTag.AssemblyRefOS:
                    AssemblyRefOSTable = new AssemblyRefOSTable(numRows);
                    break;
                case TableTag.AssemblyRefProcessor:
                    AssemblyRefProcessorTable = new AssemblyRefProcessorTable(numRows);
                    break;
                case TableTag.ClassLayout:
                    ClassLayoutTable = new ClassLayoutTable(numRows);
                    break;
                case TableTag.Constant:
                    ConstantTable = new ConstantTable(numRows);
                    break;
                case TableTag.CustomAttribute:
                    CustomAttributeTable = new CustomAttributeTable(numRows);
                    break;
                case TableTag.DeclSecurity:
                    DeclSecurityTable = new DeclSecurityTable(numRows);
                    break;
                case TableTag.EventMap:
                    EventMapTable = new EventMapTable(numRows);
                    break;
                case TableTag.Event:
                    EventTable = new EventTable(numRows);
                    break;
                case TableTag.ExportedType:
                    ExportedTypeTable = new ExportedTypeTable(numRows);
                    break;
                case TableTag.Field:
                    FieldTable = new FieldTable(numRows);
                    break;
                case TableTag.FieldLayout:
                    FieldLayoutTable = new FieldLayoutTable(numRows);
                    break;
                case TableTag.FieldMarshal:
                    FieldMarshalTable = new FieldMarshalTable(numRows);
                    break;
                case TableTag.FieldRVA:
                    FieldRVATable = new FieldRVATable(numRows);
                    break;
                case TableTag.File:
                    FileTable = new FileTable(numRows);
                    break;
                case TableTag.GenericParam:
                    GenericParamTable = new GenericParamTable(numRows);
                    break;
                case TableTag.GenericParamConstraint:
                    GenericParamConstraintTable = new GenericParamConstraintTable(numRows);
                    break;
                case TableTag.ImplMap:
                    ImplMapTable = new ImplMapTable(numRows);
                    break;
                case TableTag.InterfaceImpl:
                    InterfaceImplTable = new InterfaceImplTable(numRows);
                    break;
                case TableTag.ManifestResource:
                    ManifestResourceTable = new ManifestResourceTable(numRows);
                    break;
                case TableTag.MemberRef:
                    MemberRefTable = new MemberRefTable(numRows);
                    break;
                case TableTag.MethodDef:
                    MethodDefTable = new MethodDefTable(numRows);
                    break;
                case TableTag.MethodImpl:
                    MethodImplTable = new MethodImplTable(numRows);
                    break;
                case TableTag.MethodSemantics:
                    MethodSemanticsTable = new MethodSemanticsTable(numRows);
                    break;
                case TableTag.MethodSpec:
                    MethodSpecTable = new MethodSpecTable(numRows);
                    break;
                case TableTag.ModuleRef:
                    ModuleRefTable = new ModuleRefTable(numRows);
                    break;
                case TableTag.NestedClass:
                    NestedClassTable = new NestedClassTable(numRows);
                    break;
                case TableTag.Param:
                    ParamTable = new ParamTable(numRows);
                    break;
                case TableTag.Property:
                    PropertyTable = new PropertyTable(numRows);
                    break;
                case TableTag.PropertyMap:
                    PropertyMapTable = new PropertyMapTable(numRows);
                    break;
                case TableTag.StandAloneSig:
                    StandAloneSigTable = new StandAloneSigTable(numRows);
                    break;
                case TableTag.TypeDef:
                    TypeDefTable = new TypeDefTable(numRows);
                    break;
                case TableTag.TypeRef:
                    TypeRefTable = new TypeRefTable(numRows);
                    break;
                case TableTag.TypeSpec:
                    TypeSpecTable = new TypeSpecTable(numRows);
                    break;
                default:
                    // Ignore
                    break;
                }
            }

            DetermineIndexCodingSizes();

            for (var i = 0; i < 64; i++)
            {
                if (valid[i])
                {
                    switch ((TableTag)i)
                    {
                    case TableTag.Module:
                        ModuleTable.Read(ctxt, reader);
                        break;
                    case TableTag.Assembly:
                        AssemblyTable.Read(ctxt, reader);
                        break;
                    case TableTag.AssemblyOS:
                        AssemblyOSTable.Read(ctxt, reader);
                        break;
                    case TableTag.AssemblyProcessor:
                        AssemblyProcessorTable.Read(ctxt, reader);
                        break;
                    case TableTag.AssemblyRef:
                        AssemblyRefTable.Read(ctxt, reader);
                        break;
                    case TableTag.AssemblyRefOS:
                        AssemblyRefOSTable.Read(ctxt, reader);
                        break;
                    case TableTag.AssemblyRefProcessor:
                        AssemblyRefProcessorTable.Read(ctxt, reader);
                        break;
                    case TableTag.ClassLayout:
                        ClassLayoutTable.Read(ctxt, reader);
                        break;
                    case TableTag.Constant:
                        ConstantTable.Read(ctxt, reader);
                        break;
                    case TableTag.CustomAttribute:
                        CustomAttributeTable.Read(ctxt, reader);
                        break;
                    case TableTag.DeclSecurity:
                        DeclSecurityTable.Read(ctxt, reader);
                        break;
                    case TableTag.EventMap:
                        EventMapTable.Read(ctxt, reader);
                        break;
                    case TableTag.Event:
                        EventTable.Read(ctxt, reader);
                        break;
                    case TableTag.ExportedType:
                        ExportedTypeTable.Read(ctxt, reader);
                        break;
                    case TableTag.Field:
                        FieldTable.Read(ctxt, reader);
                        break;
                    case TableTag.FieldLayout:
                        FieldLayoutTable.Read(ctxt, reader);
                        break;
                    case TableTag.FieldMarshal:
                        FieldMarshalTable.Read(ctxt, reader);
                        break;
                    case TableTag.FieldRVA:
                        FieldRVATable.Read(ctxt, reader);
                        break;
                    case TableTag.File:
                        FileTable.Read(ctxt, reader);
                        break;
                    case TableTag.GenericParam:
                        GenericParamTable.Read(ctxt, reader);
                        break;
                    case TableTag.GenericParamConstraint:
                        GenericParamConstraintTable.Read(ctxt, reader);
                        break;
                    case TableTag.ImplMap:
                        ImplMapTable.Read(ctxt, reader);
                        break;
                    case TableTag.InterfaceImpl:
                        InterfaceImplTable.Read(ctxt, reader);
                        break;
                    case TableTag.ManifestResource:
                        ManifestResourceTable.Read(ctxt, reader);
                        break;
                    case TableTag.MemberRef:
                        MemberRefTable.Read(ctxt, reader);
                        break;
                    case TableTag.MethodDef:
                        MethodDefTable.Read(ctxt, reader);
                        break;
                    case TableTag.MethodImpl:
                        MethodImplTable.Read(ctxt, reader);
                        break;
                    case TableTag.MethodSemantics:
                        MethodSemanticsTable.Read(ctxt, reader);
                        break;
                    case TableTag.MethodSpec:
                        MethodSpecTable.Read(ctxt, reader);
                        break;
                    case TableTag.ModuleRef:
                        ModuleRefTable.Read(ctxt, reader);
                        break;
                    case TableTag.NestedClass:
                        NestedClassTable.Read(ctxt, reader);
                        break;
                    case TableTag.Param:
                        ParamTable.Read(ctxt, reader);
                        break;
                    case TableTag.Property:
                        PropertyTable.Read(ctxt, reader);
                        break;
                    case TableTag.PropertyMap:
                        PropertyMapTable.Read(ctxt, reader);
                        break;
                    case TableTag.StandAloneSig:
                        StandAloneSigTable.Read(ctxt, reader);
                        break;
                    case TableTag.TypeDef:
                        TypeDefTable.Read(ctxt, reader);
                        break;
                    case TableTag.TypeRef:
                        TypeRefTable.Read(ctxt, reader);
                        break;
                    case TableTag.TypeSpec:
                        TypeSpecTable.Read(ctxt, reader);
                        break;
                    default:
                        throw new PEException("unexpected table tag in MetadataTable body");
                    }
                }
            }

            ModuleTable.ResolveIndexes(ctxt);
            TypeRefTable.ResolveIndexes(ctxt);
            TypeDefTable.ResolveIndexes(ctxt);
            FieldTable.ResolveIndexes(ctxt);
            MethodDefTable.ResolveIndexes(ctxt);
            ParamTable.ResolveIndexes(ctxt);
            InterfaceImplTable.ResolveIndexes(ctxt);
            MemberRefTable.ResolveIndexes(ctxt);
            ConstantTable.ResolveIndexes(ctxt);
            CustomAttributeTable.ResolveIndexes(ctxt);
            FieldMarshalTable.ResolveIndexes(ctxt);
            DeclSecurityTable.ResolveIndexes(ctxt);
            ClassLayoutTable.ResolveIndexes(ctxt);
            FieldLayoutTable.ResolveIndexes(ctxt);
            StandAloneSigTable.ResolveIndexes(ctxt);
            EventMapTable.ResolveIndexes(ctxt);
            EventTable.ResolveIndexes(ctxt);
            PropertyMapTable.ResolveIndexes(ctxt);
            PropertyTable.ResolveIndexes(ctxt);
            MethodSemanticsTable.ResolveIndexes(ctxt);
            MethodImplTable.ResolveIndexes(ctxt);
            ModuleRefTable.ResolveIndexes(ctxt);
            TypeSpecTable.ResolveIndexes(ctxt);
            ImplMapTable.ResolveIndexes(ctxt);
            FieldRVATable.ResolveIndexes(ctxt);
            AssemblyTable.ResolveIndexes(ctxt);
            AssemblyProcessorTable.ResolveIndexes(ctxt);
            AssemblyOSTable.ResolveIndexes(ctxt);
            AssemblyRefTable.ResolveIndexes(ctxt);
            AssemblyRefProcessorTable.ResolveIndexes(ctxt);
            AssemblyRefOSTable.ResolveIndexes(ctxt);
            FileTable.ResolveIndexes(ctxt);
            ExportedTypeTable.ResolveIndexes(ctxt);
            ManifestResourceTable.ResolveIndexes(ctxt);
            NestedClassTable.ResolveIndexes(ctxt);
            GenericParamTable.ResolveIndexes(ctxt);
            MethodSpecTable.ResolveIndexes(ctxt);
            GenericParamConstraintTable.ResolveIndexes(ctxt);
        }
 public virtual void VisitModuleTable(ModuleTable table)
 {
 }
        /// <inheritdoc />
        public override ModuleViewModel CreateViewModel(ModuleTable moduleTable, IClientResourceService clientResourceService)
        {
            var options = ServiceLocator.Current.GetInstance <BlockEnhancementsOptions>();

            return(new BlockEnhancementsModuleViewModel(this, clientResourceService, options));
        }
 internal RequireAnalysisUnit(ModuleTree tree, ModuleTable table, ProjectEntry entry, string dependency) : base (entry.Tree, entry.EnvironmentRecord) {
     _tree = tree;
     _table = table;
     _dependency = dependency;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="RenderingEditModeExtension" /> class.
 /// </summary>
 /// <param name="requestContext">The request context.</param>
 /// <param name="moduleTable">The module table.</param>
 /// <param name="localizationService">The localization service.</param>
 public RenderingEditModeExtension(RequestContext requestContext, ModuleTable moduleTable, LocalizationService localizationService)
 {
     _configurationUrl    = GetConfigurationUrl(requestContext, moduleTable);
     _localizationService = localizationService;
     _context             = requestContext.HttpContext;
 }
Example #32
0
        public static async Task <ObservableCollection <Module> > GetAllModules()
        {
            var x = new ObservableCollection <Module>(await ModuleTable.ToCollectionAsync <Module>().ConfigureAwait(false));

            return(x);
        }