diff options
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 () | |||
28 | main = do | 28 | main = 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 | ||
84 | hasEnumConstructor :: DataDef -> Bool | ||
85 | hasEnumConstructor DataDef{..} = or [null fields | ConstructorDef{..} <- constructors] | ||
86 | hasEnumConstructor _ = False | ||
87 | |||
84 | collectTypes :: AliasMap -> ModuleDef -> Set Type | 88 | collectTypes :: AliasMap -> ModuleDef -> Set Type |
85 | collectTypes aliasMap ModuleDef{..} = Set.fromList $ map (normalize aliasMap) $ concat | 89 | collectTypes 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 ++ ">" | |
261 | csTypeEnum :: AliasMap -> Type -> String | 265 | Maybe t -> "Maybe<" ++ parens (javaType aliasMap t) ++ ">" |
262 | csTypeEnum aliasMap a = case normalize aliasMap a of | 266 | x -> error $ "javaType: " ++ show x |
267 | |||
268 | typeEnum :: AliasMap -> Type -> String | ||
269 | typeEnum 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 | ||
280 | csType :: String -> AliasMap -> Type -> String -- TODO | 287 | csType :: 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 @@ | |||
1 | package RT; | ||
2 | |||
3 | public 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 @@ | |||
1 | package RT; | ||
2 | |||
3 | public 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 @@ | |||
1 | package RT; | ||
2 | |||
3 | public 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 @@ | |||
1 | package RT; | ||
2 | |||
3 | public 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" |
13 | template<> json toJSON<std::shared_ptr<ArrayValue>>(std::shared_ptr<ArrayValue> &v) { | 17 | template<> 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 #-} |
13 | module LambdaCube.IR where | 17 | module 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 | ||
12 | module LambdaCube.IR where | 16 | module LambdaCube.IR where |
13 | import Prelude | 17 | import 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 | ||
12 | typealias StreamName = Int | 16 | typealias 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" |
13 | template<> json toJSON<std::shared_ptr<MeshAttribute>>(std::shared_ptr<MeshAttribute> &v) { | 17 | template<> 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 #-} |
13 | module LambdaCube.Mesh where | 17 | module 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 | ||
12 | module LambdaCube.Mesh where | 16 | module LambdaCube.Mesh where |
13 | import Prelude | 17 | import 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 | ||
12 | enum MeshAttribute { | 16 | enum 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" |
13 | template<> json toJSON<std::shared_ptr<StreamType>>(std::shared_ptr<StreamType> &v) { | 17 | template<> 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 #-} |
13 | module LambdaCube.PipelineSchema where | 17 | module 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 | ||
12 | module LambdaCube.PipelineSchema where | 16 | module LambdaCube.PipelineSchema where |
13 | import Prelude | 17 | import 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 | ||
12 | enum StreamType { | 16 | enum 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" |
13 | template<> json toJSON<std::shared_ptr<Range>>(std::shared_ptr<Range> &v) { | 17 | template<> 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 #-} |
13 | module LambdaCube.TypeInfo where | 17 | module 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 | ||
12 | module LambdaCube.TypeInfo where | 16 | module LambdaCube.TypeInfo where |
13 | import Prelude | 17 | import 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 | ||
12 | enum Range { | 16 | enum 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" |
13 | template<> json toJSON<std::shared_ptr<ClientInfo>>(std::shared_ptr<ClientInfo> &v) { | 17 | template<> 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 #-} |
13 | module TestData where | 17 | module 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 | ||
12 | module TestData where | 16 | module TestData where |
13 | import Prelude | 17 | import 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 | ||
12 | enum ClientInfo { | 16 | enum 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 | ||
6 | import java.util.ArrayList; | 6 | import java.util.ArrayList; |
7 | import java.util.HashMap; | 7 | import java.util.HashMap; |
8 | import RT.*; | ||
8 | 9 | ||
9 | {% for m in imports %} | 10 | {% for m in imports %} |
10 | import {{ m.value }}.*; | 11 | import {{ 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 | |||
4 | package {{ moduleName }}; | ||
5 | |||
6 | import java.util.ArrayList; | ||
7 | import java.util.HashMap; | ||
8 | import org.json.*; | ||
9 | import RT.*; | ||
10 | |||
11 | {% for m in imports %} | ||
12 | import {{ m.value }}.*; | ||
13 | {% endfor %} | ||
14 | |||
15 | public 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 | ||