*** empty log message ***

This commit is contained in:
Antonio Linares
1999-11-03 06:37:20 +00:00
parent 08ea5c514c
commit 13a99b967f
3 changed files with 30 additions and 11 deletions

View File

@@ -196,10 +196,8 @@ typedef struct _HB_BASEARRAY
PHB_ITEM pItems; /* pointer to the array items */
ULONG ulLen; /* number of items in the array */
USHORT uiHolders; /* number of holders of this array */
USHORT uiPrevHolders; /* for fixing after access super */
USHORT uiClass; /* offset to the classes base if it is an object */
USHORT uiPrevCls; /* for fixing after access super */
BOOL bSuperCast; /* is it a super cast ? */
} HB_BASEARRAY, * PHB_BASEARRAY, * HB_BASEARRAY_PTR;
/* stack managed by the virtual machine */
@@ -418,4 +416,3 @@ extern char * hb_version( USHORT uiMode );
#endif
#endif /* HB_EXTEND_H_ */

View File

@@ -76,7 +76,7 @@ BOOL hb_arrayNew( PHB_ITEM pItem, ULONG ulLen ) /* creates a new array */
pBaseArray->ulLen = ulLen;
pBaseArray->uiHolders = 1;
pBaseArray->uiClass = 0;
pBaseArray->bSuperCast = FALSE;
pBaseArray->uiPrevCls = NULL;
for( ulPos = 0; ulPos < ulLen; ulPos++ )
( pBaseArray->pItems + ulPos )->type = IT_NIL;
@@ -638,14 +638,12 @@ BOOL hb_arrayRelease( PHB_ITEM pArray )
ULONG ulLen = pBaseArray->ulLen;
ULONG ulPos;
if( !pBaseArray->bSuperCast )
{
for( ulPos = 0; ulPos < ulLen; ulPos++ )
hb_itemClear( pBaseArray->pItems + ulPos );
for( ulPos = 0; ulPos < ulLen; ulPos++ )
hb_itemClear( pBaseArray->pItems + ulPos );
if( pBaseArray->pItems )
hb_xfree( pBaseArray->pItems );
if( pBaseArray->pItems )
hb_xfree( pBaseArray->pItems );
}
hb_xfree( pBaseArray );
pArray->type = IT_NIL;

24
harbour/tests/clasinh.prg Normal file
View File

@@ -0,0 +1,24 @@
#include "hbclass.ch"
function main()
local oObject, oBase
oObject := TAnyClass():New()
oBase := TClassBase():New()
return nil
class TClassBase
method New()
method Test() INLINE Alert( "Test" )
endclass
method New() class TClassBase
return Self
class TAnyClass from TClassBase
method New()
endclass
method New() class TAnyClass
super:New()
super:Test()
return Self