Mercurial > projects > ldc
annotate dmd/json.c @ 1650:40bd4a0d4870
Update to work with LLVM 2.7.
Removed use of dyn_cast, llvm no compiles
without exceptions and rtti by
default. We do need exceptions for the libconfig stuff, but rtti isn't
necessary (anymore).
Debug info needs to be rewritten, as in LLVM 2.7 the format has
completely changed. To have something to look at while rewriting, the
old code has been wrapped inside #ifndef DISABLE_DEBUG_INFO , this means
that you have to define this to compile at the moment.
Updated tango 0.99.9 patch to include updated EH runtime code, which is
needed for LLVM 2.7 as well.
author | Tomas Lindquist Olsen |
---|---|
date | Wed, 19 May 2010 12:42:32 +0200 |
parents | 9f7151d890ff |
children |
rev | line source |
---|---|
1594
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
1 |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
2 // Compiler implementation of the D programming language |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
3 // Copyright (c) 1999-2009 by Digital Mars |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
4 // All Rights Reserved |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
5 // written by Walter Bright |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
6 // http://www.digitalmars.com |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
7 // License for redistribution is by either the Artistic License |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
8 // in artistic.txt, or the GNU General Public License in gnu.txt. |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
9 // See the included readme.txt for details. |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
10 |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
11 // This implements the JSON capability. |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
12 |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
13 #include <stdio.h> |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
14 #include <string.h> |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
15 #include <time.h> |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
16 #include <ctype.h> |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
17 #include <assert.h> |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
18 |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
19 #include "rmem.h" |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
20 #include "root.h" |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
21 |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
22 #include "mars.h" |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
23 #include "dsymbol.h" |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
24 #include "macro.h" |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
25 #include "template.h" |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
26 #include "lexer.h" |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
27 #include "aggregate.h" |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
28 #include "declaration.h" |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
29 #include "enum.h" |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
30 #include "id.h" |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
31 #include "module.h" |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
32 #include "scope.h" |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
33 #include "hdrgen.h" |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
34 #include "json.h" |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
35 #include "mtype.h" |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
36 #include "attrib.h" |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
37 #include "cond.h" |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
38 |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
39 const char Pname[] = "name"; |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
40 const char Pkind[] = "kind"; |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
41 const char Pfile[] = "file"; |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
42 const char Pline[] = "line"; |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
43 const char Ptype[] = "type"; |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
44 const char Pcomment[] = "comment"; |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
45 const char Pmembers[] = "members"; |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
46 |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
47 void JsonRemoveComma(OutBuffer *buf); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
48 |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
49 void json_generate(Array *modules) |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
50 { OutBuffer buf; |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
51 |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
52 buf.writestring("[\n"); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
53 for (int i = 0; i < modules->dim; i++) |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
54 { Module *m = (Module *)modules->data[i]; |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
55 if (global.params.verbose) |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
56 printf("json gen %s\n", m->toChars()); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
57 m->toJsonBuffer(&buf); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
58 buf.writestring(",\n"); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
59 } |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
60 JsonRemoveComma(&buf); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
61 buf.writestring("]\n"); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
62 |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
63 // Write buf to file |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
64 char *arg = global.params.xfilename; |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
65 if (!arg || !*arg) |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
66 { // Generate lib file name from first obj name |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
67 char *n = (char *)global.params.objfiles->data[0]; |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
68 |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
69 n = FileName::name(n); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
70 FileName *fn = FileName::forceExt(n, global.json_ext); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
71 arg = fn->toChars(); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
72 } |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
73 else if (arg[0] == '-' && arg[1] == 0) |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
74 { // Write to stdout |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
75 fwrite(buf.data, 1, buf.offset, stdout); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
76 return; |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
77 } |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
78 // if (!FileName::absolute(arg)) |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
79 // arg = FileName::combine(dir, arg); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
80 FileName *jsonfilename = FileName::defaultExt(arg, global.json_ext); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
81 File *jsonfile = new File(jsonfilename); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
82 assert(jsonfile); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
83 jsonfile->setbuffer(buf.data, buf.offset); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
84 jsonfile->ref = 1; |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
85 char *pt = FileName::path(jsonfile->toChars()); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
86 if (*pt) |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
87 FileName::ensurePathExists(pt); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
88 mem.free(pt); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
89 jsonfile->writev(); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
90 } |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
91 |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
92 |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
93 /********************************* |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
94 * Encode string into buf, and wrap it in double quotes. |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
95 */ |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
96 void JsonString(OutBuffer *buf, const char *s) |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
97 { |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
98 buf->writeByte('\"'); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
99 for (; *s; s++) |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
100 { |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
101 unsigned char c = (unsigned char) *s; |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
102 switch (c) |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
103 { |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
104 case '\n': |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
105 buf->writestring("\\n"); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
106 break; |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
107 |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
108 case '\r': |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
109 buf->writestring("\\r"); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
110 break; |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
111 |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
112 case '\t': |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
113 buf->writestring("\\t"); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
114 break; |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
115 |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
116 case '\"': |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
117 buf->writestring("\\\""); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
118 break; |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
119 |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
120 case '\\': |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
121 buf->writestring("\\\\"); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
122 break; |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
123 |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
124 case '/': |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
125 buf->writestring("\\/"); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
126 break; |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
127 |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
128 case '\b': |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
129 buf->writestring("\\b"); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
130 break; |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
131 |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
132 case '\f': |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
133 buf->writestring("\\f"); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
134 break; |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
135 |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
136 default: |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
137 if (c < 0x20) |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
138 buf->printf("\\u%04x", c); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
139 else |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
140 // Note that UTF-8 chars pass through here just fine |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
141 buf->writeByte(c); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
142 break; |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
143 } |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
144 } |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
145 buf->writeByte('\"'); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
146 } |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
147 |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
148 void JsonProperty(OutBuffer *buf, const char *name, const char *value) |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
149 { |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
150 JsonString(buf, name); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
151 buf->writestring(" : "); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
152 JsonString(buf, value); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
153 buf->writestring(",\n"); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
154 } |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
155 |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
156 void JsonProperty(OutBuffer *buf, const char *name, int value) |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
157 { |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
158 JsonString(buf, name); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
159 buf->writestring(" : "); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
160 buf->printf("%d", value); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
161 buf->writestring(",\n"); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
162 } |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
163 |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
164 void JsonRemoveComma(OutBuffer *buf) |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
165 { |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
166 if (buf->offset >= 2 && |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
167 buf->data[buf->offset - 2] == ',' && |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
168 buf->data[buf->offset - 1] == '\n') |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
169 buf->offset -= 2; |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
170 } |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
171 |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
172 void Dsymbol::toJsonBuffer(OutBuffer *buf) |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
173 { |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
174 } |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
175 |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
176 void Module::toJsonBuffer(OutBuffer *buf) |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
177 { |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
178 buf->writestring("{\n"); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
179 |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
180 if (md) |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
181 JsonProperty(buf, Pname, md->toChars()); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
182 |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
183 JsonProperty(buf, Pkind, kind()); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
184 |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
185 JsonProperty(buf, Pfile, srcfile->toChars()); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
186 |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
187 if (comment) |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
188 JsonProperty(buf, Pcomment, (const char *)comment); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
189 |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
190 JsonString(buf, Pmembers); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
191 buf->writestring(" : [\n"); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
192 |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
193 size_t offset = buf->offset; |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
194 for (int i = 0; i < members->dim; i++) |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
195 { Dsymbol *s = (Dsymbol *)members->data[i]; |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
196 if (offset != buf->offset) |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
197 { buf->writestring(",\n"); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
198 offset = buf->offset; |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
199 } |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
200 s->toJsonBuffer(buf); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
201 } |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
202 |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
203 JsonRemoveComma(buf); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
204 buf->writestring("]\n"); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
205 |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
206 buf->writestring("}\n"); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
207 } |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
208 |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
209 void AttribDeclaration::toJsonBuffer(OutBuffer *buf) |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
210 { |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
211 //printf("AttribDeclaration::toJsonBuffer()\n"); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
212 |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
213 Array *d = include(NULL, NULL); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
214 |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
215 if (d) |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
216 { |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
217 for (unsigned i = 0; i < d->dim; i++) |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
218 { Dsymbol *s = (Dsymbol *)d->data[i]; |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
219 //printf("AttribDeclaration::toJsonBuffer %s\n", s->toChars()); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
220 s->toJsonBuffer(buf); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
221 } |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
222 } |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
223 } |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
224 |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
225 |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
226 void ConditionalDeclaration::toJsonBuffer(OutBuffer *buf) |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
227 { |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
228 //printf("ConditionalDeclaration::toJsonBuffer()\n"); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
229 if (condition->inc) |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
230 { |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
231 AttribDeclaration::toJsonBuffer(buf); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
232 } |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
233 } |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
234 |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
235 |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
236 void InvariantDeclaration::toJsonBuffer(OutBuffer *buf) { } |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
237 void DtorDeclaration::toJsonBuffer(OutBuffer *buf) { } |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
238 void StaticCtorDeclaration::toJsonBuffer(OutBuffer *buf) { } |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
239 void StaticDtorDeclaration::toJsonBuffer(OutBuffer *buf) { } |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
240 void ClassInfoDeclaration::toJsonBuffer(OutBuffer *buf) { } |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
241 void ModuleInfoDeclaration::toJsonBuffer(OutBuffer *buf) { } |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
242 void TypeInfoDeclaration::toJsonBuffer(OutBuffer *buf) { } |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
243 #if DMDV2 |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
244 void PostBlitDeclaration::toJsonBuffer(OutBuffer *buf) { } |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
245 #endif |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
246 |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
247 void Declaration::toJsonBuffer(OutBuffer *buf) |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
248 { |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
249 //printf("Declaration::toJsonBuffer()\n"); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
250 buf->writestring("{\n"); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
251 |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
252 JsonProperty(buf, Pname, toChars()); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
253 JsonProperty(buf, Pkind, kind()); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
254 if (type) |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
255 JsonProperty(buf, Ptype, type->toChars()); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
256 |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
257 if (comment) |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
258 JsonProperty(buf, Pcomment, (const char *)comment); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
259 |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
260 if (loc.linnum) |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
261 JsonProperty(buf, Pline, loc.linnum); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
262 |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
263 TypedefDeclaration *td = isTypedefDeclaration(); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
264 if (td) |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
265 { |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
266 JsonProperty(buf, "base", td->basetype->toChars()); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
267 } |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
268 |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
269 JsonRemoveComma(buf); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
270 buf->writestring("}\n"); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
271 } |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
272 |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
273 void AggregateDeclaration::toJsonBuffer(OutBuffer *buf) |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
274 { |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
275 //printf("AggregateDeclaration::toJsonBuffer()\n"); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
276 buf->writestring("{\n"); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
277 |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
278 JsonProperty(buf, Pname, toChars()); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
279 JsonProperty(buf, Pkind, kind()); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
280 if (comment) |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
281 JsonProperty(buf, Pcomment, (const char *)comment); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
282 if (loc.linnum) |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
283 JsonProperty(buf, Pline, loc.linnum); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
284 |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
285 ClassDeclaration *cd = isClassDeclaration(); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
286 if (cd) |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
287 { |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
288 if (cd->baseClass) |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
289 { |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
290 JsonProperty(buf, "base", cd->baseClass->toChars()); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
291 } |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
292 if (cd->interfaces_dim) |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
293 { |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
294 JsonString(buf, "interfaces"); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
295 buf->writestring(" : [\n"); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
296 size_t offset = buf->offset; |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
297 for (int i = 0; i < cd->interfaces_dim; i++) |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
298 { BaseClass *b = cd->interfaces[i]; |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
299 if (offset != buf->offset) |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
300 { buf->writestring(",\n"); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
301 offset = buf->offset; |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
302 } |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
303 JsonString(buf, b->base->toChars()); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
304 } |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
305 JsonRemoveComma(buf); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
306 buf->writestring("],\n"); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
307 } |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
308 } |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
309 |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
310 JsonString(buf, Pmembers); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
311 buf->writestring(" : [\n"); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
312 size_t offset = buf->offset; |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
313 for (int i = 0; i < members->dim; i++) |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
314 { Dsymbol *s = (Dsymbol *)members->data[i]; |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
315 if (offset != buf->offset) |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
316 { buf->writestring(",\n"); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
317 offset = buf->offset; |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
318 } |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
319 s->toJsonBuffer(buf); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
320 } |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
321 JsonRemoveComma(buf); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
322 buf->writestring("]\n"); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
323 |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
324 buf->writestring("}\n"); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
325 } |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
326 |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
327 void TemplateDeclaration::toJsonBuffer(OutBuffer *buf) |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
328 { |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
329 //printf("TemplateDeclaration::toJsonBuffer()\n"); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
330 |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
331 buf->writestring("{\n"); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
332 |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
333 JsonProperty(buf, Pname, toChars()); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
334 JsonProperty(buf, Pkind, kind()); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
335 if (comment) |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
336 JsonProperty(buf, Pcomment, (const char *)comment); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
337 |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
338 if (loc.linnum) |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
339 JsonProperty(buf, Pline, loc.linnum); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
340 |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
341 JsonString(buf, Pmembers); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
342 buf->writestring(" : [\n"); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
343 size_t offset = buf->offset; |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
344 for (int i = 0; i < members->dim; i++) |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
345 { Dsymbol *s = (Dsymbol *)members->data[i]; |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
346 if (offset != buf->offset) |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
347 { buf->writestring(",\n"); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
348 offset = buf->offset; |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
349 } |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
350 s->toJsonBuffer(buf); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
351 } |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
352 JsonRemoveComma(buf); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
353 buf->writestring("]\n"); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
354 |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
355 buf->writestring("}\n"); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
356 } |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
357 |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
358 void EnumDeclaration::toJsonBuffer(OutBuffer *buf) |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
359 { |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
360 //printf("EnumDeclaration::toJsonBuffer()\n"); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
361 if (isAnonymous()) |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
362 { |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
363 if (members) |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
364 { |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
365 for (int i = 0; i < members->dim; i++) |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
366 { |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
367 Dsymbol *s = (Dsymbol *)members->data[i]; |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
368 s->toJsonBuffer(buf); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
369 buf->writestring(",\n"); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
370 } |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
371 JsonRemoveComma(buf); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
372 } |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
373 return; |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
374 } |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
375 |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
376 buf->writestring("{\n"); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
377 |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
378 JsonProperty(buf, Pname, toChars()); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
379 JsonProperty(buf, Pkind, kind()); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
380 if (comment) |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
381 JsonProperty(buf, Pcomment, (const char *)comment); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
382 |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
383 if (loc.linnum) |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
384 JsonProperty(buf, Pline, loc.linnum); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
385 |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
386 if (memtype) |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
387 JsonProperty(buf, "base", memtype->toChars()); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
388 |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
389 JsonString(buf, Pmembers); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
390 buf->writestring(" : [\n"); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
391 size_t offset = buf->offset; |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
392 for (int i = 0; i < members->dim; i++) |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
393 { Dsymbol *s = (Dsymbol *)members->data[i]; |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
394 if (offset != buf->offset) |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
395 { buf->writestring(",\n"); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
396 offset = buf->offset; |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
397 } |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
398 s->toJsonBuffer(buf); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
399 } |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
400 JsonRemoveComma(buf); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
401 buf->writestring("]\n"); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
402 |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
403 buf->writestring("}\n"); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
404 } |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
405 |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
406 void EnumMember::toJsonBuffer(OutBuffer *buf) |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
407 { |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
408 //printf("EnumMember::toJsonBuffer()\n"); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
409 buf->writestring("{\n"); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
410 |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
411 JsonProperty(buf, Pname, toChars()); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
412 JsonProperty(buf, Pkind, kind()); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
413 |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
414 if (comment) |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
415 JsonProperty(buf, Pcomment, (const char *)comment); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
416 |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
417 if (loc.linnum) |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
418 JsonProperty(buf, Pline, loc.linnum); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
419 |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
420 JsonRemoveComma(buf); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
421 buf->writestring("}\n"); |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
422 } |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
423 |
9f7151d890ff
Added in forgotten json.c and json.h files so ldc compiles again.
Robert Clipsham <robert@octarineparrot.com>
parents:
diff
changeset
|
424 |