dotgnu-pnet-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Dotgnu-pnet-commits] CVS: pnetlib/System/CodeDom CodeArrayCreateExpress


From: Rhys Weatherley <address@hidden>
Subject: [Dotgnu-pnet-commits] CVS: pnetlib/System/CodeDom CodeArrayCreateExpression.cs,NONE,1.1 CodeAttachEventStatement.cs,NONE,1.1 CodeBinaryOperatorType.cs,NONE,1.1 CodeCastExpression.cs,NONE,1.1 CodeCatchClause.cs,NONE,1.1 CodeCommentStatement.cs,NONE,1.1 CodeConditionStatement.cs,NONE,1.1 CodeMemberEvent.cs,NONE,1.1 CodeMemberField.cs,NONE,1.1 CodeMemberMethod.cs,NONE,1.1 CodeMethodInvokeExpression.cs,NONE,1.1 CodeNamespace.cs,NONE,1.1 CodeNamespaceImport.cs,NONE,1.1 CodeNamespaceImportCollection.cs,NONE,1.1 CodeObject.cs,NONE,1.1 CodeObjectCreateExpression.cs,NONE,1.1 CodeParameterDeclarationExpression.cs,NONE,1.1 CodeRemoveEventStatement.cs,NONE,1.1 CodeSnippetCompileUnit.cs,NONE,1.1 CodeTypeDeclaration.cs,NONE,1.1 CodeTypeDelegate.cs,NONE,1.1 CodeTypeMember.cs,NONE,1.1 CodeTypeOfExpression.cs,NONE,1.1 CodeTypeReference.cs,NONE,1.1 CodeTypeReferenceExpression.cs,NONE,1.1 CodeVariableDeclarationStatement.cs,NONE,1.1 FieldDirection.cs,NONE,1.1 Makefile,NONE,1.1 MemberAttributes.cs,NONE,1.1 README,NONE,1.1 RuleOutput.cs,NONE,1.1 gencdom.c,1.1,1.2 rules.txt,1.2,1.3
Date: Thu, 14 Nov 2002 23:33:07 -0500

Update of /cvsroot/dotgnu-pnet/pnetlib/System/CodeDom
In directory subversions:/tmp/cvs-serv11335/System/CodeDom

Modified Files:
        gencdom.c rules.txt 
Added Files:
        CodeArrayCreateExpression.cs CodeAttachEventStatement.cs 
        CodeBinaryOperatorType.cs CodeCastExpression.cs 
        CodeCatchClause.cs CodeCommentStatement.cs 
        CodeConditionStatement.cs CodeMemberEvent.cs 
        CodeMemberField.cs CodeMemberMethod.cs 
        CodeMethodInvokeExpression.cs CodeNamespace.cs 
        CodeNamespaceImport.cs CodeNamespaceImportCollection.cs 
        CodeObject.cs CodeObjectCreateExpression.cs 
        CodeParameterDeclarationExpression.cs 
        CodeRemoveEventStatement.cs CodeSnippetCompileUnit.cs 
        CodeTypeDeclaration.cs CodeTypeDelegate.cs CodeTypeMember.cs 
        CodeTypeOfExpression.cs CodeTypeReference.cs 
        CodeTypeReferenceExpression.cs 
        CodeVariableDeclarationStatement.cs FieldDirection.cs Makefile 
        MemberAttributes.cs README RuleOutput.cs 
Log Message:


Implement the "System.CodeDom" namespace.


--- NEW FILE ---
/*
 * CodeArrayCreateExpression.cs - Implementation of the
 *              System.CodeDom.CodeArrayCreateExpression class.
 *
 * Copyright (C) 2002  Southern Storm Software, Pty Ltd.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */

namespace System.CodeDom
{

#if !ECMA_COMPAT

using System.Runtime.InteropServices;
using System.Collections;
using System.Collections.Specialized;

[Serializable]
[ClassInterface(ClassInterfaceType.AutoDispatch)]
[ComVisible(true)]
public class CodeArrayCreateExpression : CodeExpression
{

        // Internal state.
        private CodeTypeReference createType;
        private int size;
        private CodeExpression sizeExpr;
        private CodeExpressionCollection initializers;

        // Constructors.
        public CodeArrayCreateExpression()
                        {
                        }
        public CodeArrayCreateExpression(CodeTypeReference createType,
                                                                         
CodeExpression size)
                        {
                                this.createType = createType;
                                this.sizeExpr = size;
                        }
        public CodeArrayCreateExpression(CodeTypeReference createType,
                                                                         params 
CodeExpression[] initializers)
                        {
                                this.createType = createType;
                                Initializers.AddRange(initializers);
                        }
        public CodeArrayCreateExpression(CodeTypeReference createType,
                                                                         int 
size)
                        {
                                this.createType = createType;
                                this.size = size;
                        }
        public CodeArrayCreateExpression(String createType,
                                                                         
CodeExpression size)
                        {
                                this.createType = new 
CodeTypeReference(createType);
                                this.sizeExpr = size;
                        }
        public CodeArrayCreateExpression(String createType,
                                                                         params 
CodeExpression[] initializers)
                        {
                                this.createType = new 
CodeTypeReference(createType);
                                Initializers.AddRange(initializers);
                        }
        public CodeArrayCreateExpression(String createType, int size)
                        {
                                this.createType = new 
CodeTypeReference(createType);
                                this.size = size;
                        }
        public CodeArrayCreateExpression(Type createType,
                                                                         
CodeExpression size)
                        {
                                this.createType = new 
CodeTypeReference(createType);
                                this.sizeExpr = size;

                        }
        public CodeArrayCreateExpression(Type createType,
                                                                         params 
CodeExpression[] initializers)
                        {
                                this.createType = new 
CodeTypeReference(createType);
                                Initializers.AddRange(initializers);
                        }
        public CodeArrayCreateExpression(Type createType, int size)
                        {
                                this.createType = new 
CodeTypeReference(createType);
                                this.size = size;
                        }

        // Properties.
        public CodeTypeReference CreateType
                        {
                                get
                                {
                                        return createType;
                                }
                                set
                                {
                                        createType = value;
                                }
                        }
        public CodeExpressionCollection Initializers
                        {
                                get
                                {
                                        if(initializers == null)
                                        {
                                                initializers = new 
CodeExpressionCollection();
                                        }
                                        return initializers;
                                }
                        }
        public int Size
                        {
                                get
                                {
                                        return size;
                                }
                                set
                                {
                                        size = value;
                                }
                        }
        public CodeExpression SizeExpression
                        {
                                get
                                {
                                        return sizeExpr;
                                }
                                set
                                {
                                        sizeExpr = value;
                                }
                        }

}; // class CodeArrayCreateExpression

#endif // !ECMA_COMPAT

}; // namespace System.CodeDom

--- NEW FILE ---
/*
 * CodeAttachEventStatement.cs - Implementation of the
 *              System.CodeDom.CodeAttachEventStatement class.
 *
 * Copyright (C) 2002  Southern Storm Software, Pty Ltd.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */

namespace System.CodeDom
{

#if !ECMA_COMPAT

using System.Runtime.InteropServices;
using System.Collections;
using System.Collections.Specialized;

[Serializable]
[ClassInterface(ClassInterfaceType.AutoDispatch)]
[ComVisible(true)]
public class CodeAttachEventStatement : CodeStatement
{

        // Internal state.
        private CodeEventReferenceExpression eventRef;
        private CodeExpression listener;

        // Constructors.
        public CodeAttachEventStatement()
                        {
                        }
        public CodeAttachEventStatement(CodeEventReferenceExpression eventRef,
                                                                        
CodeExpression listener)
                        {
                                this.eventRef = eventRef;
                                this.listener = listener;
                        }
        public CodeAttachEventStatement(CodeExpression targetObject,
                                                                        String 
eventName,
                                                                        
CodeExpression listener)
                        {
                                this.eventRef = new CodeEventReferenceExpression
                                                (targetObject, eventName);
                                this.listener = listener;
                        }

        // Properties.
        public CodeEventReferenceExpression Event
                        {
                                get
                                {
                                        return eventRef;
                                }
                                set
                                {
                                        eventRef = value;
                                }
                        }
        public CodeExpression Listener
                        {
                                get
                                {
                                        return listener;
                                }
                                set
                                {
                                        listener = value;
                                }
                        }

}; // class CodeAttachEventStatement

#endif // !ECMA_COMPAT

}; // namespace System.CodeDom

--- NEW FILE ---
/*
 * CodeBinaryOperatorType.cs - Implementation of the
 *              System.CodeDom.CodeBinaryOperatorType class.
 *
 * Copyright (C) 2002  Southern Storm Software, Pty Ltd.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */

namespace System.CodeDom
{

#if !ECMA_COMPAT

using System.Runtime.InteropServices;

[Serializable]
[ComVisible(true)]
public enum CodeBinaryOperatorType
{
        Add                = 0,
        Subtract           = 1,
        Multiply           = 2,
        Divide             = 3,
        Modulus            = 4,
        Assign             = 5,
        IdentityInequality = 6,
        IdentityEquality   = 7,
        ValueEquality      = 8,
        BitwiseOr          = 9,
        BitwiseAnd         = 10,
        BooleanOr          = 11,
        BooleanAnd         = 12,
        LessThan           = 13,
        LessThanOrEqual    = 14,
        GreaterThan        = 15,
        GreaterThanOrEqual = 16

}; // enum CodeBinaryOperatorType

#endif // !ECMA_COMPAT

}; // namespace System.CodeDom

--- NEW FILE ---
/*
 * CodeCastExpression.cs - Implementation of the
 *              System.CodeDom.CodeCastExpression class.
 *
 * Copyright (C) 2002  Southern Storm Software, Pty Ltd.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */

namespace System.CodeDom
{

#if !ECMA_COMPAT

using System.Runtime.InteropServices;
using System.Collections;
using System.Collections.Specialized;

[Serializable]
[ClassInterface(ClassInterfaceType.AutoDispatch)]
[ComVisible(true)]
public class CodeCastExpression : CodeExpression
{

        // Internal state.
        private CodeTypeReference targetType;
        private CodeExpression expression;

        // Constructors.
        public CodeCastExpression()
                        {
                        }
        public CodeCastExpression(CodeTypeReference targetType,
                                                          CodeExpression 
expression)
                        {
                                this.targetType = targetType;
                                this.expression = expression;
                        }
        public CodeCastExpression(String targetType,
                                                          CodeExpression 
expression)
                        {
                                this.targetType = new 
CodeTypeReference(targetType);
                                this.expression = expression;
                        }
        public CodeCastExpression(Type targetType,
                                                          CodeExpression 
expression)
                        {
                                this.targetType = new 
CodeTypeReference(targetType);
                                this.expression = expression;
                        }

        // Properties.
        public CodeTypeReference TargetType
                        {
                                get
                                {
                                        return targetType;
                                }
                                set
                                {
                                        targetType = value;
                                }
                        }
        public CodeExpression Expression
                        {
                                get
                                {
                                        return expression;
                                }
                                set
                                {
                                        expression = value;
                                }
                        }

}; // class CodeCastExpression

#endif // !ECMA_COMPAT

}; // namespace System.CodeDom

--- NEW FILE ---
/*
 * CodeCatchClause.cs - Implementation of the
 *              System.CodeDom.CodeCatchClause class.
 *
 * Copyright (C) 2002  Southern Storm Software, Pty Ltd.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */

namespace System.CodeDom
{

#if !ECMA_COMPAT

using System.Runtime.InteropServices;
using System.Collections;
using System.Collections.Specialized;

[Serializable]
[ClassInterface(ClassInterfaceType.AutoDispatch)]
[ComVisible(true)]
public class CodeCatchClause
{

        // Internal state.
        private String localName;
        private CodeTypeReference catchExceptionType;
        private CodeStatementCollection statements;

        // Constructors.
        public CodeCatchClause()
                        {
                        }
        public CodeCatchClause(String localName)
                        {
                                this.localName = localName;
                        }
        public CodeCatchClause(String localName,
                                                   CodeTypeReference 
catchExceptionType)
                        {
                                this.localName = localName;
                                this.catchExceptionType = catchExceptionType;
                        }
        public CodeCatchClause(String localName,
                                                   CodeTypeReference 
catchExceptionType,
                                                   params CodeStatement[] 
statements)
                        {
                                this.localName = localName;
                                this.catchExceptionType = catchExceptionType;
                                Statements.AddRange(statements);
                        }

        // Properties.
        public String LocalName
                        {
                                get
                                {
                                        return localName;
                                }
                                set
                                {
                                        localName = value;
                                }
                        }
        public CodeTypeReference CatchExceptionType
                        {
                                get
                                {
                                        return catchExceptionType;
                                }
                                set
                                {
                                        catchExceptionType = value;
                                }
                        }
        public CodeStatementCollection Statements
                        {
                                get
                                {
                                        if(statements == null)
                                        {
                                                statements = new 
CodeStatementCollection();
                                        }
                                        return statements;
                                }
                        }

}; // class CodeCatchClause

#endif // !ECMA_COMPAT

}; // namespace System.CodeDom

--- NEW FILE ---
/*
 * CodeCommentStatement.cs - Implementation of the
 *              System.CodeDom.CodeCommentStatement class.
 *
 * Copyright (C) 2002  Southern Storm Software, Pty Ltd.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */

namespace System.CodeDom
{

#if !ECMA_COMPAT

using System.Runtime.InteropServices;
using System.Collections;
using System.Collections.Specialized;

[Serializable]
[ClassInterface(ClassInterfaceType.AutoDispatch)]
[ComVisible(true)]
public class CodeCommentStatement : CodeStatement
{

        // Internal state.
        private CodeComment comment;

        // Constructors.
        public CodeCommentStatement()
                        {
                        }
        public CodeCommentStatement(CodeComment comment)
                        {
                                this.comment = comment;
                        }
        public CodeCommentStatement(String text)
                        {
                                this.comment = new CodeComment(text);
                        }
        public CodeCommentStatement(String text, bool docComment)
                        {
                                this.comment = new CodeComment(text, 
docComment);
                        }

        // Properties.
        public CodeComment Comment
                        {
                                get
                                {
                                        return comment;
                                }
                                set
                                {
                                        comment = value;
                                }
                        }

}; // class CodeCommentStatement

#endif // !ECMA_COMPAT

}; // namespace System.CodeDom

--- NEW FILE ---
/*
 * CodeConditionStatement.cs - Implementation of the
 *              System.CodeDom.CodeConditionStatement class.
 *
 * Copyright (C) 2002  Southern Storm Software, Pty Ltd.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */

namespace System.CodeDom
{

#if !ECMA_COMPAT

using System.Runtime.InteropServices;
using System.Collections;
using System.Collections.Specialized;

[Serializable]
[ClassInterface(ClassInterfaceType.AutoDispatch)]
[ComVisible(true)]
public class CodeConditionStatement : CodeStatement
{

        // Internal state.
        private CodeExpression condition;
        private CodeStatementCollection trueStatements;
        private CodeStatementCollection falseStatements;

        // Constructors.
        public CodeConditionStatement()
                        {
                        }
        public CodeConditionStatement(CodeExpression condition,
                                                                  params 
CodeStatement[] trueStatements)
                        {
                                this.condition = condition;
                                TrueStatements.AddRange(trueStatements);
                        }
        public CodeConditionStatement(CodeExpression condition,
                                                                  
CodeStatement[] trueStatements,
                                                                  
CodeStatement[] falseStatements)
                        {
                                this.condition = condition;
                                TrueStatements.AddRange(trueStatements);
                                FalseStatements.AddRange(falseStatements);
                        }

        // Properties.
        public CodeExpression Condition
                        {
                                get
                                {
                                        return condition;
                                }
                                set
                                {
                                        condition = value;
                                }
                        }
        public CodeStatementCollection TrueStatements
                        {
                                get
                                {
                                        if(trueStatements == null)
                                        {
                                                trueStatements = new 
CodeStatementCollection();
                                        }
                                        return trueStatements;
                                }
                        }
        public CodeStatementCollection FalseStatements
                        {
                                get
                                {
                                        if(falseStatements == null)
                                        {
                                                falseStatements = new 
CodeStatementCollection();
                                        }
                                        return falseStatements;
                                }
                        }

}; // class CodeConditionStatement

#endif // !ECMA_COMPAT

}; // namespace System.CodeDom

--- NEW FILE ---
/*
 * CodeMemberEvent.cs - Implementation of the
 *              System.CodeDom.CodeMemberEvent class.
 *
 * Copyright (C) 2002  Southern Storm Software, Pty Ltd.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */

namespace System.CodeDom
{

#if !ECMA_COMPAT

using System.Runtime.InteropServices;
using System.Collections;
using System.Collections.Specialized;

[Serializable]
[ClassInterface(ClassInterfaceType.AutoDispatch)]
[ComVisible(true)]
public class CodeMemberEvent : CodeTypeMember
{

        // Internal state.
        private CodeTypeReferenceCollection implementationTypes;
        private CodeTypeReference privateImplementationType;
        private CodeTypeReference type;

        // Constructors.
        public CodeMemberEvent()
                        {
                        }

        // Properties.
        public CodeTypeReferenceCollection ImplementationTypes
                        {
                                get
                                {
                                        if(implementationTypes == null)
                                        {
                                                implementationTypes = new 
CodeTypeReferenceCollection();
                                        }
                                        return implementationTypes;
                                }
                        }
        public CodeTypeReference PrivateImplementationType
                        {
                                get
                                {
                                        return privateImplementationType;
                                }
                                set
                                {
                                        privateImplementationType = value;
                                }
                        }
        public CodeTypeReference Type
                        {
                                get
                                {
                                        return type;
                                }
                                set
                                {
                                        type = value;
                                }
                        }

}; // class CodeMemberEvent

#endif // !ECMA_COMPAT

}; // namespace System.CodeDom

--- NEW FILE ---
/*
 * CodeMemberField.cs - Implementation of the
 *              System.CodeDom.CodeMemberField class.
 *
 * Copyright (C) 2002  Southern Storm Software, Pty Ltd.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */

namespace System.CodeDom
{

#if !ECMA_COMPAT

using System.Runtime.InteropServices;
using System.Collections;
using System.Collections.Specialized;

[Serializable]
[ClassInterface(ClassInterfaceType.AutoDispatch)]
[ComVisible(true)]
public class CodeMemberField : CodeTypeMember
{

        // Internal state.
        private CodeTypeReference type;
        private CodeExpression initExpression;

        // Constructors.
        public CodeMemberField()
                        {
                        }
        public CodeMemberField(CodeTypeReference type, String name)
                        {
                                this.type = type;
                                this.Name = name;
                        }
        public CodeMemberField(String type, String name)
                        {
                                this.type = new CodeTypeReference(type);
                                this.Name = name;
                        }
        public CodeMemberField(Type type, String name)
                        {
                                this.type = new CodeTypeReference(type);
                                this.Name = name;
                        }

        // Properties.
        public CodeExpression InitExpression
                        {
                                get
                                {
                                        return initExpression;
                                }
                                set
                                {
                                        initExpression = value;
                                }
                        }
        public CodeTypeReference Type
                        {
                                get
                                {
                                        return type;
                                }
                                set
                                {
                                        type = value;
                                }
                        }

}; // class CodeMemberField

#endif // !ECMA_COMPAT

}; // namespace System.CodeDom

--- NEW FILE ---
/*
 * CodeMemberMethod.cs - Implementation of the
 *              System.CodeDom.CodeMemberMethod class.
 *
 * Copyright (C) 2002  Southern Storm Software, Pty Ltd.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */

namespace System.CodeDom
{

#if !ECMA_COMPAT

using System.Runtime.InteropServices;
using System.Collections;
using System.Collections.Specialized;

[Serializable]
[ClassInterface(ClassInterfaceType.AutoDispatch)]
[ComVisible(true)]
public class CodeMemberMethod : CodeTypeMember
{

        // Internal state.
        private CodeTypeReferenceCollection implementationTypes;
        private CodeParameterDeclarationExpressionCollection parameters;
        private CodeTypeReference privateImplementationType;
        private CodeAttributeDeclarationCollection returnAttrs;
        private CodeTypeReference returnType;
        private CodeStatementCollection statements;

        // Constructors.
        public CodeMemberMethod()
                        {
                        }

        // Properties.
        public CodeTypeReferenceCollection ImplementationTypes
                        {
                                get
                                {
                                        if(implementationTypes == null)
                                        {
                                                implementationTypes = new 
CodeTypeReferenceCollection();
                                                if(PopulateImplementationTypes 
!= null)
                                                {
                                                        
PopulateImplementationTypes(this, EventArgs.Empty);
                                                }
                                        }
                                        return implementationTypes;
                                }
                        }
        public CodeParameterDeclarationExpressionCollection Parameters
                        {
                                get
                                {
                                        if(parameters == null)
                                        {
                                                parameters =
                                                        new 
CodeParameterDeclarationExpressionCollection();
                                                if(PopulateParameters != null)
                                                {
                                                        
PopulateParameters(this, EventArgs.Empty);
                                                }
                                        }
                                        return parameters;
                                }
                        }
        public CodeTypeReference PrivateImplementationType
                        {
                                get
                                {
                                        return privateImplementationType;
                                }
                                set
                                {
                                        privateImplementationType = value;
                                }
                        }
        public CodeTypeReference ReturnType
                        {
                                get
                                {
                                        return returnType;
                                }
                                set
                                {
                                        returnType = value;
                                }
                        }
        public CodeAttributeDeclarationCollection ReturnTypeCustomAttributes
                        {
                                get
                                {
                                        if(returnAttrs == null)
                                        {
                                                returnAttrs = new 
CodeAttributeDeclarationCollection();
                                        }
                                        return returnAttrs;
                                }
                        }
        public CodeStatementCollection Statements
                        {
                                get
                                {
                                        if(statements == null)
                                        {
                                                statements = new 
CodeStatementCollection();
                                                if(PopulateStatements != null)
                                                {
                                                        
PopulateStatements(this, EventArgs.Empty);
                                                }
                                        }
                                        return statements;
                                }
                        }

        // Events.
        public event EventHandler PopulateImplementationTypes;
        public event EventHandler PopulateParameters;
        public event EventHandler PopulateStatements;

}; // class CodeMemberMethod

#endif // !ECMA_COMPAT

}; // namespace System.CodeDom

--- NEW FILE ---
/*
 * CodeMethodInvokeExpression.cs - Implementation of the
 *              System.CodeDom.CodeMethodInvokeExpression class.
 *
 * Copyright (C) 2002  Southern Storm Software, Pty Ltd.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */

namespace System.CodeDom
{

#if !ECMA_COMPAT

using System.Runtime.InteropServices;
using System.Collections;
using System.Collections.Specialized;

[Serializable]
[ClassInterface(ClassInterfaceType.AutoDispatch)]
[ComVisible(true)]
public class CodeMethodInvokeExpression : CodeExpression
{

        // Internal state.
        private CodeMethodReferenceExpression method;
        private CodeExpressionCollection parameters;

        // Constructors.
        public CodeMethodInvokeExpression()
                        {
                        }
        public CodeMethodInvokeExpression(CodeMethodReferenceExpression method,
                                                                          
params CodeExpression[] parameters)
                        {
                                this.method = method;
                                Parameters.AddRange(parameters);
                        }
        public CodeMethodInvokeExpression(CodeExpression targetObject,
                                                                          
String methodName,
                                                                          
params CodeExpression[] parameters)
                        {
                                this.method = new CodeMethodReferenceExpression
                                                (targetObject, methodName);
                                Parameters.AddRange(parameters);
                        }

        // Properties.
        public CodeMethodReferenceExpression Method
                        {
                                get
                                {
                                        return method;
                                }
                                set
                                {
                                        method = value;
                                }
                        }
        public CodeExpressionCollection Parameters
                        {
                                get
                                {
                                        if(parameters == null)
                                        {
                                                parameters = new 
CodeExpressionCollection();
                                        }
                                        return parameters;
                                }
                        }

}; // class CodeMethodInvokeExpression

#endif // !ECMA_COMPAT

}; // namespace System.CodeDom

--- NEW FILE ---
/*
 * CodeNamespace.cs - Implementation of the
 *              System.CodeDom.CodeNamespace class.
 *
 * Copyright (C) 2002  Southern Storm Software, Pty Ltd.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */

namespace System.CodeDom
{

#if !ECMA_COMPAT

using System.Runtime.InteropServices;
using System.Collections;
using System.Collections.Specialized;

[Serializable]
[ClassInterface(ClassInterfaceType.AutoDispatch)]
[ComVisible(true)]
public class CodeNamespace : CodeObject
{

        // Internal state.
        private CodeCommentStatementCollection comments;
        private CodeNamespaceImportCollection imports;
        private String name;
        private CodeTypeDeclarationCollection types;

        // Constructors.
        public CodeNamespace()
                        {
                        }
        public CodeNamespace(String name)
                        {
                                this.name = name;
                        }

        // Properties.
        public CodeCommentStatementCollection Comments
                        {
                                get
                                {
                                        if(comments == null)
                                        {
                                                comments = new 
CodeCommentStatementCollection();
                                                if(PopulateComments != null)
                                                {
                                                        PopulateComments(this, 
EventArgs.Empty);
                                                }
                                        }
                                        return comments;
                                }
                        }
        public CodeNamespaceImportCollection Imports
                        {
                                get
                                {
                                        if(imports == null)
                                        {
                                                imports = new 
CodeNamespaceImportCollection();
                                                if(PopulateImports != null)
                                                {
                                                        PopulateImports(this, 
EventArgs.Empty);
                                                }
                                        }
                                        return imports;
                                }
                        }
        public String Name
                        {
                                get
                                {
                                        return name;
                                }
                                set
                                {
                                        name = value;
                                }
                        }
        public CodeTypeDeclarationCollection Types
                        {
                                get
                                {
                                        if(types == null)
                                        {
                                                types = new 
CodeTypeDeclarationCollection();
                                                if(PopulateTypes != null)
                                                {
                                                        PopulateTypes(this, 
EventArgs.Empty);
                                                }
                                        }
                                        return types;
                                }
                        }

        // Events.
        public event EventHandler PopulateComments;
        public event EventHandler PopulateImports;
        public event EventHandler PopulateTypes;

}; // class CodeNamespace

#endif // !ECMA_COMPAT

}; // namespace System.CodeDom

--- NEW FILE ---
/*
 * CodeNamespaceImport.cs - Implementation of the
 *              System.CodeDom.CodeNamespaceImport class.
 *
 * Copyright (C) 2002  Southern Storm Software, Pty Ltd.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */

namespace System.CodeDom
{

#if !ECMA_COMPAT

using System.Runtime.InteropServices;
using System.Collections;
using System.Collections.Specialized;

[Serializable]
[ClassInterface(ClassInterfaceType.AutoDispatch)]
[ComVisible(true)]
public class CodeNamespaceImport : CodeObject
{

        // Internal state.
        private CodeLinePragma linePragma;
        private String nameSpace;

        // Constructors.
        public CodeNamespaceImport()
                        {
                        }
        public CodeNamespaceImport(String nameSpace)
                        {
                                this.nameSpace = nameSpace;
                        }

        // Properties.
        public CodeLinePragma LinePragma
                        {
                                get
                                {
                                        return linePragma;
                                }
                                set
                                {
                                        linePragma = value;
                                }
                        }
        public String Namespace
                        {
                                get
                                {
                                        return nameSpace;
                                }
                                set
                                {
                                        nameSpace = value;
                                }
                        }

}; // class CodeNamespaceImport

#endif // !ECMA_COMPAT

}; // namespace System.CodeDom

--- NEW FILE ---
/*
 * CodeNamespaceImportCollection.cs - Implementation of the
 *              System.CodeDom.CodeNamespaceImportCollection class.
 *
 * Copyright (C) 2002  Southern Storm Software, Pty Ltd.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */

namespace System.CodeDom
{

#if !ECMA_COMPAT

using System.Runtime.InteropServices;
using System.Collections;
using System.Collections.Specialized;

[Serializable]
[ClassInterface(ClassInterfaceType.AutoDispatch)]
[ComVisible(true)]
public class CodeNamespaceImportCollection : IList, ICollection, IEnumerable
{

        // Internal state.
        private ArrayList list;

        // Constructors.
        public CodeNamespaceImportCollection()
                        {
                                list = new ArrayList();
                        }

        // Properties.
        public CodeNamespaceImport this[int index]
                        {
                                get
                                {
                                        return 
(CodeNamespaceImport)(list[index]);
                                }
                                set
                                {
                                        list[index] = value;
                                }
                        }

        // Add a new namespace import to this collection.
        public void Add(CodeNamespaceImport value)
                        {
                                list.Add(value);
                        }

        // Add a range of namespace imports to this collection.
        public void AddRange(CodeNamespaceImport[] value)
                        {
                                list.AddRange(value);
                        }

        // Implement the IList interface.
        int IList.Add(Object value)
                        {
                                return list.Add((CodeNamespaceImport)value);
                        }
        public void Clear()
                        {
                                list.Clear();
                        }
        bool IList.Contains(Object value)
                        {
                                return list.Contains(value);
                        }
        int IList.IndexOf(Object value)
                        {
                                return list.IndexOf((CodeNamespaceImport)value);
                        }
        void IList.Insert(int index, Object value)
                        {
                                list.Insert(index, (CodeNamespaceImport)value);
                        }
        void IList.Remove(Object value)
                        {
                                list.Remove((CodeNamespaceImport)value);
                        }
        void IList.RemoveAt(int index)
                        {
                                list.RemoveAt(index);
                        }
        bool IList.IsFixedSize
                        {
                                get
                                {
                                        return false;
                                }
                        }
        bool IList.IsReadOnly
                        {
                                get
                                {
                                        return false;
                                }
                        }
        Object IList.this[int index]
                        {
                                get
                                {
                                        return list[index];
                                }
                                set
                                {
                                        list[index] = 
(CodeNamespaceImport)value;
                                }
                        }

        // Implement the ICollection interface.
        void ICollection.CopyTo(Array array, int index)
                        {
                                list.CopyTo(array, index);
                        }
        public int Count
                        {
                                get
                                {
                                        return list.Count;
                                }
                        }
        bool ICollection.IsSynchronized
                        {
                                get
                                {
                                        return false;
                                }
                        }
        Object ICollection.SyncRoot
                        {
                                get
                                {
                                        return null;
                                }
                        }

        // Implement the IEnumerable interface.
        public IEnumerator GetEnumerator()
                        {
                                return list.GetEnumerator();
                        }

}; // class CodeNamespaceImportCollection

#endif // !ECMA_COMPAT

}; // namespace System.CodeDom

--- NEW FILE ---
/*
 * CodeObject.cs - Implementation of the
 *              System.CodeDom.CodeObject class.
 *
 * Copyright (C) 2002  Southern Storm Software, Pty Ltd.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */

namespace System.CodeDom
{

#if !ECMA_COMPAT

using System.Runtime.InteropServices;
using System.Collections;
using System.Collections.Specialized;

[Serializable]
[ClassInterface(ClassInterfaceType.AutoDispatch)]
[ComVisible(true)]
public class CodeObject
{

        // Internal state.
        private IDictionary userData;

        // Constructors.
        public CodeObject()
                        {
                                userData = null;
                        }

        // Properties.
        public IDictionary UserData
                        {
                                get
                                {
                                        if(userData == null)
                                        {
                                                userData = new ListDictionary();
                                        }
                                        return userData;
                                }
                        }

}; // class CodeObject

#endif // !ECMA_COMPAT

}; // namespace System.CodeDom

--- NEW FILE ---
/*
 * CodeObjectCreateExpression.cs - Implementation of the
 *              System.CodeDom.CodeObjectCreateExpression class.
 *
 * Copyright (C) 2002  Southern Storm Software, Pty Ltd.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */

namespace System.CodeDom
{

#if !ECMA_COMPAT

using System.Runtime.InteropServices;
using System.Collections;
using System.Collections.Specialized;

[Serializable]
[ClassInterface(ClassInterfaceType.AutoDispatch)]
[ComVisible(true)]
public class CodeObjectCreateExpression : CodeExpression
{

        // Internal state.
        private CodeTypeReference createType;
        private CodeExpressionCollection parameters;

        // Constructors.
        public CodeObjectCreateExpression()
                        {
                        }
        public CodeObjectCreateExpression(CodeTypeReference createType,
                                                                          
params CodeExpression[] parameters)
                        {
                                this.createType = createType;
                                Parameters.AddRange(parameters);
                        }
        public CodeObjectCreateExpression(String createType,
                                                                          
params CodeExpression[] parameters)
                        {
                                this.createType = new 
CodeTypeReference(createType);
                                Parameters.AddRange(parameters);
                        }
        public CodeObjectCreateExpression(Type createType,
                                                                          
params CodeExpression[] parameters)
                        {
                                this.createType = new 
CodeTypeReference(createType);
                                Parameters.AddRange(parameters);
                        }

        // Properties.
        public CodeTypeReference CreateType
                        {
                                get
                                {
                                        return createType;
                                }
                                set
                                {
                                        createType = value;
                                }
                        }
        public CodeExpressionCollection Parameters
                        {
                                get
                                {
                                        if(parameters == null)
                                        {
                                                parameters = new 
CodeExpressionCollection();
                                        }
                                        return parameters;
                                }
                        }

}; // class CodeObjectCreateExpression

#endif // !ECMA_COMPAT

}; // namespace System.CodeDom

--- NEW FILE ---
/*
 * CodeParameterDeclarationExpression.cs - Implementation of the
 *              System.CodeDom.CodeParameterDeclarationExpression class.
 *
 * Copyright (C) 2002  Southern Storm Software, Pty Ltd.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */

namespace System.CodeDom
{

#if !ECMA_COMPAT

using System.Runtime.InteropServices;
using System.Collections;
using System.Collections.Specialized;

[Serializable]
[ClassInterface(ClassInterfaceType.AutoDispatch)]
[ComVisible(true)]
public class CodeParameterDeclarationExpression : CodeExpression
{

        // Internal state.
        private CodeTypeReference type;
        private String name;
        private FieldDirection direction;
        private CodeAttributeDeclarationCollection attributes;

        // Constructors.
        public CodeParameterDeclarationExpression()
                        {
                        }
        public CodeParameterDeclarationExpression(CodeTypeReference type,
                                                                                
          String name)
                        {
                                this.type = type;
                                this.name = name;
                        }
        public CodeParameterDeclarationExpression(String type, String name)
                        {
                                this.type = new CodeTypeReference(type);
                                this.name = name;
                        }
        public CodeParameterDeclarationExpression(Type type, String name)
                        {
                                this.type = new CodeTypeReference(type);
                                this.name = name;
                        }

        // Properties.
        public CodeAttributeDeclarationCollection CustomAttributes
                        {
                                get
                                {
                                        if(attributes == null)
                                        {
                                                attributes = new 
CodeAttributeDeclarationCollection();
                                        }
                                        return attributes;
                                }
                                set
                                {
                                        attributes = value;
                                }
                        }
        public FieldDirection Direction
                        {
                                get
                                {
                                        return direction;
                                }
                                set
                                {
                                        direction = value;
                                }
                        }
        public String Name
                        {
                                get
                                {
                                        return name;
                                }
                                set
                                {
                                        name = value;
                                }
                        }
        public CodeTypeReference Type
                        {
                                get
                                {
                                        return type;
                                }
                                set
                                {
                                        type = value;
                                }
                        }

}; // class CodeParameterDeclarationExpression

#endif // !ECMA_COMPAT

}; // namespace System.CodeDom

--- NEW FILE ---
/*
 * CodeRemoveEventStatement.cs - Implementation of the
 *              System.CodeDom.CodeRemoveEventStatement class.
 *
 * Copyright (C) 2002  Southern Storm Software, Pty Ltd.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */

namespace System.CodeDom
{

#if !ECMA_COMPAT

using System.Runtime.InteropServices;
using System.Collections;
using System.Collections.Specialized;

[Serializable]
[ClassInterface(ClassInterfaceType.AutoDispatch)]
[ComVisible(true)]
public class CodeRemoveEventStatement : CodeStatement
{

        // Internal state.
        private CodeEventReferenceExpression eventRef;
        private CodeExpression listener;

        // Constructors.
        public CodeRemoveEventStatement()
                        {
                        }
        public CodeRemoveEventStatement(CodeEventReferenceExpression eventRef,
                                                                        
CodeExpression listener)
                        {
                                this.eventRef = eventRef;
                                this.listener = listener;
                        }
        public CodeRemoveEventStatement(CodeExpression targetObject,
                                                                        String 
eventName,
                                                                        
CodeExpression listener)
                        {
                                this.eventRef = new CodeEventReferenceExpression
                                                (targetObject, eventName);
                                this.listener = listener;
                        }

        // Properties.
        public CodeEventReferenceExpression Event
                        {
                                get
                                {
                                        return eventRef;
                                }
                                set
                                {
                                        eventRef = value;
                                }
                        }
        public CodeExpression Listener
                        {
                                get
                                {
                                        return listener;
                                }
                                set
                                {
                                        listener = value;
                                }
                        }

}; // class CodeRemoveEventStatement

#endif // !ECMA_COMPAT

}; // namespace System.CodeDom

--- NEW FILE ---
/*
 * CodeSnippetCompileUnit.cs - Implementation of the
 *              System.CodeDom.CodeSnippetCompileUnit class.
 *
 * Copyright (C) 2002  Southern Storm Software, Pty Ltd.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */

namespace System.CodeDom
{

#if !ECMA_COMPAT

using System.Runtime.InteropServices;
using System.Collections;
using System.Collections.Specialized;

[Serializable]
[ClassInterface(ClassInterfaceType.AutoDispatch)]
[ComVisible(true)]
public class CodeSnippetCompileUnit : CodeCompileUnit
{

        // Internal state.
        private CodeLinePragma linePragma;
        private String value;

        // Constructors.
        public CodeSnippetCompileUnit(String value)
                        {
                                this.value = value;
                        }

        // Properties.
        public CodeLinePragma LinePragma
                        {
                                get
                                {
                                        return linePragma;
                                }
                                set
                                {
                                        linePragma = value;
                                }
                        }
        public String Value
                        {
                                get
                                {
                                        return value;
                                }
                                set
                                {
                                        this.value = value;
                                }
                        }

}; // class CodeSnippetCompileUnit

#endif // !ECMA_COMPAT

}; // namespace System.CodeDom

--- NEW FILE ---
/*
 * CodeTypeDeclaration.cs - Implementation of the
 *              System.CodeDom.CodeTypeDeclaration class.
 *
 * Copyright (C) 2002  Southern Storm Software, Pty Ltd.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */

namespace System.CodeDom
{

#if !ECMA_COMPAT

using System.Runtime.InteropServices;
using System.Collections;
using System.Collections.Specialized;
using System.Reflection;

[Serializable]
[ClassInterface(ClassInterfaceType.AutoDispatch)]
[ComVisible(true)]
public class CodeTypeDeclaration : CodeTypeMember
{

        // Type category.
        private enum CodeTypeCategory
        {
                Class,
                Enum,
                Interface,
                Struct

        };

        // Internal state.
        private CodeTypeReferenceCollection baseTypes;
        private CodeTypeMemberCollection members;
        private CodeTypeCategory category;
        private TypeAttributes typeAttributes;

        // Constructors.
        public CodeTypeDeclaration()
                        {
                        }
        public CodeTypeDeclaration(String name)
                        {
                                Name = name;
                        }

        // Properties.
        public CodeTypeReferenceCollection BaseTypes
                        {
                                get
                                {
                                        if(baseTypes == null)
                                        {
                                                baseTypes = new 
CodeTypeReferenceCollection();
                                                if(PopulateBaseTypes != null)
                                                {
                                                        PopulateBaseTypes(this, 
EventArgs.Empty);
                                                }
                                        }
                                        return baseTypes;
                                }
                        }
        public CodeTypeMemberCollection Members
                        {
                                get
                                {
                                        if(members == null)
                                        {
                                                members = new 
CodeTypeMemberCollection();
                                                if(PopulateMembers != null)
                                                {
                                                        PopulateMembers(this, 
EventArgs.Empty);
                                                }
                                        }
                                        return members;
                                }
                        }
        public bool IsClass
                        {
                                get
                                {
                                        return (category == 
CodeTypeCategory.Class);
                                }
                                set
                                {
                                        if(value)
                                        {
                                                category = 
CodeTypeCategory.Class;
                                        }
                                }
                        }
        public bool IsEnum
                        {
                                get
                                {
                                        return (category == 
CodeTypeCategory.Enum);
                                }
                                set
                                {
                                        if(value)
                                        {
                                                category = 
CodeTypeCategory.Enum;
                                        }
                                }
                        }
        public bool IsStruct
                        {
                                get
                                {
                                        return (category == 
CodeTypeCategory.Struct);
                                }
                                set
                                {
                                        if(value)
                                        {
                                                category = 
CodeTypeCategory.Struct;
                                        }
                                }
                        }
        public bool IsInterface
                        {
                                get
                                {
                                        return (category == 
CodeTypeCategory.Interface);
                                }
                                set
                                {
                                        if(value)
                                        {
                                                category = 
CodeTypeCategory.Interface;
                                        }
                                }
                        }
        public TypeAttributes TypeAttributes
                        {
                                get
                                {
                                        return typeAttributes;
                                }
                                set
                                {
                                        typeAttributes = value;
                                }
                        }

        // Events.
        public EventHandler PopulateBaseTypes;
        public EventHandler PopulateMembers;

}; // class CodeTypeDeclaration

#endif // !ECMA_COMPAT

}; // namespace System.CodeDom

--- NEW FILE ---
/*
 * CodeTypeDelegate.cs - Implementation of the
 *              System.CodeDom.CodeTypeDelegate class.
 *
 * Copyright (C) 2002  Southern Storm Software, Pty Ltd.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */

namespace System.CodeDom
{

#if !ECMA_COMPAT

using System.Runtime.InteropServices;
using System.Collections;
using System.Collections.Specialized;

[Serializable]
[ClassInterface(ClassInterfaceType.AutoDispatch)]
[ComVisible(true)]
public class CodeTypeDelegate : CodeTypeDeclaration
{
        // Internal state.
        private CodeParameterDeclarationExpressionCollection parameters;
        private CodeTypeReference returnType;

        // Constructors.
        public CodeTypeDelegate()
                        {
                        }
        public CodeTypeDelegate(String name)
                        : base(name)
                        {
                        }

        // Properties.
        public CodeParameterDeclarationExpressionCollection Parameters
                        {
                                get
                                {
                                        if(parameters == null)
                                        {
                                                parameters =
                                                        new 
CodeParameterDeclarationExpressionCollection();
                                        }
                                        return parameters;
                                }
                        }
        public CodeTypeReference ReturnType
                        {
                                get
                                {
                                        return returnType;
                                }
                                set
                                {
                                        returnType = value;
                                }
                        }

}; // class CodeTypeDelegate

#endif // !ECMA_COMPAT

}; // namespace System.CodeDom

--- NEW FILE ---
/*
 * CodeTypeMember.cs - Implementation of the
 *              System.CodeDom.CodeTypeMember class.
 *
 * Copyright (C) 2002  Southern Storm Software, Pty Ltd.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */

namespace System.CodeDom
{

#if !ECMA_COMPAT

using System.Runtime.InteropServices;
using System.Collections;
using System.Collections.Specialized;

// Generated using "gencdom", and then manually fixed up to add
// the "set" accessor for "CustomAttributes".

[Serializable]
[ClassInterface(ClassInterfaceType.AutoDispatch)]
[ComVisible(true)]
public class CodeTypeMember : CodeObject
{

        // Internal state.
        private MemberAttributes _Attributes;
        private CodeCommentStatementCollection _Comments;
        private CodeAttributeDeclarationCollection _CustomAttributes;
        private CodeLinePragma _LinePragma;
        private String _Name;

        // Constructors.
        public CodeTypeMember()
        {
        }

        // Properties.
        public MemberAttributes Attributes
        {
                get
                {
                        return _Attributes;
                }
                set
                {
                        _Attributes = value;
                }
        }
        public CodeCommentStatementCollection Comments
        {
                get
                {
                        if(_Comments == null)
                        {
                                _Comments = new 
CodeCommentStatementCollection();
                        }
                        return _Comments;
                }
        }
        public CodeAttributeDeclarationCollection CustomAttributes
        {
                get
                {
                        if(_CustomAttributes == null)
                        {
                                _CustomAttributes = new 
CodeAttributeDeclarationCollection();
                        }
                        return _CustomAttributes;
                }
                set
                {
                        _CustomAttributes = value;
                }
        }
        public CodeLinePragma LinePragma
        {
                get
                {
                        return _LinePragma;
                }
                set
                {
                        _LinePragma = value;
                }
        }
        public String Name
        {
                get
                {
                        return _Name;
                }
                set
                {
                        _Name = value;
                }
        }

}; // class CodeTypeMember

#endif // !ECMA_COMPAT

}; // namespace System.CodeDom

--- NEW FILE ---
/*
 * CodeTypeOfExpression.cs - Implementation of the
 *              System.CodeDom.CodeTypeOfExpression class.
 *
 * Copyright (C) 2002  Southern Storm Software, Pty Ltd.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */

namespace System.CodeDom
{

#if !ECMA_COMPAT

using System.Runtime.InteropServices;
using System.Collections;
using System.Collections.Specialized;

[Serializable]
[ClassInterface(ClassInterfaceType.AutoDispatch)]
[ComVisible(true)]
public class CodeTypeOfExpression : CodeExpression
{

        // Internal state.
        private CodeTypeReference type;

        // Constructors.
        public CodeTypeOfExpression()
                        {
                        }
        public CodeTypeOfExpression(CodeTypeReference type)
                        {
                                this.type = type;
                        }
        public CodeTypeOfExpression(String type)
                        {
                                this.type = new CodeTypeReference(type);
                        }
        public CodeTypeOfExpression(Type type)
                        {
                                this.type = new CodeTypeReference(type);
                        }

        // Properties.
        public CodeTypeReference Type
                        {
                                get
                                {
                                        return type;
                                }
                                set
                                {
                                        type = value;
                                }
                        }

}; // class CodeTypeOfExpression

#endif // !ECMA_COMPAT

}; // namespace System.CodeDom

--- NEW FILE ---
/*
 * CodeTypeReference.cs - Implementation of the
 *              System.CodeDom.CodeTypeReference class.
 *
 * Copyright (C) 2002  Southern Storm Software, Pty Ltd.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */

namespace System.CodeDom
{

#if !ECMA_COMPAT

using System.Runtime.InteropServices;
using System.Collections;
using System.Collections.Specialized;

[Serializable]
[ClassInterface(ClassInterfaceType.AutoDispatch)]
[ComVisible(true)]
public class CodeTypeReference : CodeObject
{

        // Internal state.
        private String baseType;
        private CodeTypeReference arrayElementType;
        private int arrayRank;

        // Constructors.
        public CodeTypeReference(String typeName)
                        {
                                baseType = typeName;
                                arrayElementType = null;
                                arrayRank = 0;
                        }
        public CodeTypeReference(Type type)
                        {
                                if(!(type.IsArray))
                                {
                                        baseType = type.FullName;
                                        arrayElementType = null;
                                        arrayRank = 0;
                                }
                                else
                                {
                                        baseType = null;
                                        arrayElementType =
                                                new 
CodeTypeReference(type.GetElementType());
                                        arrayRank = type.GetArrayRank();
                                }
                        }
        public CodeTypeReference(CodeTypeReference arrayType, int rank)
                        {
                                baseType = null;
                                arrayElementType = arrayType;
                                arrayRank = rank;
                        }
        public CodeTypeReference(String baseType, int rank)
                        {
                                this.baseType = null;
                                arrayElementType = new 
CodeTypeReference(baseType);
                                arrayRank = rank;
                        }

        // Properties.
        public CodeTypeReference ArrayElementType
                        {
                                get
                                {
                                        return arrayElementType;
                                }
                                set
                                {
                                        arrayElementType = value;
                                }
                        }
        public int ArrayRank
                        {
                                get
                                {
                                        return arrayRank;
                                }
                                set
                                {
                                        arrayRank = value;
                                }
                        }
        public String BaseType
                        {
                                get
                                {
                                        if(arrayRank != 0 && arrayElementType 
!= null)
                                        {
                                                return 
arrayElementType.BaseType;
                                        }
                                        else if(baseType != null)
                                        {
                                                return baseType;
                                        }
                                        else
                                        {
                                                return String.Empty;
                                        }
                                }
                                set
                                {
                                        baseType = value;
                                }
                        }

}; // class CodeTypeReference

#endif // !ECMA_COMPAT

}; // namespace System.CodeDom

--- NEW FILE ---
/*
 * CodeTypeReferenceExpression.cs - Implementation of the
 *              System.CodeDom.CodeTypeReferenceExpression class.
 *
 * Copyright (C) 2002  Southern Storm Software, Pty Ltd.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */

namespace System.CodeDom
{

#if !ECMA_COMPAT

using System.Runtime.InteropServices;
using System.Collections;
using System.Collections.Specialized;

[Serializable]
[ClassInterface(ClassInterfaceType.AutoDispatch)]
[ComVisible(true)]
public class CodeTypeReferenceExpression : CodeExpression
{

        // Internal state.
        private CodeTypeReference type;

        // Constructors.
        public CodeTypeReferenceExpression()
                        {
                        }
        public CodeTypeReferenceExpression(CodeTypeReference type)
                        {
                                this.type = type;
                        }
        public CodeTypeReferenceExpression(String type)
                        {
                                this.type = new CodeTypeReference(type);
                        }
        public CodeTypeReferenceExpression(Type type)
                        {
                                this.type = new CodeTypeReference(type);
                        }

        // Properties.
        public CodeTypeReference Type
                        {
                                get
                                {
                                        return type;
                                }
                                set
                                {
                                        type = value;
                                }
                        }

}; // class CodeTypeReferenceExpression

#endif // !ECMA_COMPAT

}; // namespace System.CodeDom

--- NEW FILE ---
/*
 * CodeVariableDeclarationStatement.cs - Implementation of the
 *              System.CodeDom.CodeVariableDeclarationStatement class.
 *
 * Copyright (C) 2002  Southern Storm Software, Pty Ltd.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */

namespace System.CodeDom
{

#if !ECMA_COMPAT

using System.Runtime.InteropServices;
using System.Collections;
using System.Collections.Specialized;

[Serializable]
[ClassInterface(ClassInterfaceType.AutoDispatch)]
[ComVisible(true)]
public class CodeVariableDeclarationStatement : CodeStatement
{

        // Internal state.
        private CodeTypeReference type;
        private String name;
        private CodeExpression initExpression;

        // Constructors.
        public CodeVariableDeclarationStatement()
                        {
                        }
        public CodeVariableDeclarationStatement(CodeTypeReference type,
                                                                                
        String name)
                        {
                                this.type = type;
                                this.name = name;
                        }
        public CodeVariableDeclarationStatement(String type, String name)
                        {
                                this.type = new CodeTypeReference(type);
                                this.name = name;
                        }
        public CodeVariableDeclarationStatement(Type type, String name)
                        {
                                this.type = new CodeTypeReference(type);
                                this.name = name;
                        }
        public CodeVariableDeclarationStatement(CodeTypeReference type,
                                                                                
        String name,
                                                                                
        CodeExpression initExpression)
                        {
                                this.type = type;
                                this.name = name;
                                this.initExpression = initExpression;
                        }
        public CodeVariableDeclarationStatement(String type, String name,
                                                                                
        CodeExpression initExpression)
                        {
                                this.type = new CodeTypeReference(type);
                                this.name = name;
                                this.initExpression = initExpression;
                        }
        public CodeVariableDeclarationStatement(Type type, String name,
                                                                                
        CodeExpression initExpression)
                        {
                                this.type = new CodeTypeReference(type);
                                this.name = name;
                                this.initExpression = initExpression;
                        }

        // Properties.
        public CodeExpression InitExpression
                        {
                                get
                                {
                                        return initExpression;
                                }
                                set
                                {
                                        initExpression = value;
                                }
                        }
        public String Name
                        {
                                get
                                {
                                        return name;
                                }
                                set
                                {
                                        name = value;
                                }
                        }
        public CodeTypeReference Type
                        {
                                get
                                {
                                        return type;
                                }
                                set
                                {
                                        type = value;
                                }
                        }

}; // class CodeVariableDeclarationStatement

#endif // !ECMA_COMPAT

}; // namespace System.CodeDom

--- NEW FILE ---
/*
 * FieldDirection.cs - Implementation of the
 *              System.CodeDom.FieldDirection class.
 *
 * Copyright (C) 2002  Southern Storm Software, Pty Ltd.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */

namespace System.CodeDom
{

#if !ECMA_COMPAT

using System.Runtime.InteropServices;

[Serializable]
[ComVisible(true)]
public enum FieldDirection
{
        In  = 0,
        Out = 1,
        Ref = 2

}; // enum FieldDirection

#endif // !ECMA_COMPAT

}; // namespace System.CodeDom

--- NEW FILE ---

all:
        (cd ..;make)

--- NEW FILE ---
/*
 * MemberAttributes.cs - Implementation of the
 *              System.CodeDom.MemberAttributes class.
 *
 * Copyright (C) 2002  Southern Storm Software, Pty Ltd.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */

namespace System.CodeDom
{

#if !ECMA_COMPAT

using System.Runtime.InteropServices;

[Serializable]
[ComVisible(true)]
public enum MemberAttributes
{
        Abstract          = 0x0001,
        Final             = 0x0002,
        Static            = 0x0003,
        Override          = 0x0004,
        Const             = 0x0005,
        ScopeMask         = 0x000F,
        New               = 0x0010,
        VTableMask        = 0x00F0,
        Overloaded        = 0x0100,
        Assembly          = 0x1000,
        FamilyAndAssembly = 0x2000,
        Family            = 0x3000,
        FamilyOrAssembly  = 0x4000,
        Private           = 0x5000,
        Public            = 0x6000,
        AccessMask        = 0xF000

}; // enum MemberAttributes

#endif // !ECMA_COMPAT

}; // namespace System.CodeDom

--- NEW FILE ---

Most of the System.CodeDom classes are in "RuleOutput.cs", which is
generated from "rules.txt" using "gencdom.c":

        ./gencdom <rules.txt >RuleOutput.cs

The remaining classes are those that can't be easily implemented using
auto-generation.

--- NEW FILE ---
/*
 * This file is generated from rules.txt using gencdom - do not edit.
 *
 * Copyright (C) 2002  Southern Storm Software, Pty Ltd.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */
[...2424 lines suppressed...]
        }

        // Properties.
        public String VariableName
        {
                get
                {
                        return _VariableName;
                }
                set
                {
                        _VariableName = value;
                }
        }

}; // class CodeVariableReferenceExpression

#endif // !ECMA_COMPAT

}; // namespace System.CodeDom

Index: gencdom.c
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnetlib/System/CodeDom/gencdom.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -r1.1 -r1.2
*** gencdom.c   8 Nov 2002 04:07:41 -0000       1.1
--- gencdom.c   15 Nov 2002 04:33:04 -0000      1.2
***************
*** 338,342 ****
        fprintf(stream, "\t\tList.CopyTo(array, index);\n");
        fprintf(stream, "\t}\n");
!       fprintf(stream, "\tpublic bool IndexOf(%s value)\n", member);
        fprintf(stream, "\t{\n");
        fprintf(stream, "\t\treturn List.IndexOf(value);\n");
--- 338,342 ----
        fprintf(stream, "\t\tList.CopyTo(array, index);\n");
        fprintf(stream, "\t}\n");
!       fprintf(stream, "\tpublic int IndexOf(%s value)\n", member);
        fprintf(stream, "\t{\n");
        fprintf(stream, "\t\treturn List.IndexOf(value);\n");

Index: rules.txt
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnetlib/System/CodeDom/rules.txt,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -r1.2 -r1.3
*** rules.txt   14 Nov 2002 03:17:10 -0000      1.2
--- rules.txt   15 Nov 2002 04:33:04 -0000      1.3
***************
*** 98,101 ****
--- 98,102 ----
  CodePropertySetValueExpression
  
+ CodeSnippetExpression: String<Value>
  CodeSnippetStatement: String<Value>
  CodeSnippetTypeMember-CodeTypeMember: String<Text>
***************
*** 113,116 ****
--- 114,119 ----
  CodeTypeReferenceCollection: CodeTypeReference
  
+ CodeVariableReferenceExpression: String<VariableName>
+ 
  #
  # The following classes must be defined manually, because they are
***************
*** 132,144 ****
  #     - CodeObjectCreateExpression
  #     - CodeObject
! #     CodeParameterDeclarationExpression
! #     CodeRemoveEventStatement
! #     CodeSnippetCompileUnit
  #     - CodeTypeDeclaration
! #     CodeTypeDelegate
  #     - CodeTypeMember
! #     CodeTypeOfExpression
  #     - CodeTypeReference
! #     CodeTypeReferenceExpression
! #     CodeVariableDeclarationStatement
  #
--- 135,147 ----
  #     - CodeObjectCreateExpression
  #     - CodeObject
! #     - CodeParameterDeclarationExpression
! #     - CodeRemoveEventStatement
! #     - CodeSnippetCompileUnit
  #     - CodeTypeDeclaration
! #     - CodeTypeDelegate
  #     - CodeTypeMember
! #     - CodeTypeOfExpression
  #     - CodeTypeReference
! #     - CodeTypeReferenceExpression
! #     - CodeVariableDeclarationStatement
  #





reply via email to

[Prev in Thread] Current Thread [Next in Thread]