kcl icon indicating copy to clipboard operation
kcl copied to clipboard

Feat(Compiler-Base): Add diagnostic handler.

Open zong-zhe opened this issue 2 years ago • 2 comments

1. Does this PR affect any open issues?(Y/N) and add issue references (e.g. "fix #123", "re #123".):

  • [ ] N
  • [x] Y

issue #115

2. What is the scope of this PR (e.g. component or file name):

add diagnostic handler in compiler_base/error/lib.rs.

3. Provide a description of the PR(e.g. more details, effects, motivations or doc link):

  • [ ] Affects user behaviors
  • [ ] Contains syntax changes
  • [ ] Contains variable changes
  • [x] Contains experimental features
  • [ ] Performance regression: Consumes more CPU
  • [ ] Performance regression: Consumes more Memory
  • [ ] Other

Turn TemplateLoader completely into a private crate for DiagnosticHandler. Move some comments from TemplateLoader to DiagnosticHandler. Move MessageArgs form 'compiler_base/error/diagnostic_message.rs' to 'compiler_base/error/lib.rs'. Add DiagnosticHandler in 'compiler_base/error/lib.rs'.

4. Are there any breaking changes?(Y/N) and describe the breaking changes(e.g. more details, motivations or doc link):

  • [x] N
  • [ ] Y

5. Are there test cases for these changes?(Y/N) select and add more details, references or doc links:

  • [x] Unit test
  • [ ] Integration test
  • [ ] Benchmark (add benchmark stats below)
  • [ ] Manual test (add detailed scripts or steps below)
  • [ ] Other

test cases in 'compiler_base/error/tests.rs'.

6. Release note

Please refer to Release Notes Language Style Guide to write a quality release note.

None

zong-zhe avatar Aug 30 '22 08:08 zong-zhe

Pull Request Test Coverage Report for Build 2968688349

  • 0 of 0 changed or added relevant lines in 0 files are covered.
  • 340 unchanged lines in 3 files lost coverage.
  • Overall coverage increased (+0.3%) to 60.42%

Files with Coverage Reduction New Missed Lines %
kclvm/tools/src/printer/tests.rs 1 95.24%
kclvm/runtime/src/api/kclvm.rs 25 44.44%
kclvm/runtime/src/value/api.rs 314 0%
<!-- Total: 340
Totals Coverage Status
Change from base Build 2949877482: 0.3%
Covered Lines: 23789
Relevant Lines: 39373

💛 - Coveralls

coveralls avatar Aug 30 '22 08:08 coveralls

Two important things:

  1. DiagnosticHandler preferably has a default method, which loads the default template
  2. It is necessary to write clearly how to write *.ftl template in the lib.rs and new_with_template_dir methods, you can link the *.ftl official documentation.

Peefy avatar Aug 31 '22 07:08 Peefy