View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0033788 | Lazarus | IDE | public | 2018-05-25 10:22 | 2020-09-11 16:13 |
Reporter | avk | Assigned To | Juha Manninen | ||
Priority | normal | Severity | minor | Reproducibility | always |
Status | closed | Resolution | fixed | ||
Platform | all | ||||
Product Version | 1.9 (SVN) | ||||
Summary | 0033788: codetools disabled (generics) | ||||
Description | generics specialization inside heritage list makes codetools disabled | ||||
Steps To Reproduce | just try to declare something like TDescendant<TKey, TValue> = class(TAncestor<TPair<TKey, TValue>>); | ||||
Tags | codetools, generics | ||||
Fixed in Revision | r62693 | ||||
LazTarget | - | ||||
Widgetset | |||||
Attached Files |
|
has duplicate | 0034824 | resolved | Mattias Gaertner | Code navigation fails with generics |
|
|
|
As there is nobody monitoring the duplicate issue of this I write here, that I just submitted a patch for the duplicate issue that partly solves this issue. Only code completion for the function with a generic result is still broken but no error occurs while parsing. https://bugs.freepascal.org/view.php?id=34824 fix-nested-generics-specialization.patch (816 bytes)
Index: pascalparsertool.pas =================================================================== --- components/codetools/pascalparsertool.pas (revision 62333) +++ components/codetools/pascalparsertool.pas (working copy) @@ -6052,7 +6052,8 @@ repeat // read identifier (a parameter of the generic type) Next; - AtomIsIdentifierSaveE(20180411194303); + ReadTypeReference( CreateChildNodes ); + {AtomIsIdentifierSaveE(20180411194303); if CreateChildNodes then begin CreateChildNode; CurNode.Desc:=ctnSpecializeParam; @@ -6068,7 +6069,7 @@ Next; end; if CreateChildNodes then - EndChildNode; // close ctnSpecializeParam + EndChildNode;} // close ctnSpecializeParam if AtomIsChar('>') then break else if CurPos.Flag=cafComma then begin |
|
Resolved together with 0034824. |
|
Thank you very much. |
Date Modified | Username | Field | Change |
---|---|---|---|
2018-05-25 10:22 | avk | New Issue | |
2018-05-25 10:22 | avk | File Added: codetools_test.pas | |
2018-05-25 10:23 | avk | Tag Attached: codetools | |
2018-05-25 10:23 | avk | Tag Detached: codetools | |
2018-05-25 10:24 | avk | Tag Attached: codetools | |
2018-05-25 10:24 | avk | Tag Attached: generics | |
2018-05-25 10:28 | Mattias Gaertner | Assigned To | => Mattias Gaertner |
2018-05-25 10:28 | Mattias Gaertner | Status | new => assigned |
2018-05-25 10:30 | Mattias Gaertner | LazTarget | => - |
2018-05-25 10:30 | Mattias Gaertner | Summary | codetools disabled => codetools disabled (generics) |
2019-12-30 13:27 | Juha Manninen | Relationship added | has duplicate 0034824 |
2020-03-04 21:23 | soerensen3 | File Added: fix-nested-generics-specialization.patch | |
2020-03-04 21:23 | soerensen3 | Note Added: 0121381 | |
2020-03-05 11:57 | Juha Manninen | Assigned To | Mattias Gaertner => Juha Manninen |
2020-03-05 11:58 | Juha Manninen | Status | assigned => resolved |
2020-03-05 11:58 | Juha Manninen | Resolution | open => fixed |
2020-03-05 11:58 | Juha Manninen | Fixed in Revision | => r62693 |
2020-03-05 11:58 | Juha Manninen | Note Added: 0121394 | |
2020-09-11 16:13 | avk | Status | resolved => closed |
2020-09-11 16:13 | avk | Note Added: 0125483 |