Exemplo n.º 1
0
 static IStructuralNodeTemplate CreateRowNode_ModuleRef(MetaDataTableStatistics statistics)
 {
     return(new CompoundNodeTemplate()
     {
         { "Name", GetStringToken(statistics) },
     });
 }
Exemplo n.º 2
0
 static IStructuralNodeTemplate CreateRowNode_TypeSpec(MetaDataTableStatistics statistics)
 {
     return(new CompoundNodeTemplate()
     {
         { "Signature", GetBlobToken(statistics) },
     });
 }
Exemplo n.º 3
0
        IStructuralNodeTemplate CreateTableListNode(MetaDataTableCodes[] codes, HeapSizeFlags heapSizes)
        {
            var tables     = new CompoundNodeTemplate();
            var statistics = new MetaDataTableStatistics(GetRowCounts(codes), heapSizes);

            for (var i = 0; i < codes.Length; i++)
            {
                var code     = codes[i];
                var rowCount = statistics.GetRowCount(code);

                if (rowCount <= 0)
                {
                    continue;
                }

                var rowTemplate = CreateRowTemplate(statistics, code);

                if (rowTemplate == null)
                {
                    tables.Add(code + " Not Yet Implemented", StandardTemplates.UInt8);
                    return(tables);
                }

                tables.Add(code.ToString(), new RepeatingNodeTemplate(rowTemplate, rowCount, GetMetaDataTokenFormatter(code)));
            }

            return(tables);
        }
Exemplo n.º 4
0
 static IStructuralNodeTemplate CreateRowNode_FieldMarshal(MetaDataTableStatistics statistics)
 {
     return(new CompoundNodeTemplate()
     {
         { "Parent", CompoundMetaDataTokenColumnDef.HasFieldMarshall.SelectTemplate(statistics) },
         { "NativeType", GetBlobToken(statistics) },
     });
 }
Exemplo n.º 5
0
 static IStructuralNodeTemplate CreateRowNode_NestedClass(MetaDataTableStatistics statistics)
 {
     return(new CompoundNodeTemplate()
     {
         { "NestedClass", SimpleMetaDataTokenColumnDef.TypeDef.SelectTemplate(statistics) },
         { "EnclosingClass", SimpleMetaDataTokenColumnDef.TypeDef.SelectTemplate(statistics) },
     });
 }
Exemplo n.º 6
0
 static IStructuralNodeTemplate CreateRowNode_InterfaceImpl(MetaDataTableStatistics statistics)
 {
     return(new CompoundNodeTemplate()
     {
         { "Class", SimpleMetaDataTokenColumnDef.TypeDef.SelectTemplate(statistics) },
         { "Interface", CompoundMetaDataTokenColumnDef.TypeDefOrRef.SelectTemplate(statistics) },
     });
 }
Exemplo n.º 7
0
 static IStructuralNodeTemplate CreateRowNode_MethodSpec(MetaDataTableStatistics statistics)
 {
     return(new CompoundNodeTemplate()
     {
         { "Method", CompoundMetaDataTokenColumnDef.MethodDefOrRef.SelectTemplate(statistics) },
         { "Instantiation", GetBlobToken(statistics) },
     });
 }
Exemplo n.º 8
0
 static IStructuralNodeTemplate CreateRowNode_GenericParamConstraint(MetaDataTableStatistics statistics)
 {
     return(new CompoundNodeTemplate()
     {
         { "Owner", SimpleMetaDataTokenColumnDef.GenericParam.SelectTemplate(statistics) },
         { "Constraint", CompoundMetaDataTokenColumnDef.TypeDefOrRef.SelectTemplate(statistics) },
     });
 }
Exemplo n.º 9
0
 static IStructuralNodeTemplate CreateRowNode_FieldRVA(MetaDataTableStatistics statistics)
 {
     return(new CompoundNodeTemplate()
     {
         { "RVA", StandardTemplates.UInt32 },
         { "Field", SimpleMetaDataTokenColumnDef.Field.SelectTemplate(statistics) },
     });
 }
Exemplo n.º 10
0
 static IStructuralNodeTemplate CreateRowNode_AssemblyRefProcessor(MetaDataTableStatistics statistics)
 {
     return(new CompoundNodeTemplate()
     {
         { "Processor", StandardTemplates.UInt32 },
         { "AssemblyRef", SimpleMetaDataTokenColumnDef.AssemblyRef.SelectTemplate(statistics) },
     });
 }
Exemplo n.º 11
0
 static IStructuralNodeTemplate CreateRowNode_PropertyMap(MetaDataTableStatistics statistics)
 {
     return(new CompoundNodeTemplate()
     {
         { "Parent", SimpleMetaDataTokenColumnDef.TypeDef.SelectTemplate(statistics) },
         { "Property List", SimpleMetaDataTokenColumnDef.MethodDef.SelectTemplate(statistics) },
     });
 }
Exemplo n.º 12
0
 static IStructuralNodeTemplate CreateRowNode_DeclSecurity(MetaDataTableStatistics statistics)
 {
     return(new CompoundNodeTemplate()
     {
         { "Action", StandardTemplates.UInt16 },
         { "Parent", CompoundMetaDataTokenColumnDef.HasDeclSecurity.SelectTemplate(statistics) },
         { "PermissionSet", GetBlobToken(statistics) },
     });
 }
Exemplo n.º 13
0
 static IStructuralNodeTemplate CreateRowNode_MemberRef(MetaDataTableStatistics statistics)
 {
     return(new CompoundNodeTemplate()
     {
         { "Class", CompoundMetaDataTokenColumnDef.MemberRefParent.SelectTemplate(statistics) },
         { "Name", GetStringToken(statistics) },
         { "Signature", GetBlobToken(statistics) },
     });
 }
Exemplo n.º 14
0
 static IStructuralNodeTemplate CreateRowNode_CustomAttribute(MetaDataTableStatistics statistics)
 {
     return(new CompoundNodeTemplate()
     {
         { "Parent", CompoundMetaDataTokenColumnDef.HasCustomAttribute.SelectTemplate(statistics) },
         { "Type", CompoundMetaDataTokenColumnDef.CustomAttributeType.SelectTemplate(statistics) },
         { "Value", GetBlobToken(statistics) },
     });
 }
Exemplo n.º 15
0
 static IStructuralNodeTemplate CreateRowNode_TypeRef(MetaDataTableStatistics statistics)
 {
     return(new CompoundNodeTemplate()
     {
         { "ResolutionScope", CompoundMetaDataTokenColumnDef.ResolutionScope.SelectTemplate(statistics) },
         { "Name", GetStringToken(statistics) },
         { "Namespace", GetStringToken(statistics) },
     });
 }
Exemplo n.º 16
0
 static IStructuralNodeTemplate CreateRowNode_MethodSemantics(MetaDataTableStatistics statistics)
 {
     return(new CompoundNodeTemplate()
     {
         { "Semantics", StandardTemplates.UInt16 },
         { "Method", SimpleMetaDataTokenColumnDef.MethodDef.SelectTemplate(statistics) },
         { "Association", CompoundMetaDataTokenColumnDef.HasSemantics.SelectTemplate(statistics) },
     });
 }
Exemplo n.º 17
0
 static IStructuralNodeTemplate CreateRowNode_Property(MetaDataTableStatistics statistics)
 {
     return(new CompoundNodeTemplate()
     {
         { "Flags", StandardTemplates.UInt16 },
         { "Name", GetStringToken(statistics) },
         { "Type", GetBlobToken(statistics) },
     });
 }
Exemplo n.º 18
0
 static IStructuralNodeTemplate CreateRowNode_Event(MetaDataTableStatistics statistics)
 {
     return(new CompoundNodeTemplate()
     {
         { "EventFlags", StandardTemplates.UInt16 },
         { "Name", GetStringToken(statistics) },
         { "EventType", CompoundMetaDataTokenColumnDef.TypeDefOrRef.SelectTemplate(statistics) },
     });
 }
Exemplo n.º 19
0
 static IStructuralNodeTemplate CreateRowNode_ClassLayout(MetaDataTableStatistics statistics)
 {
     return(new CompoundNodeTemplate()
     {
         { "Packing Size", StandardTemplates.UInt16 },
         { "Class Size", StandardTemplates.UInt32 },
         { "Parent", SimpleMetaDataTokenColumnDef.TypeDef.SelectTemplate(statistics) },
     });
 }
Exemplo n.º 20
0
 static IStructuralNodeTemplate CreateRowNode_MethodImpl(MetaDataTableStatistics statistics)
 {
     return(new CompoundNodeTemplate()
     {
         { "Class", SimpleMetaDataTokenColumnDef.TypeDef.SelectTemplate(statistics) },
         { "MethodBody", CompoundMetaDataTokenColumnDef.MethodDefOrRef.SelectTemplate(statistics) },
         { "MethodDeclaration", CompoundMetaDataTokenColumnDef.MethodDefOrRef.SelectTemplate(statistics) },
     });
 }
Exemplo n.º 21
0
 static IStructuralNodeTemplate CreateRowNode_File(MetaDataTableStatistics statistics)
 {
     return(new CompoundNodeTemplate()
     {
         { "Flags", StandardTemplates.UInt32 },
         { "Name", GetStringToken(statistics) },
         { "HashValue", GetBlobToken(statistics) },
     });
 }
Exemplo n.º 22
0
 static IStructuralNodeTemplate CreateRowNode_GenericParam(MetaDataTableStatistics statistics)
 {
     return(new CompoundNodeTemplate()
     {
         { "Number", StandardTemplates.UInt16 },
         { "Flags", StandardTemplates.UInt16 },
         { "Owner", CompoundMetaDataTokenColumnDef.TypeOrMethodDef.SelectTemplate(statistics) },
         { "Name", GetStringToken(statistics) },
     });
 }
Exemplo n.º 23
0
 static IStructuralNodeTemplate CreateRowNode_Constant(MetaDataTableStatistics statistics)
 {
     return(new CompoundNodeTemplate()
     {
         { "Type", StandardTemplates.UInt8 },
         { "Padding", StandardTemplates.UInt8 },
         { "Parent", CompoundMetaDataTokenColumnDef.HasConstant.SelectTemplate(statistics) },
         { "Value", GetBlobToken(statistics) },
     });
 }
Exemplo n.º 24
0
 static IStructuralNodeTemplate CreateRowNode_ManifestResource(MetaDataTableStatistics statistics)
 {
     return(new CompoundNodeTemplate()
     {
         { "Offset", StandardTemplates.UInt32 },
         { "Flags", StandardTemplates.UInt32 },
         { "Name", GetStringToken(statistics) },
         { "Implementation", CompoundMetaDataTokenColumnDef.Implementation.SelectTemplate(statistics) },
     });
 }
Exemplo n.º 25
0
 static IStructuralNodeTemplate CreateRowNode_AssemblyRefOS(MetaDataTableStatistics statistics)
 {
     return(new CompoundNodeTemplate()
     {
         { "OS Platform ID", StandardTemplates.UInt32 },
         { "OS Major Version", StandardTemplates.UInt32 },
         { "OS Minor Version", StandardTemplates.UInt32 },
         { "AssemblyRef", SimpleMetaDataTokenColumnDef.AssemblyRefOS.SelectTemplate(statistics) },
     });
 }
Exemplo n.º 26
0
 static IStructuralNodeTemplate CreateRowNode_ImplMap(MetaDataTableStatistics statistics)
 {
     return(new CompoundNodeTemplate()
     {
         { "MappingFlags", StandardTemplates.UInt16 },
         { "MemberForwarded", CompoundMetaDataTokenColumnDef.MemberForwarded.SelectTemplate(statistics) },
         { "ImportName", GetStringToken(statistics) },
         { "ImportScope", SimpleMetaDataTokenColumnDef.MemberRef.SelectTemplate(statistics) },
     });
 }
Exemplo n.º 27
0
 static IStructuralNodeTemplate CreateRowNode_Module(MetaDataTableStatistics statistics)
 {
     return(new CompoundNodeTemplate()
     {
         { "Generation", StandardTemplates.UInt16 },
         { "Name", GetStringToken(statistics) },
         { "Mvid", GetGuidToken(statistics) },
         { "EncId", GetGuidToken(statistics) },
         { "EncBaseId", GetGuidToken(statistics) },
     });
 }
Exemplo n.º 28
0
 static IStructuralNodeTemplate CreateRowNode_ExportedType(MetaDataTableStatistics statistics)
 {
     return(new CompoundNodeTemplate()
     {
         { "Flags", StandardTemplates.UInt32 },
         { "TypeDefId", SimpleMetaDataTokenColumnDef.TypeDef.LongForm },
         { "Name", GetStringToken(statistics) },
         { "Namespace", GetStringToken(statistics) },
         { "Implementation", CompoundMetaDataTokenColumnDef.Implementation.SelectTemplate(statistics) },
     });
 }
Exemplo n.º 29
0
 static IStructuralNodeTemplate CreateRowNode_TypeDef(MetaDataTableStatistics statistics)
 {
     return(new CompoundNodeTemplate()
     {
         { "Flags", StandardTemplates.UInt32 },
         { "Name", GetStringToken(statistics) },
         { "Namespace", GetStringToken(statistics) },
         { "Extends", CompoundMetaDataTokenColumnDef.TypeDefOrRef.SelectTemplate(statistics) },
         { "FieldList", SimpleMetaDataTokenColumnDef.Field.SelectTemplate(statistics) },
         { "MethodList", SimpleMetaDataTokenColumnDef.MethodDef.SelectTemplate(statistics) },
     });
 }
Exemplo n.º 30
0
 static IStructuralNodeTemplate CreateRowNode_MethodDef(MetaDataTableStatistics statistics)
 {
     return(new CompoundNodeTemplate()
     {
         { "RVA", StandardTemplates.UInt32 },
         { "ImplFlags", StandardTemplates.UInt16 },
         { "Flags", StandardTemplates.UInt16 },
         { "Name", GetStringToken(statistics) },
         { "Signature", GetBlobToken(statistics) },
         { "ParamList", SimpleMetaDataTokenColumnDef.Param.SelectTemplate(statistics) },
     });
 }