summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCsaba Hruska <csaba.hruska@gmail.com>2016-03-21 12:37:37 +0100
committerCsaba Hruska <csaba.hruska@gmail.com>2016-03-21 14:12:26 +0100
commitd022971b99be214c71429d58f97f85b13e33a426 (patch)
tree712da683ad7167833c93e6671263d04bff39995d
parent4d40c4ee5ed15544d2ac7fb1ea7b61e89766d277 (diff)
work on java json loader
-rw-r--r--ddl/Generate.hs11
-rw-r--r--ddl/Language.hs31
-rw-r--r--ddl/lib/java/RT/Maybe.java6
-rw-r--r--ddl/lib/java/RT/V2.java10
-rw-r--r--ddl/lib/java/RT/V3.java12
-rw-r--r--ddl/lib/java/RT/V4.java14
-rw-r--r--ddl/out/LambdaCube.IR.cpp4
-rw-r--r--ddl/out/LambdaCube.IR.hpp4
-rw-r--r--ddl/out/LambdaCube.IR.hs4
-rw-r--r--ddl/out/LambdaCube.IR.purs4
-rw-r--r--ddl/out/LambdaCube.IR.swift4
-rw-r--r--ddl/out/LambdaCube.IR2.hpp4
-rw-r--r--ddl/out/LambdaCube.Mesh.cpp4
-rw-r--r--ddl/out/LambdaCube.Mesh.hpp4
-rw-r--r--ddl/out/LambdaCube.Mesh.hs4
-rw-r--r--ddl/out/LambdaCube.Mesh.purs4
-rw-r--r--ddl/out/LambdaCube.Mesh.swift4
-rw-r--r--ddl/out/LambdaCube.Mesh2.hpp4
-rw-r--r--ddl/out/LambdaCube.PipelineSchema.cpp4
-rw-r--r--ddl/out/LambdaCube.PipelineSchema.hpp4
-rw-r--r--ddl/out/LambdaCube.PipelineSchema.hs4
-rw-r--r--ddl/out/LambdaCube.PipelineSchema.purs4
-rw-r--r--ddl/out/LambdaCube.PipelineSchema.swift4
-rw-r--r--ddl/out/LambdaCube.PipelineSchema2.hpp4
-rw-r--r--ddl/out/LambdaCube.TypeInfo.cpp4
-rw-r--r--ddl/out/LambdaCube.TypeInfo.hpp4
-rw-r--r--ddl/out/LambdaCube.TypeInfo.hs4
-rw-r--r--ddl/out/LambdaCube.TypeInfo.purs4
-rw-r--r--ddl/out/LambdaCube.TypeInfo.swift4
-rw-r--r--ddl/out/LambdaCube.TypeInfo2.hpp4
-rw-r--r--ddl/out/TestData.cpp4
-rw-r--r--ddl/out/TestData.hpp4
-rw-r--r--ddl/out/TestData.hs4
-rw-r--r--ddl/out/TestData.purs4
-rw-r--r--ddl/out/TestData.swift4
-rw-r--r--ddl/out/TestData2.hpp4
-rw-r--r--ddl/templates/data.cs.ede46
-rw-r--r--ddl/templates/data.java.ede2
-rw-r--r--ddl/templates/json.java.ede114
39 files changed, 327 insertions, 39 deletions
diff --git a/ddl/Generate.hs b/ddl/Generate.hs
index 9f9b7b8..37437de 100644
--- a/ddl/Generate.hs
+++ b/ddl/Generate.hs
@@ -28,6 +28,7 @@ main :: IO ()
28main = do 28main = do
29 dataSwift <- eitherParseFile "templates/data.swift.ede" 29 dataSwift <- eitherParseFile "templates/data.swift.ede"
30 dataJava <- eitherParseFile "templates/data.java.ede" 30 dataJava <- eitherParseFile "templates/data.java.ede"
31 jsonJava <- eitherParseFile "templates/json.java.ede"
31 dataHpp <- eitherParseFile "templates/data.hpp.ede" 32 dataHpp <- eitherParseFile "templates/data.hpp.ede"
32 dataHpp2 <- eitherParseFile "templates/data.hpp2.ede" 33 dataHpp2 <- eitherParseFile "templates/data.hpp2.ede"
33 dataCpp <- eitherParseFile "templates/data.cpp.ede" 34 dataCpp <- eitherParseFile "templates/data.cpp.ede"
@@ -55,9 +56,10 @@ main = do
55 , "psType" @: psType aliasMap 56 , "psType" @: psType aliasMap
56 , "cppType" @: cppType aliasMap 57 , "cppType" @: cppType aliasMap
57 , "csType" @: csType name aliasMap 58 , "csType" @: csType name aliasMap
58 , "csTypeEnum" @: csTypeEnum aliasMap 59 , "typeEnum" @: typeEnum aliasMap
59 , "javaType" @: javaType aliasMap 60 , "javaType" @: javaType aliasMap
60 , "swiftType" @: swiftType aliasMap 61 , "swiftType" @: swiftType aliasMap
62 , "hasEnumConstructor" @: hasEnumConstructor
61 ] 63 ]
62 64
63 -- Haskell 65 -- Haskell
@@ -69,6 +71,9 @@ main = do
69 either error (\x -> writeFile ("out/" ++ name ++ ".hpp") $ LText.unpack x) $ dataHpp >>= (\t -> eitherRenderWith mylib t env) 71 either error (\x -> writeFile ("out/" ++ name ++ ".hpp") $ LText.unpack x) $ dataHpp >>= (\t -> eitherRenderWith mylib t env)
70 either error (\x -> writeFile ("out/" ++ name ++ ".cpp") $ LText.unpack x) $ dataCpp >>= (\t -> eitherRenderWith mylib t env) 72 either error (\x -> writeFile ("out/" ++ name ++ ".cpp") $ LText.unpack x) $ dataCpp >>= (\t -> eitherRenderWith mylib t env)
71 -- Java 73 -- Java
74 let toPath a = flip map a $ \case
75 '.' -> '/'
76 c -> c
72 forM_ [a | a@DataDef{} <- def {-TODO-}] $ \d -> do 77 forM_ [a | a@DataDef{} <- def {-TODO-}] $ \d -> do
73 let env = fromPairs 78 let env = fromPairs
74 [ "def" .= d 79 [ "def" .= d
@@ -76,13 +81,11 @@ main = do
76 , "dateTime" .= dt 81 , "dateTime" .= dt
77 , "imports" .= imports 82 , "imports" .= imports
78 ] 83 ]
79 toPath a = flip map a $ \case
80 '.' -> '/'
81 c -> c
82 fname = "out/java/" ++ toPath name ++ "/" ++ dataName d ++ ".java" 84 fname = "out/java/" ++ toPath name ++ "/" ++ dataName d ++ ".java"
83 dir = takeDirectory fname 85 dir = takeDirectory fname
84 createDirectoryIfMissing True dir 86 createDirectoryIfMissing True dir
85 either error (\x -> writeFile fname $ LText.unpack x) $ dataJava >>= (\t -> eitherRenderWith mylib t env) 87 either error (\x -> writeFile fname $ LText.unpack x) $ dataJava >>= (\t -> eitherRenderWith mylib t env)
88 either error (\x -> writeFile ("out/java/" ++ toPath name ++ "/JSON.java") $ LText.unpack x) $ jsonJava >>= (\t -> eitherRenderWith mylib t env)
86 -- C# 89 -- C#
87 either error (\x -> writeFile ("out/" ++ name ++ ".cs") $ LText.unpack x) $ dataCs >>= (\t -> eitherRenderWith mylib t env) 90 either error (\x -> writeFile ("out/" ++ name ++ ".cs") $ LText.unpack x) $ dataCs >>= (\t -> eitherRenderWith mylib t env)
88 -- Swift 91 -- Swift
diff --git a/ddl/Language.hs b/ddl/Language.hs
index afa87fa..be684db 100644
--- a/ddl/Language.hs
+++ b/ddl/Language.hs
@@ -81,6 +81,10 @@ data Type
81 | Data { name_ :: String } 81 | Data { name_ :: String }
82 deriving (Show,Generic,Eq,Ord) 82 deriving (Show,Generic,Eq,Ord)
83 83
84hasEnumConstructor :: DataDef -> Bool
85hasEnumConstructor DataDef{..} = or [null fields | ConstructorDef{..} <- constructors]
86hasEnumConstructor _ = False
87
84collectTypes :: AliasMap -> ModuleDef -> Set Type 88collectTypes :: AliasMap -> ModuleDef -> Set Type
85collectTypes aliasMap ModuleDef{..} = Set.fromList $ map (normalize aliasMap) $ concat 89collectTypes aliasMap ModuleDef{..} = Set.fromList $ map (normalize aliasMap) $ concat
86 [Data dataName : concatMap flatType [fieldType | ConstructorDef{..} <- constructors, Field{..} <- fields] | DataDef{..} <- definitions] 90 [Data dataName : concatMap flatType [fieldType | ConstructorDef{..} <- constructors, Field{..} <- fields] | DataDef{..} <- definitions]
@@ -255,11 +259,14 @@ javaType aliasMap a = case normalize aliasMap a of
255 Array t -> "ArrayList<" ++ javaType aliasMap t ++ ">" 259 Array t -> "ArrayList<" ++ javaType aliasMap t ++ ">"
256 List t -> "ArrayList<" ++ javaType aliasMap t ++ ">" 260 List t -> "ArrayList<" ++ javaType aliasMap t ++ ">"
257 Map k v -> "HashMap<" ++ javaType aliasMap k ++ ", " ++ javaType aliasMap v ++ ">" 261 Map k v -> "HashMap<" ++ javaType aliasMap k ++ ", " ++ javaType aliasMap v ++ ">"
258 _ -> "Integer" 262 V2 t -> "V2<" ++ javaType aliasMap t ++ ">"
259 --x -> error $ "javaType: " ++ show x 263 V3 t -> "V3<" ++ javaType aliasMap t ++ ">"
260 264 V4 t -> "V4<" ++ javaType aliasMap t ++ ">"
261csTypeEnum :: AliasMap -> Type -> String 265 Maybe t -> "Maybe<" ++ parens (javaType aliasMap t) ++ ">"
262csTypeEnum aliasMap a = case normalize aliasMap a of 266 x -> error $ "javaType: " ++ show x
267
268typeEnum :: AliasMap -> Type -> String
269typeEnum aliasMap a = case normalize aliasMap a of
263 Data t -> t 270 Data t -> t
264 Int -> "Int" 271 Int -> "Int"
265 Int32 -> "Int32" 272 Int32 -> "Int32"
@@ -268,13 +275,13 @@ csTypeEnum aliasMap a = case normalize aliasMap a of
268 Float -> "Float" 275 Float -> "Float"
269 Bool -> "Bool" 276 Bool -> "Bool"
270 String -> "String" 277 String -> "String"
271 Array t -> "Array_" ++ csTypeEnum aliasMap t 278 Array t -> "Array_" ++ typeEnum aliasMap t
272 List t -> "List_" ++ csTypeEnum aliasMap t 279 List t -> "List_" ++ typeEnum aliasMap t
273 Map k v -> "Map_" ++ csTypeEnum aliasMap k ++ "_" ++ csTypeEnum aliasMap v 280 Map k v -> "Map_" ++ typeEnum aliasMap k ++ "_" ++ typeEnum aliasMap v
274 V2 t -> "V2_" ++ csTypeEnum aliasMap t 281 V2 t -> "V2_" ++ typeEnum aliasMap t
275 V3 t -> "V3_" ++ csTypeEnum aliasMap t 282 V3 t -> "V3_" ++ typeEnum aliasMap t
276 V4 t -> "V4_" ++ csTypeEnum aliasMap t 283 V4 t -> "V4_" ++ typeEnum aliasMap t
277 Maybe t -> "Maybe_" ++ csTypeEnum aliasMap t 284 Maybe t -> "Maybe_" ++ typeEnum aliasMap t
278 x -> error $ "unknown type: " ++ show x 285 x -> error $ "unknown type: " ++ show x
279 286
280csType :: String -> AliasMap -> Type -> String -- TODO 287csType :: String -> AliasMap -> Type -> String -- TODO
diff --git a/ddl/lib/java/RT/Maybe.java b/ddl/lib/java/RT/Maybe.java
new file mode 100644
index 0000000..7e416a7
--- /dev/null
+++ b/ddl/lib/java/RT/Maybe.java
@@ -0,0 +1,6 @@
1package RT;
2
3public class Maybe<T> {
4 public Boolean valid;
5 public T data;
6}
diff --git a/ddl/lib/java/RT/V2.java b/ddl/lib/java/RT/V2.java
new file mode 100644
index 0000000..7c7c90f
--- /dev/null
+++ b/ddl/lib/java/RT/V2.java
@@ -0,0 +1,10 @@
1package RT;
2
3public class V2<T> {
4 public T x;
5 public T y;
6 public V2(T x_, T y_) {
7 x = x_;
8 y = y_;
9 }
10}
diff --git a/ddl/lib/java/RT/V3.java b/ddl/lib/java/RT/V3.java
new file mode 100644
index 0000000..7859bff
--- /dev/null
+++ b/ddl/lib/java/RT/V3.java
@@ -0,0 +1,12 @@
1package RT;
2
3public class V3<T> {
4 public T x;
5 public T y;
6 public T z;
7 public V3(T x_, T y_, T z_) {
8 x = x_;
9 y = y_;
10 z = z_;
11 }
12}
diff --git a/ddl/lib/java/RT/V4.java b/ddl/lib/java/RT/V4.java
new file mode 100644
index 0000000..cfb7eed
--- /dev/null
+++ b/ddl/lib/java/RT/V4.java
@@ -0,0 +1,14 @@
1package RT;
2
3public class V4<T> {
4 public T x;
5 public T y;
6 public T z;
7 public T w;
8 public V4(T x_, T y_, T z_, T w_) {
9 x = x_;
10 y = y_;
11 z = z_;
12 w = w_;
13 }
14}
diff --git a/ddl/out/LambdaCube.IR.cpp b/ddl/out/LambdaCube.IR.cpp
index 6e0691b..113f827 100644
--- a/ddl/out/LambdaCube.IR.cpp
+++ b/ddl/out/LambdaCube.IR.cpp
@@ -1,4 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2<<<<<<< 4d40c4ee5ed15544d2ac7fb1ea7b61e89766d277
2<<<<<<< c5e063b3c9aeff65161e24445e9672daff980b45 3<<<<<<< c5e063b3c9aeff65161e24445e9672daff980b45
3<<<<<<< 3b50722f433ec5ecc515ea1441fd633d85118cb9 4<<<<<<< 3b50722f433ec5ecc515ea1441fd633d85118cb9
4// 2016-03-01T13:00:40.426854000000Z 5// 2016-03-01T13:00:40.426854000000Z
@@ -8,6 +9,9 @@
8======= 9=======
9// 2016-03-20T22:19:42.844053000000Z 10// 2016-03-20T22:19:42.844053000000Z
10>>>>>>> fix c# 11>>>>>>> fix c#
12=======
13// 2016-03-21T11:36:00.283777000000Z
14>>>>>>> work on java json loader
11 15
12#include "LambdaCube.IR.hpp" 16#include "LambdaCube.IR.hpp"
13template<> json toJSON<std::shared_ptr<ArrayValue>>(std::shared_ptr<ArrayValue> &v) { 17template<> json toJSON<std::shared_ptr<ArrayValue>>(std::shared_ptr<ArrayValue> &v) {
diff --git a/ddl/out/LambdaCube.IR.hpp b/ddl/out/LambdaCube.IR.hpp
index 2fea261..5863ad9 100644
--- a/ddl/out/LambdaCube.IR.hpp
+++ b/ddl/out/LambdaCube.IR.hpp
@@ -1,4 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2<<<<<<< 4d40c4ee5ed15544d2ac7fb1ea7b61e89766d277
2<<<<<<< c5e063b3c9aeff65161e24445e9672daff980b45 3<<<<<<< c5e063b3c9aeff65161e24445e9672daff980b45
3<<<<<<< 3b50722f433ec5ecc515ea1441fd633d85118cb9 4<<<<<<< 3b50722f433ec5ecc515ea1441fd633d85118cb9
4// 2016-03-01T13:00:40.426854000000Z 5// 2016-03-01T13:00:40.426854000000Z
@@ -8,6 +9,9 @@
8======= 9=======
9// 2016-03-20T22:19:42.844053000000Z 10// 2016-03-20T22:19:42.844053000000Z
10>>>>>>> fix c# 11>>>>>>> fix c#
12=======
13// 2016-03-21T11:36:00.283777000000Z
14>>>>>>> work on java json loader
11 15
12#ifndef HEADER_LambdaCube.IR_H 16#ifndef HEADER_LambdaCube.IR_H
13#define HEADER_LambdaCube.IR_H 17#define HEADER_LambdaCube.IR_H
diff --git a/ddl/out/LambdaCube.IR.hs b/ddl/out/LambdaCube.IR.hs
index 75104bc..66b89f4 100644
--- a/ddl/out/LambdaCube.IR.hs
+++ b/ddl/out/LambdaCube.IR.hs
@@ -1,4 +1,5 @@
1-- generated file, do not modify! 1-- generated file, do not modify!
2<<<<<<< 4d40c4ee5ed15544d2ac7fb1ea7b61e89766d277
2<<<<<<< c5e063b3c9aeff65161e24445e9672daff980b45 3<<<<<<< c5e063b3c9aeff65161e24445e9672daff980b45
3<<<<<<< 3b50722f433ec5ecc515ea1441fd633d85118cb9 4<<<<<<< 3b50722f433ec5ecc515ea1441fd633d85118cb9
4-- 2016-03-01T13:00:40.426854000000Z 5-- 2016-03-01T13:00:40.426854000000Z
@@ -8,6 +9,9 @@
8======= 9=======
9-- 2016-03-20T22:19:42.844053000000Z 10-- 2016-03-20T22:19:42.844053000000Z
10>>>>>>> fix c# 11>>>>>>> fix c#
12=======
13-- 2016-03-21T11:36:00.283777000000Z
14>>>>>>> work on java json loader
11 15
12{-# LANGUAGE OverloadedStrings, RecordWildCards #-} 16{-# LANGUAGE OverloadedStrings, RecordWildCards #-}
13module LambdaCube.IR where 17module LambdaCube.IR where
diff --git a/ddl/out/LambdaCube.IR.purs b/ddl/out/LambdaCube.IR.purs
index 8c2a2ab..10c7a56 100644
--- a/ddl/out/LambdaCube.IR.purs
+++ b/ddl/out/LambdaCube.IR.purs
@@ -1,4 +1,5 @@
1-- generated file, do not modify! 1-- generated file, do not modify!
2<<<<<<< 4d40c4ee5ed15544d2ac7fb1ea7b61e89766d277
2<<<<<<< c5e063b3c9aeff65161e24445e9672daff980b45 3<<<<<<< c5e063b3c9aeff65161e24445e9672daff980b45
3<<<<<<< 3b50722f433ec5ecc515ea1441fd633d85118cb9 4<<<<<<< 3b50722f433ec5ecc515ea1441fd633d85118cb9
4-- 2016-03-01T13:00:40.426854000000Z 5-- 2016-03-01T13:00:40.426854000000Z
@@ -8,6 +9,9 @@
8======= 9=======
9-- 2016-03-20T22:19:42.844053000000Z 10-- 2016-03-20T22:19:42.844053000000Z
10>>>>>>> fix c# 11>>>>>>> fix c#
12=======
13-- 2016-03-21T11:36:00.283777000000Z
14>>>>>>> work on java json loader
11 15
12module LambdaCube.IR where 16module LambdaCube.IR where
13import Prelude 17import Prelude
diff --git a/ddl/out/LambdaCube.IR.swift b/ddl/out/LambdaCube.IR.swift
index cef6db2..873d8e8 100644
--- a/ddl/out/LambdaCube.IR.swift
+++ b/ddl/out/LambdaCube.IR.swift
@@ -1,4 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2<<<<<<< 4d40c4ee5ed15544d2ac7fb1ea7b61e89766d277
2<<<<<<< c5e063b3c9aeff65161e24445e9672daff980b45 3<<<<<<< c5e063b3c9aeff65161e24445e9672daff980b45
3<<<<<<< 3b50722f433ec5ecc515ea1441fd633d85118cb9 4<<<<<<< 3b50722f433ec5ecc515ea1441fd633d85118cb9
4// 2016-03-01T13:00:40.426854000000Z 5// 2016-03-01T13:00:40.426854000000Z
@@ -8,6 +9,9 @@
8======= 9=======
9// 2016-03-20T22:19:42.844053000000Z 10// 2016-03-20T22:19:42.844053000000Z
10>>>>>>> fix c# 11>>>>>>> fix c#
12=======
13// 2016-03-21T11:36:00.283777000000Z
14>>>>>>> work on java json loader
11 15
12typealias StreamName = Int 16typealias StreamName = Int
13 17
diff --git a/ddl/out/LambdaCube.IR2.hpp b/ddl/out/LambdaCube.IR2.hpp
index 5a0e965..dd26830 100644
--- a/ddl/out/LambdaCube.IR2.hpp
+++ b/ddl/out/LambdaCube.IR2.hpp
@@ -1,4 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2<<<<<<< 4d40c4ee5ed15544d2ac7fb1ea7b61e89766d277
2<<<<<<< c5e063b3c9aeff65161e24445e9672daff980b45 3<<<<<<< c5e063b3c9aeff65161e24445e9672daff980b45
3<<<<<<< 3b50722f433ec5ecc515ea1441fd633d85118cb9 4<<<<<<< 3b50722f433ec5ecc515ea1441fd633d85118cb9
4// 2016-03-01T13:00:40.426854000000Z 5// 2016-03-01T13:00:40.426854000000Z
@@ -8,6 +9,9 @@
8======= 9=======
9// 2016-03-20T22:19:42.844053000000Z 10// 2016-03-20T22:19:42.844053000000Z
10>>>>>>> fix c# 11>>>>>>> fix c#
12=======
13// 2016-03-21T11:36:00.283777000000Z
14>>>>>>> work on java json loader
11 15
12#ifndef HEADER_LambdaCube.IR_H 16#ifndef HEADER_LambdaCube.IR_H
13#define HEADER_LambdaCube.IR_H 17#define HEADER_LambdaCube.IR_H
diff --git a/ddl/out/LambdaCube.Mesh.cpp b/ddl/out/LambdaCube.Mesh.cpp
index 82b2723..845142a 100644
--- a/ddl/out/LambdaCube.Mesh.cpp
+++ b/ddl/out/LambdaCube.Mesh.cpp
@@ -1,4 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2<<<<<<< 4d40c4ee5ed15544d2ac7fb1ea7b61e89766d277
2<<<<<<< c5e063b3c9aeff65161e24445e9672daff980b45 3<<<<<<< c5e063b3c9aeff65161e24445e9672daff980b45
3<<<<<<< 3b50722f433ec5ecc515ea1441fd633d85118cb9 4<<<<<<< 3b50722f433ec5ecc515ea1441fd633d85118cb9
4// 2016-03-01T13:00:40.781208000000Z 5// 2016-03-01T13:00:40.781208000000Z
@@ -8,6 +9,9 @@
8======= 9=======
9// 2016-03-20T22:19:43.568791000000Z 10// 2016-03-20T22:19:43.568791000000Z
10>>>>>>> fix c# 11>>>>>>> fix c#
12=======
13// 2016-03-21T11:36:01.121658000000Z
14>>>>>>> work on java json loader
11 15
12#include "LambdaCube.Mesh.hpp" 16#include "LambdaCube.Mesh.hpp"
13template<> json toJSON<std::shared_ptr<MeshAttribute>>(std::shared_ptr<MeshAttribute> &v) { 17template<> json toJSON<std::shared_ptr<MeshAttribute>>(std::shared_ptr<MeshAttribute> &v) {
diff --git a/ddl/out/LambdaCube.Mesh.hpp b/ddl/out/LambdaCube.Mesh.hpp
index 0bc2920..e1500bc 100644
--- a/ddl/out/LambdaCube.Mesh.hpp
+++ b/ddl/out/LambdaCube.Mesh.hpp
@@ -1,4 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2<<<<<<< 4d40c4ee5ed15544d2ac7fb1ea7b61e89766d277
2<<<<<<< c5e063b3c9aeff65161e24445e9672daff980b45 3<<<<<<< c5e063b3c9aeff65161e24445e9672daff980b45
3<<<<<<< 3b50722f433ec5ecc515ea1441fd633d85118cb9 4<<<<<<< 3b50722f433ec5ecc515ea1441fd633d85118cb9
4// 2016-03-01T13:00:40.781208000000Z 5// 2016-03-01T13:00:40.781208000000Z
@@ -8,6 +9,9 @@
8======= 9=======
9// 2016-03-20T22:19:43.568791000000Z 10// 2016-03-20T22:19:43.568791000000Z
10>>>>>>> fix c# 11>>>>>>> fix c#
12=======
13// 2016-03-21T11:36:01.121658000000Z
14>>>>>>> work on java json loader
11 15
12#ifndef HEADER_LambdaCube.Mesh_H 16#ifndef HEADER_LambdaCube.Mesh_H
13#define HEADER_LambdaCube.Mesh_H 17#define HEADER_LambdaCube.Mesh_H
diff --git a/ddl/out/LambdaCube.Mesh.hs b/ddl/out/LambdaCube.Mesh.hs
index 194cc46..880af52 100644
--- a/ddl/out/LambdaCube.Mesh.hs
+++ b/ddl/out/LambdaCube.Mesh.hs
@@ -1,4 +1,5 @@
1-- generated file, do not modify! 1-- generated file, do not modify!
2<<<<<<< 4d40c4ee5ed15544d2ac7fb1ea7b61e89766d277
2<<<<<<< c5e063b3c9aeff65161e24445e9672daff980b45 3<<<<<<< c5e063b3c9aeff65161e24445e9672daff980b45
3<<<<<<< 3b50722f433ec5ecc515ea1441fd633d85118cb9 4<<<<<<< 3b50722f433ec5ecc515ea1441fd633d85118cb9
4-- 2016-03-01T13:00:40.781208000000Z 5-- 2016-03-01T13:00:40.781208000000Z
@@ -8,6 +9,9 @@
8======= 9=======
9-- 2016-03-20T22:19:43.568791000000Z 10-- 2016-03-20T22:19:43.568791000000Z
10>>>>>>> fix c# 11>>>>>>> fix c#
12=======
13-- 2016-03-21T11:36:01.121658000000Z
14>>>>>>> work on java json loader
11 15
12{-# LANGUAGE OverloadedStrings, RecordWildCards #-} 16{-# LANGUAGE OverloadedStrings, RecordWildCards #-}
13module LambdaCube.Mesh where 17module LambdaCube.Mesh where
diff --git a/ddl/out/LambdaCube.Mesh.purs b/ddl/out/LambdaCube.Mesh.purs
index 349ffef..3c46962 100644
--- a/ddl/out/LambdaCube.Mesh.purs
+++ b/ddl/out/LambdaCube.Mesh.purs
@@ -1,4 +1,5 @@
1-- generated file, do not modify! 1-- generated file, do not modify!
2<<<<<<< 4d40c4ee5ed15544d2ac7fb1ea7b61e89766d277
2<<<<<<< c5e063b3c9aeff65161e24445e9672daff980b45 3<<<<<<< c5e063b3c9aeff65161e24445e9672daff980b45
3<<<<<<< 3b50722f433ec5ecc515ea1441fd633d85118cb9 4<<<<<<< 3b50722f433ec5ecc515ea1441fd633d85118cb9
4-- 2016-03-01T13:00:40.781208000000Z 5-- 2016-03-01T13:00:40.781208000000Z
@@ -8,6 +9,9 @@
8======= 9=======
9-- 2016-03-20T22:19:43.568791000000Z 10-- 2016-03-20T22:19:43.568791000000Z
10>>>>>>> fix c# 11>>>>>>> fix c#
12=======
13-- 2016-03-21T11:36:01.121658000000Z
14>>>>>>> work on java json loader
11 15
12module LambdaCube.Mesh where 16module LambdaCube.Mesh where
13import Prelude 17import Prelude
diff --git a/ddl/out/LambdaCube.Mesh.swift b/ddl/out/LambdaCube.Mesh.swift
index d1f3677..b74ddf0 100644
--- a/ddl/out/LambdaCube.Mesh.swift
+++ b/ddl/out/LambdaCube.Mesh.swift
@@ -1,4 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2<<<<<<< 4d40c4ee5ed15544d2ac7fb1ea7b61e89766d277
2<<<<<<< c5e063b3c9aeff65161e24445e9672daff980b45 3<<<<<<< c5e063b3c9aeff65161e24445e9672daff980b45
3<<<<<<< 3b50722f433ec5ecc515ea1441fd633d85118cb9 4<<<<<<< 3b50722f433ec5ecc515ea1441fd633d85118cb9
4// 2016-03-01T13:00:40.781208000000Z 5// 2016-03-01T13:00:40.781208000000Z
@@ -8,6 +9,9 @@
8======= 9=======
9// 2016-03-20T22:19:43.568791000000Z 10// 2016-03-20T22:19:43.568791000000Z
10>>>>>>> fix c# 11>>>>>>> fix c#
12=======
13// 2016-03-21T11:36:01.121658000000Z
14>>>>>>> work on java json loader
11 15
12enum MeshAttribute { 16enum MeshAttribute {
13 case A_Float(Array<Float>) 17 case A_Float(Array<Float>)
diff --git a/ddl/out/LambdaCube.Mesh2.hpp b/ddl/out/LambdaCube.Mesh2.hpp
index c6312f3..75f1b67 100644
--- a/ddl/out/LambdaCube.Mesh2.hpp
+++ b/ddl/out/LambdaCube.Mesh2.hpp
@@ -1,4 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2<<<<<<< 4d40c4ee5ed15544d2ac7fb1ea7b61e89766d277
2<<<<<<< c5e063b3c9aeff65161e24445e9672daff980b45 3<<<<<<< c5e063b3c9aeff65161e24445e9672daff980b45
3<<<<<<< 3b50722f433ec5ecc515ea1441fd633d85118cb9 4<<<<<<< 3b50722f433ec5ecc515ea1441fd633d85118cb9
4// 2016-03-01T13:00:40.781208000000Z 5// 2016-03-01T13:00:40.781208000000Z
@@ -8,6 +9,9 @@
8======= 9=======
9// 2016-03-20T22:19:43.568791000000Z 10// 2016-03-20T22:19:43.568791000000Z
10>>>>>>> fix c# 11>>>>>>> fix c#
12=======
13// 2016-03-21T11:36:01.121658000000Z
14>>>>>>> work on java json loader
11 15
12#ifndef HEADER_LambdaCube.Mesh_H 16#ifndef HEADER_LambdaCube.Mesh_H
13#define HEADER_LambdaCube.Mesh_H 17#define HEADER_LambdaCube.Mesh_H
diff --git a/ddl/out/LambdaCube.PipelineSchema.cpp b/ddl/out/LambdaCube.PipelineSchema.cpp
index fec1b1f..4ec50ce 100644
--- a/ddl/out/LambdaCube.PipelineSchema.cpp
+++ b/ddl/out/LambdaCube.PipelineSchema.cpp
@@ -1,4 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2<<<<<<< 4d40c4ee5ed15544d2ac7fb1ea7b61e89766d277
2<<<<<<< c5e063b3c9aeff65161e24445e9672daff980b45 3<<<<<<< c5e063b3c9aeff65161e24445e9672daff980b45
3<<<<<<< 3b50722f433ec5ecc515ea1441fd633d85118cb9 4<<<<<<< 3b50722f433ec5ecc515ea1441fd633d85118cb9
4// 2016-03-01T13:00:40.761274000000Z 5// 2016-03-01T13:00:40.761274000000Z
@@ -8,6 +9,9 @@
8======= 9=======
9// 2016-03-20T22:19:43.498688000000Z 10// 2016-03-20T22:19:43.498688000000Z
10>>>>>>> fix c# 11>>>>>>> fix c#
12=======
13// 2016-03-21T11:36:01.075399000000Z
14>>>>>>> work on java json loader
11 15
12#include "LambdaCube.PipelineSchema.hpp" 16#include "LambdaCube.PipelineSchema.hpp"
13template<> json toJSON<std::shared_ptr<StreamType>>(std::shared_ptr<StreamType> &v) { 17template<> json toJSON<std::shared_ptr<StreamType>>(std::shared_ptr<StreamType> &v) {
diff --git a/ddl/out/LambdaCube.PipelineSchema.hpp b/ddl/out/LambdaCube.PipelineSchema.hpp
index 63be6ea..68e68d3 100644
--- a/ddl/out/LambdaCube.PipelineSchema.hpp
+++ b/ddl/out/LambdaCube.PipelineSchema.hpp
@@ -1,4 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2<<<<<<< 4d40c4ee5ed15544d2ac7fb1ea7b61e89766d277
2<<<<<<< c5e063b3c9aeff65161e24445e9672daff980b45 3<<<<<<< c5e063b3c9aeff65161e24445e9672daff980b45
3<<<<<<< 3b50722f433ec5ecc515ea1441fd633d85118cb9 4<<<<<<< 3b50722f433ec5ecc515ea1441fd633d85118cb9
4// 2016-03-01T13:00:40.761274000000Z 5// 2016-03-01T13:00:40.761274000000Z
@@ -8,6 +9,9 @@
8======= 9=======
9// 2016-03-20T22:19:43.498688000000Z 10// 2016-03-20T22:19:43.498688000000Z
10>>>>>>> fix c# 11>>>>>>> fix c#
12=======
13// 2016-03-21T11:36:01.075399000000Z
14>>>>>>> work on java json loader
11 15
12#ifndef HEADER_LambdaCube.PipelineSchema_H 16#ifndef HEADER_LambdaCube.PipelineSchema_H
13#define HEADER_LambdaCube.PipelineSchema_H 17#define HEADER_LambdaCube.PipelineSchema_H
diff --git a/ddl/out/LambdaCube.PipelineSchema.hs b/ddl/out/LambdaCube.PipelineSchema.hs
index c875895..e4dd8c9 100644
--- a/ddl/out/LambdaCube.PipelineSchema.hs
+++ b/ddl/out/LambdaCube.PipelineSchema.hs
@@ -1,4 +1,5 @@
1-- generated file, do not modify! 1-- generated file, do not modify!
2<<<<<<< 4d40c4ee5ed15544d2ac7fb1ea7b61e89766d277
2<<<<<<< c5e063b3c9aeff65161e24445e9672daff980b45 3<<<<<<< c5e063b3c9aeff65161e24445e9672daff980b45
3<<<<<<< 3b50722f433ec5ecc515ea1441fd633d85118cb9 4<<<<<<< 3b50722f433ec5ecc515ea1441fd633d85118cb9
4-- 2016-03-01T13:00:40.761274000000Z 5-- 2016-03-01T13:00:40.761274000000Z
@@ -8,6 +9,9 @@
8======= 9=======
9-- 2016-03-20T22:19:43.498688000000Z 10-- 2016-03-20T22:19:43.498688000000Z
10>>>>>>> fix c# 11>>>>>>> fix c#
12=======
13-- 2016-03-21T11:36:01.075399000000Z
14>>>>>>> work on java json loader
11 15
12{-# LANGUAGE OverloadedStrings, RecordWildCards #-} 16{-# LANGUAGE OverloadedStrings, RecordWildCards #-}
13module LambdaCube.PipelineSchema where 17module LambdaCube.PipelineSchema where
diff --git a/ddl/out/LambdaCube.PipelineSchema.purs b/ddl/out/LambdaCube.PipelineSchema.purs
index 4db9ac3..581515f 100644
--- a/ddl/out/LambdaCube.PipelineSchema.purs
+++ b/ddl/out/LambdaCube.PipelineSchema.purs
@@ -1,4 +1,5 @@
1-- generated file, do not modify! 1-- generated file, do not modify!
2<<<<<<< 4d40c4ee5ed15544d2ac7fb1ea7b61e89766d277
2<<<<<<< c5e063b3c9aeff65161e24445e9672daff980b45 3<<<<<<< c5e063b3c9aeff65161e24445e9672daff980b45
3<<<<<<< 3b50722f433ec5ecc515ea1441fd633d85118cb9 4<<<<<<< 3b50722f433ec5ecc515ea1441fd633d85118cb9
4-- 2016-03-01T13:00:40.761274000000Z 5-- 2016-03-01T13:00:40.761274000000Z
@@ -8,6 +9,9 @@
8======= 9=======
9-- 2016-03-20T22:19:43.498688000000Z 10-- 2016-03-20T22:19:43.498688000000Z
10>>>>>>> fix c# 11>>>>>>> fix c#
12=======
13-- 2016-03-21T11:36:01.075399000000Z
14>>>>>>> work on java json loader
11 15
12module LambdaCube.PipelineSchema where 16module LambdaCube.PipelineSchema where
13import Prelude 17import Prelude
diff --git a/ddl/out/LambdaCube.PipelineSchema.swift b/ddl/out/LambdaCube.PipelineSchema.swift
index 617e076..2267581 100644
--- a/ddl/out/LambdaCube.PipelineSchema.swift
+++ b/ddl/out/LambdaCube.PipelineSchema.swift
@@ -1,4 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2<<<<<<< 4d40c4ee5ed15544d2ac7fb1ea7b61e89766d277
2<<<<<<< c5e063b3c9aeff65161e24445e9672daff980b45 3<<<<<<< c5e063b3c9aeff65161e24445e9672daff980b45
3<<<<<<< 3b50722f433ec5ecc515ea1441fd633d85118cb9 4<<<<<<< 3b50722f433ec5ecc515ea1441fd633d85118cb9
4// 2016-03-01T13:00:40.761274000000Z 5// 2016-03-01T13:00:40.761274000000Z
@@ -8,6 +9,9 @@
8======= 9=======
9// 2016-03-20T22:19:43.498688000000Z 10// 2016-03-20T22:19:43.498688000000Z
10>>>>>>> fix c# 11>>>>>>> fix c#
12=======
13// 2016-03-21T11:36:01.075399000000Z
14>>>>>>> work on java json loader
11 15
12enum StreamType { 16enum StreamType {
13 case Attribute_Word 17 case Attribute_Word
diff --git a/ddl/out/LambdaCube.PipelineSchema2.hpp b/ddl/out/LambdaCube.PipelineSchema2.hpp
index 4ce32da..18a0d09 100644
--- a/ddl/out/LambdaCube.PipelineSchema2.hpp
+++ b/ddl/out/LambdaCube.PipelineSchema2.hpp
@@ -1,4 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2<<<<<<< 4d40c4ee5ed15544d2ac7fb1ea7b61e89766d277
2<<<<<<< c5e063b3c9aeff65161e24445e9672daff980b45 3<<<<<<< c5e063b3c9aeff65161e24445e9672daff980b45
3<<<<<<< 3b50722f433ec5ecc515ea1441fd633d85118cb9 4<<<<<<< 3b50722f433ec5ecc515ea1441fd633d85118cb9
4// 2016-03-01T13:00:40.761274000000Z 5// 2016-03-01T13:00:40.761274000000Z
@@ -8,6 +9,9 @@
8======= 9=======
9// 2016-03-20T22:19:43.498688000000Z 10// 2016-03-20T22:19:43.498688000000Z
10>>>>>>> fix c# 11>>>>>>> fix c#
12=======
13// 2016-03-21T11:36:01.075399000000Z
14>>>>>>> work on java json loader
11 15
12#ifndef HEADER_LambdaCube.PipelineSchema_H 16#ifndef HEADER_LambdaCube.PipelineSchema_H
13#define HEADER_LambdaCube.PipelineSchema_H 17#define HEADER_LambdaCube.PipelineSchema_H
diff --git a/ddl/out/LambdaCube.TypeInfo.cpp b/ddl/out/LambdaCube.TypeInfo.cpp
index 7c229ca..cc5979f 100644
--- a/ddl/out/LambdaCube.TypeInfo.cpp
+++ b/ddl/out/LambdaCube.TypeInfo.cpp
@@ -1,4 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2<<<<<<< 4d40c4ee5ed15544d2ac7fb1ea7b61e89766d277
2<<<<<<< c5e063b3c9aeff65161e24445e9672daff980b45 3<<<<<<< c5e063b3c9aeff65161e24445e9672daff980b45
3<<<<<<< 3b50722f433ec5ecc515ea1441fd633d85118cb9 4<<<<<<< 3b50722f433ec5ecc515ea1441fd633d85118cb9
4// 2016-03-01T13:00:40.810157000000Z 5// 2016-03-01T13:00:40.810157000000Z
@@ -8,6 +9,9 @@
8======= 9=======
9// 2016-03-20T22:19:43.646837000000Z 10// 2016-03-20T22:19:43.646837000000Z
10>>>>>>> fix c# 11>>>>>>> fix c#
12=======
13// 2016-03-21T11:36:01.199696000000Z
14>>>>>>> work on java json loader
11 15
12#include "LambdaCube.TypeInfo.hpp" 16#include "LambdaCube.TypeInfo.hpp"
13template<> json toJSON<std::shared_ptr<Range>>(std::shared_ptr<Range> &v) { 17template<> json toJSON<std::shared_ptr<Range>>(std::shared_ptr<Range> &v) {
diff --git a/ddl/out/LambdaCube.TypeInfo.hpp b/ddl/out/LambdaCube.TypeInfo.hpp
index 60cdbff..78f46f0 100644
--- a/ddl/out/LambdaCube.TypeInfo.hpp
+++ b/ddl/out/LambdaCube.TypeInfo.hpp
@@ -1,4 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2<<<<<<< 4d40c4ee5ed15544d2ac7fb1ea7b61e89766d277
2<<<<<<< c5e063b3c9aeff65161e24445e9672daff980b45 3<<<<<<< c5e063b3c9aeff65161e24445e9672daff980b45
3<<<<<<< 3b50722f433ec5ecc515ea1441fd633d85118cb9 4<<<<<<< 3b50722f433ec5ecc515ea1441fd633d85118cb9
4// 2016-03-01T13:00:40.810157000000Z 5// 2016-03-01T13:00:40.810157000000Z
@@ -8,6 +9,9 @@
8======= 9=======
9// 2016-03-20T22:19:43.646837000000Z 10// 2016-03-20T22:19:43.646837000000Z
10>>>>>>> fix c# 11>>>>>>> fix c#
12=======
13// 2016-03-21T11:36:01.199696000000Z
14>>>>>>> work on java json loader
11 15
12#ifndef HEADER_LambdaCube.TypeInfo_H 16#ifndef HEADER_LambdaCube.TypeInfo_H
13#define HEADER_LambdaCube.TypeInfo_H 17#define HEADER_LambdaCube.TypeInfo_H
diff --git a/ddl/out/LambdaCube.TypeInfo.hs b/ddl/out/LambdaCube.TypeInfo.hs
index 1205391..7e1666e 100644
--- a/ddl/out/LambdaCube.TypeInfo.hs
+++ b/ddl/out/LambdaCube.TypeInfo.hs
@@ -1,4 +1,5 @@
1-- generated file, do not modify! 1-- generated file, do not modify!
2<<<<<<< 4d40c4ee5ed15544d2ac7fb1ea7b61e89766d277
2<<<<<<< c5e063b3c9aeff65161e24445e9672daff980b45 3<<<<<<< c5e063b3c9aeff65161e24445e9672daff980b45
3<<<<<<< 3b50722f433ec5ecc515ea1441fd633d85118cb9 4<<<<<<< 3b50722f433ec5ecc515ea1441fd633d85118cb9
4-- 2016-03-01T13:00:40.810157000000Z 5-- 2016-03-01T13:00:40.810157000000Z
@@ -8,6 +9,9 @@
8======= 9=======
9-- 2016-03-20T22:19:43.646837000000Z 10-- 2016-03-20T22:19:43.646837000000Z
10>>>>>>> fix c# 11>>>>>>> fix c#
12=======
13-- 2016-03-21T11:36:01.199696000000Z
14>>>>>>> work on java json loader
11 15
12{-# LANGUAGE OverloadedStrings, RecordWildCards #-} 16{-# LANGUAGE OverloadedStrings, RecordWildCards #-}
13module LambdaCube.TypeInfo where 17module LambdaCube.TypeInfo where
diff --git a/ddl/out/LambdaCube.TypeInfo.purs b/ddl/out/LambdaCube.TypeInfo.purs
index 7422a22..9899da8 100644
--- a/ddl/out/LambdaCube.TypeInfo.purs
+++ b/ddl/out/LambdaCube.TypeInfo.purs
@@ -1,4 +1,5 @@
1-- generated file, do not modify! 1-- generated file, do not modify!
2<<<<<<< 4d40c4ee5ed15544d2ac7fb1ea7b61e89766d277
2<<<<<<< c5e063b3c9aeff65161e24445e9672daff980b45 3<<<<<<< c5e063b3c9aeff65161e24445e9672daff980b45
3<<<<<<< 3b50722f433ec5ecc515ea1441fd633d85118cb9 4<<<<<<< 3b50722f433ec5ecc515ea1441fd633d85118cb9
4-- 2016-03-01T13:00:40.810157000000Z 5-- 2016-03-01T13:00:40.810157000000Z
@@ -8,6 +9,9 @@
8======= 9=======
9-- 2016-03-20T22:19:43.646837000000Z 10-- 2016-03-20T22:19:43.646837000000Z
10>>>>>>> fix c# 11>>>>>>> fix c#
12=======
13-- 2016-03-21T11:36:01.199696000000Z
14>>>>>>> work on java json loader
11 15
12module LambdaCube.TypeInfo where 16module LambdaCube.TypeInfo where
13import Prelude 17import Prelude
diff --git a/ddl/out/LambdaCube.TypeInfo.swift b/ddl/out/LambdaCube.TypeInfo.swift
index 3978081..1172492 100644
--- a/ddl/out/LambdaCube.TypeInfo.swift
+++ b/ddl/out/LambdaCube.TypeInfo.swift
@@ -1,4 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2<<<<<<< 4d40c4ee5ed15544d2ac7fb1ea7b61e89766d277
2<<<<<<< c5e063b3c9aeff65161e24445e9672daff980b45 3<<<<<<< c5e063b3c9aeff65161e24445e9672daff980b45
3<<<<<<< 3b50722f433ec5ecc515ea1441fd633d85118cb9 4<<<<<<< 3b50722f433ec5ecc515ea1441fd633d85118cb9
4// 2016-03-01T13:00:40.810157000000Z 5// 2016-03-01T13:00:40.810157000000Z
@@ -8,6 +9,9 @@
8======= 9=======
9// 2016-03-20T22:19:43.646837000000Z 10// 2016-03-20T22:19:43.646837000000Z
10>>>>>>> fix c# 11>>>>>>> fix c#
12=======
13// 2016-03-21T11:36:01.199696000000Z
14>>>>>>> work on java json loader
11 15
12enum Range { 16enum Range {
13 case Range(Range_Data) 17 case Range(Range_Data)
diff --git a/ddl/out/LambdaCube.TypeInfo2.hpp b/ddl/out/LambdaCube.TypeInfo2.hpp
index a76deb4..8a0c15f 100644
--- a/ddl/out/LambdaCube.TypeInfo2.hpp
+++ b/ddl/out/LambdaCube.TypeInfo2.hpp
@@ -1,4 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2<<<<<<< 4d40c4ee5ed15544d2ac7fb1ea7b61e89766d277
2<<<<<<< c5e063b3c9aeff65161e24445e9672daff980b45 3<<<<<<< c5e063b3c9aeff65161e24445e9672daff980b45
3<<<<<<< 3b50722f433ec5ecc515ea1441fd633d85118cb9 4<<<<<<< 3b50722f433ec5ecc515ea1441fd633d85118cb9
4// 2016-03-01T13:00:40.810157000000Z 5// 2016-03-01T13:00:40.810157000000Z
@@ -8,6 +9,9 @@
8======= 9=======
9// 2016-03-20T22:19:43.646837000000Z 10// 2016-03-20T22:19:43.646837000000Z
10>>>>>>> fix c# 11>>>>>>> fix c#
12=======
13// 2016-03-21T11:36:01.199696000000Z
14>>>>>>> work on java json loader
11 15
12#ifndef HEADER_LambdaCube.TypeInfo_H 16#ifndef HEADER_LambdaCube.TypeInfo_H
13#define HEADER_LambdaCube.TypeInfo_H 17#define HEADER_LambdaCube.TypeInfo_H
diff --git a/ddl/out/TestData.cpp b/ddl/out/TestData.cpp
index 0ed0903..3b97f6b 100644
--- a/ddl/out/TestData.cpp
+++ b/ddl/out/TestData.cpp
@@ -1,4 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2<<<<<<< 4d40c4ee5ed15544d2ac7fb1ea7b61e89766d277
2<<<<<<< c5e063b3c9aeff65161e24445e9672daff980b45 3<<<<<<< c5e063b3c9aeff65161e24445e9672daff980b45
3<<<<<<< 3b50722f433ec5ecc515ea1441fd633d85118cb9 4<<<<<<< 3b50722f433ec5ecc515ea1441fd633d85118cb9
4// 2016-03-01T13:00:40.829757000000Z 5// 2016-03-01T13:00:40.829757000000Z
@@ -8,6 +9,9 @@
8======= 9=======
9// 2016-03-20T22:19:43.692329000000Z 10// 2016-03-20T22:19:43.692329000000Z
10>>>>>>> fix c# 11>>>>>>> fix c#
12=======
13// 2016-03-21T11:36:01.244766000000Z
14>>>>>>> work on java json loader
11 15
12#include "TestData.hpp" 16#include "TestData.hpp"
13template<> json toJSON<std::shared_ptr<ClientInfo>>(std::shared_ptr<ClientInfo> &v) { 17template<> json toJSON<std::shared_ptr<ClientInfo>>(std::shared_ptr<ClientInfo> &v) {
diff --git a/ddl/out/TestData.hpp b/ddl/out/TestData.hpp
index bb302c3..a0f48b8 100644
--- a/ddl/out/TestData.hpp
+++ b/ddl/out/TestData.hpp
@@ -1,4 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2<<<<<<< 4d40c4ee5ed15544d2ac7fb1ea7b61e89766d277
2<<<<<<< c5e063b3c9aeff65161e24445e9672daff980b45 3<<<<<<< c5e063b3c9aeff65161e24445e9672daff980b45
3<<<<<<< 3b50722f433ec5ecc515ea1441fd633d85118cb9 4<<<<<<< 3b50722f433ec5ecc515ea1441fd633d85118cb9
4// 2016-03-01T13:00:40.829757000000Z 5// 2016-03-01T13:00:40.829757000000Z
@@ -8,6 +9,9 @@
8======= 9=======
9// 2016-03-20T22:19:43.692329000000Z 10// 2016-03-20T22:19:43.692329000000Z
10>>>>>>> fix c# 11>>>>>>> fix c#
12=======
13// 2016-03-21T11:36:01.244766000000Z
14>>>>>>> work on java json loader
11 15
12#ifndef HEADER_TestData_H 16#ifndef HEADER_TestData_H
13#define HEADER_TestData_H 17#define HEADER_TestData_H
diff --git a/ddl/out/TestData.hs b/ddl/out/TestData.hs
index 0f063d2..96d680e 100644
--- a/ddl/out/TestData.hs
+++ b/ddl/out/TestData.hs
@@ -1,4 +1,5 @@
1-- generated file, do not modify! 1-- generated file, do not modify!
2<<<<<<< 4d40c4ee5ed15544d2ac7fb1ea7b61e89766d277
2<<<<<<< c5e063b3c9aeff65161e24445e9672daff980b45 3<<<<<<< c5e063b3c9aeff65161e24445e9672daff980b45
3<<<<<<< 3b50722f433ec5ecc515ea1441fd633d85118cb9 4<<<<<<< 3b50722f433ec5ecc515ea1441fd633d85118cb9
4-- 2016-03-01T13:00:40.829757000000Z 5-- 2016-03-01T13:00:40.829757000000Z
@@ -8,6 +9,9 @@
8======= 9=======
9-- 2016-03-20T22:19:43.692329000000Z 10-- 2016-03-20T22:19:43.692329000000Z
10>>>>>>> fix c# 11>>>>>>> fix c#
12=======
13-- 2016-03-21T11:36:01.244766000000Z
14>>>>>>> work on java json loader
11 15
12{-# LANGUAGE OverloadedStrings, RecordWildCards #-} 16{-# LANGUAGE OverloadedStrings, RecordWildCards #-}
13module TestData where 17module TestData where
diff --git a/ddl/out/TestData.purs b/ddl/out/TestData.purs
index 6969fc7..acbd856 100644
--- a/ddl/out/TestData.purs
+++ b/ddl/out/TestData.purs
@@ -1,4 +1,5 @@
1-- generated file, do not modify! 1-- generated file, do not modify!
2<<<<<<< 4d40c4ee5ed15544d2ac7fb1ea7b61e89766d277
2<<<<<<< c5e063b3c9aeff65161e24445e9672daff980b45 3<<<<<<< c5e063b3c9aeff65161e24445e9672daff980b45
3<<<<<<< 3b50722f433ec5ecc515ea1441fd633d85118cb9 4<<<<<<< 3b50722f433ec5ecc515ea1441fd633d85118cb9
4-- 2016-03-01T13:00:40.829757000000Z 5-- 2016-03-01T13:00:40.829757000000Z
@@ -8,6 +9,9 @@
8======= 9=======
9-- 2016-03-20T22:19:43.692329000000Z 10-- 2016-03-20T22:19:43.692329000000Z
10>>>>>>> fix c# 11>>>>>>> fix c#
12=======
13-- 2016-03-21T11:36:01.244766000000Z
14>>>>>>> work on java json loader
11 15
12module TestData where 16module TestData where
13import Prelude 17import Prelude
diff --git a/ddl/out/TestData.swift b/ddl/out/TestData.swift
index 92969a1..15ea32f 100644
--- a/ddl/out/TestData.swift
+++ b/ddl/out/TestData.swift
@@ -1,4 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2<<<<<<< 4d40c4ee5ed15544d2ac7fb1ea7b61e89766d277
2<<<<<<< c5e063b3c9aeff65161e24445e9672daff980b45 3<<<<<<< c5e063b3c9aeff65161e24445e9672daff980b45
3<<<<<<< 3b50722f433ec5ecc515ea1441fd633d85118cb9 4<<<<<<< 3b50722f433ec5ecc515ea1441fd633d85118cb9
4// 2016-03-01T13:00:40.829757000000Z 5// 2016-03-01T13:00:40.829757000000Z
@@ -8,6 +9,9 @@
8======= 9=======
9// 2016-03-20T22:19:43.692329000000Z 10// 2016-03-20T22:19:43.692329000000Z
10>>>>>>> fix c# 11>>>>>>> fix c#
12=======
13// 2016-03-21T11:36:01.244766000000Z
14>>>>>>> work on java json loader
11 15
12enum ClientInfo { 16enum ClientInfo {
13 case ClientInfo(ClientInfo_Data) 17 case ClientInfo(ClientInfo_Data)
diff --git a/ddl/out/TestData2.hpp b/ddl/out/TestData2.hpp
index 7f1d4b3..b70752a 100644
--- a/ddl/out/TestData2.hpp
+++ b/ddl/out/TestData2.hpp
@@ -1,4 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2<<<<<<< 4d40c4ee5ed15544d2ac7fb1ea7b61e89766d277
2<<<<<<< c5e063b3c9aeff65161e24445e9672daff980b45 3<<<<<<< c5e063b3c9aeff65161e24445e9672daff980b45
3<<<<<<< 3b50722f433ec5ecc515ea1441fd633d85118cb9 4<<<<<<< 3b50722f433ec5ecc515ea1441fd633d85118cb9
4// 2016-03-01T13:00:40.829757000000Z 5// 2016-03-01T13:00:40.829757000000Z
@@ -8,6 +9,9 @@
8======= 9=======
9// 2016-03-20T22:19:43.692329000000Z 10// 2016-03-20T22:19:43.692329000000Z
10>>>>>>> fix c# 11>>>>>>> fix c#
12=======
13// 2016-03-21T11:36:01.244766000000Z
14>>>>>>> work on java json loader
11 15
12#ifndef HEADER_TestData_H 16#ifndef HEADER_TestData_H
13#define HEADER_TestData_H 17#define HEADER_TestData_H
diff --git a/ddl/templates/data.cs.ede b/ddl/templates/data.cs.ede
index dffad32..74e0dac 100644
--- a/ddl/templates/data.cs.ede
+++ b/ddl/templates/data.cs.ede
@@ -33,7 +33,7 @@ namespace {{ moduleName }} {
33 33
34 // JSON deserializer 34 // JSON deserializer
35 enum Type { {% for t in usedTypes %} 35 enum Type { {% for t in usedTypes %}
36 {{ t.value | csTypeEnum }}{% if !t.last %},{% endif %}{% endfor %} 36 {{ t.value | typeEnum }}{% if !t.last %},{% endif %}{% endfor %}
37 } 37 }
38 38
39 class Loader { 39 class Loader {
@@ -43,52 +43,52 @@ namespace {{ moduleName }} {
43 {% case t.value.tag %} 43 {% case t.value.tag %}
44 {% when "Data" %} 44 {% when "Data" %}
45 {% when "V2" %} 45 {% when "V2" %}
46 case Type.{{ t.value | csTypeEnum }}: 46 case Type.{{ t.value | typeEnum }}:
47 return new {{ t.value | csType }} 47 return new {{ t.value | csType }}
48 { x = ({{ t.value.type_ | csType }})fromJSON(Type.{{ t.value.type_ | csTypeEnum }},obj["x"]) 48 { x = ({{ t.value.type_ | csType }})fromJSON(Type.{{ t.value.type_ | typeEnum }},obj["x"])
49 , y = ({{ t.value.type_ | csType }})fromJSON(Type.{{ t.value.type_ | csTypeEnum }},obj["y"]) 49 , y = ({{ t.value.type_ | csType }})fromJSON(Type.{{ t.value.type_ | typeEnum }},obj["y"])
50 }; 50 };
51 {% when "V3" %} 51 {% when "V3" %}
52 case Type.{{ t.value | csTypeEnum }}: 52 case Type.{{ t.value | typeEnum }}:
53 return new {{ t.value | csType }} 53 return new {{ t.value | csType }}
54 { x = ({{ t.value.type_ | csType }})fromJSON(Type.{{ t.value.type_ | csTypeEnum }},obj["x"]) 54 { x = ({{ t.value.type_ | csType }})fromJSON(Type.{{ t.value.type_ | typeEnum }},obj["x"])
55 , y = ({{ t.value.type_ | csType }})fromJSON(Type.{{ t.value.type_ | csTypeEnum }},obj["y"]) 55 , y = ({{ t.value.type_ | csType }})fromJSON(Type.{{ t.value.type_ | typeEnum }},obj["y"])
56 , z = ({{ t.value.type_ | csType }})fromJSON(Type.{{ t.value.type_ | csTypeEnum }},obj["z"]) 56 , z = ({{ t.value.type_ | csType }})fromJSON(Type.{{ t.value.type_ | typeEnum }},obj["z"])
57 }; 57 };
58 {% when "V4" %} 58 {% when "V4" %}
59 case Type.{{ t.value | csTypeEnum }}: 59 case Type.{{ t.value | typeEnum }}:
60 return new {{ t.value | csType }} 60 return new {{ t.value | csType }}
61 { x = ({{ t.value.type_ | csType }})fromJSON(Type.{{ t.value.type_ | csTypeEnum }},obj["x"]) 61 { x = ({{ t.value.type_ | csType }})fromJSON(Type.{{ t.value.type_ | typeEnum }},obj["x"])
62 , y = ({{ t.value.type_ | csType }})fromJSON(Type.{{ t.value.type_ | csTypeEnum }},obj["y"]) 62 , y = ({{ t.value.type_ | csType }})fromJSON(Type.{{ t.value.type_ | typeEnum }},obj["y"])
63 , z = ({{ t.value.type_ | csType }})fromJSON(Type.{{ t.value.type_ | csTypeEnum }},obj["z"]) 63 , z = ({{ t.value.type_ | csType }})fromJSON(Type.{{ t.value.type_ | typeEnum }},obj["z"])
64 , w = ({{ t.value.type_ | csType }})fromJSON(Type.{{ t.value.type_ | csTypeEnum }},obj["w"]) 64 , w = ({{ t.value.type_ | csType }})fromJSON(Type.{{ t.value.type_ | typeEnum }},obj["w"])
65 }; 65 };
66 {% when "Map" %} 66 {% when "Map" %}
67 case Type.{{ t.value | csTypeEnum }}: { 67 case Type.{{ t.value | typeEnum }}: {
68 var map = new {{ t.value | csType }} (); 68 var map = new {{ t.value | csType }} ();
69 foreach(var i in (JObject)obj) { 69 foreach(var i in (JObject)obj) {
70 map.Add( ({{ t.value.key_ | csType }})fromJSON(Type.{{ t.value.key_ | csTypeEnum }},i.Key) 70 map.Add( ({{ t.value.key_ | csType }})fromJSON(Type.{{ t.value.key_ | typeEnum }},i.Key)
71 , ({{ t.value.value_ | csType }})fromJSON(Type.{{ t.value.value_ | csTypeEnum }},i.Value)); 71 , ({{ t.value.value_ | csType }})fromJSON(Type.{{ t.value.value_ | typeEnum }},i.Value));
72 } 72 }
73 return map; 73 return map;
74 } 74 }
75 {% when "Array" %} 75 {% when "Array" %}
76 case Type.{{ t.value | csTypeEnum }}: return ((JArray)obj).Select(x => fromJSON (Type.{{ t.value.type_ | csTypeEnum }}, x)).ToList(); 76 case Type.{{ t.value | typeEnum }}: return ((JArray)obj).Select(x => fromJSON (Type.{{ t.value.type_ | typeEnum }}, x)).ToList();
77 {% when "List" %} 77 {% when "List" %}
78 case Type.{{ t.value | csTypeEnum }}: return ((JArray)obj).Select(x => fromJSON (Type.{{ t.value.type_ | csTypeEnum }}, x)).ToList(); 78 case Type.{{ t.value | typeEnum }}: return ((JArray)obj).Select(x => fromJSON (Type.{{ t.value.type_ | typeEnum }}, x)).ToList();
79 {% when "Maybe" %} 79 {% when "Maybe" %}
80 case Type.{{ t.value | csTypeEnum }}: { 80 case Type.{{ t.value | typeEnum }}: {
81 var m = new {{ t.value | csType }} (); 81 var m = new {{ t.value | csType }} ();
82 if (obj == null || obj.Type == JTokenType.Null) { 82 if (obj == null || obj.Type == JTokenType.Null) {
83 m.valid = false; 83 m.valid = false;
84 } else { 84 } else {
85 m.valid = true; 85 m.valid = true;
86 m.data = ({{ t.value.type_ | csType }})fromJSON (Type.{{ t.value.type_ | csTypeEnum }},obj); 86 m.data = ({{ t.value.type_ | csType }})fromJSON (Type.{{ t.value.type_ | typeEnum }},obj);
87 } 87 }
88 return m; 88 return m;
89 } 89 }
90 {% else %} 90 {% else %}
91 case Type.{{ t.value | csTypeEnum }}: return ({{ t.value | csType }})obj; 91 case Type.{{ t.value | typeEnum }}: return ({{ t.value | csType }})obj;
92 {% endcase %} 92 {% endcase %}
93 {% endfor %} 93 {% endfor %}
94 94
@@ -101,8 +101,8 @@ namespace {{ moduleName }} {
101 tagType = {{ t.value.dataName }}.Tag.{{ c.value.name }}; 101 tagType = {{ t.value.dataName }}.Tag.{{ c.value.name }};
102 {% if !(c.value.fields | empty) %} 102 {% if !(c.value.fields | empty) %}
103 data.{{ c.value.name }} tv = new data.{{ c.value.name }}();{% for f in c.value.fields %}{% if c.value.fields | hasFieldNames %} 103 data.{{ c.value.name }} tv = new data.{{ c.value.name }}();{% for f in c.value.fields %}{% if c.value.fields | hasFieldNames %}
104 tv.{{ f.value.fieldName }} = ({{ f.value.fieldType | csType }})fromJSON(Type.{{ f.value.fieldType | csTypeEnum }},obj["{{ f.value.fieldName }}"]);{% else %} 104 tv.{{ f.value.fieldName }} = ({{ f.value.fieldType | csType }})fromJSON(Type.{{ f.value.fieldType | typeEnum }},obj["{{ f.value.fieldName }}"]);{% else %}
105 tv._{{ f.index0 }} = ({{ f.value.fieldType | csType }})fromJSON(Type.{{ f.value.fieldType | csTypeEnum }},obj["arg{{ f.index0 }}"]);{% endif %}{% endfor %} 105 tv._{{ f.index0 }} = ({{ f.value.fieldType | csType }})fromJSON(Type.{{ f.value.fieldType | typeEnum }},obj["arg{{ f.index0 }}"]);{% endif %}{% endfor %}
106 return tv; 106 return tv;
107 {% endif %} 107 {% endif %}
108 } 108 }
diff --git a/ddl/templates/data.java.ede b/ddl/templates/data.java.ede
index 2aec628..71e3bd2 100644
--- a/ddl/templates/data.java.ede
+++ b/ddl/templates/data.java.ede
@@ -5,6 +5,7 @@ package {{ moduleName }};
5 5
6import java.util.ArrayList; 6import java.util.ArrayList;
7import java.util.HashMap; 7import java.util.HashMap;
8import RT.*;
8 9
9{% for m in imports %} 10{% for m in imports %}
10import {{ m.value }}.*; 11import {{ m.value }}.*;
@@ -21,6 +22,7 @@ public class {{ def.dataName }} {
21 public class {{ c.value.name }}_ extends {{ def.dataName }} { {% for f in c.value.fields %}{% if c.value.fields | hasFieldNames %} 22 public class {{ c.value.name }}_ extends {{ def.dataName }} { {% for f in c.value.fields %}{% if c.value.fields | hasFieldNames %}
22 public {{ f.value.fieldType | javaType }} {{ f.value.fieldName }};{% else %} 23 public {{ f.value.fieldType | javaType }} {{ f.value.fieldName }};{% else %}
23 public {{ f.value.fieldType | javaType }} _{{ f.index0 }};{% endif %}{% endfor %} 24 public {{ f.value.fieldType | javaType }} _{{ f.index0 }};{% endif %}{% endfor %}
25 public {{ c.value.name }}_() { tag = {{ def.dataName }}.Tag.{{ c.value.name }}; }
24 }{% endif %}{% endfor %} 26 }{% endif %}{% endfor %}
25} 27}
26 28
diff --git a/ddl/templates/json.java.ede b/ddl/templates/json.java.ede
new file mode 100644
index 0000000..35bbfd7
--- /dev/null
+++ b/ddl/templates/json.java.ede
@@ -0,0 +1,114 @@
1// generated file, do not modify!
2// {{ dateTime }}
3
4package {{ moduleName }};
5
6import java.util.ArrayList;
7import java.util.HashMap;
8import org.json.*;
9import RT.*;
10
11{% for m in imports %}
12import {{ m.value }}.*;
13{% endfor %}
14
15public class JSON {
16 // JSON deserializer
17 public enum Type { {% for t in usedTypes %}
18 {{ t.value | typeEnum }}{% if !t.last %},{% endif %}{% endfor %}
19 }
20
21 public static Object fromJSON(Type type, Object rawObj) throws JSONException, Exception {
22 switch (type) {
23 {% for t in usedTypes %}
24 {% case t.value.tag %}
25 {% when "Data" %}
26 {% when "V2" %}
27 case {{ t.value | typeEnum }}: {
28 JSONObject obj = (JSONObject)rawObj;
29 return new {{ t.value | javaType }}
30 ( ({{ t.value.type_ | javaType }})fromJSON(Type.{{ t.value.type_ | typeEnum }},obj.get("x"))
31 , ({{ t.value.type_ | javaType }})fromJSON(Type.{{ t.value.type_ | typeEnum }},obj.get("y"))
32 );
33 }
34 {% when "V3" %}
35 case {{ t.value | typeEnum }}: {
36 JSONObject obj = (JSONObject)rawObj;
37 return new {{ t.value | javaType }}
38 ( ({{ t.value.type_ | javaType }})fromJSON(Type.{{ t.value.type_ | typeEnum }},obj.get("x"))
39 , ({{ t.value.type_ | javaType }})fromJSON(Type.{{ t.value.type_ | typeEnum }},obj.get("y"))
40 , ({{ t.value.type_ | javaType }})fromJSON(Type.{{ t.value.type_ | typeEnum }},obj.get("z"))
41 );
42 }
43 {% when "V4" %}
44 case {{ t.value | typeEnum }}: {
45 JSONObject obj = (JSONObject)rawObj;
46 return new {{ t.value | javaType }}
47 ( ({{ t.value.type_ | javaType }})fromJSON(Type.{{ t.value.type_ | typeEnum }},obj.get("x"))
48 , ({{ t.value.type_ | javaType }})fromJSON(Type.{{ t.value.type_ | typeEnum }},obj.get("y"))
49 , ({{ t.value.type_ | javaType }})fromJSON(Type.{{ t.value.type_ | typeEnum }},obj.get("z"))
50 , ({{ t.value.type_ | javaType }})fromJSON(Type.{{ t.value.type_ | typeEnum }},obj.get("w"))
51 );
52 }
53 {% when "Map" %}
54/*
55 case {{ t.value | typeEnum }}: {
56 var map = new {{ t.value | javaType }} ();
57 foreach(var i in (JSONObject)rawObj) {
58 map.Add( ({{ t.value.key_ | javaType }})fromJSON(Type.{{ t.value.key_ | typeEnum }},i.Key)
59 , ({{ t.value.value_ | javaType }})fromJSON(Type.{{ t.value.value_ | typeEnum }},i.Value));
60 }
61 return map;
62 }
63*/
64 {% when "Array" %}
65// case {{ t.value | typeEnum }}: return ((JArray)obj).Select(x => fromJSON (Type.{{ t.value.type_ | typeEnum }}, x)).ToList();
66 {% when "List" %}
67// case {{ t.value | typeEnum }}: return ((JArray)obj).Select(x => fromJSON (Type.{{ t.value.type_ | typeEnum }}, x)).ToList();
68 {% when "Maybe" %}
69/*
70 case {{ t.value | typeEnum }}: {
71 var m = new {{ t.value | javaType }} ();
72 if (obj == null || obj.Type == JTokenType.Null) {
73 m.valid = false;
74 } else {
75 m.valid = true;
76 m.data = ({{ t.value.type_ | javaType }})fromJSON (Type.{{ t.value.type_ | typeEnum }},obj);
77 }
78 return m;
79 }
80*/
81 {% else %}
82 case {{ t.value | typeEnum }}: return ({{ t.value | javaType }})rawObj;
83 {% endcase %}
84 {% endfor %}
85
86 {% for t in definitions %}
87 case {{ t.value.dataName }}: {
88 JSONObject obj = (JSONObject)rawObj;
89 String tag = obj.getString("tag");
90 {{ t.value.dataName }}.Tag tagType;
91 switch (tag) {
92 {% for c in t.value.constructors %}
93 case "{{ c.value.name }}":{% if (c.value.fields | empty) %} tagType = {{ t.value.dataName }}.Tag.{{ c.value.name }}; break;
94{% else %} {
95 {{ t.value.dataName }}.{{ c.value.name }}_ tv = new {{ t.value.dataName }}().new {{ c.value.name }}_();{% for f in c.value.fields %}{% if c.value.fields | hasFieldNames %}
96 tv.{{ f.value.fieldName }} = ({{ f.value.fieldType | javaType }})fromJSON(Type.{{ f.value.fieldType | typeEnum }},obj.get("{{ f.value.fieldName }}"));{% else %}
97 tv._{{ f.index0 }} = ({{ f.value.fieldType | javaType }})fromJSON(Type.{{ f.value.fieldType | typeEnum }},obj.get("arg{{ f.index0 }}"));{% endif %}{% endfor %}
98 return tv;
99 }
100 {% endif %}
101 {% endfor %}
102 default: throw new Exception("unknown constructor: " + tag);
103 }
104 {% if t.value | hasEnumConstructor %}
105 {{ t.value.dataName }} o = new {{ t.value.dataName }}();
106 o.tag = tagType;
107 return o;
108 {% endif %}
109 }
110 {% endfor %}
111 }
112 throw new Exception("unknown type");
113 }
114} \ No newline at end of file