diff options
author | michael <michael@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2020-05-26 16:40:18 +0000 |
---|---|---|
committer | michael <michael@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2020-05-26 16:40:18 +0000 |
commit | 6a4e61826e6ee6004a7851cbdb533a991ca32f11 (patch) | |
tree | 7d5f920777193e608a83704756258ae111f86af2 /packages/fcl-passrc | |
parent | 63d10337346d53c266c6b2ab1db26ea7ea7a35ad (diff) | |
download | fpc-6a4e61826e6ee6004a7851cbdb533a991ca32f11.tar.gz |
* Descriptive error messages
git-svn-id: https://svn.freepascal.org/svn/fpc/trunk@45508 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'packages/fcl-passrc')
-rw-r--r-- | packages/fcl-passrc/src/pastree.pp | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/packages/fcl-passrc/src/pastree.pp b/packages/fcl-passrc/src/pastree.pp index 2affee7861..b4a07ad89a 100644 --- a/packages/fcl-passrc/src/pastree.pp +++ b/packages/fcl-passrc/src/pastree.pp @@ -26,7 +26,7 @@ unit PasTree; interface -uses Classes; +uses SysUtils, Classes; resourcestring // Parse tree node type names @@ -91,6 +91,7 @@ resourcestring SPasTreeDestructorImpl = 'destructor implementation'; type + EPasTree = Class(Exception); // Visitor pattern. TPassTreeVisitor = class; @@ -1775,7 +1776,6 @@ function GetPTDumpStack: string; implementation -uses SysUtils; procedure ReleaseAndNil(var El: TPasElement {$IFDEF CheckPasTreeRefCount}; const Id: string{$ENDIF}); begin @@ -2793,7 +2793,7 @@ begin writeln('ERROR: TPasElement.ChangeRefId ',Name,':',ClassName,' Old="'+OldId+'" New="'+NewId+'" Old not found'); writeln(RefIds.Text); {AllowWriteln-} - raise Exception.Create(''); + raise EPasTree.Create(''); end; RefIds.Delete(i); RefIds.Add(NewId); @@ -2839,7 +2839,7 @@ begin end; FreeAndNil(RefIds); {$ENDIF} - raise Exception.Create(''); + raise EPasTree.Create(ClassName+'Destroy called wrong'); end; {$IFDEF CheckPasTreeRefCount} FreeAndNil(RefIds); @@ -2923,7 +2923,7 @@ begin {$if defined(VerbosePasResolver) or defined(VerbosePCUFiler)} Writeln('TPasElement.Released : ',ClassName,' ',Name); {$endif} - raise Exception.Create(''); + raise EPasTree.Create(ClassName+': Destroy called wrong'); end else begin @@ -3799,7 +3799,7 @@ begin Element.AddRef{$IFDEF CheckPasTreeRefCount}('TPasImplIfElse.ElseBranch'){$ENDIF}; end else - raise Exception.Create('TPasImplIfElse.AddElement if and else already set - please report this bug'); + raise EPasTree.Create('TPasImplIfElse.AddElement if and else already set - please report this bug'); end; function TPasImplIfElse.CloseOnSemicolon: boolean; @@ -3843,7 +3843,7 @@ begin Body.AddRef{$IFDEF CheckPasTreeRefCount}('TPasImplForLoop.Body'){$ENDIF}; end else - raise Exception.Create('TPasImplForLoop.AddElement body already set - please report this bug'); + raise EPasTree.Create('TPasImplForLoop.AddElement body already set - please report this bug'); end; procedure TPasImplForLoop.ForEachCall(const aMethodCall: TOnForEachPasElement; @@ -5095,7 +5095,7 @@ var l: Integer; begin if (InFilename<>nil) and (InFilename.Kind<>pekString) then - raise Exception.Create(''); + raise EPasTree.Create('Wrong In expression for '+aUnitName); if aModule=nil then aModule:=TPasUnresolvedUnitRef.Create(AUnitName, Self); l:=length(UsesClause); @@ -5188,7 +5188,7 @@ begin Body.AddRef{$IFDEF CheckPasTreeRefCount}('TPasImplWhileDo.Body'){$ENDIF}; end else - raise Exception.Create('TPasImplWhileDo.AddElement body already set'); + raise EPasTree.Create('TPasImplWhileDo.AddElement body already set'); end; procedure TPasImplWhileDo.ForEachCall(const aMethodCall: TOnForEachPasElement; @@ -5285,7 +5285,7 @@ begin Body.AddRef{$IFDEF CheckPasTreeRefCount}('TPasImplCaseStatement.Body'){$ENDIF}; end else - raise Exception.Create('TPasImplCaseStatement.AddElement body already set'); + raise EPasTree.Create('TPasImplCaseStatement.AddElement body already set'); end; procedure TPasImplCaseStatement.AddExpression(const Expr: TPasExpr); @@ -5334,7 +5334,7 @@ begin Body.AddRef{$IFDEF CheckPasTreeRefCount}('TPasImplWithDo.Body'){$ENDIF}; end else - raise Exception.Create('TPasImplWithDo.AddElement body already set'); + raise EPasTree.Create('TPasImplWithDo.AddElement body already set'); end; procedure TPasImplWithDo.AddExpression(const Expression: TPasExpr); |