From 1565b1354584ef9a4fb500e8f32b050c97d1b0e0 Mon Sep 17 00:00:00 2001 From: Zihan Chen Date: Fri, 23 Sep 2016 18:04:17 -0700 Subject: [PATCH] Update TODO.md for Workflow to C++ code generation --- Import/TODO.md | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/Import/TODO.md b/Import/TODO.md index 24197de7..ea0d0b9a 100644 --- a/Import/TODO.md +++ b/Import/TODO.md @@ -1,14 +1,15 @@ # TODO * Workflow - * Enum - * Struct - * Expression: new T{x}, Enum.Item - * async, delay, yield (provider written in C++) - * Workflow to C++ code generation with hint - * Only `Enumerable^` and `ObservableList^` are allowed in script - * All native classes report real C++ collection type when using collection objects - * Only `TypedValueSerializerProvider` instances support serialization (e.g. `Color`) + * Enum, `(Item1 | Item2 | Item3)::Enum`, giving a type is not always necessary. + * Struct, `{fontFamily:'Segoe UI', size:10}::FontProperties`, giving a type is not always necessary. + * async, delay, yield (provider written in C++). **low priority** + * Limited serialization + * Disable serialization for struct and enum. + * Only `TypedValueSerializerProvider` instances support serialization (e.g. `Color`), or provide a global type conversion interface and registration for type. Only the type author of T can provide all convensions from T to U. + * Workflow to C++ code generation with hint. + * Only `Enumerable^` and `ObservableList^` are allowed in script. + * All native classes report real C++ collection type when using collection objects. * C++ code generator reports errors when any script does not satisfy these rules * GacUI Resource * InheritableCustomWindow @@ -20,6 +21,9 @@ * Pure C++ Code Generation * Visual State, State Machine, Animation * ev.Event-(eval|async|delayed) + * Special grammar kicks in when assigning a text literal to non-serializable struct or enum types + * enum: `Item1 | Item2 | Item2`, the same as previous. + * struct: `fontFamily:'Segoe UI' size:10`, the same as previous, but no more {} escaping. * Core * Make ItemSource from constructor argument to property * Embedded Languages: Colorizer, AutoComplete