You've already forked linux-packaging-mono
Imported Upstream version 4.6.0.125
Former-commit-id: a2155e9bd80020e49e72e86c44da02a8ac0e57a4
This commit is contained in:
parent
a569aebcfd
commit
e79aa3c0ed
@ -0,0 +1,164 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <copyright file="CodeMemberMethod.cs" company="Microsoft">
|
||||
//
|
||||
// <OWNER>[....]</OWNER>
|
||||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// </copyright>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace System.CodeDom {
|
||||
|
||||
using System.Diagnostics;
|
||||
using System;
|
||||
using Microsoft.Win32;
|
||||
using System.Collections;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Runtime.Serialization;
|
||||
|
||||
/// <devdoc>
|
||||
/// <para>
|
||||
/// Represents a class method.
|
||||
/// </para>
|
||||
/// </devdoc>
|
||||
[
|
||||
ClassInterface(ClassInterfaceType.AutoDispatch),
|
||||
ComVisible(true),
|
||||
Serializable,
|
||||
]
|
||||
public class CodeMemberMethod : CodeTypeMember {
|
||||
private CodeParameterDeclarationExpressionCollection parameters = new CodeParameterDeclarationExpressionCollection();
|
||||
private CodeStatementCollection statements = new CodeStatementCollection();
|
||||
private CodeTypeReference returnType;
|
||||
private CodeTypeReference privateImplements = null;
|
||||
private CodeTypeReferenceCollection implementationTypes = null;
|
||||
private CodeAttributeDeclarationCollection returnAttributes = null;
|
||||
|
||||
[OptionalField]
|
||||
private CodeTypeParameterCollection typeParameters;
|
||||
|
||||
private int populated = 0x0;
|
||||
private const int ParametersCollection = 0x1;
|
||||
private const int StatementsCollection = 0x2;
|
||||
private const int ImplTypesCollection = 0x4;
|
||||
|
||||
/// <devdoc>
|
||||
/// <para>
|
||||
/// An event that will be fired the first time the Parameters Collection is accessed.
|
||||
/// </para>
|
||||
/// </devdoc>
|
||||
public event EventHandler PopulateParameters;
|
||||
|
||||
/// <devdoc>
|
||||
/// <para>
|
||||
/// An event that will be fired the first time the Statements Collection is accessed.
|
||||
/// </para>
|
||||
/// </devdoc>
|
||||
public event EventHandler PopulateStatements;
|
||||
|
||||
/// <devdoc>
|
||||
/// <para>
|
||||
/// An event that will be fired the first time the ImplementationTypes Collection is accessed.
|
||||
/// </para>
|
||||
/// </devdoc>
|
||||
public event EventHandler PopulateImplementationTypes;
|
||||
|
||||
/// <devdoc>
|
||||
/// <para>
|
||||
/// Gets or sets the return type of the method.
|
||||
/// </para>
|
||||
/// </devdoc>
|
||||
public CodeTypeReference ReturnType {
|
||||
get {
|
||||
if (returnType == null) {
|
||||
returnType = new CodeTypeReference(typeof(void).FullName);
|
||||
}
|
||||
return returnType;
|
||||
}
|
||||
set {
|
||||
returnType = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <devdoc>
|
||||
/// <para>
|
||||
/// Gets or sets the statements within the method.
|
||||
/// </para>
|
||||
/// </devdoc>
|
||||
public CodeStatementCollection Statements {
|
||||
get {
|
||||
if (0 == (populated & StatementsCollection)) {
|
||||
populated |= StatementsCollection;
|
||||
if (PopulateStatements != null) PopulateStatements(this, EventArgs.Empty);
|
||||
}
|
||||
return statements;
|
||||
}
|
||||
}
|
||||
|
||||
/// <devdoc>
|
||||
/// <para>
|
||||
/// Gets or sets the parameter declarations for the method.
|
||||
/// </para>
|
||||
/// </devdoc>
|
||||
public CodeParameterDeclarationExpressionCollection Parameters {
|
||||
get {
|
||||
if (0 == (populated & ParametersCollection)) {
|
||||
populated |= ParametersCollection;
|
||||
if (PopulateParameters != null) PopulateParameters(this, EventArgs.Empty);
|
||||
}
|
||||
return parameters;
|
||||
}
|
||||
}
|
||||
|
||||
/// <devdoc>
|
||||
/// <para>[To be supplied.]</para>
|
||||
/// </devdoc>
|
||||
public CodeTypeReference PrivateImplementationType {
|
||||
get {
|
||||
return privateImplements;
|
||||
}
|
||||
set {
|
||||
privateImplements = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <devdoc>
|
||||
/// <para>[To be supplied.]</para>
|
||||
/// </devdoc>
|
||||
public CodeTypeReferenceCollection ImplementationTypes {
|
||||
get {
|
||||
if (implementationTypes == null) {
|
||||
implementationTypes = new CodeTypeReferenceCollection();
|
||||
}
|
||||
|
||||
if (0 == (populated & ImplTypesCollection)) {
|
||||
populated |= ImplTypesCollection;
|
||||
if (PopulateImplementationTypes != null) PopulateImplementationTypes(this, EventArgs.Empty);
|
||||
}
|
||||
return implementationTypes;
|
||||
}
|
||||
}
|
||||
|
||||
/// <devdoc>
|
||||
/// <para>[To be supplied.]</para>
|
||||
/// </devdoc>
|
||||
public CodeAttributeDeclarationCollection ReturnTypeCustomAttributes {
|
||||
get {
|
||||
if (returnAttributes == null) {
|
||||
returnAttributes = new CodeAttributeDeclarationCollection();
|
||||
}
|
||||
return returnAttributes;
|
||||
}
|
||||
}
|
||||
|
||||
[System.Runtime.InteropServices.ComVisible(false)]
|
||||
public CodeTypeParameterCollection TypeParameters {
|
||||
get {
|
||||
if( typeParameters == null) {
|
||||
typeParameters = new CodeTypeParameterCollection();
|
||||
}
|
||||
|
||||
return typeParameters;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user