From 7e4609cff3abe6222e9616ca01a6ad19b0041391 Mon Sep 17 00:00:00 2001 From: Przemyslaw Czerpak Date: Mon, 18 Sep 2006 01:13:18 +0000 Subject: [PATCH] 2006-09-18 03:12 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbclass.ch + added MESSAGE ... INLINE ... rule * harbour/tests/clsccast.prg * harbour/tests/clsicast.prg * harbour/tests/clsnv.prg * harbour/tests/clsscast.prg * harbour/tests/clsscope.prg - removed some unnecessary definitions --- harbour/ChangeLog | 11 +++++++++++ harbour/include/hbclass.ch | 13 +++++++++++++ harbour/tests/clsccast.prg | 8 -------- harbour/tests/clsicast.prg | 8 -------- harbour/tests/clsnv.prg | 8 -------- harbour/tests/clsscast.prg | 8 -------- harbour/tests/clsscope.prg | 7 ------- 7 files changed, 24 insertions(+), 39 deletions(-) diff --git a/harbour/ChangeLog b/harbour/ChangeLog index ca50b7f835..eb1645f5ae 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -8,6 +8,17 @@ 2002-12-01 13:30 UTC+0100 Foo Bar */ + in some optimization, f.e.: a[ ] += + or directly by: func( @a[ ] ) + if we add passing array elements by reference + Implemented in HVM and PCODE generation, the compiler has to be + modified yet to use them. + * changed last parameter in hb_codeblockGetRef() - I'd like to have + all variables in hb_struRefer structure in one place: hb_itemUnRefOnce() + for easier modifications in the future. + * replaced in hb_struRefer 'itemsbase' with 'array'. + + added hb_arrayGetItemRef() to create references to array elements. + Such reference updates array reference counters. * changed STATICs passed by reference to use new array item references. ! block destructor execution after classy releasing on HVM exit diff --git a/harbour/include/hbclass.ch b/harbour/include/hbclass.ch index d6788c9fc7..87c52159d4 100644 --- a/harbour/include/hbclass.ch +++ b/harbour/include/hbclass.ch @@ -459,6 +459,19 @@ DECLARE HBClass ; s_oClass:AddInline( <(MethodName)>, {|Self [,] | }, HBCLSCHOICE( <.export.>, <.protect.>, <.hidde.> ) + iif( <.ctor.>, HB_OO_CLSTP_CTOR, 0 ),; <.persistent.> ) +#xcommand MESSAGE [ AS ] INLINE [ ] [ ] [] [