go to post Arto Alatalo · Apr 12, 2017 Indeed, the documentation of ##Expression describes the behaviour and ##SafeExpression avoids the copying.Many thanks, Eduard!
go to post Arto Alatalo · Apr 11, 2017 John, because of debugging:- you set breakpoint in A.Abc() but it never hit because cache executes B.Abc()- because of some reason, debuger is not able to step in nether of the copies
go to post Arto Alatalo · Apr 11, 2017 I did this test before posting my question to see if the overloading stops the copying. It does stop and I see compiler generates code like q ##class(A)$this.Abc()but this way can not be seen as solution because this trick must be done for each such method in each derived class