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

Bug Fixes #662

Merged
merged 9 commits into from Apr 7, 2017
Merged

Bug Fixes #662

merged 9 commits into from Apr 7, 2017

Conversation

KronicDeth
Copy link
Owner

@KronicDeth KronicDeth commented Apr 7, 2017

Various bugs found and fixed while trying to fix #578, which didn't work out due to problems with too many references.

Changelog

Enhancements

  • Allow call definition heads to resolves to themselves for consistency with Aliases of defmodule.
  • Generalize Callable.callDefinitionClauseDefiner(Call): in addition to the current CallDefinitionClause, make it work for Implementation, Module, and Protocol.

Bug Fixes

  • Override ModuleImpl#getProject() to prevent StackOverflowError. Without overriding #getProject(), IdentifierHighlighterPass gets stuck in a loop between getManager and getProject on the target (the ModuleImpl) when clicking on the space between defs or defmacros in the decompiled .beam files.
  • Fix source formatting
  • Skip looking for variables unless 0-arity AND no arguments
  • Highlight unresolved macros as macro calls. Anything with a do keyword or a do block will be treated like a macro call even if it can't be resolved. No resolved is either no resolve results or an empty list
  • Implicit imports at top of file in addition to top of Module.

@KronicDeth KronicDeth added this to the v5.0.0 milestone Apr 7, 2017
@KronicDeth KronicDeth self-assigned this Apr 7, 2017
Without overrideing #getProject, IdentifierHighlighterPass gets stuck in
a loop between getManager and getProject on the target (the ModuleImpl)
when clicking on the space between defs or defmacros in the decompiled
.beam files.
This gives consistency with Aliases for defmodule.
In addition to the current CallDefinitionClause, make it work for
Implementation, Module, and Protocol.
Anything with a do keyword or a do block will be treated like a macro
call even if it can't be resolved.
In addition to top of Module
@KronicDeth KronicDeth merged commit 63b2df4 into master Apr 7, 2017
KronicDeth added a commit that referenced this pull request Apr 7, 2017
@KronicDeth KronicDeth deleted the 578 branch July 24, 2017 02:56
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.

syntax highlighting: predefined vs macro call
1 participant