#region License
//=============================================================================
// Vici Core - Productivity Library for .NET 3.5
//
// Copyright (c) 2008-2010 Philippe Leybaert
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
// IN THE SOFTWARE.
//=============================================================================
#endregion
using System;
using System.Collections.Generic;
namespace Vici.Core.Parser{
public class CSharpContext : ParserContext
{
private void AddKeywords()
{
AddType("int", typeof(int));
AddType("uint", typeof(uint));
AddType("long", typeof(long));
AddType("ulong", typeof(ulong));
AddType("short", typeof(short));
AddType("ushort", typeof(ushort));
AddType("double", typeof(double));
AddType("float", typeof(float));
AddType("bool", typeof(bool));
AddType("char", typeof(char));
AddType("byte", typeof(byte));
AddType("sbyte", typeof(sbyte));
AddType("string", typeof(string));
Set("null", null, typeof(object));
Set("true", true);
Set("false", false);
}
public CSharpContext()
{
AddKeywords();
}
public CSharpContext(ParserContextBehavior behavior) : base(behavior)
{
AddKeywords();
}
public CSharpContext(object rootObject) : base(rootObject)
{
AddKeywords();
}
public CSharpContext(object rootObject, ParserContextBehavior behavior) : base(rootObject, behavior)
{
AddKeywords();
}
public CSharpContext(ParserContext parentContext) : base(parentContext)
{
}
public override IParserContext CreateLocal()
{
return new CSharpContext(this);
}
}
}
|