コード例 #1
0
        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
            });
        }
コード例 #2
0
ファイル: JWriter.cs プロジェクト: wangchengqun/Cs2Java
 public void VisitsJsonMember(JJsonMember node)
 {
     if (node.IsStringLiteral)
     {
         Write(string.Format("\"{0}\"", node.Name));
     }
     else
     {
         Write(node.Name);
     }
 }
コード例 #3
0
ファイル: JWriter.cs プロジェクト: wangchengqun/Cs2Java
 public void VisitJsonMember(JJsonMember node)
 {
     throw new NotImplementedException();
 }