NVelocity/Runtime/Parser/Node/ASTMap.cs
(完整代码) 1KBnamespace NVelocity.Runtime.Parser.Node
{
using System;
using System.Collections;
using Context;
/// <summary>
/// AST Node for creating a map / dictionary.
/// This class was originally generated from Parset.jjt.
/// </summary>
/// <version>$Id: ASTMap.cs,v 1.2 2004/12/27 05:50:11 corts Exp $</version>
public class ASTMap : SimpleNode
{
public ASTMap(int id) : base(id)
{
}
public ASTMap(Parser p, int id) : base(p, id)
{
}
/// <summary>
/// Accept the visitor.
/// </summary>
public override Object Accept(IParserVisitor visitor, Object data)
{
return visitor.Visit(this, data);
}
/// <summary>
/// Evaluate the node.
/// </summary>
public override Object Value(IInternalContextAdapter context)
{
int size = ChildrenCount;
IDictionary objectMap = new Hashtable();
for(int i = 0; i < size; i += 2)
{
SimpleNode keyNode = (SimpleNode) GetChild(i);
SimpleNode valueNode = (SimpleNode) GetChild(i + 1);
Object key = (keyNode == null ? null : keyNode.Value(context));
Object value = (valueNode == null ? null : valueNode.Value(context));
objectMap.Add(key, value);
}
return objectMap;
}
}
}
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
