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 Kernel.SpecialForms, RuntimeError, and :erlang decompilation #1880

Merged
merged 5 commits into from
Jan 16, 2021

Conversation

KronicDeth
Copy link
Owner

Changelog

Bug Fixes

  • Fix matching unquote(ATOM) call definitions to compiled function by using the argument tounquote when calculating the name of the call definition clause if possible.
    Needed to match anonymous function names that are unquoted because they contain / to separate the outer function name from the anonymous function naming convention.
  • Don't use Docs signature for MacroNameArity that is an operator or unquoted
    The signatures for operators and unquoted don't produce valid code that can be parsed.
  • Don't use signatures for __struct__ functions.
    The signatures for the __struct__ functions are like %Module{}, but that's not parseable, so bypass the signatures with a specialized SignatureOverride decompiler that matches the actual code in defstruct.

Needed to match anonymous function names that are unquoted because they contain `/` to separate the outer function name from the anonymous function naming convention.
…quoted

The signatures for operators and unquoted don't produce valid code that can be parsed.
The signatures for the __struct__ functions are `%Module{}`, but that's not parseable, so bypass the signatures with a specialized SignatureOverride decompiler that matches the actual code in `defstruct`.
@KronicDeth KronicDeth merged commit 1c0ad3b into master Jan 16, 2021
@KronicDeth KronicDeth deleted the kernel-special-forms-docs-signatures branch January 16, 2021 05:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant