BrianGarland / vscode-rpgfree

Visual Studio Code extension to convert fixed format RPGLE to free format
MIT License
18 stars 11 forks source link

Conversion of several ENDIF/ENDDO lines reports `Invalid count value: -1` #97

Open m-tyler opened 7 months ago

m-tyler commented 7 months ago

With this code

     C                   ENDIF
     C                   ADD       1             Widx
     C                   ENDDO

     C                   ENDIF
     C                   ADD       1             XX
     C                   ENDDO                                                  END DO WHILE

I get this error Invalid count value: -1

Host Extension output results.

2024-03-14 09:45:12.056 [info] ExtensionService#_doActivateExtension BrianJGarland.vscode-rpgfree, startup: false, activationEvent: 'onCommand:vscode-rpgfree.rpgleFree'
2024-03-14 09:45:12.060 [error] RangeError: Invalid count value: -1
    at String.repeat (<anonymous>)
    at h (c:\Users\matt.tyler\.vscode\extensions\brianjgarland.vscode-rpgfree-0.0.27\dist\extension.js:1:16204)
    at v.parse (c:\Users\matt.tyler\.vscode\extensions\brianjgarland.vscode-rpgfree-0.0.27\dist\extension.js:1:17891)
    at c:\Users\matt.tyler\.vscode\extensions\brianjgarland.vscode-rpgfree-0.0.27\dist\extension.js:1:18789
    at c:\Users\matt.tyler\.vscode\extensions\brianjgarland.vscode-rpgfree-0.0.27\dist\extension.js:1:18967
    at s.h (c:\Users\matt.tyler\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:150:175243)
    at s.$executeContributedCommand (c:\Users\matt.tyler\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:150:176103)
    at d.S (c:\Users\matt.tyler\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:147:5520)
    at d.Q (c:\Users\matt.tyler\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:147:5286)
    at d.M (c:\Users\matt.tyler\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:147:4376)
    at d.L (c:\Users\matt.tyler\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:147:3455)
    at g.value (c:\Users\matt.tyler\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:147:2242)
    at r.y (c:\Users\matt.tyler\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:80:1902)
    at r.fire (c:\Users\matt.tyler\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:80:2119)
    at n.fire (c:\Users\matt.tyler\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:105:14073)
    at g.value (c:\Users\matt.tyler\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:173:8051)
    at r.y (c:\Users\matt.tyler\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:80:1902)
    at r.fire (c:\Users\matt.tyler\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:80:2119)
    at n.fire (c:\Users\matt.tyler\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:105:14073)
    at MessagePortMain.<anonymous> (c:\Users\matt.tyler\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:173:6331)
    at MessagePortMain.emit (node:events:514:28)
    at Object.emit (node:electron/js2c/utility_init:2:2285) vscode-rpgfree.rpgleFree {"value":"BrianJGarland.vscode-rpgfree","_lower":"brianjgarland.vscode-rpgfree"}

For a work-around, if I select fewer lines like this...

     C                   ENDIF
     C                   ADD       1             Widx
     C                   ENDDO

     C                   ENDIF
     C                   ADD       1             XX

The conversion completes. The number of lines I have to select to get the conversion to work is not clear to me. In some cases it been fewer lines.