using System;
namespace AnticipatingMinds.Genesis.CodeDOM{
/// <summary>
/// Declaration of a struct type.
/// </summary>
/// <remarks>ECMA 334 - p. 271, line 15.</remarks>
[Serializable()]
public class CodeStructDeclaration : CodeTypeDeclaration
{
/// <summary>
/// Initializes new instance of CodeTypeStructDeclaration class.
/// </summary>
public CodeStructDeclaration():base(){}
/// <summary>
/// Struct can implement interfaces but is always inherited from object.
/// </summary>
/// <remarks>ECMA 334 - p. 271, line 18.</remarks>
public CodeTypeReferenceCollection Interfaces
{
get
{
return baseTypes;
}
}
/// <summary>
/// Declared nested types.
/// </summary>
/// <remarks>ECMA 334 - p. 271, line 6.</remarks>
public CodeTypeDeclarationCollection NestedTypes
{
get
{
return nestedTypes;
}
}
/// <summary>
/// Gets collection of struct members
/// </summary>
/// <remarks>ECMA 334 - p. 214, line 8.</remarks>
public CodeTypeMemberDeclarationCollection Members
{
get
{
return members;
}
}
private CodeTypeReferenceCollection baseTypes = new CodeTypeReferenceCollection();
private CodeTypeMemberDeclarationCollection members = new CodeTypeMemberDeclarationCollection();
private CodeTypeDeclarationCollection nestedTypes = new CodeTypeDeclarationCollection();
}
}
|