Exemplo n.º 1
0
        /// <summary>
        /// Creates a new <see cref="MethodBodyCloner"/>
        /// </summary>
        /// <param name="parent">Cloner for the method signature to which this method body is attached.</param>
        /// <param name="source">Resolved cloning source.</param>
        public MethodBodyCloner(MethodSignatureCloner parent, MethodBody source)
            : base(parent.CloningContext, source)
        {
            Contract.Requires(parent != null);
            Contract.Requires(parent.CloningContext != null);
            Contract.Requires(source != null);
            Contract.Ensures(this.Parent != null);

            this.Parent = parent;
        }
Exemplo n.º 2
0
        /// <summary>
        /// Creates a new <see cref="ParameterCloner"/>.
        /// </summary>
        /// <param name="parent">Cloner for the signature associated with the method body being cloned.</param>
        /// <param name="previous">Cloner for the previous instruction, if any.</param>
        /// <param name="source">Cloning source.</param>
        public ParameterCloner(MethodSignatureCloner parent, ParameterCloner previous, ParameterDefinition source)
            : base(parent.CloningContext, source)
        {
            Contract.Requires(parent != null);
            Contract.Requires(parent.CloningContext != null);
            Contract.Requires(source != null);
            Contract.Ensures(this.Parent != null);

            this.Parent = parent;
            this.Parent.ParameterCloners.Add(this);
            this.Previous = previous;
        }