21 @FB_RTL_ERRORTHROW, NULL, _
22 typeAddrOf( FB_DATATYPE_VOID ), FB_FUNCMODE_CDECL, _
23 NULL, FB_RTL_OPT_NONE, _
26 ( FB_DATATYPE_LONG, FB_PARAMMODE_BYVAL, FALSE ), _
27 ( typeAddrOf( FB_DATATYPE_CHAR ), FB_PARAMMODE_BYVAL, FALSE ), _
28 ( typeAddrOf( FB_DATATYPE_VOID ), FB_PARAMMODE_BYVAL, FALSE ), _
29 ( typeAddrOf( FB_DATATYPE_VOID ), FB_PARAMMODE_BYVAL, FALSE ) _
41 @FB_RTL_ERRORTHROWEX, NULL, _
42 typeAddrOf( FB_DATATYPE_VOID ), FB_FUNCMODE_CDECL, _
43 NULL, FB_RTL_OPT_NONE, _
46 ( FB_DATATYPE_LONG, FB_PARAMMODE_BYVAL, FALSE ), _
47 ( FB_DATATYPE_LONG, FB_PARAMMODE_BYVAL, FALSE ), _
48 ( typeAddrOf( FB_DATATYPE_CHAR ),FB_PARAMMODE_BYVAL, FALSE ), _
49 ( typeAddrOf( FB_DATATYPE_VOID ),FB_PARAMMODE_BYVAL, FALSE ), _
50 ( typeAddrOf( FB_DATATYPE_VOID ),FB_PARAMMODE_BYVAL, FALSE ) _
55 @FB_RTL_ERRORSETHANDLER, NULL, _
56 typeAddrOf( FB_DATATYPE_VOID ), FB_FUNCMODE_FBCALL, _
57 NULL, FB_RTL_OPT_NONE, _
60 ( typeAddrOf( FB_DATATYPE_VOID ),FB_PARAMMODE_BYVAL, FALSE ) _
65 @FB_RTL_ERRORGETNUM, NULL, _
66 FB_DATATYPE_LONG, FB_FUNCMODE_FBCALL, _
67 NULL, FB_RTL_OPT_NONE, _
72 @FB_RTL_ERRORSETNUM, NULL, _
73 FB_DATATYPE_LONG, FB_FUNCMODE_FBCALL, _
74 NULL, FB_RTL_OPT_NONE, _
77 ( FB_DATATYPE_LONG, FB_PARAMMODE_BYVAL, FALSE ) _
82 @FB_RTL_ERRORRESUME, NULL, _
83 typeAddrOf( FB_DATATYPE_VOID ), FB_FUNCMODE_CDECL, _
84 NULL, FB_RTL_OPT_NONE, _
89 @FB_RTL_ERRORRESUMENEXT, NULL, _
90 typeAddrOf( FB_DATATYPE_VOID ), FB_FUNCMODE_CDECL, _
91 NULL, FB_RTL_OPT_NONE, _
96 @
"erl", @
"fb_ErrorGetLineNum", _
97 FB_DATATYPE_LONG, FB_FUNCMODE_FBCALL, _
98 NULL, FB_RTL_OPT_NONE, _
103 @
"erfn", @
"fb_ErrorGetFuncName", _
104 typeAddrOf( FB_DATATYPE_CHAR ), FB_FUNCMODE_FBCALL, _
105 NULL, FB_RTL_OPT_NOQB, _
110 @
"ermn", @
"fb_ErrorGetModName", _
111 typeAddrOf( FB_DATATYPE_CHAR ), FB_FUNCMODE_FBCALL, _
112 NULL, FB_RTL_OPT_NOQB, _
117 @FB_RTL_ERRORSETMODNAME, NULL, _
118 typeAddrOf( FB_DATATYPE_CHAR ), FB_FUNCMODE_FBCALL, _
119 NULL, FB_RTL_OPT_NONE, _
122 ( typeAddrOf( FB_DATATYPE_CHAR ),FB_PARAMMODE_BYVAL, FALSE ) _
127 @FB_RTL_ERRORSETFUNCNAME, NULL, _
128 typeAddrOf( FB_DATATYPE_CHAR ), FB_FUNCMODE_FBCALL, _
129 NULL, FB_RTL_OPT_NONE, _
132 ( typeAddrOf( FB_DATATYPE_CHAR ),FB_PARAMMODE_BYVAL, FALSE ) _
143 @
"fb_Assert", NULL, _
144 FB_DATATYPE_VOID, FB_FUNCMODE_FBCALL, _
145 NULL, FB_RTL_OPT_OVER, _
148 ( typeAddrOf( FB_DATATYPE_CHAR ), FB_PARAMMODE_BYVAL, FALSE ), _
149 ( FB_DATATYPE_INTEGER,FB_PARAMMODE_BYVAL, FALSE ), _
150 ( typeAddrOf( FB_DATATYPE_CHAR ), FB_PARAMMODE_BYVAL, FALSE ), _
151 ( typeAddrOf( FB_DATATYPE_CHAR ), FB_PARAMMODE_BYVAL, FALSE ) _
162 @
"fb_Assert", @
"fb_AssertW", _
163 FB_DATATYPE_VOID, FB_FUNCMODE_FBCALL, _
164 NULL, FB_RTL_OPT_OVER, _
167 ( typeAddrOf( FB_DATATYPE_CHAR ), FB_PARAMMODE_BYVAL, FALSE ), _
168 ( FB_DATATYPE_LONG, FB_PARAMMODE_BYVAL, FALSE ), _
169 ( typeAddrOf( FB_DATATYPE_CHAR ),FB_PARAMMODE_BYVAL, FALSE ), _
170 ( typeAddrOf( FB_DATATYPE_WCHAR ),FB_PARAMMODE_BYVAL, FALSE ) _
181 @
"fb_AssertWarn", NULL, _
182 FB_DATATYPE_VOID, FB_FUNCMODE_FBCALL, _
183 NULL, FB_RTL_OPT_OVER, _
186 ( typeAddrOf( FB_DATATYPE_CHAR ),FB_PARAMMODE_BYVAL, FALSE ), _
187 ( FB_DATATYPE_LONG, FB_PARAMMODE_BYVAL, FALSE ), _
188 ( typeAddrOf( FB_DATATYPE_CHAR ),FB_PARAMMODE_BYVAL, FALSE ), _
189 ( typeAddrOf( FB_DATATYPE_CHAR ),FB_PARAMMODE_BYVAL, FALSE ) _
200 @
"fb_AssertWarn", @
"fb_AssertWarnW", _
201 FB_DATATYPE_VOID, FB_FUNCMODE_FBCALL, _
202 NULL, FB_RTL_OPT_OVER, _
205 ( typeAddrOf( FB_DATATYPE_CHAR ), FB_PARAMMODE_BYVAL, FALSE ), _
206 ( FB_DATATYPE_LONG, FB_PARAMMODE_BYVAL, FALSE ), _
207 ( typeAddrOf( FB_DATATYPE_CHAR ), FB_PARAMMODE_BYVAL, FALSE ), _
208 ( typeAddrOf( FB_DATATYPE_WCHAR ), FB_PARAMMODE_BYVAL, FALSE ) _
233 byval reslabel
as FBSYMBOL
ptr, _
234 byval nxtlabel
as FBSYMBOL
ptr _
237 dim as ASTNODE
ptr proc =
any, param =
any
257 if( env.clopt.resumeerr )
then
266 assert( proc->
call.args = 4 )
280 dim as FBSYMBOL
ptr nxtlabel =
any, reslabel =
any
281 dim as ASTNODE
ptr t = NULL
283 if( env.clopt.resumeerr )
then
290 if( env.clopt.errorcheck )
then
309 byval errexpr
as ASTNODE
ptr, _
310 byval linenum
as integer, _
311 byval module
as zstring ptr _
314 dim as ASTNODE
ptr proc =
any, param =
any
315 dim as FBSYMBOL
ptr nxtlabel =
any, reslabel =
any
318 proc =
astNewCALL( PROCLOOKUP( ERRORTHROWEX ) )
329 if(
astNewARG( proc, errexpr ) = NULL )
then
344 if( env.clopt.resumeerr )
then
349 if(
astNewARG( proc, param ) = NULL )
then
354 if( env.clopt.resumeerr )
then
359 if(
astNewARG( proc, param ) = NULL )
then
372 byval newhandler
as ASTNODE
ptr, _
373 byval savecurrent
as integer _
376 dim as ASTNODE
ptr proc =
any, expr =
any
379 proc =
astNewCALL( PROCLOOKUP( ERRORSETHANDLER ) )
382 if(
astNewARG( proc, newhandler ) = NULL )
then
388 if( savecurrent )
then
389 if( fbIsModLevel( ) = FALSE )
then
390 with parser.currproc->proc.ext->
err
391 if( .lasthnd = NULL )
then
400 if( expr = NULL )
then
413 function =
astNewCALL( PROCLOOKUP( ERRORGETNUM ) )
420 byval errexpr
as ASTNODE
ptr _
423 dim as ASTNODE
ptr proc =
any
426 proc =
astNewCALL( PROCLOOKUP( ERRORSETNUM ) )
429 if(
astNewARG( proc, errexpr ) = NULL )
then
439 dim as ASTNODE
ptr proc =
any
440 dim as FBSYMBOL
ptr f =
any
442 if( isnext = FALSE )
then
443 f = PROCLOOKUP( ERRORRESUME )
445 f = PROCLOOKUP( ERRORRESUMENEXT )
456 byval sym
as FBSYMBOL
ptr, _
457 byval modname
as ASTNODE
ptr _
460 dim as ASTNODE
ptr proc =
any, expr =
any
462 proc =
astNewCALL( PROCLOOKUP( ERRORSETMODNAME ) )
465 if(
astNewARG( proc, modname ) = NULL )
then
469 if( sym <> NULL )
then
470 with sym->proc.ext->
err
484 byval sym
as FBSYMBOL
ptr, _
485 byval funcname
as ASTNODE
ptr _
488 dim as ASTNODE
ptr proc =
any, expr =
any
490 proc =
astNewCALL( PROCLOOKUP( ERRORSETFUNCNAME ) )
493 if(
astNewARG( proc, funcname ) = NULL )
then
497 if( sym <> NULL )
then
498 with sym->proc.ext->
err