Exemple #1
0
        private MethodReturnType Copy(DeepCopier copier, MethodReturnType def, IMethodSignature parent)
        {
            var ret= new MethodReturnType(parent);
            ret.ReturnType = CopyReference(copier,def.ReturnType);

            copier.Log("< MethodReturnType ");
            copier.CopyAll(def,ret,ret,"Method","ReturnType");

            return ret;
        }
Exemple #2
0
        private ExceptionHandler Copy(DeepCopier copier, ExceptionHandler def)
        {
            var ret= new ExceptionHandler(def.HandlerType);
            if(def.CatchType != null)
                ret.CatchType = CopyReference(copier,def.CatchType);

            copier.Log("< ExceptionHandler ");
            copier.CopyAll(def,ret,ret,"CatchType");

            return ret;
        }
Exemple #3
0
        /*
         * COPIES
         */
        private CustomAttribute Copy(DeepCopier copier, CustomAttribute def)
        {
            var ret = new CustomAttribute(CopyReference(copier,def.Constructor),def.GetBlob());

            copier.Log("< CopyAttributes ");
            copier.CopyAll(def,ret,ret,"DeclaringType");

            return ret;
        }
Exemple #4
0
        private Mono.Cecil.Cil.MethodBody Copy(DeepCopier copier, Mono.Cecil.Cil.MethodBody def, MethodDefinition parent)
        {
            var ret = new Mono.Cecil.Cil.MethodBody(parent);

            copier.Log("< MethodBody ");
            copier.CopyAll(def,ret,ret,"Method");

            return ret;
        }
Exemple #5
0
        private ParameterDefinition Copy(DeepCopier copier, ParameterDefinition def)
        {
            var ret = new ParameterDefinition(def.Name, def.Attributes, CopyReference(copier,def.ParameterType));

            copier.Log("< Parameter " + ret.Name);
            copier.CopyAll(def,ret,ret,"Method","ParameterType","MetadataToken");

            return ret;
        }
Exemple #6
0
        private VariableDefinition Copy(DeepCopier copier, VariableDefinition def)
        {
            var ret = new VariableDefinition(def.Name, CopyReference(copier,def.VariableType));

            copier.Log("< Variable " + ret.Name);
            copier.CopyAll(def,ret,ret,"VariableType");

            return ret;
        }
Exemple #7
0
        private TypeDefinition Copy(DeepCopier copier, TypeDefinition def, TypeDefinition declaringType)
        {
            var ret = new TypeDefinition("", NamePrefix+def.Name, def.Attributes, CopyReference(copier,def.BaseType));
            //ret.Scope = declaringType.Scope;

            copier.Log("> Type "+def.FullName);
            copier.Log("< Type "+ret.FullName);
            copier.CopyAll(def,ret,ret,"Name","DeclaringType","BaseType","MetadataToken","Scope");

            return ret;
        }
Exemple #8
0
        private MethodDefinition Copy(DeepCopier copier, MethodDefinition def, TypeDefinition declaringType)
        {
            var ret = new MethodDefinition(NamePrefix+def.Name, def.Attributes, CopyReference(copier,def.ReturnType));
            //ret.DeclaringType = DestinationType;

            copier.Log("< Method "+ret.FullName);
            copier.CopyAll(def,ret,ret,"Name","DeclaringType","ReturnType","MetadataToken");

            return ret;
        }
Exemple #9
0
        private PropertyDefinition Copy(DeepCopier copier, PropertyDefinition def, TypeDefinition declaringType)
        {
            var ret = new PropertyDefinition(NamePrefix+def.Name, def.Attributes, CopyReference(copier,def.PropertyType));

            copier.Log("< Property "+ret.FullName);
            copier.CopyAll(def,ret,declaringType,"Name","DeclaringType","PropertyType","MetadataToken");

            if(ret.GetMethod != null) declaringType.Methods.Add(ret.GetMethod);
            if(ret.SetMethod != null) declaringType.Methods.Add(ret.SetMethod);

            return ret;
        }
Exemple #10
0
        private EventDefinition Copy(DeepCopier copier, EventDefinition def, TypeDefinition declaringType)
        {
            var ret = new EventDefinition(NamePrefix+def.Name, def.Attributes, CopyReference(copier,def.EventType));

            copier.Log("< Event "+ret.FullName);
            copier.CopyAll(def,ret,declaringType,"Name","DeclaringType","EventType","MetadataToken");

            if(ret.RemoveMethod != null) declaringType.Methods.Add(ret.RemoveMethod);
            if(ret.AddMethod != null)    declaringType.Methods.Add(ret.AddMethod);

            return ret;
        }
Exemple #11
0
        /*
         * COPY DEFINITIONS
         */
        private FieldDefinition Copy(DeepCopier copier, FieldDefinition def, TypeDefinition declaringType)
        {
            var ret = new FieldDefinition(NamePrefix+def.Name, def.Attributes, CopyReference(copier,def.FieldType));

            copier.Log("< Field "+ret.FullName);
            copier.CopyAll(def,ret,declaringType,"Name","DeclaringType","FieldType","MetadataToken");

            return ret;
        }