In fcl-passrc, TPasWriter.WriteElement does not correctly write declararions and staments consisting of free-standing specialized generic procedures
In fcl-passrc, the method TPasWriter.WriteElement (unit PasWrite) does not correctly write declarations and staments consisting of free-standing specialized generic procedures.
For example, given the following program:
```
unit test;
{$mode ObjFpc}
interface
generic procedure Proc<T, U> (X : T; Y : U);
implementation
generic procedure Proc<T, U>(X : T; Y : U);
begin
end;
procedure ProcGen;
begin
specialize Proc<integer,char>(1,'A');
end;
end.
```
The declaration of generic ```procedure Proc<T, U> (X : T; Y : U);``` is shown as follows:
```procedure Proc(X: T; Y: U);```
The body of ProcGen is shown as follows:
```
procedure ProcGen;
begin
specialize Proc<,>(1, 'A');
end;`
```
See attached zip to reproduce bug.
[test.zip](/uploads/c14b54cc52fadcb4e1d9fa7ed5787002/test.zip)
issue