orbit-lang/Bootstrap

Infrastructure - Extract & Review Error Messages & Warnings

Open

#3 opened on May 16, 2021

 (0 comments) (0 reactions) (0 assignees)Kotlin (0 forks)auto 404
Infrastructuregood first issue

Repository metrics

Stars
 (0 stars)
PR merge metrics
 (No merged PRs in 30d)

Description

The compiler currently propagates nice error messages & warnings via the Invocation class. However, these errors are hardcoded strings inside the various phases & components that make up the compiler. It would be very nice if:

  • Error strings were extracted and moved to a separate (preferrably localised) package or similar; AND
  • There was a simpler, unified api for raising compiler errors & warnings

I would like to be able to do something like:

private val errorUtil: ErrorUtil by inject()
...
throw errorUtil.error<Lexer>(Errors.Lexer.NoMoreTokens, context, ...any other parameters needed for this specific error)
...

Contributor guide