Revert "[NUI][XamlBuild] Fix Xaml issues reported by VD"
authorFang Xiaohui <xiaohui.fang@samsung.com>
Tue, 29 Mar 2022 07:54:36 +0000 (15:54 +0800)
committerJaehyun Cho <jaehyun0cho@gmail.com>
Wed, 20 Apr 2022 08:38:08 +0000 (17:38 +0900)
This reverts commit cf1af463fc31a1e07d3abc26511a02c071f7e8cd.

pkg/Tizen.NET.API9/xamlbuild/Tizen.NUI.XamlBuild.dll [deleted file]
src/Tizen.NUI.XamlBuild/src/public/EXamlBuild/EXamlContext.cs
src/Tizen.NUI.XamlBuild/src/public/EXamlBuild/EXamlCreateObjectVisitor.cs
src/Tizen.NUI.XamlBuild/src/public/EXamlBuild/EXamlSetPropertiesVisitor.cs
src/Tizen.NUI.XamlBuild/src/public/XamlBuild/NodeILExtensions.cs
src/Tizen.NUI.XamlBuild/src/public/XamlBuild/TypeReferenceExtensions.cs
src/Tizen.NUI.XamlBuild/src/public/XamlBuild/XamlTask.cs
src/Tizen.NUI/src/internal/EXaml/Action/GetValueAction.cs
src/Tizen.NUI/src/internal/EXaml/Operation/CreateObject.cs

diff --git a/pkg/Tizen.NET.API9/xamlbuild/Tizen.NUI.XamlBuild.dll b/pkg/Tizen.NET.API9/xamlbuild/Tizen.NUI.XamlBuild.dll
deleted file mode 100644 (file)
index cd0054a..0000000
Binary files a/pkg/Tizen.NET.API9/xamlbuild/Tizen.NUI.XamlBuild.dll and /dev/null differ
index 7426f3b..2c4de0c 100755 (executable)
@@ -622,11 +622,7 @@ namespace Tizen.NUI.EXaml.Build.Tasks
             //Fang: How to deal the Enum
             string ret = "";
 
-            if (System.Type.Missing == valueObject)
-            {
-                ret += "yy ";
-            }
-            else if (null == valueObject)
+            if (null == valueObject)
             {
                 ret += "zz ";
             }
index e50364f..9d76d01 100755 (executable)
@@ -128,7 +128,7 @@ namespace Tizen.NUI.EXaml.Build.Tasks
                     VariableDefinition vardef = new VariableDefinition(typeref);
                     Context.Variables[node] = vardef;
 
-                    var argumentList = GetCtorXArguments(node, factoryCtorInfo.Parameters.Count, true);
+                    var argumentList = GetCtorXArguments(node, factoryCtorInfo.Parameters.Count);
                     Context.Values[node] = new EXamlCreateObject(Context, null, typedef, argumentList.ToArray());
                     return;
                 }
@@ -164,7 +164,7 @@ namespace Tizen.NUI.EXaml.Build.Tasks
                 VariableDefinition vardef = new VariableDefinition(typeref);
                 Context.Variables[node] = vardef;
 
-                var argumentList = GetCtorXArguments(node, factoryMethodInfo.Parameters.Count, false);
+                var argumentList = GetCtorXArguments(node, factoryMethodInfo.Parameters.Count);
                 Context.Values[node] = new EXamlCreateObject(Context, null, typedef, factoryMethodInfo, argumentList?.ToArray());
                 return;
             }
@@ -454,7 +454,7 @@ namespace Tizen.NUI.EXaml.Build.Tasks
             return true;
         }
 
-        List<object> GetCtorXArguments(ElementNode enode, int paramsCount, bool isConstructor)
+        List<object> GetCtorXArguments(ElementNode enode, int paramsCount)
         {
             if (!enode.Properties.ContainsKey(XmlName.xArguments))
             {
@@ -483,12 +483,9 @@ namespace Tizen.NUI.EXaml.Build.Tasks
                 argumentList.Add(Context.Values[arguments[i]]);
             }
 
-            if (!isConstructor)
+            for (int i = arguments.Count; i < paramsCount; i++)
             {
-                for (int i = arguments.Count; i < paramsCount; i++)
-                {
-                    argumentList.Add(Type.Missing);
-                }
+                argumentList.Add(null);
             }
 
             return argumentList;
index 5a990ac..737cb84 100755 (executable)
@@ -804,15 +804,7 @@ namespace Tizen.NUI.EXaml.Build.Tasks
             var realValue = context.Values[elementNode] as EXamlCreateObject;
             if (null != realValue)
             {
-                var valueTypeRef = realValue.GetType();
-                if (valueTypeRef.InheritsFromOrImplements(propertyType))
-                {
-                    return true;
-                }
-
-                var realTypeFromMarkupExtension = valueTypeRef.GetRealTypeIfIsMarkupExtension();
-
-                if (true == realTypeFromMarkupExtension?.InheritsFromOrImplements(propertyType))
+                if (realValue.GetType().InheritsFromOrImplements(propertyType))
                 {
                     return true;
                 }
index 0345b9e..7e46b32 100755 (executable)
@@ -434,12 +434,12 @@ namespace Tizen.NUI.Xaml.Build.Tasks
             else if (targetTypeRef.FullName == "System.UInt16")
                 yield return Instruction.Create(OpCodes.Ldc_I4, unchecked((int)UInt16.Parse(str, CultureInfo.InvariantCulture)));
             else if (targetTypeRef.FullName == "System.UInt32")
-                yield return Instruction.Create(OpCodes.Ldc_I4, unchecked((int)UInt32.Parse(str, CultureInfo.InvariantCulture)));
+                yield return Instruction.Create(OpCodes.Ldc_I8, unchecked((uint)UInt32.Parse(str, CultureInfo.InvariantCulture)));
             else if (targetTypeRef.FullName == "System.UInt64")
                 yield return Instruction.Create(OpCodes.Ldc_I8, unchecked((long)UInt64.Parse(str, CultureInfo.InvariantCulture)));
             else if (targetTypeRef.FullName == "System.Single")
             {
-                if (null != GetDPValueSubFix(str))
+                if (str.EndsWith("dp") || str.EndsWith("px"))
                 {
                     var insOfDPValue = GetDPValue(module, node, targetTypeRef, str);
 
index 914afc4..4ff87b2 100755 (executable)
@@ -290,34 +290,6 @@ namespace Tizen.NUI.Xaml.Build.Tasks
             return typeRef.InheritsFromOrImplements(baseClass);
         }
 
-        public static TypeReference GetRealTypeIfIsMarkupExtension(this TypeReference typeRef)
-        {
-            TypeReference ret = null;
-
-            var typeDef = typeRef.ResolveCached();
-
-            foreach (var @interface in typeDef.Interfaces)
-            {
-                if (@interface.InterfaceType is GenericInstanceType instanceType)
-                {
-                    if ("Tizen.NUI.Xaml.IMarkupExtension`1" == instanceType.ElementType.FullName
-                        &&
-                        1 == instanceType.GenericArguments.Count)
-                    {
-                        ret = instanceType.GenericArguments[0];
-                        break;
-                    }
-                }
-            }
-
-            if (null == ret)
-            {
-                ret = typeDef.BaseType?.GetRealTypeIfIsMarkupExtension();
-            }
-
-            return ret;
-        }
-
         static CustomAttribute GetCustomAttribute(this TypeReference typeRef, TypeReference attribute)
         {
             var typeDef = typeRef.ResolveCached();
index 7c9498b..dcb2dc5 100755 (executable)
@@ -25,6 +25,11 @@ using Microsoft.Build.Utilities;
 
 using Mono.Cecil;
 
+using Tizen.NUI.Xaml;
+using Mono.Cecil.Cil;
+using Mono.Cecil.Pdb;
+using Mono.Cecil.Mdb;
+
 namespace Tizen.NUI.Xaml.Build.Tasks
 {
     [LoadInSeparateAppDomain]
index f22cd94..b786600 100755 (executable)
@@ -167,10 +167,6 @@ namespace Tizen.NUI.EXaml
                         Value = valueString[0];
                         break;
 
-                    case 'y':
-                        Value = Type.Missing;
-                        break;
-
                     case 'z':
                         Value = null;
                         break;
index a5477eb..ff0e890 100755 (executable)
@@ -16,7 +16,6 @@
  */
 using System;
 using System.Collections.Generic;
-using System.Globalization;
 using System.Reflection;
 using System.Text;
 using Tizen.NUI.BaseComponents;
@@ -84,7 +83,7 @@ namespace Tizen.NUI.EXaml
 
                     if (null == xFactoryMethod)
                     {
-                        obj = Activator.CreateInstance(type, BindingFlags.CreateInstance | BindingFlags.Public | BindingFlags.Instance | BindingFlags.OptionalParamBinding, null, paramList.ToArray(), CultureInfo.CurrentCulture);
+                        obj = Activator.CreateInstance(type, paramList.ToArray());
                     }
                     else
                     {