Releases: TypeCobolTeam/TypeCobol
Releases · TypeCobolTeam/TypeCobol
v1.6.2
v1.6.1
New syntax support
- WI #2478 Allow DISPLAY ALL (#2496)
- WI #2489 Implement EXIT PARAGRAPH / SECTION (#2500)
- WI #2490 Implement EXIT PERFORM (#2501)
Bugfix
- WI #2491 Support qualified name in RECORD KEY IS (#2494)
- WI #2484 Fix duplicate data resolution in CrossChecker for WRITE statements (#2485)
Internal / Tooling
v1.6.0
v1.6.0
This is major release focusing on incremental parsing robustness, incremental performance and REPLACE directives handling.
Best case scenario when a single line is updated, processing time of incremental steps (Scanner, Preprocessor and SyntaxCheck) is now close to 0ms.
Non-incremental steps (SemanticCheck and CrossCheck) are not updated by this release.
Worst cast scenarios are when we need to rescan the whole file. This can happens when following instructions are modified : replace, debugging mode, data division, procedure division.
Changelog
Incremental parsing bug fixes
- WI #2388 Avoid code element duplication when falling back to full reparsing (#2405)
- WI #2389 Check last fetched token to avoid code element duplication (#2404)
- WI #2406 Fix incremental line break insertion (#2410)
- WI #2420 Fix diagnostic line after incremental changes for scanner and preprocessor (#2421)
- WI #1673 Fix continuation group scanning in incremental mode (#2445)
- WI #2444 Defer diagnostic reset during incremental parsing to avoid missing/unwanted diagnostics (#2458)
- WI #2455 Fix backward navigation when trying to find previous CodeElement (#2459)
- WI #2456 Fix incremental parsing when adding a blank line in source (#2460)
- WI #2457 Improve incremental parsing for compiler directives (#2468)
Incremental parsing optimizations
- WI #2416 Optimize text update by using line update mechanism when possible (#2423)
- WI #2235 Optimize code elements parser step in incremental mode (#2433)
- WI #2442 Optimize line iteration in PreprocessorStep in incremental mode (#2449)
- WI #2482 Rescan whole document during didSave only if LSP server doesn't lag (#2483)
REPLACE directives handling
- WI #2427 Improve REPLACE directive handling in incremental mode (#2428)
- WI #2217 Use original columns layout when rescanning tokens after a REPLACE (#2350)
- WI #2315 Track ScanState while applying REPLACE operations (#2464)
- WI #2190 Handle Picture Character String replacement as Partial Cobol Word replacement (#2465)
- WI #2212 Do not apply subsequent REPLACE operations if one matched prior (#2466)
- WI #2463 Fix the COPY / REPLACING / REPLACE mechanism using new TokensLinesIterators (#2474)
Bug fix
- WI #2422 Preserve final blank line when loading a document (#2424)
- WI #2366 Ensure COPYs inside COPYs are correctly collected in CompilationDocument (#2386)
- WI #2452 #2184 Remove dependent copies after copy change notification (#2462)
Misc.
Internal / Tooling
- WI #2401 Add incremental parsing testing capability (#2402)
- WI #2403 Regroup all text update into parser, introduce RangeUpdate class (#2407)
- WI #2414 Prepare migration to new TestUnit/FolderTester classes (#2408)
- WI #2412 Add basic edits and structural edits tests (#2413)
- WI #2414 Migrate existing tests to new test classes (#2415)
- WI #2235 Add advanced incremental tests (#2417)
- WI #2418 Add new incremental performance tests (#2419)
- WI #2434 Rename test file to match new test file format
- WI #2364 Define automatic incremental changes strategies for tests (#2435)
- WI #2439 Detect anomalous line index (#2443)
- WI #2441 Rename test file to match new test file format
- WI #2235 Track current REPLACE directive for each line (#2473)
- WI #2457 Exclude temporarily failing tests for ClearDocumentThenRewriteLineByLine (#2479)