mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-09-13 05:29:08 +02:00
* better error message in case of parser error
git-svn-id: trunk@7272 -
This commit is contained in:
parent
e074f9383c
commit
0e429065e8
@ -59,7 +59,7 @@ var
|
|||||||
DisableProtected,
|
DisableProtected,
|
||||||
DisablePrivate,
|
DisablePrivate,
|
||||||
DisableFunctionResults: Boolean;
|
DisableFunctionResults: Boolean;
|
||||||
|
|
||||||
EmitClassSeparator: Boolean;
|
EmitClassSeparator: Boolean;
|
||||||
PackageName, OutputName: String;
|
PackageName, OutputName: String;
|
||||||
f: Text;
|
f: Text;
|
||||||
@ -87,14 +87,14 @@ function TSkelEngine.CreateElement(AClass: TPTreeElement; const AName: String;
|
|||||||
If (PT<>Nil) and ((PT is TPasProcedure) or (PT is TPasProcedure)) then
|
If (PT<>Nil) and ((PT is TPasProcedure) or (PT is TPasProcedure)) then
|
||||||
PP:=PT.Parent
|
PP:=PT.Parent
|
||||||
else
|
else
|
||||||
PP:=Nil;
|
PP:=Nil;
|
||||||
If (PP<>Nil) and (PP is TPasClassType) then
|
If (PP<>Nil) and (PP is TPasClassType) then
|
||||||
begin
|
begin
|
||||||
ParentVisible:=((not DisablePrivate or (PT.Visibility<>visPrivate)) and
|
ParentVisible:=((not DisablePrivate or (PT.Visibility<>visPrivate)) and
|
||||||
(not DisableProtected or (PT.Visibility<>visProtected)));
|
(not DisableProtected or (PT.Visibility<>visProtected)));
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
Result:=Assigned(AParent) and (Length(AName) > 0) and
|
Result:=Assigned(AParent) and (Length(AName) > 0) and
|
||||||
(ParentVisible and (not DisableArguments or (APasElement.ClassType <> TPasArgument))) and
|
(ParentVisible and (not DisableArguments or (APasElement.ClassType <> TPasArgument))) and
|
||||||
(ParentVisible and (not DisableFunctionResults or (APasElement.ClassType <> TPasResultElement))) and
|
(ParentVisible and (not DisableFunctionResults or (APasElement.ClassType <> TPasResultElement))) and
|
||||||
@ -380,13 +380,20 @@ begin
|
|||||||
WriteLn(f, '</module> <!-- ', Module.Name, ' -->');
|
WriteLn(f, '</module> <!-- ', Module.Name, ' -->');
|
||||||
WriteLn(f, '');
|
WriteLn(f, '');
|
||||||
except
|
except
|
||||||
on e:EFileNotFoundError do
|
on e:EFileNotFoundError do
|
||||||
begin
|
begin
|
||||||
Writeln(StdErr,' file ', e.message, ' not found');
|
Writeln(StdErr,' file ', e.message, ' not found');
|
||||||
close(f);
|
close(f);
|
||||||
Halt(1);
|
Halt(1);
|
||||||
end;
|
end;
|
||||||
end;
|
on e:EParserError do
|
||||||
|
begin
|
||||||
|
Writeln(StdErr,'', e.filename,'(',e.row,',',e.column,') Fatal: ',e.message);
|
||||||
|
close(f);
|
||||||
|
Halt(1);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
finally
|
finally
|
||||||
Engine.Free;
|
Engine.Free;
|
||||||
end;
|
end;
|
||||||
|
Loading…
Reference in New Issue
Block a user