예제 #1
0
        override public object Clone()
        {
            BlockExpression clone = (BlockExpression)FormatterServices.GetUninitializedObject(typeof(BlockExpression));

            clone._lexicalInfo       = _lexicalInfo;
            clone._endSourceLocation = _endSourceLocation;
            clone._documentation     = _documentation;
            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);
            }
            return(clone);
        }
예제 #2
0
        override public object Clone()
        {
            CallableTypeReference clone = (CallableTypeReference)FormatterServices.GetUninitializedObject(typeof(CallableTypeReference));

            clone._lexicalInfo       = _lexicalInfo;
            clone._endSourceLocation = _endSourceLocation;
            clone._documentation     = _documentation;
            clone._isSynthetic       = _isSynthetic;
            clone._entity            = _entity;
            if (_annotations != null)
            {
                clone._annotations = (Hashtable)_annotations.Clone();
            }

            clone._isPointer = _isPointer;
            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);
            }
            return(clone);
        }
예제 #3
0
        override public object Clone()
        {
            BlockExpression clone = new BlockExpression();

            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);
            }
            return(clone);
        }
예제 #4
0
        override public object Clone()
        {
            Property clone = (Property)FormatterServices.GetUninitializedObject(typeof(Property));

            clone._lexicalInfo       = _lexicalInfo;
            clone._endSourceLocation = _endSourceLocation;
            clone._documentation     = _documentation;
            clone._isSynthetic       = _isSynthetic;
            clone._entity            = _entity;
            if (_annotations != null)
            {
                clone._annotations = (Hashtable)_annotations.Clone();
            }

            clone._modifiers = _modifiers;
            clone._name      = _name;
            if (null != _attributes)
            {
                clone._attributes = _attributes.Clone() as AttributeCollection;
                clone._attributes.InitializeParent(clone);
            }
            if (null != _parameters)
            {
                clone._parameters = _parameters.Clone() as ParameterDeclarationCollection;
                clone._parameters.InitializeParent(clone);
            }
            if (null != _getter)
            {
                clone._getter = _getter.Clone() as Method;
                clone._getter.InitializeParent(clone);
            }
            if (null != _setter)
            {
                clone._setter = _setter.Clone() as Method;
                clone._setter.InitializeParent(clone);
            }
            if (null != _type)
            {
                clone._type = _type.Clone() as TypeReference;
                clone._type.InitializeParent(clone);
            }
            if (null != _explicitInfo)
            {
                clone._explicitInfo = _explicitInfo.Clone() as ExplicitMemberInfo;
                clone._explicitInfo.InitializeParent(clone);
            }
            return(clone);
        }
예제 #5
0
        override public object Clone()
        {
            CallableDefinition clone = (CallableDefinition)FormatterServices.GetUninitializedObject(typeof(CallableDefinition));

            clone._lexicalInfo       = _lexicalInfo;
            clone._endSourceLocation = _endSourceLocation;
            clone._documentation     = _documentation;
            clone._isSynthetic       = _isSynthetic;
            clone._entity            = _entity;
            if (_annotations != null)
            {
                clone._annotations = (Hashtable)_annotations.Clone();
            }

            clone._modifiers = _modifiers;
            clone._name      = _name;
            if (null != _attributes)
            {
                clone._attributes = _attributes.Clone() as AttributeCollection;
                clone._attributes.InitializeParent(clone);
            }
            if (null != _parameters)
            {
                clone._parameters = _parameters.Clone() as ParameterDeclarationCollection;
                clone._parameters.InitializeParent(clone);
            }
            if (null != _genericParameters)
            {
                clone._genericParameters = _genericParameters.Clone() as GenericParameterDeclarationCollection;
                clone._genericParameters.InitializeParent(clone);
            }
            if (null != _returnType)
            {
                clone._returnType = _returnType.Clone() as TypeReference;
                clone._returnType.InitializeParent(clone);
            }
            if (null != _returnTypeAttributes)
            {
                clone._returnTypeAttributes = _returnTypeAttributes.Clone() as AttributeCollection;
                clone._returnTypeAttributes.InitializeParent(clone);
            }
            return(clone);
        }