Skip to content

v0.5.1

Choose a tag to compare

@rail5 rail5 released this 17 Jul 08:26
· 905 commits to main since this release
70ae247
  • Created abstract resolve_reference function in codegen
    This function will resolve entity references (whether object
    references or self references, rvalues or lvalues) and return a
    pointer to the referenced entity, as well as compiled code necessary
    to access it, debug information about that compiled code (whether
    temporary variables were necessary in the compiled code), and
    optional error information if the reference could not be resolved
    This removes a lot of code duplication in handling references
  • Fixed example code display on spec page for 'super'
  • Error reporting:
    Cast tokens to CommonToken before throwing an error or warning
    This should at least mostly eliminate 'Position Unknown' errors
    in our error reporting.
    Manually override ANTLR4's broken token position tracking
    ANTLR4's system routinely returns incorrect values for
    token->getLine() and token->getCharPositionInLine(). This is
    screwing with our error reporting. So we'll just track it ourselves
    in our emit() override.
  • Store an intermediary code buffer between the compiler and the
    output stream
    Do not immediately write code to the output stream.
    In the case of '-o -', this clutters the output when errors are
    present.