상속: TypeReference
예제 #1
0
 public MethodImplementation(TypeDefinition @class, MethodReference methodDeclaration, MethodReference newMethod)
     : base(new MetaDataRow(@class.TableIndex, 0U, newMethod.TableIndex))
 {
     this._class = @class;
     this._methodDeclaration = methodDeclaration;
     this._methodBody = newMethod;
 }
예제 #2
0
 public override void LoadCache()
 {
     _class = Class;
     _methodBody = MethodBody;
     _methodDeclaration = MethodDeclaration;
 }
예제 #3
0
 public override void ClearCache()
 {
     _class = null;
     _methodBody = null;
     _methodDeclaration = null;
 }
예제 #4
0
 public override void ClearCache()
 {
     events = null;
     parent = null;
 }
예제 #5
0
 public override void ClearCache()
 {
     base.ClearCache();
     _methodRange = null;
     _fieldRange = null;
     _propertyMap = null;
     _eventMap = null;
     _nestedClasses = null;
     _interfaces = null;
     _decltype = null;
     _genericparams = null;
     _baseType = null;
 }
예제 #6
0
파일: EventMap.cs 프로젝트: Rex-Hays/GNIDA
 public override void LoadCache()
 {
     _eventRange = MemberRange.CreateRange<EventDefinition>(this, 1, _netheader.TablesHeap.GetTable(MetaDataTableType.Event, false));
     _eventRange.LoadCache();
     _parent = Parent;
 }
예제 #7
0
 public override void ClearCache()
 {
     _propertyRange = null;
     _parent = null;
 }
예제 #8
0
 public override void LoadCache()
 {
     _class = Class;
     _interface = Interface;
 }
예제 #9
0
 public NestedClass(TypeDefinition nestedClass, TypeDefinition enclosingClass)
     : base(new MetaDataRow(nestedClass.TableIndex, enclosingClass.TableIndex))
 {
     this._class = nestedClass;
     this._enclosingClass = enclosingClass;
 }
예제 #10
0
 public override void LoadCache()
 {
     this._parent = Parent;
 }
예제 #11
0
 public InterfaceImplementation(TypeDefinition @class, TypeReference @interface)
     : base(new MetaDataRow(@class.TableIndex, 0U))
 {
     this._class = @class;
     this._interface = @interface;
 }
예제 #12
0
 public override void ClearCache()
 {
     this._parent = null;
 }
예제 #13
0
 public ClassLayout(TypeDefinition parent, uint classSize, ushort packingSize)
     : base(new MetaDataRow(packingSize, classSize, parent.TableIndex))
 {
     this._parent = parent;
 }
예제 #14
0
 public override void LoadCache()
 {
     base.LoadCache();
     _methodRange = MemberRange.CreateRange<MethodDefinition>(this, 5, NETHeader.TablesHeap.GetTable(MetaDataTableType.Method, false));
     _methodRange.LoadCache();
     _fieldRange = MemberRange.CreateRange<FieldDefinition>(this, 4, NETHeader.TablesHeap.GetTable(MetaDataTableType.Field, false));
     _fieldRange.LoadCache();
     _propertyMap = PropertyMap;
     _eventMap = EventMap;
     _nestedClasses = NestedClasses;
     _interfaces = Interfaces;
     _decltype = DeclaringType as TypeDefinition;
     _genericparams = GenericParameters;
     _baseType = BaseType;
 }
예제 #15
0
파일: EventMap.cs 프로젝트: Rex-Hays/GNIDA
 public EventMap(TypeDefinition parent, uint startingIndex)
     : base(new MetaDataRow(parent.TableIndex, startingIndex))
 {
     this._parent = parent;
 }
예제 #16
0
 public override void ClearCache()
 {
     _class = null;
     _enclosingClass = null;
 }
예제 #17
0
파일: EventMap.cs 프로젝트: Rex-Hays/GNIDA
 public override void ClearCache()
 {
     _eventRange = null;
     _parent = null;
 }
예제 #18
0
 public override void LoadCache()
 {
     _class = Class;
     _enclosingClass = EnclosingClass;
 }
예제 #19
0
 public PropertyMap(TypeDefinition parentType, uint startingIndex)
     : base(new MetaDataRow(parentType.TableIndex, startingIndex))
 {
 }
예제 #20
0
        private void UpdateTypeDef(Workspace workspace, TypeDefinition typeDef)
        {
            typeDef.MetaDataRow.Parts[1] = GetStringIndex(workspace, typeDef.Namespace);
            typeDef.MetaDataRow.Parts[2] = GetStringIndex(workspace, typeDef.Name);
            typeDef.MetaDataRow.Parts[3] = GetMemberIndex(workspace, Constructor.OriginalAssembly.NETHeader.TablesHeap.TypeDefOrRef, typeDef);

            // method and field list updated by MetaDataBuilder class.
        }
예제 #21
0
 public override void LoadCache()
 {
     _propertyRange = MemberRange.CreateRange<PropertyDefinition>(this, 1, NETHeader.TablesHeap.GetTable(MetaDataTableType.Property, false));
     _propertyRange.LoadCache();
     _parent = Parent;
 }
예제 #22
0
 public override void ClearCache()
 {
     properties = null;
     parent = null;
 }
 public override void ClearCache()
 {
     @class = null;
     @interface = null;
 }
예제 #24
0
        private void ReconstructMethodBodies(Workspace workspace, TypeDefinition declaringType)
        {
            if (declaringType.HasMethods)
            {
                foreach (MethodDefinition methodDef in declaringType.Methods)
                {
                    if (methodDef.HasBody)
                    {
                        MethodBody methodBody = methodDef.Body;
                        byte[] serializedBody = SerializeMethodBody(workspace, methodBody);

                        MethodBodyInfo info = new MethodBodyInfo()
                        {
                            Bytes = serializedBody,
                        };

                        workspace.MethodBodyTable.AppendMethodBody(info);
                    }
                }
            }
        }