Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Added check for visibility attribute specifier #51

Merged
merged 22 commits into from
Nov 9, 2019

Conversation

kavanaanand
Copy link
Collaborator

This change improves Hyde with following capabilities -

  • Checks the visibility of a function/method and also if it explicitly annotated. This adds visibility and visibility_explicit attributes to the JSON method info
  • All the logging statements are executed only when Hyde is running with the verbose option. This cleans up the JSON output to be parsable when HYDE_JSON mode is preferred
  • For some reason, the CommonOptionsParser is duplicating every input file. Hyde now checks and removes the duplicates
  • Added option to process class methods (default is false which is existing behavior)

kavanaanand and others added 21 commits August 29, 2019 11:26
…bility_specifier"

This reverts commit 336758d, reversing
changes made to e439d93.
…bility_specifier"

This reverts commit 336758d, reversing
changes made to e439d93.
…bility_specifier"

This reverts commit 336758d, reversing
changes made to e439d93.
…bility_specifier"

This reverts commit 336758d, reversing
changes made to e439d93.
…ana/visibility_specifier""

This reverts commit 3ee8bde.
…into kavana/visibility_specifier"""

This reverts commit 5f8eea5.
…ana/visibility_specifier""

This reverts commit fafbf4e.
@kavanaanand kavanaanand added enhancement New feature or request good first issue Good for newcomers labels Nov 5, 2019
Copy link
Contributor

@fosterbrereton fosterbrereton left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A couple small changes requested here, and one point of clarification.

case Visibility::ProtectedVisibility:
info["visibility"] = "protected";
break;
default:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd rather there not be a default option. That way in case these enumerations change we get a compiler warning about them, instead of values going blank unexpectedly.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done!

@@ -38,7 +38,9 @@ void FunctionInfo::run(const MatchFinder::MatchResult& Result) {
auto function = Result.Nodes.getNodeAs<FunctionDecl>("func");

// Do not process class methods here.
if (llvm::dyn_cast_or_null<CXXMethodDecl>(function)) return;
if (!_options._process_class_methods) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you explain a bit why this is necessary?

@fosterbrereton
Copy link
Contributor

LGTM!

@fosterbrereton fosterbrereton merged commit 0d29c9d into master Nov 9, 2019
@fosterbrereton fosterbrereton deleted the kavana/visibility_specifier branch November 9, 2019 19:12
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
enhancement New feature or request good first issue Good for newcomers
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants