2001-05-10 15:30 UTC-0800 Ron Pinkas <ron@profit-master.com>
* include/hbclass.ch
+ Added logic for NO Checking of OO Syntax (#ifdef NO_OO_ERR) - Use /dNO_OO_ERR to disable OO Syntax Checking.
* source/pp/ppcore.c
* Temporarily disabled support of #define expansion in #error directive.
This commit is contained in:
@@ -1,3 +1,10 @@
|
||||
2001-05-10 15:30 UTC-0800 Ron Pinkas <ron@profit-master.com>
|
||||
* include/hbclass.ch
|
||||
+ Added logic for NO Checking of OO Syntax (#ifdef NO_OO_ERR) - Use /dNO_OO_ERR to disable OO Syntax Checking.
|
||||
|
||||
* source/pp/ppcore.c
|
||||
* Temporarily disabled support of #define expansion in #error directive.
|
||||
|
||||
2001-05-10 14:40 UTC-0800 Ron Pinkas <ron@profit-master.com>
|
||||
* include/hbclass.ch
|
||||
- Removed 1 #translate that caused conflicts with FWH.
|
||||
|
||||
@@ -320,13 +320,14 @@ DECLARE TClass ;
|
||||
_HB_MEMBER <MethodName>() [<-ctor-> AS CLASS _CLASS_NAME_] [ AS <type> ];;
|
||||
#xcommand METHOD <MethodName> [DECLCLASS _CLASS_NAME_] _CLASS_IMPLEMENTATION_ => DECLARED METHOD _CLASS_NAME_ <MethodName>;;
|
||||
#xcommand METHOD <MethodName>([<anyParams,...>]) [DECLCLASS _CLASS_NAME_] _CLASS_IMPLEMENTATION_ => DECLARED METHOD _CLASS_NAME_ <MethodName>([<anyParams>]);;
|
||||
#xcommand METHOD <MethodName>() [DECLCLASS _CLASS_NAME_] _CLASS_IMPLEMENTATION_ => DECLARED METHOD _CLASS_NAME_ <MethodName>();;
|
||||
s_oClass:AddMethod( <(MethodName)>, CLSMETH _CLASS_NAME_ <MethodName>(), HBCLSCHOICE( <.export.>, <.protect.>, <.hidde.> ) + iif( <.ctor.>, HB_OO_CLSTP_CTOR, 0 ) )
|
||||
|
||||
#xcommand METHOD <MethodName>([<params,...>]) [ <ctor: CONSTRUCTOR> ] [ AS <type> ] [ <export: EXPORTED, VISIBLE>] [<protect: PROTECTED>] [<hidde: HIDDEN>] [_CLASS_DECLARATION_] => ;
|
||||
_HB_MEMBER <MethodName>([<params>]) [<-ctor-> AS CLASS _CLASS_NAME_] [ AS <type> ];;
|
||||
#xcommand METHOD <MethodName> [DECLCLASS _CLASS_NAME_] _CLASS_IMPLEMENTATION_ => DECLARED METHOD _CLASS_NAME_ <MethodName>;;
|
||||
#xcommand METHOD <MethodName>() [DECLCLASS _CLASS_NAME_] _CLASS_IMPLEMENTATION_ => DECLARED METHOD _CLASS_NAME_ <MethodName>();;
|
||||
#xcommand METHOD <MethodName>(<anyParams,...>) [DECLCLASS _CLASS_NAME_] _CLASS_IMPLEMENTATION_ => DECLARED METHOD _CLASS_NAME_ <MethodName>([<anyParams>]);;
|
||||
#xcommand METHOD <MethodName> [DECLCLASS _CLASS_NAME_] _CLASS_IMPLEMENTATION_ => DECLARED METHOD _CLASS_NAME_ <MethodName>;;
|
||||
#xcommand METHOD <MethodName>([<anyParams,...>]) [DECLCLASS _CLASS_NAME_] _CLASS_IMPLEMENTATION_ => DECLARED METHOD _CLASS_NAME_ <MethodName>([<anyParams>]);;
|
||||
#xcommand METHOD <MethodName>() [DECLCLASS _CLASS_NAME_] _CLASS_IMPLEMENTATION_ => DECLARED METHOD _CLASS_NAME_ <MethodName>();;
|
||||
s_oClass:AddMethod( <(MethodName)>, CLSMETH _CLASS_NAME_ <MethodName>(), HBCLSCHOICE( <.export.>, <.protect.>, <.hidde.> ) + iif( <.ctor.>, HB_OO_CLSTP_CTOR, 0 ) )
|
||||
#endif
|
||||
|
||||
@@ -373,29 +374,29 @@ DECLARE TClass ;
|
||||
#xcommand MESSAGE <MessageName> [ AS <type> ] METHOD <MethodName> [ <ctor: CONSTRUCTOR> ] [ <export: EXPORTED, VISIBLE>] [<protect: PROTECTED>] [<hidde: HIDDEN>] => ;
|
||||
_HB_MEMBER <MessageName>() [<-ctor-> AS CLASS _CLASS_NAME_] [ AS <type> ];;
|
||||
#xcommand METHOD <MethodName> [DECLCLASS _CLASS_NAME_] _CLASS_IMPLEMENTATION_ => DECLARED METHOD _CLASS_NAME_ <MethodName>;;
|
||||
#xcommand METHOD <MethodName>() [DECLCLASS _CLASS_NAME_] _CLASS_IMPLEMENTATION_ => DECLARED METHOD _CLASS_NAME_ <MethodName>();;
|
||||
#xcommand METHOD <MethodName>([<anyParams,...>]) [DECLCLASS _CLASS_NAME_] _CLASS_IMPLEMENTATION_ => DECLARED METHOD _CLASS_NAME_ <MethodName>([<anyParams>]);;
|
||||
#xcommand METHOD <MethodName>() [DECLCLASS _CLASS_NAME_] _CLASS_IMPLEMENTATION_ => DECLARED METHOD _CLASS_NAME_ <MethodName>();;
|
||||
s_oClass:AddMethod( <(MessageName)>, CLSMETH _CLASS_NAME_ <MethodName>(), HBCLSCHOICE( <.export.>, <.protect.>, <.hidde.> ) + iif( <.ctor.>, HB_OO_CLSTP_CTOR, 0 ) )
|
||||
|
||||
#xcommand MESSAGE <MessageName>([MsgParams,...]) [ AS <type> ] METHOD <MethodName> [ <ctor: CONSTRUCTOR> ] [ <export: EXPORTED, VISIBLE>] [<protect: PROTECTED>] [<hidde: HIDDEN>] => ;
|
||||
_HB_MEMBER <MessageName>([<MsgParams>]) [<-ctor-> AS CLASS _CLASS_NAME_] [ AS <type> ];;
|
||||
#xcommand METHOD <MethodName> [DECLCLASS _CLASS_NAME_] _CLASS_IMPLEMENTATION_ => DECLARED METHOD _CLASS_NAME_ <MethodName>;;
|
||||
#xcommand METHOD <MethodName>() [DECLCLASS _CLASS_NAME_] _CLASS_IMPLEMENTATION_ => DECLARED METHOD _CLASS_NAME_ <MethodName>();;
|
||||
#xcommand METHOD <MethodName>([<anyParams,...>]) [DECLCLASS _CLASS_NAME_] _CLASS_IMPLEMENTATION_ => DECLARED METHOD _CLASS_NAME_ <MethodName>([<anyParams>]);;
|
||||
#xcommand METHOD <MethodName>() [DECLCLASS _CLASS_NAME_] _CLASS_IMPLEMENTATION_ => DECLARED METHOD _CLASS_NAME_ <MethodName>();;
|
||||
s_oClass:AddMethod( <(MessageName)>, CLSMETH _CLASS_NAME_ <MethodName>(), HBCLSCHOICE( <.export.>, <.protect.>, <.hidde.> ) + iif( <.ctor.>, HB_OO_CLSTP_CTOR, 0 ) )
|
||||
|
||||
#xcommand MESSAGE <MessageName> [ AS <type> ] METHOD <MethodName>([<MtdParams,...>]) [ <ctor: CONSTRUCTOR> ] [ <export: EXPORTED, VISIBLE>] [<protect: PROTECTED>] [<hidde: HIDDEN>] => ;
|
||||
_HB_MEMBER <MessageName>([<MtdParams>]) [<-ctor-> AS CLASS _CLASS_NAME_] [ AS <type> ];;
|
||||
#xcommand METHOD <MethodName> [DECLCLASS _CLASS_NAME_] _CLASS_IMPLEMENTATION_ => DECLARED METHOD _CLASS_NAME_ <MethodName>;;
|
||||
#xcommand METHOD <MethodName>() [DECLCLASS _CLASS_NAME_] _CLASS_IMPLEMENTATION_ => DECLARED METHOD _CLASS_NAME_ <MethodName>();;
|
||||
#xcommand METHOD <MethodName>([<anyParams,...>]) [DECLCLASS _CLASS_NAME_] _CLASS_IMPLEMENTATION_ => DECLARED METHOD _CLASS_NAME_ <MethodName>([<anyParams>]);;
|
||||
#xcommand METHOD <MethodName>() [DECLCLASS _CLASS_NAME_] _CLASS_IMPLEMENTATION_ => DECLARED METHOD _CLASS_NAME_ <MethodName>();;
|
||||
s_oClass:AddMethod( <(MessageName)>, CLSMETH _CLASS_NAME_ <MethodName>(), HBCLSCHOICE( <.export.>, <.protect.>, <.hidde.> ) + iif( <.ctor.>, HB_OO_CLSTP_CTOR, 0 ) )
|
||||
|
||||
#xcommand MESSAGE <MessageName>([<MsgParams,...>]) [ AS <type> ] METHOD <MethodName>([<MtdParams,...>]) [ <ctor: CONSTRUCTOR> ] [ <export: EXPORTED, VISIBLE>] [<protect: PROTECTED>] [<hidde: HIDDEN>] => ;
|
||||
_HB_MEMBER <MessageName>([<MtdParams>]) [<-ctor-> AS CLASS _CLASS_NAME_] [ AS <type> ];;
|
||||
#xcommand METHOD <MethodName> [DECLCLASS _CLASS_NAME_] _CLASS_IMPLEMENTATION_ => DECLARED METHOD _CLASS_NAME_ <MethodName>;;
|
||||
#xcommand METHOD <MethodName>() [DECLCLASS _CLASS_NAME_] _CLASS_IMPLEMENTATION_ => DECLARED METHOD _CLASS_NAME_ <MethodName>();;
|
||||
#xcommand METHOD <MethodName>([<anyParams,...>]) [DECLCLASS _CLASS_NAME_] _CLASS_IMPLEMENTATION_ => DECLARED METHOD _CLASS_NAME_ <MethodName>([<anyParams>]);;
|
||||
#xcommand METHOD <MethodName>() [DECLCLASS _CLASS_NAME_] _CLASS_IMPLEMENTATION_ => DECLARED METHOD _CLASS_NAME_ <MethodName>();;
|
||||
s_oClass:AddMethod( <(MessageName)>, CLSMETH _CLASS_NAME_ <MethodName>(), HBCLSCHOICE( <.export.>, <.protect.>, <.hidde.> ) + iif( <.ctor.>, HB_OO_CLSTP_CTOR, 0 ) )
|
||||
#endif
|
||||
|
||||
@@ -460,8 +461,8 @@ DECLARE TClass ;
|
||||
_HB_MEMBER <MethodName>() [ AS <type> ];;
|
||||
_HB_MEMBER _<MethodName>() [ AS <type> ];;
|
||||
#xcommand METHOD <MethodName> [DECLCLASS _CLASS_NAME_] _CLASS_IMPLEMENTATION_ => DECLARED METHOD _CLASS_NAME_ <MethodName>;;
|
||||
#xcommand METHOD <MethodName>() [DECLCLASS _CLASS_NAME_] _CLASS_IMPLEMENTATION_ => DECLARED METHOD _CLASS_NAME_ <MethodName>();;
|
||||
#xcommand METHOD <MethodName>([<anyParams,...>]) [DECLCLASS _CLASS_NAME_] _CLASS_IMPLEMENTATION_ => DECLARED METHOD _CLASS_NAME_ <MethodName>([<anyParams>]);;
|
||||
#xcommand METHOD <MethodName>() [DECLCLASS _CLASS_NAME_] _CLASS_IMPLEMENTATION_ => DECLARED METHOD _CLASS_NAME_ <MethodName>();;
|
||||
s_oClass:AddMethod( <(MethodName)>, CLSMETH _CLASS_NAME_ <MethodName>(), HB_OO_CLSTP_EXPORTED + HB_OO_CLSTP_READONLY ) ;;
|
||||
s_oClass:AddMethod( "_" + <(MethodName)>, CLSMETH _CLASS_NAME_ <MethodName>() )
|
||||
|
||||
@@ -469,8 +470,8 @@ DECLARE TClass ;
|
||||
_HB_MEMBER <MethodName>([<params>]) [ AS <type> ];;
|
||||
_HB_MEMBER _<MethodName>([<params>]) [ AS <type> ];;
|
||||
#xcommand METHOD <MethodName> [DECLCLASS _CLASS_NAME_] _CLASS_IMPLEMENTATION_ => DECLARED METHOD _CLASS_NAME_ <MethodName>;;
|
||||
#xcommand METHOD <MethodName>() [DECLCLASS _CLASS_NAME_] _CLASS_IMPLEMENTATION_ => DECLARED METHOD _CLASS_NAME_ <MethodName>();;
|
||||
#xcommand METHOD <MethodName>([<anyParams,...>]) [DECLCLASS _CLASS_NAME_] _CLASS_IMPLEMENTATION_ => DECLARED METHOD _CLASS_NAME_ <MethodName>([<anyParams>]);;
|
||||
#xcommand METHOD <MethodName>() [DECLCLASS _CLASS_NAME_] _CLASS_IMPLEMENTATION_ => DECLARED METHOD _CLASS_NAME_ <MethodName>();;
|
||||
s_oClass:AddMethod( <(MethodName)>, CLSMETH _CLASS_NAME_ <MethodName>(), HB_OO_CLSTP_EXPORTED + HB_OO_CLSTP_READONLY ) ;;
|
||||
s_oClass:AddMethod( "_" + <(MethodName)>, CLSMETH _CLASS_NAME_ <MethodName>() )
|
||||
#endif
|
||||
@@ -484,15 +485,15 @@ DECLARE TClass ;
|
||||
#xcommand ACCESS <AccessName> [ AS <type> ] => ;
|
||||
_HB_MEMBER <AccessName>() [ AS <type> ];;
|
||||
#xcommand METHOD <AccessName> [DECLCLASS _CLASS_NAME_] _CLASS_IMPLEMENTATION_ => DECLARED METHOD _CLASS_NAME_ <AccessName>;;
|
||||
#xcommand METHOD <AccessName>() [DECLCLASS _CLASS_NAME_] _CLASS_IMPLEMENTATION_ => DECLARED METHOD _CLASS_NAME_ <AccessName>();;
|
||||
#xcommand METHOD <AccessName>([<anyParams,...>]) [DECLCLASS _CLASS_NAME_] _CLASS_IMPLEMENTATION_ => DECLARED METHOD _CLASS_NAME_ <AccessName>([<anyParams>]);;
|
||||
#xcommand METHOD <AccessName>() [DECLCLASS _CLASS_NAME_] _CLASS_IMPLEMENTATION_ => DECLARED METHOD _CLASS_NAME_ <AccessName>();;
|
||||
s_oClass:AddMethod( <(AccessName)>, CLSMETH _CLASS_NAME_ <AccessName>(), HB_OO_CLSTP_EXPORTED + HB_OO_CLSTP_READONLY )
|
||||
|
||||
#xcommand ACCESS <AccessName>([<params,...>]) [ AS <type> ] => ;
|
||||
_HB_MEMBER <AccessName>([<params>]) [ AS <type> ];;
|
||||
#xcommand METHOD <AccessName> [DECLCLASS _CLASS_NAME_] _CLASS_IMPLEMENTATION_ => DECLARED METHOD _CLASS_NAME_ <AccessName>;;
|
||||
#xcommand METHOD <AccessName>() [DECLCLASS _CLASS_NAME_] _CLASS_IMPLEMENTATION_ => DECLARED METHOD _CLASS_NAME_ <AccessName>();;
|
||||
#xcommand METHOD <AccessName>([<anyParams,...>]) [DECLCLASS _CLASS_NAME_] _CLASS_IMPLEMENTATION_ => DECLARED METHOD _CLASS_NAME_ <AccessName>([<anyParams>]);;
|
||||
#xcommand METHOD <AccessName>() [DECLCLASS _CLASS_NAME_] _CLASS_IMPLEMENTATION_ => DECLARED METHOD _CLASS_NAME_ <AccessName>();;
|
||||
s_oClass:AddMethod( <(AccessName)>, CLSMETH _CLASS_NAME_ <AccessName>(), HB_OO_CLSTP_EXPORTED + HB_OO_CLSTP_READONLY )
|
||||
#endif
|
||||
|
||||
@@ -513,14 +514,15 @@ DECLARE TClass ;
|
||||
#xcommand ASSIGN <AssignName> [ AS <type> ] => ;
|
||||
_HB_MEMBER _<AssignName>() [ AS <type> ];;
|
||||
#xcommand METHOD <AssignName> [DECLCLASS _CLASS_NAME_] _CLASS_IMPLEMENTATION_ => DECLARED METHOD _CLASS_NAME_ <AssignName>;;
|
||||
#xcommand METHOD <AssignName>() [DECLCLASS _CLASS_NAME_] _CLASS_IMPLEMENTATION_ => DECLARED METHOD _CLASS_NAME_ <AssignName>();;
|
||||
#xcommand METHOD <AssignName>([<anyParams,...>]) [DECLCLASS _CLASS_NAME_] _CLASS_IMPLEMENTATION_ => DECLARED METHOD _CLASS_NAME_ <AssignName>([<anyParams>]);;
|
||||
#xcommand METHOD <AssignName>() [DECLCLASS _CLASS_NAME_] _CLASS_IMPLEMENTATION_ => DECLARED METHOD _CLASS_NAME_ <AssignName>();;
|
||||
s_oClass:AddMethod( "_" + <(AssignName)>, CLSMETH _CLASS_NAME_ _<AssignName>(), HB_OO_CLSTP_EXPORTED )
|
||||
|
||||
#xcommand ASSIGN <AssignName>([<params,...>]) [ AS <type> ] => ;
|
||||
_HB_MEMBER _<AssignName>([<params>]) [ AS <type> ];;
|
||||
#xcommand METHOD <AssignName> [DECLCLASS _CLASS_NAME_] _CLASS_IMPLEMENTATION_ => DECLARED METHOD _CLASS_NAME_ <AssignName>;;
|
||||
#xcommand METHOD <AssignName>([<anyParams,...>]) [DECLCLASS _CLASS_NAME_] _CLASS_IMPLEMENTATION_ => DECLARED METHOD _CLASS_NAME_ <AssignName>([<anyParams>]);;
|
||||
#xcommand METHOD <AssignName>() [DECLCLASS _CLASS_NAME_] _CLASS_IMPLEMENTATION_ => DECLARED METHOD _CLASS_NAME_ <AssignName>();;
|
||||
s_oClass:AddMethod( "_" + <(AssignName)>, CLSMETH _CLASS_NAME_ _<AssignName>(), HB_OO_CLSTP_EXPORTED )
|
||||
#endif
|
||||
|
||||
@@ -563,17 +565,21 @@ DECLARE TClass ;
|
||||
#xcommand METHOD <MethodName> => METHOD <MethodName> _CLASS_MODE_
|
||||
#xcommand METHOD <MethodName> CLASS <ClassName> => METHOD <MethodName> DECLCLASS <ClassName> _CLASS_IMPLEMENTATION_
|
||||
|
||||
//#xcommand METHOD <MethodName> _CLASS_IMPLEMENTATION_ => METHOD <MethodName> CLASS _CLASS_NAME_
|
||||
//#define STRICT_OO
|
||||
#ifdef STRICT_OO
|
||||
#xcommand METHOD <MethodName> _CLASS_IMPLEMENTATION_ => #error Not declared method or declaration mismatch: _CLASS_NAME_:<MethodName>
|
||||
#xcommand METHOD <MethodName> CLASS <ClassName> _CLASS_IMPLEMENTATION_ => #error Not declared method or declaration mismatch: <ClassName>:<MethodName>
|
||||
#ifdef NO_OO_ERR
|
||||
#xcommand METHOD <MethodName> _CLASS_IMPLEMENTATION_ => DECLARED METHOD _CLASS_NAME_ <MethodName>
|
||||
#xcommand METHOD <MethodName> CLASS <ClassName> _CLASS_IMPLEMENTATION_ => DECLARED METHOD <ClassName> <MethodName>
|
||||
#else
|
||||
#xcommand METHOD <MethodName> _CLASS_IMPLEMENTATION_ => #error Not declared method: _CLASS_NAME_:<MethodName>
|
||||
#xcommand METHOD <MethodName> CLASS <ClassName> _CLASS_IMPLEMENTATION_ => #error Not declared method: <ClassName>:<MethodName>
|
||||
//#define STRICT_OO
|
||||
#ifdef STRICT_OO
|
||||
#xcommand METHOD <MethodName> _CLASS_IMPLEMENTATION_ => #error Not declared method or declaration mismatch: <MethodName> ; function <MethodName> ; local self := QSelf()
|
||||
#xcommand METHOD <MethodName> CLASS <ClassName> _CLASS_IMPLEMENTATION_ => #error Not declared method or declaration mismatch: <ClassName>:<MethodName> ; function <MethodName> ; local self := QSelf()
|
||||
#else
|
||||
#xcommand METHOD <MethodName> _CLASS_IMPLEMENTATION_ => #error Not declared method: <MethodName> ; function <MethodName> ; local self := QSelf()
|
||||
#xcommand METHOD <MethodName> CLASS <ClassName> _CLASS_IMPLEMENTATION_ => #error Not declared method: <ClassName>:<MethodName> ; function <MethodName> ; local self := QSelf()
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#xcommand METHOD <MethodName> DECLCLASS <ClassName> _CLASS_IMPLEMENTATION_ => #error Not declared class: <ClassName>:<MethodName>
|
||||
#xcommand METHOD <MethodName> DECLCLASS <ClassName> _CLASS_IMPLEMENTATION_ => #error Not declared class: <ClassName>:<MethodName> ; function <MethodName> ; local self := QSelf()
|
||||
|
||||
#xcommand DECLARED METHOD <ClassName> <MethodName> => ;
|
||||
static function DECLMETH <ClassName> <MethodName> ;;
|
||||
|
||||
@@ -498,6 +498,7 @@ int hb_pp_ParseDirective( char * sLine )
|
||||
else if( i >= 4 && i <= 5 && memcmp( sDirective, "ERROR", i ) == 0 )
|
||||
/* --- #error --- */
|
||||
{
|
||||
#if 0
|
||||
DEFINES * stdef;
|
||||
int lenToken, i;
|
||||
char *ptri, *sToken, *ptrb, ptro[MAX_NAME];
|
||||
@@ -518,9 +519,9 @@ int hb_pp_ParseDirective( char * sLine )
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
hb_compGenError( hb_pp_szErrors, 'E', HB_PP_ERR_EXPLICIT, sLine, NULL );
|
||||
|
||||
}
|
||||
else if( i == 4 && memcmp( sDirective, "LINE", 4 ) == 0 )
|
||||
return -1;
|
||||
|
||||
Reference in New Issue
Block a user