2 using System.Collections.Generic;
8 using Tizen.NUI.Xaml.Build.Tasks;
10 using static Mono.Cecil.Cil.Instruction;
11 using static Mono.Cecil.Cil.OpCodes;
13 namespace Tizen.NUI.Xaml.Core.XamlC
15 class ListStringTypeConverter : ICompiledTypeConverter
17 public IEnumerable<Instruction> ConvertFromString(string value, ILContext context, BaseNode node)
19 var module = context.Body.Method.Module;
22 yield return Create(Ldnull);
25 var parts = value.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries).Select(s => s.Trim()).ToList();
27 yield return Create(Ldc_I4, parts.Count);
28 yield return Create(Newobj, module.ImportCtorReference(("System.Collections", "System.Collections.Generic", "List`1"),
29 parameterTypes: new[] { ("mscorlib", "System", "Int32") },
30 classArguments: new[] { ("mscorlib", "System", "String") }));
31 foreach (var part in parts) {
32 yield return Create(Dup);
33 yield return Create(Ldstr, part);
34 yield return Create(Callvirt, module.ImportMethodReference(("mscorlib", "System.Collections.Generic", "ICollection`1"),
37 classArguments: new[] { ("mscorlib", "System", "String") }));