using System;
namespace AnticipatingMinds.Genesis.CodeDOM{
/// <summary>
/// Represents a code expression
/// </summary>
/// <remarks>For now expressions are not parsed and just returned as strings.</remarks>
[Serializable]
public abstract class CodeExpression : CodeElement
{
#region Instance constructors
/// <summary>
/// Initializs new instance of an expression class.
/// </summary>
protected CodeExpression()
{
}
#endregion Instance constructors
#region Public instance properties
/// <summary>
/// Gets or sets the expression type.
/// </summary>
public CodeTypeInfo ExpressionType
{
get
{
return expressionType;
}
set
{
expressionType = value;
}
}
#endregion Public instance properties
#region Private instance fields
private CodeTypeInfo expressionType = null;
#endregion Private instance fields
}
/// <summary>
/// Represents an unparsed expression.
/// </summary>
[Serializable]
public class CodeExpressionSnippet : CodeExpression
{
#region Instance constructors
/// <summary>
/// Initializes new instance of <see cref="CodeExpressionSnippet"/> class.
/// </summary>
public CodeExpressionSnippet() : this(string.Empty) {}
/// <summary>
/// Initializes new instance of <see cref="CodeExpressionSnippet"/> class.
/// </summary>
/// <param name="snippetText">The expression snipet.</param>
public CodeExpressionSnippet(string snippetText) : base()
{
Text = snippetText;
}
#endregion Instance constructors
#region Public instance properties
/// <summary>
/// Gets or sets string representation of an expression.
/// </summary>
public string Text
{
get
{
return text;
}
set
{
text = (value == null ? string.Empty:value);
}
}
#endregion Public instance properties
#region Private instance fields
private string text = string.Empty;
#endregion Private instance fields
}
}
|