`duplicate`/`structCopy` do not copy appear to copy ImportDefinitions when copying CFC objects

Description

Duplicating (deepcopy) a cfc does not bring along its import definitions.

Expected result: duplicating a CFC brings along its import definitions

Actual result: "invalid component definition"

/////// SomeCfc.cfc import some.mapping.Foo; component { function doit() { return Foo::prop; } } ////// SomewhereElse.cfm // ok new SomeCfc().doit(); // invalid component/interface definition, can't find component/interface [SomeCfc] duplicate(new SomeCfc()).doit();

Environment

None

Activity

Show:

Pothys - MitrahSoft 15 March 2022 at 07:43

I've checked this ticket with the lucee latest version 5.3.9.108-SNAPSHOT and this issue was solved.

Pothys - MitrahSoft 10 March 2022 at 14:59

I’ve added a fix to this ticket in the above Pull Request

Pothys - MitrahSoft 9 March 2022 at 10:19
Edited

I added a fix and testcase to this ticket
Pull Request: https://github.com/lucee/Lucee/pull/1587

Pothys - MitrahSoft 7 March 2022 at 12:21
Edited

I've checked this ticket and confirmed the issue happened on the lucee latest version 5.3.9.100-SNAPSHOT. duplicate the component object losses the imported component definitions. The regression starts from 5.2.5.8-SNAPSHOT onwards.
This commit causes this issue.

https://github.com/lucee/Lucee/commit/99937b17b8511a92cebde74cbfae6b48c2e77566

Fixed

Details

Assignee

Reporter

Priority

Fix versions

New Issue warning screen

Before you create a new Issue, please post to the mailing list first https://dev.lucee.org

Once the issue has been verified, one of the Lucee team will ask you to file an issue

Affects versions

Created 5 March 2022 at 01:49
Updated 15 March 2022 at 07:43
Resolved 15 March 2022 at 07:43

Flag notifications