Commit Graph

40 Commits

Author SHA1 Message Date
Przemyslaw Czerpak
0891ca7ddc 2008-07-31 17:41 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/vm/classes.c
    + adding 2-nd parameter to __clsGetProperties()
      When it's TRUE then __clsGetProperties() returns also exported
      messages which have corresponding assign messages (with "_" prefix)

  * harbour/source/rtl/objfunc.prg
    + added __objGetProperties( oObject, [ lAllExported = .F. ] ) ->
                  aMsgAndValues
      This function returns list of PROPERTY message with their values,
      when 2-nd parameter is true it also returns exported messages which
      which have corresponding assign messages (with "_" prefix)
      This function is designed to use in object inspectors.
2008-07-31 15:42:00 +00:00
Chen Kedem
b1df0448bf 2008-01-27 15:26 UTC+0200 Chen Kedem <niki@synel.co.il> 2008-01-27 13:26:32 +00:00
Viktor Szakats
2e3ce4504c 2008-01-27 12:46 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* source/rtl/objfunc.prg
     ! Fixed ISNUMBER() -> hb_ISPOINTER() for pointers.
       Thanks to Chen Kedem.

   * utils/hbtest/rt_stra.prg
   * utils/hbtest/rt_array.prg
     ! Fixed expected results to use the recently introduced new error codes.
       Thanks to Chen Kedem.
2008-01-27 12:32:37 +00:00
Przemyslaw Czerpak
43d20b8eb6 2006-09-10 13:05 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapi.h
  * harbour/source/vm/hvm.c
  * harbour/source/vm/codebloc.c
  * harbour/source/vm/arrays.c
    * moved static base offset from hb_struBlock structure
      to HB_CODEBLOCK structure
    + added hclass member to hb_struBlock - it will be used in
      the future for checking codeblock scope in classy so we will
      real scope checking also for messages sent from codeblocks.
    - removed supercast and superoffset members from hb_struArray
      structure.

  * harbour/include/hbclass.ch
    * added class(y) like
         @:<MessageName>([<MsgParams,...>])
      send operator. It's not exactly the same as in class(y) where
      this operator is hardcoded to executing function directly,
      needs method name instead of message name and is linked statically.
      In Harbour this operator uses message name so can be used also for
      instance variables and make dynamic casting to the class from which
      current method is inherited. In short words sending messages to @:
      instead of :: causes that they work like non-virtual messages in
      C++ mode.
      If you do not use the same method body in different classes
      then you can also use explicitly self casting:
         ::<myclass>:<msgname>[(...)]
      and it will be a little bit faster

  * harbour/include/hboo.ch
    + added: HB_OO_MSG_ASSIGN, HB_OO_MSG_ACCESS,
             HB_OO_MSG_CLSASSIGN, HB_OO_MSG_CLSACCESS
      They should be used insted of HB_OO_MSG_DATA and HB_OO_MSG_CLSDATA
      This resolves problems with name conflicts when we were detecting
      type of message (ACCESS/ASSIGN) by checking the first character
      in message name. F.e. now it's possible to create exported instance
      variable called __WithObject and it will be used in all WITH OBJECT
      statement instead of the base object value. It's simple and effective
      WITH OBJECT overloading.
      I kept backward compatibility for HB_OO_MSG_DATA and HB_OO_MSG_CLSDATA
      but I strongly suggest to update code to use new constants.
    + added HB_OO_MSG_REALCLASS

  * harbour/source/rtl/objfunc.prg
  * harbour/source/rtl/tobject.prg
  * harbour/source/rtl/tclass.prg
    * use HB_OO_MSG_[CLS]{ASSIGN,ACCESS} instead of HB_OO_MSG_[CLS]DATA

  * harbour/source/rtl/tclass.prg
    + added REALCLASS message to creted classes - it's used for @: operator

  * harbour/source/vm/classes.c
    * updated for above modifications
    * calculate instance area offset in supercasting dynamically - it
      will allow to eliminate multiple instance area allocating when
      in the inheritance tree the same class exists more then once and
      also quite easy add support for non-virtual messages.
    ! fixed GPF in __CLSINSTSUPER() class function generate HVM exception
    % do not inherit unaccessible inline blocks
    * some other minor optimization, fixes and code cleanups

  * harbour/source/rdd/usrrdd/usrrdd.c
    ! fixed HB_TRACE message

  * harbour/source/rtl/errorapi.c
    ! generate internal error if ErrorNew() function does not return an object
2006-09-10 11:16:43 +00:00
David G. Holm
035115e687 See ChangeLog entry 2001-06-18 14:10 UTC-0400 David G. Holm <dholm@jsd-llc.com> 2001-06-18 18:12:00 +00:00
Jean-Francois Lefebvre
cb8fa099bd 2001-05-13 22:30 UTC+1 JFL (mafact) <jfl@mafact.com> 2001-05-13 20:30:28 +00:00
Jean-Francois Lefebvre
c1bc118679 2001-05-09 00:02 UTC+1 JFL (mafact) <jfl@mafact.com> 2001-05-08 22:06:38 +00:00
Viktor Szakats
c585f9e8dc 2000-08-28 22:50 UTC+0100 Victor Szakats <info@szelvesz.hu> 2000-08-30 22:06:29 +00:00
Jean-Francois Lefebvre
44432ddd56 2000-07-28 00:05 UTC+0200 JfL <jfl@mafact.com> & RaC <Rac@mafact.com> 2000-07-27 22:04:48 +00:00
Viktor Szakats
af1cd893af 2000-06-25 14:25 UTC+0100 Victor Szakats <info@szelvesz.hu> 2000-06-25 12:29:19 +00:00
Viktor Szakats
9217251a5a 2000-05-29 02:47 UTC+0100 Victor Szakats <info@szelvesz.hu> 2000-05-29 00:51:57 +00:00
Jean-Francois Lefebvre
937101dd91 *harbour/include/hboo.ch
*harbour/include/hbclass.ch
 Now support MI, scoping, fowarding and delegating
 Also support 10 chars limit by not prefixing the Classname when in 10 chars mode

*harbour/include/hbsetup.ch
 Allow the configuration of Hidden message

*harbour/source/rtl/objfunc.prg
 added function __objDerivedFrom(oSelf, oObj | cClassName)

*harbour/source/rtl/tclass.prg
 Major modification to implement MI & scoping
 Added message :Super to acces frist superclass object instance
 Added message :IsDerivedFrom(oObj | cClassName ) (Xbase++ comp.)

*harbour/source/vm/proc.c
  added char * hb_procname( int iLevel, char * szName )
  extracted from HB_FUNC( PROCNAME ) to allow it to be called from c
  HB_FUNC( PROCNAME ) modified to call the previous'one

*harbour/source/vm/classes.c
  Major modification to implement MI & Scoping
  Added function Sender() used by delegating to allow full polymorphism
  Added function __CLS_PARAM used by the preprocessor
2000-05-28 20:09:56 +00:00
Viktor Szakats
57ad5bef90 20000229-22:00 GMT+1 Victor Szakats <info@szelvesz.hu> 2000-02-29 21:12:27 +00:00
Chen Kedem
f71f9f804f 20000221-08:50 GMT+2 Chen Kedem <niki@actcom.co.il> 2000-02-21 06:47:16 +00:00
Viktor Szakats
f64ac0bc42 20000220-14:30 GMT+1 Victor Szakats <info@szelvesz.hu> 2000-02-20 13:29:08 +00:00
Viktor Szakats
3b232374b3 20000209-10:43 GMT+1 Victor Szakats <info@szelvesz.hu> 2000-02-09 09:48:48 +00:00
Luiz Rafael Culik
f14c3433f0 See Changelog 20000128 2000-01-28 17:53:27 +00:00
Luiz Rafael Culik
9fb5d46615 *** empty log message *** 2000-01-16 01:08:35 +00:00
Luiz Rafael Culik
1fe0533c26 *** empty log message *** 2000-01-07 07:55:01 +00:00
Luiz Rafael Culik
1fdaf8ee08 *** empty log message *** 2000-01-02 01:06:41 +00:00
Luiz Rafael Culik
6a9da269a1 *** empty log message *** 2000-01-01 08:51:55 +00:00
Viktor Szakats
da4ec7ce82 19991218-10:35 GMT+1 Victor Szel <info@szelvesz.hu> 1999-12-18 09:37:55 +00:00
Viktor Szakats
521ffcf660 19991025-12:37 GMT+1 Victor Szel <info@szelvesz.hu> 1999-10-25 11:25:54 +00:00
Viktor Szakats
66a1f16b24 19990930-21:00 GMT+1 1999-09-30 19:16:16 +00:00
Viktor Szakats
9044ed5453 19990917-13:30 GMT+1 1999-09-17 11:43:26 +00:00
Viktor Szakats
5f04be73ee 19990916-21:00 GMT+1 1999-09-16 19:11:46 +00:00
Viktor Szakats
bba4046bb1 19990916-11:15 GMT+1 1999-09-16 09:34:13 +00:00
Viktor Szakats
e713e45e0b 19990911-11:30 GMT+1 1999-09-11 09:54:25 +00:00
Viktor Szakats
f6d4ffd9ed 19990817-07:30 GMT+1 1999-08-17 05:52:08 +00:00
Viktor Szakats
5d4c16f38f 19990816-02:45 GMT+1 1999-08-16 01:07:21 +00:00
Viktor Szakats
8f0b0499ed *** empty log message *** 1999-07-29 21:50:56 +00:00
Viktor Szakats
4909cbd44d *** empty log message *** 1999-07-29 10:31:03 +00:00
Eddie Runia
792bcaeafc see changelog 1999-07-09 09:13:54 +00:00
Eddie Runia
7794cfe4c7 See changelog 1999-07-07 18:56:26 +00:00
Eddie Runia
145b795bb5 see changelog 1999-07-06 15:45:05 +00:00
Viktor Szakats
1cbcf5b089 *** empty log message *** 1999-06-22 02:49:22 +00:00
Gonzalo A. Diethelm
5582b1c2c6 ChangeLogTag:Thu Jun 17 11:34:35 1999 Gonzalo A. Diethelm <Gonzalo.Diethelm@jda.cl> 1999-06-17 16:42:52 +00:00
Eddie Runia
fb04bd4f2c see changelog 1999-05-30 22:09:46 +00:00
Eddie Runia
a586ef6872 Back 1999-05-13 21:40:13 +00:00
Eddie Runia
55c092c03c Function contained in debugtst.prg seperated 1999-05-11 09:00:06 +00:00