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

Audit all code locations emitted and recommend whether it should be changed #46

Open
Grundlefleck opened this issue Sep 25, 2013 · 6 comments

Comments

@Grundlefleck
Copy link
Contributor

In issue #43 , one of the subtasks is 'an audit of all existing checkers, to make sure that they provide the most appropriate location for the reason (e.g. for reassigned fields, do we point to the field, or where it's reassigned?)'.

I think this is large enough to split into it's own task.

I suggest the following:

  1. find all the potential errors that are raised across all checkers (you can do this by finding all callers of AbstractMutabilityChecker#setResult -- there's 19 references across 12 subclasses)
  2. write a test that will expose each one (this will require a fair bit of investigation, and possibly a debugger and/or a coverage tool)
  3. recommend to the mailing list which ones you feel already have the best location, and which ones could be improved, and how.

The test written in part 2 could potentially become the automated acceptance test.

@badgersow
Copy link
Contributor

Hey, @Grundlefleck

Can I grab this issue for implementation?
Thanks!

@Grundlefleck
Copy link
Contributor Author

Sure!

Does the issue description make sense to you, do you have enough information to get started?

@badgersow
Copy link
Contributor

Thanks for the question.

I have read through this mailing list and I see you and Marc already discussed a lot about this issue.
ErrorLocationTest was created and it really helps to review error locations for all checkers.
I see that separate issues (#51, #52, #52) were created for some suggested improvements.
I believe the only remaining problem with this issue is finding line numbers of code locations (field declarations, assignments, etc.)
I am going to start investigating the problem of finding line numbers for:

  • Field declaration
  • Class declaration
  • Method declaration
  • Assignment operation

Am I understand the issue correctly? Are there other tasks that have to be done in this issue?
Thanks!

@Grundlefleck
Copy link
Contributor Author

I think you have it right. Once we have those line numbers, we can then make a small change to how the errors are printed in the unit test failures so that they're clickable. I'm not sure there's a separate issue, but I think that would be the entire "feature" complete.

neomatrix369 pushed a commit to neomatrix369/ClientOfMutabilityDetector that referenced this issue Jun 8, 2016
neomatrix369 pushed a commit to neomatrix369/ClientOfMutabilityDetector that referenced this issue Jun 8, 2016
neomatrix369 pushed a commit to neomatrix369/ClientOfMutabilityDetector that referenced this issue Jun 8, 2016
neomatrix369 pushed a commit to neomatrix369/ClientOfMutabilityDetector that referenced this issue Jun 8, 2016
neomatrix369 pushed a commit to neomatrix369/ClientOfMutabilityDetector that referenced this issue Jun 8, 2016
neomatrix369 pushed a commit to neomatrix369/ClientOfMutabilityDetector that referenced this issue Jun 8, 2016
neomatrix369 pushed a commit to neomatrix369/ClientOfMutabilityDetector that referenced this issue Jun 8, 2016
@rockydcoder
Copy link

@Grundlefleck , is someone still working on this issue?

@badgersow
Copy link
Contributor

I do not work on this issue

Grundlefleck pushed a commit that referenced this issue Jul 7, 2019
… the code location report within the test itself..

#46
Grundlefleck pushed a commit that referenced this issue Jul 7, 2019
Grundlefleck pushed a commit that referenced this issue Jul 7, 2019
Grundlefleck pushed a commit that referenced this issue Jul 7, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants