Example #1
0
        override public object Clone()
        {
            AsyncBlockExpression clone = new AsyncBlockExpression();

            clone._lexicalInfo       = _lexicalInfo;
            clone._endSourceLocation = _endSourceLocation;
            clone._documentation     = _documentation;
            clone._isSynthetic       = _isSynthetic;
            clone._entity            = _entity;
            if (_annotations != null)
            {
                clone._annotations = (Hashtable)_annotations.Clone();
            }
            clone._expressionType = _expressionType;
            if (null != _parameters)
            {
                clone._parameters = _parameters.Clone() as ParameterDeclarationCollection;
                clone._parameters.InitializeParent(clone);
            }
            if (null != _returnType)
            {
                clone._returnType = _returnType.Clone() as TypeReference;
                clone._returnType.InitializeParent(clone);
            }
            if (null != _body)
            {
                clone._body = _body.Clone() as Block;
                clone._body.InitializeParent(clone);
            }
            if (null != _block)
            {
                clone._block = _block.Clone() as BlockExpression;
                clone._block.InitializeParent(clone);
            }
            return(clone);
        }