Skip to content

Provide Compiler Directives Support #116

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
temanbrcom opened this issue Dec 17, 2019 · 1 comment
Closed

Provide Compiler Directives Support #116

temanbrcom opened this issue Dec 17, 2019 · 1 comment
Assignees
Labels
new feature New feature or request

Comments

@temanbrcom
Copy link
Contributor

temanbrcom commented Dec 17, 2019

Description

Michelle wants to have a syntax check for the COBOL compiler directives that are used in her code.

Acceptance Criteria

  • There is syntax check performing for the compiler directives
  • The solution is covered with test
  • Test the solution on all platforms and supported IDE's

Technical Details

The current state of this capability is that now there is a CobolUnsupportedFeaturesIgnorerImpl that removes the lines with the compiler directives. Also, there is special logic in the preprocessor to recognize them. It means that the logic of CobolUnsupportedFeaturesIgnorerImpl should be changed in order to prepare the compiler directives to be processed in the preprocessor.

@temanbrcom temanbrcom added the new feature New feature or request label Dec 17, 2019
@temanbrcom temanbrcom self-assigned this Dec 17, 2019
temanbrcom added a commit that referenced this issue Dec 23, 2019
…tent to be processed by grammar istead of removing it #116
@temanbrcom
Copy link
Contributor Author

Work in progress on the compiler-directives branch. The check for error if compiler directives are not on the first line is missing.

temanbrcom added a commit that referenced this issue Jan 8, 2020
Replace compiler directives removal with moving it to the content area. Change transformation order not to remove syntax errors of not fitting the fixed format.
temanbrcom added a commit that referenced this issue Jan 8, 2020
Move compiler directives processing to line reader GH-116
sergiuilie added a commit that referenced this issue Jan 28, 2020
* #89 - Enable Jacoco in build stage

* Exclude autogenerated file from sonar scan

* Update sonar-project.properties

* Update sonar-project.properties

* Update sonar-project.properties

* Update Jenkinsfile

* Update Jenkinsfile

* Update Jenkinsfile

* Update Jenkinsfile

* target files not excluded from coverage 4 test

* Update sonar-project.properties

* add jacoco to pom and sonar properties

* retry with another config

* add surefire-reports

* update Jenkinsfile

* update Jenkinsfile

* Temporary check with light build without sonar coverage

* re-enabled unit test

* Increased heap memory

* re-enabled prev stages

* WIP - exclude antlr generated files from jacoco report

* WIP - Update sonar config with branch name

* WIP - exclude only generated code

* Increased heap size

* WIP - Increased MaxPermSize

* Fix maven opts

* WIP - Increase heap again

* Coverage configuration

* Update README.md

.CPY removed

* Convert copybook names to the upper case in order to make them case-insensitive #93.

* Lombok config #89 (#97)

* lombok generated code not to be scanned by jacoco

* second file with lombok for jacoco

* README update + gifs (#98)

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* update gifs and readme files

* update readme sonarcloud badge

* add sonarcloud-black.png

* add png to client README.md

* remove old gifs

* Make final field static too

Making a public constant just final as opposed to static final leads to duplicating its value for every instance of the class, uselessly increasing the amount of memory required to execute the application.

* Remove unused imports and unnecessary comment

In order to fix the code smell found by SonarCloud

* Rename the field to match the naming convention

* Make Analysis synchronized in order to avoid ConcurrentModificationException #79 (#115)

* Make Analysis synchronized in order to avoid ConcurrentModificationException #79

Signed-off-by: Kalugina Tatyana <[email protected]>

* Make Analysis synchronized in order to avoid ConcurrentModificationException #79

Signed-off-by: Kalugina Tatyana <[email protected]>

* improve performance time plus fix the missing DOT in MultiDocumentDefinitionTest

* paragraph counter

* Add check for line correctness in order to prevent StringIndexOutOfBoundsException #77

* replace usage of deprecated method #112

* Add uncaught exception handling for async operations #78

* Apply engineering excellence requirements for class in order to increase maintainability

* Add new notification message to make error reporting more precise

* Remove a circular dependency in the serive module GH-24
Make the Server a Client provider in order to remove circular binding LanguageServer->TextDocumentService->Communications->LanguageServer. The server instance is unnecesssary for communications because there is only a client proxy required.
The injection of Provider is needed for a lazy client resolution due to the client proxy is available only after a connection, not on a bootstrap stage.

* Cover server bootstrap with tests. In order to do this the unnecessary feature to accept multiple clients on a socket connection was removed.

* Decouple server and client proxy to simplify dependencies GH-24
Implement a separate client provider in order to be have access to a server without a client and vice versa. The reason is to simpify dependencies in tests.

* Provide binding for language engine entry point GH-24
The requirement to support different language types is out of date, so the infrastructure to create a language engine was simplified and replaced with injected engine.
Binding of CobolSourceFormat required its extraction to a separate class that have lead the severe renaming refactoring over the core module.

* Remove Nonnull annotation due to a lazy provider may not contain a client

* Refactor Bootstrap to keep a single repsoncibilty of methods

* Solve error coming from cleaning plus improve performance time

* Remove mock client from mock server to simplify dependencies GH-24

* Make use cases work with the language engine directly
With an ability to instantiate the language engine it is better for the tests to use it directly, without mocks of server and client.

* Move the service delegates to the separate packagesto make it clearer

* Provide dependency binding for formation delegates #24

* Provide binding for the completion delegate GH-24
Convert the Comletions entry point form util class to an injectable dependency in order to make it testable.
The common logic to retrieve the completion suggestions and resolve documentation is moved to the Completions class because the additional abstraction level is not needed anymore.
Now the type-specific resolvers are injected as a set instead of chain responsibility due to the resolution order doesn't matter in this case. The order of elements is specified using an order constant specific to an item kind.

* compress duplicates in a single rule

* correct version

* Increase model coverage for core domain

* Provide binding for occureence delegate GH-24
Bind the entire occurence resolution framework in order to make it testable and expandable.
Combined delegates for location requests with similar logic into one class. Provided documntation and applied engineering excellence.

* Remove duplicated code by providing default implementation of method #128

* Move compiler directives processing to line reader GH-116
Replace compiler directives removal with moving it to the content area. Change transformation order not to remove syntax errors of not fitting the fixed format.

* Remove unused field tokenIndex of Position  #23

* Remove unused fields of SyntaxError #23

* Add Mockito library (#130)

* #122 Add Mockito library -> tested and ip check submitted

* #122 Add first draft for mockito usage

* added test to the suite

* remove unused class and create a compact method to create a new token

* remove double asterisks

* create jUnit test for variable definition

* Close #130

* Increase coverage for core domain module

* removed test class with methods merged into CopybookEventsTest

* rename methods for a better understanding

* Return rule stack tracing due to it may be useful for debug #23

* Rename builder in order to keep naming convention #23

* Update dev dependency

* #105 add SKIP statement (#133)

close #105

* Remove preprocessor listener usages to make classes functional GH-23
An iteration of preparation for introducing dependecy injection for enginge core. Replace providing a listener with returning of result in a pair with found errors.
This allows to get rid of the shared state between classes.

* remove bunch of imports and add constants where math operations are in place (#135)

part of #23

* Fix merge conflicts after cleaning-up of data classes #23

* Remove useless parser parameters GH-23
The main purpose of the parser parameters was to pass the copybook analysis settings, but now we apply a different logic of parsing so this class is useless now and should be removed to simplify the dependencies.

* Remove duplicated error logging #23

* Remove duplicated setting of error suggestion #23

* re-arranged the structure of core domain module to better understanding and satisfy guice best practices requirements.

* fix SKIP3 bug (#138)

 fixed #105

* Move Position class into a brand new package common.model to clearly identify an object shared between multiple modules.

* Apply changes required by code review stage

* Apply changes required by code review stage + merge conflicts for Position's package move

* Changelog update / 0.10.0 (#140)

Update changelog to reflect all the increments for 0.10.0 releaase

* Update README.md

- reorganised the readme file for better readability
- added all autocomplete functionalities under one header
- included info about bitlang in the stuff about third party syntax coloring plugins.

* Revert "Update README.md" (#143)

* Provide issue templates (#144)

Provide issue templates in order to simplify bug reporting and feature requests for the users and creating internal issues for tracking project activity. 

Co-authored-by: Zeibura Kathau <[email protected]>
Co-authored-by: Lukas Zima <[email protected]>

* Update package.json

better description for VSIX file

* Add new event type to track analysis re-run requests GH-137
Add a signal event that shows that the analysis for all the registered documents is requested.

* Add watchers support to track if the workspace copybooks were changed or added GH-137
LanguageServer now supports a capability to dynamically register file system watcher. WorkspaceService is notified when a watcher is triggered. It invalidates cache and sends a notification to re-run the analysis for all the registered documents in order to always have actual semantic contexts of the copybooks for the open documents.
TextDoumentService is listening to re-run notificaions and runs the analysis for the whole list of the documents that were processed using didOpen request.

* Add files via upload

Signed-off-by: Daniel Statham <[email protected]>

* Add files via upload

Signed-off-by: Daniel Statham <[email protected]>

* Make ContinuationLineTransformation stateless to simplify DI #24

* Make CobolLineReader stateless to simplify DI #24

* Make CobolSemanticParser stateless to simplify DI #24

* Rename run analysis event to make it more generic #137

* Delete COBOL Language Support - Error Highlighting.gif

Signed-off-by: Daniel Statham <[email protected]>

* Delete CLS Autocomplete Zoomed.gif

Signed-off-by: Daniel Statham <[email protected]>

* Delete CLS Error Highlighting - Zoomed.gif

Signed-off-by: Daniel Statham <[email protected]>

* Delete COBOL Language Support - Autocorrect.gif

Signed-off-by: Daniel Statham <[email protected]>

* Updated Gifs

Signed-off-by: Daniel Statham <[email protected]>

* Updated Gifs

Signed-off-by: Daniel Statham <[email protected]>

* Update README.md (#145)

reorganised the readme file for better readability - converted bullet points into sections

grouped all autocomplete functionalities under one header

a few points compressed into fewer words or clarified

included info about bitlang being in the stacks+code4z in the stuff about third party syntax coloring plugins. We will be linking to this readme file from the foundation site, brightside doc and from the code4z readme so I think it's a good idea.

* Extract utils from CobolLine to keep SRP #23

* Remove dead code from CobolLine and related conditional branches #23

* Update bug template to make it more convenient for the submitter

* Create test for CobolLineUtils #24

* Update CHANGELOG with the watcher changes (#156)

* Change version before the release 0.10.0

* Increase test timeout to prevent false-negative result

* change version to 0.10.0 (#160)

* Update CHANGELOG.md

* Update the changelog (#162)

* Increase test timeout to prevent false-negative result

Co-authored-by: Andrea Zaccaro <[email protected]>
Co-authored-by: abdrabrcom <[email protected]>
Co-authored-by: Filip Kroupa <[email protected]>
Co-authored-by: Zeibura Kathau <[email protected]>
Co-authored-by: Andrei Temnikov <[email protected]>
Co-authored-by: strekoz-zka <[email protected]>
Co-authored-by: Yuriy Shekochihin <[email protected]>
Co-authored-by: Vaclav Nemecek <[email protected]>
Co-authored-by: Lukas Zima <[email protected]>
Co-authored-by: DStatWriter <[email protected]>
ap891843 added a commit to ap891843/che-che4z-lsp-for-cobol that referenced this issue Feb 26, 2021
ap891843 added a commit to ap891843/che-che4z-lsp-for-cobol that referenced this issue Mar 1, 2021
ap891843 added a commit to ap891843/che-che4z-lsp-for-cobol that referenced this issue Mar 2, 2021
ap891843 added a commit to ap891843/che-che4z-lsp-for-cobol that referenced this issue Mar 2, 2021
ap891843 added a commit to ap891843/che-che4z-lsp-for-cobol that referenced this issue Mar 2, 2021
ap891843 added a commit to ap891843/che-che4z-lsp-for-cobol that referenced this issue Mar 2, 2021
ap891843 added a commit to ap891843/che-che4z-lsp-for-cobol that referenced this issue Mar 2, 2021
ap891843 added a commit to ap891843/che-che4z-lsp-for-cobol that referenced this issue Mar 2, 2021
ap891843 added a commit to ap891843/che-che4z-lsp-for-cobol that referenced this issue Mar 2, 2021
ap891843 added a commit to ap891843/che-che4z-lsp-for-cobol that referenced this issue Mar 2, 2021
ap891843 added a commit to ap891843/che-che4z-lsp-for-cobol that referenced this issue Mar 2, 2021
ap891843 added a commit to ap891843/che-che4z-lsp-for-cobol that referenced this issue Mar 8, 2021
ap891843 added a commit to ap891843/che-che4z-lsp-for-cobol that referenced this issue Mar 8, 2021
ap891843 added a commit to ap891843/che-che4z-lsp-for-cobol that referenced this issue Mar 9, 2021
ap891843 added a commit to ap891843/che-che4z-lsp-for-cobol that referenced this issue Mar 9, 2021
ap891843 added a commit to ap891843/che-che4z-lsp-for-cobol that referenced this issue Mar 10, 2021
ap891843 added a commit to ap891843/che-che4z-lsp-for-cobol that referenced this issue Mar 10, 2021
ap891843 added a commit to ap891843/che-che4z-lsp-for-cobol that referenced this issue Mar 10, 2021
ap891843 added a commit to ap891843/che-che4z-lsp-for-cobol that referenced this issue Mar 11, 2021
ap891843 added a commit to ap891843/che-che4z-lsp-for-cobol that referenced this issue Mar 11, 2021
ap891843 added a commit to ap891843/che-che4z-lsp-for-cobol that referenced this issue Mar 11, 2021
ap891843 added a commit to ap891843/che-che4z-lsp-for-cobol that referenced this issue Mar 11, 2021
ap891843 added a commit to ap891843/che-che4z-lsp-for-cobol that referenced this issue Mar 11, 2021
ap891843 added a commit to ap891843/che-che4z-lsp-for-cobol that referenced this issue Mar 12, 2021
ap891843 added a commit to ap891843/che-che4z-lsp-for-cobol that referenced this issue Mar 12, 2021
ap891843 added a commit to ap891843/che-che4z-lsp-for-cobol that referenced this issue Mar 17, 2021
ap891843 added a commit to ap891843/che-che4z-lsp-for-cobol that referenced this issue Mar 17, 2021
ap891843 added a commit to ap891843/che-che4z-lsp-for-cobol that referenced this issue Mar 17, 2021
ap891843 added a commit to ap891843/che-che4z-lsp-for-cobol that referenced this issue Mar 17, 2021
ap891843 added a commit to ap891843/che-che4z-lsp-for-cobol that referenced this issue Mar 17, 2021
ap891843 added a commit to ap891843/che-che4z-lsp-for-cobol that referenced this issue Mar 17, 2021
ap891843 added a commit to ap891843/che-che4z-lsp-for-cobol that referenced this issue Mar 17, 2021
ap891843 added a commit to ap891843/che-che4z-lsp-for-cobol that referenced this issue Mar 18, 2021
temanbrcom added a commit that referenced this issue Mar 18, 2021
feat: Support REPLACE compiler directive statements #116
ap891843 added a commit to ap891843/che-che4z-lsp-for-cobol that referenced this issue Mar 19, 2021
ap891843 added a commit to ap891843/che-che4z-lsp-for-cobol that referenced this issue Mar 19, 2021
ap891843 added a commit to ap891843/che-che4z-lsp-for-cobol that referenced this issue Mar 19, 2021
ap891843 added a commit to ap891843/che-che4z-lsp-for-cobol that referenced this issue Mar 19, 2021
ap891843 added a commit to ap891843/che-che4z-lsp-for-cobol that referenced this issue Mar 19, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
new feature New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant