summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCsaba Hruska <csaba.hruska@gmail.com>2016-03-27 23:15:55 +0200
committerCsaba Hruska <csaba.hruska@gmail.com>2016-03-27 23:15:55 +0200
commitd720ed7cd0720668f87053728519cbcac326940e (patch)
tree9a53a06e8b40541ecf5e5eb46acdc71e2220cd9c
parentb2cae2db744cfca2825bf1e7a1c1ed41ce105c3e (diff)
fix C# json loading
-rw-r--r--ddl/Definitions.hs1
-rw-r--r--ddl/out/LambdaCube.IR.cpp8
-rw-r--r--ddl/out/LambdaCube.IR.cs229
-rw-r--r--ddl/out/LambdaCube.IR.hpp5
-rw-r--r--ddl/out/LambdaCube.IR.hs5
-rw-r--r--ddl/out/LambdaCube.IR.purs5
-rw-r--r--ddl/out/LambdaCube.IR.swift5
-rw-r--r--ddl/out/LambdaCube.IR2.hpp5
-rw-r--r--ddl/out/LambdaCube.Mesh.cpp2
-rw-r--r--ddl/out/LambdaCube.Mesh.cs66
-rw-r--r--ddl/out/LambdaCube.Mesh.hpp2
-rw-r--r--ddl/out/LambdaCube.Mesh.hs2
-rw-r--r--ddl/out/LambdaCube.Mesh.purs2
-rw-r--r--ddl/out/LambdaCube.Mesh.swift2
-rw-r--r--ddl/out/LambdaCube.Mesh2.hpp2
-rw-r--r--ddl/out/LambdaCube.PipelineSchema.cpp2
-rw-r--r--ddl/out/LambdaCube.PipelineSchema.cs16
-rw-r--r--ddl/out/LambdaCube.PipelineSchema.hpp2
-rw-r--r--ddl/out/LambdaCube.PipelineSchema.hs2
-rw-r--r--ddl/out/LambdaCube.PipelineSchema.purs2
-rw-r--r--ddl/out/LambdaCube.PipelineSchema.swift2
-rw-r--r--ddl/out/LambdaCube.PipelineSchema2.hpp2
-rw-r--r--ddl/out/LambdaCube.TypeInfo.cpp2
-rw-r--r--ddl/out/LambdaCube.TypeInfo.cs20
-rw-r--r--ddl/out/LambdaCube.TypeInfo.hpp2
-rw-r--r--ddl/out/LambdaCube.TypeInfo.hs2
-rw-r--r--ddl/out/LambdaCube.TypeInfo.purs2
-rw-r--r--ddl/out/LambdaCube.TypeInfo.swift2
-rw-r--r--ddl/out/LambdaCube.TypeInfo2.hpp2
-rw-r--r--ddl/out/TestData.cpp2
-rw-r--r--ddl/out/TestData.cs56
-rw-r--r--ddl/out/TestData.hpp2
-rw-r--r--ddl/out/TestData.hs2
-rw-r--r--ddl/out/TestData.purs2
-rw-r--r--ddl/out/TestData.swift2
-rw-r--r--ddl/out/TestData2.hpp2
-rw-r--r--ddl/out/java/LambdaCube/IR/AccumulationContext.java2
-rw-r--r--ddl/out/java/LambdaCube/IR/ArrayValue.java2
-rw-r--r--ddl/out/java/LambdaCube/IR/Backend.java5
-rw-r--r--ddl/out/java/LambdaCube/IR/BlendEquation.java2
-rw-r--r--ddl/out/java/LambdaCube/IR/Blending.java2
-rw-r--r--ddl/out/java/LambdaCube/IR/BlendingFactor.java2
-rw-r--r--ddl/out/java/LambdaCube/IR/ClearImage.java2
-rw-r--r--ddl/out/java/LambdaCube/IR/ColorArity.java2
-rw-r--r--ddl/out/java/LambdaCube/IR/Command.java2
-rw-r--r--ddl/out/java/LambdaCube/IR/ComparisonFunction.java2
-rw-r--r--ddl/out/java/LambdaCube/IR/CullMode.java2
-rw-r--r--ddl/out/java/LambdaCube/IR/EdgeMode.java2
-rw-r--r--ddl/out/java/LambdaCube/IR/FetchPrimitive.java2
-rw-r--r--ddl/out/java/LambdaCube/IR/Filter.java2
-rw-r--r--ddl/out/java/LambdaCube/IR/FragmentOperation.java2
-rw-r--r--ddl/out/java/LambdaCube/IR/FrontFace.java2
-rw-r--r--ddl/out/java/LambdaCube/IR/ImageRef.java2
-rw-r--r--ddl/out/java/LambdaCube/IR/ImageSemantic.java2
-rw-r--r--ddl/out/java/LambdaCube/IR/InputType.java2
-rw-r--r--ddl/out/java/LambdaCube/IR/JSON.java8
-rw-r--r--ddl/out/java/LambdaCube/IR/LogicOperation.java2
-rw-r--r--ddl/out/java/LambdaCube/IR/MipMap.java2
-rw-r--r--ddl/out/java/LambdaCube/IR/OutputPrimitive.java2
-rw-r--r--ddl/out/java/LambdaCube/IR/Parameter.java2
-rw-r--r--ddl/out/java/LambdaCube/IR/Pipeline.java2
-rw-r--r--ddl/out/java/LambdaCube/IR/PointSize.java2
-rw-r--r--ddl/out/java/LambdaCube/IR/PointSpriteCoordOrigin.java2
-rw-r--r--ddl/out/java/LambdaCube/IR/PolygonMode.java2
-rw-r--r--ddl/out/java/LambdaCube/IR/PolygonOffset.java2
-rw-r--r--ddl/out/java/LambdaCube/IR/Program.java2
-rw-r--r--ddl/out/java/LambdaCube/IR/ProvokingVertex.java2
-rw-r--r--ddl/out/java/LambdaCube/IR/RasterContext.java2
-rw-r--r--ddl/out/java/LambdaCube/IR/RenderTarget.java2
-rw-r--r--ddl/out/java/LambdaCube/IR/SamplerDescriptor.java2
-rw-r--r--ddl/out/java/LambdaCube/IR/Slot.java2
-rw-r--r--ddl/out/java/LambdaCube/IR/StencilOperation.java2
-rw-r--r--ddl/out/java/LambdaCube/IR/StencilOps.java2
-rw-r--r--ddl/out/java/LambdaCube/IR/StencilTest.java2
-rw-r--r--ddl/out/java/LambdaCube/IR/StencilTests.java2
-rw-r--r--ddl/out/java/LambdaCube/IR/StreamData.java2
-rw-r--r--ddl/out/java/LambdaCube/IR/TargetItem.java2
-rw-r--r--ddl/out/java/LambdaCube/IR/TextureDataType.java2
-rw-r--r--ddl/out/java/LambdaCube/IR/TextureDescriptor.java2
-rw-r--r--ddl/out/java/LambdaCube/IR/TextureType.java2
-rw-r--r--ddl/out/java/LambdaCube/IR/Value.java2
-rw-r--r--ddl/out/java/LambdaCube/Mesh/JSON.java4
-rw-r--r--ddl/out/java/LambdaCube/Mesh/Mesh.java2
-rw-r--r--ddl/out/java/LambdaCube/Mesh/MeshAttribute.java2
-rw-r--r--ddl/out/java/LambdaCube/Mesh/MeshPrimitive.java2
-rw-r--r--ddl/out/java/LambdaCube/PipelineSchema/JSON.java4
-rw-r--r--ddl/out/java/LambdaCube/PipelineSchema/ObjectArraySchema.java2
-rw-r--r--ddl/out/java/LambdaCube/PipelineSchema/PipelineSchema.java2
-rw-r--r--ddl/out/java/LambdaCube/PipelineSchema/StreamType.java2
-rw-r--r--ddl/out/java/LambdaCube/TypeInfo/CompileResult.java2
-rw-r--r--ddl/out/java/LambdaCube/TypeInfo/JSON.java4
-rw-r--r--ddl/out/java/LambdaCube/TypeInfo/Range.java2
-rw-r--r--ddl/out/java/LambdaCube/TypeInfo/TypeInfo.java2
-rw-r--r--ddl/out/java/TestData/ClientInfo.java2
-rw-r--r--ddl/out/java/TestData/Frame.java2
-rw-r--r--ddl/out/java/TestData/FrameResult.java2
-rw-r--r--ddl/out/java/TestData/JSON.java4
-rw-r--r--ddl/out/java/TestData/PipelineInfo.java2
-rw-r--r--ddl/out/java/TestData/RenderJob.java2
-rw-r--r--ddl/out/java/TestData/RenderJobResult.java2
-rw-r--r--ddl/out/java/TestData/Scene.java2
-rw-r--r--ddl/templates/data.cs.ede22
-rw-r--r--ddl/templates/json.java.ede2
103 files changed, 334 insertions, 306 deletions
diff --git a/ddl/Definitions.hs b/ddl/Definitions.hs
index cc8d042..9e08cc9 100644
--- a/ddl/Definitions.hs
+++ b/ddl/Definitions.hs
@@ -418,6 +418,7 @@ ir = do
418 data_ "Backend" $ do 418 data_ "Backend" $ do
419 enum_ "WebGL1" 419 enum_ "WebGL1"
420 enum_ "OpenGL33" 420 enum_ "OpenGL33"
421 enum_ "DirectX11"
421 422
422 data_ "Pipeline" $ do 423 data_ "Pipeline" $ do
423 constR_ "Pipeline" 424 constR_ "Pipeline"
diff --git a/ddl/out/LambdaCube.IR.cpp b/ddl/out/LambdaCube.IR.cpp
index 719379d..9f1f999 100644
--- a/ddl/out/LambdaCube.IR.cpp
+++ b/ddl/out/LambdaCube.IR.cpp
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-03-21T15:32:16.153401000000Z 2// 2016-03-27T21:14:11.531713000000Z
3 3
4#include "LambdaCube.IR.hpp" 4#include "LambdaCube.IR.hpp"
5template<> json toJSON<std::shared_ptr<ArrayValue>>(std::shared_ptr<ArrayValue> &v) { 5template<> json toJSON<std::shared_ptr<ArrayValue>>(std::shared_ptr<ArrayValue> &v) {
@@ -2800,6 +2800,9 @@ template<> json toJSON<std::shared_ptr<Backend>>(std::shared_ptr<Backend> &v) {
2800 case ::Backend::tag::OpenGL33: 2800 case ::Backend::tag::OpenGL33:
2801 obj["tag"] = "OpenGL33"; 2801 obj["tag"] = "OpenGL33";
2802 break; 2802 break;
2803 case ::Backend::tag::DirectX11:
2804 obj["tag"] = "DirectX11";
2805 break;
2803 } 2806 }
2804 return obj; 2807 return obj;
2805} 2808}
@@ -2813,6 +2816,9 @@ template<> std::shared_ptr<Backend> fromJSON<std::shared_ptr<Backend>>(W<std::sh
2813 else if (tag == "OpenGL33") { 2816 else if (tag == "OpenGL33") {
2814 tagType = ::Backend::tag::OpenGL33; 2817 tagType = ::Backend::tag::OpenGL33;
2815 } 2818 }
2819 else if (tag == "DirectX11") {
2820 tagType = ::Backend::tag::DirectX11;
2821 }
2816 else throw "unknown constructor: " + tag; 2822 else throw "unknown constructor: " + tag;
2817 std::shared_ptr<::Backend> o(new ::Backend()); 2823 std::shared_ptr<::Backend> o(new ::Backend());
2818 o->tag = tagType; 2824 o->tag = tagType;
diff --git a/ddl/out/LambdaCube.IR.cs b/ddl/out/LambdaCube.IR.cs
index 674a336..886eb3b 100644
--- a/ddl/out/LambdaCube.IR.cs
+++ b/ddl/out/LambdaCube.IR.cs
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-03-21T15:32:16.153401000000Z 2// 2016-03-27T21:14:11.531713000000Z
3 3
4using System; 4using System;
5using System.Linq; 5using System.Linq;
@@ -979,7 +979,8 @@ namespace LambdaCube.IR {
979 class Backend { 979 class Backend {
980 public enum Tag { 980 public enum Tag {
981 WebGL1, 981 WebGL1,
982 OpenGL33 982 OpenGL33,
983 DirectX11
983 }; 984 };
984 public Tag tag; 985 public Tag tag;
985 }; 986 };
@@ -1245,22 +1246,22 @@ namespace LambdaCube.IR {
1245 , z = (V4<float>)fromJSON(Type.V4_Float,obj["z"]) 1246 , z = (V4<float>)fromJSON(Type.V4_Float,obj["z"])
1246 , w = (V4<float>)fromJSON(Type.V4_Float,obj["w"]) 1247 , w = (V4<float>)fromJSON(Type.V4_Float,obj["w"])
1247 }; 1248 };
1248 case Type.Array_Int: return ((JArray)obj).Select(x => fromJSON (Type.Int, x)).ToList(); 1249 case Type.Array_Int: return ((JArray)obj).Select(x => (int)fromJSON (Type.Int, x)).ToList();
1249 case Type.Array_Int32: return ((JArray)obj).Select(x => fromJSON (Type.Int32, x)).ToList(); 1250 case Type.Array_Int32: return ((JArray)obj).Select(x => (int)fromJSON (Type.Int32, x)).ToList();
1250 case Type.Array_Word32: return ((JArray)obj).Select(x => fromJSON (Type.Word32, x)).ToList(); 1251 case Type.Array_Word32: return ((JArray)obj).Select(x => (uint)fromJSON (Type.Word32, x)).ToList();
1251 case Type.Array_Float: return ((JArray)obj).Select(x => fromJSON (Type.Float, x)).ToList(); 1252 case Type.Array_Float: return ((JArray)obj).Select(x => (float)fromJSON (Type.Float, x)).ToList();
1252 case Type.Array_Bool: return ((JArray)obj).Select(x => fromJSON (Type.Bool, x)).ToList(); 1253 case Type.Array_Bool: return ((JArray)obj).Select(x => (bool)fromJSON (Type.Bool, x)).ToList();
1253 case Type.Array_ClearImage: return ((JArray)obj).Select(x => fromJSON (Type.ClearImage, x)).ToList(); 1254 case Type.Array_ClearImage: return ((JArray)obj).Select(x => (global::LambdaCube.IR.ClearImage)fromJSON (Type.ClearImage, x)).ToList();
1254 case Type.Array_Command: return ((JArray)obj).Select(x => fromJSON (Type.Command, x)).ToList(); 1255 case Type.Array_Command: return ((JArray)obj).Select(x => (global::LambdaCube.IR.Command)fromJSON (Type.Command, x)).ToList();
1255 case Type.Array_Parameter: return ((JArray)obj).Select(x => fromJSON (Type.Parameter, x)).ToList(); 1256 case Type.Array_Parameter: return ((JArray)obj).Select(x => (global::LambdaCube.IR.Parameter)fromJSON (Type.Parameter, x)).ToList();
1256 case Type.Array_Program: return ((JArray)obj).Select(x => fromJSON (Type.Program, x)).ToList(); 1257 case Type.Array_Program: return ((JArray)obj).Select(x => (global::LambdaCube.IR.Program)fromJSON (Type.Program, x)).ToList();
1257 case Type.Array_RenderTarget: return ((JArray)obj).Select(x => fromJSON (Type.RenderTarget, x)).ToList(); 1258 case Type.Array_RenderTarget: return ((JArray)obj).Select(x => (global::LambdaCube.IR.RenderTarget)fromJSON (Type.RenderTarget, x)).ToList();
1258 case Type.Array_SamplerDescriptor: return ((JArray)obj).Select(x => fromJSON (Type.SamplerDescriptor, x)).ToList(); 1259 case Type.Array_SamplerDescriptor: return ((JArray)obj).Select(x => (global::LambdaCube.IR.SamplerDescriptor)fromJSON (Type.SamplerDescriptor, x)).ToList();
1259 case Type.Array_Slot: return ((JArray)obj).Select(x => fromJSON (Type.Slot, x)).ToList(); 1260 case Type.Array_Slot: return ((JArray)obj).Select(x => (global::LambdaCube.IR.Slot)fromJSON (Type.Slot, x)).ToList();
1260 case Type.Array_StreamData: return ((JArray)obj).Select(x => fromJSON (Type.StreamData, x)).ToList(); 1261 case Type.Array_StreamData: return ((JArray)obj).Select(x => (global::LambdaCube.IR.StreamData)fromJSON (Type.StreamData, x)).ToList();
1261 case Type.Array_TargetItem: return ((JArray)obj).Select(x => fromJSON (Type.TargetItem, x)).ToList(); 1262 case Type.Array_TargetItem: return ((JArray)obj).Select(x => (global::LambdaCube.IR.TargetItem)fromJSON (Type.TargetItem, x)).ToList();
1262 case Type.Array_TextureDescriptor: return ((JArray)obj).Select(x => fromJSON (Type.TextureDescriptor, x)).ToList(); 1263 case Type.Array_TextureDescriptor: return ((JArray)obj).Select(x => (global::LambdaCube.IR.TextureDescriptor)fromJSON (Type.TextureDescriptor, x)).ToList();
1263 case Type.List_FragmentOperation: return ((JArray)obj).Select(x => fromJSON (Type.FragmentOperation, x)).ToList(); 1264 case Type.List_FragmentOperation: return ((JArray)obj).Select(x => (global::LambdaCube.IR.FragmentOperation)fromJSON (Type.FragmentOperation, x)).ToList();
1264 case Type.Maybe_Int: { 1265 case Type.Maybe_Int: {
1265 var m = new Maybe<int> (); 1266 var m = new Maybe<int> ();
1266 if (obj == null || obj.Type == JTokenType.Null) { 1267 if (obj == null || obj.Type == JTokenType.Null) {
@@ -2324,6 +2325,7 @@ namespace LambdaCube.IR {
2324 switch (tag) { 2325 switch (tag) {
2325 case "WebGL1": tagType = Backend.Tag.WebGL1; break; 2326 case "WebGL1": tagType = Backend.Tag.WebGL1; break;
2326 case "OpenGL33": tagType = Backend.Tag.OpenGL33; break; 2327 case "OpenGL33": tagType = Backend.Tag.OpenGL33; break;
2328 case "DirectX11": tagType = Backend.Tag.DirectX11; break;
2327 default: throw new Exception("unknown constructor: " + tag); 2329 default: throw new Exception("unknown constructor: " + tag);
2328 } 2330 }
2329 Backend o = new Backend(); 2331 Backend o = new Backend();
@@ -2354,7 +2356,7 @@ namespace LambdaCube.IR {
2354 return null; 2356 return null;
2355 } 2357 }
2356 2358
2357 JToken toJSON(ArrayValue v) { 2359 public static JToken toJSON(ArrayValue v) {
2358 var obj = new JObject(); 2360 var obj = new JObject();
2359 switch (v.tag) { 2361 switch (v.tag) {
2360 case ArrayValue.Tag.VBoolArray: 2362 case ArrayValue.Tag.VBoolArray:
@@ -2388,7 +2390,7 @@ namespace LambdaCube.IR {
2388 } 2390 }
2389 return obj; 2391 return obj;
2390 } 2392 }
2391 JToken toJSON(Value v) { 2393 public static JToken toJSON(Value v) {
2392 var obj = new JObject(); 2394 var obj = new JObject();
2393 switch (v.tag) { 2395 switch (v.tag) {
2394 case Value.Tag.VBool: 2396 case Value.Tag.VBool:
@@ -2569,7 +2571,7 @@ namespace LambdaCube.IR {
2569 } 2571 }
2570 return obj; 2572 return obj;
2571 } 2573 }
2572 JToken toJSON(InputType v) { 2574 public static JToken toJSON(InputType v) {
2573 var obj = new JObject(); 2575 var obj = new JObject();
2574 switch (v.tag) { 2576 switch (v.tag) {
2575 case InputType.Tag.Bool: 2577 case InputType.Tag.Bool:
@@ -2758,7 +2760,7 @@ namespace LambdaCube.IR {
2758 } 2760 }
2759 return obj; 2761 return obj;
2760 } 2762 }
2761 JToken toJSON(PointSpriteCoordOrigin v) { 2763 public static JToken toJSON(PointSpriteCoordOrigin v) {
2762 var obj = new JObject(); 2764 var obj = new JObject();
2763 switch (v.tag) { 2765 switch (v.tag) {
2764 case PointSpriteCoordOrigin.Tag.LowerLeft: 2766 case PointSpriteCoordOrigin.Tag.LowerLeft:
@@ -2770,7 +2772,7 @@ namespace LambdaCube.IR {
2770 } 2772 }
2771 return obj; 2773 return obj;
2772 } 2774 }
2773 JToken toJSON(PointSize v) { 2775 public static JToken toJSON(PointSize v) {
2774 var obj = new JObject(); 2776 var obj = new JObject();
2775 switch (v.tag) { 2777 switch (v.tag) {
2776 case PointSize.Tag.PointSize: 2778 case PointSize.Tag.PointSize:
@@ -2786,7 +2788,7 @@ namespace LambdaCube.IR {
2786 } 2788 }
2787 return obj; 2789 return obj;
2788 } 2790 }
2789 JToken toJSON(PolygonOffset v) { 2791 public static JToken toJSON(PolygonOffset v) {
2790 var obj = new JObject(); 2792 var obj = new JObject();
2791 switch (v.tag) { 2793 switch (v.tag) {
2792 case PolygonOffset.Tag.NoOffset: 2794 case PolygonOffset.Tag.NoOffset:
@@ -2803,7 +2805,7 @@ namespace LambdaCube.IR {
2803 } 2805 }
2804 return obj; 2806 return obj;
2805 } 2807 }
2806 JToken toJSON(FrontFace v) { 2808 public static JToken toJSON(FrontFace v) {
2807 var obj = new JObject(); 2809 var obj = new JObject();
2808 switch (v.tag) { 2810 switch (v.tag) {
2809 case FrontFace.Tag.CCW: 2811 case FrontFace.Tag.CCW:
@@ -2815,7 +2817,7 @@ namespace LambdaCube.IR {
2815 } 2817 }
2816 return obj; 2818 return obj;
2817 } 2819 }
2818 JToken toJSON(PolygonMode v) { 2820 public static JToken toJSON(PolygonMode v) {
2819 var obj = new JObject(); 2821 var obj = new JObject();
2820 switch (v.tag) { 2822 switch (v.tag) {
2821 case PolygonMode.Tag.PolygonPoint: 2823 case PolygonMode.Tag.PolygonPoint:
@@ -2838,7 +2840,7 @@ namespace LambdaCube.IR {
2838 } 2840 }
2839 return obj; 2841 return obj;
2840 } 2842 }
2841 JToken toJSON(ProvokingVertex v) { 2843 public static JToken toJSON(ProvokingVertex v) {
2842 var obj = new JObject(); 2844 var obj = new JObject();
2843 switch (v.tag) { 2845 switch (v.tag) {
2844 case ProvokingVertex.Tag.FirstVertex: 2846 case ProvokingVertex.Tag.FirstVertex:
@@ -2850,7 +2852,7 @@ namespace LambdaCube.IR {
2850 } 2852 }
2851 return obj; 2853 return obj;
2852 } 2854 }
2853 JToken toJSON(CullMode v) { 2855 public static JToken toJSON(CullMode v) {
2854 var obj = new JObject(); 2856 var obj = new JObject();
2855 switch (v.tag) { 2857 switch (v.tag) {
2856 case CullMode.Tag.CullNone: 2858 case CullMode.Tag.CullNone:
@@ -2873,7 +2875,7 @@ namespace LambdaCube.IR {
2873 } 2875 }
2874 return obj; 2876 return obj;
2875 } 2877 }
2876 JToken toJSON(ComparisonFunction v) { 2878 public static JToken toJSON(ComparisonFunction v) {
2877 var obj = new JObject(); 2879 var obj = new JObject();
2878 switch (v.tag) { 2880 switch (v.tag) {
2879 case ComparisonFunction.Tag.Never: 2881 case ComparisonFunction.Tag.Never:
@@ -2903,7 +2905,7 @@ namespace LambdaCube.IR {
2903 } 2905 }
2904 return obj; 2906 return obj;
2905 } 2907 }
2906 JToken toJSON(StencilOperation v) { 2908 public static JToken toJSON(StencilOperation v) {
2907 var obj = new JObject(); 2909 var obj = new JObject();
2908 switch (v.tag) { 2910 switch (v.tag) {
2909 case StencilOperation.Tag.OpZero: 2911 case StencilOperation.Tag.OpZero:
@@ -2933,7 +2935,7 @@ namespace LambdaCube.IR {
2933 } 2935 }
2934 return obj; 2936 return obj;
2935 } 2937 }
2936 JToken toJSON(BlendEquation v) { 2938 public static JToken toJSON(BlendEquation v) {
2937 var obj = new JObject(); 2939 var obj = new JObject();
2938 switch (v.tag) { 2940 switch (v.tag) {
2939 case BlendEquation.Tag.FuncAdd: 2941 case BlendEquation.Tag.FuncAdd:
@@ -2954,7 +2956,7 @@ namespace LambdaCube.IR {
2954 } 2956 }
2955 return obj; 2957 return obj;
2956 } 2958 }
2957 JToken toJSON(BlendingFactor v) { 2959 public static JToken toJSON(BlendingFactor v) {
2958 var obj = new JObject(); 2960 var obj = new JObject();
2959 switch (v.tag) { 2961 switch (v.tag) {
2960 case BlendingFactor.Tag.Zero: 2962 case BlendingFactor.Tag.Zero:
@@ -3005,7 +3007,7 @@ namespace LambdaCube.IR {
3005 } 3007 }
3006 return obj; 3008 return obj;
3007 } 3009 }
3008 JToken toJSON(LogicOperation v) { 3010 public static JToken toJSON(LogicOperation v) {
3009 var obj = new JObject(); 3011 var obj = new JObject();
3010 switch (v.tag) { 3012 switch (v.tag) {
3011 case LogicOperation.Tag.Clear: 3013 case LogicOperation.Tag.Clear:
@@ -3059,7 +3061,7 @@ namespace LambdaCube.IR {
3059 } 3061 }
3060 return obj; 3062 return obj;
3061 } 3063 }
3062 JToken toJSON(StencilOps v) { 3064 public static JToken toJSON(StencilOps v) {
3063 var obj = new JObject(); 3065 var obj = new JObject();
3064 switch (v.tag) { 3066 switch (v.tag) {
3065 case StencilOps.Tag.StencilOps: 3067 case StencilOps.Tag.StencilOps:
@@ -3073,7 +3075,7 @@ namespace LambdaCube.IR {
3073 } 3075 }
3074 return obj; 3076 return obj;
3075 } 3077 }
3076 JToken toJSON(StencilTest v) { 3078 public static JToken toJSON(StencilTest v) {
3077 var obj = new JObject(); 3079 var obj = new JObject();
3078 switch (v.tag) { 3080 switch (v.tag) {
3079 case StencilTest.Tag.StencilTest: 3081 case StencilTest.Tag.StencilTest:
@@ -3088,7 +3090,7 @@ namespace LambdaCube.IR {
3088 } 3090 }
3089 return obj; 3091 return obj;
3090 } 3092 }
3091 JToken toJSON(StencilTests v) { 3093 public static JToken toJSON(StencilTests v) {
3092 var obj = new JObject(); 3094 var obj = new JObject();
3093 switch (v.tag) { 3095 switch (v.tag) {
3094 case StencilTests.Tag.StencilTests: 3096 case StencilTests.Tag.StencilTests:
@@ -3102,7 +3104,7 @@ namespace LambdaCube.IR {
3102 } 3104 }
3103 return obj; 3105 return obj;
3104 } 3106 }
3105 JToken toJSON(FetchPrimitive v) { 3107 public static JToken toJSON(FetchPrimitive v) {
3106 var obj = new JObject(); 3108 var obj = new JObject();
3107 switch (v.tag) { 3109 switch (v.tag) {
3108 case FetchPrimitive.Tag.Points: 3110 case FetchPrimitive.Tag.Points:
@@ -3123,7 +3125,7 @@ namespace LambdaCube.IR {
3123 } 3125 }
3124 return obj; 3126 return obj;
3125 } 3127 }
3126 JToken toJSON(OutputPrimitive v) { 3128 public static JToken toJSON(OutputPrimitive v) {
3127 var obj = new JObject(); 3129 var obj = new JObject();
3128 switch (v.tag) { 3130 switch (v.tag) {
3129 case OutputPrimitive.Tag.TrianglesOutput: 3131 case OutputPrimitive.Tag.TrianglesOutput:
@@ -3138,7 +3140,7 @@ namespace LambdaCube.IR {
3138 } 3140 }
3139 return obj; 3141 return obj;
3140 } 3142 }
3141 JToken toJSON(ColorArity v) { 3143 public static JToken toJSON(ColorArity v) {
3142 var obj = new JObject(); 3144 var obj = new JObject();
3143 switch (v.tag) { 3145 switch (v.tag) {
3144 case ColorArity.Tag.Red: 3146 case ColorArity.Tag.Red:
@@ -3156,7 +3158,7 @@ namespace LambdaCube.IR {
3156 } 3158 }
3157 return obj; 3159 return obj;
3158 } 3160 }
3159 JToken toJSON(Blending v) { 3161 public static JToken toJSON(Blending v) {
3160 var obj = new JObject(); 3162 var obj = new JObject();
3161 switch (v.tag) { 3163 switch (v.tag) {
3162 case Blending.Tag.NoBlending: 3164 case Blending.Tag.NoBlending:
@@ -3185,7 +3187,7 @@ namespace LambdaCube.IR {
3185 } 3187 }
3186 return obj; 3188 return obj;
3187 } 3189 }
3188 JToken toJSON(RasterContext v) { 3190 public static JToken toJSON(RasterContext v) {
3189 var obj = new JObject(); 3191 var obj = new JObject();
3190 switch (v.tag) { 3192 switch (v.tag) {
3191 case RasterContext.Tag.PointCtx: 3193 case RasterContext.Tag.PointCtx:
@@ -3218,7 +3220,7 @@ namespace LambdaCube.IR {
3218 } 3220 }
3219 return obj; 3221 return obj;
3220 } 3222 }
3221 JToken toJSON(FragmentOperation v) { 3223 public static JToken toJSON(FragmentOperation v) {
3222 var obj = new JObject(); 3224 var obj = new JObject();
3223 switch (v.tag) { 3225 switch (v.tag) {
3224 case FragmentOperation.Tag.DepthOp: 3226 case FragmentOperation.Tag.DepthOp:
@@ -3249,7 +3251,7 @@ namespace LambdaCube.IR {
3249 } 3251 }
3250 return obj; 3252 return obj;
3251 } 3253 }
3252 JToken toJSON(AccumulationContext v) { 3254 public static JToken toJSON(AccumulationContext v) {
3253 var obj = new JObject(); 3255 var obj = new JObject();
3254 switch (v.tag) { 3256 switch (v.tag) {
3255 case AccumulationContext.Tag.AccumulationContext: 3257 case AccumulationContext.Tag.AccumulationContext:
@@ -3263,7 +3265,7 @@ namespace LambdaCube.IR {
3263 } 3265 }
3264 return obj; 3266 return obj;
3265 } 3267 }
3266 JToken toJSON(TextureDataType v) { 3268 public static JToken toJSON(TextureDataType v) {
3267 var obj = new JObject(); 3269 var obj = new JObject();
3268 switch (v.tag) { 3270 switch (v.tag) {
3269 case TextureDataType.Tag.FloatT: 3271 case TextureDataType.Tag.FloatT:
@@ -3293,7 +3295,7 @@ namespace LambdaCube.IR {
3293 } 3295 }
3294 return obj; 3296 return obj;
3295 } 3297 }
3296 JToken toJSON(TextureType v) { 3298 public static JToken toJSON(TextureType v) {
3297 var obj = new JObject(); 3299 var obj = new JObject();
3298 switch (v.tag) { 3300 switch (v.tag) {
3299 case TextureType.Tag.Texture1D: 3301 case TextureType.Tag.Texture1D:
@@ -3353,7 +3355,7 @@ namespace LambdaCube.IR {
3353 } 3355 }
3354 return obj; 3356 return obj;
3355 } 3357 }
3356 JToken toJSON(MipMap v) { 3358 public static JToken toJSON(MipMap v) {
3357 var obj = new JObject(); 3359 var obj = new JObject();
3358 switch (v.tag) { 3360 switch (v.tag) {
3359 case MipMap.Tag.Mip: 3361 case MipMap.Tag.Mip:
@@ -3378,7 +3380,7 @@ namespace LambdaCube.IR {
3378 } 3380 }
3379 return obj; 3381 return obj;
3380 } 3382 }
3381 JToken toJSON(Filter v) { 3383 public static JToken toJSON(Filter v) {
3382 var obj = new JObject(); 3384 var obj = new JObject();
3383 switch (v.tag) { 3385 switch (v.tag) {
3384 case Filter.Tag.Nearest: 3386 case Filter.Tag.Nearest:
@@ -3402,7 +3404,7 @@ namespace LambdaCube.IR {
3402 } 3404 }
3403 return obj; 3405 return obj;
3404 } 3406 }
3405 JToken toJSON(EdgeMode v) { 3407 public static JToken toJSON(EdgeMode v) {
3406 var obj = new JObject(); 3408 var obj = new JObject();
3407 switch (v.tag) { 3409 switch (v.tag) {
3408 case EdgeMode.Tag.Repeat: 3410 case EdgeMode.Tag.Repeat:
@@ -3420,7 +3422,7 @@ namespace LambdaCube.IR {
3420 } 3422 }
3421 return obj; 3423 return obj;
3422 } 3424 }
3423 JToken toJSON(ImageSemantic v) { 3425 public static JToken toJSON(ImageSemantic v) {
3424 var obj = new JObject(); 3426 var obj = new JObject();
3425 switch (v.tag) { 3427 switch (v.tag) {
3426 case ImageSemantic.Tag.Depth: 3428 case ImageSemantic.Tag.Depth:
@@ -3435,7 +3437,7 @@ namespace LambdaCube.IR {
3435 } 3437 }
3436 return obj; 3438 return obj;
3437 } 3439 }
3438 JToken toJSON(ImageRef v) { 3440 public static JToken toJSON(ImageRef v) {
3439 var obj = new JObject(); 3441 var obj = new JObject();
3440 switch (v.tag) { 3442 switch (v.tag) {
3441 case ImageRef.Tag.TextureImage: 3443 case ImageRef.Tag.TextureImage:
@@ -3457,7 +3459,7 @@ namespace LambdaCube.IR {
3457 } 3459 }
3458 return obj; 3460 return obj;
3459 } 3461 }
3460 JToken toJSON(ClearImage v) { 3462 public static JToken toJSON(ClearImage v) {
3461 var obj = new JObject(); 3463 var obj = new JObject();
3462 switch (v.tag) { 3464 switch (v.tag) {
3463 case ClearImage.Tag.ClearImage: 3465 case ClearImage.Tag.ClearImage:
@@ -3471,7 +3473,7 @@ namespace LambdaCube.IR {
3471 } 3473 }
3472 return obj; 3474 return obj;
3473 } 3475 }
3474 JToken toJSON(Command v) { 3476 public static JToken toJSON(Command v) {
3475 var obj = new JObject(); 3477 var obj = new JObject();
3476 switch (v.tag) { 3478 switch (v.tag) {
3477 case Command.Tag.SetRasterContext: 3479 case Command.Tag.SetRasterContext:
@@ -3573,7 +3575,7 @@ namespace LambdaCube.IR {
3573 } 3575 }
3574 return obj; 3576 return obj;
3575 } 3577 }
3576 JToken toJSON(SamplerDescriptor v) { 3578 public static JToken toJSON(SamplerDescriptor v) {
3577 var obj = new JObject(); 3579 var obj = new JObject();
3578 switch (v.tag) { 3580 switch (v.tag) {
3579 case SamplerDescriptor.Tag.SamplerDescriptor: 3581 case SamplerDescriptor.Tag.SamplerDescriptor:
@@ -3595,7 +3597,7 @@ namespace LambdaCube.IR {
3595 } 3597 }
3596 return obj; 3598 return obj;
3597 } 3599 }
3598 JToken toJSON(TextureDescriptor v) { 3600 public static JToken toJSON(TextureDescriptor v) {
3599 var obj = new JObject(); 3601 var obj = new JObject();
3600 switch (v.tag) { 3602 switch (v.tag) {
3601 case TextureDescriptor.Tag.TextureDescriptor: 3603 case TextureDescriptor.Tag.TextureDescriptor:
@@ -3613,7 +3615,7 @@ namespace LambdaCube.IR {
3613 } 3615 }
3614 return obj; 3616 return obj;
3615 } 3617 }
3616 JToken toJSON(Parameter v) { 3618 public static JToken toJSON(Parameter v) {
3617 var obj = new JObject(); 3619 var obj = new JObject();
3618 switch (v.tag) { 3620 switch (v.tag) {
3619 case Parameter.Tag.Parameter: 3621 case Parameter.Tag.Parameter:
@@ -3627,7 +3629,7 @@ namespace LambdaCube.IR {
3627 } 3629 }
3628 return obj; 3630 return obj;
3629 } 3631 }
3630 JToken toJSON(Program v) { 3632 public static JToken toJSON(Program v) {
3631 var obj = new JObject(); 3633 var obj = new JObject();
3632 switch (v.tag) { 3634 switch (v.tag) {
3633 case Program.Tag.Program: 3635 case Program.Tag.Program:
@@ -3646,7 +3648,7 @@ namespace LambdaCube.IR {
3646 } 3648 }
3647 return obj; 3649 return obj;
3648 } 3650 }
3649 JToken toJSON(Slot v) { 3651 public static JToken toJSON(Slot v) {
3650 var obj = new JObject(); 3652 var obj = new JObject();
3651 switch (v.tag) { 3653 switch (v.tag) {
3652 case Slot.Tag.Slot: 3654 case Slot.Tag.Slot:
@@ -3663,7 +3665,7 @@ namespace LambdaCube.IR {
3663 } 3665 }
3664 return obj; 3666 return obj;
3665 } 3667 }
3666 JToken toJSON(StreamData v) { 3668 public static JToken toJSON(StreamData v) {
3667 var obj = new JObject(); 3669 var obj = new JObject();
3668 switch (v.tag) { 3670 switch (v.tag) {
3669 case StreamData.Tag.StreamData: 3671 case StreamData.Tag.StreamData:
@@ -3679,7 +3681,7 @@ namespace LambdaCube.IR {
3679 } 3681 }
3680 return obj; 3682 return obj;
3681 } 3683 }
3682 JToken toJSON(TargetItem v) { 3684 public static JToken toJSON(TargetItem v) {
3683 var obj = new JObject(); 3685 var obj = new JObject();
3684 switch (v.tag) { 3686 switch (v.tag) {
3685 case TargetItem.Tag.TargetItem: 3687 case TargetItem.Tag.TargetItem:
@@ -3693,7 +3695,7 @@ namespace LambdaCube.IR {
3693 } 3695 }
3694 return obj; 3696 return obj;
3695 } 3697 }
3696 JToken toJSON(RenderTarget v) { 3698 public static JToken toJSON(RenderTarget v) {
3697 var obj = new JObject(); 3699 var obj = new JObject();
3698 switch (v.tag) { 3700 switch (v.tag) {
3699 case RenderTarget.Tag.RenderTarget: 3701 case RenderTarget.Tag.RenderTarget:
@@ -3706,7 +3708,7 @@ namespace LambdaCube.IR {
3706 } 3708 }
3707 return obj; 3709 return obj;
3708 } 3710 }
3709 JToken toJSON(Backend v) { 3711 public static JToken toJSON(Backend v) {
3710 var obj = new JObject(); 3712 var obj = new JObject();
3711 switch (v.tag) { 3713 switch (v.tag) {
3712 case Backend.Tag.WebGL1: 3714 case Backend.Tag.WebGL1:
@@ -3715,10 +3717,13 @@ namespace LambdaCube.IR {
3715 case Backend.Tag.OpenGL33: 3717 case Backend.Tag.OpenGL33:
3716 obj["tag"] = "OpenGL33"; 3718 obj["tag"] = "OpenGL33";
3717 break; 3719 break;
3720 case Backend.Tag.DirectX11:
3721 obj["tag"] = "DirectX11";
3722 break;
3718 } 3723 }
3719 return obj; 3724 return obj;
3720 } 3725 }
3721 JToken toJSON(Pipeline v) { 3726 public static JToken toJSON(Pipeline v) {
3722 var obj = new JObject(); 3727 var obj = new JObject();
3723 switch (v.tag) { 3728 switch (v.tag) {
3724 case Pipeline.Tag.Pipeline: 3729 case Pipeline.Tag.Pipeline:
@@ -3740,103 +3745,103 @@ namespace LambdaCube.IR {
3740 return obj; 3745 return obj;
3741 } 3746 }
3742 3747
3743 JToken toJSON(int v) { return new JValue(v); } 3748 public static JToken toJSON(int v) { return new JValue(v); }
3744 JToken toJSON(uint v) { return new JValue(v); } 3749 public static JToken toJSON(uint v) { return new JValue(v); }
3745 JToken toJSON(float v) { return new JValue(v); } 3750 public static JToken toJSON(float v) { return new JValue(v); }
3746 JToken toJSON(bool v) { return new JValue(v); } 3751 public static JToken toJSON(bool v) { return new JValue(v); }
3747 JToken toJSON(string v) { return new JValue(v); } 3752 public static JToken toJSON(string v) { return new JValue(v); }
3748 JToken toJSON(V2<int> v) { 3753 public static JToken toJSON(V2<int> v) {
3749 var obj = new JObject(); 3754 var obj = new JObject();
3750 obj["x"] = toJSON(v.x); 3755 obj["x"] = toJSON(v.x);
3751 obj["y"] = toJSON(v.y); 3756 obj["y"] = toJSON(v.y);
3752 return obj; 3757 return obj;
3753 } 3758 }
3754 JToken toJSON(V2<uint> v) { 3759 public static JToken toJSON(V2<uint> v) {
3755 var obj = new JObject(); 3760 var obj = new JObject();
3756 obj["x"] = toJSON(v.x); 3761 obj["x"] = toJSON(v.x);
3757 obj["y"] = toJSON(v.y); 3762 obj["y"] = toJSON(v.y);
3758 return obj; 3763 return obj;
3759 } 3764 }
3760 JToken toJSON(V2<float> v) { 3765 public static JToken toJSON(V2<float> v) {
3761 var obj = new JObject(); 3766 var obj = new JObject();
3762 obj["x"] = toJSON(v.x); 3767 obj["x"] = toJSON(v.x);
3763 obj["y"] = toJSON(v.y); 3768 obj["y"] = toJSON(v.y);
3764 return obj; 3769 return obj;
3765 } 3770 }
3766 JToken toJSON(V2<bool> v) { 3771 public static JToken toJSON(V2<bool> v) {
3767 var obj = new JObject(); 3772 var obj = new JObject();
3768 obj["x"] = toJSON(v.x); 3773 obj["x"] = toJSON(v.x);
3769 obj["y"] = toJSON(v.y); 3774 obj["y"] = toJSON(v.y);
3770 return obj; 3775 return obj;
3771 } 3776 }
3772 JToken toJSON(V2<V2<float>> v) { 3777 public static JToken toJSON(V2<V2<float>> v) {
3773 var obj = new JObject(); 3778 var obj = new JObject();
3774 obj["x"] = toJSON(v.x); 3779 obj["x"] = toJSON(v.x);
3775 obj["y"] = toJSON(v.y); 3780 obj["y"] = toJSON(v.y);
3776 return obj; 3781 return obj;
3777 } 3782 }
3778 JToken toJSON(V2<V3<float>> v) { 3783 public static JToken toJSON(V2<V3<float>> v) {
3779 var obj = new JObject(); 3784 var obj = new JObject();
3780 obj["x"] = toJSON(v.x); 3785 obj["x"] = toJSON(v.x);
3781 obj["y"] = toJSON(v.y); 3786 obj["y"] = toJSON(v.y);
3782 return obj; 3787 return obj;
3783 } 3788 }
3784 JToken toJSON(V2<V4<float>> v) { 3789 public static JToken toJSON(V2<V4<float>> v) {
3785 var obj = new JObject(); 3790 var obj = new JObject();
3786 obj["x"] = toJSON(v.x); 3791 obj["x"] = toJSON(v.x);
3787 obj["y"] = toJSON(v.y); 3792 obj["y"] = toJSON(v.y);
3788 return obj; 3793 return obj;
3789 } 3794 }
3790 JToken toJSON(V3<int> v) { 3795 public static JToken toJSON(V3<int> v) {
3791 var obj = new JObject(); 3796 var obj = new JObject();
3792 obj["x"] = toJSON(v.x); 3797 obj["x"] = toJSON(v.x);
3793 obj["y"] = toJSON(v.y); 3798 obj["y"] = toJSON(v.y);
3794 obj["z"] = toJSON(v.z); 3799 obj["z"] = toJSON(v.z);
3795 return obj; 3800 return obj;
3796 } 3801 }
3797 JToken toJSON(V3<uint> v) { 3802 public static JToken toJSON(V3<uint> v) {
3798 var obj = new JObject(); 3803 var obj = new JObject();
3799 obj["x"] = toJSON(v.x); 3804 obj["x"] = toJSON(v.x);
3800 obj["y"] = toJSON(v.y); 3805 obj["y"] = toJSON(v.y);
3801 obj["z"] = toJSON(v.z); 3806 obj["z"] = toJSON(v.z);
3802 return obj; 3807 return obj;
3803 } 3808 }
3804 JToken toJSON(V3<float> v) { 3809 public static JToken toJSON(V3<float> v) {
3805 var obj = new JObject(); 3810 var obj = new JObject();
3806 obj["x"] = toJSON(v.x); 3811 obj["x"] = toJSON(v.x);
3807 obj["y"] = toJSON(v.y); 3812 obj["y"] = toJSON(v.y);
3808 obj["z"] = toJSON(v.z); 3813 obj["z"] = toJSON(v.z);
3809 return obj; 3814 return obj;
3810 } 3815 }
3811 JToken toJSON(V3<bool> v) { 3816 public static JToken toJSON(V3<bool> v) {
3812 var obj = new JObject(); 3817 var obj = new JObject();
3813 obj["x"] = toJSON(v.x); 3818 obj["x"] = toJSON(v.x);
3814 obj["y"] = toJSON(v.y); 3819 obj["y"] = toJSON(v.y);
3815 obj["z"] = toJSON(v.z); 3820 obj["z"] = toJSON(v.z);
3816 return obj; 3821 return obj;
3817 } 3822 }
3818 JToken toJSON(V3<V2<float>> v) { 3823 public static JToken toJSON(V3<V2<float>> v) {
3819 var obj = new JObject(); 3824 var obj = new JObject();
3820 obj["x"] = toJSON(v.x); 3825 obj["x"] = toJSON(v.x);
3821 obj["y"] = toJSON(v.y); 3826 obj["y"] = toJSON(v.y);
3822 obj["z"] = toJSON(v.z); 3827 obj["z"] = toJSON(v.z);
3823 return obj; 3828 return obj;
3824 } 3829 }
3825 JToken toJSON(V3<V3<float>> v) { 3830 public static JToken toJSON(V3<V3<float>> v) {
3826 var obj = new JObject(); 3831 var obj = new JObject();
3827 obj["x"] = toJSON(v.x); 3832 obj["x"] = toJSON(v.x);
3828 obj["y"] = toJSON(v.y); 3833 obj["y"] = toJSON(v.y);
3829 obj["z"] = toJSON(v.z); 3834 obj["z"] = toJSON(v.z);
3830 return obj; 3835 return obj;
3831 } 3836 }
3832 JToken toJSON(V3<V4<float>> v) { 3837 public static JToken toJSON(V3<V4<float>> v) {
3833 var obj = new JObject(); 3838 var obj = new JObject();
3834 obj["x"] = toJSON(v.x); 3839 obj["x"] = toJSON(v.x);
3835 obj["y"] = toJSON(v.y); 3840 obj["y"] = toJSON(v.y);
3836 obj["z"] = toJSON(v.z); 3841 obj["z"] = toJSON(v.z);
3837 return obj; 3842 return obj;
3838 } 3843 }
3839 JToken toJSON(V4<int> v) { 3844 public static JToken toJSON(V4<int> v) {
3840 var obj = new JObject(); 3845 var obj = new JObject();
3841 obj["x"] = toJSON(v.x); 3846 obj["x"] = toJSON(v.x);
3842 obj["y"] = toJSON(v.y); 3847 obj["y"] = toJSON(v.y);
@@ -3844,7 +3849,7 @@ namespace LambdaCube.IR {
3844 obj["w"] = toJSON(v.w); 3849 obj["w"] = toJSON(v.w);
3845 return obj; 3850 return obj;
3846 } 3851 }
3847 JToken toJSON(V4<uint> v) { 3852 public static JToken toJSON(V4<uint> v) {
3848 var obj = new JObject(); 3853 var obj = new JObject();
3849 obj["x"] = toJSON(v.x); 3854 obj["x"] = toJSON(v.x);
3850 obj["y"] = toJSON(v.y); 3855 obj["y"] = toJSON(v.y);
@@ -3852,7 +3857,7 @@ namespace LambdaCube.IR {
3852 obj["w"] = toJSON(v.w); 3857 obj["w"] = toJSON(v.w);
3853 return obj; 3858 return obj;
3854 } 3859 }
3855 JToken toJSON(V4<float> v) { 3860 public static JToken toJSON(V4<float> v) {
3856 var obj = new JObject(); 3861 var obj = new JObject();
3857 obj["x"] = toJSON(v.x); 3862 obj["x"] = toJSON(v.x);
3858 obj["y"] = toJSON(v.y); 3863 obj["y"] = toJSON(v.y);
@@ -3860,7 +3865,7 @@ namespace LambdaCube.IR {
3860 obj["w"] = toJSON(v.w); 3865 obj["w"] = toJSON(v.w);
3861 return obj; 3866 return obj;
3862 } 3867 }
3863 JToken toJSON(V4<bool> v) { 3868 public static JToken toJSON(V4<bool> v) {
3864 var obj = new JObject(); 3869 var obj = new JObject();
3865 obj["x"] = toJSON(v.x); 3870 obj["x"] = toJSON(v.x);
3866 obj["y"] = toJSON(v.y); 3871 obj["y"] = toJSON(v.y);
@@ -3868,7 +3873,7 @@ namespace LambdaCube.IR {
3868 obj["w"] = toJSON(v.w); 3873 obj["w"] = toJSON(v.w);
3869 return obj; 3874 return obj;
3870 } 3875 }
3871 JToken toJSON(V4<V2<float>> v) { 3876 public static JToken toJSON(V4<V2<float>> v) {
3872 var obj = new JObject(); 3877 var obj = new JObject();
3873 obj["x"] = toJSON(v.x); 3878 obj["x"] = toJSON(v.x);
3874 obj["y"] = toJSON(v.y); 3879 obj["y"] = toJSON(v.y);
@@ -3876,7 +3881,7 @@ namespace LambdaCube.IR {
3876 obj["w"] = toJSON(v.w); 3881 obj["w"] = toJSON(v.w);
3877 return obj; 3882 return obj;
3878 } 3883 }
3879 JToken toJSON(V4<V3<float>> v) { 3884 public static JToken toJSON(V4<V3<float>> v) {
3880 var obj = new JObject(); 3885 var obj = new JObject();
3881 obj["x"] = toJSON(v.x); 3886 obj["x"] = toJSON(v.x);
3882 obj["y"] = toJSON(v.y); 3887 obj["y"] = toJSON(v.y);
@@ -3884,7 +3889,7 @@ namespace LambdaCube.IR {
3884 obj["w"] = toJSON(v.w); 3889 obj["w"] = toJSON(v.w);
3885 return obj; 3890 return obj;
3886 } 3891 }
3887 JToken toJSON(V4<V4<float>> v) { 3892 public static JToken toJSON(V4<V4<float>> v) {
3888 var obj = new JObject(); 3893 var obj = new JObject();
3889 obj["x"] = toJSON(v.x); 3894 obj["x"] = toJSON(v.x);
3890 obj["y"] = toJSON(v.y); 3895 obj["y"] = toJSON(v.y);
@@ -3892,162 +3897,162 @@ namespace LambdaCube.IR {
3892 obj["w"] = toJSON(v.w); 3897 obj["w"] = toJSON(v.w);
3893 return obj; 3898 return obj;
3894 } 3899 }
3895 JToken toJSON(List<int> v) { 3900 public static JToken toJSON(List<int> v) {
3896 var obj = new JArray(); 3901 var obj = new JArray();
3897 foreach (var i in v) { 3902 foreach (var i in v) {
3898 obj.Add(toJSON(i)); 3903 obj.Add(toJSON(i));
3899 } 3904 }
3900 return obj; 3905 return obj;
3901 } 3906 }
3902 JToken toJSON(List<uint> v) { 3907 public static JToken toJSON(List<uint> v) {
3903 var obj = new JArray(); 3908 var obj = new JArray();
3904 foreach (var i in v) { 3909 foreach (var i in v) {
3905 obj.Add(toJSON(i)); 3910 obj.Add(toJSON(i));
3906 } 3911 }
3907 return obj; 3912 return obj;
3908 } 3913 }
3909 JToken toJSON(List<float> v) { 3914 public static JToken toJSON(List<float> v) {
3910 var obj = new JArray(); 3915 var obj = new JArray();
3911 foreach (var i in v) { 3916 foreach (var i in v) {
3912 obj.Add(toJSON(i)); 3917 obj.Add(toJSON(i));
3913 } 3918 }
3914 return obj; 3919 return obj;
3915 } 3920 }
3916 JToken toJSON(List<bool> v) { 3921 public static JToken toJSON(List<bool> v) {
3917 var obj = new JArray(); 3922 var obj = new JArray();
3918 foreach (var i in v) { 3923 foreach (var i in v) {
3919 obj.Add(toJSON(i)); 3924 obj.Add(toJSON(i));
3920 } 3925 }
3921 return obj; 3926 return obj;
3922 } 3927 }
3923 JToken toJSON(List<global::LambdaCube.IR.ClearImage> v) { 3928 public static JToken toJSON(List<global::LambdaCube.IR.ClearImage> v) {
3924 var obj = new JArray(); 3929 var obj = new JArray();
3925 foreach (var i in v) { 3930 foreach (var i in v) {
3926 obj.Add(toJSON(i)); 3931 obj.Add(toJSON(i));
3927 } 3932 }
3928 return obj; 3933 return obj;
3929 } 3934 }
3930 JToken toJSON(List<global::LambdaCube.IR.Command> v) { 3935 public static JToken toJSON(List<global::LambdaCube.IR.Command> v) {
3931 var obj = new JArray(); 3936 var obj = new JArray();
3932 foreach (var i in v) { 3937 foreach (var i in v) {
3933 obj.Add(toJSON(i)); 3938 obj.Add(toJSON(i));
3934 } 3939 }
3935 return obj; 3940 return obj;
3936 } 3941 }
3937 JToken toJSON(List<global::LambdaCube.IR.Parameter> v) { 3942 public static JToken toJSON(List<global::LambdaCube.IR.Parameter> v) {
3938 var obj = new JArray(); 3943 var obj = new JArray();
3939 foreach (var i in v) { 3944 foreach (var i in v) {
3940 obj.Add(toJSON(i)); 3945 obj.Add(toJSON(i));
3941 } 3946 }
3942 return obj; 3947 return obj;
3943 } 3948 }
3944 JToken toJSON(List<global::LambdaCube.IR.Program> v) { 3949 public static JToken toJSON(List<global::LambdaCube.IR.Program> v) {
3945 var obj = new JArray(); 3950 var obj = new JArray();
3946 foreach (var i in v) { 3951 foreach (var i in v) {
3947 obj.Add(toJSON(i)); 3952 obj.Add(toJSON(i));
3948 } 3953 }
3949 return obj; 3954 return obj;
3950 } 3955 }
3951 JToken toJSON(List<global::LambdaCube.IR.RenderTarget> v) { 3956 public static JToken toJSON(List<global::LambdaCube.IR.RenderTarget> v) {
3952 var obj = new JArray(); 3957 var obj = new JArray();
3953 foreach (var i in v) { 3958 foreach (var i in v) {
3954 obj.Add(toJSON(i)); 3959 obj.Add(toJSON(i));
3955 } 3960 }
3956 return obj; 3961 return obj;
3957 } 3962 }
3958 JToken toJSON(List<global::LambdaCube.IR.SamplerDescriptor> v) { 3963 public static JToken toJSON(List<global::LambdaCube.IR.SamplerDescriptor> v) {
3959 var obj = new JArray(); 3964 var obj = new JArray();
3960 foreach (var i in v) { 3965 foreach (var i in v) {
3961 obj.Add(toJSON(i)); 3966 obj.Add(toJSON(i));
3962 } 3967 }
3963 return obj; 3968 return obj;
3964 } 3969 }
3965 JToken toJSON(List<global::LambdaCube.IR.Slot> v) { 3970 public static JToken toJSON(List<global::LambdaCube.IR.Slot> v) {
3966 var obj = new JArray(); 3971 var obj = new JArray();
3967 foreach (var i in v) { 3972 foreach (var i in v) {
3968 obj.Add(toJSON(i)); 3973 obj.Add(toJSON(i));
3969 } 3974 }
3970 return obj; 3975 return obj;
3971 } 3976 }
3972 JToken toJSON(List<global::LambdaCube.IR.StreamData> v) { 3977 public static JToken toJSON(List<global::LambdaCube.IR.StreamData> v) {
3973 var obj = new JArray(); 3978 var obj = new JArray();
3974 foreach (var i in v) { 3979 foreach (var i in v) {
3975 obj.Add(toJSON(i)); 3980 obj.Add(toJSON(i));
3976 } 3981 }
3977 return obj; 3982 return obj;
3978 } 3983 }
3979 JToken toJSON(List<global::LambdaCube.IR.TargetItem> v) { 3984 public static JToken toJSON(List<global::LambdaCube.IR.TargetItem> v) {
3980 var obj = new JArray(); 3985 var obj = new JArray();
3981 foreach (var i in v) { 3986 foreach (var i in v) {
3982 obj.Add(toJSON(i)); 3987 obj.Add(toJSON(i));
3983 } 3988 }
3984 return obj; 3989 return obj;
3985 } 3990 }
3986 JToken toJSON(List<global::LambdaCube.IR.TextureDescriptor> v) { 3991 public static JToken toJSON(List<global::LambdaCube.IR.TextureDescriptor> v) {
3987 var obj = new JArray(); 3992 var obj = new JArray();
3988 foreach (var i in v) { 3993 foreach (var i in v) {
3989 obj.Add(toJSON(i)); 3994 obj.Add(toJSON(i));
3990 } 3995 }
3991 return obj; 3996 return obj;
3992 } 3997 }
3993 JToken toJSON(List<global::LambdaCube.IR.FragmentOperation> v) { 3998 public static JToken toJSON(List<global::LambdaCube.IR.FragmentOperation> v) {
3994 var obj = new JArray(); 3999 var obj = new JArray();
3995 foreach (var i in v) { 4000 foreach (var i in v) {
3996 obj.Add(toJSON(i)); 4001 obj.Add(toJSON(i));
3997 } 4002 }
3998 return obj; 4003 return obj;
3999 } 4004 }
4000 JToken toJSON(Maybe<int> v) { 4005 public static JToken toJSON(Maybe<int> v) {
4001 if (v.valid) { 4006 if (v.valid) {
4002 return toJSON(v.data); 4007 return toJSON(v.data);
4003 } 4008 }
4004 return new JValue((string)null); 4009 return new JValue((string)null);
4005 } 4010 }
4006 JToken toJSON(Maybe<float> v) { 4011 public static JToken toJSON(Maybe<float> v) {
4007 if (v.valid) { 4012 if (v.valid) {
4008 return toJSON(v.data); 4013 return toJSON(v.data);
4009 } 4014 }
4010 return new JValue((string)null); 4015 return new JValue((string)null);
4011 } 4016 }
4012 JToken toJSON(Maybe<string> v) { 4017 public static JToken toJSON(Maybe<string> v) {
4013 if (v.valid) { 4018 if (v.valid) {
4014 return toJSON(v.data); 4019 return toJSON(v.data);
4015 } 4020 }
4016 return new JValue((string)null); 4021 return new JValue((string)null);
4017 } 4022 }
4018 JToken toJSON(Maybe<global::LambdaCube.IR.ComparisonFunction> v) { 4023 public static JToken toJSON(Maybe<global::LambdaCube.IR.ComparisonFunction> v) {
4019 if (v.valid) { 4024 if (v.valid) {
4020 return toJSON(v.data); 4025 return toJSON(v.data);
4021 } 4026 }
4022 return new JValue((string)null); 4027 return new JValue((string)null);
4023 } 4028 }
4024 JToken toJSON(Maybe<global::LambdaCube.IR.EdgeMode> v) { 4029 public static JToken toJSON(Maybe<global::LambdaCube.IR.EdgeMode> v) {
4025 if (v.valid) { 4030 if (v.valid) {
4026 return toJSON(v.data); 4031 return toJSON(v.data);
4027 } 4032 }
4028 return new JValue((string)null); 4033 return new JValue((string)null);
4029 } 4034 }
4030 JToken toJSON(Maybe<global::LambdaCube.IR.ImageRef> v) { 4035 public static JToken toJSON(Maybe<global::LambdaCube.IR.ImageRef> v) {
4031 if (v.valid) { 4036 if (v.valid) {
4032 return toJSON(v.data); 4037 return toJSON(v.data);
4033 } 4038 }
4034 return new JValue((string)null); 4039 return new JValue((string)null);
4035 } 4040 }
4036 JToken toJSON(Dictionary<string, global::LambdaCube.IR.ArrayValue> v) { 4041 public static JToken toJSON(Dictionary<string, global::LambdaCube.IR.ArrayValue> v) {
4037 var obj = new JObject(); 4042 var obj = new JObject();
4038 foreach (var i in v) { 4043 foreach (var i in v) {
4039 obj[i.Key] = toJSON(i.Value); 4044 obj[i.Key] = toJSON(i.Value);
4040 } 4045 }
4041 return obj; 4046 return obj;
4042 } 4047 }
4043 JToken toJSON(Dictionary<string, global::LambdaCube.IR.InputType> v) { 4048 public static JToken toJSON(Dictionary<string, global::LambdaCube.IR.InputType> v) {
4044 var obj = new JObject(); 4049 var obj = new JObject();
4045 foreach (var i in v) { 4050 foreach (var i in v) {
4046 obj[i.Key] = toJSON(i.Value); 4051 obj[i.Key] = toJSON(i.Value);
4047 } 4052 }
4048 return obj; 4053 return obj;
4049 } 4054 }
4050 JToken toJSON(Dictionary<string, global::LambdaCube.IR.Parameter> v) { 4055 public static JToken toJSON(Dictionary<string, global::LambdaCube.IR.Parameter> v) {
4051 var obj = new JObject(); 4056 var obj = new JObject();
4052 foreach (var i in v) { 4057 foreach (var i in v) {
4053 obj[i.Key] = toJSON(i.Value); 4058 obj[i.Key] = toJSON(i.Value);
diff --git a/ddl/out/LambdaCube.IR.hpp b/ddl/out/LambdaCube.IR.hpp
index a4d9509..1b44efe 100644
--- a/ddl/out/LambdaCube.IR.hpp
+++ b/ddl/out/LambdaCube.IR.hpp
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-03-21T15:32:16.153401000000Z 2// 2016-03-27T21:14:11.531713000000Z
3 3
4#ifndef HEADER_LambdaCube.IR_H 4#ifndef HEADER_LambdaCube.IR_H
5#define HEADER_LambdaCube.IR_H 5#define HEADER_LambdaCube.IR_H
@@ -1042,7 +1042,8 @@ class Backend {
1042 public: 1042 public:
1043 enum class tag { 1043 enum class tag {
1044 WebGL1, 1044 WebGL1,
1045 OpenGL33 1045 OpenGL33,
1046 DirectX11
1046 } tag; 1047 } tag;
1047}; 1048};
1048namespace data { 1049namespace data {
diff --git a/ddl/out/LambdaCube.IR.hs b/ddl/out/LambdaCube.IR.hs
index 341acae..2a9b6e6 100644
--- a/ddl/out/LambdaCube.IR.hs
+++ b/ddl/out/LambdaCube.IR.hs
@@ -1,5 +1,5 @@
1-- generated file, do not modify! 1-- generated file, do not modify!
2-- 2016-03-21T15:32:16.153401000000Z 2-- 2016-03-27T21:14:11.531713000000Z
3 3
4{-# LANGUAGE OverloadedStrings, RecordWildCards #-} 4{-# LANGUAGE OverloadedStrings, RecordWildCards #-}
5module LambdaCube.IR where 5module LambdaCube.IR where
@@ -480,6 +480,7 @@ data RenderTarget
480data Backend 480data Backend
481 = WebGL1 481 = WebGL1
482 | OpenGL33 482 | OpenGL33
483 | DirectX11
483 deriving (Show, Eq, Ord) 484 deriving (Show, Eq, Ord)
484 485
485data Pipeline 486data Pipeline
@@ -1559,6 +1560,7 @@ instance ToJSON Backend where
1559 toJSON v = case v of 1560 toJSON v = case v of
1560 WebGL1 -> object [ "tag" .= ("WebGL1" :: Text)] 1561 WebGL1 -> object [ "tag" .= ("WebGL1" :: Text)]
1561 OpenGL33 -> object [ "tag" .= ("OpenGL33" :: Text)] 1562 OpenGL33 -> object [ "tag" .= ("OpenGL33" :: Text)]
1563 DirectX11 -> object [ "tag" .= ("DirectX11" :: Text)]
1562 1564
1563instance FromJSON Backend where 1565instance FromJSON Backend where
1564 parseJSON (Object obj) = do 1566 parseJSON (Object obj) = do
@@ -1566,6 +1568,7 @@ instance FromJSON Backend where
1566 case tag :: Text of 1568 case tag :: Text of
1567 "WebGL1" -> pure WebGL1 1569 "WebGL1" -> pure WebGL1
1568 "OpenGL33" -> pure OpenGL33 1570 "OpenGL33" -> pure OpenGL33
1571 "DirectX11" -> pure DirectX11
1569 parseJSON _ = mzero 1572 parseJSON _ = mzero
1570 1573
1571instance ToJSON Pipeline where 1574instance ToJSON Pipeline where
diff --git a/ddl/out/LambdaCube.IR.purs b/ddl/out/LambdaCube.IR.purs
index 8149d3e..7a2a693 100644
--- a/ddl/out/LambdaCube.IR.purs
+++ b/ddl/out/LambdaCube.IR.purs
@@ -1,5 +1,5 @@
1-- generated file, do not modify! 1-- generated file, do not modify!
2-- 2016-03-21T15:32:16.153401000000Z 2-- 2016-03-27T21:14:11.531713000000Z
3 3
4module LambdaCube.IR where 4module LambdaCube.IR where
5import Prelude 5import Prelude
@@ -439,6 +439,7 @@ data RenderTarget
439data Backend 439data Backend
440 = WebGL1 440 = WebGL1
441 | OpenGL33 441 | OpenGL33
442 | DirectX11
442 443
443data Pipeline 444data Pipeline
444 = Pipeline 445 = Pipeline
@@ -1541,6 +1542,7 @@ instance encodeJsonBackend :: EncodeJson Backend where
1541 encodeJson v = case v of 1542 encodeJson v = case v of
1542 WebGL1 -> "tag" := "WebGL1" ~> jsonEmptyObject 1543 WebGL1 -> "tag" := "WebGL1" ~> jsonEmptyObject
1543 OpenGL33 -> "tag" := "OpenGL33" ~> jsonEmptyObject 1544 OpenGL33 -> "tag" := "OpenGL33" ~> jsonEmptyObject
1545 DirectX11 -> "tag" := "DirectX11" ~> jsonEmptyObject
1544 1546
1545instance decodeJsonBackend :: DecodeJson Backend where 1547instance decodeJsonBackend :: DecodeJson Backend where
1546 decodeJson json = do 1548 decodeJson json = do
@@ -1549,6 +1551,7 @@ instance decodeJsonBackend :: DecodeJson Backend where
1549 case tag of 1551 case tag of
1550 "WebGL1" -> pure WebGL1 1552 "WebGL1" -> pure WebGL1
1551 "OpenGL33" -> pure OpenGL33 1553 "OpenGL33" -> pure OpenGL33
1554 "DirectX11" -> pure DirectX11
1552 1555
1553instance encodeJsonPipeline :: EncodeJson Pipeline where 1556instance encodeJsonPipeline :: EncodeJson Pipeline where
1554 encodeJson v = case v of 1557 encodeJson v = case v of
diff --git a/ddl/out/LambdaCube.IR.swift b/ddl/out/LambdaCube.IR.swift
index e96d7d4..adf4a68 100644
--- a/ddl/out/LambdaCube.IR.swift
+++ b/ddl/out/LambdaCube.IR.swift
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-03-21T15:32:16.153401000000Z 2// 2016-03-27T21:14:11.531713000000Z
3 3
4typealias StreamName = Int 4typealias StreamName = Int
5 5
@@ -465,6 +465,7 @@ enum RenderTarget {
465enum Backend { 465enum Backend {
466 case WebGL1 466 case WebGL1
467 case OpenGL33 467 case OpenGL33
468 case DirectX11
468} 469}
469 470
470enum Pipeline { 471enum Pipeline {
@@ -1329,6 +1330,8 @@ extension Backend {
1329 return [ "tag" : "WebGL1"] 1330 return [ "tag" : "WebGL1"]
1330 case .OpenGL33: 1331 case .OpenGL33:
1331 return [ "tag" : "OpenGL33"] 1332 return [ "tag" : "OpenGL33"]
1333 case .DirectX11:
1334 return [ "tag" : "DirectX11"]
1332 } 1335 }
1333 } 1336 }
1334} 1337}
diff --git a/ddl/out/LambdaCube.IR2.hpp b/ddl/out/LambdaCube.IR2.hpp
index 7b10b75..703c510 100644
--- a/ddl/out/LambdaCube.IR2.hpp
+++ b/ddl/out/LambdaCube.IR2.hpp
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-03-21T15:32:16.153401000000Z 2// 2016-03-27T21:14:11.531713000000Z
3 3
4#ifndef HEADER_LambdaCube.IR_H 4#ifndef HEADER_LambdaCube.IR_H
5#define HEADER_LambdaCube.IR_H 5#define HEADER_LambdaCube.IR_H
@@ -1044,7 +1044,8 @@ class Backend {
1044public: 1044public:
1045 enum class tag { 1045 enum class tag {
1046 WebGL1, 1046 WebGL1,
1047 OpenGL33 1047 OpenGL33,
1048 DirectX11
1048 } tag; 1049 } tag;
1049}; 1050};
1050namespace data { 1051namespace data {
diff --git a/ddl/out/LambdaCube.Mesh.cpp b/ddl/out/LambdaCube.Mesh.cpp
index 3b2f266..16eb41f 100644
--- a/ddl/out/LambdaCube.Mesh.cpp
+++ b/ddl/out/LambdaCube.Mesh.cpp
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-03-21T15:32:17.804995000000Z 2// 2016-03-27T21:14:12.377390000000Z
3 3
4#include "LambdaCube.Mesh.hpp" 4#include "LambdaCube.Mesh.hpp"
5template<> json toJSON<std::shared_ptr<MeshAttribute>>(std::shared_ptr<MeshAttribute> &v) { 5template<> json toJSON<std::shared_ptr<MeshAttribute>>(std::shared_ptr<MeshAttribute> &v) {
diff --git a/ddl/out/LambdaCube.Mesh.cs b/ddl/out/LambdaCube.Mesh.cs
index 20a0f7b..af22144 100644
--- a/ddl/out/LambdaCube.Mesh.cs
+++ b/ddl/out/LambdaCube.Mesh.cs
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-03-21T15:32:17.804995000000Z 2// 2016-03-27T21:14:12.377390000000Z
3 3
4using System; 4using System;
5using System.Linq; 5using System.Linq;
@@ -167,15 +167,15 @@ namespace LambdaCube.Mesh {
167 , z = (V4<float>)fromJSON(Type.V4_Float,obj["z"]) 167 , z = (V4<float>)fromJSON(Type.V4_Float,obj["z"])
168 , w = (V4<float>)fromJSON(Type.V4_Float,obj["w"]) 168 , w = (V4<float>)fromJSON(Type.V4_Float,obj["w"])
169 }; 169 };
170 case Type.Array_Int32: return ((JArray)obj).Select(x => fromJSON (Type.Int32, x)).ToList(); 170 case Type.Array_Int32: return ((JArray)obj).Select(x => (int)fromJSON (Type.Int32, x)).ToList();
171 case Type.Array_Word32: return ((JArray)obj).Select(x => fromJSON (Type.Word32, x)).ToList(); 171 case Type.Array_Word32: return ((JArray)obj).Select(x => (uint)fromJSON (Type.Word32, x)).ToList();
172 case Type.Array_Float: return ((JArray)obj).Select(x => fromJSON (Type.Float, x)).ToList(); 172 case Type.Array_Float: return ((JArray)obj).Select(x => (float)fromJSON (Type.Float, x)).ToList();
173 case Type.Array_V2_Float: return ((JArray)obj).Select(x => fromJSON (Type.V2_Float, x)).ToList(); 173 case Type.Array_V2_Float: return ((JArray)obj).Select(x => (V2<float>)fromJSON (Type.V2_Float, x)).ToList();
174 case Type.Array_V2_V2_Float: return ((JArray)obj).Select(x => fromJSON (Type.V2_V2_Float, x)).ToList(); 174 case Type.Array_V2_V2_Float: return ((JArray)obj).Select(x => (V2<V2<float>>)fromJSON (Type.V2_V2_Float, x)).ToList();
175 case Type.Array_V3_Float: return ((JArray)obj).Select(x => fromJSON (Type.V3_Float, x)).ToList(); 175 case Type.Array_V3_Float: return ((JArray)obj).Select(x => (V3<float>)fromJSON (Type.V3_Float, x)).ToList();
176 case Type.Array_V3_V3_Float: return ((JArray)obj).Select(x => fromJSON (Type.V3_V3_Float, x)).ToList(); 176 case Type.Array_V3_V3_Float: return ((JArray)obj).Select(x => (V3<V3<float>>)fromJSON (Type.V3_V3_Float, x)).ToList();
177 case Type.Array_V4_Float: return ((JArray)obj).Select(x => fromJSON (Type.V4_Float, x)).ToList(); 177 case Type.Array_V4_Float: return ((JArray)obj).Select(x => (V4<float>)fromJSON (Type.V4_Float, x)).ToList();
178 case Type.Array_V4_V4_Float: return ((JArray)obj).Select(x => fromJSON (Type.V4_V4_Float, x)).ToList(); 178 case Type.Array_V4_V4_Float: return ((JArray)obj).Select(x => (V4<V4<float>>)fromJSON (Type.V4_V4_Float, x)).ToList();
179 case Type.Map_String_MeshAttribute: { 179 case Type.Map_String_MeshAttribute: {
180 var map = new Dictionary<string, global::LambdaCube.Mesh.MeshAttribute> (); 180 var map = new Dictionary<string, global::LambdaCube.Mesh.MeshAttribute> ();
181 foreach(var i in (JObject)obj) { 181 foreach(var i in (JObject)obj) {
@@ -276,7 +276,7 @@ namespace LambdaCube.Mesh {
276 return null; 276 return null;
277 } 277 }
278 278
279 JToken toJSON(MeshAttribute v) { 279 public static JToken toJSON(MeshAttribute v) {
280 var obj = new JObject(); 280 var obj = new JObject();
281 switch (v.tag) { 281 switch (v.tag) {
282 case MeshAttribute.Tag.A_Float: 282 case MeshAttribute.Tag.A_Float:
@@ -345,7 +345,7 @@ namespace LambdaCube.Mesh {
345 } 345 }
346 return obj; 346 return obj;
347 } 347 }
348 JToken toJSON(MeshPrimitive v) { 348 public static JToken toJSON(MeshPrimitive v) {
349 var obj = new JObject(); 349 var obj = new JObject();
350 switch (v.tag) { 350 switch (v.tag) {
351 case MeshPrimitive.Tag.P_Points: 351 case MeshPrimitive.Tag.P_Points:
@@ -374,7 +374,7 @@ namespace LambdaCube.Mesh {
374 } 374 }
375 return obj; 375 return obj;
376 } 376 }
377 JToken toJSON(Mesh v) { 377 public static JToken toJSON(Mesh v) {
378 var obj = new JObject(); 378 var obj = new JObject();
379 switch (v.tag) { 379 switch (v.tag) {
380 case Mesh.Tag.Mesh: 380 case Mesh.Tag.Mesh:
@@ -389,37 +389,37 @@ namespace LambdaCube.Mesh {
389 return obj; 389 return obj;
390 } 390 }
391 391
392 JToken toJSON(int v) { return new JValue(v); } 392 public static JToken toJSON(int v) { return new JValue(v); }
393 JToken toJSON(uint v) { return new JValue(v); } 393 public static JToken toJSON(uint v) { return new JValue(v); }
394 JToken toJSON(float v) { return new JValue(v); } 394 public static JToken toJSON(float v) { return new JValue(v); }
395 JToken toJSON(string v) { return new JValue(v); } 395 public static JToken toJSON(string v) { return new JValue(v); }
396 JToken toJSON(V2<float> v) { 396 public static JToken toJSON(V2<float> v) {
397 var obj = new JObject(); 397 var obj = new JObject();
398 obj["x"] = toJSON(v.x); 398 obj["x"] = toJSON(v.x);
399 obj["y"] = toJSON(v.y); 399 obj["y"] = toJSON(v.y);
400 return obj; 400 return obj;
401 } 401 }
402 JToken toJSON(V2<V2<float>> v) { 402 public static JToken toJSON(V2<V2<float>> v) {
403 var obj = new JObject(); 403 var obj = new JObject();
404 obj["x"] = toJSON(v.x); 404 obj["x"] = toJSON(v.x);
405 obj["y"] = toJSON(v.y); 405 obj["y"] = toJSON(v.y);
406 return obj; 406 return obj;
407 } 407 }
408 JToken toJSON(V3<float> v) { 408 public static JToken toJSON(V3<float> v) {
409 var obj = new JObject(); 409 var obj = new JObject();
410 obj["x"] = toJSON(v.x); 410 obj["x"] = toJSON(v.x);
411 obj["y"] = toJSON(v.y); 411 obj["y"] = toJSON(v.y);
412 obj["z"] = toJSON(v.z); 412 obj["z"] = toJSON(v.z);
413 return obj; 413 return obj;
414 } 414 }
415 JToken toJSON(V3<V3<float>> v) { 415 public static JToken toJSON(V3<V3<float>> v) {
416 var obj = new JObject(); 416 var obj = new JObject();
417 obj["x"] = toJSON(v.x); 417 obj["x"] = toJSON(v.x);
418 obj["y"] = toJSON(v.y); 418 obj["y"] = toJSON(v.y);
419 obj["z"] = toJSON(v.z); 419 obj["z"] = toJSON(v.z);
420 return obj; 420 return obj;
421 } 421 }
422 JToken toJSON(V4<float> v) { 422 public static JToken toJSON(V4<float> v) {
423 var obj = new JObject(); 423 var obj = new JObject();
424 obj["x"] = toJSON(v.x); 424 obj["x"] = toJSON(v.x);
425 obj["y"] = toJSON(v.y); 425 obj["y"] = toJSON(v.y);
@@ -427,7 +427,7 @@ namespace LambdaCube.Mesh {
427 obj["w"] = toJSON(v.w); 427 obj["w"] = toJSON(v.w);
428 return obj; 428 return obj;
429 } 429 }
430 JToken toJSON(V4<V4<float>> v) { 430 public static JToken toJSON(V4<V4<float>> v) {
431 var obj = new JObject(); 431 var obj = new JObject();
432 obj["x"] = toJSON(v.x); 432 obj["x"] = toJSON(v.x);
433 obj["y"] = toJSON(v.y); 433 obj["y"] = toJSON(v.y);
@@ -435,70 +435,70 @@ namespace LambdaCube.Mesh {
435 obj["w"] = toJSON(v.w); 435 obj["w"] = toJSON(v.w);
436 return obj; 436 return obj;
437 } 437 }
438 JToken toJSON(List<int> v) { 438 public static JToken toJSON(List<int> v) {
439 var obj = new JArray(); 439 var obj = new JArray();
440 foreach (var i in v) { 440 foreach (var i in v) {
441 obj.Add(toJSON(i)); 441 obj.Add(toJSON(i));
442 } 442 }
443 return obj; 443 return obj;
444 } 444 }
445 JToken toJSON(List<uint> v) { 445 public static JToken toJSON(List<uint> v) {
446 var obj = new JArray(); 446 var obj = new JArray();
447 foreach (var i in v) { 447 foreach (var i in v) {
448 obj.Add(toJSON(i)); 448 obj.Add(toJSON(i));
449 } 449 }
450 return obj; 450 return obj;
451 } 451 }
452 JToken toJSON(List<float> v) { 452 public static JToken toJSON(List<float> v) {
453 var obj = new JArray(); 453 var obj = new JArray();
454 foreach (var i in v) { 454 foreach (var i in v) {
455 obj.Add(toJSON(i)); 455 obj.Add(toJSON(i));
456 } 456 }
457 return obj; 457 return obj;
458 } 458 }
459 JToken toJSON(List<V2<float>> v) { 459 public static JToken toJSON(List<V2<float>> v) {
460 var obj = new JArray(); 460 var obj = new JArray();
461 foreach (var i in v) { 461 foreach (var i in v) {
462 obj.Add(toJSON(i)); 462 obj.Add(toJSON(i));
463 } 463 }
464 return obj; 464 return obj;
465 } 465 }
466 JToken toJSON(List<V2<V2<float>>> v) { 466 public static JToken toJSON(List<V2<V2<float>>> v) {
467 var obj = new JArray(); 467 var obj = new JArray();
468 foreach (var i in v) { 468 foreach (var i in v) {
469 obj.Add(toJSON(i)); 469 obj.Add(toJSON(i));
470 } 470 }
471 return obj; 471 return obj;
472 } 472 }
473 JToken toJSON(List<V3<float>> v) { 473 public static JToken toJSON(List<V3<float>> v) {
474 var obj = new JArray(); 474 var obj = new JArray();
475 foreach (var i in v) { 475 foreach (var i in v) {
476 obj.Add(toJSON(i)); 476 obj.Add(toJSON(i));
477 } 477 }
478 return obj; 478 return obj;
479 } 479 }
480 JToken toJSON(List<V3<V3<float>>> v) { 480 public static JToken toJSON(List<V3<V3<float>>> v) {
481 var obj = new JArray(); 481 var obj = new JArray();
482 foreach (var i in v) { 482 foreach (var i in v) {
483 obj.Add(toJSON(i)); 483 obj.Add(toJSON(i));
484 } 484 }
485 return obj; 485 return obj;
486 } 486 }
487 JToken toJSON(List<V4<float>> v) { 487 public static JToken toJSON(List<V4<float>> v) {
488 var obj = new JArray(); 488 var obj = new JArray();
489 foreach (var i in v) { 489 foreach (var i in v) {
490 obj.Add(toJSON(i)); 490 obj.Add(toJSON(i));
491 } 491 }
492 return obj; 492 return obj;
493 } 493 }
494 JToken toJSON(List<V4<V4<float>>> v) { 494 public static JToken toJSON(List<V4<V4<float>>> v) {
495 var obj = new JArray(); 495 var obj = new JArray();
496 foreach (var i in v) { 496 foreach (var i in v) {
497 obj.Add(toJSON(i)); 497 obj.Add(toJSON(i));
498 } 498 }
499 return obj; 499 return obj;
500 } 500 }
501 JToken toJSON(Dictionary<string, global::LambdaCube.Mesh.MeshAttribute> v) { 501 public static JToken toJSON(Dictionary<string, global::LambdaCube.Mesh.MeshAttribute> v) {
502 var obj = new JObject(); 502 var obj = new JObject();
503 foreach (var i in v) { 503 foreach (var i in v) {
504 obj[i.Key] = toJSON(i.Value); 504 obj[i.Key] = toJSON(i.Value);
diff --git a/ddl/out/LambdaCube.Mesh.hpp b/ddl/out/LambdaCube.Mesh.hpp
index f896dc2..86148aa 100644
--- a/ddl/out/LambdaCube.Mesh.hpp
+++ b/ddl/out/LambdaCube.Mesh.hpp
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-03-21T15:32:17.804995000000Z 2// 2016-03-27T21:14:12.377390000000Z
3 3
4#ifndef HEADER_LambdaCube.Mesh_H 4#ifndef HEADER_LambdaCube.Mesh_H
5#define HEADER_LambdaCube.Mesh_H 5#define HEADER_LambdaCube.Mesh_H
diff --git a/ddl/out/LambdaCube.Mesh.hs b/ddl/out/LambdaCube.Mesh.hs
index 3651653..ae5b124 100644
--- a/ddl/out/LambdaCube.Mesh.hs
+++ b/ddl/out/LambdaCube.Mesh.hs
@@ -1,5 +1,5 @@
1-- generated file, do not modify! 1-- generated file, do not modify!
2-- 2016-03-21T15:32:17.804995000000Z 2-- 2016-03-27T21:14:12.377390000000Z
3 3
4{-# LANGUAGE OverloadedStrings, RecordWildCards #-} 4{-# LANGUAGE OverloadedStrings, RecordWildCards #-}
5module LambdaCube.Mesh where 5module LambdaCube.Mesh where
diff --git a/ddl/out/LambdaCube.Mesh.purs b/ddl/out/LambdaCube.Mesh.purs
index d171868..b962f9e 100644
--- a/ddl/out/LambdaCube.Mesh.purs
+++ b/ddl/out/LambdaCube.Mesh.purs
@@ -1,5 +1,5 @@
1-- generated file, do not modify! 1-- generated file, do not modify!
2-- 2016-03-21T15:32:17.804995000000Z 2-- 2016-03-27T21:14:12.377390000000Z
3 3
4module LambdaCube.Mesh where 4module LambdaCube.Mesh where
5import Prelude 5import Prelude
diff --git a/ddl/out/LambdaCube.Mesh.swift b/ddl/out/LambdaCube.Mesh.swift
index 9d9efdf..c621bff 100644
--- a/ddl/out/LambdaCube.Mesh.swift
+++ b/ddl/out/LambdaCube.Mesh.swift
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-03-21T15:32:17.804995000000Z 2// 2016-03-27T21:14:12.377390000000Z
3 3
4enum MeshAttribute { 4enum MeshAttribute {
5 case A_Float(Array<Float>) 5 case A_Float(Array<Float>)
diff --git a/ddl/out/LambdaCube.Mesh2.hpp b/ddl/out/LambdaCube.Mesh2.hpp
index f61f8ed..e6770f2 100644
--- a/ddl/out/LambdaCube.Mesh2.hpp
+++ b/ddl/out/LambdaCube.Mesh2.hpp
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-03-21T15:32:17.804995000000Z 2// 2016-03-27T21:14:12.377390000000Z
3 3
4#ifndef HEADER_LambdaCube.Mesh_H 4#ifndef HEADER_LambdaCube.Mesh_H
5#define HEADER_LambdaCube.Mesh_H 5#define HEADER_LambdaCube.Mesh_H
diff --git a/ddl/out/LambdaCube.PipelineSchema.cpp b/ddl/out/LambdaCube.PipelineSchema.cpp
index 80ed7d8..a7f28c3 100644
--- a/ddl/out/LambdaCube.PipelineSchema.cpp
+++ b/ddl/out/LambdaCube.PipelineSchema.cpp
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-03-21T15:32:17.702608000000Z 2// 2016-03-27T21:14:12.321500000000Z
3 3
4#include "LambdaCube.PipelineSchema.hpp" 4#include "LambdaCube.PipelineSchema.hpp"
5template<> json toJSON<std::shared_ptr<StreamType>>(std::shared_ptr<StreamType> &v) { 5template<> json toJSON<std::shared_ptr<StreamType>>(std::shared_ptr<StreamType> &v) {
diff --git a/ddl/out/LambdaCube.PipelineSchema.cs b/ddl/out/LambdaCube.PipelineSchema.cs
index 88f3d16..4336b74 100644
--- a/ddl/out/LambdaCube.PipelineSchema.cs
+++ b/ddl/out/LambdaCube.PipelineSchema.cs
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-03-21T15:32:17.702608000000Z 2// 2016-03-27T21:14:12.321500000000Z
3 3
4using System; 4using System;
5using System.Linq; 5using System.Linq;
@@ -169,7 +169,7 @@ namespace LambdaCube.PipelineSchema {
169 return null; 169 return null;
170 } 170 }
171 171
172 JToken toJSON(StreamType v) { 172 public static JToken toJSON(StreamType v) {
173 var obj = new JObject(); 173 var obj = new JObject();
174 switch (v.tag) { 174 switch (v.tag) {
175 case StreamType.Tag.Attribute_Word: 175 case StreamType.Tag.Attribute_Word:
@@ -238,7 +238,7 @@ namespace LambdaCube.PipelineSchema {
238 } 238 }
239 return obj; 239 return obj;
240 } 240 }
241 JToken toJSON(ObjectArraySchema v) { 241 public static JToken toJSON(ObjectArraySchema v) {
242 var obj = new JObject(); 242 var obj = new JObject();
243 switch (v.tag) { 243 switch (v.tag) {
244 case ObjectArraySchema.Tag.ObjectArraySchema: 244 case ObjectArraySchema.Tag.ObjectArraySchema:
@@ -252,7 +252,7 @@ namespace LambdaCube.PipelineSchema {
252 } 252 }
253 return obj; 253 return obj;
254 } 254 }
255 JToken toJSON(PipelineSchema v) { 255 public static JToken toJSON(PipelineSchema v) {
256 var obj = new JObject(); 256 var obj = new JObject();
257 switch (v.tag) { 257 switch (v.tag) {
258 case PipelineSchema.Tag.PipelineSchema: 258 case PipelineSchema.Tag.PipelineSchema:
@@ -267,22 +267,22 @@ namespace LambdaCube.PipelineSchema {
267 return obj; 267 return obj;
268 } 268 }
269 269
270 JToken toJSON(string v) { return new JValue(v); } 270 public static JToken toJSON(string v) { return new JValue(v); }
271 JToken toJSON(Dictionary<string, global::LambdaCube.PipelineSchema.InputType> v) { 271 public static JToken toJSON(Dictionary<string, global::LambdaCube.PipelineSchema.InputType> v) {
272 var obj = new JObject(); 272 var obj = new JObject();
273 foreach (var i in v) { 273 foreach (var i in v) {
274 obj[i.Key] = toJSON(i.Value); 274 obj[i.Key] = toJSON(i.Value);
275 } 275 }
276 return obj; 276 return obj;
277 } 277 }
278 JToken toJSON(Dictionary<string, global::LambdaCube.PipelineSchema.ObjectArraySchema> v) { 278 public static JToken toJSON(Dictionary<string, global::LambdaCube.PipelineSchema.ObjectArraySchema> v) {
279 var obj = new JObject(); 279 var obj = new JObject();
280 foreach (var i in v) { 280 foreach (var i in v) {
281 obj[i.Key] = toJSON(i.Value); 281 obj[i.Key] = toJSON(i.Value);
282 } 282 }
283 return obj; 283 return obj;
284 } 284 }
285 JToken toJSON(Dictionary<string, global::LambdaCube.PipelineSchema.StreamType> v) { 285 public static JToken toJSON(Dictionary<string, global::LambdaCube.PipelineSchema.StreamType> v) {
286 var obj = new JObject(); 286 var obj = new JObject();
287 foreach (var i in v) { 287 foreach (var i in v) {
288 obj[i.Key] = toJSON(i.Value); 288 obj[i.Key] = toJSON(i.Value);
diff --git a/ddl/out/LambdaCube.PipelineSchema.hpp b/ddl/out/LambdaCube.PipelineSchema.hpp
index 3092eea..95b0b56 100644
--- a/ddl/out/LambdaCube.PipelineSchema.hpp
+++ b/ddl/out/LambdaCube.PipelineSchema.hpp
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-03-21T15:32:17.702608000000Z 2// 2016-03-27T21:14:12.321500000000Z
3 3
4#ifndef HEADER_LambdaCube.PipelineSchema_H 4#ifndef HEADER_LambdaCube.PipelineSchema_H
5#define HEADER_LambdaCube.PipelineSchema_H 5#define HEADER_LambdaCube.PipelineSchema_H
diff --git a/ddl/out/LambdaCube.PipelineSchema.hs b/ddl/out/LambdaCube.PipelineSchema.hs
index a5fbc07..d60986b 100644
--- a/ddl/out/LambdaCube.PipelineSchema.hs
+++ b/ddl/out/LambdaCube.PipelineSchema.hs
@@ -1,5 +1,5 @@
1-- generated file, do not modify! 1-- generated file, do not modify!
2-- 2016-03-21T15:32:17.702608000000Z 2-- 2016-03-27T21:14:12.321500000000Z
3 3
4{-# LANGUAGE OverloadedStrings, RecordWildCards #-} 4{-# LANGUAGE OverloadedStrings, RecordWildCards #-}
5module LambdaCube.PipelineSchema where 5module LambdaCube.PipelineSchema where
diff --git a/ddl/out/LambdaCube.PipelineSchema.purs b/ddl/out/LambdaCube.PipelineSchema.purs
index 7b6daca..7087165 100644
--- a/ddl/out/LambdaCube.PipelineSchema.purs
+++ b/ddl/out/LambdaCube.PipelineSchema.purs
@@ -1,5 +1,5 @@
1-- generated file, do not modify! 1-- generated file, do not modify!
2-- 2016-03-21T15:32:17.702608000000Z 2-- 2016-03-27T21:14:12.321500000000Z
3 3
4module LambdaCube.PipelineSchema where 4module LambdaCube.PipelineSchema where
5import Prelude 5import Prelude
diff --git a/ddl/out/LambdaCube.PipelineSchema.swift b/ddl/out/LambdaCube.PipelineSchema.swift
index f72546e..273da93 100644
--- a/ddl/out/LambdaCube.PipelineSchema.swift
+++ b/ddl/out/LambdaCube.PipelineSchema.swift
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-03-21T15:32:17.702608000000Z 2// 2016-03-27T21:14:12.321500000000Z
3 3
4enum StreamType { 4enum StreamType {
5 case Attribute_Word 5 case Attribute_Word
diff --git a/ddl/out/LambdaCube.PipelineSchema2.hpp b/ddl/out/LambdaCube.PipelineSchema2.hpp
index df67fcc..286b527 100644
--- a/ddl/out/LambdaCube.PipelineSchema2.hpp
+++ b/ddl/out/LambdaCube.PipelineSchema2.hpp
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-03-21T15:32:17.702608000000Z 2// 2016-03-27T21:14:12.321500000000Z
3 3
4#ifndef HEADER_LambdaCube.PipelineSchema_H 4#ifndef HEADER_LambdaCube.PipelineSchema_H
5#define HEADER_LambdaCube.PipelineSchema_H 5#define HEADER_LambdaCube.PipelineSchema_H
diff --git a/ddl/out/LambdaCube.TypeInfo.cpp b/ddl/out/LambdaCube.TypeInfo.cpp
index 2e135e8..ab4b952 100644
--- a/ddl/out/LambdaCube.TypeInfo.cpp
+++ b/ddl/out/LambdaCube.TypeInfo.cpp
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-03-21T15:32:17.924228000000Z 2// 2016-03-27T21:14:12.510273000000Z
3 3
4#include "LambdaCube.TypeInfo.hpp" 4#include "LambdaCube.TypeInfo.hpp"
5template<> json toJSON<std::shared_ptr<Range>>(std::shared_ptr<Range> &v) { 5template<> json toJSON<std::shared_ptr<Range>>(std::shared_ptr<Range> &v) {
diff --git a/ddl/out/LambdaCube.TypeInfo.cs b/ddl/out/LambdaCube.TypeInfo.cs
index 7bd571b..3ef82b3 100644
--- a/ddl/out/LambdaCube.TypeInfo.cs
+++ b/ddl/out/LambdaCube.TypeInfo.cs
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-03-21T15:32:17.924228000000Z 2// 2016-03-27T21:14:12.510273000000Z
3 3
4using System; 4using System;
5using System.Linq; 5using System.Linq;
@@ -80,8 +80,8 @@ namespace LambdaCube.TypeInfo {
80 switch (type) { 80 switch (type) {
81 case Type.Int: return (int)obj; 81 case Type.Int: return (int)obj;
82 case Type.String: return (string)obj; 82 case Type.String: return (string)obj;
83 case Type.Array_Range: return ((JArray)obj).Select(x => fromJSON (Type.Range, x)).ToList(); 83 case Type.Array_Range: return ((JArray)obj).Select(x => (global::LambdaCube.TypeInfo.Range)fromJSON (Type.Range, x)).ToList();
84 case Type.Array_TypeInfo: return ((JArray)obj).Select(x => fromJSON (Type.TypeInfo, x)).ToList(); 84 case Type.Array_TypeInfo: return ((JArray)obj).Select(x => (global::LambdaCube.TypeInfo.TypeInfo)fromJSON (Type.TypeInfo, x)).ToList();
85 85
86 case Type.Range: { 86 case Type.Range: {
87 string tag = (string)obj["tag"]; 87 string tag = (string)obj["tag"];
@@ -135,7 +135,7 @@ namespace LambdaCube.TypeInfo {
135 return null; 135 return null;
136 } 136 }
137 137
138 JToken toJSON(Range v) { 138 public static JToken toJSON(Range v) {
139 var obj = new JObject(); 139 var obj = new JObject();
140 switch (v.tag) { 140 switch (v.tag) {
141 case Range.Tag.Range: 141 case Range.Tag.Range:
@@ -151,7 +151,7 @@ namespace LambdaCube.TypeInfo {
151 } 151 }
152 return obj; 152 return obj;
153 } 153 }
154 JToken toJSON(TypeInfo v) { 154 public static JToken toJSON(TypeInfo v) {
155 var obj = new JObject(); 155 var obj = new JObject();
156 switch (v.tag) { 156 switch (v.tag) {
157 case TypeInfo.Tag.TypeInfo: 157 case TypeInfo.Tag.TypeInfo:
@@ -165,7 +165,7 @@ namespace LambdaCube.TypeInfo {
165 } 165 }
166 return obj; 166 return obj;
167 } 167 }
168 JToken toJSON(CompileResult v) { 168 public static JToken toJSON(CompileResult v) {
169 var obj = new JObject(); 169 var obj = new JObject();
170 switch (v.tag) { 170 switch (v.tag) {
171 case CompileResult.Tag.CompileError: 171 case CompileResult.Tag.CompileError:
@@ -191,16 +191,16 @@ namespace LambdaCube.TypeInfo {
191 return obj; 191 return obj;
192 } 192 }
193 193
194 JToken toJSON(int v) { return new JValue(v); } 194 public static JToken toJSON(int v) { return new JValue(v); }
195 JToken toJSON(string v) { return new JValue(v); } 195 public static JToken toJSON(string v) { return new JValue(v); }
196 JToken toJSON(List<global::LambdaCube.TypeInfo.Range> v) { 196 public static JToken toJSON(List<global::LambdaCube.TypeInfo.Range> v) {
197 var obj = new JArray(); 197 var obj = new JArray();
198 foreach (var i in v) { 198 foreach (var i in v) {
199 obj.Add(toJSON(i)); 199 obj.Add(toJSON(i));
200 } 200 }
201 return obj; 201 return obj;
202 } 202 }
203 JToken toJSON(List<global::LambdaCube.TypeInfo.TypeInfo> v) { 203 public static JToken toJSON(List<global::LambdaCube.TypeInfo.TypeInfo> v) {
204 var obj = new JArray(); 204 var obj = new JArray();
205 foreach (var i in v) { 205 foreach (var i in v) {
206 obj.Add(toJSON(i)); 206 obj.Add(toJSON(i));
diff --git a/ddl/out/LambdaCube.TypeInfo.hpp b/ddl/out/LambdaCube.TypeInfo.hpp
index d283203..96bb50c 100644
--- a/ddl/out/LambdaCube.TypeInfo.hpp
+++ b/ddl/out/LambdaCube.TypeInfo.hpp
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-03-21T15:32:17.924228000000Z 2// 2016-03-27T21:14:12.510273000000Z
3 3
4#ifndef HEADER_LambdaCube.TypeInfo_H 4#ifndef HEADER_LambdaCube.TypeInfo_H
5#define HEADER_LambdaCube.TypeInfo_H 5#define HEADER_LambdaCube.TypeInfo_H
diff --git a/ddl/out/LambdaCube.TypeInfo.hs b/ddl/out/LambdaCube.TypeInfo.hs
index 6414d2d..80c0562 100644
--- a/ddl/out/LambdaCube.TypeInfo.hs
+++ b/ddl/out/LambdaCube.TypeInfo.hs
@@ -1,5 +1,5 @@
1-- generated file, do not modify! 1-- generated file, do not modify!
2-- 2016-03-21T15:32:17.924228000000Z 2-- 2016-03-27T21:14:12.510273000000Z
3 3
4{-# LANGUAGE OverloadedStrings, RecordWildCards #-} 4{-# LANGUAGE OverloadedStrings, RecordWildCards #-}
5module LambdaCube.TypeInfo where 5module LambdaCube.TypeInfo where
diff --git a/ddl/out/LambdaCube.TypeInfo.purs b/ddl/out/LambdaCube.TypeInfo.purs
index 2a11ab5..51ca9b9 100644
--- a/ddl/out/LambdaCube.TypeInfo.purs
+++ b/ddl/out/LambdaCube.TypeInfo.purs
@@ -1,5 +1,5 @@
1-- generated file, do not modify! 1-- generated file, do not modify!
2-- 2016-03-21T15:32:17.924228000000Z 2-- 2016-03-27T21:14:12.510273000000Z
3 3
4module LambdaCube.TypeInfo where 4module LambdaCube.TypeInfo where
5import Prelude 5import Prelude
diff --git a/ddl/out/LambdaCube.TypeInfo.swift b/ddl/out/LambdaCube.TypeInfo.swift
index f069445..1a15c19 100644
--- a/ddl/out/LambdaCube.TypeInfo.swift
+++ b/ddl/out/LambdaCube.TypeInfo.swift
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-03-21T15:32:17.924228000000Z 2// 2016-03-27T21:14:12.510273000000Z
3 3
4enum Range { 4enum Range {
5 case Range(Range_Data) 5 case Range(Range_Data)
diff --git a/ddl/out/LambdaCube.TypeInfo2.hpp b/ddl/out/LambdaCube.TypeInfo2.hpp
index f3146f2..0a9d193 100644
--- a/ddl/out/LambdaCube.TypeInfo2.hpp
+++ b/ddl/out/LambdaCube.TypeInfo2.hpp
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-03-21T15:32:17.924228000000Z 2// 2016-03-27T21:14:12.510273000000Z
3 3
4#ifndef HEADER_LambdaCube.TypeInfo_H 4#ifndef HEADER_LambdaCube.TypeInfo_H
5#define HEADER_LambdaCube.TypeInfo_H 5#define HEADER_LambdaCube.TypeInfo_H
diff --git a/ddl/out/TestData.cpp b/ddl/out/TestData.cpp
index 82616bb..de69011 100644
--- a/ddl/out/TestData.cpp
+++ b/ddl/out/TestData.cpp
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-03-21T15:32:18.087397000000Z 2// 2016-03-27T21:14:12.566976000000Z
3 3
4#include "TestData.hpp" 4#include "TestData.hpp"
5template<> json toJSON<std::shared_ptr<ClientInfo>>(std::shared_ptr<ClientInfo> &v) { 5template<> json toJSON<std::shared_ptr<ClientInfo>>(std::shared_ptr<ClientInfo> &v) {
diff --git a/ddl/out/TestData.cs b/ddl/out/TestData.cs
index d8b4676..42587e1 100644
--- a/ddl/out/TestData.cs
+++ b/ddl/out/TestData.cs
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-03-21T15:32:18.087397000000Z 2// 2016-03-27T21:14:12.566976000000Z
3 3
4using System; 4using System;
5using System.Linq; 5using System.Linq;
@@ -156,13 +156,13 @@ namespace TestData {
156 case Type.Int: return (int)obj; 156 case Type.Int: return (int)obj;
157 case Type.Float: return (float)obj; 157 case Type.Float: return (float)obj;
158 case Type.String: return (string)obj; 158 case Type.String: return (string)obj;
159 case Type.Array_Int: return ((JArray)obj).Select(x => fromJSON (Type.Int, x)).ToList(); 159 case Type.Array_Int: return ((JArray)obj).Select(x => (int)fromJSON (Type.Int, x)).ToList();
160 case Type.Array_Float: return ((JArray)obj).Select(x => fromJSON (Type.Float, x)).ToList(); 160 case Type.Array_Float: return ((JArray)obj).Select(x => (float)fromJSON (Type.Float, x)).ToList();
161 case Type.Array_String: return ((JArray)obj).Select(x => fromJSON (Type.String, x)).ToList(); 161 case Type.Array_String: return ((JArray)obj).Select(x => (string)fromJSON (Type.String, x)).ToList();
162 case Type.Array_Frame: return ((JArray)obj).Select(x => fromJSON (Type.Frame, x)).ToList(); 162 case Type.Array_Frame: return ((JArray)obj).Select(x => (global::TestData.Frame)fromJSON (Type.Frame, x)).ToList();
163 case Type.Array_Mesh: return ((JArray)obj).Select(x => fromJSON (Type.Mesh, x)).ToList(); 163 case Type.Array_Mesh: return ((JArray)obj).Select(x => (global::TestData.Mesh)fromJSON (Type.Mesh, x)).ToList();
164 case Type.Array_PipelineInfo: return ((JArray)obj).Select(x => fromJSON (Type.PipelineInfo, x)).ToList(); 164 case Type.Array_PipelineInfo: return ((JArray)obj).Select(x => (global::TestData.PipelineInfo)fromJSON (Type.PipelineInfo, x)).ToList();
165 case Type.Array_Scene: return ((JArray)obj).Select(x => fromJSON (Type.Scene, x)).ToList(); 165 case Type.Array_Scene: return ((JArray)obj).Select(x => (global::TestData.Scene)fromJSON (Type.Scene, x)).ToList();
166 case Type.Map_String_Int: { 166 case Type.Map_String_Int: {
167 var map = new Dictionary<string, int> (); 167 var map = new Dictionary<string, int> ();
168 foreach(var i in (JObject)obj) { 168 foreach(var i in (JObject)obj) {
@@ -288,7 +288,7 @@ namespace TestData {
288 return null; 288 return null;
289 } 289 }
290 290
291 JToken toJSON(ClientInfo v) { 291 public static JToken toJSON(ClientInfo v) {
292 var obj = new JObject(); 292 var obj = new JObject();
293 switch (v.tag) { 293 switch (v.tag) {
294 case ClientInfo.Tag.ClientInfo: 294 case ClientInfo.Tag.ClientInfo:
@@ -302,7 +302,7 @@ namespace TestData {
302 } 302 }
303 return obj; 303 return obj;
304 } 304 }
305 JToken toJSON(Frame v) { 305 public static JToken toJSON(Frame v) {
306 var obj = new JObject(); 306 var obj = new JObject();
307 switch (v.tag) { 307 switch (v.tag) {
308 case Frame.Tag.Frame: 308 case Frame.Tag.Frame:
@@ -317,7 +317,7 @@ namespace TestData {
317 } 317 }
318 return obj; 318 return obj;
319 } 319 }
320 JToken toJSON(Scene v) { 320 public static JToken toJSON(Scene v) {
321 var obj = new JObject(); 321 var obj = new JObject();
322 switch (v.tag) { 322 switch (v.tag) {
323 case Scene.Tag.Scene: 323 case Scene.Tag.Scene:
@@ -333,7 +333,7 @@ namespace TestData {
333 } 333 }
334 return obj; 334 return obj;
335 } 335 }
336 JToken toJSON(PipelineInfo v) { 336 public static JToken toJSON(PipelineInfo v) {
337 var obj = new JObject(); 337 var obj = new JObject();
338 switch (v.tag) { 338 switch (v.tag) {
339 case PipelineInfo.Tag.PipelineInfo: 339 case PipelineInfo.Tag.PipelineInfo:
@@ -347,7 +347,7 @@ namespace TestData {
347 } 347 }
348 return obj; 348 return obj;
349 } 349 }
350 JToken toJSON(RenderJob v) { 350 public static JToken toJSON(RenderJob v) {
351 var obj = new JObject(); 351 var obj = new JObject();
352 switch (v.tag) { 352 switch (v.tag) {
353 case RenderJob.Tag.RenderJob: 353 case RenderJob.Tag.RenderJob:
@@ -364,7 +364,7 @@ namespace TestData {
364 } 364 }
365 return obj; 365 return obj;
366 } 366 }
367 JToken toJSON(FrameResult v) { 367 public static JToken toJSON(FrameResult v) {
368 var obj = new JObject(); 368 var obj = new JObject();
369 switch (v.tag) { 369 switch (v.tag) {
370 case FrameResult.Tag.FrameResult: 370 case FrameResult.Tag.FrameResult:
@@ -379,7 +379,7 @@ namespace TestData {
379 } 379 }
380 return obj; 380 return obj;
381 } 381 }
382 JToken toJSON(RenderJobResult v) { 382 public static JToken toJSON(RenderJobResult v) {
383 var obj = new JObject(); 383 var obj = new JObject();
384 switch (v.tag) { 384 switch (v.tag) {
385 case RenderJobResult.Tag.RenderJobResult: 385 case RenderJobResult.Tag.RenderJobResult:
@@ -400,73 +400,73 @@ namespace TestData {
400 return obj; 400 return obj;
401 } 401 }
402 402
403 JToken toJSON(int v) { return new JValue(v); } 403 public static JToken toJSON(int v) { return new JValue(v); }
404 JToken toJSON(float v) { return new JValue(v); } 404 public static JToken toJSON(float v) { return new JValue(v); }
405 JToken toJSON(string v) { return new JValue(v); } 405 public static JToken toJSON(string v) { return new JValue(v); }
406 JToken toJSON(List<int> v) { 406 public static JToken toJSON(List<int> v) {
407 var obj = new JArray(); 407 var obj = new JArray();
408 foreach (var i in v) { 408 foreach (var i in v) {
409 obj.Add(toJSON(i)); 409 obj.Add(toJSON(i));
410 } 410 }
411 return obj; 411 return obj;
412 } 412 }
413 JToken toJSON(List<float> v) { 413 public static JToken toJSON(List<float> v) {
414 var obj = new JArray(); 414 var obj = new JArray();
415 foreach (var i in v) { 415 foreach (var i in v) {
416 obj.Add(toJSON(i)); 416 obj.Add(toJSON(i));
417 } 417 }
418 return obj; 418 return obj;
419 } 419 }
420 JToken toJSON(List<string> v) { 420 public static JToken toJSON(List<string> v) {
421 var obj = new JArray(); 421 var obj = new JArray();
422 foreach (var i in v) { 422 foreach (var i in v) {
423 obj.Add(toJSON(i)); 423 obj.Add(toJSON(i));
424 } 424 }
425 return obj; 425 return obj;
426 } 426 }
427 JToken toJSON(List<global::TestData.Frame> v) { 427 public static JToken toJSON(List<global::TestData.Frame> v) {
428 var obj = new JArray(); 428 var obj = new JArray();
429 foreach (var i in v) { 429 foreach (var i in v) {
430 obj.Add(toJSON(i)); 430 obj.Add(toJSON(i));
431 } 431 }
432 return obj; 432 return obj;
433 } 433 }
434 JToken toJSON(List<global::TestData.Mesh> v) { 434 public static JToken toJSON(List<global::TestData.Mesh> v) {
435 var obj = new JArray(); 435 var obj = new JArray();
436 foreach (var i in v) { 436 foreach (var i in v) {
437 obj.Add(toJSON(i)); 437 obj.Add(toJSON(i));
438 } 438 }
439 return obj; 439 return obj;
440 } 440 }
441 JToken toJSON(List<global::TestData.PipelineInfo> v) { 441 public static JToken toJSON(List<global::TestData.PipelineInfo> v) {
442 var obj = new JArray(); 442 var obj = new JArray();
443 foreach (var i in v) { 443 foreach (var i in v) {
444 obj.Add(toJSON(i)); 444 obj.Add(toJSON(i));
445 } 445 }
446 return obj; 446 return obj;
447 } 447 }
448 JToken toJSON(List<global::TestData.Scene> v) { 448 public static JToken toJSON(List<global::TestData.Scene> v) {
449 var obj = new JArray(); 449 var obj = new JArray();
450 foreach (var i in v) { 450 foreach (var i in v) {
451 obj.Add(toJSON(i)); 451 obj.Add(toJSON(i));
452 } 452 }
453 return obj; 453 return obj;
454 } 454 }
455 JToken toJSON(Dictionary<string, int> v) { 455 public static JToken toJSON(Dictionary<string, int> v) {
456 var obj = new JObject(); 456 var obj = new JObject();
457 foreach (var i in v) { 457 foreach (var i in v) {
458 obj[i.Key] = toJSON(i.Value); 458 obj[i.Key] = toJSON(i.Value);
459 } 459 }
460 return obj; 460 return obj;
461 } 461 }
462 JToken toJSON(Dictionary<string, List<int>> v) { 462 public static JToken toJSON(Dictionary<string, List<int>> v) {
463 var obj = new JObject(); 463 var obj = new JObject();
464 foreach (var i in v) { 464 foreach (var i in v) {
465 obj[i.Key] = toJSON(i.Value); 465 obj[i.Key] = toJSON(i.Value);
466 } 466 }
467 return obj; 467 return obj;
468 } 468 }
469 JToken toJSON(Dictionary<string, global::TestData.Value> v) { 469 public static JToken toJSON(Dictionary<string, global::TestData.Value> v) {
470 var obj = new JObject(); 470 var obj = new JObject();
471 foreach (var i in v) { 471 foreach (var i in v) {
472 obj[i.Key] = toJSON(i.Value); 472 obj[i.Key] = toJSON(i.Value);
diff --git a/ddl/out/TestData.hpp b/ddl/out/TestData.hpp
index d8756dd..44ef9f7 100644
--- a/ddl/out/TestData.hpp
+++ b/ddl/out/TestData.hpp
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-03-21T15:32:18.087397000000Z 2// 2016-03-27T21:14:12.566976000000Z
3 3
4#ifndef HEADER_TestData_H 4#ifndef HEADER_TestData_H
5#define HEADER_TestData_H 5#define HEADER_TestData_H
diff --git a/ddl/out/TestData.hs b/ddl/out/TestData.hs
index be5468b..7e479fe 100644
--- a/ddl/out/TestData.hs
+++ b/ddl/out/TestData.hs
@@ -1,5 +1,5 @@
1-- generated file, do not modify! 1-- generated file, do not modify!
2-- 2016-03-21T15:32:18.087397000000Z 2-- 2016-03-27T21:14:12.566976000000Z
3 3
4{-# LANGUAGE OverloadedStrings, RecordWildCards #-} 4{-# LANGUAGE OverloadedStrings, RecordWildCards #-}
5module TestData where 5module TestData where
diff --git a/ddl/out/TestData.purs b/ddl/out/TestData.purs
index 2d0cc58..bfd9f26 100644
--- a/ddl/out/TestData.purs
+++ b/ddl/out/TestData.purs
@@ -1,5 +1,5 @@
1-- generated file, do not modify! 1-- generated file, do not modify!
2-- 2016-03-21T15:32:18.087397000000Z 2-- 2016-03-27T21:14:12.566976000000Z
3 3
4module TestData where 4module TestData where
5import Prelude 5import Prelude
diff --git a/ddl/out/TestData.swift b/ddl/out/TestData.swift
index 4564486..4bcd49e 100644
--- a/ddl/out/TestData.swift
+++ b/ddl/out/TestData.swift
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-03-21T15:32:18.087397000000Z 2// 2016-03-27T21:14:12.566976000000Z
3 3
4enum ClientInfo { 4enum ClientInfo {
5 case ClientInfo(ClientInfo_Data) 5 case ClientInfo(ClientInfo_Data)
diff --git a/ddl/out/TestData2.hpp b/ddl/out/TestData2.hpp
index 6957677..69d3602 100644
--- a/ddl/out/TestData2.hpp
+++ b/ddl/out/TestData2.hpp
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-03-21T15:32:18.087397000000Z 2// 2016-03-27T21:14:12.566976000000Z
3 3
4#ifndef HEADER_TestData_H 4#ifndef HEADER_TestData_H
5#define HEADER_TestData_H 5#define HEADER_TestData_H
diff --git a/ddl/out/java/LambdaCube/IR/AccumulationContext.java b/ddl/out/java/LambdaCube/IR/AccumulationContext.java
index b10b75e..503533f 100644
--- a/ddl/out/java/LambdaCube/IR/AccumulationContext.java
+++ b/ddl/out/java/LambdaCube/IR/AccumulationContext.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-03-21T15:32:16.153401000000Z 2// 2016-03-27T21:14:11.531713000000Z
3 3
4package LambdaCube.IR; 4package LambdaCube.IR;
5 5
diff --git a/ddl/out/java/LambdaCube/IR/ArrayValue.java b/ddl/out/java/LambdaCube/IR/ArrayValue.java
index c4c9e04..dc0af3b 100644
--- a/ddl/out/java/LambdaCube/IR/ArrayValue.java
+++ b/ddl/out/java/LambdaCube/IR/ArrayValue.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-03-21T15:32:16.153401000000Z 2// 2016-03-27T21:14:11.531713000000Z
3 3
4package LambdaCube.IR; 4package LambdaCube.IR;
5 5
diff --git a/ddl/out/java/LambdaCube/IR/Backend.java b/ddl/out/java/LambdaCube/IR/Backend.java
index ec22de1..c344e0c 100644
--- a/ddl/out/java/LambdaCube/IR/Backend.java
+++ b/ddl/out/java/LambdaCube/IR/Backend.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-03-21T15:32:16.153401000000Z 2// 2016-03-27T21:14:11.531713000000Z
3 3
4package LambdaCube.IR; 4package LambdaCube.IR;
5 5
@@ -11,7 +11,8 @@ import RT.*;
11public class Backend { 11public class Backend {
12 public enum Tag { 12 public enum Tag {
13 WebGL1, 13 WebGL1,
14 OpenGL33 14 OpenGL33,
15 DirectX11
15 } 16 }
16 public Tag tag; 17 public Tag tag;
17 18
diff --git a/ddl/out/java/LambdaCube/IR/BlendEquation.java b/ddl/out/java/LambdaCube/IR/BlendEquation.java
index d4a5565..b95f5ba 100644
--- a/ddl/out/java/LambdaCube/IR/BlendEquation.java
+++ b/ddl/out/java/LambdaCube/IR/BlendEquation.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-03-21T15:32:16.153401000000Z 2// 2016-03-27T21:14:11.531713000000Z
3 3
4package LambdaCube.IR; 4package LambdaCube.IR;
5 5
diff --git a/ddl/out/java/LambdaCube/IR/Blending.java b/ddl/out/java/LambdaCube/IR/Blending.java
index d1ad43a..dc33719 100644
--- a/ddl/out/java/LambdaCube/IR/Blending.java
+++ b/ddl/out/java/LambdaCube/IR/Blending.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-03-21T15:32:16.153401000000Z 2// 2016-03-27T21:14:11.531713000000Z
3 3
4package LambdaCube.IR; 4package LambdaCube.IR;
5 5
diff --git a/ddl/out/java/LambdaCube/IR/BlendingFactor.java b/ddl/out/java/LambdaCube/IR/BlendingFactor.java
index 4819c5f..65c3d7e 100644
--- a/ddl/out/java/LambdaCube/IR/BlendingFactor.java
+++ b/ddl/out/java/LambdaCube/IR/BlendingFactor.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-03-21T15:32:16.153401000000Z 2// 2016-03-27T21:14:11.531713000000Z
3 3
4package LambdaCube.IR; 4package LambdaCube.IR;
5 5
diff --git a/ddl/out/java/LambdaCube/IR/ClearImage.java b/ddl/out/java/LambdaCube/IR/ClearImage.java
index f90d03b..c180794 100644
--- a/ddl/out/java/LambdaCube/IR/ClearImage.java
+++ b/ddl/out/java/LambdaCube/IR/ClearImage.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-03-21T15:32:16.153401000000Z 2// 2016-03-27T21:14:11.531713000000Z
3 3
4package LambdaCube.IR; 4package LambdaCube.IR;
5 5
diff --git a/ddl/out/java/LambdaCube/IR/ColorArity.java b/ddl/out/java/LambdaCube/IR/ColorArity.java
index 5ff3d31..f31b106 100644
--- a/ddl/out/java/LambdaCube/IR/ColorArity.java
+++ b/ddl/out/java/LambdaCube/IR/ColorArity.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-03-21T15:32:16.153401000000Z 2// 2016-03-27T21:14:11.531713000000Z
3 3
4package LambdaCube.IR; 4package LambdaCube.IR;
5 5
diff --git a/ddl/out/java/LambdaCube/IR/Command.java b/ddl/out/java/LambdaCube/IR/Command.java
index 6f390c5..3e910e6 100644
--- a/ddl/out/java/LambdaCube/IR/Command.java
+++ b/ddl/out/java/LambdaCube/IR/Command.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-03-21T15:32:16.153401000000Z 2// 2016-03-27T21:14:11.531713000000Z
3 3
4package LambdaCube.IR; 4package LambdaCube.IR;
5 5
diff --git a/ddl/out/java/LambdaCube/IR/ComparisonFunction.java b/ddl/out/java/LambdaCube/IR/ComparisonFunction.java
index 34f1072..acb0098 100644
--- a/ddl/out/java/LambdaCube/IR/ComparisonFunction.java
+++ b/ddl/out/java/LambdaCube/IR/ComparisonFunction.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-03-21T15:32:16.153401000000Z 2// 2016-03-27T21:14:11.531713000000Z
3 3
4package LambdaCube.IR; 4package LambdaCube.IR;
5 5
diff --git a/ddl/out/java/LambdaCube/IR/CullMode.java b/ddl/out/java/LambdaCube/IR/CullMode.java
index 5f9a8ea..57f3d41 100644
--- a/ddl/out/java/LambdaCube/IR/CullMode.java
+++ b/ddl/out/java/LambdaCube/IR/CullMode.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-03-21T15:32:16.153401000000Z 2// 2016-03-27T21:14:11.531713000000Z
3 3
4package LambdaCube.IR; 4package LambdaCube.IR;
5 5
diff --git a/ddl/out/java/LambdaCube/IR/EdgeMode.java b/ddl/out/java/LambdaCube/IR/EdgeMode.java
index 9ac7276..4c16ba7 100644
--- a/ddl/out/java/LambdaCube/IR/EdgeMode.java
+++ b/ddl/out/java/LambdaCube/IR/EdgeMode.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-03-21T15:32:16.153401000000Z 2// 2016-03-27T21:14:11.531713000000Z
3 3
4package LambdaCube.IR; 4package LambdaCube.IR;
5 5
diff --git a/ddl/out/java/LambdaCube/IR/FetchPrimitive.java b/ddl/out/java/LambdaCube/IR/FetchPrimitive.java
index 6543729..9b5b233 100644
--- a/ddl/out/java/LambdaCube/IR/FetchPrimitive.java
+++ b/ddl/out/java/LambdaCube/IR/FetchPrimitive.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-03-21T15:32:16.153401000000Z 2// 2016-03-27T21:14:11.531713000000Z
3 3
4package LambdaCube.IR; 4package LambdaCube.IR;
5 5
diff --git a/ddl/out/java/LambdaCube/IR/Filter.java b/ddl/out/java/LambdaCube/IR/Filter.java
index 7398a2e..03556df 100644
--- a/ddl/out/java/LambdaCube/IR/Filter.java
+++ b/ddl/out/java/LambdaCube/IR/Filter.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-03-21T15:32:16.153401000000Z 2// 2016-03-27T21:14:11.531713000000Z
3 3
4package LambdaCube.IR; 4package LambdaCube.IR;
5 5
diff --git a/ddl/out/java/LambdaCube/IR/FragmentOperation.java b/ddl/out/java/LambdaCube/IR/FragmentOperation.java
index c2e9290..5b01cb8 100644
--- a/ddl/out/java/LambdaCube/IR/FragmentOperation.java
+++ b/ddl/out/java/LambdaCube/IR/FragmentOperation.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-03-21T15:32:16.153401000000Z 2// 2016-03-27T21:14:11.531713000000Z
3 3
4package LambdaCube.IR; 4package LambdaCube.IR;
5 5
diff --git a/ddl/out/java/LambdaCube/IR/FrontFace.java b/ddl/out/java/LambdaCube/IR/FrontFace.java
index 7897723..146bde7 100644
--- a/ddl/out/java/LambdaCube/IR/FrontFace.java
+++ b/ddl/out/java/LambdaCube/IR/FrontFace.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-03-21T15:32:16.153401000000Z 2// 2016-03-27T21:14:11.531713000000Z
3 3
4package LambdaCube.IR; 4package LambdaCube.IR;
5 5
diff --git a/ddl/out/java/LambdaCube/IR/ImageRef.java b/ddl/out/java/LambdaCube/IR/ImageRef.java
index 333947c..c6ccb76 100644
--- a/ddl/out/java/LambdaCube/IR/ImageRef.java
+++ b/ddl/out/java/LambdaCube/IR/ImageRef.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-03-21T15:32:16.153401000000Z 2// 2016-03-27T21:14:11.531713000000Z
3 3
4package LambdaCube.IR; 4package LambdaCube.IR;
5 5
diff --git a/ddl/out/java/LambdaCube/IR/ImageSemantic.java b/ddl/out/java/LambdaCube/IR/ImageSemantic.java
index fc31e36..9f112e4 100644
--- a/ddl/out/java/LambdaCube/IR/ImageSemantic.java
+++ b/ddl/out/java/LambdaCube/IR/ImageSemantic.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-03-21T15:32:16.153401000000Z 2// 2016-03-27T21:14:11.531713000000Z
3 3
4package LambdaCube.IR; 4package LambdaCube.IR;
5 5
diff --git a/ddl/out/java/LambdaCube/IR/InputType.java b/ddl/out/java/LambdaCube/IR/InputType.java
index 1c8578d..0d11a6c 100644
--- a/ddl/out/java/LambdaCube/IR/InputType.java
+++ b/ddl/out/java/LambdaCube/IR/InputType.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-03-21T15:32:16.153401000000Z 2// 2016-03-27T21:14:11.531713000000Z
3 3
4package LambdaCube.IR; 4package LambdaCube.IR;
5 5
diff --git a/ddl/out/java/LambdaCube/IR/JSON.java b/ddl/out/java/LambdaCube/IR/JSON.java
index 953f675..81b3d2a 100644
--- a/ddl/out/java/LambdaCube/IR/JSON.java
+++ b/ddl/out/java/LambdaCube/IR/JSON.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-03-21T15:32:16.153401000000Z 2// 2016-03-27T21:14:11.531713000000Z
3 3
4package LambdaCube.IR; 4package LambdaCube.IR;
5 5
@@ -1536,6 +1536,7 @@ public class JSON {
1536 switch (tag) { 1536 switch (tag) {
1537 case "WebGL1": tagType = Backend.Tag.WebGL1; break; 1537 case "WebGL1": tagType = Backend.Tag.WebGL1; break;
1538 case "OpenGL33": tagType = Backend.Tag.OpenGL33; break; 1538 case "OpenGL33": tagType = Backend.Tag.OpenGL33; break;
1539 case "DirectX11": tagType = Backend.Tag.DirectX11; break;
1539 default: throw new Exception("unknown constructor: " + tag); 1540 default: throw new Exception("unknown constructor: " + tag);
1540 } 1541 }
1541 Backend o = new Backend(); 1542 Backend o = new Backend();
@@ -2972,6 +2973,9 @@ public class JSON {
2972 case OpenGL33: 2973 case OpenGL33:
2973 obj.put("tag", "OpenGL33"); 2974 obj.put("tag", "OpenGL33");
2974 break; 2975 break;
2976 case DirectX11:
2977 obj.put("tag", "DirectX11");
2978 break;
2975 } 2979 }
2976 return obj; 2980 return obj;
2977 } 2981 }
@@ -3325,6 +3329,6 @@ public class JSON {
3325 return obj; 3329 return obj;
3326 } 3330 }
3327 } 3331 }
3328 return null; 3332 throw new Exception("unknown type");
3329 } 3333 }
3330} \ No newline at end of file 3334} \ No newline at end of file
diff --git a/ddl/out/java/LambdaCube/IR/LogicOperation.java b/ddl/out/java/LambdaCube/IR/LogicOperation.java
index 76ad5f0..d44bddf 100644
--- a/ddl/out/java/LambdaCube/IR/LogicOperation.java
+++ b/ddl/out/java/LambdaCube/IR/LogicOperation.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-03-21T15:32:16.153401000000Z 2// 2016-03-27T21:14:11.531713000000Z
3 3
4package LambdaCube.IR; 4package LambdaCube.IR;
5 5
diff --git a/ddl/out/java/LambdaCube/IR/MipMap.java b/ddl/out/java/LambdaCube/IR/MipMap.java
index 3f4dd83..2c0eb23 100644
--- a/ddl/out/java/LambdaCube/IR/MipMap.java
+++ b/ddl/out/java/LambdaCube/IR/MipMap.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-03-21T15:32:16.153401000000Z 2// 2016-03-27T21:14:11.531713000000Z
3 3
4package LambdaCube.IR; 4package LambdaCube.IR;
5 5
diff --git a/ddl/out/java/LambdaCube/IR/OutputPrimitive.java b/ddl/out/java/LambdaCube/IR/OutputPrimitive.java
index 8573b52..00a5d29 100644
--- a/ddl/out/java/LambdaCube/IR/OutputPrimitive.java
+++ b/ddl/out/java/LambdaCube/IR/OutputPrimitive.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-03-21T15:32:16.153401000000Z 2// 2016-03-27T21:14:11.531713000000Z
3 3
4package LambdaCube.IR; 4package LambdaCube.IR;
5 5
diff --git a/ddl/out/java/LambdaCube/IR/Parameter.java b/ddl/out/java/LambdaCube/IR/Parameter.java
index c9bbb0e..57f9870 100644
--- a/ddl/out/java/LambdaCube/IR/Parameter.java
+++ b/ddl/out/java/LambdaCube/IR/Parameter.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-03-21T15:32:16.153401000000Z 2// 2016-03-27T21:14:11.531713000000Z
3 3
4package LambdaCube.IR; 4package LambdaCube.IR;
5 5
diff --git a/ddl/out/java/LambdaCube/IR/Pipeline.java b/ddl/out/java/LambdaCube/IR/Pipeline.java
index 5ec9134..5f8a69e 100644
--- a/ddl/out/java/LambdaCube/IR/Pipeline.java
+++ b/ddl/out/java/LambdaCube/IR/Pipeline.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-03-21T15:32:16.153401000000Z 2// 2016-03-27T21:14:11.531713000000Z
3 3
4package LambdaCube.IR; 4package LambdaCube.IR;
5 5
diff --git a/ddl/out/java/LambdaCube/IR/PointSize.java b/ddl/out/java/LambdaCube/IR/PointSize.java
index 034b6ef..a279849 100644
--- a/ddl/out/java/LambdaCube/IR/PointSize.java
+++ b/ddl/out/java/LambdaCube/IR/PointSize.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-03-21T15:32:16.153401000000Z 2// 2016-03-27T21:14:11.531713000000Z
3 3
4package LambdaCube.IR; 4package LambdaCube.IR;
5 5
diff --git a/ddl/out/java/LambdaCube/IR/PointSpriteCoordOrigin.java b/ddl/out/java/LambdaCube/IR/PointSpriteCoordOrigin.java
index 0adea89..311414a 100644
--- a/ddl/out/java/LambdaCube/IR/PointSpriteCoordOrigin.java
+++ b/ddl/out/java/LambdaCube/IR/PointSpriteCoordOrigin.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-03-21T15:32:16.153401000000Z 2// 2016-03-27T21:14:11.531713000000Z
3 3
4package LambdaCube.IR; 4package LambdaCube.IR;
5 5
diff --git a/ddl/out/java/LambdaCube/IR/PolygonMode.java b/ddl/out/java/LambdaCube/IR/PolygonMode.java
index 66ae75b..87f899c 100644
--- a/ddl/out/java/LambdaCube/IR/PolygonMode.java
+++ b/ddl/out/java/LambdaCube/IR/PolygonMode.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-03-21T15:32:16.153401000000Z 2// 2016-03-27T21:14:11.531713000000Z
3 3
4package LambdaCube.IR; 4package LambdaCube.IR;
5 5
diff --git a/ddl/out/java/LambdaCube/IR/PolygonOffset.java b/ddl/out/java/LambdaCube/IR/PolygonOffset.java
index 723902c..b3b7ecd 100644
--- a/ddl/out/java/LambdaCube/IR/PolygonOffset.java
+++ b/ddl/out/java/LambdaCube/IR/PolygonOffset.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-03-21T15:32:16.153401000000Z 2// 2016-03-27T21:14:11.531713000000Z
3 3
4package LambdaCube.IR; 4package LambdaCube.IR;
5 5
diff --git a/ddl/out/java/LambdaCube/IR/Program.java b/ddl/out/java/LambdaCube/IR/Program.java
index 2a4d203..d9d060c 100644
--- a/ddl/out/java/LambdaCube/IR/Program.java
+++ b/ddl/out/java/LambdaCube/IR/Program.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-03-21T15:32:16.153401000000Z 2// 2016-03-27T21:14:11.531713000000Z
3 3
4package LambdaCube.IR; 4package LambdaCube.IR;
5 5
diff --git a/ddl/out/java/LambdaCube/IR/ProvokingVertex.java b/ddl/out/java/LambdaCube/IR/ProvokingVertex.java
index 4f168a8..8dcfaff 100644
--- a/ddl/out/java/LambdaCube/IR/ProvokingVertex.java
+++ b/ddl/out/java/LambdaCube/IR/ProvokingVertex.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-03-21T15:32:16.153401000000Z 2// 2016-03-27T21:14:11.531713000000Z
3 3
4package LambdaCube.IR; 4package LambdaCube.IR;
5 5
diff --git a/ddl/out/java/LambdaCube/IR/RasterContext.java b/ddl/out/java/LambdaCube/IR/RasterContext.java
index c3c96af..ec85172 100644
--- a/ddl/out/java/LambdaCube/IR/RasterContext.java
+++ b/ddl/out/java/LambdaCube/IR/RasterContext.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-03-21T15:32:16.153401000000Z 2// 2016-03-27T21:14:11.531713000000Z
3 3
4package LambdaCube.IR; 4package LambdaCube.IR;
5 5
diff --git a/ddl/out/java/LambdaCube/IR/RenderTarget.java b/ddl/out/java/LambdaCube/IR/RenderTarget.java
index 9634405..b03cdf9 100644
--- a/ddl/out/java/LambdaCube/IR/RenderTarget.java
+++ b/ddl/out/java/LambdaCube/IR/RenderTarget.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-03-21T15:32:16.153401000000Z 2// 2016-03-27T21:14:11.531713000000Z
3 3
4package LambdaCube.IR; 4package LambdaCube.IR;
5 5
diff --git a/ddl/out/java/LambdaCube/IR/SamplerDescriptor.java b/ddl/out/java/LambdaCube/IR/SamplerDescriptor.java
index 022b5f1..9b87751 100644
--- a/ddl/out/java/LambdaCube/IR/SamplerDescriptor.java
+++ b/ddl/out/java/LambdaCube/IR/SamplerDescriptor.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-03-21T15:32:16.153401000000Z 2// 2016-03-27T21:14:11.531713000000Z
3 3
4package LambdaCube.IR; 4package LambdaCube.IR;
5 5
diff --git a/ddl/out/java/LambdaCube/IR/Slot.java b/ddl/out/java/LambdaCube/IR/Slot.java
index 672f23f..5541d5f 100644
--- a/ddl/out/java/LambdaCube/IR/Slot.java
+++ b/ddl/out/java/LambdaCube/IR/Slot.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-03-21T15:32:16.153401000000Z 2// 2016-03-27T21:14:11.531713000000Z
3 3
4package LambdaCube.IR; 4package LambdaCube.IR;
5 5
diff --git a/ddl/out/java/LambdaCube/IR/StencilOperation.java b/ddl/out/java/LambdaCube/IR/StencilOperation.java
index 0c836a0..4a58ac4 100644
--- a/ddl/out/java/LambdaCube/IR/StencilOperation.java
+++ b/ddl/out/java/LambdaCube/IR/StencilOperation.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-03-21T15:32:16.153401000000Z 2// 2016-03-27T21:14:11.531713000000Z
3 3
4package LambdaCube.IR; 4package LambdaCube.IR;
5 5
diff --git a/ddl/out/java/LambdaCube/IR/StencilOps.java b/ddl/out/java/LambdaCube/IR/StencilOps.java
index 4875480..b6345a6 100644
--- a/ddl/out/java/LambdaCube/IR/StencilOps.java
+++ b/ddl/out/java/LambdaCube/IR/StencilOps.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-03-21T15:32:16.153401000000Z 2// 2016-03-27T21:14:11.531713000000Z
3 3
4package LambdaCube.IR; 4package LambdaCube.IR;
5 5
diff --git a/ddl/out/java/LambdaCube/IR/StencilTest.java b/ddl/out/java/LambdaCube/IR/StencilTest.java
index 382f7e3..4dc2d64 100644
--- a/ddl/out/java/LambdaCube/IR/StencilTest.java
+++ b/ddl/out/java/LambdaCube/IR/StencilTest.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-03-21T15:32:16.153401000000Z 2// 2016-03-27T21:14:11.531713000000Z
3 3
4package LambdaCube.IR; 4package LambdaCube.IR;
5 5
diff --git a/ddl/out/java/LambdaCube/IR/StencilTests.java b/ddl/out/java/LambdaCube/IR/StencilTests.java
index 48fabe3..e895f0c 100644
--- a/ddl/out/java/LambdaCube/IR/StencilTests.java
+++ b/ddl/out/java/LambdaCube/IR/StencilTests.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-03-21T15:32:16.153401000000Z 2// 2016-03-27T21:14:11.531713000000Z
3 3
4package LambdaCube.IR; 4package LambdaCube.IR;
5 5
diff --git a/ddl/out/java/LambdaCube/IR/StreamData.java b/ddl/out/java/LambdaCube/IR/StreamData.java
index 2a29d66..d9ac431 100644
--- a/ddl/out/java/LambdaCube/IR/StreamData.java
+++ b/ddl/out/java/LambdaCube/IR/StreamData.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-03-21T15:32:16.153401000000Z 2// 2016-03-27T21:14:11.531713000000Z
3 3
4package LambdaCube.IR; 4package LambdaCube.IR;
5 5
diff --git a/ddl/out/java/LambdaCube/IR/TargetItem.java b/ddl/out/java/LambdaCube/IR/TargetItem.java
index 65c3845..08d7b37 100644
--- a/ddl/out/java/LambdaCube/IR/TargetItem.java
+++ b/ddl/out/java/LambdaCube/IR/TargetItem.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-03-21T15:32:16.153401000000Z 2// 2016-03-27T21:14:11.531713000000Z
3 3
4package LambdaCube.IR; 4package LambdaCube.IR;
5 5
diff --git a/ddl/out/java/LambdaCube/IR/TextureDataType.java b/ddl/out/java/LambdaCube/IR/TextureDataType.java
index 8b39deb..ddda33d 100644
--- a/ddl/out/java/LambdaCube/IR/TextureDataType.java
+++ b/ddl/out/java/LambdaCube/IR/TextureDataType.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-03-21T15:32:16.153401000000Z 2// 2016-03-27T21:14:11.531713000000Z
3 3
4package LambdaCube.IR; 4package LambdaCube.IR;
5 5
diff --git a/ddl/out/java/LambdaCube/IR/TextureDescriptor.java b/ddl/out/java/LambdaCube/IR/TextureDescriptor.java
index 6d9b259..c6cdb62 100644
--- a/ddl/out/java/LambdaCube/IR/TextureDescriptor.java
+++ b/ddl/out/java/LambdaCube/IR/TextureDescriptor.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-03-21T15:32:16.153401000000Z 2// 2016-03-27T21:14:11.531713000000Z
3 3
4package LambdaCube.IR; 4package LambdaCube.IR;
5 5
diff --git a/ddl/out/java/LambdaCube/IR/TextureType.java b/ddl/out/java/LambdaCube/IR/TextureType.java
index 9321517..da8e1d4 100644
--- a/ddl/out/java/LambdaCube/IR/TextureType.java
+++ b/ddl/out/java/LambdaCube/IR/TextureType.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-03-21T15:32:16.153401000000Z 2// 2016-03-27T21:14:11.531713000000Z
3 3
4package LambdaCube.IR; 4package LambdaCube.IR;
5 5
diff --git a/ddl/out/java/LambdaCube/IR/Value.java b/ddl/out/java/LambdaCube/IR/Value.java
index 980417b..97352c0 100644
--- a/ddl/out/java/LambdaCube/IR/Value.java
+++ b/ddl/out/java/LambdaCube/IR/Value.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-03-21T15:32:16.153401000000Z 2// 2016-03-27T21:14:11.531713000000Z
3 3
4package LambdaCube.IR; 4package LambdaCube.IR;
5 5
diff --git a/ddl/out/java/LambdaCube/Mesh/JSON.java b/ddl/out/java/LambdaCube/Mesh/JSON.java
index 2d65a3a..246812a 100644
--- a/ddl/out/java/LambdaCube/Mesh/JSON.java
+++ b/ddl/out/java/LambdaCube/Mesh/JSON.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-03-21T15:32:17.804995000000Z 2// 2016-03-27T21:14:12.377390000000Z
3 3
4package LambdaCube.Mesh; 4package LambdaCube.Mesh;
5 5
@@ -511,6 +511,6 @@ public class JSON {
511 return obj; 511 return obj;
512 } 512 }
513 } 513 }
514 return null; 514 throw new Exception("unknown type");
515 } 515 }
516} \ No newline at end of file 516} \ No newline at end of file
diff --git a/ddl/out/java/LambdaCube/Mesh/Mesh.java b/ddl/out/java/LambdaCube/Mesh/Mesh.java
index 02b872b..7aeaa31 100644
--- a/ddl/out/java/LambdaCube/Mesh/Mesh.java
+++ b/ddl/out/java/LambdaCube/Mesh/Mesh.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-03-21T15:32:17.804995000000Z 2// 2016-03-27T21:14:12.377390000000Z
3 3
4package LambdaCube.Mesh; 4package LambdaCube.Mesh;
5 5
diff --git a/ddl/out/java/LambdaCube/Mesh/MeshAttribute.java b/ddl/out/java/LambdaCube/Mesh/MeshAttribute.java
index 61a9c79..422658f 100644
--- a/ddl/out/java/LambdaCube/Mesh/MeshAttribute.java
+++ b/ddl/out/java/LambdaCube/Mesh/MeshAttribute.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-03-21T15:32:17.804995000000Z 2// 2016-03-27T21:14:12.377390000000Z
3 3
4package LambdaCube.Mesh; 4package LambdaCube.Mesh;
5 5
diff --git a/ddl/out/java/LambdaCube/Mesh/MeshPrimitive.java b/ddl/out/java/LambdaCube/Mesh/MeshPrimitive.java
index 43de590..bcd113f 100644
--- a/ddl/out/java/LambdaCube/Mesh/MeshPrimitive.java
+++ b/ddl/out/java/LambdaCube/Mesh/MeshPrimitive.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-03-21T15:32:17.804995000000Z 2// 2016-03-27T21:14:12.377390000000Z
3 3
4package LambdaCube.Mesh; 4package LambdaCube.Mesh;
5 5
diff --git a/ddl/out/java/LambdaCube/PipelineSchema/JSON.java b/ddl/out/java/LambdaCube/PipelineSchema/JSON.java
index 1667518..f997a51 100644
--- a/ddl/out/java/LambdaCube/PipelineSchema/JSON.java
+++ b/ddl/out/java/LambdaCube/PipelineSchema/JSON.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-03-21T15:32:17.702608000000Z 2// 2016-03-27T21:14:12.321500000000Z
3 3
4package LambdaCube.PipelineSchema; 4package LambdaCube.PipelineSchema;
5 5
@@ -251,6 +251,6 @@ public class JSON {
251 return obj; 251 return obj;
252 } 252 }
253 } 253 }
254 return null; 254 throw new Exception("unknown type");
255 } 255 }
256} \ No newline at end of file 256} \ No newline at end of file
diff --git a/ddl/out/java/LambdaCube/PipelineSchema/ObjectArraySchema.java b/ddl/out/java/LambdaCube/PipelineSchema/ObjectArraySchema.java
index adb12ff..710496c 100644
--- a/ddl/out/java/LambdaCube/PipelineSchema/ObjectArraySchema.java
+++ b/ddl/out/java/LambdaCube/PipelineSchema/ObjectArraySchema.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-03-21T15:32:17.702608000000Z 2// 2016-03-27T21:14:12.321500000000Z
3 3
4package LambdaCube.PipelineSchema; 4package LambdaCube.PipelineSchema;
5 5
diff --git a/ddl/out/java/LambdaCube/PipelineSchema/PipelineSchema.java b/ddl/out/java/LambdaCube/PipelineSchema/PipelineSchema.java
index cc221a8..46d55f5 100644
--- a/ddl/out/java/LambdaCube/PipelineSchema/PipelineSchema.java
+++ b/ddl/out/java/LambdaCube/PipelineSchema/PipelineSchema.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-03-21T15:32:17.702608000000Z 2// 2016-03-27T21:14:12.321500000000Z
3 3
4package LambdaCube.PipelineSchema; 4package LambdaCube.PipelineSchema;
5 5
diff --git a/ddl/out/java/LambdaCube/PipelineSchema/StreamType.java b/ddl/out/java/LambdaCube/PipelineSchema/StreamType.java
index f7007b5..b44a46a 100644
--- a/ddl/out/java/LambdaCube/PipelineSchema/StreamType.java
+++ b/ddl/out/java/LambdaCube/PipelineSchema/StreamType.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-03-21T15:32:17.702608000000Z 2// 2016-03-27T21:14:12.321500000000Z
3 3
4package LambdaCube.PipelineSchema; 4package LambdaCube.PipelineSchema;
5 5
diff --git a/ddl/out/java/LambdaCube/TypeInfo/CompileResult.java b/ddl/out/java/LambdaCube/TypeInfo/CompileResult.java
index 4235172..ae8092a 100644
--- a/ddl/out/java/LambdaCube/TypeInfo/CompileResult.java
+++ b/ddl/out/java/LambdaCube/TypeInfo/CompileResult.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-03-21T15:32:17.924228000000Z 2// 2016-03-27T21:14:12.510273000000Z
3 3
4package LambdaCube.TypeInfo; 4package LambdaCube.TypeInfo;
5 5
diff --git a/ddl/out/java/LambdaCube/TypeInfo/JSON.java b/ddl/out/java/LambdaCube/TypeInfo/JSON.java
index 6679e5d..7c73c69 100644
--- a/ddl/out/java/LambdaCube/TypeInfo/JSON.java
+++ b/ddl/out/java/LambdaCube/TypeInfo/JSON.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-03-21T15:32:17.924228000000Z 2// 2016-03-27T21:14:12.510273000000Z
3 3
4package LambdaCube.TypeInfo; 4package LambdaCube.TypeInfo;
5 5
@@ -180,6 +180,6 @@ public class JSON {
180 return obj; 180 return obj;
181 } 181 }
182 } 182 }
183 return null; 183 throw new Exception("unknown type");
184 } 184 }
185} \ No newline at end of file 185} \ No newline at end of file
diff --git a/ddl/out/java/LambdaCube/TypeInfo/Range.java b/ddl/out/java/LambdaCube/TypeInfo/Range.java
index 36ab145..b84fd2c 100644
--- a/ddl/out/java/LambdaCube/TypeInfo/Range.java
+++ b/ddl/out/java/LambdaCube/TypeInfo/Range.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-03-21T15:32:17.924228000000Z 2// 2016-03-27T21:14:12.510273000000Z
3 3
4package LambdaCube.TypeInfo; 4package LambdaCube.TypeInfo;
5 5
diff --git a/ddl/out/java/LambdaCube/TypeInfo/TypeInfo.java b/ddl/out/java/LambdaCube/TypeInfo/TypeInfo.java
index febda4b..70029a3 100644
--- a/ddl/out/java/LambdaCube/TypeInfo/TypeInfo.java
+++ b/ddl/out/java/LambdaCube/TypeInfo/TypeInfo.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-03-21T15:32:17.924228000000Z 2// 2016-03-27T21:14:12.510273000000Z
3 3
4package LambdaCube.TypeInfo; 4package LambdaCube.TypeInfo;
5 5
diff --git a/ddl/out/java/TestData/ClientInfo.java b/ddl/out/java/TestData/ClientInfo.java
index 2bedf17..a74d5bd 100644
--- a/ddl/out/java/TestData/ClientInfo.java
+++ b/ddl/out/java/TestData/ClientInfo.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-03-21T15:32:18.087397000000Z 2// 2016-03-27T21:14:12.566976000000Z
3 3
4package TestData; 4package TestData;
5 5
diff --git a/ddl/out/java/TestData/Frame.java b/ddl/out/java/TestData/Frame.java
index a91fab6..9f3ebea 100644
--- a/ddl/out/java/TestData/Frame.java
+++ b/ddl/out/java/TestData/Frame.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-03-21T15:32:18.087397000000Z 2// 2016-03-27T21:14:12.566976000000Z
3 3
4package TestData; 4package TestData;
5 5
diff --git a/ddl/out/java/TestData/FrameResult.java b/ddl/out/java/TestData/FrameResult.java
index 81c96d7..9a7c1e4 100644
--- a/ddl/out/java/TestData/FrameResult.java
+++ b/ddl/out/java/TestData/FrameResult.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-03-21T15:32:18.087397000000Z 2// 2016-03-27T21:14:12.566976000000Z
3 3
4package TestData; 4package TestData;
5 5
diff --git a/ddl/out/java/TestData/JSON.java b/ddl/out/java/TestData/JSON.java
index 098105d..5bb2c90 100644
--- a/ddl/out/java/TestData/JSON.java
+++ b/ddl/out/java/TestData/JSON.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-03-21T15:32:18.087397000000Z 2// 2016-03-27T21:14:12.566976000000Z
3 3
4package TestData; 4package TestData;
5 5
@@ -447,6 +447,6 @@ public class JSON {
447 return obj; 447 return obj;
448 } 448 }
449 } 449 }
450 return null; 450 throw new Exception("unknown type");
451 } 451 }
452} \ No newline at end of file 452} \ No newline at end of file
diff --git a/ddl/out/java/TestData/PipelineInfo.java b/ddl/out/java/TestData/PipelineInfo.java
index dd0bbab..1dc74e6 100644
--- a/ddl/out/java/TestData/PipelineInfo.java
+++ b/ddl/out/java/TestData/PipelineInfo.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-03-21T15:32:18.087397000000Z 2// 2016-03-27T21:14:12.566976000000Z
3 3
4package TestData; 4package TestData;
5 5
diff --git a/ddl/out/java/TestData/RenderJob.java b/ddl/out/java/TestData/RenderJob.java
index 9c54448..1f8edba 100644
--- a/ddl/out/java/TestData/RenderJob.java
+++ b/ddl/out/java/TestData/RenderJob.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-03-21T15:32:18.087397000000Z 2// 2016-03-27T21:14:12.566976000000Z
3 3
4package TestData; 4package TestData;
5 5
diff --git a/ddl/out/java/TestData/RenderJobResult.java b/ddl/out/java/TestData/RenderJobResult.java
index df887d5..dca52e1 100644
--- a/ddl/out/java/TestData/RenderJobResult.java
+++ b/ddl/out/java/TestData/RenderJobResult.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-03-21T15:32:18.087397000000Z 2// 2016-03-27T21:14:12.566976000000Z
3 3
4package TestData; 4package TestData;
5 5
diff --git a/ddl/out/java/TestData/Scene.java b/ddl/out/java/TestData/Scene.java
index 9345476..205fb44 100644
--- a/ddl/out/java/TestData/Scene.java
+++ b/ddl/out/java/TestData/Scene.java
@@ -1,5 +1,5 @@
1// generated file, do not modify! 1// generated file, do not modify!
2// 2016-03-21T15:32:18.087397000000Z 2// 2016-03-27T21:14:12.566976000000Z
3 3
4package TestData; 4package TestData;
5 5
diff --git a/ddl/templates/data.cs.ede b/ddl/templates/data.cs.ede
index 08dc42c..e7f4459 100644
--- a/ddl/templates/data.cs.ede
+++ b/ddl/templates/data.cs.ede
@@ -73,9 +73,9 @@ namespace {{ moduleName }} {
73 return map; 73 return map;
74 } 74 }
75 {% when "Array" %} 75 {% when "Array" %}
76 case Type.{{ t.value | typeEnum }}: return ((JArray)obj).Select(x => fromJSON (Type.{{ t.value.type_ | typeEnum }}, x)).ToList(); 76 case Type.{{ t.value | typeEnum }}: return ((JArray)obj).Select(x => ({{ t.value.type_ | csType }})fromJSON (Type.{{ t.value.type_ | typeEnum }}, x)).ToList();
77 {% when "List" %} 77 {% when "List" %}
78 case Type.{{ t.value | typeEnum }}: return ((JArray)obj).Select(x => fromJSON (Type.{{ t.value.type_ | typeEnum }}, x)).ToList(); 78 case Type.{{ t.value | typeEnum }}: return ((JArray)obj).Select(x => ({{ t.value.type_ | csType }})fromJSON (Type.{{ t.value.type_ | typeEnum }}, x)).ToList();
79 {% when "Maybe" %} 79 {% when "Maybe" %}
80 case Type.{{ t.value | typeEnum }}: { 80 case Type.{{ t.value | typeEnum }}: {
81 var m = new {{ t.value | csType }} (); 81 var m = new {{ t.value | csType }} ();
@@ -124,7 +124,7 @@ namespace {{ moduleName }} {
124 } 124 }
125 125
126 {% for t in definitions %} 126 {% for t in definitions %}
127 JToken toJSON({{ t.value.dataName }} v) { 127 public static JToken toJSON({{ t.value.dataName }} v) {
128 var obj = new JObject(); 128 var obj = new JObject();
129 switch (v.tag) { {% for c in t.value.constructors %} 129 switch (v.tag) { {% for c in t.value.constructors %}
130 case {{ t.value.dataName }}.Tag.{{ c.value.name }}: 130 case {{ t.value.dataName }}.Tag.{{ c.value.name }}:
@@ -144,14 +144,14 @@ namespace {{ moduleName }} {
144 {% case t.value.tag %} 144 {% case t.value.tag %}
145 {% when "Data" %} 145 {% when "Data" %}
146 {% when "V2" %} 146 {% when "V2" %}
147 JToken toJSON({{ t.value | csType }} v) { 147 public static JToken toJSON({{ t.value | csType }} v) {
148 var obj = new JObject(); 148 var obj = new JObject();
149 obj["x"] = toJSON(v.x); 149 obj["x"] = toJSON(v.x);
150 obj["y"] = toJSON(v.y); 150 obj["y"] = toJSON(v.y);
151 return obj; 151 return obj;
152 } 152 }
153 {% when "V3" %} 153 {% when "V3" %}
154 JToken toJSON({{ t.value | csType }} v) { 154 public static JToken toJSON({{ t.value | csType }} v) {
155 var obj = new JObject(); 155 var obj = new JObject();
156 obj["x"] = toJSON(v.x); 156 obj["x"] = toJSON(v.x);
157 obj["y"] = toJSON(v.y); 157 obj["y"] = toJSON(v.y);
@@ -159,7 +159,7 @@ namespace {{ moduleName }} {
159 return obj; 159 return obj;
160 } 160 }
161 {% when "V4" %} 161 {% when "V4" %}
162 JToken toJSON({{ t.value | csType }} v) { 162 public static JToken toJSON({{ t.value | csType }} v) {
163 var obj = new JObject(); 163 var obj = new JObject();
164 obj["x"] = toJSON(v.x); 164 obj["x"] = toJSON(v.x);
165 obj["y"] = toJSON(v.y); 165 obj["y"] = toJSON(v.y);
@@ -168,14 +168,14 @@ namespace {{ moduleName }} {
168 return obj; 168 return obj;
169 } 169 }
170 {% when "Maybe" %} 170 {% when "Maybe" %}
171 JToken toJSON({{ t.value | csType }} v) { 171 public static JToken toJSON({{ t.value | csType }} v) {
172 if (v.valid) { 172 if (v.valid) {
173 return toJSON(v.data); 173 return toJSON(v.data);
174 } 174 }
175 return new JValue((string)null); 175 return new JValue((string)null);
176 } 176 }
177 {% when "Map" %} 177 {% when "Map" %}
178 JToken toJSON({{ t.value | csType }} v) { 178 public static JToken toJSON({{ t.value | csType }} v) {
179 var obj = new JObject(); 179 var obj = new JObject();
180 foreach (var i in v) { 180 foreach (var i in v) {
181 obj[i.Key] = toJSON(i.Value); 181 obj[i.Key] = toJSON(i.Value);
@@ -183,7 +183,7 @@ namespace {{ moduleName }} {
183 return obj; 183 return obj;
184 } 184 }
185 {% when "Array" %} 185 {% when "Array" %}
186 JToken toJSON({{ t.value | csType }} v) { 186 public static JToken toJSON({{ t.value | csType }} v) {
187 var obj = new JArray(); 187 var obj = new JArray();
188 foreach (var i in v) { 188 foreach (var i in v) {
189 obj.Add(toJSON(i)); 189 obj.Add(toJSON(i));
@@ -191,7 +191,7 @@ namespace {{ moduleName }} {
191 return obj; 191 return obj;
192 } 192 }
193 {% when "List" %} 193 {% when "List" %}
194 JToken toJSON({{ t.value | csType }} v) { 194 public static JToken toJSON({{ t.value | csType }} v) {
195 var obj = new JArray(); 195 var obj = new JArray();
196 foreach (var i in v) { 196 foreach (var i in v) {
197 obj.Add(toJSON(i)); 197 obj.Add(toJSON(i));
@@ -199,7 +199,7 @@ namespace {{ moduleName }} {
199 return obj; 199 return obj;
200 } 200 }
201 {% else %} 201 {% else %}
202 JToken toJSON({{ t.value | csType }} v) { return new JValue(v); } 202 public static JToken toJSON({{ t.value | csType }} v) { return new JValue(v); }
203 {% endcase %} 203 {% endcase %}
204 {% endfor %} 204 {% endfor %}
205 } 205 }
diff --git a/ddl/templates/json.java.ede b/ddl/templates/json.java.ede
index dc4ea25..d644ef6 100644
--- a/ddl/templates/json.java.ede
+++ b/ddl/templates/json.java.ede
@@ -219,6 +219,6 @@ public class JSON {
219 {% endcase %} 219 {% endcase %}
220 {% endfor %} 220 {% endfor %}
221 } 221 }
222 return null; 222 throw new Exception("unknown type");
223 } 223 }
224} \ No newline at end of file 224} \ No newline at end of file