This is an automated email from the ASF dual-hosted git repository.
gregdove pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git
The following commit(s) were added to refs/heads/develop by this push:
new e118529 Add support for function instances to getQualifiedClassName().
new 22fccbb Merge pull request #1126 from
estanglerbm/getqualifiedclassname-function
e118529 is described below
commit e11852926fddd58e41dfa5b79894900806215a49
Author: Edward Stangler <[email protected]>
AuthorDate: Sun Jul 11 00:40:50 2021 -0500
Add support for function instances to getQualifiedClassName().
---
.../royale/reflection/getQualifiedClassName.as | 7 ++++++-
.../reflection/ReflectionTesterNativeTypes.as | 24 ++++++++++++++++++++++
2 files changed, 30 insertions(+), 1 deletion(-)
diff --git
a/frameworks/projects/Reflection/src/main/royale/org/apache/royale/reflection/getQualifiedClassName.as
b/frameworks/projects/Reflection/src/main/royale/org/apache/royale/reflection/getQualifiedClassName.as
index c4379b6..2e534bf 100755
---
a/frameworks/projects/Reflection/src/main/royale/org/apache/royale/reflection/getQualifiedClassName.as
+++
b/frameworks/projects/Reflection/src/main/royale/org/apache/royale/reflection/getQualifiedClassName.as
@@ -38,8 +38,11 @@ COMPILE::JS{
{
COMPILE::SWF
{
+ var s:String = flash.utils.getQualifiedClassName(value);
+ if (s === "builtin.as$0::MethodClosure")
+ return s; // don't replace ::
//normalize for Vector:
- return
flash.utils.getQualifiedClassName(value).replace('__AS3__.vec::','').replace('::','.');
+ return s.replace('__AS3__.vec::','').replace('::','.');
}
COMPILE::JS
{
@@ -87,6 +90,8 @@ COMPILE::JS{
}
}
if (!classInfo) {
+ if (defName === "function") return
"builtin.as$0::MethodClosure";
+
//fallback
return "Object";
}
diff --git
a/frameworks/projects/Reflection/src/test/royale/flexUnitTests/reflection/ReflectionTesterNativeTypes.as
b/frameworks/projects/Reflection/src/test/royale/flexUnitTests/reflection/ReflectionTesterNativeTypes.as
index 3d4668a..e852684 100644
---
a/frameworks/projects/Reflection/src/test/royale/flexUnitTests/reflection/ReflectionTesterNativeTypes.as
+++
b/frameworks/projects/Reflection/src/test/royale/flexUnitTests/reflection/ReflectionTesterNativeTypes.as
@@ -244,6 +244,30 @@ package flexUnitTests.reflection
assertEquals( def.name, "Vector.<uint>", "Unexpected type name");
}
+
+
+ [Test]
+ public function testFunctionClass():void
+ {
+// assertEquals( getQualifiedClassName(Function), "Function",
"Unexpected type name");
+// assertEquals( getDefinitionByName("Function"), Function,
"Unexpected type");
+
+// var def:TypeDefinition = describeType(Function);
+// assertEquals( def.name, "Function", "Unexpected type name");
+
+ }
+
+
+ [Test]
+ public function testFunctionInstance():void
+ {
+ var inst:Function = testFunctionClass;
+ assertEquals( getQualifiedClassName(inst),
"builtin.as$0::MethodClosure", "Unexpected type name");
+
+// var def:TypeDefinition = describeType(inst);
+// assertEquals( def.name, "builtin.as$0::MethodClosure",
"Unexpected type name");
+
+ }
}
}