From 88d6d4ea3405e58aa4dfc6c92e7ddc1ea0d98f0f Mon Sep 17 00:00:00 2001 From: Ron Pinkas Date: Thu, 10 May 2001 22:05:54 +0000 Subject: [PATCH] 2001-05-10 14:40 UTC-0800 Ron Pinkas --- harbour/ChangeLog | 36 +++++- harbour/include/hbclass.ch | 182 ++++++++++++++++++++++------ harbour/source/compiler/harbour.sly | 49 +++++--- harbour/source/compiler/harbour.y | 51 ++++---- harbour/source/compiler/hbpcode.c | 2 +- harbour/source/debug/debugger.prg | 5 +- harbour/source/pp/ppcore.c | 27 ++++- harbour/source/vm/hvm.c | 2 +- harbour/utils/hbdoc/ffile1.prg | 12 +- 9 files changed, 274 insertions(+), 92 deletions(-) diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 3de1f56555..5f45526c6b 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -1,14 +1,40 @@ +2001-05-10 14:40 UTC-0800 Ron Pinkas + * include/hbclass.ch + - Removed 1 #translate that caused conflicts with FWH. + + Refined logic detecting undeclared method and improved messages. + + Added logic for STRICT (#ifdef STRICT_OO) validation (all paramaters must match too) + + Added logic for normal (default) validation (paramaters are ignored). + + * source/compiler/harbour.sly + * source/compiler/harbour.y + + Added support for dummy parameters to function pointer ( @SomeFun( DummyParam ) ) + + * source/vm/hvm.c + * source/compiler/hbpcode.c + ! Corrected 1 compiler warning. + + * source/pp/ppcore.c + + Added support for #defines in #error messages. + + * source/debug/debugger.prg + - Removed orphan method (discovered by new compiler error) CaseSensitive() which is apparantly superceded by ToggleCaseSensitive(). + * utils/hbdoc/ffile1.prg + - Removed orphan method (discovered by new compiler error) GetBuff() which is routed to GetBuffer() in class declaration + - Removed orphan method (discovered by new compiler error) fClose() which is not declared and default to Super in class declaration. + + /* These were discovered with the default LOOSE mode. When using /dSTRICT_OO many more inconsistencies are discovered! */ + 2001-05-10 14:30 GMT+0200 (MET DST) Martin Vogel + contrib/libct/charmirr.c + CHARMIRR() function - + + contrib/libct/charrepl.c + CHARREPL() function + contrib/libct/wordrepl.c + WORDREPL() function - + * contrib/libct/Makefile * contrib/libct/makefile.bc * contrib/libct/makefile.vc @@ -17,7 +43,7 @@ + contrib/libct/tests/charmirr.prg + contrib/libct/tests/charrepl.prg + contrib/libct/tests/wordrepl.prg - ! small test programs for new functions + ! small test programs for new functions * contrib/libct/tests/Makefile + added charmirr.prg, charrepl.prg, wordrepl.prg @@ -34,7 +60,7 @@ + contrib/libct/tests/tokenlow.prg + contrib/libct/tests/tokenupp.prg + contrib/libct/tests/tokensep.prg - ! small test programs for new functions + ! small test programs for new functions 2001-05-10 09:46 UTC+0300 Chen Kedem * doc/en/objfunc.txt @@ -55,7 +81,7 @@ to the top of the database instead of record number 1. 2001-05-09 00:02 UTC+1 JFL (mafact) - * source/vm/classes.c + * source/vm/classes.c * modified hb_msgclssel() to accept one logical param so as it return only ClassMsg * source/rtl/objfunc.prg diff --git a/harbour/include/hbclass.ch b/harbour/include/hbclass.ch index 48b8baaec0..739eb088d4 100644 --- a/harbour/include/hbclass.ch +++ b/harbour/include/hbclass.ch @@ -108,7 +108,8 @@ DECLARE TClass ; AddInLine( cName AS String, bBlock AS CodeBlock, nScope AS Numeric ) ; AddVirtual( cName AS String ) -#translate @( [[,] ] ) => @([<-more->]) +// *** Don't Un-Rem !!! +//#translate @( [[,] ] ) => @([<-more->]) #xtranslate )() => ) #ifdef HB_CLS_NOTOBJECT @@ -148,6 +149,8 @@ DECLARE TClass ; #ifndef HB_SHORTNAMES +#xtranslate DECLMETH => _ ;; + #xcommand CLASS [METACLASS ] [ [,] ] [] => ; _HB_CLASS ;; function () ;; @@ -159,7 +162,8 @@ DECLARE TClass ; #define _CLASS_NAME_ ;; #undef _CLASS_MODE_ ;; #define _CLASS_MODE_ _CLASS_DECLARATION_ ;; - #translate CLSMETH () => @_() ; + #xtranslate CLSMETH => @_ ;; + #xtranslate DECLCLASS => ;; [ ; #translate Super( ) : => ::: ] ; [ ; #translate Super( ) : => ::: ] ; [ ; #translate Super() : => ::: ] ; @@ -179,7 +183,7 @@ DECLARE TClass ; #define _CLASS_NAME_ ;; #undef _CLASS_MODE_ ;; #define _CLASS_MODE_ _CLASS_DECLARATION_ ;; - #translate CLSMETH () => @() ; + #translate CLSMETH () => @ ; [ ; #translate Super( ) : => ::: ] ; [ ; #translate Super( ) : => ::: ] ; [ ; #translate Super() : => ::: ] ; @@ -306,20 +310,25 @@ DECLARE TClass ; #xcommand CONSTRUCTOR => METHOD CONSTRUCTOR -#xcommand METHOD [ ] [ AS ] [ ] [] [