public object VisitProperty(XjsltProperty node) { var name = Expression.Constant(node.Name); var getValue = (Expression)node.Value.Accept(this); return(this._ctorJProperty.CreateObject(name, getValue)); }
private void ParseObject(Queue <Token> tokens, XjsltObject o) { XjsltProperty prop = null; while (tokens.Count > 0) { var token = tokens.Dequeue(); switch (token.Kind) { case KindToken.Identifier: prop = new XjsltProperty() { Name = token.Text }; o.AddProperty(prop); ParseProperty(tokens, prop); break; case KindToken.Left: break; case KindToken.Pipe: break; case KindToken.Right: break; default: break; } } }
private XjsltJson ReadProperty(JProperty n) { var name = n.Name; var result = new XjsltProperty() { Name = name, Value = Read(n.Value) }; return(result); }
private void ParseProperty(Queue <Token> tokens, XjsltProperty prop) { XjPath p = null; while (tokens.Count > 0) { var token = tokens.Dequeue(); switch (token.Kind) { case KindToken.Identifier: p = new XjPath() { Type = token.Text.ToLower() }; prop.Value = p; break; case KindToken.Left: if (p == null) { throw new ParsingException(token.Text, token.Index); } if (p.Type == "jpath") { ParseJpath(tokens, p); } else { ParseFunction(tokens, p); } break; case KindToken.Pipe: ParseFunction(tokens, p); break; case KindToken.Right: break; default: break; } } }
public object VisitProperty(XjsltProperty node) { throw new NotImplementedException(); }