public JNode VisitNamedExpression(NamedExpression node) { var name = new JJsonMember { Name = node.Name }; if (name.Name.IsNullOrEmpty()) { throw new NotImplementedException(); //if (d.expression.e == cs_node.n_simple_name) // name.Name = ((CsSimpleName)d.expression).identifier.identifier; //else if (d.expression.e == cs_node.n_primary_expression_member_access) // name.Name = ((CsPrimaryExpressionMemberAccess)d.expression).identifier.identifier; } var value = VisitExpression(node.Expression); var ce = node.GetParentType(); var nativeJson = JMeta.UseNativeJsons(ce.GetDefinitionOrArrayType(Compiler)); if (!nativeJson) { name.Name = "get_" + name.Name; value = new JFunction { Block = new JBlock { Statements = new List <JStatement> { new JReturnStatement { Expression = value } } } }; } return(new JJsonNameValue { Name = name, Value = value }); }
public void VisitsJsonMember(JJsonMember node) { if (node.IsStringLiteral) { Write(string.Format("\"{0}\"", node.Name)); } else { Write(node.Name); } }
public void VisitJsonMember(JJsonMember node) { throw new NotImplementedException(); }