using System;
using System.Collections;
using System.Collections.Specialized;
namespace AnticipatingMinds.Genesis.CodeDOM{
/// <summary>
/// Declaration of a type event.
/// </summary>
/// <remarks>This is declaration of ECMA 334 'event-declaration' element. as defined by ECMA 334 - p. 249, line 27.</remarks>
[Serializable()]
public class CodeTypeEventDeclaration : CodeTypeMemberDeclaration
{
/// <summary>
/// Initializes new instance CodeTypeEventDeclaration.
/// </summary>
public CodeTypeEventDeclaration() : base (){}
/// <summary>
/// Get or sets event type.
/// </summary>
public CodeTypeReference DeclarationType
{
get
{
return eventType;
}
set
{
eventType = value;
}
}
/// <summary>
/// Gets or sets event name.
/// </summary>
public string Name
{
get
{
return name;
}
set
{
name = (value == null ? string.Empty : value);
}
}
/// <summary>
/// Gets or sets the body of the add accessor.
/// </summary>
/// <remarks>ECMA 334 - p. 249, line 49.</remarks>
public CodeStatementBlock AddAccessorStatements
{
get
{
return addAccessorBody;
}
set
{
addAccessorBody = value;
}
}
/// <summary>
/// Gets or sets the body of the remove accessor.
/// </summary>
/// <remarks>ECMA 334 - p. 244, line 4.</remarks>
public CodeStatementBlock RemoveAccessorStatements
{
get
{
return removeAccessorBody;
}
set
{
removeAccessorBody = value;
}
}
/// <summary>
/// Gets the attributes of the remove accessor.
/// </summary>
/// <remarks>ECMA 334 - p. 250, line 1.</remarks>
public CodeAttributeCollection RemoveAccessorAttributes
{
get
{
return removeAccessorAttributes;
}
}
/// <summary>
/// Gets the attributes of the add accessor.
/// </summary>
/// <remarks>ECMA 334 - p. 249, line 49.</remarks>
public CodeAttributeCollection AddAccessorAttributes
{
get
{
return addAccessorAttributes;
}
}
#region Private instance events
private string name = string.Empty;
private CodeTypeReference eventType;
private CodeStatementBlock addAccessorBody = null;
private CodeStatementBlock removeAccessorBody = null;
private CodeAttributeCollection addAccessorAttributes = new CodeAttributeCollection();
private CodeAttributeCollection removeAccessorAttributes = new CodeAttributeCollection();
#endregion Private instance events
}
/// <summary>
/// Declaration of a type event list. (Field like event declaration)
/// </summary>
/// <remarks>This is declaration of ECMA 334 'event-declaration' element. as defined by ECMA 334 - p. 249, line 23.
/// </remarks>
[Serializable()]
public class CodeTypeEventListDeclaration : CodeTypeMemberDeclaration
{
/// <summary>
/// Initializes new instance CodeTypeEventListDeclaration.
/// </summary>
public CodeTypeEventListDeclaration() : base (){}
/// <summary>
/// Get or sets event type.
/// </summary>
public CodeTypeReference DeclarationType
{
get
{
return eventType;
}
set
{
eventType = value;
}
}
/// <summary>
/// Gets collection of declared events
/// </summary>
public CodeVariableDeclarationMemberCollection DeclaredEvents
{
get
{
return declaredEvents;
}
}
private CodeTypeReference eventType;
private CodeVariableDeclarationMemberCollection declaredEvents = new CodeVariableDeclarationMemberCollection();
}
}
|