Skip to content
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

fix(rosetta): submodule-qualified names produce invalid Go, Java #3928

Merged
merged 3 commits into from
Jan 30, 2023

Commits on Jan 25, 2023

  1. fix(rosetta): submodule-qualified names produce invalid Go, Java

    Java and Go do not support transitive access to a submodule's items via
    a qualified reference and instead require a dedicated import to be
    emitted.
    
    This adds code to analyze use of imported symbols to detect when a
    namespace traversal occurs, to inject new imports & replace property
    access expressions as necessary.
    
    In order to facilitate this work, these extra elements were done:
    - Replaced if-tree in the dispatcher with a switch statement, making the
      dispatch a lot faster, and also a lot nice to run through in a
      debugger
    - Emit `var` instead of a type name for variable declarations with an
      initializer in C#, to reduce "invalid" code generated in cases where
      the type name needs some qualification that we are missing
    - A couple of bug fixes here and there as the tests discovered them
    
    Fixes #3551
    RomainMuller committed Jan 25, 2023
    Configuration menu
    Copy the full SHA
    d1e0025 View commit details
    Browse the repository at this point in the history

Commits on Jan 26, 2023

  1. update snapshots

    RomainMuller committed Jan 26, 2023
    Configuration menu
    Copy the full SHA
    7896415 View commit details
    Browse the repository at this point in the history

Commits on Jan 30, 2023

  1. Configuration menu
    Copy the full SHA
    89ac653 View commit details
    Browse the repository at this point in the history